@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
@@ -0,0 +1,1612 @@
1
+ // SPDX-License-Identifier: LGPL-3.0-or-later
2
+ // Copyright 2016-2025 Hristo Gochkov, Mathieu Carbou, Emil Muratov
3
+
4
+ #include "AsyncTCP.h"
5
+ #include "AsyncTCPLogging.h"
6
+ #include "AsyncTCPSimpleIntrusiveList.h"
7
+
8
+ /**
9
+ * LibreTiny specific configurations
10
+ */
11
+ #if defined(LIBRETINY)
12
+ #include <Arduino.h>
13
+ // LibreTiny does not support IDF - disable code that expects it to be available
14
+ #define ESP_IDF_VERSION_MAJOR (0)
15
+ // xTaskCreatePinnedToCore is not available, force single-core operation
16
+ #define CONFIG_FREERTOS_UNICORE 1
17
+ // ESP watchdog is not available
18
+ #undef CONFIG_ASYNC_TCP_USE_WDT
19
+ #define CONFIG_ASYNC_TCP_USE_WDT 0
20
+ #endif // LIBRETINY
21
+
22
+ /**
23
+ * Arduino specific configurations
24
+ */
25
+ #if defined(ARDUINO) && !defined(LIBRETINY)
26
+ #include <Arduino.h>
27
+ #include <esp_idf_version.h>
28
+ #if (ESP_IDF_VERSION_MAJOR >= 5)
29
+ #include <NetworkInterface.h>
30
+ #endif // ESP_IDF_VERSION_MAJOR
31
+ #endif // ARDUINO
32
+
33
+ /**
34
+ * ESP-IDF specific configurations
35
+ */
36
+ #if !defined(LIBRETINY) && !defined(ARDUINO)
37
+ #include "esp_timer.h"
38
+ static unsigned long millis() {
39
+ return (unsigned long)(esp_timer_get_time() / 1000ULL);
40
+ }
41
+ #endif // !LIBRETINY && !ARDUINO
42
+
43
+ extern "C" {
44
+ #include "lwip/dns.h"
45
+ #include "lwip/err.h"
46
+ #include "lwip/inet.h"
47
+ #include "lwip/opt.h"
48
+ #include "lwip/tcp.h"
49
+ #include "lwip/tcpip.h"
50
+ }
51
+
52
+ #if CONFIG_ASYNC_TCP_USE_WDT
53
+ #include "esp_task_wdt.h"
54
+ #endif
55
+
56
+ // Required for:
57
+ // https://github.com/espressif/arduino-esp32/blob/3.0.3/libraries/Network/src/NetworkInterface.cpp#L37-L47
58
+
59
+ #if CONFIG_ASYNC_TCP_USE_WDT
60
+ #include "esp_task_wdt.h"
61
+ #define ASYNC_TCP_MAX_TASK_SLEEP (pdMS_TO_TICKS(1000 * CONFIG_ESP_TASK_WDT_TIMEOUT_S) / 4)
62
+ #else
63
+ #define ASYNC_TCP_MAX_TASK_SLEEP portMAX_DELAY
64
+ #endif
65
+
66
+ // https://github.com/espressif/arduino-esp32/issues/10526
67
+ namespace {
68
+ #ifdef CONFIG_LWIP_TCPIP_CORE_LOCKING
69
+ struct tcp_core_guard {
70
+ bool do_lock;
71
+ inline tcp_core_guard() : do_lock(!sys_thread_tcpip(LWIP_CORE_LOCK_QUERY_HOLDER)) {
72
+ if (do_lock) {
73
+ LOCK_TCPIP_CORE();
74
+ }
75
+ }
76
+ inline ~tcp_core_guard() {
77
+ if (do_lock) {
78
+ UNLOCK_TCPIP_CORE();
79
+ }
80
+ }
81
+ tcp_core_guard(const tcp_core_guard &) = delete;
82
+ tcp_core_guard(tcp_core_guard &&) = delete;
83
+ tcp_core_guard &operator=(const tcp_core_guard &) = delete;
84
+ tcp_core_guard &operator=(tcp_core_guard &&) = delete;
85
+ } __attribute__((unused));
86
+ #else // CONFIG_LWIP_TCPIP_CORE_LOCKING
87
+ struct tcp_core_guard {
88
+ } __attribute__((unused));
89
+ #endif // CONFIG_LWIP_TCPIP_CORE_LOCKING
90
+ } // anonymous namespace
91
+
92
+ #define INVALID_CLOSED_SLOT -1
93
+
94
+ /*
95
+ TCP poll interval is specified in terms of the TCP coarse timer interval, which is called twice a second
96
+ https://github.com/espressif/esp-lwip/blob/2acf959a2bb559313cd2bf9306c24612ba3d0e19/src/core/tcp.c#L1895
97
+ */
98
+ #define CONFIG_ASYNC_TCP_POLL_TIMER 1
99
+
100
+ /*
101
+ * TCP/IP Event Task
102
+ * */
103
+
104
+ typedef enum {
105
+ LWIP_TCP_SENT,
106
+ LWIP_TCP_RECV,
107
+ LWIP_TCP_FIN,
108
+ LWIP_TCP_ERROR,
109
+ LWIP_TCP_POLL,
110
+ LWIP_TCP_ACCEPT,
111
+ LWIP_TCP_CONNECTED,
112
+ LWIP_TCP_DNS
113
+ } lwip_tcp_event_t;
114
+
115
+ struct lwip_tcp_event_packet_t {
116
+ lwip_tcp_event_packet_t *next;
117
+ lwip_tcp_event_t event;
118
+ AsyncClient *client;
119
+ union {
120
+ struct {
121
+ tcp_pcb *pcb;
122
+ int8_t err;
123
+ } connected;
124
+ struct {
125
+ int8_t err;
126
+ } error;
127
+ struct {
128
+ tcp_pcb *pcb;
129
+ uint16_t len;
130
+ } sent;
131
+ struct {
132
+ tcp_pcb *pcb;
133
+ pbuf *pb;
134
+ int8_t err;
135
+ } recv;
136
+ struct {
137
+ tcp_pcb *pcb;
138
+ int8_t err;
139
+ } fin;
140
+ struct {
141
+ tcp_pcb *pcb;
142
+ } poll;
143
+ struct {
144
+ AsyncServer *server;
145
+ } accept;
146
+ struct {
147
+ const char *name;
148
+ ip_addr_t addr;
149
+ } dns;
150
+ };
151
+
152
+ inline lwip_tcp_event_packet_t(lwip_tcp_event_t _event, AsyncClient *_client) : next(nullptr), event(_event), client(_client){};
153
+ };
154
+
155
+ // Detail class for interacting with AsyncClient internals, but without exposing the API
156
+ class AsyncTCP_detail {
157
+ public:
158
+ // Helper functions
159
+ static void __attribute__((visibility("internal"))) handle_async_event(lwip_tcp_event_packet_t *event);
160
+
161
+ // LwIP TCP event callbacks that (will) require privileged access
162
+ static int8_t __attribute__((visibility("internal"))) tcp_recv(void *arg, struct tcp_pcb *pcb, struct pbuf *pb, int8_t err);
163
+ static int8_t __attribute__((visibility("internal"))) tcp_sent(void *arg, struct tcp_pcb *pcb, uint16_t len);
164
+ static void __attribute__((visibility("internal"))) tcp_error(void *arg, int8_t err);
165
+ static int8_t __attribute__((visibility("internal"))) tcp_poll(void *arg, struct tcp_pcb *pcb);
166
+ static int8_t __attribute__((visibility("internal"))) tcp_accept(void *arg, tcp_pcb *pcb, int8_t err);
167
+ };
168
+
169
+ // Guard class for the global queue
170
+ namespace {
171
+
172
+ static SemaphoreHandle_t _async_queue_mutex = nullptr;
173
+
174
+ class queue_mutex_guard {
175
+ bool holds_mutex;
176
+
177
+ public:
178
+ inline queue_mutex_guard() : holds_mutex(xSemaphoreTake(_async_queue_mutex, portMAX_DELAY)){};
179
+ inline ~queue_mutex_guard() {
180
+ if (holds_mutex) {
181
+ xSemaphoreGive(_async_queue_mutex);
182
+ }
183
+ };
184
+ inline explicit operator bool() const {
185
+ return holds_mutex;
186
+ };
187
+ };
188
+ } // anonymous namespace
189
+
190
+ static SimpleIntrusiveList<lwip_tcp_event_packet_t> _async_queue;
191
+ static TaskHandle_t _async_service_task_handle = NULL;
192
+
193
+ static uint32_t _xor_shift_state = 31; // any nonzero seed will do
194
+ static uint32_t _xor_shift_next() {
195
+ uint32_t x = _xor_shift_state;
196
+ x ^= x << 13;
197
+ x ^= x >> 17;
198
+ x ^= x << 5;
199
+ return _xor_shift_state = x;
200
+ }
201
+
202
+ static void _free_event(lwip_tcp_event_packet_t *evpkt) {
203
+ if ((evpkt->event == LWIP_TCP_RECV) && (evpkt->recv.pb != nullptr)) {
204
+ pbuf_free(evpkt->recv.pb);
205
+ }
206
+ delete evpkt;
207
+ }
208
+
209
+ static inline void _send_async_event(lwip_tcp_event_packet_t *e) {
210
+ if (e == nullptr) {
211
+ return;
212
+ }
213
+ _async_queue.push_back(e);
214
+ xTaskNotifyGive(_async_service_task_handle);
215
+ }
216
+
217
+ static inline void _prepend_async_event(lwip_tcp_event_packet_t *e) {
218
+ if (e == nullptr) {
219
+ return;
220
+ }
221
+ _async_queue.push_front(e);
222
+ xTaskNotifyGive(_async_service_task_handle);
223
+ }
224
+
225
+ static inline lwip_tcp_event_packet_t *_get_async_event() {
226
+ queue_mutex_guard guard;
227
+ while (1) {
228
+ lwip_tcp_event_packet_t *e = _async_queue.pop_front();
229
+
230
+ if ((!e) || (e->event != LWIP_TCP_POLL)) {
231
+ return e;
232
+ }
233
+
234
+ /*
235
+ Let's try to coalesce two (or more) consecutive poll events into one
236
+ this usually happens with poor implemented user-callbacks that are runs too long and makes poll events to stack in the queue
237
+ if consecutive user callback for a same connection runs longer that poll time then it will fill the queue with events until it deadlocks.
238
+ This is a workaround to mitigate such poor designs and won't let other events/connections to starve the task time.
239
+ It won't be effective if user would run multiple simultaneous long running callbacks due to message interleaving.
240
+ todo: implement some kind of fair dequeuing or (better) simply punish user for a bad designed callbacks by resetting hog connections
241
+ */
242
+ for (lwip_tcp_event_packet_t *next_pkt = _async_queue.begin(); next_pkt && (next_pkt->client == e->client) && (next_pkt->event == LWIP_TCP_POLL);
243
+ next_pkt = _async_queue.begin()) {
244
+ // if the next event that will come is a poll event for the same connection, we can discard it and continue
245
+ _free_event(_async_queue.pop_front());
246
+ async_tcp_log_d("coalescing polls, network congestion or async callbacks might be too slow!");
247
+ }
248
+
249
+ /*
250
+ now we have to decide if to proceed with poll callback handler or discard it?
251
+ poor designed apps using asynctcp without proper dataflow control could flood the queue with interleaved pool/ack events.
252
+ I.e. on each poll app would try to generate more data to send, which in turn results in additional ack event triggering chain effect
253
+ for long connections. Or poll callback could take long time starving other connections. Anyway our goal is to keep the queue length
254
+ grows under control (if possible) and poll events are the safest to discard.
255
+ Let's discard poll events processing using linear-increasing probability curve when queue size grows over 3/4
256
+ Poll events are periodic and connection could get another chance next time
257
+ */
258
+ if (_async_queue.size() > (_xor_shift_next() % CONFIG_ASYNC_TCP_QUEUE_SIZE / 4 + CONFIG_ASYNC_TCP_QUEUE_SIZE * 3 / 4)) {
259
+ _free_event(e);
260
+ async_tcp_log_d("discarding poll due to queue congestion");
261
+ continue;
262
+ }
263
+
264
+ return e;
265
+ }
266
+ }
267
+
268
+ static size_t _remove_events_for_client(AsyncClient *client) {
269
+ lwip_tcp_event_packet_t *removed_event_chain;
270
+ {
271
+ queue_mutex_guard guard;
272
+ removed_event_chain = _async_queue.remove_if([=](lwip_tcp_event_packet_t &pkt) {
273
+ return pkt.client == client;
274
+ });
275
+ }
276
+
277
+ size_t count = 0;
278
+ while (removed_event_chain) {
279
+ ++count;
280
+ auto t = removed_event_chain;
281
+ removed_event_chain = t->next;
282
+ _free_event(t);
283
+ }
284
+ return count;
285
+ };
286
+
287
+ void AsyncTCP_detail::handle_async_event(lwip_tcp_event_packet_t *e) {
288
+ if (e->client == NULL) {
289
+ // do nothing when arg is NULL
290
+ // ets_printf("event arg == NULL: 0x%08x\n", e->recv.pcb);
291
+ } else if (e->event == LWIP_TCP_RECV) {
292
+ // ets_printf("-R: 0x%08x\n", e->recv.pcb);
293
+ e->client->_recv(e->recv.pcb, e->recv.pb, e->recv.err);
294
+ e->recv.pb = nullptr; // given to client
295
+ } else if (e->event == LWIP_TCP_FIN) {
296
+ // ets_printf("-F: 0x%08x\n", e->fin.pcb);
297
+ e->client->_fin(e->fin.pcb, e->fin.err);
298
+ } else if (e->event == LWIP_TCP_SENT) {
299
+ // ets_printf("-S: 0x%08x\n", e->sent.pcb);
300
+ e->client->_sent(e->sent.pcb, e->sent.len);
301
+ } else if (e->event == LWIP_TCP_POLL) {
302
+ // ets_printf("-P: 0x%08x\n", e->poll.pcb);
303
+ e->client->_poll(e->poll.pcb);
304
+ } else if (e->event == LWIP_TCP_ERROR) {
305
+ // ets_printf("-E: 0x%08x %d\n", e->client, e->error.err);
306
+ e->client->_error(e->error.err);
307
+ } else if (e->event == LWIP_TCP_CONNECTED) {
308
+ // ets_printf("C: 0x%08x 0x%08x %d\n", e->client, e->connected.pcb, e->connected.err);
309
+ e->client->_connected(e->connected.pcb, e->connected.err);
310
+ } else if (e->event == LWIP_TCP_ACCEPT) {
311
+ // ets_printf("A: 0x%08x 0x%08x\n", e->client, e->accept.client);
312
+ e->accept.server->_accepted(e->client);
313
+ } else if (e->event == LWIP_TCP_DNS) {
314
+ // ets_printf("D: 0x%08x %s = %s\n", e->client, e->dns.name, ipaddr_ntoa(&e->dns.addr));
315
+ e->client->_dns_found(&e->dns.addr);
316
+ }
317
+ _free_event(e);
318
+ }
319
+
320
+ static void _async_service_task(void *pvParameters) {
321
+ #if CONFIG_ASYNC_TCP_USE_WDT
322
+ if (esp_task_wdt_add(NULL) != ESP_OK) {
323
+ async_tcp_log_w("Failed to add async task to WDT");
324
+ }
325
+ #endif
326
+ for (;;) {
327
+ while (auto packet = _get_async_event()) {
328
+ AsyncTCP_detail::handle_async_event(packet);
329
+ #if CONFIG_ASYNC_TCP_USE_WDT
330
+ esp_task_wdt_reset();
331
+ #endif
332
+ }
333
+ // queue is empty
334
+ // DEBUG_PRINTF("Async task waiting 0x%08",(intptr_t)_async_queue_head);
335
+ ulTaskNotifyTake(pdTRUE, ASYNC_TCP_MAX_TASK_SLEEP);
336
+ // DEBUG_PRINTF("Async task woke = %d 0x%08x",q, (intptr_t)_async_queue_head);
337
+ #if CONFIG_ASYNC_TCP_USE_WDT
338
+ esp_task_wdt_reset();
339
+ #endif
340
+ }
341
+ #if CONFIG_ASYNC_TCP_USE_WDT
342
+ esp_task_wdt_delete(NULL);
343
+ #endif
344
+ vTaskDelete(NULL);
345
+ _async_service_task_handle = NULL;
346
+ }
347
+
348
+ /*
349
+ static void _stop_async_task(){
350
+ if(_async_service_task_handle){
351
+ vTaskDelete(_async_service_task_handle);
352
+ _async_service_task_handle = NULL;
353
+ }
354
+ }
355
+ */
356
+
357
+ static bool customTaskCreateUniversal(
358
+ TaskFunction_t pxTaskCode, const char *const pcName, const uint32_t usStackDepth, void *const pvParameters, UBaseType_t uxPriority,
359
+ TaskHandle_t *const pxCreatedTask, const BaseType_t xCoreID
360
+ ) {
361
+ #ifndef CONFIG_FREERTOS_UNICORE
362
+ if (xCoreID >= 0 && xCoreID < 2) {
363
+ return xTaskCreatePinnedToCore(pxTaskCode, pcName, usStackDepth, pvParameters, uxPriority, pxCreatedTask, xCoreID);
364
+ } else {
365
+ #endif
366
+ return xTaskCreate(pxTaskCode, pcName, usStackDepth, pvParameters, uxPriority, pxCreatedTask);
367
+ #ifndef CONFIG_FREERTOS_UNICORE
368
+ }
369
+ #endif
370
+ }
371
+
372
+ static bool _start_async_task() {
373
+ if (!_async_queue_mutex) {
374
+ _async_queue_mutex = xSemaphoreCreateMutex();
375
+ if (!_async_queue_mutex) {
376
+ return false;
377
+ }
378
+ }
379
+
380
+ if (!_async_service_task_handle) {
381
+ customTaskCreateUniversal(
382
+ _async_service_task, "async_tcp", CONFIG_ASYNC_TCP_STACK_SIZE, NULL, CONFIG_ASYNC_TCP_PRIORITY, &_async_service_task_handle, CONFIG_ASYNC_TCP_RUNNING_CORE
383
+ );
384
+ if (!_async_service_task_handle) {
385
+ return false;
386
+ }
387
+ }
388
+ return true;
389
+ }
390
+
391
+ /*
392
+ * LwIP Callbacks
393
+ * */
394
+
395
+ static void _bind_tcp_callbacks(tcp_pcb *pcb, AsyncClient *client) {
396
+ tcp_arg(pcb, client);
397
+ tcp_recv(pcb, &AsyncTCP_detail::tcp_recv);
398
+ tcp_sent(pcb, &AsyncTCP_detail::tcp_sent);
399
+ tcp_err(pcb, &AsyncTCP_detail::tcp_error);
400
+ tcp_poll(pcb, &AsyncTCP_detail::tcp_poll, CONFIG_ASYNC_TCP_POLL_TIMER);
401
+ }
402
+
403
+ static void _reset_tcp_callbacks(tcp_pcb *pcb, AsyncClient *client) {
404
+ tcp_arg(pcb, NULL);
405
+ tcp_sent(pcb, NULL);
406
+ tcp_recv(pcb, NULL);
407
+ tcp_err(pcb, NULL);
408
+ tcp_poll(pcb, NULL, 0);
409
+ if (client) {
410
+ _remove_events_for_client(client);
411
+ }
412
+ }
413
+
414
+ static int8_t _tcp_connected(void *arg, tcp_pcb *pcb, int8_t err) {
415
+ // ets_printf("+C: 0x%08x\n", pcb);
416
+ AsyncClient *client = reinterpret_cast<AsyncClient *>(arg);
417
+ lwip_tcp_event_packet_t *e = new (std::nothrow) lwip_tcp_event_packet_t{LWIP_TCP_CONNECTED, client};
418
+ if (!e) {
419
+ async_tcp_log_e("Failed to allocate event packet");
420
+ return ERR_MEM;
421
+ }
422
+ e->connected.pcb = pcb;
423
+ e->connected.err = err;
424
+ queue_mutex_guard guard;
425
+ _send_async_event(e);
426
+ return ERR_OK;
427
+ }
428
+
429
+ int8_t AsyncTCP_detail::tcp_poll(void *arg, struct tcp_pcb *pcb) {
430
+ // throttle polling events queueing when event queue is getting filled up, let it handle _onack's
431
+ {
432
+ queue_mutex_guard guard;
433
+ // async_tcp_log_d("qs:%u", _async_queue.size());
434
+ if (_async_queue.size() > (_xor_shift_next() % CONFIG_ASYNC_TCP_QUEUE_SIZE / 2 + CONFIG_ASYNC_TCP_QUEUE_SIZE / 4)) {
435
+ async_tcp_log_d("throttling");
436
+ return ERR_OK;
437
+ }
438
+ }
439
+
440
+ // ets_printf("+P: 0x%08x\n", pcb);
441
+ AsyncClient *client = reinterpret_cast<AsyncClient *>(arg);
442
+ lwip_tcp_event_packet_t *e = new (std::nothrow) lwip_tcp_event_packet_t{LWIP_TCP_POLL, client};
443
+ if (!e) {
444
+ async_tcp_log_e("Failed to allocate event packet");
445
+ return ERR_MEM;
446
+ }
447
+ e->poll.pcb = pcb;
448
+
449
+ queue_mutex_guard guard;
450
+ _send_async_event(e);
451
+ return ERR_OK;
452
+ }
453
+
454
+ int8_t AsyncTCP_detail::tcp_recv(void *arg, struct tcp_pcb *pcb, struct pbuf *pb, int8_t err) {
455
+ AsyncClient *client = reinterpret_cast<AsyncClient *>(arg);
456
+ lwip_tcp_event_packet_t *e = new (std::nothrow) lwip_tcp_event_packet_t{LWIP_TCP_RECV, client};
457
+ if (!e) {
458
+ async_tcp_log_e("Failed to allocate event packet");
459
+ return ERR_MEM;
460
+ }
461
+ if (pb) {
462
+ // ets_printf("+R: 0x%08x\n", pcb);
463
+ e->recv.pcb = pcb;
464
+ e->recv.pb = pb;
465
+ e->recv.err = err;
466
+ } else {
467
+ // ets_printf("+F: 0x%08x\n", pcb);
468
+ e->event = LWIP_TCP_FIN;
469
+ e->fin.pcb = pcb;
470
+ e->fin.err = err;
471
+ // close the PCB in LwIP thread
472
+ client->_lwip_fin(e->fin.pcb, e->fin.err);
473
+ }
474
+
475
+ queue_mutex_guard guard;
476
+ _send_async_event(e);
477
+ return ERR_OK;
478
+ }
479
+
480
+ int8_t AsyncTCP_detail::tcp_sent(void *arg, struct tcp_pcb *pcb, uint16_t len) {
481
+ // ets_printf("+S: 0x%08x\n", pcb);
482
+ AsyncClient *client = reinterpret_cast<AsyncClient *>(arg);
483
+ lwip_tcp_event_packet_t *e = new (std::nothrow) lwip_tcp_event_packet_t{LWIP_TCP_SENT, client};
484
+ if (!e) {
485
+ async_tcp_log_e("Failed to allocate event packet");
486
+ return ERR_MEM;
487
+ }
488
+ e->sent.pcb = pcb;
489
+ e->sent.len = len;
490
+
491
+ queue_mutex_guard guard;
492
+ _send_async_event(e);
493
+ return ERR_OK;
494
+ }
495
+
496
+ void AsyncTCP_detail::tcp_error(void *arg, int8_t err) {
497
+ // ets_printf("+E: 0x%08x\n", arg);
498
+ AsyncClient *client = reinterpret_cast<AsyncClient *>(arg);
499
+ if (client && client->_pcb) {
500
+ // The pcb has already been freed by LwIP; do not attempt to clear the callbacks!
501
+ _remove_events_for_client(client);
502
+ client->_pcb = nullptr;
503
+ }
504
+
505
+ // enqueue event to be processed in the async task for the user callback
506
+ lwip_tcp_event_packet_t *e = new (std::nothrow) lwip_tcp_event_packet_t{LWIP_TCP_ERROR, client};
507
+ if (!e) {
508
+ async_tcp_log_e("Failed to allocate event packet");
509
+ return;
510
+ }
511
+ e->error.err = err;
512
+
513
+ queue_mutex_guard guard;
514
+ _send_async_event(e);
515
+ }
516
+
517
+ static void _tcp_dns_found(const char *name, ip_addr_t *ipaddr, void *arg) {
518
+ // ets_printf("+DNS: name=%s ipaddr=0x%08x arg=%x\n", name, ipaddr, arg);
519
+ auto client = reinterpret_cast<AsyncClient *>(arg);
520
+
521
+ lwip_tcp_event_packet_t *e = new (std::nothrow) lwip_tcp_event_packet_t{LWIP_TCP_DNS, client};
522
+ if (!e) {
523
+ async_tcp_log_e("Failed to allocate event packet");
524
+ return;
525
+ }
526
+
527
+ e->dns.name = name;
528
+ if (ipaddr) {
529
+ memcpy(&e->dns.addr, ipaddr, sizeof(ip_addr_t));
530
+ } else {
531
+ memset(&e->dns.addr, 0, sizeof(e->dns.addr));
532
+ }
533
+
534
+ queue_mutex_guard guard;
535
+ _send_async_event(e);
536
+ }
537
+
538
+ /*
539
+ * TCP/IP API Calls
540
+ * */
541
+
542
+ #include "lwip/priv/tcpip_priv.h"
543
+
544
+ typedef struct {
545
+ struct tcpip_api_call_data call;
546
+ tcp_pcb **pcb;
547
+ int8_t err;
548
+ union {
549
+ AsyncClient *close;
550
+ struct {
551
+ const char *data;
552
+ size_t size;
553
+ uint8_t apiflags;
554
+ } write;
555
+ size_t received;
556
+ struct {
557
+ ip_addr_t *addr;
558
+ uint16_t port;
559
+ tcp_connected_fn cb;
560
+ } connect;
561
+ struct {
562
+ ip_addr_t *addr;
563
+ uint16_t port;
564
+ } bind;
565
+ uint8_t backlog;
566
+ };
567
+ } tcp_api_call_t;
568
+
569
+ static err_t _tcp_output_api(struct tcpip_api_call_data *api_call_msg) {
570
+ tcp_api_call_t *msg = (tcp_api_call_t *)api_call_msg;
571
+ msg->err = ERR_CONN;
572
+ if (*msg->pcb) {
573
+ msg->err = tcp_output(*msg->pcb);
574
+ }
575
+ return msg->err;
576
+ }
577
+
578
+ static esp_err_t _tcp_output(tcp_pcb **pcb) {
579
+ if (!pcb || !*pcb) {
580
+ return ERR_CONN;
581
+ }
582
+ tcp_api_call_t msg;
583
+ msg.pcb = pcb;
584
+ tcpip_api_call(_tcp_output_api, (struct tcpip_api_call_data *)&msg);
585
+ return msg.err;
586
+ }
587
+
588
+ static err_t _tcp_write_api(struct tcpip_api_call_data *api_call_msg) {
589
+ tcp_api_call_t *msg = (tcp_api_call_t *)api_call_msg;
590
+ msg->err = ERR_CONN;
591
+ if (*msg->pcb) {
592
+ msg->err = tcp_write(*msg->pcb, msg->write.data, msg->write.size, msg->write.apiflags);
593
+ }
594
+ return msg->err;
595
+ }
596
+
597
+ static esp_err_t _tcp_write(tcp_pcb **pcb, const char *data, size_t size, uint8_t apiflags) {
598
+ if (!pcb || !*pcb) {
599
+ return ERR_CONN;
600
+ }
601
+ tcp_api_call_t msg;
602
+ msg.pcb = pcb;
603
+ msg.write.data = data;
604
+ msg.write.size = size;
605
+ msg.write.apiflags = apiflags;
606
+ tcpip_api_call(_tcp_write_api, (struct tcpip_api_call_data *)&msg);
607
+ return msg.err;
608
+ }
609
+
610
+ static err_t _tcp_recved_api(struct tcpip_api_call_data *api_call_msg) {
611
+ tcp_api_call_t *msg = (tcp_api_call_t *)api_call_msg;
612
+ msg->err = ERR_CONN;
613
+ if (*msg->pcb) {
614
+ msg->err = 0;
615
+ tcp_recved(*msg->pcb, msg->received);
616
+ }
617
+ return msg->err;
618
+ }
619
+
620
+ static esp_err_t _tcp_recved(tcp_pcb **pcb, size_t len) {
621
+ if (!pcb || !*pcb) {
622
+ return ERR_CONN;
623
+ }
624
+ tcp_api_call_t msg;
625
+ msg.pcb = pcb;
626
+ msg.received = len;
627
+ tcpip_api_call(_tcp_recved_api, (struct tcpip_api_call_data *)&msg);
628
+ return msg.err;
629
+ }
630
+
631
+ static err_t _tcp_close_api(struct tcpip_api_call_data *api_call_msg) {
632
+ // Unlike the other calls, this is not a direct wrapper of the LwIP function;
633
+ // we perform the AsyncClient teardown interlocked safely with the LwIP task.
634
+
635
+ // As a postcondition, the queue must not have any events referencing
636
+ // the AsyncClient in api_call_msg->close. This is because it is possible for
637
+ // an error event to have been queued, clearing the pcb*, but after the async
638
+ // thread has committed to closing/destructing the AsyncClient object.
639
+
640
+ tcp_api_call_t *msg = (tcp_api_call_t *)api_call_msg;
641
+ msg->err = ERR_CONN;
642
+ if (*msg->pcb) {
643
+ tcp_pcb *pcb = *msg->pcb;
644
+ _reset_tcp_callbacks(pcb, msg->close);
645
+ if (tcp_close(pcb) != ERR_OK) {
646
+ // We do not permit failure here: abandon the pcb anyways.
647
+ tcp_abort(pcb);
648
+ }
649
+ msg->err = ERR_OK;
650
+ *msg->pcb = nullptr; // PCB is now the property of LwIP
651
+ } else {
652
+ // Ensure there is not an error event queued for this client
653
+ if (_remove_events_for_client(msg->close)) {
654
+ msg->err = ERR_OK; // dispose needs to be run
655
+ }
656
+ }
657
+ return msg->err;
658
+ }
659
+
660
+ static esp_err_t _tcp_close(tcp_pcb **pcb, AsyncClient *client) {
661
+ tcp_api_call_t msg;
662
+ msg.pcb = pcb;
663
+ msg.close = client;
664
+ tcpip_api_call(_tcp_close_api, (struct tcpip_api_call_data *)&msg);
665
+ return msg.err;
666
+ }
667
+
668
+ static err_t _tcp_abort_api(struct tcpip_api_call_data *api_call_msg) {
669
+ // Like close(), we must ensure that the queue is cleared
670
+ tcp_api_call_t *msg = (tcp_api_call_t *)api_call_msg;
671
+ if (*msg->pcb) {
672
+ tcp_abort(*msg->pcb);
673
+ *msg->pcb = nullptr; // PCB is now the property of LwIP
674
+ msg->err = ERR_ABRT;
675
+ } else {
676
+ msg->err = ERR_CONN;
677
+ }
678
+ return msg->err;
679
+ }
680
+
681
+ static esp_err_t _tcp_abort(tcp_pcb **pcb, AsyncClient *client) {
682
+ if (!pcb || !*pcb) {
683
+ return ERR_CONN;
684
+ }
685
+ tcp_api_call_t msg;
686
+ msg.pcb = pcb;
687
+ msg.close = client;
688
+ tcpip_api_call(_tcp_abort_api, (struct tcpip_api_call_data *)&msg);
689
+ return msg.err;
690
+ }
691
+
692
+ static err_t _tcp_connect_api(struct tcpip_api_call_data *api_call_msg) {
693
+ tcp_api_call_t *msg = (tcp_api_call_t *)api_call_msg;
694
+ msg->err = tcp_connect(*msg->pcb, msg->connect.addr, msg->connect.port, msg->connect.cb);
695
+ return msg->err;
696
+ }
697
+
698
+ static esp_err_t _tcp_connect(tcp_pcb *pcb, ip_addr_t *addr, uint16_t port, tcp_connected_fn cb) {
699
+ if (!pcb) {
700
+ return ESP_FAIL;
701
+ }
702
+ tcp_api_call_t msg;
703
+ msg.pcb = &pcb; // cannot be invalidated by LwIP at this point
704
+ msg.connect.addr = addr;
705
+ msg.connect.port = port;
706
+ msg.connect.cb = cb;
707
+ tcpip_api_call(_tcp_connect_api, (struct tcpip_api_call_data *)&msg);
708
+ return msg.err;
709
+ }
710
+
711
+ static err_t _tcp_bind_api(struct tcpip_api_call_data *api_call_msg) {
712
+ tcp_api_call_t *msg = (tcp_api_call_t *)api_call_msg;
713
+ tcp_pcb *pcb = *msg->pcb;
714
+ msg->err = tcp_bind(pcb, msg->bind.addr, msg->bind.port);
715
+ if (msg->err != ERR_OK) {
716
+ // Close the pcb on behalf of the server without an extra round-trip through the LwIP lock
717
+ if (tcp_close(pcb) != ERR_OK) {
718
+ tcp_abort(pcb);
719
+ }
720
+ *msg->pcb = nullptr; // PCB is now owned by LwIP
721
+ }
722
+ return msg->err;
723
+ }
724
+
725
+ static esp_err_t _tcp_bind(tcp_pcb **pcb, ip_addr_t *addr, uint16_t port) {
726
+ if (!pcb || !*pcb) {
727
+ return ESP_FAIL;
728
+ }
729
+ tcp_api_call_t msg;
730
+ msg.pcb = pcb;
731
+ msg.bind.addr = addr;
732
+ msg.bind.port = port;
733
+ tcpip_api_call(_tcp_bind_api, (struct tcpip_api_call_data *)&msg);
734
+ return msg.err;
735
+ }
736
+
737
+ static err_t _tcp_listen_api(struct tcpip_api_call_data *api_call_msg) {
738
+ tcp_api_call_t *msg = (tcp_api_call_t *)api_call_msg;
739
+ msg->err = 0;
740
+ *msg->pcb = tcp_listen_with_backlog(*msg->pcb, msg->backlog);
741
+ return msg->err;
742
+ }
743
+
744
+ static tcp_pcb *_tcp_listen_with_backlog(tcp_pcb *pcb, uint8_t backlog) {
745
+ if (!pcb) {
746
+ return NULL;
747
+ }
748
+ tcp_api_call_t msg;
749
+ msg.pcb = &pcb;
750
+ msg.backlog = backlog ? backlog : 0xFF;
751
+ tcpip_api_call(_tcp_listen_api, (struct tcpip_api_call_data *)&msg);
752
+ return pcb;
753
+ }
754
+
755
+ /*
756
+ Async TCP Client
757
+ */
758
+
759
+ AsyncClient::AsyncClient(tcp_pcb *pcb)
760
+ : _connect_cb(0), _connect_cb_arg(0), _discard_cb(0), _discard_cb_arg(0), _sent_cb(0), _sent_cb_arg(0), _error_cb(0), _error_cb_arg(0), _recv_cb(0),
761
+ _recv_cb_arg(0), _pb_cb(0), _pb_cb_arg(0), _timeout_cb(0), _timeout_cb_arg(0), _poll_cb(0), _poll_cb_arg(0), _ack_pcb(true), _tx_last_packet(0),
762
+ _rx_timeout(0), _rx_last_ack(0), _ack_timeout(CONFIG_ASYNC_TCP_MAX_ACK_TIME), _connect_port(0) {
763
+ _pcb = pcb;
764
+ if (_pcb) {
765
+ _rx_last_packet = millis();
766
+ _bind_tcp_callbacks(_pcb, this);
767
+ }
768
+ }
769
+
770
+ AsyncClient::~AsyncClient() {
771
+ if (_pcb) {
772
+ _close();
773
+ }
774
+ }
775
+
776
+ /*
777
+ * Operators
778
+ * */
779
+
780
+ bool AsyncClient::operator==(const AsyncClient &other) const {
781
+ return _pcb == other._pcb;
782
+ }
783
+
784
+ /*
785
+ * Callback Setters
786
+ * */
787
+
788
+ void AsyncClient::onConnect(AcConnectHandler cb, void *arg) {
789
+ _connect_cb = cb;
790
+ _connect_cb_arg = arg;
791
+ }
792
+
793
+ void AsyncClient::onDisconnect(AcConnectHandler cb, void *arg) {
794
+ _discard_cb = cb;
795
+ _discard_cb_arg = arg;
796
+ }
797
+
798
+ void AsyncClient::onAck(AcAckHandler cb, void *arg) {
799
+ _sent_cb = cb;
800
+ _sent_cb_arg = arg;
801
+ }
802
+
803
+ void AsyncClient::onError(AcErrorHandler cb, void *arg) {
804
+ _error_cb = cb;
805
+ _error_cb_arg = arg;
806
+ }
807
+
808
+ void AsyncClient::onData(AcDataHandler cb, void *arg) {
809
+ _recv_cb = cb;
810
+ _recv_cb_arg = arg;
811
+ }
812
+
813
+ void AsyncClient::onPacket(AcPacketHandler cb, void *arg) {
814
+ _pb_cb = cb;
815
+ _pb_cb_arg = arg;
816
+ }
817
+
818
+ void AsyncClient::onTimeout(AcTimeoutHandler cb, void *arg) {
819
+ _timeout_cb = cb;
820
+ _timeout_cb_arg = arg;
821
+ }
822
+
823
+ void AsyncClient::onPoll(AcConnectHandler cb, void *arg) {
824
+ _poll_cb = cb;
825
+ _poll_cb_arg = arg;
826
+ }
827
+
828
+ /*
829
+ * Main Public Methods
830
+ * */
831
+
832
+ bool AsyncClient::connect(ip_addr_t addr, uint16_t port) {
833
+ if (_pcb) {
834
+ async_tcp_log_d("already connected, state %d", _pcb->state);
835
+ return false;
836
+ }
837
+ if (!_start_async_task()) {
838
+ async_tcp_log_e("failed to start task");
839
+ return false;
840
+ }
841
+
842
+ tcp_pcb *pcb;
843
+ {
844
+ tcp_core_guard tcg;
845
+ #if LWIP_IPV4 && LWIP_IPV6
846
+ pcb = tcp_new_ip_type(addr.type);
847
+ #else
848
+ pcb = tcp_new_ip_type(IPADDR_TYPE_V4);
849
+ #endif
850
+ if (!pcb) {
851
+ async_tcp_log_e("pcb == NULL");
852
+ return false;
853
+ }
854
+ _bind_tcp_callbacks(pcb, this);
855
+ }
856
+
857
+ esp_err_t err = _tcp_connect(pcb, &addr, port, (tcp_connected_fn)&_tcp_connected);
858
+ return err == ESP_OK;
859
+ }
860
+
861
+ #ifdef ARDUINO
862
+ bool AsyncClient::connect(const IPAddress &ip, uint16_t port) {
863
+ ip_addr_t addr;
864
+ #if ESP_IDF_VERSION_MAJOR < 5
865
+ #if LWIP_IPV4 && LWIP_IPV6
866
+ // if both IPv4 and IPv6 are enabled, ip_addr_t has a union field and the address type
867
+ addr.u_addr.ip4.addr = ip;
868
+ addr.type = IPADDR_TYPE_V4;
869
+ #else
870
+ addr.addr = ip;
871
+ #endif
872
+ #else
873
+ ip.to_ip_addr_t(&addr);
874
+ #endif
875
+
876
+ return connect(addr, port);
877
+ }
878
+ #endif
879
+
880
+ #if LWIP_IPV6 && ESP_IDF_VERSION_MAJOR < 5
881
+ bool AsyncClient::connect(const IPv6Address &ip, uint16_t port) {
882
+ auto ipaddr = static_cast<const uint32_t *>(ip);
883
+ ip_addr_t addr = IPADDR6_INIT(ipaddr[0], ipaddr[1], ipaddr[2], ipaddr[3]);
884
+
885
+ return connect(addr, port);
886
+ }
887
+ #endif
888
+
889
+ bool AsyncClient::connect(const char *host, uint16_t port) {
890
+ ip_addr_t addr;
891
+
892
+ if (!_start_async_task()) {
893
+ async_tcp_log_e("failed to start task");
894
+ return false;
895
+ }
896
+
897
+ err_t err;
898
+ {
899
+ tcp_core_guard tcg;
900
+ err = dns_gethostbyname(host, &addr, (dns_found_callback)&_tcp_dns_found, this);
901
+ }
902
+
903
+ if (err == ERR_OK) {
904
+ #if ESP_IDF_VERSION_MAJOR < 5
905
+ #if LWIP_IPV6
906
+ if (addr.type == IPADDR_TYPE_V6) {
907
+ return connect(IPv6Address(addr.u_addr.ip6.addr), port);
908
+ }
909
+ return connect(IPAddress(addr.u_addr.ip4.addr), port);
910
+ #else
911
+ return connect(IPAddress(addr.addr), port);
912
+ #endif
913
+ #else
914
+ return connect(addr, port);
915
+ #endif
916
+ } else if (err == ERR_INPROGRESS) {
917
+ _connect_port = port;
918
+ return true;
919
+ }
920
+ async_tcp_log_d("error: %d", err);
921
+ return false;
922
+ }
923
+
924
+ void AsyncClient::close(bool now) {
925
+ if (_pcb) {
926
+ _tcp_recved(&_pcb, _rx_ack_len);
927
+ }
928
+ _close();
929
+ }
930
+
931
+ int8_t AsyncClient::abort() {
932
+ return _tcp_abort(&_pcb, this);
933
+ // _pcb is now NULL
934
+ }
935
+
936
+ size_t AsyncClient::space() const {
937
+ if ((_pcb != NULL) && (_pcb->state == ESTABLISHED)) {
938
+ return tcp_sndbuf(_pcb);
939
+ }
940
+ return 0;
941
+ }
942
+
943
+ size_t AsyncClient::add(const char *data, size_t size, uint8_t apiflags) {
944
+ if (!_pcb || size == 0 || data == NULL) {
945
+ return 0;
946
+ }
947
+ size_t room = space();
948
+ if (!room) {
949
+ return 0;
950
+ }
951
+ size_t will_send = (room < size) ? room : size;
952
+ int8_t err = ERR_OK;
953
+ err = _tcp_write(&_pcb, data, will_send, apiflags);
954
+ if (err != ERR_OK) {
955
+ return 0;
956
+ }
957
+ return will_send;
958
+ }
959
+
960
+ bool AsyncClient::send() {
961
+ auto backup = _tx_last_packet;
962
+ _tx_last_packet = millis();
963
+ if (_tcp_output(&_pcb) == ERR_OK) {
964
+ return true;
965
+ }
966
+ _tx_last_packet = backup;
967
+ return false;
968
+ }
969
+
970
+ size_t AsyncClient::ack(size_t len) {
971
+ if (len > _rx_ack_len) {
972
+ len = _rx_ack_len;
973
+ }
974
+ if (len) {
975
+ _tcp_recved(&_pcb, len);
976
+ }
977
+ _rx_ack_len -= len;
978
+ return len;
979
+ }
980
+
981
+ void AsyncClient::ackPacket(struct pbuf *pb) {
982
+ if (!pb) {
983
+ return;
984
+ }
985
+ _tcp_recved(&_pcb, pb->len);
986
+ pbuf_free(pb);
987
+ }
988
+
989
+ /*
990
+ * Main Private Methods
991
+ * */
992
+
993
+ int8_t AsyncClient::_close() {
994
+ // ets_printf("X: 0x%08x\n", (uint32_t)this);
995
+ int8_t err = _tcp_close(&_pcb, this);
996
+ // _pcb is now NULL
997
+ if ((err == ERR_OK) && _discard_cb) {
998
+ // _pcb was closed here
999
+ _discard_cb(_discard_cb_arg, this);
1000
+ }
1001
+ return err;
1002
+ }
1003
+
1004
+ /*
1005
+ * Private Callbacks
1006
+ * */
1007
+
1008
+ int8_t AsyncClient::_connected(tcp_pcb *pcb, int8_t err) {
1009
+ _pcb = reinterpret_cast<tcp_pcb *>(pcb);
1010
+ if (_pcb) {
1011
+ _rx_last_packet = millis();
1012
+ }
1013
+ _tx_last_packet = 0;
1014
+ _rx_last_ack = 0;
1015
+ if (_connect_cb) {
1016
+ _connect_cb(_connect_cb_arg, this);
1017
+ }
1018
+ return ERR_OK;
1019
+ }
1020
+
1021
+ void AsyncClient::_error(int8_t err) {
1022
+ if (_error_cb) {
1023
+ _error_cb(_error_cb_arg, this, err);
1024
+ }
1025
+ if (_discard_cb) {
1026
+ _discard_cb(_discard_cb_arg, this);
1027
+ }
1028
+ }
1029
+
1030
+ // In LwIP Thread
1031
+ int8_t AsyncClient::_lwip_fin(tcp_pcb *pcb, int8_t err) {
1032
+ if (!_pcb || pcb != _pcb) {
1033
+ async_tcp_log_d("0x%08" PRIx32 " != 0x%08" PRIx32, (uint32_t)pcb, (uint32_t)_pcb);
1034
+ return ERR_OK;
1035
+ }
1036
+ _reset_tcp_callbacks(_pcb, this);
1037
+ if (tcp_close(_pcb) != ERR_OK) {
1038
+ tcp_abort(_pcb);
1039
+ }
1040
+ _pcb = NULL;
1041
+ return ERR_OK;
1042
+ }
1043
+
1044
+ // In Async Thread
1045
+ int8_t AsyncClient::_fin(tcp_pcb *pcb, int8_t err) {
1046
+ if (_discard_cb) {
1047
+ _discard_cb(_discard_cb_arg, this);
1048
+ }
1049
+ return ERR_OK;
1050
+ }
1051
+
1052
+ int8_t AsyncClient::_sent(tcp_pcb *pcb, uint16_t len) {
1053
+ _rx_last_ack = _rx_last_packet = millis();
1054
+ if (_sent_cb) {
1055
+ _sent_cb(_sent_cb_arg, this, len, (_rx_last_packet - _tx_last_packet));
1056
+ }
1057
+ return ERR_OK;
1058
+ }
1059
+
1060
+ int8_t AsyncClient::_recv(tcp_pcb *pcb, pbuf *pb, int8_t err) {
1061
+ while (pb != NULL) {
1062
+ _rx_last_packet = millis();
1063
+ // we should not ack before we assimilate the data
1064
+ _ack_pcb = true;
1065
+ pbuf *b = pb;
1066
+ pb = b->next;
1067
+ b->next = NULL;
1068
+ if (_pb_cb) {
1069
+ _pb_cb(_pb_cb_arg, this, b);
1070
+ } else {
1071
+ if (_recv_cb) {
1072
+ _recv_cb(_recv_cb_arg, this, b->payload, b->len);
1073
+ }
1074
+ if (!_ack_pcb) {
1075
+ _rx_ack_len += b->len;
1076
+ } else if (_pcb) {
1077
+ _tcp_recved(&_pcb, b->len);
1078
+ }
1079
+ pbuf_free(b);
1080
+ }
1081
+ }
1082
+ return ERR_OK;
1083
+ }
1084
+
1085
+ int8_t AsyncClient::_poll(tcp_pcb *pcb) {
1086
+ if (!_pcb) {
1087
+ // async_tcp_log_d("pcb is NULL");
1088
+ return ERR_OK;
1089
+ }
1090
+ if (pcb != _pcb) {
1091
+ async_tcp_log_d("0x%08" PRIx32 " != 0x%08" PRIx32, (uint32_t)pcb, (uint32_t)_pcb);
1092
+ return ERR_OK;
1093
+ }
1094
+
1095
+ uint32_t now = millis();
1096
+
1097
+ // ACK Timeout
1098
+ if (_ack_timeout) {
1099
+ const uint32_t one_day = 86400000;
1100
+ bool last_tx_is_after_last_ack = (_rx_last_ack - _tx_last_packet + one_day) < one_day;
1101
+ if (last_tx_is_after_last_ack && (now - _tx_last_packet) >= _ack_timeout) {
1102
+ async_tcp_log_d("ack timeout %d", pcb->state);
1103
+ if (_timeout_cb) {
1104
+ _timeout_cb(_timeout_cb_arg, this, (now - _tx_last_packet));
1105
+ }
1106
+ return ERR_OK;
1107
+ }
1108
+ }
1109
+ // RX Timeout
1110
+ if (_rx_timeout && (now - _rx_last_packet) >= (_rx_timeout * 1000)) {
1111
+ async_tcp_log_d("rx timeout %d", pcb->state);
1112
+ _close();
1113
+ return ERR_OK;
1114
+ }
1115
+ // Everything is fine
1116
+ if (_poll_cb) {
1117
+ _poll_cb(_poll_cb_arg, this);
1118
+ }
1119
+ return ERR_OK;
1120
+ }
1121
+
1122
+ void AsyncClient::_dns_found(ip_addr_t *ipaddr) {
1123
+ if (ipaddr) {
1124
+ connect(*ipaddr, _connect_port);
1125
+ } else {
1126
+ if (_error_cb) {
1127
+ _error_cb(_error_cb_arg, this, -55);
1128
+ }
1129
+ if (_discard_cb) {
1130
+ _discard_cb(_discard_cb_arg, this);
1131
+ }
1132
+ }
1133
+ }
1134
+
1135
+ /*
1136
+ * Public Helper Methods
1137
+ * */
1138
+
1139
+ bool AsyncClient::free() {
1140
+ if (!_pcb) {
1141
+ return true;
1142
+ }
1143
+ if (_pcb->state == CLOSED || _pcb->state > ESTABLISHED) {
1144
+ return true;
1145
+ }
1146
+ return false;
1147
+ }
1148
+
1149
+ size_t AsyncClient::write(const char *data, size_t size, uint8_t apiflags) {
1150
+ size_t will_send = add(data, size, apiflags);
1151
+ if (!will_send || !send()) {
1152
+ return 0;
1153
+ }
1154
+ return will_send;
1155
+ }
1156
+
1157
+ void AsyncClient::setRxTimeout(uint32_t timeout) {
1158
+ _rx_timeout = timeout;
1159
+ }
1160
+
1161
+ uint32_t AsyncClient::getRxTimeout() const {
1162
+ return _rx_timeout;
1163
+ }
1164
+
1165
+ uint32_t AsyncClient::getAckTimeout() const {
1166
+ return _ack_timeout;
1167
+ }
1168
+
1169
+ void AsyncClient::setAckTimeout(uint32_t timeout) {
1170
+ _ack_timeout = timeout;
1171
+ }
1172
+
1173
+ void AsyncClient::setNoDelay(bool nodelay) const {
1174
+ if (!_pcb) {
1175
+ return;
1176
+ }
1177
+ if (nodelay) {
1178
+ tcp_nagle_disable(_pcb);
1179
+ } else {
1180
+ tcp_nagle_enable(_pcb);
1181
+ }
1182
+ }
1183
+
1184
+ bool AsyncClient::getNoDelay() {
1185
+ if (!_pcb) {
1186
+ return false;
1187
+ }
1188
+ return tcp_nagle_disabled(_pcb);
1189
+ }
1190
+
1191
+ void AsyncClient::setKeepAlive(uint32_t ms, uint8_t cnt) {
1192
+ if (ms != 0) {
1193
+ _pcb->so_options |= SOF_KEEPALIVE; // Turn on TCP Keepalive for the given pcb
1194
+ // Set the time between keepalive messages in milli-seconds
1195
+ _pcb->keep_idle = ms;
1196
+ _pcb->keep_intvl = ms;
1197
+ _pcb->keep_cnt = cnt; // The number of unanswered probes required to force closure of the socket
1198
+ } else {
1199
+ _pcb->so_options &= ~SOF_KEEPALIVE; // Turn off TCP Keepalive for the given pcb
1200
+ }
1201
+ }
1202
+
1203
+ uint16_t AsyncClient::getMss() const {
1204
+ if (!_pcb) {
1205
+ return 0;
1206
+ }
1207
+ return tcp_mss(_pcb);
1208
+ }
1209
+
1210
+ uint32_t AsyncClient::getRemoteAddress() const {
1211
+ if (!_pcb) {
1212
+ return 0;
1213
+ }
1214
+ #if LWIP_IPV4 && LWIP_IPV6
1215
+ return _pcb->remote_ip.u_addr.ip4.addr;
1216
+ #else
1217
+ return _pcb->remote_ip.addr;
1218
+ #endif
1219
+ }
1220
+
1221
+ #if LWIP_IPV6
1222
+ ip6_addr_t AsyncClient::getRemoteAddress6() const {
1223
+ if (_pcb && _pcb->remote_ip.type == IPADDR_TYPE_V6) {
1224
+ return _pcb->remote_ip.u_addr.ip6;
1225
+ } else {
1226
+ ip6_addr_t nulladdr;
1227
+ ip6_addr_set_zero(&nulladdr);
1228
+ return nulladdr;
1229
+ }
1230
+ }
1231
+
1232
+ ip6_addr_t AsyncClient::getLocalAddress6() const {
1233
+ if (_pcb && _pcb->local_ip.type == IPADDR_TYPE_V6) {
1234
+ return _pcb->local_ip.u_addr.ip6;
1235
+ } else {
1236
+ ip6_addr_t nulladdr;
1237
+ ip6_addr_set_zero(&nulladdr);
1238
+ return nulladdr;
1239
+ }
1240
+ }
1241
+ #ifdef ARDUINO
1242
+ #if ESP_IDF_VERSION_MAJOR < 5
1243
+ IPv6Address AsyncClient::remoteIP6() const {
1244
+ return IPv6Address(getRemoteAddress6().addr);
1245
+ }
1246
+
1247
+ IPv6Address AsyncClient::localIP6() const {
1248
+ return IPv6Address(getLocalAddress6().addr);
1249
+ }
1250
+ #else
1251
+ IPAddress AsyncClient::remoteIP6() const {
1252
+ if (!_pcb) {
1253
+ return IPAddress(IPType::IPv6);
1254
+ }
1255
+ IPAddress ip;
1256
+ ip.from_ip_addr_t(&(_pcb->remote_ip));
1257
+ return ip;
1258
+ }
1259
+
1260
+ IPAddress AsyncClient::localIP6() const {
1261
+ if (!_pcb) {
1262
+ return IPAddress(IPType::IPv6);
1263
+ }
1264
+ IPAddress ip;
1265
+ ip.from_ip_addr_t(&(_pcb->local_ip));
1266
+ return ip;
1267
+ }
1268
+ #endif
1269
+ #endif
1270
+ #endif
1271
+
1272
+ uint16_t AsyncClient::getRemotePort() const {
1273
+ if (!_pcb) {
1274
+ return 0;
1275
+ }
1276
+ return _pcb->remote_port;
1277
+ }
1278
+
1279
+ uint32_t AsyncClient::getLocalAddress() const {
1280
+ if (!_pcb) {
1281
+ return 0;
1282
+ }
1283
+ #if LWIP_IPV4 && LWIP_IPV6
1284
+ return _pcb->local_ip.u_addr.ip4.addr;
1285
+ #else
1286
+ return _pcb->local_ip.addr;
1287
+ #endif
1288
+ }
1289
+
1290
+ uint16_t AsyncClient::getLocalPort() const {
1291
+ if (!_pcb) {
1292
+ return 0;
1293
+ }
1294
+ return _pcb->local_port;
1295
+ }
1296
+
1297
+ ip4_addr_t AsyncClient::getRemoteAddress4() const {
1298
+ #if LWIP_IPV4 && LWIP_IPV6
1299
+ if (_pcb && _pcb->remote_ip.type == IPADDR_TYPE_V4) {
1300
+ return _pcb->remote_ip.u_addr.ip4;
1301
+ }
1302
+ #else
1303
+ if (_pcb) {
1304
+ return _pcb->remote_ip;
1305
+ }
1306
+ #endif
1307
+ else {
1308
+ ip4_addr_t nulladdr;
1309
+ ip4_addr_set_zero(&nulladdr);
1310
+ return nulladdr;
1311
+ }
1312
+ }
1313
+
1314
+ ip4_addr_t AsyncClient::getLocalAddress4() const {
1315
+ #if LWIP_IPV4 && LWIP_IPV6
1316
+ if (_pcb && _pcb->local_ip.type == IPADDR_TYPE_V4) {
1317
+ return _pcb->local_ip.u_addr.ip4;
1318
+ }
1319
+ #else
1320
+ if (_pcb) {
1321
+ return _pcb->local_ip;
1322
+ }
1323
+ #endif
1324
+ else {
1325
+ ip4_addr_t nulladdr;
1326
+ ip4_addr_set_zero(&nulladdr);
1327
+ return nulladdr;
1328
+ }
1329
+ }
1330
+
1331
+ #ifdef ARDUINO
1332
+ IPAddress AsyncClient::remoteIP() const {
1333
+ #if ESP_IDF_VERSION_MAJOR < 5
1334
+ return IPAddress(getRemoteAddress());
1335
+ #else
1336
+ if (!_pcb) {
1337
+ return IPAddress();
1338
+ }
1339
+ IPAddress ip;
1340
+ ip.from_ip_addr_t(&(_pcb->remote_ip));
1341
+ return ip;
1342
+ #endif
1343
+ }
1344
+
1345
+ IPAddress AsyncClient::localIP() const {
1346
+ #if ESP_IDF_VERSION_MAJOR < 5
1347
+ return IPAddress(getLocalAddress());
1348
+ #else
1349
+ if (!_pcb) {
1350
+ return IPAddress();
1351
+ }
1352
+ IPAddress ip;
1353
+ ip.from_ip_addr_t(&(_pcb->local_ip));
1354
+ return ip;
1355
+ #endif
1356
+ }
1357
+ #endif
1358
+
1359
+ uint8_t AsyncClient::state() const {
1360
+ if (!_pcb) {
1361
+ return 0;
1362
+ }
1363
+ return _pcb->state;
1364
+ }
1365
+
1366
+ bool AsyncClient::connected() const {
1367
+ if (!_pcb) {
1368
+ return false;
1369
+ }
1370
+ return _pcb->state == ESTABLISHED;
1371
+ }
1372
+
1373
+ bool AsyncClient::connecting() const {
1374
+ if (!_pcb) {
1375
+ return false;
1376
+ }
1377
+ return _pcb->state > CLOSED && _pcb->state < ESTABLISHED;
1378
+ }
1379
+
1380
+ bool AsyncClient::disconnecting() const {
1381
+ if (!_pcb) {
1382
+ return false;
1383
+ }
1384
+ return _pcb->state > ESTABLISHED && _pcb->state < TIME_WAIT;
1385
+ }
1386
+
1387
+ bool AsyncClient::disconnected() const {
1388
+ if (!_pcb) {
1389
+ return true;
1390
+ }
1391
+ return _pcb->state == CLOSED || _pcb->state == TIME_WAIT;
1392
+ }
1393
+
1394
+ bool AsyncClient::freeable() const {
1395
+ if (!_pcb) {
1396
+ return true;
1397
+ }
1398
+ return _pcb->state == CLOSED || _pcb->state > ESTABLISHED;
1399
+ }
1400
+
1401
+ bool AsyncClient::canSend() const {
1402
+ return space() > 0;
1403
+ }
1404
+
1405
+ const char *AsyncClient::errorToString(int8_t error) {
1406
+ switch (error) {
1407
+ case ERR_OK: return "OK";
1408
+ case ERR_MEM: return "Out of memory error";
1409
+ case ERR_BUF: return "Buffer error";
1410
+ case ERR_TIMEOUT: return "Timeout";
1411
+ case ERR_RTE: return "Routing problem";
1412
+ case ERR_INPROGRESS: return "Operation in progress";
1413
+ case ERR_VAL: return "Illegal value";
1414
+ case ERR_WOULDBLOCK: return "Operation would block";
1415
+ case ERR_USE: return "Address in use";
1416
+ case ERR_ALREADY: return "Already connected";
1417
+ case ERR_CONN: return "Not connected";
1418
+ case ERR_IF: return "Low-level netif error";
1419
+ case ERR_ABRT: return "Connection aborted";
1420
+ case ERR_RST: return "Connection reset";
1421
+ case ERR_CLSD: return "Connection closed";
1422
+ case ERR_ARG: return "Illegal argument";
1423
+ case -55: return "DNS failed";
1424
+ default: return "UNKNOWN";
1425
+ }
1426
+ }
1427
+
1428
+ const char *AsyncClient::stateToString() const {
1429
+ switch (state()) {
1430
+ case 0: return "Closed";
1431
+ case 1: return "Listen";
1432
+ case 2: return "SYN Sent";
1433
+ case 3: return "SYN Received";
1434
+ case 4: return "Established";
1435
+ case 5: return "FIN Wait 1";
1436
+ case 6: return "FIN Wait 2";
1437
+ case 7: return "Close Wait";
1438
+ case 8: return "Closing";
1439
+ case 9: return "Last ACK";
1440
+ case 10: return "Time Wait";
1441
+ default: return "UNKNOWN";
1442
+ }
1443
+ }
1444
+
1445
+ /*
1446
+ Async TCP Server
1447
+ */
1448
+
1449
+ AsyncServer::AsyncServer(ip_addr_t addr, uint16_t port)
1450
+ : _port(port), _addr(addr), _noDelay(false), _pcb(nullptr), _connect_cb(nullptr), _connect_cb_arg(nullptr) {}
1451
+
1452
+ #ifdef ARDUINO
1453
+ AsyncServer::AsyncServer(IPAddress addr, uint16_t port) : _port(port), _noDelay(false), _pcb(0), _connect_cb(0), _connect_cb_arg(0) {
1454
+ #if ESP_IDF_VERSION_MAJOR < 5
1455
+ #if LWIP_IPV4 && LWIP_IPV6
1456
+ _addr.type = IPADDR_TYPE_V4;
1457
+ _addr.u_addr.ip4.addr = addr;
1458
+ #else
1459
+ _addr.addr = addr;
1460
+ #endif
1461
+ #else
1462
+ addr.to_ip_addr_t(&_addr);
1463
+ #endif
1464
+ }
1465
+ #if ESP_IDF_VERSION_MAJOR < 5 && __has_include(<IPv6Address.h>) && LWIP_IPV6
1466
+ AsyncServer::AsyncServer(IPv6Address addr, uint16_t port) : _port(port), _noDelay(false), _pcb(0), _connect_cb(0), _connect_cb_arg(0) {
1467
+ #if LWIP_IPV4 && LWIP_IPV6
1468
+ _addr.type = IPADDR_TYPE_V6;
1469
+ #endif
1470
+ auto ipaddr = static_cast<const uint32_t *>(addr);
1471
+ _addr = IPADDR6_INIT(ipaddr[0], ipaddr[1], ipaddr[2], ipaddr[3]);
1472
+ }
1473
+ #endif
1474
+ #endif
1475
+
1476
+ AsyncServer::AsyncServer(uint16_t port) : _port(port), _noDelay(false), _pcb(0), _connect_cb(0), _connect_cb_arg(0) {
1477
+ #if LWIP_IPV4 && LWIP_IPV6
1478
+ _addr.type = IPADDR_TYPE_ANY;
1479
+ _addr.u_addr.ip4.addr = INADDR_ANY;
1480
+ #else
1481
+ _addr.addr = INADDR_ANY;
1482
+ #endif
1483
+ }
1484
+
1485
+ AsyncServer::~AsyncServer() {
1486
+ end();
1487
+ }
1488
+
1489
+ void AsyncServer::onClient(AcConnectHandler cb, void *arg) {
1490
+ _connect_cb = cb;
1491
+ _connect_cb_arg = arg;
1492
+ }
1493
+
1494
+ void AsyncServer::begin() {
1495
+ if (_pcb) {
1496
+ return;
1497
+ }
1498
+
1499
+ if (!_start_async_task()) {
1500
+ async_tcp_log_e("failed to start task");
1501
+ return;
1502
+ }
1503
+ int8_t err;
1504
+ {
1505
+ tcp_core_guard tcg;
1506
+ #if LWIP_IPV4 && LWIP_IPV6
1507
+ _pcb = tcp_new_ip_type(_addr.type);
1508
+ #else
1509
+ _pcb = tcp_new_ip_type(IPADDR_TYPE_ANY);
1510
+ #endif
1511
+ }
1512
+ if (!_pcb) {
1513
+ async_tcp_log_e("_pcb == NULL");
1514
+ return;
1515
+ }
1516
+
1517
+ err = _tcp_bind(&_pcb, &_addr, _port);
1518
+
1519
+ if (err != ERR_OK) {
1520
+ // pcb was closed by _tcp_bind
1521
+ async_tcp_log_e("bind error: %d", err);
1522
+ return;
1523
+ }
1524
+
1525
+ static uint8_t backlog = 5;
1526
+ _pcb = _tcp_listen_with_backlog(_pcb, backlog);
1527
+ if (!_pcb) {
1528
+ async_tcp_log_e("listen_pcb == NULL");
1529
+ return;
1530
+ }
1531
+ tcp_core_guard tcg;
1532
+ tcp_arg(_pcb, (void *)this);
1533
+ tcp_accept(_pcb, &AsyncTCP_detail::tcp_accept);
1534
+ }
1535
+
1536
+ void AsyncServer::end() {
1537
+ if (_pcb) {
1538
+ tcp_core_guard tcg;
1539
+ tcp_arg(_pcb, NULL);
1540
+ tcp_accept(_pcb, NULL);
1541
+ if (tcp_close(_pcb) != ERR_OK) {
1542
+ tcp_abort(_pcb);
1543
+ }
1544
+ _pcb = NULL;
1545
+ }
1546
+ }
1547
+
1548
+ // runs on LwIP thread
1549
+ int8_t AsyncTCP_detail::tcp_accept(void *arg, tcp_pcb *pcb, int8_t err) {
1550
+ if (!pcb) {
1551
+ async_tcp_log_e("_accept failed: pcb is NULL");
1552
+ return ERR_ABRT;
1553
+ }
1554
+ auto server = reinterpret_cast<AsyncServer *>(arg);
1555
+ if (server->_connect_cb) {
1556
+ AsyncClient *c = new (std::nothrow) AsyncClient(pcb);
1557
+ if (c && c->pcb()) {
1558
+ c->setNoDelay(server->_noDelay);
1559
+
1560
+ lwip_tcp_event_packet_t *e = new (std::nothrow) lwip_tcp_event_packet_t{LWIP_TCP_ACCEPT, c};
1561
+ if (e) {
1562
+ e->accept.server = server;
1563
+
1564
+ queue_mutex_guard guard;
1565
+ _prepend_async_event(e);
1566
+ return ERR_OK; // success
1567
+ }
1568
+
1569
+ // Couldn't allocate accept event
1570
+ // We can't let the client object call in to close, as we're on the LWIP thread; it could deadlock trying to RPC to itself
1571
+ c->_pcb = nullptr;
1572
+ tcp_abort(pcb);
1573
+ async_tcp_log_e("_accept failed: couldn't accept client");
1574
+ return ERR_ABRT;
1575
+ }
1576
+ if (c) {
1577
+ // Couldn't complete setup
1578
+ // pcb has already been aborted
1579
+ delete c;
1580
+ pcb = nullptr;
1581
+ async_tcp_log_e("_accept failed: couldn't complete setup");
1582
+ return ERR_ABRT;
1583
+ }
1584
+ async_tcp_log_e("_accept failed: couldn't allocate client");
1585
+ } else {
1586
+ async_tcp_log_e("_accept failed: no onConnect callback");
1587
+ }
1588
+ tcp_abort(pcb);
1589
+ return ERR_OK;
1590
+ }
1591
+
1592
+ int8_t AsyncServer::_accepted(AsyncClient *client) {
1593
+ if (_connect_cb) {
1594
+ _connect_cb(_connect_cb_arg, client);
1595
+ }
1596
+ return ERR_OK;
1597
+ }
1598
+
1599
+ void AsyncServer::setNoDelay(bool nodelay) {
1600
+ _noDelay = nodelay;
1601
+ }
1602
+
1603
+ bool AsyncServer::getNoDelay() const {
1604
+ return _noDelay;
1605
+ }
1606
+
1607
+ uint8_t AsyncServer::status() const {
1608
+ if (!_pcb) {
1609
+ return 0;
1610
+ }
1611
+ return _pcb->state;
1612
+ }