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:
Set up a shared CAN bus with esp32-web-interface, stm32-sine and a PC with openinverter_can_tool
Verify the esp32-web-interface Dashboard shows the current status
Configure at least one TX or RX can mapping on the inverter (this is essential)
Run oic can list
Expected result:
The dashboard continues to update
Actual result:
The dashboard stops updating and reports a red banner with "Communication problem between ESP and STM"
The ESP32 serial log outputs
Error obtaining serial number, try restarting
Error obtaining serial number, try restarting
Error obtaining serial number, try restarting
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.
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:
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 thenoic can list
doesn't expose any problems.