arduino-libraries / ArduinoModbus

244 stars 116 forks source link

add guarded vTaskDelay calls on select fnc #148

Open wswag opened 3 months ago

wswag commented 3 months ago

the current implementation tends to preempt other tasks in multithreading / FreeRTOS environments due to missing context switch statements. this PR adds those calls if FreeRTOS is available

CLAassistant commented 3 months ago

CLA assistant check
All committers have signed the CLA.

github-actions[bot] commented 3 months ago

Memory usage change @ 6840c95184ba88ababf7ece55dafdcecea307495

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/ModbusRTUClientKitchenSink`
flash|%|`examples/RTU/ModbusRTUClientKitchenSink`
RAM for global variables|%|`examples/RTU/ModbusRTUClientParameters`
flash|%|`examples/RTU/ModbusRTUClientParameters`
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: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
flash,%,examples/RTU/ModbusRTUClientKitchenSink
RAM for global variables,%,examples/RTU/ModbusRTUClientParameters
flash,%,examples/RTU/ModbusRTUClientParameters
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: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 ```