9 #ifndef CARMA_ANTENNA_OVRO_CANBUS_ENCODER_H
10 #define CARMA_ANTENNA_OVRO_CANBUS_ENCODER_H
15 #include "carma/util/PthreadMutex.h"
26 class StateMonitorPointEnum;
49 carma::monitor::OvroSubsystem & mon,
57 struct TimestampedPosition {
58 TimestampedPosition( );
87 ::std::vector< carma::canbus::byteType > & data,
105 struct TimestampedPosition position;
109 void updateFrameData( );
122 simulateBlankingFramePacket1( Axis axis,
double positionInDeg );
131 carma::monitor::StateMonitorPointEnum & state_;
132 carma::monitor::Encoder & encoderMon_;
133 carma::monitor::Xac & xacMon_;
Encoder(Axis axis, carma::canbus::CanOutput &canOut, carma::monitor::OvroSubsystem &mon, carma::antenna::ovro::Drive &drive)
Constructor.
CAN Device implementation for 10-m Antenna Drive Module.
::std::map< ::carma::canbus::msgType,::std::string > MsgIdInfoMap
Alias for an ::std::map containing a string description of a message id, keyed by the described carma...
TimestampedPosition getMostRecentPosition() const
Retrieve position and MJD of message retrieval.
Class to encapsulate a CAN message.
Representation of an angle, return values are always modulo 2PI radians.
10-m Antenna Encoder Module CAN Implementation (API No.
carma::canbus::MsgIdInfoMap getSlowMonitors() const
Get map of slow monitor points processed by this class.
XacDevice canbus::device class implementation.
carma::canbus::Message simulateMsg(carma::canbus::msgType messageId)
Simulate CAN message.
virtual ~Encoder()
Destructor.
::std::vector< ::carma::canbus::byteType > DataVector
Alias for CAN data.
The Angle class can represent any angle in any units.
void processMsg(carma::canbus::msgType messageId,::std::vector< carma::canbus::byteType > &data, bool sim)
Process CAN message.
10-m Antenna Drive Module CAN Implementation (API No.
carma::canbus::devices::XacDevice class declaration.
A simple wrapper class that makes use of ::pthread_mutex_t easier in a C++ world. ...
unsigned short msgType
Carma Message id type.
carma::canbus::MsgIdInfoMap getHalfSecMonitors() const
Get map of half second monitor points processed by this class.
carma::canbus::Message simulateMsg(carma::canbus::msgType messageId)
Simulate CAN message.