This will help with "universal" dashboard or any other interface relying on CANBus messages.
Make up a standard

Maybe grouping things logically by functions ...I don't know if "AUX 12volt" belongs together with same CANId as temperature

Not so important, for now.
I would prefer that the different modules send messages by it self.
I am liking this SDO concept. It makes sense to standardize CAN readings without reinventing new standard. We can keep the flexibility to set your own IDs.johu wrote: ↑Tue Mar 10, 2020 2:32 pm I wonder if we should poll the more obscure values via CAN SDO instead of mapping everything somewhere?
https://openinverter.org/wiki/CAN_commu ... rs_via_SDO
The way it works: send a request message for the value you want and receive the reply.
If we agree on this I could change the firmware to address values via their unique ID instead of the parameter index. That way it stays constant throughout firmware versions.
Code: Select all
can sdo
Yes it is. So COB Id 0x601 is reserved for SDO request and 0x581 for SDO reply. More precisely, 0x600 and 0x580 are base addresses and 0x1 is the inverter node id. Actually every device on the network needs it's own node id, just like IP address. So that would have to become a parameter.
Code: Select all
0x601 # 0x22 0x00 0x20 0x00 0 0 0 0
Code: Select all
0x601 # 0x22 0x00 0x20 0x01 0 0 0 0 -> fweak
Code: Select all
0x601 # 0x40 0x00 0x20 0x01 0x80 0x0C 0 0
Code: Select all
0x601 # 0x40 0xAA 0x31 0x01 0x08 0x10 1 0
Something like this?
I started to like the Teensy boards, when I got the SimpBMS.