10 #ifndef CARMA_ANTENNA_OVRO_OPTICS_H
11 #define CARMA_ANTENNA_OVRO_OPTICS_H
16 #include "carma/monitor/OvroSubsystem.h"
17 #include "carma/util/PthreadMutex.h"
48 carma::monitor::OvroSubsystem & ovroSubsys );
83 std::vector<carma::canbus::byteType> &data,
124 LINEAR_VERTICAL = 0x00,
125 LINEAR_HORIZONTAL = 0x01,
126 LEFT_CIRCULAR = 0x02,
127 RIGHT_CIRCULAR = 0x03
167 unsigned long sequenceNo,
168 bool sequenceNoFromRx );
216 void processBlankingFramePacket1(
217 std::vector<carma::canbus::byteType> &data);
218 void processBlankingFramePacket2(
219 std::vector<carma::canbus::byteType> &data);
220 void processBlankingFramePacket3(
221 std::vector<carma::canbus::byteType> &data);
222 void processBlankingFramePacket4(
223 std::vector<carma::canbus::byteType> &data);
224 void processBlankingFramePacket5(
225 std::vector<carma::canbus::byteType> &data);
226 void processBlankingFramePacket6(
227 std::vector<carma::canbus::byteType> &data);
238 typedef carma::monitor::OvroSubsystem::CalStateMonitorPointEnum OvroCalStateMPE;
241 setAntennaCommonCalibratorState(
242 OvroCalStateMPE::CALSTATE instantaneousCalState );
245 handlePendingCalibratorPositionRequests(
246 OvroCalStateMPE::CALSTATE instantaneousCalState );
249 OvroCalStateMPE::CALSTATE requestedPosition;
251 unsigned int requestPendingFrames;
252 unsigned long pendingSequenceNo;
253 bool sequenceNoFromRx;
258 log4cpp::Category &log_;
259 carma::monitor::AntennaCommon &common_;
260 carma::monitor::OvroSubsystem::Optics &mon_;
262 CalPosRequestType calPosRequest_;
263 unsigned long currentSequenceNo_;
265 OvroCalStateMPE::CALSTATE lastInstantaneousCalState_;
void setMmCalPosition(enum CAL_POS pos)
Set millimeter calibrator position.
void selectReceiver(enum RECEIVER rx)
Select receiver.
std::map< carma::canbus::msgType, std::string > getHalfSecMonitors() const
Retrieve a map of this devices half second monitor points.
void setMmRxSelectorAngle(float angleInDegrees)
Set mm rx selector position.
Declarations of carma::canbus types.
void processMsg(carma::canbus::msgType mid, std::vector< carma::canbus::byteType > &data, bool sim)
Process a CAN message addressed to the SecondaryMirror module.
void setCmCalPosition(enum CAL_POS pos)
Set centimeter calibrator position.
POLARIZATION_STATE
Polarization State enumeration.
Class to encapsulate a CAN message.
void moveMmRxSelect(enum MM_RX_SELECTION mmRx)
Rotate the receiver select mechanism in the sidecab.
RECEIVER
Receiver enumeration.
carma::canbus::Message simulateMsg(carma::canbus::msgType mid)
Produce a simulated CAN message for a given msgType.
void updateFrameData()
Update Frame Data.
XacDevice canbus::device class implementation.
10-m Antenna Optics CAN device class.
unsigned short nodeType
Carma Node Type id type.
MM_RX_SELECTION
Mm Rx selection enumerator.
void setCalPosition(enum CAL_POS pos)
Set Calibrator Position.
CAL_POS
Calibrator wheel position enumeration.
void moveTertiary(bool in)
Move the tertiary mirror to a selected position.
std::map< carma::canbus::msgType, std::string > getSlowMonitors() const
Return a map of this devices slow monitor points.
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.
Optics(carma::canbus::nodeType node, carma::canbus::CanOutput &io, carma::monitor::OvroSubsystem &ovroSubsys)
Constructor.