2 #ifndef SZA_ANTENNA_CANBUS_CANCOMMAND_H
3 #define SZA_ANTENNA_CANBUS_CANCOMMAND_H
16 #define CAN_COMMAND_DONE_HANDLER(fn) void (fn)(unsigned seq)
17 #define CAN_COMMAND_FAILED_HANDLER(fn) void (fn)(std::string commandName, std::string message)
18 #define CAN_EXECUTE_DONE_HANDLER(fn) void (fn)(sza::antenna::control::AntennaRxMsg::MsgType type)
35 virtual ~CanCommand();
40 virtual void init(
unsigned seq);
45 void ignoreErrors(
bool ignorexo);
54 void registerCompletion();
59 void installCommandDoneHandler(CAN_COMMAND_DONE_HANDLER(*handler));
64 void installCommandFailedHandler(CAN_COMMAND_FAILED_HANDLER(*handler));
69 void installExecuteDoneHandler(CAN_EXECUTE_DONE_HANDLER(*handler),
82 void insert(CanCommand& command);
86 friend class CanInstruction;
90 std::string commandName_;
102 std::vector<CanInstruction> instructions_;
106 std::vector<CanInstruction>::iterator nextInstruction_;
110 CanInstruction::Type executeNextInstruction();
114 static CAN_MONITOR_CONDITION_HANDLER(conditionSatisfied);
118 CAN_COMMAND_DONE_HANDLER(*commandDoneHandler_);
122 CAN_COMMAND_FAILED_HANDLER(*commandFailedHandler_);
126 CAN_EXECUTE_DONE_HANDLER(*executeDoneHandler_);
129 void insertWait(CanDevice* device);
135 static unsigned lastReq_;
139 static unsigned lastAck_;
149 #endif // End #ifndef SZA_ANTENNA_CANBUS_CANCOMMAND_H
MsgType
Enumerate supported AntennaRx messages.
Started: Fri Nov 21 15:46:44 UTC 2003.
Tagged: Thu Nov 13 16:53:31 UTC 2003.
Tagged: Thu Oct 28 07:32:15 PDT 2004.