From: Christopher Peplin Date: Mon, 6 Jan 2014 19:54:15 +0000 (-0500) Subject: Use new set_bitfield function to handle swapping endianness. X-Git-Tag: 5.0.2~273^2~48 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=commitdiff_plain;h=c55d6bf59167c75439c1c40e9dcd8c05081d4685;p=apps%2Fagl-service-can-low-level.git Use new set_bitfield function to handle swapping endianness. --- diff --git a/deps/bitfield-c b/deps/bitfield-c index 09dc97c2..6f243098 160000 --- a/deps/bitfield-c +++ b/deps/bitfield-c @@ -1 +1 @@ -Subproject commit 09dc97c24f9f9a9c2638405167bffe339f666e2a +Subproject commit 6f243098abadbde2e9b2e5b13a94029960ea2e51 diff --git a/src/obd2/obd2.c b/src/obd2/obd2.c index 402cc2f9..fa20f91a 100644 --- a/src/obd2/obd2.c +++ b/src/obd2/obd2.c @@ -37,10 +37,8 @@ DiagnosticRequestHandle diagnostic_request(DiagnosticShims* shims, uint8_t payload[MAX_DIAGNOSTIC_PAYLOAD_SIZE]; payload[MODE_BYTE_INDEX] = request->mode; if(request->pid_length > 0) { - // TODO need a set bit field that's more natural and checks endianness - // becauase we DO need to flip it - copy_bytes_right_aligned((uint8_t*)&request->pid, sizeof(request->pid), - PID_BYTE_INDEX, request->pid_length, payload, sizeof(payload)); + set_bitfield(request->pid, PID_BYTE_INDEX * CHAR_BIT, + request->pid_length * CHAR_BIT, payload, sizeof(payload)); } if(request->payload_length > 0) { memcpy(&payload[PID_BYTE_INDEX + request->pid_length],