micrOSDevToolKit 3.3.4__tar.gz → 3.3.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.
- {microsdevtoolkit-3.3.4/micrOSDevToolKit.egg-info → microsdevtoolkit-3.3.5}/PKG-INFO +1 -1
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/release_info/micrOS_ReleaseInfo/system_analysis_sum.json +4 -4
- {microsdevtoolkit-3.3.4/toolkit/workspace/precompiled → microsdevtoolkit-3.3.5/micrOS/source}/modules/LM_esp32.py +4 -1
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5/micrOSDevToolKit.egg-info}/PKG-INFO +1 -1
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/setup.py +1 -1
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/Gateway.py +306 -2
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/gateway/gateway.css +7 -1
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/gateway/index.html +17 -1
- {microsdevtoolkit-3.3.4/micrOS/source → microsdevtoolkit-3.3.5/toolkit/workspace/precompiled}/modules/LM_esp32.py +4 -1
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/LICENSE +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/MANIFEST.in +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/README.md +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/devToolKit.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/env/__init__.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/env/driver_cp210x/.DS_Store +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x64.exe +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x86.exe +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210x_Universal_Windows_Driver_ReleaseNotes.txt +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/env/driver_cp210x/CP210x_Universal_Windows_Driver/SLAB_License_Agreement_VCP_Windows.txt +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm/silabser.sys +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm64/silabser.sys +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/env/driver_cp210x/CP210x_Universal_Windows_Driver/dpinst.xml +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.cat +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.inf +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x64/silabser.sys +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x86/silabser.sys +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/env/driver_cp210x/macOS_VCP_Driver/SiLabsUSBDriverDisk.dmg +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/env/driver_cp210x/macOS_VCP_Driver/macOS_VCP_Driver_Release_Notes.txt +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/media/__init__.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/media/dnd.png +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/media/logo.png +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/media/logo_mini.png +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/media/usb_port_icon.png +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/media/wifi_icon.png +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/__init__.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/board_commands.json +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/esp32-20251209-v1.27.0.bin +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/esp32c3-20251209-v1.27.0.bin +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/esp32c5-20251209-v1.27.0.bin +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/esp32c6-20251209-v1.27.0.bin +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/esp32cam-v1.21.0_camera.bin +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/esp32s2-20251209-v1.27.0.bin +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/esp32s2-LOLIN_MINI-20251209-v1.27.0.bin +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/esp32s3-4MBflash-20241129-v1.24.1.bin +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/esp32s3-8MBflash-20251209-v1.27.0.bin +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/esp32s3_spiram_oct-20251209-v1.27.0.bin +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/micrOS-esp32-1.28.0-3.3.1-0.bin +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/micrOS-esp32c3-1.28.0-3.3.1-0.bin +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/micrOS-esp32c6-1.28.0-3.3.1-0.bin +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/micrOS-esp32s3-1.28.0-3.3.1-0.bin +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/rpi-pico-w-20251209-v1.27.0.uf2 +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/tinypico-20251209-v1.27.0.bin +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/.DS_Store +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/Auth.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/Buffer.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/Common.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/Config.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/Debug.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/Files.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/Hooks.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/InterConnect.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/Interrupts.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/Logger.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/Network.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/Notify.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/Pacman.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/Scheduler.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/Server.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/Shell.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/Tasks.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/Time.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/Types.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/Web.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/__pycache__/Auth.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/__pycache__/Buffer.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/__pycache__/Common.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/__pycache__/Config.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/__pycache__/Debug.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/__pycache__/Files.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/__pycache__/Hooks.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/__pycache__/InterConnect.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/__pycache__/Interrupts.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/__pycache__/Logger.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/__pycache__/Pacman.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/__pycache__/Power.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/__pycache__/Scheduler.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/__pycache__/Server.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/__pycache__/Shell.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/__pycache__/Tasks.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/__pycache__/Time.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/__pycache__/Types.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/__pycache__/Web.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/__pycache__/micrOS.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/__pycache__/microIO.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/__pycache__/replhelper.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/__pycache__/urequests.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/config/_git.keep +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/helpers.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/main.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/mespnow.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/micrOS.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/micrOSloader.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/microIO.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/IO_esp32.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/IO_esp32c3.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/IO_esp32c5.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/IO_esp32c6.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/IO_esp32s2.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/IO_esp32s3.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/IO_m5stamp.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/IO_qtpy.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/IO_rp2.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/IO_tinypico.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_L298N.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_L9110_DCmotor.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_OV2640.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_aht10.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_bme280.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_buzzer.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_cct.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_cluster.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_dht11.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_dht22.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_dimmer.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_distance.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_ds18.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_espnow.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_fileserver.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_gameOfLife.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_genIO.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_haptic.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_i2c.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_i2s_mic.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_ld2410.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_light_sensor.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_neoeffects.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_neopixel.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_oled.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_oled_sh1106.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_oled_ui.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_pacman.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_presence.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_qmi8658.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_rencoder.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_rest.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_rgb.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_rgbcct.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_roboarm.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_robustness.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_rp2w.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_sdcard.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_servo.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_stepper.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_switch.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_system.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_telegram.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_tinyrgb.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_trackball.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_veml7700.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/LM_web.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/__pycache__/LM_cct.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/__pycache__/LM_dimmer.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/__pycache__/LM_neopixel.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/__pycache__/LM_pacman.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/__pycache__/LM_rgb.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/__pycache__/LM_rgbcct.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/__pycache__/LM_roboarm.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/__pycache__/LM_system.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/modules/__pycache__/LM_web.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/urequests.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/web/auth.js +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/web/config.css +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/web/config.html +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/web/config.js +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/web/dashboard.html +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/web/editor.js +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/web/editor_plugins.js +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/web/favicon.ico +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/web/filesui.html +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/web/filesui.js +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/web/index.html +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/web/uapi.js +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/web/uapi_widgets.js +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/web/ubashboard.css +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/web/udashboard.js +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/web/ustyle.css +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/web/uwidgets.js +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/source/web/uwidgets_pro.js +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/utests/__init__.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/utests/test_buffer.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/utests/test_config.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/utests/test_pacman.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/utests/test_scheduler.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/utests/test_time.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/utests/test_urequests.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/utests/test_urequests_real_api.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/utests/test_web_engine.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOSDevToolKit.egg-info/SOURCES.txt +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOSDevToolKit.egg-info/dependency_links.txt +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOSDevToolKit.egg-info/requires.txt +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOSDevToolKit.egg-info/top_level.txt +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/setup.cfg +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/DevEnvCompile.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/DevEnvOTA.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/DevEnvUSB.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/LM_to_compile.dat +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/MicrOSDevEnv.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/WebRepl.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/__init__.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/dashboard_apps/BackupRestore.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/dashboard_apps/CCTDemo.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/dashboard_apps/CCTTest.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/dashboard_apps/CamStream.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/dashboard_apps/CatGame.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/dashboard_apps/Dimmer.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/dashboard_apps/GetVersion.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/dashboard_apps/MicrophoneTest.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/dashboard_apps/NeoEffectsDemo.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/dashboard_apps/NeopixelTest.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/dashboard_apps/PresenceTest.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/dashboard_apps/QMI8685_GYRO.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/dashboard_apps/RGBTest.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/dashboard_apps/RoboArm.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/dashboard_apps/SED_test.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/dashboard_apps/SensorsTest.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/dashboard_apps/SystemTest.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/dashboard_apps/Template_app.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/dashboard_apps/__init__.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/dashboard_apps/_app_base.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/dashboard_apps/_capture.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/dashboard_apps/_gyro_visualizer.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/dashboard_apps/_micPlotting.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/dashboard_apps/_presencePlotting.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/dashboard_apps/uLightDemo.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/gateway/img_stream.html +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/lib/LocalMachine.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/lib/MicrosFiles.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/lib/Repository.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/lib/SafeInput.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/lib/SearchDevices.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/lib/SerialDriverHandler.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/lib/TerminalColors.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/lib/__init__.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/lib/macroScript.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/lib/micrOSClient.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/lib/micrOSClientHistory.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/lib/pip_package_installer.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/micrOSImageBuilder.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/micrOSImageConfig.json +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/micrOSdashboard.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/micrOSlint.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/.DS_Store +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/IO_darwin.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/IO_darwin.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/Metrics.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/aioespnow.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/camera.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/dht.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/dht.cpython-39.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/dotstar.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/dotstar.cpython-38.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/dotstar.cpython-39.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-38.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-39.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/esp32.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/esp32.cpython-38.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/esp32.cpython-39.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/framebuf.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/framebuf.cpython-38.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/framebuf.cpython-39.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/machine.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/machine.cpython-38.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/machine.cpython-39.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/micropython.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/micropython.cpython-38.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/micropython.cpython-39.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/mip.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/neopixel.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/neopixel.cpython-38.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/neopixel.cpython-39.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/network.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/network.cpython-38.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/network.cpython-39.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/ntptime.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/onewire.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/onewire.cpython-38.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/onewire.cpython-39.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/sim_common.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/simgc.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/simgc.cpython-38.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/simgc.cpython-39.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/simulator.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/simulator.cpython-38.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/simulator.cpython-39.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/tinypico.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/tinypico.cpython-38.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/tinypico.cpython-39.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-38.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-39.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/uos.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/urandom.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/usocket.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/ussl.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/ustruct.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/ustruct.cpython-39.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/utime.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/utime.cpython-38.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/utime.cpython-39.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/webrepl.cpython-312.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/webrepl.cpython-38.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/__pycache__/webrepl.cpython-39.pyc +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/aioespnow.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/camera.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/dht.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/dotstar.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/ds18x20.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/esp32.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/framebuf.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/machine.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/micropython.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/mip.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/neopixel.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/network.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/node_config.json +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/ntptime.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/onewire.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/sim_common.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/simgc.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/simulator.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/tinypico.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/uasyncio.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/uos.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/urandom.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/usocket.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/ussl.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/ustruct.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/utime.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/view01.jpg +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/view02.jpg +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/simulator_lib/webrepl.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/socketClient.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/user_data/.include +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/user_data/webhooks/generic.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/user_data/webhooks/macro.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/user_data/webhooks/template.macro +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/user_data/webhooks/template.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/__init__.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/Auth.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/Buffer.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/Common.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/Config.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/Debug.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/Files.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/Hooks.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/InterConnect.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/Interrupts.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/Logger.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/Network.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/Notify.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/Pacman.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/Scheduler.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/Server.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/Shell.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/Tasks.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/Time.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/Types.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/Web.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/_mpy.version +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/config/_git.keep +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/helpers.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/main.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/mespnow.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/micrOS.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/micrOSloader.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/microIO.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/IO_esp32.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/IO_esp32c3.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/IO_esp32c5.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/IO_esp32c6.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/IO_esp32s2.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/IO_esp32s3.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/IO_m5stamp.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/IO_qtpy.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/IO_rp2.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/IO_tinypico.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_L298N.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_L9110_DCmotor.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_OV2640.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_aht10.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_bme280.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_buzzer.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_cct.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_cluster.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_dht11.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_dht22.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_dimmer.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_distance.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_ds18.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_espnow.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_fileserver.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_gameOfLife.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_genIO.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_haptic.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_i2c.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_i2s_mic.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_ld2410.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_light_sensor.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_neoeffects.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_neopixel.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_oled.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_oled_sh1106.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_oled_ui.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_pacman.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_presence.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_qmi8658.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_rencoder.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_rest.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_rgb.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_rgbcct.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_roboarm.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_robustness.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_rp2w.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_sdcard.py +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_servo.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_stepper.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_switch.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_system.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_telegram.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_tinyrgb.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_trackball.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_veml7700.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/modules/LM_web.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/urequests.mpy +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/web/auth.js +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/web/config.css +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/web/config.html +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/web/config.js +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/web/dashboard.html +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/web/editor.js +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/web/editor_plugins.js +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/web/favicon.ico +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/web/filesui.html +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/web/filesui.js +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/web/index.html +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/web/uapi.js +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/web/uapi_widgets.js +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/web/ubashboard.css +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/web/udashboard.js +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/web/ustyle.css +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/web/uwidgets.js +0 -0
- {microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/toolkit/workspace/precompiled/web/uwidgets_pro.js +0 -0
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
],
|
|
55
55
|
"Types.py": [
|
|
56
56
|
9.0,
|
|
57
|
-
|
|
57
|
+
25
|
|
58
58
|
],
|
|
59
59
|
"Logger.py": [
|
|
60
60
|
8.86,
|
|
@@ -221,7 +221,7 @@
|
|
|
221
221
|
0
|
|
222
222
|
],
|
|
223
223
|
"modules/LM_esp32.py": [
|
|
224
|
-
|
|
224
|
+
7.24,
|
|
225
225
|
0
|
|
226
226
|
],
|
|
227
227
|
"modules/LM_veml7700.py": [
|
|
@@ -307,7 +307,7 @@
|
|
|
307
307
|
27
|
|
308
308
|
],
|
|
309
309
|
"load": [
|
|
310
|
-
|
|
310
|
+
7596,
|
|
311
311
|
48
|
|
312
312
|
],
|
|
313
313
|
"core_dep": [
|
|
@@ -319,7 +319,7 @@
|
|
|
319
319
|
5
|
|
320
320
|
],
|
|
321
321
|
"core_score": 9.28,
|
|
322
|
-
"load_score": 8.
|
|
322
|
+
"load_score": 8.42,
|
|
323
323
|
"version": "3.3.1-0"
|
|
324
324
|
}
|
|
325
325
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import esp32
|
|
2
2
|
from Common import syslog
|
|
3
|
+
from Types import resolve
|
|
3
4
|
|
|
4
5
|
#########################
|
|
5
6
|
# Application functions #
|
|
@@ -66,4 +67,6 @@ def help(widgets=False):
|
|
|
66
67
|
(widgets=False) list of functions implemented by this application
|
|
67
68
|
(widgets=True) list of widget json for UI generation
|
|
68
69
|
"""
|
|
69
|
-
return 'hall',
|
|
70
|
+
return resolve(('hall',
|
|
71
|
+
'GRAPH temp',
|
|
72
|
+
'touch', 'battery', 'NOTE: battery only available on tinypico'), widgets=widgets)
|
|
@@ -17,7 +17,7 @@ dependencies = ['adafruit-ampy', 'mpremote', 'esptool', 'ipaddress', 'netaddr',
|
|
|
17
17
|
|
|
18
18
|
setuptools.setup(
|
|
19
19
|
name='micrOSDevToolKit',
|
|
20
|
-
version='3.3.
|
|
20
|
+
version='3.3.5',
|
|
21
21
|
author='Marcell Ban',
|
|
22
22
|
author_email='miros.framework@gmail.com',
|
|
23
23
|
description='Development and deployment environment for micrOS, the diy micropython automation OS (IoT)',
|
|
@@ -4,13 +4,17 @@
|
|
|
4
4
|
import json
|
|
5
5
|
import os
|
|
6
6
|
import ipaddress
|
|
7
|
-
|
|
7
|
+
import ast
|
|
8
|
+
from html import escape
|
|
9
|
+
from urllib.parse import quote, unquote
|
|
10
|
+
from flask import Flask, jsonify, Response, make_response, request, send_file, send_from_directory, abort, stream_with_context
|
|
8
11
|
from flask_restful import Resource, Api
|
|
9
12
|
import threading
|
|
10
13
|
import time
|
|
11
14
|
import concurrent.futures
|
|
12
15
|
MYPATH = os.path.dirname(__file__)
|
|
13
16
|
WEBUI_PATH = os.path.join(MYPATH, 'gateway')
|
|
17
|
+
MICROS_WEBUI_PATH = os.path.join(os.path.dirname(MYPATH), 'micrOS', 'source', 'web')
|
|
14
18
|
import requests
|
|
15
19
|
from io import BytesIO
|
|
16
20
|
from socket import gethostbyname
|
|
@@ -42,6 +46,11 @@ app = Flask(__name__)
|
|
|
42
46
|
def gateway_css():
|
|
43
47
|
return send_file(os.path.join(WEBUI_PATH, 'gateway.css'), mimetype='text/css')
|
|
44
48
|
|
|
49
|
+
|
|
50
|
+
@app.route('/micros-web/<path:resource>')
|
|
51
|
+
def micros_web_resource(resource):
|
|
52
|
+
return send_from_directory(MICROS_WEBUI_PATH, resource)
|
|
53
|
+
|
|
45
54
|
# --------------------- AUTH BEGIN ------------------------- #
|
|
46
55
|
ADDRESS_CACHE = {}
|
|
47
56
|
try:
|
|
@@ -162,6 +171,293 @@ class Hello(Resource):
|
|
|
162
171
|
return make_response(response)
|
|
163
172
|
|
|
164
173
|
|
|
174
|
+
def _parse_dashboard_rest_cmd(cmd):
|
|
175
|
+
"""Mirror the device /rest path parsing for gateway dashboard calls."""
|
|
176
|
+
decoded = unquote(cmd or '')
|
|
177
|
+
tokens = []
|
|
178
|
+
index = 0
|
|
179
|
+
while index < len(decoded):
|
|
180
|
+
if decoded[index] == '"':
|
|
181
|
+
end = decoded.find('"', index + 1)
|
|
182
|
+
if end == -1:
|
|
183
|
+
tokens.append(decoded[index:].strip())
|
|
184
|
+
break
|
|
185
|
+
quoted_value = '"' + decoded[index + 1:end] + '"'
|
|
186
|
+
if quoted_value:
|
|
187
|
+
if tokens and tokens[-1].endswith('='):
|
|
188
|
+
tokens[-1] += quoted_value
|
|
189
|
+
else:
|
|
190
|
+
tokens.append(quoted_value)
|
|
191
|
+
index = end + 1
|
|
192
|
+
continue
|
|
193
|
+
|
|
194
|
+
start = index
|
|
195
|
+
while index < len(decoded) and decoded[index] != '"':
|
|
196
|
+
index += 1
|
|
197
|
+
segment = decoded[start:index]
|
|
198
|
+
if segment:
|
|
199
|
+
segment = segment.replace('/', ' ').replace('-', ' ').strip()
|
|
200
|
+
if segment:
|
|
201
|
+
tokens.extend(token for token in segment.split() if token)
|
|
202
|
+
return tokens
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
def _decode_dashboard_result(response):
|
|
206
|
+
if response is None or isinstance(response, (dict, bool, int, float)):
|
|
207
|
+
return response
|
|
208
|
+
if isinstance(response, list):
|
|
209
|
+
if len(response) != 1:
|
|
210
|
+
return response
|
|
211
|
+
response = response[0]
|
|
212
|
+
text = str(response).strip()
|
|
213
|
+
if not text:
|
|
214
|
+
return text
|
|
215
|
+
for loader in (json.loads, ast.literal_eval):
|
|
216
|
+
try:
|
|
217
|
+
return loader(text)
|
|
218
|
+
except Exception:
|
|
219
|
+
pass
|
|
220
|
+
return response
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
def _dashboard_state(execution_result):
|
|
224
|
+
response = execution_result.get('response')
|
|
225
|
+
if isinstance(response, str) and response.startswith('Core error:'):
|
|
226
|
+
return False
|
|
227
|
+
return bool(execution_result.get('state', True))
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
def _gateway_auth_enabled():
|
|
231
|
+
return bool(globals().get('__rest_usr_name') and globals().get('__rest_usr_pwd'))
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
class DeviceDashboardGroup(Resource):
|
|
235
|
+
"""
|
|
236
|
+
One gateway page that groups every known device dashboard subpage.
|
|
237
|
+
"""
|
|
238
|
+
|
|
239
|
+
@staticmethod
|
|
240
|
+
def _device_groups():
|
|
241
|
+
try:
|
|
242
|
+
groups = ListDevices().sort_devices()
|
|
243
|
+
except Exception as e:
|
|
244
|
+
print(f"[GatewayDashboard] device group refresh error: {e}")
|
|
245
|
+
groups = ListDevices.DEVICE_CACHE or {'online': {}, 'offline': {}}
|
|
246
|
+
return {
|
|
247
|
+
'online': {
|
|
248
|
+
uid: data for uid, data in groups.get('online', {}).items()
|
|
249
|
+
if len(data) > 2 and not str(data[2]).startswith('__')
|
|
250
|
+
},
|
|
251
|
+
'offline': {
|
|
252
|
+
uid: data for uid, data in groups.get('offline', {}).items()
|
|
253
|
+
if len(data) > 2 and not str(data[2]).startswith('__')
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
@staticmethod
|
|
258
|
+
def _device_tabs(label, devices, selected_device=''):
|
|
259
|
+
if not devices:
|
|
260
|
+
return '<div class="empty-row">No online devices available.</div>'
|
|
261
|
+
links = []
|
|
262
|
+
for uid, data in sorted(devices.items(), key=lambda item: str(item[1][2]).lower()):
|
|
263
|
+
fuid = str(data[2])
|
|
264
|
+
href = f"/dashboard/{quote(fuid, safe='')}"
|
|
265
|
+
css_classes = ['device-tab']
|
|
266
|
+
if fuid == selected_device:
|
|
267
|
+
css_classes.append('active')
|
|
268
|
+
title = escape(f"{fuid} ({uid})")
|
|
269
|
+
links.append(
|
|
270
|
+
f'<a class="{" ".join(css_classes)}" href="{href}" target="deviceFrame" '
|
|
271
|
+
f'data-device="{escape(fuid)}" title="{title}">{escape(fuid)}</a>'
|
|
272
|
+
)
|
|
273
|
+
return f'<nav class="device-tabs" aria-label="{label}">' + ''.join(links) + '</nav>'
|
|
274
|
+
|
|
275
|
+
def get(self):
|
|
276
|
+
groups = self._device_groups()
|
|
277
|
+
requested_device = request.args.get('device', '').strip()
|
|
278
|
+
known_devices = {
|
|
279
|
+
str(data[2]) for data in groups['online'].values()
|
|
280
|
+
}
|
|
281
|
+
first_online = next(iter(groups['online'].values()), None)
|
|
282
|
+
first_device = requested_device if requested_device in known_devices else str(first_online[2]) if first_online else ''
|
|
283
|
+
initial_src = f"/dashboard/{quote(first_device, safe='')}" if first_device else ''
|
|
284
|
+
online_tabs = self._device_tabs('online devices', groups['online'], first_device)
|
|
285
|
+
iframe = (
|
|
286
|
+
f'<iframe name="deviceFrame" id="deviceFrame" src="{initial_src}" '
|
|
287
|
+
'title="micrOS device dashboard"></iframe>'
|
|
288
|
+
if initial_src else
|
|
289
|
+
'<div class="empty-panel">No online device dashboard is available yet.</div>'
|
|
290
|
+
)
|
|
291
|
+
html = f"""<!DOCTYPE html>
|
|
292
|
+
<html lang="en">
|
|
293
|
+
<head>
|
|
294
|
+
<meta charset="UTF-8">
|
|
295
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
|
|
296
|
+
<meta name="theme-color" content="#101418">
|
|
297
|
+
<title>micrOS Gateway Dashboards</title>
|
|
298
|
+
<link rel="stylesheet" href="/gateway.css">
|
|
299
|
+
<style>
|
|
300
|
+
.dashboard-shell {{ min-height: 100vh; display: grid; grid-template-rows: auto 1fr; gap: 8px; padding: 10px; }}
|
|
301
|
+
.dashboard-top {{ overflow: hidden; }}
|
|
302
|
+
.device-tabs {{ display: flex; gap: 6px; overflow-x: auto; padding: 4px; }}
|
|
303
|
+
.device-tab {{ display: inline-flex; align-items: center; justify-content: center; min-height: 30px; padding: 5px 10px; border-radius: 8px; background: var(--surface-strong); color: var(--text); text-decoration: none; font-weight: 700; font-size: 12px; white-space: nowrap; box-shadow: inset 0 0 0 1px var(--line); }}
|
|
304
|
+
.device-tab.active {{ background: var(--accent); color: #101418; box-shadow: none; }}
|
|
305
|
+
.dashboard-frame {{ min-height: calc(100vh - 56px); }}
|
|
306
|
+
#deviceFrame {{ width: 100%; min-height: calc(100vh - 56px); border: 1px solid var(--line); border-radius: 8px; background: #000; }}
|
|
307
|
+
.empty-row, .empty-panel {{ color: var(--muted); padding: 12px; border: 1px solid var(--line); border-radius: 8px; }}
|
|
308
|
+
@media (max-width: 820px) {{
|
|
309
|
+
.dashboard-shell {{ padding: 6px; }}
|
|
310
|
+
#deviceFrame {{ min-height: calc(100vh - 48px); }}
|
|
311
|
+
}}
|
|
312
|
+
</style>
|
|
313
|
+
</head>
|
|
314
|
+
<body class="page-gateway">
|
|
315
|
+
<main class="dashboard-shell">
|
|
316
|
+
<section class="dashboard-top">
|
|
317
|
+
{online_tabs}
|
|
318
|
+
</section>
|
|
319
|
+
<section class="dashboard-frame">
|
|
320
|
+
{iframe}
|
|
321
|
+
</section>
|
|
322
|
+
</main>
|
|
323
|
+
<script>
|
|
324
|
+
document.querySelectorAll('.device-tab').forEach(link => {{
|
|
325
|
+
link.addEventListener('click', () => {{
|
|
326
|
+
document.querySelectorAll('.device-tab').forEach(item => item.classList.remove('active'));
|
|
327
|
+
link.classList.add('active');
|
|
328
|
+
}});
|
|
329
|
+
}});
|
|
330
|
+
</script>
|
|
331
|
+
</body>
|
|
332
|
+
</html>"""
|
|
333
|
+
return make_response(html)
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
class DeviceDashboard(Resource):
|
|
337
|
+
"""
|
|
338
|
+
Gateway-served micrOS dashboard.
|
|
339
|
+
|
|
340
|
+
The HTML is loaded from micrOS/source/web/dashboard.html and only receives a
|
|
341
|
+
device-scoped BASE_URL so the original dashboard code calls the gateway.
|
|
342
|
+
"""
|
|
343
|
+
|
|
344
|
+
def get(self, device):
|
|
345
|
+
dashboard_html = os.path.join(MICROS_WEBUI_PATH, 'dashboard.html')
|
|
346
|
+
try:
|
|
347
|
+
with open(dashboard_html, 'r', encoding='utf-8') as file:
|
|
348
|
+
html = file.read()
|
|
349
|
+
except OSError:
|
|
350
|
+
abort(404, description=f"micrOS dashboard resource not found: {dashboard_html}")
|
|
351
|
+
|
|
352
|
+
safe_device = escape(device)
|
|
353
|
+
rest_base = f"/dashboard/{quote(device, safe='')}"
|
|
354
|
+
html = html.replace(
|
|
355
|
+
'<head>',
|
|
356
|
+
'<head>\n <base href="/micros-web/">',
|
|
357
|
+
1
|
|
358
|
+
)
|
|
359
|
+
html = html.replace(
|
|
360
|
+
'<title>microWebDashboard</title>',
|
|
361
|
+
f'<title>micrOS Gateway Dashboard - {safe_device}</title>',
|
|
362
|
+
1
|
|
363
|
+
)
|
|
364
|
+
html = html.replace(
|
|
365
|
+
'<script src="uapi.js" ></script>',
|
|
366
|
+
'<script src="uapi.js" ></script>\n'
|
|
367
|
+
f' <script>BASE_URL = {json.dumps(rest_base)};</script>',
|
|
368
|
+
1
|
|
369
|
+
)
|
|
370
|
+
html = html.replace(
|
|
371
|
+
'<h1> micrOS dashboard </h1>',
|
|
372
|
+
f'<h1> micrOS dashboard - {safe_device}</h1>',
|
|
373
|
+
1
|
|
374
|
+
)
|
|
375
|
+
return make_response(html)
|
|
376
|
+
|
|
377
|
+
|
|
378
|
+
class DeviceDashboardRest(Resource):
|
|
379
|
+
"""
|
|
380
|
+
Device REST-compatible endpoint backed by gateway socket commands.
|
|
381
|
+
"""
|
|
382
|
+
|
|
383
|
+
@staticmethod
|
|
384
|
+
def device_info(device):
|
|
385
|
+
_, _, fid, uid = socketClient.ConnectionData.select_device(device_tag=device)
|
|
386
|
+
if uid is None:
|
|
387
|
+
abort(404, description=f"Unknown device: {device}")
|
|
388
|
+
version_call = SendCmd.runcmd(device, 'version')
|
|
389
|
+
version = version_call.get('response') or 'Unknown'
|
|
390
|
+
return jsonify({
|
|
391
|
+
'result': {
|
|
392
|
+
'micrOS': version,
|
|
393
|
+
'node': fid,
|
|
394
|
+
'auth': _gateway_auth_enabled(),
|
|
395
|
+
'usr_endpoints': ('dashboard',)
|
|
396
|
+
},
|
|
397
|
+
'state': _dashboard_state(version_call)
|
|
398
|
+
})
|
|
399
|
+
|
|
400
|
+
def get(self, device, cmd=''):
|
|
401
|
+
cmd_tokens = _parse_dashboard_rest_cmd(cmd)
|
|
402
|
+
if not cmd_tokens:
|
|
403
|
+
return self.device_info(device)
|
|
404
|
+
|
|
405
|
+
if cmd_tokens[-1] != '>json':
|
|
406
|
+
cmd_tokens.append('>json')
|
|
407
|
+
execution = SendCmd.runcmd(device, '+'.join(cmd_tokens))
|
|
408
|
+
return jsonify({
|
|
409
|
+
'result': _decode_dashboard_result(execution.get('response')),
|
|
410
|
+
'state': _dashboard_state(execution),
|
|
411
|
+
'gateway': {
|
|
412
|
+
'cmd': execution.get('cmd'),
|
|
413
|
+
'device': execution.get('device'),
|
|
414
|
+
'latency': execution.get('latency')
|
|
415
|
+
}
|
|
416
|
+
})
|
|
417
|
+
|
|
418
|
+
|
|
419
|
+
class DeviceDashboardEndpoint(Resource):
|
|
420
|
+
"""
|
|
421
|
+
Gateway proxy for device web callbacks used by dashboard embed widgets.
|
|
422
|
+
"""
|
|
423
|
+
ALLOWED_ENDPOINTS = ('cam/snapshot', 'cam/stream')
|
|
424
|
+
|
|
425
|
+
def get(self, device, endpoint):
|
|
426
|
+
endpoint = endpoint.strip('/')
|
|
427
|
+
if endpoint not in self.ALLOWED_ENDPOINTS:
|
|
428
|
+
abort(404, description=f"Unsupported dashboard endpoint: {endpoint}")
|
|
429
|
+
|
|
430
|
+
ip, _, _, uid = socketClient.ConnectionData.select_device(device_tag=device)
|
|
431
|
+
if uid is None:
|
|
432
|
+
abort(404, description=f"Unknown device: {device}")
|
|
433
|
+
device_url = f"http://{ip}/{endpoint}"
|
|
434
|
+
try:
|
|
435
|
+
upstream = requests.get(device_url, timeout=10, stream=True)
|
|
436
|
+
except Exception as e:
|
|
437
|
+
print(f"[GatewayDashboard] endpoint proxy error: {device_url}: {e}")
|
|
438
|
+
return f"Failed to retrieve device endpoint: {endpoint}", 502
|
|
439
|
+
|
|
440
|
+
if upstream.status_code != 200:
|
|
441
|
+
status = upstream.status_code
|
|
442
|
+
upstream.close()
|
|
443
|
+
return f"Device endpoint returned HTTP {status}: {endpoint}", status
|
|
444
|
+
|
|
445
|
+
content_type = upstream.headers.get('content-type', 'application/octet-stream')
|
|
446
|
+
if content_type.startswith('multipart/'):
|
|
447
|
+
def generate():
|
|
448
|
+
try:
|
|
449
|
+
for chunk in upstream.iter_content(chunk_size=4096):
|
|
450
|
+
if chunk:
|
|
451
|
+
yield chunk
|
|
452
|
+
finally:
|
|
453
|
+
upstream.close()
|
|
454
|
+
return Response(stream_with_context(generate()), content_type=content_type)
|
|
455
|
+
|
|
456
|
+
body = upstream.content
|
|
457
|
+
upstream.close()
|
|
458
|
+
return Response(body, content_type=content_type)
|
|
459
|
+
|
|
460
|
+
|
|
165
461
|
class SendCmd(Resource):
|
|
166
462
|
"""
|
|
167
463
|
http://127.0.0.1:5005/sendcmd/micr240ac4f679e8OS/rgb+toggle
|
|
@@ -214,7 +510,8 @@ class SendCmd(Resource):
|
|
|
214
510
|
# FORMAT (strip) response
|
|
215
511
|
if response is not None:
|
|
216
512
|
response = [k.strip() for k in response.splitlines()] if '\n' in response else response.strip()
|
|
217
|
-
return {'cmd': cmd_list, 'device': device_detailed, 'response': response, 'latency': diff}
|
|
513
|
+
return {'cmd': cmd_list, 'device': device_detailed, 'response': response, 'latency': diff, 'state': bool(status)}
|
|
514
|
+
|
|
218
515
|
|
|
219
516
|
class ListDevices(Resource):
|
|
220
517
|
DEVICE_CACHE = {}
|
|
@@ -629,6 +926,13 @@ api.add_resource(Hello, '/')
|
|
|
629
926
|
api.add_resource(ListDevices, '/list/')
|
|
630
927
|
api.add_resource(SearchDevices, '/search/')
|
|
631
928
|
api.add_resource(DeviceStatus, '/status')
|
|
929
|
+
api.add_resource(DeviceDashboardGroup, '/dashboard')
|
|
930
|
+
api.add_resource(DeviceDashboard, '/dashboard/<string:device>')
|
|
931
|
+
api.add_resource(DeviceDashboardRest,
|
|
932
|
+
'/dashboard/<string:device>/rest',
|
|
933
|
+
'/dashboard/<string:device>/rest/',
|
|
934
|
+
'/dashboard/<string:device>/rest/<path:cmd>')
|
|
935
|
+
api.add_resource(DeviceDashboardEndpoint, '/dashboard/<string:device>/<path:endpoint>')
|
|
632
936
|
api.add_resource(SendCmd, '/sendcmd/<string:device>/<string:cmd>')
|
|
633
937
|
api.add_resource(Prometheus, '/metrics/<string:device>/<string:cmd>')
|
|
634
938
|
api.add_resource(ForwardImg, '/image', '/image/<string:device>')
|
|
@@ -135,13 +135,19 @@ p {
|
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
.hero-actions,
|
|
138
|
-
.meta,
|
|
139
138
|
.toolbar {
|
|
140
139
|
display: flex;
|
|
141
140
|
gap: 12px;
|
|
142
141
|
flex-wrap: wrap;
|
|
143
142
|
}
|
|
144
143
|
|
|
144
|
+
.meta {
|
|
145
|
+
display: flex;
|
|
146
|
+
flex-direction: column;
|
|
147
|
+
align-items: stretch;
|
|
148
|
+
gap: 10px;
|
|
149
|
+
}
|
|
150
|
+
|
|
145
151
|
.meta-chip {
|
|
146
152
|
padding: 10px 14px;
|
|
147
153
|
border-radius: 14px;
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
</div>
|
|
22
22
|
<div class="meta">
|
|
23
23
|
<div class="meta-chip" id="camera_stream_link">Camera stream link</div>
|
|
24
|
+
<div class="meta-chip" id="dashboard_group_link">Dashboard group link</div>
|
|
24
25
|
</div>
|
|
25
26
|
</div>
|
|
26
27
|
</section>
|
|
@@ -88,6 +89,8 @@
|
|
|
88
89
|
<div class="endpoint"><code>/list</code><span>List known devices and sort them by online and offline state.</span></div>
|
|
89
90
|
<div class="endpoint"><code>/search</code><span>Trigger device discovery on the current network.</span></div>
|
|
90
91
|
<div class="endpoint"><code>/status</code><span>Collect node status data and system-level health details.</span></div>
|
|
92
|
+
<div class="endpoint"><code>/dashboard</code><span>Open the gateway dashboard group for every known device.</span></div>
|
|
93
|
+
<div class="endpoint"><code>/dashboard/<device></code><span>Open a gateway-backed dashboard using the shared micrOS web resources.</span></div>
|
|
91
94
|
<div class="endpoint"><code>/sendcmd/<device>/<cmd></code><span>Send a command to a selected device. Use `+` instead of spaces.</span></div>
|
|
92
95
|
<div class="endpoint"><code>/metrics/<device>/<cmd></code><span>Expose command output in Prometheus scrape format.</span></div>
|
|
93
96
|
<div class="endpoint"><code>/image/<device></code><span>Fetch an ESP camera image. Without a device parameter, the endpoint lists cameras.</span></div>
|
|
@@ -175,7 +178,7 @@
|
|
|
175
178
|
|
|
176
179
|
function update_device_links(fuid, color='var(--accent)', offline=false) {
|
|
177
180
|
const className = offline ? 'offline' : '';
|
|
178
|
-
var linkTemplate = `<a href="${
|
|
181
|
+
var linkTemplate = `<a href="${apiBaseUrl}/dashboard?device=${encodeURIComponent(fuid)}" target="_blank" class="${className}" style="background-color: ${color};" title="Gateway dashboard group">${fuid}</a>`;
|
|
179
182
|
deviceLinksHTML.push(linkTemplate);
|
|
180
183
|
}
|
|
181
184
|
|
|
@@ -243,9 +246,22 @@
|
|
|
243
246
|
elementToReplace.parentNode.replaceChild(link, elementToReplace);
|
|
244
247
|
}
|
|
245
248
|
|
|
249
|
+
function create_dashboard_group_link() {
|
|
250
|
+
let apiUrl = `${apiBaseUrl}/dashboard`;
|
|
251
|
+
var link = document.createElement('a');
|
|
252
|
+
link.href = apiUrl;
|
|
253
|
+
link.textContent = 'Open Device Dashboards';
|
|
254
|
+
link.className = 'link-button';
|
|
255
|
+
link.target = '_blank';
|
|
256
|
+
|
|
257
|
+
var elementToReplace = document.getElementById('dashboard_group_link');
|
|
258
|
+
elementToReplace.parentNode.replaceChild(link, elementToReplace);
|
|
259
|
+
}
|
|
260
|
+
|
|
246
261
|
set_gateway_ui_version();
|
|
247
262
|
render_command_suggestions();
|
|
248
263
|
create_camera_stream_link();
|
|
264
|
+
create_dashboard_group_link();
|
|
249
265
|
restApi();
|
|
250
266
|
</script>
|
|
251
267
|
</body>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import esp32
|
|
2
2
|
from Common import syslog
|
|
3
|
+
from Types import resolve
|
|
3
4
|
|
|
4
5
|
#########################
|
|
5
6
|
# Application functions #
|
|
@@ -66,4 +67,6 @@ def help(widgets=False):
|
|
|
66
67
|
(widgets=False) list of functions implemented by this application
|
|
67
68
|
(widgets=True) list of widget json for UI generation
|
|
68
69
|
"""
|
|
69
|
-
return 'hall',
|
|
70
|
+
return resolve(('hall',
|
|
71
|
+
'GRAPH temp',
|
|
72
|
+
'touch', 'battery', 'NOTE: battery only available on tinypico'), widgets=widgets)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/esp32-20251209-v1.27.0.bin
RENAMED
|
File without changes
|
{microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/esp32c3-20251209-v1.27.0.bin
RENAMED
|
File without changes
|
{microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/esp32c5-20251209-v1.27.0.bin
RENAMED
|
File without changes
|
{microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/esp32c6-20251209-v1.27.0.bin
RENAMED
|
File without changes
|
{microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/esp32cam-v1.21.0_camera.bin
RENAMED
|
File without changes
|
{microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/esp32s2-20251209-v1.27.0.bin
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/micrOS-esp32-1.28.0-3.3.1-0.bin
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/rpi-pico-w-20251209-v1.27.0.uf2
RENAMED
|
File without changes
|
{microsdevtoolkit-3.3.4 → microsdevtoolkit-3.3.5}/micrOS/micropython/tinypico-20251209-v1.27.0.bin
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|