10 #ifndef CARMA_ANTENNA_BIMA_IFCANMASTER_H
11 #define CARMA_ANTENNA_BIMA_IFCANMASTER_H
14 #include "carma/corba/corba.h"
15 #include "carma/antenna/bima/CMReceiver.h"
16 #include "carma/monitor/BimaSubsystem.h"
19 #include "carma/antenna/bima/control/AntennaControlImpl.h"
25 #include "carma/util/Program.h"
26 #include "carma/util/ScopedPthreadMutexLock.h"
27 #include "carma/util/PthreadCond.h"
28 #include "carma/util/PthreadMutex.h"
30 #include "carma/antenna/bima/ProcessMonitor.h"
63 class AntennaNameResolver;
81 carma::monitor::BimaSubsystem &mon,
82 AntennaNameResolver & anr,
83 Configuration &config);
104 carma::monitor::BimaSubsystem &mon,
105 AntennaNameResolver & anr,
106 Configuration &config);
126 static void *startWriterThread(
void *arg );
127 void writerThread(
void );
129 AntennaIF& getAntennaIFPol1() {
return *_aifPol1; };
130 AntennaIF& getAntennaIFPol2() {
return *_aifPol2; };
131 AntennaControlImpl& getAntennaControl() {
return *_ant; };
132 CMReceiver& getCmRxControl() {
return *_cmrx; };
155 std::map<carma::canbus::msgType, std::string>
getControls()
const;
181 static void *runThreadEntry(
void *arg);
188 void initialize(Configuration &config);
191 pthread_t runThreadId_;
210 carma::antenna::bima::SisReceiver *_sisrx;
214 carma::antenna::bima::CMReceiver *_cmrx;
223 carma::antenna::bima::AntennaControlImpl *_ant;
225 carma::monitor::BimaSubsystem& mon_;
226 log4cpp::Category& log_;
229 AntennaNameResolver & anr_;
230 SharedMemory *_bimaShm;
238 #endif // CARMA_ANTENNA_BIMA_IFCANMASTER_H
std::map< carma::canbus::msgType, std::string > getControls() const
Get a map of controls provided by the IFCanMaster Master controls correspond to global CAN Message Id...
void updateStatus()
Update the status of the Antenna CAN Master.
Class definition for TelemetryCommand on the BIMA antennas.
CAN Device implementation for Antenna IF Module.
Antenna IF CAN module device class.
void setInitialized(bool state)
Set initialization flag.
void start()
Start the CAN Master This routine does not block! It is responsible for kicking off a new thread whic...
Exception class for errors.
void stop()
Stop the CAN Master This routine terminates the main run thread in the CAN Master.
IFCanMaster(carma::util::IPQreader< TelemetryCommand > &ifr, Rx &rx, carma::monitor::BimaSubsystem &mon, AntennaNameResolver &anr, Configuration &config)
Constructor for emulation only.
Class definition for TelemetryClient on the BIMA antennas.
Declaration of carma::canbus::Master class.
A simple wrapper class that makes use of ::pthread_cond_t easier in a C++ world.
CAN Device implementation for CARMA CANbus API No.
void reset()
Reset the canbusses via dio.
Class definition for Stepper Motors for BIMA systems.
void softReset()
Reset modules via software RESET msg.
Declarations of carma::canbus exceptions.
Class definition for SharedMemory on the BIMA antennas.
Carma Canbus Master class.
Declarations of carma::canbus utility functions.
A simple wrapper class that makes use of ::pthread_mutex_t easier in a C++ world. ...
BIMA Antenna IF canbus Master class.
Varactor CAN device class.