arduino-libraries / ArduinoModbus

252 stars 120 forks source link

Return flag from poll() to allow conditional events to trigger #62

Closed nsted closed 2 years ago

nsted commented 3 years ago

Returning a flag from server's poll() is helpful to allow code conditionally execute when a new packet is received. For example, we may want to update holding registers after the last values were collected by the client. Using the flag is optional and can be ignored, using poll() as it has been.

CLAassistant commented 3 years ago

CLA assistant check
All committers have signed the CLA.

github-actions[bot] commented 3 years ago

Memory usage change @ 068f31b4cce257966fb29871276e8e85d003c2bc

Board flash % RAM for global variables %
arduino:avr:leonardo :small_red_triangle: +20 - +24 +0.07 - +0.08 0 - 0 0.0 - 0.0
arduino:avr:nano :small_red_triangle: +20 - +24 +0.07 - +0.08 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 :small_red_triangle: +20 - +26 +0.04 - +0.05 0 - 0 0.0 - 0.0
arduino:samd:mkrwifi1010 :small_red_triangle: +8 - +24 0.0 - +0.01 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|20|0.07|0|0.0|20|0.07|0|0.0|20|0.07|0|0.0|24|0.08|0|0.0|20|0.07|0|0.0|20|0.07|0|0.0|20|0.07|0|0.0 arduino:avr:nano|20|0.07|0|0.0|20|0.07|0|0.0|20|0.07|0|0.0|24|0.08|0|0.0|20|0.07|0|0.0|20|0.07|0|0.0|20|0.07|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|22|0.05|0|0.0|22|0.05|0|0.0|22|0.05|0|0.0|26|0.05|0|0.0|22|0.05|0|0.0|22|0.05|0|0.0|20|0.04|0|0.0|22|0.05|0|0.0|20|0.04|0|0.0 arduino:samd:mkrwifi1010|8|0.0|0|0.0|8|0.0|0|0.0|8|0.0|0|0.0|16|0.01|0|0.0|8|0.0|0|0.0|8|0.0|0|0.0|24|0.01|0|0.0|8|0.0|0|0.0|24|0.01|0|0.0
Click for full report CSV ``` 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,20,0.07,0,0.0,20,0.07,0,0.0,20,0.07,0,0.0,24,0.08,0,0.0,20,0.07,0,0.0,20,0.07,0,0.0,20,0.07,0,0.0 arduino:avr:nano,20,0.07,0,0.0,20,0.07,0,0.0,20,0.07,0,0.0,24,0.08,0,0.0,20,0.07,0,0.0,20,0.07,0,0.0,20,0.07,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,22,0.05,0,0.0,22,0.05,0,0.0,22,0.05,0,0.0,26,0.05,0,0.0,22,0.05,0,0.0,22,0.05,0,0.0,20,0.04,0,0.0,22,0.05,0,0.0,20,0.04,0,0.0 arduino:samd:mkrwifi1010,8,0.0,0,0.0,8,0.0,0,0.0,8,0.0,0,0.0,16,0.01,0,0.0,8,0.0,0,0.0,8,0.0,0,0.0,24,0.01,0,0.0,8,0.0,0,0.0,24,0.01,0,0.0 ```