diff --git a/Firmware/Tests/test_runner.cpp b/Firmware/Tests/test_runner.cpp index cd00e93f..560cb5c7 100644 --- a/Firmware/Tests/test_runner.cpp +++ b/Firmware/Tests/test_runner.cpp @@ -81,21 +81,26 @@ void can_setSignal(can_Message_t& msg, const T& val, const uint8_t startBit, con } } -// template -// T can_getSignal(can_Message_t msg, can_Signal_t signal){ -// return can_getSignal(msg, signal.startBit, signal.length, signal.isIntel, signal.factor, signal.offset); -// } +template +T can_getSignal(can_Message_t msg, const can_Signal_t& signal) { + return can_getSignal(msg, signal.startBit, signal.length, signal.isIntel, signal.factor, signal.offset); +} -TEST_CASE("fake"){ +template +void can_setSignal(can_Message_t& msg, const T& val, const can_Signal_t& signal) { + can_setSignal(msg, val, signal.startBit, signal.length, signal.isIntel, signal.factor, signal.offset); +} + +TEST_CASE("fake") { cout << endl; } TEST_SUITE("CAN Functions") { TEST_CASE("reverse") { can_Message_t rxmsg; - rxmsg.id = 0x000; + rxmsg.id = 0x000; rxmsg.isExt = false; - rxmsg.len = 8; + rxmsg.len = 8; rxmsg.buf[0] = 0x12; rxmsg.buf[1] = 0x34; diff --git a/Firmware/communication/interface_can.hpp b/Firmware/communication/interface_can.hpp index 58c32d76..28e3987b 100644 --- a/Firmware/communication/interface_can.hpp +++ b/Firmware/communication/interface_can.hpp @@ -135,6 +135,16 @@ void can_setSignal(can_Message_t& msg, const T& val, const uint8_t startBit, con } } +template +T can_getSignal(can_Message_t msg, const can_Signal_t& signal) { + return can_getSignal(msg, signal.startBit, signal.length, signal.isIntel, signal.factor, signal.offset); +} + +template +void can_setSignal(can_Message_t& msg, const T& val, const can_Signal_t& signal) { + can_setSignal(msg, val, signal.startBit, signal.length, signal.isIntel, signal.factor, signal.offset); +} + DEFINE_ENUM_FLAG_OPERATORS(ODriveCAN::Error_t) #endif // __INTERFACE_CAN_HPP