@alteriom/painlessmesh 1.7.4 → 1.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1736) hide show
  1. package/CHANGELOG.md +519 -473
  2. package/LICENSE +674 -674
  3. package/README.md +491 -491
  4. package/RELEASE_GUIDE.md +504 -504
  5. package/docs/DOCUMENTATION_MIGRATION_PLAN.md +175 -175
  6. package/docs/IMPLEMENTATION_PLAN_MESH_TOPOLOGY.md +1062 -1062
  7. package/docs/MESH_TOPOLOGY_GUIDE.md +992 -992
  8. package/docs/MESH_TOPOLOGY_PROGRESS.md +422 -422
  9. package/docs/MQTT_BRIDGE_COMMANDS.md +894 -894
  10. package/docs/MQTT_BRIDGE_IMPLEMENTATION_SUMMARY.md +324 -324
  11. package/docs/MQTT_COMMAND_SCHEMA_PROPOSAL.md +576 -576
  12. package/docs/MQTT_SCHEMA_COMPLIANCE.md +285 -285
  13. package/docs/MQTT_SCHEMA_PROPOSALS.md +446 -446
  14. package/docs/MQTT_SCHEMA_REVIEW.md +690 -690
  15. package/docs/OTA_COMMANDS_REFERENCE.md +554 -554
  16. package/docs/PHASE1_GUIDE.md +349 -349
  17. package/docs/PHASE2_GUIDE.md +543 -543
  18. package/docs/README.md +130 -130
  19. package/docs/SCHEMA_VALIDATION_CHECKLIST.md +222 -222
  20. package/docs/alteriom/overview.md +507 -507
  21. package/docs/api/core-api.md +606 -606
  22. package/docs/architecture/mesh-architecture.md +378 -378
  23. package/docs/architecture/plugin-system.md +516 -516
  24. package/docs/archive/DOCUSAURUS_DEPLOYMENT.md +165 -165
  25. package/docs/archive/FEATURE_PROPOSALS.md +337 -337
  26. package/docs/archive/LIBRARY_JSON_FIX.md +98 -98
  27. package/docs/archive/LIBRARY_STRUCTURE_FIX.md +215 -215
  28. package/docs/archive/PHASE1_IMPLEMENTATION.md +325 -325
  29. package/docs/archive/PHASE2_IMPLEMENTATION.md +567 -567
  30. package/docs/archive/RELEASE_SUMMARY.md +172 -172
  31. package/docs/archive/SCONS_BUILD_FIX.md +313 -313
  32. package/docs/archive/TRIGGER_RELEASE.md +279 -279
  33. package/docs/archive/VECTOR_INCLUDE_FIX.md +129 -129
  34. package/docs/archive/ota-and-status-enhancements.md +911 -911
  35. package/docs/archive/ota-status-architecture-diagrams.md +658 -658
  36. package/docs/archive/ota-status-quick-reference.md +284 -284
  37. package/docs/development/ARDUINO_COMPLIANCE_SUMMARY.md +70 -70
  38. package/docs/development/CODE_REFACTORING_RECOMMENDATIONS.md +1011 -1011
  39. package/docs/development/DOCKER_TESTING.md +196 -196
  40. package/docs/development/PLATFORMIO_USAGE.md +180 -180
  41. package/docs/development/TESTING_SUMMARY.md +126 -126
  42. package/docs/development/contributing.md +301 -301
  43. package/docs/development/documentation.md +583 -583
  44. package/docs/getting-started/first-mesh.md +409 -409
  45. package/docs/getting-started/installation.md +274 -274
  46. package/docs/getting-started/quickstart.md +157 -157
  47. package/docs/improvements/FUTURE_PROPOSALS.md +1016 -1016
  48. package/docs/improvements/IMPLEMENTATION_HISTORY.md +1091 -1091
  49. package/docs/improvements/OTA_STATUS_ENHANCEMENTS.md +709 -709
  50. package/docs/improvements/README.md +211 -211
  51. package/docs/platformio-publishing.md +254 -254
  52. package/docs/platformio-setup-summary.md +120 -120
  53. package/docs/releases/FEATURE_HISTORY.md +543 -543
  54. package/docs/releases/PATCH_v1.7.2.md +262 -262
  55. package/docs/releases/PATCH_v1.7.3.md +262 -262
  56. package/docs/releases/PATCH_v1.7.4.md +219 -219
  57. package/docs/releases/PHASE1_SUMMARY.md +246 -246
  58. package/docs/releases/PHASE2_SUMMARY.md +499 -499
  59. package/docs/releases/RELEASE_CHECKLIST_v1.7.4.md +253 -253
  60. package/docs/releases/RELEASE_NOTES_1.7.0.md +539 -539
  61. package/docs/releases/RELEASE_SUMMARY_v1.7.4.md +276 -276
  62. package/docs/releases/RELEASE_SUMMARY_v1.7.5.md +322 -0
  63. package/docs/troubleshooting/CRASH_QUICK_REF.md +93 -93
  64. package/docs/troubleshooting/FREERTOS_ASSERTION_FAILURE.md +288 -288
  65. package/docs/troubleshooting/FREERTOS_FIX_IMPLEMENTATION.md +267 -267
  66. package/docs/troubleshooting/QUICK_FIX_FREERTOS.md +164 -164
  67. package/docs/troubleshooting/SENSOR_NODE_CONNECTION_CRASH.md +264 -257
  68. package/docs/troubleshooting/common-issues.md +520 -520
  69. package/docs/troubleshooting/debugging.md +455 -455
  70. package/docs/troubleshooting/faq.md +472 -472
  71. package/docs/tutorials/basic-examples.md +717 -717
  72. package/docs/wiki/API-Reference.md +245 -245
  73. package/docs/wiki/Complete-Documentation.md +122 -122
  74. package/examples/alteriom/README.md +139 -139
  75. package/examples/alteriom/alteriom.ino +186 -186
  76. package/examples/alteriom/alteriom_sensor_package.hpp +240 -240
  77. package/examples/alteriom/platformio.ini +25 -24
  78. package/examples/alteriomImproved/alteriom_sensor_package.hpp +223 -223
  79. package/examples/alteriomImproved/improved_sensor_node.ino +247 -245
  80. package/examples/alteriomImproved/platformio.ini +31 -24
  81. package/examples/alteriomPhase1/alteriom_sensor_package.hpp +223 -223
  82. package/examples/alteriomPhase1/phase1_features.ino +242 -242
  83. package/examples/alteriomPhase1/platformio.ini +25 -24
  84. package/examples/alteriomPhase2/alteriom_sensor_package.hpp +223 -223
  85. package/examples/alteriomPhase2/phase2_features.ino +186 -186
  86. package/examples/alteriomPhase2/platformio.ini +25 -24
  87. package/examples/alteriomSensorNode/alteriom_sensor_node.ino +185 -183
  88. package/examples/alteriomSensorNode/alteriom_sensor_package.hpp +223 -223
  89. package/examples/alteriomSensorNode/platformio.ini +25 -24
  90. package/examples/basic/basic.ino +66 -66
  91. package/examples/basic/platformio.ini +26 -25
  92. package/examples/bridge/bridge.ino +51 -51
  93. package/examples/bridge/mesh_event_publisher.hpp +253 -253
  94. package/examples/bridge/mesh_topology_reporter.hpp +303 -303
  95. package/examples/bridge/mqtt_command_bridge.hpp +459 -459
  96. package/examples/bridge/mqtt_status_bridge.hpp +519 -519
  97. package/examples/bridge/platformio.ini +26 -25
  98. package/examples/echoNode/echoNode.ino +33 -33
  99. package/examples/echoNode/platformio.ini +26 -25
  100. package/examples/logClient/logClient.ino +109 -109
  101. package/examples/logClient/platformio.ini +26 -25
  102. package/examples/logServer/logServer.ino +81 -81
  103. package/examples/logServer/platformio.ini +26 -25
  104. package/examples/meshCommandNode/alteriom_sensor_package.hpp +234 -234
  105. package/examples/meshCommandNode/meshCommandNode.ino +265 -263
  106. package/examples/meshCommandNode/platformio.ini +26 -25
  107. package/examples/mqttBridge/mqttBridge.ino +118 -118
  108. package/examples/mqttBridge/platformio.ini +27 -26
  109. package/examples/mqttCommandBridge/alteriom_sensor_package.hpp +234 -234
  110. package/examples/mqttCommandBridge/mesh_event_publisher.hpp +253 -253
  111. package/examples/mqttCommandBridge/mesh_topology_reporter.hpp +303 -303
  112. package/examples/mqttCommandBridge/mqttCommandBridge.ino +254 -252
  113. package/examples/mqttCommandBridge/mqtt_command_bridge.hpp +462 -462
  114. package/examples/mqttCommandBridge/platformio.ini +27 -26
  115. package/examples/mqttStatusBridge/mqttStatusBridge.ino +218 -216
  116. package/examples/mqttStatusBridge/mqtt_status_bridge.hpp +522 -522
  117. package/examples/mqttStatusBridge/platformio.ini +27 -26
  118. package/examples/mqttTopologyTest/README.md +467 -467
  119. package/examples/mqttTopologyTest/mqttTopologyTest.ino +750 -748
  120. package/examples/mqttTopologyTest/platformio.ini +27 -26
  121. package/examples/namedMesh/namedMesh.ino +97 -97
  122. package/examples/namedMesh/platformio.ini +26 -25
  123. package/examples/otaReceiver/otaReceiver.ino +79 -79
  124. package/examples/otaReceiver/platformio.ini +26 -25
  125. package/examples/otaSender/otaSender.ino +160 -160
  126. package/examples/otaSender/platformio.ini +26 -25
  127. package/examples/startHere/platformio.ini +26 -25
  128. package/examples/startHere/startHere.ino +159 -159
  129. package/examples/webServer/platformio.ini +28 -27
  130. package/examples/webServer/webServer.ino +89 -89
  131. package/keywords.txt +48 -48
  132. package/library.json +55 -55
  133. package/library.properties +10 -10
  134. package/package.json +86 -86
  135. package/src/AlteriomPainlessMesh.h +97 -97
  136. package/src/arduino/wifi.hpp +365 -365
  137. package/src/boost/asynctcp.hpp +279 -279
  138. package/src/painlessMesh.h +70 -70
  139. package/src/painlessMeshSTA.cpp +236 -236
  140. package/src/painlessMeshSTA.h +58 -58
  141. package/src/painlessTaskOptions.h +19 -11
  142. package/src/painlessmesh/base64.hpp +111 -111
  143. package/src/painlessmesh/buffer.hpp +229 -229
  144. package/src/painlessmesh/callback.hpp +91 -91
  145. package/src/painlessmesh/configuration.hpp +77 -77
  146. package/src/painlessmesh/connection.hpp +192 -192
  147. package/src/painlessmesh/layout.hpp +188 -188
  148. package/src/painlessmesh/logger.hpp +158 -158
  149. package/src/painlessmesh/memory.hpp +119 -119
  150. package/src/painlessmesh/mesh.hpp +772 -772
  151. package/src/painlessmesh/metrics.hpp +322 -322
  152. package/src/painlessmesh/ntp.hpp +263 -263
  153. package/src/painlessmesh/ota.hpp +582 -582
  154. package/src/painlessmesh/plugin.hpp +188 -188
  155. package/src/painlessmesh/protocol.hpp +813 -813
  156. package/src/painlessmesh/router.hpp +338 -338
  157. package/src/painlessmesh/scheduler_queue.cpp +77 -77
  158. package/src/painlessmesh/scheduler_queue.hpp +34 -34
  159. package/src/painlessmesh/tcp.hpp +71 -71
  160. package/src/painlessmesh/validation.hpp +238 -238
  161. package/src/plugin/performance.hpp +214 -214
  162. package/src/plugin/remote.hpp +64 -64
  163. package/src/scheduler.cpp +10 -10
  164. package/src/wifi.cpp +2 -2
  165. package/examples/alteriom/.pio/build/esp32/.sconsign311.dblite +0 -0
  166. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Esp.cpp.d +0 -146
  167. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Esp.cpp.o +0 -0
  168. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/FirmwareMSC.cpp.d +0 -5
  169. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/FirmwareMSC.cpp.o +0 -0
  170. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/FunctionalInterrupt.cpp.d +0 -137
  171. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/FunctionalInterrupt.cpp.o +0 -0
  172. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/HWCDC.cpp.d +0 -4
  173. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/HWCDC.cpp.o +0 -0
  174. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/HardwareSerial.cpp.d +0 -138
  175. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/HardwareSerial.cpp.o +0 -0
  176. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/IPAddress.cpp.d +0 -137
  177. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/IPAddress.cpp.o +0 -0
  178. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/IPv6Address.cpp.d +0 -138
  179. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/IPv6Address.cpp.o +0 -0
  180. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/MD5Builder.cpp.d +0 -138
  181. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/MD5Builder.cpp.o +0 -0
  182. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Print.cpp.d +0 -136
  183. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Print.cpp.o +0 -0
  184. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Stream.cpp.d +0 -136
  185. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Stream.cpp.o +0 -0
  186. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/StreamString.cpp.d +0 -137
  187. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/StreamString.cpp.o +0 -0
  188. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Tone.cpp.d +0 -136
  189. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Tone.cpp.o +0 -0
  190. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/USB.cpp.d +0 -4
  191. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/USB.cpp.o +0 -0
  192. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/USBCDC.cpp.d +0 -4
  193. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/USBCDC.cpp.o +0 -0
  194. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/USBMSC.cpp.d +0 -4
  195. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/USBMSC.cpp.o +0 -0
  196. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/WMath.cpp.d +0 -18
  197. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/WMath.cpp.o +0 -0
  198. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/WString.cpp.d +0 -136
  199. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/WString.cpp.o +0 -0
  200. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/base64.cpp.d +0 -139
  201. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/base64.cpp.o +0 -0
  202. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/cbuf.cpp.d +0 -3
  203. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/cbuf.cpp.o +0 -0
  204. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-adc.c.d +0 -110
  205. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-adc.c.o +0 -0
  206. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-bt.c.d +0 -107
  207. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-bt.c.o +0 -0
  208. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-cpu.c.d +0 -123
  209. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-cpu.c.o +0 -0
  210. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-dac.c.d +0 -108
  211. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-dac.c.o +0 -0
  212. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-gpio.c.d +0 -122
  213. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-gpio.c.o +0 -0
  214. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-i2c-slave.c.d +0 -92
  215. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-i2c-slave.c.o +0 -0
  216. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-i2c.c.d +0 -114
  217. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-i2c.c.o +0 -0
  218. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-ledc.c.d +0 -108
  219. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-ledc.c.o +0 -0
  220. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-matrix.c.d +0 -105
  221. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-matrix.c.o +0 -0
  222. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-misc.c.d +0 -136
  223. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-misc.c.o +0 -0
  224. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-psram.c.d +0 -104
  225. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-psram.c.o +0 -0
  226. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-rgb-led.c.d +0 -104
  227. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-rgb-led.c.o +0 -0
  228. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-rmt.c.d +0 -108
  229. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-rmt.c.o +0 -0
  230. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-sigmadelta.c.d +0 -109
  231. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-sigmadelta.c.o +0 -0
  232. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-spi.c.d +0 -122
  233. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-spi.c.o +0 -0
  234. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-time.c.d +0 -145
  235. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-time.c.o +0 -0
  236. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-timer.c.d +0 -110
  237. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-timer.c.o +0 -0
  238. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-tinyusb.c.d +0 -3
  239. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-tinyusb.c.o +0 -0
  240. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-touch.c.d +0 -107
  241. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-touch.c.o +0 -0
  242. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-uart.c.d +0 -121
  243. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-uart.c.o +0 -0
  244. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/firmware_msc_fat.c.d +0 -3
  245. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/firmware_msc_fat.c.o +0 -0
  246. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/libb64/cdecode.c.d +0 -3
  247. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/libb64/cdecode.c.o +0 -0
  248. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/libb64/cencode.c.d +0 -3
  249. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/libb64/cencode.c.o +0 -0
  250. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/main.cpp.d +0 -139
  251. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/main.cpp.o +0 -0
  252. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/stdlib_noniso.c.d +0 -12
  253. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/stdlib_noniso.c.o +0 -0
  254. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/wiring_pulse.c.d +0 -111
  255. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/wiring_pulse.c.o +0 -0
  256. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/wiring_shift.c.d +0 -111
  257. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/wiring_shift.c.o +0 -0
  258. package/examples/alteriom/.pio/build/esp32/bootloader.bin +0 -0
  259. package/examples/alteriom/.pio/build/esp32/firmware.bin +0 -0
  260. package/examples/alteriom/.pio/build/esp32/firmware.elf +0 -0
  261. package/examples/alteriom/.pio/build/esp32/firmware.map +0 -102570
  262. package/examples/alteriom/.pio/build/esp32/lib373/LittleFS/LittleFS.cpp.d +0 -142
  263. package/examples/alteriom/.pio/build/esp32/lib373/LittleFS/LittleFS.cpp.o +0 -0
  264. package/examples/alteriom/.pio/build/esp32/lib373/libLittleFS.a +0 -0
  265. package/examples/alteriom/.pio/build/esp32/lib399/TaskScheduler/TaskScheduler.cpp.d +0 -2
  266. package/examples/alteriom/.pio/build/esp32/lib399/TaskScheduler/TaskScheduler.cpp.o +0 -0
  267. package/examples/alteriom/.pio/build/esp32/lib399/libTaskScheduler.a +0 -0
  268. package/examples/alteriom/.pio/build/esp32/lib4f2/FS/FS.cpp.d +0 -138
  269. package/examples/alteriom/.pio/build/esp32/lib4f2/FS/FS.cpp.o +0 -0
  270. package/examples/alteriom/.pio/build/esp32/lib4f2/FS/vfs_api.cpp.d +0 -139
  271. package/examples/alteriom/.pio/build/esp32/lib4f2/FS/vfs_api.cpp.o +0 -0
  272. package/examples/alteriom/.pio/build/esp32/lib4f2/libFS.a +0 -0
  273. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFi.cpp.d +0 -203
  274. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFi.cpp.o +0 -0
  275. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiAP.cpp.d +0 -204
  276. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiAP.cpp.o +0 -0
  277. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiClient.cpp.d +0 -209
  278. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiClient.cpp.o +0 -0
  279. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiGeneric.cpp.d +0 -206
  280. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiGeneric.cpp.o +0 -0
  281. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiMulti.cpp.d +0 -199
  282. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiMulti.cpp.o +0 -0
  283. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiSTA.cpp.d +0 -206
  284. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiSTA.cpp.o +0 -0
  285. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiScan.cpp.d +0 -204
  286. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiScan.cpp.o +0 -0
  287. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiServer.cpp.d +0 -172
  288. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiServer.cpp.o +0 -0
  289. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiUdp.cpp.d +0 -171
  290. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiUdp.cpp.o +0 -0
  291. package/examples/alteriom/.pio/build/esp32/lib71a/libWiFi.a +0 -0
  292. package/examples/alteriom/.pio/build/esp32/lib7d0/AsyncTCP/AsyncTCP.cpp.d +0 -189
  293. package/examples/alteriom/.pio/build/esp32/lib7d0/AsyncTCP/AsyncTCP.cpp.o +0 -0
  294. package/examples/alteriom/.pio/build/esp32/lib7d0/libAsyncTCP.a +0 -0
  295. package/examples/alteriom/.pio/build/esp32/lib837/libsrc.a +0 -0
  296. package/examples/alteriom/.pio/build/esp32/lib837/src/painlessMeshSTA.cpp.d +0 -229
  297. package/examples/alteriom/.pio/build/esp32/lib837/src/painlessMeshSTA.cpp.o +0 -0
  298. package/examples/alteriom/.pio/build/esp32/lib837/src/scheduler.cpp.d +0 -139
  299. package/examples/alteriom/.pio/build/esp32/lib837/src/scheduler.cpp.o +0 -0
  300. package/examples/alteriom/.pio/build/esp32/lib837/src/wifi.cpp.d +0 -227
  301. package/examples/alteriom/.pio/build/esp32/lib837/src/wifi.cpp.o +0 -0
  302. package/examples/alteriom/.pio/build/esp32/lib97a/SPIFFS/SPIFFS.cpp.d +0 -142
  303. package/examples/alteriom/.pio/build/esp32/lib97a/SPIFFS/SPIFFS.cpp.o +0 -0
  304. package/examples/alteriom/.pio/build/esp32/lib97a/libSPIFFS.a +0 -0
  305. package/examples/alteriom/.pio/build/esp32/libFrameworkArduino.a +0 -0
  306. package/examples/alteriom/.pio/build/esp32/libf48/Update/HttpsOTAUpdate.cpp.d +0 -120
  307. package/examples/alteriom/.pio/build/esp32/libf48/Update/HttpsOTAUpdate.cpp.o +0 -0
  308. package/examples/alteriom/.pio/build/esp32/libf48/Update/Updater.cpp.d +0 -144
  309. package/examples/alteriom/.pio/build/esp32/libf48/Update/Updater.cpp.o +0 -0
  310. package/examples/alteriom/.pio/build/esp32/libf48/libUpdate.a +0 -0
  311. package/examples/alteriom/.pio/build/esp32/partitions.bin +0 -0
  312. package/examples/alteriom/.pio/build/esp32/src/alteriom.ino.cpp.d +0 -240
  313. package/examples/alteriom/.pio/build/esp32/src/alteriom.ino.cpp.o +0 -0
  314. package/examples/alteriom/.pio/build/esp32/tmprz74bdta.tmp +0 -1
  315. package/examples/alteriom/.pio/build/esp32/tmps5iu5vvf.tmp +0 -1
  316. package/examples/alteriom/.pio/build/esp32/tmptxf7cu25.tmp +0 -1
  317. package/examples/alteriom/.pio/build/esp32/tmpuwwn0jz2.tmp +0 -1
  318. package/examples/alteriom/.pio/build/esp32/tmpz4zb75rq.tmp +0 -1
  319. package/examples/alteriom/.pio/build/esp8266/.sconsign311.dblite +0 -0
  320. package/examples/alteriom/.pio/build/esp8266/FrameworkArduino/Crypto.cpp.o +0 -0
  321. package/examples/alteriom/.pio/build/esp8266/FrameworkArduino/Esp-frag.cpp.o +0 -0
  322. package/examples/alteriom/.pio/build/esp8266/FrameworkArduino/Esp-version.cpp.o +0 -0
  323. package/examples/alteriom/.pio/build/esp8266/ld/local.eagle.app.v6.common.ld +0 -285
  324. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/CertStoreBearSSL.cpp.o +0 -0
  325. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFi.cpp.o +0 -0
  326. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiAP.cpp.o +0 -0
  327. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o +0 -0
  328. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiGratuitous.cpp.o +0 -0
  329. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiSTA-WPS.cpp.o +0 -0
  330. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiScan.cpp.o +0 -0
  331. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiClient.cpp.o +0 -0
  332. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiClientSecureBearSSL.cpp.o +0 -0
  333. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiServerSecureBearSSL.cpp.o +0 -0
  334. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiUdp.cpp.o +0 -0
  335. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/enable_wifi_at_boot_time.cpp.o +0 -0
  336. package/examples/alteriom/.pio/build/esp8266/lib837/src/painlessMeshSTA.cpp.o +0 -0
  337. package/examples/alteriom/.pio/build/esp8266/lib837/src/scheduler.cpp.o +0 -0
  338. package/examples/alteriom/.pio/build/esp8266/lib837/src/wifi.cpp.o +0 -0
  339. package/examples/alteriom/.pio/build/esp8266/lib875/TaskScheduler/TaskScheduler.cpp.o +0 -0
  340. package/examples/alteriom/.pio/build/esp8266/lib875/libTaskScheduler.a +0 -0
  341. package/examples/alteriom/.pio/build/esp8266/libFrameworkArduinoVariant.a +0 -1
  342. package/examples/alteriom/.pio/build/esp8266/libdb3/LittleFS/LittleFS.cpp.o +0 -0
  343. package/examples/alteriom/.pio/build/esp8266/libdb3/LittleFS/lfs_util.c.o +0 -0
  344. package/examples/alteriom/.pio/build/esp8266/libf33/ESPAsyncTCP/AsyncPrinter.cpp.o +0 -0
  345. package/examples/alteriom/.pio/build/esp8266/libf33/ESPAsyncTCP/ESPAsyncTCP.cpp.o +0 -0
  346. package/examples/alteriom/.pio/build/esp8266/libf33/ESPAsyncTCP/ESPAsyncTCPbuffer.cpp.o +0 -0
  347. package/examples/alteriom/.pio/build/esp8266/libf33/ESPAsyncTCP/SyncClient.cpp.o +0 -0
  348. package/examples/alteriom/.pio/build/esp8266/libf33/ESPAsyncTCP/tcp_axtls.c.o +0 -0
  349. package/examples/alteriom/.pio/build/esp8266/src/alteriom.ino.cpp.o +0 -0
  350. package/examples/alteriom/.pio/build/project.checksum +0 -1
  351. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/.piopm +0 -1
  352. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/ArduinoJson.h +0 -5
  353. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/LICENSE.txt +0 -10
  354. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/README.md +0 -153
  355. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonConfigFile/JsonConfigFile.ino +0 -152
  356. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonFilterExample/JsonFilterExample.ino +0 -64
  357. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonGeneratorExample/JsonGeneratorExample.ino +0 -65
  358. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonHttpClient/JsonHttpClient.ino +0 -125
  359. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonParserExample/JsonParserExample.ino +0 -65
  360. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonServer/JsonServer.ino +0 -118
  361. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonUdpBeacon/JsonUdpBeacon.ino +0 -106
  362. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/MsgPackParser/MsgPackParser.ino +0 -61
  363. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/ProgmemExample/ProgmemExample.ino +0 -63
  364. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/StringExample/StringExample.ino +0 -76
  365. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/library.json +0 -23
  366. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/library.properties +0 -11
  367. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp +0 -66
  368. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp +0 -79
  369. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp +0 -75
  370. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp +0 -219
  371. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp +0 -133
  372. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArrayIterator.hpp +0 -96
  373. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp +0 -112
  374. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp +0 -122
  375. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp +0 -137
  376. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Configuration.hpp +0 -285
  377. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp +0 -106
  378. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationOptions.hpp +0 -35
  379. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp +0 -77
  380. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp +0 -32
  381. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp +0 -74
  382. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp +0 -30
  383. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp +0 -18
  384. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp +0 -56
  385. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp +0 -42
  386. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp +0 -49
  387. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp +0 -29
  388. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp +0 -19
  389. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp +0 -79
  390. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp +0 -426
  391. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp +0 -40
  392. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp +0 -720
  393. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp +0 -165
  394. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Latch.hpp +0 -56
  395. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp +0 -110
  396. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp +0 -177
  397. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp +0 -67
  398. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp +0 -46
  399. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp +0 -60
  400. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/Allocator.hpp +0 -49
  401. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/MemoryPool.hpp +0 -110
  402. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/MemoryPoolList.hpp +0 -214
  403. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/ResourceManager.hpp +0 -131
  404. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/ResourceManagerImpl.hpp +0 -52
  405. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringBuffer.hpp +0 -79
  406. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringBuilder.hpp +0 -88
  407. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringNode.hpp +0 -75
  408. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringPool.hpp +0 -102
  409. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp +0 -71
  410. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackBinary.hpp +0 -97
  411. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp +0 -487
  412. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackExtension.hpp +0 -120
  413. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp +0 -244
  414. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/endianness.hpp +0 -46
  415. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp +0 -18
  416. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Namespace.hpp +0 -42
  417. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp +0 -95
  418. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp +0 -212
  419. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/JsonFloat.hpp +0 -18
  420. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/JsonInteger.hpp +0 -28
  421. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp +0 -116
  422. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp +0 -145
  423. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp +0 -238
  424. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObject.hpp +0 -245
  425. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObjectConst.hpp +0 -166
  426. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObjectIterator.hpp +0 -83
  427. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonPair.hpp +0 -70
  428. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp +0 -77
  429. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/ObjectData.hpp +0 -70
  430. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp +0 -92
  431. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp +0 -30
  432. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp +0 -14
  433. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp +0 -45
  434. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp +0 -21
  435. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp +0 -34
  436. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp +0 -45
  437. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp +0 -27
  438. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp +0 -27
  439. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp +0 -144
  440. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp +0 -67
  441. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp +0 -33
  442. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp +0 -25
  443. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/decay.hpp +0 -33
  444. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp +0 -14
  445. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp +0 -23
  446. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/function_traits.hpp +0 -27
  447. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp +0 -22
  448. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp +0 -22
  449. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp +0 -27
  450. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp +0 -23
  451. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp +0 -18
  452. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp +0 -46
  453. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp +0 -22
  454. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp +0 -19
  455. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp +0 -32
  456. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp +0 -17
  457. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp +0 -18
  458. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp +0 -26
  459. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp +0 -24
  460. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp +0 -44
  461. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp +0 -24
  462. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_cv.hpp +0 -31
  463. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp +0 -24
  464. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp +0 -16
  465. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/void_t.hpp +0 -20
  466. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp +0 -27
  467. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp +0 -33
  468. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp +0 -33
  469. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp +0 -47
  470. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp +0 -55
  471. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp +0 -22
  472. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp +0 -29
  473. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp +0 -36
  474. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp +0 -32
  475. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp +0 -42
  476. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp +0 -20
  477. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp +0 -50
  478. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/FlashString.hpp +0 -93
  479. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/RamString.hpp +0 -118
  480. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/StringObject.hpp +0 -48
  481. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp +0 -19
  482. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/JsonString.hpp +0 -100
  483. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringAdapter.hpp +0 -47
  484. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp +0 -72
  485. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringTraits.hpp +0 -73
  486. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/Converter.hpp +0 -23
  487. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp +0 -406
  488. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariant.hpp +0 -78
  489. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantConst.hpp +0 -197
  490. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantCopier.hpp +0 -34
  491. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantVisitor.hpp +0 -61
  492. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantAttorney.hpp +0 -35
  493. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp +0 -211
  494. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp +0 -82
  495. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp +0 -609
  496. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantDataVisitor.hpp +0 -24
  497. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantImpl.hpp +0 -146
  498. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp +0 -188
  499. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantRefBase.hpp +0 -313
  500. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantRefBaseImpl.hpp +0 -175
  501. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp +0 -16
  502. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp +0 -34
  503. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/compatibility.hpp +0 -144
  504. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/version.hpp +0 -11
  505. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson.h +0 -17
  506. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson.hpp +0 -65
  507. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/CMakeLists.txt +0 -91
  508. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/.piopm +0 -1
  509. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/LICENSE +0 -165
  510. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/README.md +0 -55
  511. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/examples/AsyncSend/AsyncSend.ino +0 -169
  512. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/examples/Client/Client.ino +0 -87
  513. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/examples/FetchWebsite/FetchWebsite.ino +0 -107
  514. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/library.json +0 -31
  515. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/library.properties +0 -11
  516. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCP.cpp +0 -1612
  517. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCP.h +0 -335
  518. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCPLogging.h +0 -66
  519. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCPSimpleIntrusiveList.h +0 -134
  520. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCPVersion.h +0 -40
  521. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/.github/FUNDING.yml +0 -1
  522. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/.github/workflows/doxygen.yml +0 -310
  523. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/.github/workflows/main.yml +0 -309
  524. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/.github/workflows/test.yml +0 -523
  525. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/.piopm +0 -1
  526. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/LICENSE.txt +0 -27
  527. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/README.md +0 -157
  528. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example00_Blink/Scheduler_example00_Blink.ino +0 -303
  529. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example00_Blink_Namespace/Scheduler_example00_Blink_Namespace.ino +0 -302
  530. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example01/Scheduler_example01.ino +0 -84
  531. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example02/Scheduler_example02.ino +0 -78
  532. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example03/Scheduler_example03.ino +0 -80
  533. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example04_StatusRequest/Scheduler_example04_StatusRequest.ino +0 -90
  534. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example05_StatusRequest/Scheduler_example05_StatusRequest.ino +0 -181
  535. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example06_IDLE/Scheduler_example06_IDLE.ino +0 -117
  536. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example07_WDT/Scheduler_example07_WDT.ino +0 -133
  537. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example08_LTS/Scheduler_example08_LTS.ino +0 -147
  538. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example09_TimeCritical/Scheduler_example09_TimeCritical.ino +0 -57
  539. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example10_Benchmark/Scheduler_example10_Benchmark.ino +0 -106
  540. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example11_Priority/Scheduler_example11_Priority.ino +0 -105
  541. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example12_Priority/Scheduler_example12_Priority.ino +0 -136
  542. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example13_Micros/Scheduler_example13_Micros.ino +0 -71
  543. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example14_Yield/Scheduler_example14_Yield.ino +0 -339
  544. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example15_STDFunction/Scheduler_example15_STDFunction.ino +0 -53
  545. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/Scheduler_example16_Multitab.ino +0 -18
  546. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/file1.cpp +0 -31
  547. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/file2.cpp +0 -55
  548. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/header.hpp +0 -15
  549. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/ts.cpp +0 -20
  550. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example17_Timeout/Scheduler_example17_Timeout.ino +0 -90
  551. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example18_StatusRequest_LTS_WDT_Timeout/Scheduler_example18_StatusRequest_LTS_WDT_Timeout.ino +0 -172
  552. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks/Scheduler_example19_Dynamic_Tasks.ino +0 -137
  553. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_SelfDestruct/Scheduler_example19_Dynamic_Tasks_SelfDestruct.ino +0 -130
  554. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_stdQueue/Scheduler_example19_Dynamic_Tasks_stdQueue.ino +0 -137
  555. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object.ino +0 -185
  556. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.cpp +0 -36
  557. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.h +0 -25
  558. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.cpp +0 -66
  559. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.h +0 -34
  560. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Scheduler_example21_OO_Callbacks.ino +0 -76
  561. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.cpp +0 -83
  562. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.h +0 -44
  563. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.cpp +0 -21
  564. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.h +0 -28
  565. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example23_IDLE_Callback/Scheduler_example23_IDLE_Callback.ino +0 -157
  566. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example24_CPU_LOAD/Scheduler_example24_CPU_LOAD.ino +0 -87
  567. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example25_SCHEDULER_CHAIN/Scheduler_example25_SCHEDULER_CHAIN.ino +0 -127
  568. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example26_SCHEDULING_OPTIONS/Scheduler_example26_SCHEDULING_OPTIONS.ino +0 -181
  569. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/README +0 -39
  570. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/led.h +0 -12
  571. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/main.h +0 -25
  572. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/lib/README +0 -46
  573. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/platformio.ini +0 -37
  574. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/led.cpp +0 -11
  575. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/main.cpp +0 -254
  576. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/test/README +0 -11
  577. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example28_Tickless/Scheduler_example28_Tickless.ino +0 -105
  578. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/README +0 -39
  579. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/led.h +0 -12
  580. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/main.h +0 -27
  581. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/lib/README +0 -46
  582. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/platformio.ini +0 -38
  583. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/src/led.cpp +0 -13
  584. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/src/main.cpp +0 -267
  585. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/test/README +0 -11
  586. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/README.md +0 -232
  587. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/platformio.ini +0 -44
  588. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/src/main.cpp +0 -310
  589. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_template/Scheduler_template.ino +0 -166
  590. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/keywords.txt +0 -161
  591. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/library.json +0 -22
  592. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/library.properties +0 -9
  593. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/src/TScheduler.hpp +0 -29
  594. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/src/TSchedulerDeclarations.hpp +0 -29
  595. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/src/TaskScheduler.cpp +0 -3
  596. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/src/TaskScheduler.h +0 -1811
  597. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/src/TaskSchedulerDeclarations.h +0 -3096
  598. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/src/TaskSchedulerSleepMethods.h +0 -399
  599. package/examples/alteriom/.pio/libdeps/esp32/integrity.dat +0 -3
  600. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/.piopm +0 -1
  601. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/ArduinoJson.h +0 -5
  602. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/LICENSE.txt +0 -10
  603. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/README.md +0 -153
  604. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonConfigFile/JsonConfigFile.ino +0 -152
  605. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonFilterExample/JsonFilterExample.ino +0 -64
  606. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonGeneratorExample/JsonGeneratorExample.ino +0 -65
  607. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonHttpClient/JsonHttpClient.ino +0 -125
  608. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonParserExample/JsonParserExample.ino +0 -65
  609. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonServer/JsonServer.ino +0 -118
  610. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonUdpBeacon/JsonUdpBeacon.ino +0 -106
  611. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/MsgPackParser/MsgPackParser.ino +0 -61
  612. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/ProgmemExample/ProgmemExample.ino +0 -63
  613. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/StringExample/StringExample.ino +0 -76
  614. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/library.json +0 -23
  615. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/library.properties +0 -11
  616. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp +0 -66
  617. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp +0 -79
  618. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp +0 -75
  619. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp +0 -219
  620. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp +0 -133
  621. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/JsonArrayIterator.hpp +0 -96
  622. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp +0 -112
  623. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp +0 -122
  624. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp +0 -137
  625. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Configuration.hpp +0 -285
  626. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp +0 -106
  627. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationOptions.hpp +0 -35
  628. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp +0 -77
  629. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp +0 -32
  630. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp +0 -74
  631. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp +0 -30
  632. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp +0 -18
  633. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp +0 -56
  634. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp +0 -42
  635. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp +0 -49
  636. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp +0 -29
  637. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp +0 -19
  638. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp +0 -79
  639. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp +0 -426
  640. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp +0 -40
  641. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp +0 -720
  642. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp +0 -165
  643. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/Latch.hpp +0 -56
  644. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp +0 -110
  645. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp +0 -177
  646. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp +0 -67
  647. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp +0 -46
  648. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp +0 -60
  649. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/Allocator.hpp +0 -49
  650. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/MemoryPool.hpp +0 -110
  651. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/MemoryPoolList.hpp +0 -214
  652. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/ResourceManager.hpp +0 -131
  653. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/ResourceManagerImpl.hpp +0 -52
  654. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringBuffer.hpp +0 -79
  655. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringBuilder.hpp +0 -88
  656. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringNode.hpp +0 -75
  657. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringPool.hpp +0 -102
  658. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp +0 -71
  659. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackBinary.hpp +0 -97
  660. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp +0 -487
  661. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackExtension.hpp +0 -120
  662. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp +0 -244
  663. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/endianness.hpp +0 -46
  664. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp +0 -18
  665. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Namespace.hpp +0 -42
  666. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp +0 -95
  667. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp +0 -212
  668. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/JsonFloat.hpp +0 -18
  669. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/JsonInteger.hpp +0 -28
  670. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp +0 -116
  671. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp +0 -145
  672. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp +0 -238
  673. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonObject.hpp +0 -245
  674. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonObjectConst.hpp +0 -166
  675. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonObjectIterator.hpp +0 -83
  676. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonPair.hpp +0 -70
  677. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp +0 -77
  678. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/ObjectData.hpp +0 -70
  679. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp +0 -92
  680. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp +0 -30
  681. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp +0 -14
  682. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp +0 -45
  683. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp +0 -21
  684. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp +0 -34
  685. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp +0 -45
  686. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp +0 -27
  687. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp +0 -27
  688. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp +0 -144
  689. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp +0 -67
  690. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp +0 -33
  691. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp +0 -25
  692. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/decay.hpp +0 -33
  693. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp +0 -14
  694. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp +0 -23
  695. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/function_traits.hpp +0 -27
  696. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp +0 -22
  697. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp +0 -22
  698. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp +0 -27
  699. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp +0 -23
  700. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp +0 -18
  701. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp +0 -46
  702. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp +0 -22
  703. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp +0 -19
  704. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp +0 -32
  705. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp +0 -17
  706. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp +0 -18
  707. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp +0 -26
  708. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp +0 -24
  709. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp +0 -44
  710. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp +0 -24
  711. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_cv.hpp +0 -31
  712. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp +0 -24
  713. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp +0 -16
  714. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/void_t.hpp +0 -20
  715. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp +0 -27
  716. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp +0 -33
  717. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp +0 -33
  718. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp +0 -47
  719. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp +0 -55
  720. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp +0 -22
  721. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp +0 -29
  722. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp +0 -36
  723. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp +0 -32
  724. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp +0 -42
  725. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp +0 -20
  726. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp +0 -50
  727. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/Adapters/FlashString.hpp +0 -93
  728. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/Adapters/RamString.hpp +0 -118
  729. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/Adapters/StringObject.hpp +0 -48
  730. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp +0 -19
  731. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/JsonString.hpp +0 -100
  732. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/StringAdapter.hpp +0 -47
  733. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp +0 -72
  734. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/StringTraits.hpp +0 -73
  735. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/Converter.hpp +0 -23
  736. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp +0 -406
  737. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariant.hpp +0 -78
  738. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariantConst.hpp +0 -197
  739. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariantCopier.hpp +0 -34
  740. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariantVisitor.hpp +0 -61
  741. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantAttorney.hpp +0 -35
  742. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp +0 -211
  743. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp +0 -82
  744. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp +0 -609
  745. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantDataVisitor.hpp +0 -24
  746. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantImpl.hpp +0 -146
  747. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp +0 -188
  748. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantRefBase.hpp +0 -313
  749. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantRefBaseImpl.hpp +0 -175
  750. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp +0 -16
  751. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp +0 -34
  752. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/compatibility.hpp +0 -144
  753. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/version.hpp +0 -11
  754. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson.h +0 -17
  755. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson.hpp +0 -65
  756. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/CMakeLists.txt +0 -91
  757. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/install-arduino-core-esp8266.sh +0 -29
  758. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/install-arduino-ide.sh +0 -220
  759. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/install-platformio.sh +0 -133
  760. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/on-push.sh +0 -64
  761. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.github/stale.yml +0 -31
  762. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.github/workflows/push.yml +0 -30
  763. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.piopm +0 -1
  764. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/LICENSE.txt +0 -165
  765. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/README.md +0 -43
  766. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Client/Client.ino +0 -62
  767. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Client/config.h +0 -23
  768. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Server/Server.ino +0 -73
  769. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Server/config.h +0 -23
  770. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/examples/SyncClient/.esp31b.skip +0 -0
  771. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/examples/SyncClient/SyncClient.ino +0 -54
  772. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/library.json +0 -19
  773. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/library.properties +0 -10
  774. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/AsyncPrinter.cpp +0 -214
  775. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/AsyncPrinter.h +0 -73
  776. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/DebugPrintMacros.h +0 -112
  777. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCP.cpp +0 -1406
  778. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCP.h +0 -324
  779. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCPbuffer.cpp +0 -555
  780. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCPbuffer.h +0 -118
  781. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/SyncClient.cpp +0 -414
  782. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/SyncClient.h +0 -109
  783. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/async_config.h +0 -42
  784. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/tcp_axtls.c +0 -613
  785. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/tcp_axtls.h +0 -98
  786. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/ssl/gen_server_cert.sh +0 -36
  787. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/ssl/server.cer +0 -0
  788. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/ssl/server.key +0 -0
  789. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/.github/FUNDING.yml +0 -1
  790. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/.github/workflows/doxygen.yml +0 -310
  791. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/.github/workflows/main.yml +0 -309
  792. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/.github/workflows/test.yml +0 -523
  793. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/.piopm +0 -1
  794. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/LICENSE.txt +0 -27
  795. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/README.md +0 -157
  796. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example00_Blink/Scheduler_example00_Blink.ino +0 -303
  797. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example00_Blink_Namespace/Scheduler_example00_Blink_Namespace.ino +0 -302
  798. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example01/Scheduler_example01.ino +0 -84
  799. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example02/Scheduler_example02.ino +0 -78
  800. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example03/Scheduler_example03.ino +0 -80
  801. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example04_StatusRequest/Scheduler_example04_StatusRequest.ino +0 -90
  802. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example05_StatusRequest/Scheduler_example05_StatusRequest.ino +0 -181
  803. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example06_IDLE/Scheduler_example06_IDLE.ino +0 -117
  804. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example07_WDT/Scheduler_example07_WDT.ino +0 -133
  805. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example08_LTS/Scheduler_example08_LTS.ino +0 -147
  806. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example09_TimeCritical/Scheduler_example09_TimeCritical.ino +0 -57
  807. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example10_Benchmark/Scheduler_example10_Benchmark.ino +0 -106
  808. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example11_Priority/Scheduler_example11_Priority.ino +0 -105
  809. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example12_Priority/Scheduler_example12_Priority.ino +0 -136
  810. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example13_Micros/Scheduler_example13_Micros.ino +0 -71
  811. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example14_Yield/Scheduler_example14_Yield.ino +0 -339
  812. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example15_STDFunction/Scheduler_example15_STDFunction.ino +0 -53
  813. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/Scheduler_example16_Multitab.ino +0 -18
  814. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/file1.cpp +0 -31
  815. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/file2.cpp +0 -55
  816. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/header.hpp +0 -15
  817. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/ts.cpp +0 -20
  818. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example17_Timeout/Scheduler_example17_Timeout.ino +0 -90
  819. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example18_StatusRequest_LTS_WDT_Timeout/Scheduler_example18_StatusRequest_LTS_WDT_Timeout.ino +0 -172
  820. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks/Scheduler_example19_Dynamic_Tasks.ino +0 -137
  821. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_SelfDestruct/Scheduler_example19_Dynamic_Tasks_SelfDestruct.ino +0 -130
  822. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_stdQueue/Scheduler_example19_Dynamic_Tasks_stdQueue.ino +0 -137
  823. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object.ino +0 -185
  824. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.cpp +0 -36
  825. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.h +0 -25
  826. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.cpp +0 -66
  827. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.h +0 -34
  828. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Scheduler_example21_OO_Callbacks.ino +0 -76
  829. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.cpp +0 -83
  830. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.h +0 -44
  831. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.cpp +0 -21
  832. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.h +0 -28
  833. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example23_IDLE_Callback/Scheduler_example23_IDLE_Callback.ino +0 -157
  834. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example24_CPU_LOAD/Scheduler_example24_CPU_LOAD.ino +0 -87
  835. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example25_SCHEDULER_CHAIN/Scheduler_example25_SCHEDULER_CHAIN.ino +0 -127
  836. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example26_SCHEDULING_OPTIONS/Scheduler_example26_SCHEDULING_OPTIONS.ino +0 -181
  837. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/README +0 -39
  838. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/led.h +0 -12
  839. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/main.h +0 -25
  840. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/lib/README +0 -46
  841. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/platformio.ini +0 -37
  842. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/led.cpp +0 -11
  843. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/main.cpp +0 -254
  844. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/test/README +0 -11
  845. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example28_Tickless/Scheduler_example28_Tickless.ino +0 -105
  846. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/include/README +0 -39
  847. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/include/led.h +0 -12
  848. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/include/main.h +0 -27
  849. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/lib/README +0 -46
  850. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/platformio.ini +0 -38
  851. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/src/led.cpp +0 -13
  852. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/src/main.cpp +0 -267
  853. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/test/README +0 -11
  854. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/README.md +0 -232
  855. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/platformio.ini +0 -44
  856. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/src/main.cpp +0 -310
  857. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_template/Scheduler_template.ino +0 -166
  858. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/keywords.txt +0 -161
  859. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/library.json +0 -22
  860. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/library.properties +0 -9
  861. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/src/TScheduler.hpp +0 -29
  862. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/src/TSchedulerDeclarations.hpp +0 -29
  863. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/src/TaskScheduler.cpp +0 -3
  864. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/src/TaskScheduler.h +0 -1811
  865. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/src/TaskSchedulerDeclarations.h +0 -3096
  866. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/src/TaskSchedulerSleepMethods.h +0 -399
  867. package/examples/alteriom/.pio/libdeps/esp8266/integrity.dat +0 -3
  868. package/examples/basic/.pio/build/esp32/.sconsign311.dblite +0 -0
  869. package/examples/basic/.pio/build/esp32/bootloader.bin +0 -0
  870. package/examples/basic/.pio/build/esp32/lib241/TaskScheduler/TaskScheduler.cpp.d +0 -2
  871. package/examples/basic/.pio/build/esp32/lib241/TaskScheduler/TaskScheduler.cpp.o +0 -0
  872. package/examples/basic/.pio/build/esp32/lib241/libTaskScheduler.a +0 -0
  873. package/examples/basic/.pio/build/esp32/lib4f2/FS/FS.cpp.d +0 -138
  874. package/examples/basic/.pio/build/esp32/lib4f2/FS/FS.cpp.o +0 -0
  875. package/examples/basic/.pio/build/esp32/lib4f2/FS/vfs_api.cpp.d +0 -139
  876. package/examples/basic/.pio/build/esp32/lib4f2/FS/vfs_api.cpp.o +0 -0
  877. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFi.cpp.d +0 -203
  878. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFi.cpp.o +0 -0
  879. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiAP.cpp.d +0 -204
  880. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiAP.cpp.o +0 -0
  881. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiClient.cpp.d +0 -209
  882. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiClient.cpp.o +0 -0
  883. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiGeneric.cpp.d +0 -206
  884. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiGeneric.cpp.o +0 -0
  885. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiMulti.cpp.d +0 -199
  886. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiMulti.cpp.o +0 -0
  887. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiSTA.cpp.d +0 -206
  888. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiSTA.cpp.o +0 -0
  889. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiScan.cpp.d +0 -204
  890. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiScan.cpp.o +0 -0
  891. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiServer.cpp.d +0 -172
  892. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiServer.cpp.o +0 -0
  893. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiUdp.cpp.d +0 -171
  894. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiUdp.cpp.o +0 -0
  895. package/examples/basic/.pio/build/esp32/lib8c7/AsyncTCP/AsyncTCP.cpp.d +0 -189
  896. package/examples/basic/.pio/build/esp32/lib8c7/AsyncTCP/AsyncTCP.cpp.o +0 -0
  897. package/examples/basic/.pio/build/esp32/partitions.bin +0 -0
  898. package/examples/basic/.pio/build/esp32/src/basic.ino.cpp.d +0 -238
  899. package/examples/basic/.pio/build/esp32/src/basic.ino.cpp.o +0 -0
  900. package/examples/basic/.pio/build/esp8266/.sconsign311.dblite +0 -0
  901. package/examples/basic/.pio/build/esp8266/FrameworkArduino/Esp-frag.cpp.o +0 -0
  902. package/examples/basic/.pio/build/esp8266/FrameworkArduino/Esp-version.cpp.o +0 -0
  903. package/examples/basic/.pio/build/esp8266/FrameworkArduino/Esp.cpp.o +0 -0
  904. package/examples/basic/.pio/build/esp8266/FrameworkArduino/FS.cpp.o +0 -0
  905. package/examples/basic/.pio/build/esp8266/FrameworkArduino/FSnoop.cpp.o +0 -0
  906. package/examples/basic/.pio/build/esp8266/FrameworkArduino/FunctionalInterrupt.cpp.o +0 -0
  907. package/examples/basic/.pio/build/esp8266/ld/local.eagle.app.v6.common.ld +0 -285
  908. package/examples/basic/.pio/build/esp8266/lib5e7/TaskScheduler/TaskScheduler.cpp.o +0 -0
  909. package/examples/basic/.pio/build/esp8266/lib5e7/libTaskScheduler.a +0 -0
  910. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/BearSSLHelpers.cpp.o +0 -0
  911. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/CertStoreBearSSL.cpp.o +0 -0
  912. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFi.cpp.o +0 -0
  913. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiAP.cpp.o +0 -0
  914. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o +0 -0
  915. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiGratuitous.cpp.o +0 -0
  916. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiMulti.cpp.o +0 -0
  917. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiSTA-WPS.cpp.o +0 -0
  918. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiSTA.cpp.o +0 -0
  919. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiScan.cpp.o +0 -0
  920. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiClient.cpp.o +0 -0
  921. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiClientSecureBearSSL.cpp.o +0 -0
  922. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiServerSecureBearSSL.cpp.o +0 -0
  923. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiUdp.cpp.o +0 -0
  924. package/examples/basic/.pio/build/esp8266/lib837/src/scheduler.cpp.o +0 -0
  925. package/examples/basic/.pio/build/esp8266/libFrameworkArduinoVariant.a +0 -1
  926. package/examples/basic/.pio/build/esp8266/libdb3/LittleFS/LittleFS.cpp.o +0 -0
  927. package/examples/basic/.pio/build/esp8266/libdb3/LittleFS/lfs_util.c.o +0 -0
  928. package/examples/basic/.pio/build/esp8266/libf28/ESPAsyncTCP/AsyncPrinter.cpp.o +0 -0
  929. package/examples/basic/.pio/build/esp8266/libf28/ESPAsyncTCP/ESPAsyncTCP.cpp.o +0 -0
  930. package/examples/basic/.pio/build/esp8266/libf28/ESPAsyncTCP/ESPAsyncTCPbuffer.cpp.o +0 -0
  931. package/examples/basic/.pio/build/esp8266/libf28/ESPAsyncTCP/SyncClient.cpp.o +0 -0
  932. package/examples/basic/.pio/build/esp8266/libf28/ESPAsyncTCP/tcp_axtls.c.o +0 -0
  933. package/examples/basic/.pio/build/esp8266/src/basic.ino.cpp.o +0 -0
  934. package/examples/basic/.pio/build/project.checksum +0 -1
  935. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/.piopm +0 -1
  936. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/ArduinoJson.h +0 -5
  937. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/LICENSE.txt +0 -10
  938. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/README.md +0 -153
  939. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonConfigFile/JsonConfigFile.ino +0 -152
  940. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonFilterExample/JsonFilterExample.ino +0 -64
  941. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonGeneratorExample/JsonGeneratorExample.ino +0 -65
  942. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonHttpClient/JsonHttpClient.ino +0 -125
  943. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonParserExample/JsonParserExample.ino +0 -65
  944. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonServer/JsonServer.ino +0 -118
  945. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonUdpBeacon/JsonUdpBeacon.ino +0 -106
  946. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/MsgPackParser/MsgPackParser.ino +0 -61
  947. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/ProgmemExample/ProgmemExample.ino +0 -63
  948. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/StringExample/StringExample.ino +0 -76
  949. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/library.json +0 -23
  950. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/library.properties +0 -11
  951. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp +0 -66
  952. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp +0 -79
  953. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp +0 -75
  954. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp +0 -219
  955. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp +0 -133
  956. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArrayIterator.hpp +0 -96
  957. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp +0 -112
  958. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp +0 -122
  959. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp +0 -137
  960. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Configuration.hpp +0 -285
  961. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp +0 -106
  962. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationOptions.hpp +0 -35
  963. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp +0 -77
  964. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp +0 -32
  965. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp +0 -74
  966. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp +0 -30
  967. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp +0 -18
  968. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp +0 -56
  969. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp +0 -42
  970. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp +0 -49
  971. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp +0 -29
  972. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp +0 -19
  973. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp +0 -79
  974. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp +0 -426
  975. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp +0 -40
  976. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp +0 -720
  977. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp +0 -165
  978. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Latch.hpp +0 -56
  979. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp +0 -110
  980. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp +0 -177
  981. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp +0 -67
  982. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp +0 -46
  983. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp +0 -60
  984. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/Allocator.hpp +0 -49
  985. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/MemoryPool.hpp +0 -110
  986. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/MemoryPoolList.hpp +0 -214
  987. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/ResourceManager.hpp +0 -131
  988. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/ResourceManagerImpl.hpp +0 -52
  989. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringBuffer.hpp +0 -79
  990. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringBuilder.hpp +0 -88
  991. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringNode.hpp +0 -75
  992. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringPool.hpp +0 -102
  993. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp +0 -71
  994. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackBinary.hpp +0 -97
  995. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp +0 -487
  996. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackExtension.hpp +0 -120
  997. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp +0 -244
  998. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/endianness.hpp +0 -46
  999. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp +0 -18
  1000. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Namespace.hpp +0 -42
  1001. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp +0 -95
  1002. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp +0 -212
  1003. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/JsonFloat.hpp +0 -18
  1004. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/JsonInteger.hpp +0 -28
  1005. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp +0 -116
  1006. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp +0 -145
  1007. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp +0 -238
  1008. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObject.hpp +0 -245
  1009. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObjectConst.hpp +0 -166
  1010. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObjectIterator.hpp +0 -83
  1011. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonPair.hpp +0 -70
  1012. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp +0 -77
  1013. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/ObjectData.hpp +0 -70
  1014. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp +0 -92
  1015. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp +0 -30
  1016. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp +0 -14
  1017. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp +0 -45
  1018. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp +0 -21
  1019. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp +0 -34
  1020. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp +0 -45
  1021. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp +0 -27
  1022. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp +0 -27
  1023. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp +0 -144
  1024. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp +0 -67
  1025. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp +0 -33
  1026. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp +0 -25
  1027. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/decay.hpp +0 -33
  1028. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp +0 -14
  1029. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp +0 -23
  1030. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/function_traits.hpp +0 -27
  1031. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp +0 -22
  1032. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp +0 -22
  1033. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp +0 -27
  1034. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp +0 -23
  1035. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp +0 -18
  1036. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp +0 -46
  1037. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp +0 -22
  1038. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp +0 -19
  1039. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp +0 -32
  1040. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp +0 -17
  1041. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp +0 -18
  1042. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp +0 -26
  1043. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp +0 -24
  1044. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp +0 -44
  1045. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp +0 -24
  1046. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_cv.hpp +0 -31
  1047. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp +0 -24
  1048. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp +0 -16
  1049. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/void_t.hpp +0 -20
  1050. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp +0 -27
  1051. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp +0 -33
  1052. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp +0 -33
  1053. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp +0 -47
  1054. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp +0 -55
  1055. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp +0 -22
  1056. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp +0 -29
  1057. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp +0 -36
  1058. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp +0 -32
  1059. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp +0 -42
  1060. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp +0 -20
  1061. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp +0 -50
  1062. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/FlashString.hpp +0 -93
  1063. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/RamString.hpp +0 -118
  1064. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/StringObject.hpp +0 -48
  1065. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp +0 -19
  1066. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/JsonString.hpp +0 -100
  1067. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringAdapter.hpp +0 -47
  1068. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp +0 -72
  1069. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringTraits.hpp +0 -73
  1070. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/Converter.hpp +0 -23
  1071. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp +0 -406
  1072. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariant.hpp +0 -78
  1073. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantConst.hpp +0 -197
  1074. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantCopier.hpp +0 -34
  1075. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantVisitor.hpp +0 -61
  1076. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantAttorney.hpp +0 -35
  1077. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp +0 -211
  1078. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp +0 -82
  1079. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp +0 -609
  1080. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantDataVisitor.hpp +0 -24
  1081. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantImpl.hpp +0 -146
  1082. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp +0 -188
  1083. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantRefBase.hpp +0 -313
  1084. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantRefBaseImpl.hpp +0 -175
  1085. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp +0 -16
  1086. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp +0 -34
  1087. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/compatibility.hpp +0 -144
  1088. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/version.hpp +0 -11
  1089. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson.h +0 -17
  1090. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson.hpp +0 -65
  1091. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/CMakeLists.txt +0 -91
  1092. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/.piopm +0 -1
  1093. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/LICENSE +0 -165
  1094. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/README.md +0 -55
  1095. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/examples/AsyncSend/AsyncSend.ino +0 -169
  1096. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/examples/Client/Client.ino +0 -87
  1097. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/examples/FetchWebsite/FetchWebsite.ino +0 -107
  1098. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/library.json +0 -31
  1099. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/library.properties +0 -11
  1100. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCP.cpp +0 -1612
  1101. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCP.h +0 -335
  1102. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCPLogging.h +0 -66
  1103. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCPSimpleIntrusiveList.h +0 -134
  1104. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCPVersion.h +0 -40
  1105. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/.github/FUNDING.yml +0 -1
  1106. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/.github/workflows/doxygen.yml +0 -310
  1107. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/.github/workflows/main.yml +0 -309
  1108. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/.github/workflows/test.yml +0 -523
  1109. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/.piopm +0 -1
  1110. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/LICENSE.txt +0 -27
  1111. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/README.md +0 -157
  1112. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example00_Blink/Scheduler_example00_Blink.ino +0 -303
  1113. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example00_Blink_Namespace/Scheduler_example00_Blink_Namespace.ino +0 -302
  1114. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example01/Scheduler_example01.ino +0 -84
  1115. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example02/Scheduler_example02.ino +0 -78
  1116. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example03/Scheduler_example03.ino +0 -80
  1117. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example04_StatusRequest/Scheduler_example04_StatusRequest.ino +0 -90
  1118. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example05_StatusRequest/Scheduler_example05_StatusRequest.ino +0 -181
  1119. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example06_IDLE/Scheduler_example06_IDLE.ino +0 -117
  1120. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example07_WDT/Scheduler_example07_WDT.ino +0 -133
  1121. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example08_LTS/Scheduler_example08_LTS.ino +0 -147
  1122. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example09_TimeCritical/Scheduler_example09_TimeCritical.ino +0 -57
  1123. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example10_Benchmark/Scheduler_example10_Benchmark.ino +0 -106
  1124. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example11_Priority/Scheduler_example11_Priority.ino +0 -105
  1125. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example12_Priority/Scheduler_example12_Priority.ino +0 -136
  1126. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example13_Micros/Scheduler_example13_Micros.ino +0 -71
  1127. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example14_Yield/Scheduler_example14_Yield.ino +0 -339
  1128. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example15_STDFunction/Scheduler_example15_STDFunction.ino +0 -53
  1129. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/Scheduler_example16_Multitab.ino +0 -18
  1130. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/file1.cpp +0 -31
  1131. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/file2.cpp +0 -55
  1132. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/header.hpp +0 -15
  1133. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/ts.cpp +0 -20
  1134. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example17_Timeout/Scheduler_example17_Timeout.ino +0 -90
  1135. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example18_StatusRequest_LTS_WDT_Timeout/Scheduler_example18_StatusRequest_LTS_WDT_Timeout.ino +0 -172
  1136. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks/Scheduler_example19_Dynamic_Tasks.ino +0 -137
  1137. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_SelfDestruct/Scheduler_example19_Dynamic_Tasks_SelfDestruct.ino +0 -130
  1138. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_stdQueue/Scheduler_example19_Dynamic_Tasks_stdQueue.ino +0 -137
  1139. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object.ino +0 -185
  1140. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.cpp +0 -36
  1141. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.h +0 -25
  1142. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.cpp +0 -66
  1143. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.h +0 -34
  1144. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Scheduler_example21_OO_Callbacks.ino +0 -76
  1145. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.cpp +0 -83
  1146. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.h +0 -44
  1147. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.cpp +0 -21
  1148. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.h +0 -28
  1149. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example23_IDLE_Callback/Scheduler_example23_IDLE_Callback.ino +0 -157
  1150. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example24_CPU_LOAD/Scheduler_example24_CPU_LOAD.ino +0 -87
  1151. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example25_SCHEDULER_CHAIN/Scheduler_example25_SCHEDULER_CHAIN.ino +0 -127
  1152. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example26_SCHEDULING_OPTIONS/Scheduler_example26_SCHEDULING_OPTIONS.ino +0 -181
  1153. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/README +0 -39
  1154. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/led.h +0 -12
  1155. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/main.h +0 -25
  1156. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/lib/README +0 -46
  1157. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/platformio.ini +0 -37
  1158. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/led.cpp +0 -11
  1159. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/main.cpp +0 -254
  1160. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/test/README +0 -11
  1161. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example28_Tickless/Scheduler_example28_Tickless.ino +0 -105
  1162. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/README +0 -39
  1163. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/led.h +0 -12
  1164. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/main.h +0 -27
  1165. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/lib/README +0 -46
  1166. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/platformio.ini +0 -38
  1167. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/src/led.cpp +0 -13
  1168. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/src/main.cpp +0 -267
  1169. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/test/README +0 -11
  1170. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/README.md +0 -232
  1171. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/platformio.ini +0 -44
  1172. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/src/main.cpp +0 -310
  1173. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_template/Scheduler_template.ino +0 -166
  1174. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/keywords.txt +0 -161
  1175. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/library.json +0 -22
  1176. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/library.properties +0 -9
  1177. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/src/TScheduler.hpp +0 -29
  1178. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/src/TSchedulerDeclarations.hpp +0 -29
  1179. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/src/TaskScheduler.cpp +0 -3
  1180. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/src/TaskScheduler.h +0 -1811
  1181. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/src/TaskSchedulerDeclarations.h +0 -3096
  1182. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/src/TaskSchedulerSleepMethods.h +0 -399
  1183. package/examples/basic/.pio/libdeps/esp32/integrity.dat +0 -3
  1184. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/.piopm +0 -1
  1185. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/ArduinoJson.h +0 -5
  1186. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/LICENSE.txt +0 -10
  1187. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/README.md +0 -153
  1188. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonConfigFile/JsonConfigFile.ino +0 -152
  1189. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonFilterExample/JsonFilterExample.ino +0 -64
  1190. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonGeneratorExample/JsonGeneratorExample.ino +0 -65
  1191. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonHttpClient/JsonHttpClient.ino +0 -125
  1192. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonParserExample/JsonParserExample.ino +0 -65
  1193. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonServer/JsonServer.ino +0 -118
  1194. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonUdpBeacon/JsonUdpBeacon.ino +0 -106
  1195. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/MsgPackParser/MsgPackParser.ino +0 -61
  1196. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/ProgmemExample/ProgmemExample.ino +0 -63
  1197. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/StringExample/StringExample.ino +0 -76
  1198. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/library.json +0 -23
  1199. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/library.properties +0 -11
  1200. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp +0 -66
  1201. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp +0 -79
  1202. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp +0 -75
  1203. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp +0 -219
  1204. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp +0 -133
  1205. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/JsonArrayIterator.hpp +0 -96
  1206. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp +0 -112
  1207. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp +0 -122
  1208. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp +0 -137
  1209. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Configuration.hpp +0 -285
  1210. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp +0 -106
  1211. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationOptions.hpp +0 -35
  1212. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp +0 -77
  1213. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp +0 -32
  1214. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp +0 -74
  1215. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp +0 -30
  1216. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp +0 -18
  1217. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp +0 -56
  1218. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp +0 -42
  1219. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp +0 -49
  1220. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp +0 -29
  1221. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp +0 -19
  1222. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp +0 -79
  1223. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp +0 -426
  1224. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp +0 -40
  1225. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp +0 -720
  1226. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp +0 -165
  1227. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/Latch.hpp +0 -56
  1228. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp +0 -110
  1229. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp +0 -177
  1230. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp +0 -67
  1231. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp +0 -46
  1232. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp +0 -60
  1233. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/Allocator.hpp +0 -49
  1234. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/MemoryPool.hpp +0 -110
  1235. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/MemoryPoolList.hpp +0 -214
  1236. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/ResourceManager.hpp +0 -131
  1237. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/ResourceManagerImpl.hpp +0 -52
  1238. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringBuffer.hpp +0 -79
  1239. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringBuilder.hpp +0 -88
  1240. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringNode.hpp +0 -75
  1241. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringPool.hpp +0 -102
  1242. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp +0 -71
  1243. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackBinary.hpp +0 -97
  1244. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp +0 -487
  1245. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackExtension.hpp +0 -120
  1246. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp +0 -244
  1247. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/endianness.hpp +0 -46
  1248. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp +0 -18
  1249. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Namespace.hpp +0 -42
  1250. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp +0 -95
  1251. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp +0 -212
  1252. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/JsonFloat.hpp +0 -18
  1253. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/JsonInteger.hpp +0 -28
  1254. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp +0 -116
  1255. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp +0 -145
  1256. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp +0 -238
  1257. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonObject.hpp +0 -245
  1258. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonObjectConst.hpp +0 -166
  1259. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonObjectIterator.hpp +0 -83
  1260. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonPair.hpp +0 -70
  1261. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp +0 -77
  1262. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/ObjectData.hpp +0 -70
  1263. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp +0 -92
  1264. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp +0 -30
  1265. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp +0 -14
  1266. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp +0 -45
  1267. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp +0 -21
  1268. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp +0 -34
  1269. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp +0 -45
  1270. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp +0 -27
  1271. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp +0 -27
  1272. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp +0 -144
  1273. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp +0 -67
  1274. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp +0 -33
  1275. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp +0 -25
  1276. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/decay.hpp +0 -33
  1277. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp +0 -14
  1278. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp +0 -23
  1279. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/function_traits.hpp +0 -27
  1280. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp +0 -22
  1281. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp +0 -22
  1282. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp +0 -27
  1283. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp +0 -23
  1284. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp +0 -18
  1285. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp +0 -46
  1286. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp +0 -22
  1287. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp +0 -19
  1288. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp +0 -32
  1289. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp +0 -17
  1290. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp +0 -18
  1291. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp +0 -26
  1292. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp +0 -24
  1293. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp +0 -44
  1294. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp +0 -24
  1295. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_cv.hpp +0 -31
  1296. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp +0 -24
  1297. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp +0 -16
  1298. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/void_t.hpp +0 -20
  1299. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp +0 -27
  1300. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp +0 -33
  1301. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp +0 -33
  1302. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp +0 -47
  1303. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp +0 -55
  1304. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp +0 -22
  1305. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp +0 -29
  1306. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp +0 -36
  1307. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp +0 -32
  1308. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp +0 -42
  1309. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp +0 -20
  1310. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp +0 -50
  1311. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/Adapters/FlashString.hpp +0 -93
  1312. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/Adapters/RamString.hpp +0 -118
  1313. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/Adapters/StringObject.hpp +0 -48
  1314. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp +0 -19
  1315. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/JsonString.hpp +0 -100
  1316. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/StringAdapter.hpp +0 -47
  1317. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp +0 -72
  1318. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/StringTraits.hpp +0 -73
  1319. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/Converter.hpp +0 -23
  1320. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp +0 -406
  1321. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariant.hpp +0 -78
  1322. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariantConst.hpp +0 -197
  1323. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariantCopier.hpp +0 -34
  1324. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariantVisitor.hpp +0 -61
  1325. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantAttorney.hpp +0 -35
  1326. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp +0 -211
  1327. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp +0 -82
  1328. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp +0 -609
  1329. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantDataVisitor.hpp +0 -24
  1330. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantImpl.hpp +0 -146
  1331. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp +0 -188
  1332. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantRefBase.hpp +0 -313
  1333. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantRefBaseImpl.hpp +0 -175
  1334. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp +0 -16
  1335. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp +0 -34
  1336. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/compatibility.hpp +0 -144
  1337. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/version.hpp +0 -11
  1338. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson.h +0 -17
  1339. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson.hpp +0 -65
  1340. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/CMakeLists.txt +0 -91
  1341. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/install-arduino-core-esp8266.sh +0 -29
  1342. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/install-arduino-ide.sh +0 -220
  1343. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/install-platformio.sh +0 -133
  1344. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/on-push.sh +0 -64
  1345. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.github/stale.yml +0 -31
  1346. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.github/workflows/push.yml +0 -30
  1347. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.piopm +0 -1
  1348. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/LICENSE.txt +0 -165
  1349. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/README.md +0 -43
  1350. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Client/Client.ino +0 -62
  1351. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Client/config.h +0 -23
  1352. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Server/Server.ino +0 -73
  1353. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Server/config.h +0 -23
  1354. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/examples/SyncClient/.esp31b.skip +0 -0
  1355. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/examples/SyncClient/SyncClient.ino +0 -54
  1356. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/library.json +0 -19
  1357. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/library.properties +0 -10
  1358. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/AsyncPrinter.cpp +0 -214
  1359. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/AsyncPrinter.h +0 -73
  1360. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/DebugPrintMacros.h +0 -112
  1361. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCP.cpp +0 -1406
  1362. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCP.h +0 -324
  1363. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCPbuffer.cpp +0 -555
  1364. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCPbuffer.h +0 -118
  1365. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/SyncClient.cpp +0 -414
  1366. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/SyncClient.h +0 -109
  1367. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/async_config.h +0 -42
  1368. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/tcp_axtls.c +0 -613
  1369. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/tcp_axtls.h +0 -98
  1370. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/ssl/gen_server_cert.sh +0 -36
  1371. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/ssl/server.cer +0 -0
  1372. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/ssl/server.key +0 -0
  1373. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/.github/FUNDING.yml +0 -1
  1374. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/.github/workflows/doxygen.yml +0 -310
  1375. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/.github/workflows/main.yml +0 -309
  1376. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/.github/workflows/test.yml +0 -523
  1377. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/.piopm +0 -1
  1378. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/LICENSE.txt +0 -27
  1379. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/README.md +0 -157
  1380. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example00_Blink/Scheduler_example00_Blink.ino +0 -303
  1381. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example00_Blink_Namespace/Scheduler_example00_Blink_Namespace.ino +0 -302
  1382. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example01/Scheduler_example01.ino +0 -84
  1383. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example02/Scheduler_example02.ino +0 -78
  1384. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example03/Scheduler_example03.ino +0 -80
  1385. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example04_StatusRequest/Scheduler_example04_StatusRequest.ino +0 -90
  1386. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example05_StatusRequest/Scheduler_example05_StatusRequest.ino +0 -181
  1387. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example06_IDLE/Scheduler_example06_IDLE.ino +0 -117
  1388. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example07_WDT/Scheduler_example07_WDT.ino +0 -133
  1389. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example08_LTS/Scheduler_example08_LTS.ino +0 -147
  1390. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example09_TimeCritical/Scheduler_example09_TimeCritical.ino +0 -57
  1391. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example10_Benchmark/Scheduler_example10_Benchmark.ino +0 -106
  1392. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example11_Priority/Scheduler_example11_Priority.ino +0 -105
  1393. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example12_Priority/Scheduler_example12_Priority.ino +0 -136
  1394. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example13_Micros/Scheduler_example13_Micros.ino +0 -71
  1395. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example14_Yield/Scheduler_example14_Yield.ino +0 -339
  1396. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example15_STDFunction/Scheduler_example15_STDFunction.ino +0 -53
  1397. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/Scheduler_example16_Multitab.ino +0 -18
  1398. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/file1.cpp +0 -31
  1399. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/file2.cpp +0 -55
  1400. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/header.hpp +0 -15
  1401. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/ts.cpp +0 -20
  1402. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example17_Timeout/Scheduler_example17_Timeout.ino +0 -90
  1403. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example18_StatusRequest_LTS_WDT_Timeout/Scheduler_example18_StatusRequest_LTS_WDT_Timeout.ino +0 -172
  1404. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks/Scheduler_example19_Dynamic_Tasks.ino +0 -137
  1405. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_SelfDestruct/Scheduler_example19_Dynamic_Tasks_SelfDestruct.ino +0 -130
  1406. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_stdQueue/Scheduler_example19_Dynamic_Tasks_stdQueue.ino +0 -137
  1407. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object.ino +0 -185
  1408. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.cpp +0 -36
  1409. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.h +0 -25
  1410. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.cpp +0 -66
  1411. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.h +0 -34
  1412. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Scheduler_example21_OO_Callbacks.ino +0 -76
  1413. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.cpp +0 -83
  1414. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.h +0 -44
  1415. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.cpp +0 -21
  1416. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.h +0 -28
  1417. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example23_IDLE_Callback/Scheduler_example23_IDLE_Callback.ino +0 -157
  1418. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example24_CPU_LOAD/Scheduler_example24_CPU_LOAD.ino +0 -87
  1419. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example25_SCHEDULER_CHAIN/Scheduler_example25_SCHEDULER_CHAIN.ino +0 -127
  1420. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example26_SCHEDULING_OPTIONS/Scheduler_example26_SCHEDULING_OPTIONS.ino +0 -181
  1421. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/README +0 -39
  1422. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/led.h +0 -12
  1423. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/main.h +0 -25
  1424. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/lib/README +0 -46
  1425. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/platformio.ini +0 -37
  1426. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/led.cpp +0 -11
  1427. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/main.cpp +0 -254
  1428. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/test/README +0 -11
  1429. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example28_Tickless/Scheduler_example28_Tickless.ino +0 -105
  1430. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/include/README +0 -39
  1431. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/include/led.h +0 -12
  1432. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/include/main.h +0 -27
  1433. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/lib/README +0 -46
  1434. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/platformio.ini +0 -38
  1435. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/src/led.cpp +0 -13
  1436. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/src/main.cpp +0 -267
  1437. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/test/README +0 -11
  1438. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/README.md +0 -232
  1439. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/platformio.ini +0 -44
  1440. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/src/main.cpp +0 -310
  1441. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_template/Scheduler_template.ino +0 -166
  1442. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/keywords.txt +0 -161
  1443. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/library.json +0 -22
  1444. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/library.properties +0 -9
  1445. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/src/TScheduler.hpp +0 -29
  1446. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/src/TSchedulerDeclarations.hpp +0 -29
  1447. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/src/TaskScheduler.cpp +0 -3
  1448. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/src/TaskScheduler.h +0 -1811
  1449. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/src/TaskSchedulerDeclarations.h +0 -3096
  1450. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/src/TaskSchedulerSleepMethods.h +0 -399
  1451. package/examples/basic/.pio/libdeps/esp8266/integrity.dat +0 -3
  1452. package/examples/meshCommandNode/.pio/build/esp32/.sconsign311.dblite +0 -0
  1453. package/examples/meshCommandNode/.pio/build/esp32/bootloader.bin +0 -0
  1454. package/examples/meshCommandNode/.pio/build/esp32/lib327/TaskScheduler/TaskScheduler.cpp.d +0 -2
  1455. package/examples/meshCommandNode/.pio/build/esp32/lib327/TaskScheduler/TaskScheduler.cpp.o +0 -0
  1456. package/examples/meshCommandNode/.pio/build/esp32/lib373/LittleFS/LittleFS.cpp.d +0 -142
  1457. package/examples/meshCommandNode/.pio/build/esp32/lib373/LittleFS/LittleFS.cpp.o +0 -0
  1458. package/examples/meshCommandNode/.pio/build/esp32/lib4f2/FS/FS.cpp.d +0 -138
  1459. package/examples/meshCommandNode/.pio/build/esp32/lib4f2/FS/FS.cpp.o +0 -0
  1460. package/examples/meshCommandNode/.pio/build/esp32/lib4f2/FS/vfs_api.cpp.d +0 -139
  1461. package/examples/meshCommandNode/.pio/build/esp32/lib4f2/FS/vfs_api.cpp.o +0 -0
  1462. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFi.cpp.d +0 -203
  1463. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFi.cpp.o +0 -0
  1464. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiAP.cpp.d +0 -204
  1465. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiAP.cpp.o +0 -0
  1466. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiClient.cpp.d +0 -209
  1467. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiClient.cpp.o +0 -0
  1468. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiGeneric.cpp.d +0 -206
  1469. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiGeneric.cpp.o +0 -0
  1470. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiMulti.cpp.d +0 -199
  1471. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiMulti.cpp.o +0 -0
  1472. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiSTA.cpp.d +0 -206
  1473. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiSTA.cpp.o +0 -0
  1474. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiScan.cpp.d +0 -204
  1475. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiScan.cpp.o +0 -0
  1476. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiServer.cpp.d +0 -172
  1477. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiServer.cpp.o +0 -0
  1478. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiUdp.cpp.d +0 -171
  1479. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiUdp.cpp.o +0 -0
  1480. package/examples/meshCommandNode/.pio/build/esp32/lib97a/SPIFFS/SPIFFS.cpp.d +0 -142
  1481. package/examples/meshCommandNode/.pio/build/esp32/lib97a/SPIFFS/SPIFFS.cpp.o +0 -0
  1482. package/examples/meshCommandNode/.pio/build/esp32/libf48/Update/HttpsOTAUpdate.cpp.d +0 -120
  1483. package/examples/meshCommandNode/.pio/build/esp32/libf48/Update/HttpsOTAUpdate.cpp.o +0 -0
  1484. package/examples/meshCommandNode/.pio/build/esp32/libf48/Update/Updater.cpp.d +0 -144
  1485. package/examples/meshCommandNode/.pio/build/esp32/libf48/Update/Updater.cpp.o +0 -0
  1486. package/examples/meshCommandNode/.pio/build/esp32/partitions.bin +0 -0
  1487. package/examples/meshCommandNode/.pio/build/esp32/src/meshCommandNode.ino.cpp.d +0 -238
  1488. package/examples/meshCommandNode/.pio/build/esp32/tmpkxz_1u4u.tmp +0 -1
  1489. package/examples/meshCommandNode/.pio/build/esp32/tmpo9qt_9vc.tmp +0 -1
  1490. package/examples/meshCommandNode/.pio/build/esp32/tmprrmligyc.tmp +0 -1
  1491. package/examples/meshCommandNode/.pio/build/esp32/tmpt8s9ha45.tmp +0 -1
  1492. package/examples/meshCommandNode/.pio/build/project.checksum +0 -1
  1493. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/.piopm +0 -1
  1494. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/ArduinoJson.h +0 -5
  1495. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/LICENSE.txt +0 -10
  1496. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/README.md +0 -153
  1497. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonConfigFile/JsonConfigFile.ino +0 -152
  1498. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonFilterExample/JsonFilterExample.ino +0 -64
  1499. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonGeneratorExample/JsonGeneratorExample.ino +0 -65
  1500. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonHttpClient/JsonHttpClient.ino +0 -125
  1501. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonParserExample/JsonParserExample.ino +0 -65
  1502. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonServer/JsonServer.ino +0 -118
  1503. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonUdpBeacon/JsonUdpBeacon.ino +0 -106
  1504. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/MsgPackParser/MsgPackParser.ino +0 -61
  1505. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/ProgmemExample/ProgmemExample.ino +0 -63
  1506. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/StringExample/StringExample.ino +0 -76
  1507. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/library.json +0 -23
  1508. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/library.properties +0 -11
  1509. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp +0 -66
  1510. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp +0 -79
  1511. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp +0 -75
  1512. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp +0 -219
  1513. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp +0 -133
  1514. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArrayIterator.hpp +0 -96
  1515. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp +0 -112
  1516. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp +0 -122
  1517. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp +0 -137
  1518. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Configuration.hpp +0 -285
  1519. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp +0 -106
  1520. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationOptions.hpp +0 -35
  1521. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp +0 -77
  1522. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp +0 -32
  1523. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp +0 -74
  1524. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp +0 -30
  1525. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp +0 -18
  1526. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp +0 -56
  1527. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp +0 -42
  1528. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp +0 -49
  1529. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp +0 -29
  1530. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp +0 -19
  1531. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp +0 -79
  1532. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp +0 -426
  1533. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp +0 -40
  1534. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp +0 -720
  1535. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp +0 -165
  1536. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Latch.hpp +0 -56
  1537. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp +0 -110
  1538. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp +0 -177
  1539. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp +0 -67
  1540. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp +0 -46
  1541. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp +0 -60
  1542. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/Allocator.hpp +0 -49
  1543. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/MemoryPool.hpp +0 -110
  1544. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/MemoryPoolList.hpp +0 -214
  1545. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/ResourceManager.hpp +0 -131
  1546. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/ResourceManagerImpl.hpp +0 -52
  1547. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringBuffer.hpp +0 -79
  1548. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringBuilder.hpp +0 -88
  1549. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringNode.hpp +0 -75
  1550. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringPool.hpp +0 -102
  1551. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp +0 -71
  1552. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackBinary.hpp +0 -97
  1553. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp +0 -487
  1554. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackExtension.hpp +0 -120
  1555. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp +0 -244
  1556. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/endianness.hpp +0 -46
  1557. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp +0 -18
  1558. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Namespace.hpp +0 -42
  1559. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp +0 -95
  1560. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp +0 -212
  1561. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/JsonFloat.hpp +0 -18
  1562. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/JsonInteger.hpp +0 -28
  1563. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp +0 -116
  1564. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp +0 -145
  1565. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp +0 -238
  1566. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObject.hpp +0 -245
  1567. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObjectConst.hpp +0 -166
  1568. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObjectIterator.hpp +0 -83
  1569. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonPair.hpp +0 -70
  1570. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp +0 -77
  1571. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/ObjectData.hpp +0 -70
  1572. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp +0 -92
  1573. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp +0 -30
  1574. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp +0 -14
  1575. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp +0 -45
  1576. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp +0 -21
  1577. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp +0 -34
  1578. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp +0 -45
  1579. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp +0 -27
  1580. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp +0 -27
  1581. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp +0 -144
  1582. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp +0 -67
  1583. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp +0 -33
  1584. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp +0 -25
  1585. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/decay.hpp +0 -33
  1586. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp +0 -14
  1587. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp +0 -23
  1588. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/function_traits.hpp +0 -27
  1589. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp +0 -22
  1590. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp +0 -22
  1591. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp +0 -27
  1592. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp +0 -23
  1593. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp +0 -18
  1594. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp +0 -46
  1595. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp +0 -22
  1596. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp +0 -19
  1597. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp +0 -32
  1598. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp +0 -17
  1599. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp +0 -18
  1600. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp +0 -26
  1601. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp +0 -24
  1602. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp +0 -44
  1603. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp +0 -24
  1604. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_cv.hpp +0 -31
  1605. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp +0 -24
  1606. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp +0 -16
  1607. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/void_t.hpp +0 -20
  1608. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp +0 -27
  1609. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp +0 -33
  1610. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp +0 -33
  1611. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp +0 -47
  1612. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp +0 -55
  1613. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp +0 -22
  1614. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp +0 -29
  1615. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp +0 -36
  1616. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp +0 -32
  1617. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp +0 -42
  1618. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp +0 -20
  1619. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp +0 -50
  1620. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/FlashString.hpp +0 -93
  1621. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/RamString.hpp +0 -118
  1622. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/StringObject.hpp +0 -48
  1623. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp +0 -19
  1624. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/JsonString.hpp +0 -100
  1625. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringAdapter.hpp +0 -47
  1626. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp +0 -72
  1627. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringTraits.hpp +0 -73
  1628. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/Converter.hpp +0 -23
  1629. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp +0 -406
  1630. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariant.hpp +0 -78
  1631. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantConst.hpp +0 -197
  1632. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantCopier.hpp +0 -34
  1633. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantVisitor.hpp +0 -61
  1634. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantAttorney.hpp +0 -35
  1635. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp +0 -211
  1636. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp +0 -82
  1637. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp +0 -609
  1638. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantDataVisitor.hpp +0 -24
  1639. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantImpl.hpp +0 -146
  1640. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp +0 -188
  1641. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantRefBase.hpp +0 -313
  1642. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantRefBaseImpl.hpp +0 -175
  1643. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp +0 -16
  1644. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp +0 -34
  1645. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/compatibility.hpp +0 -144
  1646. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/version.hpp +0 -11
  1647. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson.h +0 -17
  1648. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson.hpp +0 -65
  1649. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/CMakeLists.txt +0 -91
  1650. package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/.piopm +0 -1
  1651. package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/LICENSE +0 -165
  1652. package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/README.md +0 -62
  1653. package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/examples/Client/Client.ino +0 -81
  1654. package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/library.json +0 -35
  1655. package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/library.properties +0 -10
  1656. package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCP.cpp +0 -1661
  1657. package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCP.h +0 -344
  1658. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/.github/FUNDING.yml +0 -1
  1659. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/.github/workflows/doxygen.yml +0 -310
  1660. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/.github/workflows/main.yml +0 -309
  1661. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/.github/workflows/test.yml +0 -523
  1662. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/.piopm +0 -1
  1663. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/LICENSE.txt +0 -27
  1664. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/README.md +0 -157
  1665. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example00_Blink/Scheduler_example00_Blink.ino +0 -303
  1666. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example00_Blink_Namespace/Scheduler_example00_Blink_Namespace.ino +0 -302
  1667. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example01/Scheduler_example01.ino +0 -84
  1668. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example02/Scheduler_example02.ino +0 -78
  1669. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example03/Scheduler_example03.ino +0 -80
  1670. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example04_StatusRequest/Scheduler_example04_StatusRequest.ino +0 -90
  1671. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example05_StatusRequest/Scheduler_example05_StatusRequest.ino +0 -181
  1672. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example06_IDLE/Scheduler_example06_IDLE.ino +0 -117
  1673. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example07_WDT/Scheduler_example07_WDT.ino +0 -133
  1674. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example08_LTS/Scheduler_example08_LTS.ino +0 -147
  1675. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example09_TimeCritical/Scheduler_example09_TimeCritical.ino +0 -57
  1676. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example10_Benchmark/Scheduler_example10_Benchmark.ino +0 -106
  1677. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example11_Priority/Scheduler_example11_Priority.ino +0 -105
  1678. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example12_Priority/Scheduler_example12_Priority.ino +0 -136
  1679. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example13_Micros/Scheduler_example13_Micros.ino +0 -71
  1680. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example14_Yield/Scheduler_example14_Yield.ino +0 -339
  1681. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example15_STDFunction/Scheduler_example15_STDFunction.ino +0 -53
  1682. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/Scheduler_example16_Multitab.ino +0 -18
  1683. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/file1.cpp +0 -31
  1684. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/file2.cpp +0 -55
  1685. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/header.hpp +0 -15
  1686. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/ts.cpp +0 -20
  1687. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example17_Timeout/Scheduler_example17_Timeout.ino +0 -90
  1688. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example18_StatusRequest_LTS_WDT_Timeout/Scheduler_example18_StatusRequest_LTS_WDT_Timeout.ino +0 -172
  1689. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks/Scheduler_example19_Dynamic_Tasks.ino +0 -137
  1690. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_SelfDestruct/Scheduler_example19_Dynamic_Tasks_SelfDestruct.ino +0 -130
  1691. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_stdQueue/Scheduler_example19_Dynamic_Tasks_stdQueue.ino +0 -137
  1692. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object.ino +0 -185
  1693. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.cpp +0 -36
  1694. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.h +0 -25
  1695. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.cpp +0 -66
  1696. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.h +0 -34
  1697. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Scheduler_example21_OO_Callbacks.ino +0 -76
  1698. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.cpp +0 -83
  1699. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.h +0 -44
  1700. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.cpp +0 -21
  1701. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.h +0 -28
  1702. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example23_IDLE_Callback/Scheduler_example23_IDLE_Callback.ino +0 -157
  1703. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example24_CPU_LOAD/Scheduler_example24_CPU_LOAD.ino +0 -87
  1704. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example25_SCHEDULER_CHAIN/Scheduler_example25_SCHEDULER_CHAIN.ino +0 -127
  1705. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example26_SCHEDULING_OPTIONS/Scheduler_example26_SCHEDULING_OPTIONS.ino +0 -181
  1706. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/README +0 -39
  1707. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/led.h +0 -12
  1708. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/main.h +0 -25
  1709. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/lib/README +0 -46
  1710. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/platformio.ini +0 -37
  1711. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/led.cpp +0 -11
  1712. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/main.cpp +0 -254
  1713. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/test/README +0 -11
  1714. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example28_Tickless/Scheduler_example28_Tickless.ino +0 -105
  1715. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/README +0 -39
  1716. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/led.h +0 -12
  1717. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/main.h +0 -27
  1718. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/lib/README +0 -46
  1719. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/platformio.ini +0 -38
  1720. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/src/led.cpp +0 -13
  1721. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/src/main.cpp +0 -267
  1722. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/test/README +0 -11
  1723. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/README.md +0 -232
  1724. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/platformio.ini +0 -44
  1725. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/src/main.cpp +0 -310
  1726. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_template/Scheduler_template.ino +0 -166
  1727. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/keywords.txt +0 -161
  1728. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/library.json +0 -22
  1729. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/library.properties +0 -9
  1730. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/src/TScheduler.hpp +0 -29
  1731. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/src/TSchedulerDeclarations.hpp +0 -29
  1732. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/src/TaskScheduler.cpp +0 -3
  1733. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/src/TaskScheduler.h +0 -1811
  1734. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/src/TaskSchedulerDeclarations.h +0 -3096
  1735. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/src/TaskSchedulerSleepMethods.h +0 -399
  1736. package/examples/meshCommandNode/.pio/libdeps/esp32/integrity.dat +0 -3
