aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/datafmt/datafmt.ms6
-rw-r--r--doc/datafmt/refs.refer6
-rw-r--r--fw/main.c2
-rw-r--r--fw/serial.c2
-rw-r--r--fw/signal.h6
-rw-r--r--sw/cal/can.go2
6 files changed, 12 insertions, 12 deletions
diff --git a/doc/datafmt/datafmt.ms b/doc/datafmt/datafmt.ms
index f218eae..15780f7 100644
--- a/doc/datafmt/datafmt.ms
+++ b/doc/datafmt/datafmt.ms
@@ -7,7 +7,7 @@ Sam Anthony
The Gauge Interface receives
.I signals
.[
-dbc07
+dbc10
.]
from other nodes via the vehicle's CAN bus.
It also accepts frames from a host PC for calibration.
@@ -195,8 +195,8 @@ tab(&);
Ci
L L.
Order
-= 0 & Little-endian
-= 1 & Big-endian
+= 0 & Big-endian
+= 1 & Little-endian
.TE
.LP
.I Sign
diff --git a/doc/datafmt/refs.refer b/doc/datafmt/refs.refer
index 9853a87..7aec587 100644
--- a/doc/datafmt/refs.refer
+++ b/doc/datafmt/refs.refer
@@ -1,5 +1,5 @@
-%K dbc07
+%K dbc10
%T DBC File Format Documentation
%I Vector Informatik GmbH
-%D 2007
-%O Version 01
+%D 2010-04-12
+%O v1.0.5
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;
diff --git a/sw/cal/can.go b/sw/cal/can.go
index 9feefa3..5bde703 100644
--- a/sw/cal/can.go
+++ b/sw/cal/can.go
@@ -65,7 +65,7 @@ func serializeEncodingData(def SignalDef, data *[8]byte) error {
data[5] = uint8(def.size)
// Order and sign flag bits
- if def.isBigEndian {
+ if !def.isBigEndian {
data[6] |= 0x80
}
if def.isSigned {