micrOSDevToolKit 2.9.10__tar.gz → 2.9.11__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of micrOSDevToolKit might be problematic. Click here for more details.
- {microsdevtoolkit-2.9.10/micrOSDevToolKit.egg-info → microsdevtoolkit-2.9.11}/PKG-INFO +53 -18
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/README.md +52 -17
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/release_info/micrOS_ReleaseInfo/system_analysis_sum.json +1 -1
- microsdevtoolkit-2.9.11/micrOS/source/LM_espnow.py +49 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11/micrOSDevToolKit.egg-info}/PKG-INFO +53 -18
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOSDevToolKit.egg-info/SOURCES.txt +3 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/setup.py +1 -1
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/DevEnvOTA.py +13 -9
- microsdevtoolkit-2.9.11/toolkit/lib/Repository.py +64 -0
- microsdevtoolkit-2.9.11/toolkit/simulator_lib/__pycache__/aioespnow.cpython-312.pyc +0 -0
- microsdevtoolkit-2.9.11/toolkit/simulator_lib/aioespnow.py +28 -0
- microsdevtoolkit-2.9.11/toolkit/workspace/precompiled/LM_espnow.py +49 -0
- microsdevtoolkit-2.9.10/micrOS/source/LM_espnow.py +0 -23
- microsdevtoolkit-2.9.10/toolkit/workspace/precompiled/LM_espnow.py +0 -23
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/LICENSE +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/MANIFEST.in +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/devToolKit.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/env/__init__.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/env/driver_cp210x/.DS_Store +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x64.exe +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x86.exe +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210x_Universal_Windows_Driver_ReleaseNotes.txt +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/env/driver_cp210x/CP210x_Universal_Windows_Driver/SLAB_License_Agreement_VCP_Windows.txt +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm/silabser.sys +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm64/silabser.sys +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/env/driver_cp210x/CP210x_Universal_Windows_Driver/dpinst.xml +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.cat +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.inf +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x64/silabser.sys +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x86/silabser.sys +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/env/driver_cp210x/macOS_VCP_Driver/SiLabsUSBDriverDisk.dmg +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/env/driver_cp210x/macOS_VCP_Driver/macOS_VCP_Driver_Release_Notes.txt +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/media/__init__.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/media/dnd.png +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/media/logo.png +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/media/logo_mini.png +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/media/usb_port_icon.png +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/media/wifi_icon.png +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/__init__.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/micropython/esp32-20241129-v1.24.1.bin +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/micropython/esp32c3-20240222-v1.22.2.bin +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/micropython/esp32cam-v1.21.0_camera.bin +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/micropython/esp32s2-20240602-v1.23.0.bin +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/micropython/esp32s2-LOLIN_MINI-20220618-v1.19.1.bin +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/micropython/esp32s2-LOLIN_MINI-20240602-v1.23.0.bin +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/micropython/esp32s3-20240105-v1.22.1.bin +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/micropython/esp32s3-20241129-v1.24.1.bin +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/micropython/esp32s3_spiram_oct-20231005-v1.21.0.bin +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/micropython/esp32s3_spiram_oct-20241129-v1.24.1.bin +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/micropython/rpi-pico-w-20241129-v1.24.1.uf2 +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/micropython/tinypico-20241129-v1.24.1.bin +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/.DS_Store +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/Common.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/Config.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/Debug.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/Espnow.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/Hooks.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/IO_esp32.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/IO_esp32c3.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/IO_esp32s2.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/IO_esp32s3.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/IO_m5stamp.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/IO_qtpy.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/IO_rp2.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/IO_tinypico.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/InterConnect.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/Interrupts.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_L298N_DCmotor.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_L9110_DCmotor.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_OV2640.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_VL53L0X.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_aht10.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_bme280.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_buzzer.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_catgame.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_cct.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_co2.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_dashboard_be.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_demo.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_dht11.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_dht22.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_dimmer.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_distance.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_ds18.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_esp32.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_gameOfLife.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_genIO.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_haptic.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_i2c.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_i2s_mic.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_intercon.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_keychain.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_ld2410.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_light_sensor.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_neoeffects.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_neopixel.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_oled.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_oled_sh1106.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_oled_ui.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_oledui.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_pacman.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_pet_feeder.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_ph_sensor.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_presence.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_rencoder.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_rest.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_rgb.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_rgbcct.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_roboarm.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_robustness.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_rp2w.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_sdcard.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_servo.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_sound_event.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_stepper.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_switch.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_system.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_telegram.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_tinyrgb.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_trackball.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/LM_veml7700.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/Logger.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/Network.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/Notify.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/Scheduler.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/Server.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/Shell.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/Tasks.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/Time.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/Types.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/Web.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/__pycache__/Common.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/__pycache__/Logger.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/__pycache__/Server.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/dashboard.html +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/index.html +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/main.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/micrOS.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/micrOSloader.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/microIO.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/reset.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/uapi.js +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/udashboard.js +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/urequests.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/ustyle.css +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/uwidgets.js +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOS/source/uwidgets_pro.js +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOSDevToolKit.egg-info/dependency_links.txt +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOSDevToolKit.egg-info/requires.txt +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/micrOSDevToolKit.egg-info/top_level.txt +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/setup.cfg +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/DevEnvCompile.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/DevEnvUSB.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/Gateway.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/LM_to_compile.dat +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/MicrOSDevEnv.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/WebRepl.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/__init__.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/dashboard_apps/BackupRestore.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/dashboard_apps/CCTDemo.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/dashboard_apps/CCTTest.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/dashboard_apps/CamStream.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/dashboard_apps/CatGame.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/dashboard_apps/Dimmer.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/dashboard_apps/GetVersion.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/dashboard_apps/MicrophoneTest.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/dashboard_apps/NeoEffectsDemo.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/dashboard_apps/NeopixelTest.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/dashboard_apps/PresenceTest.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/dashboard_apps/RGBTest.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/dashboard_apps/RoboArm.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/dashboard_apps/SED_test.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/dashboard_apps/SensorsTest.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/dashboard_apps/SystemTest.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/dashboard_apps/Template_app.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/dashboard_apps/__init__.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/dashboard_apps/_app_base.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/dashboard_apps/_capture.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/dashboard_apps/_micPlotting.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/dashboard_apps/_presencePlotting.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/dashboard_apps/uLightDemo.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/img_stream.html +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/index.html +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/lib/LocalMachine.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/lib/SafeInput.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/lib/SearchDevices.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/lib/SerialDriverHandler.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/lib/TerminalColors.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/lib/__init__.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/lib/file_extensions.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/lib/macroScript.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/lib/micrOSClient.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/lib/micrOSClientHistory.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/lib/pip_package_installer.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/micrOSdashboard.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/micrOSlint.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/.DS_Store +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/IO_darwin.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/IO_darwin.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/camera.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/dht.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/dht.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/dotstar.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/dotstar.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/dotstar.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/esp32.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/esp32.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/esp32.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/framebuf.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/framebuf.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/framebuf.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/machine.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/machine.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/machine.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/micropython.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/micropython.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/micropython.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/neopixel.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/neopixel.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/neopixel.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/network.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/network.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/network.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/ntptime.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/onewire.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/onewire.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/onewire.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/sim_console.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/sim_console.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/sim_console.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/simgc.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/simgc.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/simgc.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/simulator.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/simulator.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/simulator.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/tinypico.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/tinypico.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/tinypico.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/uos.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/usocket.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/ussl.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/ustruct.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/ustruct.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/utime.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/utime.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/utime.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/webrepl.cpython-312.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/webrepl.cpython-38.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/__pycache__/webrepl.cpython-39.pyc +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/camera.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/dht.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/dotstar.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/ds18x20.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/esp32.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/framebuf.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/machine.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/micropython.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/neopixel.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/network.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/node_config.json +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/ntptime.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/onewire.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/sim_console.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/simgc.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/simulator.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/tinypico.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/uasyncio.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/uos.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/usocket.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/ussl.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/ustruct.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/utime.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/view01.jpg +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/view02.jpg +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/simulator_lib/webrepl.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/socketClient.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/user_data/.include +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/user_data/webhooks/generic.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/user_data/webhooks/macro.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/user_data/webhooks/template.macro +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/user_data/webhooks/template.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/__init__.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/Common.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/Config.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/Debug.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/Espnow.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/Hooks.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/IO_esp32.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/IO_esp32c3.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/IO_esp32s2.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/IO_esp32s3.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/IO_m5stamp.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/IO_qtpy.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/IO_rp2.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/IO_tinypico.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/InterConnect.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/Interrupts.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_L298N_DCmotor.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_L9110_DCmotor.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_OV2640.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_VL53L0X.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_aht10.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_bme280.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_buzzer.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_catgame.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_cct.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_co2.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_dashboard_be.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_demo.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_dht11.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_dht22.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_dimmer.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_distance.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_ds18.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_esp32.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_gameOfLife.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_genIO.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_haptic.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_i2c.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_i2s_mic.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_intercon.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_keychain.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_ld2410.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_light_sensor.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_neoeffects.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_neopixel.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_oled.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_oled_sh1106.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_oled_ui.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_oledui.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_pacman.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_pet_feeder.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_ph_sensor.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_presence.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_rencoder.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_rest.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_rgb.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_rgbcct.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_roboarm.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_robustness.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_rp2w.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_sdcard.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_servo.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_sound_event.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_stepper.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_switch.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_system.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_telegram.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_tinyrgb.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_trackball.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/LM_veml7700.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/Logger.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/Network.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/Notify.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/Scheduler.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/Server.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/Shell.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/Tasks.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/Time.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/Types.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/Web.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/_mpy.version +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/dashboard.html +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/index.html +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/main.py +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/micrOS.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/micrOSloader.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/microIO.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/reset.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/uapi.js +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/udashboard.js +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/urequests.mpy +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/ustyle.css +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/uwidgets.js +0 -0
- {microsdevtoolkit-2.9.10 → microsdevtoolkit-2.9.11}/toolkit/workspace/precompiled/uwidgets_pro.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: micrOSDevToolKit
|
|
3
|
-
Version: 2.9.
|
|
3
|
+
Version: 2.9.11
|
|
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
|
|
@@ -126,14 +126,6 @@ Link for python 3.9+ [download](https://www.python.org/downloads/release/python-
|
|
|
126
126
|
> Note: **Allow extend system path** with that python version (installation parameter) </br>
|
|
127
127
|
> On **Windows**: RUN AS ADMINISTARTOR
|
|
128
128
|
|
|
129
|
-
### 1.2 Install git
|
|
130
|
-
|
|
131
|
-
Link for git [download](https://git-scm.com/downloads)
|
|
132
|
-
|
|
133
|
-
> Git is a distributed version control system that helps developers track changes, collaborate on code, and manage project history efficiently.
|
|
134
|
-
|
|
135
|
-
It is needed to be able to download webrepl client (automatic), that is used for OverTheAir file transfers and other features.
|
|
136
|
-
|
|
137
129
|
----------------------------------------
|
|
138
130
|
|
|
139
131
|
### 2. Install micrOS devToolKit GUI
|
|
@@ -495,29 +487,71 @@ Official [DockerHub](https://hub.docker.com/repository/docker/bxnxm/micros-gatew
|
|
|
495
487
|
|
|
496
488
|
## FUTURE RELEASE PLANS
|
|
497
489
|
|
|
498
|
-
Version **3.0.0-0**
|
|
490
|
+
Version **3.0.0-0** `micrOS-Autonomous`
|
|
499
491
|
|
|
500
492
|
```
|
|
501
493
|
Core:
|
|
502
|
-
- Async SSL/TLS integration (micropython 1.22+ required)
|
|
503
|
-
- urequest module async redesign for rest clients
|
|
504
|
-
- LM_telegram (Notify) + server (listener - chatbot)
|
|
505
|
-
|
|
506
|
-
-
|
|
507
|
-
- ??? New intercon syntax ???:
|
|
494
|
+
- (1) Async SSL/TLS integration (micropython 1.22+ required) [DONE]
|
|
495
|
+
- urequest module async redesign for rest clients [OK]
|
|
496
|
+
- LM_telegram (Notify) + server (listener - chatbot) [OK]
|
|
497
|
+
- (2) ESP-NOW (peer-to-peer communication) integration into InterCon [PoC][TODO]
|
|
498
|
+
- (3) New intercon syntax - command level integration: [TODO]
|
|
508
499
|
- rgb toggle >>RingLight.local
|
|
509
500
|
- similar as: intercon sendcmd host="RingLight.local" cmd="rgb toggle"
|
|
501
|
+
- (4) Create multi level project structure (curret is flat fs) [TODO] FS
|
|
502
|
+
- New micrOS FS structure:
|
|
503
|
+
- Note:
|
|
504
|
+
- On device (boot) micrOS Hooks.py/os_dir_fs_hook (check+correct) [Phase1-FS:TODO]
|
|
505
|
+
- DevToolKit USB & OTA feature adaptation [Phase2-FS:TODO]
|
|
506
|
+
- os_dir_fs_handler (usb+webrepl) features
|
|
507
|
+
|
|
508
|
+
- root fs (stays untouched (approx.: 24)): /
|
|
509
|
+
- micrOS.py (core)
|
|
510
|
+
- Config.py (core)
|
|
511
|
+
- Tasks.py (core)
|
|
512
|
+
- Shell.py (core)
|
|
513
|
+
- Web.py (core)
|
|
514
|
+
- Server.py (core)
|
|
515
|
+
- node_config,json (core config)
|
|
516
|
+
- etc... (core)
|
|
517
|
+
|
|
518
|
+
- module folder - mip complient: /lib
|
|
519
|
+
- LM_* (approx.: 54)
|
|
520
|
+
- IO_* (approx.: 5)
|
|
521
|
+
- *.py/.mpy (driver)
|
|
522
|
+
- Dynamic/Runtime (approx.: 0-8):
|
|
523
|
+
- *.pds (LM app cache - persistent data storage)
|
|
524
|
+
- *.dat (Common datalogger output)
|
|
525
|
+
|
|
526
|
+
- web folder: /web
|
|
527
|
+
- *.html
|
|
528
|
+
- *.js
|
|
529
|
+
- *.css
|
|
530
|
+
|
|
531
|
+
- (5) Proper mip installer support (/lib) [TODO]
|
|
532
|
+
- Note: Autonomous package management over wifi (github)
|
|
533
|
+
- pacman download
|
|
534
|
+
- pacman ls
|
|
535
|
+
- pacman dirtree
|
|
536
|
+
- pacman ...
|
|
510
537
|
```
|
|
511
538
|
|
|
512
|
-
Version **3.1.0-0**
|
|
539
|
+
Version **3.1.0-0** `micrOS-SecurePower`
|
|
513
540
|
|
|
514
541
|
```
|
|
515
542
|
Core:
|
|
516
543
|
- Async socket servers with SSL/TLS integration (with auth.)
|
|
517
544
|
- WebCli (https?), ShellCli (ssocket/sterminal) and InterCon
|
|
545
|
+
- Low power mode with ESPNOW + (AP mode?)
|
|
546
|
+
- Remote controller / Sensor UseCase
|
|
547
|
+
- --- client mode (fyi: normally micrOS operates in server mode)
|
|
548
|
+
- Intercon-Wire (?)
|
|
549
|
+
- Idea of wired message communication protocol same as Intercon-Shell/Intercon-espnow
|
|
550
|
+
- Possible HW protocols: i2c / onewire / uart BUT it should support bidirectional message transfers
|
|
551
|
+
- Goal: CoProcessor easy integration feature - Arduino env support
|
|
518
552
|
```
|
|
519
553
|
|
|
520
|
-
Version **4.0.0-0**
|
|
554
|
+
Version **4.0.0-0** `micrOS-???`
|
|
521
555
|
|
|
522
556
|
```
|
|
523
557
|
Core:
|
|
@@ -525,6 +559,7 @@ Version **4.0.0-0**
|
|
|
525
559
|
- Network
|
|
526
560
|
- wifi (defualt, current interfaces)
|
|
527
561
|
- Study of BLE (Shell)
|
|
562
|
+
- Com. (wifi/now/ble...lora?/etc?.) as plugin architecture (?)
|
|
528
563
|
- Low power mode (with BLE) and soft-sleep / deep-sleep
|
|
529
564
|
```
|
|
530
565
|
|
|
@@ -89,14 +89,6 @@ Link for python 3.9+ [download](https://www.python.org/downloads/release/python-
|
|
|
89
89
|
> Note: **Allow extend system path** with that python version (installation parameter) </br>
|
|
90
90
|
> On **Windows**: RUN AS ADMINISTARTOR
|
|
91
91
|
|
|
92
|
-
### 1.2 Install git
|
|
93
|
-
|
|
94
|
-
Link for git [download](https://git-scm.com/downloads)
|
|
95
|
-
|
|
96
|
-
> Git is a distributed version control system that helps developers track changes, collaborate on code, and manage project history efficiently.
|
|
97
|
-
|
|
98
|
-
It is needed to be able to download webrepl client (automatic), that is used for OverTheAir file transfers and other features.
|
|
99
|
-
|
|
100
92
|
----------------------------------------
|
|
101
93
|
|
|
102
94
|
### 2. Install micrOS devToolKit GUI
|
|
@@ -458,29 +450,71 @@ Official [DockerHub](https://hub.docker.com/repository/docker/bxnxm/micros-gatew
|
|
|
458
450
|
|
|
459
451
|
## FUTURE RELEASE PLANS
|
|
460
452
|
|
|
461
|
-
Version **3.0.0-0**
|
|
453
|
+
Version **3.0.0-0** `micrOS-Autonomous`
|
|
462
454
|
|
|
463
455
|
```
|
|
464
456
|
Core:
|
|
465
|
-
- Async SSL/TLS integration (micropython 1.22+ required)
|
|
466
|
-
- urequest module async redesign for rest clients
|
|
467
|
-
- LM_telegram (Notify) + server (listener - chatbot)
|
|
468
|
-
|
|
469
|
-
-
|
|
470
|
-
- ??? New intercon syntax ???:
|
|
457
|
+
- (1) Async SSL/TLS integration (micropython 1.22+ required) [DONE]
|
|
458
|
+
- urequest module async redesign for rest clients [OK]
|
|
459
|
+
- LM_telegram (Notify) + server (listener - chatbot) [OK]
|
|
460
|
+
- (2) ESP-NOW (peer-to-peer communication) integration into InterCon [PoC][TODO]
|
|
461
|
+
- (3) New intercon syntax - command level integration: [TODO]
|
|
471
462
|
- rgb toggle >>RingLight.local
|
|
472
463
|
- similar as: intercon sendcmd host="RingLight.local" cmd="rgb toggle"
|
|
464
|
+
- (4) Create multi level project structure (curret is flat fs) [TODO] FS
|
|
465
|
+
- New micrOS FS structure:
|
|
466
|
+
- Note:
|
|
467
|
+
- On device (boot) micrOS Hooks.py/os_dir_fs_hook (check+correct) [Phase1-FS:TODO]
|
|
468
|
+
- DevToolKit USB & OTA feature adaptation [Phase2-FS:TODO]
|
|
469
|
+
- os_dir_fs_handler (usb+webrepl) features
|
|
470
|
+
|
|
471
|
+
- root fs (stays untouched (approx.: 24)): /
|
|
472
|
+
- micrOS.py (core)
|
|
473
|
+
- Config.py (core)
|
|
474
|
+
- Tasks.py (core)
|
|
475
|
+
- Shell.py (core)
|
|
476
|
+
- Web.py (core)
|
|
477
|
+
- Server.py (core)
|
|
478
|
+
- node_config,json (core config)
|
|
479
|
+
- etc... (core)
|
|
480
|
+
|
|
481
|
+
- module folder - mip complient: /lib
|
|
482
|
+
- LM_* (approx.: 54)
|
|
483
|
+
- IO_* (approx.: 5)
|
|
484
|
+
- *.py/.mpy (driver)
|
|
485
|
+
- Dynamic/Runtime (approx.: 0-8):
|
|
486
|
+
- *.pds (LM app cache - persistent data storage)
|
|
487
|
+
- *.dat (Common datalogger output)
|
|
488
|
+
|
|
489
|
+
- web folder: /web
|
|
490
|
+
- *.html
|
|
491
|
+
- *.js
|
|
492
|
+
- *.css
|
|
493
|
+
|
|
494
|
+
- (5) Proper mip installer support (/lib) [TODO]
|
|
495
|
+
- Note: Autonomous package management over wifi (github)
|
|
496
|
+
- pacman download
|
|
497
|
+
- pacman ls
|
|
498
|
+
- pacman dirtree
|
|
499
|
+
- pacman ...
|
|
473
500
|
```
|
|
474
501
|
|
|
475
|
-
Version **3.1.0-0**
|
|
502
|
+
Version **3.1.0-0** `micrOS-SecurePower`
|
|
476
503
|
|
|
477
504
|
```
|
|
478
505
|
Core:
|
|
479
506
|
- Async socket servers with SSL/TLS integration (with auth.)
|
|
480
507
|
- WebCli (https?), ShellCli (ssocket/sterminal) and InterCon
|
|
508
|
+
- Low power mode with ESPNOW + (AP mode?)
|
|
509
|
+
- Remote controller / Sensor UseCase
|
|
510
|
+
- --- client mode (fyi: normally micrOS operates in server mode)
|
|
511
|
+
- Intercon-Wire (?)
|
|
512
|
+
- Idea of wired message communication protocol same as Intercon-Shell/Intercon-espnow
|
|
513
|
+
- Possible HW protocols: i2c / onewire / uart BUT it should support bidirectional message transfers
|
|
514
|
+
- Goal: CoProcessor easy integration feature - Arduino env support
|
|
481
515
|
```
|
|
482
516
|
|
|
483
|
-
Version **4.0.0-0**
|
|
517
|
+
Version **4.0.0-0** `micrOS-???`
|
|
484
518
|
|
|
485
519
|
```
|
|
486
520
|
Core:
|
|
@@ -488,6 +522,7 @@ Version **4.0.0-0**
|
|
|
488
522
|
- Network
|
|
489
523
|
- wifi (defualt, current interfaces)
|
|
490
524
|
- Study of BLE (Shell)
|
|
525
|
+
- Com. (wifi/now/ble...lora?/etc?.) as plugin architecture (?)
|
|
491
526
|
- Low power mode (with BLE) and soft-sleep / deep-sleep
|
|
492
527
|
```
|
|
493
528
|
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import Espnow
|
|
2
|
+
|
|
3
|
+
def load():
|
|
4
|
+
"""
|
|
5
|
+
Initialize ESPNOW protocal
|
|
6
|
+
"""
|
|
7
|
+
return Espnow.initialize()
|
|
8
|
+
|
|
9
|
+
def send(peer, msg='modules'):
|
|
10
|
+
"""
|
|
11
|
+
Send message to peer (by mac address)
|
|
12
|
+
:param peer: mac address of espnow device
|
|
13
|
+
:param msg: message string/load module call
|
|
14
|
+
"""
|
|
15
|
+
return Espnow.espnow_send(peer, msg)
|
|
16
|
+
|
|
17
|
+
def start_server():
|
|
18
|
+
"""
|
|
19
|
+
Start ESPNOW server/listener
|
|
20
|
+
- this can receive espnow messages
|
|
21
|
+
- it includes Load Module execution logic (beta)
|
|
22
|
+
"""
|
|
23
|
+
return Espnow.espnow_server()
|
|
24
|
+
|
|
25
|
+
def stats():
|
|
26
|
+
"""
|
|
27
|
+
Get ESPNOW stats
|
|
28
|
+
"""
|
|
29
|
+
return Espnow.stats()
|
|
30
|
+
|
|
31
|
+
def add_peer(peer):
|
|
32
|
+
"""
|
|
33
|
+
Add ESPNOW peer to known hosts
|
|
34
|
+
- It is needed before first send(...)
|
|
35
|
+
"""
|
|
36
|
+
now = Espnow.initialize()
|
|
37
|
+
return Espnow.add_peer(now, peer)
|
|
38
|
+
|
|
39
|
+
def mac_address():
|
|
40
|
+
"""
|
|
41
|
+
Get ESPNOW compatible mac address
|
|
42
|
+
"""
|
|
43
|
+
return Espnow.mac_address()
|
|
44
|
+
|
|
45
|
+
def help():
|
|
46
|
+
"""
|
|
47
|
+
[beta] ESPNOW sender/receiver with LM execution
|
|
48
|
+
"""
|
|
49
|
+
return 'load', 'send <peer> "ping"', 'start_server', 'add_peer <peer>', 'stats', 'mac_address'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: micrOSDevToolKit
|
|
3
|
-
Version: 2.9.
|
|
3
|
+
Version: 2.9.11
|
|
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
|
|
@@ -126,14 +126,6 @@ Link for python 3.9+ [download](https://www.python.org/downloads/release/python-
|
|
|
126
126
|
> Note: **Allow extend system path** with that python version (installation parameter) </br>
|
|
127
127
|
> On **Windows**: RUN AS ADMINISTARTOR
|
|
128
128
|
|
|
129
|
-
### 1.2 Install git
|
|
130
|
-
|
|
131
|
-
Link for git [download](https://git-scm.com/downloads)
|
|
132
|
-
|
|
133
|
-
> Git is a distributed version control system that helps developers track changes, collaborate on code, and manage project history efficiently.
|
|
134
|
-
|
|
135
|
-
It is needed to be able to download webrepl client (automatic), that is used for OverTheAir file transfers and other features.
|
|
136
|
-
|
|
137
129
|
----------------------------------------
|
|
138
130
|
|
|
139
131
|
### 2. Install micrOS devToolKit GUI
|
|
@@ -495,29 +487,71 @@ Official [DockerHub](https://hub.docker.com/repository/docker/bxnxm/micros-gatew
|
|
|
495
487
|
|
|
496
488
|
## FUTURE RELEASE PLANS
|
|
497
489
|
|
|
498
|
-
Version **3.0.0-0**
|
|
490
|
+
Version **3.0.0-0** `micrOS-Autonomous`
|
|
499
491
|
|
|
500
492
|
```
|
|
501
493
|
Core:
|
|
502
|
-
- Async SSL/TLS integration (micropython 1.22+ required)
|
|
503
|
-
- urequest module async redesign for rest clients
|
|
504
|
-
- LM_telegram (Notify) + server (listener - chatbot)
|
|
505
|
-
|
|
506
|
-
-
|
|
507
|
-
- ??? New intercon syntax ???:
|
|
494
|
+
- (1) Async SSL/TLS integration (micropython 1.22+ required) [DONE]
|
|
495
|
+
- urequest module async redesign for rest clients [OK]
|
|
496
|
+
- LM_telegram (Notify) + server (listener - chatbot) [OK]
|
|
497
|
+
- (2) ESP-NOW (peer-to-peer communication) integration into InterCon [PoC][TODO]
|
|
498
|
+
- (3) New intercon syntax - command level integration: [TODO]
|
|
508
499
|
- rgb toggle >>RingLight.local
|
|
509
500
|
- similar as: intercon sendcmd host="RingLight.local" cmd="rgb toggle"
|
|
501
|
+
- (4) Create multi level project structure (curret is flat fs) [TODO] FS
|
|
502
|
+
- New micrOS FS structure:
|
|
503
|
+
- Note:
|
|
504
|
+
- On device (boot) micrOS Hooks.py/os_dir_fs_hook (check+correct) [Phase1-FS:TODO]
|
|
505
|
+
- DevToolKit USB & OTA feature adaptation [Phase2-FS:TODO]
|
|
506
|
+
- os_dir_fs_handler (usb+webrepl) features
|
|
507
|
+
|
|
508
|
+
- root fs (stays untouched (approx.: 24)): /
|
|
509
|
+
- micrOS.py (core)
|
|
510
|
+
- Config.py (core)
|
|
511
|
+
- Tasks.py (core)
|
|
512
|
+
- Shell.py (core)
|
|
513
|
+
- Web.py (core)
|
|
514
|
+
- Server.py (core)
|
|
515
|
+
- node_config,json (core config)
|
|
516
|
+
- etc... (core)
|
|
517
|
+
|
|
518
|
+
- module folder - mip complient: /lib
|
|
519
|
+
- LM_* (approx.: 54)
|
|
520
|
+
- IO_* (approx.: 5)
|
|
521
|
+
- *.py/.mpy (driver)
|
|
522
|
+
- Dynamic/Runtime (approx.: 0-8):
|
|
523
|
+
- *.pds (LM app cache - persistent data storage)
|
|
524
|
+
- *.dat (Common datalogger output)
|
|
525
|
+
|
|
526
|
+
- web folder: /web
|
|
527
|
+
- *.html
|
|
528
|
+
- *.js
|
|
529
|
+
- *.css
|
|
530
|
+
|
|
531
|
+
- (5) Proper mip installer support (/lib) [TODO]
|
|
532
|
+
- Note: Autonomous package management over wifi (github)
|
|
533
|
+
- pacman download
|
|
534
|
+
- pacman ls
|
|
535
|
+
- pacman dirtree
|
|
536
|
+
- pacman ...
|
|
510
537
|
```
|
|
511
538
|
|
|
512
|
-
Version **3.1.0-0**
|
|
539
|
+
Version **3.1.0-0** `micrOS-SecurePower`
|
|
513
540
|
|
|
514
541
|
```
|
|
515
542
|
Core:
|
|
516
543
|
- Async socket servers with SSL/TLS integration (with auth.)
|
|
517
544
|
- WebCli (https?), ShellCli (ssocket/sterminal) and InterCon
|
|
545
|
+
- Low power mode with ESPNOW + (AP mode?)
|
|
546
|
+
- Remote controller / Sensor UseCase
|
|
547
|
+
- --- client mode (fyi: normally micrOS operates in server mode)
|
|
548
|
+
- Intercon-Wire (?)
|
|
549
|
+
- Idea of wired message communication protocol same as Intercon-Shell/Intercon-espnow
|
|
550
|
+
- Possible HW protocols: i2c / onewire / uart BUT it should support bidirectional message transfers
|
|
551
|
+
- Goal: CoProcessor easy integration feature - Arduino env support
|
|
518
552
|
```
|
|
519
553
|
|
|
520
|
-
Version **4.0.0-0**
|
|
554
|
+
Version **4.0.0-0** `micrOS-???`
|
|
521
555
|
|
|
522
556
|
```
|
|
523
557
|
Core:
|
|
@@ -525,6 +559,7 @@ Version **4.0.0-0**
|
|
|
525
559
|
- Network
|
|
526
560
|
- wifi (defualt, current interfaces)
|
|
527
561
|
- Study of BLE (Shell)
|
|
562
|
+
- Com. (wifi/now/ble...lora?/etc?.) as plugin architecture (?)
|
|
528
563
|
- Low power mode (with BLE) and soft-sleep / deep-sleep
|
|
529
564
|
```
|
|
530
565
|
|
|
@@ -177,6 +177,7 @@ toolkit/dashboard_apps/_micPlotting.py
|
|
|
177
177
|
toolkit/dashboard_apps/_presencePlotting.py
|
|
178
178
|
toolkit/dashboard_apps/uLightDemo.py
|
|
179
179
|
toolkit/lib/LocalMachine.py
|
|
180
|
+
toolkit/lib/Repository.py
|
|
180
181
|
toolkit/lib/SafeInput.py
|
|
181
182
|
toolkit/lib/SearchDevices.py
|
|
182
183
|
toolkit/lib/SerialDriverHandler.py
|
|
@@ -189,6 +190,7 @@ toolkit/lib/micrOSClientHistory.py
|
|
|
189
190
|
toolkit/lib/pip_package_installer.py
|
|
190
191
|
toolkit/simulator_lib/.DS_Store
|
|
191
192
|
toolkit/simulator_lib/IO_darwin.py
|
|
193
|
+
toolkit/simulator_lib/aioespnow.py
|
|
192
194
|
toolkit/simulator_lib/camera.py
|
|
193
195
|
toolkit/simulator_lib/dht.py
|
|
194
196
|
toolkit/simulator_lib/dotstar.py
|
|
@@ -216,6 +218,7 @@ toolkit/simulator_lib/view01.jpg
|
|
|
216
218
|
toolkit/simulator_lib/view02.jpg
|
|
217
219
|
toolkit/simulator_lib/webrepl.py
|
|
218
220
|
toolkit/simulator_lib/__pycache__/IO_darwin.cpython-312.pyc
|
|
221
|
+
toolkit/simulator_lib/__pycache__/aioespnow.cpython-312.pyc
|
|
219
222
|
toolkit/simulator_lib/__pycache__/camera.cpython-312.pyc
|
|
220
223
|
toolkit/simulator_lib/__pycache__/dht.cpython-312.pyc
|
|
221
224
|
toolkit/simulator_lib/__pycache__/dht.cpython-39.pyc
|
|
@@ -17,7 +17,7 @@ dependencies = ['adafruit-ampy', 'mpremote', 'esptool', 'ipaddress', 'netaddr',
|
|
|
17
17
|
|
|
18
18
|
setuptools.setup(
|
|
19
19
|
name='micrOSDevToolKit',
|
|
20
|
-
version='2.9.
|
|
20
|
+
version='2.9.11',
|
|
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)',
|
|
@@ -12,6 +12,7 @@ try:
|
|
|
12
12
|
from .lib.TerminalColors import Colors
|
|
13
13
|
from .lib.SafeInput import input_with_timeout
|
|
14
14
|
from .lib.file_extensions import check_all_extensions
|
|
15
|
+
from .lib.Repository import git_clone_archive, git_clone
|
|
15
16
|
except Exception as e:
|
|
16
17
|
print("Import warning __name__:{}: {}".format(__name__, e))
|
|
17
18
|
from DevEnvCompile import Compile
|
|
@@ -19,8 +20,10 @@ except Exception as e:
|
|
|
19
20
|
from lib.TerminalColors import Colors
|
|
20
21
|
from lib.SafeInput import input_with_timeout
|
|
21
22
|
from lib.file_extensions import check_all_extensions
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
from lib.Repository import git_clone_archive, git_clone
|
|
24
|
+
|
|
25
|
+
sys.path.append(MYPATH)
|
|
26
|
+
import socketClient
|
|
24
27
|
|
|
25
28
|
|
|
26
29
|
#################################################
|
|
@@ -52,15 +55,17 @@ class OTA(Compile):
|
|
|
52
55
|
# Change workdir
|
|
53
56
|
workdir_handler = LocalMachine.SimplePopPushd()
|
|
54
57
|
workdir_handler.pushd(os.path.dirname(os.path.dirname(webrepl_path)))
|
|
58
|
+
webrepl_url = 'https://github.com/micropython/webrepl.git'
|
|
55
59
|
|
|
56
|
-
|
|
57
|
-
name='webrepl',
|
|
58
|
-
url='https://github.com/micropython/webrepl.git')
|
|
59
|
-
self.console("Clone webrepl repo: {}".format(command))
|
|
60
|
+
self.console(f"Clone webrepl repo: {webrepl_url}")
|
|
60
61
|
if self.dry_run:
|
|
61
|
-
exitcode, stdout, stderr = 0,
|
|
62
|
+
exitcode, stdout, stderr = 0, "", ""
|
|
62
63
|
else:
|
|
63
|
-
|
|
64
|
+
# Git clone with command line tool
|
|
65
|
+
exitcode, stdout, stderr = git_clone(url=webrepl_url)
|
|
66
|
+
if exitcode != 0:
|
|
67
|
+
# Git clone archive - without git
|
|
68
|
+
exitcode, stdout, stderr = git_clone_archive(url=webrepl_url)
|
|
64
69
|
|
|
65
70
|
# Restore workdir
|
|
66
71
|
workdir_handler.popd()
|
|
@@ -156,7 +161,6 @@ class OTA(Compile):
|
|
|
156
161
|
def update_with_webrepl(self, force=False, device=None, lm_only=False, loader_update=False, ota_password='ADmin123'):
|
|
157
162
|
"""
|
|
158
163
|
OTA UPDATE via webrepl
|
|
159
|
-
git clone https://github.com/micropython/webrepl.git
|
|
160
164
|
info: https://techoverflow.net/2020/02/22/how-to-upload-files-to-micropython-using-webrepl-using-webrepl_cli-py/
|
|
161
165
|
./webrepl/webrepl_cli.py -p <password> <input_file> espressif.local:<output_file>
|
|
162
166
|
"""
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import requests
|
|
2
|
+
import zipfile
|
|
3
|
+
import io
|
|
4
|
+
import os
|
|
5
|
+
|
|
6
|
+
try:
|
|
7
|
+
from .LocalMachine import CommandHandler
|
|
8
|
+
except:
|
|
9
|
+
from LocalMachine import CommandHandler
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def git_clone_archive(url):
|
|
13
|
+
"""
|
|
14
|
+
Clone git repo as archive (without git installed)
|
|
15
|
+
Note: No git history, it is just a snapshot
|
|
16
|
+
:param url: https://github.com/micropython/webrepl
|
|
17
|
+
"""
|
|
18
|
+
print(f"CLONE ARCHIVE: {url}")
|
|
19
|
+
url = url.replace(".git", "") if url.endswith(".git") else url
|
|
20
|
+
# URL of the repository zip archive (adjust branch name if needed)
|
|
21
|
+
target_name = url.split("/")[-1].strip()
|
|
22
|
+
zip_url = f"{url}/archive/refs/heads/master.zip"
|
|
23
|
+
response = requests.get(zip_url)
|
|
24
|
+
if response.status_code == 200:
|
|
25
|
+
# Read the downloaded content as a binary stream
|
|
26
|
+
with zipfile.ZipFile(io.BytesIO(response.content)) as z:
|
|
27
|
+
for member in z.infolist():
|
|
28
|
+
# Each member's filename is something like 'webrepl-master/filename'
|
|
29
|
+
# Remove the first directory component
|
|
30
|
+
parts = member.filename.split('/', 1)
|
|
31
|
+
if len(parts) > 1:
|
|
32
|
+
relative_path = parts[1]
|
|
33
|
+
else:
|
|
34
|
+
relative_path = parts[0]
|
|
35
|
+
|
|
36
|
+
# Build the target path relative to the current directory
|
|
37
|
+
target_path = os.path.join(target_name, relative_path)
|
|
38
|
+
|
|
39
|
+
if member.is_dir():
|
|
40
|
+
os.makedirs(target_path, exist_ok=True)
|
|
41
|
+
else:
|
|
42
|
+
os.makedirs(os.path.dirname(target_path), exist_ok=True)
|
|
43
|
+
with z.open(member) as source, open(target_path, 'wb') as target_file:
|
|
44
|
+
target_file.write(source.read())
|
|
45
|
+
print(f"\tRepository extracted successfully: {target_name}")
|
|
46
|
+
return 0, zip_url, ""
|
|
47
|
+
print(f"\tFailed to download repository archive: {target_name}")
|
|
48
|
+
return 1, zip_url, ""
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def git_clone(url):
|
|
52
|
+
"""
|
|
53
|
+
Git clone - subshell call
|
|
54
|
+
- git is needed to be preinstalled
|
|
55
|
+
"""
|
|
56
|
+
print(f"GIT CLONE: {url}")
|
|
57
|
+
target_name = url.split("/")[-1].strip().replace(".git", "")
|
|
58
|
+
command = 'git clone {url} {name}'.format(name=target_name, url=url)
|
|
59
|
+
exitcode, stdout, stderr = CommandHandler.run_command(command, shell=True)
|
|
60
|
+
if exitcode == 0:
|
|
61
|
+
print(f"\tRepository was cloned successfully: {target_name}")
|
|
62
|
+
else:
|
|
63
|
+
print(f"\tRepository clone failed: {target_name}")
|
|
64
|
+
return exitcode, stdout, stderr
|
|
Binary file
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
class AIOESPNow:
|
|
4
|
+
|
|
5
|
+
def __init__(self):
|
|
6
|
+
self._active = False
|
|
7
|
+
self.peers_table = None
|
|
8
|
+
|
|
9
|
+
def active(self, state=None):
|
|
10
|
+
if state is not None:
|
|
11
|
+
self._active = state
|
|
12
|
+
return self._active
|
|
13
|
+
|
|
14
|
+
def stats(self):
|
|
15
|
+
pass
|
|
16
|
+
|
|
17
|
+
def add_peer(self, mac):
|
|
18
|
+
pass
|
|
19
|
+
|
|
20
|
+
async def asend(self, mac, full_msg):
|
|
21
|
+
pass
|
|
22
|
+
|
|
23
|
+
def send(self, mac, full_msg):
|
|
24
|
+
pass
|
|
25
|
+
|
|
26
|
+
def __iter__(self):
|
|
27
|
+
return (i for i in range(0, 3))
|
|
28
|
+
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import Espnow
|
|
2
|
+
|
|
3
|
+
def load():
|
|
4
|
+
"""
|
|
5
|
+
Initialize ESPNOW protocal
|
|
6
|
+
"""
|
|
7
|
+
return Espnow.initialize()
|
|
8
|
+
|
|
9
|
+
def send(peer, msg='modules'):
|
|
10
|
+
"""
|
|
11
|
+
Send message to peer (by mac address)
|
|
12
|
+
:param peer: mac address of espnow device
|
|
13
|
+
:param msg: message string/load module call
|
|
14
|
+
"""
|
|
15
|
+
return Espnow.espnow_send(peer, msg)
|
|
16
|
+
|
|
17
|
+
def start_server():
|
|
18
|
+
"""
|
|
19
|
+
Start ESPNOW server/listener
|
|
20
|
+
- this can receive espnow messages
|
|
21
|
+
- it includes Load Module execution logic (beta)
|
|
22
|
+
"""
|
|
23
|
+
return Espnow.espnow_server()
|
|
24
|
+
|
|
25
|
+
def stats():
|
|
26
|
+
"""
|
|
27
|
+
Get ESPNOW stats
|
|
28
|
+
"""
|
|
29
|
+
return Espnow.stats()
|
|
30
|
+
|
|
31
|
+
def add_peer(peer):
|
|
32
|
+
"""
|
|
33
|
+
Add ESPNOW peer to known hosts
|
|
34
|
+
- It is needed before first send(...)
|
|
35
|
+
"""
|
|
36
|
+
now = Espnow.initialize()
|
|
37
|
+
return Espnow.add_peer(now, peer)
|
|
38
|
+
|
|
39
|
+
def mac_address():
|
|
40
|
+
"""
|
|
41
|
+
Get ESPNOW compatible mac address
|
|
42
|
+
"""
|
|
43
|
+
return Espnow.mac_address()
|
|
44
|
+
|
|
45
|
+
def help():
|
|
46
|
+
"""
|
|
47
|
+
[beta] ESPNOW sender/receiver with LM execution
|
|
48
|
+
"""
|
|
49
|
+
return 'load', 'send <peer> "ping"', 'start_server', 'add_peer <peer>', 'stats', 'mac_address'
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import Espnow
|
|
2
|
-
|
|
3
|
-
def load():
|
|
4
|
-
return Espnow.initialize()
|
|
5
|
-
|
|
6
|
-
def send(peer, msg='ping'):
|
|
7
|
-
return Espnow.espnow_send(peer, msg)
|
|
8
|
-
|
|
9
|
-
def start_server():
|
|
10
|
-
return Espnow.espnow_server()
|
|
11
|
-
|
|
12
|
-
def stats():
|
|
13
|
-
return Espnow.stats()
|
|
14
|
-
|
|
15
|
-
def add_peer(peer):
|
|
16
|
-
now = Espnow.initialize()
|
|
17
|
-
return Espnow.add_peer(now, peer)
|
|
18
|
-
|
|
19
|
-
def mac_address():
|
|
20
|
-
return Espnow.mac_address()
|
|
21
|
-
|
|
22
|
-
def help():
|
|
23
|
-
return 'load', 'send <peer> "ping"', 'start_server', 'add_peer <peer>', 'stats', 'mac_address'
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import Espnow
|
|
2
|
-
|
|
3
|
-
def load():
|
|
4
|
-
return Espnow.initialize()
|
|
5
|
-
|
|
6
|
-
def send(peer, msg='ping'):
|
|
7
|
-
return Espnow.espnow_send(peer, msg)
|
|
8
|
-
|
|
9
|
-
def start_server():
|
|
10
|
-
return Espnow.espnow_server()
|
|
11
|
-
|
|
12
|
-
def stats():
|
|
13
|
-
return Espnow.stats()
|
|
14
|
-
|
|
15
|
-
def add_peer(peer):
|
|
16
|
-
now = Espnow.initialize()
|
|
17
|
-
return Espnow.add_peer(now, peer)
|
|
18
|
-
|
|
19
|
-
def mac_address():
|
|
20
|
-
return Espnow.mac_address()
|
|
21
|
-
|
|
22
|
-
def help():
|
|
23
|
-
return 'load', 'send <peer> "ping"', 'start_server', 'add_peer <peer>', 'stats', 'mac_address'
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|