arduino-libraries / ArduinoIoTCloud

https://app.arduino.cc
Other
109 stars 78 forks source link

Improve device and thing state machine message handling and fix infinite disconnetct loop #490

Closed pennam closed 1 month ago

codecov[bot] commented 2 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 95.26%. Comparing base (8b6ff40) to head (8196fbc).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #490 +/- ## ======================================= Coverage 95.26% 95.26% ======================================= Files 32 32 Lines 1478 1478 ======================================= Hits 1408 1408 Misses 70 70 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

github-actions[bot] commented 2 months ago

Memory usage change @ 8196fbc634f4fd2bca0c0c92d312be3c010639fa

Board flash % RAM for global variables %
arduino:esp32:nano_nora :small_red_triangle: +68 - +72 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:mbed_edge:edge_control :small_red_triangle: 0 - +64 0.0 - +0.01 0 - 0 0.0 - 0.0
arduino:mbed_giga:giga :small_red_triangle: 0 - +64 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:mbed_nano:nanorp2040connect :small_red_triangle: 0 - +34 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:mbed_nicla:nicla_vision :small_red_triangle: 0 - +64 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:mbed_opta:opta :small_red_triangle: 0 - +64 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:mbed_portenta:envie_m7 N/A N/A N/A N/A
arduino:renesas_portenta:portenta_c33 :small_red_triangle: 0 - +24 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:renesas_uno:unor4wifi :small_red_triangle: +16 - +32 +0.01 - +0.01 0 - 0 0.0 - 0.0
arduino:samd:mkr1000 :small_red_triangle: 0 - +32 0.0 - +0.01 0 - 0 0.0 - 0.0
arduino:samd:mkrgsm1400 :small_red_triangle: 0 - +32 0.0 - +0.01 0 - 0 0.0 - 0.0
arduino:samd:mkrnb1500 :small_red_triangle: 0 - +32 0.0 - +0.01 0 - 0 0.0 - 0.0
arduino:samd:mkrwan1300 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwifi1010 :small_red_triangle: 0 - +32 0.0 - +0.01 0 - 0 0.0 - 0.0
arduino:samd:nano_33_iot :small_red_triangle: 0 - +32 0.0 - +0.01 0 - 0 0.0 - 0.0
esp32:esp32:esp32 :small_red_triangle: +60 - +64 0.0 - 0.0 0 - 0 0.0 - 0.0
esp8266:esp8266:huzzah :small_red_triangle: +32 - +48 0.0 - 0.0 0 - 0 0.0 - 0.0
Click for full report table Board|`examples/ArduinoIoTCloud-Advanced`
flash|%|`examples/ArduinoIoTCloud-Advanced`
RAM for global variables|%|`examples/ArduinoIoTCloud-Basic`
flash|%|`examples/ArduinoIoTCloud-Basic`
RAM for global variables|%|`examples/ArduinoIoTCloud-Callbacks`
flash|%|`examples/ArduinoIoTCloud-Callbacks`
RAM for global variables|%|`examples/ArduinoIoTCloud-Schedule`
flash|%|`examples/ArduinoIoTCloud-Schedule`
RAM for global variables|%|`examples/utility/ArduinoIoTCloud_Travis_CI`
flash|%|`examples/utility/ArduinoIoTCloud_Travis_CI`
RAM for global variables|%|`examples/ArduinoIoTCloud-DeferredOTA`
flash|%|`examples/ArduinoIoTCloud-DeferredOTA`
RAM for global variables|%|`examples/utility/Provisioning`
flash|%|`examples/utility/Provisioning`
RAM for global variables|%|`examples/utility/SelfProvisioning`
flash|%|`examples/utility/SelfProvisioning`
RAM for global variables|% -|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|- `arduino:esp32:nano_nora`|68|0.0|0|0.0|68|0.0|0|0.0|72|0.0|0|0.0|72|0.0|0|0.0|68|0.0|0|0.0|68|0.0|0|0.0 `arduino:mbed_edge:edge_control`|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|64|0.01|0|0.0|64|0.01|0|0.0|||| `arduino:mbed_giga:giga`|64|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|64|0.0|0|0.0|0|0.0|0|0.0|64|0.0|0|0.0|0|0.0|0|0.0 `arduino:mbed_nano:nanorp2040connect`|34|0.0|0|0.0|34|0.0|0|0.0|34|0.0|0|0.0|34|0.0|0|0.0|34|0.0|0|0.0|34|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 `arduino:mbed_nicla:nicla_vision`|0|0.0|0|0.0|64|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|64|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|||| `arduino:mbed_opta:opta`|64|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|64|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|N/A|N/A|N/A|N/A|||| `arduino:renesas_portenta:portenta_c33`|16|0.0|0|0.0|16|0.0|0|0.0|16|0.0|0|0.0|16|0.0|0|0.0|24|0.0|0|0.0|||||0|0.0|0|0.0|||| `arduino:renesas_uno:unor4wifi`|16|0.01|0|0.0|32|0.01|0|0.0|16|0.01|0|0.0|16|0.01|0|0.0|32|0.01|0|0.0|||||||||||| `arduino:samd:mkr1000`|32|0.01|0|0.0|32|0.01|0|0.0|32|0.01|0|0.0|32|0.01|0|0.0|24|0.01|0|0.0|||||0|0.0|0|0.0|||| `arduino:samd:mkrgsm1400`|32|0.01|0|0.0|32|0.01|0|0.0|32|0.01|0|0.0|32|0.01|0|0.0|24|0.01|0|0.0|||||0|0.0|0|0.0|||| `arduino:samd:mkrnb1500`|32|0.01|0|0.0|32|0.01|0|0.0|32|0.01|0|0.0|32|0.01|0|0.0|24|0.01|0|0.0|||||0|0.0|0|0.0|||| `arduino:samd:mkrwan1300`|0|0.0|0|0.0|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`|32|0.01|0|0.0|32|0.01|0|0.0|32|0.01|0|0.0|32|0.01|0|0.0|24|0.01|0|0.0|32|0.01|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 `arduino:samd:nano_33_iot`|32|0.01|0|0.0|32|0.01|0|0.0|32|0.01|0|0.0|32|0.01|0|0.0|24|0.01|0|0.0|32|0.01|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 `esp32:esp32:esp32`|64|0.0|0|0.0|64|0.0|0|0.0|60|0.0|0|0.0|60|0.0|0|0.0|60|0.0|0|0.0|60|0.0|0|0.0|||||||| `esp8266:esp8266:huzzah`|32|0.0|0|0.0|32|0.0|0|0.0|48|0.0|0|0.0|48|0.0|0|0.0|48|0.0|0|0.0||||||||||||
Click for full report CSV ``` Board,examples/ArduinoIoTCloud-Advanced
flash,%,examples/ArduinoIoTCloud-Advanced
RAM for global variables,%,examples/ArduinoIoTCloud-Basic
flash,%,examples/ArduinoIoTCloud-Basic
RAM for global variables,%,examples/ArduinoIoTCloud-Callbacks
flash,%,examples/ArduinoIoTCloud-Callbacks
RAM for global variables,%,examples/ArduinoIoTCloud-Schedule
flash,%,examples/ArduinoIoTCloud-Schedule
RAM for global variables,%,examples/utility/ArduinoIoTCloud_Travis_CI
flash,%,examples/utility/ArduinoIoTCloud_Travis_CI
RAM for global variables,%,examples/ArduinoIoTCloud-DeferredOTA
flash,%,examples/ArduinoIoTCloud-DeferredOTA
RAM for global variables,%,examples/utility/Provisioning
flash,%,examples/utility/Provisioning
RAM for global variables,%,examples/utility/SelfProvisioning
flash,%,examples/utility/SelfProvisioning
RAM for global variables,% arduino:esp32:nano_nora,68,0.0,0,0.0,68,0.0,0,0.0,72,0.0,0,0.0,72,0.0,0,0.0,68,0.0,0,0.0,68,0.0,0,0.0 arduino:mbed_edge:edge_control,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,64,0.01,0,0.0,64,0.01,0,0.0,,,, arduino:mbed_giga:giga,64,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,64,0.0,0,0.0,0,0.0,0,0.0,64,0.0,0,0.0,0,0.0,0,0.0 arduino:mbed_nano:nanorp2040connect,34,0.0,0,0.0,34,0.0,0,0.0,34,0.0,0,0.0,34,0.0,0,0.0,34,0.0,0,0.0,34,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:mbed_nicla:nicla_vision,0,0.0,0,0.0,64,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,64,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,,,, arduino:mbed_opta:opta,64,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,64,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,N/A,N/A,N/A,N/A,,,, arduino:renesas_portenta:portenta_c33,16,0.0,0,0.0,16,0.0,0,0.0,16,0.0,0,0.0,16,0.0,0,0.0,24,0.0,0,0.0,,,,,0,0.0,0,0.0,,,, arduino:renesas_uno:unor4wifi,16,0.01,0,0.0,32,0.01,0,0.0,16,0.01,0,0.0,16,0.01,0,0.0,32,0.01,0,0.0,,,,,,,,,,,, arduino:samd:mkr1000,32,0.01,0,0.0,32,0.01,0,0.0,32,0.01,0,0.0,32,0.01,0,0.0,24,0.01,0,0.0,,,,,0,0.0,0,0.0,,,, arduino:samd:mkrgsm1400,32,0.01,0,0.0,32,0.01,0,0.0,32,0.01,0,0.0,32,0.01,0,0.0,24,0.01,0,0.0,,,,,0,0.0,0,0.0,,,, arduino:samd:mkrnb1500,32,0.01,0,0.0,32,0.01,0,0.0,32,0.01,0,0.0,32,0.01,0,0.0,24,0.01,0,0.0,,,,,0,0.0,0,0.0,,,, arduino:samd:mkrwan1300,0,0.0,0,0.0,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,32,0.01,0,0.0,32,0.01,0,0.0,32,0.01,0,0.0,32,0.01,0,0.0,24,0.01,0,0.0,32,0.01,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:nano_33_iot,32,0.01,0,0.0,32,0.01,0,0.0,32,0.01,0,0.0,32,0.01,0,0.0,24,0.01,0,0.0,32,0.01,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 esp32:esp32:esp32,64,0.0,0,0.0,64,0.0,0,0.0,60,0.0,0,0.0,60,0.0,0,0.0,60,0.0,0,0.0,60,0.0,0,0.0,,,,,,,, esp8266:esp8266:huzzah,32,0.0,0,0.0,32,0.0,0,0.0,48,0.0,0,0.0,48,0.0,0,0.0,48,0.0,0,0.0,,,,,,,,,,,, ```
zfields commented 1 month ago

I have this patch on hardware, and I will let you know how it performs.

zfields commented 1 month ago

Your patch works on my application. :tada: