@alteriom/painlessmesh 1.7.4 → 1.7.5

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