Skip to content

Deferred OTA #281

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Nov 4, 2021
Merged

Deferred OTA #281

merged 10 commits into from
Nov 4, 2021

Conversation

pennam
Copy link
Collaborator

@pennam pennam commented Oct 20, 2021

@facchinm i've took your PR #265 and made some small changes:

  • removed default transport overriding
  • Added bfe9e1c 00f61ba in order to sync _ota_req variable with the cloud and be able to start a deferred OTA after a board reset.
  • some other minor cosmetic change

Having this feature has some minor drawbacks:

  • last_values message size is increased
  • if for some reason the library fails to send the cleared _ota_req flag to the cloud then onOTARequestCb() will be called again even if the OTA update was already applied.

Tests:

WebIDE OTA:

Board Test
MKR WiFi 1010 ✔️
Portenta ✔️
NANO RP2040 ✔️

arduino-cloud-cli deferred OTA:

./arduino-cloud-cli ota upload --device-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --file filename.ino.bin --deferred

Board Test
MKR WiFi 1010 ✔️
Portenta ✔️
NANO RP2040 ✔️

/cc @eclipse1985 @manchoz

@github-actions
Copy link

Memory usage change @ c7945c6

Board flash % RAM for global variables %
arduino:mbed:envie_m4 🔺 0 - +64 0.0 - +0.01 🔺 +8 - +8 0.0 - 0.0
arduino:mbed:envie_m7 🔺 0 - +64 0.0 - +0.01 0 - 0 0.0 - 0.0
arduino:mbed_nano:nanorp2040connect 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkr1000 🔺 +8 - +8 0.0 - 0.0 🔺 +8 - +8 +0.02 - +0.02
arduino:samd:mkrgsm1400 🔺 +48 - +64 +0.02 - +0.02 0 - 0 0.0 - 0.0
arduino:samd:mkrnb1500 🔺 +8 - +8 0.0 - 0.0 🔺 +8 - +8 +0.02 - +0.02
arduino:samd:mkrwan1300 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwifi1010 🔺 0 - +64 0.0 - +0.02 🔺 0 - +8 0.0 - +0.02
arduino:samd:nano_33_iot 🔺 0 - +64 0.0 - +0.02 🔺 0 - +8 0.0 - +0.02
esp32:esp32:esp32 🔺 +4 - +8 0.0 - 0.0 🔺 0 - +8 0.0 - 0.0
esp8266:esp8266:huzzah 🔺 0 - +16 0.0 - 0.0 🔺 0 - +16 0.0 - +0.02
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/utility/ArduinoIoTCloud_Travis_CI
flash
% examples/utility/ArduinoIoTCloud_Travis_CI
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:mbed:envie_m4 64 0.01 8 0.0 0 0.0 8 0.0 0 0.0 8 0.0 0 0.0 8 0.0
arduino:mbed:envie_m7 64 0.01 0 0.0 64 0.01 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0
arduino:mbed_nano:nanorp2040connect 0 0.0 0 0.0 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:mkr1000 8 0.0 8 0.02 8 0.0 8 0.02 8 0.0 8 0.02 8 0.0 8 0.02
arduino:samd:mkrgsm1400 48 0.02 0 0.0 64 0.02 0 0.0 48 0.02 0 0.0 48 0.02 0 0.0
arduino:samd:mkrnb1500 8 0.0 8 0.02 8 0.0 8 0.02 8 0.0 8 0.02 8 0.0 8 0.02
arduino:samd:mkrwan1300 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0
arduino:samd:mkrwifi1010 48 0.02 8 0.02 64 0.02 0 0.0 48 0.02 0 0.0 48 0.02 0 0.0 0 0.0 0 0.0
arduino:samd:nano_33_iot 48 0.02 8 0.02 64 0.02 0 0.0 48 0.02 0 0.0 48 0.02 0 0.0 0 0.0 0 0.0
esp32:esp32:esp32 4 0.0 0 0.0 4 0.0 8 0.0 8 0.0 8 0.0
esp8266:esp8266:huzzah 0 0.0 16 0.02 0 0.0 0 0.0 16 0.0 0 0.0
Click for full report CSV
Board,examples/ArduinoIoTCloud-Advanced<br>flash,%,examples/ArduinoIoTCloud-Advanced<br>RAM for global variables,%,examples/ArduinoIoTCloud-Basic<br>flash,%,examples/ArduinoIoTCloud-Basic<br>RAM for global variables,%,examples/utility/ArduinoIoTCloud_Travis_CI<br>flash,%,examples/utility/ArduinoIoTCloud_Travis_CI<br>RAM for global variables,%,examples/utility/Provisioning<br>flash,%,examples/utility/Provisioning<br>RAM for global variables,%,examples/utility/SelfProvisioning<br>flash,%,examples/utility/SelfProvisioning<br>RAM for global variables,%
arduino:mbed:envie_m4,64,0.01,8,0.0,0,0.0,8,0.0,0,0.0,8,0.0,0,0.0,8,0.0
arduino:mbed:envie_m7,64,0.01,0,0.0,64,0.01,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0
arduino:mbed_nano:nanorp2040connect,0,0.0,0,0.0,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:mkr1000,8,0.0,8,0.02,8,0.0,8,0.02,8,0.0,8,0.02,8,0.0,8,0.02,,,,
arduino:samd:mkrgsm1400,48,0.02,0,0.0,64,0.02,0,0.0,48,0.02,0,0.0,48,0.02,0,0.0,,,,
arduino:samd:mkrnb1500,8,0.0,8,0.02,8,0.0,8,0.02,8,0.0,8,0.02,8,0.0,8,0.02,,,,
arduino:samd:mkrwan1300,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,,,,,,,,
arduino:samd:mkrwifi1010,48,0.02,8,0.02,64,0.02,0,0.0,48,0.02,0,0.0,48,0.02,0,0.0,0,0.0,0,0.0
arduino:samd:nano_33_iot,48,0.02,8,0.02,64,0.02,0,0.0,48,0.02,0,0.0,48,0.02,0,0.0,0,0.0,0,0.0
esp32:esp32:esp32,4,0.0,0,0.0,4,0.0,8,0.0,8,0.0,8,0.0,,,,,,,,
esp8266:esp8266:huzzah,0,0.0,16,0.02,0,0.0,0,0.0,16,0.0,0,0.0,,,,,,,,

