micrOSDevToolKit 2.9.1__py3-none-any.whl → 2.26.1__py3-none-any.whl
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.
- env/driver_cp210x/macOS_VCP_Driver/SiLabsUSBDriverDisk.dmg +0 -0
- env/driver_cp210x/macOS_VCP_Driver/macOS_VCP_Driver_Release_Notes.txt +17 -1
- micrOS/micropython/esp32-20251209-v1.27.0.bin +0 -0
- micrOS/micropython/esp32c3-20251209-v1.27.0.bin +0 -0
- micrOS/micropython/esp32c6-20251209-v1.27.0.bin +0 -0
- micrOS/micropython/esp32s2-20251209-v1.27.0.bin +0 -0
- micrOS/micropython/esp32s2-LOLIN_MINI-20251209-v1.27.0.bin +0 -0
- micrOS/micropython/{esp32s3-20241129-v1.24.1.bin → esp32s3-4MBflash-20241129-v1.24.1.bin} +0 -0
- micrOS/micropython/esp32s3-8MBflash-20251209-v1.27.0.bin +0 -0
- micrOS/micropython/esp32s3_spiram_oct-20251209-v1.27.0.bin +0 -0
- micrOS/micropython/rpi-pico-w-20251209-v1.27.0.uf2 +0 -0
- micrOS/micropython/tinypico-20251209-v1.27.0.bin +0 -0
- micrOS/release_info/micrOS_ReleaseInfo/system_analysis_sum.json +167 -163
- micrOS/source/Auth.py +37 -0
- micrOS/source/Common.py +361 -116
- micrOS/source/Config.py +32 -22
- micrOS/source/Debug.py +50 -94
- micrOS/source/Espnow.py +377 -100
- micrOS/source/Files.py +207 -0
- micrOS/source/Hooks.py +48 -20
- micrOS/source/InterConnect.py +126 -42
- micrOS/source/Interrupts.py +6 -6
- micrOS/source/Logger.py +63 -26
- micrOS/source/Network.py +41 -21
- micrOS/source/Notify.py +48 -22
- micrOS/source/Pacman.py +326 -0
- micrOS/source/Scheduler.py +14 -54
- micrOS/source/Server.py +67 -69
- micrOS/source/Shell.py +99 -91
- micrOS/source/Tasks.py +141 -95
- micrOS/source/Time.py +19 -18
- micrOS/source/Types.py +53 -9
- micrOS/source/Web.py +381 -76
- micrOS/source/__pycache__/Common.cpython-312.pyc +0 -0
- micrOS/source/__pycache__/Debug.cpython-312.pyc +0 -0
- micrOS/source/__pycache__/Files.cpython-312.pyc +0 -0
- micrOS/source/__pycache__/Logger.cpython-312.pyc +0 -0
- micrOS/source/__pycache__/Scheduler.cpython-312.pyc +0 -0
- micrOS/source/__pycache__/Server.cpython-312.pyc +0 -0
- micrOS/source/__pycache__/Shell.cpython-312.pyc +0 -0
- micrOS/source/__pycache__/replhelper.cpython-312.pyc +0 -0
- micrOS/source/config/_git.keep +0 -0
- micrOS/source/helpers.py +132 -0
- micrOS/source/micrOS.py +17 -7
- micrOS/source/micrOSloader.py +5 -12
- micrOS/source/microIO.py +44 -20
- micrOS/source/modules/IO_esp32c6.py +38 -0
- micrOS/source/{IO_esp32s3.py → modules/IO_esp32s3.py} +37 -1
- micrOS/source/{IO_m5stamp.py → modules/IO_m5stamp.py} +35 -1
- micrOS/source/{IO_qtpy.py → modules/IO_qtpy.py} +22 -17
- micrOS/source/{IO_tinypico.py → modules/IO_tinypico.py} +38 -0
- micrOS/source/modules/LM_L298N.py +161 -0
- {toolkit/workspace/precompiled → micrOS/source/modules}/LM_L9110_DCmotor.py +3 -3
- micrOS/source/{LM_OV2640.py → modules/LM_OV2640.py} +45 -27
- micrOS/source/{LM_VL53L0X.py → modules/LM_VL53L0X.py} +3 -3
- micrOS/source/{LM_aht10.py → modules/LM_aht10.py} +2 -2
- micrOS/source/{LM_bme280.py → modules/LM_bme280.py} +3 -3
- micrOS/source/{LM_buzzer.py → modules/LM_buzzer.py} +18 -25
- micrOS/source/{LM_cct.py → modules/LM_cct.py} +17 -21
- micrOS/source/modules/LM_cluster.py +255 -0
- micrOS/source/{LM_co2.py → modules/LM_co2.py} +3 -3
- micrOS/source/{LM_dht11.py → modules/LM_dht11.py} +2 -2
- micrOS/source/{LM_dht22.py → modules/LM_dht22.py} +2 -2
- micrOS/source/{LM_dimmer.py → modules/LM_dimmer.py} +9 -9
- micrOS/source/{LM_distance.py → modules/LM_distance.py} +4 -6
- micrOS/source/{LM_ds18.py → modules/LM_ds18.py} +2 -2
- micrOS/source/{LM_esp32.py → modules/LM_esp32.py} +5 -0
- micrOS/source/modules/LM_espnow.py +53 -0
- micrOS/source/modules/LM_fileserver.py +265 -0
- micrOS/source/{LM_genIO.py → modules/LM_genIO.py} +52 -37
- micrOS/source/{LM_haptic.py → modules/LM_haptic.py} +2 -2
- {toolkit/workspace/precompiled → micrOS/source/modules}/LM_i2c.py +5 -4
- micrOS/source/{LM_i2s_mic.py → modules/LM_i2s_mic.py} +6 -7
- micrOS/source/{LM_ld2410.py → modules/LM_ld2410.py} +2 -2
- micrOS/source/{LM_light_sensor.py → modules/LM_light_sensor.py} +10 -21
- micrOS/source/modules/LM_mh_z19c.py +198 -0
- micrOS/source/modules/LM_neoeffects.py +284 -0
- micrOS/source/{LM_neopixel.py → modules/LM_neopixel.py} +19 -23
- micrOS/source/{LM_oled.py → modules/LM_oled.py} +2 -2
- micrOS/source/{LM_oled_sh1106.py → modules/LM_oled_sh1106.py} +3 -3
- micrOS/source/{LM_oled_ui.py → modules/LM_oled_ui.py} +72 -64
- micrOS/source/modules/LM_pacman.py +320 -0
- micrOS/source/{LM_presence.py → modules/LM_presence.py} +11 -15
- micrOS/source/modules/LM_qmi8658.py +204 -0
- micrOS/source/{LM_rencoder.py → modules/LM_rencoder.py} +2 -2
- micrOS/source/{LM_rest.py → modules/LM_rest.py} +4 -6
- micrOS/source/{LM_rgb.py → modules/LM_rgb.py} +21 -29
- micrOS/source/{LM_roboarm.py → modules/LM_roboarm.py} +8 -8
- micrOS/source/modules/LM_robustness.py +137 -0
- micrOS/source/{LM_servo.py → modules/LM_servo.py} +3 -3
- micrOS/source/{LM_stepper.py → modules/LM_stepper.py} +5 -5
- micrOS/source/{LM_switch.py → modules/LM_switch.py} +11 -9
- micrOS/source/{LM_system.py → modules/LM_system.py} +38 -32
- micrOS/source/modules/LM_tcs3472.py +187 -0
- micrOS/source/{LM_telegram.py → modules/LM_telegram.py} +164 -116
- micrOS/source/{LM_trackball.py → modules/LM_trackball.py} +3 -3
- micrOS/source/{LM_veml7700.py → modules/LM_veml7700.py} +2 -2
- micrOS/source/modules/LM_web.py +38 -0
- micrOS/source/urequests.py +39 -15
- {toolkit/workspace/precompiled → micrOS/source/web}/dashboard.html +4 -0
- micrOS/source/web/editor.js +440 -0
- micrOS/source/web/filesui.html +178 -0
- micrOS/source/web/filesui.js +338 -0
- {toolkit/workspace/precompiled → micrOS/source/web}/index.html +44 -2
- micrOS/source/{uapi.js → web/uapi.js} +48 -7
- micrOS/source/{ustyle.css → web/ustyle.css} +6 -3
- micrOS/utests/__init__.py +0 -0
- micrOS/utests/test_scheduler.py +435 -0
- {micrOSDevToolKit-2.9.1.data → microsdevtoolkit-2.26.1.data}/scripts/devToolKit.py +33 -3
- {micrOSDevToolKit-2.9.1.dist-info → microsdevtoolkit-2.26.1.dist-info}/METADATA +327 -268
- microsdevtoolkit-2.26.1.dist-info/RECORD +396 -0
- {micrOSDevToolKit-2.9.1.dist-info → microsdevtoolkit-2.26.1.dist-info}/WHEEL +1 -1
- toolkit/DevEnvCompile.py +63 -33
- toolkit/DevEnvOTA.py +58 -22
- toolkit/DevEnvUSB.py +110 -55
- toolkit/Gateway.py +6 -6
- toolkit/LM_to_compile.dat +6 -4
- toolkit/MicrOSDevEnv.py +127 -57
- toolkit/WebRepl.py +73 -0
- toolkit/dashboard_apps/BackupRestore.py +20 -35
- toolkit/dashboard_apps/CCTDemo.py +12 -17
- toolkit/dashboard_apps/CCTTest.py +20 -24
- toolkit/dashboard_apps/CamStream.py +2 -6
- toolkit/dashboard_apps/CatGame.py +14 -16
- toolkit/dashboard_apps/Dimmer.py +11 -21
- toolkit/dashboard_apps/GetVersion.py +11 -19
- toolkit/dashboard_apps/MicrophoneTest.py +1 -6
- toolkit/dashboard_apps/NeoEffectsDemo.py +22 -35
- toolkit/dashboard_apps/NeopixelTest.py +20 -25
- toolkit/dashboard_apps/PresenceTest.py +2 -8
- toolkit/dashboard_apps/QMI8685_GYRO.py +68 -0
- toolkit/dashboard_apps/RGBTest.py +20 -24
- toolkit/dashboard_apps/RoboArm.py +24 -32
- toolkit/dashboard_apps/SED_test.py +10 -14
- toolkit/dashboard_apps/SensorsTest.py +61 -0
- toolkit/dashboard_apps/SystemTest.py +202 -105
- toolkit/dashboard_apps/Template_app.py +11 -23
- toolkit/dashboard_apps/_app_base.py +34 -0
- toolkit/dashboard_apps/_gyro_visualizer.py +78 -0
- toolkit/dashboard_apps/uLightDemo.py +15 -24
- toolkit/index.html +4 -4
- toolkit/lib/LocalMachine.py +6 -1
- toolkit/lib/MicrosFiles.py +46 -0
- toolkit/lib/Repository.py +64 -0
- toolkit/lib/TerminalColors.py +4 -0
- toolkit/lib/macroScript.py +6 -0
- toolkit/lib/micrOSClient.py +123 -50
- toolkit/lib/micrOSClientHistory.py +156 -0
- toolkit/lib/pip_package_installer.py +5 -2
- toolkit/micrOSdashboard.py +12 -17
- toolkit/micrOSlint.py +20 -8
- toolkit/simulator_lib/__pycache__/IO_darwin.cpython-312.pyc +0 -0
- toolkit/simulator_lib/__pycache__/aioespnow.cpython-312.pyc +0 -0
- toolkit/simulator_lib/__pycache__/framebuf.cpython-312.pyc +0 -0
- toolkit/simulator_lib/__pycache__/machine.cpython-312.pyc +0 -0
- toolkit/simulator_lib/__pycache__/micropython.cpython-312.pyc +0 -0
- toolkit/simulator_lib/__pycache__/mip.cpython-312.pyc +0 -0
- toolkit/simulator_lib/__pycache__/neopixel.cpython-312.pyc +0 -0
- toolkit/simulator_lib/__pycache__/network.cpython-312.pyc +0 -0
- toolkit/simulator_lib/__pycache__/sim_common.cpython-312.pyc +0 -0
- toolkit/simulator_lib/__pycache__/simgc.cpython-312.pyc +0 -0
- toolkit/simulator_lib/__pycache__/simulator.cpython-312.pyc +0 -0
- toolkit/simulator_lib/__pycache__/uasyncio.cpython-312.pyc +0 -0
- toolkit/simulator_lib/__pycache__/uos.cpython-312.pyc +0 -0
- toolkit/simulator_lib/__pycache__/urandom.cpython-312.pyc +0 -0
- toolkit/simulator_lib/__pycache__/usocket.cpython-312.pyc +0 -0
- toolkit/simulator_lib/__pycache__/ussl.cpython-312.pyc +0 -0
- toolkit/simulator_lib/aioespnow.py +28 -0
- toolkit/simulator_lib/dht.py +1 -1
- toolkit/simulator_lib/framebuf.py +49 -1
- toolkit/simulator_lib/machine.py +17 -2
- toolkit/simulator_lib/micropython.py +3 -3
- toolkit/simulator_lib/mip.py +165 -0
- toolkit/simulator_lib/neopixel.py +3 -2
- toolkit/simulator_lib/network.py +2 -1
- toolkit/simulator_lib/node_config.json +2 -3
- toolkit/simulator_lib/ntptime.py +1 -1
- toolkit/simulator_lib/{sim_console.py → sim_common.py} +2 -3
- toolkit/simulator_lib/simgc.py +6 -2
- toolkit/simulator_lib/simulator.py +137 -59
- toolkit/simulator_lib/uasyncio.py +33 -2
- toolkit/simulator_lib/uos.py +147 -0
- toolkit/simulator_lib/urandom.py +4 -0
- toolkit/socketClient.py +43 -23
- toolkit/user_data/webhooks/generic.py +1 -1
- toolkit/user_data/webhooks/macro.py +1 -1
- toolkit/user_data/webhooks/template.py +1 -1
- toolkit/workspace/precompiled/Auth.mpy +0 -0
- toolkit/workspace/precompiled/Common.mpy +0 -0
- toolkit/workspace/precompiled/Config.mpy +0 -0
- toolkit/workspace/precompiled/Debug.mpy +0 -0
- toolkit/workspace/precompiled/Espnow.mpy +0 -0
- toolkit/workspace/precompiled/Files.mpy +0 -0
- toolkit/workspace/precompiled/Hooks.mpy +0 -0
- toolkit/workspace/precompiled/InterConnect.mpy +0 -0
- toolkit/workspace/precompiled/Interrupts.mpy +0 -0
- toolkit/workspace/precompiled/Logger.mpy +0 -0
- toolkit/workspace/precompiled/Network.mpy +0 -0
- toolkit/workspace/precompiled/Notify.mpy +0 -0
- toolkit/workspace/precompiled/Pacman.mpy +0 -0
- toolkit/workspace/precompiled/Scheduler.mpy +0 -0
- toolkit/workspace/precompiled/Server.mpy +0 -0
- toolkit/workspace/precompiled/Shell.mpy +0 -0
- toolkit/workspace/precompiled/Tasks.mpy +0 -0
- toolkit/workspace/precompiled/Time.mpy +0 -0
- toolkit/workspace/precompiled/Types.mpy +0 -0
- toolkit/workspace/precompiled/Web.mpy +0 -0
- toolkit/workspace/precompiled/_mpy.version +1 -1
- toolkit/workspace/precompiled/config/_git.keep +0 -0
- toolkit/workspace/precompiled/helpers.mpy +0 -0
- toolkit/workspace/precompiled/micrOS.mpy +0 -0
- toolkit/workspace/precompiled/micrOSloader.mpy +0 -0
- toolkit/workspace/precompiled/microIO.mpy +0 -0
- toolkit/workspace/precompiled/{IO_esp32.mpy → modules/IO_esp32.mpy} +0 -0
- toolkit/workspace/precompiled/{IO_esp32c3.mpy → modules/IO_esp32c3.mpy} +0 -0
- toolkit/workspace/precompiled/modules/IO_esp32c6.mpy +0 -0
- toolkit/workspace/precompiled/{IO_esp32s2.mpy → modules/IO_esp32s2.mpy} +0 -0
- toolkit/workspace/precompiled/modules/IO_esp32s3.mpy +0 -0
- toolkit/workspace/precompiled/modules/IO_m5stamp.mpy +0 -0
- toolkit/workspace/precompiled/modules/IO_qtpy.mpy +0 -0
- toolkit/workspace/precompiled/modules/IO_rp2.mpy +0 -0
- toolkit/workspace/precompiled/modules/IO_tinypico.mpy +0 -0
- toolkit/workspace/precompiled/modules/LM_L298N.mpy +0 -0
- {micrOS/source → toolkit/workspace/precompiled/modules}/LM_L9110_DCmotor.py +3 -3
- toolkit/workspace/precompiled/modules/LM_OV2640.mpy +0 -0
- toolkit/workspace/precompiled/{LM_VL53L0X.py → modules/LM_VL53L0X.py} +3 -3
- toolkit/workspace/precompiled/{LM_aht10.mpy → modules/LM_aht10.mpy} +0 -0
- toolkit/workspace/precompiled/{LM_bme280.mpy → modules/LM_bme280.mpy} +0 -0
- toolkit/workspace/precompiled/{LM_buzzer.mpy → modules/LM_buzzer.mpy} +0 -0
- toolkit/workspace/precompiled/modules/LM_cct.mpy +0 -0
- toolkit/workspace/precompiled/modules/LM_cluster.mpy +0 -0
- toolkit/workspace/precompiled/{LM_co2.mpy → modules/LM_co2.mpy} +0 -0
- toolkit/workspace/precompiled/{LM_dht11.mpy → modules/LM_dht11.mpy} +0 -0
- toolkit/workspace/precompiled/{LM_dht22.mpy → modules/LM_dht22.mpy} +0 -0
- toolkit/workspace/precompiled/modules/LM_dimmer.mpy +0 -0
- toolkit/workspace/precompiled/modules/LM_distance.mpy +0 -0
- toolkit/workspace/precompiled/{LM_ds18.mpy → modules/LM_ds18.mpy} +0 -0
- toolkit/workspace/precompiled/{LM_esp32.py → modules/LM_esp32.py} +5 -0
- toolkit/workspace/precompiled/modules/LM_espnow.py +53 -0
- toolkit/workspace/precompiled/modules/LM_fileserver.mpy +0 -0
- toolkit/workspace/precompiled/{LM_gameOfLife.mpy → modules/LM_gameOfLife.mpy} +0 -0
- toolkit/workspace/precompiled/modules/LM_genIO.mpy +0 -0
- toolkit/workspace/precompiled/{LM_haptic.mpy → modules/LM_haptic.mpy} +0 -0
- {micrOS/source → toolkit/workspace/precompiled/modules}/LM_i2c.py +5 -4
- toolkit/workspace/precompiled/modules/LM_i2s_mic.mpy +0 -0
- toolkit/workspace/precompiled/{LM_ld2410.mpy → modules/LM_ld2410.mpy} +0 -0
- toolkit/workspace/precompiled/modules/LM_light_sensor.mpy +0 -0
- toolkit/workspace/precompiled/modules/LM_mh_z19c.py +198 -0
- toolkit/workspace/precompiled/modules/LM_neoeffects.mpy +0 -0
- toolkit/workspace/precompiled/modules/LM_neopixel.mpy +0 -0
- toolkit/workspace/precompiled/{LM_oled.mpy → modules/LM_oled.mpy} +0 -0
- toolkit/workspace/precompiled/{LM_oled_sh1106.mpy → modules/LM_oled_sh1106.mpy} +0 -0
- toolkit/workspace/precompiled/modules/LM_oled_ui.mpy +0 -0
- toolkit/workspace/precompiled/modules/LM_pacman.mpy +0 -0
- toolkit/workspace/precompiled/modules/LM_presence.mpy +0 -0
- toolkit/workspace/precompiled/modules/LM_qmi8658.py +204 -0
- toolkit/workspace/precompiled/{LM_rencoder.py → modules/LM_rencoder.py} +2 -2
- toolkit/workspace/precompiled/modules/LM_rest.mpy +0 -0
- toolkit/workspace/precompiled/modules/LM_rgb.mpy +0 -0
- toolkit/workspace/precompiled/{LM_rgbcct.mpy → modules/LM_rgbcct.mpy} +0 -0
- toolkit/workspace/precompiled/modules/LM_roboarm.mpy +0 -0
- toolkit/workspace/precompiled/modules/LM_robustness.py +137 -0
- toolkit/workspace/precompiled/{LM_servo.mpy → modules/LM_servo.mpy} +0 -0
- toolkit/workspace/precompiled/{LM_sound_event.mpy → modules/LM_sound_event.mpy} +0 -0
- toolkit/workspace/precompiled/{LM_stepper.mpy → modules/LM_stepper.mpy} +0 -0
- toolkit/workspace/precompiled/modules/LM_switch.mpy +0 -0
- toolkit/workspace/precompiled/modules/LM_system.mpy +0 -0
- toolkit/workspace/precompiled/modules/LM_tcs3472.py +187 -0
- toolkit/workspace/precompiled/modules/LM_telegram.mpy +0 -0
- toolkit/workspace/precompiled/{LM_tinyrgb.mpy → modules/LM_tinyrgb.mpy} +0 -0
- toolkit/workspace/precompiled/{LM_trackball.mpy → modules/LM_trackball.mpy} +0 -0
- toolkit/workspace/precompiled/{LM_veml7700.mpy → modules/LM_veml7700.mpy} +0 -0
- toolkit/workspace/precompiled/modules/LM_web.mpy +0 -0
- toolkit/workspace/precompiled/urequests.mpy +0 -0
- {micrOS/source → toolkit/workspace/precompiled/web}/dashboard.html +4 -0
- toolkit/workspace/precompiled/web/editor.js +440 -0
- toolkit/workspace/precompiled/web/filesui.html +178 -0
- toolkit/workspace/precompiled/web/filesui.js +338 -0
- {micrOS/source → toolkit/workspace/precompiled/web}/index.html +44 -2
- toolkit/workspace/precompiled/{uapi.js → web/uapi.js} +48 -7
- toolkit/workspace/precompiled/{ustyle.css → web/ustyle.css} +6 -3
- micrOS/micropython/esp32-20241129-v1.24.1.bin +0 -0
- micrOS/micropython/esp32c3-20240222-v1.22.2.bin +0 -0
- micrOS/micropython/esp32s2-20240602-v1.23.0.bin +0 -0
- micrOS/micropython/esp32s2-LOLIN_MINI-20220618-v1.19.1.bin +0 -0
- micrOS/micropython/esp32s2-LOLIN_MINI-20240602-v1.23.0.bin +0 -0
- micrOS/micropython/esp32s3-20240105-v1.22.1.bin +0 -0
- micrOS/micropython/esp32s3_spiram_oct-20231005-v1.21.0.bin +0 -0
- micrOS/micropython/esp32s3_spiram_oct-20241129-v1.24.1.bin +0 -0
- micrOS/micropython/rpi-pico-w-20241129-v1.24.1.uf2 +0 -0
- micrOS/micropython/tinypico-20241129-v1.24.1.bin +0 -0
- micrOS/source/LM_L298N_DCmotor.py +0 -86
- micrOS/source/LM_catgame.py +0 -75
- micrOS/source/LM_dashboard_be.py +0 -37
- micrOS/source/LM_demo.py +0 -97
- micrOS/source/LM_espnow.py +0 -23
- micrOS/source/LM_intercon.py +0 -57
- micrOS/source/LM_keychain.py +0 -322
- micrOS/source/LM_lmpacman.py +0 -126
- micrOS/source/LM_neoeffects.py +0 -331
- micrOS/source/LM_oledui.py +0 -972
- micrOS/source/LM_pet_feeder.py +0 -78
- micrOS/source/LM_ph_sensor.py +0 -51
- micrOS/source/LM_robustness.py +0 -74
- micrOS/source/reset.py +0 -11
- micrOSDevToolKit-2.9.1.dist-info/RECORD +0 -365
- toolkit/dashboard_apps/AirQualityBME280.py +0 -36
- toolkit/dashboard_apps/AirQualityDHT22_CO2.py +0 -36
- toolkit/lib/file_extensions.py +0 -16
- toolkit/simulator_lib/__pycache__/sim_console.cpython-312.pyc +0 -0
- toolkit/simulator_lib/__pycache__/sim_console.cpython-38.pyc +0 -0
- toolkit/simulator_lib/__pycache__/sim_console.cpython-39.pyc +0 -0
- toolkit/workspace/precompiled/IO_esp32s3.mpy +0 -0
- toolkit/workspace/precompiled/IO_m5stamp.mpy +0 -0
- toolkit/workspace/precompiled/IO_qtpy.mpy +0 -0
- toolkit/workspace/precompiled/IO_rp2.mpy +0 -0
- toolkit/workspace/precompiled/IO_tinypico.mpy +0 -0
- toolkit/workspace/precompiled/LM_L298N_DCmotor.mpy +0 -0
- toolkit/workspace/precompiled/LM_OV2640.mpy +0 -0
- toolkit/workspace/precompiled/LM_catgame.py +0 -75
- toolkit/workspace/precompiled/LM_cct.mpy +0 -0
- toolkit/workspace/precompiled/LM_dashboard_be.py +0 -37
- toolkit/workspace/precompiled/LM_demo.py +0 -97
- toolkit/workspace/precompiled/LM_dimmer.mpy +0 -0
- toolkit/workspace/precompiled/LM_distance.mpy +0 -0
- toolkit/workspace/precompiled/LM_espnow.py +0 -23
- toolkit/workspace/precompiled/LM_genIO.mpy +0 -0
- toolkit/workspace/precompiled/LM_i2s_mic.mpy +0 -0
- toolkit/workspace/precompiled/LM_intercon.mpy +0 -0
- toolkit/workspace/precompiled/LM_keychain.mpy +0 -0
- toolkit/workspace/precompiled/LM_light_sensor.mpy +0 -0
- toolkit/workspace/precompiled/LM_lmpacman.mpy +0 -0
- toolkit/workspace/precompiled/LM_neoeffects.mpy +0 -0
- toolkit/workspace/precompiled/LM_neopixel.mpy +0 -0
- toolkit/workspace/precompiled/LM_oled_ui.mpy +0 -0
- toolkit/workspace/precompiled/LM_oledui.mpy +0 -0
- toolkit/workspace/precompiled/LM_pet_feeder.py +0 -78
- toolkit/workspace/precompiled/LM_ph_sensor.py +0 -51
- toolkit/workspace/precompiled/LM_presence.mpy +0 -0
- toolkit/workspace/precompiled/LM_rest.mpy +0 -0
- toolkit/workspace/precompiled/LM_rgb.mpy +0 -0
- toolkit/workspace/precompiled/LM_roboarm.mpy +0 -0
- toolkit/workspace/precompiled/LM_robustness.py +0 -74
- toolkit/workspace/precompiled/LM_switch.mpy +0 -0
- toolkit/workspace/precompiled/LM_system.mpy +0 -0
- toolkit/workspace/precompiled/LM_telegram.mpy +0 -0
- toolkit/workspace/precompiled/node_config.json +0 -1
- toolkit/workspace/precompiled/reset.mpy +0 -0
- /micrOS/source/{IO_esp32.py → modules/IO_esp32.py} +0 -0
- /micrOS/source/{IO_esp32c3.py → modules/IO_esp32c3.py} +0 -0
- /micrOS/source/{IO_esp32s2.py → modules/IO_esp32s2.py} +0 -0
- /micrOS/source/{IO_rp2.py → modules/IO_rp2.py} +0 -0
- /micrOS/source/{LM_gameOfLife.py → modules/LM_gameOfLife.py} +0 -0
- /micrOS/source/{LM_rgbcct.py → modules/LM_rgbcct.py} +0 -0
- /micrOS/source/{LM_rp2w.py → modules/LM_rp2w.py} +0 -0
- /micrOS/source/{LM_sdcard.py → modules/LM_sdcard.py} +0 -0
- /micrOS/source/{LM_sound_event.py → modules/LM_sound_event.py} +0 -0
- /micrOS/source/{LM_tinyrgb.py → modules/LM_tinyrgb.py} +0 -0
- /micrOS/source/{udashboard.js → web/udashboard.js} +0 -0
- /micrOS/source/{uwidgets.js → web/uwidgets.js} +0 -0
- /micrOS/source/{uwidgets_pro.js → web/uwidgets_pro.js} +0 -0
- {micrOSDevToolKit-2.9.1.dist-info → microsdevtoolkit-2.26.1.dist-info/licenses}/LICENSE +0 -0
- {micrOSDevToolKit-2.9.1.dist-info → microsdevtoolkit-2.26.1.dist-info}/top_level.txt +0 -0
- /toolkit/workspace/precompiled/{LM_rp2w.py → modules/LM_rp2w.py} +0 -0
- /toolkit/workspace/precompiled/{LM_sdcard.py → modules/LM_sdcard.py} +0 -0
- /toolkit/workspace/precompiled/{udashboard.js → web/udashboard.js} +0 -0
- /toolkit/workspace/precompiled/{uwidgets.js → web/uwidgets.js} +0 -0
- /toolkit/workspace/precompiled/{uwidgets_pro.js → web/uwidgets_pro.js} +0 -0
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
|
|
3
|
-
import os
|
|
4
|
-
import sys
|
|
5
|
-
import time
|
|
6
|
-
MYPATH = os.path.dirname(os.path.abspath(__file__))
|
|
7
|
-
sys.path.append(os.path.dirname(MYPATH))
|
|
8
|
-
import socketClient
|
|
9
|
-
|
|
10
|
-
# FILL OUT
|
|
11
|
-
DEVICE = 'airquality'
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
def base_cmd():
|
|
15
|
-
return ['--dev', DEVICE]
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
def app(devfid=None):
|
|
19
|
-
global DEVICE
|
|
20
|
-
if devfid is not None:
|
|
21
|
-
DEVICE = devfid
|
|
22
|
-
for k in range(0, 20):
|
|
23
|
-
args = base_cmd() + ['dht22 measure_w_co2']
|
|
24
|
-
try:
|
|
25
|
-
status, answer = socketClient.run(args)
|
|
26
|
-
if status:
|
|
27
|
-
print("|- [{}/20] OK".format(k+1))
|
|
28
|
-
else:
|
|
29
|
-
print("|- [{}/20] ERR".format(k+1))
|
|
30
|
-
time.sleep(3)
|
|
31
|
-
except KeyboardInterrupt:
|
|
32
|
-
break
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
if __name__ == "__main__":
|
|
36
|
-
app()
|
toolkit/lib/file_extensions.py
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
ENABLED_EXTENSIONS = ('py', 'mpy', 'js', 'css', 'html')
|
|
4
|
-
WEB_ONLY = ('js', 'html', 'css')
|
|
5
|
-
|
|
6
|
-
def check_all_extensions(path):
|
|
7
|
-
extension = path.split('.')[-1]
|
|
8
|
-
if extension in ENABLED_EXTENSIONS:
|
|
9
|
-
return True
|
|
10
|
-
return False
|
|
11
|
-
|
|
12
|
-
def check_web_extensions(path):
|
|
13
|
-
extension = path.split('.')[-1]
|
|
14
|
-
if extension in WEB_ONLY:
|
|
15
|
-
return True
|
|
16
|
-
return False
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
from random import randint
|
|
2
|
-
from LM_servo import sduty, deinit, pinmap as pm
|
|
3
|
-
from utime import sleep_ms
|
|
4
|
-
from Types import resolve
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
def load():
|
|
8
|
-
"""
|
|
9
|
-
Initialize catgame-servo module
|
|
10
|
-
"""
|
|
11
|
-
return "catgame-servo module - loaded"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
def game(repeat=10, delta=20):
|
|
15
|
-
"""
|
|
16
|
-
Servo cat toy "mover" - left-right
|
|
17
|
-
:param repeat int: repeat servo pos change
|
|
18
|
-
:param delta int: center(75) +/-delta(35)
|
|
19
|
-
:return str: verdict
|
|
20
|
-
"""
|
|
21
|
-
sduty(75)
|
|
22
|
-
for _ in range(0, repeat):
|
|
23
|
-
sduty(randint(75-delta, 75+delta))
|
|
24
|
-
sleep_ms(randint(20, 1500))
|
|
25
|
-
sduty(75)
|
|
26
|
-
return 'Game action'
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
def live_game(chance=10):
|
|
30
|
-
"""
|
|
31
|
-
Generate game
|
|
32
|
-
:param chance int: percent value 0-100
|
|
33
|
-
:return str: verdict (action / no action)
|
|
34
|
-
"""
|
|
35
|
-
action = randint(1, 10)
|
|
36
|
-
if action <= int(chance/10):
|
|
37
|
-
return game(repeat=5)
|
|
38
|
-
return 'No action'
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
def stop():
|
|
42
|
-
"""
|
|
43
|
-
Stop game - home position (75) + deinit
|
|
44
|
-
:return str: servo verdict
|
|
45
|
-
"""
|
|
46
|
-
out = sduty(75)
|
|
47
|
-
deinit()
|
|
48
|
-
return out
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
#######################
|
|
52
|
-
# LM helper functions #
|
|
53
|
-
#######################
|
|
54
|
-
|
|
55
|
-
def pinmap():
|
|
56
|
-
"""
|
|
57
|
-
[i] micrOS LM naming convention
|
|
58
|
-
Shows logical pins - pin number(s) used by this Load module
|
|
59
|
-
- info which pins to use for this application
|
|
60
|
-
:return dict: pin name (str) - pin value (int) pairs
|
|
61
|
-
"""
|
|
62
|
-
return pm()
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
def help(widgets=False):
|
|
66
|
-
"""
|
|
67
|
-
[i] micrOS LM naming convention - built-in help message
|
|
68
|
-
:return tuple:
|
|
69
|
-
(widgets=False) list of functions implemented by this application
|
|
70
|
-
(widgets=True) list of widget json for UI generation
|
|
71
|
-
"""
|
|
72
|
-
return resolve(('BUTTON game repeat=10',
|
|
73
|
-
'SLIDER live_game chance=<10-90>',
|
|
74
|
-
'BUTTON stop', 'pinmap',
|
|
75
|
-
'load'), widgets=widgets)
|
|
Binary file
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
from Common import web_endpoint, syslog
|
|
2
|
-
|
|
3
|
-
ENDPOINT_INITED = False
|
|
4
|
-
|
|
5
|
-
def load():
|
|
6
|
-
return create_dashboard()
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
def _dashboard_clb():
|
|
10
|
-
try:
|
|
11
|
-
with open('dashboard.html', 'r') as html:
|
|
12
|
-
html_content = html.read()
|
|
13
|
-
return 'text/html', html_content
|
|
14
|
-
except Exception as e:
|
|
15
|
-
syslog(f"[ERR] dashboard_be: {e}")
|
|
16
|
-
html_content = None
|
|
17
|
-
return 'text/plain', f'html_content error: {html_content}'
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
def create_dashboard():
|
|
21
|
-
"""
|
|
22
|
-
Create dashboard endpoint
|
|
23
|
-
"""
|
|
24
|
-
global ENDPOINT_INITED
|
|
25
|
-
ENDPOINT_INITED = True
|
|
26
|
-
web_endpoint('dashboard', _dashboard_clb)
|
|
27
|
-
return 'Endpoint created: /dashboard'
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
def help(widgets=False):
|
|
31
|
-
"""
|
|
32
|
-
[i] micrOS LM naming convention - built-in help message
|
|
33
|
-
:return tuple:
|
|
34
|
-
(widgets=False) list of functions implemented by this application
|
|
35
|
-
(widgets=True) list of widget json for UI generation
|
|
36
|
-
"""
|
|
37
|
-
return 'load', 'create_dashboard', 'help'
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
from random import randint
|
|
2
|
-
from Time import uptime
|
|
3
|
-
from Types import resolve
|
|
4
|
-
from microIO import detect_platform
|
|
5
|
-
from Common import console
|
|
6
|
-
|
|
7
|
-
CNT = 0
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
def _debug(func):
|
|
11
|
-
"""
|
|
12
|
-
Debug wrapper
|
|
13
|
-
- console logging
|
|
14
|
-
- handled cmd counter (exec_info to get the value)
|
|
15
|
-
"""
|
|
16
|
-
def __wrapper(*args, **kwargs):
|
|
17
|
-
global CNT
|
|
18
|
-
CNT += 1
|
|
19
|
-
console("debug module cmd executed") # + Progress LED
|
|
20
|
-
return func(*args, **kwargs)
|
|
21
|
-
return __wrapper
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
def load():
|
|
25
|
-
"""
|
|
26
|
-
Initialize demo module
|
|
27
|
-
"""
|
|
28
|
-
return "demo module - loaded"
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
@_debug
|
|
32
|
-
def hello(name="MrNobody"):
|
|
33
|
-
return f"Hello {name}! This is a micrOS smart endpoint ☁️, running on {detect_platform()}.\
|
|
34
|
-
\nFor more info call `demo links` function :D"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
@_debug
|
|
38
|
-
def calculator(a, b, op="+"):
|
|
39
|
-
if op.strip() == "+":
|
|
40
|
-
return f"{a} + {b} = {a + b}"
|
|
41
|
-
if op.strip() == "-":
|
|
42
|
-
return f"{a} - {b} = {a - b}"
|
|
43
|
-
if op.strip() == "/":
|
|
44
|
-
return f"{a} / {b} = {round(a / b, 3)}"
|
|
45
|
-
if op.strip() == "*":
|
|
46
|
-
return f"{a} * {b} = {a * b}"
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
@_debug
|
|
50
|
-
def dice_cube():
|
|
51
|
-
value = randint(1, 6)
|
|
52
|
-
return f"🎲 {value}"
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
@_debug
|
|
56
|
-
def yes_no():
|
|
57
|
-
val = randint(0, 1)
|
|
58
|
-
return 'NO👎' if val == 0 else 'YES👍'
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
@_debug
|
|
62
|
-
def links():
|
|
63
|
-
descript = f"Platform: {detect_platform()}\nGITHUB: https://github.com/BxNxM/micrOS\nYOUTUBE: https://www.youtube.com/@micrOSframework\nINSTAGRAM: https://instagram.com/micros_framework"
|
|
64
|
-
return descript
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
@_debug
|
|
68
|
-
def source():
|
|
69
|
-
return 'https://github.com/BxNxM/micrOS/blob/master/micrOS/source/LM_demo.py'
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
@_debug
|
|
73
|
-
def exec_info():
|
|
74
|
-
global CNT
|
|
75
|
-
return f"Under {uptime()}: {CNT} cmd served."
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
@_debug
|
|
79
|
-
def help(widgets=False):
|
|
80
|
-
"""
|
|
81
|
-
[i] micrOS LM naming convention - built-in help message
|
|
82
|
-
:return tuple:
|
|
83
|
-
(widgets=False) list of functions implemented by this application
|
|
84
|
-
(widgets=True) list of widget json for UI generation
|
|
85
|
-
"""
|
|
86
|
-
return resolve(('hello name="MrNobody"',
|
|
87
|
-
'calculator a b op="+"',
|
|
88
|
-
'\t=>op: + - / *',
|
|
89
|
-
'BUTTON dice_cube',
|
|
90
|
-
'dice_cube - show number, roll a dice',
|
|
91
|
-
'BUTTON yes_no',
|
|
92
|
-
'yes_no - show random yes/no',
|
|
93
|
-
'links - show micrOS links',
|
|
94
|
-
'source - show demo module source code',
|
|
95
|
-
'TEXTBOX exec_info',
|
|
96
|
-
'exec_info - Execution info, demo module usage',
|
|
97
|
-
'load'), widgets=widgets)
|
|
Binary file
|
|
Binary file
|
|
@@ -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'
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
from LM_servo import sduty, deinit, pinmap as servo_pinmap
|
|
2
|
-
from LM_stepper import step, pinmap as stepper_pinmap
|
|
3
|
-
from Common import micro_task
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class Data:
|
|
7
|
-
TASK_TAG = "pet_feeder.portion"
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
async def __portion_task(portion, posmin, posmax):
|
|
11
|
-
# ASYNC TASK ADAPTER [*2] with automatic state management
|
|
12
|
-
# [micro_task->Task] TaskManager access to task internals (out, done attributes)
|
|
13
|
-
with micro_task(tag=Data.TASK_TAG) as my_task:
|
|
14
|
-
for p in range(0, portion):
|
|
15
|
-
# [1]Run pos fill up
|
|
16
|
-
for pos in range(posmin, posmax):
|
|
17
|
-
sduty(pos)
|
|
18
|
-
await my_task.feed(sleep_ms=15)
|
|
19
|
-
# [2]Wait between fill up / food out
|
|
20
|
-
await my_task.feed(sleep_ms=500)
|
|
21
|
-
# [3]Run pos food out
|
|
22
|
-
for pos in range(posmax, posmin, -1):
|
|
23
|
-
sduty(pos)
|
|
24
|
-
await my_task.feed(sleep_ms=20)
|
|
25
|
-
my_task.out = "{}/{} serving".format(p+1, portion)
|
|
26
|
-
deinit()
|
|
27
|
-
my_task.out += ": {} task done".format(Data.TASK_TAG)
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
def serve(portion=1, posmin=65, posmax=97):
|
|
31
|
-
"""
|
|
32
|
-
Pet feeder - with servo motor
|
|
33
|
-
:param portion: number of portions (min/max positions to repeat)
|
|
34
|
-
:param posmin: servo "start" position
|
|
35
|
-
:param posmax: servo "stop" position
|
|
36
|
-
"""
|
|
37
|
-
# [!] ASYNC TASK CREATION [1*] with async task callback + taskID (TAG) handling
|
|
38
|
-
state = micro_task(tag=Data.TASK_TAG, task=__portion_task(portion=portion, posmin=posmin, posmax=posmax))
|
|
39
|
-
return "Starting" if state else "Already running"
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
def serve_w_stepper(portion=1, forward=135, back=10):
|
|
43
|
-
"""
|
|
44
|
-
Pet feeder (beta) - with stepper motor
|
|
45
|
-
:param count: number of portions
|
|
46
|
-
:param forward: s
|
|
47
|
-
:param back:
|
|
48
|
-
"""
|
|
49
|
-
for _ in range(portion):
|
|
50
|
-
# portion move
|
|
51
|
-
step(forward)
|
|
52
|
-
# Safety anti-block solution?
|
|
53
|
-
step(-back)
|
|
54
|
-
step(back)
|
|
55
|
-
step(-back)
|
|
56
|
-
step(back)
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
def pinmap():
|
|
60
|
-
"""
|
|
61
|
-
[i] micrOS LM naming convention
|
|
62
|
-
Shows logical pins - pin number(s) used by this Load module
|
|
63
|
-
- info which pins to use for this application
|
|
64
|
-
:return dict: pin name (str) - pin value (int) pairs
|
|
65
|
-
"""
|
|
66
|
-
p = servo_pinmap()
|
|
67
|
-
p.update(stepper_pinmap())
|
|
68
|
-
return p
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
def help(widgets=False):
|
|
72
|
-
"""
|
|
73
|
-
[i] micrOS LM naming convention - built-in help message
|
|
74
|
-
:return tuple:
|
|
75
|
-
(widgets=False) list of functions implemented by this application
|
|
76
|
-
(widgets=True) list of widget json for UI generation
|
|
77
|
-
"""
|
|
78
|
-
return 'serve portion=1 \t\t[info] servo control', 'serve_w_stepper portion=1 \t[info] stepper control'
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
from time import sleep
|
|
2
|
-
from microIO import resolve_pin, pinmap_search
|
|
3
|
-
from Common import SmartADC
|
|
4
|
-
|
|
5
|
-
"""
|
|
6
|
-
https://cimpleo.com/blog/simple-arduino-ph-meter/
|
|
7
|
-
ADC.ATTN_0DB — the full range voltage: 1.2V
|
|
8
|
-
ADC.ATTN_2_5DB — the full range voltage: 1.5V
|
|
9
|
-
ADC.ATTN_6DB — the full range voltage: 2.0V
|
|
10
|
-
ADC.ATTN_11DB — the full range voltage: 3.3V
|
|
11
|
-
"""
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
def __measure(samples=10):
|
|
15
|
-
adc_obj = SmartADC.get_instance(resolve_pin('ph'))
|
|
16
|
-
mbuf = 0
|
|
17
|
-
for k in range(0, samples):
|
|
18
|
-
mbuf += adc_obj.get()['volt']
|
|
19
|
-
sleep(0.1)
|
|
20
|
-
voltage = round(mbuf / samples, 3)
|
|
21
|
-
return voltage
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
def measure():
|
|
25
|
-
data = SmartADC.get_instance(resolve_pin('ph')).get()
|
|
26
|
-
return "ADC data: {}\nAVG V: {}".format(data, __measure())
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
#######################
|
|
30
|
-
# LM helper functions #
|
|
31
|
-
#######################
|
|
32
|
-
|
|
33
|
-
def pinmap():
|
|
34
|
-
"""
|
|
35
|
-
[i] micrOS LM naming convention
|
|
36
|
-
Shows logical pins - pin number(s) used by this Load module
|
|
37
|
-
- info which pins to use for this application
|
|
38
|
-
:return dict: pin name (str) - pin value (int) pairs
|
|
39
|
-
"""
|
|
40
|
-
return pinmap_search('ph')
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
def help(widgets=False):
|
|
44
|
-
"""
|
|
45
|
-
[BETA][i] micrOS LM naming convention - built-in help message
|
|
46
|
-
:return tuple:
|
|
47
|
-
(widgets=False) list of functions implemented by this application
|
|
48
|
-
(widgets=True) list of widget json for UI generation
|
|
49
|
-
"""
|
|
50
|
-
return 'measure', 'pinmap'
|
|
51
|
-
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
from LM_system import memory_usage
|
|
2
|
-
from Common import socket_stream, syslog
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
@socket_stream
|
|
6
|
-
def raise_error(msgobj=None):
|
|
7
|
-
"""
|
|
8
|
-
Test function - raise LM exception
|
|
9
|
-
"""
|
|
10
|
-
if msgobj is not None:
|
|
11
|
-
msgobj("Raise test exception")
|
|
12
|
-
syslog('Robustness TeSt ErRoR')
|
|
13
|
-
raise Exception("Test exception")
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
@socket_stream
|
|
17
|
-
def memory_leak(cnt=160, msgobj=None):
|
|
18
|
-
"""
|
|
19
|
-
Test function - allocate lot of memory
|
|
20
|
-
:param cnt: data counter, default 160 iteration
|
|
21
|
-
:return: verdict
|
|
22
|
-
"""
|
|
23
|
-
dict_test = {}
|
|
24
|
-
mem_start = memory_usage()['mem_used']
|
|
25
|
-
for k in range(cnt):
|
|
26
|
-
mem = memory_usage()['percent']
|
|
27
|
-
data = "micrOS memory usage: {} %".format(mem)
|
|
28
|
-
if msgobj is not None:
|
|
29
|
-
msgobj("[{}] gen: {}".format(k, data))
|
|
30
|
-
dict_test[k] = data
|
|
31
|
-
mem_end = memory_usage()['mem_used']
|
|
32
|
-
delta = mem_start - mem_end
|
|
33
|
-
return '[{}] RAM Alloc.: {} kB {} byte'.format(len(dict_test), int(delta / 1024), int(delta % 1024))
|
|
34
|
-
|
|
35
|
-
@socket_stream
|
|
36
|
-
def recursion_limit(limit=14, msgobj=None):
|
|
37
|
-
cnt = 0
|
|
38
|
-
for cnt in range(1, limit+1):
|
|
39
|
-
try:
|
|
40
|
-
_recursion(cnt, msgobj=msgobj)
|
|
41
|
-
except Exception as e:
|
|
42
|
-
msgobj(f"ok error: {e}")
|
|
43
|
-
break
|
|
44
|
-
return f"Recursion limit: {cnt}"
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
def _recursion(cnt, msgobj=None):
|
|
48
|
-
"""
|
|
49
|
-
Test function - recursion test
|
|
50
|
-
:param cnt: recursion depth
|
|
51
|
-
:return: verdict
|
|
52
|
-
Error example:
|
|
53
|
-
node01 $ robustness recursion_limit 15
|
|
54
|
-
lm_exec LM_robustness->recursion_limit: maximum recursion depth exceeded
|
|
55
|
-
"""
|
|
56
|
-
if cnt > 0:
|
|
57
|
-
remain = _recursion(cnt-1)
|
|
58
|
-
if msgobj is not None:
|
|
59
|
-
msgobj("recalled {}".format(cnt))
|
|
60
|
-
else:
|
|
61
|
-
remain = 0
|
|
62
|
-
return remain
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
def help(widgets=False):
|
|
66
|
-
"""
|
|
67
|
-
[i] micrOS LM naming convention - built-in help message
|
|
68
|
-
:return tuple:
|
|
69
|
-
(widgets=False) list of functions implemented by this application
|
|
70
|
-
(widgets=True) list of widget json for UI generation
|
|
71
|
-
"""
|
|
72
|
-
return 'NOTE: This is a test module to validate system robustness', \
|
|
73
|
-
'raise_error', 'memory_leak cnt=160', 'recursion_limit cnt=14'
|
|
74
|
-
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"stapwd": "BNM3,1415", "cron": false, "crontasks": "n/a", "timirq": false, "timirqcbf": "n/a", "irq1": false, "irq1_cbf": "n/a", "irq2": true, "appwd": "ADmin123", "auth": false, "webui": true, "irq2_cbf": "basic_led toggle", "irq2_trig": "n/a", "irq3": false, "irq3_cbf": "n/a", "irq3_trig": "n/a", "irq_prell_ms": 300, "boothook": "types_demo load", "aioqueue": 5, "utc": 60, "boostmd": true, "espnow": false, "irq1_trig": "n/a", "irq4_cbf": "n/a", "guimeta": "...", "devip": "10.0.1.179", "timirqseq": 1000, "cstmpmap": "n/a", "telegram": "n/a", "dbg": true, "hwuid": "micr7c9ebd6147c4OS", "devfid": "TestBird", "staessid": "elektroncsakpozitivan_2G", "soctout": 30, "irq4_trig": "n/a", "irq4": false, "version": "2.8.1-0", "nwmd": "STA", "socport": 9008}
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|