@@ -1,911 +1,911 @@
1
- # OTA and Mesh Status Enhancement Options
2
-
3
- **Date:** December 2024
4
- **Version:** 1.0
5
- **Status:** Proposal for Discussion
6
-
7
- ## Executive Summary
8
-
9
- This document explores enhancement options for two key features in painlessMesh:
10
-
11
- 1. **OTA Distribution Improvements** - More efficient firmware distribution across mesh networks
12
- 2. **Mesh Network Status Retrieval** - Comprehensive status monitoring and reporting capabilities
13
-
14
- Both features are critical for production IoT deployments where remote management, monitoring, and updates are essential.
15
-
16
- ---
17
-
18
- ## Current State Analysis
19
-
20
- ### Existing OTA Implementation
21
-
22
- painlessMesh already includes a functional OTA system (enabled with `PAINLESSMESH_ENABLE_OTA`):
23
-
24
- **Current Architecture:**
25
- - **Three-message protocol**: `Announce` → `DataRequest` → `Data`
26
- - **Role-based targeting**: Firmware can target specific node roles (e.g., "sensor", "gateway")
27
- - **Hardware detection**: Automatically distinguishes ESP32 vs ESP8266
28
- - **MD5 validation**: Ensures firmware integrity
29
- - **Broadcast mode**: Optional optimization where root node requests on behalf of all nodes
30
- - **Persistent state**: Tracks OTA progress across reboots
31
-
32
- **Current Workflow:**
33
- 1. Sender node (typically root) announces firmware availability via periodic broadcasts
34
- 2. Nodes check if firmware matches their role/hardware and has different MD5
35
- 3. Nodes request firmware chunks (configurable size, e.g., 1024 bytes)
36
- 4. Sender responds with Base64-encoded firmware data
37
- 5. Nodes write to flash and reboot when complete
38
-
39
- **Current Limitations:**
40
- 1. **Single-threaded distribution**: Each node requests independently, creating network congestion
41
- 2. **No resume capability**: Interrupted updates restart from beginning
42
- 3. **Limited progress visibility**: No centralized view of update progress across mesh
43
- 4. **Relies on external storage**: Sender needs SD card or other storage (as shown in examples)
44
- 5. **MQTT dependency**: Users currently rely on MQTT commands to trigger updates
45
- 6. **No rollback mechanism**: Failed updates may brick nodes
46
-
47
- ### Existing Mesh Status Capabilities
48
-
49
- painlessMesh has several status/monitoring features:
50
-
51
- **Available APIs:**
52
- - `getNodeList()` - Get all connected node IDs
53
- - `isConnected(nodeId)` - Check if node is reachable
54
- - `subConnectionJson()` - Get mesh topology as JSON
55
- - `getNodeTime()` - Get synchronized mesh time
56
- - `onNodeDelayReceived()` - Network delay measurements
57
- - `metrics.hpp` - Comprehensive performance metrics (MessageStats, MemoryStats, TopologyStats)
58
-
59
- **Alteriom StatusPackage (Type 202):**
60
- ```cpp
61
- class StatusPackage {
62
- uint8_t deviceStatus;
63
- uint32_t uptime;
64
- uint16_t freeMemory;
65
- uint8_t wifiStrength;
66
- TSTRING firmwareVersion;
67
- };
68
- ```
69
-
70
- **Current Limitations:**
71
- 1. **No centralized status aggregation**: Each node maintains its own status
72
- 2. **Manual status collection**: Application code must poll each node
73
- 3. **Limited standardization**: Status format varies by implementation
74
- 4. **No historical data**: No built-in trending or alerting
75
- 5. **Network-intensive**: Gathering mesh-wide status requires many messages
76
-
77
- ---
78
-
79
- ## Feature 1: Enhanced OTA Distribution
80
-
81
- ### Option 1A: Mesh-Wide Broadcast OTA (Plugin Extension)
82
-
83
- **Description:** Extend the existing OTA plugin with true mesh-wide broadcast distribution, where firmware chunks are broadcast to all nodes simultaneously.
84
-
85
- **Architecture:**
86
- ```
87
- Sender Node (Root)
88
- ├─> Broadcast: Announce(firmware_info)
89
- ├─> Broadcast: Data(chunk_0) ────┐
90
- ├─> Broadcast: Data(chunk_1) ├─> All Nodes Receive
91
- ├─> Broadcast: Data(chunk_2) │ and Cache Chunks
92
- └─> Broadcast: Data(chunk_N) ────┘
93
-
94
- Nodes:
95
- ├─> Listen for broadcasts
96
- ├─> Assemble chunks in order
97
- ├─> Send ACK when complete
98
- └─> Reboot into new firmware
99
- ```
100
-
101
- **Implementation Details:**
102
- - New `BroadcastMode::MESH_WIDE` option in OTA plugin
103
- - Sender broadcasts all chunks at controlled rate (e.g., 1 chunk/second)
104
- - Nodes maintain chunk bitmap to track received chunks
105
- - Out-of-order chunk assembly with gap detection
106
- - Negative acknowledgment (NAK) for missing chunks
107
- - Adaptive rate control based on network congestion
108
-
109
- **Pros:**
110
- - ✅ Dramatically reduces network traffic (single broadcast vs N unicasts)
111
- - ✅ Faster distribution to large meshes (parallel vs sequential)
112
- - ✅ Works with existing OTA infrastructure
113
- - ✅ Backward compatible (nodes can opt-in)
114
- - ✅ Natural fit for mesh topology
115
- - ✅ Efficient use of mesh broadcast capabilities
116
-
117
- **Cons:**
118
- - ❌ Higher memory requirements (chunk caching)
119
- - ❌ Potential for broadcast storms if not rate-limited
120
- - ❌ Requires reliable broadcast delivery (mesh may drop packets)
121
- - ❌ All nodes must support same firmware (less flexible)
122
- - ❌ Difficult to target specific nodes
123
- - ❌ May overwhelm small nodes with limited RAM
124
-
125
- **Memory Impact:** +2-5KB per node (chunk bitmap + buffer)
126
-
127
- **Code Changes:**
128
- - Extend `ota.hpp` with broadcast mode
129
- - Add chunk bitmap tracking
130
- - Implement NAK/retransmission logic
131
- - Add rate limiting
132
-
133
- ---
134
-
135
- ### Option 1B: Progressive Rollout OTA (Plugin)
136
-
137
- **Description:** New plugin that distributes firmware in waves, starting with a test group and progressively expanding.
138
-
139
- **Architecture:**
140
- ```
141
- Phase 1: Canary (1-2 nodes)
142
- └─> Monitor for 5-10 minutes
143
-
144
- Phase 2: Early Adopters (10-20% of nodes)
145
- └─> Monitor for stability
146
-
147
- Phase 3: General Rollout (remaining nodes)
148
- └─> Automatic or manual trigger
149
-
150
- Rollback: If failures detected
151
- └─> Halt distribution, report issues
152
- ```
153
-
154
- **Implementation Details:**
155
- - New `ProgressiveOTA` plugin class
156
- - Configurable phases with node selection criteria
157
- - Health monitoring between phases
158
- - Automatic rollback on failures
159
- - Progress tracking and reporting
160
- - Integration with mesh status APIs
161
-
162
- **Pros:**
163
- - ✅ Production-safe deployments
164
- - ✅ Early failure detection
165
- - ✅ Reduced risk of mesh-wide failures
166
- - ✅ Clear audit trail
167
- - ✅ Operator control over rollout speed
168
- - ✅ Statistical validation before full deployment
169
-
170
- **Cons:**
171
- - ❌ Slower overall deployment time
172
- - ❌ More complex implementation
173
- - ❌ Requires centralized coordination
174
- - ❌ May leave mesh in mixed-version state
175
- - ❌ Additional logic for version compatibility
176
- - ❌ Higher development effort
177
-
178
- **Memory Impact:** +3-7KB (rollout state tracking)
179
-
180
- **Code Changes:**
181
- - New `progressive_ota.hpp` plugin
182
- - Phase management logic
183
- - Health check integration
184
- - Rollback mechanism
185
-
186
- ---
187
-
188
- ### Option 1C: Peer-to-Peer OTA Distribution (Protocol Enhancement)
189
-
190
- **Description:** Nodes that complete OTA can become distribution points, creating a viral propagation pattern.
191
-
192
- **Architecture:**
193
- ```
194
- Initial State:
195
- Sender ─> Node A, Node B, Node C (first wave)
196
-
197
- After completion:
198
- Sender ─> Node D, Node E
199
- Node A ─> Node F, Node G
200
- Node B ─> Node H, Node I
201
- Node C ─> Node J, Node K
202
-
203
- Result: Exponential distribution speed
204
- ```
205
-
206
- **Implementation Details:**
207
- - Updated nodes cache firmware in flash
208
- - Nodes advertise available firmware
209
- - Automatic peer discovery for OTA
210
- - Load balancing across multiple sources
211
- - Chunk verification and forwarding
212
- - Bandwidth management
213
-
214
- **Pros:**
215
- - ✅ Exponential distribution speed
216
- - ✅ Reduces load on single sender
217
- - ✅ Fault-tolerant (multiple sources)
218
- - ✅ Scales to very large meshes
219
- - ✅ Leverages mesh redundancy
220
- - ✅ Self-healing distribution
221
-
222
- **Cons:**
223
- - ❌ Significant flash memory requirements (~200-500KB per node)
224
- - ❌ Complex state management
225
- - ❌ Version fragmentation risks
226
- - ❌ Security concerns (firmware validation critical)
227
- - ❌ Flash wear concerns
228
- - ❌ Not suitable for resource-constrained devices
229
-
230
- **Memory Impact:** +200-500KB flash (cached firmware)
231
-
232
- **Code Changes:**
233
- - Major refactor of OTA system
234
- - Firmware caching mechanism
235
- - Peer discovery protocol
236
- - Multi-source download logic
237
-
238
- ---
239
-
240
- ### Option 1D: MQTT-Integrated OTA Bridge (Bridge Plugin)
241
-
242
- **Description:** Standardized MQTT interface for OTA operations, integrating with existing MQTT bridge functionality.
243
-
244
- **Architecture:**
245
- ```
246
- MQTT Broker
247
- ├─> Topic: mesh/ota/announce
248
- ├─> Topic: mesh/ota/status
249
- └─> Topic: mesh/ota/control
250
-
251
- Bridge Node (Root)
252
- ├─> Subscribe to MQTT topics
253
- ├─> Translate to mesh OTA protocol
254
- ├─> Aggregate status from nodes
255
- └─> Publish progress to MQTT
256
-
257
- External Tools:
258
- ├─> Upload firmware to broker
259
- ├─> Monitor progress via MQTT
260
- └─> Control rollout parameters
261
- ```
262
-
263
- **Implementation Details:**
264
- - New `MqttOtaBridge` plugin
265
- - MQTT topic schema for OTA operations
266
- - Firmware chunking over MQTT
267
- - Status aggregation and reporting
268
- - Integration with existing MQTT bridge example
269
- - Support for external OTA tools
270
-
271
- **Pros:**
272
- - ✅ Leverages existing MQTT infrastructure
273
- - ✅ Easy integration with cloud platforms
274
- - ✅ Centralized management and monitoring
275
- - ✅ Works with standard MQTT tools
276
- - ✅ Supports remote firmware uploads
277
- - ✅ Audit logging through MQTT
278
-
279
- **Cons:**
280
- - ❌ Requires MQTT broker infrastructure
281
- - ❌ Bridge node is single point of failure
282
- - ❌ Additional network dependency
283
- - ❌ MQTT overhead for large firmware files
284
- - ❌ Limited to nodes with MQTT bridge connectivity
285
- - ❌ Not standalone (requires external components)
286
-
287
- **Memory Impact:** +5-10KB (MQTT integration)
288
-
289
- **Code Changes:**
290
- - New `mqtt_ota_bridge.hpp` plugin
291
- - MQTT topic handlers
292
- - Firmware buffer management
293
- - Status reporting
294
-
295
- ---
296
-
297
- ### Option 1E: Compressed OTA Transfer (Plugin Enhancement)
298
-
299
- **Description:** Add firmware compression to reduce transfer time and network bandwidth.
300
-
301
- **Architecture:**
302
- ```
303
- Build Process:
304
- firmware.bin ─> gzip ─> firmware.bin.gz
305
-
306
- Distribution:
307
- 1. Sender announces compressed firmware
308
- 2. Nodes download compressed chunks
309
- 3. Nodes decompress during flash write
310
- 4. Verification using original MD5
311
-
312
- Compression Ratio: 40-60% typical
313
- ```
314
-
315
- **Implementation Details:**
316
- - Integration with lightweight compression (heatshrink, miniz)
317
- - Streaming decompression during flash write
318
- - Backward compatibility with uncompressed
319
- - Compression flag in Announce message
320
- - Adjusted chunk sizes for compressed data
321
-
322
- **Pros:**
323
- - ✅ 40-60% bandwidth reduction
324
- - ✅ Faster distribution over mesh
325
- - ✅ Works with all distribution methods
326
- - ✅ Can combine with other options
327
- - ✅ Reduced congestion on network
328
- - ✅ Lower energy consumption
329
-
330
- **Cons:**
331
- - ❌ Additional RAM for decompression buffer (4-8KB)
332
- - ❌ CPU overhead for decompression
333
- - ❌ More complex error handling
334
- - ❌ Requires compatible compression tools
335
- - ❌ May not help with already-compressed code
336
- - ❌ Slightly slower flash writes
337
-
338
- **Memory Impact:** +4-8KB RAM (decompression buffer)
339
-
340
- **Code Changes:**
341
- - Add compression library
342
- - Update OTA handlers
343
- - Streaming decompression logic
344
- - Build process updates
345
-
346
- ---
347
-
348
- ### OTA Options Comparison Matrix
349
-
350
- | Option | Speed | Complexity | Memory | Scalability | Safety | Compatibility |
351
- |--------|-------|------------|--------|-------------|--------|---------------|
352
- | 1A: Mesh-Wide Broadcast | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | +2-5KB | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
353
- | 1B: Progressive Rollout | ⭐⭐ | ⭐⭐⭐⭐ | +3-7KB | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
354
- | 1C: Peer-to-Peer | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | +200-500KB | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ |
355
- | 1D: MQTT Bridge | ⭐⭐⭐ | ⭐⭐⭐ | +5-10KB | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
356
- | 1E: Compression | ⭐⭐⭐⭐ | ⭐⭐ | +4-8KB | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
357
-
358
- ---
359
-
360
- ## Feature 2: Mesh Network Status Retrieval
361
-
362
- ### Option 2A: Alteriom StatusPackage Enhancement (Package Extension)
363
-
364
- **Description:** Extend the existing Alteriom `StatusPackage` (Type 202) with comprehensive health metrics.
365
-
366
- **Enhanced StatusPackage:**
367
- ```cpp
368
- class EnhancedStatusPackage : public BroadcastPackage {
369
- public:
370
- // Device Health
371
- uint8_t deviceStatus; // Status flags
372
- uint32_t uptime; // Uptime in seconds
373
- uint16_t freeMemory; // Free heap (KB)
374
- uint8_t wifiStrength; // RSSI percentage
375
- TSTRING firmwareVersion; // Current version
376
- TSTRING firmwareMD5; // Firmware hash
377
-
378
- // Mesh Statistics
379
- uint16_t nodeCount; // Known nodes
380
- uint8_t connectionCount; // Direct connections
381
- uint32_t messagesReceived; // Message counter
382
- uint32_t messagesSent; // Message counter
383
- uint32_t messagesDropped; // Error counter
384
-
385
- // Performance Metrics
386
- uint16_t avgLatency; // Average latency (ms)
387
- uint8_t packetLossRate; // Loss rate percentage
388
- uint16_t throughput; // Bytes/sec
389
-
390
- // Warnings/Alerts
391
- uint8_t alertFlags; // Bit flags for issues
392
- TSTRING lastError; // Last error message
393
- };
394
- ```
395
-
396
- **Implementation Details:**
397
- - Extend existing `StatusPackage` class
398
- - Integrate with `metrics.hpp` data
399
- - Periodic status broadcasts (configurable interval)
400
- - Emergency status on critical events
401
- - Version compatibility checks
402
-
403
- **Pros:**
404
- - ✅ Builds on existing Alteriom infrastructure
405
- - ✅ Familiar API for Alteriom users
406
- - ✅ Type-safe serialization
407
- - ✅ Easy integration with current apps
408
- - ✅ Minimal learning curve
409
- - ✅ Consistent with other Alteriom packages
410
-
411
- **Cons:**
412
- - ❌ Limited to Alteriom fork users
413
- - ❌ Still requires active status collection
414
- - ❌ No built-in aggregation
415
- - ❌ Broadcast overhead for frequent updates
416
- - ❌ Not standardized in upstream painlessMesh
417
- - ❌ Manual integration with monitoring tools
418
-
419
- **Memory Impact:** +300-500 bytes per status report
420
-
421
- **Code Changes:**
422
- - Update `alteriom_sensor_package.hpp`
423
- - Add integration with `metrics.hpp`
424
- - Update examples
425
-
426
- ---
427
-
428
- ### Option 2B: Mesh Status Service (Plugin)
429
-
430
- **Description:** New plugin that provides a query-based status service, allowing centralized status collection.
431
-
432
- **Architecture:**
433
- ```
434
- Root/Bridge Node:
435
- └─> Sends: StatusQuery(nodeList)
436
-
437
- Target Nodes:
438
- └─> Respond: StatusReport(metrics)
439
-
440
- Root/Bridge Node:
441
- ├─> Aggregates responses
442
- ├─> Builds mesh-wide status
443
- └─> Publishes via MQTT/API
444
-
445
- Status Includes:
446
- ├─> Per-node health metrics
447
- ├─> Network topology map
448
- ├─> Performance statistics
449
- └─> Alert summaries
450
- ```
451
-
452
- **Implementation Details:**
453
- - New `MeshStatusService` plugin (Type 210-215)
454
- - Query/response protocol
455
- - Timeout handling for non-responsive nodes
456
- - Status caching at root node
457
- - REST API or MQTT publishing
458
- - Configurable query intervals
459
-
460
- **Pros:**
461
- - ✅ On-demand status collection (reduces traffic)
462
- - ✅ Centralized aggregation
463
- - ✅ Standardized status format
464
- - ✅ Easy integration with monitoring systems
465
- - ✅ Historical data possible
466
- - ✅ Selective querying (specific nodes or all)
467
-
468
- **Cons:**
469
- - ❌ Increased implementation complexity
470
- - ❌ Root node becomes performance bottleneck
471
- - ❌ Query overhead on large meshes
472
- - ❌ Not real-time (polling-based)
473
- - ❌ May miss transient issues
474
- - ❌ Requires root/bridge node
475
-
476
- **Memory Impact:** +2-4KB per node, +10-20KB at root (aggregation)
477
-
478
- **Code Changes:**
479
- - New `mesh_status_service.hpp` plugin
480
- - Query/response handlers
481
- - Aggregation logic at root
482
- - API/MQTT publishing
483
-
484
- ---
485
-
486
- ### Option 2C: Mesh Telemetry Stream (Protocol Extension)
487
-
488
- **Description:** Continuous low-bandwidth telemetry stream from all nodes to root/bridge.
489
-
490
- **Architecture:**
491
- ```
492
- Each Node:
493
- Every 30-60 seconds ────┐
494
- ├─> Send: TelemetryUpdate(minimal_stats)
495
- └─> Only send changes/deltas
496
-
497
- Root Node:
498
- ├─> Receive telemetry streams
499
- ├─> Update internal state model
500
- ├─> Detect anomalies
501
- ├─> Trigger alerts
502
- └─> Export to monitoring systems
503
-
504
- Telemetry Format:
505
- - Fixed-size binary packets (64 bytes)
506
- - Delta encoding for bandwidth efficiency
507
- - Prioritized critical metrics
508
- ```
509
-
510
- **Implementation Details:**
511
- - Compact binary telemetry format
512
- - Delta encoding (only send changes)
513
- - Priority-based transmission
514
- - Root node maintains mesh state model
515
- - Alerting on anomaly detection
516
- - Time-series data export
517
-
518
- **Pros:**
519
- - ✅ Near real-time status visibility
520
- - ✅ Minimal network overhead (delta encoding)
521
- - ✅ Automatic anomaly detection
522
- - ✅ Historical trending
523
- - ✅ Proactive alerting
524
- - ✅ Scalable to large meshes
525
-
526
- **Cons:**
527
- - ❌ Continuous bandwidth usage
528
- - ❌ Root node storage requirements
529
- - ❌ Complex state synchronization
530
- - ❌ May miss brief events between updates
531
- - ❌ Binary format less human-readable
532
- - ❌ Higher development effort
533
-
534
- **Memory Impact:** +1-2KB per node (telemetry buffer), +50-100KB at root (state model)
535
-
536
- **Code Changes:**
537
- - New telemetry protocol
538
- - Binary serialization
539
- - Delta encoding logic
540
- - State model at root
541
- - Alerting engine
542
-
543
- ---
544
-
545
- ### Option 2D: Mesh Health Dashboard Package (Application Layer)
546
-
547
- **Description:** Complete monitoring package with web UI, API, and persistent storage.
548
-
549
- **Architecture:**
550
- ```
551
- Components:
552
- 1. Dashboard Node (ESP32 with display/web server)
553
- 2. Collector Service (gathers mesh status)
554
- 3. Web Interface (real-time monitoring)
555
- 4. REST API (programmatic access)
556
- 5. SQLite/LittleFS storage (history)
557
- 6. Alert system (email/notifications)
558
-
559
- Features:
560
- ├─> Live mesh topology visualization
561
- ├─> Per-node performance graphs
562
- ├─> Alert history and management
563
- ├─> Firmware version tracking
564
- └─> Network health score
565
- ```
566
-
567
- **Implementation Details:**
568
- - Dedicated dashboard application
569
- - AsyncWebServer for UI
570
- - ChartJS for graphs
571
- - JSON API for status queries
572
- - LittleFS for data persistence
573
- - SMTP or webhook alerts
574
- - Mobile-responsive design
575
-
576
- **Pros:**
577
- - ✅ Complete monitoring solution
578
- - ✅ Professional visualization
579
- - ✅ Historical data and trends
580
- - ✅ User-friendly interface
581
- - ✅ Alert management
582
- - ✅ Production-ready
583
-
584
- **Cons:**
585
- - ❌ Requires dedicated ESP32 node
586
- - ❌ Complex deployment
587
- - ❌ Large codebase to maintain
588
- - ❌ Web UI development overhead
589
- - ❌ Not suitable for headless deployments
590
- - ❌ May require external dependencies
591
-
592
- **Memory Impact:** +50-100KB application code, +200KB+ flash (web assets)
593
-
594
- **Code Changes:**
595
- - New example/dashboard application
596
- - Web server implementation
597
- - Data storage layer
598
- - Visualization components
599
-
600
- ---
601
-
602
- ### Option 2E: MQTT Status Bridge (Bridge Extension)
603
-
604
- **Description:** Extend existing MQTT bridge to publish comprehensive mesh status to MQTT topics.
605
-
606
- **Architecture:**
607
- ```
608
- MQTT Topics:
609
- mesh/status/nodes → Node list with states
610
- mesh/status/topology → Mesh structure JSON
611
- mesh/status/metrics → Performance metrics
612
- mesh/status/alerts → Active alerts
613
- mesh/status/node/{id}/health → Per-node health
614
-
615
- External Integration:
616
- ├─> Grafana/InfluxDB (metrics)
617
- ├─> Prometheus (monitoring)
618
- ├─> Home Assistant (automation)
619
- ├─> Node-RED (processing)
620
- └─> Custom dashboards
621
- ```
622
-
623
- **Implementation Details:**
624
- - Extend existing MQTT bridge example
625
- - Status collection and aggregation
626
- - Periodic MQTT publishing
627
- - Configurable topic schema
628
- - JSON payload format
629
- - Integration with standard monitoring tools
630
-
631
- **Pros:**
632
- - ✅ Leverages existing MQTT infrastructure
633
- - ✅ Easy integration with monitoring platforms
634
- - ✅ Standardized format (JSON/MQTT)
635
- - ✅ Flexible consumption (many tools support MQTT)
636
- - ✅ Minimal mesh network overhead
637
- - ✅ Cloud-ready architecture
638
-
639
- **Cons:**
640
- - ❌ Requires MQTT broker
641
- - ❌ Bridge node is single point of failure
642
- - ❌ Periodic updates may miss events
643
- - ❌ MQTT bandwidth for large meshes
644
- - ❌ External dependency
645
- - ❌ Limited to MQTT-capable nodes
646
-
647
- **Memory Impact:** +5-8KB (MQTT status publishing)
648
-
649
- **Code Changes:**
650
- - Extend MQTT bridge example
651
- - Status collection logic
652
- - MQTT topic handlers
653
- - JSON formatting
654
-
655
- ---
656
-
657
- ### Status Options Comparison Matrix
658
-
659
- | Option | Real-time | Overhead | Complexity | Integration | Completeness | Deployment |
660
- |--------|-----------|----------|------------|-------------|--------------|------------|
661
- | 2A: Enhanced StatusPackage | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
662
- | 2B: Status Service | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
663
- | 2C: Telemetry Stream | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
664
- | 2D: Health Dashboard | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐ |
665
- | 2E: MQTT Bridge | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
666
-
667
- ---
668
-
669
- ## Recommended Implementation Strategy
670
-
671
- ### Phase 1: Foundation (Quick Wins)
672
-
673
- **Priority 1: Option 1E + Option 2A (3-4 weeks)**
674
- - Implement compressed OTA transfers
675
- - Enhance Alteriom StatusPackage with metrics integration
676
- - Low complexity, high value
677
- - Builds on existing infrastructure
678
- - Immediate benefits for current users
679
-
680
- **Benefits:**
681
- - 40-60% faster OTA distribution
682
- - Standardized status reporting
683
- - Minimal risk
684
- - Easy adoption
685
-
686
- ### Phase 2: Core Improvements (Medium Term)
687
-
688
- **Priority 2: Option 1A + Option 2E (6-8 weeks)**
689
- - Implement mesh-wide broadcast OTA
690
- - Create MQTT status bridge
691
- - Significant performance improvements
692
- - Better monitoring capabilities
693
- - Production-ready features
694
-
695
- **Benefits:**
696
- - Scalable OTA distribution
697
- - Cloud integration
698
- - Professional monitoring
699
- - Enterprise-ready
700
-
701
- ### Phase 3: Advanced Features (Long Term)
702
-
703
- **Priority 3: Option 1B + Option 2C (3-4 months)**
704
- - Add progressive rollout OTA
705
- - Implement telemetry streaming
706
- - Production-safe deployments
707
- - Real-time monitoring
708
- - Large-scale deployment support
709
-
710
- **Benefits:**
711
- - Zero-downtime updates
712
- - Proactive issue detection
713
- - Enterprise-grade reliability
714
- - Advanced diagnostics
715
-
716
- ### Phase 4: Optional Enhancements
717
-
718
- **Consider if needed:**
719
- - **Option 1C (Peer-to-Peer OTA)**: Only if mesh size > 50 nodes
720
- - **Option 1D (MQTT OTA Bridge)**: If MQTT already used
721
- - **Option 2D (Health Dashboard)**: For user-facing deployments
722
-
723
- ---
724
-
725
- ## Implementation Details
726
-
727
- ### For OTA Enhancements:
728
-
729
- **Common Requirements:**
730
- ```cpp
731
- // Enable OTA in configuration
732
- #define PAINLESSMESH_ENABLE_OTA
733
-
734
- // New configuration options
735
- #define OTA_BROADCAST_MODE // Enable broadcast distribution
736
- #define OTA_COMPRESSION // Enable compressed transfers
737
- #define OTA_PROGRESSIVE_ROLLOUT // Enable phased deployments
738
- #define OTA_MAX_CHUNK_SIZE 1024
739
- #define OTA_COMPRESSION_LEVEL 6
740
- ```
741
-
742
- **API Example (Compressed Broadcast OTA):**
743
- ```cpp
744
- // Sender node
745
- mesh.initOTASend(firmwareCallback, OTA_PART_SIZE);
746
- auto task = mesh.offerOTA(
747
- "sensor", // role
748
- "ESP32", // hardware
749
- firmwareMD5, // MD5 hash
750
- numParts, // total chunks
751
- false, // not forced
752
- true, // broadcast mode
753
- true // compressed
754
- );
755
-
756
- // Receiver node
757
- mesh.initOTAReceive(
758
- "sensor", // my role
759
- progressCallback, // progress reporting
760
- true, // accept compressed
761
- true // accept broadcast
762
- );
763
- ```
764
-
765
- ### For Status Enhancements:
766
-
767
- **Enhanced StatusPackage API:**
768
- ```cpp
769
- #include "examples/alteriom/alteriom_sensor_package.hpp"
770
- #include "painlessmesh/metrics.hpp"
771
-
772
- // Create enhanced status
773
- alteriom::EnhancedStatusPackage status;
774
- status.deviceStatus = DEVICE_OK;
775
- status.uptime = mesh.getNodeTime() / 1000000;
776
- status.freeMemory = ESP.getFreeHeap() / 1024;
777
- status.firmwareVersion = "v2.1.3";
778
- status.firmwareMD5 = currentFirmwareMD5;
779
-
780
- // Integrate metrics
781
- auto& metrics = mesh.getMetrics();
782
- status.messagesReceived = metrics.message_stats().messages_received;
783
- status.messagesSent = metrics.message_stats().messages_sent;
784
- status.avgLatency = metrics.message_stats().average_latency_ms();
785
- status.nodeCount = mesh.getNodeList().size();
786
-
787
- // Broadcast status
788
- mesh.sendBroadcast(status.toJsonString());
789
- ```
790
-
791
- **MQTT Status Bridge API:**
792
- ```cpp
793
- #include "examples/bridge/mqtt_status_bridge.hpp"
794
-
795
- MqttStatusBridge statusBridge(mesh, mqttClient);
796
- statusBridge.setPublishInterval(30000); // 30 seconds
797
- statusBridge.enableTopology(true);
798
- statusBridge.enableMetrics(true);
799
- statusBridge.enableAlerts(true);
800
- statusBridge.begin();
801
-
802
- // Status automatically published to:
803
- // - mesh/status/nodes
804
- // - mesh/status/topology
805
- // - mesh/status/metrics
806
- // - mesh/status/alerts
807
- ```
808
-
809
- ---
810
-
811
- ## Risk Assessment
812
-
813
- ### Technical Risks
814
-
815
- | Risk | Probability | Impact | Mitigation |
816
- |------|------------|--------|------------|
817
- | OTA failures brick nodes | Medium | Critical | Rollback mechanism, phased rollout |
818
- | Network congestion | Medium | High | Rate limiting, adaptive throttling |
819
- | Memory exhaustion | Low | High | Careful buffer management, testing |
820
- | Security vulnerabilities | Low | Critical | Signature verification, encryption |
821
- | Backward compatibility | Medium | Medium | Feature flags, version negotiation |
822
-
823
- ### Operational Risks
824
-
825
- | Risk | Probability | Impact | Mitigation |
826
- |------|------------|--------|------------|
827
- | Increased support burden | Medium | Medium | Good documentation, examples |
828
- | Performance degradation | Low | High | Extensive testing, benchmarking |
829
- | User adoption challenges | Medium | Low | Gradual rollout, clear migration path |
830
- | Maintenance overhead | Medium | Medium | Modular design, comprehensive tests |
831
-
832
- ---
833
-
834
- ## Success Metrics
835
-
836
- ### OTA Improvements
837
- - ✅ 50%+ reduction in OTA completion time for 10+ node mesh
838
- - ✅ 90%+ OTA success rate
839
- - ✅ Zero permanently bricked nodes in testing
840
- - ✅ Support for 100+ node meshes
841
- - ✅ < 5% memory overhead
842
-
843
- ### Status Monitoring
844
- - ✅ Sub-minute status freshness
845
- - ✅ 99%+ node visibility
846
- - ✅ Integration with 3+ monitoring platforms
847
- - ✅ Real-time alerting (< 1 min detection)
848
- - ✅ < 2% network overhead
849
-
850
- ---
851
-
852
- ## Next Steps
853
-
854
- ### Immediate Actions (Week 1-2)
855
- 1. ✅ Review this proposal with stakeholders
856
- 2. ⏳ Select priority options for Phase 1
857
- 3. ⏳ Create detailed design documents for selected options
858
- 4. ⏳ Set up development branch
859
- 5. ⏳ Create test mesh network (10+ nodes)
860
-
861
- ### Development Phase (Week 3-12)
862
- 1. ⏳ Implement Phase 1 features (Option 1E + 2A)
863
- 2. ⏳ Write comprehensive tests
864
- 3. ⏳ Create example applications
865
- 4. ⏳ Update documentation
866
- 5. ⏳ Beta testing with Alteriom users
867
-
868
- ### Release Phase (Week 13+)
869
- 1. ⏳ Gather feedback, iterate
870
- 2. ⏳ Finalize API
871
- 3. ⏳ Complete documentation
872
- 4. ⏳ Release as minor version update
873
- 5. ⏳ Plan Phase 2 features
874
-
875
- ---
876
-
877
- ## Conclusion
878
-
879
- This proposal presents multiple viable options for enhancing painlessMesh's OTA distribution and status monitoring capabilities. The recommended phased approach balances:
880
-
881
- - **Quick wins** (compressed OTA, enhanced status) with minimal risk
882
- - **Core improvements** (broadcast OTA, MQTT bridge) for production readiness
883
- - **Advanced features** (progressive rollout, telemetry) for enterprise deployments
884
-
885
- **Recommended Start:** Implement **Option 1E (Compression)** and **Option 2A (Enhanced StatusPackage)** as Phase 1, providing immediate value with low complexity.
886
-
887
- All proposed solutions are designed as plugins or extensions, maintaining backward compatibility and allowing gradual adoption by users.
888
-
889
- ---
890
-
891
- ## Appendix A: Related Work
892
-
893
- - **ESP-IDF OTA**: ESP32's native OTA (HTTPS/HTTP based)
894
- - **ArduinoOTA**: Arduino's standard OTA library
895
- - **ESPHome OTA**: Home Assistant's ESP OTA implementation
896
- - **AWS IoT Jobs**: Cloud-based device management
897
- - **Mender**: Over-the-air updater for embedded Linux
898
-
899
- ## Appendix B: References
900
-
901
- - painlessMesh OTA Example: `examples/otaSender/otaSender.ino`
902
- - painlessMesh Metrics: `src/painlessmesh/metrics.hpp`
903
- - Alteriom Packages: `examples/alteriom/alteriom_sensor_package.hpp`
904
- - painlessMesh Architecture: `docs/architecture/mesh-architecture.md`
905
-
906
- ---
907
-
908
- **Document Version:** 1.0
909
- **Last Updated:** December 2024
910
- **Authors:** painlessMesh Development Team
911
- **Status:** Ready for Review
1
+ # OTA and Mesh Status Enhancement Options
2
+
3
+ **Date:** December 2024
4
+ **Version:** 1.0
5
+ **Status:** Proposal for Discussion
6
+
7
+ ## Executive Summary
8
+
9
+ This document explores enhancement options for two key features in painlessMesh:
10
+
11
+ 1. **OTA Distribution Improvements** - More efficient firmware distribution across mesh networks
12
+ 2. **Mesh Network Status Retrieval** - Comprehensive status monitoring and reporting capabilities
13
+
14
+ Both features are critical for production IoT deployments where remote management, monitoring, and updates are essential.
15
+
16
+ ---
17
+
18
+ ## Current State Analysis
19
+
20
+ ### Existing OTA Implementation
21
+
22
+ painlessMesh already includes a functional OTA system (enabled with `PAINLESSMESH_ENABLE_OTA`):
23
+
24
+ **Current Architecture:**
25
+ - **Three-message protocol**: `Announce` → `DataRequest` → `Data`
26
+ - **Role-based targeting**: Firmware can target specific node roles (e.g., "sensor", "gateway")
27
+ - **Hardware detection**: Automatically distinguishes ESP32 vs ESP8266
28
+ - **MD5 validation**: Ensures firmware integrity
29
+ - **Broadcast mode**: Optional optimization where root node requests on behalf of all nodes
30
+ - **Persistent state**: Tracks OTA progress across reboots
31
+
32
+ **Current Workflow:**
33
+ 1. Sender node (typically root) announces firmware availability via periodic broadcasts
34
+ 2. Nodes check if firmware matches their role/hardware and has different MD5
35
+ 3. Nodes request firmware chunks (configurable size, e.g., 1024 bytes)
36
+ 4. Sender responds with Base64-encoded firmware data
37
+ 5. Nodes write to flash and reboot when complete
38
+
39
+ **Current Limitations:**
40
+ 1. **Single-threaded distribution**: Each node requests independently, creating network congestion
41
+ 2. **No resume capability**: Interrupted updates restart from beginning
42
+ 3. **Limited progress visibility**: No centralized view of update progress across mesh
43
+ 4. **Relies on external storage**: Sender needs SD card or other storage (as shown in examples)
44
+ 5. **MQTT dependency**: Users currently rely on MQTT commands to trigger updates
45
+ 6. **No rollback mechanism**: Failed updates may brick nodes
46
+
47
+ ### Existing Mesh Status Capabilities
48
+
49
+ painlessMesh has several status/monitoring features:
50
+
51
+ **Available APIs:**
52
+ - `getNodeList()` - Get all connected node IDs
53
+ - `isConnected(nodeId)` - Check if node is reachable
54
+ - `subConnectionJson()` - Get mesh topology as JSON
55
+ - `getNodeTime()` - Get synchronized mesh time
56
+ - `onNodeDelayReceived()` - Network delay measurements
57
+ - `metrics.hpp` - Comprehensive performance metrics (MessageStats, MemoryStats, TopologyStats)
58
+
59
+ **Alteriom StatusPackage (Type 202):**
60
+ ```cpp
61
+ class StatusPackage {
62
+ uint8_t deviceStatus;
63
+ uint32_t uptime;
64
+ uint16_t freeMemory;
65
+ uint8_t wifiStrength;
66
+ TSTRING firmwareVersion;
67
+ };
68
+ ```
69
+
70
+ **Current Limitations:**
71
+ 1. **No centralized status aggregation**: Each node maintains its own status
72
+ 2. **Manual status collection**: Application code must poll each node
73
+ 3. **Limited standardization**: Status format varies by implementation
74
+ 4. **No historical data**: No built-in trending or alerting
75
+ 5. **Network-intensive**: Gathering mesh-wide status requires many messages
76
+
77
+ ---
78
+
79
+ ## Feature 1: Enhanced OTA Distribution
80
+
81
+ ### Option 1A: Mesh-Wide Broadcast OTA (Plugin Extension)
82
+
83
+ **Description:** Extend the existing OTA plugin with true mesh-wide broadcast distribution, where firmware chunks are broadcast to all nodes simultaneously.
84
+
85
+ **Architecture:**
86
+ ```
87
+ Sender Node (Root)
88
+ ├─> Broadcast: Announce(firmware_info)
89
+ ├─> Broadcast: Data(chunk_0) ────┐
90
+ ├─> Broadcast: Data(chunk_1) ├─> All Nodes Receive
91
+ ├─> Broadcast: Data(chunk_2) │ and Cache Chunks
92
+ └─> Broadcast: Data(chunk_N) ────┘
93
+
94
+ Nodes:
95
+ ├─> Listen for broadcasts
96
+ ├─> Assemble chunks in order
97
+ ├─> Send ACK when complete
98
+ └─> Reboot into new firmware
99
+ ```
100
+
101
+ **Implementation Details:**
102
+ - New `BroadcastMode::MESH_WIDE` option in OTA plugin
103
+ - Sender broadcasts all chunks at controlled rate (e.g., 1 chunk/second)
104
+ - Nodes maintain chunk bitmap to track received chunks
105
+ - Out-of-order chunk assembly with gap detection
106
+ - Negative acknowledgment (NAK) for missing chunks
107
+ - Adaptive rate control based on network congestion
108
+
109
+ **Pros:**
110
+ - ✅ Dramatically reduces network traffic (single broadcast vs N unicasts)
111
+ - ✅ Faster distribution to large meshes (parallel vs sequential)
112
+ - ✅ Works with existing OTA infrastructure
113
+ - ✅ Backward compatible (nodes can opt-in)
114
+ - ✅ Natural fit for mesh topology
115
+ - ✅ Efficient use of mesh broadcast capabilities
116
+
117
+ **Cons:**
118
+ - ❌ Higher memory requirements (chunk caching)
119
+ - ❌ Potential for broadcast storms if not rate-limited
120
+ - ❌ Requires reliable broadcast delivery (mesh may drop packets)
121
+ - ❌ All nodes must support same firmware (less flexible)
122
+ - ❌ Difficult to target specific nodes
123
+ - ❌ May overwhelm small nodes with limited RAM
124
+
125
+ **Memory Impact:** +2-5KB per node (chunk bitmap + buffer)
126
+
127
+ **Code Changes:**
128
+ - Extend `ota.hpp` with broadcast mode
129
+ - Add chunk bitmap tracking
130
+ - Implement NAK/retransmission logic
131
+ - Add rate limiting
132
+
133
+ ---
134
+
135
+ ### Option 1B: Progressive Rollout OTA (Plugin)
136
+
137
+ **Description:** New plugin that distributes firmware in waves, starting with a test group and progressively expanding.
138
+
139
+ **Architecture:**
140
+ ```
141
+ Phase 1: Canary (1-2 nodes)
142
+ └─> Monitor for 5-10 minutes
143
+
144
+ Phase 2: Early Adopters (10-20% of nodes)
145
+ └─> Monitor for stability
146
+
147
+ Phase 3: General Rollout (remaining nodes)
148
+ └─> Automatic or manual trigger
149
+
150
+ Rollback: If failures detected
151
+ └─> Halt distribution, report issues
152
+ ```
153
+
154
+ **Implementation Details:**
155
+ - New `ProgressiveOTA` plugin class
156
+ - Configurable phases with node selection criteria
157
+ - Health monitoring between phases
158
+ - Automatic rollback on failures
159
+ - Progress tracking and reporting
160
+ - Integration with mesh status APIs
161
+
162
+ **Pros:**
163
+ - ✅ Production-safe deployments
164
+ - ✅ Early failure detection
165
+ - ✅ Reduced risk of mesh-wide failures
166
+ - ✅ Clear audit trail
167
+ - ✅ Operator control over rollout speed
168
+ - ✅ Statistical validation before full deployment
169
+
170
+ **Cons:**
171
+ - ❌ Slower overall deployment time
172
+ - ❌ More complex implementation
173
+ - ❌ Requires centralized coordination
174
+ - ❌ May leave mesh in mixed-version state
175
+ - ❌ Additional logic for version compatibility
176
+ - ❌ Higher development effort
177
+
178
+ **Memory Impact:** +3-7KB (rollout state tracking)
179
+
180
+ **Code Changes:**
181
+ - New `progressive_ota.hpp` plugin
182
+ - Phase management logic
183
+ - Health check integration
184
+ - Rollback mechanism
185
+
186
+ ---
187
+
188
+ ### Option 1C: Peer-to-Peer OTA Distribution (Protocol Enhancement)
189
+
190
+ **Description:** Nodes that complete OTA can become distribution points, creating a viral propagation pattern.
191
+
192
+ **Architecture:**
193
+ ```
194
+ Initial State:
195
+ Sender ─> Node A, Node B, Node C (first wave)
196
+
197
+ After completion:
198
+ Sender ─> Node D, Node E
199
+ Node A ─> Node F, Node G
200
+ Node B ─> Node H, Node I
201
+ Node C ─> Node J, Node K
202
+
203
+ Result: Exponential distribution speed
204
+ ```
205
+
206
+ **Implementation Details:**
207
+ - Updated nodes cache firmware in flash
208
+ - Nodes advertise available firmware
209
+ - Automatic peer discovery for OTA
210
+ - Load balancing across multiple sources
211
+ - Chunk verification and forwarding
212
+ - Bandwidth management
213
+
214
+ **Pros:**
215
+ - ✅ Exponential distribution speed
216
+ - ✅ Reduces load on single sender
217
+ - ✅ Fault-tolerant (multiple sources)
218
+ - ✅ Scales to very large meshes
219
+ - ✅ Leverages mesh redundancy
220
+ - ✅ Self-healing distribution
221
+
222
+ **Cons:**
223
+ - ❌ Significant flash memory requirements (~200-500KB per node)
224
+ - ❌ Complex state management
225
+ - ❌ Version fragmentation risks
226
+ - ❌ Security concerns (firmware validation critical)
227
+ - ❌ Flash wear concerns
228
+ - ❌ Not suitable for resource-constrained devices
229
+
230
+ **Memory Impact:** +200-500KB flash (cached firmware)
231
+
232
+ **Code Changes:**
233
+ - Major refactor of OTA system
234
+ - Firmware caching mechanism
235
+ - Peer discovery protocol
236
+ - Multi-source download logic
237
+
238
+ ---
239
+
240
+ ### Option 1D: MQTT-Integrated OTA Bridge (Bridge Plugin)
241
+
242
+ **Description:** Standardized MQTT interface for OTA operations, integrating with existing MQTT bridge functionality.
243
+
244
+ **Architecture:**
245
+ ```
246
+ MQTT Broker
247
+ ├─> Topic: mesh/ota/announce
248
+ ├─> Topic: mesh/ota/status
249
+ └─> Topic: mesh/ota/control
250
+
251
+ Bridge Node (Root)
252
+ ├─> Subscribe to MQTT topics
253
+ ├─> Translate to mesh OTA protocol
254
+ ├─> Aggregate status from nodes
255
+ └─> Publish progress to MQTT
256
+
257
+ External Tools:
258
+ ├─> Upload firmware to broker
259
+ ├─> Monitor progress via MQTT
260
+ └─> Control rollout parameters
261
+ ```
262
+
263
+ **Implementation Details:**
264
+ - New `MqttOtaBridge` plugin
265
+ - MQTT topic schema for OTA operations
266
+ - Firmware chunking over MQTT
267
+ - Status aggregation and reporting
268
+ - Integration with existing MQTT bridge example
269
+ - Support for external OTA tools
270
+
271
+ **Pros:**
272
+ - ✅ Leverages existing MQTT infrastructure
273
+ - ✅ Easy integration with cloud platforms
274
+ - ✅ Centralized management and monitoring
275
+ - ✅ Works with standard MQTT tools
276
+ - ✅ Supports remote firmware uploads
277
+ - ✅ Audit logging through MQTT
278
+
279
+ **Cons:**
280
+ - ❌ Requires MQTT broker infrastructure
281
+ - ❌ Bridge node is single point of failure
282
+ - ❌ Additional network dependency
283
+ - ❌ MQTT overhead for large firmware files
284
+ - ❌ Limited to nodes with MQTT bridge connectivity
285
+ - ❌ Not standalone (requires external components)
286
+
287
+ **Memory Impact:** +5-10KB (MQTT integration)
288
+
289
+ **Code Changes:**
290
+ - New `mqtt_ota_bridge.hpp` plugin
291
+ - MQTT topic handlers
292
+ - Firmware buffer management
293
+ - Status reporting
294
+
295
+ ---
296
+
297
+ ### Option 1E: Compressed OTA Transfer (Plugin Enhancement)
298
+
299
+ **Description:** Add firmware compression to reduce transfer time and network bandwidth.
300
+
301
+ **Architecture:**
302
+ ```
303
+ Build Process:
304
+ firmware.bin ─> gzip ─> firmware.bin.gz
305
+
306
+ Distribution:
307
+ 1. Sender announces compressed firmware
308
+ 2. Nodes download compressed chunks
309
+ 3. Nodes decompress during flash write
310
+ 4. Verification using original MD5
311
+
312
+ Compression Ratio: 40-60% typical
313
+ ```
314
+
315
+ **Implementation Details:**
316
+ - Integration with lightweight compression (heatshrink, miniz)
317
+ - Streaming decompression during flash write
318
+ - Backward compatibility with uncompressed
319
+ - Compression flag in Announce message
320
+ - Adjusted chunk sizes for compressed data
321
+
322
+ **Pros:**
323
+ - ✅ 40-60% bandwidth reduction
324
+ - ✅ Faster distribution over mesh
325
+ - ✅ Works with all distribution methods
326
+ - ✅ Can combine with other options
327
+ - ✅ Reduced congestion on network
328
+ - ✅ Lower energy consumption
329
+
330
+ **Cons:**
331
+ - ❌ Additional RAM for decompression buffer (4-8KB)
332
+ - ❌ CPU overhead for decompression
333
+ - ❌ More complex error handling
334
+ - ❌ Requires compatible compression tools
335
+ - ❌ May not help with already-compressed code
336
+ - ❌ Slightly slower flash writes
337
+
338
+ **Memory Impact:** +4-8KB RAM (decompression buffer)
339
+
340
+ **Code Changes:**
341
+ - Add compression library
342
+ - Update OTA handlers
343
+ - Streaming decompression logic
344
+ - Build process updates
345
+
346
+ ---
347
+
348
+ ### OTA Options Comparison Matrix
349
+
350
+ | Option | Speed | Complexity | Memory | Scalability | Safety | Compatibility |
351
+ |--------|-------|------------|--------|-------------|--------|---------------|
352
+ | 1A: Mesh-Wide Broadcast | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | +2-5KB | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
353
+ | 1B: Progressive Rollout | ⭐⭐ | ⭐⭐⭐⭐ | +3-7KB | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
354
+ | 1C: Peer-to-Peer | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | +200-500KB | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ |
355
+ | 1D: MQTT Bridge | ⭐⭐⭐ | ⭐⭐⭐ | +5-10KB | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
356
+ | 1E: Compression | ⭐⭐⭐⭐ | ⭐⭐ | +4-8KB | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
357
+
358
+ ---
359
+
360
+ ## Feature 2: Mesh Network Status Retrieval
361
+
362
+ ### Option 2A: Alteriom StatusPackage Enhancement (Package Extension)
363
+
364
+ **Description:** Extend the existing Alteriom `StatusPackage` (Type 202) with comprehensive health metrics.
365
+
366
+ **Enhanced StatusPackage:**
367
+ ```cpp
368
+ class EnhancedStatusPackage : public BroadcastPackage {
369
+ public:
370
+ // Device Health
371
+ uint8_t deviceStatus; // Status flags
372
+ uint32_t uptime; // Uptime in seconds
373
+ uint16_t freeMemory; // Free heap (KB)
374
+ uint8_t wifiStrength; // RSSI percentage
375
+ TSTRING firmwareVersion; // Current version
376
+ TSTRING firmwareMD5; // Firmware hash
377
+
378
+ // Mesh Statistics
379
+ uint16_t nodeCount; // Known nodes
380
+ uint8_t connectionCount; // Direct connections
381
+ uint32_t messagesReceived; // Message counter
382
+ uint32_t messagesSent; // Message counter
383
+ uint32_t messagesDropped; // Error counter
384
+
385
+ // Performance Metrics
386
+ uint16_t avgLatency; // Average latency (ms)
387
+ uint8_t packetLossRate; // Loss rate percentage
388
+ uint16_t throughput; // Bytes/sec
389
+
390
+ // Warnings/Alerts
391
+ uint8_t alertFlags; // Bit flags for issues
392
+ TSTRING lastError; // Last error message
393
+ };
394
+ ```
395
+
396
+ **Implementation Details:**
397
+ - Extend existing `StatusPackage` class
398
+ - Integrate with `metrics.hpp` data
399
+ - Periodic status broadcasts (configurable interval)
400
+ - Emergency status on critical events
401
+ - Version compatibility checks
402
+
403
+ **Pros:**
404
+ - ✅ Builds on existing Alteriom infrastructure
405
+ - ✅ Familiar API for Alteriom users
406
+ - ✅ Type-safe serialization
407
+ - ✅ Easy integration with current apps
408
+ - ✅ Minimal learning curve
409
+ - ✅ Consistent with other Alteriom packages
410
+
411
+ **Cons:**
412
+ - ❌ Limited to Alteriom fork users
413
+ - ❌ Still requires active status collection
414
+ - ❌ No built-in aggregation
415
+ - ❌ Broadcast overhead for frequent updates
416
+ - ❌ Not standardized in upstream painlessMesh
417
+ - ❌ Manual integration with monitoring tools
418
+
419
+ **Memory Impact:** +300-500 bytes per status report
420
+
421
+ **Code Changes:**
422
+ - Update `alteriom_sensor_package.hpp`
423
+ - Add integration with `metrics.hpp`
424
+ - Update examples
425
+
426
+ ---
427
+
428
+ ### Option 2B: Mesh Status Service (Plugin)
429
+
430
+ **Description:** New plugin that provides a query-based status service, allowing centralized status collection.
431
+
432
+ **Architecture:**
433
+ ```
434
+ Root/Bridge Node:
435
+ └─> Sends: StatusQuery(nodeList)
436
+
437
+ Target Nodes:
438
+ └─> Respond: StatusReport(metrics)
439
+
440
+ Root/Bridge Node:
441
+ ├─> Aggregates responses
442
+ ├─> Builds mesh-wide status
443
+ └─> Publishes via MQTT/API
444
+
445
+ Status Includes:
446
+ ├─> Per-node health metrics
447
+ ├─> Network topology map
448
+ ├─> Performance statistics
449
+ └─> Alert summaries
450
+ ```
451
+
452
+ **Implementation Details:**
453
+ - New `MeshStatusService` plugin (Type 210-215)
454
+ - Query/response protocol
455
+ - Timeout handling for non-responsive nodes
456
+ - Status caching at root node
457
+ - REST API or MQTT publishing
458
+ - Configurable query intervals
459
+
460
+ **Pros:**
461
+ - ✅ On-demand status collection (reduces traffic)
462
+ - ✅ Centralized aggregation
463
+ - ✅ Standardized status format
464
+ - ✅ Easy integration with monitoring systems
465
+ - ✅ Historical data possible
466
+ - ✅ Selective querying (specific nodes or all)
467
+
468
+ **Cons:**
469
+ - ❌ Increased implementation complexity
470
+ - ❌ Root node becomes performance bottleneck
471
+ - ❌ Query overhead on large meshes
472
+ - ❌ Not real-time (polling-based)
473
+ - ❌ May miss transient issues
474
+ - ❌ Requires root/bridge node
475
+
476
+ **Memory Impact:** +2-4KB per node, +10-20KB at root (aggregation)
477
+
478
+ **Code Changes:**
479
+ - New `mesh_status_service.hpp` plugin
480
+ - Query/response handlers
481
+ - Aggregation logic at root
482
+ - API/MQTT publishing
483
+
484
+ ---
485
+
486
+ ### Option 2C: Mesh Telemetry Stream (Protocol Extension)
487
+
488
+ **Description:** Continuous low-bandwidth telemetry stream from all nodes to root/bridge.
489
+
490
+ **Architecture:**
491
+ ```
492
+ Each Node:
493
+ Every 30-60 seconds ────┐
494
+ ├─> Send: TelemetryUpdate(minimal_stats)
495
+ └─> Only send changes/deltas
496
+
497
+ Root Node:
498
+ ├─> Receive telemetry streams
499
+ ├─> Update internal state model
500
+ ├─> Detect anomalies
501
+ ├─> Trigger alerts
502
+ └─> Export to monitoring systems
503
+
504
+ Telemetry Format:
505
+ - Fixed-size binary packets (64 bytes)
506
+ - Delta encoding for bandwidth efficiency
507
+ - Prioritized critical metrics
508
+ ```
509
+
510
+ **Implementation Details:**
511
+ - Compact binary telemetry format
512
+ - Delta encoding (only send changes)
513
+ - Priority-based transmission
514
+ - Root node maintains mesh state model
515
+ - Alerting on anomaly detection
516
+ - Time-series data export
517
+
518
+ **Pros:**
519
+ - ✅ Near real-time status visibility
520
+ - ✅ Minimal network overhead (delta encoding)
521
+ - ✅ Automatic anomaly detection
522
+ - ✅ Historical trending
523
+ - ✅ Proactive alerting
524
+ - ✅ Scalable to large meshes
525
+
526
+ **Cons:**
527
+ - ❌ Continuous bandwidth usage
528
+ - ❌ Root node storage requirements
529
+ - ❌ Complex state synchronization
530
+ - ❌ May miss brief events between updates
531
+ - ❌ Binary format less human-readable
532
+ - ❌ Higher development effort
533
+
534
+ **Memory Impact:** +1-2KB per node (telemetry buffer), +50-100KB at root (state model)
535
+
536
+ **Code Changes:**
537
+ - New telemetry protocol
538
+ - Binary serialization
539
+ - Delta encoding logic
540
+ - State model at root
541
+ - Alerting engine
542
+
543
+ ---
544
+
545
+ ### Option 2D: Mesh Health Dashboard Package (Application Layer)
546
+
547
+ **Description:** Complete monitoring package with web UI, API, and persistent storage.
548
+
549
+ **Architecture:**
550
+ ```
551
+ Components:
552
+ 1. Dashboard Node (ESP32 with display/web server)
553
+ 2. Collector Service (gathers mesh status)
554
+ 3. Web Interface (real-time monitoring)
555
+ 4. REST API (programmatic access)
556
+ 5. SQLite/LittleFS storage (history)
557
+ 6. Alert system (email/notifications)
558
+
559
+ Features:
560
+ ├─> Live mesh topology visualization
561
+ ├─> Per-node performance graphs
562
+ ├─> Alert history and management
563
+ ├─> Firmware version tracking
564
+ └─> Network health score
565
+ ```
566
+
567
+ **Implementation Details:**
568
+ - Dedicated dashboard application
569
+ - AsyncWebServer for UI
570
+ - ChartJS for graphs
571
+ - JSON API for status queries
572
+ - LittleFS for data persistence
573
+ - SMTP or webhook alerts
574
+ - Mobile-responsive design
575
+
576
+ **Pros:**
577
+ - ✅ Complete monitoring solution
578
+ - ✅ Professional visualization
579
+ - ✅ Historical data and trends
580
+ - ✅ User-friendly interface
581
+ - ✅ Alert management
582
+ - ✅ Production-ready
583
+
584
+ **Cons:**
585
+ - ❌ Requires dedicated ESP32 node
586
+ - ❌ Complex deployment
587
+ - ❌ Large codebase to maintain
588
+ - ❌ Web UI development overhead
589
+ - ❌ Not suitable for headless deployments
590
+ - ❌ May require external dependencies
591
+
592
+ **Memory Impact:** +50-100KB application code, +200KB+ flash (web assets)
593
+
594
+ **Code Changes:**
595
+ - New example/dashboard application
596
+ - Web server implementation
597
+ - Data storage layer
598
+ - Visualization components
599
+
600
+ ---
601
+
602
+ ### Option 2E: MQTT Status Bridge (Bridge Extension)
603
+
604
+ **Description:** Extend existing MQTT bridge to publish comprehensive mesh status to MQTT topics.
605
+
606
+ **Architecture:**
607
+ ```
608
+ MQTT Topics:
609
+ mesh/status/nodes → Node list with states
610
+ mesh/status/topology → Mesh structure JSON
611
+ mesh/status/metrics → Performance metrics
612
+ mesh/status/alerts → Active alerts
613
+ mesh/status/node/{id}/health → Per-node health
614
+
615
+ External Integration:
616
+ ├─> Grafana/InfluxDB (metrics)
617
+ ├─> Prometheus (monitoring)
618
+ ├─> Home Assistant (automation)
619
+ ├─> Node-RED (processing)
620
+ └─> Custom dashboards
621
+ ```
622
+
623
+ **Implementation Details:**
624
+ - Extend existing MQTT bridge example
625
+ - Status collection and aggregation
626
+ - Periodic MQTT publishing
627
+ - Configurable topic schema
628
+ - JSON payload format
629
+ - Integration with standard monitoring tools
630
+
631
+ **Pros:**
632
+ - ✅ Leverages existing MQTT infrastructure
633
+ - ✅ Easy integration with monitoring platforms
634
+ - ✅ Standardized format (JSON/MQTT)
635
+ - ✅ Flexible consumption (many tools support MQTT)
636
+ - ✅ Minimal mesh network overhead
637
+ - ✅ Cloud-ready architecture
638
+
639
+ **Cons:**
640
+ - ❌ Requires MQTT broker
641
+ - ❌ Bridge node is single point of failure
642
+ - ❌ Periodic updates may miss events
643
+ - ❌ MQTT bandwidth for large meshes
644
+ - ❌ External dependency
645
+ - ❌ Limited to MQTT-capable nodes
646
+
647
+ **Memory Impact:** +5-8KB (MQTT status publishing)
648
+
649
+ **Code Changes:**
650
+ - Extend MQTT bridge example
651
+ - Status collection logic
652
+ - MQTT topic handlers
653
+ - JSON formatting
654
+
655
+ ---
656
+
657
+ ### Status Options Comparison Matrix
658
+
659
+ | Option | Real-time | Overhead | Complexity | Integration | Completeness | Deployment |
660
+ |--------|-----------|----------|------------|-------------|--------------|------------|
661
+ | 2A: Enhanced StatusPackage | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
662
+ | 2B: Status Service | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
663
+ | 2C: Telemetry Stream | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
664
+ | 2D: Health Dashboard | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐ |
665
+ | 2E: MQTT Bridge | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
666
+
667
+ ---
668
+
669
+ ## Recommended Implementation Strategy
670
+
671
+ ### Phase 1: Foundation (Quick Wins)
672
+
673
+ **Priority 1: Option 1E + Option 2A (3-4 weeks)**
674
+ - Implement compressed OTA transfers
675
+ - Enhance Alteriom StatusPackage with metrics integration
676
+ - Low complexity, high value
677
+ - Builds on existing infrastructure
678
+ - Immediate benefits for current users
679
+
680
+ **Benefits:**
681
+ - 40-60% faster OTA distribution
682
+ - Standardized status reporting
683
+ - Minimal risk
684
+ - Easy adoption
685
+
686
+ ### Phase 2: Core Improvements (Medium Term)
687
+
688
+ **Priority 2: Option 1A + Option 2E (6-8 weeks)**
689
+ - Implement mesh-wide broadcast OTA
690
+ - Create MQTT status bridge
691
+ - Significant performance improvements
692
+ - Better monitoring capabilities
693
+ - Production-ready features
694
+
695
+ **Benefits:**
696
+ - Scalable OTA distribution
697
+ - Cloud integration
698
+ - Professional monitoring
699
+ - Enterprise-ready
700
+
701
+ ### Phase 3: Advanced Features (Long Term)
702
+
703
+ **Priority 3: Option 1B + Option 2C (3-4 months)**
704
+ - Add progressive rollout OTA
705
+ - Implement telemetry streaming
706
+ - Production-safe deployments
707
+ - Real-time monitoring
708
+ - Large-scale deployment support
709
+
710
+ **Benefits:**
711
+ - Zero-downtime updates
712
+ - Proactive issue detection
713
+ - Enterprise-grade reliability
714
+ - Advanced diagnostics
715
+
716
+ ### Phase 4: Optional Enhancements
717
+
718
+ **Consider if needed:**
719
+ - **Option 1C (Peer-to-Peer OTA)**: Only if mesh size > 50 nodes
720
+ - **Option 1D (MQTT OTA Bridge)**: If MQTT already used
721
+ - **Option 2D (Health Dashboard)**: For user-facing deployments
722
+
723
+ ---
724
+
725
+ ## Implementation Details
726
+
727
+ ### For OTA Enhancements:
728
+
729
+ **Common Requirements:**
730
+ ```cpp
731
+ // Enable OTA in configuration
732
+ #define PAINLESSMESH_ENABLE_OTA
733
+
734
+ // New configuration options
735
+ #define OTA_BROADCAST_MODE // Enable broadcast distribution
736
+ #define OTA_COMPRESSION // Enable compressed transfers
737
+ #define OTA_PROGRESSIVE_ROLLOUT // Enable phased deployments
738
+ #define OTA_MAX_CHUNK_SIZE 1024
739
+ #define OTA_COMPRESSION_LEVEL 6
740
+ ```
741
+
742
+ **API Example (Compressed Broadcast OTA):**
743
+ ```cpp
744
+ // Sender node
745
+ mesh.initOTASend(firmwareCallback, OTA_PART_SIZE);
746
+ auto task = mesh.offerOTA(
747
+ "sensor", // role
748
+ "ESP32", // hardware
749
+ firmwareMD5, // MD5 hash
750
+ numParts, // total chunks
751
+ false, // not forced
752
+ true, // broadcast mode
753
+ true // compressed
754
+ );
755
+
756
+ // Receiver node
757
+ mesh.initOTAReceive(
758
+ "sensor", // my role
759
+ progressCallback, // progress reporting
760
+ true, // accept compressed
761
+ true // accept broadcast
762
+ );
763
+ ```
764
+
765
+ ### For Status Enhancements:
766
+
767
+ **Enhanced StatusPackage API:**
768
+ ```cpp
769
+ #include "examples/alteriom/alteriom_sensor_package.hpp"
770
+ #include "painlessmesh/metrics.hpp"
771
+
772
+ // Create enhanced status
773
+ alteriom::EnhancedStatusPackage status;
774
+ status.deviceStatus = DEVICE_OK;
775
+ status.uptime = mesh.getNodeTime() / 1000000;
776
+ status.freeMemory = ESP.getFreeHeap() / 1024;
777
+ status.firmwareVersion = "v2.1.3";
778
+ status.firmwareMD5 = currentFirmwareMD5;
779
+
780
+ // Integrate metrics
781
+ auto& metrics = mesh.getMetrics();
782
+ status.messagesReceived = metrics.message_stats().messages_received;
783
+ status.messagesSent = metrics.message_stats().messages_sent;
784
+ status.avgLatency = metrics.message_stats().average_latency_ms();
785
+ status.nodeCount = mesh.getNodeList().size();
786
+
787
+ // Broadcast status
788
+ mesh.sendBroadcast(status.toJsonString());
789
+ ```
790
+
791
+ **MQTT Status Bridge API:**
792
+ ```cpp
793
+ #include "examples/bridge/mqtt_status_bridge.hpp"
794
+
795
+ MqttStatusBridge statusBridge(mesh, mqttClient);
796
+ statusBridge.setPublishInterval(30000); // 30 seconds
797
+ statusBridge.enableTopology(true);
798
+ statusBridge.enableMetrics(true);
799
+ statusBridge.enableAlerts(true);
800
+ statusBridge.begin();
801
+
802
+ // Status automatically published to:
803
+ // - mesh/status/nodes
804
+ // - mesh/status/topology
805
+ // - mesh/status/metrics
806
+ // - mesh/status/alerts
807
+ ```
808
+
809
+ ---
810
+
811
+ ## Risk Assessment
812
+
813
+ ### Technical Risks
814
+
815
+ | Risk | Probability | Impact | Mitigation |
816
+ |------|------------|--------|------------|
817
+ | OTA failures brick nodes | Medium | Critical | Rollback mechanism, phased rollout |
818
+ | Network congestion | Medium | High | Rate limiting, adaptive throttling |
819
+ | Memory exhaustion | Low | High | Careful buffer management, testing |
820
+ | Security vulnerabilities | Low | Critical | Signature verification, encryption |
821
+ | Backward compatibility | Medium | Medium | Feature flags, version negotiation |
822
+
823
+ ### Operational Risks
824
+
825
+ | Risk | Probability | Impact | Mitigation |
826
+ |------|------------|--------|------------|
827
+ | Increased support burden | Medium | Medium | Good documentation, examples |
828
+ | Performance degradation | Low | High | Extensive testing, benchmarking |
829
+ | User adoption challenges | Medium | Low | Gradual rollout, clear migration path |
830
+ | Maintenance overhead | Medium | Medium | Modular design, comprehensive tests |
831
+
832
+ ---
833
+
834
+ ## Success Metrics
835
+
836
+ ### OTA Improvements
837
+ - ✅ 50%+ reduction in OTA completion time for 10+ node mesh
838
+ - ✅ 90%+ OTA success rate
839
+ - ✅ Zero permanently bricked nodes in testing
840
+ - ✅ Support for 100+ node meshes
841
+ - ✅ < 5% memory overhead
842
+
843
+ ### Status Monitoring
844
+ - ✅ Sub-minute status freshness
845
+ - ✅ 99%+ node visibility
846
+ - ✅ Integration with 3+ monitoring platforms
847
+ - ✅ Real-time alerting (< 1 min detection)
848
+ - ✅ < 2% network overhead
849
+
850
+ ---
851
+
852
+ ## Next Steps
853
+
854
+ ### Immediate Actions (Week 1-2)
855
+ 1. ✅ Review this proposal with stakeholders
856
+ 2. ⏳ Select priority options for Phase 1
857
+ 3. ⏳ Create detailed design documents for selected options
858
+ 4. ⏳ Set up development branch
859
+ 5. ⏳ Create test mesh network (10+ nodes)
860
+
861
+ ### Development Phase (Week 3-12)
862
+ 1. ⏳ Implement Phase 1 features (Option 1E + 2A)
863
+ 2. ⏳ Write comprehensive tests
864
+ 3. ⏳ Create example applications
865
+ 4. ⏳ Update documentation
866
+ 5. ⏳ Beta testing with Alteriom users
867
+
868
+ ### Release Phase (Week 13+)
869
+ 1. ⏳ Gather feedback, iterate
870
+ 2. ⏳ Finalize API
871
+ 3. ⏳ Complete documentation
872
+ 4. ⏳ Release as minor version update
873
+ 5. ⏳ Plan Phase 2 features
874
+
875
+ ---
876
+
877
+ ## Conclusion
878
+
879
+ This proposal presents multiple viable options for enhancing painlessMesh's OTA distribution and status monitoring capabilities. The recommended phased approach balances:
880
+
881
+ - **Quick wins** (compressed OTA, enhanced status) with minimal risk
882
+ - **Core improvements** (broadcast OTA, MQTT bridge) for production readiness
883
+ - **Advanced features** (progressive rollout, telemetry) for enterprise deployments
884
+
885
+ **Recommended Start:** Implement **Option 1E (Compression)** and **Option 2A (Enhanced StatusPackage)** as Phase 1, providing immediate value with low complexity.
886
+
887
+ All proposed solutions are designed as plugins or extensions, maintaining backward compatibility and allowing gradual adoption by users.
888
+
889
+ ---
890
+
891
+ ## Appendix A: Related Work
892
+
893
+ - **ESP-IDF OTA**: ESP32's native OTA (HTTPS/HTTP based)
894
+ - **ArduinoOTA**: Arduino's standard OTA library
895
+ - **ESPHome OTA**: Home Assistant's ESP OTA implementation
896
+ - **AWS IoT Jobs**: Cloud-based device management
897
+ - **Mender**: Over-the-air updater for embedded Linux
898
+
899
+ ## Appendix B: References
900
+
901
+ - painlessMesh OTA Example: `examples/otaSender/otaSender.ino`
902
+ - painlessMesh Metrics: `src/painlessmesh/metrics.hpp`
903
+ - Alteriom Packages: `examples/alteriom/alteriom_sensor_package.hpp`
904
+ - painlessMesh Architecture: `docs/architecture/mesh-architecture.md`
905
+
906
+ ---
907
+
908
+ **Document Version:** 1.0
909
+ **Last Updated:** December 2024
910
+ **Authors:** painlessMesh Development Team
911
+ **Status:** Ready for Review