@codecov-commenter
Copy link

codecov-commenter commented Oct 22, 2021

Codecov Report

Merging #281 (93bb40a) into master (5e19f33) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #281   +/-   ##
=======================================
  Coverage   95.31%   95.31%           
=======================================
  Files          25       25           
  Lines         896      896           
=======================================
  Hits          854      854           
  Misses         42       42           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update cd906d9...93bb40a. Read the comment docs.

@github-actions
Copy link

Memory usage change @ 5436c05

Board flash % RAM for global variables %
arduino:mbed:envie_m4 🔺 0 - +64 0.0 - +0.01 🔺 +8 - +8 0.0 - 0.0
arduino:mbed:envie_m7 🔺 +96 - +160 +0.01 - +0.02 0 - 0 0.0 - 0.0
arduino:mbed_nano:nanorp2040connect 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkr1000 🔺 +8 - +8 0.0 - 0.0 🔺 +8 - +8 +0.02 - +0.02
arduino:samd:mkrgsm1400 🔺 +152 - +168 +0.06 - +0.06 0 - 0 0.0 - 0.0
arduino:samd:mkrnb1500 🔺 +8 - +8 0.0 - 0.0 🔺 +8 - +8 +0.02 - +0.02
arduino:samd:mkrwan1300 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwifi1010 🔺 0 - +136 0.0 - +0.05 🔺 0 - +8 0.0 - +0.02
arduino:samd:nano_33_iot 🔺 0 - +136 0.0 - +0.05 🔺 0 - +8 0.0 - +0.02
esp32:esp32:esp32 🔺 +4 - +8 0.0 - 0.0 🔺 0 - +8 0.0 - 0.0
esp8266:esp8266:huzzah 🔺 0 - +16 0.0 - 0.0 🔺 0 - +16 0.0 - +0.02
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/utility/ArduinoIoTCloud_Travis_CI
flash
% examples/utility/ArduinoIoTCloud_Travis_CI
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:mbed:envie_m4 64 0.01 8 0.0 0 0.0 8 0.0 0 0.0 8 0.0 0 0.0 8 0.0
arduino:mbed:envie_m7 160 0.02 0 0.0 160 0.02 0 0.0 96 0.01 0 0.0 96 0.01 0 0.0
arduino:mbed_nano:nanorp2040connect 0 0.0 0 0.0 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:mkr1000 8 0.0 8 0.02 8 0.0 8 0.02 8 0.0 8 0.02 8 0.0 8 0.02
arduino:samd:mkrgsm1400 152 0.06 0 0.0 168 0.06 0 0.0 152 0.06 0 0.0 152 0.06 0 0.0
arduino:samd:mkrnb1500 8 0.0 8 0.02 8 0.0 8 0.02 8 0.0 8 0.02 8 0.0 8 0.02
arduino:samd:mkrwan1300 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0
arduino:samd:mkrwifi1010 120 0.05 8 0.02 136 0.05 0 0.0 128 0.05 0 0.0 120 0.05 0 0.0 0 0.0 0 0.0
arduino:samd:nano_33_iot 120 0.05 8 0.02 136 0.05 0 0.0 128 0.05 0 0.0 120 0.05 0 0.0 0 0.0 0 0.0
esp32:esp32:esp32 4 0.0 0 0.0 4 0.0 8 0.0 8 0.0 8 0.0
esp8266:esp8266:huzzah 0 0.0 16 0.02 0 0.0 0 0.0 16 0.0 0 0.0
Click for full report CSV
Board,examples/ArduinoIoTCloud-Advanced<br>flash,%,examples/ArduinoIoTCloud-Advanced<br>RAM for global variables,%,examples/ArduinoIoTCloud-Basic<br>flash,%,examples/ArduinoIoTCloud-Basic<br>RAM for global variables,%,examples/utility/ArduinoIoTCloud_Travis_CI<br>flash,%,examples/utility/ArduinoIoTCloud_Travis_CI<br>RAM for global variables,%,examples/utility/Provisioning<br>flash,%,examples/utility/Provisioning<br>RAM for global variables,%,examples/utility/SelfProvisioning<br>flash,%,examples/utility/SelfProvisioning<br>RAM for global variables,%
arduino:mbed:envie_m4,64,0.01,8,0.0,0,0.0,8,0.0,0,0.0,8,0.0,0,0.0,8,0.0
arduino:mbed:envie_m7,160,0.02,0,0.0,160,0.02,0,0.0,96,0.01,0,0.0,96,0.01,0,0.0
arduino:mbed_nano:nanorp2040connect,0,0.0,0,0.0,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:mkr1000,8,0.0,8,0.02,8,0.0,8,0.02,8,0.0,8,0.02,8,0.0,8,0.02,,,,
arduino:samd:mkrgsm1400,152,0.06,0,0.0,168,0.06,0,0.0,152,0.06,0,0.0,152,0.06,0,0.0,,,,
arduino:samd:mkrnb1500,8,0.0,8,0.02,8,0.0,8,0.02,8,0.0,8,0.02,8,0.0,8,0.02,,,,
arduino:samd:mkrwan1300,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,,,,,,,,
arduino:samd:mkrwifi1010,120,0.05,8,0.02,136,0.05,0,0.0,128,0.05,0,0.0,120,0.05,0,0.0,0,0.0,0,0.0
arduino:samd:nano_33_iot,120,0.05,8,0.02,136,0.05,0,0.0,128,0.05,0,0.0,120,0.05,0,0.0,0,0.0,0,0.0
esp32:esp32:esp32,4,0.0,0,0.0,4,0.0,8,0.0,8,0.0,8,0.0,,,,,,,,
esp8266:esp8266:huzzah,0,0.0,16,0.02,0,0.0,0,0.0,16,0.0,0,0.0,,,,,,,,

