From: Christopher Peplin Date: Sat, 28 Dec 2013 20:42:29 +0000 (-0500) Subject: Draft work using more generic bitfield functions. X-Git-Tag: 3.99.1~104^2~38 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=commitdiff_plain;h=fb3c14776f6eaaae69b6691ec912ecdcbce0cba7;p=apps%2Flow-level-can-service.git Draft work using more generic bitfield functions. --- diff --git a/deps/canutil b/deps/canutil index 04a4db7..0b00bb6 160000 --- a/deps/canutil +++ b/deps/canutil @@ -1 +1 @@ -Subproject commit 04a4db7d336ae2cae94ac3234086b22fbf1339f0 +Subproject commit 0b00bb6c3c5df70317775efd12b6fff418ff4540 diff --git a/src/isotp/receive.c b/src/isotp/receive.c index b497809..51562fc 100644 --- a/src/isotp/receive.c +++ b/src/isotp/receive.c @@ -17,10 +17,12 @@ void isotp_receive_can_frame(IsoTpHandler* handler, // TODO use CanMessage struct from canutil library - allocate payload buffer // on stack, 8 bytes - // TODO this function should receive uint64_t... IsoTpProtocolControlInformation pci = (IsoTpProtocolControlInformation) getBitField(data, 0, 4, false); + IsoTpProtocolControlInformation pci = (IsoTpProtocolControlInformation) + getNibble(0, data, 64, LITTE_ENDIAN); + // TODO this is messed up! need a better API for grabbing bytes uint8_t payload_length = getBitField(data, 4, 4, false); uint8_t payload[payload_length];