From b6f66e394ad3f18b3dccea674b5c041f5a22fb41 Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Sat, 8 Nov 2025 10:26:23 -0500 Subject: swap signal byte_order to reflect amended dbc spec --- fw/main.c | 2 +- fw/serial.c | 2 +- fw/signal.h | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) (limited to 'fw') diff --git a/fw/main.c b/fw/main.c index b7b1efd..243f6b0 100644 --- a/fw/main.c +++ b/fw/main.c @@ -286,7 +286,7 @@ setSigFmt(const CanFrame *frame) { // Unpack Encoding sigFmt.start = frame->data[4u]; sigFmt.size = frame->data[5u]; - sigFmt.order = (frame->data[6u] & 0x80) ? BIG_ENDIAN : LITTLE_ENDIAN; + sigFmt.order = (frame->data[6u] & 0x80) ? LITTLE_ENDIAN : BIG_ENDIAN; sigFmt.isSigned = frame->data[6u] & 0x40; // Save to EEPROM diff --git a/fw/serial.c b/fw/serial.c index fd60bcd..b763524 100644 --- a/fw/serial.c +++ b/fw/serial.c @@ -111,7 +111,7 @@ serReadSigFmt(EepromAddr addr, SigFmt *sig) { } sig->start = buf[0u]; sig->size = buf[1u]; - sig->order = (buf[2u] & 0x80) ? BIG_ENDIAN : LITTLE_ENDIAN; + sig->order = (buf[2u] & 0x80) ? LITTLE_ENDIAN : BIG_ENDIAN; sig->isSigned = buf[2u] & 0x40; return OK; diff --git a/fw/signal.h b/fw/signal.h index 8bbc120..6489c6f 100644 --- a/fw/signal.h +++ b/fw/signal.h @@ -15,8 +15,8 @@ // Byte order typedef enum { - LITTLE_ENDIAN = 0, - BIG_ENDIAN, + BIG_ENDIAN = 0, + LITTLE_ENDIAN, } ByteOrder; // A Signal Format defines how a DBC signal is encoded in a CAN frame. @@ -24,7 +24,7 @@ typedef struct { CanId id; // ID of message containing the signal U8 start; // start bit -- position of signal within DATA FIELD U8 size; // size of the signal in bits - ByteOrder order; // little-endian/big-endian + ByteOrder order; // big-endian/little-endian bool isSigned; } SigFmt; -- cgit v1.2.3