jsphuebner / esp32-web-interface

11 stars 7 forks source link

Co-exist with other CANopen clients on the same CAN bus #8

Open davefiddes opened 4 months ago

davefiddes commented 4 months ago

It seems that the esp32-web-interface can become confused and stop operating when sharing a CAN bus with another CANopen client such as opeinverter_can_tool.

To replicate:

  1. Set up a shared CAN bus with esp32-web-interface, stm32-sine and a PC with openinverter_can_tool
  2. Verify the esp32-web-interface Dashboard shows the current status
  3. Configure at least one TX or RX can mapping on the inverter (this is essential)
  4. Run oic can list

Expected result:

Actual result:

It looks like the device is getting stuck in the ERROR state and there is no way out from this other than to reboot the device.

With no can mappings defined the two tools appear to co-exist. It looks like the CANopen SDO abort messages which are an essential part of listing CAN mappings are tripping up the state machine. Running oic can clear tx, oic can clear rx and then oic can list doesn't expose any problems.