13 UINT8 GetDeviceNumber()
54 void RegisterRx(uint32_t arbId);
60 void RegisterTx(uint32_t arbId, uint32_t periodMs);
69 void RegisterTx(uint32_t arbId, uint32_t periodMs, uint32_t dlc,
const uint8_t * initialFrame);
70 void UnregisterTx(uint32_t arbId);
72 CTR_Code GetRx(uint32_t arbId,uint8_t * dataBytes,uint32_t timeoutMs);
73 void FlushTx(uint32_t arbId);
74 bool ChangeTxPeriod(uint32_t arbId, uint32_t periodMs);
76 template<
typename T>
txTask<T> GetTx(uint32_t arbId)
79 txJobs_t::iterator i = _txJobs.find(arbId);
80 if(i != _txJobs.end()){
81 retval.arbId = i->second.arbId;
82 retval.toSend = (T*)i->second.toSend;
86 template<
class T>
void FlushTx(T & par)
91 template<
class T> recMsg<T> GetRx(uint32_t arbId, uint32_t timeoutMs)
94 retval.err = GetRx(arbId,retval.bytes, timeoutMs);
111 struct timespec time;
125 typedef std::map<uint32_t,txJob_t> txJobs_t;
128 typedef std::map<uint32_t,rxEvent_t> rxRxEvents_t;
129 rxRxEvents_t _rxRxEvents;
Definition: CtreCanNode.h:20
Common header for all CTRE HAL modules.
Definition: CtreCanNode.h:7
CTR_Code
Definition: ctre.h:44
void RegisterTx(uint32_t arbId, uint32_t periodMs)
Schedule a CAN Frame for periodic transmit.
Definition: CtreCanNode.h:39