From 0ef9bd7c657e14c2c77fc0bec4490e24918aacf9 Mon Sep 17 00:00:00 2001 From: latonita Date: Fri, 29 Apr 2016 20:03:32 +0300 Subject: [PATCH] Ext can id fix --- can-232.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/can-232.cpp b/can-232.cpp index 4fde67f..d08d940 100644 --- a/can-232.cpp +++ b/can-232.cpp @@ -499,18 +499,21 @@ void Can232::parseCanStdId() { lw232CanId = (((INT32U)HexHelper::parseNibble(lw232Message[1])) << 8) + (((INT32U)HexHelper::parseNibble(lw232Message[2])) << 4) + (((INT32U)HexHelper::parseNibble(lw232Message[3]))); + lw232CanId &= 0x7FF; } void Can232::parseCanExtId() { - lw232CanId = (((INT32U)HexHelper::parseNibble(lw232Message[1])) << 20) - + (((INT32U)HexHelper::parseNibble(lw232Message[2])) << 16) - + (((INT32U)HexHelper::parseNibble(lw232Message[3])) << 12) - + (((INT32U)HexHelper::parseNibble(lw232Message[4])) << 8) - + (((INT32U)HexHelper::parseNibble(lw232Message[5])) << 4) - + (((INT32U)HexHelper::parseNibble(lw232Message[6]))); + lw232CanId = (((INT32U)HexHelper::parseNibble(lw232Message[1])) << 28) + + (((INT32U)HexHelper::parseNibble(lw232Message[2])) << 24) + + (((INT32U)HexHelper::parseNibble(lw232Message[3])) << 20) + + (((INT32U)HexHelper::parseNibble(lw232Message[4])) << 16) + + (((INT32U)HexHelper::parseNibble(lw232Message[5])) << 12) + + (((INT32U)HexHelper::parseNibble(lw232Message[6])) << 8) + + (((INT32U)HexHelper::parseNibble(lw232Message[7])) << 4) + + (((INT32U)HexHelper::parseNibble(lw232Message[8]))); + lw232CanId &= 0x1FFFFFFF; } - void HexHelper::printFullByte(INT8U b) { if (b < 0x10) { Serial.print('0');