@pennam
Copy link
Collaborator Author

pennam commented Oct 25, 2021

Sending back to the cloud the cleared _ota_req right after receiving it is not working because it does not respect the minimum time between updates

static unsigned long const DEFAULT_MIN_TIME_BETWEEN_UPDATES_MILLIS = 500; /* Data rate throttled to 2 Hz */
. To solve this i've removed the system reset from the onOTARequest() function to clear the _ota_req after it and then added a dedicated function to reset the board.

@github-actions
Copy link

Memory usage change @ e4ce494

Board flash % RAM for global variables %
arduino:mbed:envie_m4 🔺 0 - +64 0.0 - +0.01 🔺 +8 - +8 0.0 - 0.0
arduino:mbed:envie_m7 🔺 +160 - +224 +0.02 - +0.03 🔺 +8 - +8 0.0 - 0.0
arduino:mbed_nano:nanorp2040connect 0 - 0 0.0 - 0.0 🔺 0 - +8 0.0 - 0.0
arduino:samd:mkr1000 🔺 +8 - +8 0.0 - 0.0 🔺 +8 - +8 +0.02 - +0.02
arduino:samd:mkrgsm1400 🔺 +216 - +232 +0.08 - +0.09 🔺 +8 - +8 +0.02 - +0.02
arduino:samd:mkrnb1500 🔺 +8 - +8 0.0 - 0.0 🔺 +8 - +8 +0.02 - +0.02
arduino:samd:mkrwan1300 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwifi1010 🔺 0 - +208 0.0 - +0.08 🔺 0 - +16 0.0 - +0.05
arduino:samd:nano_33_iot 🔺 0 - +208 0.0 - +0.08 🔺 0 - +16 0.0 - +0.05
esp32:esp32:esp32 🔺 +4 - +8 0.0 - 0.0 🔺 0 - +8 0.0 - 0.0
esp8266:esp8266:huzzah 🔺 0 - +16 0.0 - 0.0 🔺 0 - +16 0.0 - +0.02
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/utility/ArduinoIoTCloud_Travis_CI
flash
% examples/utility/ArduinoIoTCloud_Travis_CI
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:mbed:envie_m4 64 0.01 8 0.0 0 0.0 8 0.0 0 0.0 8 0.0 0 0.0 8 0.0
arduino:mbed:envie_m7 224 0.03 8 0.0 224 0.03 8 0.0 224 0.03 8 0.0 160 0.02 8 0.0
arduino:mbed_nano:nanorp2040connect 0 0.0 8 0.0 0 0.0 8 0.0 0 0.0 8 0.0 0 0.0 8 0.0 0 0.0 0 0.0
arduino:samd:mkr1000 8 0.0 8 0.02 8 0.0 8 0.02 8 0.0 8 0.02 8 0.0 8 0.02
arduino:samd:mkrgsm1400 216 0.08 8 0.02 232 0.09 8 0.02 216 0.08 8 0.02 216 0.08 8 0.02
arduino:samd:mkrnb1500 8 0.0 8 0.02 8 0.0 8 0.02 8 0.0 8 0.02 8 0.0 8 0.02
arduino:samd:mkrwan1300 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0
arduino:samd:mkrwifi1010 192 0.07 16 0.05 208 0.08 8 0.02 192 0.07 8 0.02 192 0.07 8 0.02 0 0.0 0 0.0
arduino:samd:nano_33_iot 192 0.07 16 0.05 208 0.08 8 0.02 192 0.07 8 0.02 184 0.07 8 0.02 0 0.0 0 0.0
esp32:esp32:esp32 4 0.0 0 0.0 4 0.0 8 0.0 8 0.0 8 0.0
esp8266:esp8266:huzzah 0 0.0 16 0.02 0 0.0 0 0.0 16 0.0 0 0.0
Click for full report CSV
Board,examples/ArduinoIoTCloud-Advanced<br>flash,%,examples/ArduinoIoTCloud-Advanced<br>RAM for global variables,%,examples/ArduinoIoTCloud-Basic<br>flash,%,examples/ArduinoIoTCloud-Basic<br>RAM for global variables,%,examples/utility/ArduinoIoTCloud_Travis_CI<br>flash,%,examples/utility/ArduinoIoTCloud_Travis_CI<br>RAM for global variables,%,examples/utility/Provisioning<br>flash,%,examples/utility/Provisioning<br>RAM for global variables,%,examples/utility/SelfProvisioning<br>flash,%,examples/utility/SelfProvisioning<br>RAM for global variables,%
arduino:mbed:envie_m4,64,0.01,8,0.0,0,0.0,8,0.0,0,0.0,8,0.0,0,0.0,8,0.0
arduino:mbed:envie_m7,224,0.03,8,0.0,224,0.03,8,0.0,224,0.03,8,0.0,160,0.02,8,0.0
arduino:mbed_nano:nanorp2040connect,0,0.0,8,0.0,0,0.0,8,0.0,0,0.0,8,0.0,0,0.0,8,0.0,0,0.0,0,0.0
arduino:samd:mkr1000,8,0.0,8,0.02,8,0.0,8,0.02,8,0.0,8,0.02,8,0.0,8,0.02,,,,
arduino:samd:mkrgsm1400,216,0.08,8,0.02,232,0.09,8,0.02,216,0.08,8,0.02,216,0.08,8,0.02,,,,
arduino:samd:mkrnb1500,8,0.0,8,0.02,8,0.0,8,0.02,8,0.0,8,0.02,8,0.0,8,0.02,,,,
arduino:samd:mkrwan1300,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,,,,,,,,
arduino:samd:mkrwifi1010,192,0.07,16,0.05,208,0.08,8,0.02,192,0.07,8,0.02,192,0.07,8,0.02,0,0.0,0,0.0
arduino:samd:nano_33_iot,192,0.07,16,0.05,208,0.08,8,0.02,192,0.07,8,0.02,184,0.07,8,0.02,0,0.0,0,0.0
esp32:esp32:esp32,4,0.0,0,0.0,4,0.0,8,0.0,8,0.0,8,0.0,,,,,,,,
esp8266:esp8266:huzzah,0,0.0,16,0.02,0,0.0,0,0.0,16,0.0,0,0.0,,,,,,,,

