micrOSDevToolKit 2.9.4__tar.gz → 2.9.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of micrOSDevToolKit might be problematic. Click here for more details.

Files changed (387) hide show
  1. {microsdevtoolkit-2.9.4/micrOSDevToolKit.egg-info → microsdevtoolkit-2.9.7}/PKG-INFO +1 -1
  2. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/devToolKit.py +3 -2
  3. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/release_info/micrOS_ReleaseInfo/system_analysis_sum.json +19 -19
  4. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/Config.py +6 -6
  5. microsdevtoolkit-2.9.7/micrOS/source/LM_pacman.py +248 -0
  6. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_rest.py +0 -1
  7. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_robustness.py +2 -2
  8. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_system.py +4 -16
  9. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_telegram.py +95 -61
  10. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/Logger.py +41 -15
  11. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/Notify.py +4 -3
  12. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/Server.py +5 -2
  13. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/Shell.py +2 -2
  14. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/Web.py +22 -23
  15. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/microIO.py +1 -2
  16. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/reset.py +5 -1
  17. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/urequests.py +12 -4
  18. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7/micrOSDevToolKit.egg-info}/PKG-INFO +1 -1
  19. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOSDevToolKit.egg-info/SOURCES.txt +5 -2
  20. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/setup.py +1 -1
  21. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/Gateway.py +2 -2
  22. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/LM_to_compile.dat +1 -1
  23. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/dashboard_apps/SystemTest.py +12 -11
  24. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/index.html +4 -4
  25. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/lib/macroScript.py +6 -0
  26. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/lib/micrOSClient.py +35 -8
  27. microsdevtoolkit-2.9.7/toolkit/lib/micrOSClientHistory.py +122 -0
  28. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/micrOSlint.py +1 -1
  29. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/machine.cpython-312.pyc +0 -0
  30. microsdevtoolkit-2.9.7/toolkit/simulator_lib/__pycache__/uasyncio.cpython-312.pyc +0 -0
  31. microsdevtoolkit-2.9.7/toolkit/simulator_lib/__pycache__/uos.cpython-312.pyc +0 -0
  32. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/ussl.cpython-312.pyc +0 -0
  33. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/machine.py +4 -0
  34. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/node_config.json +1 -1
  35. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/uasyncio.py +7 -1
  36. microsdevtoolkit-2.9.7/toolkit/simulator_lib/uos.py +138 -0
  37. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/socketClient.py +2 -2
  38. microsdevtoolkit-2.9.7/toolkit/workspace/precompiled/Config.mpy +0 -0
  39. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/Espnow.mpy +0 -0
  40. microsdevtoolkit-2.9.7/toolkit/workspace/precompiled/LM_pacman.mpy +0 -0
  41. microsdevtoolkit-2.9.7/toolkit/workspace/precompiled/LM_rest.mpy +0 -0
  42. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_robustness.py +2 -2
  43. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_system.mpy +0 -0
  44. microsdevtoolkit-2.9.7/toolkit/workspace/precompiled/LM_telegram.mpy +0 -0
  45. microsdevtoolkit-2.9.7/toolkit/workspace/precompiled/Logger.mpy +0 -0
  46. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/Notify.mpy +0 -0
  47. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/Server.mpy +0 -0
  48. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/Shell.mpy +0 -0
  49. microsdevtoolkit-2.9.7/toolkit/workspace/precompiled/Web.mpy +0 -0
  50. microsdevtoolkit-2.9.7/toolkit/workspace/precompiled/_mpy.version +1 -0
  51. microsdevtoolkit-2.9.7/toolkit/workspace/precompiled/microIO.mpy +0 -0
  52. microsdevtoolkit-2.9.7/toolkit/workspace/precompiled/node_config.json +1 -0
  53. microsdevtoolkit-2.9.7/toolkit/workspace/precompiled/reset.mpy +0 -0
  54. microsdevtoolkit-2.9.7/toolkit/workspace/precompiled/urequests.mpy +0 -0
  55. microsdevtoolkit-2.9.4/micrOS/source/LM_lmpacman.py +0 -126
  56. microsdevtoolkit-2.9.4/toolkit/simulator_lib/__pycache__/uasyncio.cpython-312.pyc +0 -0
  57. microsdevtoolkit-2.9.4/toolkit/workspace/precompiled/Config.mpy +0 -0
  58. microsdevtoolkit-2.9.4/toolkit/workspace/precompiled/LM_lmpacman.mpy +0 -0
  59. microsdevtoolkit-2.9.4/toolkit/workspace/precompiled/LM_rest.mpy +0 -0
  60. microsdevtoolkit-2.9.4/toolkit/workspace/precompiled/LM_telegram.mpy +0 -0
  61. microsdevtoolkit-2.9.4/toolkit/workspace/precompiled/Logger.mpy +0 -0
  62. microsdevtoolkit-2.9.4/toolkit/workspace/precompiled/Web.mpy +0 -0
  63. microsdevtoolkit-2.9.4/toolkit/workspace/precompiled/_mpy.version +0 -1
  64. microsdevtoolkit-2.9.4/toolkit/workspace/precompiled/microIO.mpy +0 -0
  65. microsdevtoolkit-2.9.4/toolkit/workspace/precompiled/node_config.json +0 -1
  66. microsdevtoolkit-2.9.4/toolkit/workspace/precompiled/reset.mpy +0 -0
  67. microsdevtoolkit-2.9.4/toolkit/workspace/precompiled/urequests.mpy +0 -0
  68. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/LICENSE +0 -0
  69. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/MANIFEST.in +0 -0
  70. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/README.md +0 -0
  71. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/env/__init__.py +0 -0
  72. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/env/driver_cp210x/.DS_Store +0 -0
  73. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x64.exe +0 -0
  74. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x86.exe +0 -0
  75. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210x_Universal_Windows_Driver_ReleaseNotes.txt +0 -0
  76. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/SLAB_License_Agreement_VCP_Windows.txt +0 -0
  77. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm/silabser.sys +0 -0
  78. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm64/silabser.sys +0 -0
  79. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/dpinst.xml +0 -0
  80. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.cat +0 -0
  81. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.inf +0 -0
  82. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x64/silabser.sys +0 -0
  83. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x86/silabser.sys +0 -0
  84. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/env/driver_cp210x/macOS_VCP_Driver/SiLabsUSBDriverDisk.dmg +0 -0
  85. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/env/driver_cp210x/macOS_VCP_Driver/macOS_VCP_Driver_Release_Notes.txt +0 -0
  86. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/media/__init__.py +0 -0
  87. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/media/dnd.png +0 -0
  88. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/media/logo.png +0 -0
  89. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/media/logo_mini.png +0 -0
  90. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/media/usb_port_icon.png +0 -0
  91. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/media/wifi_icon.png +0 -0
  92. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/__init__.py +0 -0
  93. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/micropython/esp32-20241129-v1.24.1.bin +0 -0
  94. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/micropython/esp32c3-20240222-v1.22.2.bin +0 -0
  95. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/micropython/esp32cam-v1.21.0_camera.bin +0 -0
  96. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/micropython/esp32s2-20240602-v1.23.0.bin +0 -0
  97. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/micropython/esp32s2-LOLIN_MINI-20220618-v1.19.1.bin +0 -0
  98. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/micropython/esp32s2-LOLIN_MINI-20240602-v1.23.0.bin +0 -0
  99. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/micropython/esp32s3-20240105-v1.22.1.bin +0 -0
  100. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/micropython/esp32s3-20241129-v1.24.1.bin +0 -0
  101. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/micropython/esp32s3_spiram_oct-20231005-v1.21.0.bin +0 -0
  102. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/micropython/esp32s3_spiram_oct-20241129-v1.24.1.bin +0 -0
  103. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/micropython/rpi-pico-w-20241129-v1.24.1.uf2 +0 -0
  104. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/micropython/tinypico-20241129-v1.24.1.bin +0 -0
  105. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/.DS_Store +0 -0
  106. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/Common.py +0 -0
  107. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/Debug.py +0 -0
  108. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/Espnow.py +0 -0
  109. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/Hooks.py +0 -0
  110. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/IO_esp32.py +0 -0
  111. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/IO_esp32c3.py +0 -0
  112. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/IO_esp32s2.py +0 -0
  113. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/IO_esp32s3.py +0 -0
  114. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/IO_m5stamp.py +0 -0
  115. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/IO_qtpy.py +0 -0
  116. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/IO_rp2.py +0 -0
  117. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/IO_tinypico.py +0 -0
  118. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/InterConnect.py +0 -0
  119. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/Interrupts.py +0 -0
  120. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_L298N_DCmotor.py +0 -0
  121. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_L9110_DCmotor.py +0 -0
  122. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_OV2640.py +0 -0
  123. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_VL53L0X.py +0 -0
  124. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_aht10.py +0 -0
  125. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_bme280.py +0 -0
  126. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_buzzer.py +0 -0
  127. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_catgame.py +0 -0
  128. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_cct.py +0 -0
  129. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_co2.py +0 -0
  130. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_dashboard_be.py +0 -0
  131. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_demo.py +0 -0
  132. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_dht11.py +0 -0
  133. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_dht22.py +0 -0
  134. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_dimmer.py +0 -0
  135. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_distance.py +0 -0
  136. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_ds18.py +0 -0
  137. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_esp32.py +0 -0
  138. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_espnow.py +0 -0
  139. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_gameOfLife.py +0 -0
  140. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_genIO.py +0 -0
  141. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_haptic.py +0 -0
  142. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_i2c.py +0 -0
  143. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_i2s_mic.py +0 -0
  144. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_intercon.py +0 -0
  145. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_keychain.py +0 -0
  146. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_ld2410.py +0 -0
  147. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_light_sensor.py +0 -0
  148. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_neoeffects.py +0 -0
  149. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_neopixel.py +0 -0
  150. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_oled.py +0 -0
  151. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_oled_sh1106.py +0 -0
  152. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_oled_ui.py +0 -0
  153. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_oledui.py +0 -0
  154. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_pet_feeder.py +0 -0
  155. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_ph_sensor.py +0 -0
  156. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_presence.py +0 -0
  157. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_rencoder.py +0 -0
  158. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_rgb.py +0 -0
  159. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_rgbcct.py +0 -0
  160. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_roboarm.py +0 -0
  161. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_rp2w.py +0 -0
  162. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_sdcard.py +0 -0
  163. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_servo.py +0 -0
  164. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_sound_event.py +0 -0
  165. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_stepper.py +0 -0
  166. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_switch.py +0 -0
  167. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_tinyrgb.py +0 -0
  168. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_trackball.py +0 -0
  169. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/LM_veml7700.py +0 -0
  170. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/Network.py +0 -0
  171. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/Scheduler.py +0 -0
  172. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/Tasks.py +0 -0
  173. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/Time.py +0 -0
  174. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/Types.py +0 -0
  175. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/dashboard.html +0 -0
  176. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/index.html +0 -0
  177. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/main.py +0 -0
  178. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/micrOS.py +0 -0
  179. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/micrOSloader.py +0 -0
  180. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/uapi.js +0 -0
  181. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/udashboard.js +0 -0
  182. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/ustyle.css +0 -0
  183. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/uwidgets.js +0 -0
  184. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOS/source/uwidgets_pro.js +0 -0
  185. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOSDevToolKit.egg-info/dependency_links.txt +0 -0
  186. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOSDevToolKit.egg-info/requires.txt +0 -0
  187. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/micrOSDevToolKit.egg-info/top_level.txt +0 -0
  188. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/setup.cfg +0 -0
  189. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/DevEnvCompile.py +0 -0
  190. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/DevEnvOTA.py +0 -0
  191. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/DevEnvUSB.py +0 -0
  192. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/MicrOSDevEnv.py +0 -0
  193. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/__init__.py +0 -0
  194. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/dashboard_apps/AirQualityBME280.py +0 -0
  195. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/dashboard_apps/AirQualityDHT22_CO2.py +0 -0
  196. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/dashboard_apps/BackupRestore.py +0 -0
  197. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/dashboard_apps/CCTDemo.py +0 -0
  198. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/dashboard_apps/CCTTest.py +0 -0
  199. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/dashboard_apps/CamStream.py +0 -0
  200. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/dashboard_apps/CatGame.py +0 -0
  201. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/dashboard_apps/Dimmer.py +0 -0
  202. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/dashboard_apps/GetVersion.py +0 -0
  203. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/dashboard_apps/MicrophoneTest.py +0 -0
  204. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/dashboard_apps/NeoEffectsDemo.py +0 -0
  205. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/dashboard_apps/NeopixelTest.py +0 -0
  206. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/dashboard_apps/PresenceTest.py +0 -0
  207. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/dashboard_apps/RGBTest.py +0 -0
  208. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/dashboard_apps/RoboArm.py +0 -0
  209. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/dashboard_apps/SED_test.py +0 -0
  210. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/dashboard_apps/Template_app.py +0 -0
  211. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/dashboard_apps/__init__.py +0 -0
  212. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/dashboard_apps/_capture.py +0 -0
  213. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/dashboard_apps/_micPlotting.py +0 -0
  214. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/dashboard_apps/_presencePlotting.py +0 -0
  215. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/dashboard_apps/uLightDemo.py +0 -0
  216. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/img_stream.html +0 -0
  217. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/lib/LocalMachine.py +0 -0
  218. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/lib/SafeInput.py +0 -0
  219. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/lib/SearchDevices.py +0 -0
  220. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/lib/SerialDriverHandler.py +0 -0
  221. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/lib/TerminalColors.py +0 -0
  222. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/lib/__init__.py +0 -0
  223. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/lib/file_extensions.py +0 -0
  224. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/lib/pip_package_installer.py +0 -0
  225. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/micrOSdashboard.py +0 -0
  226. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/.DS_Store +0 -0
  227. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/IO_darwin.py +0 -0
  228. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/IO_darwin.cpython-312.pyc +0 -0
  229. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/camera.cpython-312.pyc +0 -0
  230. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/dht.cpython-312.pyc +0 -0
  231. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/dht.cpython-39.pyc +0 -0
  232. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/dotstar.cpython-312.pyc +0 -0
  233. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/dotstar.cpython-38.pyc +0 -0
  234. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/dotstar.cpython-39.pyc +0 -0
  235. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-312.pyc +0 -0
  236. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-38.pyc +0 -0
  237. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-39.pyc +0 -0
  238. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/esp32.cpython-312.pyc +0 -0
  239. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/esp32.cpython-38.pyc +0 -0
  240. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/esp32.cpython-39.pyc +0 -0
  241. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/framebuf.cpython-312.pyc +0 -0
  242. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/framebuf.cpython-38.pyc +0 -0
  243. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/framebuf.cpython-39.pyc +0 -0
  244. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/machine.cpython-38.pyc +0 -0
  245. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/machine.cpython-39.pyc +0 -0
  246. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/micropython.cpython-312.pyc +0 -0
  247. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/micropython.cpython-38.pyc +0 -0
  248. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/micropython.cpython-39.pyc +0 -0
  249. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/neopixel.cpython-312.pyc +0 -0
  250. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/neopixel.cpython-38.pyc +0 -0
  251. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/neopixel.cpython-39.pyc +0 -0
  252. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/network.cpython-312.pyc +0 -0
  253. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/network.cpython-38.pyc +0 -0
  254. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/network.cpython-39.pyc +0 -0
  255. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/ntptime.cpython-312.pyc +0 -0
  256. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/onewire.cpython-312.pyc +0 -0
  257. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/onewire.cpython-38.pyc +0 -0
  258. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/onewire.cpython-39.pyc +0 -0
  259. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/sim_console.cpython-312.pyc +0 -0
  260. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/sim_console.cpython-38.pyc +0 -0
  261. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/sim_console.cpython-39.pyc +0 -0
  262. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/simgc.cpython-312.pyc +0 -0
  263. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/simgc.cpython-38.pyc +0 -0
  264. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/simgc.cpython-39.pyc +0 -0
  265. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/simulator.cpython-312.pyc +0 -0
  266. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/simulator.cpython-38.pyc +0 -0
  267. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/simulator.cpython-39.pyc +0 -0
  268. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/tinypico.cpython-312.pyc +0 -0
  269. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/tinypico.cpython-38.pyc +0 -0
  270. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/tinypico.cpython-39.pyc +0 -0
  271. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-38.pyc +0 -0
  272. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-39.pyc +0 -0
  273. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/usocket.cpython-312.pyc +0 -0
  274. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/ustruct.cpython-312.pyc +0 -0
  275. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/ustruct.cpython-39.pyc +0 -0
  276. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/utime.cpython-312.pyc +0 -0
  277. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/utime.cpython-38.pyc +0 -0
  278. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/utime.cpython-39.pyc +0 -0
  279. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/webrepl.cpython-312.pyc +0 -0
  280. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/webrepl.cpython-38.pyc +0 -0
  281. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/__pycache__/webrepl.cpython-39.pyc +0 -0
  282. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/camera.py +0 -0
  283. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/dht.py +0 -0
  284. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/dotstar.py +0 -0
  285. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/ds18x20.py +0 -0
  286. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/esp32.py +0 -0
  287. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/framebuf.py +0 -0
  288. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/micropython.py +0 -0
  289. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/neopixel.py +0 -0
  290. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/network.py +0 -0
  291. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/ntptime.py +0 -0
  292. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/onewire.py +0 -0
  293. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/sim_console.py +0 -0
  294. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/simgc.py +0 -0
  295. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/simulator.py +0 -0
  296. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/tinypico.py +0 -0
  297. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/usocket.py +0 -0
  298. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/ussl.py +0 -0
  299. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/ustruct.py +0 -0
  300. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/utime.py +0 -0
  301. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/view01.jpg +0 -0
  302. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/view02.jpg +0 -0
  303. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/simulator_lib/webrepl.py +0 -0
  304. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/user_data/.include +0 -0
  305. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/user_data/webhooks/generic.py +0 -0
  306. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/user_data/webhooks/macro.py +0 -0
  307. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/user_data/webhooks/template.macro +0 -0
  308. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/user_data/webhooks/template.py +0 -0
  309. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/__init__.py +0 -0
  310. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/Common.mpy +0 -0
  311. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/Debug.mpy +0 -0
  312. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/Hooks.mpy +0 -0
  313. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/IO_esp32.mpy +0 -0
  314. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/IO_esp32c3.mpy +0 -0
  315. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/IO_esp32s2.mpy +0 -0
  316. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/IO_esp32s3.mpy +0 -0
  317. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/IO_m5stamp.mpy +0 -0
  318. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/IO_qtpy.mpy +0 -0
  319. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/IO_rp2.mpy +0 -0
  320. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/IO_tinypico.mpy +0 -0
  321. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/InterConnect.mpy +0 -0
  322. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/Interrupts.mpy +0 -0
  323. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_L298N_DCmotor.mpy +0 -0
  324. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_L9110_DCmotor.py +0 -0
  325. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_OV2640.mpy +0 -0
  326. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_VL53L0X.py +0 -0
  327. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_aht10.mpy +0 -0
  328. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_bme280.mpy +0 -0
  329. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_buzzer.mpy +0 -0
  330. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_catgame.py +0 -0
  331. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_cct.mpy +0 -0
  332. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_co2.mpy +0 -0
  333. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_dashboard_be.py +0 -0
  334. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_demo.py +0 -0
  335. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_dht11.mpy +0 -0
  336. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_dht22.mpy +0 -0
  337. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_dimmer.mpy +0 -0
  338. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_distance.mpy +0 -0
  339. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_ds18.mpy +0 -0
  340. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_esp32.py +0 -0
  341. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_espnow.py +0 -0
  342. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_gameOfLife.mpy +0 -0
  343. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_genIO.mpy +0 -0
  344. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_haptic.mpy +0 -0
  345. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_i2c.py +0 -0
  346. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_i2s_mic.mpy +0 -0
  347. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_intercon.mpy +0 -0
  348. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_keychain.mpy +0 -0
  349. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_ld2410.mpy +0 -0
  350. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_light_sensor.mpy +0 -0
  351. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_neoeffects.mpy +0 -0
  352. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_neopixel.mpy +0 -0
  353. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_oled.mpy +0 -0
  354. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_oled_sh1106.mpy +0 -0
  355. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_oled_ui.mpy +0 -0
  356. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_oledui.mpy +0 -0
  357. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_pet_feeder.py +0 -0
  358. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_ph_sensor.py +0 -0
  359. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_presence.mpy +0 -0
  360. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_rencoder.py +0 -0
  361. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_rgb.mpy +0 -0
  362. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_rgbcct.mpy +0 -0
  363. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_roboarm.mpy +0 -0
  364. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_rp2w.py +0 -0
  365. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_sdcard.py +0 -0
  366. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_servo.mpy +0 -0
  367. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_sound_event.mpy +0 -0
  368. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_stepper.mpy +0 -0
  369. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_switch.mpy +0 -0
  370. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_tinyrgb.mpy +0 -0
  371. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_trackball.mpy +0 -0
  372. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/LM_veml7700.mpy +0 -0
  373. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/Network.mpy +0 -0
  374. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/Scheduler.mpy +0 -0
  375. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/Tasks.mpy +0 -0
  376. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/Time.mpy +0 -0
  377. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/Types.mpy +0 -0
  378. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/dashboard.html +0 -0
  379. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/index.html +0 -0
  380. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/main.py +0 -0
  381. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/micrOS.mpy +0 -0
  382. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/micrOSloader.mpy +0 -0
  383. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/uapi.js +0 -0
  384. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/udashboard.js +0 -0
  385. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/ustyle.css +0 -0
  386. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/toolkit/workspace/precompiled/uwidgets.js +0 -0
  387. {microsdevtoolkit-2.9.4 → microsdevtoolkit-2.9.7}/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.9.4
