micrOSDevToolKit 2.26.0__tar.gz → 2.26.2__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-2.26.0/micrOSDevToolKit.egg-info → microsdevtoolkit-2.26.2}/PKG-INFO +3 -4
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/README.md +2 -3
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/release_info/micrOS_ReleaseInfo/system_analysis_sum.json +20 -20
- microsdevtoolkit-2.26.2/micrOS/source/Auth.py +63 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/Hooks.py +2 -1
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/Shell.py +2 -3
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/Web.py +1 -1
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_OV2640.py +4 -2
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_fileserver.py +12 -2
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_pacman.py +5 -7
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_robustness.py +18 -1
- {microsdevtoolkit-2.26.0/toolkit/workspace/precompiled → microsdevtoolkit-2.26.2/micrOS/source}/web/filesui.js +40 -28
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2/micrOSDevToolKit.egg-info}/PKG-INFO +3 -4
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOSDevToolKit.egg-info/SOURCES.txt +2 -6
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/setup.py +1 -1
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/micrOSlint.py +2 -2
- microsdevtoolkit-2.26.2/toolkit/simulator_lib/node_config.json +6 -0
- microsdevtoolkit-2.26.2/toolkit/workspace/precompiled/Auth.mpy +0 -0
- microsdevtoolkit-2.26.2/toolkit/workspace/precompiled/Hooks.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/Shell.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_OV2640.mpy +0 -0
- microsdevtoolkit-2.26.2/toolkit/workspace/precompiled/modules/LM_fileserver.mpy +0 -0
- microsdevtoolkit-2.26.2/toolkit/workspace/precompiled/modules/LM_pacman.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_robustness.py +18 -1
- {microsdevtoolkit-2.26.0/micrOS/source → microsdevtoolkit-2.26.2/toolkit/workspace/precompiled}/web/filesui.js +40 -28
- microsdevtoolkit-2.26.0/micrOS/source/modules/IO_s3matrix.py +0 -21
- microsdevtoolkit-2.26.0/micrOS/source/modules/LM_neomatrix.py +0 -426
- microsdevtoolkit-2.26.0/micrOS/source/web/matrix_draw.html +0 -390
- microsdevtoolkit-2.26.0/toolkit/simulator_lib/node_config.json +0 -6
- microsdevtoolkit-2.26.0/toolkit/workspace/precompiled/Hooks.mpy +0 -0
- microsdevtoolkit-2.26.0/toolkit/workspace/precompiled/modules/IO_s3matrix.mpy +0 -0
- microsdevtoolkit-2.26.0/toolkit/workspace/precompiled/modules/LM_fileserver.mpy +0 -0
- microsdevtoolkit-2.26.0/toolkit/workspace/precompiled/modules/LM_neomatrix.mpy +0 -0
- microsdevtoolkit-2.26.0/toolkit/workspace/precompiled/modules/LM_pacman.mpy +0 -0
- microsdevtoolkit-2.26.0/toolkit/workspace/precompiled/web/matrix_draw.html +0 -390
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/LICENSE +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/MANIFEST.in +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/devToolKit.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/env/__init__.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/env/driver_cp210x/.DS_Store +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x64.exe +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x86.exe +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210x_Universal_Windows_Driver_ReleaseNotes.txt +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/env/driver_cp210x/CP210x_Universal_Windows_Driver/SLAB_License_Agreement_VCP_Windows.txt +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm/silabser.sys +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm64/silabser.sys +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/env/driver_cp210x/CP210x_Universal_Windows_Driver/dpinst.xml +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.cat +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.inf +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x64/silabser.sys +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x86/silabser.sys +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/env/driver_cp210x/macOS_VCP_Driver/SiLabsUSBDriverDisk.dmg +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/env/driver_cp210x/macOS_VCP_Driver/macOS_VCP_Driver_Release_Notes.txt +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/media/__init__.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/media/dnd.png +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/media/logo.png +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/media/logo_mini.png +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/media/usb_port_icon.png +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/media/wifi_icon.png +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/__init__.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/micropython/esp32-20251209-v1.27.0.bin +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/micropython/esp32c3-20251209-v1.27.0.bin +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/micropython/esp32c6-20251209-v1.27.0.bin +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/micropython/esp32cam-v1.21.0_camera.bin +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/micropython/esp32s2-20251209-v1.27.0.bin +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/micropython/esp32s2-LOLIN_MINI-20251209-v1.27.0.bin +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/micropython/esp32s3-4MBflash-20241129-v1.24.1.bin +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/micropython/esp32s3-8MBflash-20251209-v1.27.0.bin +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/micropython/esp32s3_spiram_oct-20251209-v1.27.0.bin +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/micropython/rpi-pico-w-20251209-v1.27.0.uf2 +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/micropython/tinypico-20251209-v1.27.0.bin +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/.DS_Store +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/Common.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/Config.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/Debug.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/Espnow.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/Files.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/InterConnect.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/Interrupts.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/Logger.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/Network.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/Notify.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/Pacman.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/Scheduler.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/Server.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/Tasks.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/Time.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/Types.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/__pycache__/Common.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/__pycache__/Debug.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/__pycache__/Files.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/__pycache__/Logger.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/__pycache__/Scheduler.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/__pycache__/Server.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/__pycache__/Shell.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/__pycache__/replhelper.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/config/_git.keep +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/helpers.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/main.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/micrOS.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/micrOSloader.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/microIO.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/IO_esp32.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/IO_esp32c3.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/IO_esp32c6.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/IO_esp32s2.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/IO_esp32s3.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/IO_m5stamp.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/IO_qtpy.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/IO_rp2.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/IO_tinypico.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_L298N.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_L9110_DCmotor.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_VL53L0X.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_aht10.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_bme280.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_buzzer.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_cct.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_cluster.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_co2.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_dht11.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_dht22.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_dimmer.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_distance.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_ds18.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_esp32.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_espnow.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_gameOfLife.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_genIO.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_haptic.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_i2c.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_i2s_mic.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_ld2410.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_light_sensor.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_mh_z19c.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_neoeffects.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_neopixel.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_oled.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_oled_sh1106.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_oled_ui.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_presence.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_qmi8658.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_rencoder.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_rest.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_rgb.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_rgbcct.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_roboarm.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_rp2w.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_sdcard.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_servo.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_sound_event.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_stepper.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_switch.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_system.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_tcs3472.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_telegram.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_tinyrgb.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_trackball.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_veml7700.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/modules/LM_web.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/urequests.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/web/dashboard.html +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/web/editor.js +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/web/filesui.html +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/web/index.html +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/web/uapi.js +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/web/udashboard.js +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/web/ustyle.css +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/web/uwidgets.js +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/source/web/uwidgets_pro.js +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/utests/__init__.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOS/utests/test_scheduler.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOSDevToolKit.egg-info/dependency_links.txt +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOSDevToolKit.egg-info/requires.txt +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/micrOSDevToolKit.egg-info/top_level.txt +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/setup.cfg +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/DevEnvCompile.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/DevEnvOTA.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/DevEnvUSB.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/Gateway.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/LM_to_compile.dat +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/MicrOSDevEnv.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/WebRepl.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/__init__.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/dashboard_apps/BackupRestore.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/dashboard_apps/CCTDemo.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/dashboard_apps/CCTTest.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/dashboard_apps/CamStream.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/dashboard_apps/CatGame.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/dashboard_apps/Dimmer.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/dashboard_apps/GetVersion.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/dashboard_apps/MicrophoneTest.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/dashboard_apps/NeoEffectsDemo.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/dashboard_apps/NeopixelTest.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/dashboard_apps/PresenceTest.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/dashboard_apps/QMI8685_GYRO.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/dashboard_apps/RGBTest.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/dashboard_apps/RoboArm.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/dashboard_apps/SED_test.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/dashboard_apps/SensorsTest.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/dashboard_apps/SystemTest.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/dashboard_apps/Template_app.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/dashboard_apps/__init__.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/dashboard_apps/_app_base.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/dashboard_apps/_capture.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/dashboard_apps/_gyro_visualizer.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/dashboard_apps/_micPlotting.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/dashboard_apps/_presencePlotting.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/dashboard_apps/uLightDemo.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/img_stream.html +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/index.html +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/lib/LocalMachine.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/lib/MicrosFiles.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/lib/Repository.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/lib/SafeInput.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/lib/SearchDevices.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/lib/SerialDriverHandler.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/lib/TerminalColors.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/lib/__init__.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/lib/macroScript.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/lib/micrOSClient.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/lib/micrOSClientHistory.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/lib/pip_package_installer.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/micrOSdashboard.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/.DS_Store +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/IO_darwin.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/IO_darwin.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/aioespnow.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/camera.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/dht.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/dht.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/dotstar.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/dotstar.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/dotstar.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/esp32.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/esp32.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/esp32.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/framebuf.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/framebuf.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/framebuf.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/machine.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/machine.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/machine.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/micropython.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/micropython.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/micropython.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/mip.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/neopixel.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/neopixel.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/neopixel.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/network.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/network.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/network.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/ntptime.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/onewire.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/onewire.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/onewire.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/sim_common.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/simgc.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/simgc.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/simgc.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/simulator.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/simulator.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/simulator.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/tinypico.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/tinypico.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/tinypico.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/uos.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/urandom.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/usocket.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/ussl.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/ustruct.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/ustruct.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/utime.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/utime.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/utime.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/webrepl.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/webrepl.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/__pycache__/webrepl.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/aioespnow.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/camera.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/dht.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/dotstar.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/ds18x20.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/esp32.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/framebuf.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/machine.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/micropython.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/mip.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/neopixel.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/network.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/ntptime.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/onewire.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/sim_common.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/simgc.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/simulator.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/tinypico.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/uasyncio.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/uos.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/urandom.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/usocket.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/ussl.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/ustruct.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/utime.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/view01.jpg +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/view02.jpg +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/simulator_lib/webrepl.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/socketClient.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/user_data/.include +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/user_data/webhooks/generic.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/user_data/webhooks/macro.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/user_data/webhooks/template.macro +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/user_data/webhooks/template.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/__init__.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/Common.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/Config.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/Debug.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/Espnow.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/Files.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/InterConnect.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/Interrupts.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/Logger.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/Network.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/Notify.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/Pacman.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/Scheduler.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/Server.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/Tasks.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/Time.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/Types.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/Web.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/_mpy.version +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/config/_git.keep +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/helpers.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/main.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/micrOS.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/micrOSloader.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/microIO.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/IO_esp32.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/IO_esp32c3.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/IO_esp32c6.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/IO_esp32s2.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/IO_esp32s3.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/IO_m5stamp.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/IO_qtpy.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/IO_rp2.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/IO_tinypico.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_L298N.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_L9110_DCmotor.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_VL53L0X.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_aht10.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_bme280.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_buzzer.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_cct.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_cluster.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_co2.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_dht11.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_dht22.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_dimmer.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_distance.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_ds18.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_esp32.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_espnow.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_gameOfLife.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_genIO.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_haptic.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_i2c.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_i2s_mic.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_ld2410.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_light_sensor.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_mh_z19c.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_neoeffects.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_neopixel.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_oled.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_oled_sh1106.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_oled_ui.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_presence.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_qmi8658.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_rencoder.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_rest.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_rgb.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_rgbcct.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_roboarm.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_rp2w.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_sdcard.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_servo.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_sound_event.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_stepper.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_switch.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_system.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_tcs3472.py +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_telegram.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_tinyrgb.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_trackball.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_veml7700.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/modules/LM_web.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/urequests.mpy +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/web/dashboard.html +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/web/editor.js +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/web/filesui.html +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/web/index.html +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/web/uapi.js +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/web/udashboard.js +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/web/ustyle.css +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/web/uwidgets.js +0 -0
- {microsdevtoolkit-2.26.0 → microsdevtoolkit-2.26.2}/toolkit/workspace/precompiled/web/uwidgets_pro.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: micrOSDevToolKit
|
|
3
|
-
Version: 2.26.
|
|
3
|
+
Version: 2.26.2
|
|
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
|
|
@@ -628,12 +628,11 @@ Version **3.0.0-0** `micrOS-Autonomous`
|
|
|
628
628
|
- mount pathes write access handlig
|
|
629
629
|
- mount pathes read (+visibility) access handlig
|
|
630
630
|
|
|
631
|
-
- (11) [
|
|
632
|
-
- When node_config["auth"] == True
|
|
631
|
+
- (11) [DONE] @Auth.sudo decorator
|
|
633
632
|
- Require pwd="<password>" parameter
|
|
634
633
|
- Two modes:
|
|
635
634
|
- Always require
|
|
636
|
-
- Require when force=True (
|
|
635
|
+
- Require when force=True (_force_only=(True, 0))
|
|
637
636
|
- Apply this to:
|
|
638
637
|
- pacman rm
|
|
639
638
|
- pacman rmdir
|
|
@@ -590,12 +590,11 @@ Version **3.0.0-0** `micrOS-Autonomous`
|
|
|
590
590
|
- mount pathes write access handlig
|
|
591
591
|
- mount pathes read (+visibility) access handlig
|
|
592
592
|
|
|
593
|
-
- (11) [
|
|
594
|
-
- When node_config["auth"] == True
|
|
593
|
+
- (11) [DONE] @Auth.sudo decorator
|
|
595
594
|
- Require pwd="<password>" parameter
|
|
596
595
|
- Two modes:
|
|
597
596
|
- Always require
|
|
598
|
-
- Require when force=True (
|
|
597
|
+
- Require when force=True (_force_only=(True, 0))
|
|
599
598
|
- Apply this to:
|
|
600
599
|
- pacman rm
|
|
601
600
|
- pacman rmdir
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"files": {
|
|
3
|
+
"Auth.py": [
|
|
4
|
+
9.5,
|
|
5
|
+
4
|
|
6
|
+
],
|
|
3
7
|
"Time.py": [
|
|
4
8
|
9.34,
|
|
5
9
|
5
|
|
@@ -17,7 +21,7 @@
|
|
|
17
21
|
1
|
|
18
22
|
],
|
|
19
23
|
"Hooks.py": [
|
|
20
|
-
9.
|
|
24
|
+
9.63,
|
|
21
25
|
1
|
|
22
26
|
],
|
|
23
27
|
"Server.py": [
|
|
@@ -34,10 +38,10 @@
|
|
|
34
38
|
],
|
|
35
39
|
"Config.py": [
|
|
36
40
|
9.44,
|
|
37
|
-
|
|
41
|
+
17
|
|
38
42
|
],
|
|
39
43
|
"Shell.py": [
|
|
40
|
-
9.
|
|
44
|
+
9.36,
|
|
41
45
|
2
|
|
42
46
|
],
|
|
43
47
|
"Notify.py": [
|
|
@@ -46,7 +50,7 @@
|
|
|
46
50
|
],
|
|
47
51
|
"Types.py": [
|
|
48
52
|
9.21,
|
|
49
|
-
|
|
53
|
+
28
|
|
50
54
|
],
|
|
51
55
|
"Logger.py": [
|
|
52
56
|
8.84,
|
|
@@ -54,7 +58,7 @@
|
|
|
54
58
|
],
|
|
55
59
|
"Common.py": [
|
|
56
60
|
9.85,
|
|
57
|
-
|
|
61
|
+
33
|
|
58
62
|
],
|
|
59
63
|
"InterConnect.py": [
|
|
60
64
|
9.63,
|
|
@@ -78,7 +82,7 @@
|
|
|
78
82
|
],
|
|
79
83
|
"microIO.py": [
|
|
80
84
|
9.35,
|
|
81
|
-
|
|
85
|
+
43
|
|
82
86
|
],
|
|
83
87
|
"micrOS.py": [
|
|
84
88
|
9.3,
|
|
@@ -113,7 +117,7 @@
|
|
|
113
117
|
0
|
|
114
118
|
],
|
|
115
119
|
"modules/LM_pacman.py": [
|
|
116
|
-
7.
|
|
120
|
+
7.68,
|
|
117
121
|
0
|
|
118
122
|
],
|
|
119
123
|
"modules/LM_web.py": [
|
|
@@ -133,7 +137,7 @@
|
|
|
133
137
|
0
|
|
134
138
|
],
|
|
135
139
|
"modules/LM_robustness.py": [
|
|
136
|
-
8.
|
|
140
|
+
8.47,
|
|
137
141
|
0
|
|
138
142
|
],
|
|
139
143
|
"modules/LM_qmi8658.py": [
|
|
@@ -257,7 +261,7 @@
|
|
|
257
261
|
0
|
|
258
262
|
],
|
|
259
263
|
"modules/LM_OV2640.py": [
|
|
260
|
-
9.
|
|
264
|
+
9.29,
|
|
261
265
|
0
|
|
262
266
|
],
|
|
263
267
|
"modules/LM_rgb.py": [
|
|
@@ -311,20 +315,16 @@
|
|
|
311
315
|
"modules/LM_fileserver.py": [
|
|
312
316
|
9.41,
|
|
313
317
|
0
|
|
314
|
-
],
|
|
315
|
-
"modules/LM_neomatrix.py": [
|
|
316
|
-
8.75,
|
|
317
|
-
0
|
|
318
318
|
]
|
|
319
319
|
},
|
|
320
320
|
"summary": {
|
|
321
321
|
"core": [
|
|
322
|
-
|
|
323
|
-
|
|
322
|
+
4734,
|
|
323
|
+
26
|
|
324
324
|
],
|
|
325
325
|
"load": [
|
|
326
|
-
|
|
327
|
-
|
|
326
|
+
8777,
|
|
327
|
+
53
|
|
328
328
|
],
|
|
329
329
|
"core_dep": [
|
|
330
330
|
true,
|
|
@@ -334,8 +334,8 @@
|
|
|
334
334
|
true,
|
|
335
335
|
3
|
|
336
336
|
],
|
|
337
|
-
"core_score": 9.
|
|
338
|
-
"load_score": 8.
|
|
339
|
-
"version": "2.26.
|
|
337
|
+
"core_score": 9.28,
|
|
338
|
+
"load_score": 8.43,
|
|
339
|
+
"version": "2.26.1-0"
|
|
340
340
|
}
|
|
341
341
|
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"""
|
|
2
|
+
micrOS Load Module Authentication features
|
|
3
|
+
Designed by Marcell Ban aka BxNxM
|
|
4
|
+
"""
|
|
5
|
+
from Config import cfgget as __cfgget
|
|
6
|
+
PWD_KEY = "pwd"
|
|
7
|
+
|
|
8
|
+
def sudo(_f=None, *, _when_true=None):
|
|
9
|
+
"""
|
|
10
|
+
Decorator for password-protected functions.
|
|
11
|
+
his decorator can be used with or without arguments:
|
|
12
|
+
@sudo
|
|
13
|
+
def fn(...): ...
|
|
14
|
+
|
|
15
|
+
@sudo(_when_true=("flag", 0))
|
|
16
|
+
def fn(flag, ...): ...
|
|
17
|
+
|
|
18
|
+
:param _f: Internal use only.
|
|
19
|
+
The decorated function when the decorator is used without parentheses.
|
|
20
|
+
If None, the decorator is being configured and will return a wrapper.
|
|
21
|
+
:param _when_true: optional pwd check
|
|
22
|
+
- _when_true=None: always require pwd
|
|
23
|
+
- _when_true=(keyword:str, position:int): require pwd only when keyword/position is True
|
|
24
|
+
Password check:
|
|
25
|
+
- pwd is checked against node_config appwd value, and is not passed to the decorated function
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
def deco(f):
|
|
29
|
+
wt_kw = wt_idx = None
|
|
30
|
+
if _when_true is not None:
|
|
31
|
+
wt_kw, wt_idx = _when_true
|
|
32
|
+
|
|
33
|
+
def w(*a, **k):
|
|
34
|
+
# Decide if password is required
|
|
35
|
+
require = True
|
|
36
|
+
if wt_kw is not None or wt_idx is not None:
|
|
37
|
+
require = False
|
|
38
|
+
# Keyword-based condition
|
|
39
|
+
if wt_kw is not None and k.get(wt_kw, False):
|
|
40
|
+
require = True
|
|
41
|
+
# Positional-based condition
|
|
42
|
+
if wt_idx is not None and 0 <= wt_idx < len(a):
|
|
43
|
+
if a[wt_idx]:
|
|
44
|
+
require = True
|
|
45
|
+
|
|
46
|
+
# Password check
|
|
47
|
+
if require and k.get(PWD_KEY) != __cfgget("appwd"):
|
|
48
|
+
raise Exception("Access denied, wrong password ({})".format(PWD_KEY))
|
|
49
|
+
# Remove password before calling function
|
|
50
|
+
k.pop(PWD_KEY, None)
|
|
51
|
+
return f(*a, **k)
|
|
52
|
+
return w
|
|
53
|
+
return deco if _f is None else deco(_f)
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
def resolve_secret(commands:str):
|
|
57
|
+
"""
|
|
58
|
+
Resolve secret: $pwd in boothook
|
|
59
|
+
"""
|
|
60
|
+
placeholder = f"${PWD_KEY}"
|
|
61
|
+
if placeholder in commands:
|
|
62
|
+
commands = commands.replace(placeholder, f"'{__cfgget("appwd")}'")
|
|
63
|
+
return commands
|
|
@@ -21,6 +21,7 @@ from Config import cfgget, cfgput
|
|
|
21
21
|
from microIO import detect_platform
|
|
22
22
|
from Debug import console_write, syslog
|
|
23
23
|
from Tasks import exec_lm_pipe
|
|
24
|
+
from Auth import resolve_secret
|
|
24
25
|
from micropython import mem_info
|
|
25
26
|
from machine import freq
|
|
26
27
|
try:
|
|
@@ -46,7 +47,7 @@ def bootup():
|
|
|
46
47
|
bootasks = cfgget('boothook')
|
|
47
48
|
if bootasks is not None and bootasks.lower() != 'n/a':
|
|
48
49
|
console_write(f"|-[BOOT] TASKS: {bootasks}")
|
|
49
|
-
if exec_lm_pipe(bootasks):
|
|
50
|
+
if exec_lm_pipe(resolve_secret(bootasks)):
|
|
50
51
|
console_write("|-[BOOT] DONE")
|
|
51
52
|
else:
|
|
52
53
|
console_write("|-[BOOT] ERROR")
|
|
@@ -25,7 +25,7 @@ from Debug import syslog
|
|
|
25
25
|
|
|
26
26
|
class Shell:
|
|
27
27
|
__slots__ = ['__devfid', '__auth_mode', '__hwuid', '__auth_ok', '__conf_mode']
|
|
28
|
-
MICROS_VERSION = '2.26.
|
|
28
|
+
MICROS_VERSION = '2.26.2-0'
|
|
29
29
|
|
|
30
30
|
def __init__(self):
|
|
31
31
|
"""
|
|
@@ -72,8 +72,7 @@ class Shell:
|
|
|
72
72
|
# Set user auth state
|
|
73
73
|
if self.__auth_mode and not self.__auth_ok:
|
|
74
74
|
# check password
|
|
75
|
-
|
|
76
|
-
if usrpwd == msg_list[0].strip():
|
|
75
|
+
if cfgget('appwd') == msg_list[0].strip():
|
|
77
76
|
self.__auth_ok = True
|
|
78
77
|
await self.a_send("AuthOk")
|
|
79
78
|
return True, []
|
|
@@ -250,7 +250,7 @@ class WebEngine:
|
|
|
250
250
|
resp_schema = {'result': {}, 'state': False}
|
|
251
251
|
cmd = url.replace('/rest', '')
|
|
252
252
|
if len(cmd) > 1:
|
|
253
|
-
# REST sub-parameter handling (rest commands)
|
|
253
|
+
# REST sub-parameter handling (rest commands) TODO: create url_decode helper for: " ' >
|
|
254
254
|
cmd = (cmd.replace('/', ' ').replace('-', ' ').replace("%3E", ">")
|
|
255
255
|
.replace('%22', '"').replace('%E2%80%9C', '"').replace('%E2%80%9D', '"')
|
|
256
256
|
.strip().split())
|
|
@@ -190,7 +190,8 @@ def photo(name='photo.jpeg'):
|
|
|
190
190
|
# Create file name with time stamp
|
|
191
191
|
photo_path = f"{path}/{ts}-{name}"
|
|
192
192
|
# Take a Photo
|
|
193
|
-
|
|
193
|
+
_ = capture() # Dump current cached image
|
|
194
|
+
buf = capture() # Create new image
|
|
194
195
|
# Save the Photo
|
|
195
196
|
with open(photo_path, 'wb') as f:
|
|
196
197
|
if buf:
|
|
@@ -200,7 +201,8 @@ def photo(name='photo.jpeg'):
|
|
|
200
201
|
|
|
201
202
|
|
|
202
203
|
def _snapshot_clb():
|
|
203
|
-
|
|
204
|
+
_ = capture() # Dump current cached image
|
|
205
|
+
image = capture() # Take new image
|
|
204
206
|
if image is not None:
|
|
205
207
|
return 'image/jpeg', image
|
|
206
208
|
return 'text/plain', f'capture error: {image}'
|
|
@@ -9,6 +9,7 @@ from uos import stat, rename, mkdir, statvfs
|
|
|
9
9
|
from Common import web_endpoint, web_mounts, web_dir, syslog
|
|
10
10
|
from Files import path_join, is_dir, remove_dir, remove_file, OSPath, abs_path, ilist_fs
|
|
11
11
|
from Web import url_path_resolve
|
|
12
|
+
from Auth import sudo
|
|
12
13
|
|
|
13
14
|
|
|
14
15
|
class Shared:
|
|
@@ -174,13 +175,21 @@ def load(web_data_dir:str=None):
|
|
|
174
175
|
base_dir = current_dir
|
|
175
176
|
|
|
176
177
|
# Register endpoints
|
|
178
|
+
# [GET] List shared directories
|
|
177
179
|
web_endpoint('fs/dirs', lambda: ('application/json', dumps(get_shared_dirs())))
|
|
180
|
+
# [GET] List help message
|
|
178
181
|
web_endpoint('fs/list', lambda: ('text/plain', 'USE THIS AS POST Endpoint, select dir in http body'))
|
|
182
|
+
# [POST] List selected directory content
|
|
179
183
|
web_endpoint('fs/list', _list_file_paths_clb, 'POST')
|
|
180
|
-
|
|
184
|
+
# [GET] Files - list user files
|
|
185
|
+
web_endpoint('fs/files', _list_file_paths_clb)
|
|
186
|
+
# [DELETE] Files - delete selected file
|
|
181
187
|
web_endpoint('fs/files', _delete_file_clb, 'DELETE')
|
|
188
|
+
# [POST] Upload file to the selected path (in filename)
|
|
182
189
|
web_endpoint('fs/files', _upload_file_clb, 'POST')
|
|
190
|
+
# [GET] Show internal flash storage usage
|
|
183
191
|
web_endpoint('fs/usage', _disk_usage_clb)
|
|
192
|
+
# [GET] Fileserver homepage UI
|
|
184
193
|
web_endpoint('fs', 'filesui.html')
|
|
185
194
|
|
|
186
195
|
return "Fileserver was initialized, endpoints: /fs, /fs/files, /fs/dirs, /fs/usage"
|
|
@@ -220,7 +229,7 @@ def get_user_dir():
|
|
|
220
229
|
Getter for user configured shared dir
|
|
221
230
|
- used by other load modules
|
|
222
231
|
"""
|
|
223
|
-
return Shared.ROOT_DIR
|
|
232
|
+
return Shared.ROOT_DIR
|
|
224
233
|
|
|
225
234
|
|
|
226
235
|
def extend_mounts(modules:bool=None, data:bool=None, logs:bool=None):
|
|
@@ -233,6 +242,7 @@ def extend_mounts(modules:bool=None, data:bool=None, logs:bool=None):
|
|
|
233
242
|
return web_mounts(modules, data, logs)
|
|
234
243
|
|
|
235
244
|
|
|
245
|
+
@sudo
|
|
236
246
|
def mounts_write_access(modules:bool=None, data:bool=None, logs:bool=None):
|
|
237
247
|
if modules is not None:
|
|
238
248
|
Shared.MOUNTS_WRITE_ACCESS["$modules"] = modules
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from sys import modules
|
|
2
2
|
from Common import socket_stream
|
|
3
3
|
from Files import list_fs, ilist_fs, remove_file, remove_dir, OSPath, path_join, is_protected
|
|
4
|
+
from Auth import sudo
|
|
4
5
|
|
|
5
6
|
|
|
6
7
|
#############################################
|
|
@@ -31,6 +32,7 @@ def ls(path="/", content='*', raw=False, select='*', core=False):
|
|
|
31
32
|
return lines
|
|
32
33
|
|
|
33
34
|
|
|
35
|
+
@sudo(_when_true=("force", 1))
|
|
34
36
|
def rm(path, force=False):
|
|
35
37
|
"""
|
|
36
38
|
Linux like rm command - delete app resources and folders
|
|
@@ -40,6 +42,7 @@ def rm(path, force=False):
|
|
|
40
42
|
return remove_file(path, force)
|
|
41
43
|
|
|
42
44
|
|
|
45
|
+
@sudo(_when_true=("force", 1))
|
|
43
46
|
def rmdir(path, force=False):
|
|
44
47
|
"""
|
|
45
48
|
Linux like rmdir command for directory deletion
|
|
@@ -75,13 +78,6 @@ def cat(path):
|
|
|
75
78
|
return content
|
|
76
79
|
|
|
77
80
|
|
|
78
|
-
def download(ref=None):
|
|
79
|
-
"""
|
|
80
|
-
OBSOLETED interface
|
|
81
|
-
"""
|
|
82
|
-
return install(ref)
|
|
83
|
-
|
|
84
|
-
|
|
85
81
|
def install(ref=None):
|
|
86
82
|
"""
|
|
87
83
|
Unified mip-based installer for micrOS.
|
|
@@ -104,6 +100,7 @@ def install(ref=None):
|
|
|
104
100
|
return pm_install(ref)
|
|
105
101
|
|
|
106
102
|
|
|
103
|
+
@sudo
|
|
107
104
|
def uninstall(name=None):
|
|
108
105
|
"""
|
|
109
106
|
Delete package by name from /lib
|
|
@@ -267,6 +264,7 @@ def listmods(msgobj=None):
|
|
|
267
264
|
return msg_buf if len(msg_buf) > 0 else ''
|
|
268
265
|
|
|
269
266
|
|
|
267
|
+
@sudo
|
|
270
268
|
def delmod(mod):
|
|
271
269
|
"""
|
|
272
270
|
Module package manager
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from LM_system import memory_usage
|
|
2
2
|
from Common import socket_stream, syslog, micro_task
|
|
3
|
+
from Auth import sudo
|
|
3
4
|
|
|
4
5
|
|
|
5
6
|
@socket_stream
|
|
@@ -105,6 +106,22 @@ async def mytask(tag, period_ms=30):
|
|
|
105
106
|
await my_task.feed(sleep_ms=period_ms)
|
|
106
107
|
# [i] feed same as "await asyncio.sleep_ms(period_ms)" with micrOS features (WDT)
|
|
107
108
|
|
|
109
|
+
|
|
110
|
+
@sudo
|
|
111
|
+
def func_sudo():
|
|
112
|
+
"""
|
|
113
|
+
Function execution requires pwd=<...>
|
|
114
|
+
"""
|
|
115
|
+
return "Access granted"
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
@sudo(_when_true=("opt", 0))
|
|
119
|
+
def func_sudo_opt(opt=False):
|
|
120
|
+
"""
|
|
121
|
+
Function requires pwd=<...> when force=True
|
|
122
|
+
"""
|
|
123
|
+
return f"Access granted, opt flag: {opt}"
|
|
124
|
+
|
|
108
125
|
##############################################################################
|
|
109
126
|
|
|
110
127
|
def help(widgets=False):
|
|
@@ -116,5 +133,5 @@ def help(widgets=False):
|
|
|
116
133
|
"""
|
|
117
134
|
return 'NOTE: This is a test module to validate system robustness', \
|
|
118
135
|
'raise_error', 'memory_leak cnt=160', 'recursion_limit cnt=14', \
|
|
119
|
-
'create_task', 'mytask'
|
|
136
|
+
'create_task', 'mytask', "func_sudo", "func_sudo_opt opt=False"
|
|
120
137
|
|
|
@@ -76,34 +76,46 @@ function loadFiles() {
|
|
|
76
76
|
})
|
|
77
77
|
.then(r => r.json())
|
|
78
78
|
.then(files => {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
79
|
+
list.innerHTML = '';
|
|
80
|
+
clearSelection();
|
|
81
|
+
// 🔹 Empty folder placeholder
|
|
82
|
+
if (!Array.isArray(files) || files.length === 0) {
|
|
83
|
+
const d = document.createElement('div');
|
|
84
|
+
d.className = 'file-item placeholder';
|
|
85
|
+
d.textContent = '.empty';
|
|
86
|
+
d.style.opacity = '0.5';
|
|
87
|
+
d.style.pointerEvents = 'none'; // 🔹 non-clickable
|
|
88
|
+
list.appendChild(d);
|
|
89
|
+
|
|
90
|
+
console.info("Files loaded (empty folder)");
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
// 🔹 Files listing
|
|
94
|
+
files.forEach(f => {
|
|
95
|
+
const name = f.path.split('/').pop();
|
|
96
|
+
const d = document.createElement('div');
|
|
97
|
+
d.className = 'file-item';
|
|
98
|
+
d.textContent = `${name} ${f.size}B`;
|
|
99
|
+
|
|
100
|
+
d.onclick = (e) => {
|
|
101
|
+
e.stopPropagation();
|
|
102
|
+
|
|
103
|
+
if (selectedEl === d) {
|
|
104
|
+
clearSelection();
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
clearSelection();
|
|
109
|
+
d.className = 'file-item sel';
|
|
110
|
+
selected = name;
|
|
111
|
+
selectedEl = d;
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
list.appendChild(d);
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
console.info("Files loaded");
|
|
118
|
+
})
|
|
107
119
|
.catch(err => {
|
|
108
120
|
console.error("load failed:", err);
|
|
109
121
|
popUpMsg("Failed to load files: " + err.message);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: micrOSDevToolKit
|
|
3
|
-
Version: 2.26.
|
|
3
|
+
Version: 2.26.2
|
|
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
|
|
@@ -628,12 +628,11 @@ Version **3.0.0-0** `micrOS-Autonomous`
|
|
|
628
628
|
- mount pathes write access handlig
|
|
629
629
|
- mount pathes read (+visibility) access handlig
|
|
630
630
|
|
|
631
|
-
- (11) [
|
|
632
|
-
- When node_config["auth"] == True
|
|
631
|
+
- (11) [DONE] @Auth.sudo decorator
|
|
633
632
|
- Require pwd="<password>" parameter
|
|
634
633
|
- Two modes:
|
|
635
634
|
- Always require
|
|
636
|
-
- Require when force=True (
|
|
635
|
+
- Require when force=True (_force_only=(True, 0))
|
|
637
636
|
- Apply this to:
|
|
638
637
|
- pacman rm
|
|
639
638
|
- pacman rmdir
|
|
@@ -38,6 +38,7 @@ micrOS/micropython/rpi-pico-w-20251209-v1.27.0.uf2
|
|
|
38
38
|
micrOS/micropython/tinypico-20251209-v1.27.0.bin
|
|
39
39
|
micrOS/release_info/micrOS_ReleaseInfo/system_analysis_sum.json
|
|
40
40
|
micrOS/source/.DS_Store
|
|
41
|
+
micrOS/source/Auth.py
|
|
41
42
|
micrOS/source/Common.py
|
|
42
43
|
micrOS/source/Config.py
|
|
43
44
|
micrOS/source/Debug.py
|
|
@@ -80,7 +81,6 @@ micrOS/source/modules/IO_esp32s3.py
|
|
|
80
81
|
micrOS/source/modules/IO_m5stamp.py
|
|
81
82
|
micrOS/source/modules/IO_qtpy.py
|
|
82
83
|
micrOS/source/modules/IO_rp2.py
|
|
83
|
-
micrOS/source/modules/IO_s3matrix.py
|
|
84
84
|
micrOS/source/modules/IO_tinypico.py
|
|
85
85
|
micrOS/source/modules/LM_L298N.py
|
|
86
86
|
micrOS/source/modules/LM_L9110_DCmotor.py
|
|
@@ -109,7 +109,6 @@ micrOS/source/modules/LM_ld2410.py
|
|
|
109
109
|
micrOS/source/modules/LM_light_sensor.py
|
|
110
110
|
micrOS/source/modules/LM_mh_z19c.py
|
|
111
111
|
micrOS/source/modules/LM_neoeffects.py
|
|
112
|
-
micrOS/source/modules/LM_neomatrix.py
|
|
113
112
|
micrOS/source/modules/LM_neopixel.py
|
|
114
113
|
micrOS/source/modules/LM_oled.py
|
|
115
114
|
micrOS/source/modules/LM_oled_sh1106.py
|
|
@@ -141,7 +140,6 @@ micrOS/source/web/editor.js
|
|
|
141
140
|
micrOS/source/web/filesui.html
|
|
142
141
|
micrOS/source/web/filesui.js
|
|
143
142
|
micrOS/source/web/index.html
|
|
144
|
-
micrOS/source/web/matrix_draw.html
|
|
145
143
|
micrOS/source/web/uapi.js
|
|
146
144
|
micrOS/source/web/udashboard.js
|
|
147
145
|
micrOS/source/web/ustyle.css
|
|
@@ -300,6 +298,7 @@ toolkit/user_data/webhooks/macro.py
|
|
|
300
298
|
toolkit/user_data/webhooks/template.macro
|
|
301
299
|
toolkit/user_data/webhooks/template.py
|
|
302
300
|
toolkit/workspace/__init__.py
|
|
301
|
+
toolkit/workspace/precompiled/Auth.mpy
|
|
303
302
|
toolkit/workspace/precompiled/Common.mpy
|
|
304
303
|
toolkit/workspace/precompiled/Config.mpy
|
|
305
304
|
toolkit/workspace/precompiled/Debug.mpy
|
|
@@ -335,7 +334,6 @@ toolkit/workspace/precompiled/modules/IO_esp32s3.mpy
|
|
|
335
334
|
toolkit/workspace/precompiled/modules/IO_m5stamp.mpy
|
|
336
335
|
toolkit/workspace/precompiled/modules/IO_qtpy.mpy
|
|
337
336
|
toolkit/workspace/precompiled/modules/IO_rp2.mpy
|
|
338
|
-
toolkit/workspace/precompiled/modules/IO_s3matrix.mpy
|
|
339
337
|
toolkit/workspace/precompiled/modules/IO_tinypico.mpy
|
|
340
338
|
toolkit/workspace/precompiled/modules/LM_L298N.mpy
|
|
341
339
|
toolkit/workspace/precompiled/modules/LM_L9110_DCmotor.py
|
|
@@ -364,7 +362,6 @@ toolkit/workspace/precompiled/modules/LM_ld2410.mpy
|
|
|
364
362
|
toolkit/workspace/precompiled/modules/LM_light_sensor.mpy
|
|
365
363
|
toolkit/workspace/precompiled/modules/LM_mh_z19c.py
|
|
366
364
|
toolkit/workspace/precompiled/modules/LM_neoeffects.mpy
|
|
367
|
-
toolkit/workspace/precompiled/modules/LM_neomatrix.mpy
|
|
368
365
|
toolkit/workspace/precompiled/modules/LM_neopixel.mpy
|
|
369
366
|
toolkit/workspace/precompiled/modules/LM_oled.mpy
|
|
370
367
|
toolkit/workspace/precompiled/modules/LM_oled_sh1106.mpy
|
|
@@ -396,7 +393,6 @@ toolkit/workspace/precompiled/web/editor.js
|
|
|
396
393
|
toolkit/workspace/precompiled/web/filesui.html
|
|
397
394
|
toolkit/workspace/precompiled/web/filesui.js
|
|
398
395
|
toolkit/workspace/precompiled/web/index.html
|
|
399
|
-
toolkit/workspace/precompiled/web/matrix_draw.html
|
|
400
396
|
toolkit/workspace/precompiled/web/uapi.js
|
|
401
397
|
toolkit/workspace/precompiled/web/udashboard.js
|
|
402
398
|
toolkit/workspace/precompiled/web/ustyle.css
|
|
@@ -17,7 +17,7 @@ dependencies = ['adafruit-ampy', 'mpremote', 'esptool', 'ipaddress', 'netaddr',
|
|
|
17
17
|
|
|
18
18
|
setuptools.setup(
|
|
19
19
|
name='micrOSDevToolKit',
|
|
20
|
-
version='2.26.
|
|
20
|
+
version='2.26.2',
|
|
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)',
|
|
@@ -18,7 +18,7 @@ MICROS_SOURCE_DIR = os.path.join(MYPATH, '../micrOS/source')
|
|
|
18
18
|
RELEASE_INFO_PATH = os.path.join(MYPATH, '../micrOS/release_info/micrOS_ReleaseInfo')
|
|
19
19
|
|
|
20
20
|
# MICROS LINTER CONFIG
|
|
21
|
-
ALLOWED_LM_DEP_WARNS =
|
|
21
|
+
ALLOWED_LM_DEP_WARNS = 3 # ALLOWED NUMBER OF LM CORE DEPENDENCY (less is better)
|
|
22
22
|
|
|
23
23
|
def parse_micros_file_categories(verbose=True):
|
|
24
24
|
"""
|
|
@@ -178,7 +178,7 @@ def core_dep_checker(categories, verbose=True):
|
|
|
178
178
|
def load_module_checker(categories, verbose=True):
|
|
179
179
|
|
|
180
180
|
def _is_allowed(_relation):
|
|
181
|
-
_allowed_whitelist = ['Common', 'microIO', 'Types', 'urequests']
|
|
181
|
+
_allowed_whitelist = ['Common', 'microIO', 'Types', 'urequests', 'Auth']
|
|
182
182
|
_allowed = []
|
|
183
183
|
for _allow in _relation:
|
|
184
184
|
if _allow in _allowed_whitelist:
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{"auth": false,
|
|
2
|
+
"devfid": "simulator",
|
|
3
|
+
"appwd": "ADmin123",
|
|
4
|
+
"webui": true,
|
|
5
|
+
"boothook": "web load dashboard=True fileserver=True fs_explore=True; fileserver mounts_write_access modules=True logs=True pwd=$pwd; neopixel load; #telegram load '6185435843:AAH71wEyoOil8bRKecQHp4zazTQ_MmE7bvE' &; #telegram receiver_loop &2000",
|
|
6
|
+
"aioqueue": 4}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|