eModbus / eModbus

Modbus library for RTU, ASCII and TCP protocols. Primarily developed on and for ESP32 MCUs.

Home Page:https://emodbus.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

list of edge cases and do not try scenario

sdrshnptl opened this issue · comments

Hello All!
this is a fantastic library to achieve modbus functionality over serial, WiFi and Ethernet.

The intention of this issue is to have a list of edge cases and esp32 will reset or misbehave in running that been found which are not covered in documentation and it will improve performance.

Thanks!
Sudarshan

What comes to my mind first is race conditions. It is in the docs, but maybe slightly hidden:

  • all callbacks (data and error handlers for the client and worker functions for the server) are run in a task within the library and may compete with the main task in terms of data access and resources.
  • as a side note: these tasks are running with limited (4kB by default) stack space also.

Second, do not overrun your servers with requests. Polling servers faster than they can respond will disable your client in the end.