ArduinoModbus
ArduinoModbus copied to clipboard
Added Compatibility to ESP32 ESP8266
Added compatibility for espressifs esp32 and esp8266
Based on the idea from mostafahk in PR#70 which seems kind of abandoned (last commit 2 years ago)
As the serial configuration enum is defined as int32 on the ESP (instead of int16 or the other platforms), so made the datatype Dynamic.
This code change will enable the ModbusLibrary to compile sucessfully for ESP32 and ESP8266, but in order to work on those platforms the approriate PR in the RS485 Library will alo have to be merged.
Memory usage change @ 4b6c7e8f92e49f4c997c6cf5f0c09d22b8d3308f
| Board | flash | % | RAM for global variables | % |
|---|---|---|---|---|
arduino:mbed_nano:nano33ble |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:mbed_opta:opta |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:mbed_portenta:envie_m7 |
N/A | N/A | N/A | N/A |
arduino:megaavr:uno2018:mode=off |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:samd:mkrwifi1010 |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
Click for full report table
| Board | examples/RTU/ModbusRTUClientKitchenSinkflash |
% | examples/RTU/ModbusRTUClientKitchenSinkRAM for global variables |
% | examples/RTU/ModbusRTUClientParametersflash |
% | examples/RTU/ModbusRTUClientParametersRAM for global variables |
% | examples/RTU/ModbusRTUClientToggleflash |
% | examples/RTU/ModbusRTUClientToggleRAM for global variables |
% | examples/RTU/ModbusRTUServerKitchenSinkflash |
% | examples/RTU/ModbusRTUServerKitchenSinkRAM for global variables |
% | examples/RTU/ModbusRTUServerLEDflash |
% | examples/RTU/ModbusRTUServerLEDRAM for global variables |
% | examples/RTU/ModbusRTUTemperatureSensorflash |
% | examples/RTU/ModbusRTUTemperatureSensorRAM for global variables |
% | examples/TCP/EthernetModbusClientToggleflash |
% | examples/TCP/EthernetModbusClientToggleRAM for global variables |
% | examples/TCP/EthernetModbusServerLEDflash |
% | examples/TCP/EthernetModbusServerLEDRAM for global variables |
% | examples/TCP/WiFiModbusClientToggleflash |
% | examples/TCP/WiFiModbusClientToggleRAM for global variables |
% | examples/TCP/WiFiModbusServerLEDflash |
% | examples/TCP/WiFiModbusServerLEDRAM for global variables |
% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
arduino:mbed_nano:nano33ble |
0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | ||||||||||||||||
arduino:mbed_opta:opta |
0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | ||||||||
arduino:mbed_portenta:envie_m7 |
N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ||||||||||||||||
arduino:megaavr:uno2018:mode=off |
0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 |
arduino:samd:mkrwifi1010 |
0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 | 0 | 0.0 |
Click for full report CSV
Board,examples/RTU/ModbusRTUClientKitchenSink<br>flash,%,examples/RTU/ModbusRTUClientKitchenSink<br>RAM for global variables,%,examples/RTU/ModbusRTUClientParameters<br>flash,%,examples/RTU/ModbusRTUClientParameters<br>RAM for global variables,%,examples/RTU/ModbusRTUClientToggle<br>flash,%,examples/RTU/ModbusRTUClientToggle<br>RAM for global variables,%,examples/RTU/ModbusRTUServerKitchenSink<br>flash,%,examples/RTU/ModbusRTUServerKitchenSink<br>RAM for global variables,%,examples/RTU/ModbusRTUServerLED<br>flash,%,examples/RTU/ModbusRTUServerLED<br>RAM for global variables,%,examples/RTU/ModbusRTUTemperatureSensor<br>flash,%,examples/RTU/ModbusRTUTemperatureSensor<br>RAM for global variables,%,examples/TCP/EthernetModbusClientToggle<br>flash,%,examples/TCP/EthernetModbusClientToggle<br>RAM for global variables,%,examples/TCP/EthernetModbusServerLED<br>flash,%,examples/TCP/EthernetModbusServerLED<br>RAM for global variables,%,examples/TCP/WiFiModbusClientToggle<br>flash,%,examples/TCP/WiFiModbusClientToggle<br>RAM for global variables,%,examples/TCP/WiFiModbusServerLED<br>flash,%,examples/TCP/WiFiModbusServerLED<br>RAM for global variables,%
arduino:mbed_nano:nano33ble,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0
arduino:mbed_opta:opta,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0
arduino:mbed_portenta:envie_m7,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,,,,,,,,
arduino:megaavr:uno2018:mode=off,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0
arduino:samd:mkrwifi1010,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0