micrOSDevToolKit 2.9.11__tar.gz → 2.10.5__tar.gz
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.
Potentially problematic release.
This version of micrOSDevToolKit might be problematic. Click here for more details.
- {microsdevtoolkit-2.9.11/micrOSDevToolKit.egg-info → microsdevtoolkit-2.10.5}/PKG-INFO +13 -15
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/README.md +10 -13
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/release_info/micrOS_ReleaseInfo/system_analysis_sum.json +37 -29
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/Common.py +5 -5
- microsdevtoolkit-2.10.5/micrOS/source/Espnow.py +282 -0
- microsdevtoolkit-2.10.5/micrOS/source/Files.py +101 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/InterConnect.py +14 -11
- {microsdevtoolkit-2.9.11/toolkit/workspace/precompiled → microsdevtoolkit-2.10.5/micrOS/source}/LM_espnow.py +10 -7
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_intercon.py +3 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_light_sensor.py +7 -15
- microsdevtoolkit-2.10.5/micrOS/source/LM_mqtt_pro.py +211 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_oled_ui.py +18 -22
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_oledui.py +13 -16
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_pacman.py +37 -57
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_presence.py +8 -11
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_system.py +8 -7
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_telegram.py +21 -16
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/Logger.py +5 -11
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/Shell.py +37 -30
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/Tasks.py +32 -17
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/Web.py +3 -2
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/__pycache__/Common.cpython-312.pyc +0 -0
- microsdevtoolkit-2.10.5/micrOS/source/__pycache__/Logger.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/microIO.py +3 -2
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/urequests.py +10 -1
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5/micrOSDevToolKit.egg-info}/PKG-INFO +13 -15
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOSDevToolKit.egg-info/SOURCES.txt +4 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/setup.py +1 -1
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/dashboard_apps/SystemTest.py +17 -6
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/lib/micrOSClient.py +25 -6
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/uos.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/uos.py +5 -5
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/socketClient.py +2 -3
- microsdevtoolkit-2.10.5/toolkit/workspace/precompiled/Common.mpy +0 -0
- microsdevtoolkit-2.10.5/toolkit/workspace/precompiled/Espnow.mpy +0 -0
- microsdevtoolkit-2.10.5/toolkit/workspace/precompiled/Files.mpy +0 -0
- microsdevtoolkit-2.10.5/toolkit/workspace/precompiled/InterConnect.mpy +0 -0
- {microsdevtoolkit-2.9.11/micrOS/source → microsdevtoolkit-2.10.5/toolkit/workspace/precompiled}/LM_espnow.py +10 -7
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_intercon.mpy +0 -0
- microsdevtoolkit-2.10.5/toolkit/workspace/precompiled/LM_light_sensor.mpy +0 -0
- microsdevtoolkit-2.10.5/toolkit/workspace/precompiled/LM_mqtt_pro.py +211 -0
- microsdevtoolkit-2.10.5/toolkit/workspace/precompiled/LM_oled_ui.mpy +0 -0
- microsdevtoolkit-2.10.5/toolkit/workspace/precompiled/LM_oledui.mpy +0 -0
- microsdevtoolkit-2.10.5/toolkit/workspace/precompiled/LM_pacman.mpy +0 -0
- microsdevtoolkit-2.10.5/toolkit/workspace/precompiled/LM_presence.mpy +0 -0
- microsdevtoolkit-2.10.5/toolkit/workspace/precompiled/LM_system.mpy +0 -0
- microsdevtoolkit-2.10.5/toolkit/workspace/precompiled/LM_telegram.mpy +0 -0
- microsdevtoolkit-2.10.5/toolkit/workspace/precompiled/Logger.mpy +0 -0
- microsdevtoolkit-2.10.5/toolkit/workspace/precompiled/Shell.mpy +0 -0
- microsdevtoolkit-2.10.5/toolkit/workspace/precompiled/Tasks.mpy +0 -0
- microsdevtoolkit-2.10.5/toolkit/workspace/precompiled/Web.mpy +0 -0
- microsdevtoolkit-2.10.5/toolkit/workspace/precompiled/microIO.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/urequests.mpy +0 -0
- microsdevtoolkit-2.9.11/micrOS/source/Espnow.py +0 -160
- microsdevtoolkit-2.9.11/micrOS/source/__pycache__/Logger.cpython-312.pyc +0 -0
- microsdevtoolkit-2.9.11/toolkit/workspace/precompiled/Common.mpy +0 -0
- microsdevtoolkit-2.9.11/toolkit/workspace/precompiled/Espnow.mpy +0 -0
- microsdevtoolkit-2.9.11/toolkit/workspace/precompiled/InterConnect.mpy +0 -0
- microsdevtoolkit-2.9.11/toolkit/workspace/precompiled/LM_light_sensor.mpy +0 -0
- microsdevtoolkit-2.9.11/toolkit/workspace/precompiled/LM_oled_ui.mpy +0 -0
- microsdevtoolkit-2.9.11/toolkit/workspace/precompiled/LM_oledui.mpy +0 -0
- microsdevtoolkit-2.9.11/toolkit/workspace/precompiled/LM_pacman.mpy +0 -0
- microsdevtoolkit-2.9.11/toolkit/workspace/precompiled/LM_presence.mpy +0 -0
- microsdevtoolkit-2.9.11/toolkit/workspace/precompiled/LM_system.mpy +0 -0
- microsdevtoolkit-2.9.11/toolkit/workspace/precompiled/LM_telegram.mpy +0 -0
- microsdevtoolkit-2.9.11/toolkit/workspace/precompiled/Logger.mpy +0 -0
- microsdevtoolkit-2.9.11/toolkit/workspace/precompiled/Shell.mpy +0 -0
- microsdevtoolkit-2.9.11/toolkit/workspace/precompiled/Tasks.mpy +0 -0
- microsdevtoolkit-2.9.11/toolkit/workspace/precompiled/Web.mpy +0 -0
- microsdevtoolkit-2.9.11/toolkit/workspace/precompiled/microIO.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/LICENSE +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/MANIFEST.in +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/devToolKit.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/env/__init__.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/env/driver_cp210x/.DS_Store +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x64.exe +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x86.exe +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210x_Universal_Windows_Driver_ReleaseNotes.txt +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/env/driver_cp210x/CP210x_Universal_Windows_Driver/SLAB_License_Agreement_VCP_Windows.txt +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm/silabser.sys +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm64/silabser.sys +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/env/driver_cp210x/CP210x_Universal_Windows_Driver/dpinst.xml +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.cat +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.inf +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x64/silabser.sys +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x86/silabser.sys +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/env/driver_cp210x/macOS_VCP_Driver/SiLabsUSBDriverDisk.dmg +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/env/driver_cp210x/macOS_VCP_Driver/macOS_VCP_Driver_Release_Notes.txt +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/media/__init__.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/media/dnd.png +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/media/logo.png +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/media/logo_mini.png +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/media/usb_port_icon.png +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/media/wifi_icon.png +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/__init__.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/micropython/esp32-20241129-v1.24.1.bin +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/micropython/esp32c3-20240222-v1.22.2.bin +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/micropython/esp32cam-v1.21.0_camera.bin +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/micropython/esp32s2-20240602-v1.23.0.bin +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/micropython/esp32s2-LOLIN_MINI-20220618-v1.19.1.bin +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/micropython/esp32s2-LOLIN_MINI-20240602-v1.23.0.bin +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/micropython/esp32s3-20240105-v1.22.1.bin +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/micropython/esp32s3-20241129-v1.24.1.bin +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/micropython/esp32s3_spiram_oct-20231005-v1.21.0.bin +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/micropython/esp32s3_spiram_oct-20241129-v1.24.1.bin +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/micropython/rpi-pico-w-20241129-v1.24.1.uf2 +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/micropython/tinypico-20241129-v1.24.1.bin +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/.DS_Store +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/Config.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/Debug.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/Hooks.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/IO_esp32.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/IO_esp32c3.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/IO_esp32s2.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/IO_esp32s3.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/IO_m5stamp.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/IO_qtpy.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/IO_rp2.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/IO_tinypico.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/Interrupts.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_L298N_DCmotor.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_L9110_DCmotor.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_OV2640.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_VL53L0X.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_aht10.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_bme280.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_buzzer.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_catgame.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_cct.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_co2.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_dashboard_be.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_demo.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_dht11.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_dht22.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_dimmer.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_distance.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_ds18.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_esp32.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_gameOfLife.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_genIO.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_haptic.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_i2c.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_i2s_mic.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_keychain.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_ld2410.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_neoeffects.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_neopixel.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_oled.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_oled_sh1106.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_pet_feeder.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_ph_sensor.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_rencoder.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_rest.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_rgb.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_rgbcct.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_roboarm.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_robustness.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_rp2w.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_sdcard.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_servo.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_sound_event.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_stepper.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_switch.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_tinyrgb.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_trackball.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/LM_veml7700.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/Network.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/Notify.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/Scheduler.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/Server.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/Time.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/Types.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/__pycache__/Server.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/dashboard.html +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/index.html +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/main.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/micrOS.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/micrOSloader.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/reset.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/uapi.js +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/udashboard.js +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/ustyle.css +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/uwidgets.js +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOS/source/uwidgets_pro.js +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOSDevToolKit.egg-info/dependency_links.txt +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOSDevToolKit.egg-info/requires.txt +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/micrOSDevToolKit.egg-info/top_level.txt +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/setup.cfg +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/DevEnvCompile.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/DevEnvOTA.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/DevEnvUSB.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/Gateway.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/LM_to_compile.dat +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/MicrOSDevEnv.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/WebRepl.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/__init__.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/dashboard_apps/BackupRestore.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/dashboard_apps/CCTDemo.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/dashboard_apps/CCTTest.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/dashboard_apps/CamStream.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/dashboard_apps/CatGame.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/dashboard_apps/Dimmer.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/dashboard_apps/GetVersion.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/dashboard_apps/MicrophoneTest.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/dashboard_apps/NeoEffectsDemo.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/dashboard_apps/NeopixelTest.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/dashboard_apps/PresenceTest.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/dashboard_apps/RGBTest.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/dashboard_apps/RoboArm.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/dashboard_apps/SED_test.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/dashboard_apps/SensorsTest.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/dashboard_apps/Template_app.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/dashboard_apps/__init__.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/dashboard_apps/_app_base.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/dashboard_apps/_capture.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/dashboard_apps/_micPlotting.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/dashboard_apps/_presencePlotting.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/dashboard_apps/uLightDemo.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/img_stream.html +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/index.html +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/lib/LocalMachine.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/lib/Repository.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/lib/SafeInput.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/lib/SearchDevices.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/lib/SerialDriverHandler.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/lib/TerminalColors.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/lib/__init__.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/lib/file_extensions.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/lib/macroScript.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/lib/micrOSClientHistory.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/lib/pip_package_installer.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/micrOSdashboard.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/micrOSlint.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/.DS_Store +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/IO_darwin.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/IO_darwin.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/aioespnow.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/camera.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/dht.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/dht.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/dotstar.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/dotstar.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/dotstar.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/esp32.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/esp32.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/esp32.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/framebuf.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/framebuf.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/framebuf.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/machine.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/machine.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/machine.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/micropython.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/micropython.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/micropython.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/neopixel.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/neopixel.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/neopixel.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/network.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/network.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/network.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/ntptime.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/onewire.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/onewire.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/onewire.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/sim_console.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/sim_console.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/sim_console.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/simgc.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/simgc.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/simgc.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/simulator.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/simulator.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/simulator.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/tinypico.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/tinypico.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/tinypico.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/usocket.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/ussl.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/ustruct.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/ustruct.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/utime.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/utime.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/utime.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/webrepl.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/webrepl.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/__pycache__/webrepl.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/aioespnow.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/camera.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/dht.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/dotstar.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/ds18x20.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/esp32.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/framebuf.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/machine.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/micropython.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/neopixel.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/network.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/node_config.json +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/ntptime.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/onewire.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/sim_console.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/simgc.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/simulator.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/tinypico.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/uasyncio.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/usocket.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/ussl.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/ustruct.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/utime.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/view01.jpg +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/view02.jpg +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/simulator_lib/webrepl.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/user_data/.include +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/user_data/webhooks/generic.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/user_data/webhooks/macro.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/user_data/webhooks/template.macro +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/user_data/webhooks/template.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/__init__.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/Config.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/Debug.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/Hooks.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/IO_esp32.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/IO_esp32c3.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/IO_esp32s2.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/IO_esp32s3.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/IO_m5stamp.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/IO_qtpy.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/IO_rp2.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/IO_tinypico.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/Interrupts.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_L298N_DCmotor.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_L9110_DCmotor.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_OV2640.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_VL53L0X.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_aht10.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_bme280.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_buzzer.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_catgame.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_cct.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_co2.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_dashboard_be.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_demo.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_dht11.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_dht22.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_dimmer.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_distance.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_ds18.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_esp32.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_gameOfLife.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_genIO.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_haptic.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_i2c.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_i2s_mic.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_keychain.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_ld2410.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_neoeffects.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_neopixel.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_oled.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_oled_sh1106.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_pet_feeder.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_ph_sensor.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_rencoder.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_rest.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_rgb.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_rgbcct.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_roboarm.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_robustness.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_rp2w.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_sdcard.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_servo.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_sound_event.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_stepper.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_switch.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_tinyrgb.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_trackball.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/LM_veml7700.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/Network.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/Notify.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/Scheduler.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/Server.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/Time.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/Types.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/_mpy.version +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/dashboard.html +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/index.html +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/main.py +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/micrOS.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/micrOSloader.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/reset.mpy +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/uapi.js +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/udashboard.js +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/ustyle.css +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/uwidgets.js +0 -0
- {microsdevtoolkit-2.9.11 → microsdevtoolkit-2.10.5}/toolkit/workspace/precompiled/uwidgets_pro.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: micrOSDevToolKit
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.10.5
|
|
4
4
|
Summary: Development and deployment environment for micrOS, the diy micropython automation OS (IoT)
|
|
5
5
|
Home-page: https://github.com/BxNxM/micrOS
|
|
6
6
|
Author: Marcell Ban
|
|
@@ -31,6 +31,7 @@ Dynamic: description
|
|
|
31
31
|
Dynamic: description-content-type
|
|
32
32
|
Dynamic: home-page
|
|
33
33
|
Dynamic: license
|
|
34
|
+
Dynamic: license-file
|
|
34
35
|
Dynamic: project-url
|
|
35
36
|
Dynamic: requires-dist
|
|
36
37
|
Dynamic: summary
|
|
@@ -494,11 +495,11 @@ Version **3.0.0-0** `micrOS-Autonomous`
|
|
|
494
495
|
- (1) Async SSL/TLS integration (micropython 1.22+ required) [DONE]
|
|
495
496
|
- urequest module async redesign for rest clients [OK]
|
|
496
497
|
- LM_telegram (Notify) + server (listener - chatbot) [OK]
|
|
497
|
-
- (2) ESP-NOW (peer-to-peer communication) integration into InterCon [PoC][TODO]
|
|
498
|
-
- (3) New intercon syntax - command level integration: [
|
|
498
|
+
- (2) ESP-NOW (peer-to-peer communication) integration into InterCon [PoC:OK][TODO]
|
|
499
|
+
- (3) New intercon syntax - command level integration: [DONE]
|
|
499
500
|
- rgb toggle >>RingLight.local
|
|
500
|
-
- similar as: intercon sendcmd host="RingLight.local" cmd="rgb toggle"
|
|
501
|
-
- (4) Create multi level project structure (curret is flat fs) [TODO] FS
|
|
501
|
+
- similar as (obsolete): intercon sendcmd host="RingLight.local" cmd="rgb toggle"
|
|
502
|
+
- (4) Create multi level project structure (curret is flat fs) [TODO?] FS
|
|
502
503
|
- New micrOS FS structure:
|
|
503
504
|
- Note:
|
|
504
505
|
- On device (boot) micrOS Hooks.py/os_dir_fs_hook (check+correct) [Phase1-FS:TODO]
|
|
@@ -528,6 +529,9 @@ Version **3.0.0-0** `micrOS-Autonomous`
|
|
|
528
529
|
- *.js
|
|
529
530
|
- *.css
|
|
530
531
|
|
|
532
|
+
- /logs
|
|
533
|
+
- still there (created runtime)
|
|
534
|
+
|
|
531
535
|
- (5) Proper mip installer support (/lib) [TODO]
|
|
532
536
|
- Note: Autonomous package management over wifi (github)
|
|
533
537
|
- pacman download
|
|
@@ -731,8 +735,6 @@ devToolKit.py -c -p '--dev BedLamp help'
|
|
|
731
735
|
help
|
|
732
736
|
dht22
|
|
733
737
|
help
|
|
734
|
-
intercon
|
|
735
|
-
help
|
|
736
738
|
robustness
|
|
737
739
|
help
|
|
738
740
|
system
|
|
@@ -862,8 +864,6 @@ BedLamp $ help
|
|
|
862
864
|
help
|
|
863
865
|
dht22
|
|
864
866
|
help
|
|
865
|
-
intercon
|
|
866
|
-
help
|
|
867
867
|
robustness
|
|
868
868
|
help
|
|
869
869
|
system
|
|
@@ -954,10 +954,9 @@ micrOS Load Module resources
|
|
|
954
954
|
43 105 LM_lmpacman.py (mlint: True) (pylint: 8.38) (ref.: 0)
|
|
955
955
|
44 176 LM_gameOfLife.py (mlint: True) (pylint: 9.29) (ref.: 2)
|
|
956
956
|
45 58 LM_catgame.py (mlint: True) (pylint: 8.46) (ref.: 0)
|
|
957
|
-
46
|
|
958
|
-
47
|
|
959
|
-
48
|
|
960
|
-
49 34 LM_sdcard.py (mlint: True) (pylint: 7.88) (ref.: 0)
|
|
957
|
+
46 43 LM_ds18.py (mlint: True) (pylint: 5.0) (ref.: 2)
|
|
958
|
+
47 250 LM_i2s_mic.py (mlint: False) (pylint: 8.71) (ref.: 1)
|
|
959
|
+
48 34 LM_sdcard.py (mlint: True) (pylint: 7.88) (ref.: 0)
|
|
961
960
|
|
|
962
961
|
SUM CODE LINES (WITH COMMENTS, WITHOUT EMPTY LINES): 6822
|
|
963
962
|
```
|
|
@@ -1048,7 +1047,6 @@ micrOS/toolkit/workspace/precompiled
|
|
|
1048
1047
|
│ ├── LM_esp32.py
|
|
1049
1048
|
│ ├── LM_genIO.mpy
|
|
1050
1049
|
│ ├── LM_i2c.py
|
|
1051
|
-
│ ├── LM_intercon.mpy
|
|
1052
1050
|
│ ├── LM_light_sensor.mpy
|
|
1053
1051
|
│ ├── LM_neoeffects.mpy
|
|
1054
1052
|
│ ├── LM_neopixel.mpy
|
|
@@ -457,11 +457,11 @@ Version **3.0.0-0** `micrOS-Autonomous`
|
|
|
457
457
|
- (1) Async SSL/TLS integration (micropython 1.22+ required) [DONE]
|
|
458
458
|
- urequest module async redesign for rest clients [OK]
|
|
459
459
|
- LM_telegram (Notify) + server (listener - chatbot) [OK]
|
|
460
|
-
- (2) ESP-NOW (peer-to-peer communication) integration into InterCon [PoC][TODO]
|
|
461
|
-
- (3) New intercon syntax - command level integration: [
|
|
460
|
+
- (2) ESP-NOW (peer-to-peer communication) integration into InterCon [PoC:OK][TODO]
|
|
461
|
+
- (3) New intercon syntax - command level integration: [DONE]
|
|
462
462
|
- rgb toggle >>RingLight.local
|
|
463
|
-
- similar as: intercon sendcmd host="RingLight.local" cmd="rgb toggle"
|
|
464
|
-
- (4) Create multi level project structure (curret is flat fs) [TODO] FS
|
|
463
|
+
- similar as (obsolete): intercon sendcmd host="RingLight.local" cmd="rgb toggle"
|
|
464
|
+
- (4) Create multi level project structure (curret is flat fs) [TODO?] FS
|
|
465
465
|
- New micrOS FS structure:
|
|
466
466
|
- Note:
|
|
467
467
|
- On device (boot) micrOS Hooks.py/os_dir_fs_hook (check+correct) [Phase1-FS:TODO]
|
|
@@ -491,6 +491,9 @@ Version **3.0.0-0** `micrOS-Autonomous`
|
|
|
491
491
|
- *.js
|
|
492
492
|
- *.css
|
|
493
493
|
|
|
494
|
+
- /logs
|
|
495
|
+
- still there (created runtime)
|
|
496
|
+
|
|
494
497
|
- (5) Proper mip installer support (/lib) [TODO]
|
|
495
498
|
- Note: Autonomous package management over wifi (github)
|
|
496
499
|
- pacman download
|
|
@@ -694,8 +697,6 @@ devToolKit.py -c -p '--dev BedLamp help'
|
|
|
694
697
|
help
|
|
695
698
|
dht22
|
|
696
699
|
help
|
|
697
|
-
intercon
|
|
698
|
-
help
|
|
699
700
|
robustness
|
|
700
701
|
help
|
|
701
702
|
system
|
|
@@ -825,8 +826,6 @@ BedLamp $ help
|
|
|
825
826
|
help
|
|
826
827
|
dht22
|
|
827
828
|
help
|
|
828
|
-
intercon
|
|
829
|
-
help
|
|
830
829
|
robustness
|
|
831
830
|
help
|
|
832
831
|
system
|
|
@@ -917,10 +916,9 @@ micrOS Load Module resources
|
|
|
917
916
|
43 105 LM_lmpacman.py (mlint: True) (pylint: 8.38) (ref.: 0)
|
|
918
917
|
44 176 LM_gameOfLife.py (mlint: True) (pylint: 9.29) (ref.: 2)
|
|
919
918
|
45 58 LM_catgame.py (mlint: True) (pylint: 8.46) (ref.: 0)
|
|
920
|
-
46
|
|
921
|
-
47
|
|
922
|
-
48
|
|
923
|
-
49 34 LM_sdcard.py (mlint: True) (pylint: 7.88) (ref.: 0)
|
|
919
|
+
46 43 LM_ds18.py (mlint: True) (pylint: 5.0) (ref.: 2)
|
|
920
|
+
47 250 LM_i2s_mic.py (mlint: False) (pylint: 8.71) (ref.: 1)
|
|
921
|
+
48 34 LM_sdcard.py (mlint: True) (pylint: 7.88) (ref.: 0)
|
|
924
922
|
|
|
925
923
|
SUM CODE LINES (WITH COMMENTS, WITHOUT EMPTY LINES): 6822
|
|
926
924
|
```
|
|
@@ -1011,7 +1009,6 @@ micrOS/toolkit/workspace/precompiled
|
|
|
1011
1009
|
│ ├── LM_esp32.py
|
|
1012
1010
|
│ ├── LM_genIO.mpy
|
|
1013
1011
|
│ ├── LM_i2c.py
|
|
1014
|
-
│ ├── LM_intercon.mpy
|
|
1015
1012
|
│ ├── LM_light_sensor.mpy
|
|
1016
1013
|
│ ├── LM_neoeffects.mpy
|
|
1017
1014
|
│ ├── LM_neopixel.mpy
|
|
@@ -4,6 +4,10 @@
|
|
|
4
4
|
9.16,
|
|
5
5
|
7
|
|
6
6
|
],
|
|
7
|
+
"Files.py": [
|
|
8
|
+
9.6,
|
|
9
|
+
4
|
|
10
|
+
],
|
|
7
11
|
"micrOSloader.py": [
|
|
8
12
|
7.33,
|
|
9
13
|
1
|
|
@@ -21,23 +25,23 @@
|
|
|
21
25
|
1
|
|
22
26
|
],
|
|
23
27
|
"Tasks.py": [
|
|
24
|
-
9.
|
|
28
|
+
9.38,
|
|
25
29
|
12
|
|
26
30
|
],
|
|
27
31
|
"Config.py": [
|
|
28
32
|
9.48,
|
|
29
|
-
|
|
33
|
+
18
|
|
30
34
|
],
|
|
31
35
|
"reset.py": [
|
|
32
36
|
10.0,
|
|
33
37
|
0
|
|
34
38
|
],
|
|
35
39
|
"Shell.py": [
|
|
36
|
-
9.
|
|
40
|
+
9.36,
|
|
37
41
|
1
|
|
38
42
|
],
|
|
39
43
|
"Notify.py": [
|
|
40
|
-
|
|
44
|
+
9.74,
|
|
41
45
|
3
|
|
42
46
|
],
|
|
43
47
|
"Types.py": [
|
|
@@ -45,16 +49,16 @@
|
|
|
45
49
|
29
|
|
46
50
|
],
|
|
47
51
|
"Logger.py": [
|
|
48
|
-
8.
|
|
52
|
+
8.9,
|
|
49
53
|
4
|
|
50
54
|
],
|
|
51
55
|
"Common.py": [
|
|
52
|
-
|
|
53
|
-
|
|
56
|
+
9.78,
|
|
57
|
+
35
|
|
54
58
|
],
|
|
55
59
|
"InterConnect.py": [
|
|
56
|
-
9.
|
|
57
|
-
|
|
60
|
+
9.41,
|
|
61
|
+
3
|
|
58
62
|
],
|
|
59
63
|
"Debug.py": [
|
|
60
64
|
8.4,
|
|
@@ -65,7 +69,7 @@
|
|
|
65
69
|
8
|
|
66
70
|
],
|
|
67
71
|
"Espnow.py": [
|
|
68
|
-
|
|
72
|
+
9.49,
|
|
69
73
|
1
|
|
70
74
|
],
|
|
71
75
|
"Scheduler.py": [
|
|
@@ -73,7 +77,7 @@
|
|
|
73
77
|
1
|
|
74
78
|
],
|
|
75
79
|
"microIO.py": [
|
|
76
|
-
9.
|
|
80
|
+
9.43,
|
|
77
81
|
42
|
|
78
82
|
],
|
|
79
83
|
"micrOS.py": [
|
|
@@ -89,7 +93,7 @@
|
|
|
89
93
|
0
|
|
90
94
|
],
|
|
91
95
|
"urequests.py": [
|
|
92
|
-
8.
|
|
96
|
+
8.96,
|
|
93
97
|
5
|
|
94
98
|
],
|
|
95
99
|
"LM_roboarm.py": [
|
|
@@ -101,7 +105,7 @@
|
|
|
101
105
|
1
|
|
102
106
|
],
|
|
103
107
|
"LM_pacman.py": [
|
|
104
|
-
8.
|
|
108
|
+
8.92,
|
|
105
109
|
0
|
|
106
110
|
],
|
|
107
111
|
"LM_genIO.py": [
|
|
@@ -109,11 +113,11 @@
|
|
|
109
113
|
0
|
|
110
114
|
],
|
|
111
115
|
"LM_oled_ui.py": [
|
|
112
|
-
|
|
116
|
+
8.64,
|
|
113
117
|
0
|
|
114
118
|
],
|
|
115
119
|
"LM_system.py": [
|
|
116
|
-
8.
|
|
120
|
+
8.28,
|
|
117
121
|
5
|
|
118
122
|
],
|
|
119
123
|
"LM_robustness.py": [
|
|
@@ -233,15 +237,15 @@
|
|
|
233
237
|
0
|
|
234
238
|
],
|
|
235
239
|
"LM_oledui.py": [
|
|
236
|
-
|
|
240
|
+
7.95,
|
|
237
241
|
0
|
|
238
242
|
],
|
|
239
243
|
"LM_espnow.py": [
|
|
240
|
-
7.
|
|
244
|
+
7.89,
|
|
241
245
|
0
|
|
242
246
|
],
|
|
243
247
|
"LM_telegram.py": [
|
|
244
|
-
9.
|
|
248
|
+
9.58,
|
|
245
249
|
0
|
|
246
250
|
],
|
|
247
251
|
"LM_OV2640.py": [
|
|
@@ -261,7 +265,7 @@
|
|
|
261
265
|
0
|
|
262
266
|
],
|
|
263
267
|
"LM_light_sensor.py": [
|
|
264
|
-
|
|
268
|
+
9.17,
|
|
265
269
|
0
|
|
266
270
|
],
|
|
267
271
|
"LM_rp2w.py": [
|
|
@@ -269,9 +273,13 @@
|
|
|
269
273
|
0
|
|
270
274
|
],
|
|
271
275
|
"LM_presence.py": [
|
|
272
|
-
8.
|
|
276
|
+
8.9,
|
|
273
277
|
4
|
|
274
278
|
],
|
|
279
|
+
"LM_mqtt_pro.py": [
|
|
280
|
+
9.35,
|
|
281
|
+
0
|
|
282
|
+
],
|
|
275
283
|
"LM_trackball.py": [
|
|
276
284
|
8.31,
|
|
277
285
|
1
|
|
@@ -298,7 +306,7 @@
|
|
|
298
306
|
],
|
|
299
307
|
"LM_intercon.py": [
|
|
300
308
|
8.18,
|
|
301
|
-
|
|
309
|
+
0
|
|
302
310
|
],
|
|
303
311
|
"LM_ds18.py": [
|
|
304
312
|
6.0,
|
|
@@ -315,12 +323,12 @@
|
|
|
315
323
|
},
|
|
316
324
|
"summary": {
|
|
317
325
|
"core": [
|
|
318
|
-
|
|
319
|
-
|
|
326
|
+
3550,
|
|
327
|
+
24
|
|
320
328
|
],
|
|
321
329
|
"load": [
|
|
322
|
-
|
|
323
|
-
|
|
330
|
+
9217,
|
|
331
|
+
56
|
|
324
332
|
],
|
|
325
333
|
"core_dep": [
|
|
326
334
|
true,
|
|
@@ -328,10 +336,10 @@
|
|
|
328
336
|
],
|
|
329
337
|
"load_dep": [
|
|
330
338
|
true,
|
|
331
|
-
|
|
339
|
+
6
|
|
332
340
|
],
|
|
333
|
-
"core_score": 9.
|
|
334
|
-
"load_score": 8.
|
|
335
|
-
"version": "2.
|
|
341
|
+
"core_score": 9.24,
|
|
342
|
+
"load_score": 8.23,
|
|
343
|
+
"version": "2.10.5-0"
|
|
336
344
|
}
|
|
337
345
|
}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
micrOS Load Module programming Official API-s
|
|
3
3
|
Designed by Marcell Ban aka BxNxM
|
|
4
4
|
"""
|
|
5
|
-
|
|
6
5
|
from Server import Server, WebCli
|
|
7
6
|
from Debug import errlog_add, console_write
|
|
8
7
|
from Logger import logger, log_get
|
|
@@ -126,18 +125,19 @@ def manage_task(tag, operation):
|
|
|
126
125
|
raise Exception(f"Invalid operation: {operation}")
|
|
127
126
|
|
|
128
127
|
|
|
129
|
-
def exec_cmd(cmd, skip_check=False):
|
|
128
|
+
def exec_cmd(cmd:list, jsonify:bool=None, skip_check=False):
|
|
130
129
|
"""
|
|
131
130
|
[LM] Single (sync) LM execution
|
|
132
|
-
:param cmd: command string list
|
|
131
|
+
:param cmd: command string list, ex.: ['system', 'clock']
|
|
132
|
+
:param jsonify: request json output
|
|
133
133
|
:param skip_check: skip cmd type check, micropython bug
|
|
134
134
|
return state, output
|
|
135
135
|
"""
|
|
136
136
|
# [BUG] Solution with isinstance/type is not reliable... micropython 1.22
|
|
137
137
|
# Invalid type, must be list: <class list>" ...
|
|
138
138
|
if skip_check:
|
|
139
|
-
return lm_exec(cmd)
|
|
140
|
-
return lm_exec(cmd) if isinstance(cmd, list) else False, f"
|
|
139
|
+
return lm_exec(cmd, jsonify=jsonify)
|
|
140
|
+
return lm_exec(cmd, jsonify=jsonify) if isinstance(cmd, list) else False, f"CMD {type(cmd)}, must be list!"
|
|
141
141
|
|
|
142
142
|
|
|
143
143
|
def notify(text=None) -> bool:
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
from aioespnow import AIOESPNow
|
|
2
|
+
from binascii import hexlify
|
|
3
|
+
from Tasks import NativeTask, TaskBase, lm_exec, lm_is_loaded
|
|
4
|
+
import uasyncio as asyncio
|
|
5
|
+
from Network import get_mac
|
|
6
|
+
from Config import cfgget
|
|
7
|
+
from Debug import errlog_add
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# ----------- PARSE AND RENDER MSG PROTOCOL --------------
|
|
11
|
+
|
|
12
|
+
def render_response(tid, oper, data, prompt) -> str:
|
|
13
|
+
"""
|
|
14
|
+
Render ESPNow custom message (protocol)
|
|
15
|
+
"""
|
|
16
|
+
if oper not in ("REQ", "RSP"):
|
|
17
|
+
errlog_add(f"[ERR] espnow render_response, unknown oper: {oper}")
|
|
18
|
+
tmp = "{tid}|{oper}|{data}|{prompt}$"
|
|
19
|
+
tmp = tmp.replace("{tid}", str(tid))
|
|
20
|
+
tmp = tmp.replace("{oper}", str(oper))
|
|
21
|
+
tmp = tmp.replace("{data}", str(data))
|
|
22
|
+
tmp = tmp.replace("{prompt}", str(prompt))
|
|
23
|
+
return tmp
|
|
24
|
+
|
|
25
|
+
def parse_request(msg:bytes) -> (bool, dict|str):
|
|
26
|
+
"""
|
|
27
|
+
Parse ESPNow custom message protocol
|
|
28
|
+
"""
|
|
29
|
+
try:
|
|
30
|
+
msg = msg.decode('utf-8').strip()
|
|
31
|
+
except UnicodeError:
|
|
32
|
+
return False, "Invalid encoding"
|
|
33
|
+
# strip the trailing '$' then split on '|'
|
|
34
|
+
parts = msg.rstrip("$").split("|")
|
|
35
|
+
if len(parts) == 4:
|
|
36
|
+
return True, {"tid": parts[0],
|
|
37
|
+
"oper": parts[1],
|
|
38
|
+
"data": parts[2],
|
|
39
|
+
"prompt": parts[3]}
|
|
40
|
+
return False, f"Missing 4 args: {msg}"
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
# ----------- ESPNOW SESSION SERVER - LISTENER AND SENDER --------------
|
|
44
|
+
class ResponseRouter:
|
|
45
|
+
"""
|
|
46
|
+
Response Router (by mac address)
|
|
47
|
+
to connect sender task with receiver loop (aka server)
|
|
48
|
+
"""
|
|
49
|
+
_routes: dict[bytes, "ResponseRouter"] = {}
|
|
50
|
+
|
|
51
|
+
def __init__(self, mac: bytes):
|
|
52
|
+
self.mac = mac
|
|
53
|
+
self.response = None
|
|
54
|
+
self._event = asyncio.Event()
|
|
55
|
+
ResponseRouter._routes[mac] = self
|
|
56
|
+
|
|
57
|
+
async def get_response(self, timeout:int=10) -> str|dict:
|
|
58
|
+
"""Wait for one response, then clear the event for reuse."""
|
|
59
|
+
try:
|
|
60
|
+
await asyncio.wait_for(self._event.wait(), timeout)
|
|
61
|
+
except asyncio.TimeoutError:
|
|
62
|
+
return "Timeout has beed exceeded"
|
|
63
|
+
self._event.clear()
|
|
64
|
+
return self.response
|
|
65
|
+
|
|
66
|
+
@staticmethod
|
|
67
|
+
def update_response(mac: bytes, response: str) -> None:
|
|
68
|
+
# USE <tid> for proper session response mapping
|
|
69
|
+
router = ResponseRouter._routes.get(mac)
|
|
70
|
+
if router is None:
|
|
71
|
+
errlog_add(f"[WARN][ESPNOW] No response route for {mac}")
|
|
72
|
+
return
|
|
73
|
+
router.response = response
|
|
74
|
+
router._event.set()
|
|
75
|
+
|
|
76
|
+
def close(self) -> None:
|
|
77
|
+
"""Remove routing entry when done."""
|
|
78
|
+
ResponseRouter._routes.pop(self.mac, None)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
class ESPNowSS:
|
|
82
|
+
"""
|
|
83
|
+
ESPNow Session Server
|
|
84
|
+
"""
|
|
85
|
+
_instance = None
|
|
86
|
+
|
|
87
|
+
def __new__(cls, *args, **kwargs):
|
|
88
|
+
if cls._instance is None:
|
|
89
|
+
# first time: actually create it
|
|
90
|
+
cls._instance = super().__new__(cls)
|
|
91
|
+
return cls._instance
|
|
92
|
+
|
|
93
|
+
def __init__(self):
|
|
94
|
+
# __init__ still runs each time, so guard if needed
|
|
95
|
+
if not hasattr(self, '_initialized'):
|
|
96
|
+
self.espnow = AIOESPNow() # Instance with async support
|
|
97
|
+
self.espnow.active(True)
|
|
98
|
+
self.devfid = cfgget('devfid')
|
|
99
|
+
self.devices: dict[bytes, str] = {} # mapping for { "mac address": "devfid" } pairs
|
|
100
|
+
self._initialized = True
|
|
101
|
+
self.server_ready = False
|
|
102
|
+
|
|
103
|
+
# ----------- SERVER METHODS --------------
|
|
104
|
+
def _request_handler(self, msg:bytes, my_task:NativeTask, mac:bytes):
|
|
105
|
+
"""
|
|
106
|
+
Handle server input message (request), with REQ/RSP types (oper)
|
|
107
|
+
oper==REQ - command execution
|
|
108
|
+
oper==RSP - command response
|
|
109
|
+
:param msg: valid message format> "{tid}|{oper}|{data}|{prompt}$", {data} is the user input
|
|
110
|
+
:param my_task: Server task instance, for my_task.out update
|
|
111
|
+
:param mac: sender binary mac address
|
|
112
|
+
"""
|
|
113
|
+
|
|
114
|
+
state, request = parse_request(msg)
|
|
115
|
+
if not state:
|
|
116
|
+
my_task.out = f"[_ESPNOW] {request}"
|
|
117
|
+
return state, request
|
|
118
|
+
|
|
119
|
+
# parsed request: {"tid": "n/a", "oper": "n/a", "data": "n/a", "prompt": "n/a"}
|
|
120
|
+
operation, prompt, tid = request["oper"], request["prompt"], request["tid"]
|
|
121
|
+
my_task.out = f"[{tid}] {operation} from {prompt}"
|
|
122
|
+
# Update known devices
|
|
123
|
+
self.devices[mac] = request["prompt"]
|
|
124
|
+
|
|
125
|
+
# Check if the module/command is allowed., check oper==REQ/RSP
|
|
126
|
+
if operation == "REQ":
|
|
127
|
+
command = request["data"].split()
|
|
128
|
+
module = command[0]
|
|
129
|
+
if lm_is_loaded(module):
|
|
130
|
+
try:
|
|
131
|
+
state, out = lm_exec(command)
|
|
132
|
+
# rendered_output: "{tid}|{oper}|{data}|{prompt}$"
|
|
133
|
+
rendered_out = render_response(tid="?", oper="RSP", data=out, prompt=self.devfid)
|
|
134
|
+
return state, rendered_out
|
|
135
|
+
except Exception as e:
|
|
136
|
+
# Optionally log the exception here.
|
|
137
|
+
state, out = False, f"[ERR][_ESPNOW] {command}: {e}"
|
|
138
|
+
else:
|
|
139
|
+
state, out = False, f"[WARN][_ESPNOW] NotAllowed {module}"
|
|
140
|
+
return state, out
|
|
141
|
+
if operation == "RSP":
|
|
142
|
+
resp_data = request["data"]
|
|
143
|
+
ResponseRouter.update_response(mac, resp_data) # USE <tid> for proper session response mapping
|
|
144
|
+
return False, f"[_ESPNOW] No action, {request}"
|
|
145
|
+
|
|
146
|
+
async def _server(self, tag:str):
|
|
147
|
+
"""
|
|
148
|
+
ESPnow async listener task
|
|
149
|
+
:param tag: micro_task tag for task access
|
|
150
|
+
"""
|
|
151
|
+
with TaskBase.TASKS.get(tag, None) as my_task:
|
|
152
|
+
self.server_ready = True
|
|
153
|
+
my_task.out = "ESPNow receiver running"
|
|
154
|
+
async for mac, msg in self.espnow:
|
|
155
|
+
try:
|
|
156
|
+
state, response = self._request_handler(msg, my_task, mac)
|
|
157
|
+
if state:
|
|
158
|
+
await self.__asend_raw(mac, response)
|
|
159
|
+
else:
|
|
160
|
+
errlog_add(response)
|
|
161
|
+
except OSError as err:
|
|
162
|
+
# If the peer is not yet added, add it and retry.
|
|
163
|
+
if len(err.args) > 1 and err.args[1] == 'ESP_ERR_ESPNOW_NOT_FOUND':
|
|
164
|
+
self.add_peer(mac)
|
|
165
|
+
state, response = self._request_handler(msg, my_task, mac)
|
|
166
|
+
if state:
|
|
167
|
+
await self.__asend_raw(mac, response)
|
|
168
|
+
else:
|
|
169
|
+
errlog_add(response)
|
|
170
|
+
else:
|
|
171
|
+
# Optionally handle or log other OSErrors here.
|
|
172
|
+
errlog_add(f"[ERR][NOW SERVER] {err}")
|
|
173
|
+
|
|
174
|
+
def start_server(self):
|
|
175
|
+
"""
|
|
176
|
+
Start the async ESPNow receiver server.
|
|
177
|
+
"""
|
|
178
|
+
# Create an asynchronous task with tag 'espnow.server'
|
|
179
|
+
tag = 'espnow.server'
|
|
180
|
+
state = NativeTask().create(callback=self._server(tag), tag=tag)
|
|
181
|
+
return "Starting" if state else "Already running"
|
|
182
|
+
|
|
183
|
+
#----------- SEND METHODS --------------
|
|
184
|
+
async def __asend_raw(self, mac:bytes, msg:str):
|
|
185
|
+
"""
|
|
186
|
+
ESPnow send message to mac address
|
|
187
|
+
"""
|
|
188
|
+
return await self.espnow.asend(mac, msg.encode("utf-8"))
|
|
189
|
+
|
|
190
|
+
async def _asend_task(self, peer:bytes, tag:str, msg:str):
|
|
191
|
+
"""
|
|
192
|
+
ESPNow client task: send a command to a peer and update task status.
|
|
193
|
+
"""
|
|
194
|
+
with TaskBase.TASKS.get(tag, None) as my_task:
|
|
195
|
+
router = ResponseRouter(peer)
|
|
196
|
+
# rendered_output: "{tid}|{oper}|{data}|{prompt}$"
|
|
197
|
+
rendered_out = render_response(tid="?", oper="REQ", data=msg, prompt=self.devfid)
|
|
198
|
+
if await self.__asend_raw(peer, rendered_out):
|
|
199
|
+
my_task.out = f"[ESPNOW SEND] {rendered_out}"
|
|
200
|
+
my_task.out = await router.get_response()
|
|
201
|
+
else:
|
|
202
|
+
my_task.out = "[ESPNOW SEND] Peer not responding"
|
|
203
|
+
router.close()
|
|
204
|
+
|
|
205
|
+
def mac_by_peer_name(self, peer_name:str) -> bytes|None:
|
|
206
|
+
matches = [k for k, v in self.devices.items() if v == peer_name]
|
|
207
|
+
peer = matches[0] if matches else None
|
|
208
|
+
return peer
|
|
209
|
+
|
|
210
|
+
def send(self, peer:bytes|str, msg:str) -> str:
|
|
211
|
+
"""
|
|
212
|
+
Send a command over ESPNow.
|
|
213
|
+
:param peer: Binary MAC address of another device.
|
|
214
|
+
:param msg: String command message to send.
|
|
215
|
+
"""
|
|
216
|
+
peer_name = None
|
|
217
|
+
if isinstance(peer, str):
|
|
218
|
+
# Peer as device name (prompt)
|
|
219
|
+
_peer = self.mac_by_peer_name(peer)
|
|
220
|
+
if _peer is None:
|
|
221
|
+
return f"Unknown device: {peer}"
|
|
222
|
+
peer_name = peer
|
|
223
|
+
peer = _peer
|
|
224
|
+
|
|
225
|
+
peer_name = hexlify(peer, ':').decode() if peer_name is None else peer_name
|
|
226
|
+
task_id = f"con.espnow.{peer_name}"
|
|
227
|
+
# Create an asynchronous sending task.
|
|
228
|
+
state = NativeTask().create(callback=INSTANCE._asend_task(peer, task_id, msg), tag=task_id)
|
|
229
|
+
return "Starting" if state else "Already running"
|
|
230
|
+
|
|
231
|
+
# ----------- OTHER METHODS --------------
|
|
232
|
+
|
|
233
|
+
def add_peer(self, peer:bytes, devfid:str=None):
|
|
234
|
+
"""
|
|
235
|
+
Add a peer given its MAC address.
|
|
236
|
+
:param peer: Binary MAC address of a peer (e.g. b'\xbb\xbb\xbb\xbb\xbb\xbb').
|
|
237
|
+
:param devfid: optional parameter to register dev uid for mac address
|
|
238
|
+
"""
|
|
239
|
+
try:
|
|
240
|
+
self.espnow.add_peer(peer)
|
|
241
|
+
if devfid is not None:
|
|
242
|
+
# Update known devices
|
|
243
|
+
self.devices[peer] = devfid
|
|
244
|
+
except Exception as e:
|
|
245
|
+
return f"Peer error: {e}"
|
|
246
|
+
return "Peer register done"
|
|
247
|
+
|
|
248
|
+
def stats(self):
|
|
249
|
+
"""
|
|
250
|
+
Return stats for ESPNow peers.
|
|
251
|
+
stats: tx_pkts, tx_responses, tx_failures, rx_packets, rx_dropped_packets.
|
|
252
|
+
peers: peer, rssi, time_ms.
|
|
253
|
+
"""
|
|
254
|
+
try:
|
|
255
|
+
_stats = self.espnow.stats()
|
|
256
|
+
except Exception as e:
|
|
257
|
+
_stats = str(e)
|
|
258
|
+
try:
|
|
259
|
+
_peers = self.espnow.peers_table
|
|
260
|
+
except Exception as e:
|
|
261
|
+
_peers = str(e)
|
|
262
|
+
return {"stats": _stats, "peers": _peers, "map": self.devices, "ready": self.server_ready}
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
###################################################
|
|
266
|
+
# Control functions #
|
|
267
|
+
###################################################
|
|
268
|
+
INSTANCE = ESPNowSS()
|
|
269
|
+
|
|
270
|
+
def initialize():
|
|
271
|
+
# TODO: remove, use ESPNowSS() class instead
|
|
272
|
+
global INSTANCE
|
|
273
|
+
if INSTANCE is None:
|
|
274
|
+
INSTANCE = ESPNowSS()
|
|
275
|
+
return INSTANCE
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
def mac_address():
|
|
279
|
+
"""
|
|
280
|
+
Get the binary MAC address.
|
|
281
|
+
"""
|
|
282
|
+
return get_mac()
|