3
+ Version: 2.9.7
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
@@ -10,8 +10,9 @@ if len(sys.argv) > 1 and sys.argv[1] in ['light', '--light']:
10
10
  else:
11
11
  # INSTALL OPTIONAL DEPENDENCIES - PIP HACK
12
12
  from toolkit.lib import pip_package_installer as pip_install
13
- pip_install.install_optional_dependencies(['PyQt5', 'opencv-python', 'PyAudio', 'mpy-cross==1.20.0', 'matplotlib'])
14
-
13
+ pip_install.install_optional_dependencies(['PyQt5', 'opencv-python', 'PyAudio', 'mpy-cross==1.24.1.post2', 'matplotlib'])
14
+ if sys.platform.startswith("win"):
15
+ pip_install.install_optional_dependencies(['pyreadline3'])
15
16
 
16
17
  # NORMAL CODE ...
17
18
  MYPATH = os.path.dirname(__file__)
@@ -13,11 +13,11 @@
13
13
  1
14
14
  ],
15
15
  "Server.py": [
16
- 9.5,
16
+ 9.51,
17
17
  3
18
18
  ],
19
19
  "Web.py": [
20
- 9.25,
20
+ 9.26,
21
21
  1
22
22
  ],
23
23
  "Tasks.py": [
@@ -25,11 +25,11 @@
25
25
  12
26
26
  ],
