@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,1011 +1,1011 @@
1
- # Code Refactoring Recommendations
2
-
3
- **Last Updated:** 2025-01-27
4
- **Analysis Scope:** painlessMesh v1.7.0 (Alteriom fork)
5
-
6
- ## Overview
7
-
8
- This document provides comprehensive code refactoring recommendations based on systematic analysis of the painlessMesh codebase. Issues are prioritized by severity and impact, with concrete examples and implementation strategies.
9
-
10
- ---
11
-
12
- ## Executive Summary
13
-
14
- **Critical Findings:**
15
-
16
- - 1 memory safety issue (segmentation fault workaround)
17
- - 2 missing core features (hop count, routing table)
18
- - 1 deprecated protocol type requiring cleanup
19
- - 3 minor TODOs with unclear semantics
20
- - No exception handling throughout codebase
21
- - Extensive use of smart pointers without cleanup strategies
22
-
23
- **Priority Distribution:**
24
-
25
- - **P0 (Critical):** 1 issue
26
- - **P1 (High):** 2 issues
27
- - **P2 (Medium):** 2 issues
28
- - **P3 (Low):** 2 issues
29
-
30
- ---
31
-
32
- ## P0 - Critical Issues
33
-
34
- ### 1. Router JSON Parsing Segmentation Fault Workaround
35
-
36
- **File:** `src/painlessmesh/router.hpp` (Lines 193-218)
37
- **Impact:** Memory safety, performance degradation, potential crashes
38
-
39
- #### Current Implementation
40
-
41
- ```cpp
42
- // Line 195-196: Bug in copy constructor with grown capacity can cause segmentation fault
43
- static size_t baseCapacity = 512;
44
- auto variant = std::make_shared<protocol::Variant>(pkg, pkg.length() + baseCapacity);
45
-
46
- while (variant->error == DeserializationError::NoMemory && baseCapacity <= 20480) {
47
- baseCapacity += 256;
48
- variant = std::make_shared<protocol::Variant>(pkg, pkg.length() + baseCapacity);
49
- }
50
- ```
51
-
52
- #### Problems
53
-
54
- 1. **Memory Safety Risk:** Workaround masks underlying bug instead of fixing root cause
55
- 2. **Performance Impact:** Escalating allocations (512 → 20,480 bytes) for large packets
56
- 3. **Memory Leaks:** Each failed allocation creates abandoned `shared_ptr` until GC
57
- 4. **Static State:** `baseCapacity` grows indefinitely, never resets between mesh restarts
58
- 5. **ESP8266 Risk:** 20KB allocation can exhaust 80KB heap, causing OOM on constrained devices
59
-
60
- #### Root Cause Analysis
61
-
62
- The bug appears related to ArduinoJson's `DynamicJsonDocument` copy constructor when capacity is grown dynamically. The issue likely stems from:
63
-
64
- 1. ArduinoJson v6/v7 capacity management differences
65
- 2. Incorrect capacity calculation for nested JSON objects
66
- 3. Missing buffer alignment or padding considerations
67
-
68
- #### Recommended Fix
69
-
70
- **Option A: Pre-calculate Required Capacity**
71
-
72
- ```cpp
73
- // Calculate capacity based on JSON structure depth
74
- size_t calculateJsonCapacity(const TSTRING& pkg) {
75
- size_t baseSize = pkg.length();
76
- size_t nestingDepth = std::count(pkg.begin(), pkg.end(), '{') +
77
- std::count(pkg.begin(), pkg.end(), '[');
78
-
79
- // Each nesting level adds overhead for pointers and metadata
80
- size_t overhead = JSON_OBJECT_SIZE(10) * nestingDepth + 256;
81
- return baseSize + overhead;
82
- }
83
-
84
- // Usage
85
- auto variant = std::make_shared<protocol::Variant>(
86
- pkg, calculateJsonCapacity(pkg)
87
- );
88
-
89
- if (variant->error != DeserializationError::Ok) {
90
- Log(ERROR, "routePackage(): JSON parse error: %d\n", variant->error);
91
- return; // Fail fast instead of retrying
92
- }
93
- ```
94
-
95
- **Option B: Use Fixed Large Capacity with Error Handling**
96
-
97
- ```cpp
98
- // Use generous fixed capacity based on mesh constraints
99
- constexpr size_t MAX_MESSAGE_SIZE = 4096; // Documented mesh limit
100
- constexpr size_t JSON_CAPACITY = MAX_MESSAGE_SIZE + JSON_OBJECT_SIZE(20) + 512;
101
-
102
- auto variant = std::make_shared<protocol::Variant>(pkg, JSON_CAPACITY);
103
-
104
- if (variant->error != DeserializationError::Ok) {
105
- Log(ERROR, "routePackage(): Message too large (%u bytes) or malformed\n",
106
- pkg.length());
107
- // Increment metrics for oversized packets
108
- return;
109
- }
110
- ```
111
-
112
- **Option C: Investigate ArduinoJson Upgrade**
113
-
114
- ```cpp
115
- // Consider migrating to ArduinoJson v7 with improved memory management
116
- #if ARDUINOJSON_VERSION_MAJOR >= 7
117
- // v7 has better automatic capacity management
118
- JsonDocument doc;
119
- DeserializationError error = deserializeJson(doc, pkg);
120
-
121
- if (error) {
122
- Log(ERROR, "routePackage(): Parse error: %s\n", error.c_str());
123
- return;
124
- }
125
-
126
- auto variant = protocol::Variant(doc.as<JsonObject>());
127
- #else
128
- // Fallback for v6
129
- // ...existing implementation with fixes...
130
- #endif
131
- ```
132
-
133
- #### Implementation Priority
134
-
135
- **Timeline:** Immediate (v1.7.3 patch release)
136
-
137
- **Steps:**
138
-
139
- 1. Research ArduinoJson v6/v7 capacity calculation differences
140
- 2. Add unit tests for large nested JSON packets (see `test/catch/catch_router.cpp`)
141
- 3. Implement Option A with capacity calculation
142
- 4. Add metrics tracking for parse failures
143
- 5. Document maximum message size constraints in API docs
144
-
145
- **Testing Requirements:**
146
-
147
- - Parse 100+ nested JSON objects (worst case)
148
- - Test on ESP8266 (80KB heap) and ESP32 (320KB heap)
149
- - Validate memory doesn't grow indefinitely over 24hr mesh runtime
150
- - Fuzz testing with malformed JSON payloads
151
-
152
- ---
153
-
154
- ## P1 - High Priority Issues
155
-
156
- ### 2. Missing Hop Count Calculation
157
-
158
- **File:** `src/painlessmesh/mesh.hpp` (Lines 420-432)
159
- **Impact:** Network efficiency, routing optimization, diagnostic capabilities
160
-
161
- #### Current Implementation
162
-
163
- ```cpp
164
- int getHopCount(uint32_t nodeId) {
165
- // TODO: Implement proper hop count calculation
166
-
167
- // Check if node exists in mesh
168
- bool nodeExists = false;
169
- auto nodes = getNodeList();
170
- for (auto node : nodes) {
171
- if (node == nodeId) {
172
- nodeExists = true;
173
- break;
174
- }
175
- }
176
-
177
- if (!nodeExists) return -1;
178
-
179
- // For now, return 2 for any node in the mesh
180
- return 2; // Stub implementation
181
- }
182
- ```
183
-
184
- #### Problems
185
-
186
- 1. **Incorrect Routing Decisions:** All nodes treated as 2 hops away regardless of actual distance
187
- 2. **No Path Optimization:** Can't prefer shorter paths over longer ones
188
- 3. **Diagnostic Limitations:** Network topology visualization shows incorrect distances
189
- 4. **Battery Impact:** Devices may route through longer paths, wasting power
190
-
191
- #### Recommended Implementation
192
-
193
- **Breadth-First Search (BFS) Algorithm:**
194
-
195
- ```cpp
196
- int getHopCount(uint32_t nodeId) {
197
- if (nodeId == this->nodeId) return 0; // Self
198
-
199
- auto topology = asNodeTree();
200
-
201
- // BFS queue: pair of (node, hop_count)
202
- std::queue<std::pair<layout::NodeTree, int>> queue;
203
- std::set<uint32_t> visited;
204
-
205
- queue.push({topology, 0});
206
- visited.insert(topology.nodeId);
207
-
208
- while (!queue.empty()) {
209
- auto [current, hops] = queue.front();
210
- queue.pop();
211
-
212
- // Check all children of current node
213
- for (const auto& child : current.subs) {
214
- if (child.nodeId == nodeId) {
215
- return hops + 1; // Found target
216
- }
217
-
218
- if (visited.find(child.nodeId) == visited.end()) {
219
- visited.insert(child.nodeId);
220
- queue.push({child, hops + 1});
221
- }
222
- }
223
- }
224
-
225
- return -1; // Node not found in mesh
226
- }
227
- ```
228
-
229
- **With Caching for Performance:**
230
-
231
- ```cpp
232
- class Mesh {
233
- private:
234
- // Cache hop counts after topology changes
235
- std::map<uint32_t, int> hopCountCache_;
236
- uint32_t topologyVersion_ = 0; // Increment on topology changes
237
-
238
- public:
239
- int getHopCount(uint32_t nodeId) {
240
- // Check cache
241
- auto it = hopCountCache_.find(nodeId);
242
- if (it != hopCountCache_.end()) {
243
- return it->second;
244
- }
245
-
246
- // Calculate and cache
247
- int hops = calculateHopCountBFS(nodeId);
248
- hopCountCache_[nodeId] = hops;
249
- return hops;
250
- }
251
-
252
- // Call when topology changes (onNewConnection, onDroppedConnection)
253
- void invalidateHopCountCache() {
254
- hopCountCache_.clear();
255
- topologyVersion_++;
256
- }
257
-
258
- private:
259
- int calculateHopCountBFS(uint32_t nodeId) {
260
- // ... BFS implementation from above ...
261
- }
262
- };
263
- ```
264
-
265
- #### Integration Points
266
-
267
- **Update these callbacks to invalidate cache:**
268
-
269
- ```cpp
270
- void onNewConnection(uint32_t nodeId) {
271
- invalidateHopCountCache();
272
- // ... existing logic ...
273
- }
274
-
275
- void onDroppedConnection(uint32_t nodeId) {
276
- invalidateHopCountCache();
277
- // ... existing logic ...
278
- }
279
-
280
- void onChangedConnections() {
281
- invalidateHopCountCache();
282
- // ... existing logic ...
283
- }
284
- ```
285
-
286
- #### Testing Requirements
287
-
288
- ```cpp
289
- // test/catch/catch_mesh_hop_count.cpp
290
- SCENARIO("Hop count calculation for multi-hop mesh") {
291
- GIVEN("A linear topology: A -> B -> C -> D") {
292
- // A is root
293
- REQUIRE(meshA.getHopCount(meshA.getNodeId()) == 0); // Self
294
- REQUIRE(meshA.getHopCount(meshB.getNodeId()) == 1); // Direct child
295
- REQUIRE(meshA.getHopCount(meshC.getNodeId()) == 2); // Grandchild
296
- REQUIRE(meshA.getHopCount(meshD.getNodeId()) == 3); // Great-grandchild
297
- }
298
-
299
- GIVEN("A star topology: B,C,D all connect to A") {
300
- REQUIRE(meshA.getHopCount(meshB.getNodeId()) == 1);
301
- REQUIRE(meshA.getHopCount(meshC.getNodeId()) == 1);
302
- REQUIRE(meshA.getHopCount(meshD.getNodeId()) == 1);
303
- }
304
-
305
- GIVEN("Node not in mesh") {
306
- REQUIRE(meshA.getHopCount(99999) == -1);
307
- }
308
- }
309
- ```
310
-
311
- ---
312
-
313
- ### 3. Missing Routing Table for Multi-Hop Paths
314
-
315
- **File:** `src/painlessmesh/mesh.hpp` (Lines 438-456)
316
- **Impact:** Message delivery efficiency, bandwidth usage, scalability
317
-
318
- #### Current Implementation
319
-
320
- ```cpp
321
- std::map<uint32_t, std::vector<uint32_t>> getRoutingTable() {
322
- std::map<uint32_t, std::vector<uint32_t>> routingTable;
323
-
324
- // TODO: Implement proper routing table lookup for multi-hop paths
325
- // Currently only returns direct connections
326
-
327
- auto connections = getNodeList();
328
- for (auto nodeId : connections) {
329
- routingTable[nodeId] = {nodeId}; // Direct path only
330
- }
331
-
332
- return routingTable;
333
- }
334
- ```
335
-
336
- #### Problems
337
-
338
- 1. **Inefficient Multi-Hop:** Messages always routed through first available path, not shortest
339
- 2. **No Next-Hop Lookup:** Router can't determine which neighbor to forward to
340
- 3. **Scalability Issues:** Large meshes (10+ nodes) suffer from suboptimal routing
341
- 4. **No Load Balancing:** Can't distribute traffic across multiple equivalent paths
342
-
343
- #### Recommended Implementation
344
-
345
- **Dijkstra-Based Routing Table:**
346
-
347
- ```cpp
348
- struct RouteEntry {
349
- uint32_t destination; // Target node ID
350
- uint32_t nextHop; // Next hop to reach destination
351
- int hopCount; // Number of hops to destination
352
- uint32_t lastUpdated; // Timestamp for staleness detection
353
- };
354
-
355
- class Mesh {
356
- private:
357
- std::map<uint32_t, RouteEntry> routingTable_;
358
-
359
- public:
360
- // Build routing table using Dijkstra's algorithm
361
- void rebuildRoutingTable() {
362
- routingTable_.clear();
363
- auto topology = asNodeTree();
364
-
365
- // Priority queue: (hop_count, current_node, first_hop)
366
- using QueueEntry = std::tuple<int, uint32_t, uint32_t>;
367
- std::priority_queue<QueueEntry, std::vector<QueueEntry>,
368
- std::greater<QueueEntry>> pq;
369
-
370
- std::set<uint32_t> visited;
371
-
372
- // Initialize with direct connections
373
- for (const auto& conn : topology.subs) {
374
- pq.push({1, conn.nodeId, conn.nodeId});
375
- }
376
-
377
- while (!pq.empty()) {
378
- auto [hops, currentNode, firstHop] = pq.top();
379
- pq.pop();
380
-
381
- if (visited.find(currentNode) != visited.end()) continue;
382
- visited.insert(currentNode);
383
-
384
- // Add to routing table
385
- routingTable_[currentNode] = {
386
- currentNode,
387
- firstHop,
388
- hops,
389
- getNodeTime()
390
- };
391
-
392
- // Find neighbors of currentNode
393
- auto subtree = findNodeInTree(topology, currentNode);
394
- if (subtree) {
395
- for (const auto& neighbor : subtree->subs) {
396
- if (visited.find(neighbor.nodeId) == visited.end()) {
397
- pq.push({hops + 1, neighbor.nodeId, firstHop});
398
- }
399
- }
400
- }
401
- }
402
- }
403
-
404
- // Lookup next hop for destination
405
- std::optional<uint32_t> getNextHop(uint32_t destination) {
406
- auto it = routingTable_.find(destination);
407
- if (it != routingTable_.end()) {
408
- return it->second.nextHop;
409
- }
410
- return std::nullopt; // No route
411
- }
412
-
413
- // Get full routing table (for diagnostics/MQTT bridge)
414
- std::map<uint32_t, std::vector<uint32_t>> getRoutingTable() {
415
- std::map<uint32_t, std::vector<uint32_t>> result;
416
-
417
- for (const auto& [dest, entry] : routingTable_) {
418
- // Reconstruct full path by following next hops
419
- std::vector<uint32_t> path = reconstructPath(dest);
420
- result[dest] = path;
421
- }
422
-
423
- return result;
424
- }
425
-
426
- private:
427
- std::vector<uint32_t> reconstructPath(uint32_t destination) {
428
- std::vector<uint32_t> path;
429
- uint32_t current = destination;
430
-
431
- // Walk backwards from destination
432
- while (current != nodeId) {
433
- path.push_back(current);
434
-
435
- // Find parent of current in topology
436
- auto parent = findParentNode(current);
437
- if (!parent) break;
438
- current = *parent;
439
- }
440
-
441
- std::reverse(path.begin(), path.end());
442
- return path;
443
- }
444
- };
445
- ```
446
-
447
- #### Router Integration
448
-
449
- **Update `router::send()` to use routing table:**
450
-
451
- ```cpp
452
- template <class T, class U>
453
- bool sendToNode(T& package, uint32_t destNodeId, layout::Layout<U> tree) {
454
- // Check if direct connection
455
- auto directConn = router::findRoute(tree, destNodeId);
456
- if (directConn) {
457
- return router::send(package, directConn);
458
- }
459
-
460
- // Lookup next hop from routing table
461
- auto nextHop = mesh.getNextHop(destNodeId);
462
- if (!nextHop) {
463
- Log(ERROR, "No route to node %u\n", destNodeId);
464
- return false;
465
- }
466
-
467
- // Forward to next hop
468
- auto nextHopConn = router::findRoute(tree, *nextHop);
469
- if (nextHopConn) {
470
- return router::send(package, nextHopConn);
471
- }
472
-
473
- Log(ERROR, "Next hop %u not found for destination %u\n",
474
- *nextHop, destNodeId);
475
- return false;
476
- }
477
- ```
478
-
479
- #### Maintenance Strategy
480
-
481
- ```cpp
482
- // Rebuild routing table on topology changes
483
- void onChangedConnections() {
484
- rebuildRoutingTable();
485
- invalidateHopCountCache();
486
- // ... existing logic ...
487
- }
488
-
489
- // Periodic routing table refresh (optional)
490
- Task routingTableRefresh(300000, TASK_FOREVER, []() {
491
- mesh.rebuildRoutingTable();
492
- Log(DEBUG, "Routing table refreshed\n");
493
- });
494
- ```
495
-
496
- #### Testing Requirements
497
-
498
- ```cpp
499
- // test/catch/catch_routing_table.cpp
500
- SCENARIO("Routing table for complex topology") {
501
- GIVEN("Mesh topology: A -> B -> C, A -> D -> C") {
502
- // From A's perspective
503
- REQUIRE(meshA.getNextHop(meshB) == meshB); // Direct
504
- REQUIRE(meshA.getNextHop(meshC) == meshB); // Via B (shorter)
505
- REQUIRE(meshA.getNextHop(meshD) == meshD); // Direct
506
-
507
- auto routes = meshA.getRoutingTable();
508
- REQUIRE(routes[meshC] == std::vector<uint32_t>{meshB, meshC});
509
- }
510
-
511
- GIVEN("Node becomes unreachable") {
512
- // Disconnect B
513
- meshB.stop();
514
- meshA.rebuildRoutingTable();
515
-
516
- REQUIRE(meshA.getNextHop(meshC) == meshD); // Reroute via D
517
- }
518
- }
519
- ```
520
-
521
- ---
522
-
523
- ## P2 - Medium Priority Issues
524
-
525
- ### 4. Deprecated CONTROL Message Type
526
-
527
- **File:** `src/painlessmesh/protocol.hpp` (Line 40)
528
- **Impact:** Code maintainability, confusion for new developers
529
-
530
- #### Current State
531
-
532
- ```cpp
533
- enum Type {
534
- TIME_DELAY = 3,
535
- TIME_SYNC = 4,
536
- NODE_SYNC_REQUEST = 5,
537
- NODE_SYNC_REPLY = 6,
538
- CONTROL = 7, // deprecated
539
- BROADCAST = 8, // application data for everyone
540
- SINGLE = 9 // application data for a single node
541
- };
542
- ```
543
-
544
- #### Investigation Needed
545
-
546
- 1. **Check Usage:** Verify if `CONTROL` is still referenced anywhere
547
- 2. **Migration Path:** Identify what replaced `CONTROL` (likely `SINGLE` or `BROADCAST`)
548
- 3. **Backward Compatibility:** Determine if older mesh nodes still use `CONTROL`
549
-
550
- #### Recommended Action
551
-
552
- **Step 1: Search for Usage**
553
-
554
- ```bash
555
- # PowerShell command to find all references
556
- Get-ChildItem -Path src,examples,test -Recurse -Include *.cpp,*.hpp,*.h,*.ino |
557
- Select-String -Pattern "CONTROL" |
558
- Select-Object Path,LineNumber,Line
559
- ```
560
-
561
- **Step 2: Deprecation Strategy**
562
-
563
- If still in use:
564
-
565
- ```cpp
566
- // Add deprecation warning (C++14 compatible)
567
- enum Type {
568
- TIME_DELAY = 3,
569
- TIME_SYNC = 4,
570
- NODE_SYNC_REQUEST = 5,
571
- NODE_SYNC_REPLY = 6,
572
-
573
- // DEPRECATED: Use SINGLE or BROADCAST instead
574
- // Will be removed in v2.0.0
575
- CONTROL __attribute__((deprecated("Use SINGLE or BROADCAST"))) = 7,
576
-
577
- BROADCAST = 8,
578
- SINGLE = 9
579
- };
580
- ```
581
-
582
- If not in use:
583
-
584
- ```cpp
585
- // Simply remove from enum
586
- enum Type {
587
- TIME_DELAY = 3,
588
- TIME_SYNC = 4,
589
- NODE_SYNC_REQUEST = 5,
590
- NODE_SYNC_REPLY = 6,
591
- // CONTROL = 7 removed in v1.8.0
592
- BROADCAST = 8,
593
- SINGLE = 9
594
- };
595
- ```
596
-
597
- **Step 3: Update Protocol Documentation**
598
-
599
- Add to `docs/api/protocol.md`:
600
-
601
- ```markdown
602
- ## Protocol Changes
603
-
604
- ### v1.8.0
605
- - **REMOVED:** `CONTROL` message type (deprecated since v1.5.0)
606
- - **Migration:** Use `SINGLE` for point-to-point or `BROADCAST` for mesh-wide messages
607
- ```
608
-
609
- ---
610
-
611
- ### 5. OTA Return Value Semantics Unclear
612
-
613
- **File:** `src/painlessmesh/ota.hpp` (Line 365)
614
- **Impact:** Error handling consistency, API clarity
615
-
616
- #### Current Implementation
617
-
618
- ```cpp
619
- auto size = callback(pkg, buffer);
620
- // Handle zero size
621
- if (!size) {
622
- // No data is available by the user app.
623
-
624
- // todo - doubtful, shall we return true or false. What is the purpose
625
- // of this return value.
626
- return true;
627
- }
628
- ```
629
-
630
- #### Context Analysis
631
-
632
- This is inside the `addDataCallback()` lambda, which handles `OTA_OP_CODES::DATA_REQUEST` packages. The return value likely indicates:
633
-
634
- - `true` = Packet handled successfully (even if no data available)
635
- - `false` = Packet handling failed, try again
636
-
637
- #### Recommended Clarification
638
-
639
- **Option 1: Document Current Behavior**
640
-
641
- ```cpp
642
- auto size = callback(pkg, buffer);
643
-
644
- // Zero size indicates no data available (valid end of stream or cache miss)
645
- // Return true to acknowledge request was processed successfully
646
- if (!size) {
647
- Log(DEBUG, "OTA: No data for chunk %d (end of stream)\n", pkg.partNo);
648
- return true; // Request handled, no retry needed
649
- }
650
- ```
651
-
652
- **Option 2: Add Explicit Error Handling**
653
-
654
- ```cpp
655
- auto size = callback(pkg, buffer);
656
-
657
- if (!size) {
658
- if (pkg.partNo >= pkg.noPart) {
659
- // End of file reached, this is expected
660
- Log(DEBUG, "OTA: Chunk %d exceeds file size, ignoring\n", pkg.partNo);
661
- return true; // Valid end of stream
662
- } else {
663
- // Data should exist but callback failed
664
- Log(ERROR, "OTA: Callback failed to provide chunk %d/%d\n",
665
- pkg.partNo, pkg.noPart);
666
- return false; // Retry might help
667
- }
668
- }
669
- ```
670
-
671
- **Option 3: Use Enum for Return Values**
672
-
673
- ```cpp
674
- enum class PackageHandleResult {
675
- SUCCESS = 0, // Handled successfully
676
- RETRY = 1, // Temporary failure, retry
677
- IGNORE = 2, // Invalid request, don't retry
678
- ERROR = 3 // Fatal error
679
- };
680
-
681
- // Update callback signature
682
- mesh.onPackage(
683
- (int)OTA_OP_CODES::DATA_REQUEST,
684
- [](auto variant) -> PackageHandleResult {
685
- // ...
686
- if (!size) {
687
- return PackageHandleResult::IGNORE; // Clear intent
688
- }
689
- return PackageHandleResult::SUCCESS;
690
- }
691
- );
692
- ```
693
-
694
- ---
695
-
696
- ## P3 - Low Priority Issues
697
-
698
- ### 6. NTP Middle Node Switching Behavior
699
-
700
- **File:** `src/painlessmesh/ntp.hpp` (Line 86-89)
701
- **Impact:** Time sync stability, minor network churn
702
-
703
- #### Current Code
704
-
705
- ```cpp
706
- if (mySubCount == remoteSubCount) {
707
- // TODO: there is a change here that a middle node also lower is than the
708
- // two others and will start switching between both. Maybe should do it
709
- // randomly instead?
710
- return mesh.nodeId < connection.nodeId;
711
- }
712
- ```
713
-
714
- #### Problem
715
-
716
- When two branches have equal sub-counts, using deterministic comparison (`<`) can cause a middle node to flip-flop if it's numerically between both branch roots.
717
-
718
- **Example Scenario:**
719
-
720
- ```
721
- Node A (ID: 100) - 5 subs
722
- Node B (ID: 200) - 5 subs
723
- Node C (ID: 150) - middle node choosing parent
724
-
725
- Current: C chooses A because 150 < 200 (deterministic)
726
- Issue: If A briefly disconnects, C switches to B, then back to A when reconnected
727
- ```
728
-
729
- #### Recommended Fix
730
-
731
- **Use Sticky Random Choice:**
732
-
733
- ```cpp
734
- // Add to Connection class
735
- struct ConnectionState {
736
- uint32_t preferredParent = 0;
737
- uint32_t lastParentSwitch = 0;
738
- };
739
-
740
- // In adopt() function
741
- if (mySubCount == remoteSubCount) {
742
- // If we already have a preferred parent and it's still valid, stick with it
743
- if (connection->state.preferredParent != 0 &&
744
- mesh.connectionExists(connection->state.preferredParent)) {
745
- return connection->state.preferredParent == connection.nodeId;
746
- }
747
-
748
- // If no preference or parent changed, use random choice with hysteresis
749
- uint32_t now = mesh.getNodeTime();
750
- if (now - connection->state.lastParentSwitch < 30000) {
751
- // Less than 30s since last switch, keep current parent
752
- return false; // Don't switch
753
- }
754
-
755
- // Random choice to break ties
756
- bool shouldAdopt = (mesh.nodeId ^ connection.nodeId) & 1;
757
-
758
- if (shouldAdopt) {
759
- connection->state.preferredParent = connection.nodeId;
760
- connection->state.lastParentSwitch = now;
761
- }
762
-
763
- return shouldAdopt;
764
- }
765
- ```
766
-
767
- **Alternative: Use Connection Quality Metrics**
768
-
769
- ```cpp
770
- if (mySubCount == remoteSubCount) {
771
- // Prefer connection with better signal quality
772
- int8_t mySignal = connection->getSignalStrength();
773
- int8_t otherSignal = getConnectionSignal(otherNodeId);
774
-
775
- if (abs(mySignal - otherSignal) > 10) { // 10 dBm hysteresis
776
- return mySignal > otherSignal;
777
- }
778
-
779
- // Fall back to deterministic if signals equivalent
780
- return mesh.nodeId < connection.nodeId;
781
- }
782
- ```
783
-
784
- ---
785
-
786
- ## Additional Architectural Concerns
787
-
788
- ### 7. No Exception Handling
789
-
790
- **Impact:** Robustness, error recovery, debugging
791
-
792
- #### Observation
793
-
794
- Grep search revealed no `try/catch/throw` statements in `src/painlessmesh/**`. While C++ exceptions may not be ideal for embedded systems (code size, stack unwinding), the complete absence creates issues:
795
-
796
- **Problems:**
797
-
798
- 1. No way to handle catastrophic failures (malloc failure, stack overflow)
799
- 2. `std::shared_ptr` and STL containers can throw `std::bad_alloc`
800
- 3. Silent failures make debugging difficult
801
-
802
- #### Recommendations
803
-
804
- **Option 1: Add Exception Handlers at Boundaries**
805
-
806
- ```cpp
807
- // In mesh.update() - main entry point
808
- void update() {
809
- try {
810
- // All mesh processing
811
- scheduler.execute();
812
- handleConnections();
813
- processMessages();
814
- } catch (const std::bad_alloc& e) {
815
- Log(ERROR, "Out of memory in mesh.update()\n");
816
- // Attempt graceful degradation
817
- purgeOldMessages();
818
- closeOldConnections();
819
- } catch (const std::exception& e) {
820
- Log(ERROR, "Exception in mesh.update(): %s\n", e.what());
821
- } catch (...) {
822
- Log(ERROR, "Unknown exception in mesh.update()\n");
823
- // Critical: restart mesh?
824
- }
825
- }
826
- ```
827
-
828
- **Option 2: Disable Exceptions, Use Error Codes**
829
-
830
- ```cpp
831
- // Add to platformio.ini or CMakeLists.txt
832
- build_flags = -fno-exceptions -fno-rtti
833
-
834
- // Use std::optional or error codes
835
- std::optional<protocol::Variant> parseMessage(const TSTRING& msg) {
836
- auto variant = protocol::Variant(msg, calculateCapacity(msg));
837
-
838
- if (variant.error != DeserializationError::Ok) {
839
- return std::nullopt; // Explicit failure
840
- }
841
-
842
- return variant;
843
- }
844
-
845
- // Usage
846
- auto result = parseMessage(msg);
847
- if (!result) {
848
- Log(ERROR, "Failed to parse message\n");
849
- return;
850
- }
851
- auto variant = *result;
852
- ```
853
-
854
- ---
855
-
856
- ### 8. Smart Pointer Memory Management
857
-
858
- **Impact:** Memory leaks, fragmentation, performance
859
-
860
- #### Observation
861
-
862
- Extensive use of `std::shared_ptr` (20+ matches) without clear ownership semantics or cleanup strategies.
863
-
864
- #### Concerns
865
-
866
- 1. **Circular References:** Can cause memory leaks if not carefully managed
867
- 2. **Fragmentation:** Frequent allocations/deallocations on ESP8266 heap
868
- 3. **No Weak Pointers:** No way to break cycles or hold non-owning references
869
- 4. **Thread Safety:** `shared_ptr` has atomics overhead (unnecessary on single-threaded ESP)
870
-
871
- #### Recommendations
872
-
873
- **Audit Ownership Patterns:**
874
-
875
- ```cpp
876
- // Document ownership in comments
877
- class Mesh {
878
- // Mesh owns connections (strong ownership)
879
- std::list<std::shared_ptr<Connection>> connections_;
880
-
881
- // Router holds weak references (non-owning)
882
- std::map<uint32_t, std::weak_ptr<Connection>> routeCache_;
883
-
884
- // Connection holds weak reference back to mesh (avoid cycle)
885
- std::weak_ptr<Mesh> mesh_;
886
- };
887
- ```
888
-
889
- **Consider Unique Pointers Where Appropriate:**
890
-
891
- ```cpp
892
- // If connection is uniquely owned by mesh
893
- std::list<std::unique_ptr<Connection>> connections_;
894
-
895
- // Pass raw pointers for temporary access (no ownership transfer)
896
- void handleMessage(Connection* conn, const TSTRING& msg);
897
- ```
898
-
899
- **Add Cleanup Strategy:**
900
-
901
- ```cpp
902
- // Periodic cleanup task
903
- Task memoryCleanupTask(60000, TASK_FOREVER, []() {
904
- // Remove expired weak_ptr from caches
905
- mesh.cleanupExpiredReferences();
906
-
907
- // Log memory stats
908
- Log(DEBUG, "Free heap: %u bytes\n", ESP.getFreeHeap());
909
- });
910
- ```
911
-
912
- ---
913
-
914
- ## Implementation Roadmap
915
-
916
- ### Phase 1: Critical Fixes (v1.7.3 - Immediate)
917
-
918
- - [x] Fix router JSON parsing segmentation fault (Issue #1)
919
- - [x] Add memory safety tests
920
- - [x] Document maximum message size limits
921
-
922
- ### Phase 2: Core Features (v1.8.0 - 2-4 weeks)
923
-
924
- - [ ] Implement hop count calculation (Issue #2)
925
- - [ ] Implement routing table (Issue #3)
926
- - [ ] Add routing table tests
927
- - [ ] Update MQTT bridge to use routing table
928
-
929
- ### Phase 3: Code Quality (v1.9.0 - 4-6 weeks)
930
-
931
- - [ ] Remove deprecated CONTROL type (Issue #4)
932
- - [ ] Clarify OTA return semantics (Issue #5)
933
- - [ ] Fix NTP middle node behavior (Issue #6)
934
- - [ ] Add exception handling at boundaries (Issue #7)
935
-
936
- ### Phase 4: Architecture (v2.0.0 - Long term)
937
-
938
- - [ ] Audit smart pointer usage (Issue #8)
939
- - [ ] Refactor for unique_ptr where appropriate
940
- - [ ] Implement memory cleanup strategy
941
- - [ ] Add memory profiling tools
942
-
943
- ---
944
-
945
- ## Testing Strategy
946
-
947
- ### New Test Files Required
948
-
949
- ```
950
- test/catch/
951
- ├── catch_router_memory.cpp # Issue #1 - JSON parsing
952
- ├── catch_mesh_hop_count.cpp # Issue #2 - Hop count
953
- ├── catch_routing_table.cpp # Issue #3 - Routing table
954
- └── catch_memory_cleanup.cpp # Issue #8 - Smart pointers
955
- ```
956
-
957
- ### Integration Test Scenarios
958
-
959
- 1. **Large Mesh Stress Test:** 20+ nodes, 1000+ messages/minute
960
- 2. **Memory Leak Test:** Run for 24 hours, monitor heap fragmentation
961
- 3. **Topology Change Test:** Rapidly connect/disconnect nodes, verify routing updates
962
- 4. **Malformed Message Test:** Fuzz testing with invalid JSON payloads
963
-
964
- ---
965
-
966
- ## Metrics to Track
967
-
968
- ### Before/After Comparison
969
-
970
- | Metric | Current (v1.7.0) | Target (v2.0.0) |
971
- |--------|------------------|-----------------|
972
- | Max message parse time | ~50ms (with retries) | <5ms (no retries) |
973
- | Memory usage per connection | ~10KB | ~8KB (unique_ptr) |
974
- | Routing table rebuild time | N/A (not implemented) | <100ms for 20 nodes |
975
- | Average hop count accuracy | 0% (always returns 2) | 100% |
976
- | Test coverage (router.hpp) | 60% | 90% |
977
-
978
- ---
979
-
980
- ## References
981
-
982
- ### Related Documentation
983
-
984
- - [OTA Status Enhancements](../improvements/OTA_STATUS_ENHANCEMENTS.md)
985
- - [Implementation History](../improvements/IMPLEMENTATION_HISTORY.md)
986
- - [Architecture Overview](../architecture/README.md)
987
- - [API Reference](../api/README.md)
988
-
989
- ### External Resources
990
-
991
- - [ArduinoJson v6 Migration Guide](https://arduinojson.org/v6/doc/upgrade/)
992
- - [ESP8266 Memory Management](https://arduino-esp8266.readthedocs.io/en/latest/faq/a02-my-esp-crashes.html)
993
- - [C++ Smart Pointer Best Practices](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#r-resource-management)
994
-
995
- ---
996
-
997
- ## Contributing
998
-
999
- To propose new refactoring recommendations:
1000
-
1001
- 1. Search codebase for the pattern: `grep -r "pattern" src/`
1002
- 2. Document current behavior and problems
1003
- 3. Propose solution with code examples
1004
- 4. Add to this document via pull request
1005
- 5. Link to relevant GitHub issue
1006
-
1007
- ---
1008
-
1009
- **Document Status:** ✅ Complete
1010
- **Next Review:** 2025-02-27 (1 month)
1011
- **Maintainer:** Alteriom Core Team
1
+ # Code Refactoring Recommendations
2
+
3
+ **Last Updated:** 2025-01-27
4
+ **Analysis Scope:** painlessMesh v1.7.0 (Alteriom fork)
5
+
6
+ ## Overview
7
+
8
+ This document provides comprehensive code refactoring recommendations based on systematic analysis of the painlessMesh codebase. Issues are prioritized by severity and impact, with concrete examples and implementation strategies.
9
+
10
+ ---
11
+
12
+ ## Executive Summary
13
+
14
+ **Critical Findings:**
15
+
16
+ - 1 memory safety issue (segmentation fault workaround)
17
+ - 2 missing core features (hop count, routing table)
18
+ - 1 deprecated protocol type requiring cleanup
19
+ - 3 minor TODOs with unclear semantics
20
+ - No exception handling throughout codebase
21
+ - Extensive use of smart pointers without cleanup strategies
22
+
23
+ **Priority Distribution:**
24
+
25
+ - **P0 (Critical):** 1 issue
26
+ - **P1 (High):** 2 issues
27
+ - **P2 (Medium):** 2 issues
28
+ - **P3 (Low):** 2 issues
29
+
30
+ ---
31
+
32
+ ## P0 - Critical Issues
33
+
34
+ ### 1. Router JSON Parsing Segmentation Fault Workaround
35
+
36
+ **File:** `src/painlessmesh/router.hpp` (Lines 193-218)
37
+ **Impact:** Memory safety, performance degradation, potential crashes
38
+
39
+ #### Current Implementation
40
+
41
+ ```cpp
42
+ // Line 195-196: Bug in copy constructor with grown capacity can cause segmentation fault
43
+ static size_t baseCapacity = 512;
44
+ auto variant = std::make_shared<protocol::Variant>(pkg, pkg.length() + baseCapacity);
45
+
46
+ while (variant->error == DeserializationError::NoMemory && baseCapacity <= 20480) {
47
+ baseCapacity += 256;
48
+ variant = std::make_shared<protocol::Variant>(pkg, pkg.length() + baseCapacity);
49
+ }
50
+ ```
51
+
52
+ #### Problems
53
+
54
+ 1. **Memory Safety Risk:** Workaround masks underlying bug instead of fixing root cause
55
+ 2. **Performance Impact:** Escalating allocations (512 → 20,480 bytes) for large packets
56
+ 3. **Memory Leaks:** Each failed allocation creates abandoned `shared_ptr` until GC
57
+ 4. **Static State:** `baseCapacity` grows indefinitely, never resets between mesh restarts
58
+ 5. **ESP8266 Risk:** 20KB allocation can exhaust 80KB heap, causing OOM on constrained devices
59
+
60
+ #### Root Cause Analysis
61
+
62
+ The bug appears related to ArduinoJson's `DynamicJsonDocument` copy constructor when capacity is grown dynamically. The issue likely stems from:
63
+
64
+ 1. ArduinoJson v6/v7 capacity management differences
65
+ 2. Incorrect capacity calculation for nested JSON objects
66
+ 3. Missing buffer alignment or padding considerations
67
+
68
+ #### Recommended Fix
69
+
70
+ **Option A: Pre-calculate Required Capacity**
71
+
72
+ ```cpp
73
+ // Calculate capacity based on JSON structure depth
74
+ size_t calculateJsonCapacity(const TSTRING& pkg) {
75
+ size_t baseSize = pkg.length();
76
+ size_t nestingDepth = std::count(pkg.begin(), pkg.end(), '{') +
77
+ std::count(pkg.begin(), pkg.end(), '[');
78
+
79
+ // Each nesting level adds overhead for pointers and metadata
80
+ size_t overhead = JSON_OBJECT_SIZE(10) * nestingDepth + 256;
81
+ return baseSize + overhead;
82
+ }
83
+
84
+ // Usage
85
+ auto variant = std::make_shared<protocol::Variant>(
86
+ pkg, calculateJsonCapacity(pkg)
87
+ );
88
+
89
+ if (variant->error != DeserializationError::Ok) {
90
+ Log(ERROR, "routePackage(): JSON parse error: %d\n", variant->error);
91
+ return; // Fail fast instead of retrying
92
+ }
93
+ ```
94
+
95
+ **Option B: Use Fixed Large Capacity with Error Handling**
96
+
97
+ ```cpp
98
+ // Use generous fixed capacity based on mesh constraints
99
+ constexpr size_t MAX_MESSAGE_SIZE = 4096; // Documented mesh limit
100
+ constexpr size_t JSON_CAPACITY = MAX_MESSAGE_SIZE + JSON_OBJECT_SIZE(20) + 512;
101
+
102
+ auto variant = std::make_shared<protocol::Variant>(pkg, JSON_CAPACITY);
103
+
104
+ if (variant->error != DeserializationError::Ok) {
105
+ Log(ERROR, "routePackage(): Message too large (%u bytes) or malformed\n",
106
+ pkg.length());
107
+ // Increment metrics for oversized packets
108
+ return;
109
+ }
110
+ ```
111
+
112
+ **Option C: Investigate ArduinoJson Upgrade**
113
+
114
+ ```cpp
115
+ // Consider migrating to ArduinoJson v7 with improved memory management
116
+ #if ARDUINOJSON_VERSION_MAJOR >= 7
117
+ // v7 has better automatic capacity management
118
+ JsonDocument doc;
119
+ DeserializationError error = deserializeJson(doc, pkg);
120
+
121
+ if (error) {
122
+ Log(ERROR, "routePackage(): Parse error: %s\n", error.c_str());
123
+ return;
124
+ }
125
+
126
+ auto variant = protocol::Variant(doc.as<JsonObject>());
127
+ #else
128
+ // Fallback for v6
129
+ // ...existing implementation with fixes...
130
+ #endif
131
+ ```
132
+
133
+ #### Implementation Priority
134
+
135
+ **Timeline:** Immediate (v1.7.3 patch release)
136
+
137
+ **Steps:**
138
+
139
+ 1. Research ArduinoJson v6/v7 capacity calculation differences
140
+ 2. Add unit tests for large nested JSON packets (see `test/catch/catch_router.cpp`)
141
+ 3. Implement Option A with capacity calculation
142
+ 4. Add metrics tracking for parse failures
143
+ 5. Document maximum message size constraints in API docs
144
+
145
+ **Testing Requirements:**
146
+
147
+ - Parse 100+ nested JSON objects (worst case)
148
+ - Test on ESP8266 (80KB heap) and ESP32 (320KB heap)
149
+ - Validate memory doesn't grow indefinitely over 24hr mesh runtime
150
+ - Fuzz testing with malformed JSON payloads
151
+
152
+ ---
153
+
154
+ ## P1 - High Priority Issues
155
+
156
+ ### 2. Missing Hop Count Calculation
157
+
158
+ **File:** `src/painlessmesh/mesh.hpp` (Lines 420-432)
159
+ **Impact:** Network efficiency, routing optimization, diagnostic capabilities
160
+
161
+ #### Current Implementation
162
+
163
+ ```cpp
164
+ int getHopCount(uint32_t nodeId) {
165
+ // TODO: Implement proper hop count calculation
166
+
167
+ // Check if node exists in mesh
168
+ bool nodeExists = false;
169
+ auto nodes = getNodeList();
170
+ for (auto node : nodes) {
171
+ if (node == nodeId) {
172
+ nodeExists = true;
173
+ break;
174
+ }
175
+ }
176
+
177
+ if (!nodeExists) return -1;
178
+
179
+ // For now, return 2 for any node in the mesh
180
+ return 2; // Stub implementation
181
+ }
182
+ ```
183
+
184
+ #### Problems
185
+
186
+ 1. **Incorrect Routing Decisions:** All nodes treated as 2 hops away regardless of actual distance
187
+ 2. **No Path Optimization:** Can't prefer shorter paths over longer ones
188
+ 3. **Diagnostic Limitations:** Network topology visualization shows incorrect distances
189
+ 4. **Battery Impact:** Devices may route through longer paths, wasting power
190
+
191
+ #### Recommended Implementation
192
+
193
+ **Breadth-First Search (BFS) Algorithm:**
194
+
195
+ ```cpp
196
+ int getHopCount(uint32_t nodeId) {
197
+ if (nodeId == this->nodeId) return 0; // Self
198
+
199
+ auto topology = asNodeTree();
200
+
201
+ // BFS queue: pair of (node, hop_count)
202
+ std::queue<std::pair<layout::NodeTree, int>> queue;
203
+ std::set<uint32_t> visited;
204
+
205
+ queue.push({topology, 0});
206
+ visited.insert(topology.nodeId);
207
+
208
+ while (!queue.empty()) {
209
+ auto [current, hops] = queue.front();
210
+ queue.pop();
211
+
212
+ // Check all children of current node
213
+ for (const auto& child : current.subs) {
214
+ if (child.nodeId == nodeId) {
215
+ return hops + 1; // Found target
216
+ }
217
+
218
+ if (visited.find(child.nodeId) == visited.end()) {
219
+ visited.insert(child.nodeId);
220
+ queue.push({child, hops + 1});
221
+ }
222
+ }
223
+ }
224
+
225
+ return -1; // Node not found in mesh
226
+ }
227
+ ```
228
+
229
+ **With Caching for Performance:**
230
+
231
+ ```cpp
232
+ class Mesh {
233
+ private:
234
+ // Cache hop counts after topology changes
235
+ std::map<uint32_t, int> hopCountCache_;
236
+ uint32_t topologyVersion_ = 0; // Increment on topology changes
237
+
238
+ public:
239
+ int getHopCount(uint32_t nodeId) {
240
+ // Check cache
241
+ auto it = hopCountCache_.find(nodeId);
242
+ if (it != hopCountCache_.end()) {
243
+ return it->second;
244
+ }
245
+
246
+ // Calculate and cache
247
+ int hops = calculateHopCountBFS(nodeId);
248
+ hopCountCache_[nodeId] = hops;
249
+ return hops;
250
+ }
251
+
252
+ // Call when topology changes (onNewConnection, onDroppedConnection)
253
+ void invalidateHopCountCache() {
254
+ hopCountCache_.clear();
255
+ topologyVersion_++;
256
+ }
257
+
258
+ private:
259
+ int calculateHopCountBFS(uint32_t nodeId) {
260
+ // ... BFS implementation from above ...
261
+ }
262
+ };
263
+ ```
264
+
265
+ #### Integration Points
266
+
267
+ **Update these callbacks to invalidate cache:**
268
+
269
+ ```cpp
270
+ void onNewConnection(uint32_t nodeId) {
271
+ invalidateHopCountCache();
272
+ // ... existing logic ...
273
+ }
274
+
275
+ void onDroppedConnection(uint32_t nodeId) {
276
+ invalidateHopCountCache();
277
+ // ... existing logic ...
278
+ }
279
+
280
+ void onChangedConnections() {
281
+ invalidateHopCountCache();
282
+ // ... existing logic ...
283
+ }
284
+ ```
285
+
286
+ #### Testing Requirements
287
+
288
+ ```cpp
289
+ // test/catch/catch_mesh_hop_count.cpp
290
+ SCENARIO("Hop count calculation for multi-hop mesh") {
291
+ GIVEN("A linear topology: A -> B -> C -> D") {
292
+ // A is root
293
+ REQUIRE(meshA.getHopCount(meshA.getNodeId()) == 0); // Self
294
+ REQUIRE(meshA.getHopCount(meshB.getNodeId()) == 1); // Direct child
295
+ REQUIRE(meshA.getHopCount(meshC.getNodeId()) == 2); // Grandchild
296
+ REQUIRE(meshA.getHopCount(meshD.getNodeId()) == 3); // Great-grandchild
297
+ }
298
+
299
+ GIVEN("A star topology: B,C,D all connect to A") {
300
+ REQUIRE(meshA.getHopCount(meshB.getNodeId()) == 1);
301
+ REQUIRE(meshA.getHopCount(meshC.getNodeId()) == 1);
302
+ REQUIRE(meshA.getHopCount(meshD.getNodeId()) == 1);
303
+ }
304
+
305
+ GIVEN("Node not in mesh") {
306
+ REQUIRE(meshA.getHopCount(99999) == -1);
307
+ }
308
+ }
309
+ ```
310
+
311
+ ---
312
+
313
+ ### 3. Missing Routing Table for Multi-Hop Paths
314
+
315
+ **File:** `src/painlessmesh/mesh.hpp` (Lines 438-456)
316
+ **Impact:** Message delivery efficiency, bandwidth usage, scalability
317
+
318
+ #### Current Implementation
319
+
320
+ ```cpp
321
+ std::map<uint32_t, std::vector<uint32_t>> getRoutingTable() {
322
+ std::map<uint32_t, std::vector<uint32_t>> routingTable;
323
+
324
+ // TODO: Implement proper routing table lookup for multi-hop paths
325
+ // Currently only returns direct connections
326
+
327
+ auto connections = getNodeList();
328
+ for (auto nodeId : connections) {
329
+ routingTable[nodeId] = {nodeId}; // Direct path only
330
+ }
331
+
332
+ return routingTable;
333
+ }
334
+ ```
335
+
336
+ #### Problems
337
+
338
+ 1. **Inefficient Multi-Hop:** Messages always routed through first available path, not shortest
339
+ 2. **No Next-Hop Lookup:** Router can't determine which neighbor to forward to
340
+ 3. **Scalability Issues:** Large meshes (10+ nodes) suffer from suboptimal routing
341
+ 4. **No Load Balancing:** Can't distribute traffic across multiple equivalent paths
342
+
343
+ #### Recommended Implementation
344
+
345
+ **Dijkstra-Based Routing Table:**
346
+
347
+ ```cpp
348
+ struct RouteEntry {
349
+ uint32_t destination; // Target node ID
350
+ uint32_t nextHop; // Next hop to reach destination
351
+ int hopCount; // Number of hops to destination
352
+ uint32_t lastUpdated; // Timestamp for staleness detection
353
+ };
354
+
355
+ class Mesh {
356
+ private:
357
+ std::map<uint32_t, RouteEntry> routingTable_;
358
+
359
+ public:
360
+ // Build routing table using Dijkstra's algorithm
361
+ void rebuildRoutingTable() {
362
+ routingTable_.clear();
363
+ auto topology = asNodeTree();
364
+
365
+ // Priority queue: (hop_count, current_node, first_hop)
366
+ using QueueEntry = std::tuple<int, uint32_t, uint32_t>;
367
+ std::priority_queue<QueueEntry, std::vector<QueueEntry>,
368
+ std::greater<QueueEntry>> pq;
369
+
370
+ std::set<uint32_t> visited;
371
+
372
+ // Initialize with direct connections
373
+ for (const auto& conn : topology.subs) {
374
+ pq.push({1, conn.nodeId, conn.nodeId});
375
+ }
376
+
377
+ while (!pq.empty()) {
378
+ auto [hops, currentNode, firstHop] = pq.top();
379
+ pq.pop();
380
+
381
+ if (visited.find(currentNode) != visited.end()) continue;
382
+ visited.insert(currentNode);
383
+
384
+ // Add to routing table
385
+ routingTable_[currentNode] = {
386
+ currentNode,
387
+ firstHop,
388
+ hops,
389
+ getNodeTime()
390
+ };
391
+
392
+ // Find neighbors of currentNode
393
+ auto subtree = findNodeInTree(topology, currentNode);
394
+ if (subtree) {
395
+ for (const auto& neighbor : subtree->subs) {
396
+ if (visited.find(neighbor.nodeId) == visited.end()) {
397
+ pq.push({hops + 1, neighbor.nodeId, firstHop});
398
+ }
399
+ }
400
+ }
401
+ }
402
+ }
403
+
404
+ // Lookup next hop for destination
405
+ std::optional<uint32_t> getNextHop(uint32_t destination) {
406
+ auto it = routingTable_.find(destination);
407
+ if (it != routingTable_.end()) {
408
+ return it->second.nextHop;
409
+ }
410
+ return std::nullopt; // No route
411
+ }
412
+
413
+ // Get full routing table (for diagnostics/MQTT bridge)
414
+ std::map<uint32_t, std::vector<uint32_t>> getRoutingTable() {
415
+ std::map<uint32_t, std::vector<uint32_t>> result;
416
+
417
+ for (const auto& [dest, entry] : routingTable_) {
418
+ // Reconstruct full path by following next hops
419
+ std::vector<uint32_t> path = reconstructPath(dest);
420
+ result[dest] = path;
421
+ }
422
+
423
+ return result;
424
+ }
425
+
426
+ private:
427
+ std::vector<uint32_t> reconstructPath(uint32_t destination) {
428
+ std::vector<uint32_t> path;
429
+ uint32_t current = destination;
430
+
431
+ // Walk backwards from destination
432
+ while (current != nodeId) {
433
+ path.push_back(current);
434
+
435
+ // Find parent of current in topology
436
+ auto parent = findParentNode(current);
437
+ if (!parent) break;
438
+ current = *parent;
439
+ }
440
+
441
+ std::reverse(path.begin(), path.end());
442
+ return path;
443
+ }
444
+ };
445
+ ```
446
+
447
+ #### Router Integration
448
+
449
+ **Update `router::send()` to use routing table:**
450
+
451
+ ```cpp
452
+ template <class T, class U>
453
+ bool sendToNode(T& package, uint32_t destNodeId, layout::Layout<U> tree) {
454
+ // Check if direct connection
455
+ auto directConn = router::findRoute(tree, destNodeId);
456
+ if (directConn) {
457
+ return router::send(package, directConn);
458
+ }
459
+
460
+ // Lookup next hop from routing table
461
+ auto nextHop = mesh.getNextHop(destNodeId);
462
+ if (!nextHop) {
463
+ Log(ERROR, "No route to node %u\n", destNodeId);
464
+ return false;
465
+ }
466
+
467
+ // Forward to next hop
468
+ auto nextHopConn = router::findRoute(tree, *nextHop);
469
+ if (nextHopConn) {
470
+ return router::send(package, nextHopConn);
471
+ }
472
+
473
+ Log(ERROR, "Next hop %u not found for destination %u\n",
474
+ *nextHop, destNodeId);
475
+ return false;
476
+ }
477
+ ```
478
+
479
+ #### Maintenance Strategy
480
+
481
+ ```cpp
482
+ // Rebuild routing table on topology changes
483
+ void onChangedConnections() {
484
+ rebuildRoutingTable();
485
+ invalidateHopCountCache();
486
+ // ... existing logic ...
487
+ }
488
+
489
+ // Periodic routing table refresh (optional)
490
+ Task routingTableRefresh(300000, TASK_FOREVER, []() {
491
+ mesh.rebuildRoutingTable();
492
+ Log(DEBUG, "Routing table refreshed\n");
493
+ });
494
+ ```
495
+
496
+ #### Testing Requirements
497
+
498
+ ```cpp
499
+ // test/catch/catch_routing_table.cpp
500
+ SCENARIO("Routing table for complex topology") {
501
+ GIVEN("Mesh topology: A -> B -> C, A -> D -> C") {
502
+ // From A's perspective
503
+ REQUIRE(meshA.getNextHop(meshB) == meshB); // Direct
504
+ REQUIRE(meshA.getNextHop(meshC) == meshB); // Via B (shorter)
505
+ REQUIRE(meshA.getNextHop(meshD) == meshD); // Direct
506
+
507
+ auto routes = meshA.getRoutingTable();
508
+ REQUIRE(routes[meshC] == std::vector<uint32_t>{meshB, meshC});
509
+ }
510
+
511
+ GIVEN("Node becomes unreachable") {
512
+ // Disconnect B
513
+ meshB.stop();
514
+ meshA.rebuildRoutingTable();
515
+
516
+ REQUIRE(meshA.getNextHop(meshC) == meshD); // Reroute via D
517
+ }
518
+ }
519
+ ```
520
+
521
+ ---
522
+
523
+ ## P2 - Medium Priority Issues
524
+
525
+ ### 4. Deprecated CONTROL Message Type
526
+
527
+ **File:** `src/painlessmesh/protocol.hpp` (Line 40)
528
+ **Impact:** Code maintainability, confusion for new developers
529
+
530
+ #### Current State
531
+
532
+ ```cpp
533
+ enum Type {
534
+ TIME_DELAY = 3,
535
+ TIME_SYNC = 4,
536
+ NODE_SYNC_REQUEST = 5,
537
+ NODE_SYNC_REPLY = 6,
538
+ CONTROL = 7, // deprecated
539
+ BROADCAST = 8, // application data for everyone
540
+ SINGLE = 9 // application data for a single node
541
+ };
542
+ ```
543
+
544
+ #### Investigation Needed
545
+
546
+ 1. **Check Usage:** Verify if `CONTROL` is still referenced anywhere
547
+ 2. **Migration Path:** Identify what replaced `CONTROL` (likely `SINGLE` or `BROADCAST`)
548
+ 3. **Backward Compatibility:** Determine if older mesh nodes still use `CONTROL`
549
+
550
+ #### Recommended Action
551
+
552
+ **Step 1: Search for Usage**
553
+
554
+ ```bash
555
+ # PowerShell command to find all references
556
+ Get-ChildItem -Path src,examples,test -Recurse -Include *.cpp,*.hpp,*.h,*.ino |
557
+ Select-String -Pattern "CONTROL" |
558
+ Select-Object Path,LineNumber,Line
559
+ ```
560
+
561
+ **Step 2: Deprecation Strategy**
562
+
563
+ If still in use:
564
+
565
+ ```cpp
566
+ // Add deprecation warning (C++14 compatible)
567
+ enum Type {
568
+ TIME_DELAY = 3,
569
+ TIME_SYNC = 4,
570
+ NODE_SYNC_REQUEST = 5,
571
+ NODE_SYNC_REPLY = 6,
572
+
573
+ // DEPRECATED: Use SINGLE or BROADCAST instead
574
+ // Will be removed in v2.0.0
575
+ CONTROL __attribute__((deprecated("Use SINGLE or BROADCAST"))) = 7,
576
+
577
+ BROADCAST = 8,
578
+ SINGLE = 9
579
+ };
580
+ ```
581
+
582
+ If not in use:
583
+
584
+ ```cpp
585
+ // Simply remove from enum
586
+ enum Type {
587
+ TIME_DELAY = 3,
588
+ TIME_SYNC = 4,
589
+ NODE_SYNC_REQUEST = 5,
590
+ NODE_SYNC_REPLY = 6,
591
+ // CONTROL = 7 removed in v1.8.0
592
+ BROADCAST = 8,
593
+ SINGLE = 9
594
+ };
595
+ ```
596
+
597
+ **Step 3: Update Protocol Documentation**
598
+
599
+ Add to `docs/api/protocol.md`:
600
+
601
+ ```markdown
602
+ ## Protocol Changes
603
+
604
+ ### v1.8.0
605
+ - **REMOVED:** `CONTROL` message type (deprecated since v1.5.0)
606
+ - **Migration:** Use `SINGLE` for point-to-point or `BROADCAST` for mesh-wide messages
607
+ ```
608
+
609
+ ---
610
+
611
+ ### 5. OTA Return Value Semantics Unclear
612
+
613
+ **File:** `src/painlessmesh/ota.hpp` (Line 365)
614
+ **Impact:** Error handling consistency, API clarity
615
+
616
+ #### Current Implementation
617
+
618
+ ```cpp
619
+ auto size = callback(pkg, buffer);
620
+ // Handle zero size
621
+ if (!size) {
622
+ // No data is available by the user app.
623
+
624
+ // todo - doubtful, shall we return true or false. What is the purpose
625
+ // of this return value.
626
+ return true;
627
+ }
628
+ ```
629
+
630
+ #### Context Analysis
631
+
632
+ This is inside the `addDataCallback()` lambda, which handles `OTA_OP_CODES::DATA_REQUEST` packages. The return value likely indicates:
633
+
634
+ - `true` = Packet handled successfully (even if no data available)
635
+ - `false` = Packet handling failed, try again
636
+
637
+ #### Recommended Clarification
638
+
639
+ **Option 1: Document Current Behavior**
640
+
641
+ ```cpp
642
+ auto size = callback(pkg, buffer);
643
+
644
+ // Zero size indicates no data available (valid end of stream or cache miss)
645
+ // Return true to acknowledge request was processed successfully
646
+ if (!size) {
647
+ Log(DEBUG, "OTA: No data for chunk %d (end of stream)\n", pkg.partNo);
648
+ return true; // Request handled, no retry needed
649
+ }
650
+ ```
651
+
652
+ **Option 2: Add Explicit Error Handling**
653
+
654
+ ```cpp
655
+ auto size = callback(pkg, buffer);
656
+
657
+ if (!size) {
658
+ if (pkg.partNo >= pkg.noPart) {
659
+ // End of file reached, this is expected
660
+ Log(DEBUG, "OTA: Chunk %d exceeds file size, ignoring\n", pkg.partNo);
661
+ return true; // Valid end of stream
662
+ } else {
663
+ // Data should exist but callback failed
664
+ Log(ERROR, "OTA: Callback failed to provide chunk %d/%d\n",
665
+ pkg.partNo, pkg.noPart);
666
+ return false; // Retry might help
667
+ }
668
+ }
669
+ ```
670
+
671
+ **Option 3: Use Enum for Return Values**
672
+
673
+ ```cpp
674
+ enum class PackageHandleResult {
675
+ SUCCESS = 0, // Handled successfully
676
+ RETRY = 1, // Temporary failure, retry
677
+ IGNORE = 2, // Invalid request, don't retry
678
+ ERROR = 3 // Fatal error
679
+ };
680
+
681
+ // Update callback signature
682
+ mesh.onPackage(
683
+ (int)OTA_OP_CODES::DATA_REQUEST,
684
+ [](auto variant) -> PackageHandleResult {
685
+ // ...
686
+ if (!size) {
687
+ return PackageHandleResult::IGNORE; // Clear intent
688
+ }
689
+ return PackageHandleResult::SUCCESS;
690
+ }
691
+ );
692
+ ```
693
+
694
+ ---
695
+
696
+ ## P3 - Low Priority Issues
697
+
698
+ ### 6. NTP Middle Node Switching Behavior
699
+
700
+ **File:** `src/painlessmesh/ntp.hpp` (Line 86-89)
701
+ **Impact:** Time sync stability, minor network churn
702
+
703
+ #### Current Code
704
+
705
+ ```cpp
706
+ if (mySubCount == remoteSubCount) {
707
+ // TODO: there is a change here that a middle node also lower is than the
708
+ // two others and will start switching between both. Maybe should do it
709
+ // randomly instead?
710
+ return mesh.nodeId < connection.nodeId;
711
+ }
712
+ ```
713
+
714
+ #### Problem
715
+
716
+ When two branches have equal sub-counts, using deterministic comparison (`<`) can cause a middle node to flip-flop if it's numerically between both branch roots.
717
+
718
+ **Example Scenario:**
719
+
720
+ ```
721
+ Node A (ID: 100) - 5 subs
722
+ Node B (ID: 200) - 5 subs
723
+ Node C (ID: 150) - middle node choosing parent
724
+
725
+ Current: C chooses A because 150 < 200 (deterministic)
726
+ Issue: If A briefly disconnects, C switches to B, then back to A when reconnected
727
+ ```
728
+
729
+ #### Recommended Fix
730
+
731
+ **Use Sticky Random Choice:**
732
+
733
+ ```cpp
734
+ // Add to Connection class
735
+ struct ConnectionState {
736
+ uint32_t preferredParent = 0;
737
+ uint32_t lastParentSwitch = 0;
738
+ };
739
+
740
+ // In adopt() function
741
+ if (mySubCount == remoteSubCount) {
742
+ // If we already have a preferred parent and it's still valid, stick with it
743
+ if (connection->state.preferredParent != 0 &&
744
+ mesh.connectionExists(connection->state.preferredParent)) {
745
+ return connection->state.preferredParent == connection.nodeId;
746
+ }
747
+
748
+ // If no preference or parent changed, use random choice with hysteresis
749
+ uint32_t now = mesh.getNodeTime();
750
+ if (now - connection->state.lastParentSwitch < 30000) {
751
+ // Less than 30s since last switch, keep current parent
752
+ return false; // Don't switch
753
+ }
754
+
755
+ // Random choice to break ties
756
+ bool shouldAdopt = (mesh.nodeId ^ connection.nodeId) & 1;
757
+
758
+ if (shouldAdopt) {
759
+ connection->state.preferredParent = connection.nodeId;
760
+ connection->state.lastParentSwitch = now;
761
+ }
762
+
763
+ return shouldAdopt;
764
+ }
765
+ ```
766
+
767
+ **Alternative: Use Connection Quality Metrics**
768
+
769
+ ```cpp
770
+ if (mySubCount == remoteSubCount) {
771
+ // Prefer connection with better signal quality
772
+ int8_t mySignal = connection->getSignalStrength();
773
+ int8_t otherSignal = getConnectionSignal(otherNodeId);
774
+
775
+ if (abs(mySignal - otherSignal) > 10) { // 10 dBm hysteresis
776
+ return mySignal > otherSignal;
777
+ }
778
+
779
+ // Fall back to deterministic if signals equivalent
780
+ return mesh.nodeId < connection.nodeId;
781
+ }
782
+ ```
783
+
784
+ ---
785
+
786
+ ## Additional Architectural Concerns
787
+
788
+ ### 7. No Exception Handling
789
+
790
+ **Impact:** Robustness, error recovery, debugging
791
+
792
+ #### Observation
793
+
794
+ Grep search revealed no `try/catch/throw` statements in `src/painlessmesh/**`. While C++ exceptions may not be ideal for embedded systems (code size, stack unwinding), the complete absence creates issues:
795
+
796
+ **Problems:**
797
+
798
+ 1. No way to handle catastrophic failures (malloc failure, stack overflow)
799
+ 2. `std::shared_ptr` and STL containers can throw `std::bad_alloc`
800
+ 3. Silent failures make debugging difficult
801
+
802
+ #### Recommendations
803
+
804
+ **Option 1: Add Exception Handlers at Boundaries**
805
+
806
+ ```cpp
807
+ // In mesh.update() - main entry point
808
+ void update() {
809
+ try {
810
+ // All mesh processing
811
+ scheduler.execute();
812
+ handleConnections();
813
+ processMessages();
814
+ } catch (const std::bad_alloc& e) {
815
+ Log(ERROR, "Out of memory in mesh.update()\n");
816
+ // Attempt graceful degradation
817
+ purgeOldMessages();
818
+ closeOldConnections();
819
+ } catch (const std::exception& e) {
820
+ Log(ERROR, "Exception in mesh.update(): %s\n", e.what());
821
+ } catch (...) {
822
+ Log(ERROR, "Unknown exception in mesh.update()\n");
823
+ // Critical: restart mesh?
824
+ }
825
+ }
826
+ ```
827
+
828
+ **Option 2: Disable Exceptions, Use Error Codes**
829
+
830
+ ```cpp
831
+ // Add to platformio.ini or CMakeLists.txt
832
+ build_flags = -fno-exceptions -fno-rtti
833
+
834
+ // Use std::optional or error codes
835
+ std::optional<protocol::Variant> parseMessage(const TSTRING& msg) {
836
+ auto variant = protocol::Variant(msg, calculateCapacity(msg));
837
+
838
+ if (variant.error != DeserializationError::Ok) {
839
+ return std::nullopt; // Explicit failure
840
+ }
841
+
842
+ return variant;
843
+ }
844
+
845
+ // Usage
846
+ auto result = parseMessage(msg);
847
+ if (!result) {
848
+ Log(ERROR, "Failed to parse message\n");
849
+ return;
850
+ }
851
+ auto variant = *result;
852
+ ```
853
+
854
+ ---
855
+
856
+ ### 8. Smart Pointer Memory Management
857
+
858
+ **Impact:** Memory leaks, fragmentation, performance
859
+
860
+ #### Observation
861
+
862
+ Extensive use of `std::shared_ptr` (20+ matches) without clear ownership semantics or cleanup strategies.
863
+
864
+ #### Concerns
865
+
866
+ 1. **Circular References:** Can cause memory leaks if not carefully managed
867
+ 2. **Fragmentation:** Frequent allocations/deallocations on ESP8266 heap
868
+ 3. **No Weak Pointers:** No way to break cycles or hold non-owning references
869
+ 4. **Thread Safety:** `shared_ptr` has atomics overhead (unnecessary on single-threaded ESP)
870
+
871
+ #### Recommendations
872
+
873
+ **Audit Ownership Patterns:**
874
+
875
+ ```cpp
876
+ // Document ownership in comments
877
+ class Mesh {
878
+ // Mesh owns connections (strong ownership)
879
+ std::list<std::shared_ptr<Connection>> connections_;
880
+
881
+ // Router holds weak references (non-owning)
882
+ std::map<uint32_t, std::weak_ptr<Connection>> routeCache_;
883
+
884
+ // Connection holds weak reference back to mesh (avoid cycle)
885
+ std::weak_ptr<Mesh> mesh_;
886
+ };
887
+ ```
888
+
889
+ **Consider Unique Pointers Where Appropriate:**
890
+
891
+ ```cpp
892
+ // If connection is uniquely owned by mesh
893
+ std::list<std::unique_ptr<Connection>> connections_;
894
+
895
+ // Pass raw pointers for temporary access (no ownership transfer)
896
+ void handleMessage(Connection* conn, const TSTRING& msg);
897
+ ```
898
+
899
+ **Add Cleanup Strategy:**
900
+
901
+ ```cpp
902
+ // Periodic cleanup task
903
+ Task memoryCleanupTask(60000, TASK_FOREVER, []() {
904
+ // Remove expired weak_ptr from caches
905
+ mesh.cleanupExpiredReferences();
906
+
907
+ // Log memory stats
908
+ Log(DEBUG, "Free heap: %u bytes\n", ESP.getFreeHeap());
909
+ });
910
+ ```
911
+
912
+ ---
913
+
914
+ ## Implementation Roadmap
915
+
916
+ ### Phase 1: Critical Fixes (v1.7.3 - Immediate)
917
+
918
+ - [x] Fix router JSON parsing segmentation fault (Issue #1)
919
+ - [x] Add memory safety tests
920
+ - [x] Document maximum message size limits
921
+
922
+ ### Phase 2: Core Features (v1.8.0 - 2-4 weeks)
923
+
924
+ - [ ] Implement hop count calculation (Issue #2)
925
+ - [ ] Implement routing table (Issue #3)
926
+ - [ ] Add routing table tests
927
+ - [ ] Update MQTT bridge to use routing table
928
+
929
+ ### Phase 3: Code Quality (v1.9.0 - 4-6 weeks)
930
+
931
+ - [ ] Remove deprecated CONTROL type (Issue #4)
932
+ - [ ] Clarify OTA return semantics (Issue #5)
933
+ - [ ] Fix NTP middle node behavior (Issue #6)
934
+ - [ ] Add exception handling at boundaries (Issue #7)
935
+
936
+ ### Phase 4: Architecture (v2.0.0 - Long term)
937
+
938
+ - [ ] Audit smart pointer usage (Issue #8)
939
+ - [ ] Refactor for unique_ptr where appropriate
940
+ - [ ] Implement memory cleanup strategy
941
+ - [ ] Add memory profiling tools
942
+
943
+ ---
944
+
945
+ ## Testing Strategy
946
+
947
+ ### New Test Files Required
948
+
949
+ ```
950
+ test/catch/
951
+ ├── catch_router_memory.cpp # Issue #1 - JSON parsing
952
+ ├── catch_mesh_hop_count.cpp # Issue #2 - Hop count
953
+ ├── catch_routing_table.cpp # Issue #3 - Routing table
954
+ └── catch_memory_cleanup.cpp # Issue #8 - Smart pointers
955
+ ```
956
+
957
+ ### Integration Test Scenarios
958
+
959
+ 1. **Large Mesh Stress Test:** 20+ nodes, 1000+ messages/minute
960
+ 2. **Memory Leak Test:** Run for 24 hours, monitor heap fragmentation
961
+ 3. **Topology Change Test:** Rapidly connect/disconnect nodes, verify routing updates
962
+ 4. **Malformed Message Test:** Fuzz testing with invalid JSON payloads
963
+
964
+ ---
965
+
966
+ ## Metrics to Track
967
+
968
+ ### Before/After Comparison
969
+
970
+ | Metric | Current (v1.7.0) | Target (v2.0.0) |
971
+ |--------|------------------|-----------------|
972
+ | Max message parse time | ~50ms (with retries) | <5ms (no retries) |
973
+ | Memory usage per connection | ~10KB | ~8KB (unique_ptr) |
974
+ | Routing table rebuild time | N/A (not implemented) | <100ms for 20 nodes |
975
+ | Average hop count accuracy | 0% (always returns 2) | 100% |
976
+ | Test coverage (router.hpp) | 60% | 90% |
977
+
978
+ ---
979
+
980
+ ## References
981
+
982
+ ### Related Documentation
983
+
984
+ - [OTA Status Enhancements](../improvements/OTA_STATUS_ENHANCEMENTS.md)
985
+ - [Implementation History](../improvements/IMPLEMENTATION_HISTORY.md)
986
+ - [Architecture Overview](../architecture/README.md)
987
+ - [API Reference](../api/README.md)
988
+
989
+ ### External Resources
990
+
991
+ - [ArduinoJson v6 Migration Guide](https://arduinojson.org/v6/doc/upgrade/)
992
+ - [ESP8266 Memory Management](https://arduino-esp8266.readthedocs.io/en/latest/faq/a02-my-esp-crashes.html)
993
+ - [C++ Smart Pointer Best Practices](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#r-resource-management)
994
+
995
+ ---
996
+
997
+ ## Contributing
998
+
999
+ To propose new refactoring recommendations:
1000
+
1001
+ 1. Search codebase for the pattern: `grep -r "pattern" src/`
1002
+ 2. Document current behavior and problems
1003
+ 3. Propose solution with code examples
1004
+ 4. Add to this document via pull request
1005
+ 5. Link to relevant GitHub issue
1006
+
1007
+ ---
1008
+
1009
+ **Document Status:** ✅ Complete
1010
+ **Next Review:** 2025-02-27 (1 month)
1011
+ **Maintainer:** Alteriom Core Team