@alteriom/painlessmesh 1.7.3 → 1.7.4

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 (1735) hide show
  1. package/CHANGELOG.md +473 -435
  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 -0
  55. package/docs/releases/PATCH_v1.7.3.md +262 -262
  56. package/docs/releases/PATCH_v1.7.4.md +219 -0
  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 -0
  60. package/docs/releases/RELEASE_NOTES_1.7.0.md +539 -539
  61. package/docs/releases/RELEASE_SUMMARY_v1.7.4.md +276 -0
  62. package/docs/troubleshooting/CRASH_QUICK_REF.md +93 -0
  63. package/docs/troubleshooting/FREERTOS_ASSERTION_FAILURE.md +288 -0
  64. package/docs/troubleshooting/FREERTOS_FIX_IMPLEMENTATION.md +267 -0
  65. package/docs/troubleshooting/QUICK_FIX_FREERTOS.md +164 -0
  66. package/docs/troubleshooting/SENSOR_NODE_CONNECTION_CRASH.md +257 -0
  67. package/docs/troubleshooting/common-issues.md +520 -520
  68. package/docs/troubleshooting/debugging.md +455 -455
  69. package/docs/troubleshooting/faq.md +472 -472
  70. package/docs/tutorials/basic-examples.md +717 -717
  71. package/docs/wiki/API-Reference.md +245 -245
  72. package/docs/wiki/Complete-Documentation.md +122 -122
  73. package/examples/alteriom/.pio/build/esp32/.sconsign311.dblite +0 -0
  74. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Esp.cpp.d +146 -0
  75. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Esp.cpp.o +0 -0
  76. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/FirmwareMSC.cpp.d +5 -0
  77. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/FirmwareMSC.cpp.o +0 -0
  78. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/FunctionalInterrupt.cpp.d +137 -0
  79. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/FunctionalInterrupt.cpp.o +0 -0
  80. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/HWCDC.cpp.d +4 -0
  81. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/HWCDC.cpp.o +0 -0
  82. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/HardwareSerial.cpp.d +138 -0
  83. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/HardwareSerial.cpp.o +0 -0
  84. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/IPAddress.cpp.d +137 -0
  85. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/IPAddress.cpp.o +0 -0
  86. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/IPv6Address.cpp.d +138 -0
  87. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/IPv6Address.cpp.o +0 -0
  88. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/MD5Builder.cpp.d +138 -0
  89. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/MD5Builder.cpp.o +0 -0
  90. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Print.cpp.d +136 -0
  91. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Print.cpp.o +0 -0
  92. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Stream.cpp.d +136 -0
  93. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Stream.cpp.o +0 -0
  94. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/StreamString.cpp.d +137 -0
  95. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/StreamString.cpp.o +0 -0
  96. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Tone.cpp.d +136 -0
  97. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Tone.cpp.o +0 -0
  98. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/USB.cpp.d +4 -0
  99. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/USB.cpp.o +0 -0
  100. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/USBCDC.cpp.d +4 -0
  101. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/USBCDC.cpp.o +0 -0
  102. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/USBMSC.cpp.d +4 -0
  103. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/USBMSC.cpp.o +0 -0
  104. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/WMath.cpp.d +18 -0
  105. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/WMath.cpp.o +0 -0
  106. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/WString.cpp.d +136 -0
  107. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/WString.cpp.o +0 -0
  108. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/base64.cpp.d +139 -0
  109. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/base64.cpp.o +0 -0
  110. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/cbuf.cpp.d +3 -0
  111. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/cbuf.cpp.o +0 -0
  112. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-adc.c.d +110 -0
  113. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-adc.c.o +0 -0
  114. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-bt.c.d +107 -0
  115. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-bt.c.o +0 -0
  116. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-cpu.c.d +123 -0
  117. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-cpu.c.o +0 -0
  118. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-dac.c.d +108 -0
  119. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-dac.c.o +0 -0
  120. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-gpio.c.d +122 -0
  121. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-gpio.c.o +0 -0
  122. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-i2c-slave.c.d +92 -0
  123. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-i2c-slave.c.o +0 -0
  124. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-i2c.c.d +114 -0
  125. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-i2c.c.o +0 -0
  126. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-ledc.c.d +108 -0
  127. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-ledc.c.o +0 -0
  128. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-matrix.c.d +105 -0
  129. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-matrix.c.o +0 -0
  130. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-misc.c.d +136 -0
  131. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-misc.c.o +0 -0
  132. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-psram.c.d +104 -0
  133. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-psram.c.o +0 -0
  134. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-rgb-led.c.d +104 -0
  135. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-rgb-led.c.o +0 -0
  136. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-rmt.c.d +108 -0
  137. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-rmt.c.o +0 -0
  138. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-sigmadelta.c.d +109 -0
  139. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-sigmadelta.c.o +0 -0
  140. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-spi.c.d +122 -0
  141. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-spi.c.o +0 -0
  142. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-time.c.d +145 -0
  143. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-time.c.o +0 -0
  144. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-timer.c.d +110 -0
  145. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-timer.c.o +0 -0
  146. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-tinyusb.c.d +3 -0
  147. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-tinyusb.c.o +0 -0
  148. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-touch.c.d +107 -0
  149. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-touch.c.o +0 -0
  150. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-uart.c.d +121 -0
  151. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-uart.c.o +0 -0
  152. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/firmware_msc_fat.c.d +3 -0
  153. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/firmware_msc_fat.c.o +0 -0
  154. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/libb64/cdecode.c.d +3 -0
  155. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/libb64/cdecode.c.o +0 -0
  156. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/libb64/cencode.c.d +3 -0
  157. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/libb64/cencode.c.o +0 -0
  158. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/main.cpp.d +139 -0
  159. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/main.cpp.o +0 -0
  160. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/stdlib_noniso.c.d +12 -0
  161. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/stdlib_noniso.c.o +0 -0
  162. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/wiring_pulse.c.d +111 -0
  163. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/wiring_pulse.c.o +0 -0
  164. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/wiring_shift.c.d +111 -0
  165. package/examples/alteriom/.pio/build/esp32/FrameworkArduino/wiring_shift.c.o +0 -0
  166. package/examples/alteriom/.pio/build/esp32/bootloader.bin +0 -0
  167. package/examples/alteriom/.pio/build/esp32/firmware.bin +0 -0
  168. package/examples/alteriom/.pio/build/esp32/firmware.elf +0 -0
  169. package/examples/alteriom/.pio/build/esp32/firmware.map +102570 -0
  170. package/examples/alteriom/.pio/build/esp32/lib373/LittleFS/LittleFS.cpp.d +142 -0
  171. package/examples/alteriom/.pio/build/esp32/lib373/LittleFS/LittleFS.cpp.o +0 -0
  172. package/examples/alteriom/.pio/build/esp32/lib373/libLittleFS.a +0 -0
  173. package/examples/alteriom/.pio/build/esp32/lib399/TaskScheduler/TaskScheduler.cpp.d +2 -0
  174. package/examples/alteriom/.pio/build/esp32/lib399/TaskScheduler/TaskScheduler.cpp.o +0 -0
  175. package/examples/alteriom/.pio/build/esp32/lib399/libTaskScheduler.a +0 -0
  176. package/examples/alteriom/.pio/build/esp32/lib4f2/FS/FS.cpp.d +138 -0
  177. package/examples/alteriom/.pio/build/esp32/lib4f2/FS/FS.cpp.o +0 -0
  178. package/examples/alteriom/.pio/build/esp32/lib4f2/FS/vfs_api.cpp.d +139 -0
  179. package/examples/alteriom/.pio/build/esp32/lib4f2/FS/vfs_api.cpp.o +0 -0
  180. package/examples/alteriom/.pio/build/esp32/lib4f2/libFS.a +0 -0
  181. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFi.cpp.d +203 -0
  182. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFi.cpp.o +0 -0
  183. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiAP.cpp.d +204 -0
  184. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiAP.cpp.o +0 -0
  185. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiClient.cpp.d +209 -0
  186. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiClient.cpp.o +0 -0
  187. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiGeneric.cpp.d +206 -0
  188. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiGeneric.cpp.o +0 -0
  189. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiMulti.cpp.d +199 -0
  190. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiMulti.cpp.o +0 -0
  191. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiSTA.cpp.d +206 -0
  192. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiSTA.cpp.o +0 -0
  193. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiScan.cpp.d +204 -0
  194. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiScan.cpp.o +0 -0
  195. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiServer.cpp.d +172 -0
  196. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiServer.cpp.o +0 -0
  197. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiUdp.cpp.d +171 -0
  198. package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiUdp.cpp.o +0 -0
  199. package/examples/alteriom/.pio/build/esp32/lib71a/libWiFi.a +0 -0
  200. package/examples/alteriom/.pio/build/esp32/lib7d0/AsyncTCP/AsyncTCP.cpp.d +189 -0
  201. package/examples/alteriom/.pio/build/esp32/lib7d0/AsyncTCP/AsyncTCP.cpp.o +0 -0
  202. package/examples/alteriom/.pio/build/esp32/lib7d0/libAsyncTCP.a +0 -0
  203. package/examples/alteriom/.pio/build/esp32/lib837/libsrc.a +0 -0
  204. package/examples/alteriom/.pio/build/esp32/lib837/src/painlessMeshSTA.cpp.d +229 -0
  205. package/examples/alteriom/.pio/build/esp32/lib837/src/painlessMeshSTA.cpp.o +0 -0
  206. package/examples/alteriom/.pio/build/esp32/lib837/src/scheduler.cpp.d +139 -0
  207. package/examples/alteriom/.pio/build/esp32/lib837/src/scheduler.cpp.o +0 -0
  208. package/examples/alteriom/.pio/build/esp32/lib837/src/wifi.cpp.d +227 -0
  209. package/examples/alteriom/.pio/build/esp32/lib837/src/wifi.cpp.o +0 -0
  210. package/examples/alteriom/.pio/build/esp32/lib97a/SPIFFS/SPIFFS.cpp.d +142 -0
  211. package/examples/alteriom/.pio/build/esp32/lib97a/SPIFFS/SPIFFS.cpp.o +0 -0
  212. package/examples/alteriom/.pio/build/esp32/lib97a/libSPIFFS.a +0 -0
  213. package/examples/alteriom/.pio/build/esp32/libFrameworkArduino.a +0 -0
  214. package/examples/alteriom/.pio/build/esp32/libf48/Update/HttpsOTAUpdate.cpp.d +120 -0
  215. package/examples/alteriom/.pio/build/esp32/libf48/Update/HttpsOTAUpdate.cpp.o +0 -0
  216. package/examples/alteriom/.pio/build/esp32/libf48/Update/Updater.cpp.d +144 -0
  217. package/examples/alteriom/.pio/build/esp32/libf48/Update/Updater.cpp.o +0 -0
  218. package/examples/alteriom/.pio/build/esp32/libf48/libUpdate.a +0 -0
  219. package/examples/alteriom/.pio/build/esp32/partitions.bin +0 -0
  220. package/examples/alteriom/.pio/build/esp32/src/alteriom.ino.cpp.d +240 -0
  221. package/examples/alteriom/.pio/build/esp32/src/alteriom.ino.cpp.o +0 -0
  222. package/examples/alteriom/.pio/build/esp32/tmprz74bdta.tmp +1 -0
  223. package/examples/alteriom/.pio/build/esp32/tmps5iu5vvf.tmp +1 -0
  224. package/examples/alteriom/.pio/build/esp32/tmptxf7cu25.tmp +1 -0
  225. package/examples/alteriom/.pio/build/esp32/tmpuwwn0jz2.tmp +1 -0
  226. package/examples/alteriom/.pio/build/esp32/tmpz4zb75rq.tmp +1 -0
  227. package/examples/alteriom/.pio/build/esp8266/.sconsign311.dblite +0 -0
  228. package/examples/alteriom/.pio/build/esp8266/FrameworkArduino/Crypto.cpp.o +0 -0
  229. package/examples/alteriom/.pio/build/esp8266/FrameworkArduino/Esp-frag.cpp.o +0 -0
  230. package/examples/alteriom/.pio/build/esp8266/FrameworkArduino/Esp-version.cpp.o +0 -0
  231. package/examples/alteriom/.pio/build/esp8266/ld/local.eagle.app.v6.common.ld +285 -0
  232. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/CertStoreBearSSL.cpp.o +0 -0
  233. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFi.cpp.o +0 -0
  234. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiAP.cpp.o +0 -0
  235. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o +0 -0
  236. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiGratuitous.cpp.o +0 -0
  237. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiSTA-WPS.cpp.o +0 -0
  238. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiScan.cpp.o +0 -0
  239. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiClient.cpp.o +0 -0
  240. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiClientSecureBearSSL.cpp.o +0 -0
  241. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiServerSecureBearSSL.cpp.o +0 -0
  242. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiUdp.cpp.o +0 -0
  243. package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/enable_wifi_at_boot_time.cpp.o +0 -0
  244. package/examples/alteriom/.pio/build/esp8266/lib837/src/painlessMeshSTA.cpp.o +0 -0
  245. package/examples/alteriom/.pio/build/esp8266/lib837/src/scheduler.cpp.o +0 -0
  246. package/examples/alteriom/.pio/build/esp8266/lib837/src/wifi.cpp.o +0 -0
  247. package/examples/alteriom/.pio/build/esp8266/lib875/TaskScheduler/TaskScheduler.cpp.o +0 -0
  248. package/examples/alteriom/.pio/build/esp8266/lib875/libTaskScheduler.a +0 -0
  249. package/examples/alteriom/.pio/build/esp8266/libFrameworkArduinoVariant.a +1 -0
  250. package/examples/alteriom/.pio/build/esp8266/libdb3/LittleFS/LittleFS.cpp.o +0 -0
  251. package/examples/alteriom/.pio/build/esp8266/libdb3/LittleFS/lfs_util.c.o +0 -0
  252. package/examples/alteriom/.pio/build/esp8266/libf33/ESPAsyncTCP/AsyncPrinter.cpp.o +0 -0
  253. package/examples/alteriom/.pio/build/esp8266/libf33/ESPAsyncTCP/ESPAsyncTCP.cpp.o +0 -0
  254. package/examples/alteriom/.pio/build/esp8266/libf33/ESPAsyncTCP/ESPAsyncTCPbuffer.cpp.o +0 -0
  255. package/examples/alteriom/.pio/build/esp8266/libf33/ESPAsyncTCP/SyncClient.cpp.o +0 -0
  256. package/examples/alteriom/.pio/build/esp8266/libf33/ESPAsyncTCP/tcp_axtls.c.o +0 -0
  257. package/examples/alteriom/.pio/build/esp8266/src/alteriom.ino.cpp.o +0 -0
  258. package/examples/alteriom/.pio/build/project.checksum +1 -0
  259. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/.piopm +1 -0
  260. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/ArduinoJson.h +5 -0
  261. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/LICENSE.txt +10 -0
  262. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/README.md +153 -0
  263. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonConfigFile/JsonConfigFile.ino +152 -0
  264. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonFilterExample/JsonFilterExample.ino +64 -0
  265. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonGeneratorExample/JsonGeneratorExample.ino +65 -0
  266. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonHttpClient/JsonHttpClient.ino +125 -0
  267. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonParserExample/JsonParserExample.ino +65 -0
  268. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonServer/JsonServer.ino +118 -0
  269. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonUdpBeacon/JsonUdpBeacon.ino +106 -0
  270. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/MsgPackParser/MsgPackParser.ino +61 -0
  271. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/ProgmemExample/ProgmemExample.ino +63 -0
  272. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/StringExample/StringExample.ino +76 -0
  273. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/library.json +23 -0
  274. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/library.properties +11 -0
  275. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp +66 -0
  276. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp +79 -0
  277. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp +75 -0
  278. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp +219 -0
  279. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp +133 -0
  280. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArrayIterator.hpp +96 -0
  281. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp +112 -0
  282. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp +122 -0
  283. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp +137 -0
  284. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Configuration.hpp +285 -0
  285. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp +106 -0
  286. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationOptions.hpp +35 -0
  287. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp +77 -0
  288. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp +32 -0
  289. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp +74 -0
  290. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp +30 -0
  291. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp +18 -0
  292. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp +56 -0
  293. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp +42 -0
  294. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp +49 -0
  295. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp +29 -0
  296. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp +19 -0
  297. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp +79 -0
  298. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp +426 -0
  299. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp +40 -0
  300. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp +720 -0
  301. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp +165 -0
  302. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Latch.hpp +56 -0
  303. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp +110 -0
  304. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp +177 -0
  305. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp +67 -0
  306. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp +46 -0
  307. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp +60 -0
  308. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/Allocator.hpp +49 -0
  309. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/MemoryPool.hpp +110 -0
  310. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/MemoryPoolList.hpp +214 -0
  311. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/ResourceManager.hpp +131 -0
  312. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/ResourceManagerImpl.hpp +52 -0
  313. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringBuffer.hpp +79 -0
  314. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringBuilder.hpp +88 -0
  315. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringNode.hpp +75 -0
  316. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringPool.hpp +102 -0
  317. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp +71 -0
  318. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackBinary.hpp +97 -0
  319. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp +487 -0
  320. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackExtension.hpp +120 -0
  321. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp +244 -0
  322. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/endianness.hpp +46 -0
  323. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp +18 -0
  324. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Namespace.hpp +42 -0
  325. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp +95 -0
  326. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp +212 -0
  327. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/JsonFloat.hpp +18 -0
  328. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/JsonInteger.hpp +28 -0
  329. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp +116 -0
  330. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp +145 -0
  331. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp +238 -0
  332. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObject.hpp +245 -0
  333. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObjectConst.hpp +166 -0
  334. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObjectIterator.hpp +83 -0
  335. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonPair.hpp +70 -0
  336. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp +77 -0
  337. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/ObjectData.hpp +70 -0
  338. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp +92 -0
  339. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp +30 -0
  340. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp +14 -0
  341. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp +45 -0
  342. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp +21 -0
  343. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp +34 -0
  344. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp +45 -0
  345. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp +27 -0
  346. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp +27 -0
  347. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp +144 -0
  348. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp +67 -0
  349. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp +33 -0
  350. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp +25 -0
  351. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/decay.hpp +33 -0
  352. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp +14 -0
  353. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp +23 -0
  354. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/function_traits.hpp +27 -0
  355. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp +22 -0
  356. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp +22 -0
  357. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp +27 -0
  358. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp +23 -0
  359. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp +18 -0
  360. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp +46 -0
  361. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp +22 -0
  362. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp +19 -0
  363. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp +32 -0
  364. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp +17 -0
  365. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp +18 -0
  366. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp +26 -0
  367. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp +24 -0
  368. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp +44 -0
  369. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp +24 -0
  370. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_cv.hpp +31 -0
  371. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp +24 -0
  372. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp +16 -0
  373. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/void_t.hpp +20 -0
  374. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp +27 -0
  375. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp +33 -0
  376. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp +33 -0
  377. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp +47 -0
  378. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp +55 -0
  379. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp +22 -0
  380. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp +29 -0
  381. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp +36 -0
  382. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp +32 -0
  383. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp +42 -0
  384. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp +20 -0
  385. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp +50 -0
  386. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/FlashString.hpp +93 -0
  387. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/RamString.hpp +118 -0
  388. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/StringObject.hpp +48 -0
  389. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp +19 -0
  390. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/JsonString.hpp +100 -0
  391. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringAdapter.hpp +47 -0
  392. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp +72 -0
  393. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringTraits.hpp +73 -0
  394. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/Converter.hpp +23 -0
  395. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp +406 -0
  396. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariant.hpp +78 -0
  397. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantConst.hpp +197 -0
  398. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantCopier.hpp +34 -0
  399. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantVisitor.hpp +61 -0
  400. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantAttorney.hpp +35 -0
  401. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp +211 -0
  402. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp +82 -0
  403. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp +609 -0
  404. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantDataVisitor.hpp +24 -0
  405. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantImpl.hpp +146 -0
  406. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp +188 -0
  407. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantRefBase.hpp +313 -0
  408. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantRefBaseImpl.hpp +175 -0
  409. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp +16 -0
  410. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp +34 -0
  411. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/compatibility.hpp +144 -0
  412. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/version.hpp +11 -0
  413. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson.h +17 -0
  414. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson.hpp +65 -0
  415. package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/CMakeLists.txt +91 -0
  416. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/.piopm +1 -0
  417. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/LICENSE +165 -0
  418. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/README.md +55 -0
  419. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/examples/AsyncSend/AsyncSend.ino +169 -0
  420. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/examples/Client/Client.ino +87 -0
  421. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/examples/FetchWebsite/FetchWebsite.ino +107 -0
  422. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/library.json +31 -0
  423. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/library.properties +11 -0
  424. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCP.cpp +1612 -0
  425. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCP.h +335 -0
  426. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCPLogging.h +66 -0
  427. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCPSimpleIntrusiveList.h +134 -0
  428. package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCPVersion.h +40 -0
  429. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/.github/FUNDING.yml +1 -0
  430. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/.github/workflows/doxygen.yml +310 -0
  431. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/.github/workflows/main.yml +309 -0
  432. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/.github/workflows/test.yml +523 -0
  433. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/.piopm +1 -0
  434. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/LICENSE.txt +27 -0
  435. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/README.md +157 -0
  436. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example00_Blink/Scheduler_example00_Blink.ino +303 -0
  437. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example00_Blink_Namespace/Scheduler_example00_Blink_Namespace.ino +302 -0
  438. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example01/Scheduler_example01.ino +84 -0
  439. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example02/Scheduler_example02.ino +78 -0
  440. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example03/Scheduler_example03.ino +80 -0
  441. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example04_StatusRequest/Scheduler_example04_StatusRequest.ino +90 -0
  442. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example05_StatusRequest/Scheduler_example05_StatusRequest.ino +181 -0
  443. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example06_IDLE/Scheduler_example06_IDLE.ino +117 -0
  444. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example07_WDT/Scheduler_example07_WDT.ino +133 -0
  445. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example08_LTS/Scheduler_example08_LTS.ino +147 -0
  446. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example09_TimeCritical/Scheduler_example09_TimeCritical.ino +57 -0
  447. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example10_Benchmark/Scheduler_example10_Benchmark.ino +106 -0
  448. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example11_Priority/Scheduler_example11_Priority.ino +105 -0
  449. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example12_Priority/Scheduler_example12_Priority.ino +136 -0
  450. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example13_Micros/Scheduler_example13_Micros.ino +71 -0
  451. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example14_Yield/Scheduler_example14_Yield.ino +339 -0
  452. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example15_STDFunction/Scheduler_example15_STDFunction.ino +53 -0
  453. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/Scheduler_example16_Multitab.ino +18 -0
  454. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/file1.cpp +31 -0
  455. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/file2.cpp +55 -0
  456. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/header.hpp +15 -0
  457. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/ts.cpp +20 -0
  458. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example17_Timeout/Scheduler_example17_Timeout.ino +90 -0
  459. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example18_StatusRequest_LTS_WDT_Timeout/Scheduler_example18_StatusRequest_LTS_WDT_Timeout.ino +172 -0
  460. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks/Scheduler_example19_Dynamic_Tasks.ino +137 -0
  461. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_SelfDestruct/Scheduler_example19_Dynamic_Tasks_SelfDestruct.ino +130 -0
  462. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_stdQueue/Scheduler_example19_Dynamic_Tasks_stdQueue.ino +137 -0
  463. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object.ino +185 -0
  464. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.cpp +36 -0
  465. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.h +25 -0
  466. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.cpp +66 -0
  467. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.h +34 -0
  468. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Scheduler_example21_OO_Callbacks.ino +76 -0
  469. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.cpp +83 -0
  470. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.h +44 -0
  471. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.cpp +21 -0
  472. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.h +28 -0
  473. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example23_IDLE_Callback/Scheduler_example23_IDLE_Callback.ino +157 -0
  474. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example24_CPU_LOAD/Scheduler_example24_CPU_LOAD.ino +87 -0
  475. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example25_SCHEDULER_CHAIN/Scheduler_example25_SCHEDULER_CHAIN.ino +127 -0
  476. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example26_SCHEDULING_OPTIONS/Scheduler_example26_SCHEDULING_OPTIONS.ino +181 -0
  477. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/README +39 -0
  478. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/led.h +12 -0
  479. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/main.h +25 -0
  480. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/lib/README +46 -0
  481. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/platformio.ini +37 -0
  482. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/led.cpp +11 -0
  483. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/main.cpp +254 -0
  484. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/test/README +11 -0
  485. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example28_Tickless/Scheduler_example28_Tickless.ino +105 -0
  486. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/README +39 -0
  487. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/led.h +12 -0
  488. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/main.h +27 -0
  489. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/lib/README +46 -0
  490. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/platformio.ini +38 -0
  491. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/src/led.cpp +13 -0
  492. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/src/main.cpp +267 -0
  493. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/test/README +11 -0
  494. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/README.md +232 -0
  495. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/platformio.ini +44 -0
  496. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/src/main.cpp +310 -0
  497. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_template/Scheduler_template.ino +166 -0
  498. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/keywords.txt +161 -0
  499. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/library.json +22 -0
  500. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/library.properties +9 -0
  501. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/src/TScheduler.hpp +29 -0
  502. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/src/TSchedulerDeclarations.hpp +29 -0
  503. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/src/TaskScheduler.cpp +3 -0
  504. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/src/TaskScheduler.h +1811 -0
  505. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/src/TaskSchedulerDeclarations.h +3096 -0
  506. package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/src/TaskSchedulerSleepMethods.h +399 -0
  507. package/examples/alteriom/.pio/libdeps/esp32/integrity.dat +3 -0
  508. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/.piopm +1 -0
  509. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/ArduinoJson.h +5 -0
  510. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/LICENSE.txt +10 -0
  511. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/README.md +153 -0
  512. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonConfigFile/JsonConfigFile.ino +152 -0
  513. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonFilterExample/JsonFilterExample.ino +64 -0
  514. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonGeneratorExample/JsonGeneratorExample.ino +65 -0
  515. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonHttpClient/JsonHttpClient.ino +125 -0
  516. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonParserExample/JsonParserExample.ino +65 -0
  517. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonServer/JsonServer.ino +118 -0
  518. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonUdpBeacon/JsonUdpBeacon.ino +106 -0
  519. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/MsgPackParser/MsgPackParser.ino +61 -0
  520. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/ProgmemExample/ProgmemExample.ino +63 -0
  521. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/StringExample/StringExample.ino +76 -0
  522. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/library.json +23 -0
  523. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/library.properties +11 -0
  524. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp +66 -0
  525. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp +79 -0
  526. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp +75 -0
  527. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp +219 -0
  528. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp +133 -0
  529. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/JsonArrayIterator.hpp +96 -0
  530. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp +112 -0
  531. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp +122 -0
  532. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp +137 -0
  533. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Configuration.hpp +285 -0
  534. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp +106 -0
  535. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationOptions.hpp +35 -0
  536. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp +77 -0
  537. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp +32 -0
  538. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp +74 -0
  539. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp +30 -0
  540. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp +18 -0
  541. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp +56 -0
  542. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp +42 -0
  543. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp +49 -0
  544. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp +29 -0
  545. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp +19 -0
  546. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp +79 -0
  547. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp +426 -0
  548. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp +40 -0
  549. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp +720 -0
  550. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp +165 -0
  551. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/Latch.hpp +56 -0
  552. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp +110 -0
  553. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp +177 -0
  554. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp +67 -0
  555. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp +46 -0
  556. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp +60 -0
  557. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/Allocator.hpp +49 -0
  558. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/MemoryPool.hpp +110 -0
  559. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/MemoryPoolList.hpp +214 -0
  560. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/ResourceManager.hpp +131 -0
  561. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/ResourceManagerImpl.hpp +52 -0
  562. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringBuffer.hpp +79 -0
  563. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringBuilder.hpp +88 -0
  564. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringNode.hpp +75 -0
  565. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringPool.hpp +102 -0
  566. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp +71 -0
  567. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackBinary.hpp +97 -0
  568. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp +487 -0
  569. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackExtension.hpp +120 -0
  570. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp +244 -0
  571. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/endianness.hpp +46 -0
  572. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp +18 -0
  573. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Namespace.hpp +42 -0
  574. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp +95 -0
  575. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp +212 -0
  576. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/JsonFloat.hpp +18 -0
  577. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/JsonInteger.hpp +28 -0
  578. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp +116 -0
  579. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp +145 -0
  580. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp +238 -0
  581. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonObject.hpp +245 -0
  582. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonObjectConst.hpp +166 -0
  583. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonObjectIterator.hpp +83 -0
  584. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonPair.hpp +70 -0
  585. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp +77 -0
  586. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/ObjectData.hpp +70 -0
  587. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp +92 -0
  588. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp +30 -0
  589. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp +14 -0
  590. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp +45 -0
  591. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp +21 -0
  592. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp +34 -0
  593. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp +45 -0
  594. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp +27 -0
  595. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp +27 -0
  596. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp +144 -0
  597. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp +67 -0
  598. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp +33 -0
  599. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp +25 -0
  600. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/decay.hpp +33 -0
  601. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp +14 -0
  602. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp +23 -0
  603. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/function_traits.hpp +27 -0
  604. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp +22 -0
  605. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp +22 -0
  606. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp +27 -0
  607. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp +23 -0
  608. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp +18 -0
  609. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp +46 -0
  610. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp +22 -0
  611. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp +19 -0
  612. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp +32 -0
  613. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp +17 -0
  614. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp +18 -0
  615. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp +26 -0
  616. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp +24 -0
  617. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp +44 -0
  618. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp +24 -0
  619. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_cv.hpp +31 -0
  620. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp +24 -0
  621. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp +16 -0
  622. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/void_t.hpp +20 -0
  623. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp +27 -0
  624. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp +33 -0
  625. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp +33 -0
  626. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp +47 -0
  627. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp +55 -0
  628. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp +22 -0
  629. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp +29 -0
  630. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp +36 -0
  631. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp +32 -0
  632. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp +42 -0
  633. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp +20 -0
  634. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp +50 -0
  635. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/Adapters/FlashString.hpp +93 -0
  636. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/Adapters/RamString.hpp +118 -0
  637. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/Adapters/StringObject.hpp +48 -0
  638. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp +19 -0
  639. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/JsonString.hpp +100 -0
  640. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/StringAdapter.hpp +47 -0
  641. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp +72 -0
  642. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/StringTraits.hpp +73 -0
  643. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/Converter.hpp +23 -0
  644. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp +406 -0
  645. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariant.hpp +78 -0
  646. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariantConst.hpp +197 -0
  647. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariantCopier.hpp +34 -0
  648. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariantVisitor.hpp +61 -0
  649. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantAttorney.hpp +35 -0
  650. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp +211 -0
  651. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp +82 -0
  652. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp +609 -0
  653. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantDataVisitor.hpp +24 -0
  654. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantImpl.hpp +146 -0
  655. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp +188 -0
  656. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantRefBase.hpp +313 -0
  657. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantRefBaseImpl.hpp +175 -0
  658. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp +16 -0
  659. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp +34 -0
  660. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/compatibility.hpp +144 -0
  661. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/version.hpp +11 -0
  662. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson.h +17 -0
  663. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson.hpp +65 -0
  664. package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/CMakeLists.txt +91 -0
  665. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/install-arduino-core-esp8266.sh +29 -0
  666. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/install-arduino-ide.sh +220 -0
  667. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/install-platformio.sh +133 -0
  668. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/on-push.sh +64 -0
  669. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.github/stale.yml +31 -0
  670. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.github/workflows/push.yml +30 -0
  671. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.piopm +1 -0
  672. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/LICENSE.txt +165 -0
  673. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/README.md +43 -0
  674. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Client/Client.ino +62 -0
  675. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Client/config.h +23 -0
  676. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Server/Server.ino +73 -0
  677. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Server/config.h +23 -0
  678. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/examples/SyncClient/.esp31b.skip +0 -0
  679. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/examples/SyncClient/SyncClient.ino +54 -0
  680. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/library.json +19 -0
  681. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/library.properties +10 -0
  682. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/AsyncPrinter.cpp +214 -0
  683. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/AsyncPrinter.h +73 -0
  684. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/DebugPrintMacros.h +112 -0
  685. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCP.cpp +1406 -0
  686. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCP.h +324 -0
  687. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCPbuffer.cpp +555 -0
  688. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCPbuffer.h +118 -0
  689. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/SyncClient.cpp +414 -0
  690. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/SyncClient.h +109 -0
  691. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/async_config.h +42 -0
  692. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/tcp_axtls.c +613 -0
  693. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/tcp_axtls.h +98 -0
  694. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/ssl/gen_server_cert.sh +36 -0
  695. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/ssl/server.cer +0 -0
  696. package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/ssl/server.key +0 -0
  697. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/.github/FUNDING.yml +1 -0
  698. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/.github/workflows/doxygen.yml +310 -0
  699. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/.github/workflows/main.yml +309 -0
  700. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/.github/workflows/test.yml +523 -0
  701. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/.piopm +1 -0
  702. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/LICENSE.txt +27 -0
  703. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/README.md +157 -0
  704. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example00_Blink/Scheduler_example00_Blink.ino +303 -0
  705. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example00_Blink_Namespace/Scheduler_example00_Blink_Namespace.ino +302 -0
  706. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example01/Scheduler_example01.ino +84 -0
  707. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example02/Scheduler_example02.ino +78 -0
  708. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example03/Scheduler_example03.ino +80 -0
  709. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example04_StatusRequest/Scheduler_example04_StatusRequest.ino +90 -0
  710. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example05_StatusRequest/Scheduler_example05_StatusRequest.ino +181 -0
  711. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example06_IDLE/Scheduler_example06_IDLE.ino +117 -0
  712. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example07_WDT/Scheduler_example07_WDT.ino +133 -0
  713. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example08_LTS/Scheduler_example08_LTS.ino +147 -0
  714. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example09_TimeCritical/Scheduler_example09_TimeCritical.ino +57 -0
  715. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example10_Benchmark/Scheduler_example10_Benchmark.ino +106 -0
  716. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example11_Priority/Scheduler_example11_Priority.ino +105 -0
  717. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example12_Priority/Scheduler_example12_Priority.ino +136 -0
  718. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example13_Micros/Scheduler_example13_Micros.ino +71 -0
  719. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example14_Yield/Scheduler_example14_Yield.ino +339 -0
  720. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example15_STDFunction/Scheduler_example15_STDFunction.ino +53 -0
  721. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/Scheduler_example16_Multitab.ino +18 -0
  722. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/file1.cpp +31 -0
  723. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/file2.cpp +55 -0
  724. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/header.hpp +15 -0
  725. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/ts.cpp +20 -0
  726. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example17_Timeout/Scheduler_example17_Timeout.ino +90 -0
  727. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example18_StatusRequest_LTS_WDT_Timeout/Scheduler_example18_StatusRequest_LTS_WDT_Timeout.ino +172 -0
  728. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks/Scheduler_example19_Dynamic_Tasks.ino +137 -0
  729. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_SelfDestruct/Scheduler_example19_Dynamic_Tasks_SelfDestruct.ino +130 -0
  730. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_stdQueue/Scheduler_example19_Dynamic_Tasks_stdQueue.ino +137 -0
  731. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object.ino +185 -0
  732. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.cpp +36 -0
  733. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.h +25 -0
  734. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.cpp +66 -0
  735. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.h +34 -0
  736. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Scheduler_example21_OO_Callbacks.ino +76 -0
  737. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.cpp +83 -0
  738. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.h +44 -0
  739. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.cpp +21 -0
  740. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.h +28 -0
  741. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example23_IDLE_Callback/Scheduler_example23_IDLE_Callback.ino +157 -0
  742. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example24_CPU_LOAD/Scheduler_example24_CPU_LOAD.ino +87 -0
  743. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example25_SCHEDULER_CHAIN/Scheduler_example25_SCHEDULER_CHAIN.ino +127 -0
  744. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example26_SCHEDULING_OPTIONS/Scheduler_example26_SCHEDULING_OPTIONS.ino +181 -0
  745. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/README +39 -0
  746. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/led.h +12 -0
  747. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/main.h +25 -0
  748. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/lib/README +46 -0
  749. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/platformio.ini +37 -0
  750. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/led.cpp +11 -0
  751. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/main.cpp +254 -0
  752. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/test/README +11 -0
  753. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example28_Tickless/Scheduler_example28_Tickless.ino +105 -0
  754. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/include/README +39 -0
  755. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/include/led.h +12 -0
  756. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/include/main.h +27 -0
  757. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/lib/README +46 -0
  758. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/platformio.ini +38 -0
  759. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/src/led.cpp +13 -0
  760. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/src/main.cpp +267 -0
  761. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/test/README +11 -0
  762. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/README.md +232 -0
  763. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/platformio.ini +44 -0
  764. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/src/main.cpp +310 -0
  765. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_template/Scheduler_template.ino +166 -0
  766. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/keywords.txt +161 -0
  767. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/library.json +22 -0
  768. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/library.properties +9 -0
  769. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/src/TScheduler.hpp +29 -0
  770. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/src/TSchedulerDeclarations.hpp +29 -0
  771. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/src/TaskScheduler.cpp +3 -0
  772. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/src/TaskScheduler.h +1811 -0
  773. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/src/TaskSchedulerDeclarations.h +3096 -0
  774. package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/src/TaskSchedulerSleepMethods.h +399 -0
  775. package/examples/alteriom/.pio/libdeps/esp8266/integrity.dat +3 -0
  776. package/examples/alteriom/README.md +139 -139
  777. package/examples/alteriom/alteriom.ino +186 -186
  778. package/examples/alteriom/alteriom_sensor_package.hpp +240 -240
  779. package/examples/alteriom/platformio.ini +24 -24
  780. package/examples/alteriomImproved/alteriom_sensor_package.hpp +223 -223
  781. package/examples/alteriomImproved/improved_sensor_node.ino +245 -245
  782. package/examples/alteriomImproved/platformio.ini +24 -24
  783. package/examples/alteriomPhase1/alteriom_sensor_package.hpp +223 -223
  784. package/examples/alteriomPhase1/phase1_features.ino +242 -242
  785. package/examples/alteriomPhase1/platformio.ini +24 -24
  786. package/examples/alteriomPhase2/alteriom_sensor_package.hpp +223 -223
  787. package/examples/alteriomPhase2/phase2_features.ino +186 -186
  788. package/examples/alteriomPhase2/platformio.ini +24 -24
  789. package/examples/alteriomSensorNode/alteriom_sensor_node.ino +183 -183
  790. package/examples/alteriomSensorNode/alteriom_sensor_package.hpp +223 -223
  791. package/examples/alteriomSensorNode/platformio.ini +24 -24
  792. package/examples/basic/.pio/build/esp32/.sconsign311.dblite +0 -0
  793. package/examples/basic/.pio/build/esp32/bootloader.bin +0 -0
  794. package/examples/basic/.pio/build/esp32/lib241/TaskScheduler/TaskScheduler.cpp.d +2 -0
  795. package/examples/basic/.pio/build/esp32/lib241/TaskScheduler/TaskScheduler.cpp.o +0 -0
  796. package/examples/basic/.pio/build/esp32/lib241/libTaskScheduler.a +0 -0
  797. package/examples/basic/.pio/build/esp32/lib4f2/FS/FS.cpp.d +138 -0
  798. package/examples/basic/.pio/build/esp32/lib4f2/FS/FS.cpp.o +0 -0
  799. package/examples/basic/.pio/build/esp32/lib4f2/FS/vfs_api.cpp.d +139 -0
  800. package/examples/basic/.pio/build/esp32/lib4f2/FS/vfs_api.cpp.o +0 -0
  801. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFi.cpp.d +203 -0
  802. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFi.cpp.o +0 -0
  803. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiAP.cpp.d +204 -0
  804. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiAP.cpp.o +0 -0
  805. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiClient.cpp.d +209 -0
  806. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiClient.cpp.o +0 -0
  807. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiGeneric.cpp.d +206 -0
  808. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiGeneric.cpp.o +0 -0
  809. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiMulti.cpp.d +199 -0
  810. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiMulti.cpp.o +0 -0
  811. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiSTA.cpp.d +206 -0
  812. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiSTA.cpp.o +0 -0
  813. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiScan.cpp.d +204 -0
  814. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiScan.cpp.o +0 -0
  815. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiServer.cpp.d +172 -0
  816. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiServer.cpp.o +0 -0
  817. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiUdp.cpp.d +171 -0
  818. package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiUdp.cpp.o +0 -0
  819. package/examples/basic/.pio/build/esp32/lib8c7/AsyncTCP/AsyncTCP.cpp.d +189 -0
  820. package/examples/basic/.pio/build/esp32/lib8c7/AsyncTCP/AsyncTCP.cpp.o +0 -0
  821. package/examples/basic/.pio/build/esp32/partitions.bin +0 -0
  822. package/examples/basic/.pio/build/esp32/src/basic.ino.cpp.d +238 -0
  823. package/examples/basic/.pio/build/esp32/src/basic.ino.cpp.o +0 -0
  824. package/examples/basic/.pio/build/esp8266/.sconsign311.dblite +0 -0
  825. package/examples/basic/.pio/build/esp8266/FrameworkArduino/Esp-frag.cpp.o +0 -0
  826. package/examples/basic/.pio/build/esp8266/FrameworkArduino/Esp-version.cpp.o +0 -0
  827. package/examples/basic/.pio/build/esp8266/FrameworkArduino/Esp.cpp.o +0 -0
  828. package/examples/basic/.pio/build/esp8266/FrameworkArduino/FS.cpp.o +0 -0
  829. package/examples/basic/.pio/build/esp8266/FrameworkArduino/FSnoop.cpp.o +0 -0
  830. package/examples/basic/.pio/build/esp8266/FrameworkArduino/FunctionalInterrupt.cpp.o +0 -0
  831. package/examples/basic/.pio/build/esp8266/ld/local.eagle.app.v6.common.ld +285 -0
  832. package/examples/basic/.pio/build/esp8266/lib5e7/TaskScheduler/TaskScheduler.cpp.o +0 -0
  833. package/examples/basic/.pio/build/esp8266/lib5e7/libTaskScheduler.a +0 -0
  834. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/BearSSLHelpers.cpp.o +0 -0
  835. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/CertStoreBearSSL.cpp.o +0 -0
  836. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFi.cpp.o +0 -0
  837. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiAP.cpp.o +0 -0
  838. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o +0 -0
  839. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiGratuitous.cpp.o +0 -0
  840. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiMulti.cpp.o +0 -0
  841. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiSTA-WPS.cpp.o +0 -0
  842. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiSTA.cpp.o +0 -0
  843. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiScan.cpp.o +0 -0
  844. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiClient.cpp.o +0 -0
  845. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiClientSecureBearSSL.cpp.o +0 -0
  846. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiServerSecureBearSSL.cpp.o +0 -0
  847. package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiUdp.cpp.o +0 -0
  848. package/examples/basic/.pio/build/esp8266/lib837/src/scheduler.cpp.o +0 -0
  849. package/examples/basic/.pio/build/esp8266/libFrameworkArduinoVariant.a +1 -0
  850. package/examples/basic/.pio/build/esp8266/libdb3/LittleFS/LittleFS.cpp.o +0 -0
  851. package/examples/basic/.pio/build/esp8266/libdb3/LittleFS/lfs_util.c.o +0 -0
  852. package/examples/basic/.pio/build/esp8266/libf28/ESPAsyncTCP/AsyncPrinter.cpp.o +0 -0
  853. package/examples/basic/.pio/build/esp8266/libf28/ESPAsyncTCP/ESPAsyncTCP.cpp.o +0 -0
  854. package/examples/basic/.pio/build/esp8266/libf28/ESPAsyncTCP/ESPAsyncTCPbuffer.cpp.o +0 -0
  855. package/examples/basic/.pio/build/esp8266/libf28/ESPAsyncTCP/SyncClient.cpp.o +0 -0
  856. package/examples/basic/.pio/build/esp8266/libf28/ESPAsyncTCP/tcp_axtls.c.o +0 -0
  857. package/examples/basic/.pio/build/esp8266/src/basic.ino.cpp.o +0 -0
  858. package/examples/basic/.pio/build/project.checksum +1 -0
  859. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/.piopm +1 -0
  860. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/ArduinoJson.h +5 -0
  861. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/LICENSE.txt +10 -0
  862. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/README.md +153 -0
  863. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonConfigFile/JsonConfigFile.ino +152 -0
  864. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonFilterExample/JsonFilterExample.ino +64 -0
  865. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonGeneratorExample/JsonGeneratorExample.ino +65 -0
  866. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonHttpClient/JsonHttpClient.ino +125 -0
  867. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonParserExample/JsonParserExample.ino +65 -0
  868. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonServer/JsonServer.ino +118 -0
  869. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonUdpBeacon/JsonUdpBeacon.ino +106 -0
  870. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/MsgPackParser/MsgPackParser.ino +61 -0
  871. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/ProgmemExample/ProgmemExample.ino +63 -0
  872. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/StringExample/StringExample.ino +76 -0
  873. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/library.json +23 -0
  874. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/library.properties +11 -0
  875. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp +66 -0
  876. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp +79 -0
  877. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp +75 -0
  878. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp +219 -0
  879. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp +133 -0
  880. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArrayIterator.hpp +96 -0
  881. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp +112 -0
  882. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp +122 -0
  883. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp +137 -0
  884. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Configuration.hpp +285 -0
  885. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp +106 -0
  886. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationOptions.hpp +35 -0
  887. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp +77 -0
  888. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp +32 -0
  889. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp +74 -0
  890. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp +30 -0
  891. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp +18 -0
  892. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp +56 -0
  893. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp +42 -0
  894. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp +49 -0
  895. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp +29 -0
  896. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp +19 -0
  897. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp +79 -0
  898. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp +426 -0
  899. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp +40 -0
  900. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp +720 -0
  901. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp +165 -0
  902. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Latch.hpp +56 -0
  903. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp +110 -0
  904. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp +177 -0
  905. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp +67 -0
  906. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp +46 -0
  907. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp +60 -0
  908. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/Allocator.hpp +49 -0
  909. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/MemoryPool.hpp +110 -0
  910. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/MemoryPoolList.hpp +214 -0
  911. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/ResourceManager.hpp +131 -0
  912. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/ResourceManagerImpl.hpp +52 -0
  913. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringBuffer.hpp +79 -0
  914. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringBuilder.hpp +88 -0
  915. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringNode.hpp +75 -0
  916. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringPool.hpp +102 -0
  917. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp +71 -0
  918. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackBinary.hpp +97 -0
  919. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp +487 -0
  920. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackExtension.hpp +120 -0
  921. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp +244 -0
  922. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/endianness.hpp +46 -0
  923. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp +18 -0
  924. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Namespace.hpp +42 -0
  925. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp +95 -0
  926. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp +212 -0
  927. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/JsonFloat.hpp +18 -0
  928. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/JsonInteger.hpp +28 -0
  929. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp +116 -0
  930. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp +145 -0
  931. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp +238 -0
  932. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObject.hpp +245 -0
  933. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObjectConst.hpp +166 -0
  934. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObjectIterator.hpp +83 -0
  935. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonPair.hpp +70 -0
  936. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp +77 -0
  937. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/ObjectData.hpp +70 -0
  938. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp +92 -0
  939. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp +30 -0
  940. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp +14 -0
  941. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp +45 -0
  942. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp +21 -0
  943. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp +34 -0
  944. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp +45 -0
  945. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp +27 -0
  946. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp +27 -0
  947. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp +144 -0
  948. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp +67 -0
  949. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp +33 -0
  950. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp +25 -0
  951. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/decay.hpp +33 -0
  952. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp +14 -0
  953. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp +23 -0
  954. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/function_traits.hpp +27 -0
  955. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp +22 -0
  956. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp +22 -0
  957. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp +27 -0
  958. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp +23 -0
  959. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp +18 -0
  960. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp +46 -0
  961. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp +22 -0
  962. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp +19 -0
  963. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp +32 -0
  964. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp +17 -0
  965. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp +18 -0
  966. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp +26 -0
  967. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp +24 -0
  968. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp +44 -0
  969. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp +24 -0
  970. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_cv.hpp +31 -0
  971. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp +24 -0
  972. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp +16 -0
  973. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/void_t.hpp +20 -0
  974. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp +27 -0
  975. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp +33 -0
  976. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp +33 -0
  977. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp +47 -0
  978. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp +55 -0
  979. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp +22 -0
  980. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp +29 -0
  981. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp +36 -0
  982. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp +32 -0
  983. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp +42 -0
  984. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp +20 -0
  985. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp +50 -0
  986. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/FlashString.hpp +93 -0
  987. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/RamString.hpp +118 -0
  988. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/StringObject.hpp +48 -0
  989. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp +19 -0
  990. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/JsonString.hpp +100 -0
  991. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringAdapter.hpp +47 -0
  992. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp +72 -0
  993. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringTraits.hpp +73 -0
  994. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/Converter.hpp +23 -0
  995. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp +406 -0
  996. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariant.hpp +78 -0
  997. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantConst.hpp +197 -0
  998. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantCopier.hpp +34 -0
  999. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantVisitor.hpp +61 -0
  1000. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantAttorney.hpp +35 -0
  1001. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp +211 -0
  1002. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp +82 -0
  1003. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp +609 -0
  1004. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantDataVisitor.hpp +24 -0
  1005. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantImpl.hpp +146 -0
  1006. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp +188 -0
  1007. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantRefBase.hpp +313 -0
  1008. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantRefBaseImpl.hpp +175 -0
  1009. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp +16 -0
  1010. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp +34 -0
  1011. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/compatibility.hpp +144 -0
  1012. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/version.hpp +11 -0
  1013. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson.h +17 -0
  1014. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson.hpp +65 -0
  1015. package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/CMakeLists.txt +91 -0
  1016. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/.piopm +1 -0
  1017. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/LICENSE +165 -0
  1018. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/README.md +55 -0
  1019. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/examples/AsyncSend/AsyncSend.ino +169 -0
  1020. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/examples/Client/Client.ino +87 -0
  1021. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/examples/FetchWebsite/FetchWebsite.ino +107 -0
  1022. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/library.json +31 -0
  1023. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/library.properties +11 -0
  1024. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCP.cpp +1612 -0
  1025. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCP.h +335 -0
  1026. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCPLogging.h +66 -0
  1027. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCPSimpleIntrusiveList.h +134 -0
  1028. package/examples/basic/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCPVersion.h +40 -0
  1029. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/.github/FUNDING.yml +1 -0
  1030. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/.github/workflows/doxygen.yml +310 -0
  1031. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/.github/workflows/main.yml +309 -0
  1032. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/.github/workflows/test.yml +523 -0
  1033. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/.piopm +1 -0
  1034. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/LICENSE.txt +27 -0
  1035. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/README.md +157 -0
  1036. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example00_Blink/Scheduler_example00_Blink.ino +303 -0
  1037. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example00_Blink_Namespace/Scheduler_example00_Blink_Namespace.ino +302 -0
  1038. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example01/Scheduler_example01.ino +84 -0
  1039. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example02/Scheduler_example02.ino +78 -0
  1040. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example03/Scheduler_example03.ino +80 -0
  1041. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example04_StatusRequest/Scheduler_example04_StatusRequest.ino +90 -0
  1042. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example05_StatusRequest/Scheduler_example05_StatusRequest.ino +181 -0
  1043. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example06_IDLE/Scheduler_example06_IDLE.ino +117 -0
  1044. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example07_WDT/Scheduler_example07_WDT.ino +133 -0
  1045. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example08_LTS/Scheduler_example08_LTS.ino +147 -0
  1046. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example09_TimeCritical/Scheduler_example09_TimeCritical.ino +57 -0
  1047. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example10_Benchmark/Scheduler_example10_Benchmark.ino +106 -0
  1048. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example11_Priority/Scheduler_example11_Priority.ino +105 -0
  1049. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example12_Priority/Scheduler_example12_Priority.ino +136 -0
  1050. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example13_Micros/Scheduler_example13_Micros.ino +71 -0
  1051. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example14_Yield/Scheduler_example14_Yield.ino +339 -0
  1052. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example15_STDFunction/Scheduler_example15_STDFunction.ino +53 -0
  1053. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/Scheduler_example16_Multitab.ino +18 -0
  1054. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/file1.cpp +31 -0
  1055. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/file2.cpp +55 -0
  1056. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/header.hpp +15 -0
  1057. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/ts.cpp +20 -0
  1058. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example17_Timeout/Scheduler_example17_Timeout.ino +90 -0
  1059. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example18_StatusRequest_LTS_WDT_Timeout/Scheduler_example18_StatusRequest_LTS_WDT_Timeout.ino +172 -0
  1060. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks/Scheduler_example19_Dynamic_Tasks.ino +137 -0
  1061. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_SelfDestruct/Scheduler_example19_Dynamic_Tasks_SelfDestruct.ino +130 -0
  1062. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_stdQueue/Scheduler_example19_Dynamic_Tasks_stdQueue.ino +137 -0
  1063. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object.ino +185 -0
  1064. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.cpp +36 -0
  1065. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.h +25 -0
  1066. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.cpp +66 -0
  1067. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.h +34 -0
  1068. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Scheduler_example21_OO_Callbacks.ino +76 -0
  1069. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.cpp +83 -0
  1070. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.h +44 -0
  1071. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.cpp +21 -0
  1072. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.h +28 -0
  1073. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example23_IDLE_Callback/Scheduler_example23_IDLE_Callback.ino +157 -0
  1074. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example24_CPU_LOAD/Scheduler_example24_CPU_LOAD.ino +87 -0
  1075. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example25_SCHEDULER_CHAIN/Scheduler_example25_SCHEDULER_CHAIN.ino +127 -0
  1076. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example26_SCHEDULING_OPTIONS/Scheduler_example26_SCHEDULING_OPTIONS.ino +181 -0
  1077. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/README +39 -0
  1078. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/led.h +12 -0
  1079. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/main.h +25 -0
  1080. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/lib/README +46 -0
  1081. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/platformio.ini +37 -0
  1082. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/led.cpp +11 -0
  1083. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/main.cpp +254 -0
  1084. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/test/README +11 -0
  1085. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example28_Tickless/Scheduler_example28_Tickless.ino +105 -0
  1086. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/README +39 -0
  1087. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/led.h +12 -0
  1088. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/main.h +27 -0
  1089. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/lib/README +46 -0
  1090. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/platformio.ini +38 -0
  1091. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/src/led.cpp +13 -0
  1092. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/src/main.cpp +267 -0
  1093. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/test/README +11 -0
  1094. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/README.md +232 -0
  1095. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/platformio.ini +44 -0
  1096. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/src/main.cpp +310 -0
  1097. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_template/Scheduler_template.ino +166 -0
  1098. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/keywords.txt +161 -0
  1099. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/library.json +22 -0
  1100. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/library.properties +9 -0
  1101. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/src/TScheduler.hpp +29 -0
  1102. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/src/TSchedulerDeclarations.hpp +29 -0
  1103. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/src/TaskScheduler.cpp +3 -0
  1104. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/src/TaskScheduler.h +1811 -0
  1105. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/src/TaskSchedulerDeclarations.h +3096 -0
  1106. package/examples/basic/.pio/libdeps/esp32/TaskScheduler/src/TaskSchedulerSleepMethods.h +399 -0
  1107. package/examples/basic/.pio/libdeps/esp32/integrity.dat +3 -0
  1108. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/.piopm +1 -0
  1109. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/ArduinoJson.h +5 -0
  1110. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/LICENSE.txt +10 -0
  1111. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/README.md +153 -0
  1112. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonConfigFile/JsonConfigFile.ino +152 -0
  1113. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonFilterExample/JsonFilterExample.ino +64 -0
  1114. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonGeneratorExample/JsonGeneratorExample.ino +65 -0
  1115. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonHttpClient/JsonHttpClient.ino +125 -0
  1116. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonParserExample/JsonParserExample.ino +65 -0
  1117. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonServer/JsonServer.ino +118 -0
  1118. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonUdpBeacon/JsonUdpBeacon.ino +106 -0
  1119. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/MsgPackParser/MsgPackParser.ino +61 -0
  1120. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/ProgmemExample/ProgmemExample.ino +63 -0
  1121. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/StringExample/StringExample.ino +76 -0
  1122. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/library.json +23 -0
  1123. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/library.properties +11 -0
  1124. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp +66 -0
  1125. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp +79 -0
  1126. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp +75 -0
  1127. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp +219 -0
  1128. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp +133 -0
  1129. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/JsonArrayIterator.hpp +96 -0
  1130. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp +112 -0
  1131. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp +122 -0
  1132. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp +137 -0
  1133. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Configuration.hpp +285 -0
  1134. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp +106 -0
  1135. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationOptions.hpp +35 -0
  1136. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp +77 -0
  1137. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp +32 -0
  1138. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp +74 -0
  1139. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp +30 -0
  1140. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp +18 -0
  1141. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp +56 -0
  1142. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp +42 -0
  1143. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp +49 -0
  1144. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp +29 -0
  1145. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp +19 -0
  1146. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp +79 -0
  1147. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp +426 -0
  1148. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp +40 -0
  1149. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp +720 -0
  1150. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp +165 -0
  1151. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/Latch.hpp +56 -0
  1152. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp +110 -0
  1153. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp +177 -0
  1154. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp +67 -0
  1155. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp +46 -0
  1156. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp +60 -0
  1157. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/Allocator.hpp +49 -0
  1158. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/MemoryPool.hpp +110 -0
  1159. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/MemoryPoolList.hpp +214 -0
  1160. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/ResourceManager.hpp +131 -0
  1161. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/ResourceManagerImpl.hpp +52 -0
  1162. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringBuffer.hpp +79 -0
  1163. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringBuilder.hpp +88 -0
  1164. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringNode.hpp +75 -0
  1165. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringPool.hpp +102 -0
  1166. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp +71 -0
  1167. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackBinary.hpp +97 -0
  1168. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp +487 -0
  1169. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackExtension.hpp +120 -0
  1170. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp +244 -0
  1171. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/endianness.hpp +46 -0
  1172. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp +18 -0
  1173. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Namespace.hpp +42 -0
  1174. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp +95 -0
  1175. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp +212 -0
  1176. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/JsonFloat.hpp +18 -0
  1177. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/JsonInteger.hpp +28 -0
  1178. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp +116 -0
  1179. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp +145 -0
  1180. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp +238 -0
  1181. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonObject.hpp +245 -0
  1182. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonObjectConst.hpp +166 -0
  1183. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonObjectIterator.hpp +83 -0
  1184. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonPair.hpp +70 -0
  1185. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp +77 -0
  1186. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/ObjectData.hpp +70 -0
  1187. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp +92 -0
  1188. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp +30 -0
  1189. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp +14 -0
  1190. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp +45 -0
  1191. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp +21 -0
  1192. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp +34 -0
  1193. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp +45 -0
  1194. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp +27 -0
  1195. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp +27 -0
  1196. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp +144 -0
  1197. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp +67 -0
  1198. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp +33 -0
  1199. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp +25 -0
  1200. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/decay.hpp +33 -0
  1201. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp +14 -0
  1202. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp +23 -0
  1203. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/function_traits.hpp +27 -0
  1204. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp +22 -0
  1205. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp +22 -0
  1206. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp +27 -0
  1207. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp +23 -0
  1208. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp +18 -0
  1209. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp +46 -0
  1210. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp +22 -0
  1211. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp +19 -0
  1212. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp +32 -0
  1213. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp +17 -0
  1214. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp +18 -0
  1215. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp +26 -0
  1216. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp +24 -0
  1217. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp +44 -0
  1218. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp +24 -0
  1219. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_cv.hpp +31 -0
  1220. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp +24 -0
  1221. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp +16 -0
  1222. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/void_t.hpp +20 -0
  1223. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp +27 -0
  1224. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp +33 -0
  1225. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp +33 -0
  1226. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp +47 -0
  1227. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp +55 -0
  1228. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp +22 -0
  1229. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp +29 -0
  1230. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp +36 -0
  1231. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp +32 -0
  1232. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp +42 -0
  1233. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp +20 -0
  1234. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp +50 -0
  1235. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/Adapters/FlashString.hpp +93 -0
  1236. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/Adapters/RamString.hpp +118 -0
  1237. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/Adapters/StringObject.hpp +48 -0
  1238. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp +19 -0
  1239. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/JsonString.hpp +100 -0
  1240. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/StringAdapter.hpp +47 -0
  1241. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp +72 -0
  1242. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/StringTraits.hpp +73 -0
  1243. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/Converter.hpp +23 -0
  1244. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp +406 -0
  1245. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariant.hpp +78 -0
  1246. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariantConst.hpp +197 -0
  1247. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariantCopier.hpp +34 -0
  1248. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariantVisitor.hpp +61 -0
  1249. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantAttorney.hpp +35 -0
  1250. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp +211 -0
  1251. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp +82 -0
  1252. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp +609 -0
  1253. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantDataVisitor.hpp +24 -0
  1254. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantImpl.hpp +146 -0
  1255. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp +188 -0
  1256. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantRefBase.hpp +313 -0
  1257. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantRefBaseImpl.hpp +175 -0
  1258. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp +16 -0
  1259. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp +34 -0
  1260. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/compatibility.hpp +144 -0
  1261. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/version.hpp +11 -0
  1262. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson.h +17 -0
  1263. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson.hpp +65 -0
  1264. package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/CMakeLists.txt +91 -0
  1265. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/install-arduino-core-esp8266.sh +29 -0
  1266. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/install-arduino-ide.sh +220 -0
  1267. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/install-platformio.sh +133 -0
  1268. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/on-push.sh +64 -0
  1269. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.github/stale.yml +31 -0
  1270. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.github/workflows/push.yml +30 -0
  1271. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.piopm +1 -0
  1272. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/LICENSE.txt +165 -0
  1273. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/README.md +43 -0
  1274. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Client/Client.ino +62 -0
  1275. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Client/config.h +23 -0
  1276. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Server/Server.ino +73 -0
  1277. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Server/config.h +23 -0
  1278. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/examples/SyncClient/.esp31b.skip +0 -0
  1279. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/examples/SyncClient/SyncClient.ino +54 -0
  1280. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/library.json +19 -0
  1281. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/library.properties +10 -0
  1282. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/AsyncPrinter.cpp +214 -0
  1283. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/AsyncPrinter.h +73 -0
  1284. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/DebugPrintMacros.h +112 -0
  1285. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCP.cpp +1406 -0
  1286. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCP.h +324 -0
  1287. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCPbuffer.cpp +555 -0
  1288. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCPbuffer.h +118 -0
  1289. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/SyncClient.cpp +414 -0
  1290. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/SyncClient.h +109 -0
  1291. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/async_config.h +42 -0
  1292. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/tcp_axtls.c +613 -0
  1293. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/tcp_axtls.h +98 -0
  1294. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/ssl/gen_server_cert.sh +36 -0
  1295. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/ssl/server.cer +0 -0
  1296. package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/ssl/server.key +0 -0
  1297. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/.github/FUNDING.yml +1 -0
  1298. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/.github/workflows/doxygen.yml +310 -0
  1299. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/.github/workflows/main.yml +309 -0
  1300. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/.github/workflows/test.yml +523 -0
  1301. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/.piopm +1 -0
  1302. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/LICENSE.txt +27 -0
  1303. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/README.md +157 -0
  1304. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example00_Blink/Scheduler_example00_Blink.ino +303 -0
  1305. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example00_Blink_Namespace/Scheduler_example00_Blink_Namespace.ino +302 -0
  1306. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example01/Scheduler_example01.ino +84 -0
  1307. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example02/Scheduler_example02.ino +78 -0
  1308. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example03/Scheduler_example03.ino +80 -0
  1309. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example04_StatusRequest/Scheduler_example04_StatusRequest.ino +90 -0
  1310. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example05_StatusRequest/Scheduler_example05_StatusRequest.ino +181 -0
  1311. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example06_IDLE/Scheduler_example06_IDLE.ino +117 -0
  1312. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example07_WDT/Scheduler_example07_WDT.ino +133 -0
  1313. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example08_LTS/Scheduler_example08_LTS.ino +147 -0
  1314. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example09_TimeCritical/Scheduler_example09_TimeCritical.ino +57 -0
  1315. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example10_Benchmark/Scheduler_example10_Benchmark.ino +106 -0
  1316. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example11_Priority/Scheduler_example11_Priority.ino +105 -0
  1317. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example12_Priority/Scheduler_example12_Priority.ino +136 -0
  1318. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example13_Micros/Scheduler_example13_Micros.ino +71 -0
  1319. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example14_Yield/Scheduler_example14_Yield.ino +339 -0
  1320. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example15_STDFunction/Scheduler_example15_STDFunction.ino +53 -0
  1321. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/Scheduler_example16_Multitab.ino +18 -0
  1322. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/file1.cpp +31 -0
  1323. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/file2.cpp +55 -0
  1324. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/header.hpp +15 -0
  1325. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/ts.cpp +20 -0
  1326. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example17_Timeout/Scheduler_example17_Timeout.ino +90 -0
  1327. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example18_StatusRequest_LTS_WDT_Timeout/Scheduler_example18_StatusRequest_LTS_WDT_Timeout.ino +172 -0
  1328. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks/Scheduler_example19_Dynamic_Tasks.ino +137 -0
  1329. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_SelfDestruct/Scheduler_example19_Dynamic_Tasks_SelfDestruct.ino +130 -0
  1330. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_stdQueue/Scheduler_example19_Dynamic_Tasks_stdQueue.ino +137 -0
  1331. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object.ino +185 -0
  1332. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.cpp +36 -0
  1333. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.h +25 -0
  1334. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.cpp +66 -0
  1335. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.h +34 -0
  1336. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Scheduler_example21_OO_Callbacks.ino +76 -0
  1337. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.cpp +83 -0
  1338. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.h +44 -0
  1339. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.cpp +21 -0
  1340. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.h +28 -0
  1341. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example23_IDLE_Callback/Scheduler_example23_IDLE_Callback.ino +157 -0
  1342. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example24_CPU_LOAD/Scheduler_example24_CPU_LOAD.ino +87 -0
  1343. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example25_SCHEDULER_CHAIN/Scheduler_example25_SCHEDULER_CHAIN.ino +127 -0
  1344. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example26_SCHEDULING_OPTIONS/Scheduler_example26_SCHEDULING_OPTIONS.ino +181 -0
  1345. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/README +39 -0
  1346. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/led.h +12 -0
  1347. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/main.h +25 -0
  1348. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/lib/README +46 -0
  1349. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/platformio.ini +37 -0
  1350. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/led.cpp +11 -0
  1351. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/main.cpp +254 -0
  1352. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/test/README +11 -0
  1353. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example28_Tickless/Scheduler_example28_Tickless.ino +105 -0
  1354. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/include/README +39 -0
  1355. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/include/led.h +12 -0
  1356. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/include/main.h +27 -0
  1357. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/lib/README +46 -0
  1358. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/platformio.ini +38 -0
  1359. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/src/led.cpp +13 -0
  1360. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/src/main.cpp +267 -0
  1361. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/test/README +11 -0
  1362. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/README.md +232 -0
  1363. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/platformio.ini +44 -0
  1364. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/src/main.cpp +310 -0
  1365. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_template/Scheduler_template.ino +166 -0
  1366. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/keywords.txt +161 -0
  1367. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/library.json +22 -0
  1368. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/library.properties +9 -0
  1369. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/src/TScheduler.hpp +29 -0
  1370. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/src/TSchedulerDeclarations.hpp +29 -0
  1371. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/src/TaskScheduler.cpp +3 -0
  1372. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/src/TaskScheduler.h +1811 -0
  1373. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/src/TaskSchedulerDeclarations.h +3096 -0
  1374. package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/src/TaskSchedulerSleepMethods.h +399 -0
  1375. package/examples/basic/.pio/libdeps/esp8266/integrity.dat +3 -0
  1376. package/examples/basic/basic.ino +66 -66
  1377. package/examples/basic/platformio.ini +25 -25
  1378. package/examples/bridge/bridge.ino +51 -51
  1379. package/examples/bridge/mesh_event_publisher.hpp +253 -253
  1380. package/examples/bridge/mesh_topology_reporter.hpp +303 -303
  1381. package/examples/bridge/mqtt_command_bridge.hpp +459 -459
  1382. package/examples/bridge/mqtt_status_bridge.hpp +519 -519
  1383. package/examples/bridge/platformio.ini +25 -25
  1384. package/examples/echoNode/echoNode.ino +33 -33
  1385. package/examples/echoNode/platformio.ini +25 -25
  1386. package/examples/logClient/logClient.ino +109 -109
  1387. package/examples/logClient/platformio.ini +25 -25
  1388. package/examples/logServer/logServer.ino +81 -81
  1389. package/examples/logServer/platformio.ini +25 -25
  1390. package/examples/meshCommandNode/.pio/build/esp32/.sconsign311.dblite +0 -0
  1391. package/examples/meshCommandNode/.pio/build/esp32/bootloader.bin +0 -0
  1392. package/examples/meshCommandNode/.pio/build/esp32/lib327/TaskScheduler/TaskScheduler.cpp.d +2 -0
  1393. package/examples/meshCommandNode/.pio/build/esp32/lib327/TaskScheduler/TaskScheduler.cpp.o +0 -0
  1394. package/examples/meshCommandNode/.pio/build/esp32/lib373/LittleFS/LittleFS.cpp.d +142 -0
  1395. package/examples/meshCommandNode/.pio/build/esp32/lib373/LittleFS/LittleFS.cpp.o +0 -0
  1396. package/examples/meshCommandNode/.pio/build/esp32/lib4f2/FS/FS.cpp.d +138 -0
  1397. package/examples/meshCommandNode/.pio/build/esp32/lib4f2/FS/FS.cpp.o +0 -0
  1398. package/examples/meshCommandNode/.pio/build/esp32/lib4f2/FS/vfs_api.cpp.d +139 -0
  1399. package/examples/meshCommandNode/.pio/build/esp32/lib4f2/FS/vfs_api.cpp.o +0 -0
  1400. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFi.cpp.d +203 -0
  1401. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFi.cpp.o +0 -0
  1402. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiAP.cpp.d +204 -0
  1403. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiAP.cpp.o +0 -0
  1404. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiClient.cpp.d +209 -0
  1405. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiClient.cpp.o +0 -0
  1406. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiGeneric.cpp.d +206 -0
  1407. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiGeneric.cpp.o +0 -0
  1408. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiMulti.cpp.d +199 -0
  1409. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiMulti.cpp.o +0 -0
  1410. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiSTA.cpp.d +206 -0
  1411. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiSTA.cpp.o +0 -0
  1412. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiScan.cpp.d +204 -0
  1413. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiScan.cpp.o +0 -0
  1414. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiServer.cpp.d +172 -0
  1415. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiServer.cpp.o +0 -0
  1416. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiUdp.cpp.d +171 -0
  1417. package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiUdp.cpp.o +0 -0
  1418. package/examples/meshCommandNode/.pio/build/esp32/lib97a/SPIFFS/SPIFFS.cpp.d +142 -0
  1419. package/examples/meshCommandNode/.pio/build/esp32/lib97a/SPIFFS/SPIFFS.cpp.o +0 -0
  1420. package/examples/meshCommandNode/.pio/build/esp32/libf48/Update/HttpsOTAUpdate.cpp.d +120 -0
  1421. package/examples/meshCommandNode/.pio/build/esp32/libf48/Update/HttpsOTAUpdate.cpp.o +0 -0
  1422. package/examples/meshCommandNode/.pio/build/esp32/libf48/Update/Updater.cpp.d +144 -0
  1423. package/examples/meshCommandNode/.pio/build/esp32/libf48/Update/Updater.cpp.o +0 -0
  1424. package/examples/meshCommandNode/.pio/build/esp32/partitions.bin +0 -0
  1425. package/examples/meshCommandNode/.pio/build/esp32/src/meshCommandNode.ino.cpp.d +238 -0
  1426. package/examples/meshCommandNode/.pio/build/esp32/tmpkxz_1u4u.tmp +1 -0
  1427. package/examples/meshCommandNode/.pio/build/esp32/tmpo9qt_9vc.tmp +1 -0
  1428. package/examples/meshCommandNode/.pio/build/esp32/tmprrmligyc.tmp +1 -0
  1429. package/examples/meshCommandNode/.pio/build/esp32/tmpt8s9ha45.tmp +1 -0
  1430. package/examples/meshCommandNode/.pio/build/project.checksum +1 -0
  1431. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/.piopm +1 -0
  1432. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/ArduinoJson.h +5 -0
  1433. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/LICENSE.txt +10 -0
  1434. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/README.md +153 -0
  1435. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonConfigFile/JsonConfigFile.ino +152 -0
  1436. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonFilterExample/JsonFilterExample.ino +64 -0
  1437. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonGeneratorExample/JsonGeneratorExample.ino +65 -0
  1438. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonHttpClient/JsonHttpClient.ino +125 -0
  1439. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonParserExample/JsonParserExample.ino +65 -0
  1440. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonServer/JsonServer.ino +118 -0
  1441. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonUdpBeacon/JsonUdpBeacon.ino +106 -0
  1442. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/MsgPackParser/MsgPackParser.ino +61 -0
  1443. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/ProgmemExample/ProgmemExample.ino +63 -0
  1444. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/StringExample/StringExample.ino +76 -0
  1445. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/library.json +23 -0
  1446. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/library.properties +11 -0
  1447. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp +66 -0
  1448. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp +79 -0
  1449. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp +75 -0
  1450. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp +219 -0
  1451. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp +133 -0
  1452. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArrayIterator.hpp +96 -0
  1453. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp +112 -0
  1454. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp +122 -0
  1455. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp +137 -0
  1456. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Configuration.hpp +285 -0
  1457. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp +106 -0
  1458. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationOptions.hpp +35 -0
  1459. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp +77 -0
  1460. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp +32 -0
  1461. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp +74 -0
  1462. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp +30 -0
  1463. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp +18 -0
  1464. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp +56 -0
  1465. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp +42 -0
  1466. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp +49 -0
  1467. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp +29 -0
  1468. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp +19 -0
  1469. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp +79 -0
  1470. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp +426 -0
  1471. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp +40 -0
  1472. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp +720 -0
  1473. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp +165 -0
  1474. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Latch.hpp +56 -0
  1475. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp +110 -0
  1476. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp +177 -0
  1477. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp +67 -0
  1478. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp +46 -0
  1479. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp +60 -0
  1480. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/Allocator.hpp +49 -0
  1481. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/MemoryPool.hpp +110 -0
  1482. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/MemoryPoolList.hpp +214 -0
  1483. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/ResourceManager.hpp +131 -0
  1484. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/ResourceManagerImpl.hpp +52 -0
  1485. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringBuffer.hpp +79 -0
  1486. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringBuilder.hpp +88 -0
  1487. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringNode.hpp +75 -0
  1488. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringPool.hpp +102 -0
  1489. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp +71 -0
  1490. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackBinary.hpp +97 -0
  1491. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp +487 -0
  1492. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackExtension.hpp +120 -0
  1493. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp +244 -0
  1494. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/endianness.hpp +46 -0
  1495. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp +18 -0
  1496. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Namespace.hpp +42 -0
  1497. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp +95 -0
  1498. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp +212 -0
  1499. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/JsonFloat.hpp +18 -0
  1500. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/JsonInteger.hpp +28 -0
  1501. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp +116 -0
  1502. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp +145 -0
  1503. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp +238 -0
  1504. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObject.hpp +245 -0
  1505. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObjectConst.hpp +166 -0
  1506. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObjectIterator.hpp +83 -0
  1507. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonPair.hpp +70 -0
  1508. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp +77 -0
  1509. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/ObjectData.hpp +70 -0
  1510. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp +92 -0
  1511. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp +30 -0
  1512. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp +14 -0
  1513. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp +45 -0
  1514. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp +21 -0
  1515. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp +34 -0
  1516. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp +45 -0
  1517. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp +27 -0
  1518. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp +27 -0
  1519. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp +144 -0
  1520. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp +67 -0
  1521. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp +33 -0
  1522. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp +25 -0
  1523. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/decay.hpp +33 -0
  1524. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp +14 -0
  1525. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp +23 -0
  1526. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/function_traits.hpp +27 -0
  1527. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp +22 -0
  1528. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp +22 -0
  1529. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp +27 -0
  1530. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp +23 -0
  1531. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp +18 -0
  1532. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp +46 -0
  1533. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp +22 -0
  1534. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp +19 -0
  1535. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp +32 -0
  1536. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp +17 -0
  1537. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp +18 -0
  1538. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp +26 -0
  1539. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp +24 -0
  1540. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp +44 -0
  1541. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp +24 -0
  1542. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_cv.hpp +31 -0
  1543. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp +24 -0
  1544. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp +16 -0
  1545. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/void_t.hpp +20 -0
  1546. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp +27 -0
  1547. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp +33 -0
  1548. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp +33 -0
  1549. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp +47 -0
  1550. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp +55 -0
  1551. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp +22 -0
  1552. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp +29 -0
  1553. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp +36 -0
  1554. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp +32 -0
  1555. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp +42 -0
  1556. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp +20 -0
  1557. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp +50 -0
  1558. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/FlashString.hpp +93 -0
  1559. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/RamString.hpp +118 -0
  1560. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/StringObject.hpp +48 -0
  1561. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp +19 -0
  1562. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/JsonString.hpp +100 -0
  1563. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringAdapter.hpp +47 -0
  1564. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp +72 -0
  1565. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringTraits.hpp +73 -0
  1566. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/Converter.hpp +23 -0
  1567. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp +406 -0
  1568. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariant.hpp +78 -0
  1569. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantConst.hpp +197 -0
  1570. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantCopier.hpp +34 -0
  1571. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantVisitor.hpp +61 -0
  1572. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantAttorney.hpp +35 -0
  1573. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp +211 -0
  1574. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp +82 -0
  1575. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp +609 -0
  1576. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantDataVisitor.hpp +24 -0
  1577. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantImpl.hpp +146 -0
  1578. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp +188 -0
  1579. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantRefBase.hpp +313 -0
  1580. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantRefBaseImpl.hpp +175 -0
  1581. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp +16 -0
  1582. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp +34 -0
  1583. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/compatibility.hpp +144 -0
  1584. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/version.hpp +11 -0
  1585. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson.h +17 -0
  1586. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson.hpp +65 -0
  1587. package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/CMakeLists.txt +91 -0
  1588. package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/.piopm +1 -0
  1589. package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/LICENSE +165 -0
  1590. package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/README.md +62 -0
  1591. package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/examples/Client/Client.ino +81 -0
  1592. package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/library.json +35 -0
  1593. package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/library.properties +10 -0
  1594. package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCP.cpp +1661 -0
  1595. package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCP.h +344 -0
  1596. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/.github/FUNDING.yml +1 -0
  1597. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/.github/workflows/doxygen.yml +310 -0
  1598. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/.github/workflows/main.yml +309 -0
  1599. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/.github/workflows/test.yml +523 -0
  1600. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/.piopm +1 -0
  1601. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/LICENSE.txt +27 -0
  1602. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/README.md +157 -0
  1603. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example00_Blink/Scheduler_example00_Blink.ino +303 -0
  1604. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example00_Blink_Namespace/Scheduler_example00_Blink_Namespace.ino +302 -0
  1605. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example01/Scheduler_example01.ino +84 -0
  1606. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example02/Scheduler_example02.ino +78 -0
  1607. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example03/Scheduler_example03.ino +80 -0
  1608. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example04_StatusRequest/Scheduler_example04_StatusRequest.ino +90 -0
  1609. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example05_StatusRequest/Scheduler_example05_StatusRequest.ino +181 -0
  1610. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example06_IDLE/Scheduler_example06_IDLE.ino +117 -0
  1611. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example07_WDT/Scheduler_example07_WDT.ino +133 -0
  1612. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example08_LTS/Scheduler_example08_LTS.ino +147 -0
  1613. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example09_TimeCritical/Scheduler_example09_TimeCritical.ino +57 -0
  1614. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example10_Benchmark/Scheduler_example10_Benchmark.ino +106 -0
  1615. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example11_Priority/Scheduler_example11_Priority.ino +105 -0
  1616. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example12_Priority/Scheduler_example12_Priority.ino +136 -0
  1617. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example13_Micros/Scheduler_example13_Micros.ino +71 -0
  1618. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example14_Yield/Scheduler_example14_Yield.ino +339 -0
  1619. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example15_STDFunction/Scheduler_example15_STDFunction.ino +53 -0
  1620. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/Scheduler_example16_Multitab.ino +18 -0
  1621. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/file1.cpp +31 -0
  1622. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/file2.cpp +55 -0
  1623. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/header.hpp +15 -0
  1624. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/ts.cpp +20 -0
  1625. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example17_Timeout/Scheduler_example17_Timeout.ino +90 -0
  1626. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example18_StatusRequest_LTS_WDT_Timeout/Scheduler_example18_StatusRequest_LTS_WDT_Timeout.ino +172 -0
  1627. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks/Scheduler_example19_Dynamic_Tasks.ino +137 -0
  1628. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_SelfDestruct/Scheduler_example19_Dynamic_Tasks_SelfDestruct.ino +130 -0
  1629. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_stdQueue/Scheduler_example19_Dynamic_Tasks_stdQueue.ino +137 -0
  1630. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object.ino +185 -0
  1631. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.cpp +36 -0
  1632. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.h +25 -0
  1633. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.cpp +66 -0
  1634. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.h +34 -0
  1635. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Scheduler_example21_OO_Callbacks.ino +76 -0
  1636. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.cpp +83 -0
  1637. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.h +44 -0
  1638. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.cpp +21 -0
  1639. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.h +28 -0
  1640. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example23_IDLE_Callback/Scheduler_example23_IDLE_Callback.ino +157 -0
  1641. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example24_CPU_LOAD/Scheduler_example24_CPU_LOAD.ino +87 -0
  1642. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example25_SCHEDULER_CHAIN/Scheduler_example25_SCHEDULER_CHAIN.ino +127 -0
  1643. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example26_SCHEDULING_OPTIONS/Scheduler_example26_SCHEDULING_OPTIONS.ino +181 -0
  1644. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/README +39 -0
  1645. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/led.h +12 -0
  1646. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/main.h +25 -0
  1647. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/lib/README +46 -0
  1648. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/platformio.ini +37 -0
  1649. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/led.cpp +11 -0
  1650. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/main.cpp +254 -0
  1651. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/test/README +11 -0
  1652. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example28_Tickless/Scheduler_example28_Tickless.ino +105 -0
  1653. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/README +39 -0
  1654. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/led.h +12 -0
  1655. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/main.h +27 -0
  1656. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/lib/README +46 -0
  1657. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/platformio.ini +38 -0
  1658. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/src/led.cpp +13 -0
  1659. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/src/main.cpp +267 -0
  1660. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/test/README +11 -0
  1661. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/README.md +232 -0
  1662. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/platformio.ini +44 -0
  1663. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/src/main.cpp +310 -0
  1664. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_template/Scheduler_template.ino +166 -0
  1665. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/keywords.txt +161 -0
  1666. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/library.json +22 -0
  1667. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/library.properties +9 -0
  1668. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/src/TScheduler.hpp +29 -0
  1669. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/src/TSchedulerDeclarations.hpp +29 -0
  1670. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/src/TaskScheduler.cpp +3 -0
  1671. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/src/TaskScheduler.h +1811 -0
  1672. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/src/TaskSchedulerDeclarations.h +3096 -0
  1673. package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/src/TaskSchedulerSleepMethods.h +399 -0
  1674. package/examples/meshCommandNode/.pio/libdeps/esp32/integrity.dat +3 -0
  1675. package/examples/meshCommandNode/alteriom_sensor_package.hpp +234 -234
  1676. package/examples/meshCommandNode/meshCommandNode.ino +263 -263
  1677. package/examples/meshCommandNode/platformio.ini +25 -25
  1678. package/examples/mqttBridge/mqttBridge.ino +118 -118
  1679. package/examples/mqttBridge/platformio.ini +26 -26
  1680. package/examples/mqttCommandBridge/alteriom_sensor_package.hpp +234 -234
  1681. package/examples/mqttCommandBridge/mesh_event_publisher.hpp +253 -253
  1682. package/examples/mqttCommandBridge/mesh_topology_reporter.hpp +303 -303
  1683. package/examples/mqttCommandBridge/mqttCommandBridge.ino +252 -252
  1684. package/examples/mqttCommandBridge/mqtt_command_bridge.hpp +462 -459
  1685. package/examples/mqttCommandBridge/platformio.ini +26 -26
  1686. package/examples/mqttStatusBridge/mqttStatusBridge.ino +216 -216
  1687. package/examples/mqttStatusBridge/mqtt_status_bridge.hpp +522 -522
  1688. package/examples/mqttStatusBridge/platformio.ini +26 -26
  1689. package/examples/mqttTopologyTest/README.md +467 -467
  1690. package/examples/mqttTopologyTest/mqttTopologyTest.ino +748 -748
  1691. package/examples/mqttTopologyTest/platformio.ini +26 -26
  1692. package/examples/namedMesh/namedMesh.ino +97 -97
  1693. package/examples/namedMesh/platformio.ini +25 -25
  1694. package/examples/otaReceiver/otaReceiver.ino +79 -79
  1695. package/examples/otaReceiver/platformio.ini +25 -25
  1696. package/examples/otaSender/otaSender.ino +160 -160
  1697. package/examples/otaSender/platformio.ini +25 -25
  1698. package/examples/startHere/platformio.ini +25 -25
  1699. package/examples/startHere/startHere.ino +159 -159
  1700. package/examples/webServer/platformio.ini +27 -27
  1701. package/examples/webServer/webServer.ino +89 -89
  1702. package/keywords.txt +48 -48
  1703. package/library.json +55 -55
  1704. package/library.properties +10 -10
  1705. package/package.json +86 -86
  1706. package/src/AlteriomPainlessMesh.h +97 -97
  1707. package/src/arduino/wifi.hpp +365 -365
  1708. package/src/boost/asynctcp.hpp +279 -279
  1709. package/src/painlessMesh.h +70 -70
  1710. package/src/painlessMeshSTA.cpp +236 -236
  1711. package/src/painlessMeshSTA.h +58 -58
  1712. package/src/painlessTaskOptions.h +11 -4
  1713. package/src/painlessmesh/base64.hpp +111 -111
  1714. package/src/painlessmesh/buffer.hpp +229 -229
  1715. package/src/painlessmesh/callback.hpp +91 -91
  1716. package/src/painlessmesh/configuration.hpp +77 -77
  1717. package/src/painlessmesh/connection.hpp +192 -192
  1718. package/src/painlessmesh/layout.hpp +188 -188
  1719. package/src/painlessmesh/logger.hpp +158 -158
  1720. package/src/painlessmesh/memory.hpp +119 -119
  1721. package/src/painlessmesh/mesh.hpp +772 -761
  1722. package/src/painlessmesh/metrics.hpp +322 -322
  1723. package/src/painlessmesh/ntp.hpp +263 -263
  1724. package/src/painlessmesh/ota.hpp +582 -582
  1725. package/src/painlessmesh/plugin.hpp +188 -188
  1726. package/src/painlessmesh/protocol.hpp +813 -813
  1727. package/src/painlessmesh/router.hpp +338 -338
  1728. package/src/painlessmesh/scheduler_queue.cpp +77 -0
  1729. package/src/painlessmesh/scheduler_queue.hpp +34 -0
  1730. package/src/painlessmesh/tcp.hpp +71 -71
  1731. package/src/painlessmesh/validation.hpp +238 -238
  1732. package/src/plugin/performance.hpp +214 -214
  1733. package/src/plugin/remote.hpp +64 -64
  1734. package/src/scheduler.cpp +10 -10
  1735. package/src/wifi.cpp +2 -2
