CAN_VARIANT_BMW_E46_M54_S54
for BMW E46 CanBus messages
under [stm32-aim2can-10adcmap/] Implemented as -DCAN_VARIANT_BMW_E46_M54_S54
An exact list of required ID-s + messages (so we can test, edit, confirm).
- RPM (*6.4 in CAN id 0x316 byte2-3 litteendian)
- TPS
- CLT
- MAT
- MAP
- ...
1 way or 2 way?
"ARBID: 0x613 also sent from the instrument cluster if 0x615 is acknowleged."
- Is it going to be required often to respond and ACK ?
- That might be tougher to make generic home-configurability than the 1 way AIM => CAN (currently C software wired in flash, planned to be configurable after a few more examples are implemented).
CAN dash arrived to lab, so we can now test new code against real dash
Tested against real dash
- so far tested good
- have not implemented AC request back to v3 yet (available from CAN id 0x615)
Termination (generic info, separate page maybe ?)
If in doubt with 120 Ohm termination, measure resistance.
- 120 Ohm on both ends: expect to measure 60 Ohm effective value in the end
- If one end is terminated with 120 Ohm, the other end with 240 Ohm, measuring 80 Ohm would indicate it. 80=1/(1/120+1/240)
- connect 240 Ohm in parallel with 240 Ohm => 120 Ohm effective
Sniffing - should not be needed normally, but...
Saleae 8ch (eg. with old 1.1.15 or 1.1.16sw) can be used to capture live data from bus.
- However, min 2 nodes are needed anyway (1 node sends, the other node acknowledges: eg. VEMS ECU with fw 1.2.38 .. 1.2.41 receives all CAN ID-s without filtering by default)
- If no 2nd node to acknowledge, just a CAN transceiver and saleae (or scope) will NOT acknowledge the frames, and the transmitter will resend.
- Note: MCP2515 is NOT acknowledging without an SPI master, or if NOT initialized accordingly.
CAN checksum required I believe
I have a 2002 E46 325i that shows check engine light and also brake fault light, I believe its because the CAN output from the aim adapter doesn´t have a checksum at the end so the other boxes in the car get upset, when the ecu is disconnected the fault goes away. I believe its a CRC-8 that is required.
I have the cable to update the CAN so if you believe you can update the E46 CAN firmware to have CRC-8 then I can test it.
Car is otherwise all working (not AC as its over CAN and there is no CAN > V3)
Gunni
Hello Gunni,
Do you have a can log (logging the same id's the aim2can sends out) from when the stock ecu is sending the data, so that i can determine the correct crc format and location ? or perhaps some addional information outlining it ?
If i have a better understanding of the requirements, i will implement it. Thanks!
Best regards, Dave
Hi Dave, I believe I did send you some of that data from earlier when I was first messing about with this CAN stuff.
But I´ll try and find those logs or do a new log of the CAN.
And if I can I´ll try and find some info on the CRC8 stuff and the easiest way to implement it (table lookup people say)
Testing done - the car complained of CAN issues so its definitely that.