@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.
- package/CHANGELOG.md +473 -435
- package/LICENSE +674 -674
- package/README.md +491 -491
- package/RELEASE_GUIDE.md +504 -504
- package/docs/DOCUMENTATION_MIGRATION_PLAN.md +175 -175
- package/docs/IMPLEMENTATION_PLAN_MESH_TOPOLOGY.md +1062 -1062
- package/docs/MESH_TOPOLOGY_GUIDE.md +992 -992
- package/docs/MESH_TOPOLOGY_PROGRESS.md +422 -422
- package/docs/MQTT_BRIDGE_COMMANDS.md +894 -894
- package/docs/MQTT_BRIDGE_IMPLEMENTATION_SUMMARY.md +324 -324
- package/docs/MQTT_COMMAND_SCHEMA_PROPOSAL.md +576 -576
- package/docs/MQTT_SCHEMA_COMPLIANCE.md +285 -285
- package/docs/MQTT_SCHEMA_PROPOSALS.md +446 -446
- package/docs/MQTT_SCHEMA_REVIEW.md +690 -690
- package/docs/OTA_COMMANDS_REFERENCE.md +554 -554
- package/docs/PHASE1_GUIDE.md +349 -349
- package/docs/PHASE2_GUIDE.md +543 -543
- package/docs/README.md +130 -130
- package/docs/SCHEMA_VALIDATION_CHECKLIST.md +222 -222
- package/docs/alteriom/overview.md +507 -507
- package/docs/api/core-api.md +606 -606
- package/docs/architecture/mesh-architecture.md +378 -378
- package/docs/architecture/plugin-system.md +516 -516
- package/docs/archive/DOCUSAURUS_DEPLOYMENT.md +165 -165
- package/docs/archive/FEATURE_PROPOSALS.md +337 -337
- package/docs/archive/LIBRARY_JSON_FIX.md +98 -98
- package/docs/archive/LIBRARY_STRUCTURE_FIX.md +215 -215
- package/docs/archive/PHASE1_IMPLEMENTATION.md +325 -325
- package/docs/archive/PHASE2_IMPLEMENTATION.md +567 -567
- package/docs/archive/RELEASE_SUMMARY.md +172 -172
- package/docs/archive/SCONS_BUILD_FIX.md +313 -313
- package/docs/archive/TRIGGER_RELEASE.md +279 -279
- package/docs/archive/VECTOR_INCLUDE_FIX.md +129 -129
- package/docs/archive/ota-and-status-enhancements.md +911 -911
- package/docs/archive/ota-status-architecture-diagrams.md +658 -658
- package/docs/archive/ota-status-quick-reference.md +284 -284
- package/docs/development/ARDUINO_COMPLIANCE_SUMMARY.md +70 -70
- package/docs/development/CODE_REFACTORING_RECOMMENDATIONS.md +1011 -1011
- package/docs/development/DOCKER_TESTING.md +196 -196
- package/docs/development/PLATFORMIO_USAGE.md +180 -180
- package/docs/development/TESTING_SUMMARY.md +126 -126
- package/docs/development/contributing.md +301 -301
- package/docs/development/documentation.md +583 -583
- package/docs/getting-started/first-mesh.md +409 -409
- package/docs/getting-started/installation.md +274 -274
- package/docs/getting-started/quickstart.md +157 -157
- package/docs/improvements/FUTURE_PROPOSALS.md +1016 -1016
- package/docs/improvements/IMPLEMENTATION_HISTORY.md +1091 -1091
- package/docs/improvements/OTA_STATUS_ENHANCEMENTS.md +709 -709
- package/docs/improvements/README.md +211 -211
- package/docs/platformio-publishing.md +254 -254
- package/docs/platformio-setup-summary.md +120 -120
- package/docs/releases/FEATURE_HISTORY.md +543 -543
- package/docs/releases/PATCH_v1.7.2.md +262 -0
- package/docs/releases/PATCH_v1.7.3.md +262 -262
- package/docs/releases/PATCH_v1.7.4.md +219 -0
- package/docs/releases/PHASE1_SUMMARY.md +246 -246
- package/docs/releases/PHASE2_SUMMARY.md +499 -499
- package/docs/releases/RELEASE_CHECKLIST_v1.7.4.md +253 -0
- package/docs/releases/RELEASE_NOTES_1.7.0.md +539 -539
- package/docs/releases/RELEASE_SUMMARY_v1.7.4.md +276 -0
- package/docs/troubleshooting/CRASH_QUICK_REF.md +93 -0
- package/docs/troubleshooting/FREERTOS_ASSERTION_FAILURE.md +288 -0
- package/docs/troubleshooting/FREERTOS_FIX_IMPLEMENTATION.md +267 -0
- package/docs/troubleshooting/QUICK_FIX_FREERTOS.md +164 -0
- package/docs/troubleshooting/SENSOR_NODE_CONNECTION_CRASH.md +257 -0
- package/docs/troubleshooting/common-issues.md +520 -520
- package/docs/troubleshooting/debugging.md +455 -455
- package/docs/troubleshooting/faq.md +472 -472
- package/docs/tutorials/basic-examples.md +717 -717
- package/docs/wiki/API-Reference.md +245 -245
- package/docs/wiki/Complete-Documentation.md +122 -122
- package/examples/alteriom/.pio/build/esp32/.sconsign311.dblite +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Esp.cpp.d +146 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Esp.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/FirmwareMSC.cpp.d +5 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/FirmwareMSC.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/FunctionalInterrupt.cpp.d +137 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/FunctionalInterrupt.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/HWCDC.cpp.d +4 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/HWCDC.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/HardwareSerial.cpp.d +138 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/HardwareSerial.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/IPAddress.cpp.d +137 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/IPAddress.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/IPv6Address.cpp.d +138 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/IPv6Address.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/MD5Builder.cpp.d +138 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/MD5Builder.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Print.cpp.d +136 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Print.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Stream.cpp.d +136 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Stream.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/StreamString.cpp.d +137 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/StreamString.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Tone.cpp.d +136 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/Tone.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/USB.cpp.d +4 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/USB.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/USBCDC.cpp.d +4 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/USBCDC.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/USBMSC.cpp.d +4 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/USBMSC.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/WMath.cpp.d +18 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/WMath.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/WString.cpp.d +136 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/WString.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/base64.cpp.d +139 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/base64.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/cbuf.cpp.d +3 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/cbuf.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-adc.c.d +110 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-adc.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-bt.c.d +107 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-bt.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-cpu.c.d +123 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-cpu.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-dac.c.d +108 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-dac.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-gpio.c.d +122 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-gpio.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-i2c-slave.c.d +92 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-i2c-slave.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-i2c.c.d +114 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-i2c.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-ledc.c.d +108 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-ledc.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-matrix.c.d +105 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-matrix.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-misc.c.d +136 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-misc.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-psram.c.d +104 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-psram.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-rgb-led.c.d +104 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-rgb-led.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-rmt.c.d +108 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-rmt.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-sigmadelta.c.d +109 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-sigmadelta.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-spi.c.d +122 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-spi.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-time.c.d +145 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-time.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-timer.c.d +110 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-timer.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-tinyusb.c.d +3 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-tinyusb.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-touch.c.d +107 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-touch.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-uart.c.d +121 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/esp32-hal-uart.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/firmware_msc_fat.c.d +3 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/firmware_msc_fat.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/libb64/cdecode.c.d +3 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/libb64/cdecode.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/libb64/cencode.c.d +3 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/libb64/cencode.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/main.cpp.d +139 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/main.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/stdlib_noniso.c.d +12 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/stdlib_noniso.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/wiring_pulse.c.d +111 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/wiring_pulse.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/wiring_shift.c.d +111 -0
- package/examples/alteriom/.pio/build/esp32/FrameworkArduino/wiring_shift.c.o +0 -0
- package/examples/alteriom/.pio/build/esp32/bootloader.bin +0 -0
- package/examples/alteriom/.pio/build/esp32/firmware.bin +0 -0
- package/examples/alteriom/.pio/build/esp32/firmware.elf +0 -0
- package/examples/alteriom/.pio/build/esp32/firmware.map +102570 -0
- package/examples/alteriom/.pio/build/esp32/lib373/LittleFS/LittleFS.cpp.d +142 -0
- package/examples/alteriom/.pio/build/esp32/lib373/LittleFS/LittleFS.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/lib373/libLittleFS.a +0 -0
- package/examples/alteriom/.pio/build/esp32/lib399/TaskScheduler/TaskScheduler.cpp.d +2 -0
- package/examples/alteriom/.pio/build/esp32/lib399/TaskScheduler/TaskScheduler.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/lib399/libTaskScheduler.a +0 -0
- package/examples/alteriom/.pio/build/esp32/lib4f2/FS/FS.cpp.d +138 -0
- package/examples/alteriom/.pio/build/esp32/lib4f2/FS/FS.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/lib4f2/FS/vfs_api.cpp.d +139 -0
- package/examples/alteriom/.pio/build/esp32/lib4f2/FS/vfs_api.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/lib4f2/libFS.a +0 -0
- package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFi.cpp.d +203 -0
- package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFi.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiAP.cpp.d +204 -0
- package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiAP.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiClient.cpp.d +209 -0
- package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiClient.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiGeneric.cpp.d +206 -0
- package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiGeneric.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiMulti.cpp.d +199 -0
- package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiMulti.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiSTA.cpp.d +206 -0
- package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiSTA.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiScan.cpp.d +204 -0
- package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiScan.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiServer.cpp.d +172 -0
- package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiServer.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiUdp.cpp.d +171 -0
- package/examples/alteriom/.pio/build/esp32/lib71a/WiFi/WiFiUdp.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/lib71a/libWiFi.a +0 -0
- package/examples/alteriom/.pio/build/esp32/lib7d0/AsyncTCP/AsyncTCP.cpp.d +189 -0
- package/examples/alteriom/.pio/build/esp32/lib7d0/AsyncTCP/AsyncTCP.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/lib7d0/libAsyncTCP.a +0 -0
- package/examples/alteriom/.pio/build/esp32/lib837/libsrc.a +0 -0
- package/examples/alteriom/.pio/build/esp32/lib837/src/painlessMeshSTA.cpp.d +229 -0
- package/examples/alteriom/.pio/build/esp32/lib837/src/painlessMeshSTA.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/lib837/src/scheduler.cpp.d +139 -0
- package/examples/alteriom/.pio/build/esp32/lib837/src/scheduler.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/lib837/src/wifi.cpp.d +227 -0
- package/examples/alteriom/.pio/build/esp32/lib837/src/wifi.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/lib97a/SPIFFS/SPIFFS.cpp.d +142 -0
- package/examples/alteriom/.pio/build/esp32/lib97a/SPIFFS/SPIFFS.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/lib97a/libSPIFFS.a +0 -0
- package/examples/alteriom/.pio/build/esp32/libFrameworkArduino.a +0 -0
- package/examples/alteriom/.pio/build/esp32/libf48/Update/HttpsOTAUpdate.cpp.d +120 -0
- package/examples/alteriom/.pio/build/esp32/libf48/Update/HttpsOTAUpdate.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/libf48/Update/Updater.cpp.d +144 -0
- package/examples/alteriom/.pio/build/esp32/libf48/Update/Updater.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/libf48/libUpdate.a +0 -0
- package/examples/alteriom/.pio/build/esp32/partitions.bin +0 -0
- package/examples/alteriom/.pio/build/esp32/src/alteriom.ino.cpp.d +240 -0
- package/examples/alteriom/.pio/build/esp32/src/alteriom.ino.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp32/tmprz74bdta.tmp +1 -0
- package/examples/alteriom/.pio/build/esp32/tmps5iu5vvf.tmp +1 -0
- package/examples/alteriom/.pio/build/esp32/tmptxf7cu25.tmp +1 -0
- package/examples/alteriom/.pio/build/esp32/tmpuwwn0jz2.tmp +1 -0
- package/examples/alteriom/.pio/build/esp32/tmpz4zb75rq.tmp +1 -0
- package/examples/alteriom/.pio/build/esp8266/.sconsign311.dblite +0 -0
- package/examples/alteriom/.pio/build/esp8266/FrameworkArduino/Crypto.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/FrameworkArduino/Esp-frag.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/FrameworkArduino/Esp-version.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/ld/local.eagle.app.v6.common.ld +285 -0
- package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/CertStoreBearSSL.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFi.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiAP.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiGratuitous.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiSTA-WPS.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiScan.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiClient.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiClientSecureBearSSL.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiServerSecureBearSSL.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiUdp.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/lib720/ESP8266WiFi/enable_wifi_at_boot_time.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/lib837/src/painlessMeshSTA.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/lib837/src/scheduler.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/lib837/src/wifi.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/lib875/TaskScheduler/TaskScheduler.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/lib875/libTaskScheduler.a +0 -0
- package/examples/alteriom/.pio/build/esp8266/libFrameworkArduinoVariant.a +1 -0
- package/examples/alteriom/.pio/build/esp8266/libdb3/LittleFS/LittleFS.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/libdb3/LittleFS/lfs_util.c.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/libf33/ESPAsyncTCP/AsyncPrinter.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/libf33/ESPAsyncTCP/ESPAsyncTCP.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/libf33/ESPAsyncTCP/ESPAsyncTCPbuffer.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/libf33/ESPAsyncTCP/SyncClient.cpp.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/libf33/ESPAsyncTCP/tcp_axtls.c.o +0 -0
- package/examples/alteriom/.pio/build/esp8266/src/alteriom.ino.cpp.o +0 -0
- package/examples/alteriom/.pio/build/project.checksum +1 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/.piopm +1 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/ArduinoJson.h +5 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/LICENSE.txt +10 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/README.md +153 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonConfigFile/JsonConfigFile.ino +152 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonFilterExample/JsonFilterExample.ino +64 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonGeneratorExample/JsonGeneratorExample.ino +65 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonHttpClient/JsonHttpClient.ino +125 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonParserExample/JsonParserExample.ino +65 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonServer/JsonServer.ino +118 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/JsonUdpBeacon/JsonUdpBeacon.ino +106 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/MsgPackParser/MsgPackParser.ino +61 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/ProgmemExample/ProgmemExample.ino +63 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/examples/StringExample/StringExample.ino +76 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/library.json +23 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/library.properties +11 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp +66 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp +79 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp +75 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp +219 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp +133 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArrayIterator.hpp +96 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp +112 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp +122 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp +137 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Configuration.hpp +285 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp +106 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationOptions.hpp +35 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp +77 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp +32 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp +74 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp +30 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp +18 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp +56 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp +42 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp +49 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp +29 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp +19 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp +79 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp +426 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp +40 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp +720 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp +165 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Latch.hpp +56 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp +110 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp +177 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp +67 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp +46 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp +60 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/Allocator.hpp +49 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/MemoryPool.hpp +110 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/MemoryPoolList.hpp +214 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/ResourceManager.hpp +131 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/ResourceManagerImpl.hpp +52 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringBuffer.hpp +79 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringBuilder.hpp +88 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringNode.hpp +75 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringPool.hpp +102 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp +71 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackBinary.hpp +97 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp +487 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackExtension.hpp +120 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp +244 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/endianness.hpp +46 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp +18 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Namespace.hpp +42 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp +95 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp +212 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/JsonFloat.hpp +18 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/JsonInteger.hpp +28 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp +116 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp +145 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp +238 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObject.hpp +245 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObjectConst.hpp +166 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObjectIterator.hpp +83 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonPair.hpp +70 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp +77 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/ObjectData.hpp +70 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp +92 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp +30 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp +14 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp +45 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp +21 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp +34 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp +45 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp +27 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp +27 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp +144 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp +67 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp +33 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp +25 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/decay.hpp +33 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp +14 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp +23 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/function_traits.hpp +27 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp +22 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp +22 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp +27 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp +23 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp +18 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp +46 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp +22 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp +19 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp +32 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp +17 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp +18 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp +26 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp +24 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp +44 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp +24 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_cv.hpp +31 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp +24 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp +16 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/void_t.hpp +20 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp +27 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp +33 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp +33 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp +47 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp +55 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp +22 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp +29 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp +36 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp +32 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp +42 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp +20 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp +50 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/FlashString.hpp +93 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/RamString.hpp +118 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/StringObject.hpp +48 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp +19 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/JsonString.hpp +100 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringAdapter.hpp +47 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp +72 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringTraits.hpp +73 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/Converter.hpp +23 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp +406 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariant.hpp +78 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantConst.hpp +197 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantCopier.hpp +34 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantVisitor.hpp +61 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantAttorney.hpp +35 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp +211 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp +82 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp +609 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantDataVisitor.hpp +24 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantImpl.hpp +146 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp +188 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantRefBase.hpp +313 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantRefBaseImpl.hpp +175 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp +16 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp +34 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/compatibility.hpp +144 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/version.hpp +11 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson.h +17 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson.hpp +65 -0
- package/examples/alteriom/.pio/libdeps/esp32/ArduinoJson/src/CMakeLists.txt +91 -0
- package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/.piopm +1 -0
- package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/LICENSE +165 -0
- package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/README.md +55 -0
- package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/examples/AsyncSend/AsyncSend.ino +169 -0
- package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/examples/Client/Client.ino +87 -0
- package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/examples/FetchWebsite/FetchWebsite.ino +107 -0
- package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/library.json +31 -0
- package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/library.properties +11 -0
- package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCP.cpp +1612 -0
- package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCP.h +335 -0
- package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCPLogging.h +66 -0
- package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCPSimpleIntrusiveList.h +134 -0
- package/examples/alteriom/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCPVersion.h +40 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/.github/FUNDING.yml +1 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/.github/workflows/doxygen.yml +310 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/.github/workflows/main.yml +309 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/.github/workflows/test.yml +523 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/.piopm +1 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/LICENSE.txt +27 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/README.md +157 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example00_Blink/Scheduler_example00_Blink.ino +303 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example00_Blink_Namespace/Scheduler_example00_Blink_Namespace.ino +302 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example01/Scheduler_example01.ino +84 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example02/Scheduler_example02.ino +78 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example03/Scheduler_example03.ino +80 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example04_StatusRequest/Scheduler_example04_StatusRequest.ino +90 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example05_StatusRequest/Scheduler_example05_StatusRequest.ino +181 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example06_IDLE/Scheduler_example06_IDLE.ino +117 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example07_WDT/Scheduler_example07_WDT.ino +133 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example08_LTS/Scheduler_example08_LTS.ino +147 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example09_TimeCritical/Scheduler_example09_TimeCritical.ino +57 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example10_Benchmark/Scheduler_example10_Benchmark.ino +106 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example11_Priority/Scheduler_example11_Priority.ino +105 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example12_Priority/Scheduler_example12_Priority.ino +136 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example13_Micros/Scheduler_example13_Micros.ino +71 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example14_Yield/Scheduler_example14_Yield.ino +339 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example15_STDFunction/Scheduler_example15_STDFunction.ino +53 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/Scheduler_example16_Multitab.ino +18 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/file1.cpp +31 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/file2.cpp +55 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/header.hpp +15 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/ts.cpp +20 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example17_Timeout/Scheduler_example17_Timeout.ino +90 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example18_StatusRequest_LTS_WDT_Timeout/Scheduler_example18_StatusRequest_LTS_WDT_Timeout.ino +172 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks/Scheduler_example19_Dynamic_Tasks.ino +137 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_SelfDestruct/Scheduler_example19_Dynamic_Tasks_SelfDestruct.ino +130 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_stdQueue/Scheduler_example19_Dynamic_Tasks_stdQueue.ino +137 -0
- 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
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.cpp +36 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.h +25 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.cpp +66 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.h +34 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Scheduler_example21_OO_Callbacks.ino +76 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.cpp +83 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.h +44 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.cpp +21 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.h +28 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example23_IDLE_Callback/Scheduler_example23_IDLE_Callback.ino +157 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example24_CPU_LOAD/Scheduler_example24_CPU_LOAD.ino +87 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example25_SCHEDULER_CHAIN/Scheduler_example25_SCHEDULER_CHAIN.ino +127 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example26_SCHEDULING_OPTIONS/Scheduler_example26_SCHEDULING_OPTIONS.ino +181 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/README +39 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/led.h +12 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/main.h +25 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/lib/README +46 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/platformio.ini +37 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/led.cpp +11 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/main.cpp +254 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/test/README +11 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example28_Tickless/Scheduler_example28_Tickless.ino +105 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/README +39 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/led.h +12 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/main.h +27 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/lib/README +46 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/platformio.ini +38 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/src/led.cpp +13 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/src/main.cpp +267 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/test/README +11 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/README.md +232 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/platformio.ini +44 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/src/main.cpp +310 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_template/Scheduler_template.ino +166 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/keywords.txt +161 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/library.json +22 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/library.properties +9 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/src/TScheduler.hpp +29 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/src/TSchedulerDeclarations.hpp +29 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/src/TaskScheduler.cpp +3 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/src/TaskScheduler.h +1811 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/src/TaskSchedulerDeclarations.h +3096 -0
- package/examples/alteriom/.pio/libdeps/esp32/TaskScheduler/src/TaskSchedulerSleepMethods.h +399 -0
- package/examples/alteriom/.pio/libdeps/esp32/integrity.dat +3 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/.piopm +1 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/ArduinoJson.h +5 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/LICENSE.txt +10 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/README.md +153 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonConfigFile/JsonConfigFile.ino +152 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonFilterExample/JsonFilterExample.ino +64 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonGeneratorExample/JsonGeneratorExample.ino +65 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonHttpClient/JsonHttpClient.ino +125 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonParserExample/JsonParserExample.ino +65 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonServer/JsonServer.ino +118 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/JsonUdpBeacon/JsonUdpBeacon.ino +106 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/MsgPackParser/MsgPackParser.ino +61 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/ProgmemExample/ProgmemExample.ino +63 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/examples/StringExample/StringExample.ino +76 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/library.json +23 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/library.properties +11 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp +66 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp +79 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp +75 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp +219 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp +133 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/JsonArrayIterator.hpp +96 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp +112 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp +122 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp +137 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Configuration.hpp +285 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp +106 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationOptions.hpp +35 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp +77 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp +32 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp +74 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp +30 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp +18 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp +56 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp +42 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp +49 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp +29 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp +19 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp +79 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp +426 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp +40 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp +720 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp +165 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/Latch.hpp +56 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp +110 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp +177 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp +67 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp +46 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp +60 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/Allocator.hpp +49 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/MemoryPool.hpp +110 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/MemoryPoolList.hpp +214 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/ResourceManager.hpp +131 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/ResourceManagerImpl.hpp +52 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringBuffer.hpp +79 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringBuilder.hpp +88 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringNode.hpp +75 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringPool.hpp +102 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp +71 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackBinary.hpp +97 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp +487 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackExtension.hpp +120 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp +244 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/endianness.hpp +46 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp +18 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Namespace.hpp +42 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp +95 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp +212 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/JsonFloat.hpp +18 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/JsonInteger.hpp +28 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp +116 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp +145 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp +238 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonObject.hpp +245 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonObjectConst.hpp +166 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonObjectIterator.hpp +83 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonPair.hpp +70 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp +77 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/ObjectData.hpp +70 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp +92 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp +30 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp +14 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp +45 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp +21 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp +34 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp +45 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp +27 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp +27 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp +144 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp +67 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp +33 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp +25 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/decay.hpp +33 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp +14 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp +23 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/function_traits.hpp +27 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp +22 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp +22 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp +27 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp +23 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp +18 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp +46 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp +22 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp +19 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp +32 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp +17 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp +18 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp +26 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp +24 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp +44 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp +24 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_cv.hpp +31 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp +24 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp +16 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/void_t.hpp +20 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp +27 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp +33 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp +33 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp +47 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp +55 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp +22 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp +29 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp +36 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp +32 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp +42 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp +20 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp +50 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/Adapters/FlashString.hpp +93 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/Adapters/RamString.hpp +118 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/Adapters/StringObject.hpp +48 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp +19 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/JsonString.hpp +100 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/StringAdapter.hpp +47 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp +72 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/StringTraits.hpp +73 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/Converter.hpp +23 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp +406 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariant.hpp +78 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariantConst.hpp +197 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariantCopier.hpp +34 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariantVisitor.hpp +61 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantAttorney.hpp +35 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp +211 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp +82 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp +609 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantDataVisitor.hpp +24 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantImpl.hpp +146 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp +188 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantRefBase.hpp +313 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantRefBaseImpl.hpp +175 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp +16 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp +34 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/compatibility.hpp +144 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/version.hpp +11 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson.h +17 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson.hpp +65 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ArduinoJson/src/CMakeLists.txt +91 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/install-arduino-core-esp8266.sh +29 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/install-arduino-ide.sh +220 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/install-platformio.sh +133 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/on-push.sh +64 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.github/stale.yml +31 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.github/workflows/push.yml +30 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/.piopm +1 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/LICENSE.txt +165 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/README.md +43 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Client/Client.ino +62 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Client/config.h +23 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Server/Server.ino +73 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Server/config.h +23 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/examples/SyncClient/.esp31b.skip +0 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/examples/SyncClient/SyncClient.ino +54 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/library.json +19 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/library.properties +10 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/AsyncPrinter.cpp +214 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/AsyncPrinter.h +73 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/DebugPrintMacros.h +112 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCP.cpp +1406 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCP.h +324 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCPbuffer.cpp +555 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCPbuffer.h +118 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/SyncClient.cpp +414 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/SyncClient.h +109 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/async_config.h +42 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/tcp_axtls.c +613 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/src/tcp_axtls.h +98 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/ssl/gen_server_cert.sh +36 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/ssl/server.cer +0 -0
- package/examples/alteriom/.pio/libdeps/esp8266/ESPAsyncTCP/ssl/server.key +0 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/.github/FUNDING.yml +1 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/.github/workflows/doxygen.yml +310 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/.github/workflows/main.yml +309 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/.github/workflows/test.yml +523 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/.piopm +1 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/LICENSE.txt +27 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/README.md +157 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example00_Blink/Scheduler_example00_Blink.ino +303 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example00_Blink_Namespace/Scheduler_example00_Blink_Namespace.ino +302 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example01/Scheduler_example01.ino +84 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example02/Scheduler_example02.ino +78 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example03/Scheduler_example03.ino +80 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example04_StatusRequest/Scheduler_example04_StatusRequest.ino +90 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example05_StatusRequest/Scheduler_example05_StatusRequest.ino +181 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example06_IDLE/Scheduler_example06_IDLE.ino +117 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example07_WDT/Scheduler_example07_WDT.ino +133 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example08_LTS/Scheduler_example08_LTS.ino +147 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example09_TimeCritical/Scheduler_example09_TimeCritical.ino +57 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example10_Benchmark/Scheduler_example10_Benchmark.ino +106 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example11_Priority/Scheduler_example11_Priority.ino +105 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example12_Priority/Scheduler_example12_Priority.ino +136 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example13_Micros/Scheduler_example13_Micros.ino +71 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example14_Yield/Scheduler_example14_Yield.ino +339 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example15_STDFunction/Scheduler_example15_STDFunction.ino +53 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/Scheduler_example16_Multitab.ino +18 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/file1.cpp +31 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/file2.cpp +55 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/header.hpp +15 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/ts.cpp +20 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example17_Timeout/Scheduler_example17_Timeout.ino +90 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example18_StatusRequest_LTS_WDT_Timeout/Scheduler_example18_StatusRequest_LTS_WDT_Timeout.ino +172 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks/Scheduler_example19_Dynamic_Tasks.ino +137 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_SelfDestruct/Scheduler_example19_Dynamic_Tasks_SelfDestruct.ino +130 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_stdQueue/Scheduler_example19_Dynamic_Tasks_stdQueue.ino +137 -0
- 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
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.cpp +36 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.h +25 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.cpp +66 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.h +34 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Scheduler_example21_OO_Callbacks.ino +76 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.cpp +83 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.h +44 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.cpp +21 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.h +28 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example23_IDLE_Callback/Scheduler_example23_IDLE_Callback.ino +157 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example24_CPU_LOAD/Scheduler_example24_CPU_LOAD.ino +87 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example25_SCHEDULER_CHAIN/Scheduler_example25_SCHEDULER_CHAIN.ino +127 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example26_SCHEDULING_OPTIONS/Scheduler_example26_SCHEDULING_OPTIONS.ino +181 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/README +39 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/led.h +12 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/main.h +25 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/lib/README +46 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/platformio.ini +37 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/led.cpp +11 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/main.cpp +254 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/test/README +11 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example28_Tickless/Scheduler_example28_Tickless.ino +105 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/include/README +39 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/include/led.h +12 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/include/main.h +27 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/lib/README +46 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/platformio.ini +38 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/src/led.cpp +13 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/src/main.cpp +267 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/test/README +11 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/README.md +232 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/platformio.ini +44 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/src/main.cpp +310 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_template/Scheduler_template.ino +166 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/keywords.txt +161 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/library.json +22 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/library.properties +9 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/src/TScheduler.hpp +29 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/src/TSchedulerDeclarations.hpp +29 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/src/TaskScheduler.cpp +3 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/src/TaskScheduler.h +1811 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/src/TaskSchedulerDeclarations.h +3096 -0
- package/examples/alteriom/.pio/libdeps/esp8266/TaskScheduler/src/TaskSchedulerSleepMethods.h +399 -0
- package/examples/alteriom/.pio/libdeps/esp8266/integrity.dat +3 -0
- package/examples/alteriom/README.md +139 -139
- package/examples/alteriom/alteriom.ino +186 -186
- package/examples/alteriom/alteriom_sensor_package.hpp +240 -240
- package/examples/alteriom/platformio.ini +24 -24
- package/examples/alteriomImproved/alteriom_sensor_package.hpp +223 -223
- package/examples/alteriomImproved/improved_sensor_node.ino +245 -245
- package/examples/alteriomImproved/platformio.ini +24 -24
- package/examples/alteriomPhase1/alteriom_sensor_package.hpp +223 -223
- package/examples/alteriomPhase1/phase1_features.ino +242 -242
- package/examples/alteriomPhase1/platformio.ini +24 -24
- package/examples/alteriomPhase2/alteriom_sensor_package.hpp +223 -223
- package/examples/alteriomPhase2/phase2_features.ino +186 -186
- package/examples/alteriomPhase2/platformio.ini +24 -24
- package/examples/alteriomSensorNode/alteriom_sensor_node.ino +183 -183
- package/examples/alteriomSensorNode/alteriom_sensor_package.hpp +223 -223
- package/examples/alteriomSensorNode/platformio.ini +24 -24
- package/examples/basic/.pio/build/esp32/.sconsign311.dblite +0 -0
- package/examples/basic/.pio/build/esp32/bootloader.bin +0 -0
- package/examples/basic/.pio/build/esp32/lib241/TaskScheduler/TaskScheduler.cpp.d +2 -0
- package/examples/basic/.pio/build/esp32/lib241/TaskScheduler/TaskScheduler.cpp.o +0 -0
- package/examples/basic/.pio/build/esp32/lib241/libTaskScheduler.a +0 -0
- package/examples/basic/.pio/build/esp32/lib4f2/FS/FS.cpp.d +138 -0
- package/examples/basic/.pio/build/esp32/lib4f2/FS/FS.cpp.o +0 -0
- package/examples/basic/.pio/build/esp32/lib4f2/FS/vfs_api.cpp.d +139 -0
- package/examples/basic/.pio/build/esp32/lib4f2/FS/vfs_api.cpp.o +0 -0
- package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFi.cpp.d +203 -0
- package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFi.cpp.o +0 -0
- package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiAP.cpp.d +204 -0
- package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiAP.cpp.o +0 -0
- package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiClient.cpp.d +209 -0
- package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiClient.cpp.o +0 -0
- package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiGeneric.cpp.d +206 -0
- package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiGeneric.cpp.o +0 -0
- package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiMulti.cpp.d +199 -0
- package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiMulti.cpp.o +0 -0
- package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiSTA.cpp.d +206 -0
- package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiSTA.cpp.o +0 -0
- package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiScan.cpp.d +204 -0
- package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiScan.cpp.o +0 -0
- package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiServer.cpp.d +172 -0
- package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiServer.cpp.o +0 -0
- package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiUdp.cpp.d +171 -0
- package/examples/basic/.pio/build/esp32/lib71a/WiFi/WiFiUdp.cpp.o +0 -0
- package/examples/basic/.pio/build/esp32/lib8c7/AsyncTCP/AsyncTCP.cpp.d +189 -0
- package/examples/basic/.pio/build/esp32/lib8c7/AsyncTCP/AsyncTCP.cpp.o +0 -0
- package/examples/basic/.pio/build/esp32/partitions.bin +0 -0
- package/examples/basic/.pio/build/esp32/src/basic.ino.cpp.d +238 -0
- package/examples/basic/.pio/build/esp32/src/basic.ino.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/.sconsign311.dblite +0 -0
- package/examples/basic/.pio/build/esp8266/FrameworkArduino/Esp-frag.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/FrameworkArduino/Esp-version.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/FrameworkArduino/Esp.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/FrameworkArduino/FS.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/FrameworkArduino/FSnoop.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/FrameworkArduino/FunctionalInterrupt.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/ld/local.eagle.app.v6.common.ld +285 -0
- package/examples/basic/.pio/build/esp8266/lib5e7/TaskScheduler/TaskScheduler.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/lib5e7/libTaskScheduler.a +0 -0
- package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/BearSSLHelpers.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/CertStoreBearSSL.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFi.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiAP.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiGratuitous.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiMulti.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiSTA-WPS.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiSTA.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/ESP8266WiFiScan.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiClient.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiClientSecureBearSSL.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiServerSecureBearSSL.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/lib720/ESP8266WiFi/WiFiUdp.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/lib837/src/scheduler.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/libFrameworkArduinoVariant.a +1 -0
- package/examples/basic/.pio/build/esp8266/libdb3/LittleFS/LittleFS.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/libdb3/LittleFS/lfs_util.c.o +0 -0
- package/examples/basic/.pio/build/esp8266/libf28/ESPAsyncTCP/AsyncPrinter.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/libf28/ESPAsyncTCP/ESPAsyncTCP.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/libf28/ESPAsyncTCP/ESPAsyncTCPbuffer.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/libf28/ESPAsyncTCP/SyncClient.cpp.o +0 -0
- package/examples/basic/.pio/build/esp8266/libf28/ESPAsyncTCP/tcp_axtls.c.o +0 -0
- package/examples/basic/.pio/build/esp8266/src/basic.ino.cpp.o +0 -0
- package/examples/basic/.pio/build/project.checksum +1 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/.piopm +1 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/ArduinoJson.h +5 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/LICENSE.txt +10 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/README.md +153 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonConfigFile/JsonConfigFile.ino +152 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonFilterExample/JsonFilterExample.ino +64 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonGeneratorExample/JsonGeneratorExample.ino +65 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonHttpClient/JsonHttpClient.ino +125 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonParserExample/JsonParserExample.ino +65 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonServer/JsonServer.ino +118 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/JsonUdpBeacon/JsonUdpBeacon.ino +106 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/MsgPackParser/MsgPackParser.ino +61 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/ProgmemExample/ProgmemExample.ino +63 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/examples/StringExample/StringExample.ino +76 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/library.json +23 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/library.properties +11 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp +66 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp +79 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp +75 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp +219 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp +133 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArrayIterator.hpp +96 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp +112 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp +122 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp +137 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Configuration.hpp +285 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp +106 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationOptions.hpp +35 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp +77 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp +32 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp +74 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp +30 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp +18 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp +56 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp +42 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp +49 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp +29 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp +19 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp +79 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp +426 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp +40 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp +720 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp +165 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Latch.hpp +56 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp +110 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp +177 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp +67 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp +46 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp +60 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/Allocator.hpp +49 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/MemoryPool.hpp +110 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/MemoryPoolList.hpp +214 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/ResourceManager.hpp +131 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/ResourceManagerImpl.hpp +52 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringBuffer.hpp +79 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringBuilder.hpp +88 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringNode.hpp +75 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringPool.hpp +102 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp +71 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackBinary.hpp +97 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp +487 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackExtension.hpp +120 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp +244 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/endianness.hpp +46 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp +18 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Namespace.hpp +42 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp +95 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp +212 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/JsonFloat.hpp +18 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/JsonInteger.hpp +28 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp +116 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp +145 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp +238 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObject.hpp +245 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObjectConst.hpp +166 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObjectIterator.hpp +83 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonPair.hpp +70 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp +77 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/ObjectData.hpp +70 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp +92 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp +30 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp +14 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp +45 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp +21 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp +34 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp +45 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp +27 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp +27 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp +144 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp +67 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp +33 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp +25 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/decay.hpp +33 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp +14 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp +23 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/function_traits.hpp +27 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp +22 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp +22 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp +27 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp +23 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp +18 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp +46 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp +22 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp +19 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp +32 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp +17 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp +18 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp +26 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp +24 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp +44 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp +24 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_cv.hpp +31 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp +24 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp +16 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/void_t.hpp +20 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp +27 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp +33 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp +33 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp +47 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp +55 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp +22 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp +29 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp +36 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp +32 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp +42 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp +20 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp +50 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/FlashString.hpp +93 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/RamString.hpp +118 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/StringObject.hpp +48 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp +19 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/JsonString.hpp +100 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringAdapter.hpp +47 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp +72 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringTraits.hpp +73 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/Converter.hpp +23 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp +406 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariant.hpp +78 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantConst.hpp +197 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantCopier.hpp +34 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantVisitor.hpp +61 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantAttorney.hpp +35 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp +211 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp +82 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp +609 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantDataVisitor.hpp +24 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantImpl.hpp +146 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp +188 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantRefBase.hpp +313 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantRefBaseImpl.hpp +175 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp +16 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp +34 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/compatibility.hpp +144 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/version.hpp +11 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson.h +17 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson.hpp +65 -0
- package/examples/basic/.pio/libdeps/esp32/ArduinoJson/src/CMakeLists.txt +91 -0
- package/examples/basic/.pio/libdeps/esp32/AsyncTCP/.piopm +1 -0
- package/examples/basic/.pio/libdeps/esp32/AsyncTCP/LICENSE +165 -0
- package/examples/basic/.pio/libdeps/esp32/AsyncTCP/README.md +55 -0
- package/examples/basic/.pio/libdeps/esp32/AsyncTCP/examples/AsyncSend/AsyncSend.ino +169 -0
- package/examples/basic/.pio/libdeps/esp32/AsyncTCP/examples/Client/Client.ino +87 -0
- package/examples/basic/.pio/libdeps/esp32/AsyncTCP/examples/FetchWebsite/FetchWebsite.ino +107 -0
- package/examples/basic/.pio/libdeps/esp32/AsyncTCP/library.json +31 -0
- package/examples/basic/.pio/libdeps/esp32/AsyncTCP/library.properties +11 -0
- package/examples/basic/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCP.cpp +1612 -0
- package/examples/basic/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCP.h +335 -0
- package/examples/basic/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCPLogging.h +66 -0
- package/examples/basic/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCPSimpleIntrusiveList.h +134 -0
- package/examples/basic/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCPVersion.h +40 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/.github/FUNDING.yml +1 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/.github/workflows/doxygen.yml +310 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/.github/workflows/main.yml +309 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/.github/workflows/test.yml +523 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/.piopm +1 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/LICENSE.txt +27 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/README.md +157 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example00_Blink/Scheduler_example00_Blink.ino +303 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example00_Blink_Namespace/Scheduler_example00_Blink_Namespace.ino +302 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example01/Scheduler_example01.ino +84 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example02/Scheduler_example02.ino +78 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example03/Scheduler_example03.ino +80 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example04_StatusRequest/Scheduler_example04_StatusRequest.ino +90 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example05_StatusRequest/Scheduler_example05_StatusRequest.ino +181 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example06_IDLE/Scheduler_example06_IDLE.ino +117 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example07_WDT/Scheduler_example07_WDT.ino +133 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example08_LTS/Scheduler_example08_LTS.ino +147 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example09_TimeCritical/Scheduler_example09_TimeCritical.ino +57 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example10_Benchmark/Scheduler_example10_Benchmark.ino +106 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example11_Priority/Scheduler_example11_Priority.ino +105 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example12_Priority/Scheduler_example12_Priority.ino +136 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example13_Micros/Scheduler_example13_Micros.ino +71 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example14_Yield/Scheduler_example14_Yield.ino +339 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example15_STDFunction/Scheduler_example15_STDFunction.ino +53 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/Scheduler_example16_Multitab.ino +18 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/file1.cpp +31 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/file2.cpp +55 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/header.hpp +15 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/ts.cpp +20 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example17_Timeout/Scheduler_example17_Timeout.ino +90 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example18_StatusRequest_LTS_WDT_Timeout/Scheduler_example18_StatusRequest_LTS_WDT_Timeout.ino +172 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks/Scheduler_example19_Dynamic_Tasks.ino +137 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_SelfDestruct/Scheduler_example19_Dynamic_Tasks_SelfDestruct.ino +130 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_stdQueue/Scheduler_example19_Dynamic_Tasks_stdQueue.ino +137 -0
- 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
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.cpp +36 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.h +25 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.cpp +66 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.h +34 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Scheduler_example21_OO_Callbacks.ino +76 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.cpp +83 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.h +44 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.cpp +21 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.h +28 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example23_IDLE_Callback/Scheduler_example23_IDLE_Callback.ino +157 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example24_CPU_LOAD/Scheduler_example24_CPU_LOAD.ino +87 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example25_SCHEDULER_CHAIN/Scheduler_example25_SCHEDULER_CHAIN.ino +127 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example26_SCHEDULING_OPTIONS/Scheduler_example26_SCHEDULING_OPTIONS.ino +181 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/README +39 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/led.h +12 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/main.h +25 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/lib/README +46 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/platformio.ini +37 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/led.cpp +11 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/main.cpp +254 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/test/README +11 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example28_Tickless/Scheduler_example28_Tickless.ino +105 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/README +39 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/led.h +12 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/main.h +27 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/lib/README +46 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/platformio.ini +38 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/src/led.cpp +13 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/src/main.cpp +267 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/test/README +11 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/README.md +232 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/platformio.ini +44 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/src/main.cpp +310 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_template/Scheduler_template.ino +166 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/keywords.txt +161 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/library.json +22 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/library.properties +9 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/src/TScheduler.hpp +29 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/src/TSchedulerDeclarations.hpp +29 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/src/TaskScheduler.cpp +3 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/src/TaskScheduler.h +1811 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/src/TaskSchedulerDeclarations.h +3096 -0
- package/examples/basic/.pio/libdeps/esp32/TaskScheduler/src/TaskSchedulerSleepMethods.h +399 -0
- package/examples/basic/.pio/libdeps/esp32/integrity.dat +3 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/.piopm +1 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/ArduinoJson.h +5 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/LICENSE.txt +10 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/README.md +153 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonConfigFile/JsonConfigFile.ino +152 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonFilterExample/JsonFilterExample.ino +64 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonGeneratorExample/JsonGeneratorExample.ino +65 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonHttpClient/JsonHttpClient.ino +125 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonParserExample/JsonParserExample.ino +65 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonServer/JsonServer.ino +118 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/JsonUdpBeacon/JsonUdpBeacon.ino +106 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/MsgPackParser/MsgPackParser.ino +61 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/ProgmemExample/ProgmemExample.ino +63 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/examples/StringExample/StringExample.ino +76 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/library.json +23 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/library.properties +11 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp +66 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp +79 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp +75 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp +219 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp +133 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/JsonArrayIterator.hpp +96 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp +112 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp +122 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp +137 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Configuration.hpp +285 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp +106 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationOptions.hpp +35 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp +77 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp +32 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp +74 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp +30 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp +18 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp +56 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp +42 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp +49 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp +29 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp +19 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp +79 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp +426 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp +40 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp +720 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp +165 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/Latch.hpp +56 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp +110 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp +177 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp +67 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp +46 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp +60 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/Allocator.hpp +49 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/MemoryPool.hpp +110 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/MemoryPoolList.hpp +214 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/ResourceManager.hpp +131 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/ResourceManagerImpl.hpp +52 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringBuffer.hpp +79 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringBuilder.hpp +88 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringNode.hpp +75 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Memory/StringPool.hpp +102 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp +71 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackBinary.hpp +97 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp +487 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackExtension.hpp +120 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp +244 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/endianness.hpp +46 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp +18 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Namespace.hpp +42 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp +95 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp +212 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/JsonFloat.hpp +18 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/JsonInteger.hpp +28 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp +116 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp +145 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp +238 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonObject.hpp +245 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonObjectConst.hpp +166 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonObjectIterator.hpp +83 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/JsonPair.hpp +70 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp +77 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/ObjectData.hpp +70 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp +92 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp +30 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp +14 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp +45 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp +21 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp +34 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp +45 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp +27 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp +27 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp +144 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp +67 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp +33 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp +25 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/decay.hpp +33 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp +14 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp +23 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/function_traits.hpp +27 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp +22 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp +22 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp +27 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp +23 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp +18 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp +46 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp +22 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp +19 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp +32 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp +17 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp +18 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp +26 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp +24 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp +44 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp +24 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_cv.hpp +31 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp +24 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp +16 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/void_t.hpp +20 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp +27 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp +33 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp +33 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp +47 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp +55 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp +22 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp +29 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp +36 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp +32 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp +42 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp +20 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp +50 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/Adapters/FlashString.hpp +93 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/Adapters/RamString.hpp +118 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/Adapters/StringObject.hpp +48 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp +19 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/JsonString.hpp +100 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/StringAdapter.hpp +47 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp +72 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Strings/StringTraits.hpp +73 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/Converter.hpp +23 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp +406 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariant.hpp +78 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariantConst.hpp +197 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariantCopier.hpp +34 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/JsonVariantVisitor.hpp +61 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantAttorney.hpp +35 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp +211 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp +82 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp +609 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantDataVisitor.hpp +24 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantImpl.hpp +146 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp +188 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantRefBase.hpp +313 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantRefBaseImpl.hpp +175 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp +16 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp +34 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/compatibility.hpp +144 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson/version.hpp +11 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson.h +17 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/ArduinoJson.hpp +65 -0
- package/examples/basic/.pio/libdeps/esp8266/ArduinoJson/src/CMakeLists.txt +91 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/install-arduino-core-esp8266.sh +29 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/install-arduino-ide.sh +220 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/install-platformio.sh +133 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.github/scripts/on-push.sh +64 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.github/stale.yml +31 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.github/workflows/push.yml +30 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/.piopm +1 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/LICENSE.txt +165 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/README.md +43 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Client/Client.ino +62 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Client/config.h +23 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Server/Server.ino +73 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/examples/ClientServer/Server/config.h +23 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/examples/SyncClient/.esp31b.skip +0 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/examples/SyncClient/SyncClient.ino +54 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/library.json +19 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/library.properties +10 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/AsyncPrinter.cpp +214 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/AsyncPrinter.h +73 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/DebugPrintMacros.h +112 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCP.cpp +1406 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCP.h +324 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCPbuffer.cpp +555 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/ESPAsyncTCPbuffer.h +118 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/SyncClient.cpp +414 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/SyncClient.h +109 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/async_config.h +42 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/tcp_axtls.c +613 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/src/tcp_axtls.h +98 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/ssl/gen_server_cert.sh +36 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/ssl/server.cer +0 -0
- package/examples/basic/.pio/libdeps/esp8266/ESPAsyncTCP/ssl/server.key +0 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/.github/FUNDING.yml +1 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/.github/workflows/doxygen.yml +310 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/.github/workflows/main.yml +309 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/.github/workflows/test.yml +523 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/.piopm +1 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/LICENSE.txt +27 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/README.md +157 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example00_Blink/Scheduler_example00_Blink.ino +303 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example00_Blink_Namespace/Scheduler_example00_Blink_Namespace.ino +302 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example01/Scheduler_example01.ino +84 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example02/Scheduler_example02.ino +78 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example03/Scheduler_example03.ino +80 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example04_StatusRequest/Scheduler_example04_StatusRequest.ino +90 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example05_StatusRequest/Scheduler_example05_StatusRequest.ino +181 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example06_IDLE/Scheduler_example06_IDLE.ino +117 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example07_WDT/Scheduler_example07_WDT.ino +133 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example08_LTS/Scheduler_example08_LTS.ino +147 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example09_TimeCritical/Scheduler_example09_TimeCritical.ino +57 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example10_Benchmark/Scheduler_example10_Benchmark.ino +106 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example11_Priority/Scheduler_example11_Priority.ino +105 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example12_Priority/Scheduler_example12_Priority.ino +136 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example13_Micros/Scheduler_example13_Micros.ino +71 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example14_Yield/Scheduler_example14_Yield.ino +339 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example15_STDFunction/Scheduler_example15_STDFunction.ino +53 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/Scheduler_example16_Multitab.ino +18 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/file1.cpp +31 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/file2.cpp +55 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/header.hpp +15 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example16_Multitab/ts.cpp +20 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example17_Timeout/Scheduler_example17_Timeout.ino +90 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example18_StatusRequest_LTS_WDT_Timeout/Scheduler_example18_StatusRequest_LTS_WDT_Timeout.ino +172 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks/Scheduler_example19_Dynamic_Tasks.ino +137 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_SelfDestruct/Scheduler_example19_Dynamic_Tasks_SelfDestruct.ino +130 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_stdQueue/Scheduler_example19_Dynamic_Tasks_stdQueue.ino +137 -0
- 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
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.cpp +36 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.h +25 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.cpp +66 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.h +34 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Scheduler_example21_OO_Callbacks.ino +76 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.cpp +83 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.h +44 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.cpp +21 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.h +28 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example23_IDLE_Callback/Scheduler_example23_IDLE_Callback.ino +157 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example24_CPU_LOAD/Scheduler_example24_CPU_LOAD.ino +87 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example25_SCHEDULER_CHAIN/Scheduler_example25_SCHEDULER_CHAIN.ino +127 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example26_SCHEDULING_OPTIONS/Scheduler_example26_SCHEDULING_OPTIONS.ino +181 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/README +39 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/led.h +12 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/main.h +25 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/lib/README +46 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/platformio.ini +37 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/led.cpp +11 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/main.cpp +254 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example27_PlatformIO/test/README +11 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example28_Tickless/Scheduler_example28_Tickless.ino +105 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/include/README +39 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/include/led.h +12 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/include/main.h +27 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/lib/README +46 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/platformio.ini +38 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/src/led.cpp +13 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/src/main.cpp +267 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example29_NonArduino/test/README +11 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/README.md +232 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/platformio.ini +44 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/src/main.cpp +310 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/examples/Scheduler_template/Scheduler_template.ino +166 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/keywords.txt +161 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/library.json +22 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/library.properties +9 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/src/TScheduler.hpp +29 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/src/TSchedulerDeclarations.hpp +29 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/src/TaskScheduler.cpp +3 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/src/TaskScheduler.h +1811 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/src/TaskSchedulerDeclarations.h +3096 -0
- package/examples/basic/.pio/libdeps/esp8266/TaskScheduler/src/TaskSchedulerSleepMethods.h +399 -0
- package/examples/basic/.pio/libdeps/esp8266/integrity.dat +3 -0
- package/examples/basic/basic.ino +66 -66
- package/examples/basic/platformio.ini +25 -25
- package/examples/bridge/bridge.ino +51 -51
- package/examples/bridge/mesh_event_publisher.hpp +253 -253
- package/examples/bridge/mesh_topology_reporter.hpp +303 -303
- package/examples/bridge/mqtt_command_bridge.hpp +459 -459
- package/examples/bridge/mqtt_status_bridge.hpp +519 -519
- package/examples/bridge/platformio.ini +25 -25
- package/examples/echoNode/echoNode.ino +33 -33
- package/examples/echoNode/platformio.ini +25 -25
- package/examples/logClient/logClient.ino +109 -109
- package/examples/logClient/platformio.ini +25 -25
- package/examples/logServer/logServer.ino +81 -81
- package/examples/logServer/platformio.ini +25 -25
- package/examples/meshCommandNode/.pio/build/esp32/.sconsign311.dblite +0 -0
- package/examples/meshCommandNode/.pio/build/esp32/bootloader.bin +0 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib327/TaskScheduler/TaskScheduler.cpp.d +2 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib327/TaskScheduler/TaskScheduler.cpp.o +0 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib373/LittleFS/LittleFS.cpp.d +142 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib373/LittleFS/LittleFS.cpp.o +0 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib4f2/FS/FS.cpp.d +138 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib4f2/FS/FS.cpp.o +0 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib4f2/FS/vfs_api.cpp.d +139 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib4f2/FS/vfs_api.cpp.o +0 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFi.cpp.d +203 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFi.cpp.o +0 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiAP.cpp.d +204 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiAP.cpp.o +0 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiClient.cpp.d +209 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiClient.cpp.o +0 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiGeneric.cpp.d +206 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiGeneric.cpp.o +0 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiMulti.cpp.d +199 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiMulti.cpp.o +0 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiSTA.cpp.d +206 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiSTA.cpp.o +0 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiScan.cpp.d +204 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiScan.cpp.o +0 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiServer.cpp.d +172 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiServer.cpp.o +0 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiUdp.cpp.d +171 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib71a/WiFi/WiFiUdp.cpp.o +0 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib97a/SPIFFS/SPIFFS.cpp.d +142 -0
- package/examples/meshCommandNode/.pio/build/esp32/lib97a/SPIFFS/SPIFFS.cpp.o +0 -0
- package/examples/meshCommandNode/.pio/build/esp32/libf48/Update/HttpsOTAUpdate.cpp.d +120 -0
- package/examples/meshCommandNode/.pio/build/esp32/libf48/Update/HttpsOTAUpdate.cpp.o +0 -0
- package/examples/meshCommandNode/.pio/build/esp32/libf48/Update/Updater.cpp.d +144 -0
- package/examples/meshCommandNode/.pio/build/esp32/libf48/Update/Updater.cpp.o +0 -0
- package/examples/meshCommandNode/.pio/build/esp32/partitions.bin +0 -0
- package/examples/meshCommandNode/.pio/build/esp32/src/meshCommandNode.ino.cpp.d +238 -0
- package/examples/meshCommandNode/.pio/build/esp32/tmpkxz_1u4u.tmp +1 -0
- package/examples/meshCommandNode/.pio/build/esp32/tmpo9qt_9vc.tmp +1 -0
- package/examples/meshCommandNode/.pio/build/esp32/tmprrmligyc.tmp +1 -0
- package/examples/meshCommandNode/.pio/build/esp32/tmpt8s9ha45.tmp +1 -0
- package/examples/meshCommandNode/.pio/build/project.checksum +1 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/.piopm +1 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/ArduinoJson.h +5 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/LICENSE.txt +10 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/README.md +153 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonConfigFile/JsonConfigFile.ino +152 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonFilterExample/JsonFilterExample.ino +64 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonGeneratorExample/JsonGeneratorExample.ino +65 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonHttpClient/JsonHttpClient.ino +125 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonParserExample/JsonParserExample.ino +65 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonServer/JsonServer.ino +118 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/JsonUdpBeacon/JsonUdpBeacon.ino +106 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/MsgPackParser/MsgPackParser.ino +61 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/ProgmemExample/ProgmemExample.ino +63 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/examples/StringExample/StringExample.ino +76 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/library.json +23 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/library.properties +11 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp +66 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp +79 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp +75 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp +219 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp +133 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/JsonArrayIterator.hpp +96 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp +112 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Collection/CollectionData.hpp +122 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Collection/CollectionImpl.hpp +137 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Configuration.hpp +285 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationError.hpp +106 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/DeserializationOptions.hpp +35 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Filter.hpp +77 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/NestingLimit.hpp +32 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp +74 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp +30 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp +18 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp +56 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp +42 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/RamReader.hpp +49 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp +29 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp +19 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp +79 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp +426 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/EscapeSequence.hpp +40 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/JsonDeserializer.hpp +720 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp +165 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Latch.hpp +56 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/PrettyJsonSerializer.hpp +110 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp +177 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Utf16.hpp +67 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Json/Utf8.hpp +46 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/Alignment.hpp +60 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/Allocator.hpp +49 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/MemoryPool.hpp +110 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/MemoryPoolList.hpp +214 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/ResourceManager.hpp +131 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/ResourceManagerImpl.hpp +52 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringBuffer.hpp +79 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringBuilder.hpp +88 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringNode.hpp +75 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Memory/StringPool.hpp +102 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Misc/SerializedValue.hpp +71 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackBinary.hpp +97 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp +487 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackExtension.hpp +120 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp +244 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/endianness.hpp +46 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp +18 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Namespace.hpp +42 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/FloatParts.hpp +95 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/FloatTraits.hpp +212 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/JsonFloat.hpp +18 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/JsonInteger.hpp +28 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/arithmeticCompare.hpp +116 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/convertNumber.hpp +145 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Numbers/parseNumber.hpp +238 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObject.hpp +245 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObjectConst.hpp +166 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonObjectIterator.hpp +83 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/JsonPair.hpp +70 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/MemberProxy.hpp +77 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/ObjectData.hpp +70 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Object/ObjectImpl.hpp +92 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/alias_cast.hpp +30 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp +14 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/attributes.hpp +45 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp +21 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp +34 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/limits.hpp +45 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/math.hpp +27 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/mpl/max.hpp +27 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp +144 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace_generic.hpp +67 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/preprocessor.hpp +33 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp +25 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/decay.hpp +33 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp +14 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp +23 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/function_traits.hpp +27 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp +22 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp +22 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp +27 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_class.hpp +23 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp +18 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp +46 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp +22 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp +19 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp +32 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp +17 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp +18 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp +26 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp +24 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp +44 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp +24 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_cv.hpp +31 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp +24 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp +16 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/void_t.hpp +20 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/type_traits.hpp +27 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Polyfills/utility.hpp +33 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp +33 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writer.hpp +47 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp +55 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp +22 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp +29 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp +36 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp +32 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp +42 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp +20 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp +50 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/FlashString.hpp +93 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/RamString.hpp +118 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/Adapters/StringObject.hpp +48 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp +19 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/JsonString.hpp +100 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringAdapter.hpp +47 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringAdapters.hpp +72 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Strings/StringTraits.hpp +73 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/Converter.hpp +23 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp +406 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariant.hpp +78 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantConst.hpp +197 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantCopier.hpp +34 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/JsonVariantVisitor.hpp +61 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantAttorney.hpp +35 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp +211 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantContent.hpp +82 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp +609 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantDataVisitor.hpp +24 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantImpl.hpp +146 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantOperators.hpp +188 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantRefBase.hpp +313 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantRefBaseImpl.hpp +175 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp +16 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/Variant/VariantTo.hpp +34 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/compatibility.hpp +144 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson/version.hpp +11 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson.h +17 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/ArduinoJson.hpp +65 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/ArduinoJson/src/CMakeLists.txt +91 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/.piopm +1 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/LICENSE +165 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/README.md +62 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/examples/Client/Client.ino +81 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/library.json +35 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/library.properties +10 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCP.cpp +1661 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/AsyncTCP/src/AsyncTCP.h +344 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/.github/FUNDING.yml +1 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/.github/workflows/doxygen.yml +310 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/.github/workflows/main.yml +309 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/.github/workflows/test.yml +523 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/.piopm +1 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/LICENSE.txt +27 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/README.md +157 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example00_Blink/Scheduler_example00_Blink.ino +303 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example00_Blink_Namespace/Scheduler_example00_Blink_Namespace.ino +302 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example01/Scheduler_example01.ino +84 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example02/Scheduler_example02.ino +78 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example03/Scheduler_example03.ino +80 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example04_StatusRequest/Scheduler_example04_StatusRequest.ino +90 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example05_StatusRequest/Scheduler_example05_StatusRequest.ino +181 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example06_IDLE/Scheduler_example06_IDLE.ino +117 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example07_WDT/Scheduler_example07_WDT.ino +133 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example08_LTS/Scheduler_example08_LTS.ino +147 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example09_TimeCritical/Scheduler_example09_TimeCritical.ino +57 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example10_Benchmark/Scheduler_example10_Benchmark.ino +106 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example11_Priority/Scheduler_example11_Priority.ino +105 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example12_Priority/Scheduler_example12_Priority.ino +136 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example13_Micros/Scheduler_example13_Micros.ino +71 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example14_Yield/Scheduler_example14_Yield.ino +339 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example15_STDFunction/Scheduler_example15_STDFunction.ino +53 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/Scheduler_example16_Multitab.ino +18 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/file1.cpp +31 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/file2.cpp +55 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/header.hpp +15 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example16_Multitab/ts.cpp +20 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example17_Timeout/Scheduler_example17_Timeout.ino +90 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example18_StatusRequest_LTS_WDT_Timeout/Scheduler_example18_StatusRequest_LTS_WDT_Timeout.ino +172 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks/Scheduler_example19_Dynamic_Tasks.ino +137 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_SelfDestruct/Scheduler_example19_Dynamic_Tasks_SelfDestruct.ino +130 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example19_Dynamic_Tasks_stdQueue/Scheduler_example19_Dynamic_Tasks_stdQueue.ino +137 -0
- 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
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.cpp +36 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example20_StatusRequest_LTS_WDT_Timeout_Object/SuperSensor.h +25 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.cpp +66 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Calculator.h +34 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Scheduler_example21_OO_Callbacks.ino +76 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.cpp +83 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/SuperSensor.h +44 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.cpp +21 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example21_OO_Callbacks/Ticker.h +28 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example23_IDLE_Callback/Scheduler_example23_IDLE_Callback.ino +157 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example24_CPU_LOAD/Scheduler_example24_CPU_LOAD.ino +87 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example25_SCHEDULER_CHAIN/Scheduler_example25_SCHEDULER_CHAIN.ino +127 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example26_SCHEDULING_OPTIONS/Scheduler_example26_SCHEDULING_OPTIONS.ino +181 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/README +39 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/led.h +12 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/include/main.h +25 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/lib/README +46 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/platformio.ini +37 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/led.cpp +11 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/src/main.cpp +254 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example27_PlatformIO/test/README +11 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example28_Tickless/Scheduler_example28_Tickless.ino +105 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/README +39 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/led.h +12 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/include/main.h +27 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/lib/README +46 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/platformio.ini +38 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/src/led.cpp +13 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/src/main.cpp +267 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example29_NonArduino/test/README +11 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/README.md +232 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/platformio.ini +44 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_example30_THREAD_SAFE/src/main.cpp +310 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/examples/Scheduler_template/Scheduler_template.ino +166 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/keywords.txt +161 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/library.json +22 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/library.properties +9 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/src/TScheduler.hpp +29 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/src/TSchedulerDeclarations.hpp +29 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/src/TaskScheduler.cpp +3 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/src/TaskScheduler.h +1811 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/src/TaskSchedulerDeclarations.h +3096 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/TaskScheduler/src/TaskSchedulerSleepMethods.h +399 -0
- package/examples/meshCommandNode/.pio/libdeps/esp32/integrity.dat +3 -0
- package/examples/meshCommandNode/alteriom_sensor_package.hpp +234 -234
- package/examples/meshCommandNode/meshCommandNode.ino +263 -263
- package/examples/meshCommandNode/platformio.ini +25 -25
- package/examples/mqttBridge/mqttBridge.ino +118 -118
- package/examples/mqttBridge/platformio.ini +26 -26
- package/examples/mqttCommandBridge/alteriom_sensor_package.hpp +234 -234
- package/examples/mqttCommandBridge/mesh_event_publisher.hpp +253 -253
- package/examples/mqttCommandBridge/mesh_topology_reporter.hpp +303 -303
- package/examples/mqttCommandBridge/mqttCommandBridge.ino +252 -252
- package/examples/mqttCommandBridge/mqtt_command_bridge.hpp +462 -459
- package/examples/mqttCommandBridge/platformio.ini +26 -26
- package/examples/mqttStatusBridge/mqttStatusBridge.ino +216 -216
- package/examples/mqttStatusBridge/mqtt_status_bridge.hpp +522 -522
- package/examples/mqttStatusBridge/platformio.ini +26 -26
- package/examples/mqttTopologyTest/README.md +467 -467
- package/examples/mqttTopologyTest/mqttTopologyTest.ino +748 -748
- package/examples/mqttTopologyTest/platformio.ini +26 -26
- package/examples/namedMesh/namedMesh.ino +97 -97
- package/examples/namedMesh/platformio.ini +25 -25
- package/examples/otaReceiver/otaReceiver.ino +79 -79
- package/examples/otaReceiver/platformio.ini +25 -25
- package/examples/otaSender/otaSender.ino +160 -160
- package/examples/otaSender/platformio.ini +25 -25
- package/examples/startHere/platformio.ini +25 -25
- package/examples/startHere/startHere.ino +159 -159
- package/examples/webServer/platformio.ini +27 -27
- package/examples/webServer/webServer.ino +89 -89
- package/keywords.txt +48 -48
- package/library.json +55 -55
- package/library.properties +10 -10
- package/package.json +86 -86
- package/src/AlteriomPainlessMesh.h +97 -97
- package/src/arduino/wifi.hpp +365 -365
- package/src/boost/asynctcp.hpp +279 -279
- package/src/painlessMesh.h +70 -70
- package/src/painlessMeshSTA.cpp +236 -236
- package/src/painlessMeshSTA.h +58 -58
- package/src/painlessTaskOptions.h +11 -4
- package/src/painlessmesh/base64.hpp +111 -111
- package/src/painlessmesh/buffer.hpp +229 -229
- package/src/painlessmesh/callback.hpp +91 -91
- package/src/painlessmesh/configuration.hpp +77 -77
- package/src/painlessmesh/connection.hpp +192 -192
- package/src/painlessmesh/layout.hpp +188 -188
- package/src/painlessmesh/logger.hpp +158 -158
- package/src/painlessmesh/memory.hpp +119 -119
- package/src/painlessmesh/mesh.hpp +772 -761
- package/src/painlessmesh/metrics.hpp +322 -322
- package/src/painlessmesh/ntp.hpp +263 -263
- package/src/painlessmesh/ota.hpp +582 -582
- package/src/painlessmesh/plugin.hpp +188 -188
- package/src/painlessmesh/protocol.hpp +813 -813
- package/src/painlessmesh/router.hpp +338 -338
- package/src/painlessmesh/scheduler_queue.cpp +77 -0
- package/src/painlessmesh/scheduler_queue.hpp +34 -0
- package/src/painlessmesh/tcp.hpp +71 -71
- package/src/painlessmesh/validation.hpp +238 -238
- package/src/plugin/performance.hpp +214 -214
- package/src/plugin/remote.hpp +64 -64
- package/src/scheduler.cpp +10 -10
- package/src/wifi.cpp +2 -2
|
@@ -0,0 +1,1811 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Cooperative multitasking library for Arduino
|
|
3
|
+
Copyright (c) 2015-2025 Anatoli Arkhipenko
|
|
4
|
+
|
|
5
|
+
Changelog:
|
|
6
|
+
v1.0.0:
|
|
7
|
+
2015-02-24 - Initial release
|
|
8
|
+
2015-02-28 - added delay() and disableOnLastIteration() methods
|
|
9
|
+
2015-03-25 - changed scheduler execute() method for a more precise delay calculation:
|
|
10
|
+
1. Do not delay if any of the tasks ran (making request for immediate execution redundant)
|
|
11
|
+
2. Delay is invoked only if none of the tasks ran
|
|
12
|
+
3. Delay is based on the min anticipated wait until next task _AND_ the runtime of execute method itself.
|
|
13
|
+
2015-05-11 - added restart() and restartDelayed() methods to restart tasks which are on hold after running all iterations
|
|
14
|
+
2015-05-19 - completely removed delay from the scheduler since there are no power saving there. using 1 ms sleep instead
|
|
15
|
+
|
|
16
|
+
v1.4.1:
|
|
17
|
+
2015-09-15 - more careful placement of AVR-specific includes for sleep method (compatibility with DUE)
|
|
18
|
+
sleep on idle run is no longer a default and should be explicitly compiled with
|
|
19
|
+
_TASK_SLEEP_ON_IDLE_RUN defined
|
|
20
|
+
|
|
21
|
+
v1.5.0:
|
|
22
|
+
2015-09-20 - access to currently executing task (for callback methods)
|
|
23
|
+
2015-09-20 - pass scheduler as a parameter to the task constructor to append the task to the end of the chain
|
|
24
|
+
2015-09-20 - option to create a task already enabled
|
|
25
|
+
|
|
26
|
+
v1.5.1:
|
|
27
|
+
2015-09-21 - bug fix: incorrect handling of active tasks via set() and setIterations().
|
|
28
|
+
Thanks to Hannes Morgenstern for catching this one
|
|
29
|
+
|
|
30
|
+
v1.6.0:
|
|
31
|
+
2015-09-22 - revert back to having all tasks disable on last iteration.
|
|
32
|
+
2015-09-22 - deprecated disableOnLastIteration method as a result
|
|
33
|
+
2015-09-22 - created a separate branch 'disable-on-last-iteration' for this
|
|
34
|
+
2015-10-01 - made version numbers semver compliant (documentation only)
|
|
35
|
+
|
|
36
|
+
v1.7.0:
|
|
37
|
+
2015-10-08 - introduced callback run counter - callback methods can branch on the iteration number.
|
|
38
|
+
2015-10-11 - enableIfNot() - enable a task only if it is not already enabled. Returns true if was already enabled,
|
|
39
|
+
false if was disabled.
|
|
40
|
+
2015-10-11 - disable() returns previous enable state (true if was enabled, false if was already disabled)
|
|
41
|
+
2015-10-11 - introduced callback methods "on enable" and "on disable". On enable runs every time enable is called,
|
|
42
|
+
on disable runs only if task was enabled
|
|
43
|
+
2015-10-12 - new Task method: forceNextIteration() - makes next iteration happen immediately during the next pass
|
|
44
|
+
regardless how much time is left
|
|
45
|
+
|
|
46
|
+
v1.8.0:
|
|
47
|
+
2015-10-13 - support for status request objects allowing tasks waiting on requests
|
|
48
|
+
2015-10-13 - moved to a single header file to allow compilation control via #defines from the main sketch
|
|
49
|
+
|
|
50
|
+
v1.8.1:
|
|
51
|
+
2015-10-22 - implement Task id and control points to support identification of failure points for watchdog timer logging
|
|
52
|
+
|
|
53
|
+
v1.8.2:
|
|
54
|
+
2015-10-27 - implement Local Task Storage Pointer (allow use of same callback code for different tasks)
|
|
55
|
+
2015-10-27 - bug: currentTask() method returns incorrect Task reference if called within OnEnable and OnDisable methods
|
|
56
|
+
2015-10-27 - protection against infinite loop in OnEnable (if enable() methods are called within OnEnable)
|
|
57
|
+
2015-10-29 - new currentLts() method in the scheduler class returns current task's LTS pointer in one call
|
|
58
|
+
|
|
59
|
+
v1.8.3:
|
|
60
|
+
2015-11-05 - support for task activation on a status request with arbitrary interval and number of iterations
|
|
61
|
+
(0 and 1 are still default values)
|
|
62
|
+
2015-11-05 - implement waitForDelayed() method to allow task activation on the status request completion
|
|
63
|
+
delayed for one current interval
|
|
64
|
+
2015-11-09 - added callback methods prototypes to all examples for Arduino IDE 1.6.6 compatibility
|
|
65
|
+
2015-11-14 - added several constants to be used as task parameters for readability (e.g, TASK_FOREVER, TASK_SECOND, etc.)
|
|
66
|
+
2015-11-14 - significant optimization of the scheduler's execute loop, including millis() rollover fix option
|
|
67
|
+
|
|
68
|
+
v1.8.4:
|
|
69
|
+
2015-11-15 - bug fix: Task alignment with millis() for scheduling purposes should be done after OnEnable, not before.
|
|
70
|
+
Especially since OnEnable method can change the interval
|
|
71
|
+
2015-11-16 - further optimizations of the task scheduler execute loop
|
|
72
|
+
|
|
73
|
+
v1.8.5:
|
|
74
|
+
2015-11-23 - bug fix: incorrect calculation of next task invocation in case callback changed the interval
|
|
75
|
+
2015-11-23 - bug fix: Task::set() method calls setInterval() explicitly, therefore delaying the task in the same manner
|
|
76
|
+
|
|
77
|
+
v1.9.0:
|
|
78
|
+
2015-11-24 - packed three byte-long status variables into bit array structure data type - saving 2 bytes per each task instance
|
|
79
|
+
|
|
80
|
+
v1.9.2:
|
|
81
|
+
2015-11-28 - _TASK_ROLLOVER_FIX is deprecated (not necessary)
|
|
82
|
+
2015-12-16 - bug fixes: automatic millis rollover support for delay methods
|
|
83
|
+
2015-12-17 - new method for _TASK_TIMECRITICAL option: getStartDelay()
|
|
84
|
+
|
|
85
|
+
v2.0.0:
|
|
86
|
+
2015-12-22 - _TASK_PRIORITY - support for layered task prioritization
|
|
87
|
+
|
|
88
|
+
v2.0.1:
|
|
89
|
+
2016-01-02 - bug fix: issue#11 Xtensa compiler (esp8266): Declaration of constructor does not match implementation
|
|
90
|
+
|
|
91
|
+
v2.0.2:
|
|
92
|
+
2016-01-05 - bug fix: time constants wrapped inside compile option
|
|
93
|
+
2016-01-05 - support for ESP8266 wifi power saving mode for _TASK_SLEEP_ON_IDLE_RUN compile option
|
|
94
|
+
|
|
95
|
+
v2.1.0:
|
|
96
|
+
2016-02-01 - support for microsecond resolution
|
|
97
|
+
2016-02-02 - added Scheduler baseline start time reset method: startNow()
|
|
98
|
+
|
|
99
|
+
v2.2.0:
|
|
100
|
+
2016-11-17 - all methods made 'inline' to support inclusion of TaskSchedule.h file into other header files
|
|
101
|
+
|
|
102
|
+
v2.2.1:
|
|
103
|
+
2016-11-30 - inlined constructors. Added "yield()" and "yieldOnce()" functions to easily break down and chain
|
|
104
|
+
back together long running callback methods
|
|
105
|
+
2016-12-16 - added "getCount()" to StatusRequest objects, made every task StatusRequest enabled.
|
|
106
|
+
Internal StatusRequest objects are accessible via "getInternalStatusRequest()" method.
|
|
107
|
+
|
|
108
|
+
v2.3.0:
|
|
109
|
+
2017-02-24 - new timeUntilNextIteration() method within Scheduler class - inquire when a particlar task is
|
|
110
|
+
scheduled to run next time
|
|
111
|
+
|
|
112
|
+
v2.4.0:
|
|
113
|
+
2017-04-27 - added destructor to the Task class to ensure tasks are disables and taken off the execution chain
|
|
114
|
+
upon destruction. (Contributed by Edwin van Leeuwen [BlackEdder - https://github.com/BlackEdder)
|
|
115
|
+
|
|
116
|
+
v2.5.0:
|
|
117
|
+
2017-04-27 - ESP8266 ONLY: added optional support for std::functions via _TASK_STD_FUNCTION compilation option
|
|
118
|
+
(Contributed by Edwin van Leeuwen [BlackEdder - https://github.com/BlackEdder)
|
|
119
|
+
2017-08-30 - add _TASK_DEBUG making all methods and variables public FOR DEBUGGING PURPOSES ONLY!
|
|
120
|
+
Use at your own risk!
|
|
121
|
+
2017-08-30 - bug fix: Scheduler::addTask() checks if task is already part of an execution chain (github issue #37)
|
|
122
|
+
2017-08-30 - support for multi-tab sketches (Contributed by Adam Ryczkowski - https://github.com/adamryczkowski)
|
|
123
|
+
|
|
124
|
+
v2.5.1:
|
|
125
|
+
2018-01-06 - support for IDLE sleep on Teensy boards (tested on Teensy 3.5)
|
|
126
|
+
|
|
127
|
+
v2.5.2:
|
|
128
|
+
2018-01-09 - _TASK_INLINE compilation directive making all methods declared "inline" (issue #42)
|
|
129
|
+
|
|
130
|
+
v2.6.0:
|
|
131
|
+
2018-01-30 - _TASK_TIMEOUT compilation directive: Task overall timeout functionality
|
|
132
|
+
2018-01-30 - ESP32 support (experimental)
|
|
133
|
+
(Contributed by Marco Tombesi: https://github.com/baggior)
|
|
134
|
+
|
|
135
|
+
v2.6.1:
|
|
136
|
+
2018-02-13 - Bug: support for task self-destruction in the OnDisable method
|
|
137
|
+
Example 19: dynamic tasks creation and destruction
|
|
138
|
+
2018-03-14 - Bug: high level scheduler ignored if lower level chain is empty
|
|
139
|
+
Example 20: use of local task storage to work with task-specific class objects
|
|
140
|
+
|
|
141
|
+
v3.0.0:
|
|
142
|
+
2018-03-15 - Major Release: Support for dynamic callback methods binding via compilation parameter _TASK_OO_CALLBACKS
|
|
143
|
+
|
|
144
|
+
v3.0.1:
|
|
145
|
+
2018-11-09 - bug: task deleted from the execution chain cannot be added back (github issue #67)
|
|
146
|
+
|
|
147
|
+
v3.0.2:
|
|
148
|
+
2018-11-11 - bug: default constructor is ambiguous when Status Request objects are enabled (github issue #65 & #68)
|
|
149
|
+
|
|
150
|
+
v3.0.3:
|
|
151
|
+
2019-06-13 - feature: custom sleep callback method: setSleepMethod() - ability to dynamically control idle sleep for various microcontrollers
|
|
152
|
+
- feature: support for MSP430 and MSP432 boards (pull request #75: big thanks to Guillaume Pirou, https://github.com/elominp)
|
|
153
|
+
- officially discontinued support for offile documentation in favor of updating the Wiki pages
|
|
154
|
+
|
|
155
|
+
v3.1.0:
|
|
156
|
+
2020-01-07 - feature: added 4 cpu load monitoring methods for _TASK_TIMECRITICAL compilation option
|
|
157
|
+
|
|
158
|
+
v3.1.1:
|
|
159
|
+
2020-01-09 - update: more precise CPU load measuring. Ability to define idle sleep threshold for ESP chips
|
|
160
|
+
|
|
161
|
+
v3.1.2:
|
|
162
|
+
2020-01-17 - bug fix: corrected external forward definitions of millis() and micros
|
|
163
|
+
|
|
164
|
+
v3.1.3:
|
|
165
|
+
2020-01-30 - bug fix: _TASK_DEFINE_MILLIS to force forward definition of millis and micros. Not defined by default.
|
|
166
|
+
2020-02-16 - bug fix: add 'virtual' to the Task destructor definition (issue #86)
|
|
167
|
+
|
|
168
|
+
v3.1.4:
|
|
169
|
+
2020-02-22 - bug: get rid of unnecessary compiler warnings
|
|
170
|
+
2020-02-22 - feature: access to the task chain with _TASK_EXPOSE_CHAIN compile option
|
|
171
|
+
|
|
172
|
+
v3.1.5:
|
|
173
|
+
2020-05-08 - feature: implemented light sleep for esp32
|
|
174
|
+
|
|
175
|
+
v3.1.6:
|
|
176
|
+
2020-05-12 - bug fix: deleteTask and addTask should check task ownership first (Issue #97)
|
|
177
|
+
|
|
178
|
+
v3.1.7:
|
|
179
|
+
2020-07-07 - warning fix: unused parameter 'aRecursive' (Issue #99)
|
|
180
|
+
|
|
181
|
+
v3.2.0:
|
|
182
|
+
2020-08-16 - feature: scheduling options
|
|
183
|
+
|
|
184
|
+
v3.2.1:
|
|
185
|
+
2020-10-04 - feature: Task.abort method. Stop task execution without calling OnDisable().
|
|
186
|
+
|
|
187
|
+
v3.2.2:
|
|
188
|
+
2020-12-14 - feature: enable and restart methods return true if task enabled
|
|
189
|
+
feature: Task.cancel() method - disable task with a cancel flag (could be used for alt. path
|
|
190
|
+
processing in the onDisable method.
|
|
191
|
+
feature: Task.cancelled() method - indicates that task was disabled with a cancel() method.
|
|
192
|
+
|
|
193
|
+
v3.2.3:
|
|
194
|
+
2021-01-01 - feature: discontinued use of 'register' keyword. Depricated in C++ 11
|
|
195
|
+
feature: add STM32 as a platform supporting _TASK_STD_FUNCTION. (PR #105)
|
|
196
|
+
|
|
197
|
+
v3.3.0:
|
|
198
|
+
2021-05-11 - feature: Timeout() methods for StatusRequest objects
|
|
199
|
+
|
|
200
|
+
v3.4.0:
|
|
201
|
+
2021-07-14 - feature: ability to Enable/Disable and Pause/Resume scheduling
|
|
202
|
+
- feature: optional use of external millis/micros methods
|
|
203
|
+
|
|
204
|
+
v3.5.0:
|
|
205
|
+
2021-11-01 - feature: adjust(long aInterval) method - adjust execution schedule:
|
|
206
|
+
+ aInterval - shift schedule forward (later)
|
|
207
|
+
- aInterval - shift schedule backwards (earlier)
|
|
208
|
+
|
|
209
|
+
v3.6.0:
|
|
210
|
+
2021-11-01 - feature: _TASK_THREAD_SAFE compile option for multi-core systems or running under RTOS
|
|
211
|
+
|
|
212
|
+
v3.6.1:
|
|
213
|
+
2022-06-28 - bug: Internal Status Request of the canceled and aborted tasks complete with respective error code
|
|
214
|
+
- feature: TASK_SR_ABORT code causes Tasks waiting on this Status Request to be aborted as well
|
|
215
|
+
|
|
216
|
+
v3.6.2:
|
|
217
|
+
2022-10-04 - feature: added TScheduler.hpp and TSchedulerDeclarations.hpp - a workaround for conflicting declarations (e.g., nRF52840 using Adafruit Core).
|
|
218
|
+
using namespace TS (credit: https://github.com/vortigont)
|
|
219
|
+
|
|
220
|
+
v3.7.0:
|
|
221
|
+
2022-10-10 - feature: added ability for Task to "self-destruct" on disable. Useful for dynamic task management.
|
|
222
|
+
Added updated example 19 for this functionality. Updated the Sketch Template
|
|
223
|
+
(Thanks, https://github.com/vortigont for the idea).
|
|
224
|
+
|
|
225
|
+
v3.8.0:
|
|
226
|
+
2023-01-24 - feature: added setIntervalNodelay() method to dynamically adjust current interval
|
|
227
|
+
|
|
228
|
+
v3.8.1:
|
|
229
|
+
2023-05-11 - bug: conditional compile options missing from *.hpp files (Adafruit support)
|
|
230
|
+
|
|
231
|
+
v3.8.2:
|
|
232
|
+
2023-09-27 - feature: _TASK_TICKLESS - support for tickless execution under FreeRTOS
|
|
233
|
+
- feature: _TASK_DO_NOT_YIELD - ability to disable yield() in execute() method
|
|
234
|
+
|
|
235
|
+
v3.8.3:
|
|
236
|
+
2023-09-29 - feature: _TASK_TICKLESS - change in approach for backwards compatibility
|
|
237
|
+
- feature: added scheduler stats for total/active/invoked tasks per each pass
|
|
238
|
+
|
|
239
|
+
v3.8.4:
|
|
240
|
+
2024-01-13 - bug: (git PR #180): the variables tStart and tFinish are required if sleep support is enabled,
|
|
241
|
+
independent of _TASK_TIMECRITICAL. however, they were guarded by _TASK_TIMECRITICAL as well.
|
|
242
|
+
- bug: (git PR #181): delete manually disable tasks with self-destruct flag
|
|
243
|
+
- bug: (git PR #182): correct deletion of self-destruct 'current' task in disableAll()
|
|
244
|
+
|
|
245
|
+
v3.8.5:
|
|
246
|
+
2024-06-17 - updated volatile compound statements after C++20 deprecated compound assignment on volatiles
|
|
247
|
+
|
|
248
|
+
v3.9.0:
|
|
249
|
+
2024-08-14 - _TASK_ISR_SUPPORT compile option (espressif chips only) - allow placing a few control methods into IRAM to be used in ISRs
|
|
250
|
+
list of IRAM-enabled methods:
|
|
251
|
+
StatusRequest::signal
|
|
252
|
+
StatusRequest::signalComplete
|
|
253
|
+
Task::enable
|
|
254
|
+
Task::enableIfNot
|
|
255
|
+
Task::enableDelayed
|
|
256
|
+
Task::restart
|
|
257
|
+
Task::restartDelayed
|
|
258
|
+
Task::delay
|
|
259
|
+
Task::forceNextIteration
|
|
260
|
+
|
|
261
|
+
v4.0.0:
|
|
262
|
+
2024-10-26 - MAJOR UPDATE for use in pre-emptive environments (FreeRTOS or Zephyr)
|
|
263
|
+
- list of IRAM-enabled methods extended:
|
|
264
|
+
Task::disable
|
|
265
|
+
Task::abort
|
|
266
|
+
Task::cancel
|
|
267
|
+
- _TASK_DEFINE_MILLIS - deprecated
|
|
268
|
+
- _TASK_EXTERNAL_TIME - deprecated
|
|
269
|
+
- New compile options:
|
|
270
|
+
_TASK_NON_ARDUINO - does not include "Arduino.h"
|
|
271
|
+
target platform has to implement:
|
|
272
|
+
unsigned long _task_millis();
|
|
273
|
+
unsigned long _task_micros();
|
|
274
|
+
void _task_yield();
|
|
275
|
+
_TASK_HEADER_AND_CPP - enables compilation of TaskScheduler.cpp (non Arduino IDE use)
|
|
276
|
+
|
|
277
|
+
- Major rework of the _TASK_THREAD_SAFE approach. Developers should only be calling Scheduler and Task methods
|
|
278
|
+
directly from the thread where TaskScheduler execute() method runs.
|
|
279
|
+
Calls from the other threads should be done via Scheduler::requestAction(...) methods.
|
|
280
|
+
Target platform should implement an action queue and two methods:
|
|
281
|
+
bool _task_enqueue_request(_task_request_t* req); // puts _task_request_t object on the action queue
|
|
282
|
+
bool _task_dequeue_request(_task_request_t* req); // retrieves _task_request_t object from the action queue
|
|
283
|
+
Please see examples folder for implementation folder.
|
|
284
|
+
|
|
285
|
+
2025-09-13:
|
|
286
|
+
- feature: allow _TASK_STD_FUNCTION for all platforms (you should know what you are doing)
|
|
287
|
+
- feature: allow _TASK_DO_NOT_YIELD for all platforms (you should know what you are doing)
|
|
288
|
+
|
|
289
|
+
2025-09-21:
|
|
290
|
+
- bug: incorrect behavior of the StatusRequest timeout functionality due to uninitialized timeout variable
|
|
291
|
+
- update: addedd Doxygen comments to all methods and variables
|
|
292
|
+
-update: added a number of compile and unit tests for CI/CD
|
|
293
|
+
|
|
294
|
+
v4.0.1:
|
|
295
|
+
2025-10-07:
|
|
296
|
+
- bug: removed leftover iMutex variable
|
|
297
|
+
- added example30: _TASK_THREAD_SAFE
|
|
298
|
+
|
|
299
|
+
v4.0.2:
|
|
300
|
+
2025-10-09:
|
|
301
|
+
- added unit test for _TASK_THREAD_SAFE functionality
|
|
302
|
+
|
|
303
|
+
*/
|
|
304
|
+
|
|
305
|
+
#include "TaskSchedulerDeclarations.h"
|
|
306
|
+
|
|
307
|
+
#ifndef _TASKSCHEDULER_H_
|
|
308
|
+
#define _TASKSCHEDULER_H_
|
|
309
|
+
|
|
310
|
+
// ----------------------------------------
|
|
311
|
+
// The following "defines" control library functionality at compile time,
|
|
312
|
+
// and should be used in the main sketch depending on the functionality required
|
|
313
|
+
//
|
|
314
|
+
// #define _TASK_TIMECRITICAL // Enable monitoring scheduling overruns
|
|
315
|
+
// #define _TASK_SLEEP_ON_IDLE_RUN // Enable 1 ms SLEEP_IDLE powerdowns between runs if no callback methods were invoked during the pass
|
|
316
|
+
// #define _TASK_STATUS_REQUEST // Compile with support for StatusRequest functionality - triggering tasks on status change events in addition to time only
|
|
317
|
+
// #define _TASK_WDT_IDS // Compile with support for wdt control points and task ids
|
|
318
|
+
// #define _TASK_LTS_POINTER // Compile with support for local task storage pointer
|
|
319
|
+
// #define _TASK_PRIORITY // Support for layered scheduling priority
|
|
320
|
+
// #define _TASK_MICRO_RES // Support for microsecond resolution
|
|
321
|
+
// #define _TASK_STD_FUNCTION // Support for std::function
|
|
322
|
+
// #define _TASK_DEBUG // Make all methods and variables public for debug purposes
|
|
323
|
+
// #define _TASK_INLINE // Make all methods "inline" - needed to support some multi-tab, multi-file implementations
|
|
324
|
+
// #define _TASK_TIMEOUT // Support for overall task timeout
|
|
325
|
+
// #define _TASK_OO_CALLBACKS // Support for callbacks via inheritance
|
|
326
|
+
// #define _TASK_EXPOSE_CHAIN // Methods to access tasks in the task chain
|
|
327
|
+
// #define _TASK_SCHEDULING_OPTIONS // Support for multiple scheduling options
|
|
328
|
+
// #define _TASK_SELF_DESTRUCT // Enable tasks to "self-destruct" after disable
|
|
329
|
+
// #define _TASK_TICKLESS // Enable support for tickless sleep on FreeRTOS
|
|
330
|
+
// #define _TASK_DO_NOT_YIELD // Disable yield() method in execute() for ESP chips
|
|
331
|
+
// #define _TASK_ISR_SUPPORT // for esp chips - place control methods in IRAM
|
|
332
|
+
// #define _TASK_NON_ARDUINO // for non-arduino use
|
|
333
|
+
// #define _TASK_HEADER_AND_CPP // PlatformIO style: separate Header and CPP file
|
|
334
|
+
// #define _TASK_THREAD_SAFE // Enable additional checking for thread safety
|
|
335
|
+
|
|
336
|
+
#ifdef _TASK_MICRO_RES
|
|
337
|
+
|
|
338
|
+
#undef _TASK_SLEEP_ON_IDLE_RUN // SLEEP_ON_IDLE has only millisecond resolution
|
|
339
|
+
#define __TASK_TIME_FUNCTION() _task_micros()
|
|
340
|
+
|
|
341
|
+
#else
|
|
342
|
+
#define __TASK_TIME_FUNCTION() _task_millis()
|
|
343
|
+
|
|
344
|
+
#endif // _TASK_MICRO_RES
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
#ifdef _TASK_SLEEP_ON_IDLE_RUN
|
|
348
|
+
#include "TaskSchedulerSleepMethods.h"
|
|
349
|
+
|
|
350
|
+
Scheduler* iSleepScheduler;
|
|
351
|
+
SleepCallback iSleepMethod;
|
|
352
|
+
|
|
353
|
+
#endif // _TASK_SLEEP_ON_IDLE_RUN
|
|
354
|
+
|
|
355
|
+
|
|
356
|
+
// _TASK_STD_FUNCTION is allowed for all platforms - you should know what you are doing
|
|
357
|
+
// #if !defined (ARDUINO_ARCH_ESP8266) && !defined (ARDUINO_ARCH_ESP32) && !defined (ARDUINO_ARCH_STM32)
|
|
358
|
+
// #ifdef _TASK_STD_FUNCTION
|
|
359
|
+
// #error Support for std::function only for ESP8266 or ESP32 architecture
|
|
360
|
+
// #undef _TASK_STD_FUNCTION
|
|
361
|
+
// #endif // _TASK_STD_FUNCTION
|
|
362
|
+
// #endif // ARDUINO_ARCH_ESP8266
|
|
363
|
+
|
|
364
|
+
#ifdef _TASK_WDT_IDS
|
|
365
|
+
static unsigned int __task_id_counter = 0; // global task ID counter for assiging task IDs automatically.
|
|
366
|
+
#endif // _TASK_WDT_IDS
|
|
367
|
+
|
|
368
|
+
#ifdef _TASK_PRIORITY
|
|
369
|
+
Scheduler* iCurrentScheduler;
|
|
370
|
+
#endif // _TASK_PRIORITY
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
#ifdef _TASK_THREAD_SAFE
|
|
374
|
+
__attribute__((weak)) bool _task_enqueue_request(_task_request_t* req) {return false; };
|
|
375
|
+
__attribute__((weak)) bool _task_dequeue_request(_task_request_t* req) {return false; };
|
|
376
|
+
#endif
|
|
377
|
+
|
|
378
|
+
|
|
379
|
+
// ------------------ TaskScheduler implementation --------------------
|
|
380
|
+
|
|
381
|
+
#ifndef _TASK_NON_ARDUINO
|
|
382
|
+
|
|
383
|
+
#ifdef _TASK_MICRO_RES
|
|
384
|
+
static unsigned long _task_micros() {return micros();}
|
|
385
|
+
#else
|
|
386
|
+
static unsigned long _task_millis() {return millis();}
|
|
387
|
+
#if defined(_TASK_SLEEP_ON_IDLE_RUN) || defined(_TASK_TIMECRITICAL)
|
|
388
|
+
static unsigned int _task_micros() {return micros();}
|
|
389
|
+
#endif // _TASK_SLEEP_ON_IDLE_RUN
|
|
390
|
+
#endif // _TASK_MICRO_RES
|
|
391
|
+
|
|
392
|
+
#if !defined(_TASK_DO_NOT_YIELD)
|
|
393
|
+
static void _task_yield() { yield(); };
|
|
394
|
+
#endif
|
|
395
|
+
|
|
396
|
+
#else
|
|
397
|
+
|
|
398
|
+
#ifdef _TASK_MICRO_RES
|
|
399
|
+
static unsigned long _task_micros();
|
|
400
|
+
#else
|
|
401
|
+
static unsigned long _task_millis();
|
|
402
|
+
#if defined(_TASK_SLEEP_ON_IDLE_RUN) || defined(_TASK_TIMECRITICAL)
|
|
403
|
+
static unsigned long _task_micros();
|
|
404
|
+
#endif // _TASK_SLEEP_ON_IDLE_RUN
|
|
405
|
+
#endif // _TASK_MICRO_RES
|
|
406
|
+
|
|
407
|
+
#if !defined(_TASK_DO_NOT_YIELD)
|
|
408
|
+
static void _task_yield();
|
|
409
|
+
#endif
|
|
410
|
+
#endif // #ifndef _TASK_NON_ARDUINO
|
|
411
|
+
|
|
412
|
+
/** Constructor, uses default values for the parameters
|
|
413
|
+
* so could be called with no parameters.
|
|
414
|
+
*/
|
|
415
|
+
#ifdef _TASK_OO_CALLBACKS
|
|
416
|
+
Task::Task( unsigned long aInterval, long aIterations, Scheduler* aScheduler, bool aEnable
|
|
417
|
+
#ifdef _TASK_SELF_DESTRUCT
|
|
418
|
+
, bool aSelfDestruct ) {
|
|
419
|
+
#else
|
|
420
|
+
) {
|
|
421
|
+
#endif // #ifdef _TASK_SELF_DESTRUCT
|
|
422
|
+
reset();
|
|
423
|
+
set(aInterval, aIterations);
|
|
424
|
+
#else
|
|
425
|
+
Task::Task( unsigned long aInterval, long aIterations, TaskCallback aCallback, Scheduler* aScheduler, bool aEnable, TaskOnEnable aOnEnable, TaskOnDisable aOnDisable
|
|
426
|
+
#ifdef _TASK_SELF_DESTRUCT
|
|
427
|
+
, bool aSelfDestruct ) {
|
|
428
|
+
#else
|
|
429
|
+
) {
|
|
430
|
+
#endif // #ifdef _TASK_SELF_DESTRUCT
|
|
431
|
+
reset();
|
|
432
|
+
set(aInterval, aIterations, aCallback, aOnEnable, aOnDisable);
|
|
433
|
+
#endif
|
|
434
|
+
|
|
435
|
+
#ifdef _TASK_SELF_DESTRUCT
|
|
436
|
+
setSelfDestruct(aSelfDestruct);
|
|
437
|
+
#endif // #ifdef _TASK_SELF_DESTRUCT
|
|
438
|
+
|
|
439
|
+
if (aScheduler) aScheduler->addTask(*this);
|
|
440
|
+
|
|
441
|
+
#ifdef _TASK_WDT_IDS
|
|
442
|
+
iTaskID = ++ __task_id_counter;
|
|
443
|
+
#endif // _TASK_WDT_IDS
|
|
444
|
+
|
|
445
|
+
if (aEnable) enable();
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
/** Destructor.
|
|
449
|
+
* Makes sure the task disabled and deleted out of the chain
|
|
450
|
+
* prior to being deleted.
|
|
451
|
+
*/
|
|
452
|
+
Task::~Task() {
|
|
453
|
+
if ( this->isEnabled() ) disable();
|
|
454
|
+
if (iScheduler) iScheduler->deleteTask(*this);
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
#ifdef _TASK_STATUS_REQUEST
|
|
459
|
+
|
|
460
|
+
/** Constructor with reduced parameter list for tasks created for
|
|
461
|
+
* StatusRequest only triggering (always immediate and only 1 iteration)
|
|
462
|
+
*/
|
|
463
|
+
|
|
464
|
+
|
|
465
|
+
#ifdef _TASK_OO_CALLBACKS
|
|
466
|
+
Task::Task( Scheduler* aScheduler ) {
|
|
467
|
+
reset();
|
|
468
|
+
set(TASK_IMMEDIATE, TASK_ONCE);
|
|
469
|
+
#else
|
|
470
|
+
Task::Task( TaskCallback aCallback, Scheduler* aScheduler, TaskOnEnable aOnEnable, TaskOnDisable aOnDisable ) {
|
|
471
|
+
reset();
|
|
472
|
+
set(TASK_IMMEDIATE, TASK_ONCE, aCallback, aOnEnable, aOnDisable);
|
|
473
|
+
#endif // _TASK_OO_CALLBACKS
|
|
474
|
+
|
|
475
|
+
if (aScheduler) aScheduler->addTask(*this);
|
|
476
|
+
|
|
477
|
+
#ifdef _TASK_WDT_IDS
|
|
478
|
+
iTaskID = ++ __task_id_counter;
|
|
479
|
+
#endif // _TASK_WDT_IDS
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
|
|
483
|
+
StatusRequest::StatusRequest()
|
|
484
|
+
{
|
|
485
|
+
iCount = 0;
|
|
486
|
+
iStatus = 0;
|
|
487
|
+
#ifdef _TASK_TIMEOUT
|
|
488
|
+
iTimeout = 0;
|
|
489
|
+
iStarttime = 0;
|
|
490
|
+
#endif // #ifdef _TASK_TIMEOUT
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
void StatusRequest::setWaiting(unsigned int aCount) {
|
|
494
|
+
iCount = aCount;
|
|
495
|
+
iStatus = 0;
|
|
496
|
+
#ifdef _TASK_TIMEOUT
|
|
497
|
+
iStarttime = __TASK_TIME_FUNCTION();
|
|
498
|
+
#endif // #ifdef _TASK_TIMEOUT
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
bool StatusRequest::isPending() { return (iCount != 0); }
|
|
502
|
+
bool StatusRequest::isCompleted() { return (iCount == 0); }
|
|
503
|
+
int StatusRequest::getStatus() { return iStatus; }
|
|
504
|
+
int StatusRequest::getCount() { return iCount; }
|
|
505
|
+
StatusRequest* Task::getStatusRequest() { return iStatusRequest; }
|
|
506
|
+
StatusRequest* Task::getInternalStatusRequest() { return &iMyStatusRequest; }
|
|
507
|
+
|
|
508
|
+
/** Signals completion of the StatusRequest by one of the participating events
|
|
509
|
+
* @param: aStatus - if provided, sets the return code of the StatusRequest: negative = error, 0 (default) = OK, positive = OK with a specific status code
|
|
510
|
+
* Negative status will complete Status Request fully (since an error occured).
|
|
511
|
+
* @return: true, if StatusRequest is complete, false otherwise (still waiting for other events)
|
|
512
|
+
*/
|
|
513
|
+
bool __TASK_IRAM StatusRequest::signal(int aStatus) {
|
|
514
|
+
if ( iCount) { // do not update the status request if it was already completed
|
|
515
|
+
if (iCount > 0) --iCount;
|
|
516
|
+
if ( (iStatus = aStatus) < 0 ) iCount = 0; // if an error is reported, the status is requested to be completed immediately
|
|
517
|
+
}
|
|
518
|
+
return (iCount == 0);
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
void __TASK_IRAM StatusRequest::signalComplete(int aStatus) {
|
|
522
|
+
if (iCount) { // do not update the status request if it was already completed
|
|
523
|
+
iCount = 0;
|
|
524
|
+
iStatus = aStatus;
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
/** Sets a Task to wait until a particular event completes
|
|
529
|
+
* @param: aStatusRequest - a pointer for the StatusRequest to wait for.
|
|
530
|
+
* If aStatusRequest is NULL, request for waiting is ignored, and the waiting task is not enabled.
|
|
531
|
+
*/
|
|
532
|
+
bool Task::waitFor(StatusRequest* aStatusRequest, unsigned long aInterval, long aIterations) {
|
|
533
|
+
iStatusRequest = aStatusRequest;
|
|
534
|
+
if ( iStatusRequest != NULL ) { // assign internal StatusRequest var and check if it is not NULL
|
|
535
|
+
setIterations(aIterations);
|
|
536
|
+
setInterval(aInterval);
|
|
537
|
+
iStatus.waiting = _TASK_SR_NODELAY; // no delay
|
|
538
|
+
return enable();
|
|
539
|
+
}
|
|
540
|
+
return false;
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
bool Task::waitForDelayed(StatusRequest* aStatusRequest, unsigned long aInterval, long aIterations) {
|
|
544
|
+
iStatusRequest = aStatusRequest;
|
|
545
|
+
if ( iStatusRequest != NULL ) { // assign internal StatusRequest var and check if it is not NULL
|
|
546
|
+
setIterations(aIterations);
|
|
547
|
+
if ( aInterval ) setInterval(aInterval); // For the delayed version only set the interval if it was not a zero
|
|
548
|
+
iStatus.waiting = _TASK_SR_DELAY; // with delay equal to the current interval
|
|
549
|
+
return enable();
|
|
550
|
+
}
|
|
551
|
+
return false;
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
#ifdef _TASK_TIMEOUT
|
|
555
|
+
void StatusRequest::resetTimeout() {
|
|
556
|
+
iStarttime = __TASK_TIME_FUNCTION();
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
long StatusRequest::untilTimeout() {
|
|
560
|
+
if ( iTimeout ) {
|
|
561
|
+
return ( (long) (iStarttime + iTimeout) - (long) __TASK_TIME_FUNCTION() );
|
|
562
|
+
}
|
|
563
|
+
return -1;
|
|
564
|
+
}
|
|
565
|
+
#endif // _TASK_TIMEOUT
|
|
566
|
+
#endif // _TASK_STATUS_REQUEST
|
|
567
|
+
|
|
568
|
+
bool Task::isEnabled() { return iStatus.enabled; }
|
|
569
|
+
|
|
570
|
+
unsigned long Task::getInterval() { return iInterval; }
|
|
571
|
+
|
|
572
|
+
long Task::getIterations() { return iIterations; }
|
|
573
|
+
|
|
574
|
+
unsigned long Task::getRunCounter() { return iRunCounter; }
|
|
575
|
+
|
|
576
|
+
#ifdef _TASK_OO_CALLBACKS
|
|
577
|
+
|
|
578
|
+
// bool Task::Callback() { return true; }
|
|
579
|
+
bool Task::OnEnable() { return true; }
|
|
580
|
+
void Task::OnDisable() { }
|
|
581
|
+
|
|
582
|
+
#else
|
|
583
|
+
|
|
584
|
+
void Task::setCallback(TaskCallback aCallback) { iCallback = aCallback; }
|
|
585
|
+
void Task::setOnEnable(TaskOnEnable aCallback) { iOnEnable = aCallback; }
|
|
586
|
+
void Task::setOnDisable(TaskOnDisable aCallback) { iOnDisable = aCallback; }
|
|
587
|
+
|
|
588
|
+
#endif // _TASK_OO_CALLBACKS
|
|
589
|
+
|
|
590
|
+
|
|
591
|
+
/** Resets (initializes) the task/
|
|
592
|
+
* Task is not enabled and is taken out
|
|
593
|
+
* out of the execution chain as a result
|
|
594
|
+
*/
|
|
595
|
+
void Task::reset() {
|
|
596
|
+
|
|
597
|
+
iStatus.enabled = false;
|
|
598
|
+
iStatus.inonenable = false;
|
|
599
|
+
iStatus.canceled = false;
|
|
600
|
+
iPreviousMillis = 0;
|
|
601
|
+
iInterval = 0;
|
|
602
|
+
iDelay = 0;
|
|
603
|
+
iPrev = NULL;
|
|
604
|
+
iNext = NULL;
|
|
605
|
+
iScheduler = NULL;
|
|
606
|
+
iRunCounter = 0;
|
|
607
|
+
|
|
608
|
+
#ifdef _TASK_SCHEDULING_OPTIONS
|
|
609
|
+
iOption = TASK_SCHEDULE;
|
|
610
|
+
#endif // _TASK_SCHEDULING_OPTIONS
|
|
611
|
+
|
|
612
|
+
#ifdef _TASK_TIMECRITICAL
|
|
613
|
+
iOverrun = 0;
|
|
614
|
+
iStartDelay = 0;
|
|
615
|
+
#endif // _TASK_TIMECRITICAL
|
|
616
|
+
|
|
617
|
+
#ifdef _TASK_WDT_IDS
|
|
618
|
+
iControlPoint = 0;
|
|
619
|
+
#endif // _TASK_WDT_IDS
|
|
620
|
+
|
|
621
|
+
#ifdef _TASK_LTS_POINTER
|
|
622
|
+
iLTS = NULL;
|
|
623
|
+
#endif // _TASK_LTS_POINTER
|
|
624
|
+
|
|
625
|
+
#ifdef _TASK_STATUS_REQUEST
|
|
626
|
+
iStatusRequest = NULL;
|
|
627
|
+
iStatus.waiting = 0;
|
|
628
|
+
iMyStatusRequest.signalComplete();
|
|
629
|
+
#endif // _TASK_STATUS_REQUEST
|
|
630
|
+
|
|
631
|
+
#ifdef _TASK_TIMEOUT
|
|
632
|
+
iTimeout = 0;
|
|
633
|
+
iStarttime = 0;
|
|
634
|
+
iStatus.timeout = false;
|
|
635
|
+
#endif // _TASK_TIMEOUT
|
|
636
|
+
|
|
637
|
+
#ifdef _TASK_SELF_DESTRUCT
|
|
638
|
+
iStatus.sd_request = false;
|
|
639
|
+
#endif // #ifdef _TASK_SELF_DESTRUCT
|
|
640
|
+
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
/** Explicitly set Task execution parameters
|
|
644
|
+
* @param aInterval - execution interval in ms
|
|
645
|
+
* @param aIterations - number of iterations, use -1 for no limit
|
|
646
|
+
* @param aCallback - pointer to the callback method which executes the task actions
|
|
647
|
+
* @param aOnEnable - pointer to the callback method which is called on enable()
|
|
648
|
+
* @param aOnDisable - pointer to the callback method which is called on disable()
|
|
649
|
+
*/
|
|
650
|
+
|
|
651
|
+
#ifdef _TASK_OO_CALLBACKS
|
|
652
|
+
void Task::set(unsigned long aInterval, long aIterations) {
|
|
653
|
+
#else
|
|
654
|
+
void Task::set(unsigned long aInterval, long aIterations, TaskCallback aCallback, TaskOnEnable aOnEnable, TaskOnDisable aOnDisable) {
|
|
655
|
+
iCallback = aCallback;
|
|
656
|
+
iOnEnable = aOnEnable;
|
|
657
|
+
iOnDisable = aOnDisable;
|
|
658
|
+
#endif // _TASK_OO_CALLBACKS
|
|
659
|
+
setInterval(aInterval);
|
|
660
|
+
iSetIterations = aIterations;
|
|
661
|
+
iIterations = aIterations;
|
|
662
|
+
}
|
|
663
|
+
|
|
664
|
+
/** Sets number of iterations for the task
|
|
665
|
+
* if task is enabled, schedule for immediate execution
|
|
666
|
+
* @param aIterations - number of iterations, use -1 for no limit
|
|
667
|
+
*/
|
|
668
|
+
void Task::setIterations(long aIterations) {
|
|
669
|
+
iSetIterations = aIterations;
|
|
670
|
+
iIterations = aIterations;
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
#ifndef _TASK_OO_CALLBACKS
|
|
674
|
+
|
|
675
|
+
/** Prepare task for next step iteration following yielding of control to the scheduler
|
|
676
|
+
* @param aCallback - pointer to the callback method for the next step
|
|
677
|
+
*/
|
|
678
|
+
void Task::yield (TaskCallback aCallback) {
|
|
679
|
+
iCallback = aCallback;
|
|
680
|
+
forceNextIteration();
|
|
681
|
+
|
|
682
|
+
// The next 2 lines adjust runcounter and number of iterations
|
|
683
|
+
// as if it is the same run of the callback, just split between
|
|
684
|
+
// a series of callback methods
|
|
685
|
+
iRunCounter = iRunCounter - 1;
|
|
686
|
+
if ( iIterations >= 0 ) iIterations = iIterations + 1;
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
/** Prepare task for next step iteration following yielding of control to the scheduler
|
|
690
|
+
* @param aCallback - pointer to the callback method for the next step
|
|
691
|
+
*/
|
|
692
|
+
void Task::yieldOnce (TaskCallback aCallback) {
|
|
693
|
+
yield(aCallback);
|
|
694
|
+
iIterations = 1;
|
|
695
|
+
}
|
|
696
|
+
#endif // _TASK_OO_CALLBACKS
|
|
697
|
+
|
|
698
|
+
|
|
699
|
+
/** Enables the task
|
|
700
|
+
* schedules it for execution as soon as possible,
|
|
701
|
+
* and resets the RunCounter back to zero
|
|
702
|
+
*/
|
|
703
|
+
bool __TASK_IRAM Task::enable() {
|
|
704
|
+
if (iScheduler) { // activation without active scheduler does not make sense
|
|
705
|
+
iRunCounter = 0;
|
|
706
|
+
iStatus.canceled = false;
|
|
707
|
+
|
|
708
|
+
#ifdef _TASK_STATUS_REQUEST
|
|
709
|
+
iMyStatusRequest.setWaiting();
|
|
710
|
+
#endif // _TASK_STATUS_REQUEST]
|
|
711
|
+
|
|
712
|
+
#ifdef _TASK_OO_CALLBACKS
|
|
713
|
+
if ( !iStatus.inonenable ) {
|
|
714
|
+
Task *current = iScheduler->iCurrent;
|
|
715
|
+
iScheduler->iCurrent = this;
|
|
716
|
+
iStatus.inonenable = true; // Protection against potential infinite loop
|
|
717
|
+
iStatus.enabled = OnEnable();
|
|
718
|
+
iStatus.inonenable = false; // Protection against potential infinite loop
|
|
719
|
+
iScheduler->iCurrent = current;
|
|
720
|
+
}
|
|
721
|
+
#else
|
|
722
|
+
if ( iOnEnable && !iStatus.inonenable ) {
|
|
723
|
+
Task *current = iScheduler->iCurrent;
|
|
724
|
+
iScheduler->iCurrent = this;
|
|
725
|
+
iStatus.inonenable = true; // Protection against potential infinite loop
|
|
726
|
+
iStatus.enabled = iOnEnable();
|
|
727
|
+
iStatus.inonenable = false; // Protection against potential infinite loop
|
|
728
|
+
iScheduler->iCurrent = current;
|
|
729
|
+
}
|
|
730
|
+
else {
|
|
731
|
+
iStatus.enabled = true;
|
|
732
|
+
}
|
|
733
|
+
#endif // _TASK_OO_CALLBACKS
|
|
734
|
+
|
|
735
|
+
iDelay = iInterval;
|
|
736
|
+
iPreviousMillis = __TASK_TIME_FUNCTION() - iDelay;
|
|
737
|
+
|
|
738
|
+
#ifdef _TASK_TIMEOUT
|
|
739
|
+
resetTimeout();
|
|
740
|
+
#endif // _TASK_TIMEOUT
|
|
741
|
+
|
|
742
|
+
#ifdef _TASK_STATUS_REQUEST
|
|
743
|
+
if ( !iStatus.enabled ) {
|
|
744
|
+
iMyStatusRequest.signalComplete();
|
|
745
|
+
}
|
|
746
|
+
#endif // _TASK_STATUS_REQUEST
|
|
747
|
+
return iStatus.enabled;
|
|
748
|
+
}
|
|
749
|
+
return false;
|
|
750
|
+
}
|
|
751
|
+
|
|
752
|
+
/** Enables the task only if it was not enabled already
|
|
753
|
+
* Returns previous state (true if was already enabled, false if was not)
|
|
754
|
+
*/
|
|
755
|
+
bool __TASK_IRAM Task::enableIfNot() {
|
|
756
|
+
bool previousEnabled = iStatus.enabled;
|
|
757
|
+
if ( !previousEnabled ) enable();
|
|
758
|
+
return (previousEnabled);
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
/** Enables the task
|
|
762
|
+
* and schedules it for execution after a delay = aInterval
|
|
763
|
+
*/
|
|
764
|
+
bool __TASK_IRAM Task::enableDelayed(unsigned long aDelay) {
|
|
765
|
+
enable();
|
|
766
|
+
delay(aDelay);
|
|
767
|
+
return iStatus.enabled;
|
|
768
|
+
}
|
|
769
|
+
|
|
770
|
+
#ifdef _TASK_TIMEOUT
|
|
771
|
+
void Task::setTimeout(unsigned long aTimeout, bool aReset) {
|
|
772
|
+
iTimeout = aTimeout;
|
|
773
|
+
if (aReset) resetTimeout();
|
|
774
|
+
}
|
|
775
|
+
|
|
776
|
+
void Task::resetTimeout() {
|
|
777
|
+
iStarttime = __TASK_TIME_FUNCTION();
|
|
778
|
+
iStatus.timeout = false;
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
unsigned long Task::getTimeout() {
|
|
782
|
+
return iTimeout;
|
|
783
|
+
}
|
|
784
|
+
|
|
785
|
+
long Task::untilTimeout() {
|
|
786
|
+
if ( iTimeout ) {
|
|
787
|
+
return ( (long) (iStarttime + iTimeout) - (long) __TASK_TIME_FUNCTION() );
|
|
788
|
+
}
|
|
789
|
+
return -1;
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
bool Task::isTimedOut() {
|
|
793
|
+
return iStatus.timeout;
|
|
794
|
+
}
|
|
795
|
+
|
|
796
|
+
#endif // _TASK_TIMEOUT
|
|
797
|
+
|
|
798
|
+
|
|
799
|
+
|
|
800
|
+
/** Delays Task for execution after a delay = aInterval (if task is enabled).
|
|
801
|
+
* leaves task enabled or disabled
|
|
802
|
+
* if aDelay is zero, delays for the original scheduling interval from now
|
|
803
|
+
*/
|
|
804
|
+
void __TASK_IRAM Task::delay(unsigned long aDelay) {
|
|
805
|
+
iDelay = aDelay ? aDelay : iInterval;
|
|
806
|
+
iPreviousMillis = __TASK_TIME_FUNCTION();
|
|
807
|
+
}
|
|
808
|
+
|
|
809
|
+
/** Adjusts Task execution with aInterval (if task is enabled).
|
|
810
|
+
*/
|
|
811
|
+
void Task::adjust(long aInterval) {
|
|
812
|
+
if ( aInterval == 0 ) return; // nothing to do for a zero
|
|
813
|
+
if ( aInterval < 0 ) {
|
|
814
|
+
iPreviousMillis = iPreviousMillis + aInterval;
|
|
815
|
+
}
|
|
816
|
+
else {
|
|
817
|
+
iDelay = iDelay + aInterval; // we have to adjust delay because adjusting iPreviousMillis might push
|
|
818
|
+
// it into the future beyond current millis() and cause premature trigger
|
|
819
|
+
}
|
|
820
|
+
}
|
|
821
|
+
|
|
822
|
+
|
|
823
|
+
/** Schedules next iteration of Task for execution immediately (if enabled)
|
|
824
|
+
* leaves task enabled or disabled
|
|
825
|
+
* Task's original schedule is shifted, and all subsequent iterations will continue from this point in time
|
|
826
|
+
*/
|
|
827
|
+
void __TASK_IRAM Task::forceNextIteration() {
|
|
828
|
+
iDelay = iInterval;
|
|
829
|
+
iPreviousMillis = __TASK_TIME_FUNCTION() - iDelay;
|
|
830
|
+
}
|
|
831
|
+
|
|
832
|
+
/** Sets the execution interval.
|
|
833
|
+
* Task execution is delayed for aInterval
|
|
834
|
+
* Use enable() to schedule execution ASAP
|
|
835
|
+
* @param aInterval - new execution interval
|
|
836
|
+
*/
|
|
837
|
+
void Task::setInterval (unsigned long aInterval) {
|
|
838
|
+
iInterval = aInterval;
|
|
839
|
+
delay(); // iDelay will be updated by the delay() function
|
|
840
|
+
}
|
|
841
|
+
|
|
842
|
+
/** Sets the execution interval without delaying the task
|
|
843
|
+
* Task state does not change
|
|
844
|
+
* If Task is disabled, it would remain so
|
|
845
|
+
* @param aInterval - new execution interval
|
|
846
|
+
*/
|
|
847
|
+
void Task::setIntervalNodelay (unsigned long aInterval, unsigned int aOption) {
|
|
848
|
+
// #define TASK_INTERVAL_KEEP 0
|
|
849
|
+
// #define TASK_INTERVAL_RECALC 1
|
|
850
|
+
// #define TASK_INTERVAL_RESET 2
|
|
851
|
+
|
|
852
|
+
switch (aOption) {
|
|
853
|
+
case TASK_INTERVAL_RECALC:
|
|
854
|
+
{
|
|
855
|
+
int32_t d = aInterval - iInterval;
|
|
856
|
+
// change the delay proportionally
|
|
857
|
+
iDelay = iDelay + d;
|
|
858
|
+
iInterval = aInterval;
|
|
859
|
+
break;
|
|
860
|
+
}
|
|
861
|
+
case TASK_INTERVAL_RESET:
|
|
862
|
+
iInterval = aInterval;
|
|
863
|
+
iDelay = aInterval;
|
|
864
|
+
break;
|
|
865
|
+
|
|
866
|
+
default:
|
|
867
|
+
// case TASK_INTERVAL_KEEP:
|
|
868
|
+
if ( iInterval == iDelay ) {
|
|
869
|
+
iInterval = aInterval;
|
|
870
|
+
iDelay = aInterval;
|
|
871
|
+
}
|
|
872
|
+
else {
|
|
873
|
+
iInterval = aInterval;
|
|
874
|
+
}
|
|
875
|
+
break;
|
|
876
|
+
}
|
|
877
|
+
}
|
|
878
|
+
|
|
879
|
+
/** Disables task
|
|
880
|
+
* Task will no longer be executed by the scheduler
|
|
881
|
+
* Returns status of the task before disable was called (i.e., if the task was already disabled)
|
|
882
|
+
*/
|
|
883
|
+
|
|
884
|
+
bool __TASK_IRAM Task::disable() {
|
|
885
|
+
bool previousEnabled = iStatus.enabled;
|
|
886
|
+
iStatus.enabled = false;
|
|
887
|
+
iStatus.inonenable = false;
|
|
888
|
+
|
|
889
|
+
#ifdef _TASK_OO_CALLBACKS
|
|
890
|
+
if (previousEnabled) {
|
|
891
|
+
#else
|
|
892
|
+
if (previousEnabled && iOnDisable) {
|
|
893
|
+
#endif // _TASK_OO_CALLBACKS
|
|
894
|
+
|
|
895
|
+
Task *current = iScheduler->iCurrent;
|
|
896
|
+
iScheduler->iCurrent = this;
|
|
897
|
+
#ifdef _TASK_OO_CALLBACKS
|
|
898
|
+
OnDisable();
|
|
899
|
+
#else
|
|
900
|
+
iOnDisable();
|
|
901
|
+
#endif // _TASK_OO_CALLBACKS
|
|
902
|
+
|
|
903
|
+
iScheduler->iCurrent = current;
|
|
904
|
+
}
|
|
905
|
+
#ifdef _TASK_STATUS_REQUEST
|
|
906
|
+
iMyStatusRequest.signalComplete();
|
|
907
|
+
#endif
|
|
908
|
+
|
|
909
|
+
#ifdef _TASK_SELF_DESTRUCT
|
|
910
|
+
if ( getSelfDestruct() ) iStatus.sd_request = true;
|
|
911
|
+
#endif // #ifdef _TASK_SELF_DESTRUCT
|
|
912
|
+
return (previousEnabled);
|
|
913
|
+
}
|
|
914
|
+
|
|
915
|
+
/** Aborts task execution
|
|
916
|
+
* Task will no longer be executed by the scheduler AND ondisable method will not be called
|
|
917
|
+
*/
|
|
918
|
+
void __TASK_IRAM Task::abort() {
|
|
919
|
+
iStatus.enabled = false;
|
|
920
|
+
iStatus.inonenable = false;
|
|
921
|
+
iStatus.canceled = true;
|
|
922
|
+
#ifdef _TASK_STATUS_REQUEST
|
|
923
|
+
iMyStatusRequest.signalComplete(TASK_SR_ABORT);
|
|
924
|
+
#endif
|
|
925
|
+
|
|
926
|
+
#ifdef _TASK_SELF_DESTRUCT
|
|
927
|
+
if ( getSelfDestruct() ) iStatus.sd_request = true;
|
|
928
|
+
#endif // #ifdef _TASK_SELF_DESTRUCT
|
|
929
|
+
}
|
|
930
|
+
|
|
931
|
+
|
|
932
|
+
/** Cancels task execution
|
|
933
|
+
* Task will no longer be executed by the scheduler. Ondisable method will be called after 'canceled' flag is set
|
|
934
|
+
*/
|
|
935
|
+
void __TASK_IRAM Task::cancel() {
|
|
936
|
+
iStatus.canceled = true;
|
|
937
|
+
#ifdef _TASK_STATUS_REQUEST
|
|
938
|
+
iMyStatusRequest.signalComplete(TASK_SR_ABORT);
|
|
939
|
+
#endif
|
|
940
|
+
disable();
|
|
941
|
+
}
|
|
942
|
+
|
|
943
|
+
bool Task::isCanceled() {
|
|
944
|
+
return iStatus.canceled;
|
|
945
|
+
}
|
|
946
|
+
|
|
947
|
+
/** Restarts task
|
|
948
|
+
* Task will run number of iterations again
|
|
949
|
+
*/
|
|
950
|
+
|
|
951
|
+
bool __TASK_IRAM Task::restart() {
|
|
952
|
+
iIterations = iSetIterations;
|
|
953
|
+
return enable();
|
|
954
|
+
}
|
|
955
|
+
|
|
956
|
+
/** Restarts task delayed
|
|
957
|
+
* Task will run number of iterations again
|
|
958
|
+
*/
|
|
959
|
+
bool __TASK_IRAM Task::restartDelayed(unsigned long aDelay) {
|
|
960
|
+
iIterations = iSetIterations;
|
|
961
|
+
return enableDelayed(aDelay);
|
|
962
|
+
}
|
|
963
|
+
|
|
964
|
+
bool Task::isFirstIteration() { return (iRunCounter <= 1); }
|
|
965
|
+
|
|
966
|
+
bool Task::isLastIteration() { return (iIterations == 0); }
|
|
967
|
+
|
|
968
|
+
#ifdef _TASK_TIMECRITICAL
|
|
969
|
+
|
|
970
|
+
long Task::getOverrun() { return iOverrun; }
|
|
971
|
+
long Task::getStartDelay() { return iStartDelay; }
|
|
972
|
+
|
|
973
|
+
#endif // _TASK_TIMECRITICAL
|
|
974
|
+
|
|
975
|
+
|
|
976
|
+
#ifdef _TASK_WDT_IDS
|
|
977
|
+
|
|
978
|
+
void Task::setId(unsigned int aID) { iTaskID = aID; }
|
|
979
|
+
unsigned int Task::getId() { return iTaskID; }
|
|
980
|
+
void Task::setControlPoint(unsigned int aPoint) { iControlPoint = aPoint; }
|
|
981
|
+
unsigned int Task::getControlPoint() { return iControlPoint; }
|
|
982
|
+
|
|
983
|
+
#endif // _TASK_WDT_IDS
|
|
984
|
+
|
|
985
|
+
#ifdef _TASK_LTS_POINTER
|
|
986
|
+
|
|
987
|
+
void Task::setLtsPointer(void *aPtr) { iLTS = aPtr; }
|
|
988
|
+
void* Task::getLtsPointer() { return iLTS; }
|
|
989
|
+
|
|
990
|
+
#endif // _TASK_LTS_POINTER
|
|
991
|
+
|
|
992
|
+
// ------------------ Scheduler implementation --------------------
|
|
993
|
+
|
|
994
|
+
/** Default constructor.
|
|
995
|
+
* Creates a scheduler with an empty execution chain.
|
|
996
|
+
*/
|
|
997
|
+
Scheduler::Scheduler() {
|
|
998
|
+
init();
|
|
999
|
+
#ifdef _TASK_SLEEP_ON_IDLE_RUN
|
|
1000
|
+
setSleepMethod(&SleepMethod);
|
|
1001
|
+
#endif // _TASK_SLEEP_ON_IDLE_RUN
|
|
1002
|
+
}
|
|
1003
|
+
|
|
1004
|
+
/*
|
|
1005
|
+
Scheduler::~Scheduler() {
|
|
1006
|
+
#ifdef _TASK_SLEEP_ON_IDLE_RUN
|
|
1007
|
+
#endif // _TASK_SLEEP_ON_IDLE_RUN
|
|
1008
|
+
}
|
|
1009
|
+
*/
|
|
1010
|
+
|
|
1011
|
+
/** Initializes all internal varaibles
|
|
1012
|
+
*/
|
|
1013
|
+
void Scheduler::init() {
|
|
1014
|
+
iEnabled = false;
|
|
1015
|
+
|
|
1016
|
+
iFirst = NULL;
|
|
1017
|
+
iLast = NULL;
|
|
1018
|
+
iCurrent = NULL;
|
|
1019
|
+
|
|
1020
|
+
iPaused = false;
|
|
1021
|
+
|
|
1022
|
+
#ifdef _TASK_PRIORITY
|
|
1023
|
+
iHighPriority = NULL;
|
|
1024
|
+
#endif // _TASK_PRIORITY
|
|
1025
|
+
|
|
1026
|
+
#ifdef _TASK_SLEEP_ON_IDLE_RUN
|
|
1027
|
+
allowSleep(true);
|
|
1028
|
+
#endif // _TASK_SLEEP_ON_IDLE_RUN
|
|
1029
|
+
|
|
1030
|
+
#ifdef _TASK_TIMECRITICAL
|
|
1031
|
+
cpuLoadReset();
|
|
1032
|
+
#endif // _TASK_TIMECRITICAL
|
|
1033
|
+
|
|
1034
|
+
iEnabled = true;
|
|
1035
|
+
}
|
|
1036
|
+
|
|
1037
|
+
/** Appends task aTask to the tail of the execution chain.
|
|
1038
|
+
* @param &aTask - reference to the Task to be appended.
|
|
1039
|
+
* @note Task can only be part of the chain once.
|
|
1040
|
+
*/
|
|
1041
|
+
void Scheduler::addTask(Task& aTask) {
|
|
1042
|
+
// If task already belongs to a scheduler, we should not be adding
|
|
1043
|
+
// it to this scheduler. It should be deleted from the other scheduler first.
|
|
1044
|
+
if (aTask.iScheduler != NULL)
|
|
1045
|
+
return;
|
|
1046
|
+
|
|
1047
|
+
iEnabled = false;
|
|
1048
|
+
|
|
1049
|
+
aTask.iScheduler = this;
|
|
1050
|
+
// First task situation:
|
|
1051
|
+
if (iFirst == NULL) {
|
|
1052
|
+
iFirst = &aTask;
|
|
1053
|
+
aTask.iPrev = NULL;
|
|
1054
|
+
}
|
|
1055
|
+
else {
|
|
1056
|
+
// This task gets linked back to the previous last one
|
|
1057
|
+
aTask.iPrev = iLast;
|
|
1058
|
+
iLast->iNext = &aTask;
|
|
1059
|
+
}
|
|
1060
|
+
// "Previous" last task gets linked to this one - as this one becomes the last one
|
|
1061
|
+
aTask.iNext = NULL;
|
|
1062
|
+
iLast = &aTask;
|
|
1063
|
+
|
|
1064
|
+
iEnabled = true;
|
|
1065
|
+
}
|
|
1066
|
+
|
|
1067
|
+
/** Deletes specific Task from the execution chain
|
|
1068
|
+
* @param &aTask - reference to the task to be deleted from the chain
|
|
1069
|
+
*/
|
|
1070
|
+
void Scheduler::deleteTask(Task& aTask) {
|
|
1071
|
+
// Can only delete own tasks
|
|
1072
|
+
if (aTask.iScheduler != this)
|
|
1073
|
+
return;
|
|
1074
|
+
|
|
1075
|
+
iEnabled = false;
|
|
1076
|
+
|
|
1077
|
+
aTask.iScheduler = NULL;
|
|
1078
|
+
if (aTask.iPrev == NULL) {
|
|
1079
|
+
if (aTask.iNext == NULL) {
|
|
1080
|
+
iFirst = NULL;
|
|
1081
|
+
iLast = NULL;
|
|
1082
|
+
iEnabled = true;
|
|
1083
|
+
return;
|
|
1084
|
+
}
|
|
1085
|
+
else {
|
|
1086
|
+
aTask.iNext->iPrev = NULL;
|
|
1087
|
+
iFirst = aTask.iNext;
|
|
1088
|
+
aTask.iNext = NULL;
|
|
1089
|
+
iEnabled = true;
|
|
1090
|
+
return;
|
|
1091
|
+
}
|
|
1092
|
+
}
|
|
1093
|
+
|
|
1094
|
+
if (aTask.iNext == NULL) {
|
|
1095
|
+
aTask.iPrev->iNext = NULL;
|
|
1096
|
+
iLast = aTask.iPrev;
|
|
1097
|
+
aTask.iPrev = NULL;
|
|
1098
|
+
iEnabled = true;
|
|
1099
|
+
return;
|
|
1100
|
+
}
|
|
1101
|
+
|
|
1102
|
+
aTask.iPrev->iNext = aTask.iNext;
|
|
1103
|
+
aTask.iNext->iPrev = aTask.iPrev;
|
|
1104
|
+
aTask.iPrev = NULL;
|
|
1105
|
+
aTask.iNext = NULL;
|
|
1106
|
+
|
|
1107
|
+
iEnabled = true;
|
|
1108
|
+
}
|
|
1109
|
+
|
|
1110
|
+
/** Disables all tasks in the execution chain
|
|
1111
|
+
* Convenient for error situations, when the only
|
|
1112
|
+
* task remaining active is an error processing task
|
|
1113
|
+
* @param aRecursive - if true, tasks of the higher priority chains are disabled as well recursively
|
|
1114
|
+
*/
|
|
1115
|
+
#ifdef _TASK_PRIORITY
|
|
1116
|
+
void Scheduler::disableAll(bool aRecursive) {
|
|
1117
|
+
#else
|
|
1118
|
+
void Scheduler::disableAll() {
|
|
1119
|
+
#endif
|
|
1120
|
+
|
|
1121
|
+
iEnabled = false;
|
|
1122
|
+
|
|
1123
|
+
Task* current = iFirst;
|
|
1124
|
+
Task* next;
|
|
1125
|
+
while (current) {
|
|
1126
|
+
next = current->iNext;
|
|
1127
|
+
current->disable();
|
|
1128
|
+
#ifdef _TASK_SELF_DESTRUCT
|
|
1129
|
+
if ( current->iStatus.sd_request ) delete current;
|
|
1130
|
+
#endif // #ifdef _TASK_SELF_DESTRUCT
|
|
1131
|
+
current = next;
|
|
1132
|
+
}
|
|
1133
|
+
|
|
1134
|
+
#ifdef _TASK_PRIORITY
|
|
1135
|
+
if (aRecursive && iHighPriority) iHighPriority->disableAll(true);
|
|
1136
|
+
#endif // _TASK_PRIORITY
|
|
1137
|
+
|
|
1138
|
+
iEnabled = true;
|
|
1139
|
+
}
|
|
1140
|
+
|
|
1141
|
+
|
|
1142
|
+
/** Enables all the tasks in the execution chain
|
|
1143
|
+
* @param aRecursive - if true, tasks of the higher priority chains are enabled as well recursively
|
|
1144
|
+
*/
|
|
1145
|
+
#ifdef _TASK_PRIORITY
|
|
1146
|
+
void Scheduler::enableAll(bool aRecursive) {
|
|
1147
|
+
#else
|
|
1148
|
+
void Scheduler::enableAll() {
|
|
1149
|
+
#endif
|
|
1150
|
+
|
|
1151
|
+
iEnabled = false;
|
|
1152
|
+
|
|
1153
|
+
Task *current = iFirst;
|
|
1154
|
+
while (current) {
|
|
1155
|
+
current->enable();
|
|
1156
|
+
current = current->iNext;
|
|
1157
|
+
}
|
|
1158
|
+
|
|
1159
|
+
#ifdef _TASK_PRIORITY
|
|
1160
|
+
if (aRecursive && iHighPriority) iHighPriority->enableAll(true);
|
|
1161
|
+
#endif // _TASK_PRIORITY
|
|
1162
|
+
|
|
1163
|
+
iEnabled = true;
|
|
1164
|
+
}
|
|
1165
|
+
|
|
1166
|
+
/** Sets scheduler for the higher priority tasks (support for layered task priority)
|
|
1167
|
+
* @param aScheduler - pointer to a scheduler for the higher priority tasks
|
|
1168
|
+
*/
|
|
1169
|
+
#ifdef _TASK_PRIORITY
|
|
1170
|
+
void Scheduler::setHighPriorityScheduler(Scheduler* aScheduler) {
|
|
1171
|
+
if (aScheduler != this) iHighPriority = aScheduler; // Setting yourself as a higher priority one will create infinite recursive call
|
|
1172
|
+
|
|
1173
|
+
#ifdef _TASK_SLEEP_ON_IDLE_RUN
|
|
1174
|
+
if (iHighPriority) {
|
|
1175
|
+
iHighPriority->allowSleep(false); // Higher priority schedulers should not do power management
|
|
1176
|
+
}
|
|
1177
|
+
#endif // _TASK_SLEEP_ON_IDLE_RUN
|
|
1178
|
+
|
|
1179
|
+
};
|
|
1180
|
+
#endif // _TASK_PRIORITY
|
|
1181
|
+
|
|
1182
|
+
|
|
1183
|
+
#ifdef _TASK_SLEEP_ON_IDLE_RUN
|
|
1184
|
+
void Scheduler::allowSleep(bool aState) {
|
|
1185
|
+
iAllowSleep = aState;
|
|
1186
|
+
}
|
|
1187
|
+
#endif // _TASK_SLEEP_ON_IDLE_RUN
|
|
1188
|
+
|
|
1189
|
+
|
|
1190
|
+
#ifdef _TASK_PRIORITY
|
|
1191
|
+
void Scheduler::startNow( bool aRecursive ) {
|
|
1192
|
+
#else
|
|
1193
|
+
void Scheduler::startNow() {
|
|
1194
|
+
#endif
|
|
1195
|
+
unsigned long t = __TASK_TIME_FUNCTION();
|
|
1196
|
+
|
|
1197
|
+
iEnabled = false;
|
|
1198
|
+
|
|
1199
|
+
iCurrent = iFirst;
|
|
1200
|
+
while (iCurrent) {
|
|
1201
|
+
if ( iCurrent->iStatus.enabled ) iCurrent->iPreviousMillis = t - iCurrent->iDelay;
|
|
1202
|
+
iCurrent = iCurrent->iNext;
|
|
1203
|
+
}
|
|
1204
|
+
|
|
1205
|
+
#ifdef _TASK_PRIORITY
|
|
1206
|
+
if (aRecursive && iHighPriority) iHighPriority->startNow( true );
|
|
1207
|
+
#endif // _TASK_PRIORITY
|
|
1208
|
+
|
|
1209
|
+
iEnabled = true;
|
|
1210
|
+
}
|
|
1211
|
+
|
|
1212
|
+
/** Returns number millis or micros until next scheduled iteration of a given task
|
|
1213
|
+
*
|
|
1214
|
+
* @param aTask - reference to task which next iteration is in question
|
|
1215
|
+
*/
|
|
1216
|
+
long Scheduler::timeUntilNextIteration(Task& aTask) {
|
|
1217
|
+
|
|
1218
|
+
#ifdef _TASK_STATUS_REQUEST
|
|
1219
|
+
|
|
1220
|
+
StatusRequest *s = aTask.getStatusRequest();
|
|
1221
|
+
if ( s != NULL && s->pending() )
|
|
1222
|
+
return (-1); // cannot be determined
|
|
1223
|
+
#endif
|
|
1224
|
+
if ( !aTask.isEnabled() )
|
|
1225
|
+
return (-1); // cannot be determined
|
|
1226
|
+
|
|
1227
|
+
long d = (long) aTask.iDelay - ( (long) (__TASK_TIME_FUNCTION() - aTask.iPreviousMillis) );
|
|
1228
|
+
|
|
1229
|
+
if ( d < 0 )
|
|
1230
|
+
return (0); // Task will run as soon as possible
|
|
1231
|
+
return ( d );
|
|
1232
|
+
}
|
|
1233
|
+
|
|
1234
|
+
|
|
1235
|
+
Task& Scheduler::currentTask() { return *iCurrent; } // DEPRICATED. Use the next one instead
|
|
1236
|
+
Task* Scheduler::getCurrentTask() { return iCurrent; }
|
|
1237
|
+
|
|
1238
|
+
#ifdef _TASK_LTS_POINTER
|
|
1239
|
+
void* Scheduler::currentLts() { return iCurrent->iLTS; }
|
|
1240
|
+
#endif // _TASK_LTS_POINTER
|
|
1241
|
+
|
|
1242
|
+
#ifdef _TASK_TIMECRITICAL
|
|
1243
|
+
bool Scheduler::isOverrun() { return (iCurrent->iOverrun < 0); }
|
|
1244
|
+
|
|
1245
|
+
void Scheduler::cpuLoadReset() {
|
|
1246
|
+
iCPUStart = _task_micros();
|
|
1247
|
+
iCPUCycle = 0;
|
|
1248
|
+
iCPUIdle = 0;
|
|
1249
|
+
}
|
|
1250
|
+
|
|
1251
|
+
|
|
1252
|
+
unsigned long Scheduler::getCpuLoadTotal() {
|
|
1253
|
+
return (_task_micros() - iCPUStart);
|
|
1254
|
+
}
|
|
1255
|
+
#endif // _TASK_TIMECRITICAL
|
|
1256
|
+
|
|
1257
|
+
|
|
1258
|
+
#ifdef _TASK_SLEEP_ON_IDLE_RUN
|
|
1259
|
+
void Scheduler::setSleepMethod( SleepCallback aCallback ) {
|
|
1260
|
+
if ( aCallback != NULL ) {
|
|
1261
|
+
iSleepScheduler = this;
|
|
1262
|
+
iSleepMethod = aCallback;
|
|
1263
|
+
}
|
|
1264
|
+
}
|
|
1265
|
+
#endif // _TASK_SLEEP_ON_IDLE_RUN
|
|
1266
|
+
|
|
1267
|
+
#ifdef _TASK_THREAD_SAFE
|
|
1268
|
+
bool Scheduler::requestAction(_task_request_t* aRequest) {
|
|
1269
|
+
if ( aRequest == NULL ) return false;
|
|
1270
|
+
return _task_enqueue_request(aRequest);
|
|
1271
|
+
}
|
|
1272
|
+
|
|
1273
|
+
bool Scheduler::requestAction(void* aObject, _task_request_type_t aType, unsigned long aParam1, unsigned long aParam2, unsigned long aParam3, unsigned long aParam4, unsigned long aParam5) {
|
|
1274
|
+
if ( aObject == NULL ) return false;
|
|
1275
|
+
_task_request_t r = {
|
|
1276
|
+
.req_type = aType,
|
|
1277
|
+
.object_ptr = aObject,
|
|
1278
|
+
.param1 = aParam1,
|
|
1279
|
+
.param2 = aParam2,
|
|
1280
|
+
.param3 = aParam3,
|
|
1281
|
+
.param4 = aParam4,
|
|
1282
|
+
.param5 = aParam5
|
|
1283
|
+
};
|
|
1284
|
+
return _task_enqueue_request(&r);
|
|
1285
|
+
}
|
|
1286
|
+
|
|
1287
|
+
void Scheduler::processRequests() {
|
|
1288
|
+
_task_request_t req;
|
|
1289
|
+
|
|
1290
|
+
while ( _task_dequeue_request(&req) ) {
|
|
1291
|
+
|
|
1292
|
+
if ( req.object_ptr == NULL ) continue;
|
|
1293
|
+
|
|
1294
|
+
switch (req.req_type ) {
|
|
1295
|
+
|
|
1296
|
+
#ifdef _TASK_STATUS_REQUEST
|
|
1297
|
+
case TASK_SR_REQUEST_SETWAITING_1: {
|
|
1298
|
+
StatusRequest* t = (StatusRequest*) req.object_ptr;
|
|
1299
|
+
t->setWaiting(req.param1);
|
|
1300
|
+
}
|
|
1301
|
+
break;
|
|
1302
|
+
|
|
1303
|
+
case TASK_SR_REQUEST_SIGNAL_1: {
|
|
1304
|
+
StatusRequest* t = (StatusRequest*) req.object_ptr;
|
|
1305
|
+
t->signal((int)req.param1);
|
|
1306
|
+
}
|
|
1307
|
+
break;
|
|
1308
|
+
|
|
1309
|
+
case TASK_SR_REQUEST_SIGNALCOMPLETE_1: {
|
|
1310
|
+
StatusRequest* t = (StatusRequest*) req.object_ptr;
|
|
1311
|
+
t->signalComplete((int) req.param1);
|
|
1312
|
+
}
|
|
1313
|
+
break;
|
|
1314
|
+
|
|
1315
|
+
#ifdef _TASK_TIMEOUT
|
|
1316
|
+
case TASK_SR_REQUEST_SETTIMEOUT_1: {
|
|
1317
|
+
StatusRequest* t = (StatusRequest*) req.object_ptr;
|
|
1318
|
+
t->setTimeout(req.param1);
|
|
1319
|
+
}
|
|
1320
|
+
break;
|
|
1321
|
+
|
|
1322
|
+
case TASK_SR_REQUEST_RESETTIMEOUT_0: {
|
|
1323
|
+
StatusRequest* t = (StatusRequest*) req.object_ptr;
|
|
1324
|
+
t->resetTimeout();
|
|
1325
|
+
}
|
|
1326
|
+
break;
|
|
1327
|
+
#endif // _TASK_TIMEOUT
|
|
1328
|
+
|
|
1329
|
+
#endif
|
|
1330
|
+
|
|
1331
|
+
#ifdef _TASK_LTS_POINTER
|
|
1332
|
+
case TASK_REQUEST_SETLTSPOINTER_1: {
|
|
1333
|
+
Task* t = (Task*) req.object_ptr;
|
|
1334
|
+
t->setLtsPointer((void*) req.param1);
|
|
1335
|
+
}
|
|
1336
|
+
break;
|
|
1337
|
+
#endif
|
|
1338
|
+
|
|
1339
|
+
#ifdef _TASK_SELF_DESTRUCT
|
|
1340
|
+
case TASK_REQUEST_SETSELFDESTRUCT_1: {
|
|
1341
|
+
Task* t = (Task*) req.object_ptr;
|
|
1342
|
+
t->setSchedulingOption((bool)req.param1);
|
|
1343
|
+
}
|
|
1344
|
+
break;
|
|
1345
|
+
#endif
|
|
1346
|
+
|
|
1347
|
+
#ifdef _TASK_SCHEDULING_OPTIONS
|
|
1348
|
+
case TASK_REQUEST_SETSCHEDULINGOPTION_1: {
|
|
1349
|
+
Task* t = (Task*) req.object_ptr;
|
|
1350
|
+
t->setSchedulingOption((unsigned int)req.param1);
|
|
1351
|
+
}
|
|
1352
|
+
break;
|
|
1353
|
+
#endif
|
|
1354
|
+
|
|
1355
|
+
#ifdef _TASK_TIMEOUT
|
|
1356
|
+
case TASK_REQUEST_SETTIMEOUT_2: {
|
|
1357
|
+
Task* t = (Task*) req.object_ptr;
|
|
1358
|
+
t->setTimeout(req.param1, (bool)req.param2);
|
|
1359
|
+
}
|
|
1360
|
+
break;
|
|
1361
|
+
|
|
1362
|
+
case TASK_REQUEST_RESETTIMEOUT_0: {
|
|
1363
|
+
Task* t = (Task*) req.object_ptr;
|
|
1364
|
+
t->resetTimeout();
|
|
1365
|
+
}
|
|
1366
|
+
break;
|
|
1367
|
+
#endif
|
|
1368
|
+
|
|
1369
|
+
#ifdef _TASK_STATUS_REQUEST
|
|
1370
|
+
case TASK_REQUEST_WAITFOR: {
|
|
1371
|
+
Task* t = (Task*) req.object_ptr;
|
|
1372
|
+
t->waitFor((StatusRequest*)req.param1, req.param2, req.param3);
|
|
1373
|
+
}
|
|
1374
|
+
break;
|
|
1375
|
+
|
|
1376
|
+
case TASK_REQUEST_WAITFORDELAYED_3: {
|
|
1377
|
+
Task* t = (Task*) req.object_ptr;
|
|
1378
|
+
t->waitForDelayed((StatusRequest*)req.param1, req.param2, (long) req.param3);
|
|
1379
|
+
}
|
|
1380
|
+
break;
|
|
1381
|
+
#endif
|
|
1382
|
+
|
|
1383
|
+
#ifdef _TASK_WDT_IDS
|
|
1384
|
+
case TASK_REQUEST_SETID_1: {
|
|
1385
|
+
Task* t = (Task*) req.object_ptr;
|
|
1386
|
+
t->setId((unsigned int)req.param1);
|
|
1387
|
+
}
|
|
1388
|
+
break;
|
|
1389
|
+
|
|
1390
|
+
case TASK_REQUEST_SETCONTROLPOINT_1: {
|
|
1391
|
+
Task* t = (Task*) req.object_ptr;
|
|
1392
|
+
t->setControlPoint((unsigned int)req.param1);
|
|
1393
|
+
}
|
|
1394
|
+
break;
|
|
1395
|
+
#endif
|
|
1396
|
+
|
|
1397
|
+
case TASK_REQUEST_ENABLE_0: {
|
|
1398
|
+
Task* t = (Task*) req.object_ptr;
|
|
1399
|
+
t->enable();
|
|
1400
|
+
}
|
|
1401
|
+
break;
|
|
1402
|
+
|
|
1403
|
+
case TASK_REQUEST_ENABLEIFNOT_0: {
|
|
1404
|
+
Task* t = (Task*) req.object_ptr;
|
|
1405
|
+
t->enableIfNot();
|
|
1406
|
+
}
|
|
1407
|
+
break;
|
|
1408
|
+
|
|
1409
|
+
case TASK_REQUEST_ENABLEDELAYED_1: {
|
|
1410
|
+
Task* t = (Task*) req.object_ptr;
|
|
1411
|
+
t->enableDelayed(req.param1);
|
|
1412
|
+
}
|
|
1413
|
+
break;
|
|
1414
|
+
|
|
1415
|
+
case TASK_REQUEST_RESTART_0: {
|
|
1416
|
+
Task* t = (Task*) req.object_ptr;
|
|
1417
|
+
t->restart();
|
|
1418
|
+
}
|
|
1419
|
+
break;
|
|
1420
|
+
|
|
1421
|
+
case TASK_REQUEST_RESTARTDELAYED_1: {
|
|
1422
|
+
Task* t = (Task*) req.object_ptr;
|
|
1423
|
+
t->restartDelayed(req.param1);
|
|
1424
|
+
}
|
|
1425
|
+
break;
|
|
1426
|
+
|
|
1427
|
+
case TASK_REQUEST_DELAY_1: {
|
|
1428
|
+
Task* t = (Task*) req.object_ptr;
|
|
1429
|
+
t->delay(req.param1);
|
|
1430
|
+
}
|
|
1431
|
+
break;
|
|
1432
|
+
|
|
1433
|
+
case TASK_REQUEST_ADJUST_1: {
|
|
1434
|
+
Task* t = (Task*) req.object_ptr;
|
|
1435
|
+
t->adjust(req.param1);
|
|
1436
|
+
}
|
|
1437
|
+
break;
|
|
1438
|
+
|
|
1439
|
+
case TASK_REQUEST_FORCENEXTITERATION_0: {
|
|
1440
|
+
Task* t = (Task*) req.object_ptr;
|
|
1441
|
+
t->forceNextIteration();
|
|
1442
|
+
}
|
|
1443
|
+
break;
|
|
1444
|
+
|
|
1445
|
+
case TASK_REQUEST_DISABLE_0: {
|
|
1446
|
+
Task* t = (Task*) req.object_ptr;
|
|
1447
|
+
t->disable();
|
|
1448
|
+
}
|
|
1449
|
+
break;
|
|
1450
|
+
|
|
1451
|
+
case TASK_REQUEST_ABORT_0: {
|
|
1452
|
+
Task* t = (Task*) req.object_ptr;
|
|
1453
|
+
t->abort();
|
|
1454
|
+
}
|
|
1455
|
+
break;
|
|
1456
|
+
|
|
1457
|
+
case TASK_REQUEST_CANCEL_0: {
|
|
1458
|
+
Task* t = (Task*) req.object_ptr;
|
|
1459
|
+
t->cancel();
|
|
1460
|
+
}
|
|
1461
|
+
break;
|
|
1462
|
+
|
|
1463
|
+
case TASK_REQUEST_SET_5:{
|
|
1464
|
+
Task* t = (Task*) req.object_ptr;
|
|
1465
|
+
#ifdef _TASK_OO_CALLBACKS
|
|
1466
|
+
t->set(req.param1, (long)req.param2);
|
|
1467
|
+
#else
|
|
1468
|
+
t->set(req.param1, (long)req.param2, (TaskCallback) req.param3, (TaskOnEnable) req.param4, (TaskOnDisable) req.param5);
|
|
1469
|
+
#endif
|
|
1470
|
+
}
|
|
1471
|
+
break;
|
|
1472
|
+
|
|
1473
|
+
case TASK_REQUEST_SETINTERVAL_1: {
|
|
1474
|
+
Task* t = (Task*) req.object_ptr;
|
|
1475
|
+
t->setInterval(req.param1);
|
|
1476
|
+
}
|
|
1477
|
+
break;
|
|
1478
|
+
|
|
1479
|
+
case TASK_REQUEST_SETINTERVALNODELAY_2: {
|
|
1480
|
+
Task* t = (Task*) req.object_ptr;
|
|
1481
|
+
t->setIntervalNodelay(req.param1, (unsigned int)req.param2);
|
|
1482
|
+
}
|
|
1483
|
+
break;
|
|
1484
|
+
|
|
1485
|
+
case TASK_REQUEST_SETITERATIONS_1: {
|
|
1486
|
+
Task* t = (Task*) req.object_ptr;
|
|
1487
|
+
t->setIterations((long)req.param1);
|
|
1488
|
+
}
|
|
1489
|
+
break;
|
|
1490
|
+
|
|
1491
|
+
case TASK_REQUEST_SETCALLBACK_1: {
|
|
1492
|
+
Task* t = (Task*) req.object_ptr;
|
|
1493
|
+
t->setCallback((TaskCallback)req.param1);
|
|
1494
|
+
}
|
|
1495
|
+
break;
|
|
1496
|
+
|
|
1497
|
+
case TASK_REQUEST_SETONENABLE_1: {
|
|
1498
|
+
Task* t = (Task*) req.object_ptr;
|
|
1499
|
+
t->setOnEnable((TaskOnEnable)req.param1);
|
|
1500
|
+
}
|
|
1501
|
+
break;
|
|
1502
|
+
|
|
1503
|
+
case TASK_REQUEST_SETONDISABLE_1: {
|
|
1504
|
+
Task* t = (Task*) req.object_ptr;
|
|
1505
|
+
t->setOnDisable((TaskOnDisable)req.param1);
|
|
1506
|
+
}
|
|
1507
|
+
break;
|
|
1508
|
+
|
|
1509
|
+
default:
|
|
1510
|
+
break;
|
|
1511
|
+
}
|
|
1512
|
+
}
|
|
1513
|
+
}
|
|
1514
|
+
#endif // _TASK_THREAD_SAFE
|
|
1515
|
+
|
|
1516
|
+
|
|
1517
|
+
/** Makes one pass through the execution chain.
|
|
1518
|
+
* Tasks are executed in the order they were added to the chain
|
|
1519
|
+
* There is no concept of priority
|
|
1520
|
+
* Different pseudo "priority" could be achieved
|
|
1521
|
+
* by running task more frequently
|
|
1522
|
+
*/
|
|
1523
|
+
|
|
1524
|
+
bool Scheduler::execute() {
|
|
1525
|
+
|
|
1526
|
+
bool idleRun = true;
|
|
1527
|
+
unsigned long m, i; // millis, interval;
|
|
1528
|
+
|
|
1529
|
+
#if defined(_TASK_TIMECRITICAL)
|
|
1530
|
+
unsigned long tPassStart;
|
|
1531
|
+
unsigned long tTaskStart, tTaskFinish;
|
|
1532
|
+
#endif // _TASK_TIMECRITICAL
|
|
1533
|
+
|
|
1534
|
+
#ifdef _TASK_SLEEP_ON_IDLE_RUN
|
|
1535
|
+
unsigned long tFinish;
|
|
1536
|
+
unsigned long tStart;
|
|
1537
|
+
#ifdef _TASK_TIMECRITICAL
|
|
1538
|
+
unsigned long tIdleStart = 0;
|
|
1539
|
+
#endif // _TASK_TIMECRITICAL
|
|
1540
|
+
#endif // _TASK_SLEEP_ON_IDLE_RUN
|
|
1541
|
+
|
|
1542
|
+
|
|
1543
|
+
Task *nextTask; // support for deleting the task in the onDisable method
|
|
1544
|
+
iCurrent = iFirst;
|
|
1545
|
+
|
|
1546
|
+
iActiveTasks = 0;
|
|
1547
|
+
iTotalTasks = 0;
|
|
1548
|
+
iInvokedTasks = 0;
|
|
1549
|
+
|
|
1550
|
+
#ifdef _TASK_PRIORITY
|
|
1551
|
+
// If lower priority scheduler does not have a single task in the chain
|
|
1552
|
+
// the higher priority scheduler still has to have a chance to run
|
|
1553
|
+
if (!iCurrent && iHighPriority) iHighPriority->execute();
|
|
1554
|
+
iCurrentScheduler = this;
|
|
1555
|
+
#endif // _TASK_PRIORITY
|
|
1556
|
+
|
|
1557
|
+
// each scheduled is enabled/disabled individually, so check iEnabled only
|
|
1558
|
+
// after the higher priority scheduler has been invoked.
|
|
1559
|
+
if ( !iEnabled ) return true; // consider this to be an idle run
|
|
1560
|
+
|
|
1561
|
+
#ifdef _TASK_THREAD_SAFE
|
|
1562
|
+
// Process external requests for task updates
|
|
1563
|
+
// The requests are processed in bulk, in the order they were received
|
|
1564
|
+
processRequests();
|
|
1565
|
+
#endif
|
|
1566
|
+
|
|
1567
|
+
#ifdef _TASK_SLEEP_ON_IDLE_RUN
|
|
1568
|
+
// scheduling pass starts
|
|
1569
|
+
tStart = _task_micros();
|
|
1570
|
+
#endif
|
|
1571
|
+
|
|
1572
|
+
#ifdef _TASK_TICKLESS
|
|
1573
|
+
unsigned long nr = UINT32_MAX; // we do not know yet if we can tell when next run will be
|
|
1574
|
+
unsigned int nrd = _TASK_NEXTRUN_UNDEFINED;
|
|
1575
|
+
#endif
|
|
1576
|
+
|
|
1577
|
+
|
|
1578
|
+
while (!iPaused && iCurrent) {
|
|
1579
|
+
|
|
1580
|
+
#ifdef _TASK_THREAD_SAFE
|
|
1581
|
+
// Process external requests for task on every pass
|
|
1582
|
+
// The requests are processed in bulk, in the order they were received
|
|
1583
|
+
// This should emulate a one-thread behaviour
|
|
1584
|
+
processRequests();
|
|
1585
|
+
#endif
|
|
1586
|
+
|
|
1587
|
+
iTotalTasks++;
|
|
1588
|
+
|
|
1589
|
+
#if defined(_TASK_TIMECRITICAL)
|
|
1590
|
+
tPassStart = _task_micros();
|
|
1591
|
+
tTaskStart = tTaskFinish = 0;
|
|
1592
|
+
#endif // _TASK_TIMECRITICAL
|
|
1593
|
+
|
|
1594
|
+
#ifdef _TASK_PRIORITY
|
|
1595
|
+
// If scheduler for higher priority tasks is set, it's entire chain is executed on every pass of the base scheduler
|
|
1596
|
+
if (iHighPriority) idleRun = iHighPriority->execute() && idleRun;
|
|
1597
|
+
iCurrentScheduler = this;
|
|
1598
|
+
#endif // _TASK_PRIORITY
|
|
1599
|
+
nextTask = iCurrent->iNext;
|
|
1600
|
+
do {
|
|
1601
|
+
if ( iCurrent->iStatus.enabled ) {
|
|
1602
|
+
iActiveTasks++;
|
|
1603
|
+
|
|
1604
|
+
#ifdef _TASK_WDT_IDS
|
|
1605
|
+
// For each task the control points are initialized to avoid confusion because of carry-over:
|
|
1606
|
+
iCurrent->iControlPoint = 0;
|
|
1607
|
+
#endif // _TASK_WDT_IDS
|
|
1608
|
+
|
|
1609
|
+
// Disable task on last iteration:
|
|
1610
|
+
if (iCurrent->iIterations == 0) {
|
|
1611
|
+
iCurrent->disable();
|
|
1612
|
+
#ifdef _TASK_SELF_DESTRUCT
|
|
1613
|
+
if ( iCurrent->iStatus.sd_request ) delete iCurrent;
|
|
1614
|
+
#endif // #ifdef _TASK_SELF_DESTRUCT
|
|
1615
|
+
break;
|
|
1616
|
+
}
|
|
1617
|
+
m = __TASK_TIME_FUNCTION();
|
|
1618
|
+
i = iCurrent->iInterval;
|
|
1619
|
+
|
|
1620
|
+
#ifdef _TASK_TIMEOUT
|
|
1621
|
+
// Disable task on a timeout
|
|
1622
|
+
if ( iCurrent->iTimeout && (m - iCurrent->iStarttime > iCurrent->iTimeout) ) {
|
|
1623
|
+
iCurrent->iStatus.timeout = true;
|
|
1624
|
+
iCurrent->disable();
|
|
1625
|
+
#ifdef _TASK_SELF_DESTRUCT
|
|
1626
|
+
if ( iCurrent->iStatus.sd_request ) delete iCurrent;
|
|
1627
|
+
#endif // #ifdef _TASK_SELF_DESTRUCT
|
|
1628
|
+
break;
|
|
1629
|
+
}
|
|
1630
|
+
#endif // _TASK_TIMEOUT
|
|
1631
|
+
|
|
1632
|
+
#ifdef _TASK_STATUS_REQUEST
|
|
1633
|
+
// If StatusRequest object was provided, and still pending, and task is waiting, this task should not run
|
|
1634
|
+
// Otherwise, continue with execution as usual. Tasks waiting to StatusRequest need to be rescheduled according to
|
|
1635
|
+
// how they were placed into waiting state (waitFor or waitForDelayed)
|
|
1636
|
+
if ( iCurrent->iStatus.waiting ) {
|
|
1637
|
+
|
|
1638
|
+
#ifdef _TASK_TICKLESS
|
|
1639
|
+
// if there is a task waiting on a status request we are obligated to run continously
|
|
1640
|
+
// because event can trigger at any point at time.
|
|
1641
|
+
nrd |= _TASK_NEXTRUN_IMMEDIATE; // immediate
|
|
1642
|
+
#endif
|
|
1643
|
+
|
|
1644
|
+
#ifdef _TASK_TIMEOUT
|
|
1645
|
+
StatusRequest *sr = iCurrent->iStatusRequest;
|
|
1646
|
+
if ( sr->iTimeout && (m - sr->iStarttime > sr->iTimeout) ) {
|
|
1647
|
+
sr->signalComplete(TASK_SR_TIMEOUT);
|
|
1648
|
+
}
|
|
1649
|
+
#endif // _TASK_TIMEOUT
|
|
1650
|
+
if ( (iCurrent->iStatusRequest)->pending() ) break;
|
|
1651
|
+
if ( (iCurrent->iStatusRequest)->iStatus == TASK_SR_ABORT ) {
|
|
1652
|
+
iCurrent->abort();
|
|
1653
|
+
break;
|
|
1654
|
+
}
|
|
1655
|
+
if (iCurrent->iStatus.waiting == _TASK_SR_NODELAY) {
|
|
1656
|
+
iCurrent->iDelay = i;
|
|
1657
|
+
iCurrent->iPreviousMillis = m - i;
|
|
1658
|
+
}
|
|
1659
|
+
else {
|
|
1660
|
+
iCurrent->iPreviousMillis = m;
|
|
1661
|
+
}
|
|
1662
|
+
iCurrent->iStatus.waiting = 0;
|
|
1663
|
+
}
|
|
1664
|
+
#endif // _TASK_STATUS_REQUEST
|
|
1665
|
+
|
|
1666
|
+
// this is the main scheduling decision point
|
|
1667
|
+
// if the interval between current time and previous invokation time is less than the current delay - task should NOT be activated yet.
|
|
1668
|
+
// this is millis-rollover-safe way of scheduling
|
|
1669
|
+
if ( m - iCurrent->iPreviousMillis < iCurrent->iDelay ) {
|
|
1670
|
+
#ifdef _TASK_TICKLESS
|
|
1671
|
+
// catch the reamining time until invocation as next time this should run
|
|
1672
|
+
// this does not handle millis rollover well - so for the rollover situation (once every 47 days)
|
|
1673
|
+
// we will require immediate execution
|
|
1674
|
+
unsigned long nextrun = iCurrent->iDelay + iCurrent->iPreviousMillis;
|
|
1675
|
+
// nextrun should be after current millis() (except rollover)
|
|
1676
|
+
// nextrun should be sooner than previously determined
|
|
1677
|
+
if ( nextrun > m && nextrun < nr ) {
|
|
1678
|
+
nr = nextrun;
|
|
1679
|
+
nrd |= _TASK_NEXTRUN_TIMED; // next run timed
|
|
1680
|
+
}
|
|
1681
|
+
#endif // _TASK_TICKLESS
|
|
1682
|
+
break;
|
|
1683
|
+
}
|
|
1684
|
+
|
|
1685
|
+
|
|
1686
|
+
#ifdef _TASK_TICKLESS
|
|
1687
|
+
// if there is a task ready to run right now - we have to have another scheduler pass right after this one
|
|
1688
|
+
// this is especially important for the tasks that run out of iterations and should be disabled during next pass
|
|
1689
|
+
nrd |= _TASK_NEXTRUN_IMMEDIATE; // next run immediate
|
|
1690
|
+
#endif
|
|
1691
|
+
|
|
1692
|
+
if ( iCurrent->iIterations > 0 ) iCurrent->iIterations = iCurrent->iIterations - 1; // do not decrement (-1) being a signal of never-ending task
|
|
1693
|
+
iCurrent->iRunCounter = iCurrent->iRunCounter + 1;
|
|
1694
|
+
#ifdef _TASK_SCHEDULING_OPTIONS
|
|
1695
|
+
switch (iCurrent->iOption) {
|
|
1696
|
+
case TASK_INTERVAL:
|
|
1697
|
+
iCurrent->iPreviousMillis = m;
|
|
1698
|
+
break;
|
|
1699
|
+
|
|
1700
|
+
case TASK_SCHEDULE_NC:
|
|
1701
|
+
iCurrent->iPreviousMillis = iCurrent->iPreviousMillis + iCurrent->iDelay;
|
|
1702
|
+
{
|
|
1703
|
+
long ov = (long) ( iCurrent->iPreviousMillis + i - m );
|
|
1704
|
+
if ( ov < 0 ) {
|
|
1705
|
+
long ii = (i == 0) ? 1 : i; // avoid division by zero
|
|
1706
|
+
iCurrent->iPreviousMillis = iCurrent->iPreviousMillis + ((m - iCurrent->iPreviousMillis) / ii) * ii;
|
|
1707
|
+
}
|
|
1708
|
+
}
|
|
1709
|
+
break;
|
|
1710
|
+
|
|
1711
|
+
default:
|
|
1712
|
+
iCurrent->iPreviousMillis = iCurrent->iPreviousMillis + iCurrent->iDelay;
|
|
1713
|
+
}
|
|
1714
|
+
#else
|
|
1715
|
+
iCurrent->iPreviousMillis = iCurrent->iPreviousMillis + iCurrent->iDelay;
|
|
1716
|
+
#endif // _TASK_SCHEDULING_OPTIONS
|
|
1717
|
+
|
|
1718
|
+
#ifdef _TASK_TIMECRITICAL
|
|
1719
|
+
// Updated_previous+current interval should put us into the future, so iOverrun should be positive or zero.
|
|
1720
|
+
// If negative - the task is behind (next execution time is already in the past)
|
|
1721
|
+
unsigned long p = iCurrent->iPreviousMillis;
|
|
1722
|
+
iCurrent->iOverrun = (long) ( p + i - m );
|
|
1723
|
+
iCurrent->iStartDelay = (long) ( m - p );
|
|
1724
|
+
#endif // _TASK_TIMECRITICAL
|
|
1725
|
+
|
|
1726
|
+
iCurrent->iDelay = i;
|
|
1727
|
+
|
|
1728
|
+
#if defined(_TASK_TIMECRITICAL)
|
|
1729
|
+
tTaskStart = _task_micros();
|
|
1730
|
+
#endif // _TASK_TIMECRITICAL
|
|
1731
|
+
|
|
1732
|
+
#ifdef _TASK_OO_CALLBACKS
|
|
1733
|
+
idleRun = !iCurrent->Callback();
|
|
1734
|
+
#else
|
|
1735
|
+
if ( iCurrent->iCallback ) {
|
|
1736
|
+
iCurrent->iCallback();
|
|
1737
|
+
idleRun = false;
|
|
1738
|
+
iInvokedTasks++;
|
|
1739
|
+
}
|
|
1740
|
+
#endif // _TASK_OO_CALLBACKS
|
|
1741
|
+
|
|
1742
|
+
#if defined(_TASK_TIMECRITICAL)
|
|
1743
|
+
tTaskFinish = _task_micros();
|
|
1744
|
+
#endif // _TASK_TIMECRITICAL
|
|
1745
|
+
|
|
1746
|
+
}
|
|
1747
|
+
#ifdef _TASK_SELF_DESTRUCT
|
|
1748
|
+
else if ( iCurrent->iStatus.sd_request ) delete iCurrent;
|
|
1749
|
+
#endif // #ifdef _TASK_SELF_DESTRUCT
|
|
1750
|
+
} while (0); //guaranteed single run - allows use of "break" to exit
|
|
1751
|
+
|
|
1752
|
+
iCurrent = nextTask;
|
|
1753
|
+
|
|
1754
|
+
#ifdef _TASK_TIMECRITICAL
|
|
1755
|
+
iCPUCycle += ( (_task_micros() - tPassStart) - (tTaskFinish - tTaskStart) );
|
|
1756
|
+
#endif // _TASK_TIMECRITICAL
|
|
1757
|
+
|
|
1758
|
+
// _TASK_DO_NOT_YIELD is allowed for everyone - you should know what you are doing
|
|
1759
|
+
// #if defined (ARDUINO_ARCH_ESP8266) || defined (ARDUINO_ARCH_ESP32)
|
|
1760
|
+
#if !defined(_TASK_DO_NOT_YIELD)
|
|
1761
|
+
_task_yield();
|
|
1762
|
+
#endif // _TASK_DO_NOT_YIELD
|
|
1763
|
+
// #endif // ARDUINO_ARCH_ESPxx
|
|
1764
|
+
}
|
|
1765
|
+
|
|
1766
|
+
#ifdef _TASK_SLEEP_ON_IDLE_RUN
|
|
1767
|
+
tFinish = _task_micros(); // Scheduling pass end time in microseconds.
|
|
1768
|
+
#endif
|
|
1769
|
+
|
|
1770
|
+
#ifdef _TASK_TICKLESS
|
|
1771
|
+
iNextRun = 0; // next iteration should be immediate by default
|
|
1772
|
+
// if the pass was "idle" and there are tasks scheduled
|
|
1773
|
+
do {
|
|
1774
|
+
if ( !idleRun ) break;
|
|
1775
|
+
if ( (nrd & _TASK_NEXTRUN_IMMEDIATE) ) break;
|
|
1776
|
+
if ( nrd == _TASK_NEXTRUN_UNDEFINED ) break;
|
|
1777
|
+
m = __TASK_TIME_FUNCTION();
|
|
1778
|
+
if ( nr <= m) break;
|
|
1779
|
+
iNextRun = ( nr - m );
|
|
1780
|
+
} while (0);
|
|
1781
|
+
#endif
|
|
1782
|
+
|
|
1783
|
+
#ifdef _TASK_SLEEP_ON_IDLE_RUN
|
|
1784
|
+
|
|
1785
|
+
if (idleRun && iAllowSleep) {
|
|
1786
|
+
if ( iSleepScheduler == this ) { // only one scheduler should make the MC go to sleep.
|
|
1787
|
+
if ( iSleepMethod != NULL ) {
|
|
1788
|
+
|
|
1789
|
+
#ifdef _TASK_TIMECRITICAL
|
|
1790
|
+
tIdleStart = _task_micros();
|
|
1791
|
+
#endif // _TASK_TIMECRITICAL
|
|
1792
|
+
|
|
1793
|
+
(*iSleepMethod)( tFinish-tStart );
|
|
1794
|
+
|
|
1795
|
+
#ifdef _TASK_TIMECRITICAL
|
|
1796
|
+
iCPUIdle += (_task_micros() - tIdleStart);
|
|
1797
|
+
#endif // _TASK_TIMECRITICAL
|
|
1798
|
+
}
|
|
1799
|
+
}
|
|
1800
|
+
}
|
|
1801
|
+
|
|
1802
|
+
|
|
1803
|
+
|
|
1804
|
+
#endif // _TASK_SLEEP_ON_IDLE_RUN
|
|
1805
|
+
|
|
1806
|
+
return (idleRun);
|
|
1807
|
+
}
|
|
1808
|
+
|
|
1809
|
+
|
|
1810
|
+
|
|
1811
|
+
#endif /* _TASKSCHEDULER_H_ */
|