From 0dbbdd9b594269fdb66c834146011df48678a901 Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Sat, 1 Nov 2025 17:36:26 -0400 Subject: extract big-endian signals from frames --- fw/tests/unit/signal_utests.c | 51 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 fw/tests/unit/signal_utests.c (limited to 'fw/tests/unit/signal_utests.c') diff --git a/fw/tests/unit/signal_utests.c b/fw/tests/unit/signal_utests.c new file mode 100644 index 0000000..ebce8f6 --- /dev/null +++ b/fw/tests/unit/signal_utests.c @@ -0,0 +1,51 @@ +#include +#include + +#include + +#include +#include +#include +#include + +void setUp(void) {} +void tearDown(void) {} + +static void +testPluckLE(void) { + setUp(); + + // TODO + TEST_ASSERT(0); + + tearDown(); +} + +static void +testPluckBE(void) { + setUp(); + + // 1111 1111 (1110 11)10 (1111 0010) 1111 1(101) + // 7 0 15 8 23 16 31 24 + CanFrame frame = {.data = {0xFF, 0xEE, 0xF2, 0xFD}}; + SigFmt sig = { + .start = 10u, + .size = 17u, + }; + U32 want = 0x1DF95; + U32 got; + pluckBE(&sig, &frame, &got); + TEST_ASSERT_EQUAL_UINT32(want, got); + + tearDown(); +} + +int +main(void) { + UnityBegin(__FILE__); + + RUN_TEST(testPluckLE); + RUN_TEST(testPluckBE); + + return UnityEnd(); +} -- cgit v1.2.3