1 #ifndef SZA_ANTENNA_CANBUS_CANMONITORPOINT_H
2 #define SZA_ANTENNA_CANBUS_CANMONITORPOINT_H
12 #include "carma/szaarrayutils/regmap.h"
15 #define CAN_MONITOR_CONDITION_HANDLER(fn) void (fn)(void* arg, bool satisfied, std::string message)
32 class CanMonitorPoint {
44 virtual ~CanMonitorPoint();
46 inline RegMapBlock* block() {
50 void writeReg(
bool isSim,
bool b, sza::util::CoordRange* range=0);
51 void writeReg(
bool isSim,
unsigned char uc, sza::util::CoordRange* range=0);
52 void writeReg(
bool isSim,
char ch, sza::util::CoordRange* range=0);
53 void writeReg(
bool isSim,
unsigned short us, sza::util::CoordRange* range=0);
54 void writeReg(
bool isSim,
short s, sza::util::CoordRange* range=0);
55 void writeReg(
bool isSim,
unsigned int ui, sza::util::CoordRange* range=0);
56 void writeReg(
bool isSim,
int i, sza::util::CoordRange* range=0);
57 void writeReg(
bool isSim,
float f, sza::util::CoordRange* range=0);
58 void writeReg(
bool isSim,
double d, sza::util::CoordRange* range=0);
60 void writeReg(
bool isSim,
bool* b, sza::util::CoordRange* range=0);
61 void writeReg(
bool isSim,
unsigned char* uc, sza::util::CoordRange* range=0);
62 void writeReg(
bool isSim,
char* ch, sza::util::CoordRange* range=0);
63 void writeReg(
bool isSim,
unsigned short* us, sza::util::CoordRange* range=0);
64 void writeReg(
bool isSim,
short* s, sza::util::CoordRange* range=0);
65 void writeReg(
bool isSim,
unsigned int* ui, sza::util::CoordRange* range=0);
66 void writeReg(
bool isSim,
int* i, sza::util::CoordRange* range=0);
67 void writeReg(
bool isSim,
float* f, sza::util::CoordRange* range=0);
68 void writeReg(
bool isSim,
double* d, sza::util::CoordRange* range=0);
72 void registerConditionHandler(CAN_MONITOR_CONDITION_HANDLER(*handler),
75 CanMonitorCondition& condition,
80 struct ConditionHandler {
81 CanMonitorCondition condition_;
82 CAN_MONITOR_CONDITION_HANDLER(*handler_);
86 unsigned packetCount_;
87 unsigned stablePacketCount_;
88 unsigned giveUpPacketCount_;
91 void callHandler(
bool conditionWasMet);
110 std::vector<ConditionHandler> handlers_;
115 void checkHandler(
bool isSim, sza::util::CoordRange* range);
124 #endif // End #ifndef SZA_ANTENNA_CANBUS_CANMONITORPOINT_H
Tagged: Tue Jun 22 22:32:16 UTC 2004.
A class for specifying a coordinate in a multi-dimensional space.
An instance of this class is created by AntennaMaster and passed to the constructors of other tasks...
Tagged: Sun Oct 24 17:05:09 PDT 2004.