ArduinoModbus
ArduinoModbus copied to clipboard
ESP8266 ESP32 compatible
This would works if my merge in ArduinoRS485 accepted.
Memory usage change @ cd2120bba90b698a88ea703b51b65e4b114cf8d0
| Board | flash | % | RAM for global variables | % |
|---|---|---|---|---|
| arduino:avr:leonardo | 0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
| arduino:mbed:envie_m7 | 0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
| arduino:mbed:nano33ble | 0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
| 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/ModbusRTUClientKitchenSink flash |
% | examples/RTU/ModbusRTUClientKitchenSink RAM for global variables |
% | examples/RTU/ModbusRTUClientToggle flash |
% | examples/RTU/ModbusRTUClientToggle RAM for global variables |
% | examples/RTU/ModbusRTUServerKitchenSink flash |
% | examples/RTU/ModbusRTUServerKitchenSink RAM for global variables |
% | examples/RTU/ModbusRTUServerLED flash |
% | examples/RTU/ModbusRTUServerLED RAM for global variables |
% | examples/RTU/ModbusRTUTemperatureSensor flash |
% | examples/RTU/ModbusRTUTemperatureSensor RAM for global variables |
% | examples/TCP/EthernetModbusClientToggle flash |
% | examples/TCP/EthernetModbusClientToggle RAM for global variables |
% | examples/TCP/EthernetModbusServerLED flash |
% | examples/TCP/EthernetModbusServerLED RAM for global variables |
% | examples/TCP/WiFiModbusClientToggle flash |
% | examples/TCP/WiFiModbusClientToggle RAM for global variables |
% | examples/TCP/WiFiModbusServerLED flash |
% | examples/TCP/WiFiModbusServerLED RAM for global variables |
% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| arduino:avr:leonardo | 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:envie_m7 | 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: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 | ||||||||||||||||
| 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 |
| 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 |
Click for full report CSV
Board,examples/RTU/ModbusRTUClientKitchenSink<br>flash,%,examples/RTU/ModbusRTUClientKitchenSink<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:avr:leonardo,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:envie_m7,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: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,,,,,,,,
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
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
#include <HardwareSerial.h> needs to be included in ModbusRTUServer.cpp and ModbusRTUClient.cpp otherwise
In file included from .pio\libdeps\esp8266\ArduinoModbus\src\ModbusRTUClient.cpp:23:
.pio\libdeps\esp8266\ArduinoModbus\src\libmodbus/modbus.h:64:33: error: 'SerialConfig' has not been declared
64 | #define RS485_SER_CONF_TYPE SerialConfig
Memory usage change @ a8e852e66a0fa8f926df2cbba82c9101dbcdab60
| Board | flash | % | RAM for global variables | % |
|---|---|---|---|---|
| arduino:avr:leonardo | :small_red_triangle: +104 - +112 | +0.36 - +0.39 | :small_red_triangle: +39 - +39 | +1.52 - +1.52 |
| arduino:mbed:envie_m7 | :small_red_triangle: +80 - +144 | +0.01 - +0.02 | :small_red_triangle: +56 - +64 | +0.01 - +0.01 |
| arduino:mbed:nano33ble | :small_red_triangle: +152 - +152 | +0.02 - +0.02 | :small_red_triangle: +64 - +72 | +0.02 - +0.03 |
| arduino:megaavr:uno2018:mode=off | :small_red_triangle: +104 - +104 | +0.21 - +0.21 | :small_red_triangle: +31 - +31 | +0.5 - +0.5 |
| arduino:samd:mkrwifi1010 | :small_red_triangle: +128 - +152 | +0.05 - +0.06 | :small_red_triangle: +60 - +76 | +0.18 - +0.23 |
Click for full report table
| Board | examples/RTU/ModbusRTUClientKitchenSink flash |
% | examples/RTU/ModbusRTUClientKitchenSink RAM for global variables |
% | examples/RTU/ModbusRTUClientToggle flash |
% | examples/RTU/ModbusRTUClientToggle RAM for global variables |
% | examples/RTU/ModbusRTUServerKitchenSink flash |
% | examples/RTU/ModbusRTUServerKitchenSink RAM for global variables |
% | examples/RTU/ModbusRTUServerLED flash |
% | examples/RTU/ModbusRTUServerLED RAM for global variables |
% | examples/RTU/ModbusRTUTemperatureSensor flash |
% | examples/RTU/ModbusRTUTemperatureSensor RAM for global variables |
% | examples/TCP/EthernetModbusClientToggle flash |
% | examples/TCP/EthernetModbusClientToggle RAM for global variables |
% | examples/TCP/EthernetModbusServerLED flash |
% | examples/TCP/EthernetModbusServerLED RAM for global variables |
% | examples/TCP/WiFiModbusClientToggle flash |
% | examples/TCP/WiFiModbusClientToggle RAM for global variables |
% | examples/TCP/WiFiModbusServerLED flash |
% | examples/TCP/WiFiModbusServerLED RAM for global variables |
% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| arduino:avr:leonardo | 104 | 0.36 | 39 | 1.52 | 104 | 0.36 | 39 | 1.52 | 104 | 0.36 | 39 | 1.52 | 104 | 0.36 | 39 | 1.52 | 104 | 0.36 | 39 | 1.52 | 104 | 0.36 | 39 | 1.52 | 112 | 0.39 | 39 | 1.52 | ||||||||
| arduino:mbed:envie_m7 | 80 | 0.01 | 64 | 0.01 | 80 | 0.01 | 56 | 0.01 | 144 | 0.02 | 56 | 0.01 | 144 | 0.02 | 56 | 0.01 | 80 | 0.01 | 56 | 0.01 | ||||||||||||||||
| arduino:mbed:nano33ble | 152 | 0.02 | 64 | 0.02 | 152 | 0.02 | 72 | 0.03 | 152 | 0.02 | 72 | 0.03 | 152 | 0.02 | 72 | 0.03 | 152 | 0.02 | 72 | 0.03 | ||||||||||||||||
| arduino:megaavr:uno2018:mode=off | 104 | 0.21 | 31 | 0.5 | 104 | 0.21 | 31 | 0.5 | 104 | 0.21 | 31 | 0.5 | 104 | 0.21 | 31 | 0.5 | 104 | 0.21 | 31 | 0.5 | 104 | 0.21 | 31 | 0.5 | 104 | 0.21 | 31 | 0.5 | 104 | 0.21 | 31 | 0.5 | 104 | 0.21 | 31 | 0.5 |
| arduino:samd:mkrwifi1010 | 128 | 0.05 | 60 | 0.18 | 128 | 0.05 | 60 | 0.18 | 136 | 0.05 | 60 | 0.18 | 128 | 0.05 | 60 | 0.18 | 128 | 0.05 | 60 | 0.18 | 152 | 0.06 | 76 | 0.23 | 144 | 0.05 | 76 | 0.23 | 128 | 0.05 | 60 | 0.18 | 136 | 0.05 | 60 | 0.18 |
Click for full report CSV
Board,examples/RTU/ModbusRTUClientKitchenSink<br>flash,%,examples/RTU/ModbusRTUClientKitchenSink<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:avr:leonardo,104,0.36,39,1.52,104,0.36,39,1.52,104,0.36,39,1.52,104,0.36,39,1.52,104,0.36,39,1.52,104,0.36,39,1.52,112,0.39,39,1.52
arduino:mbed:envie_m7,80,0.01,64,0.01,80,0.01,56,0.01,144,0.02,56,0.01,144,0.02,56,0.01,80,0.01,56,0.01,,,,,,,,
arduino:mbed:nano33ble,152,0.02,64,0.02,152,0.02,72,0.03,152,0.02,72,0.03,152,0.02,72,0.03,152,0.02,72,0.03,,,,,,,,
arduino:megaavr:uno2018:mode=off,104,0.21,31,0.5,104,0.21,31,0.5,104,0.21,31,0.5,104,0.21,31,0.5,104,0.21,31,0.5,104,0.21,31,0.5,104,0.21,31,0.5,104,0.21,31,0.5,104,0.21,31,0.5
arduino:samd:mkrwifi1010,128,0.05,60,0.18,128,0.05,60,0.18,136,0.05,60,0.18,128,0.05,60,0.18,128,0.05,60,0.18,152,0.06,76,0.23,144,0.05,76,0.23,128,0.05,60,0.18,136,0.05,60,0.18
Retry check to ignore AVR memory issue thanks to #106 to ease merge.
Retry check to ignore AVR memory issue thanks to #106 to ease merge.
Don't work with esp8266