diff --git a/can/common.cc b/can/common.cc index 408975e..2dc7db0 100644 --- a/can/common.cc +++ b/can/common.cc @@ -91,7 +91,7 @@ void init_crc_lookup_tables() { // At init time, set up static lookup tables for fast CRC computation. gen_crc_lookup_table(0x2F, crc8_lut_8h2f); // CRC-8 8H2F/AUTOSAR for Volkswagen - gen_crc_lookup_table(0xD5, crc8_lut_d5); // CRC-8 for pedal + gen_crc_lookup_table(0x1D, crc8_lut_1d); // CRC-8 SAE-j18650 for Retropilot } unsigned int volkswagen_crc(unsigned int address, uint64_t d, int l) { @@ -198,8 +198,10 @@ unsigned int ocelot_checksum(uint64_t d, int l) { // CRC the payload, skipping over the first byte where the CRC lives. for (int i = 1; i < l; i++) { crc ^= (d >> (i*8)) & 0xFF; - crc = crc8_lut_d5[crc]; + crc = crc8_lut_1d[crc]; } + crc = crc ^ 0xFF; //final xor + return crc; } diff --git a/ocelot_can.dbc b/ocelot_can.dbc index 8e8ad96..0bbf24e 100644 --- a/ocelot_can.dbc +++ b/ocelot_can.dbc @@ -33,7 +33,7 @@ NS_ : BS_: -BU_: EPAS HIM PED EON IBST SAS EPAS TOYOTASAS +BU_: EPAS HIM EON IBST SAS EPAS TOYOTASAS VAL_TABLE_ BRAKEMODE 3 "Reserved" 2 "Position Control" 1 "Relative Control" 0 "Disengadged" ; VAL_TABLE_ STATUS 5 "FAULT_TIMEOUT" 4 "FAULT_STARTUP" 3 "FAULT_SCE" 2 "FAULT_SEND" 1 "FAULT_BAD_CHECKSUM" 0 "NO_FAULT" ; @@ -70,20 +70,6 @@ BO_ 526 BRAKE_COMMAND: 5 EON SG_ COUNTER : 8|4@1+ (1,0) [0|15] "" IBST SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" IBST -BO_ 512 GAS_COMMAND: 8 EON - SG_ GAS_COMMAND : 8|16@1+ (0.159375,-75.555) [0|1] "" PED - SG_ GAS_COMMAND2 : 24|16@1+ (0.159375,-151.111) [0|1] "" PED - SG_ ENABLE : 47|1@1+ (1,0) [0|1] "" PED - SG_ COUNTER : 40|4@1+ (1,0) [0|15] "" PED - SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" PED - -BO_ 513 GAS_SENSOR: 8 PED - SG_ PED_GAS : 8|16@1+ (0.159375,-75.555) [0|1] "" EON - SG_ PED_GAS2 : 24|16@1+ (0.159375,-151.111) [0|1] "" EON - SG_ STATE : 44|4@1+ (1,0) [0|15] "" EON - SG_ COUNTER : 40|4@1+ (1,0) [0|15] "" EON - SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" EON - BO_ 870 CURRENT_STATE: 4 EON SG_ ENABLED : 8|1@1+ (1,0) [0|0] "" HIM SG_ SET_SPEED : 16|8@1+ (1,0) [0|255] "mph" HIM diff --git a/ocelot_smart_roadster_pt.dbc b/ocelot_smart_roadster_pt.dbc index 610b2da..42c1c87 100644 --- a/ocelot_smart_roadster_pt.dbc +++ b/ocelot_smart_roadster_pt.dbc @@ -1,7 +1,7 @@ VERSION "" -NS_ : +NS_ : NS_DESC_ CM_ BA_DEF_ @@ -33,7 +33,7 @@ NS_ : BS_: -BU_: EON SMART +BU_: EON SMART PED VAL_TABLE_ BRAKEMODE 3 "Reserved" 2 "Position Control" 1 "Relative Control" 0 "Disengadged" ; VAL_TABLE_ STATUS 5 "FAULT_TIMEOUT" 4 "FAULT_STARTUP" 3 "FAULT_SCE" 2 "FAULT_SEND" 1 "FAULT_BAD_CHECKSUM" 0 "NO_FAULT" ; VAL_TABLE_ STEERINGMODE 3 "Reserved" 2 "Position Control" 1 "Torque Control" 0 "Disengadged" ; @@ -57,10 +57,10 @@ BO_ 568 SMART_ROADSTER_MESSAGE3: 8 SMART BO_ 528 SMART_ROADSTER_MESSAGE2: 8 SMART BO_ 128 SMARTROADSTERWHEELSPEEDS: 8 SMART - SG_ WHEELSPEED_RR : 55|16@0+ (1,0) [0|65535] "" EON - SG_ WHEELSPEED_RL : 39|16@0+ (1,0) [0|65535] "" EON - SG_ WHEELSPEED_FR : 23|16@0+ (1,0) [0|65535] "mph" EON - SG_ WHEELSPEED_FL : 7|16@0+ (1,0) [0|65535] "mph" EON + SG_ WHEELSPEED_RL : 55|16@0+ (0.034,0) [0|65535] "mph" EON + SG_ WHEELSPEED_RR : 39|16@0+ (0.034,0) [0|65535] "mph" EON + SG_ WHEELSPEED_FL : 23|16@0+ (0.034,0) [0|65535] "mph" EON + SG_ WHEELSPEED_FR : 7|16@0+ (0.034,0) [0|65535] "mph" EON BO_ 194 SMARTSTEERINGANGLESENSOR: 8 SMART SG_ SMART_STEER_RATE_SIGN : 31|1@1+ (1,0) [0|0] "" EON @@ -71,6 +71,20 @@ BO_ 194 SMARTSTEERINGANGLESENSOR: 8 SMART BO_ 784 SMARTTHROTTLEPEDAL: 8 SMART SG_ THROTTLE_POSITION : 32|16@1+ (0.00156143,0) [0|0] "%" EON +BO_ 512 GAS_COMMAND: 8 EON + SG_ GAS_COMMAND : 8|16@1+ (0.358,-121) [0|1] "" PED + SG_ GAS_COMMAND2 : 24|16@1+ (0.236,-242) [0|1] "" PED + SG_ ENABLE : 47|1@1+ (1,0) [0|1] "" PED + SG_ COUNTER : 40|4@1+ (1,0) [0|15] "" PED + SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" PED + +BO_ 513 GAS_SENSOR: 8 PED + SG_ PED_GAS : 8|16@1+ (0.358,-121) [0|1] "" EON + SG_ PED_GAS2 : 24|16@1+ (0.236,-242) [0|1] "" EON + SG_ STATE : 44|4@1+ (1,0) [0|15] "" EON + SG_ COUNTER : 40|4@1+ (1,0) [0|15] "" EON + SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" EON + BO_ 544 BODYCONTROL: 8 SMART SG_ RIGHT_DOOR : 0|1@1+ (1,0) [0|0] "" EON SG_ LEFT_DOOR : 7|1@1+ (1,0) [0|0] "" EON @@ -86,9 +100,8 @@ BO_ 144 ABS: 8 SMART BO_ 400 GEARBOX: 8 SMART SG_ GEARPOSITION : 0|8@1+ (1,0) [0|0] "" EON -BO_ 520 WHEELSPEEDS: 8 SMART - SG_ WHEELSPEED_FR : 40|7@1- (1,0) [0|0] "mph" EON - SG_ WHEELSPEED_FL : 48|7@1- (1,0) [0|0] "mph" EON +BO_ 520 SMART_ROADSTER_MESSAGE1: 8 SMART + CM_ SG_ 741 CHECKSUM "CRC8_J1650 SAE Checksum";