@@ -1,761 +1,772 @@
1
- #ifndef _PAINLESS_MESH_MESH_HPP_
2
- #define _PAINLESS_MESH_MESH_HPP_
3
-
4
- #include <vector>
5
-
6
- #include "painlessmesh/configuration.hpp"
7
-
8
- #include "painlessmesh/connection.hpp"
9
- #include "painlessmesh/logger.hpp"
10
- #include "painlessmesh/ntp.hpp"
11
- #include "painlessmesh/plugin.hpp"
12
- #include "painlessmesh/protocol.hpp"
13
- #include "painlessmesh/tcp.hpp"
14
-
15
- #ifdef PAINLESSMESH_ENABLE_OTA
16
- #include "painlessmesh/ota.hpp"
17
- #endif
18
-
19
- namespace painlessmesh {
20
- typedef std::function<void(uint32_t nodeId)> newConnectionCallback_t;
21
- typedef std::function<void(uint32_t nodeId)> droppedConnectionCallback_t;
22
- typedef std::function<void(uint32_t from, TSTRING &msg)> receivedCallback_t;
23
- typedef std::function<void()> changedConnectionsCallback_t;
24
- typedef std::function<void(int32_t offset)> nodeTimeAdjustedCallback_t;
25
- typedef std::function<void(uint32_t nodeId, int32_t delay)> nodeDelayCallback_t;
26
-
27
- /**
28
- * Main api class for the mesh
29
- *
30
- * Brings all the functions together except for the WiFi functions
31
- */
32
- template <class T>
33
- class Mesh : public ntp::MeshTime, public plugin::PackageHandler<T> {
34
- public:
35
- void init(uint32_t id) {
36
- using namespace logger;
37
- if (!isExternalScheduler) {
38
- mScheduler = new Scheduler();
39
- }
40
- this->nodeId = id;
41
-
42
- #ifdef ESP32
43
- xSemaphore = xSemaphoreCreateMutex();
44
- #endif
45
-
46
- // Add package handlers
47
- this->callbackList = painlessmesh::ntp::addPackageCallback(
48
- std::move(this->callbackList), (*this));
49
- this->callbackList = painlessmesh::router::addPackageCallback(
50
- std::move(this->callbackList), (*this));
51
-
52
- this->changedConnectionCallbacks.push_back([this](uint32_t nodeId) {
53
- Log(MESH_STATUS, "Changed connections in neighbour %u\n", nodeId);
54
- if (nodeId != 0) layout::syncLayout<T>((*this), nodeId);
55
- });
56
- this->droppedConnectionCallbacks.push_back([this](uint32_t nodeId,
57
- bool station) {
58
- Log(MESH_STATUS, "Dropped connection %u, station %d\n", nodeId, station);
59
- this->eraseClosedConnections();
60
- });
61
- this->newConnectionCallbacks.push_back([](uint32_t nodeId) {
62
- Log(MESH_STATUS, "New connection %u\n", nodeId);
63
- });
64
- }
65
-
66
- void init(Scheduler *scheduler, uint32_t id) {
67
- this->setScheduler(scheduler);
68
- this->init(id);
69
- }
70
-
71
- #ifdef PAINLESSMESH_ENABLE_OTA
72
- std::shared_ptr<Task> offerOTA(painlessmesh::plugin::ota::Announce announce) {
73
- auto announceTask = this->addTask(TASK_SECOND * 60, 60, [this, announce]() {
74
- this->sendPackage(&announce);
75
- });
76
- return announceTask;
77
- }
78
-
79
- std::shared_ptr<Task> offerOTA(TSTRING role, TSTRING hardware, TSTRING md5,
80
- size_t noPart, bool forced = false,
81
- bool broadcasted = false, bool compressed = false) {
82
- painlessmesh::plugin::ota::Announce announce;
83
- announce.md5 = md5;
84
- announce.role = role;
85
- announce.hardware = hardware;
86
- announce.from = this->nodeId;
87
- announce.noPart = noPart;
88
- announce.forced = forced;
89
- announce.broadcasted = broadcasted;
90
- announce.compressed = compressed;
91
- return offerOTA(announce);
92
- }
93
-
94
- void initOTASend(
95
- painlessmesh::plugin::ota::otaDataPacketCallbackType_t callback,
96
- size_t otaPartSize) {
97
- painlessmesh::plugin::ota::addSendPackageCallback(
98
- *this->mScheduler, (*this), callback, otaPartSize);
99
- }
100
- void initOTAReceive(TSTRING role = "",
101
- std::function<void(int, int)> progress_cb = NULL) {
102
- painlessmesh::plugin::ota::addReceivePackageCallback(
103
- *this->mScheduler, (*this), role, progress_cb);
104
- }
105
- #endif
106
-
107
- /**
108
- * Set the node as an root/master node for the mesh
109
- *
110
- * This is an optional setting that can speed up mesh formation.
111
- * At most one node in the mesh should be a root, or you could
112
- * end up with multiple subMeshes.
113
- *
114
- * We recommend any AP_ONLY nodes (e.g. a bridgeNode) to be set
115
- * as a root node.
116
- *
117
- * If one node is root, then it is also recommended to call
118
- * painlessMesh::setContainsRoot() on all the nodes in the mesh.
119
- */
120
- void setRoot(bool on = true) { this->root = on; };
121
-
122
- /**
123
- * The mesh should contains a root node
124
- *
125
- * This will cause the mesh to restructure more quickly around the root node.
126
- * Note that this could have adverse effects if set, while there is no root
127
- * node present. Also see painlessMesh::setRoot().
128
- */
129
- void setContainsRoot(bool on = true) { shouldContainRoot = on; };
130
-
131
- /**
132
- * Check whether this node is a root node.
133
- */
134
- bool isRoot() { return this->root; };
135
-
136
- /**
137
- * Change the internal log level
138
- */
139
- void setDebugMsgTypes(uint16_t types) { Log.setLogLevel(types); }
140
-
141
- /**
142
- * Disconnect and stop this node
143
- */
144
- void stop() {
145
- using namespace logger;
146
- // Close all connections
147
- while (this->subs.size() > 0) {
148
- auto conn = this->subs.begin();
149
- (*conn)->close();
150
- this->eraseClosedConnections();
151
- }
152
- plugin::PackageHandler<T>::stop();
153
-
154
- newConnectionCallbacks.clear();
155
- droppedConnectionCallbacks.clear();
156
- changedConnectionCallbacks.clear();
157
-
158
- if (!isExternalScheduler) {
159
- delete mScheduler;
160
- }
161
- }
162
-
163
- /** Perform crucial maintenance task
164
- *
165
- * Add this to your loop() function. This routine runs various maintenance
166
- * tasks.
167
- */
168
- void update(void) {
169
- if (semaphoreTake()) {
170
- // Check if something is executed (returns false)
171
- if (!mScheduler->execute())
172
- Log(logger::GENERAL, "update(): Scheduler executed a task\n");
173
- semaphoreGive();
174
- }
175
- return;
176
- }
177
-
178
- /** Send message to a specific node
179
- *
180
- * @param destId The nodeId of the node to send it to.
181
- * @param msg The message to send
182
- *
183
- * @return true if everything works, false if not.
184
- */
185
- bool sendSingle(uint32_t destId, TSTRING msg) {
186
- Log(logger::COMMUNICATION, "sendSingle(): dest=%u msg=%s\n", destId,
187
- msg.c_str());
188
- auto single = painlessmesh::protocol::Single(this->nodeId, destId, msg);
189
- return painlessmesh::router::send<T>(single, (*this));
190
- }
191
-
192
- /** Broadcast a message to every node on the mesh network.
193
- *
194
- * @param includeSelf Send message to myself as well. Default is false.
195
- *
196
- * @return true if everything works, false if not
197
- */
198
- bool sendBroadcast(TSTRING msg, bool includeSelf = false) {
199
- using namespace logger;
200
- Log(COMMUNICATION, "sendBroadcast(): msg=%s\n", msg.c_str());
201
- painlessmesh::protocol::Broadcast pkg(this->nodeId, 0, msg);
202
- auto success = router::broadcast<protocol::Broadcast, T>(pkg, (*this), 0);
203
- if (includeSelf) {
204
- protocol::Variant var(pkg);
205
- this->callbackList.execute(var.type(), var, NULL, 0);
206
- }
207
- if (success > 0) return true;
208
- return false;
209
- }
210
-
211
- /** Sends a node a packet to measure network trip delay to that node.
212
- *
213
- * After calling this function, user program have to wait to the response in
214
- * the form of a callback specified by onNodeDelayReceived().
215
- *
216
- * @return true if nodeId is connected to the mesh, false otherwise
217
- */
218
- bool startDelayMeas(uint32_t id) {
219
- using namespace logger;
220
- Log(S_TIME, "startDelayMeas(): NodeId %u\n", id);
221
- auto conn = painlessmesh::router::findRoute<T>((*this), id);
222
- if (!conn) return false;
223
- return router::send<protocol::TimeDelay, T>(
224
- protocol::TimeDelay(this->nodeId, id, this->getNodeTime()), conn);
225
- }
226
-
227
- /** Set a callback routine for any messages that are addressed to this node.
228
- *
229
- * Every time this node receives a message, this callback routine will the
230
- * called. “from” is the id of the original sender of the message, and “msg”
231
- * is a string that contains the message. The message can be anything. A
232
- * JSON, some other text string, or binary data.
233
- *
234
- * \code
235
- * mesh.onReceive([](auto nodeId, auto msg) {
236
- * // Do something with the message
237
- * Serial.println(msg);
238
- * });
239
- * \endcode
240
- */
241
- void onReceive(receivedCallback_t onReceive) {
242
- using namespace painlessmesh;
243
- this->callbackList.onPackage(
244
- protocol::SINGLE,
245
- [onReceive](protocol::Variant &variant, std::shared_ptr<T>, uint32_t) {
246
- auto pkg = variant.to<protocol::Single>();
247
- onReceive(pkg.from, pkg.msg);
248
- return false;
249
- });
250
- this->callbackList.onPackage(
251
- protocol::BROADCAST,
252
- [onReceive](protocol::Variant &variant, std::shared_ptr<T>, uint32_t) {
253
- auto pkg = variant.to<protocol::Broadcast>();
254
- onReceive(pkg.from, pkg.msg);
255
- return false;
256
- });
257
- }
258
-
259
- /** Callback that gets called every time the local node makes a new
260
- * connection.
261
- *
262
- * \code
263
- * mesh.onNewConnection([](auto nodeId) {
264
- * // Do something with the event
265
- * Serial.println(String(nodeId));
266
- * });
267
- * \endcode
268
- */
269
- void onNewConnection(newConnectionCallback_t onNewConnection) {
270
- Log(logger::GENERAL, "onNewConnection():\n");
271
- newConnectionCallbacks.push_back([onNewConnection](uint32_t nodeId) {
272
- if (nodeId != 0) onNewConnection(nodeId);
273
- });
274
- }
275
-
276
- /** Callback that gets called every time the local node drops a connection.
277
- *
278
- * \code
279
- * mesh.onDroppedConnection([](auto nodeId) {
280
- * // Do something with the event
281
- * Serial.println(String(nodeId));
282
- * });
283
- * \endcode
284
- */
285
- void onDroppedConnection(droppedConnectionCallback_t onDroppedConnection) {
286
- droppedConnectionCallbacks.push_back(
287
- [onDroppedConnection](uint32_t nodeId, bool station) {
288
- if (nodeId != 0) onDroppedConnection(nodeId);
289
- });
290
- }
291
-
292
- /** Callback that gets called every time the layout of the mesh changes
293
- *
294
- * \code
295
- * mesh.onChangedConnections([]() {
296
- * // Do something with the event
297
- * });
298
- * \endcode
299
- */
300
- void onChangedConnections(changedConnectionsCallback_t onChangedConnections) {
301
- Log(logger::GENERAL, "onChangedConnections():\n");
302
- changedConnectionCallbacks.push_back(
303
- [onChangedConnections](uint32_t nodeId) {
304
- if (nodeId != 0) onChangedConnections();
305
- });
306
- }
307
-
308
- /** Callback that gets called every time node time gets adjusted
309
- *
310
- * Node time is automatically kept in sync in the mesh. This gets called
311
- * whenever the time is to far out of sync with the rest of the mesh and gets
312
- * adjusted.
313
- *
314
- * \code
315
- * mesh.onNodeTimeAdjusted([](auto offset) {
316
- * // Do something with the event
317
- * Serial.println(String(offset));
318
- * });
319
- * \endcode
320
- */
321
- void onNodeTimeAdjusted(nodeTimeAdjustedCallback_t onTimeAdjusted) {
322
- Log(logger::GENERAL, "onNodeTimeAdjusted():\n");
323
- nodeTimeAdjustedCallback = onTimeAdjusted;
324
- }
325
-
326
- /** Callback that gets called when a delay measurement is received.
327
- *
328
- * This fires when a time delay masurement response is received, after a
329
- * request was sent.
330
- *
331
- * \code
332
- * mesh.onNodeDelayReceived([](auto nodeId, auto delay) {
333
- * // Do something with the event
334
- * Serial.println(String(delay));
335
- * });
336
- * \endcode
337
- */
338
- void onNodeDelayReceived(nodeDelayCallback_t onDelayReceived) {
339
- Log(logger::GENERAL, "onNodeDelayReceived():\n");
340
- nodeDelayReceivedCallback = onDelayReceived;
341
- }
342
-
343
- /**
344
- * Are we connected/know a route to the given node?
345
- *
346
- * @param nodeId The nodeId we are looking for
347
- */
348
- bool isConnected(uint32_t nodeId) {
349
- return painlessmesh::router::findRoute<T>((*this), nodeId) != NULL;
350
- }
351
-
352
- /** Get a list of all known nodes.
353
- *
354
- * This includes nodes that are both directly and indirectly connected to the
355
- * current node.
356
- */
357
- std::list<uint32_t> getNodeList(bool includeSelf = false) {
358
- return painlessmesh::layout::asList(this->asNodeTree(), includeSelf);
359
- }
360
-
361
- /**
362
- * Return a json representation of the current mesh layout
363
- */
364
- inline TSTRING subConnectionJson(bool pretty = false) {
365
- return this->asNodeTree().toString(pretty);
366
- }
367
-
368
- /**
369
- * Structure to hold detailed connection information
370
- */
371
- struct ConnectionInfo {
372
- uint32_t nodeId; // Connected node ID
373
- uint32_t lastSeen; // Timestamp of last message (ms)
374
- int rssi; // Signal strength (dBm)
375
- int avgLatency; // Average round-trip time (ms)
376
- int hopCount; // Hops from current node
377
- int quality; // Connection quality (0-100)
378
- uint32_t messagesRx; // Messages received
379
- uint32_t messagesTx; // Messages sent
380
- uint32_t messagesDropped; // Failed transmissions
381
- };
382
-
383
- /**
384
- * Get detailed connection information for all direct neighbors
385
- */
386
- std::vector<ConnectionInfo> getConnectionDetails() {
387
- std::vector<ConnectionInfo> connections;
388
-
389
- for (auto conn : this->subs) {
390
- if (conn->connected()) {
391
- ConnectionInfo info;
392
- info.nodeId = conn->nodeId;
393
- info.lastSeen = conn->timeLastReceived;
394
- info.rssi = conn->getRSSI();
395
- info.avgLatency = conn->getLatency();
396
- info.hopCount = 1; // Direct connection
397
- info.quality = conn->getQuality();
398
- info.messagesRx = conn->messagesRx;
399
- info.messagesTx = conn->messagesTx;
400
- info.messagesDropped = conn->messagesDropped;
401
-
402
- connections.push_back(info);
403
- }
404
- }
405
-
406
- return connections;
407
- }
408
-
409
- /**
410
- * Get hop count to specific node
411
- * Returns -1 if node is unreachable
412
- */
413
- int getHopCount(uint32_t nodeId) {
414
- // Check if it's a direct connection (1 hop)
415
- for (auto conn : this->subs) {
416
- if (conn->nodeId == nodeId && conn->connected()) {
417
- return 1;
418
- }
419
- }
420
-
421
- // For indirect connections, traverse the node tree
422
- auto tree = this->asNodeTree();
423
- // Simple BFS to find hop count
424
- // For now, return 2 for any node in the mesh but not directly connected
425
- auto nodeList = this->getNodeList(false);
426
- for (auto node : nodeList) {
427
- if (node == nodeId) {
428
- return 2; // TODO: Implement proper hop count calculation
429
- }
430
- }
431
-
432
- return -1; // Node not found
433
- }
434
-
435
- /**
436
- * Get routing table as map (destination -> next hop)
437
- */
438
- std::map<uint32_t, uint32_t> getRoutingTable() {
439
- std::map<uint32_t, uint32_t> table;
440
- auto nodeList = this->getNodeList(false);
441
-
442
- // For each destination, find the next hop
443
- for (auto destNode : nodeList) {
444
- // Check direct connections first
445
- for (auto conn : this->subs) {
446
- if (conn->nodeId == destNode && conn->connected()) {
447
- table[destNode] = destNode; // Direct connection
448
- break;
449
- }
450
- }
451
-
452
- // TODO: Implement proper routing table lookup for multi-hop paths
453
- // For now, just mark direct connections
454
- }
455
-
456
- return table;
457
- }
458
-
459
- inline std::shared_ptr<Task> addTask(unsigned long aInterval,
460
- long aIterations,
461
- std::function<void()> aCallback) {
462
- return plugin::PackageHandler<T>::addTask((*this->mScheduler), aInterval,
463
- aIterations, aCallback);
464
- }
465
-
466
- inline std::shared_ptr<Task> addTask(std::function<void()> aCallback) {
467
- return plugin::PackageHandler<T>::addTask((*this->mScheduler), aCallback);
468
- }
469
-
470
- ~Mesh() {
471
- this->stop();
472
- if (!isExternalScheduler) delete mScheduler;
473
- }
474
-
475
- protected:
476
- void setScheduler(Scheduler *baseScheduler) {
477
- this->mScheduler = baseScheduler;
478
- isExternalScheduler = true;
479
- }
480
-
481
- void startTimeSync(std::shared_ptr<T> conn) {
482
- using namespace logger;
483
- Log(S_TIME, "startTimeSync(): from %u with %u\n", this->nodeId,
484
- conn->nodeId);
485
- painlessmesh::protocol::TimeSync timeSync;
486
- if (ntp::adopt(this->asNodeTree(), (*conn))) {
487
- timeSync = painlessmesh::protocol::TimeSync(this->nodeId, conn->nodeId,
488
- this->getNodeTime());
489
- Log(S_TIME, "startTimeSync(): Requesting time from %u\n", conn->nodeId);
490
- } else {
491
- timeSync = painlessmesh::protocol::TimeSync(this->nodeId, conn->nodeId);
492
- Log(S_TIME, "startTimeSync(): Requesting %u to adopt our time\n",
493
- conn->nodeId);
494
- }
495
- router::send<protocol::TimeSync, T>(timeSync, conn, true);
496
- }
497
-
498
- bool closeConnectionSTA() {
499
- auto connection = this->subs.begin();
500
- while (connection != this->subs.end()) {
501
- if ((*connection)->station) {
502
- // We found the STA connection, close it
503
- (*connection)->close();
504
- return true;
505
- }
506
- ++connection;
507
- }
508
- return false;
509
- }
510
-
511
- void eraseClosedConnections() {
512
- using namespace logger;
513
- Log(CONNECTION, "eraseClosedConnections():\n");
514
- this->subs.remove_if(
515
- [](const std::shared_ptr<T> &conn) { return !conn->connected(); });
516
- }
517
-
518
- // Callback functions
519
- callback::List<uint32_t> newConnectionCallbacks;
520
- callback::List<uint32_t, bool> droppedConnectionCallbacks;
521
- callback::List<uint32_t> changedConnectionCallbacks;
522
- nodeTimeAdjustedCallback_t nodeTimeAdjustedCallback;
523
- nodeDelayCallback_t nodeDelayReceivedCallback;
524
- #ifdef ESP32
525
- SemaphoreHandle_t xSemaphore = NULL;
526
- #endif
527
-
528
- bool isExternalScheduler = false;
529
-
530
- /// Is the node a root node
531
- bool shouldContainRoot;
532
-
533
- Scheduler *mScheduler;
534
-
535
- /**
536
- * Wrapper function for ESP32 semaphore function
537
- *
538
- * Waits for the semaphore to be available and then returns true
539
- *
540
- * Always return true on ESP8266
541
- */
542
- bool semaphoreTake() {
543
- #ifdef ESP32
544
- return xSemaphoreTake(xSemaphore, (TickType_t)10) == pdTRUE;
545
- #else
546
- return true;
547
- #endif
548
- }
549
-
550
- /**
551
- * Wrapper function for ESP32 semaphore give function
552
- *
553
- * Does nothing on ESP8266 hardware
554
- */
555
- void semaphoreGive() {
556
- #ifdef ESP32
557
- xSemaphoreGive(xSemaphore);
558
- #endif
559
- }
560
-
561
- friend T;
562
- friend void onDataCb(void *, AsyncClient *, void *, size_t);
563
- friend void tcpSentCb(void *, AsyncClient *, size_t, uint32_t);
564
- friend void meshRecvCb(void *, AsyncClient *, void *, size_t);
565
- friend void painlessmesh::ntp::handleTimeSync<Mesh, T>(
566
- Mesh &, painlessmesh::protocol::TimeSync, std::shared_ptr<T>, uint32_t);
567
- friend void painlessmesh::ntp::handleTimeDelay<Mesh, T>(
568
- Mesh &, painlessmesh::protocol::TimeDelay, std::shared_ptr<T>, uint32_t);
569
- friend void painlessmesh::router::handleNodeSync<Mesh, T>(
570
- Mesh &, protocol::NodeTree, std::shared_ptr<T> conn);
571
- friend void painlessmesh::tcp::initServer<T, Mesh>(AsyncServer &, Mesh &);
572
- friend void painlessmesh::tcp::connect<T, Mesh>(AsyncClient &, IPAddress,
573
- uint16_t, Mesh &);
574
- };
575
-
576
- class Connection : public painlessmesh::layout::Neighbour,
577
- public painlessmesh::tcp::BufferedConnection {
578
- public:
579
- Mesh<Connection> *mesh;
580
- bool station = true;
581
- bool newConnection = true;
582
-
583
- Task timeSyncTask;
584
- Task nodeSyncTask;
585
- Task timeOutTask;
586
-
587
- // Connection metrics tracking
588
- uint32_t messagesRx = 0;
589
- uint32_t messagesTx = 0;
590
- uint32_t messagesDropped = 0;
591
- uint32_t timeLastReceived = 0;
592
-
593
- // Latency tracking (rolling window)
594
- std::vector<uint32_t> latencySamples;
595
- static const size_t MAX_LATENCY_SAMPLES = 10;
596
-
597
- Connection(AsyncClient *client, Mesh<painlessmesh::Connection> *mesh,
598
- bool station)
599
- : painlessmesh::tcp::BufferedConnection(client),
600
- mesh(mesh),
601
- station(station) {}
602
-
603
- void initTasks() {
604
- auto self = this->shared_from_this();
605
- auto mesh = this->mesh;
606
- this->onReceive([self](const TSTRING &str) {
607
- auto variant = painlessmesh::protocol::Variant(str);
608
-
609
- router::routePackage<painlessmesh::Connection>(
610
- (*self->mesh), self->shared_from_this(), str,
611
- self->mesh->callbackList, self->mesh->getNodeTime());
612
- });
613
-
614
- this->onDisconnect([mesh, self]() {
615
- Log.remote("id:%u AsyncClient disconnect\n", self->nodeId);
616
- self->timeSyncTask.setCallback(NULL);
617
- self->timeSyncTask.disable();
618
- self->nodeSyncTask.setCallback(NULL);
619
- self->nodeSyncTask.disable();
620
- self->timeOutTask.setCallback(NULL);
621
- self->timeOutTask.disable();
622
- auto nodeId = self->nodeId;
623
- auto station = self->station;
624
- mesh->addTask([mesh, nodeId, station]() {
625
- mesh->changedConnectionCallbacks.execute(nodeId);
626
- mesh->droppedConnectionCallbacks.execute(nodeId, station);
627
- });
628
- self->clear();
629
- });
630
-
631
- using namespace logger;
632
-
633
- timeOutTask.set(NODE_TIMEOUT, TASK_ONCE, [self]() {
634
- Log(CONNECTION, "Time out reached\n");
635
- Log.remote("id:%u TimeOut\n", self->nodeId);
636
- self->close();
637
- });
638
- mesh->mScheduler->addTask(timeOutTask);
639
-
640
- this->nodeSyncTask.set(TASK_MINUTE, TASK_FOREVER, [self]() {
641
- Log(SYNC, "nodeSyncTask(): request with %u\n", self->nodeId);
642
- router::send<protocol::NodeSyncRequest, Connection>(
643
- self->request(self->mesh->asNodeTree()), self);
644
- self->timeOutTask.disable();
645
- self->timeOutTask.restartDelayed();
646
- });
647
-
648
- mesh->mScheduler->addTask(this->nodeSyncTask);
649
- if (station)
650
- this->nodeSyncTask.enable();
651
- else
652
- this->nodeSyncTask.enableDelayed(10 * TASK_SECOND);
653
-
654
- Log(CONNECTION, "painlessmesh::Connection: New connection established.\n");
655
- this->initialize(mesh->mScheduler);
656
- }
657
-
658
- bool addMessage(const TSTRING &msg, bool priority = false) {
659
- return this->write(msg, priority);
660
- }
661
-
662
- /**
663
- * Record message received timestamp
664
- */
665
- void onMessageReceived() {
666
- messagesRx++;
667
- timeLastReceived = millis();
668
- }
669
-
670
- /**
671
- * Record message sent
672
- */
673
- void onMessageSent(bool success) {
674
- if (success) {
675
- messagesTx++;
676
- } else {
677
- messagesDropped++;
678
- }
679
- }
680
-
681
- /**
682
- * Record round-trip time sample
683
- */
684
- void recordLatency(uint32_t latencyMs) {
685
- latencySamples.push_back(latencyMs);
686
- if (latencySamples.size() > MAX_LATENCY_SAMPLES) {
687
- latencySamples.erase(latencySamples.begin());
688
- }
689
- }
690
-
691
- /**
692
- * Get average latency from recent samples
693
- * Returns -1 if no samples available
694
- */
695
- int getLatency() {
696
- if (latencySamples.empty()) return -1;
697
-
698
- uint32_t sum = 0;
699
- for (auto sample : latencySamples) {
700
- sum += sample;
701
- }
702
- return sum / latencySamples.size();
703
- }
704
-
705
- /**
706
- * Calculate connection quality (0-100)
707
- * Based on: latency, packet loss, RSSI
708
- */
709
- int getQuality() {
710
- // Start with perfect quality
711
- int quality = 100;
712
-
713
- // Penalize high latency (>100ms)
714
- int latency = getLatency();
715
- if (latency > 100) {
716
- quality -= (latency - 100) / 5;
717
- }
718
-
719
- // Penalize packet loss
720
- if (messagesTx > 0) {
721
- int lossRate = (messagesDropped * 100) / messagesTx;
722
- quality -= lossRate;
723
- }
724
-
725
- // Penalize weak RSSI (if available)
726
- int rssi = getRSSI();
727
- if (rssi < -80 && rssi != 0) {
728
- quality -= (80 + rssi); // e.g., -90 dBm = penalty of 10
729
- }
730
-
731
- return std::max(0, std::min(100, quality));
732
- }
733
-
734
- /**
735
- * Get WiFi RSSI if available
736
- * Returns RSSI in dBm (typically -30 to -90) or 0 if not available
737
- */
738
- int getRSSI() {
739
- #if defined(ESP32)
740
- // On ESP32, get WiFi RSSI
741
- if (WiFi.status() == WL_CONNECTED) {
742
- return WiFi.RSSI();
743
- }
744
- return 0;
745
- #elif defined(ESP8266)
746
- // On ESP8266, get WiFi RSSI
747
- if (WiFi.status() == WL_CONNECTED) {
748
- return WiFi.RSSI();
749
- }
750
- return 0;
751
- #else
752
- // Not available on non-WiFi platforms
753
- return 0;
754
- #endif
755
- }
756
-
757
- protected:
758
- std::shared_ptr<Connection> shared_from_this() { return shared_from(this); }
759
- };
760
- }; // namespace painlessmesh
761
- #endif
1
+ #ifndef _PAINLESS_MESH_MESH_HPP_
2
+ #define _PAINLESS_MESH_MESH_HPP_
3
+
4
+ #include <vector>
5
+
6
+ #include "painlessmesh/configuration.hpp"
7
+
8
+ #include "painlessmesh/connection.hpp"
9
+ #include "painlessmesh/logger.hpp"
10
+ #include "painlessmesh/ntp.hpp"
11
+ #include "painlessmesh/plugin.hpp"
12
+ #include "painlessmesh/protocol.hpp"
13
+ #include "painlessmesh/tcp.hpp"
14
+
15
+ #ifdef PAINLESSMESH_ENABLE_OTA
16
+ #include "painlessmesh/ota.hpp"
17
+ #endif
18
+
19
+ #if defined(ESP32) && defined(_TASK_THREAD_SAFE)
20
+ #include "painlessmesh/scheduler_queue.hpp"
21
+ #endif
22
+
23
+ namespace painlessmesh {
24
+ typedef std::function<void(uint32_t nodeId)> newConnectionCallback_t;
25
+ typedef std::function<void(uint32_t nodeId)> droppedConnectionCallback_t;
26
+ typedef std::function<void(uint32_t from, TSTRING &msg)> receivedCallback_t;
27
+ typedef std::function<void()> changedConnectionsCallback_t;
28
+ typedef std::function<void(int32_t offset)> nodeTimeAdjustedCallback_t;
29
+ typedef std::function<void(uint32_t nodeId, int32_t delay)> nodeDelayCallback_t;
30
+
31
+ /**
32
+ * Main api class for the mesh
33
+ *
34
+ * Brings all the functions together except for the WiFi functions
35
+ */
36
+ template <class T>
37
+ class Mesh : public ntp::MeshTime, public plugin::PackageHandler<T> {
38
+ public:
39
+ void init(uint32_t id) {
40
+ using namespace logger;
41
+ if (!isExternalScheduler) {
42
+ mScheduler = new Scheduler();
43
+ }
44
+ this->nodeId = id;
45
+
46
+ #ifdef ESP32
47
+ xSemaphore = xSemaphoreCreateMutex();
48
+
49
+ #ifdef _TASK_THREAD_SAFE
50
+ // Initialize the TaskScheduler request queue for thread-safe operations
51
+ if (!scheduler::initQueue()) {
52
+ Log(ERROR, "Failed to create TaskScheduler request queue\n");
53
+ }
54
+ #endif
55
+ #endif
56
+
57
+ // Add package handlers
58
+ this->callbackList = painlessmesh::ntp::addPackageCallback(
59
+ std::move(this->callbackList), (*this));
60
+ this->callbackList = painlessmesh::router::addPackageCallback(
61
+ std::move(this->callbackList), (*this));
62
+
63
+ this->changedConnectionCallbacks.push_back([this](uint32_t nodeId) {
64
+ Log(MESH_STATUS, "Changed connections in neighbour %u\n", nodeId);
65
+ if (nodeId != 0) layout::syncLayout<T>((*this), nodeId);
66
+ });
67
+ this->droppedConnectionCallbacks.push_back([this](uint32_t nodeId,
68
+ bool station) {
69
+ Log(MESH_STATUS, "Dropped connection %u, station %d\n", nodeId, station);
70
+ this->eraseClosedConnections();
71
+ });
72
+ this->newConnectionCallbacks.push_back([](uint32_t nodeId) {
73
+ Log(MESH_STATUS, "New connection %u\n", nodeId);
74
+ });
75
+ }
76
+
77
+ void init(Scheduler *scheduler, uint32_t id) {
78
+ this->setScheduler(scheduler);
79
+ this->init(id);
80
+ }
81
+
82
+ #ifdef PAINLESSMESH_ENABLE_OTA
83
+ std::shared_ptr<Task> offerOTA(painlessmesh::plugin::ota::Announce announce) {
84
+ auto announceTask = this->addTask(TASK_SECOND * 60, 60, [this, announce]() {
85
+ this->sendPackage(&announce);
86
+ });
87
+ return announceTask;
88
+ }
89
+
90
+ std::shared_ptr<Task> offerOTA(TSTRING role, TSTRING hardware, TSTRING md5,
91
+ size_t noPart, bool forced = false,
92
+ bool broadcasted = false, bool compressed = false) {
93
+ painlessmesh::plugin::ota::Announce announce;
94
+ announce.md5 = md5;
95
+ announce.role = role;
96
+ announce.hardware = hardware;
97
+ announce.from = this->nodeId;
98
+ announce.noPart = noPart;
99
+ announce.forced = forced;
100
+ announce.broadcasted = broadcasted;
101
+ announce.compressed = compressed;
102
+ return offerOTA(announce);
103
+ }
104
+
105
+ void initOTASend(
106
+ painlessmesh::plugin::ota::otaDataPacketCallbackType_t callback,
107
+ size_t otaPartSize) {
108
+ painlessmesh::plugin::ota::addSendPackageCallback(
109
+ *this->mScheduler, (*this), callback, otaPartSize);
110
+ }
111
+ void initOTAReceive(TSTRING role = "",
112
+ std::function<void(int, int)> progress_cb = NULL) {
113
+ painlessmesh::plugin::ota::addReceivePackageCallback(
114
+ *this->mScheduler, (*this), role, progress_cb);
115
+ }
116
+ #endif
117
+
118
+ /**
119
+ * Set the node as an root/master node for the mesh
120
+ *
121
+ * This is an optional setting that can speed up mesh formation.
122
+ * At most one node in the mesh should be a root, or you could
123
+ * end up with multiple subMeshes.
124
+ *
125
+ * We recommend any AP_ONLY nodes (e.g. a bridgeNode) to be set
126
+ * as a root node.
127
+ *
128
+ * If one node is root, then it is also recommended to call
129
+ * painlessMesh::setContainsRoot() on all the nodes in the mesh.
130
+ */
131
+ void setRoot(bool on = true) { this->root = on; };
132
+
133
+ /**
134
+ * The mesh should contains a root node
135
+ *
136
+ * This will cause the mesh to restructure more quickly around the root node.
137
+ * Note that this could have adverse effects if set, while there is no root
138
+ * node present. Also see painlessMesh::setRoot().
139
+ */
140
+ void setContainsRoot(bool on = true) { shouldContainRoot = on; };
141
+
142
+ /**
143
+ * Check whether this node is a root node.
144
+ */
145
+ bool isRoot() { return this->root; };
146
+
147
+ /**
148
+ * Change the internal log level
149
+ */
150
+ void setDebugMsgTypes(uint16_t types) { Log.setLogLevel(types); }
151
+
152
+ /**
153
+ * Disconnect and stop this node
154
+ */
155
+ void stop() {
156
+ using namespace logger;
157
+ // Close all connections
158
+ while (this->subs.size() > 0) {
159
+ auto conn = this->subs.begin();
160
+ (*conn)->close();
161
+ this->eraseClosedConnections();
162
+ }
163
+ plugin::PackageHandler<T>::stop();
164
+
165
+ newConnectionCallbacks.clear();
166
+ droppedConnectionCallbacks.clear();
167
+ changedConnectionCallbacks.clear();
168
+
169
+ if (!isExternalScheduler) {
170
+ delete mScheduler;
171
+ }
172
+ }
173
+
174
+ /** Perform crucial maintenance task
175
+ *
176
+ * Add this to your loop() function. This routine runs various maintenance
177
+ * tasks.
178
+ */
179
+ void update(void) {
180
+ if (semaphoreTake()) {
181
+ // Check if something is executed (returns false)
182
+ if (!mScheduler->execute())
183
+ Log(logger::GENERAL, "update(): Scheduler executed a task\n");
184
+ semaphoreGive();
185
+ }
186
+ return;
187
+ }
188
+
189
+ /** Send message to a specific node
190
+ *
191
+ * @param destId The nodeId of the node to send it to.
192
+ * @param msg The message to send
193
+ *
194
+ * @return true if everything works, false if not.
195
+ */
196
+ bool sendSingle(uint32_t destId, TSTRING msg) {
197
+ Log(logger::COMMUNICATION, "sendSingle(): dest=%u msg=%s\n", destId,
198
+ msg.c_str());
199
+ auto single = painlessmesh::protocol::Single(this->nodeId, destId, msg);
200
+ return painlessmesh::router::send<T>(single, (*this));
201
+ }
202
+
203
+ /** Broadcast a message to every node on the mesh network.
204
+ *
205
+ * @param includeSelf Send message to myself as well. Default is false.
206
+ *
207
+ * @return true if everything works, false if not
208
+ */
209
+ bool sendBroadcast(TSTRING msg, bool includeSelf = false) {
210
+ using namespace logger;
211
+ Log(COMMUNICATION, "sendBroadcast(): msg=%s\n", msg.c_str());
212
+ painlessmesh::protocol::Broadcast pkg(this->nodeId, 0, msg);
213
+ auto success = router::broadcast<protocol::Broadcast, T>(pkg, (*this), 0);
214
+ if (includeSelf) {
215
+ protocol::Variant var(pkg);
216
+ this->callbackList.execute(var.type(), var, NULL, 0);
217
+ }
218
+ if (success > 0) return true;
219
+ return false;
220
+ }
221
+
222
+ /** Sends a node a packet to measure network trip delay to that node.
223
+ *
224
+ * After calling this function, user program have to wait to the response in
225
+ * the form of a callback specified by onNodeDelayReceived().
226
+ *
227
+ * @return true if nodeId is connected to the mesh, false otherwise
228
+ */
229
+ bool startDelayMeas(uint32_t id) {
230
+ using namespace logger;
231
+ Log(S_TIME, "startDelayMeas(): NodeId %u\n", id);
232
+ auto conn = painlessmesh::router::findRoute<T>((*this), id);
233
+ if (!conn) return false;
234
+ return router::send<protocol::TimeDelay, T>(
235
+ protocol::TimeDelay(this->nodeId, id, this->getNodeTime()), conn);
236
+ }
237
+
238
+ /** Set a callback routine for any messages that are addressed to this node.
239
+ *
240
+ * Every time this node receives a message, this callback routine will the
241
+ * called. “from” is the id of the original sender of the message, and “msg”
242
+ * is a string that contains the message. The message can be anything. A
243
+ * JSON, some other text string, or binary data.
244
+ *
245
+ * \code
246
+ * mesh.onReceive([](auto nodeId, auto msg) {
247
+ * // Do something with the message
248
+ * Serial.println(msg);
249
+ * });
250
+ * \endcode
251
+ */
252
+ void onReceive(receivedCallback_t onReceive) {
253
+ using namespace painlessmesh;
254
+ this->callbackList.onPackage(
255
+ protocol::SINGLE,
256
+ [onReceive](protocol::Variant &variant, std::shared_ptr<T>, uint32_t) {
257
+ auto pkg = variant.to<protocol::Single>();
258
+ onReceive(pkg.from, pkg.msg);
259
+ return false;
260
+ });
261
+ this->callbackList.onPackage(
262
+ protocol::BROADCAST,
263
+ [onReceive](protocol::Variant &variant, std::shared_ptr<T>, uint32_t) {
264
+ auto pkg = variant.to<protocol::Broadcast>();
265
+ onReceive(pkg.from, pkg.msg);
266
+ return false;
267
+ });
268
+ }
269
+
270
+ /** Callback that gets called every time the local node makes a new
271
+ * connection.
272
+ *
273
+ * \code
274
+ * mesh.onNewConnection([](auto nodeId) {
275
+ * // Do something with the event
276
+ * Serial.println(String(nodeId));
277
+ * });
278
+ * \endcode
279
+ */
280
+ void onNewConnection(newConnectionCallback_t onNewConnection) {
281
+ Log(logger::GENERAL, "onNewConnection():\n");
282
+ newConnectionCallbacks.push_back([onNewConnection](uint32_t nodeId) {
283
+ if (nodeId != 0) onNewConnection(nodeId);
284
+ });
285
+ }
286
+
287
+ /** Callback that gets called every time the local node drops a connection.
288
+ *
289
+ * \code
290
+ * mesh.onDroppedConnection([](auto nodeId) {
291
+ * // Do something with the event
292
+ * Serial.println(String(nodeId));
293
+ * });
294
+ * \endcode
295
+ */
296
+ void onDroppedConnection(droppedConnectionCallback_t onDroppedConnection) {
297
+ droppedConnectionCallbacks.push_back(
298
+ [onDroppedConnection](uint32_t nodeId, bool station) {
299
+ if (nodeId != 0) onDroppedConnection(nodeId);
300
+ });
301
+ }
302
+
303
+ /** Callback that gets called every time the layout of the mesh changes
304
+ *
305
+ * \code
306
+ * mesh.onChangedConnections([]() {
307
+ * // Do something with the event
308
+ * });
309
+ * \endcode
310
+ */
311
+ void onChangedConnections(changedConnectionsCallback_t onChangedConnections) {
312
+ Log(logger::GENERAL, "onChangedConnections():\n");
313
+ changedConnectionCallbacks.push_back(
314
+ [onChangedConnections](uint32_t nodeId) {
315
+ if (nodeId != 0) onChangedConnections();
316
+ });
317
+ }
318
+
319
+ /** Callback that gets called every time node time gets adjusted
320
+ *
321
+ * Node time is automatically kept in sync in the mesh. This gets called
322
+ * whenever the time is to far out of sync with the rest of the mesh and gets
323
+ * adjusted.
324
+ *
325
+ * \code
326
+ * mesh.onNodeTimeAdjusted([](auto offset) {
327
+ * // Do something with the event
328
+ * Serial.println(String(offset));
329
+ * });
330
+ * \endcode
331
+ */
332
+ void onNodeTimeAdjusted(nodeTimeAdjustedCallback_t onTimeAdjusted) {
333
+ Log(logger::GENERAL, "onNodeTimeAdjusted():\n");
334
+ nodeTimeAdjustedCallback = onTimeAdjusted;
335
+ }
336
+
337
+ /** Callback that gets called when a delay measurement is received.
338
+ *
339
+ * This fires when a time delay masurement response is received, after a
340
+ * request was sent.
341
+ *
342
+ * \code
343
+ * mesh.onNodeDelayReceived([](auto nodeId, auto delay) {
344
+ * // Do something with the event
345
+ * Serial.println(String(delay));
346
+ * });
347
+ * \endcode
348
+ */
349
+ void onNodeDelayReceived(nodeDelayCallback_t onDelayReceived) {
350
+ Log(logger::GENERAL, "onNodeDelayReceived():\n");
351
+ nodeDelayReceivedCallback = onDelayReceived;
352
+ }
353
+
354
+ /**
355
+ * Are we connected/know a route to the given node?
356
+ *
357
+ * @param nodeId The nodeId we are looking for
358
+ */
359
+ bool isConnected(uint32_t nodeId) {
360
+ return painlessmesh::router::findRoute<T>((*this), nodeId) != NULL;
361
+ }
362
+
363
+ /** Get a list of all known nodes.
364
+ *
365
+ * This includes nodes that are both directly and indirectly connected to the
366
+ * current node.
367
+ */
368
+ std::list<uint32_t> getNodeList(bool includeSelf = false) {
369
+ return painlessmesh::layout::asList(this->asNodeTree(), includeSelf);
370
+ }
371
+
372
+ /**
373
+ * Return a json representation of the current mesh layout
374
+ */
375
+ inline TSTRING subConnectionJson(bool pretty = false) {
376
+ return this->asNodeTree().toString(pretty);
377
+ }
378
+
379
+ /**
380
+ * Structure to hold detailed connection information
381
+ */
382
+ struct ConnectionInfo {
383
+ uint32_t nodeId; // Connected node ID
384
+ uint32_t lastSeen; // Timestamp of last message (ms)
385
+ int rssi; // Signal strength (dBm)
386
+ int avgLatency; // Average round-trip time (ms)
387
+ int hopCount; // Hops from current node
388
+ int quality; // Connection quality (0-100)
389
+ uint32_t messagesRx; // Messages received
390
+ uint32_t messagesTx; // Messages sent
391
+ uint32_t messagesDropped; // Failed transmissions
392
+ };
393
+
394
+ /**
395
+ * Get detailed connection information for all direct neighbors
396
+ */
397
+ std::vector<ConnectionInfo> getConnectionDetails() {
398
+ std::vector<ConnectionInfo> connections;
399
+
400
+ for (auto conn : this->subs) {
401
+ if (conn->connected()) {
402
+ ConnectionInfo info;
403
+ info.nodeId = conn->nodeId;
404
+ info.lastSeen = conn->timeLastReceived;
405
+ info.rssi = conn->getRSSI();
406
+ info.avgLatency = conn->getLatency();
407
+ info.hopCount = 1; // Direct connection
408
+ info.quality = conn->getQuality();
409
+ info.messagesRx = conn->messagesRx;
410
+ info.messagesTx = conn->messagesTx;
411
+ info.messagesDropped = conn->messagesDropped;
412
+
413
+ connections.push_back(info);
414
+ }
415
+ }
416
+
417
+ return connections;
418
+ }
419
+
420
+ /**
421
+ * Get hop count to specific node
422
+ * Returns -1 if node is unreachable
423
+ */
424
+ int getHopCount(uint32_t nodeId) {
425
+ // Check if it's a direct connection (1 hop)
426
+ for (auto conn : this->subs) {
427
+ if (conn->nodeId == nodeId && conn->connected()) {
428
+ return 1;
429
+ }
430
+ }
431
+
432
+ // For indirect connections, traverse the node tree
433
+ auto tree = this->asNodeTree();
434
+ // Simple BFS to find hop count
435
+ // For now, return 2 for any node in the mesh but not directly connected
436
+ auto nodeList = this->getNodeList(false);
437
+ for (auto node : nodeList) {
438
+ if (node == nodeId) {
439
+ return 2; // TODO: Implement proper hop count calculation
440
+ }
441
+ }
442
+
443
+ return -1; // Node not found
444
+ }
445
+
446
+ /**
447
+ * Get routing table as map (destination -> next hop)
448
+ */
449
+ std::map<uint32_t, uint32_t> getRoutingTable() {
450
+ std::map<uint32_t, uint32_t> table;
451
+ auto nodeList = this->getNodeList(false);
452
+
453
+ // For each destination, find the next hop
454
+ for (auto destNode : nodeList) {
455
+ // Check direct connections first
456
+ for (auto conn : this->subs) {
457
+ if (conn->nodeId == destNode && conn->connected()) {
458
+ table[destNode] = destNode; // Direct connection
459
+ break;
460
+ }
461
+ }
462
+
463
+ // TODO: Implement proper routing table lookup for multi-hop paths
464
+ // For now, just mark direct connections
465
+ }
466
+
467
+ return table;
468
+ }
469
+
470
+ inline std::shared_ptr<Task> addTask(unsigned long aInterval,
471
+ long aIterations,
472
+ std::function<void()> aCallback) {
473
+ return plugin::PackageHandler<T>::addTask((*this->mScheduler), aInterval,
474
+ aIterations, aCallback);
475
+ }
476
+
477
+ inline std::shared_ptr<Task> addTask(std::function<void()> aCallback) {
478
+ return plugin::PackageHandler<T>::addTask((*this->mScheduler), aCallback);
479
+ }
480
+
481
+ ~Mesh() {
482
+ this->stop();
483
+ if (!isExternalScheduler) delete mScheduler;
484
+ }
485
+
486
+ protected:
487
+ void setScheduler(Scheduler *baseScheduler) {
488
+ this->mScheduler = baseScheduler;
489
+ isExternalScheduler = true;
490
+ }
491
+
492
+ void startTimeSync(std::shared_ptr<T> conn) {
493
+ using namespace logger;
494
+ Log(S_TIME, "startTimeSync(): from %u with %u\n", this->nodeId,
495
+ conn->nodeId);
496
+ painlessmesh::protocol::TimeSync timeSync;
497
+ if (ntp::adopt(this->asNodeTree(), (*conn))) {
498
+ timeSync = painlessmesh::protocol::TimeSync(this->nodeId, conn->nodeId,
499
+ this->getNodeTime());
500
+ Log(S_TIME, "startTimeSync(): Requesting time from %u\n", conn->nodeId);
501
+ } else {
502
+ timeSync = painlessmesh::protocol::TimeSync(this->nodeId, conn->nodeId);
503
+ Log(S_TIME, "startTimeSync(): Requesting %u to adopt our time\n",
504
+ conn->nodeId);
505
+ }
506
+ router::send<protocol::TimeSync, T>(timeSync, conn, true);
507
+ }
508
+
509
+ bool closeConnectionSTA() {
510
+ auto connection = this->subs.begin();
511
+ while (connection != this->subs.end()) {
512
+ if ((*connection)->station) {
513
+ // We found the STA connection, close it
514
+ (*connection)->close();
515
+ return true;
516
+ }
517
+ ++connection;
518
+ }
519
+ return false;
520
+ }
521
+
522
+ void eraseClosedConnections() {
523
+ using namespace logger;
524
+ Log(CONNECTION, "eraseClosedConnections():\n");
525
+ this->subs.remove_if(
526
+ [](const std::shared_ptr<T> &conn) { return !conn->connected(); });
527
+ }
528
+
529
+ // Callback functions
530
+ callback::List<uint32_t> newConnectionCallbacks;
531
+ callback::List<uint32_t, bool> droppedConnectionCallbacks;
532
+ callback::List<uint32_t> changedConnectionCallbacks;
533
+ nodeTimeAdjustedCallback_t nodeTimeAdjustedCallback;
534
+ nodeDelayCallback_t nodeDelayReceivedCallback;
535
+ #ifdef ESP32
536
+ SemaphoreHandle_t xSemaphore = NULL;
537
+ #endif
538
+
539
+ bool isExternalScheduler = false;
540
+
541
+ /// Is the node a root node
542
+ bool shouldContainRoot;
543
+
544
+ Scheduler *mScheduler;
545
+
546
+ /**
547
+ * Wrapper function for ESP32 semaphore function
548
+ *
549
+ * Waits for the semaphore to be available and then returns true
550
+ *
551
+ * Always return true on ESP8266
552
+ */
553
+ bool semaphoreTake() {
554
+ #ifdef ESP32
555
+ return xSemaphoreTake(xSemaphore, (TickType_t)100) == pdTRUE; // Was 10
556
+ #else
557
+ return true;
558
+ #endif
559
+ }
560
+
561
+ /**
562
+ * Wrapper function for ESP32 semaphore give function
563
+ *
564
+ * Does nothing on ESP8266 hardware
565
+ */
566
+ void semaphoreGive() {
567
+ #ifdef ESP32
568
+ xSemaphoreGive(xSemaphore);
569
+ #endif
570
+ }
571
+
572
+ friend T;
573
+ friend void onDataCb(void *, AsyncClient *, void *, size_t);
574
+ friend void tcpSentCb(void *, AsyncClient *, size_t, uint32_t);
575
+ friend void meshRecvCb(void *, AsyncClient *, void *, size_t);
576
+ friend void painlessmesh::ntp::handleTimeSync<Mesh, T>(
577
+ Mesh &, painlessmesh::protocol::TimeSync, std::shared_ptr<T>, uint32_t);
578
+ friend void painlessmesh::ntp::handleTimeDelay<Mesh, T>(
579
+ Mesh &, painlessmesh::protocol::TimeDelay, std::shared_ptr<T>, uint32_t);
580
+ friend void painlessmesh::router::handleNodeSync<Mesh, T>(
581
+ Mesh &, protocol::NodeTree, std::shared_ptr<T> conn);
582
+ friend void painlessmesh::tcp::initServer<T, Mesh>(AsyncServer &, Mesh &);
583
+ friend void painlessmesh::tcp::connect<T, Mesh>(AsyncClient &, IPAddress,
584
+ uint16_t, Mesh &);
585
+ };
586
+
587
+ class Connection : public painlessmesh::layout::Neighbour,
588
+ public painlessmesh::tcp::BufferedConnection {
589
+ public:
590
+ Mesh<Connection> *mesh;
591
+ bool station = true;
592
+ bool newConnection = true;
593
+
594
+ Task timeSyncTask;
595
+ Task nodeSyncTask;
596
+ Task timeOutTask;
597
+
598
+ // Connection metrics tracking
599
+ uint32_t messagesRx = 0;
600
+ uint32_t messagesTx = 0;
601
+ uint32_t messagesDropped = 0;
602
+ uint32_t timeLastReceived = 0;
603
+
604
+ // Latency tracking (rolling window)
605
+ std::vector<uint32_t> latencySamples;
606
+ static const size_t MAX_LATENCY_SAMPLES = 10;
607
+
608
+ Connection(AsyncClient *client, Mesh<painlessmesh::Connection> *mesh,
609
+ bool station)
610
+ : painlessmesh::tcp::BufferedConnection(client),
611
+ mesh(mesh),
612
+ station(station) {}
613
+
614
+ void initTasks() {
615
+ auto self = this->shared_from_this();
616
+ auto mesh = this->mesh;
617
+ this->onReceive([self](const TSTRING &str) {
618
+ auto variant = painlessmesh::protocol::Variant(str);
619
+
620
+ router::routePackage<painlessmesh::Connection>(
621
+ (*self->mesh), self->shared_from_this(), str,
622
+ self->mesh->callbackList, self->mesh->getNodeTime());
623
+ });
624
+
625
+ this->onDisconnect([mesh, self]() {
626
+ Log.remote("id:%u AsyncClient disconnect\n", self->nodeId);
627
+ self->timeSyncTask.setCallback(NULL);
628
+ self->timeSyncTask.disable();
629
+ self->nodeSyncTask.setCallback(NULL);
630
+ self->nodeSyncTask.disable();
631
+ self->timeOutTask.setCallback(NULL);
632
+ self->timeOutTask.disable();
633
+ auto nodeId = self->nodeId;
634
+ auto station = self->station;
635
+ mesh->addTask([mesh, nodeId, station]() {
636
+ mesh->changedConnectionCallbacks.execute(nodeId);
637
+ mesh->droppedConnectionCallbacks.execute(nodeId, station);
638
+ });
639
+ self->clear();
640
+ });
641
+
642
+ using namespace logger;
643
+
644
+ timeOutTask.set(NODE_TIMEOUT, TASK_ONCE, [self]() {
645
+ Log(CONNECTION, "Time out reached\n");
646
+ Log.remote("id:%u TimeOut\n", self->nodeId);
647
+ self->close();
648
+ });
649
+ mesh->mScheduler->addTask(timeOutTask);
650
+
651
+ this->nodeSyncTask.set(TASK_MINUTE, TASK_FOREVER, [self]() {
652
+ Log(SYNC, "nodeSyncTask(): request with %u\n", self->nodeId);
653
+ router::send<protocol::NodeSyncRequest, Connection>(
654
+ self->request(self->mesh->asNodeTree()), self);
655
+ self->timeOutTask.disable();
656
+ self->timeOutTask.restartDelayed();
657
+ });
658
+
659
+ mesh->mScheduler->addTask(this->nodeSyncTask);
660
+ if (station)
661
+ this->nodeSyncTask.enable();
662
+ else
663
+ this->nodeSyncTask.enableDelayed(10 * TASK_SECOND);
664
+
665
+ Log(CONNECTION, "painlessmesh::Connection: New connection established.\n");
666
+ this->initialize(mesh->mScheduler);
667
+ }
668
+
669
+ bool addMessage(const TSTRING &msg, bool priority = false) {
670
+ return this->write(msg, priority);
671
+ }
672
+
673
+ /**
674
+ * Record message received timestamp
675
+ */
676
+ void onMessageReceived() {
677
+ messagesRx++;
678
+ timeLastReceived = millis();
679
+ }
680
+
681
+ /**
682
+ * Record message sent
683
+ */
684
+ void onMessageSent(bool success) {
685
+ if (success) {
686
+ messagesTx++;
687
+ } else {
688
+ messagesDropped++;
689
+ }
690
+ }
691
+
692
+ /**
693
+ * Record round-trip time sample
694
+ */
695
+ void recordLatency(uint32_t latencyMs) {
696
+ latencySamples.push_back(latencyMs);
697
+ if (latencySamples.size() > MAX_LATENCY_SAMPLES) {
698
+ latencySamples.erase(latencySamples.begin());
699
+ }
700
+ }
701
+
702
+ /**
703
+ * Get average latency from recent samples
704
+ * Returns -1 if no samples available
705
+ */
706
+ int getLatency() {
707
+ if (latencySamples.empty()) return -1;
708
+
709
+ uint32_t sum = 0;
710
+ for (auto sample : latencySamples) {
711
+ sum += sample;
712
+ }
713
+ return sum / latencySamples.size();
714
+ }
715
+
716
+ /**
717
+ * Calculate connection quality (0-100)
718
+ * Based on: latency, packet loss, RSSI
719
+ */
720
+ int getQuality() {
721
+ // Start with perfect quality
722
+ int quality = 100;
723
+
724
+ // Penalize high latency (>100ms)
725
+ int latency = getLatency();
726
+ if (latency > 100) {
727
+ quality -= (latency - 100) / 5;
728
+ }
729
+
730
+ // Penalize packet loss
731
+ if (messagesTx > 0) {
732
+ int lossRate = (messagesDropped * 100) / messagesTx;
733
+ quality -= lossRate;
734
+ }
735
+
736
+ // Penalize weak RSSI (if available)
737
+ int rssi = getRSSI();
738
+ if (rssi < -80 && rssi != 0) {
739
+ quality -= (80 + rssi); // e.g., -90 dBm = penalty of 10
740
+ }
741
+
742
+ return std::max(0, std::min(100, quality));
743
+ }
744
+
745
+ /**
746
+ * Get WiFi RSSI if available
747
+ * Returns RSSI in dBm (typically -30 to -90) or 0 if not available
748
+ */
749
+ int getRSSI() {
750
+ #if defined(ESP32)
751
+ // On ESP32, get WiFi RSSI
752
+ if (WiFi.status() == WL_CONNECTED) {
753
+ return WiFi.RSSI();
754
+ }
755
+ return 0;
756
+ #elif defined(ESP8266)
757
+ // On ESP8266, get WiFi RSSI
758
+ if (WiFi.status() == WL_CONNECTED) {
759
+ return WiFi.RSSI();
760
+ }
761
+ return 0;
762
+ #else
763
+ // Not available on non-WiFi platforms
764
+ return 0;
765
+ #endif
766
+ }
767
+
768
+ protected:
769
+ std::shared_ptr<Connection> shared_from_this() { return shared_from(this); }
770
+ };
771
+ }; // namespace painlessmesh
772
+ #endif