micrOSDevToolKit 2.9.8__tar.gz → 2.9.10__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 (384) hide show
  1. {microsdevtoolkit-2.9.8/micrOSDevToolKit.egg-info → microsdevtoolkit-2.9.10}/PKG-INFO +13 -3
  2. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/README.md +2 -1
  3. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/devToolKit.py +10 -0
  4. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/release_info/micrOS_ReleaseInfo/system_analysis_sum.json +20 -20
  5. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_oled_ui.py +1 -1
  6. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_system.py +4 -4
  7. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/Notify.py +4 -0
  8. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/Server.py +1 -1
  9. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/Shell.py +3 -3
  10. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/Tasks.py +1 -1
  11. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/Time.py +7 -8
  12. microsdevtoolkit-2.9.10/micrOS/source/__pycache__/Common.cpython-312.pyc +0 -0
  13. microsdevtoolkit-2.9.10/micrOS/source/__pycache__/Logger.cpython-312.pyc +0 -0
  14. microsdevtoolkit-2.9.10/micrOS/source/__pycache__/Server.cpython-312.pyc +0 -0
  15. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/micrOSloader.py +0 -1
  16. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/urequests.py +14 -7
  17. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10/micrOSDevToolKit.egg-info}/PKG-INFO +13 -3
  18. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOSDevToolKit.egg-info/SOURCES.txt +6 -2
  19. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/setup.py +1 -2
  20. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/DevEnvUSB.py +6 -5
  21. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/MicrOSDevEnv.py +19 -5
  22. microsdevtoolkit-2.9.10/toolkit/WebRepl.py +73 -0
  23. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/dashboard_apps/BackupRestore.py +20 -35
  24. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/dashboard_apps/CCTDemo.py +12 -17
  25. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/dashboard_apps/CCTTest.py +20 -24
  26. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/dashboard_apps/CamStream.py +2 -6
  27. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/dashboard_apps/CatGame.py +14 -16
  28. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/dashboard_apps/Dimmer.py +11 -21
  29. microsdevtoolkit-2.9.10/toolkit/dashboard_apps/GetVersion.py +27 -0
  30. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/dashboard_apps/MicrophoneTest.py +1 -6
  31. microsdevtoolkit-2.9.10/toolkit/dashboard_apps/NeoEffectsDemo.py +67 -0
  32. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/dashboard_apps/NeopixelTest.py +20 -25
  33. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/dashboard_apps/PresenceTest.py +2 -8
  34. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/dashboard_apps/RGBTest.py +20 -24
  35. microsdevtoolkit-2.9.10/toolkit/dashboard_apps/RoboArm.py +77 -0
  36. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/dashboard_apps/SED_test.py +10 -14
  37. microsdevtoolkit-2.9.10/toolkit/dashboard_apps/SensorsTest.py +61 -0
  38. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/dashboard_apps/SystemTest.py +151 -77
  39. microsdevtoolkit-2.9.10/toolkit/dashboard_apps/Template_app.py +32 -0
  40. microsdevtoolkit-2.9.10/toolkit/dashboard_apps/_app_base.py +34 -0
  41. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/dashboard_apps/uLightDemo.py +15 -24
  42. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/lib/micrOSClient.py +16 -11
  43. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/micrOSlint.py +3 -3
  44. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/socketClient.py +0 -1
  45. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_oled_ui.mpy +0 -0
  46. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_system.mpy +0 -0
  47. microsdevtoolkit-2.9.10/toolkit/workspace/precompiled/Notify.mpy +0 -0
  48. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/Shell.mpy +0 -0
  49. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/Time.mpy +0 -0
  50. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/micrOSloader.mpy +0 -0
  51. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/urequests.mpy +0 -0
  52. microsdevtoolkit-2.9.8/toolkit/dashboard_apps/AirQualityBME280.py +0 -36
  53. microsdevtoolkit-2.9.8/toolkit/dashboard_apps/AirQualityDHT22_CO2.py +0 -36
  54. microsdevtoolkit-2.9.8/toolkit/dashboard_apps/GetVersion.py +0 -35
  55. microsdevtoolkit-2.9.8/toolkit/dashboard_apps/NeoEffectsDemo.py +0 -73
  56. microsdevtoolkit-2.9.8/toolkit/dashboard_apps/RoboArm.py +0 -85
  57. microsdevtoolkit-2.9.8/toolkit/dashboard_apps/Template_app.py +0 -44
  58. microsdevtoolkit-2.9.8/toolkit/workspace/precompiled/Notify.mpy +0 -0
  59. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/LICENSE +0 -0
  60. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/MANIFEST.in +0 -0
  61. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/env/__init__.py +0 -0
  62. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/env/driver_cp210x/.DS_Store +0 -0
  63. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x64.exe +0 -0
  64. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x86.exe +0 -0
  65. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210x_Universal_Windows_Driver_ReleaseNotes.txt +0 -0
  66. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/env/driver_cp210x/CP210x_Universal_Windows_Driver/SLAB_License_Agreement_VCP_Windows.txt +0 -0
  67. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm/silabser.sys +0 -0
  68. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm64/silabser.sys +0 -0
  69. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/env/driver_cp210x/CP210x_Universal_Windows_Driver/dpinst.xml +0 -0
  70. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.cat +0 -0
  71. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.inf +0 -0
  72. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x64/silabser.sys +0 -0
  73. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x86/silabser.sys +0 -0
  74. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/env/driver_cp210x/macOS_VCP_Driver/SiLabsUSBDriverDisk.dmg +0 -0
  75. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/env/driver_cp210x/macOS_VCP_Driver/macOS_VCP_Driver_Release_Notes.txt +0 -0
  76. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/media/__init__.py +0 -0
  77. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/media/dnd.png +0 -0
  78. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/media/logo.png +0 -0
  79. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/media/logo_mini.png +0 -0
  80. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/media/usb_port_icon.png +0 -0
  81. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/media/wifi_icon.png +0 -0
  82. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/__init__.py +0 -0
  83. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/micropython/esp32-20241129-v1.24.1.bin +0 -0
  84. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/micropython/esp32c3-20240222-v1.22.2.bin +0 -0
  85. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/micropython/esp32cam-v1.21.0_camera.bin +0 -0
  86. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/micropython/esp32s2-20240602-v1.23.0.bin +0 -0
  87. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/micropython/esp32s2-LOLIN_MINI-20220618-v1.19.1.bin +0 -0
  88. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/micropython/esp32s2-LOLIN_MINI-20240602-v1.23.0.bin +0 -0
  89. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/micropython/esp32s3-20240105-v1.22.1.bin +0 -0
  90. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/micropython/esp32s3-20241129-v1.24.1.bin +0 -0
  91. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/micropython/esp32s3_spiram_oct-20231005-v1.21.0.bin +0 -0
  92. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/micropython/esp32s3_spiram_oct-20241129-v1.24.1.bin +0 -0
  93. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/micropython/rpi-pico-w-20241129-v1.24.1.uf2 +0 -0
  94. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/micropython/tinypico-20241129-v1.24.1.bin +0 -0
  95. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/.DS_Store +0 -0
  96. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/Common.py +0 -0
  97. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/Config.py +0 -0
  98. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/Debug.py +0 -0
  99. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/Espnow.py +0 -0
  100. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/Hooks.py +0 -0
  101. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/IO_esp32.py +0 -0
  102. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/IO_esp32c3.py +0 -0
  103. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/IO_esp32s2.py +0 -0
  104. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/IO_esp32s3.py +0 -0
  105. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/IO_m5stamp.py +0 -0
  106. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/IO_qtpy.py +0 -0
  107. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/IO_rp2.py +0 -0
  108. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/IO_tinypico.py +0 -0
  109. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/InterConnect.py +0 -0
  110. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/Interrupts.py +0 -0
  111. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_L298N_DCmotor.py +0 -0
  112. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_L9110_DCmotor.py +0 -0
  113. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_OV2640.py +0 -0
  114. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_VL53L0X.py +0 -0
  115. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_aht10.py +0 -0
  116. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_bme280.py +0 -0
  117. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_buzzer.py +0 -0
  118. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_catgame.py +0 -0
  119. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_cct.py +0 -0
  120. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_co2.py +0 -0
  121. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_dashboard_be.py +0 -0
  122. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_demo.py +0 -0
  123. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_dht11.py +0 -0
  124. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_dht22.py +0 -0
  125. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_dimmer.py +0 -0
  126. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_distance.py +0 -0
  127. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_ds18.py +0 -0
  128. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_esp32.py +0 -0
  129. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_espnow.py +0 -0
  130. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_gameOfLife.py +0 -0
  131. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_genIO.py +0 -0
  132. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_haptic.py +0 -0
  133. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_i2c.py +0 -0
  134. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_i2s_mic.py +0 -0
  135. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_intercon.py +0 -0
  136. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_keychain.py +0 -0
  137. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_ld2410.py +0 -0
  138. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_light_sensor.py +0 -0
  139. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_neoeffects.py +0 -0
  140. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_neopixel.py +0 -0
  141. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_oled.py +0 -0
  142. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_oled_sh1106.py +0 -0
  143. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_oledui.py +0 -0
  144. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_pacman.py +0 -0
  145. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_pet_feeder.py +0 -0
  146. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_ph_sensor.py +0 -0
  147. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_presence.py +0 -0
  148. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_rencoder.py +0 -0
  149. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_rest.py +0 -0
  150. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_rgb.py +0 -0
  151. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_rgbcct.py +0 -0
  152. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_roboarm.py +0 -0
  153. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_robustness.py +0 -0
  154. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_rp2w.py +0 -0
  155. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_sdcard.py +0 -0
  156. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_servo.py +0 -0
  157. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_sound_event.py +0 -0
  158. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_stepper.py +0 -0
  159. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_switch.py +0 -0
  160. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_telegram.py +0 -0
  161. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_tinyrgb.py +0 -0
  162. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_trackball.py +0 -0
  163. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/LM_veml7700.py +0 -0
  164. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/Logger.py +0 -0
  165. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/Network.py +0 -0
  166. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/Scheduler.py +0 -0
  167. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/Types.py +0 -0
  168. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/Web.py +0 -0
  169. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/dashboard.html +0 -0
  170. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/index.html +0 -0
  171. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/main.py +0 -0
  172. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/micrOS.py +0 -0
  173. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/microIO.py +0 -0
  174. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/reset.py +0 -0
  175. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/uapi.js +0 -0
  176. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/udashboard.js +0 -0
  177. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/ustyle.css +0 -0
  178. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/uwidgets.js +0 -0
  179. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOS/source/uwidgets_pro.js +0 -0
  180. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOSDevToolKit.egg-info/dependency_links.txt +0 -0
  181. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOSDevToolKit.egg-info/requires.txt +0 -0
  182. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/micrOSDevToolKit.egg-info/top_level.txt +0 -0
  183. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/setup.cfg +0 -0
  184. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/DevEnvCompile.py +0 -0
  185. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/DevEnvOTA.py +0 -0
  186. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/Gateway.py +0 -0
  187. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/LM_to_compile.dat +0 -0
  188. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/__init__.py +0 -0
  189. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/dashboard_apps/__init__.py +0 -0
  190. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/dashboard_apps/_capture.py +0 -0
  191. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/dashboard_apps/_micPlotting.py +0 -0
  192. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/dashboard_apps/_presencePlotting.py +0 -0
  193. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/img_stream.html +0 -0
  194. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/index.html +0 -0
  195. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/lib/LocalMachine.py +0 -0
  196. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/lib/SafeInput.py +0 -0
  197. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/lib/SearchDevices.py +0 -0
  198. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/lib/SerialDriverHandler.py +0 -0
  199. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/lib/TerminalColors.py +0 -0
  200. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/lib/__init__.py +0 -0
  201. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/lib/file_extensions.py +0 -0
  202. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/lib/macroScript.py +0 -0
  203. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/lib/micrOSClientHistory.py +0 -0
  204. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/lib/pip_package_installer.py +0 -0
  205. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/micrOSdashboard.py +0 -0
  206. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/.DS_Store +0 -0
  207. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/IO_darwin.py +0 -0
  208. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/IO_darwin.cpython-312.pyc +0 -0
  209. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/camera.cpython-312.pyc +0 -0
  210. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/dht.cpython-312.pyc +0 -0
  211. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/dht.cpython-39.pyc +0 -0
  212. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/dotstar.cpython-312.pyc +0 -0
  213. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/dotstar.cpython-38.pyc +0 -0
  214. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/dotstar.cpython-39.pyc +0 -0
  215. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-312.pyc +0 -0
  216. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-38.pyc +0 -0
  217. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-39.pyc +0 -0
  218. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/esp32.cpython-312.pyc +0 -0
  219. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/esp32.cpython-38.pyc +0 -0
  220. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/esp32.cpython-39.pyc +0 -0
  221. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/framebuf.cpython-312.pyc +0 -0
  222. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/framebuf.cpython-38.pyc +0 -0
  223. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/framebuf.cpython-39.pyc +0 -0
  224. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/machine.cpython-312.pyc +0 -0
  225. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/machine.cpython-38.pyc +0 -0
  226. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/machine.cpython-39.pyc +0 -0
  227. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/micropython.cpython-312.pyc +0 -0
  228. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/micropython.cpython-38.pyc +0 -0
  229. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/micropython.cpython-39.pyc +0 -0
  230. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/neopixel.cpython-312.pyc +0 -0
  231. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/neopixel.cpython-38.pyc +0 -0
  232. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/neopixel.cpython-39.pyc +0 -0
  233. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/network.cpython-312.pyc +0 -0
  234. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/network.cpython-38.pyc +0 -0
  235. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/network.cpython-39.pyc +0 -0
  236. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/ntptime.cpython-312.pyc +0 -0
  237. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/onewire.cpython-312.pyc +0 -0
  238. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/onewire.cpython-38.pyc +0 -0
  239. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/onewire.cpython-39.pyc +0 -0
  240. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/sim_console.cpython-312.pyc +0 -0
  241. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/sim_console.cpython-38.pyc +0 -0
  242. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/sim_console.cpython-39.pyc +0 -0
  243. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/simgc.cpython-312.pyc +0 -0
  244. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/simgc.cpython-38.pyc +0 -0
  245. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/simgc.cpython-39.pyc +0 -0
  246. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/simulator.cpython-312.pyc +0 -0
  247. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/simulator.cpython-38.pyc +0 -0
  248. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/simulator.cpython-39.pyc +0 -0
  249. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/tinypico.cpython-312.pyc +0 -0
  250. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/tinypico.cpython-38.pyc +0 -0
  251. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/tinypico.cpython-39.pyc +0 -0
  252. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-312.pyc +0 -0
  253. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-38.pyc +0 -0
  254. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-39.pyc +0 -0
  255. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/uos.cpython-312.pyc +0 -0
  256. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/usocket.cpython-312.pyc +0 -0
  257. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/ussl.cpython-312.pyc +0 -0
  258. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/ustruct.cpython-312.pyc +0 -0
  259. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/ustruct.cpython-39.pyc +0 -0
  260. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/utime.cpython-312.pyc +0 -0
  261. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/utime.cpython-38.pyc +0 -0
  262. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/utime.cpython-39.pyc +0 -0
  263. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/webrepl.cpython-312.pyc +0 -0
  264. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/webrepl.cpython-38.pyc +0 -0
  265. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/__pycache__/webrepl.cpython-39.pyc +0 -0
  266. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/camera.py +0 -0
  267. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/dht.py +0 -0
  268. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/dotstar.py +0 -0
  269. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/ds18x20.py +0 -0
  270. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/esp32.py +0 -0
  271. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/framebuf.py +0 -0
  272. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/machine.py +0 -0
  273. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/micropython.py +0 -0
  274. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/neopixel.py +0 -0
  275. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/network.py +0 -0
  276. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/node_config.json +0 -0
  277. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/ntptime.py +0 -0
  278. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/onewire.py +0 -0
  279. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/sim_console.py +0 -0
  280. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/simgc.py +0 -0
  281. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/simulator.py +0 -0
  282. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/tinypico.py +0 -0
  283. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/uasyncio.py +0 -0
  284. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/uos.py +0 -0
  285. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/usocket.py +0 -0
  286. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/ussl.py +0 -0
  287. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/ustruct.py +0 -0
  288. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/utime.py +0 -0
  289. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/view01.jpg +0 -0
  290. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/view02.jpg +0 -0
  291. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/simulator_lib/webrepl.py +0 -0
  292. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/user_data/.include +0 -0
  293. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/user_data/webhooks/generic.py +0 -0
  294. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/user_data/webhooks/macro.py +0 -0
  295. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/user_data/webhooks/template.macro +0 -0
  296. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/user_data/webhooks/template.py +0 -0
  297. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/__init__.py +0 -0
  298. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/Common.mpy +0 -0
  299. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/Config.mpy +0 -0
  300. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/Debug.mpy +0 -0
  301. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/Espnow.mpy +0 -0
  302. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/Hooks.mpy +0 -0
  303. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/IO_esp32.mpy +0 -0
  304. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/IO_esp32c3.mpy +0 -0
  305. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/IO_esp32s2.mpy +0 -0
  306. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/IO_esp32s3.mpy +0 -0
  307. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/IO_m5stamp.mpy +0 -0
  308. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/IO_qtpy.mpy +0 -0
  309. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/IO_rp2.mpy +0 -0
  310. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/IO_tinypico.mpy +0 -0
  311. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/InterConnect.mpy +0 -0
  312. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/Interrupts.mpy +0 -0
  313. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_L298N_DCmotor.mpy +0 -0
  314. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_L9110_DCmotor.py +0 -0
  315. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_OV2640.mpy +0 -0
  316. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_VL53L0X.py +0 -0
  317. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_aht10.mpy +0 -0
  318. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_bme280.mpy +0 -0
  319. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_buzzer.mpy +0 -0
  320. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_catgame.py +0 -0
  321. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_cct.mpy +0 -0
  322. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_co2.mpy +0 -0
  323. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_dashboard_be.py +0 -0
  324. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_demo.py +0 -0
  325. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_dht11.mpy +0 -0
  326. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_dht22.mpy +0 -0
  327. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_dimmer.mpy +0 -0
  328. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_distance.mpy +0 -0
  329. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_ds18.mpy +0 -0
  330. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_esp32.py +0 -0
  331. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_espnow.py +0 -0
  332. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_gameOfLife.mpy +0 -0
  333. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_genIO.mpy +0 -0
  334. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_haptic.mpy +0 -0
  335. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_i2c.py +0 -0
  336. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_i2s_mic.mpy +0 -0
  337. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_intercon.mpy +0 -0
  338. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_keychain.mpy +0 -0
  339. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_ld2410.mpy +0 -0
  340. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_light_sensor.mpy +0 -0
  341. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_neoeffects.mpy +0 -0
  342. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_neopixel.mpy +0 -0
  343. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_oled.mpy +0 -0
  344. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_oled_sh1106.mpy +0 -0
  345. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_oledui.mpy +0 -0
  346. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_pacman.mpy +0 -0
  347. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_pet_feeder.py +0 -0
  348. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_ph_sensor.py +0 -0
  349. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_presence.mpy +0 -0
  350. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_rencoder.py +0 -0
  351. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_rest.mpy +0 -0
  352. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_rgb.mpy +0 -0
  353. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_rgbcct.mpy +0 -0
  354. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_roboarm.mpy +0 -0
  355. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_robustness.py +0 -0
  356. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_rp2w.py +0 -0
  357. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_sdcard.py +0 -0
  358. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_servo.mpy +0 -0
  359. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_sound_event.mpy +0 -0
  360. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_stepper.mpy +0 -0
  361. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_switch.mpy +0 -0
  362. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_telegram.mpy +0 -0
  363. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_tinyrgb.mpy +0 -0
  364. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_trackball.mpy +0 -0
  365. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/LM_veml7700.mpy +0 -0
  366. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/Logger.mpy +0 -0
  367. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/Network.mpy +0 -0
  368. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/Scheduler.mpy +0 -0
  369. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/Server.mpy +0 -0
  370. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/Tasks.mpy +0 -0
  371. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/Types.mpy +0 -0
  372. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/Web.mpy +0 -0
  373. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/_mpy.version +0 -0
  374. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/dashboard.html +0 -0
  375. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/index.html +0 -0
  376. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/main.py +0 -0
  377. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/micrOS.mpy +0 -0
  378. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/microIO.mpy +0 -0
  379. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/reset.mpy +0 -0
  380. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/uapi.js +0 -0
  381. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/udashboard.js +0 -0
  382. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/ustyle.css +0 -0
  383. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/uwidgets.js +0 -0
  384. {microsdevtoolkit-2.9.8 → microsdevtoolkit-2.9.10}/toolkit/workspace/precompiled/uwidgets_pro.js +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: micrOSDevToolKit