27
27
  "Config.py": [
28
- 9.49,
28
+ 9.48,
29
29
  17
30
30
  ],
31
31
  "reset.py": [
32
- 8.75,
32
+ 10.0,
33
33
  0
34
34
  ],
35
35
  "Shell.py": [
@@ -45,7 +45,7 @@
45
45
  29
46
46
  ],
47
47
  "Logger.py": [
48
- 8.75,
48
+ 8.85,
49
49
  4
50
50
  ],
51
51
  "Common.py": [
@@ -73,7 +73,7 @@
73
73
  1
74
74
  ],
75
75
  "microIO.py": [
76
- 9.26,
76
+ 9.38,
77
77
  42
78
78
  ],
79
79
  "micrOS.py": [
@@ -89,7 +89,7 @@
89
89
  0
90
90
  ],
91
91
  "urequests.py": [
92
- 8.79,
92
+ 9.02,
93
93
  5
94
94
  ],
95
95
  "LM_roboarm.py": [
@@ -100,6 +100,10 @@
100
100
  8.9,
101
101
  1
102
102
  ],
103
+ "LM_pacman.py": [
104
+ 8.94,
105
+ 0
106
+ ],
103
107
  "LM_genIO.py": [
104
108
  9.19,
105
109
  0
@@ -109,7 +113,7 @@
109
113
  0
110
114
  ],
