@alteriom/painlessmesh 1.7.4 → 1.7.6

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 (1740) hide show
  1. package/CHANGELOG.md +548 -473
  2. package/LICENSE +674 -674
  3. package/README.md +502 -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_CHECKLIST_v1.7.5.md +315 -0
  61. package/docs/releases/RELEASE_NOTES_1.7.0.md +539 -539
  62. package/docs/releases/RELEASE_PLAN_v1.7.6.md +816 -0
  63. package/docs/releases/RELEASE_SUMMARY_v1.7.4.md +276 -276
  64. package/docs/releases/RELEASE_SUMMARY_v1.7.5.md +322 -0
  65. package/docs/releases/RELEASE_SUMMARY_v1.7.6.md +436 -0
  66. package/docs/troubleshooting/CRASH_QUICK_REF.md +93 -93
  67. package/docs/troubleshooting/FREERTOS_ASSERTION_FAILURE.md +288 -288
  68. package/docs/troubleshooting/FREERTOS_FIX_IMPLEMENTATION.md +267 -267
  69. package/docs/troubleshooting/PAINLESSMESH_V1.7.4_COMPILATION_ISSUES.md +547 -0
  70. package/docs/troubleshooting/QUICK_FIX_FREERTOS.md +164 -164
  71. package/docs/troubleshooting/SENSOR_NODE_CONNECTION_CRASH.md +264 -257
  72. package/docs/troubleshooting/common-issues.md +520 -520
  73. package/docs/troubleshooting/debugging.md +455 -455
  74. package/docs/troubleshooting/faq.md +472 -472
  75. package/docs/tutorials/basic-examples.md +717 -717
  76. package/docs/wiki/API-Reference.md +245 -245
  77. package/docs/wiki/Complete-Documentation.md +122 -122
  78. package/examples/alteriom/README.md +139 -139
  79. package/examples/alteriom/alteriom.ino +186 -186
  80. package/examples/alteriom/alteriom_sensor_package.hpp +240 -240
  81. package/examples/alteriom/platformio.ini +25 -24
  82. package/examples/alteriomImproved/alteriom_sensor_package.hpp +223 -223
  83. package/examples/alteriomImproved/improved_sensor_node.ino +247 -245
  84. package/examples/alteriomImproved/platformio.ini +31 -24
  85. package/examples/alteriomPhase1/alteriom_sensor_package.hpp +223 -223
  86. package/examples/alteriomPhase1/phase1_features.ino +242 -242
  87. package/examples/alteriomPhase1/platformio.ini +25 -24
  88. package/examples/alteriomPhase2/alteriom_sensor_package.hpp +223 -223
  89. package/examples/alteriomPhase2/phase2_features.ino +186 -186
  90. package/examples/alteriomPhase2/platformio.ini +25 -24
  91. package/examples/alteriomSensorNode/alteriom_sensor_node.ino +185 -183
  92. package/examples/alteriomSensorNode/alteriom_sensor_package.hpp +223 -223
  93. package/examples/alteriomSensorNode/platformio.ini +25 -24
  94. package/examples/basic/basic.ino +66 -66
  95. package/examples/basic/platformio.ini +26 -25
  96. package/examples/bridge/bridge.ino +51 -51
  97. package/examples/bridge/mesh_event_publisher.hpp +253 -253
  98. package/examples/bridge/mesh_topology_reporter.hpp +303 -303
  99. package/examples/bridge/mqtt_command_bridge.hpp +459 -459
  100. package/examples/bridge/mqtt_status_bridge.hpp +519 -519
  101. package/examples/bridge/platformio.ini +26 -25
  102. package/examples/echoNode/echoNode.ino +33 -33
  103. package/examples/echoNode/platformio.ini +26 -25
  104. package/examples/logClient/logClient.ino +109 -109
  105. package/examples/logClient/platformio.ini +26 -25
  106. package/examples/logServer/logServer.ino +81 -81
  107. package/examples/logServer/platformio.ini +26 -25
  108. package/examples/meshCommandNode/alteriom_sensor_package.hpp +234 -234
  109. package/examples/meshCommandNode/meshCommandNode.ino +265 -263
  110. package/examples/meshCommandNode/platformio.ini +26 -25
  111. package/examples/mqttBridge/mqttBridge.ino +118 -118
  112. package/examples/mqttBridge/platformio.ini +27 -26
  113. package/examples/mqttCommandBridge/alteriom_sensor_package.hpp +234 -234
  114. package/examples/mqttCommandBridge/mesh_event_publisher.hpp +253 -253
  115. package/examples/mqttCommandBridge/mesh_topology_reporter.hpp +303 -303
  116. package/examples/mqttCommandBridge/mqttCommandBridge.ino +254 -252
  117. package/examples/mqttCommandBridge/mqtt_command_bridge.hpp +462 -462
  118. package/examples/mqttCommandBridge/platformio.ini +27 -26
  119. package/examples/mqttStatusBridge/mqttStatusBridge.ino +218 -216
  120. package/examples/mqttStatusBridge/mqtt_status_bridge.hpp +522 -522
  121. package/examples/mqttStatusBridge/platformio.ini +27 -26
  122. package/examples/mqttTopologyTest/README.md +467 -467
  123. package/examples/mqttTopologyTest/mqttTopologyTest.ino +750 -748
  124. package/examples/mqttTopologyTest/platformio.ini +27 -26
  125. package/examples/namedMesh/namedMesh.ino +97 -97
  126. package/examples/namedMesh/platformio.ini +26 -25
  127. package/examples/otaReceiver/otaReceiver.ino +79 -79
  128. package/examples/otaReceiver/platformio.ini +26 -25
  129. package/examples/otaSender/otaSender.ino +160 -160
  130. package/examples/otaSender/platformio.ini +26 -25
  131. package/examples/startHere/platformio.ini +26 -25
  132. package/examples/startHere/startHere.ino +159 -159
  133. package/examples/webServer/platformio.ini +28 -27
  134. package/examples/webServer/webServer.ino +89 -89
  135. package/keywords.txt +48 -48
  136. package/library.json +55 -55
  137. package/library.properties +10 -10
  138. package/package.json +86 -86
  139. package/src/AlteriomPainlessMesh.h +97 -97
  140. package/src/arduino/wifi.hpp +365 -365
  141. package/src/boost/asynctcp.hpp +279 -279
  142. package/src/painlessMesh.h +70 -70
  143. package/src/painlessMeshSTA.cpp +236 -236
  144. package/src/painlessMeshSTA.h +58 -58
  145. package/src/painlessTaskOptions.h +19 -11
  146. package/src/painlessmesh/base64.hpp +111 -111
  147. package/src/painlessmesh/buffer.hpp +229 -229
  148. package/src/painlessmesh/callback.hpp +91 -91
  149. package/src/painlessmesh/configuration.hpp +77 -77
  150. package/src/painlessmesh/connection.hpp +192 -192
  151. package/src/painlessmesh/layout.hpp +188 -188
  152. package/src/painlessmesh/logger.hpp +158 -158
  153. package/src/painlessmesh/memory.hpp +119 -119
  154. package/src/painlessmesh/mesh.hpp +761 -772
  155. package/src/painlessmesh/metrics.hpp +322 -322
  156. package/src/painlessmesh/ntp.hpp +263 -263
  157. package/src/painlessmesh/ota.hpp +582 -582
  158. package/src/painlessmesh/plugin.hpp +188 -188
  159. package/src/painlessmesh/protocol.hpp +813 -813
  160. package/src/painlessmesh/router.hpp +338 -338
  161. package/src/painlessmesh/tcp.hpp +71 -71
  162. package/src/painlessmesh/validation.hpp +238 -238
  163. package/src/plugin/performance.hpp +214 -214
  164. package/src/plugin/remote.hpp +64 -64
  165. package/src/scheduler.cpp +10 -10
  166. package/src/wifi.cpp +2 -2
  167. package/examples/alteriom/.pio/build/esp32/.sconsign311.dblite +0 -0
  168. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Esp.cpp.d +0 -146
  169. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Esp.cpp.o +0 -0
  170. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/FirmwareMSC.cpp.d +0 -5
  171. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/FirmwareMSC.cpp.o +0 -0
  172. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/FunctionalInterrupt.cpp.d +0 -137
  173. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/FunctionalInterrupt.cpp.o +0 -0
  174. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/HWCDC.cpp.d +0 -4
  175. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/HWCDC.cpp.o +0 -0
  176. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/HardwareSerial.cpp.d +0 -138
  177. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/HardwareSerial.cpp.o +0 -0
  178. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/IPAddress.cpp.d +0 -137
  179. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/IPAddress.cpp.o +0 -0
  180. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/IPv6Address.cpp.d +0 -138
  181. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/IPv6Address.cpp.o +0 -0
  182. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/MD5Builder.cpp.d +0 -138
  183. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/MD5Builder.cpp.o +0 -0
  184. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Print.cpp.d +0 -136
  185. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Print.cpp.o +0 -0
  186. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Stream.cpp.d +0 -136
  187. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Stream.cpp.o +0 -0
  188. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/StreamString.cpp.d +0 -137
  189. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/StreamString.cpp.o +0 -0
  190. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Tone.cpp.d +0 -136
  191. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Tone.cpp.o +0 -0
  192. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/USB.cpp.d +0 -4
  193. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/USB.cpp.o +0 -0
  194. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/USBCDC.cpp.d +0 -4
  195. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/USBCDC.cpp.o +0 -0
  196. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/USBMSC.cpp.d +0 -4
  197. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/USBMSC.cpp.o +0 -0
  198. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/WMath.cpp.d +0 -18
  199. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/WMath.cpp.o +0 -0
  200. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/WString.cpp.d +0 -136
  201. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/WString.cpp.o +0 -0
  202. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/base64.cpp.d +0 -139
  203. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/base64.cpp.o +0 -0
  204. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/cbuf.cpp.d +0 -3
  205. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/cbuf.cpp.o +0 -0
  206. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-adc.c.d +0 -110
  207. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-adc.c.o +0 -0
  208. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-bt.c.d +0 -107
  209. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-bt.c.o +0 -0
  210. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-cpu.c.d +0 -123
  211. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-cpu.c.o +0 -0
  212. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-dac.c.d +0 -108
  213. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-dac.c.o +0 -0
  214. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-gpio.c.d +0 -122
  215. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-gpio.c.o +0 -0
  216. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-i2c-slave.c.d +0 -92
  217. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-i2c-slave.c.o +0 -0
  218. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-i2c.c.d +0 -114
  219. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-i2c.c.o +0 -0
  220. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-ledc.c.d +0 -108
  221. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-ledc.c.o +0 -0
  222. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-matrix.c.d +0 -105
  223. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-matrix.c.o +0 -0
  224. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-misc.c.d +0 -136
  225. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-misc.c.o +0 -0
  226. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-psram.c.d +0 -104
  227. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-psram.c.o +0 -0
  228. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-rgb-led.c.d +0 -104
  229. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-rgb-led.c.o +0 -0
  230. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-rmt.c.d +0 -108
  231. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-rmt.c.o +0 -0
  232. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-sigmadelta.c.d +0 -109
  233. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-sigmadelta.c.o +0 -0
  234. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-spi.c.d +0 -122
  235. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-spi.c.o +0 -0
  236. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-time.c.d +0 -145
  237. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-time.c.o +0 -0
  238. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-timer.c.d +0 -110
  239. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-timer.c.o +0 -0
  240. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-tinyusb.c.d +0 -3
  241. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-tinyusb.c.o +0 -0
  242. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-touch.c.d +0 -107
  243. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-touch.c.o +0 -0
  244. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-uart.c.d +0 -121
  245. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-uart.c.o +0 -0
  246. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/firmware_msc_fat.c.d +0 -3
  247. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/firmware_msc_fat.c.o +0 -0
  248. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/libb64/cdecode.c.d +0 -3
  249. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/libb64/cdecode.c.o +0 -0
  250. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/libb64/cencode.c.d +0 -3
  251. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/libb64/cencode.c.o +0 -0
  252. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/main.cpp.d +0 -139
  253. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/main.cpp.o +0 -0
  254. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/stdlib_noniso.c.d +0 -12
  255. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/stdlib_noniso.c.o +0 -0
  256. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/wiring_pulse.c.d +0 -111
  257. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/wiring_pulse.c.o +0 -0
  258. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/wiring_shift.c.d +0 -111
  259. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/wiring_shift.c.o +0 -0
  260. package/examples/alteriom/.pio/build/esp32/bootloader.bin +0 -0
  261. package/examples/alteriom/.pio/build/esp32/firmware.bin +0 -0
  262. package/examples/alteriom/.pio/build/esp32/firmware.elf +0 -0
  263. package/examples/alteriom/.pio/build/esp32/firmware.map +0 -102570
  264. package/examples/alteriom/.pio/build/esp32/lib373/LittleFS/LittleFS.cpp.d +0 -142
  265. package/examples/alteriom/.pio/build/esp32/lib373/LittleFS/LittleFS.cpp.o +0 -0
  266. package/examples/alteriom/.pio/build/esp32/lib373/libLittleFS.a +0 -0
  267. package/examples/alteriom/.pio/build/esp32/lib399/TaskScheduler/TaskScheduler.cpp.d +0 -2
  268. package/examples/alteriom/.pio/build/esp32/lib399/TaskScheduler/TaskScheduler.cpp.o +0 -0
  269. package/examples/alteriom/.pio/build/esp32/lib399/libTaskScheduler.a +0 -0
  270. package/examples/alteriom/.pio/build/esp32/lib4f2/FS/FS.cpp.d +0 -138
  271. package/examples/alteriom/.pio/build/esp32/lib4f2/FS/FS.cpp.o +0 -0
  272. package/examples/alteriom/.pio/build/esp32/lib4f2/FS/vfs_api.cpp.d +0 -139
  273. package/examples/alteriom/.pio/build/esp32/lib4f2/FS/vfs_api.cpp.o +0 -0
  274. package/examples/alteriom/.pio/build/esp32/lib4f2/libFS.a +0 -0
  275. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFi.cpp.d +0 -203
  276. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFi.cpp.o +0 -0
  277. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiAP.cpp.d +0 -204
  278. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiAP.cpp.o +0 -0
  279. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiClient.cpp.d +0 -209
  280. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiClient.cpp.o +0 -0
  281. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiGeneric.cpp.d +0 -206
  282. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiGeneric.cpp.o +0 -0
  283. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiMulti.cpp.d +0 -199
  284. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiMulti.cpp.o +0 -0
  285. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiSTA.cpp.d +0 -206
  286. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiSTA.cpp.o +0 -0
  287. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiScan.cpp.d +0 -204
  288. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiScan.cpp.o +0 -0
  289. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiServer.cpp.d +0 -172
  290. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiServer.cpp.o +0 -0
  291. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiUdp.cpp.d +0 -171
  292. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiUdp.cpp.o +0 -0
  293. package/examples/alteriom/.pio/build/esp32/lib71a/libWiFi.a +0 -0
  294. package/examples/alteriom/.pio/build/esp32/lib7d0/AsyncTCP/AsyncTCP.cpp.d +0 -189
  295. package/examples/alteriom/.pio/build/esp32/lib7d0/AsyncTCP/AsyncTCP.cpp.o +0 -0
  296. package/examples/alteriom/.pio/build/esp32/lib7d0/libAsyncTCP.a +0 -0
  297. package/examples/alteriom/.pio/build/esp32/lib837/libsrc.a +0 -0
  298. package/examples/alteriom/.pio/build/esp32/lib837/src/painlessMeshSTA.cpp.d +0 -229
  299. package/examples/alteriom/.pio/build/esp32/lib837/src/painlessMeshSTA.cpp.o +0 -0
  300. package/examples/alteriom/.pio/build/esp32/lib837/src/scheduler.cpp.d +0 -139
  301. package/examples/alteriom/.pio/build/esp32/lib837/src/scheduler.cpp.o +0 -0
  302. package/examples/alteriom/.pio/build/esp32/lib837/src/wifi.cpp.d +0 -227
  303. package/examples/alteriom/.pio/build/esp32/lib837/src/wifi.cpp.o +0 -0
  304. package/examples/alteriom/.pio/build/esp32/lib97a/SPIFFS/SPIFFS.cpp.d +0 -142
  305. package/examples/alteriom/.pio/build/esp32/lib97a/SPIFFS/SPIFFS.cpp.o +0 -0
  306. package/examples/alteriom/.pio/build/esp32/lib97a/libSPIFFS.a +0 -0
  307. package/examples/alteriom/.pio/build/esp32/libFrameworkArduino.a +0 -0
  308. package/examples/alteriom/.pio/build/esp32/libf48/Update/HttpsOTAUpdate.cpp.d +0 -120
  309. package/examples/alteriom/.pio/build/esp32/libf48/Update/HttpsOTAUpdate.cpp.o +0 -0
  310. package/examples/alteriom/.pio/build/esp32/libf48/Update/Updater.cpp.d +0 -144
  311. package/examples/alteriom/.pio/build/esp32/libf48/Update/Updater.cpp.o +0 -0
  312. package/examples/alteriom/.pio/build/esp32/libf48/libUpdate.a +0 -0
  313. package/examples/alteriom/.pio/build/esp32/partitions.bin +0 -0
  314. package/examples/alteriom/.pio/build/esp32/src/alteriom.ino.cpp.d +0 -240
  315. package/examples/alteriom/.pio/build/esp32/src/alteriom.ino.cpp.o +0 -0
  316. package/examples/alteriom/.pio/build/esp32/tmprz74bdta.tmp +0 -1
  317. package/examples/alteriom/.pio/build/esp32/tmps5iu5vvf.tmp +0 -1
  318. package/examples/alteriom/.pio/build/esp32/tmptxf7cu25.tmp +0 -1
  319. package/examples/alteriom/.pio/build/esp32/tmpuwwn0jz2.tmp +0 -1
  320. package/examples/alteriom/.pio/build/esp32/tmpz4zb75rq.tmp +0 -1
  321. package/examples/alteriom/.pio/build/esp8266/.sconsign311.dblite +0 -0
  322. package/examples/alteriom/.pio/build/esp8266/FrameworkArduino/Crypto.cpp.o +0 -0
  323. package/examples/alteriom/.pio/build/esp8266/FrameworkArduino/Esp-frag.cpp.o +0 -0
  324. package/examples/alteriom/.pio/build/esp8266/FrameworkArduino/Esp-version.cpp.o +0 -0
  325. package/examples/alteriom/.pio/build/esp8266/ld/local.eagle.app.v6.common.ld +0 -285
  326. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/CertStoreBearSSL.cpp.o +0 -0
  327. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFi.cpp.o +0 -0
  328. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiAP.cpp.o +0 -0
  329. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o +0 -0
  330. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiGratuitous.cpp.o +0 -0
  331. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiSTA-WPS.cpp.o +0 -0
  332. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiScan.cpp.o +0 -0
  333. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiClient.cpp.o +0 -0
  334. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiClientSecureBearSSL.cpp.o +0 -0
  335. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiServerSecureBearSSL.cpp.o +0 -0
  336. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiUdp.cpp.o +0 -0
  337. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/enable_wifi_at_boot_time.cpp.o +0 -0
  338. package/examples/alteriom/.pio/build/esp8266/lib837/src/painlessMeshSTA.cpp.o +0 -0
  339. package/examples/alteriom/.pio/build/esp8266/lib837/src/scheduler.cpp.o +0 -0
  340. package/examples/alteriom/.pio/build/esp8266/lib837/src/wifi.cpp.o +0 -0
  341. package/examples/alteriom/.pio/build/esp8266/lib875/TaskScheduler/TaskScheduler.cpp.o +0 -0
  342. package/examples/alteriom/.pio/build/esp8266/lib875/libTaskScheduler.a +0 -0
  343. package/examples/alteriom/.pio/build/esp8266/libFrameworkArduinoVariant.a +0 -1
  344. package/examples/alteriom/.pio/build/esp8266/libdb3/LittleFS/LittleFS.cpp.o +0 -0
  345. package/examples/alteriom/.pio/build/esp8266/libdb3/LittleFS/lfs_util.c.o +0 -0
  346. package/examples/alteriom/.pio/build/esp8266/libf33/ESPAsyncTCP/AsyncPrinter.cpp.o +0 -0
  347. package/examples/alteriom/.pio/build/esp8266/libf33/ESPAsyncTCP/ESPAsyncTCP.cpp.o +0 -0
  348. package/examples/alteriom/.pio/build/esp8266/libf33/ESPAsyncTCP/ESPAsyncTCPbuffer.cpp.o +0 -0
  349. package/examples/alteriom/.pio/build/esp8266/libf33/ESPAsyncTCP/SyncClient.cpp.o +0 -0
  350. package/examples/alteriom/.pio/build/esp8266/libf33/ESPAsyncTCP/tcp_axtls.c.o +0 -0
  351. package/examples/alteriom/.pio/build/esp8266/src/alteriom.ino.cpp.o +0 -0
  352. package/examples/alteriom/.pio/build/project.checksum +0 -1
  353. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/.piopm +0 -1
  354. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/ArduinoJson.h +0 -5
  355. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/LICENSE.txt +0 -10
  356. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/README.md +0 -153
  357. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonConfigFile/JsonConfigFile.ino +0 -152
  358. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonFilterExample/JsonFilterExample.ino +0 -64
  359. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonGeneratorExample/JsonGeneratorExample.ino +0 -65
  360. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonHttpClient/JsonHttpClient.ino +0 -125
  361. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonParserExample/JsonParserExample.ino +0 -65
  362. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonServer/JsonServer.ino +0 -118
  363. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonUdpBeacon/JsonUdpBeacon.ino +0 -106
  364. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/MsgPackParser/MsgPackParser.ino +0 -61
  365. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/ProgmemExample/ProgmemExample.ino +0 -63
  366. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/StringExample/StringExample.ino +0 -76
  367. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/library.json +0 -23
  368. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/library.properties +0 -11
  369. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp +0 -66
  370. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp +0 -79
  371. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp +0 -75
  372. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp +0 -219
  373. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp +0 -133
  374. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArrayIterator.hpp +0 -96
  375. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp +0 -112
  376. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp +0 -122
  377. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp +0 -137
  378. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Configuration.hpp +0 -285
  379. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp +0 -106
  380. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationOptions.hpp +0 -35
  381. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp +0 -77
  382. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp +0 -32
  383. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp +0 -74
  384. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp +0 -30
  385. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp +0 -18
  386. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp +0 -56
  387. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp +0 -42
  388. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp +0 -49
  389. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp +0 -29
  390. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp +0 -19
  391. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp +0 -79
  392. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp +0 -426
  393. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp +0 -40
  394. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp +0 -720
  395. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp +0 -165
  396. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Latch.hpp +0 -56
  397. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp +0 -110
  398. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp +0 -177
  399. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp +0 -67
  400. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp +0 -46
  401. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp +0 -60
  402. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/Allocator.hpp +0 -49
  403. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/MemoryPool.hpp +0 -110
  404. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/MemoryPoolList.hpp +0 -214
  405. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/ResourceManager.hpp +0 -131
  406. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/ResourceManagerImpl.hpp +0 -52
  407. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringBuffer.hpp +0 -79
  408. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringBuilder.hpp +0 -88
  409. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringNode.hpp +0 -75
  410. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringPool.hpp +0 -102
  411. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp +0 -71
  412. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackBinary.hpp +0 -97
  413. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp +0 -487
  414. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackExtension.hpp +0 -120
  415. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp +0 -244
  416. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/endianness.hpp +0 -46
  417. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp +0 -18
  418. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Namespace.hpp +0 -42
  419. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp +0 -95
  420. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp +0 -212
  421. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/JsonFloat.hpp +0 -18
  422. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/JsonInteger.hpp +0 -28
  423. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp +0 -116
  424. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp +0 -145
  425. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp +0 -238
  426. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObject.hpp +0 -245
  427. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObjectConst.hpp +0 -166
  428. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObjectIterator.hpp +0 -83
  429. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonPair.hpp +0 -70
  430. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp +0 -77
  431. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/ObjectData.hpp +0 -70
  432. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp +0 -92
  433. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp +0 -30
  434. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp +0 -14
  435. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp +0 -45
  436. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp +0 -21
  437. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp +0 -34
  438. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp +0 -45
  439. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp +0 -27
  440. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp +0 -27
  441. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp +0 -144
  442. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp +0 -67
  443. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp +0 -33
  444. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp +0 -25
  445. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/decay.hpp +0 -33
  446. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp +0 -14
  447. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp +0 -23
  448. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/function_traits.hpp +0 -27
  449. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp +0 -22
  450. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp +0 -22
  451. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp +0 -27
  452. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp +0 -23
  453. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp +0 -18
  454. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp +0 -46
  455. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp +0 -22
  456. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp +0 -19
  457. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp +0 -32
  458. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp +0 -17
  459. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp +0 -18
  460. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp +0 -26
  461. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp +0 -24
  462. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp +0 -44
  463. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp +0 -24
  464. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_cv.hpp +0 -31
  465. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp +0 -24
  466. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp +0 -16
  467. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/void_t.hpp +0 -20
  468. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp +0 -27
  469. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp +0 -33
  470. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp +0 -33
  471. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp +0 -47
  472. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp +0 -55
  473. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp +0 -22
  474. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp +0 -29
  475. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp +0 -36
  476. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp +0 -32
  477. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp +0 -42
  478. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp +0 -20
  479. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp +0 -50
  480. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/FlashString.hpp +0 -93
  481. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/RamString.hpp +0 -118
  482. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/StringObject.hpp +0 -48
  483. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp +0 -19
  484. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/JsonString.hpp +0 -100
  485. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringAdapter.hpp +0 -47
  486. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp +0 -72
  487. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringTraits.hpp +0 -73
  488. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/Converter.hpp +0 -23
  489. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp +0 -406
  490. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariant.hpp +0 -78
  491. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantConst.hpp +0 -197
  492. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantCopier.hpp +0 -34
  493. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantVisitor.hpp +0 -61
  494. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantAttorney.hpp +0 -35
  495. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp +0 -211
  496. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp +0 -82
  497. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp +0 -609
  498. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantDataVisitor.hpp +0 -24
  499. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantImpl.hpp +0 -146
  500. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp +0 -188
  501. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantRefBase.hpp +0 -313
  502. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantRefBaseImpl.hpp +0 -175
  503. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp +0 -16
  504. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp +0 -34
  505. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/compatibility.hpp +0 -144
  506. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/version.hpp +0 -11
  507. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson.h +0 -17
  508. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson.hpp +0 -65
  509. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/CMakeLists.txt +0 -91
  510. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/.piopm +0 -1
  511. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/LICENSE +0 -165
  512. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/README.md +0 -55
  513. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/examples/AsyncSend/AsyncSend.ino +0 -169
  514. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/examples/Client/Client.ino +0 -87
  515. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/examples/FetchWebsite/FetchWebsite.ino +0 -107
  516. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/library.json +0 -31
  517. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/library.properties +0 -11
  518. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCP.cpp +0 -1612
  519. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCP.h +0 -335
  520. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCPLogging.h +0 -66
  521. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCPSimpleIntrusiveList.h +0 -134
  522. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCPVersion.h +0 -40
  523. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/.github/FUNDING.yml +0 -1
  524. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/.github/workflows/doxygen.yml +0 -310
  525. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/.github/workflows/main.yml +0 -309
  526. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/.github/workflows/test.yml +0 -523
  527. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/.piopm +0 -1
  528. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/LICENSE.txt +0 -27
  529. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/README.md +0 -157
  530. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example00_Blink/Scheduler_example00_Blink.ino +0 -303
  531. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example00_Blink_Namespace/Scheduler_example00_Blink_Namespace.ino +0 -302
  532. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example01/Scheduler_example01.ino +0 -84
  533. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example02/Scheduler_example02.ino +0 -78
  534. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example03/Scheduler_example03.ino +0 -80
  535. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example04_StatusRequest/Scheduler_example04_StatusRequest.ino +0 -90
  536. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example05_StatusRequest/Scheduler_example05_StatusRequest.ino +0 -181
  537. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example06_IDLE/Scheduler_example06_IDLE.ino +0 -117
  538. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example07_WDT/Scheduler_example07_WDT.ino +0 -133
  539. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example08_LTS/Scheduler_example08_LTS.ino +0 -147
  540. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example09_TimeCritical/Scheduler_example09_TimeCritical.ino +0 -57
  541. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example10_Benchmark/Scheduler_example10_Benchmark.ino +0 -106
  542. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example11_Priority/Scheduler_example11_Priority.ino +0 -105
  543. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example12_Priority/Scheduler_example12_Priority.ino +0 -136
  544. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example13_Micros/Scheduler_example13_Micros.ino +0 -71
  545. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example14_Yield/Scheduler_example14_Yield.ino +0 -339
  546. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example15_STDFunction/Scheduler_example15_STDFunction.ino +0 -53
  547. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/Scheduler_example16_Multitab.ino +0 -18
  548. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/file1.cpp +0 -31
  549. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/file2.cpp +0 -55
  550. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/header.hpp +0 -15
  551. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/ts.cpp +0 -20
  552. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example17_Timeout/Scheduler_example17_Timeout.ino +0 -90
  553. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example18_StatusRequest_LTS_WDT_Timeout/Scheduler_example18_StatusRequest_LTS_WDT_Timeout.ino +0 -172
  554. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks/Scheduler_example19_Dynamic_Tasks.ino +0 -137
  555. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_SelfDestruct/Scheduler_example19_Dynamic_Tasks_SelfDestruct.ino +0 -130
  556. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_stdQueue/Scheduler_example19_Dynamic_Tasks_stdQueue.ino +0 -137
  557. 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
  558. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.cpp +0 -36
  559. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.h +0 -25
  560. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.cpp +0 -66
  561. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.h +0 -34
  562. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Scheduler_example21_OO_Callbacks.ino +0 -76
  563. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.cpp +0 -83
  564. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.h +0 -44
  565. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.cpp +0 -21
  566. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.h +0 -28
  567. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example23_IDLE_Callback/Scheduler_example23_IDLE_Callback.ino +0 -157
  568. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example24_CPU_LOAD/Scheduler_example24_CPU_LOAD.ino +0 -87
  569. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example25_SCHEDULER_CHAIN/Scheduler_example25_SCHEDULER_CHAIN.ino +0 -127
  570. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example26_SCHEDULING_OPTIONS/Scheduler_example26_SCHEDULING_OPTIONS.ino +0 -181
  571. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/README +0 -39
  572. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/led.h +0 -12
  573. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/main.h +0 -25
  574. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/lib/README +0 -46
  575. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/platformio.ini +0 -37
  576. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/led.cpp +0 -11
  577. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/main.cpp +0 -254
  578. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/test/README +0 -11
  579. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example28_Tickless/Scheduler_example28_Tickless.ino +0 -105
  580. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/README +0 -39
  581. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/led.h +0 -12
  582. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/main.h +0 -27
  583. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/lib/README +0 -46
  584. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/platformio.ini +0 -38
  585. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/src/led.cpp +0 -13
  586. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/src/main.cpp +0 -267
  587. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/test/README +0 -11
  588. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/README.md +0 -232
  589. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/platformio.ini +0 -44
  590. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/src/main.cpp +0 -310
  591. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_template/Scheduler_template.ino +0 -166
  592. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/keywords.txt +0 -161
  593. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/library.json +0 -22
  594. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/library.properties +0 -9
  595. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/src/TScheduler.hpp +0 -29
  596. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/src/TSchedulerDeclarations.hpp +0 -29
  597. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/src/TaskScheduler.cpp +0 -3
  598. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/src/TaskScheduler.h +0 -1811
  599. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/src/TaskSchedulerDeclarations.h +0 -3096
  600. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/src/TaskSchedulerSleepMethods.h +0 -399
  601. package/examples/alteriom/.pio/libdeps/esp32/integrity.dat +0 -3
  602. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/.piopm +0 -1
  603. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/ArduinoJson.h +0 -5
  604. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/LICENSE.txt +0 -10
  605. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/README.md +0 -153
  606. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonConfigFile/JsonConfigFile.ino +0 -152
  607. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonFilterExample/JsonFilterExample.ino +0 -64
  608. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonGeneratorExample/JsonGeneratorExample.ino +0 -65
  609. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonHttpClient/JsonHttpClient.ino +0 -125
  610. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonParserExample/JsonParserExample.ino +0 -65
  611. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonServer/JsonServer.ino +0 -118
  612. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonUdpBeacon/JsonUdpBeacon.ino +0 -106
  613. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/MsgPackParser/MsgPackParser.ino +0 -61
  614. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/ProgmemExample/ProgmemExample.ino +0 -63
  615. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/StringExample/StringExample.ino +0 -76
  616. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/library.json +0 -23
  617. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/library.properties +0 -11
  618. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp +0 -66
  619. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp +0 -79
  620. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp +0 -75
  621. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp +0 -219
  622. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp +0 -133
  623. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/JsonArrayIterator.hpp +0 -96
  624. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp +0 -112
  625. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp +0 -122
  626. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp +0 -137
  627. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Configuration.hpp +0 -285
  628. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp +0 -106
  629. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationOptions.hpp +0 -35
  630. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp +0 -77
  631. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp +0 -32
  632. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp +0 -74
  633. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp +0 -30
  634. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp +0 -18
  635. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp +0 -56
  636. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp +0 -42
  637. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp +0 -49
  638. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp +0 -29
  639. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp +0 -19
  640. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp +0 -79
  641. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp +0 -426
  642. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp +0 -40
  643. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp +0 -720
  644. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp +0 -165
  645. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/Latch.hpp +0 -56
  646. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp +0 -110
  647. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp +0 -177
  648. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp +0 -67
  649. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp +0 -46
  650. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp +0 -60
  651. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/Allocator.hpp +0 -49
  652. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/MemoryPool.hpp +0 -110
  653. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/MemoryPoolList.hpp +0 -214
  654. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/ResourceManager.hpp +0 -131
  655. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/ResourceManagerImpl.hpp +0 -52
  656. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringBuffer.hpp +0 -79
  657. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringBuilder.hpp +0 -88
  658. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringNode.hpp +0 -75
  659. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringPool.hpp +0 -102
  660. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp +0 -71
  661. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackBinary.hpp +0 -97
  662. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp +0 -487
  663. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackExtension.hpp +0 -120
  664. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp +0 -244
  665. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/endianness.hpp +0 -46
  666. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp +0 -18
  667. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Namespace.hpp +0 -42
  668. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp +0 -95
  669. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp +0 -212
  670. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/JsonFloat.hpp +0 -18
  671. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/JsonInteger.hpp +0 -28
  672. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp +0 -116
  673. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp +0 -145
  674. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp +0 -238
  675. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonObject.hpp +0 -245
  676. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonObjectConst.hpp +0 -166
  677. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonObjectIterator.hpp +0 -83
  678. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonPair.hpp +0 -70
  679. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp +0 -77
  680. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/ObjectData.hpp +0 -70
  681. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp +0 -92
  682. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp +0 -30
  683. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp +0 -14
  684. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp +0 -45
  685. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp +0 -21
  686. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp +0 -34
  687. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp +0 -45
  688. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp +0 -27
  689. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp +0 -27
  690. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp +0 -144
  691. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp +0 -67
  692. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp +0 -33
  693. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp +0 -25
  694. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/decay.hpp +0 -33
  695. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp +0 -14
  696. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp +0 -23
  697. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/function_traits.hpp +0 -27
  698. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp +0 -22
  699. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp +0 -22
  700. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp +0 -27
  701. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp +0 -23
  702. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp +0 -18
  703. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp +0 -46
  704. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp +0 -22
  705. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp +0 -19
  706. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp +0 -32
  707. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp +0 -17
  708. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp +0 -18
  709. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp +0 -26
  710. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp +0 -24
  711. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp +0 -44
  712. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp +0 -24
  713. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_cv.hpp +0 -31
  714. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp +0 -24
  715. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp +0 -16
  716. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/void_t.hpp +0 -20
  717. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp +0 -27
  718. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp +0 -33
  719. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp +0 -33
  720. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp +0 -47
  721. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp +0 -55
  722. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp +0 -22
  723. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp +0 -29
  724. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp +0 -36
  725. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp +0 -32
  726. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp +0 -42
  727. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp +0 -20
  728. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp +0 -50
  729. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/Adapters/FlashString.hpp +0 -93
  730. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/Adapters/RamString.hpp +0 -118
  731. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/Adapters/StringObject.hpp +0 -48
  732. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp +0 -19
  733. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/JsonString.hpp +0 -100
  734. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/StringAdapter.hpp +0 -47
  735. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp +0 -72
  736. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/StringTraits.hpp +0 -73
  737. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/Converter.hpp +0 -23
  738. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp +0 -406
  739. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariant.hpp +0 -78
  740. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariantConst.hpp +0 -197
  741. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariantCopier.hpp +0 -34
  742. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariantVisitor.hpp +0 -61
  743. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantAttorney.hpp +0 -35
  744. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp +0 -211
  745. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp +0 -82
  746. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp +0 -609
  747. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantDataVisitor.hpp +0 -24
  748. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantImpl.hpp +0 -146
  749. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp +0 -188
  750. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantRefBase.hpp +0 -313
  751. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantRefBaseImpl.hpp +0 -175
  752. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp +0 -16
  753. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp +0 -34
  754. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/compatibility.hpp +0 -144
  755. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/version.hpp +0 -11
  756. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson.h +0 -17
  757. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson.hpp +0 -65
  758. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/CMakeLists.txt +0 -91
  759. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/install-arduino-core-esp8266.sh +0 -29
  760. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/install-arduino-ide.sh +0 -220
  761. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/install-platformio.sh +0 -133
  762. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/on-push.sh +0 -64
  763. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.github/stale.yml +0 -31
  764. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.github/workflows/push.yml +0 -30
  765. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.piopm +0 -1
  766. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/LICENSE.txt +0 -165
  767. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/README.md +0 -43
  768. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Client/Client.ino +0 -62
  769. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Client/config.h +0 -23
  770. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Server/Server.ino +0 -73
  771. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Server/config.h +0 -23
  772. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/examples/SyncClient/.esp31b.skip +0 -0
  773. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/examples/SyncClient/SyncClient.ino +0 -54
  774. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/library.json +0 -19
  775. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/library.properties +0 -10
  776. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/AsyncPrinter.cpp +0 -214
  777. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/AsyncPrinter.h +0 -73
  778. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/DebugPrintMacros.h +0 -112
  779. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCP.cpp +0 -1406
  780. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCP.h +0 -324
  781. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCPbuffer.cpp +0 -555
  782. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCPbuffer.h +0 -118
  783. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/SyncClient.cpp +0 -414
  784. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/SyncClient.h +0 -109
  785. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/async_config.h +0 -42
  786. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/tcp_axtls.c +0 -613
  787. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/tcp_axtls.h +0 -98
  788. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/ssl/gen_server_cert.sh +0 -36
  789. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/ssl/server.cer +0 -0
  790. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/ssl/server.key +0 -0
  791. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/.github/FUNDING.yml +0 -1
  792. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/.github/workflows/doxygen.yml +0 -310
  793. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/.github/workflows/main.yml +0 -309
  794. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/.github/workflows/test.yml +0 -523
  795. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/.piopm +0 -1
  796. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/LICENSE.txt +0 -27
  797. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/README.md +0 -157
  798. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example00_Blink/Scheduler_example00_Blink.ino +0 -303
  799. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example00_Blink_Namespace/Scheduler_example00_Blink_Namespace.ino +0 -302
  800. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example01/Scheduler_example01.ino +0 -84
  801. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example02/Scheduler_example02.ino +0 -78
  802. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example03/Scheduler_example03.ino +0 -80
  803. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example04_StatusRequest/Scheduler_example04_StatusRequest.ino +0 -90
  804. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example05_StatusRequest/Scheduler_example05_StatusRequest.ino +0 -181
  805. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example06_IDLE/Scheduler_example06_IDLE.ino +0 -117
  806. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example07_WDT/Scheduler_example07_WDT.ino +0 -133
  807. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example08_LTS/Scheduler_example08_LTS.ino +0 -147
  808. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example09_TimeCritical/Scheduler_example09_TimeCritical.ino +0 -57
  809. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example10_Benchmark/Scheduler_example10_Benchmark.ino +0 -106
  810. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example11_Priority/Scheduler_example11_Priority.ino +0 -105
  811. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example12_Priority/Scheduler_example12_Priority.ino +0 -136
  812. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example13_Micros/Scheduler_example13_Micros.ino +0 -71
  813. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example14_Yield/Scheduler_example14_Yield.ino +0 -339
  814. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example15_STDFunction/Scheduler_example15_STDFunction.ino +0 -53
  815. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/Scheduler_example16_Multitab.ino +0 -18
  816. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/file1.cpp +0 -31
  817. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/file2.cpp +0 -55
  818. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/header.hpp +0 -15
  819. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/ts.cpp +0 -20
  820. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example17_Timeout/Scheduler_example17_Timeout.ino +0 -90
  821. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example18_StatusRequest_LTS_WDT_Timeout/Scheduler_example18_StatusRequest_LTS_WDT_Timeout.ino +0 -172
  822. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks/Scheduler_example19_Dynamic_Tasks.ino +0 -137
  823. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_SelfDestruct/Scheduler_example19_Dynamic_Tasks_SelfDestruct.ino +0 -130
  824. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_stdQueue/Scheduler_example19_Dynamic_Tasks_stdQueue.ino +0 -137
  825. 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
  826. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.cpp +0 -36
  827. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.h +0 -25
  828. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.cpp +0 -66
  829. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.h +0 -34
  830. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Scheduler_example21_OO_Callbacks.ino +0 -76
  831. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.cpp +0 -83
  832. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.h +0 -44
  833. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.cpp +0 -21
  834. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.h +0 -28
  835. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example23_IDLE_Callback/Scheduler_example23_IDLE_Callback.ino +0 -157
  836. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example24_CPU_LOAD/Scheduler_example24_CPU_LOAD.ino +0 -87
  837. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example25_SCHEDULER_CHAIN/Scheduler_example25_SCHEDULER_CHAIN.ino +0 -127
  838. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example26_SCHEDULING_OPTIONS/Scheduler_example26_SCHEDULING_OPTIONS.ino +0 -181
  839. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/README +0 -39
  840. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/led.h +0 -12
  841. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/main.h +0 -25
  842. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/lib/README +0 -46
  843. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/platformio.ini +0 -37
  844. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/led.cpp +0 -11
  845. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/main.cpp +0 -254
  846. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/test/README +0 -11
  847. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example28_Tickless/Scheduler_example28_Tickless.ino +0 -105
  848. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/include/README +0 -39
  849. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/include/led.h +0 -12
  850. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/include/main.h +0 -27
  851. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/lib/README +0 -46
  852. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/platformio.ini +0 -38
  853. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/src/led.cpp +0 -13
  854. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/src/main.cpp +0 -267
  855. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/test/README +0 -11
  856. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/README.md +0 -232
  857. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/platformio.ini +0 -44
  858. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/src/main.cpp +0 -310
  859. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_template/Scheduler_template.ino +0 -166
  860. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/keywords.txt +0 -161
  861. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/library.json +0 -22
  862. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/library.properties +0 -9
  863. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/src/TScheduler.hpp +0 -29
  864. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/src/TSchedulerDeclarations.hpp +0 -29
  865. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/src/TaskScheduler.cpp +0 -3
  866. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/src/TaskScheduler.h +0 -1811
  867. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/src/TaskSchedulerDeclarations.h +0 -3096
  868. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/src/TaskSchedulerSleepMethods.h +0 -399
  869. package/examples/alteriom/.pio/libdeps/esp8266/integrity.dat +0 -3
  870. package/examples/basic/.pio/build/esp32/.sconsign311.dblite +0 -0
  871. package/examples/basic/.pio/build/esp32/bootloader.bin +0 -0
  872. package/examples/basic/.pio/build/esp32/lib241/TaskScheduler/TaskScheduler.cpp.d +0 -2
  873. package/examples/basic/.pio/build/esp32/lib241/TaskScheduler/TaskScheduler.cpp.o +0 -0
  874. package/examples/basic/.pio/build/esp32/lib241/libTaskScheduler.a +0 -0
  875. package/examples/basic/.pio/build/esp32/lib4f2/FS/FS.cpp.d +0 -138
  876. package/examples/basic/.pio/build/esp32/lib4f2/FS/FS.cpp.o +0 -0
  877. package/examples/basic/.pio/build/esp32/lib4f2/FS/vfs_api.cpp.d +0 -139
  878. package/examples/basic/.pio/build/esp32/lib4f2/FS/vfs_api.cpp.o +0 -0
  879. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFi.cpp.d +0 -203
  880. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFi.cpp.o +0 -0
  881. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiAP.cpp.d +0 -204
  882. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiAP.cpp.o +0 -0
  883. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiClient.cpp.d +0 -209
  884. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiClient.cpp.o +0 -0
  885. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiGeneric.cpp.d +0 -206
  886. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiGeneric.cpp.o +0 -0
  887. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiMulti.cpp.d +0 -199
  888. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiMulti.cpp.o +0 -0
  889. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiSTA.cpp.d +0 -206
  890. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiSTA.cpp.o +0 -0
  891. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiScan.cpp.d +0 -204
  892. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiScan.cpp.o +0 -0
  893. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiServer.cpp.d +0 -172
  894. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiServer.cpp.o +0 -0
  895. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiUdp.cpp.d +0 -171
  896. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiUdp.cpp.o +0 -0
  897. package/examples/basic/.pio/build/esp32/lib8c7/AsyncTCP/AsyncTCP.cpp.d +0 -189
  898. package/examples/basic/.pio/build/esp32/lib8c7/AsyncTCP/AsyncTCP.cpp.o +0 -0
  899. package/examples/basic/.pio/build/esp32/partitions.bin +0 -0
  900. package/examples/basic/.pio/build/esp32/src/basic.ino.cpp.d +0 -238
  901. package/examples/basic/.pio/build/esp32/src/basic.ino.cpp.o +0 -0
  902. package/examples/basic/.pio/build/esp8266/.sconsign311.dblite +0 -0
  903. package/examples/basic/.pio/build/esp8266/FrameworkArduino/Esp-frag.cpp.o +0 -0
  904. package/examples/basic/.pio/build/esp8266/FrameworkArduino/Esp-version.cpp.o +0 -0
  905. package/examples/basic/.pio/build/esp8266/FrameworkArduino/Esp.cpp.o +0 -0
  906. package/examples/basic/.pio/build/esp8266/FrameworkArduino/FS.cpp.o +0 -0
  907. package/examples/basic/.pio/build/esp8266/FrameworkArduino/FSnoop.cpp.o +0 -0
  908. package/examples/basic/.pio/build/esp8266/FrameworkArduino/FunctionalInterrupt.cpp.o +0 -0
  909. package/examples/basic/.pio/build/esp8266/ld/local.eagle.app.v6.common.ld +0 -285
  910. package/examples/basic/.pio/build/esp8266/lib5e7/TaskScheduler/TaskScheduler.cpp.o +0 -0
  911. package/examples/basic/.pio/build/esp8266/lib5e7/libTaskScheduler.a +0 -0
  912. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/BearSSLHelpers.cpp.o +0 -0
  913. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/CertStoreBearSSL.cpp.o +0 -0
  914. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFi.cpp.o +0 -0
  915. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiAP.cpp.o +0 -0
  916. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o +0 -0
  917. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiGratuitous.cpp.o +0 -0
  918. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiMulti.cpp.o +0 -0
  919. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiSTA-WPS.cpp.o +0 -0
  920. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiSTA.cpp.o +0 -0
  921. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiScan.cpp.o +0 -0
  922. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiClient.cpp.o +0 -0
  923. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiClientSecureBearSSL.cpp.o +0 -0
  924. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiServerSecureBearSSL.cpp.o +0 -0
  925. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiUdp.cpp.o +0 -0
  926. package/examples/basic/.pio/build/esp8266/lib837/src/scheduler.cpp.o +0 -0
  927. package/examples/basic/.pio/build/esp8266/libFrameworkArduinoVariant.a +0 -1
  928. package/examples/basic/.pio/build/esp8266/libdb3/LittleFS/LittleFS.cpp.o +0 -0
  929. package/examples/basic/.pio/build/esp8266/libdb3/LittleFS/lfs_util.c.o +0 -0
  930. package/examples/basic/.pio/build/esp8266/libf28/ESPAsyncTCP/AsyncPrinter.cpp.o +0 -0
  931. package/examples/basic/.pio/build/esp8266/libf28/ESPAsyncTCP/ESPAsyncTCP.cpp.o +0 -0
  932. package/examples/basic/.pio/build/esp8266/libf28/ESPAsyncTCP/ESPAsyncTCPbuffer.cpp.o +0 -0
  933. package/examples/basic/.pio/build/esp8266/libf28/ESPAsyncTCP/SyncClient.cpp.o +0 -0
  934. package/examples/basic/.pio/build/esp8266/libf28/ESPAsyncTCP/tcp_axtls.c.o +0 -0
  935. package/examples/basic/.pio/build/esp8266/src/basic.ino.cpp.o +0 -0
  936. package/examples/basic/.pio/build/project.checksum +0 -1
  937. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/.piopm +0 -1
  938. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/ArduinoJson.h +0 -5
  939. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/LICENSE.txt +0 -10
  940. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/README.md +0 -153
  941. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonConfigFile/JsonConfigFile.ino +0 -152
  942. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonFilterExample/JsonFilterExample.ino +0 -64
  943. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonGeneratorExample/JsonGeneratorExample.ino +0 -65
  944. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonHttpClient/JsonHttpClient.ino +0 -125
  945. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonParserExample/JsonParserExample.ino +0 -65
  946. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonServer/JsonServer.ino +0 -118
  947. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonUdpBeacon/JsonUdpBeacon.ino +0 -106
  948. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/MsgPackParser/MsgPackParser.ino +0 -61
  949. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/ProgmemExample/ProgmemExample.ino +0 -63
  950. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/StringExample/StringExample.ino +0 -76
  951. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/library.json +0 -23
  952. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/library.properties +0 -11
  953. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp +0 -66
  954. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp +0 -79
  955. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp +0 -75
  956. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp +0 -219
  957. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp +0 -133
  958. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArrayIterator.hpp +0 -96
  959. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp +0 -112
  960. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp +0 -122
  961. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp +0 -137
  962. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Configuration.hpp +0 -285
  963. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp +0 -106
  964. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationOptions.hpp +0 -35
  965. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp +0 -77
  966. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp +0 -32
  967. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp +0 -74
  968. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp +0 -30
  969. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp +0 -18
  970. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp +0 -56
  971. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp +0 -42
  972. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp +0 -49
  973. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp +0 -29
  974. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp +0 -19
  975. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp +0 -79
  976. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp +0 -426
  977. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp +0 -40
  978. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp +0 -720
  979. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp +0 -165
  980. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Latch.hpp +0 -56
  981. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp +0 -110
  982. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp +0 -177
  983. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp +0 -67
  984. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp +0 -46
  985. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp +0 -60
  986. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/Allocator.hpp +0 -49
  987. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/MemoryPool.hpp +0 -110
  988. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/MemoryPoolList.hpp +0 -214
  989. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/ResourceManager.hpp +0 -131
  990. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/ResourceManagerImpl.hpp +0 -52
  991. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringBuffer.hpp +0 -79
  992. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringBuilder.hpp +0 -88
  993. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringNode.hpp +0 -75
  994. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringPool.hpp +0 -102
  995. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp +0 -71
  996. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackBinary.hpp +0 -97
  997. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp +0 -487
  998. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackExtension.hpp +0 -120
  999. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp +0 -244
  1000. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/endianness.hpp +0 -46
  1001. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp +0 -18
  1002. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Namespace.hpp +0 -42
  1003. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp +0 -95
  1004. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp +0 -212
  1005. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/JsonFloat.hpp +0 -18
  1006. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/JsonInteger.hpp +0 -28
  1007. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp +0 -116
  1008. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp +0 -145
  1009. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp +0 -238
  1010. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObject.hpp +0 -245
  1011. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObjectConst.hpp +0 -166
  1012. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObjectIterator.hpp +0 -83
  1013. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonPair.hpp +0 -70
  1014. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp +0 -77
  1015. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/ObjectData.hpp +0 -70
  1016. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp +0 -92
  1017. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp +0 -30
  1018. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp +0 -14
  1019. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp +0 -45
  1020. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp +0 -21
  1021. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp +0 -34
  1022. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp +0 -45
  1023. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp +0 -27
  1024. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp +0 -27
  1025. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp +0 -144
  1026. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp +0 -67
  1027. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp +0 -33
  1028. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp +0 -25
  1029. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/decay.hpp +0 -33
  1030. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp +0 -14
  1031. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp +0 -23
  1032. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/function_traits.hpp +0 -27
  1033. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp +0 -22
  1034. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp +0 -22
  1035. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp +0 -27
  1036. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp +0 -23
  1037. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp +0 -18
  1038. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp +0 -46
  1039. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp +0 -22
  1040. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp +0 -19
  1041. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp +0 -32
  1042. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp +0 -17
  1043. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp +0 -18
  1044. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp +0 -26
  1045. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp +0 -24
  1046. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp +0 -44
  1047. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp +0 -24
  1048. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_cv.hpp +0 -31
  1049. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp +0 -24
  1050. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp +0 -16
  1051. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/void_t.hpp +0 -20
  1052. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp +0 -27
  1053. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp +0 -33
  1054. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp +0 -33
  1055. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp +0 -47
  1056. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp +0 -55
  1057. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp +0 -22
  1058. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp +0 -29
  1059. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp +0 -36
  1060. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp +0 -32
  1061. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp +0 -42
  1062. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp +0 -20
  1063. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp +0 -50
  1064. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/FlashString.hpp +0 -93
  1065. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/RamString.hpp +0 -118
  1066. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/StringObject.hpp +0 -48
  1067. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp +0 -19
  1068. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/JsonString.hpp +0 -100
  1069. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringAdapter.hpp +0 -47
  1070. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp +0 -72
  1071. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringTraits.hpp +0 -73
  1072. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/Converter.hpp +0 -23
  1073. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp +0 -406
  1074. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariant.hpp +0 -78
  1075. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantConst.hpp +0 -197
  1076. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantCopier.hpp +0 -34
  1077. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantVisitor.hpp +0 -61
  1078. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantAttorney.hpp +0 -35
  1079. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp +0 -211
  1080. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp +0 -82
  1081. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp +0 -609
  1082. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantDataVisitor.hpp +0 -24
  1083. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantImpl.hpp +0 -146
  1084. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp +0 -188
  1085. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantRefBase.hpp +0 -313
  1086. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantRefBaseImpl.hpp +0 -175
  1087. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp +0 -16
  1088. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp +0 -34
  1089. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/compatibility.hpp +0 -144
  1090. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/version.hpp +0 -11
  1091. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson.h +0 -17
  1092. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson.hpp +0 -65
  1093. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/CMakeLists.txt +0 -91
  1094. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/.piopm +0 -1
  1095. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/LICENSE +0 -165
  1096. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/README.md +0 -55
  1097. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/examples/AsyncSend/AsyncSend.ino +0 -169
  1098. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/examples/Client/Client.ino +0 -87
  1099. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/examples/FetchWebsite/FetchWebsite.ino +0 -107
  1100. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/library.json +0 -31
  1101. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/library.properties +0 -11
  1102. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCP.cpp +0 -1612
  1103. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCP.h +0 -335
  1104. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCPLogging.h +0 -66
  1105. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCPSimpleIntrusiveList.h +0 -134
  1106. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCPVersion.h +0 -40
  1107. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/.github/FUNDING.yml +0 -1
  1108. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/.github/workflows/doxygen.yml +0 -310
  1109. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/.github/workflows/main.yml +0 -309
  1110. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/.github/workflows/test.yml +0 -523
  1111. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/.piopm +0 -1
  1112. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/LICENSE.txt +0 -27
  1113. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/README.md +0 -157
  1114. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example00_Blink/Scheduler_example00_Blink.ino +0 -303
  1115. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example00_Blink_Namespace/Scheduler_example00_Blink_Namespace.ino +0 -302
  1116. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example01/Scheduler_example01.ino +0 -84
  1117. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example02/Scheduler_example02.ino +0 -78
  1118. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example03/Scheduler_example03.ino +0 -80
  1119. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example04_StatusRequest/Scheduler_example04_StatusRequest.ino +0 -90
  1120. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example05_StatusRequest/Scheduler_example05_StatusRequest.ino +0 -181
  1121. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example06_IDLE/Scheduler_example06_IDLE.ino +0 -117
  1122. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example07_WDT/Scheduler_example07_WDT.ino +0 -133
  1123. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example08_LTS/Scheduler_example08_LTS.ino +0 -147
  1124. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example09_TimeCritical/Scheduler_example09_TimeCritical.ino +0 -57
  1125. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example10_Benchmark/Scheduler_example10_Benchmark.ino +0 -106
  1126. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example11_Priority/Scheduler_example11_Priority.ino +0 -105
  1127. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example12_Priority/Scheduler_example12_Priority.ino +0 -136
  1128. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example13_Micros/Scheduler_example13_Micros.ino +0 -71
  1129. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example14_Yield/Scheduler_example14_Yield.ino +0 -339
  1130. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example15_STDFunction/Scheduler_example15_STDFunction.ino +0 -53
  1131. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/Scheduler_example16_Multitab.ino +0 -18
  1132. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/file1.cpp +0 -31
  1133. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/file2.cpp +0 -55
  1134. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/header.hpp +0 -15
  1135. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/ts.cpp +0 -20
  1136. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example17_Timeout/Scheduler_example17_Timeout.ino +0 -90
  1137. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example18_StatusRequest_LTS_WDT_Timeout/Scheduler_example18_StatusRequest_LTS_WDT_Timeout.ino +0 -172
  1138. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks/Scheduler_example19_Dynamic_Tasks.ino +0 -137
  1139. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_SelfDestruct/Scheduler_example19_Dynamic_Tasks_SelfDestruct.ino +0 -130
  1140. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_stdQueue/Scheduler_example19_Dynamic_Tasks_stdQueue.ino +0 -137
  1141. 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
  1142. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.cpp +0 -36
  1143. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.h +0 -25
  1144. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.cpp +0 -66
  1145. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.h +0 -34
  1146. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Scheduler_example21_OO_Callbacks.ino +0 -76
  1147. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.cpp +0 -83
  1148. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.h +0 -44
  1149. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.cpp +0 -21
  1150. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.h +0 -28
  1151. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example23_IDLE_Callback/Scheduler_example23_IDLE_Callback.ino +0 -157
  1152. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example24_CPU_LOAD/Scheduler_example24_CPU_LOAD.ino +0 -87
  1153. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example25_SCHEDULER_CHAIN/Scheduler_example25_SCHEDULER_CHAIN.ino +0 -127
  1154. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example26_SCHEDULING_OPTIONS/Scheduler_example26_SCHEDULING_OPTIONS.ino +0 -181
  1155. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/README +0 -39
  1156. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/led.h +0 -12
  1157. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/main.h +0 -25
  1158. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/lib/README +0 -46
  1159. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/platformio.ini +0 -37
  1160. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/led.cpp +0 -11
  1161. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/main.cpp +0 -254
  1162. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/test/README +0 -11
  1163. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example28_Tickless/Scheduler_example28_Tickless.ino +0 -105
  1164. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/README +0 -39
  1165. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/led.h +0 -12
  1166. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/main.h +0 -27
  1167. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/lib/README +0 -46
  1168. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/platformio.ini +0 -38
  1169. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/src/led.cpp +0 -13
  1170. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/src/main.cpp +0 -267
  1171. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/test/README +0 -11
  1172. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/README.md +0 -232
  1173. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/platformio.ini +0 -44
  1174. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/src/main.cpp +0 -310
  1175. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_template/Scheduler_template.ino +0 -166
  1176. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/keywords.txt +0 -161
  1177. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/library.json +0 -22
  1178. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/library.properties +0 -9
  1179. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/src/TScheduler.hpp +0 -29
  1180. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/src/TSchedulerDeclarations.hpp +0 -29
  1181. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/src/TaskScheduler.cpp +0 -3
  1182. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/src/TaskScheduler.h +0 -1811
  1183. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/src/TaskSchedulerDeclarations.h +0 -3096
  1184. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/src/TaskSchedulerSleepMethods.h +0 -399
  1185. package/examples/basic/.pio/libdeps/esp32/integrity.dat +0 -3
  1186. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/.piopm +0 -1
  1187. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/ArduinoJson.h +0 -5
  1188. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/LICENSE.txt +0 -10
  1189. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/README.md +0 -153
  1190. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonConfigFile/JsonConfigFile.ino +0 -152
  1191. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonFilterExample/JsonFilterExample.ino +0 -64
  1192. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonGeneratorExample/JsonGeneratorExample.ino +0 -65
  1193. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonHttpClient/JsonHttpClient.ino +0 -125
  1194. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonParserExample/JsonParserExample.ino +0 -65
  1195. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonServer/JsonServer.ino +0 -118
  1196. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonUdpBeacon/JsonUdpBeacon.ino +0 -106
  1197. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/MsgPackParser/MsgPackParser.ino +0 -61
  1198. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/ProgmemExample/ProgmemExample.ino +0 -63
  1199. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/StringExample/StringExample.ino +0 -76
  1200. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/library.json +0 -23
  1201. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/library.properties +0 -11
  1202. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp +0 -66
  1203. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp +0 -79
  1204. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp +0 -75
  1205. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp +0 -219
  1206. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp +0 -133
  1207. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/JsonArrayIterator.hpp +0 -96
  1208. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp +0 -112
  1209. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp +0 -122
  1210. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp +0 -137
  1211. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Configuration.hpp +0 -285
  1212. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp +0 -106
  1213. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationOptions.hpp +0 -35
  1214. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp +0 -77
  1215. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp +0 -32
  1216. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp +0 -74
  1217. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp +0 -30
  1218. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp +0 -18
  1219. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp +0 -56
  1220. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp +0 -42
  1221. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp +0 -49
  1222. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp +0 -29
  1223. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp +0 -19
  1224. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp +0 -79
  1225. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp +0 -426
  1226. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp +0 -40
  1227. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp +0 -720
  1228. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp +0 -165
  1229. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/Latch.hpp +0 -56
  1230. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp +0 -110
  1231. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp +0 -177
  1232. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp +0 -67
  1233. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp +0 -46
  1234. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp +0 -60
  1235. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/Allocator.hpp +0 -49
  1236. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/MemoryPool.hpp +0 -110
  1237. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/MemoryPoolList.hpp +0 -214
  1238. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/ResourceManager.hpp +0 -131
  1239. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/ResourceManagerImpl.hpp +0 -52
  1240. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringBuffer.hpp +0 -79
  1241. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringBuilder.hpp +0 -88
  1242. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringNode.hpp +0 -75
  1243. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringPool.hpp +0 -102
  1244. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp +0 -71
  1245. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackBinary.hpp +0 -97
  1246. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp +0 -487
  1247. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackExtension.hpp +0 -120
  1248. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp +0 -244
  1249. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/endianness.hpp +0 -46
  1250. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp +0 -18
  1251. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Namespace.hpp +0 -42
  1252. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp +0 -95
  1253. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp +0 -212
  1254. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/JsonFloat.hpp +0 -18
  1255. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/JsonInteger.hpp +0 -28
  1256. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp +0 -116
  1257. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp +0 -145
  1258. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp +0 -238
  1259. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonObject.hpp +0 -245
  1260. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonObjectConst.hpp +0 -166
  1261. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonObjectIterator.hpp +0 -83
  1262. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonPair.hpp +0 -70
  1263. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp +0 -77
  1264. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/ObjectData.hpp +0 -70
  1265. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp +0 -92
  1266. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp +0 -30
  1267. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp +0 -14
  1268. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp +0 -45
  1269. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp +0 -21
  1270. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp +0 -34
  1271. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp +0 -45
  1272. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp +0 -27
  1273. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp +0 -27
  1274. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp +0 -144
  1275. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp +0 -67
  1276. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp +0 -33
  1277. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp +0 -25
  1278. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/decay.hpp +0 -33
  1279. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp +0 -14
  1280. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp +0 -23
  1281. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/function_traits.hpp +0 -27
  1282. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp +0 -22
  1283. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp +0 -22
  1284. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp +0 -27
  1285. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp +0 -23
  1286. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp +0 -18
  1287. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp +0 -46
  1288. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp +0 -22
  1289. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp +0 -19
  1290. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp +0 -32
  1291. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp +0 -17
  1292. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp +0 -18
  1293. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp +0 -26
  1294. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp +0 -24
  1295. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp +0 -44
  1296. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp +0 -24
  1297. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_cv.hpp +0 -31
  1298. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp +0 -24
  1299. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp +0 -16
  1300. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/void_t.hpp +0 -20
  1301. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp +0 -27
  1302. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp +0 -33
  1303. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp +0 -33
  1304. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp +0 -47
  1305. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp +0 -55
  1306. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp +0 -22
  1307. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp +0 -29
  1308. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp +0 -36
  1309. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp +0 -32
  1310. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp +0 -42
  1311. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp +0 -20
  1312. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp +0 -50
  1313. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/Adapters/FlashString.hpp +0 -93
  1314. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/Adapters/RamString.hpp +0 -118
  1315. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/Adapters/StringObject.hpp +0 -48
  1316. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp +0 -19
  1317. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/JsonString.hpp +0 -100
  1318. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/StringAdapter.hpp +0 -47
  1319. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp +0 -72
  1320. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/StringTraits.hpp +0 -73
  1321. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/Converter.hpp +0 -23
  1322. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp +0 -406
  1323. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariant.hpp +0 -78
  1324. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariantConst.hpp +0 -197
  1325. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariantCopier.hpp +0 -34
  1326. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariantVisitor.hpp +0 -61
  1327. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantAttorney.hpp +0 -35
  1328. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp +0 -211
  1329. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp +0 -82
  1330. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp +0 -609
  1331. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantDataVisitor.hpp +0 -24
  1332. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantImpl.hpp +0 -146
  1333. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp +0 -188
  1334. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantRefBase.hpp +0 -313
  1335. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantRefBaseImpl.hpp +0 -175
  1336. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp +0 -16
  1337. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp +0 -34
  1338. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/compatibility.hpp +0 -144
  1339. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/version.hpp +0 -11
  1340. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson.h +0 -17
  1341. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson.hpp +0 -65
  1342. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/CMakeLists.txt +0 -91
  1343. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/install-arduino-core-esp8266.sh +0 -29
  1344. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/install-arduino-ide.sh +0 -220
  1345. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/install-platformio.sh +0 -133
  1346. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/on-push.sh +0 -64
  1347. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.github/stale.yml +0 -31
  1348. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.github/workflows/push.yml +0 -30
  1349. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.piopm +0 -1
  1350. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/LICENSE.txt +0 -165
  1351. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/README.md +0 -43
  1352. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Client/Client.ino +0 -62
  1353. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Client/config.h +0 -23
  1354. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Server/Server.ino +0 -73
  1355. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Server/config.h +0 -23
  1356. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/examples/SyncClient/.esp31b.skip +0 -0
  1357. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/examples/SyncClient/SyncClient.ino +0 -54
  1358. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/library.json +0 -19
  1359. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/library.properties +0 -10
  1360. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/AsyncPrinter.cpp +0 -214
  1361. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/AsyncPrinter.h +0 -73
  1362. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/DebugPrintMacros.h +0 -112
  1363. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCP.cpp +0 -1406
  1364. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCP.h +0 -324
  1365. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCPbuffer.cpp +0 -555
  1366. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCPbuffer.h +0 -118
  1367. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/SyncClient.cpp +0 -414
  1368. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/SyncClient.h +0 -109
  1369. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/async_config.h +0 -42
  1370. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/tcp_axtls.c +0 -613
  1371. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/tcp_axtls.h +0 -98
  1372. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/ssl/gen_server_cert.sh +0 -36
  1373. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/ssl/server.cer +0 -0
  1374. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/ssl/server.key +0 -0
  1375. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/.github/FUNDING.yml +0 -1
  1376. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/.github/workflows/doxygen.yml +0 -310
  1377. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/.github/workflows/main.yml +0 -309
  1378. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/.github/workflows/test.yml +0 -523
  1379. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/.piopm +0 -1
  1380. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/LICENSE.txt +0 -27
  1381. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/README.md +0 -157
  1382. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example00_Blink/Scheduler_example00_Blink.ino +0 -303
  1383. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example00_Blink_Namespace/Scheduler_example00_Blink_Namespace.ino +0 -302
  1384. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example01/Scheduler_example01.ino +0 -84
  1385. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example02/Scheduler_example02.ino +0 -78
  1386. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example03/Scheduler_example03.ino +0 -80
  1387. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example04_StatusRequest/Scheduler_example04_StatusRequest.ino +0 -90
  1388. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example05_StatusRequest/Scheduler_example05_StatusRequest.ino +0 -181
  1389. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example06_IDLE/Scheduler_example06_IDLE.ino +0 -117
  1390. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example07_WDT/Scheduler_example07_WDT.ino +0 -133
  1391. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example08_LTS/Scheduler_example08_LTS.ino +0 -147
  1392. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example09_TimeCritical/Scheduler_example09_TimeCritical.ino +0 -57
  1393. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example10_Benchmark/Scheduler_example10_Benchmark.ino +0 -106
  1394. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example11_Priority/Scheduler_example11_Priority.ino +0 -105
  1395. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example12_Priority/Scheduler_example12_Priority.ino +0 -136
  1396. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example13_Micros/Scheduler_example13_Micros.ino +0 -71
  1397. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example14_Yield/Scheduler_example14_Yield.ino +0 -339
  1398. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example15_STDFunction/Scheduler_example15_STDFunction.ino +0 -53
  1399. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/Scheduler_example16_Multitab.ino +0 -18
  1400. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/file1.cpp +0 -31
  1401. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/file2.cpp +0 -55
  1402. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/header.hpp +0 -15
  1403. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/ts.cpp +0 -20
  1404. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example17_Timeout/Scheduler_example17_Timeout.ino +0 -90
  1405. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example18_StatusRequest_LTS_WDT_Timeout/Scheduler_example18_StatusRequest_LTS_WDT_Timeout.ino +0 -172
  1406. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks/Scheduler_example19_Dynamic_Tasks.ino +0 -137
  1407. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_SelfDestruct/Scheduler_example19_Dynamic_Tasks_SelfDestruct.ino +0 -130
  1408. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_stdQueue/Scheduler_example19_Dynamic_Tasks_stdQueue.ino +0 -137
  1409. 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
  1410. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.cpp +0 -36
  1411. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.h +0 -25
  1412. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.cpp +0 -66
  1413. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.h +0 -34
  1414. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Scheduler_example21_OO_Callbacks.ino +0 -76
  1415. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.cpp +0 -83
  1416. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.h +0 -44
  1417. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.cpp +0 -21
  1418. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.h +0 -28
  1419. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example23_IDLE_Callback/Scheduler_example23_IDLE_Callback.ino +0 -157
  1420. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example24_CPU_LOAD/Scheduler_example24_CPU_LOAD.ino +0 -87
  1421. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example25_SCHEDULER_CHAIN/Scheduler_example25_SCHEDULER_CHAIN.ino +0 -127
  1422. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example26_SCHEDULING_OPTIONS/Scheduler_example26_SCHEDULING_OPTIONS.ino +0 -181
  1423. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/README +0 -39
  1424. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/led.h +0 -12
  1425. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/main.h +0 -25
  1426. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/lib/README +0 -46
  1427. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/platformio.ini +0 -37
  1428. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/led.cpp +0 -11
  1429. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/main.cpp +0 -254
  1430. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/test/README +0 -11
  1431. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example28_Tickless/Scheduler_example28_Tickless.ino +0 -105
  1432. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/include/README +0 -39
  1433. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/include/led.h +0 -12
  1434. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/include/main.h +0 -27
  1435. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/lib/README +0 -46
  1436. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/platformio.ini +0 -38
  1437. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/src/led.cpp +0 -13
  1438. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/src/main.cpp +0 -267
  1439. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/test/README +0 -11
  1440. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/README.md +0 -232
  1441. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/platformio.ini +0 -44
  1442. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/src/main.cpp +0 -310
  1443. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_template/Scheduler_template.ino +0 -166
  1444. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/keywords.txt +0 -161
  1445. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/library.json +0 -22
  1446. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/library.properties +0 -9
  1447. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/src/TScheduler.hpp +0 -29
  1448. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/src/TSchedulerDeclarations.hpp +0 -29
  1449. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/src/TaskScheduler.cpp +0 -3
  1450. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/src/TaskScheduler.h +0 -1811
  1451. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/src/TaskSchedulerDeclarations.h +0 -3096
  1452. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/src/TaskSchedulerSleepMethods.h +0 -399
  1453. package/examples/basic/.pio/libdeps/esp8266/integrity.dat +0 -3
  1454. package/examples/meshCommandNode/.pio/build/esp32/.sconsign311.dblite +0 -0
  1455. package/examples/meshCommandNode/.pio/build/esp32/bootloader.bin +0 -0
  1456. package/examples/meshCommandNode/.pio/build/esp32/lib327/TaskScheduler/TaskScheduler.cpp.d +0 -2
  1457. package/examples/meshCommandNode/.pio/build/esp32/lib327/TaskScheduler/TaskScheduler.cpp.o +0 -0
  1458. package/examples/meshCommandNode/.pio/build/esp32/lib373/LittleFS/LittleFS.cpp.d +0 -142
  1459. package/examples/meshCommandNode/.pio/build/esp32/lib373/LittleFS/LittleFS.cpp.o +0 -0
  1460. package/examples/meshCommandNode/.pio/build/esp32/lib4f2/FS/FS.cpp.d +0 -138
  1461. package/examples/meshCommandNode/.pio/build/esp32/lib4f2/FS/FS.cpp.o +0 -0
  1462. package/examples/meshCommandNode/.pio/build/esp32/lib4f2/FS/vfs_api.cpp.d +0 -139
  1463. package/examples/meshCommandNode/.pio/build/esp32/lib4f2/FS/vfs_api.cpp.o +0 -0
  1464. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFi.cpp.d +0 -203
  1465. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFi.cpp.o +0 -0
  1466. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiAP.cpp.d +0 -204
  1467. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiAP.cpp.o +0 -0
  1468. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiClient.cpp.d +0 -209
  1469. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiClient.cpp.o +0 -0
  1470. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiGeneric.cpp.d +0 -206
  1471. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiGeneric.cpp.o +0 -0
  1472. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiMulti.cpp.d +0 -199
  1473. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiMulti.cpp.o +0 -0
  1474. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiSTA.cpp.d +0 -206
  1475. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiSTA.cpp.o +0 -0
  1476. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiScan.cpp.d +0 -204
  1477. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiScan.cpp.o +0 -0
  1478. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiServer.cpp.d +0 -172
  1479. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiServer.cpp.o +0 -0
  1480. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiUdp.cpp.d +0 -171
  1481. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiUdp.cpp.o +0 -0
  1482. package/examples/meshCommandNode/.pio/build/esp32/lib97a/SPIFFS/SPIFFS.cpp.d +0 -142
  1483. package/examples/meshCommandNode/.pio/build/esp32/lib97a/SPIFFS/SPIFFS.cpp.o +0 -0
  1484. package/examples/meshCommandNode/.pio/build/esp32/libf48/Update/HttpsOTAUpdate.cpp.d +0 -120
  1485. package/examples/meshCommandNode/.pio/build/esp32/libf48/Update/HttpsOTAUpdate.cpp.o +0 -0
  1486. package/examples/meshCommandNode/.pio/build/esp32/libf48/Update/Updater.cpp.d +0 -144
  1487. package/examples/meshCommandNode/.pio/build/esp32/libf48/Update/Updater.cpp.o +0 -0
  1488. package/examples/meshCommandNode/.pio/build/esp32/partitions.bin +0 -0
  1489. package/examples/meshCommandNode/.pio/build/esp32/src/meshCommandNode.ino.cpp.d +0 -238
  1490. package/examples/meshCommandNode/.pio/build/esp32/tmpkxz_1u4u.tmp +0 -1
  1491. package/examples/meshCommandNode/.pio/build/esp32/tmpo9qt_9vc.tmp +0 -1
  1492. package/examples/meshCommandNode/.pio/build/esp32/tmprrmligyc.tmp +0 -1
  1493. package/examples/meshCommandNode/.pio/build/esp32/tmpt8s9ha45.tmp +0 -1
  1494. package/examples/meshCommandNode/.pio/build/project.checksum +0 -1
  1495. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/.piopm +0 -1
  1496. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/ArduinoJson.h +0 -5
  1497. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/LICENSE.txt +0 -10
  1498. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/README.md +0 -153
  1499. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonConfigFile/JsonConfigFile.ino +0 -152
  1500. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonFilterExample/JsonFilterExample.ino +0 -64
  1501. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonGeneratorExample/JsonGeneratorExample.ino +0 -65
  1502. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonHttpClient/JsonHttpClient.ino +0 -125
  1503. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonParserExample/JsonParserExample.ino +0 -65
  1504. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonServer/JsonServer.ino +0 -118
  1505. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonUdpBeacon/JsonUdpBeacon.ino +0 -106
  1506. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/MsgPackParser/MsgPackParser.ino +0 -61
  1507. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/ProgmemExample/ProgmemExample.ino +0 -63
  1508. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/StringExample/StringExample.ino +0 -76
  1509. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/library.json +0 -23
  1510. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/library.properties +0 -11
  1511. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp +0 -66
  1512. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp +0 -79
  1513. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp +0 -75
  1514. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp +0 -219
  1515. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp +0 -133
  1516. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArrayIterator.hpp +0 -96
  1517. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp +0 -112
  1518. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp +0 -122
  1519. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp +0 -137
  1520. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Configuration.hpp +0 -285
  1521. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp +0 -106
  1522. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationOptions.hpp +0 -35
  1523. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp +0 -77
  1524. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp +0 -32
  1525. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp +0 -74
  1526. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp +0 -30
  1527. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp +0 -18
  1528. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp +0 -56
  1529. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp +0 -42
  1530. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp +0 -49
  1531. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp +0 -29
  1532. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp +0 -19
  1533. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp +0 -79
  1534. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp +0 -426
  1535. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp +0 -40
  1536. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp +0 -720
  1537. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp +0 -165
  1538. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Latch.hpp +0 -56
  1539. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp +0 -110
  1540. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp +0 -177
  1541. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp +0 -67
  1542. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp +0 -46
  1543. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp +0 -60
  1544. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/Allocator.hpp +0 -49
  1545. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/MemoryPool.hpp +0 -110
  1546. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/MemoryPoolList.hpp +0 -214
  1547. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/ResourceManager.hpp +0 -131
  1548. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/ResourceManagerImpl.hpp +0 -52
  1549. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringBuffer.hpp +0 -79
  1550. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringBuilder.hpp +0 -88
  1551. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringNode.hpp +0 -75
  1552. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringPool.hpp +0 -102
  1553. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp +0 -71
  1554. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackBinary.hpp +0 -97
  1555. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp +0 -487
  1556. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackExtension.hpp +0 -120
  1557. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp +0 -244
  1558. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/endianness.hpp +0 -46
  1559. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp +0 -18
  1560. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Namespace.hpp +0 -42
  1561. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp +0 -95
  1562. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp +0 -212
  1563. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/JsonFloat.hpp +0 -18
  1564. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/JsonInteger.hpp +0 -28
  1565. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp +0 -116
  1566. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp +0 -145
  1567. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp +0 -238
  1568. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObject.hpp +0 -245
  1569. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObjectConst.hpp +0 -166
  1570. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObjectIterator.hpp +0 -83
  1571. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonPair.hpp +0 -70
  1572. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp +0 -77
  1573. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/ObjectData.hpp +0 -70
  1574. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp +0 -92
  1575. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp +0 -30
  1576. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp +0 -14
  1577. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp +0 -45
  1578. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp +0 -21
  1579. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp +0 -34
  1580. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp +0 -45
  1581. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp +0 -27
  1582. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp +0 -27
  1583. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp +0 -144
  1584. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp +0 -67
  1585. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp +0 -33
  1586. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp +0 -25
  1587. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/decay.hpp +0 -33
  1588. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp +0 -14
  1589. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp +0 -23
  1590. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/function_traits.hpp +0 -27
  1591. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp +0 -22
  1592. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp +0 -22
  1593. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp +0 -27
  1594. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp +0 -23
  1595. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp +0 -18
  1596. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp +0 -46
  1597. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp +0 -22
  1598. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp +0 -19
  1599. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp +0 -32
  1600. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp +0 -17
  1601. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp +0 -18
  1602. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp +0 -26
  1603. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp +0 -24
  1604. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp +0 -44
  1605. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp +0 -24
  1606. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_cv.hpp +0 -31
  1607. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp +0 -24
  1608. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp +0 -16
  1609. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/void_t.hpp +0 -20
  1610. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp +0 -27
  1611. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp +0 -33
  1612. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp +0 -33
  1613. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp +0 -47
  1614. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp +0 -55
  1615. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp +0 -22
  1616. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp +0 -29
  1617. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp +0 -36
  1618. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp +0 -32
  1619. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp +0 -42
  1620. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp +0 -20
  1621. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp +0 -50
  1622. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/FlashString.hpp +0 -93
  1623. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/RamString.hpp +0 -118
  1624. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/StringObject.hpp +0 -48
  1625. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp +0 -19
  1626. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/JsonString.hpp +0 -100
  1627. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringAdapter.hpp +0 -47
  1628. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp +0 -72
  1629. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringTraits.hpp +0 -73
  1630. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/Converter.hpp +0 -23
  1631. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp +0 -406
  1632. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariant.hpp +0 -78
  1633. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantConst.hpp +0 -197
  1634. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantCopier.hpp +0 -34
  1635. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantVisitor.hpp +0 -61
  1636. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantAttorney.hpp +0 -35
  1637. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp +0 -211
  1638. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp +0 -82
  1639. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp +0 -609
  1640. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantDataVisitor.hpp +0 -24
  1641. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantImpl.hpp +0 -146
  1642. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp +0 -188
  1643. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantRefBase.hpp +0 -313
  1644. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantRefBaseImpl.hpp +0 -175
  1645. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp +0 -16
  1646. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp +0 -34
  1647. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/compatibility.hpp +0 -144
  1648. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/version.hpp +0 -11
  1649. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson.h +0 -17
  1650. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson.hpp +0 -65
  1651. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/CMakeLists.txt +0 -91
  1652. package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/.piopm +0 -1
  1653. package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/LICENSE +0 -165
  1654. package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/README.md +0 -62
  1655. package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/examples/Client/Client.ino +0 -81
  1656. package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/library.json +0 -35
  1657. package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/library.properties +0 -10
  1658. package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCP.cpp +0 -1661
  1659. package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCP.h +0 -344
  1660. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/.github/FUNDING.yml +0 -1
  1661. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/.github/workflows/doxygen.yml +0 -310
  1662. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/.github/workflows/main.yml +0 -309
  1663. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/.github/workflows/test.yml +0 -523
  1664. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/.piopm +0 -1
  1665. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/LICENSE.txt +0 -27
  1666. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/README.md +0 -157
  1667. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example00_Blink/Scheduler_example00_Blink.ino +0 -303
  1668. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example00_Blink_Namespace/Scheduler_example00_Blink_Namespace.ino +0 -302
  1669. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example01/Scheduler_example01.ino +0 -84
  1670. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example02/Scheduler_example02.ino +0 -78
  1671. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example03/Scheduler_example03.ino +0 -80
  1672. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example04_StatusRequest/Scheduler_example04_StatusRequest.ino +0 -90
  1673. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example05_StatusRequest/Scheduler_example05_StatusRequest.ino +0 -181
  1674. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example06_IDLE/Scheduler_example06_IDLE.ino +0 -117
  1675. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example07_WDT/Scheduler_example07_WDT.ino +0 -133
  1676. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example08_LTS/Scheduler_example08_LTS.ino +0 -147
  1677. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example09_TimeCritical/Scheduler_example09_TimeCritical.ino +0 -57
  1678. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example10_Benchmark/Scheduler_example10_Benchmark.ino +0 -106
  1679. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example11_Priority/Scheduler_example11_Priority.ino +0 -105
  1680. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example12_Priority/Scheduler_example12_Priority.ino +0 -136
  1681. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example13_Micros/Scheduler_example13_Micros.ino +0 -71
  1682. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example14_Yield/Scheduler_example14_Yield.ino +0 -339
  1683. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example15_STDFunction/Scheduler_example15_STDFunction.ino +0 -53
  1684. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/Scheduler_example16_Multitab.ino +0 -18
  1685. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/file1.cpp +0 -31
  1686. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/file2.cpp +0 -55
  1687. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/header.hpp +0 -15
  1688. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/ts.cpp +0 -20
  1689. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example17_Timeout/Scheduler_example17_Timeout.ino +0 -90
  1690. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example18_StatusRequest_LTS_WDT_Timeout/Scheduler_example18_StatusRequest_LTS_WDT_Timeout.ino +0 -172
  1691. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks/Scheduler_example19_Dynamic_Tasks.ino +0 -137
  1692. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_SelfDestruct/Scheduler_example19_Dynamic_Tasks_SelfDestruct.ino +0 -130
  1693. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_stdQueue/Scheduler_example19_Dynamic_Tasks_stdQueue.ino +0 -137
  1694. 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
  1695. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.cpp +0 -36
  1696. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.h +0 -25
  1697. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.cpp +0 -66
  1698. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.h +0 -34
  1699. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Scheduler_example21_OO_Callbacks.ino +0 -76
  1700. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.cpp +0 -83
  1701. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.h +0 -44
  1702. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.cpp +0 -21
  1703. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.h +0 -28
  1704. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example23_IDLE_Callback/Scheduler_example23_IDLE_Callback.ino +0 -157
  1705. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example24_CPU_LOAD/Scheduler_example24_CPU_LOAD.ino +0 -87
  1706. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example25_SCHEDULER_CHAIN/Scheduler_example25_SCHEDULER_CHAIN.ino +0 -127
  1707. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example26_SCHEDULING_OPTIONS/Scheduler_example26_SCHEDULING_OPTIONS.ino +0 -181
  1708. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/README +0 -39
  1709. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/led.h +0 -12
  1710. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/main.h +0 -25
  1711. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/lib/README +0 -46
  1712. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/platformio.ini +0 -37
  1713. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/led.cpp +0 -11
  1714. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/main.cpp +0 -254
  1715. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/test/README +0 -11
  1716. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example28_Tickless/Scheduler_example28_Tickless.ino +0 -105
  1717. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/README +0 -39
  1718. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/led.h +0 -12
  1719. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/main.h +0 -27
  1720. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/lib/README +0 -46
  1721. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/platformio.ini +0 -38
  1722. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/src/led.cpp +0 -13
  1723. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/src/main.cpp +0 -267
  1724. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/test/README +0 -11
  1725. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/README.md +0 -232
  1726. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/platformio.ini +0 -44
  1727. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/src/main.cpp +0 -310
  1728. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_template/Scheduler_template.ino +0 -166
  1729. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/keywords.txt +0 -161
  1730. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/library.json +0 -22
  1731. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/library.properties +0 -9
  1732. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/src/TScheduler.hpp +0 -29
  1733. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/src/TSchedulerDeclarations.hpp +0 -29
  1734. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/src/TaskScheduler.cpp +0 -3
  1735. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/src/TaskScheduler.h +0 -1811
  1736. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/src/TaskSchedulerDeclarations.h +0 -3096
  1737. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/src/TaskSchedulerSleepMethods.h +0 -399
  1738. package/examples/meshCommandNode/.pio/libdeps/esp32/integrity.dat +0 -3
  1739. package/src/painlessmesh/scheduler_queue.cpp +0 -77
  1740. package/src/painlessmesh/scheduler_queue.hpp +0 -34
@@ -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