3
- Version: 2.9.8
3
+ Version: 2.9.10
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
@@ -25,6 +25,15 @@ Requires-Dist: json2html
25
25
  Requires-Dist: requests
26
26
  Requires-Dist: Flask-BasicAuth
27
27
  Requires-Dist: soundfile
28
+ Dynamic: author
29
+ Dynamic: author-email
30
+ Dynamic: description
31
+ Dynamic: description-content-type
32
+ Dynamic: home-page
33
+ Dynamic: license
34
+ Dynamic: project-url
35
+ Dynamic: requires-dist
36
+ Dynamic: summary
28
37
 
29
38
  # ![LOGO](./media/logo_mini.png?raw=true) micrOS
30
39
 
@@ -78,6 +87,7 @@ Access rest api over browser: `http://<nodename>.local`
78
87
  2. micrOS Installer [link](https://github.com/BxNxM/micrOS/#installing-micros-with-devtoolkit-esp32-and-more)
79
88
  3. micrOS Tutorials [link](https://github.com/BxNxM/micrOS/#micros-video-tutorials)
80
89
  4. micrOS System and features [link](https://github.com/BxNxM/micrOS/#micros-framework-features)
90
+ 5. Built-in app modules: [link](https://htmlpreview.github.io/?https://github.com/BxNxM/micrOS/blob/master/micrOS/client/sfuncman/sfuncman.html)
81
91
  5. Pin mapping - GPIO [link](https://github.com/BxNxM/micrOS/#device-pinouts-for-wiring)
82
92
  6. micrOS Node configuration [link](https://github.com/BxNxM/micrOS/#micros-node-configuration-parameters-with-description)
83
93
  7. micrOS create custom Load Modules: [link](./APPLICATION_GUIDE.md)
@@ -370,7 +380,7 @@ LogicalPin lookup tables:
370
380
  - [raspberryPicoW](./micrOS/source/IO_rp2.py) - reset needed after ota update (webrepl limitation)
371
381
  - `IO_*.py` [etc.](./micrOS/source)
372
382
 
373
- > Note: Good idea to use costant variable for pin map declaration, check the files for more info, These files are also precompiled automatically into byte steams -> `.mpy`
383
+ > Note: Good idea to use costant variable for pin map declaration, check the files for more info, These files are also precompiled automatically into byte streams -> `.mpy`
374
384
 
375
385
  ![MicrOStinyPicopinout](./media/NodeMCUPinOutTinyPico.png?raw=true)
376
386
 
@@ -50,6 +50,7 @@ Access rest api over browser: `http://<nodename>.local`
50
50
  2. micrOS Installer [link](https://github.com/BxNxM/micrOS/#installing-micros-with-devtoolkit-esp32-and-more)
51
51
  3. micrOS Tutorials [link](https://github.com/BxNxM/micrOS/#micros-video-tutorials)
52
52
  4. micrOS System and features [link](https://github.com/BxNxM/micrOS/#micros-framework-features)
53
+ 5. Built-in app modules: [link](https://htmlpreview.github.io/?https://github.com/BxNxM/micrOS/blob/master/micrOS/client/sfuncman/sfuncman.html)
53
54
  5. Pin mapping - GPIO [link](https://github.com/BxNxM/micrOS/#device-pinouts-for-wiring)
54
55
  6. micrOS Node configuration [link](https://github.com/BxNxM/micrOS/#micros-node-configuration-parameters-with-description)
55
56
  7. micrOS create custom Load Modules: [link](./APPLICATION_GUIDE.md)
@@ -342,7 +343,7 @@ LogicalPin lookup tables:
342
343
  - [raspberryPicoW](./micrOS/source/IO_rp2.py) - reset needed after ota update (webrepl limitation)
343
344
  - `IO_*.py` [etc.](./micrOS/source)
344
345
 
345
- > Note: Good idea to use costant variable for pin map declaration, check the files for more info, These files are also precompiled automatically into byte steams -> `.mpy`
346
+ > Note: Good idea to use costant variable for pin map declaration, check the files for more info, These files are also precompiled automatically into byte streams -> `.mpy`
346
347
 
347
348
  ![MicrOStinyPicopinout](./media/NodeMCUPinOutTinyPico.png?raw=true)
348
349
 
@@ -35,6 +35,11 @@ try:
35
35
  except Exception as e:
36
36
  print(f"Optional dependency missing in macroScript: {e}")
37
37
  macroScript = None
38
+ try:
39
+ from toolkit.WebRepl import open_webrepl
40
+ except Exception as e:
41
+ print(f"Optional dependency missing in WebRepl: {e}")
42
+ open_webrepl = None
38
43
 
39
44
 
40
45
  def arg_parse():
@@ -70,6 +75,7 @@ def arg_parse():
70
75
  dev_group.add_argument("-gw", "--gateway", action="store_true", help="Start micrOS Gateway rest-api server, Env. vars: API_AUTH='username:password' (optional), GATEWAYIP needed for container deployment only.")
71
76
  dev_group.add_argument("-v", "--version", action="store_true", help="Get micrOS version - repo + connected device.")
72
77
  dev_group.add_argument("-lint", "--linter", action="store_true", help="Run micrOS system linter (pylint+)")
78
+ dev_group.add_argument("-webrepl", "--open_webrepl", action="store_true", help="(beta) Open webrepl in default browser, micropython repl + file transfers (built-in)")
73
79
  dev_group.add_argument("--light", action="store_true", help="Skip optional dependency deployments (low level param: add this as first argument always)")
74
80
 
75
81
  toolkit_group = parser.add_argument_group("Toolkit development")
@@ -293,6 +299,10 @@ if __name__ == "__main__":
293
299
  if micrOSlint is not None:
294
300
  sys.exit(micrOSlint.main(verbose=False))
295
301
 
302
+ if cmd_args.open_webrepl:
303
+ if open_webrepl is not None:
304
+ open_webrepl()
305
+
296
306
  if cmd_args.macro:
297
307
  if macroScript is None:
298
308
  print("macroScript not available :(")
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "files": {
3
3
  "Time.py": [
4
- 9.17,
4
+ 9.16,
5
5
  7
6
6
  ],
7
7
  "micrOSloader.py": [
8
- 8.0,
8
+ 7.33,
9
9
  1
10
10
  ],
11
11
  "Hooks.py": [
@@ -33,11 +33,11 @@
33
33
  0
34
34
  ],
35
35
  "Shell.py": [
36
- 9.33,
36
+ 9.11,
37
37
  1
38
38
  ],
39
39
  "Notify.py": [
40
- 8.38,
40
+ 8.46,
41
41
  3
42
42
  ],
43
43
  "Types.py": [
@@ -89,7 +89,7 @@
89
89
  0
90
90
  ],
91
91
  "urequests.py": [
92
- 9.02,
92
+ 8.99,
93
93
  5
94
94
  ],
95
95
  "LM_roboarm.py": [
@@ -109,7 +109,7 @@
109
109
  0
110
110
  ],
111
111
  "LM_oled_ui.py": [
112
- 9.07,
112
+ 9.02,
113
113
  0
114
114
  ],
115
115
  "LM_system.py": [
@@ -129,7 +129,7 @@
129
129
  0
130
130
  ],
131
131
  "LM_oled.py": [
132
- 9.23,
132
+ 9.09,
133
133
  4
134
134
  ],
135
135
  "LM_tinyrgb.py": [
@@ -165,7 +165,7 @@
165
165
  0
166
166
  ],
167
167
  "LM_oled_sh1106.py": [
168
- 8.84,
168
+ 8.54,
169
169
  2
170
170
  ],
171
171
  "LM_haptic.py": [
@@ -177,7 +177,7 @@
177
177
  0
178
178
  ],
179
179
  "LM_neopixel.py": [
180
- 7.54,
180
+ 7.43,
181
181
  2
182
182
  ],
183
183
  "LM_cct.py": [
@@ -229,11 +229,11 @@
229
229
  0
230
230
  ],
231
231
  "LM_sound_event.py": [
232
- 8.49,
232
+ 8.46,
233
233
  0
234
234
  ],
235
235
  "LM_oledui.py": [
236
- 8.52,
236
+ 8.16,
237
237
  0
238
238
  ],
239
239
  "LM_espnow.py": [
@@ -245,11 +245,11 @@
245
245
  0
246
246
  ],
247
247
  "LM_OV2640.py": [
248
- 9.19,
248
+ 9.11,
249
249
  0
250
250
  ],
251
251
  "LM_rgb.py": [
252
- 8.82,
252
+ 8.75,
253
253
  1
254
254
  ],
255
255
  "LM_distance.py": [
@@ -273,7 +273,7 @@
273
273
  4
274
274
  ],
275
275
  "LM_trackball.py": [
276
- 8.43,
276
+ 8.31,
277
277
  1
278
278
  ],
279
279
  "LM_dashboard_be.py": [
@@ -305,7 +305,7 @@
305
305
  2
306
306
  ],
307
307
  "LM_i2s_mic.py": [
308
- 8.37,
308
+ 8.3,
309
309
  2
310
310
  ],
311
311
  "LM_sdcard.py": [
@@ -315,7 +315,7 @@
315
315
  },
316
316
  "summary": {
317
317
  "core": [
318
- 3358,
318
+ 3367,
319
319
  23
320
320
  ],
321
321
  "load": [
@@ -328,10 +328,10 @@
328
328
  ],
329
329
  "load_dep": [
330
330
  true,
331
- 6
331
+ 5
332
332
  ],
333
- "core_score": 9.13,
334
- "load_score": 8.23,
335
- "version": "2.9.8-0"
333
+ "core_score": 9.09,
334
+ "load_score": 8.21,
335
+ "version": "2.9.9-0"
336
336
  }
337
337
  }
@@ -159,7 +159,7 @@ class PageUI:
159
159
  if pin:
160
160
  pin_obj = Pin(pin, Pin.IN, Pin.PULL_DOWN)
161
161
  # [IRQ] - event type setup
162
- pin_obj.irq(trigger=Pin.IRQ_RISING, handler=callback)
162
+ pin_obj.irq(trigger=Pin.IRQ_FALLING, handler=callback)
163
163
 
164
164
  _set("js_right", lambda pin: self.control('next'))
165
165
  _set("js_left", lambda pin: self.control('prev'))
@@ -124,18 +124,18 @@ def sun(refresh=False):
124
124
  return Sun.TIME
125
125
 
126
126
 
127
- def setclock(year, month, mday, hour, min, sec):
127
+ def setclock(year, month, mday, hour, minute, sec):
128
128
  """
129
129
  Set Localtime + RTC Clock manually
130
130
  :param year
131
131
  :param month
132
132
  :param mday
133
133
  :param hour
134
- :param min
134
+ :param minute
135
135
  :param sec
136
136
  :return: localtime
137
137
  """
138
- set_time(year, month, mday, hour, min, sec)
138
+ set_time(year, month, mday, hour, minute, sec)
139
139
  return localtime()
140
140
 
141
141
 
@@ -242,7 +242,7 @@ def help(widgets=False):
242
242
  (widgets=True) list of widget json for UI generation
243
243
  """
244
244
  return resolve(('info', 'TEXTBOX top', 'gclean', 'heartbeat', 'clock',
245
- 'setclock year month mday hour min sec',
245
+ 'setclock year month mday hour minute sec',
246
246
  'ntp', 'rssi', 'list_stations', 'pinmap key="dhtpin"/None', 'alarms clean=False',
247
247
  'notifications enable=<None,True,False>',
248
248
  'sun refresh=False', 'ifconfig', 'memory_usage',
@@ -32,6 +32,10 @@ class Notify:
32
32
  return True
33
33
  raise Exception("Subscribe error, Notify parent missing")
34
34
 
35
+ @staticmethod
36
+ def send_msg(text, reply_to=None, chat_id=None):
37
+ raise NotImplementedError("Child class must implement send_msg method")
38
+
35
39
  @staticmethod
36
40
  def message(text, reply_to=None, chat_id=None):
37
41
  """
@@ -114,7 +114,7 @@ class Client:
114
114
  console_write("[Client] NoCon: response>dev/nul")
115
115
 
116
116
  def send(self, response):
117
- # Implement in child class - synchronous send (all) method
117
+ # Optional - Implement in child class - synchronous send (all) method
118
118
  pass
119
119
 
120
120
  async def close(self):
@@ -25,7 +25,7 @@ from Debug import errlog_add
25
25
 
26
26
  class Shell:
27
27
  __slots__ = ['__devfid', '__auth_mode', '__hwuid', '__auth_ok', '__conf_mode']
28
- MICROS_VERSION = '2.9.8-0'
28
+ MICROS_VERSION = '2.9.9-0'
29
29
 
30
30
  def __init__(self):
31
31
  """
@@ -46,8 +46,8 @@ class Shell:
46
46
  errlog_add(f"[ERR] micrOS version export failed (config): {e}")
47
47
 
48
48
  async def a_send(self, msg):
49
- """ Must be defined by parent class... """
50
- pass
49
+ """ Must be defined by child class... """
50
+ raise NotImplementedError("Child class must implement a_send method")
51
51
 
52
52
  def reset(self):
53
53
  """Reset shell state"""
@@ -415,7 +415,7 @@ class Manager:
415
415
  #################################################################
416
416
  def exec_builtins(func):
417
417
  """
418
- Module execution built-in commands and modifiers
418
+ [Decorator] Module execution built-in commands and modifiers
419
419
  - modules - show active modules list
420
420
  - task kill ... - task termination
421
421
  show ... - task output dump
@@ -24,17 +24,17 @@ class Sun:
24
24
  BOOTIME = None # Initialize BOOTIME: Not SUN, but for system uptime
25
25
 
26
26
 
27
- def set_time(year, month, mday, hour, min, sec):
27
+ def set_time(year, month, mday, hour, minute, sec):
28
28
  """
29
29
  Set Localtime + RTC Clock manually + update BOOTIME/uptime
30
30
  https://docs.micropython.org/en/latest/library/machine.RTC.html
31
31
  """
32
32
  # Make time from tuple to sec
33
- time_sec = mktime((year, month, mday, hour, min, sec, 0, 0))
33
+ time_sec = mktime((year, month, mday, hour, minute, sec, 0, 0))
34
34
  # Set localtime
35
35
  localtime(time_sec)
36
36
  # Set RTC
37
- RTC().datetime((year, month, mday, 0, hour, min, sec, 0))
37
+ RTC().datetime((year, month, mday, 0, hour, minute, sec, 0))
38
38
  # (re)set uptime when settime - normally at boot time
39
39
  if Sun.BOOTIME is None:
40
40
  Sun.BOOTIME = time()
@@ -95,19 +95,18 @@ def __sun_cache(mode):
95
95
  """
96
96
  if mode == 's':
97
97
  # SAVE CACHE
98
- temp = {}
99
98
  try:
100
99
  with open('sun.pds', 'w') as f:
101
- for k, v in Sun.TIME.items():
102
- temp[k] = tuple([str(t) for t in v])
103
- f.write(';'.join([f'{k}:{"-".join(v)}' for k, v in temp.items()]))
100
+ cache = {k:tuple([str(t) for t in v]) for k, v in Sun.TIME.items()}
101
+ f.write(';'.join([f'{k}:{"-".join(v)}' for k, v in cache.items()]))
104
102
  except:
105
103
  errlog_add("[ERR] Cannot write sun cache")
106
104
  return
107
105
  try:
108
106
  # RESTORE CACHE
109
107
  with open('sun.pds', 'r') as f:
110
- buff = {data.split(':')[0]: data.split(':')[1].split('-') for data in f.read().strip().split(';')}
108
+ buff = {data.split(':')[0]: data.split(':')[1].split('-')
109
+ for data in f.read().strip().split(';')}
111
110
  for k, v in buff.items():
112
111
  Sun.TIME[k] = tuple([int(e) for e in v])
113
112
  except:
@@ -79,7 +79,6 @@ def __recovery_mode():
79
79
  reset()
80
80
 
81
81
 
82
-
83
82
  def __auto_restart_event():
84
83
  """
85
84
  Poll .if_mode value main loop in case of webrepl (background) mode:
@@ -116,7 +116,7 @@ def _parse_response(response):
116
116
  # micropython HTTP request #
117
117
  #############################################
118
118
 
119
- def request(method, url, data=None, json=None, headers=None, sock_size=256, jsonify=False):
119
+ def request(method:str, url:str, data:str=None, json=None, headers:dict=None, sock_size=256, jsonify=False):
120
120
  """
121
121
  Micropython syncronous HTTP request function for REST API handling
122
122
  :param method: GET/POST
@@ -181,7 +181,7 @@ def request(method, url, data=None, json=None, headers=None, sock_size=256, json
181
181
  # async micropython HTTP request #
182
182
  #############################################
183
183
 
184
- async def arequest(method, url, data=None, json=None, headers=None, sock_size=256, jsonify=False):
184
+ async def arequest(method:str, url:str, data:str=None, json=None, headers:dict=None, sock_size=256, jsonify=False):
185
185
  """
186
186
  Micropython asynchronous HTTP request function for REST API handling
187
187
  :param method: GET/POST
@@ -221,7 +221,12 @@ async def arequest(method, url, data=None, json=None, headers=None, sock_size=25
221
221
  except Exception as e:
222
222
  status_code = 500
223
223
  # https://github.com/micropython/micropython/blob/8785645a952c03315dbf93667b5f7c7eec49762f/cc3200/simplelink/include/device.h
224
- body = "[WARN] arequest ASSOC_REJECT" if "-104" == str(e) else f"[ERR] arequest failed: {e}"
224
+ if "-104" == str(e):
225
+ body = "[WARN] arequest: ASSOC_REJECT"
226
+ elif "ECONNABORTED" in str(e):
227
+ body = f"[WARN] arequest: {e}"
228
+ else:
229
+ body = f"[ERR] arequest: {e}"
225
230
  errlog_add(body)
226
231
  finally:
227
232
  if writer:
@@ -234,14 +239,16 @@ async def arequest(method, url, data=None, json=None, headers=None, sock_size=25
234
239
  # Implement http get/post functions #
235
240
  #############################################
236
241
 
237
- def get(url, headers={}, sock_size=256, jsonify=False):
242
+ def get(url:str, headers:dict=None, sock_size=256, jsonify=False):
238
243
  """
239
244
  GENERIC HTTP GET FUNCTION
240
245
  """
246
+ if headers is None:
247
+ headers = {}
241
248
  return request('GET', url, headers=headers, sock_size=sock_size, jsonify=jsonify)
242
249
 
243
250
 
244
- def post(url, data=None, json=None, headers={}, sock_size=256, jsonify=False):
251
+ def post(url:str, data=None, json=None, headers:dict=None, sock_size=256, jsonify=False):
245
252
  """
246
253
  GENERIC HTTP POST FUNCTION
247
254
  :param data: string body (handle bare string as data for POST method)
@@ -250,14 +257,14 @@ def post(url, data=None, json=None, headers={}, sock_size=256, jsonify=False):
250
257
  return request('POST', url, data=data, json=json, headers=headers, sock_size=sock_size, jsonify=jsonify)
251
258
 
252
259
 
253
- async def aget(url, headers={}, sock_size=256, jsonify=False):
260
+ async def aget(url:str, headers:dict=None, sock_size=256, jsonify=False):
254
261
  """
255
262
  GENERIC ASYNC HTTP GET FUNCTION
256
263
  """
257
264
  return await arequest('GET', url, headers=headers, sock_size=sock_size, jsonify=jsonify)
258
265
 
259
266
 
260
- async def apost(url, data=None, json=None, headers={}, sock_size=256, jsonify=False):
267
+ async def apost(url, data=None, json=None, headers:dict=None, sock_size=256, jsonify=False):
261
268
  """
262
269
  GENERIC ASYNC HTTP POST FUNCTION
263
270
  :param data: string body (handle bare string as data for POST method)
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: micrOSDevToolKit
3
- Version: 2.9.8
3
+ Version: 2.9.10
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
@@ -25,6 +25,15 @@ Requires-Dist: json2html
25
25
  Requires-Dist: requests
26
26
  Requires-Dist: Flask-BasicAuth
27
27
  Requires-Dist: soundfile
28
+ Dynamic: author
29
+ Dynamic: author-email
30
+ Dynamic: description
31
+ Dynamic: description-content-type
32
+ Dynamic: home-page
33
+ Dynamic: license
34
+ Dynamic: project-url
35
+ Dynamic: requires-dist
36
+ Dynamic: summary
28
37
 
29
38
  # ![LOGO](./media/logo_mini.png?raw=true) micrOS
30
39
 
@@ -78,6 +87,7 @@ Access rest api over browser: `http://<nodename>.local`
78
87
  2. micrOS Installer [link](https://github.com/BxNxM/micrOS/#installing-micros-with-devtoolkit-esp32-and-more)
79
88
  3. micrOS Tutorials [link](https://github.com/BxNxM/micrOS/#micros-video-tutorials)
80
89
  4. micrOS System and features [link](https://github.com/BxNxM/micrOS/#micros-framework-features)
90
+ 5. Built-in app modules: [link](https://htmlpreview.github.io/?https://github.com/BxNxM/micrOS/blob/master/micrOS/client/sfuncman/sfuncman.html)
81
91
  5. Pin mapping - GPIO [link](https://github.com/BxNxM/micrOS/#device-pinouts-for-wiring)
82
92
  6. micrOS Node configuration [link](https://github.com/BxNxM/micrOS/#micros-node-configuration-parameters-with-description)
83
93
  7. micrOS create custom Load Modules: [link](./APPLICATION_GUIDE.md)
@@ -370,7 +380,7 @@ LogicalPin lookup tables:
370
380
  - [raspberryPicoW](./micrOS/source/IO_rp2.py) - reset needed after ota update (webrepl limitation)
371
381
  - `IO_*.py` [etc.](./micrOS/source)
372
382
 
373
- > Note: Good idea to use costant variable for pin map declaration, check the files for more info, These files are also precompiled automatically into byte steams -> `.mpy`
383
+ > Note: Good idea to use costant variable for pin map declaration, check the files for more info, These files are also precompiled automatically into byte streams -> `.mpy`
374
384
 
375
385
  ![MicrOStinyPicopinout](./media/NodeMCUPinOutTinyPico.png?raw=true)
376
386
 
@@ -132,6 +132,9 @@ micrOS/source/urequests.py
132
132
  micrOS/source/ustyle.css
133
133
  micrOS/source/uwidgets.js
134
134
  micrOS/source/uwidgets_pro.js
135
+ micrOS/source/__pycache__/Common.cpython-312.pyc
136
+ micrOS/source/__pycache__/Logger.cpython-312.pyc
137
+ micrOS/source/__pycache__/Server.cpython-312.pyc
135
138
  micrOSDevToolKit.egg-info/PKG-INFO
136
139
  micrOSDevToolKit.egg-info/SOURCES.txt
137
140
  micrOSDevToolKit.egg-info/dependency_links.txt
@@ -143,14 +146,13 @@ toolkit/DevEnvUSB.py
143
146
  toolkit/Gateway.py
144
147
  toolkit/LM_to_compile.dat
145
148
  toolkit/MicrOSDevEnv.py
149
+ toolkit/WebRepl.py
146
150
  toolkit/__init__.py
147
151
  toolkit/img_stream.html
148
152
  toolkit/index.html
149
153
  toolkit/micrOSdashboard.py
150
154
  toolkit/micrOSlint.py
151
155
  toolkit/socketClient.py
152
- toolkit/dashboard_apps/AirQualityBME280.py
153
- toolkit/dashboard_apps/AirQualityDHT22_CO2.py
154
156
  toolkit/dashboard_apps/BackupRestore.py
155
157
  toolkit/dashboard_apps/CCTDemo.py
156
158
  toolkit/dashboard_apps/CCTTest.py
@@ -165,9 +167,11 @@ toolkit/dashboard_apps/PresenceTest.py
165
167
  toolkit/dashboard_apps/RGBTest.py
166
168
  toolkit/dashboard_apps/RoboArm.py
167
169
  toolkit/dashboard_apps/SED_test.py
170
+ toolkit/dashboard_apps/SensorsTest.py
168
171
  toolkit/dashboard_apps/SystemTest.py
169
172
  toolkit/dashboard_apps/Template_app.py
170
173
  toolkit/dashboard_apps/__init__.py
174
+ toolkit/dashboard_apps/_app_base.py
171
175
  toolkit/dashboard_apps/_capture.py
172
176
  toolkit/dashboard_apps/_micPlotting.py
173
177
  toolkit/dashboard_apps/_presencePlotting.py
@@ -2,7 +2,6 @@
2
2
  # -*- coding: utf-8 -*-
3
3
 
4
4
  import setuptools
5
- import platform
6
5
 
7
6
  # https://towardsdatascience.com/create-your-custom-python-package-that-you-can-pip-install-from-your-git-repository-f90465867893
8
7
 
@@ -18,7 +17,7 @@ dependencies = ['adafruit-ampy', 'mpremote', 'esptool', 'ipaddress', 'netaddr',
18
17
 
19
18
  setuptools.setup(
20
19
  name='micrOSDevToolKit',
21
- version='2.9.8',
20
+ version='2.9.10',
22
21
  author='Marcell Ban',
23
22
  author_email='miros.framework@gmail.com',
24
23
  description='Development and deployment environment for micrOS, the diy micropython automation OS (IoT)',
@@ -65,12 +65,13 @@ class USB(Compile):
65
65
  {'erase': '{esptool_interface} --chip esp32s3 --port {dev} erase_flash',
66
66
  'deploy': '{esptool_interface} --chip esp32s3 --port {dev} write_flash -z 0 {micropython}',
67
67
  'mpremote_cmd': 'mpremote',
68
- 'cmd_line_info': '[!!!] Fully automatic deployment.'},
68
+ 'cmd_line_info': '[!HINNT!] Press boot button under connecting the board over USB: enables flash erase'},
69
69
  'esp32s3':
70
70
  {'erase': '{esptool_interface} --chip esp32s3 --port {dev} erase_flash',
71
71
  'deploy': '{esptool_interface} --chip esp32s3 --port {dev} write_flash -z 0 {micropython}',
72
72
  'mpremote_cmd': 'mpremote',
73
- 'cmd_line_info': '[!!!] Fully automatic deployment.'},
73
+ #'ampy_cmd': 'ampy -p {dev} -b 115200 -d 2 {args}',
74
+ 'cmd_line_info': '[!HINNT!] Press boot button under connecting board over USB: enables flash erase'},
74
75
  'esp32c3':
75
76
  {'erase': '{esptool_interface} --chip esp32c3 --port {dev} erase_flash',
76
77
  'deploy': '{esptool_interface} --chip esp32c3 --port {dev} --baud 460800 write_flash -z 0x0 {micropython}',
@@ -239,7 +240,7 @@ class USB(Compile):
239
240
  # Legacy ampy command (esp32 auto reboot tolerance...)
240
241
  command = self.dev_types_and_cmds[self.selected_device_type]['ampy_cmd'].format(dev=device, args=f'put {source}')
241
242
  else:
242
- command = f'{mpremote_cmd} cp {source} :{source}'
243
+ command = f'{mpremote_cmd} fs cp {source} :{source}' # new mpremote <1.24.1
243
244
  if ' ' in source:
244
245
  self.console("[{}%][SKIP] micrOS deploy via USB: {}".format(percent, command))
245
246
  continue
@@ -614,7 +615,7 @@ class USB(Compile):
614
615
  # Legacy ampy command (esp32 auto reboot tolerance...)
615
616
  command = self.dev_types_and_cmds[self.selected_device_type]['ampy_cmd'].format(dev=device, args='get node_config.json')
616
617
  else:
617
- command = f'{mpremote_cmd} cat node_config.json'
618
+ command = f'{mpremote_cmd} fs cat node_config.json' # new mpremote <1.24.1
618
619
  if not self.dry_run:
619
620
  exitcode, stdout, stderr = LocalMachine.CommandHandler.run_command(command, shell=True)
620
621
  self._archive_node_config()
@@ -671,7 +672,7 @@ class USB(Compile):
671
672
  # Legacy ampy command (esp32 auto reboot tolerance...)
672
673
  command = self.dev_types_and_cmds[self.selected_device_type]['ampy_cmd'].format(dev=device, args='ls')
673
674
  else:
674
- command = f"{mpremote_cmd} ls"
675
+ command = f"{mpremote_cmd} fs ls" # new mpremote <1.24.1
675
676
  if not self.dry_run:
676
677
  self.console("CMD: {}".format(command))
677
678
  exitcode, stdout, stderr = LocalMachine.CommandHandler.run_command(command, shell=True, debug=False)
@@ -214,12 +214,22 @@ class MicrOSDevTool(OTA, USB):
214
214
  _url = hardcoded_manual["task"]["img"]
215
215
  hardcoded_manual['task']['img'] = f'<img src="{_url}" alt="tasks" height=150>'
216
216
  module_function_dict_html.update(hardcoded_manual)
217
- module_function_json = json.dumps(module_function_dict_html, indent=4)
218
217
  import json2html
219
218
  table_attributes = 'border="1" cellspacing="1" cellpadding="5" width="80%"'
220
- html_table = json2html.json2html.convert(json=module_function_json,
221
- table_attributes=table_attributes,
222
- clubbing=True, escape=False, encode=False)
219
+
220
+ sorted_modules_w_data = dict(sorted(module_function_dict_html.items(), key=lambda item: item[0].lower()))
221
+ module_shortcuts = ' | '.join(
222
+ f'<a href="#{mod_name.replace(" ", "_")}">{mod_name}</a>'
223
+ for mod_name in sorted_modules_w_data)
224
+ html_tables = module_shortcuts + "<br><hr><br>"
225
+ for key, value in sorted_modules_w_data.items():
226
+ anchor = key.replace(" ", "_") # Replace spaces with underscores for a valid anchor
227
+ html_tables += f'\n<br><br>\n<h2 id="{anchor}"><a href="#{anchor}">{key}</a></h2>\n'
228
+ html_tables += json2html.json2html.convert(json=value,
229
+ table_attributes=table_attributes,
230
+ clubbing=True,
231
+ escape=False,
232
+ encode=False)
223
233
 
224
234
  # http://corelangs.com/css/table/tablecolor.html
225
235
  # http://corelangs.com/css/table/tablecolor.html
@@ -267,11 +277,15 @@ Logical pin names aka pin map
267
277
  <li><a href="https://github.com/BxNxM/micrOS/blob/master/micrOS/source/IO_rp2.py" target="_blank">rp2 (experimental)</a></li>
268
278
  </ul>
269
279
 
280
+ <h2>
281
+ Built-in control modules for various peripheries.:
282
+ </h2>
283
+
270
284
  """
271
285
  html_body_end = """</body>
272
286
  </html>"""
273
287
 
274
- html_page = html_body_start + html_table + html_body_end
288
+ html_page = html_body_start + html_tables + html_body_end
275
289
  # Write html to file
276
290
  with open(static_help_html_path, 'w') as f:
277
291
  f.write(html_page)