111
115
  "LM_system.py": [
112
- 8.36,
116
+ 8.26,
113
117
  5
114
118
  ],
115
119
  "LM_robustness.py": [
@@ -121,7 +125,7 @@
121
125
  0
122
126
  ],
123
127
  "LM_rest.py": [
124
- 7.78,
128
+ 7.95,
125
129
  0
126
130
  ],
127
131
  "LM_oled.py": [
@@ -237,7 +241,7 @@
237
241
  0
238
242
  ],
239
243
  "LM_telegram.py": [
240
- 9.53,
244
+ 9.57,
241
245
  0
242
246
  ],
243
247
  "LM_OV2640.py": [
@@ -284,10 +288,6 @@
284
288
  8.57,
285
289
  0
286
290
  ],
287
- "LM_lmpacman.py": [
288
- 8.38,
289
- 0
290
- ],
291
291
  "LM_gameOfLife.py": [
292
292
  9.29,
293
293
  3
@@ -315,11 +315,11 @@
315
315
  },
316
316
  "summary": {
317
317
  "core": [
318
- 3274,
318
+ 3305,
319
319
  23
320
320
  ],
321
321
  "load": [
322
- 8939,
322
+ 9060,
323
323
  55
324
324
  ],
325
325
  "core_dep": [
@@ -330,8 +330,8 @@
330
330
  true,
331
331
  6
332
332
  ],
333
- "core_score": 9.06,
334
- "load_score": 8.22,
335
- "version": "2.9.4-0"
333
+ "core_score": 9.13,
334
+ "load_score": 8.23,
335
+ "version": "2.9.7-0"
336
336
  }
