11 #ifndef CARMA_LOBEROTATORMASTER_H
12 #define CARMA_LOBEROTATORMASTER_H
21 #include "carma/switchyard/Switchyard.h"
22 #include "carma/monitor/LoberotatorSubsystem.h"
23 #include "carma/monitor/SignalPathSubsystem.h"
37 namespace loberotator {
58 double syautoWriteDelayInS);
71 int holdoff,
bool simulate,
72 double autoWriteDelayInS,
73 double syautoWriteDelayInS);
127 static const int FIXED_HOLDOFF = 4;
135 void initialize(
double autoWriteDelayInS,
double syautoWriteDelayInS);
139 void removeDevices();
147 static void *runThreadEntry(
void *arg);
157 pthread_t runThreadId_;
163 carma::monitor::LoberotatorSubsystem* mon_;
165 carma::monitor::SignalPathSubsystem signalPathMon_;
166 carma::switchyard::Switchyard loSwitchyard_;
167 carma::switchyard::Switchyard llSwitchyard_;
172 std::string hostname_;
178 pthread_t updateThread_;
179 void updatePhaseAndRate()
const;
182 pthread_mutex_t doneMutex_;
189 #endif // CARMA_LOBEROTATORMASTER_H
Loberotator Device class definition for Carma CANbus API 113.
bool isDone()
Query to see if the System::quit() method has been invoked.
Declaration of carma::canbus::Master class.
void updateStatus()
Update the status of the Loberotator CAN Master.
carma::switchyard::Switchyard & getLoSwitchyard()
Retrieve reference to LO Switchyard instance.
carma::switchyard::Switchyard & getLlSwitchyard()
Retrieve reference to LL Switchyard instance.
This is the chassis that holds the loberotators.
Carma Loberotator CAN Master class.
carma::loberotator::Loberotator & getGlobalLoberotator()
Get 'global' (node 0 control device) loberotator.
LoberotatorMaster(int holdoff, double autoWriteDelayInS, double syautoWriteDelayInS)
Constructor for emulation mode Runs without accessing any hardware, directing all canbus writes to de...
This class deals primarily with Frames and Times.
Carma Canbus Master class.
Loberotator implementation.
Provides storage for Loberotator objects.
virtual ~LoberotatorMaster()
Destructor.