micrOSDevToolKit 2.6.7__tar.gz → 2.7.0__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.6.7/micrOSDevToolKit.egg-info → microsdevtoolkit-2.7.0}/PKG-INFO +18 -10
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/README.md +2 -6
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/release_info/micrOS_ReleaseInfo/system_analysis_sum.json +42 -26
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Common.py +9 -3
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Hooks.py +20 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/IO_esp32.py +2 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/IO_tinypico.py +4 -2
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_distance.py +47 -4
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_esp32.py +8 -1
- microsdevtoolkit-2.7.0/micrOS/source/LM_haptic.py +111 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_i2c.py +19 -3
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_oled_ui.py +1 -1
- microsdevtoolkit-2.7.0/micrOS/source/LM_oledui.py +973 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_rencoder.py +36 -7
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_system.py +41 -19
- microsdevtoolkit-2.7.0/micrOS/source/LM_trackball.py +287 -0
- microsdevtoolkit-2.7.0/micrOS/source/LM_veml7700.py +159 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Shell.py +1 -1
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0/micrOSDevToolKit.egg-info}/PKG-INFO +18 -10
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOSDevToolKit.egg-info/SOURCES.txt +9 -1
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/setup.py +1 -1
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/LM_to_compile.dat +5 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/MicrOSDevEnv.py +6 -1
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/lib/macroScript.py +75 -19
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/micrOSlint.py +1 -1
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/IO_darwin.cpython-312.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/camera.cpython-312.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/machine.cpython-312.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/simulator.cpython-312.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/machine.py +4 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Common.mpy +0 -0
- microsdevtoolkit-2.7.0/toolkit/workspace/precompiled/Hooks.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/IO_esp32.mpy +0 -0
- microsdevtoolkit-2.7.0/toolkit/workspace/precompiled/IO_tinypico.mpy +0 -0
- microsdevtoolkit-2.7.0/toolkit/workspace/precompiled/LM_distance.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_esp32.py +8 -1
- microsdevtoolkit-2.7.0/toolkit/workspace/precompiled/LM_haptic.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_i2c.py +19 -3
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_oled_ui.mpy +0 -0
- microsdevtoolkit-2.7.0/toolkit/workspace/precompiled/LM_oledui.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_rencoder.py +36 -7
- microsdevtoolkit-2.7.0/toolkit/workspace/precompiled/LM_system.mpy +0 -0
- microsdevtoolkit-2.7.0/toolkit/workspace/precompiled/LM_trackball.mpy +0 -0
- microsdevtoolkit-2.7.0/toolkit/workspace/precompiled/LM_veml7700.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Shell.mpy +0 -0
- microsdevtoolkit-2.7.0/toolkit/workspace/precompiled/node_config.json +1 -0
- micrOSDevToolKit-2.6.7/toolkit/workspace/precompiled/Hooks.mpy +0 -0
- micrOSDevToolKit-2.6.7/toolkit/workspace/precompiled/IO_tinypico.mpy +0 -0
- micrOSDevToolKit-2.6.7/toolkit/workspace/precompiled/LM_distance.py +0 -96
- micrOSDevToolKit-2.6.7/toolkit/workspace/precompiled/LM_system.mpy +0 -0
- micrOSDevToolKit-2.6.7/toolkit/workspace/precompiled/node_config.json +0 -1
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/LICENSE +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/MANIFEST.in +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/devToolKit.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/__init__.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/.DS_Store +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CH34XSER_MAC/CH34X_DRV_INSTALL_INSTRUCTIONS.pdf +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CH34XSER_MAC/CH34xVCPDriver.pkg +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x64.exe +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x86.exe +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210x_Universal_Windows_Driver_ReleaseNotes.txt +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/SLAB_License_Agreement_VCP_Windows.txt +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm/silabser.sys +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm64/silabser.sys +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/dpinst.xml +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.cat +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.inf +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x64/silabser.sys +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x86/silabser.sys +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/macOS_VCP_Driver/SiLabsUSBDriverDisk.dmg +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/macOS_VCP_Driver/macOS_VCP_Driver_Release_Notes.txt +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/media/__init__.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/media/dnd.png +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/media/logo.png +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/media/logo_mini.png +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/media/usb_port_icon.png +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/media/wifi_icon.png +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/__init__.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/micropython/esp32-20231005-v1.21.0.bin +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/micropython/esp32-GENERIC-20240602-v1.23.0.bin +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/micropython/esp32c3-GENERIC-20240222-v1.22.2.bin +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/micropython/esp32cam-v1.21.0_camera.bin +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/micropython/esp32s2-GENERIC-20240602-v1.23.0.bin +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/micropython/esp32s2-LOLIN_MINI-20220618-v1.19.1.bin +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/micropython/esp32s2-LOLIN_MINI-20240602-v1.23.0.bin +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/micropython/esp32s3-GENERIC-20240105-v1.22.1.bin +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/micropython/esp32s3_spiram_oct-20231005-v1.21.0.bin +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/micropython/rpi-pico-w-20240602-v1.23.0.uf2 +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/micropython/tinypico-20231005-v1.21.0.bin +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/micropython/tinypico_usbc-UM-20240105-v1.22.1.bin +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/.DS_Store +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Config.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Debug.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/IO_esp32c3.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/IO_esp32s2.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/IO_esp32s3.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/IO_m5stamp.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/IO_qtpy.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/IO_rp2.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/InterConnect.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Interrupts.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_L298N_DCmotor.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_L9110_DCmotor.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_OV2640.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_VL53L0X.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_aht10.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_bme280.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_buzzer.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_catgame.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_cct.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_co2.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_dashboard_be.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_demo.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_dht11.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_dht22.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_dimmer.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_ds18.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_gameOfLife.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_genIO.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_i2s_mic.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_intercon.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_keychain.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_ld2410.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_light_sensor.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_lmpacman.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_neoeffects.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_neopixel.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_oled.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_oled_sh1106.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_pet_feeder.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_ph_sensor.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_presence.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_rest.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_rgb.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_rgbcct.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_roboarm.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_robustness.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_rp2w.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_sdcard.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_servo.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_sound_event.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_stepper.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_switch.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_telegram.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_tinyrgb.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Logger.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Network.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Notify.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Scheduler.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Server.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Tasks.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Time.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Types.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/dashboard.html +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/index.html +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/main.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/micrOS.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/micrOSloader.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/microIO.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/reset.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/uapi.js +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/udashboard.js +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/urequests.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/ustyle.css +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/uwidgets.js +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/uwidgets_pro.js +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOSDevToolKit.egg-info/dependency_links.txt +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOSDevToolKit.egg-info/requires.txt +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOSDevToolKit.egg-info/top_level.txt +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/setup.cfg +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/DevEnvCompile.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/DevEnvOTA.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/DevEnvUSB.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/Gateway.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/__init__.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/AirQualityBME280.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/AirQualityDHT22_CO2.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/BackupRestore.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/CCTDemo.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/CCTTest.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/CamStream.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/CatGame.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/Dimmer.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/GetVersion.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/MicrophoneTest.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/NeoEffectsDemo.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/NeopixelTest.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/PresenceTest.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/RGBTest.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/RoboArm.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/SED_test.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/SystemTest.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/Template_app.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/__init__.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/_capture.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/_micPlotting.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/_presencePlotting.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/uLightDemo.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/img_stream.html +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/index.html +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/lib/LocalMachine.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/lib/SafeInput.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/lib/SearchDevices.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/lib/SerialDriverHandler.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/lib/TerminalColors.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/lib/__init__.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/lib/file_extensions.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/lib/micrOSClient.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/lib/pip_package_installer.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/micrOSdashboard.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/.DS_Store +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/IO_darwin.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/dht.cpython-312.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/dht.cpython-39.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/dotstar.cpython-312.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/dotstar.cpython-38.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/dotstar.cpython-39.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-312.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-38.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-39.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/esp32.cpython-312.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/esp32.cpython-38.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/esp32.cpython-39.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/framebuf.cpython-312.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/framebuf.cpython-38.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/framebuf.cpython-39.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/machine.cpython-38.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/machine.cpython-39.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/micropython.cpython-312.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/micropython.cpython-38.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/micropython.cpython-39.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/neopixel.cpython-312.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/neopixel.cpython-38.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/neopixel.cpython-39.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/network.cpython-312.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/network.cpython-38.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/network.cpython-39.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/ntptime.cpython-312.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/onewire.cpython-312.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/onewire.cpython-38.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/onewire.cpython-39.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/sim_console.cpython-312.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/sim_console.cpython-38.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/sim_console.cpython-39.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/simgc.cpython-312.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/simgc.cpython-38.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/simgc.cpython-39.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/simulator.cpython-38.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/simulator.cpython-39.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/tinypico.cpython-312.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/tinypico.cpython-38.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/tinypico.cpython-39.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-312.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-38.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-39.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/usocket.cpython-312.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/ussl.cpython-312.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/ustruct.cpython-312.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/ustruct.cpython-39.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/utime.cpython-312.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/utime.cpython-38.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/utime.cpython-39.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/webrepl.cpython-312.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/webrepl.cpython-38.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/webrepl.cpython-39.pyc +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/camera.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/dht.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/dotstar.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/ds18x20.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/esp32.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/framebuf.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/micropython.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/neopixel.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/network.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/node_config.json +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/ntptime.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/onewire.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/sim_console.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/simgc.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/simulator.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/tinypico.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/uasyncio.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/usocket.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/ussl.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/ustruct.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/utime.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/view01.jpg +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/view02.jpg +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/webrepl.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/socketClient.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/user_data/.include +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/user_data/webhooks/generic.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/user_data/webhooks/macro.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/user_data/webhooks/template.macro +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/user_data/webhooks/template.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/__init__.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Config.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Debug.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/IO_esp32c3.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/IO_esp32s2.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/IO_esp32s3.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/IO_m5stamp.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/IO_qtpy.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/IO_rp2.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/InterConnect.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Interrupts.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_L298N_DCmotor.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_L9110_DCmotor.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_OV2640.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_VL53L0X.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_aht10.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_bme280.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_buzzer.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_catgame.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_cct.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_co2.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_dashboard_be.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_demo.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_dht11.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_dht22.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_dimmer.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_ds18.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_gameOfLife.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_genIO.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_i2s_mic.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_intercon.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_keychain.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_ld2410.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_light_sensor.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_lmpacman.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_neoeffects.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_neopixel.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_oled.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_oled_sh1106.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_pet_feeder.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_ph_sensor.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_presence.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_rest.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_rgb.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_rgbcct.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_roboarm.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_robustness.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_rp2w.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_sdcard.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_servo.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_sound_event.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_stepper.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_switch.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_telegram.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_tinyrgb.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Logger.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Network.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Notify.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Scheduler.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Server.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Tasks.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Time.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Types.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/_mpy.version +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/dashboard.html +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/index.html +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/main.py +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/micrOS.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/micrOSloader.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/microIO.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/reset.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/uapi.js +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/udashboard.js +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/urequests.mpy +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/ustyle.css +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/uwidgets.js +0 -0
- {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/uwidgets_pro.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: micrOSDevToolKit
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.7.0
|
|
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
|
|
@@ -8,14 +8,27 @@ Author-email: miros.framework@gmail.com
|
|
|
8
8
|
License: MIT
|
|
9
9
|
Project-URL: Bug Tracker, https://github.com/BxNxM/micrOS/issues
|
|
10
10
|
Project-URL: GitHub Discussions, https://github.com/BxNxM/micrOS/discussions
|
|
11
|
-
Platform: UNKNOWN
|
|
12
11
|
Description-Content-Type: text/markdown
|
|
13
12
|
License-File: LICENSE
|
|
13
|
+
Requires-Dist: adafruit-ampy
|
|
14
|
+
Requires-Dist: mpremote
|
|
15
|
+
Requires-Dist: esptool
|
|
16
|
+
Requires-Dist: ipaddress
|
|
17
|
+
Requires-Dist: netaddr
|
|
18
|
+
Requires-Dist: pylint
|
|
19
|
+
Requires-Dist: pyserial
|
|
20
|
+
Requires-Dist: resources
|
|
21
|
+
Requires-Dist: flask
|
|
22
|
+
Requires-Dist: flask_restful
|
|
23
|
+
Requires-Dist: numpy
|
|
24
|
+
Requires-Dist: json2html
|
|
25
|
+
Requires-Dist: requests
|
|
26
|
+
Requires-Dist: Flask-BasicAuth
|
|
27
|
+
Requires-Dist: soundfile
|
|
14
28
|
|
|
15
29
|
#  micrOS
|
|
16
30
|
|
|
17
|
-
|
|
18
|
-
### micropython based smart edge platform #IoT
|
|
31
|
+
> **"Simple, yet increadbly useful."**
|
|
19
32
|
|
|
20
33
|
                 <br/>
|
|
21
34
|
|
|
@@ -31,7 +44,7 @@ Thanks for , fo
|
|
|
31
44
|
[](https://pypi.org/project/micrOSDevToolKit/)
|
|
32
45
|
|
|
33
46
|
|
|
34
|
-
**micrOS** is a mini **application** execution **platform** with ShellCli (socket) and WebCli (http) **servers** and several **other** embedded **features**.
|
|
47
|
+
**micrOS** is a [micropython](http://micropython.org) based mini **application** execution **platform** with ShellCli (socket) and WebCli (http) **servers** and several **other** embedded **features**.
|
|
35
48
|
> It uses direct wifi connection to access the exposed functionalities.<br/>
|
|
36
49
|
|
|
37
50
|
In case of any technical comments or requests, please use [](https://github.com/BxNxM/micrOS/discussions).
|
|
@@ -52,9 +65,6 @@ Access rest api over browser: `http://<nodename>.local`
|
|
|
52
65
|
⚠️ No external server or service required for client-device communication <br/>
|
|
53
66
|
⚠️ 🛡 Works on Local Network (WiFi-WLAN) <br/>
|
|
54
67
|
🛠 Easy to create custom application(s) aka create your own Load Modules: <br/>
|
|
55
|
-
1. Write **LM_**`<your_app>`**.py** <br/>
|
|
56
|
-
2. Copy (OTA/USB) python script to your device (drag&drop)<br/>
|
|
57
|
-
3. Call any function from **`<your_app>`** module <br/>
|
|
58
68
|
🦾 Built-in scheduling (IRQs):<br/>
|
|
59
69
|
- Time stamp based <br/>
|
|
60
70
|
- Geolocation based clock setup + time tags: sunset, sunrise <br/>
|
|
@@ -1101,5 +1111,3 @@ gource \
|
|
|
1101
1111
|
|
|
1102
1112
|
git push -u origin master
|
|
1103
1113
|
|
|
1104
|
-
|
|
1105
|
-
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
#  micrOS
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
### micropython based smart edge platform #IoT
|
|
3
|
+
> **"Simple, yet increadbly useful."**
|
|
5
4
|
|
|
6
5
|
                 <br/>
|
|
7
6
|
|
|
@@ -17,7 +16,7 @@ Thanks for , fo
|
|
|
17
16
|
[](https://pypi.org/project/micrOSDevToolKit/)
|
|
18
17
|
|
|
19
18
|
|
|
20
|
-
**micrOS** is a mini **application** execution **platform** with ShellCli (socket) and WebCli (http) **servers** and several **other** embedded **features**.
|
|
19
|
+
**micrOS** is a [micropython](http://micropython.org) based mini **application** execution **platform** with ShellCli (socket) and WebCli (http) **servers** and several **other** embedded **features**.
|
|
21
20
|
> It uses direct wifi connection to access the exposed functionalities.<br/>
|
|
22
21
|
|
|
23
22
|
In case of any technical comments or requests, please use [](https://github.com/BxNxM/micrOS/discussions).
|
|
@@ -38,9 +37,6 @@ Access rest api over browser: `http://<nodename>.local`
|
|
|
38
37
|
⚠️ No external server or service required for client-device communication <br/>
|
|
39
38
|
⚠️ 🛡 Works on Local Network (WiFi-WLAN) <br/>
|
|
40
39
|
🛠 Easy to create custom application(s) aka create your own Load Modules: <br/>
|
|
41
|
-
1. Write **LM_**`<your_app>`**.py** <br/>
|
|
42
|
-
2. Copy (OTA/USB) python script to your device (drag&drop)<br/>
|
|
43
|
-
3. Call any function from **`<your_app>`** module <br/>
|
|
44
40
|
🦾 Built-in scheduling (IRQs):<br/>
|
|
45
41
|
- Time stamp based <br/>
|
|
46
42
|
- Geolocation based clock setup + time tags: sunset, sunrise <br/>
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
"files": {
|
|
3
3
|
"Time.py": [
|
|
4
4
|
9.17,
|
|
5
|
-
|
|
5
|
+
7
|
|
6
6
|
],
|
|
7
7
|
"micrOSloader.py": [
|
|
8
8
|
7.85,
|
|
9
9
|
1
|
|
10
10
|
],
|
|
11
11
|
"Hooks.py": [
|
|
12
|
-
9.
|
|
12
|
+
9.41,
|
|
13
13
|
1
|
|
14
14
|
],
|
|
15
15
|
"Server.py": [
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
],
|
|
23
23
|
"Config.py": [
|
|
24
24
|
9.44,
|
|
25
|
-
|
|
25
|
+
14
|
|
26
26
|
],
|
|
27
27
|
"reset.py": [
|
|
28
28
|
8.75,
|
|
@@ -38,15 +38,15 @@
|
|
|
38
38
|
],
|
|
39
39
|
"Types.py": [
|
|
40
40
|
8.87,
|
|
41
|
-
|
|
41
|
+
28
|
|
42
42
|
],
|
|
43
43
|
"Logger.py": [
|
|
44
44
|
8.57,
|
|
45
45
|
4
|
|
46
46
|
],
|
|
47
47
|
"Common.py": [
|
|
48
|
-
9.
|
|
49
|
-
|
|
48
|
+
9.49,
|
|
49
|
+
32
|
|
50
50
|
],
|
|
51
51
|
"InterConnect.py": [
|
|
52
52
|
9.4,
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
],
|
|
59
59
|
"Network.py": [
|
|
60
60
|
9.71,
|
|
61
|
-
|
|
61
|
+
8
|
|
62
62
|
],
|
|
63
63
|
"Scheduler.py": [
|
|
64
64
|
9.61,
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
],
|
|
67
67
|
"microIO.py": [
|
|
68
68
|
9.26,
|
|
69
|
-
|
|
69
|
+
42
|
|
70
70
|
],
|
|
71
71
|
"micrOS.py": [
|
|
72
72
|
9.29,
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
0
|
|
82
82
|
],
|
|
83
83
|
"urequests.py": [
|
|
84
|
-
8.
|
|
84
|
+
8.94,
|
|
85
85
|
4
|
|
86
86
|
],
|
|
87
87
|
"LM_roboarm.py": [
|
|
@@ -101,8 +101,8 @@
|
|
|
101
101
|
0
|
|
102
102
|
],
|
|
103
103
|
"LM_system.py": [
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
8.31,
|
|
105
|
+
4
|
|
106
106
|
],
|
|
107
107
|
"LM_robustness.py": [
|
|
108
108
|
7.57,
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
],
|
|
119
119
|
"LM_oled.py": [
|
|
120
120
|
9.23,
|
|
121
|
-
|
|
121
|
+
4
|
|
122
122
|
],
|
|
123
123
|
"LM_tinyrgb.py": [
|
|
124
124
|
7.95,
|
|
@@ -154,6 +154,10 @@
|
|
|
154
154
|
],
|
|
155
155
|
"LM_oled_sh1106.py": [
|
|
156
156
|
8.84,
|
|
157
|
+
2
|
|
158
|
+
],
|
|
159
|
+
"LM_haptic.py": [
|
|
160
|
+
9.25,
|
|
157
161
|
1
|
|
158
162
|
],
|
|
159
163
|
"LM_ld2410.py": [
|
|
@@ -162,7 +166,7 @@
|
|
|
162
166
|
],
|
|
163
167
|
"LM_neopixel.py": [
|
|
164
168
|
7.59,
|
|
165
|
-
|
|
169
|
+
2
|
|
166
170
|
],
|
|
167
171
|
"LM_cct.py": [
|
|
168
172
|
8.83,
|
|
@@ -177,7 +181,7 @@
|
|
|
177
181
|
0
|
|
178
182
|
],
|
|
179
183
|
"LM_i2c.py": [
|
|
180
|
-
|
|
184
|
+
7.6,
|
|
181
185
|
0
|
|
182
186
|
],
|
|
183
187
|
"LM_dht22.py": [
|
|
@@ -189,7 +193,11 @@
|
|
|
189
193
|
0
|
|
190
194
|
],
|
|
191
195
|
"LM_esp32.py": [
|
|
192
|
-
|
|
196
|
+
6.52,
|
|
197
|
+
1
|
|
198
|
+
],
|
|
199
|
+
"LM_veml7700.py": [
|
|
200
|
+
7.62,
|
|
193
201
|
0
|
|
194
202
|
],
|
|
195
203
|
"LM_pet_feeder.py": [
|
|
@@ -197,7 +205,7 @@
|
|
|
197
205
|
0
|
|
198
206
|
],
|
|
199
207
|
"LM_rencoder.py": [
|
|
200
|
-
8.
|
|
208
|
+
8.64,
|
|
201
209
|
0
|
|
202
210
|
],
|
|
203
211
|
"LM_keychain.py": [
|
|
@@ -212,6 +220,10 @@
|
|
|
212
220
|
8.49,
|
|
213
221
|
0
|
|
214
222
|
],
|
|
223
|
+
"LM_oledui.py": [
|
|
224
|
+
8.52,
|
|
225
|
+
0
|
|
226
|
+
],
|
|
215
227
|
"LM_telegram.py": [
|
|
216
228
|
9.02,
|
|
217
229
|
0
|
|
@@ -225,7 +237,7 @@
|
|
|
225
237
|
1
|
|
226
238
|
],
|
|
227
239
|
"LM_distance.py": [
|
|
228
|
-
8.
|
|
240
|
+
8.89,
|
|
229
241
|
0
|
|
230
242
|
],
|
|
231
243
|
"LM_VL53L0X.py": [
|
|
@@ -244,13 +256,17 @@
|
|
|
244
256
|
8.78,
|
|
245
257
|
4
|
|
246
258
|
],
|
|
259
|
+
"LM_trackball.py": [
|
|
260
|
+
8.43,
|
|
261
|
+
1
|
|
262
|
+
],
|
|
247
263
|
"LM_dashboard_be.py": [
|
|
248
264
|
6.5,
|
|
249
265
|
0
|
|
250
266
|
],
|
|
251
267
|
"LM_dimmer.py": [
|
|
252
268
|
8.33,
|
|
253
|
-
|
|
269
|
+
1
|
|
254
270
|
],
|
|
255
271
|
"LM_demo.py": [
|
|
256
272
|
8.57,
|
|
@@ -262,7 +278,7 @@
|
|
|
262
278
|
],
|
|
263
279
|
"LM_gameOfLife.py": [
|
|
264
280
|
9.29,
|
|
265
|
-
|
|
281
|
+
3
|
|
266
282
|
],
|
|
267
283
|
"LM_catgame.py": [
|
|
268
284
|
8.85,
|
|
@@ -270,7 +286,7 @@
|
|
|
270
286
|
],
|
|
271
287
|
"LM_intercon.py": [
|
|
272
288
|
8.18,
|
|
273
|
-
|
|
289
|
+
4
|
|
274
290
|
],
|
|
275
291
|
"LM_ds18.py": [
|
|
276
292
|
6.0,
|
|
@@ -287,12 +303,12 @@
|
|
|
287
303
|
},
|
|
288
304
|
"summary": {
|
|
289
305
|
"core": [
|
|
290
|
-
|
|
306
|
+
3184,
|
|
291
307
|
21
|
|
292
308
|
],
|
|
293
309
|
"load": [
|
|
294
|
-
|
|
295
|
-
|
|
310
|
+
8685,
|
|
311
|
+
54
|
|
296
312
|
],
|
|
297
313
|
"core_dep": [
|
|
298
314
|
true,
|
|
@@ -300,10 +316,10 @@
|
|
|
300
316
|
],
|
|
301
317
|
"load_dep": [
|
|
302
318
|
true,
|
|
303
|
-
|
|
319
|
+
5
|
|
304
320
|
],
|
|
305
321
|
"core_score": 9.1,
|
|
306
|
-
"load_score": 8.
|
|
307
|
-
"version": "2.6.
|
|
322
|
+
"load_score": 8.21,
|
|
323
|
+
"version": "2.6.6-6"
|
|
308
324
|
}
|
|
309
325
|
}
|
|
@@ -78,7 +78,7 @@ class SmartADC:
|
|
|
78
78
|
return {'raw': raw, 'percent': round(percent*100, 1), 'volt': volt}
|
|
79
79
|
|
|
80
80
|
@staticmethod
|
|
81
|
-
def get_singleton(pin):
|
|
81
|
+
def get_singleton(pin): # TODO: rename to get_instance
|
|
82
82
|
if pin in SmartADC.OBJS.keys():
|
|
83
83
|
return SmartADC.OBJS[pin]
|
|
84
84
|
SmartADC.OBJS[pin] = SmartADC(pin)
|
|
@@ -127,13 +127,19 @@ def manage_task(tag, operation):
|
|
|
127
127
|
raise Exception(f"Invalid operation: {operation}")
|
|
128
128
|
|
|
129
129
|
|
|
130
|
-
def exec_cmd(cmd):
|
|
130
|
+
def exec_cmd(cmd, skip_check=False):
|
|
131
131
|
"""
|
|
132
132
|
[LM] Single (sync) LM execution
|
|
133
133
|
:param cmd: command string list
|
|
134
|
+
:param skip_check: skip cmd type check, micropython bug
|
|
134
135
|
return state, output
|
|
135
136
|
"""
|
|
136
|
-
|
|
137
|
+
# [BUG] Solution with isinstance/type is not reliable... micropython 1.22
|
|
138
|
+
# Invalid type, must be list: <class list>" ...
|
|
139
|
+
if skip_check:
|
|
140
|
+
return lm_exec(cmd)
|
|
141
|
+
return lm_exec(cmd) if isinstance(cmd, list) else False, f"Invalid type, must be list: {type(cmd)}"
|
|
142
|
+
|
|
137
143
|
|
|
138
144
|
|
|
139
145
|
def notify(text):
|
|
@@ -23,6 +23,10 @@ from Debug import console_write
|
|
|
23
23
|
from Tasks import exec_lm_pipe
|
|
24
24
|
from micropython import mem_info
|
|
25
25
|
from machine import freq
|
|
26
|
+
try:
|
|
27
|
+
from gc import mem_free
|
|
28
|
+
except:
|
|
29
|
+
from simgc import mem_free
|
|
26
30
|
|
|
27
31
|
#################################################################
|
|
28
32
|
# FUNCTIONS #
|
|
@@ -58,6 +62,22 @@ def bootup():
|
|
|
58
62
|
freq(80_000_000) # 80 Mhz / Half the max CPU clock
|
|
59
63
|
elif 'esp32' in platform:
|
|
60
64
|
freq(160_000_000) # 160 Mhz / Half the max CPU clock
|
|
65
|
+
# Autotune queue size
|
|
66
|
+
tune_queue_size()
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
def tune_queue_size():
|
|
70
|
+
"""
|
|
71
|
+
Tune queue size based on available ram
|
|
72
|
+
between 5-50
|
|
73
|
+
"""
|
|
74
|
+
min_queue, max_queue, task_req_kb = 5, 20, 20 # 400kb max for tasks management
|
|
75
|
+
est_queue = int(mem_free()/1000/task_req_kb)
|
|
76
|
+
est_queue = max(est_queue, min_queue)
|
|
77
|
+
est_queue = min(est_queue, max_queue)
|
|
78
|
+
current_queue = cfgget('aioqueue')
|
|
79
|
+
if est_queue > current_queue:
|
|
80
|
+
cfgput('aioqueue', est_queue)
|
|
61
81
|
|
|
62
82
|
|
|
63
83
|
def profiling_info(label=""):
|
|
@@ -76,3 +76,5 @@ temp6000 = const(36) # VP - [ADC] light sensor TEMP6000
|
|
|
76
76
|
ph = const(39) # VN - [ADC] PH sensor
|
|
77
77
|
ds18 = const(19) # D19 - DS18B20 - temp. sensor
|
|
78
78
|
mic = const(39) # VN - [ADC] microphone
|
|
79
|
+
rot_dt = const(13) # [IRQ] rotary encoder data
|
|
80
|
+
rot_clk = const(12) # [IRQ] rotary encoder clock
|
|
@@ -9,7 +9,7 @@ wwhite = const(15) # D15 - warm white [PWM CH4]
|
|
|
9
9
|
cwhite = const(14) # D14 - cold white [PWM CH5]
|
|
10
10
|
|
|
11
11
|
# DIGITAL LED
|
|
12
|
-
neop = const(
|
|
12
|
+
neop = const(26) # D26 - WS2812 - neopixel OneWire bus [PWM]
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
# ACTUATORS
|
|
@@ -28,12 +28,14 @@ l298dir_2 = const(19) # D19 - DC motor direction (2)
|
|
|
28
28
|
l9110dir_1 = const(18) # D18 - DC motor direction (1)
|
|
29
29
|
l9110dir_2 = const(19) # D25 - DC motor direction (2)
|
|
30
30
|
|
|
31
|
-
buzzer = const(
|
|
31
|
+
buzzer = const(33) # D33 - Buzzer pin - sound generator
|
|
32
|
+
haptic = const(32) # D32 - Haptic - vibration motor
|
|
32
33
|
|
|
33
34
|
|
|
34
35
|
# I2C BUS
|
|
35
36
|
i2c_sda = const(21) # D22 - data
|
|
36
37
|
i2c_scl = const(22) # D21 - clock
|
|
38
|
+
trackball_int = const(25) # D25 - event interrupt
|
|
37
39
|
|
|
38
40
|
|
|
39
41
|
# EXTERNAL EVENT IRQ
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
from machine import Pin, time_pulse_us
|
|
2
2
|
from utime import sleep_us
|
|
3
3
|
from microIO import resolve_pin, pinmap_search
|
|
4
|
+
import uasyncio as asyncio
|
|
5
|
+
from Common import micro_task
|
|
6
|
+
from Types import resolve
|
|
4
7
|
|
|
5
8
|
__TRIGGER_OBJ = None
|
|
6
9
|
__ECHO_OBJ = None
|
|
7
10
|
|
|
8
11
|
|
|
9
12
|
def __init_HCSR04():
|
|
13
|
+
"""
|
|
14
|
+
HCSR04 Ultrasonic distance sensor
|
|
15
|
+
"""
|
|
10
16
|
global __TRIGGER_OBJ, __ECHO_OBJ
|
|
11
17
|
if __TRIGGER_OBJ is None or __ECHO_OBJ is None:
|
|
12
18
|
trigger_pin = resolve_pin('hcsrtrig')
|
|
@@ -36,6 +42,41 @@ def __send_pulse_and_wait(echo_timeout_us=1000000):
|
|
|
36
42
|
raise ex
|
|
37
43
|
|
|
38
44
|
|
|
45
|
+
async def __task(period_ms, dimmer, idle_cm):
|
|
46
|
+
average = None
|
|
47
|
+
with micro_task(tag="distance.visual") as my_task:
|
|
48
|
+
while True:
|
|
49
|
+
brightness_max_cm = 200
|
|
50
|
+
brightness_min_cm = 5
|
|
51
|
+
dist = int(measure_cm())
|
|
52
|
+
if dist > idle_cm+100:
|
|
53
|
+
await asyncio.sleep_ms(50)
|
|
54
|
+
continue
|
|
55
|
+
dist = brightness_max_cm if dist > brightness_max_cm else dist # Limit max
|
|
56
|
+
dist = 0 if dist < brightness_min_cm else dist # Limit min
|
|
57
|
+
average = dist if average is None else (average + dist) / 2
|
|
58
|
+
brightness = int(600 * (average/(brightness_max_cm)))
|
|
59
|
+
if dist >= idle_cm:
|
|
60
|
+
dimmer(5)
|
|
61
|
+
else:
|
|
62
|
+
dimmer(brightness)
|
|
63
|
+
|
|
64
|
+
# Store data in task cache (task show mytask)
|
|
65
|
+
my_task.out = f'Dist: {dist} br: {brightness}'
|
|
66
|
+
|
|
67
|
+
# Async sleep - feed event loop
|
|
68
|
+
await asyncio.sleep_ms(period_ms)
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def start_dimmer_indicator(idle_distance=180):
|
|
72
|
+
"""Distance visualization on LED brightness (LM_dimmer)"""
|
|
73
|
+
from LM_dimmer import set_value
|
|
74
|
+
# [!] ASYNC TASK CREATION [1*] with async task callback + taskID (TAG) handling
|
|
75
|
+
state = micro_task(tag="distance.visual", task=__task(period_ms=200, dimmer=set_value, idle_cm=idle_distance))
|
|
76
|
+
return "Starting" if state else "Already running"
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
39
80
|
#########################
|
|
40
81
|
# Application functions #
|
|
41
82
|
#########################
|
|
@@ -48,7 +89,7 @@ def load():
|
|
|
48
89
|
return "HCSR04 Ultrasonic distance sensor - loaded"
|
|
49
90
|
|
|
50
91
|
|
|
51
|
-
def
|
|
92
|
+
def measure_mm():
|
|
52
93
|
"""
|
|
53
94
|
To calculate the distance we get the pulse_time and divide it by 2
|
|
54
95
|
(the pulse walk the distance twice) and by 29.1 becasue
|
|
@@ -59,7 +100,7 @@ def distance_mm():
|
|
|
59
100
|
return __send_pulse_and_wait() * 100 // 582
|
|
60
101
|
|
|
61
102
|
|
|
62
|
-
def
|
|
103
|
+
def measure_cm():
|
|
63
104
|
return (__send_pulse_and_wait() / 2) / 29.1
|
|
64
105
|
|
|
65
106
|
|
|
@@ -83,7 +124,7 @@ def pinmap():
|
|
|
83
124
|
- info which pins to use for this application
|
|
84
125
|
:return dict: pin name (str) - pin value (int) pairs
|
|
85
126
|
"""
|
|
86
|
-
return pinmap_search(['hcsrtrig', 'hcsrecho'])
|
|
127
|
+
return pinmap_search(['hcsrtrig', 'hcsrecho', 'dimmer'])
|
|
87
128
|
|
|
88
129
|
|
|
89
130
|
def help(widgets=False):
|
|
@@ -93,4 +134,6 @@ def help(widgets=False):
|
|
|
93
134
|
(widgets=False) list of functions implemented by this application
|
|
94
135
|
(widgets=True) list of widget json for UI generation
|
|
95
136
|
"""
|
|
96
|
-
return '
|
|
137
|
+
return resolve(('measure_mm', 'TEXTBOX measure_cm', 'deinit', 'pinmap',
|
|
138
|
+
'load', 'start_dimmer_indicator idle_distance=180',
|
|
139
|
+
'[info] HCSR04 Ultrasonic distance sensor'), widgets=widgets)
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import esp32
|
|
2
|
+
from Common import syslog
|
|
2
3
|
|
|
3
4
|
#########################
|
|
4
5
|
# Application functions #
|
|
@@ -17,8 +18,14 @@ def temp():
|
|
|
17
18
|
"""
|
|
18
19
|
Measure CPU temperature
|
|
19
20
|
"""
|
|
21
|
+
try:
|
|
22
|
+
raw_temp = esp32.raw_temperature()
|
|
23
|
+
except Exception as e:
|
|
24
|
+
syslog(f"[WARN] cpu temp: {e}")
|
|
25
|
+
return {'CPU temp [C]': -1.0}
|
|
20
26
|
# read the internal temperature of the MCU, in Farenheit
|
|
21
|
-
|
|
27
|
+
cpu_temp = round((raw_temp - 32) / 1.8, 1)
|
|
28
|
+
return {'CPU temp [C]': cpu_temp}
|
|
22
29
|
|
|
23
30
|
|
|
24
31
|
def touch(triglvl=300):
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
from microIO import resolve_pin, pinmap_search
|
|
2
|
+
from Types import resolve
|
|
3
|
+
from machine import Pin, PWM
|
|
4
|
+
from utime import sleep_ms
|
|
5
|
+
|
|
6
|
+
class Haptic:
|
|
7
|
+
HAPTIC_OBJ = None
|
|
8
|
+
# Haptic vibration motor settings
|
|
9
|
+
LOW = 700
|
|
10
|
+
HIGH = 1000
|
|
11
|
+
STOP = 0
|
|
12
|
+
WAIT_TO_STOP_MS = 100
|
|
13
|
+
INTENSITY = "low"
|
|
14
|
+
|
|
15
|
+
def load(intensity=None):
|
|
16
|
+
"""
|
|
17
|
+
Init haptic engine
|
|
18
|
+
:param intensity: low / high / None haptic feedback intensity
|
|
19
|
+
"""
|
|
20
|
+
if Haptic.HAPTIC_OBJ is None:
|
|
21
|
+
dimmer_pin = Pin(resolve_pin('haptic'))
|
|
22
|
+
Haptic.HAPTIC_OBJ = PWM(dimmer_pin, freq=20480)
|
|
23
|
+
Haptic.HAPTIC_OBJ.duty(0)
|
|
24
|
+
if intensity in ("high", "low"):
|
|
25
|
+
Haptic.INTENSITY = intensity
|
|
26
|
+
return Haptic.HAPTIC_OBJ
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def tap():
|
|
30
|
+
"""
|
|
31
|
+
Tap - buzz effect
|
|
32
|
+
"""
|
|
33
|
+
haptic = load()
|
|
34
|
+
if Haptic.INTENSITY == "low":
|
|
35
|
+
haptic.duty(Haptic.LOW)
|
|
36
|
+
sleep_ms(150)
|
|
37
|
+
haptic.duty(Haptic.STOP)
|
|
38
|
+
return "Tap: low"
|
|
39
|
+
if Haptic.INTENSITY == "high":
|
|
40
|
+
haptic.duty(Haptic.HIGH)
|
|
41
|
+
sleep_ms(150)
|
|
42
|
+
haptic.duty(Haptic.STOP)
|
|
43
|
+
return "Tap: high"
|
|
44
|
+
|
|
45
|
+
def gen(intensity=Haptic.LOW, wait=200, stop_wait=100, repeat=2):
|
|
46
|
+
"""
|
|
47
|
+
Generate effect
|
|
48
|
+
:param intensity: 600-1000
|
|
49
|
+
:param wait: wait after intensity was set [ms]
|
|
50
|
+
:param stop_wait: wait for top the motor [ms]
|
|
51
|
+
:param repeat: repeat cycle
|
|
52
|
+
"""
|
|
53
|
+
haptic = load()
|
|
54
|
+
for _ in range(repeat):
|
|
55
|
+
# Wait to run
|
|
56
|
+
haptic.duty(intensity)
|
|
57
|
+
sleep_ms(wait)
|
|
58
|
+
# Wait to stop
|
|
59
|
+
haptic.duty(0)
|
|
60
|
+
sleep_ms(stop_wait)
|
|
61
|
+
haptic.duty(0)
|
|
62
|
+
return f"finished: {(wait+stop_wait)*repeat}ms:{intensity}:{wait}:{repeat}"
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
def effect1():
|
|
66
|
+
haptic = load()
|
|
67
|
+
haptic.duty(Haptic.HIGH)
|
|
68
|
+
sleep_ms(150)
|
|
69
|
+
haptic.duty(Haptic.LOW)
|
|
70
|
+
sleep_ms(100)
|
|
71
|
+
haptic.duty(Haptic.HIGH)
|
|
72
|
+
sleep_ms(100)
|
|
73
|
+
haptic.duty(Haptic.STOP)
|
|
74
|
+
return "finished: 350ms"
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
def effect2():
|
|
78
|
+
haptic = load()
|
|
79
|
+
haptic.duty(Haptic.HIGH)
|
|
80
|
+
sleep_ms(150)
|
|
81
|
+
for i in range(Haptic.HIGH, 300, -100):
|
|
82
|
+
haptic.duty(i)
|
|
83
|
+
sleep_ms(50)
|
|
84
|
+
haptic.duty(Haptic.STOP)
|
|
85
|
+
return "finished: 400ms"
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
def deinit():
|
|
89
|
+
Haptic.HAPTIC_OBJ.deinit()
|
|
90
|
+
Haptic.HAPTIC_OBJ = None
|
|
91
|
+
return "Deinited"
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
def pinmap():
|
|
95
|
+
"""
|
|
96
|
+
[i] micrOS LM naming convention
|
|
97
|
+
Shows logical pins - pin number(s) used by this Load module
|
|
98
|
+
- info which pins to use for this application
|
|
99
|
+
:return dict: pin name (str) - pin value (int) pairs
|
|
100
|
+
"""
|
|
101
|
+
return pinmap_search('haptic')
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
def help(widgets=False):
|
|
105
|
+
return resolve(("load intensity='low/high'/None",
|
|
106
|
+
"BUTTON tap",
|
|
107
|
+
"BUTTON effect1",
|
|
108
|
+
"BUTTON effect2",
|
|
109
|
+
"gen max=<600-1000> wait=200 stop_wait=100 repeat=2",
|
|
110
|
+
"deinit",
|
|
111
|
+
"pinmap"), widgets=widgets)
|
|
@@ -16,10 +16,26 @@ def scan():
|
|
|
16
16
|
I2C scan function - experimental
|
|
17
17
|
:return list: list of devices
|
|
18
18
|
"""
|
|
19
|
-
|
|
20
|
-
return
|
|
19
|
+
devices = [ hex(device) for device in __init().scan() ]
|
|
20
|
+
return devices
|
|
21
21
|
|
|
22
22
|
|
|
23
|
+
def discover():
|
|
24
|
+
"""
|
|
25
|
+
Discover devices
|
|
26
|
+
"""
|
|
27
|
+
known_addresses = {hex(0x0A): "trackball", hex(0x3c): "oled",
|
|
28
|
+
hex(0x76): "bme280", hex(0x10): 'veml7700'}
|
|
29
|
+
devices = scan()
|
|
30
|
+
output = {"unknown": []}
|
|
31
|
+
for k in devices:
|
|
32
|
+
if k in known_addresses:
|
|
33
|
+
device_name = known_addresses[k]
|
|
34
|
+
output[device_name] = k
|
|
35
|
+
else:
|
|
36
|
+
output["unknown"].append(k)
|
|
37
|
+
return output
|
|
38
|
+
|
|
23
39
|
#######################
|
|
24
40
|
# LM helper functions #
|
|
25
41
|
#######################
|
|
@@ -41,4 +57,4 @@ def help(widgets=False):
|
|
|
41
57
|
(widgets=False) list of functions implemented by this application
|
|
42
58
|
(widgets=True) list of widget json for UI generation
|
|
43
59
|
"""
|
|
44
|
-
return 'scan', 'pinmap'
|
|
60
|
+
return 'scan', 'discover', 'pinmap'
|
|
@@ -588,6 +588,6 @@ def help(widgets=False):
|
|
|
588
588
|
'draw',
|
|
589
589
|
'BUTTON control cmd=<prev,press,next,on,off>',
|
|
590
590
|
'msgbox "msg"',
|
|
591
|
-
'intercon_genpage "host
|
|
591
|
+
'intercon_genpage "host cmd" run=False',
|
|
592
592
|
'cmd_genpage "cmd" run=False',
|
|
593
593
|
'pinmap'), widgets=widgets)
|