337
337
  }
@@ -12,9 +12,9 @@ Designed by Marcell Ban aka BxNxM
12
12
  #################################################################
13
13
  # IMPORTS #
14
14
  #################################################################
15
- from os import remove
16
15
  from re import search
17
16
  from json import load, dump
17
+ from uos import remove
18
18
  from utime import sleep
19
19
  from Debug import DebugCfg, console_write, errlog_add
20
20
  try:
@@ -25,7 +25,11 @@ except:
25
25
 
26
26
 
27
27
  class Data:
28
- # micrOS config path
28
+ """
29
+ Data class for managing configuration data.
30
+ """
31
+ __slots__ = []
32
+
29
33
  CONFIG_PATH = "node_config.json"
30
34
  CONFIG_CACHE = {"version": "n/a",
31
35
  "auth": False,
@@ -145,20 +149,16 @@ class Data:
145
149
  value_in_cfg = Data.CONFIG_CACHE[key]
146
150
  try:
147
151
  if isinstance(value_in_cfg, bool):
148
- del value_in_cfg
149
152
  if str(value).lower() == 'true':
150
153
  return True
151
154
  if str(value).lower() == 'false':
152
155
  return False
153
156
  raise Exception("type_handler type handling error")
154
157
  if isinstance(value_in_cfg, str):
155
- del value_in_cfg
156
158
  return str(value)
157
159
  if isinstance(value_in_cfg, int):
158
- del value_in_cfg
159
160
  return int(value)
160
161
  if isinstance(value_in_cfg, float):
161
- del value_in_cfg
162
162
  return float(value)
163
163
  except Exception as e:
164
164
  console_write(f"Input value type error! {e}")
@@ -0,0 +1,248 @@
1
+ from uos import listdir, remove, stat
2
+ from sys import modules
3
+ from Common import socket_stream
4
+
5
+ WEB_EXT = ('html', 'js', 'css')
6
+ DATA_TYPES = ('log', 'pds', 'dat')
7
+
8
+ def _is_app_resource(path='/'):
9
+ if stat(path)[0] & 0x4000: # Dir check
10
+ return True, 'd'
11
+ file_name = path.split("/")[-1]
12
+ if file_name.startswith('LM_') or file_name.split('.')[-1] in WEB_EXT + DATA_TYPES:
13
+ return True, 'f'
14
+ return False, '?'
15
+
16
+
17
+ #############################################
18
+ # Safe file system handler functions #
19
+ #############################################
20
+
21
+ def ls(path="/", content='*', raw=False):
22
+ """
23
+ Linux like ls command - list app resources and app folders
24
+ :param path: path to list, default: /
25
+ :param content: content type, default all, f-file, d-dir can be selected
26
+ :param raw: keep raw output [(is_app, type), ...]
27
+ """
28
+ path = path if path.endswith('/') else f"{path}/"
29
+ items = []
30
+ for item in listdir(path):
31
+ is_app, item_type = _is_app_resource(path + item)
32
+ if is_app and (content == "*" or item_type == content):
33
+ items.append((item_type, item))
34
+ if raw:
35
+ return items
36
+ formatted_output = ""
37
+ i = 0
38
+ for f in items:
39
+ i += 1
40
+ spacer = " " * (4 - len(str(i)))
41
+ formatted_output += f"{i}{spacer}{f[0]} {f[1]}\n"
42
+ return formatted_output
43
+
44
+
45
+ def rm(path):
46
+ """
47
+ Linux like rm command - delete app resources and folders
48
+ :param path: app resource name/path, ex.: LM_robustness.py
49
+ """
50
+ if 'pacman.' in path or 'system.' in path or "/" == path.strip():
51
+ return f'Load module {path} is protected, skip delete.'
52
+ is_app, item_type = _is_app_resource(path)
53
+ if is_app:
54
+ remove(path)
55
+ return f"Remove: {path} {'dir' if item_type == 'd' else 'file'}"
56
+ return f"Invalid path {path}"
57
+
58
+
59
+ def dirtree(path="/", raw=False):
60
+ """Return only directories from a given path."""
61
+ path = path if path.endswith('/') else f"{path}/"
62
+ folders = [f"{path}/{item}" for item in listdir(path) if _is_app_resource(f"{path}{item}")[1] == 'd']
63
+ folder_contents = {folder:listdir(folder) for folder in folders}
64
+ if raw:
65
+ return folder_contents
66
+ formatted_output = ""
67
+ for k, v in folder_contents.items():
68
+ formatted_output += f"{k}\n"
69
+ for val in v:
70
+ formatted_output += f"\t{val}\n"
71
+ return formatted_output
72
+
73
+
74
+ def download(url=None, package=None):
75
+ """
76
+ [BETA] Load Module downloader with mip
77
+ :param url: github url path, ex. BxNxM/micrOS/master/toolkit/workspace/precompiled/LM_robustness.py
78
+ :param package: mip package name or raw url (hack)
79
+ """
80
+ if url is None and package is None:
81
+ return "Nothing to download, url=None package=None"
82
+ if package is None:
83
+ base_url = "https://raw.githubusercontent.com/"
84
+ file_name = url.split("/")[-1]
85
+ if not(file_name.endswith("py") and file_name.startswith("LM_")):
86
+ return "Invalid file name in url ending, hint: /LM_*.mpy or /LM_*.py"
87
+ # Convert GitHub URL to raw content URL
88
+ if "github.com" in url and "blob" in url:
89
+ url = url.replace("https://github.com/", base_url).replace("/blob", "")
90
+ else:
91
+ url = f"{base_url}{url}"
92
+ else:
93
+ url = package
94
+ from mip import install
95
+ verdict = ""
96
+ try:
97
+ verdict += f"Install {url}\n"
98
+ install(url)
99
+ verdict += "\n|- Done"
100
+ except Exception as e:
101
+ verdict += f"|- Cannot install: {url}\n{e}"
102
+ return verdict
103
+
104
+
105
+ def del_duplicates():
106
+ """
107
+ Load module package manager (Not just load modules)
108
+ - delete duplicated .mpy and .py resources, keep .mpy resource!
109
+ """
110
+ msg_buf = []
111
+ py = list((res.split('.')[0] for res in listdir() if res.endswith('.py'))) # Normally smaller list
112
+ mpy = (res.split('.')[0] for res in listdir() if res.endswith('.mpy'))
113
+ for m in mpy:
114
+ # Iterate over mpy resources
115
+ state = True
116
+ if m in py and m != 'main':
117
+ to_delete = f'{m}.py'
118
+ try:
119
+ remove(to_delete)
120
+ except:
121
+ state = False
122
+ msg_buf.append(f' Delete {to_delete} {state}')
123
+ return '\n'.join(msg_buf) if len(msg_buf) > 0 else 'Nothing to delete.'
124
+
125
+
126
+ def moduls(unload=None):
127
+ """
128
+ List / unload loaded upython Load Modules
129
+ :param unload: module name to unload
130
+ :param unload: None - list active modules
131
+ :return str: verdict
132
+ """
133
+ if unload is None:
134
+ return list(modules.keys())
135
+ if unload in modules.keys():
136
+ del modules[unload]
137
+ return f"Module unload {unload} done."
138
+ return f"Module unload {unload} failed."
139
+
140
+
141
+ @socket_stream
142
+ def cachedump(delpds=None, msgobj=None):
143
+ """
144
+ Cache system persistent data storage files (.pds)
145
+ :param delpds: cache name to delete
146
+ """
147
+ if delpds is None:
148
+ # List pds files aka application cache
149
+ msg_buf = []
150
+ for pds in (_pds for _pds in listdir() if _pds.endswith('.pds')):
151
+ with open(pds, 'r') as f:
152
+ if msgobj is None:
153
+ msg_buf.append(f'{pds}: {f.read()}')
154
+ else:
155
+ msgobj(f'{pds}: {f.read()}')
156
+ return msg_buf if len(msg_buf) > 0 else ''
157
+ # Remove given pds file
158
+ try:
159
+ remove(f'{delpds}.pds')
160
+ return f'{delpds}.pds delete done.'
161
+ except:
162
+ return f'{delpds}.pds not exists'
163
+
164
+
165
+ def dat_dump():
166
+ """
167
+ Generic .dat file dump
168
+ - logged data from LMs, sensor datat, etc...
169
+ """
170
+ logs_dir = "/logs/"
171
+ dats = (f for f in listdir(logs_dir) if f.endswith('.dat'))
172
+ out = {}
173
+ for dat in dats:
174
+ with open(f"{logs_dir}{dat}", 'r') as f:
175
+ out[dat] = f.read()
176
+ return out
177
+
178
+ #############################################
179
+ # Legacy features #
180
+ #############################################
181
+
182
+
183
+ @socket_stream
184
+ def listmods(msgobj=None):
185
+ """
186
+ Load module package manager
187
+ - list all load modules
188
+ """
189
+ # Dump available LMs
190
+ msg_buf = []
191
+ for k in (res.replace('LM_', '') for res in listdir("/")
192
+ if res.startswith('LM_') or res.split('.')[-1] in WEB_EXT):
193
+ if msgobj is None:
194
+ msg_buf.append(f' {k}')
195
+ else:
196
+ msgobj(f' {k}')
197
+ return msg_buf if len(msg_buf) > 0 else ''
198
+
199
+
200
+ def delmod(mod=None):
201
+ """
202
+ Module package manager
203
+ :param mod:
204
+ Delete Load Module with full name: module.py or module.mpy
205
+ OR delete any web resource: *.js, *.css, *.html
206
+ """
207
+ if mod is not None and (mod.endswith('py') or mod.split('.')[-1] in WEB_EXT):
208
+ # LM exception list - system and pacman cannot be deleted
209
+ if 'pacman.' in mod or 'system.' in mod:
210
+ return f'Load module {mod} is in use, skip delete.'
211
+ try:
212
+ to_remove = mod if mod.split('.')[-1] in WEB_EXT else f'LM_{mod}'
213
+ remove(to_remove)
214
+ return f'Delete module: {mod}'
215
+ except Exception as e:
216
+ return f'Cannot delete: {mod}: {e}'
217
+ return f'Invalid value: {mod}'
218
+
219
+
220
+ @socket_stream
221
+ def micros_checksum(msgobj=None):
222
+ from hashlib import sha1
223
+ from binascii import hexlify
224
+ from Config import cfgget
225
+
226
+ for f_name in (_pds for _pds in listdir() if _pds.endswith('py')):
227
+ with open(f_name, 'rb') as f:
228
+ cs = hexlify(sha1(f.read()).digest()).decode('utf-8')
229
+ msgobj(f"{cs} {f_name}")
230
+ # GC collect?
231
+ return f"micrOS version: {cfgget('version')}"
232
+
233
+
234
+ def help(widgets=False):
235
+ """
236
+ [i] micrOS LM naming convention - built-in help message
237
+ :return tuple:
238
+ (widgets=False) list of functions implemented by this application
239
+ (widgets=True) list of widget json for UI generation
240
+ """
241
+ return ('listmods', 'delmod mod=<module>.py/.mpy or .js/.html/.css', 'del_duplicates',
242
+ 'moduls unload="LM_rgb/None"',
243
+ 'cachedump delpds="rgb/None"',
244
+ 'dat_dump',
245
+ 'download url="BxNxM/micrOS/master/toolkit/workspace/precompiled/LM_robustness.py"',
246
+ 'micros_checksum',
247
+ 'ls path="/" content="*/f/d"',
248
+ 'rm <path>', 'dirtree path="/"')
@@ -1,4 +1,3 @@
1
- import uasyncio as asyncio
2
1
  from urequests import get as http_get
3
2
  from urequests import aget as http_aget
4
3
  from Common import micro_task
@@ -9,8 +9,8 @@ def raise_error(msgobj=None):
9
9
  """
10
10
  if msgobj is not None:
11
11
  msgobj("Raise test exception")
12
- syslog('Robustness TeSt ErRoR')
13
- raise Exception("Test exception")
12
+ state = syslog('Robustness TeSt ErRoR')
13
+ raise Exception(f"Test exception: {'OK' if state else 'NOK'}")
14
14
 
15
15
 
16
16
  @socket_stream
@@ -1,4 +1,4 @@
1
- from os import statvfs, getcwd, listdir, uname
1
+ from uos import statvfs, getcwd, listdir, uname
2
2
  from utime import localtime
3
3
  from network import WLAN, STA_IF, AP_IF
4
4
  from binascii import hexlify
@@ -190,6 +190,7 @@ def pinmap(keys='builtin irq1 irq2 irq3 irq4'):
190
190
  map["search"] = pinmap_search(keys)
191
191
  return map
192
192
 
193
+
193
194
  @socket_stream
194
195
  def alarms(clean=False, msgobj=None):
195
196
  """
@@ -204,19 +205,6 @@ def alarms(clean=False, msgobj=None):
204
205
  return {'NOK alarm': errcnt} if errcnt > 0 else {'OK alarm': errcnt}
205
206
 
206
207
 
207
- def dat_dump():
208
- """
209
- Generic .dat file dump
210
- - logged data from LMs
211
- """
212
- dats = (f for f in listdir() if f.endswith('.dat'))
213
- out = {}
214
- for dat in dats:
215
- with open(dat, 'r') as f:
216
- out[dat] = f.read()
217
- return out
218
-
219
-
220
208
  def ifconfig():
221
209
  """
222
210
  Show network ifconfig
@@ -224,7 +212,7 @@ def ifconfig():
224
212
  return network_config()
225
213
 
226
214
 
227
- def urequests_host_cache():
215
+ def urequest_hosts():
228
216
  """
229
217
  Debug function for urequests address caching
230
218
  - returns all known http(s) host addresses
@@ -258,4 +246,4 @@ def help(widgets=False):
258
246
  'ntp', 'rssi', 'list_stations', 'pinmap key="dhtpin"/None', 'alarms clean=False',
259
247
  'notifications enable=<None,True,False>',
260
248
  'sun refresh=False', 'ifconfig', 'memory_usage',
261
- 'disk_usage', 'dat_dump', 'urequests_host_cache'), widgets=widgets)
249
+ 'disk_usage', 'urequest_hosts'), widgets=widgets)