14 #ifndef CARMA_CLOCK_CLOCK_H
15 #define CARMA_CLOCK_CLOCK_H
19 #include "carma/clock/ClockControl.h"
20 #include "carma/corba/corba.h"
21 #include "carma/monitor/MasterClockSubsystem.h"
50 carma::monitor::MasterClockSubsystem *masterClockSubsystem);
64 virtual std::map<carma::canbus::msgType, std::string>
70 virtual std::map<carma::canbus::msgType, std::string>
71 getHalfSecMonitors()
const;
77 virtual std::map<carma::canbus::msgType, std::string>
78 getSlowMonitors()
const;
104 std::vector<carma::canbus::byteType>& data,
113 void processBlankingFramePacket1(std::vector<carma::canbus::byteType> &data);
119 void processBlankingFramePacket2(std::vector<carma::canbus::byteType> &data);
128 void processBlankingFramePacket3(std::vector<carma::canbus::byteType> &data);
135 void processBlankingFramePacket4(std::vector<carma::canbus::byteType> &data);
142 void processBlankingFramePacket5(std::vector<carma::canbus::byteType> &data);
155 void processBlankingFramePacket6(std::vector<carma::canbus::byteType> &data);
163 void processBlankingFramePacket7(std::vector<carma::canbus::byteType> &data);
169 void processBlankingFramePacket8(std::vector<carma::canbus::byteType> &data);
179 void processBlankingFramePacket9(std::vector<carma::canbus::byteType> &data);
188 void setPpsMode(carma::clock::ppsModeType ppsMode);
195 void setRbMode(carma::clock::rbModeType rbMode);
201 void setGpsSource(carma::clock::gpsSourceType gpsSource);
215 void setHbDelay(CORBA::UShort delay, carma::clock::delayRegister reg);
236 void initialize(carma::clock::ppsModeType ppsMode,
237 carma::clock::rbModeType rbMode,
238 carma::clock::gpsSourceType gpsSource,
239 carma::clock::tenMHzSourceType tenMHzSource,
240 carma::clock::walshSyncType walshSync);
244 void updateFrameData( );
247 carma::monitor::MasterClockSubsystem::Clock *mon_;
Clock(carma::canbus::nodeType node, carma::canbus::CanOutput &io, carma::monitor::MasterClockSubsystem *masterClockSubsystem)
Clock constructor.
void resync10MHzGps(carma::clock::walshSyncType walshSync)
synchronize 1pps from Rubidium oscillator with GPS-derived 1 pps signal
void resetRb()
reset PRS10 Rb Time Standard and resync to primary GPS
Class to encapsulate a CAN message.
void set10MHzSource(carma::clock::tenMHzSourceType tenMHzSource)
set 10MHz source to be from the internal Rb oscillator or some external source
XacDevice canbus::device class implementation.
void setRbMode(carma::clock::rbModeType rbMode)
set Rb oscillation mode to be free-running or to phase lock to GPS
unsigned short apiType
Carma API id type.
unsigned short nodeType
Carma Node Type id type.
virtual void initialize()
Initialization hook.
static carma::canbus::apiType getApiId()
return CANbus API
void setPpsMode(carma::clock::ppsModeType ppsMode)
set 1pps to come from GPS or Rb oscillator counter
carma::canbus::devices::XacDevice class declaration.
void setGpsSource(carma::clock::gpsSourceType gpsSource)
set primary GPS source
void setHbDelay(CORBA::UShort delay, carma::clock::delayRegister reg)
set heartbeat delay
unsigned short msgType
Carma Message id type.
The Clock class is an instantiation of the carma::canbus::Device class for the Master Clock...