@@ -168,14 +168,6 @@ void handleHeartbeatPacket(CANPacket_t& packet) {
168168 }
169169}
170170
171- void handleLimitSwitchAlert (CANPacket_t& packet) {
172- auto decoded = CANMotorPacket_LimitSwitchAlert_Decode (&packet);
173- CANDeviceUUID_t uuid = packet.senderUUID ;
174- telemetrycode_t telemCode = static_cast <telemetrycode_t >(telemtype_t ::limit_switch);
175- storeTelemetry (uuid, telemCode,
176- robot::types::DataPoint<telemetry_t >(static_cast <telemetry_t >(decoded.switchStatus )));
177- }
178-
179171// returns a file descriptor, or -1 on failure
180172int createCANSocket (std::optional<CANDevice_t> device) {
181173 int fd;
@@ -227,6 +219,15 @@ int createCANSocket(std::optional<CANDevice_t> device) {
227219 return fd;
228220}
229221
222+ bool sendCANFrame (const canfd_frame& frame) {
223+ std::lock_guard lock (socketMutex);
224+ // note that frame is a canfd_frame but we're using sizeof(can_frame)
225+ // not sure why this is required to work
226+ bool success = write (can_fd, &frame, sizeof (struct can_frame )) == sizeof (struct can_frame );
227+ tcdrain (can_fd);
228+ return success;
229+ }
230+
230231void receiveThreadFn () {
231232 loguru::set_thread_name (" CAN_Receive" );
232233 CANPacket_t packet;
@@ -256,7 +257,7 @@ void receiveThreadFn() {
256257 break ;
257258
258259 case CAN_COMMAND_ID__LIMIT_SWITCH_ALERT :
259- handleLimitSwitchAlert (packet);
260+ // handleLimitSwitchAlert(packet);
260261 break ;
261262
262263 case CAN_COMMAND_ID__BLDC_DIRECT_READ_RESULT :
@@ -336,15 +337,6 @@ void sendCANPacket(const CANPacket_t& packet) {
336337 }
337338}
338339
339- bool sendCANFrame (const canfd_frame& frame) {
340- std::lock_guard lock (socketMutex);
341- // note that frame is a canfd_frame but we're using sizeof(can_frame)
342- // not sure why this is required to work
343- bool success = write (can_fd, &frame, sizeof (struct can_frame )) == sizeof (struct can_frame );
344- tcdrain (can_fd);
345- return success;
346- }
347-
348340void printCANPacket (const CANPacket_t& packet) {
349341 CANPacket_t mutablePacket = packet; // same as sendCANPacket
350342 std::stringstream ss;
@@ -362,28 +354,6 @@ void printCANPacket(const CANPacket_t& packet) {
362354 LOG_F (INFO , ss.str ().c_str ());
363355}
364356
365- robot::types::DataPoint<telemetry_t > getDeviceTelemetry (CANDeviceUUID_t uuid,
366- telemtype_t telemType) {
367- std::shared_lock mapLock (telemMapMutex); // acquire read lock
368- // find entry for device in map
369- auto entry = telemMap.find (uuid);
370- if (entry != telemMap.end ()) {
371- auto & devMutex = *entry->second .first ;
372- auto & devMap = *entry->second .second ;
373- // acquire read lock of device map
374- std::shared_lock deviceLock (devMutex);
375- // find entry for telemetry
376- auto telemEntry = devMap.find (static_cast <telemetrycode_t >(telemType));
377- if (telemEntry != devMap.end ()) {
378- return telemEntry->second ;
379- } else {
380- return {};
381- }
382- } else {
383- return {};
384- }
385- }
386-
387357void addDirectReadCallback (CANDevice_t device, uint16_t endpoint, const std::function<void (CANMotorPacket_BLDC_DirectReadResult_Decoded_t)>& callback) {
388358 auto key = std::make_pair (static_cast <uint8_t >(device.deviceUUID ), endpoint);
389359 // Write access
0 commit comments