@pennam
Copy link
Collaborator Author

pennam commented Oct 25, 2021

Force pushed because i've found an easier solution

@github-actions
Copy link

Memory usage change @ 9cf7523

Board flash % RAM for global variables %
arduino:mbed:envie_m4 🔺 0 - +64 0.0 - +0.01 🔺 +8 - +8 0.0 - 0.0
arduino:mbed:envie_m7 🔺 0 - +64 0.0 - +0.01 0 - 0 0.0 - 0.0
arduino:mbed_nano:nanorp2040connect 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrgsm1400 🔺 +48 - +64 +0.02 - +0.02 0 - 0 0.0 - 0.0
arduino:samd:mkrnb1500 🔺 +8 - +8 0.0 - 0.0 🔺 +8 - +8 +0.02 - +0.02
arduino:samd:mkrwan1300 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwifi1010 🔺 0 - +64 0.0 - +0.02 🔺 0 - +8 0.0 - +0.02
arduino:samd:nano_33_iot 🔺 0 - +64 0.0 - +0.02 🔺 0 - +8 0.0 - +0.02
esp32:esp32:esp32 🔺 +4 - +8 0.0 - 0.0 🔺 0 - +8 0.0 - 0.0
esp8266:esp8266:huzzah 🔺 0 - +16 0.0 - 0.0 🔺 0 - +16 0.0 - +0.02
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/utility/ArduinoIoTCloud_Travis_CI
flash
% examples/utility/ArduinoIoTCloud_Travis_CI
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:mbed:envie_m4 64 0.01 8 0.0 0 0.0 8 0.0 0 0.0 8 0.0 0 0.0 8 0.0
arduino:mbed:envie_m7 64 0.01 0 0.0 64 0.01 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0
arduino:mbed_nano:nanorp2040connect 0 0.0 0 0.0 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:mkrgsm1400 48 0.02 0 0.0 64 0.02 0 0.0 48 0.02 0 0.0 48 0.02 0 0.0
arduino:samd:mkrnb1500 8 0.0 8 0.02 8 0.0 8 0.02 8 0.0 8 0.02 8 0.0 8 0.02
arduino:samd:mkrwan1300 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0
arduino:samd:mkrwifi1010 48 0.02 8 0.02 64 0.02 0 0.0 48 0.02 0 0.0 48 0.02 0 0.0 0 0.0 0 0.0
arduino:samd:nano_33_iot 48 0.02 8 0.02 64 0.02 0 0.0 48 0.02 0 0.0 48 0.02 0 0.0 0 0.0 0 0.0
esp32:esp32:esp32 4 0.0 0 0.0 4 0.0 8 0.0 8 0.0 8 0.0
esp8266:esp8266:huzzah 0 0.0 16 0.02 0 0.0 0 0.0 16 0.0 0 0.0
Click for full report CSV
Board,examples/ArduinoIoTCloud-Advanced<br>flash,%,examples/ArduinoIoTCloud-Advanced<br>RAM for global variables,%,examples/ArduinoIoTCloud-Basic<br>flash,%,examples/ArduinoIoTCloud-Basic<br>RAM for global variables,%,examples/utility/ArduinoIoTCloud_Travis_CI<br>flash,%,examples/utility/ArduinoIoTCloud_Travis_CI<br>RAM for global variables,%,examples/utility/Provisioning<br>flash,%,examples/utility/Provisioning<br>RAM for global variables,%,examples/utility/SelfProvisioning<br>flash,%,examples/utility/SelfProvisioning<br>RAM for global variables,%
arduino:mbed:envie_m4,64,0.01,8,0.0,0,0.0,8,0.0,0,0.0,8,0.0,0,0.0,8,0.0
arduino:mbed:envie_m7,64,0.01,0,0.0,64,0.01,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0
arduino:mbed_nano:nanorp2040connect,0,0.0,0,0.0,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:mkrgsm1400,48,0.02,0,0.0,64,0.02,0,0.0,48,0.02,0,0.0,48,0.02,0,0.0,,,,
arduino:samd:mkrnb1500,8,0.0,8,0.02,8,0.0,8,0.02,8,0.0,8,0.02,8,0.0,8,0.02,,,,
arduino:samd:mkrwan1300,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,,,,,,,,
arduino:samd:mkrwifi1010,48,0.02,8,0.02,64,0.02,0,0.0,48,0.02,0,0.0,48,0.02,0,0.0,0,0.0,0,0.0
arduino:samd:nano_33_iot,48,0.02,8,0.02,64,0.02,0,0.0,48,0.02,0,0.0,48,0.02,0,0.0,0,0.0,0,0.0
esp32:esp32:esp32,4,0.0,0,0.0,4,0.0,8,0.0,8,0.0,8,0.0,,,,,,,,
esp8266:esp8266:huzzah,0,0.0,16,0.02,0,0.0,0,0.0,16,0.0,0,0.0,,,,,,,,

@pennam pennam requested a review from aentinger October 26, 2021 07:51
Copy link
Contributor

@aentinger aentinger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍 A couple of suggestions concerning naming and overall code consistency.

@pennam
Copy link
Collaborator Author

pennam commented Oct 27, 2021

Thanks @aentinger i will definitely implement your suggestions to avoid code style mish mash and improve clarity.

@github-actions
Copy link

Memory usage change @ 9ac60f8

Board flash % RAM for global variables %
arduino:mbed:envie_m4 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:mbed:envie_m7 🔺 0 - +64 0.0 - +0.01 0 - 0 0.0 - 0.0
arduino:mbed_nano:nanorp2040connect 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkr1000 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrgsm1400 🔺 +48 - +64 +0.02 - +0.02 0 - 0 0.0 - 0.0
arduino:samd:mkrnb1500 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwan1300 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwifi1010 🔺 0 - +56 0.0 - +0.02 🔺 0 - +8 0.0 - +0.02
arduino:samd:nano_33_iot 🔺 0 - +56 0.0 - +0.02 🔺 0 - +8 0.0 - +0.02
esp32:esp32:esp32 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
esp8266:esp8266:huzzah 0 - 0 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/utility/ArduinoIoTCloud_Travis_CI
flash
% examples/utility/ArduinoIoTCloud_Travis_CI
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:mbed:envie_m4 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 64 0.01 0 0.0 64 0.01 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0
arduino:mbed_nano:nanorp2040connect 0 0.0 0 0.0 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:mkr1000 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:mkrgsm1400 48 0.02 0 0.0 64 0.02 0 0.0 48 0.02 0 0.0 48 0.02 0 0.0
arduino:samd:mkrnb1500 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:mkrwan1300 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0
arduino:samd:mkrwifi1010 40 0.02 8 0.02 56 0.02 0 0.0 48 0.02 0 0.0 48 0.02 0 0.0 0 0.0 0 0.0
arduino:samd:nano_33_iot 40 0.02 8 0.02 56 0.02 0 0.0 48 0.02 0 0.0 40 0.02 0 0.0 0 0.0 0 0.0
esp32:esp32:esp32 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0
esp8266:esp8266:huzzah 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/ArduinoIoTCloud-Advanced<br>flash,%,examples/ArduinoIoTCloud-Advanced<br>RAM for global variables,%,examples/ArduinoIoTCloud-Basic<br>flash,%,examples/ArduinoIoTCloud-Basic<br>RAM for global variables,%,examples/utility/ArduinoIoTCloud_Travis_CI<br>flash,%,examples/utility/ArduinoIoTCloud_Travis_CI<br>RAM for global variables,%,examples/utility/Provisioning<br>flash,%,examples/utility/Provisioning<br>RAM for global variables,%,examples/utility/SelfProvisioning<br>flash,%,examples/utility/SelfProvisioning<br>RAM for global variables,%
arduino:mbed:envie_m4,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,64,0.01,0,0.0,64,0.01,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0
arduino:mbed_nano:nanorp2040connect,0,0.0,0,0.0,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:mkr1000,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:mkrgsm1400,48,0.02,0,0.0,64,0.02,0,0.0,48,0.02,0,0.0,48,0.02,0,0.0,,,,
arduino:samd:mkrnb1500,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:mkrwan1300,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,,,,,,,,
arduino:samd:mkrwifi1010,40,0.02,8,0.02,56,0.02,0,0.0,48,0.02,0,0.0,48,0.02,0,0.0,0,0.0,0,0.0
arduino:samd:nano_33_iot,40,0.02,8,0.02,56,0.02,0,0.0,48,0.02,0,0.0,40,0.02,0,0.0,0,0.0,0,0.0
esp32:esp32:esp32,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,,,,,,,,
esp8266:esp8266:huzzah,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,,,,,,,,

@pennam pennam requested a review from aentinger October 27, 2021 13:06
Copy link
Contributor

@aentinger aentinger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍 Thank you for your changes 👍

@pennam
Copy link
Collaborator Author

pennam commented Nov 4, 2021

rebased on master

@pennam pennam merged commit ab0af75 into arduino-libraries:master Nov 4, 2021
@per1234 per1234 added the topic: code Related to content of the project itself label Jan 15, 2022
@pennam pennam deleted the deferred_ota branch May 17, 2024 09:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: code Related to content of the project itself
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants