micrOSDevToolKit 2.8.7__tar.gz → 2.9.1__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 (382) hide show
  1. {microsdevtoolkit-2.8.7/micrOSDevToolKit.egg-info → microsdevtoolkit-2.9.1}/PKG-INFO +20 -7
  2. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/README.md +19 -6
  3. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/release_info/micrOS_ReleaseInfo/system_analysis_sum.json +22 -22
  4. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/Common.py +10 -15
  5. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/Config.py +20 -1
  6. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_buzzer.py +15 -7
  7. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_genIO.py +1 -1
  8. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_neoeffects.py +22 -7
  9. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_neopixel.py +1 -1
  10. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_ph_sensor.py +2 -2
  11. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_presence.py +1 -1
  12. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_system.py +14 -3
  13. microsdevtoolkit-2.8.7/micrOS/source/Notify.py → microsdevtoolkit-2.9.1/micrOS/source/LM_telegram.py +136 -43
  14. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/Logger.py +6 -0
  15. microsdevtoolkit-2.9.1/micrOS/source/Notify.py +76 -0
  16. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/Shell.py +4 -3
  17. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/Types.py +6 -2
  18. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/Web.py +16 -3
  19. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/micrOSloader.py +16 -13
  20. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1/micrOSDevToolKit.egg-info}/PKG-INFO +20 -7
  21. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/setup.py +1 -1
  22. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/DevEnvUSB.py +2 -1
  23. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/MicrOSDevEnv.py +8 -5
  24. microsdevtoolkit-2.9.1/toolkit/workspace/precompiled/Common.mpy +0 -0
  25. microsdevtoolkit-2.9.1/toolkit/workspace/precompiled/Config.mpy +0 -0
  26. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_buzzer.mpy +0 -0
  27. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_genIO.mpy +0 -0
  28. microsdevtoolkit-2.9.1/toolkit/workspace/precompiled/LM_neoeffects.mpy +0 -0
  29. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_neopixel.mpy +0 -0
  30. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_ph_sensor.py +2 -2
  31. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_presence.mpy +0 -0
  32. microsdevtoolkit-2.9.1/toolkit/workspace/precompiled/LM_system.mpy +0 -0
  33. microsdevtoolkit-2.9.1/toolkit/workspace/precompiled/LM_telegram.mpy +0 -0
  34. microsdevtoolkit-2.9.1/toolkit/workspace/precompiled/Logger.mpy +0 -0
  35. microsdevtoolkit-2.9.1/toolkit/workspace/precompiled/Notify.mpy +0 -0
  36. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/Shell.mpy +0 -0
  37. microsdevtoolkit-2.9.1/toolkit/workspace/precompiled/Types.mpy +0 -0
  38. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/Web.mpy +0 -0
  39. microsdevtoolkit-2.9.1/toolkit/workspace/precompiled/micrOSloader.mpy +0 -0
  40. microsdevtoolkit-2.9.1/toolkit/workspace/precompiled/node_config.json +1 -0
  41. microsdevtoolkit-2.8.7/micrOS/source/LM_telegram.py +0 -129
  42. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/Common.mpy +0 -0
  43. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/Config.mpy +0 -0
  44. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/LM_neoeffects.mpy +0 -0
  45. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/LM_system.mpy +0 -0
  46. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/LM_telegram.mpy +0 -0
  47. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/Logger.mpy +0 -0
  48. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/Notify.mpy +0 -0
  49. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/Types.mpy +0 -0
  50. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/micrOSloader.mpy +0 -0
  51. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/node_config.json +0 -1
  52. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/LICENSE +0 -0
  53. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/MANIFEST.in +0 -0
  54. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/devToolKit.py +0 -0
  55. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/env/__init__.py +0 -0
  56. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/env/driver_cp210x/.DS_Store +0 -0
  57. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x64.exe +0 -0
  58. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x86.exe +0 -0
  59. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210x_Universal_Windows_Driver_ReleaseNotes.txt +0 -0
  60. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/env/driver_cp210x/CP210x_Universal_Windows_Driver/SLAB_License_Agreement_VCP_Windows.txt +0 -0
  61. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm/silabser.sys +0 -0
  62. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm64/silabser.sys +0 -0
  63. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/env/driver_cp210x/CP210x_Universal_Windows_Driver/dpinst.xml +0 -0
  64. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.cat +0 -0
  65. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.inf +0 -0
  66. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x64/silabser.sys +0 -0
  67. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x86/silabser.sys +0 -0
  68. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/env/driver_cp210x/macOS_VCP_Driver/SiLabsUSBDriverDisk.dmg +0 -0
  69. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/env/driver_cp210x/macOS_VCP_Driver/macOS_VCP_Driver_Release_Notes.txt +0 -0
  70. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/media/__init__.py +0 -0
  71. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/media/dnd.png +0 -0
  72. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/media/logo.png +0 -0
  73. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/media/logo_mini.png +0 -0
  74. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/media/usb_port_icon.png +0 -0
  75. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/media/wifi_icon.png +0 -0
  76. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/__init__.py +0 -0
  77. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/micropython/esp32-20241129-v1.24.1.bin +0 -0
  78. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/micropython/esp32c3-20240222-v1.22.2.bin +0 -0
  79. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/micropython/esp32cam-v1.21.0_camera.bin +0 -0
  80. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/micropython/esp32s2-20240602-v1.23.0.bin +0 -0
  81. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/micropython/esp32s2-LOLIN_MINI-20220618-v1.19.1.bin +0 -0
  82. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/micropython/esp32s2-LOLIN_MINI-20240602-v1.23.0.bin +0 -0
  83. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/micropython/esp32s3-20240105-v1.22.1.bin +0 -0
  84. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/micropython/esp32s3-20241129-v1.24.1.bin +0 -0
  85. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/micropython/esp32s3_spiram_oct-20231005-v1.21.0.bin +0 -0
  86. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/micropython/esp32s3_spiram_oct-20241129-v1.24.1.bin +0 -0
  87. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/micropython/rpi-pico-w-20241129-v1.24.1.uf2 +0 -0
  88. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/micropython/tinypico-20241129-v1.24.1.bin +0 -0
  89. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/.DS_Store +0 -0
  90. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/Debug.py +0 -0
  91. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/Espnow.py +0 -0
  92. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/Hooks.py +0 -0
  93. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/IO_esp32.py +0 -0
  94. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/IO_esp32c3.py +0 -0
  95. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/IO_esp32s2.py +0 -0
  96. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/IO_esp32s3.py +0 -0
  97. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/IO_m5stamp.py +0 -0
  98. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/IO_qtpy.py +0 -0
  99. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/IO_rp2.py +0 -0
  100. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/IO_tinypico.py +0 -0
  101. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/InterConnect.py +0 -0
  102. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/Interrupts.py +0 -0
  103. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_L298N_DCmotor.py +0 -0
  104. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_L9110_DCmotor.py +0 -0
  105. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_OV2640.py +0 -0
  106. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_VL53L0X.py +0 -0
  107. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_aht10.py +0 -0
  108. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_bme280.py +0 -0
  109. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_catgame.py +0 -0
  110. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_cct.py +0 -0
  111. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_co2.py +0 -0
  112. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_dashboard_be.py +0 -0
  113. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_demo.py +0 -0
  114. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_dht11.py +0 -0
  115. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_dht22.py +0 -0
  116. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_dimmer.py +0 -0
  117. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_distance.py +0 -0
  118. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_ds18.py +0 -0
  119. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_esp32.py +0 -0
  120. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_espnow.py +0 -0
  121. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_gameOfLife.py +0 -0
  122. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_haptic.py +0 -0
  123. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_i2c.py +0 -0
  124. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_i2s_mic.py +0 -0
  125. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_intercon.py +0 -0
  126. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_keychain.py +0 -0
  127. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_ld2410.py +0 -0
  128. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_light_sensor.py +0 -0
  129. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_lmpacman.py +0 -0
  130. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_oled.py +0 -0
  131. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_oled_sh1106.py +0 -0
  132. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_oled_ui.py +0 -0
  133. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_oledui.py +0 -0
  134. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_pet_feeder.py +0 -0
  135. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_rencoder.py +0 -0
  136. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_rest.py +0 -0
  137. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_rgb.py +0 -0
  138. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_rgbcct.py +0 -0
  139. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_roboarm.py +0 -0
  140. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_robustness.py +0 -0
  141. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_rp2w.py +0 -0
  142. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_sdcard.py +0 -0
  143. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_servo.py +0 -0
  144. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_sound_event.py +0 -0
  145. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_stepper.py +0 -0
  146. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_switch.py +0 -0
  147. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_tinyrgb.py +0 -0
  148. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_trackball.py +0 -0
  149. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/LM_veml7700.py +0 -0
  150. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/Network.py +0 -0
  151. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/Scheduler.py +0 -0
  152. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/Server.py +0 -0
  153. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/Tasks.py +0 -0
  154. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/Time.py +0 -0
  155. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/dashboard.html +0 -0
  156. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/index.html +0 -0
  157. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/main.py +0 -0
  158. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/micrOS.py +0 -0
  159. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/microIO.py +0 -0
  160. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/reset.py +0 -0
  161. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/uapi.js +0 -0
  162. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/udashboard.js +0 -0
  163. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/urequests.py +0 -0
  164. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/ustyle.css +0 -0
  165. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/uwidgets.js +0 -0
  166. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOS/source/uwidgets_pro.js +0 -0
  167. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOSDevToolKit.egg-info/SOURCES.txt +0 -0
  168. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOSDevToolKit.egg-info/dependency_links.txt +0 -0
  169. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOSDevToolKit.egg-info/requires.txt +0 -0
  170. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/micrOSDevToolKit.egg-info/top_level.txt +0 -0
  171. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/setup.cfg +0 -0
  172. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/DevEnvCompile.py +0 -0
  173. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/DevEnvOTA.py +0 -0
  174. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/Gateway.py +0 -0
  175. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/LM_to_compile.dat +0 -0
  176. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/__init__.py +0 -0
  177. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/dashboard_apps/AirQualityBME280.py +0 -0
  178. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/dashboard_apps/AirQualityDHT22_CO2.py +0 -0
  179. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/dashboard_apps/BackupRestore.py +0 -0
  180. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/dashboard_apps/CCTDemo.py +0 -0
  181. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/dashboard_apps/CCTTest.py +0 -0
  182. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/dashboard_apps/CamStream.py +0 -0
  183. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/dashboard_apps/CatGame.py +0 -0
  184. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/dashboard_apps/Dimmer.py +0 -0
  185. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/dashboard_apps/GetVersion.py +0 -0
  186. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/dashboard_apps/MicrophoneTest.py +0 -0
  187. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/dashboard_apps/NeoEffectsDemo.py +0 -0
  188. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/dashboard_apps/NeopixelTest.py +0 -0
  189. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/dashboard_apps/PresenceTest.py +0 -0
  190. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/dashboard_apps/RGBTest.py +0 -0
  191. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/dashboard_apps/RoboArm.py +0 -0
  192. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/dashboard_apps/SED_test.py +0 -0
  193. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/dashboard_apps/SystemTest.py +0 -0
  194. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/dashboard_apps/Template_app.py +0 -0
  195. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/dashboard_apps/__init__.py +0 -0
  196. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/dashboard_apps/_capture.py +0 -0
  197. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/dashboard_apps/_micPlotting.py +0 -0
  198. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/dashboard_apps/_presencePlotting.py +0 -0
  199. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/dashboard_apps/uLightDemo.py +0 -0
  200. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/img_stream.html +0 -0
  201. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/index.html +0 -0
  202. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/lib/LocalMachine.py +0 -0
  203. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/lib/SafeInput.py +0 -0
  204. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/lib/SearchDevices.py +0 -0
  205. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/lib/SerialDriverHandler.py +0 -0
  206. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/lib/TerminalColors.py +0 -0
  207. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/lib/__init__.py +0 -0
  208. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/lib/file_extensions.py +0 -0
  209. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/lib/macroScript.py +0 -0
  210. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/lib/micrOSClient.py +0 -0
  211. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/lib/pip_package_installer.py +0 -0
  212. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/micrOSdashboard.py +0 -0
  213. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/micrOSlint.py +0 -0
  214. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/.DS_Store +0 -0
  215. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/IO_darwin.py +0 -0
  216. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/IO_darwin.cpython-312.pyc +0 -0
  217. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/camera.cpython-312.pyc +0 -0
  218. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/dht.cpython-312.pyc +0 -0
  219. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/dht.cpython-39.pyc +0 -0
  220. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/dotstar.cpython-312.pyc +0 -0
  221. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/dotstar.cpython-38.pyc +0 -0
  222. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/dotstar.cpython-39.pyc +0 -0
  223. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-312.pyc +0 -0
  224. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-38.pyc +0 -0
  225. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-39.pyc +0 -0
  226. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/esp32.cpython-312.pyc +0 -0
  227. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/esp32.cpython-38.pyc +0 -0
  228. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/esp32.cpython-39.pyc +0 -0
  229. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/framebuf.cpython-312.pyc +0 -0
  230. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/framebuf.cpython-38.pyc +0 -0
  231. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/framebuf.cpython-39.pyc +0 -0
  232. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/machine.cpython-312.pyc +0 -0
  233. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/machine.cpython-38.pyc +0 -0
  234. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/machine.cpython-39.pyc +0 -0
  235. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/micropython.cpython-312.pyc +0 -0
  236. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/micropython.cpython-38.pyc +0 -0
  237. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/micropython.cpython-39.pyc +0 -0
  238. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/neopixel.cpython-312.pyc +0 -0
  239. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/neopixel.cpython-38.pyc +0 -0
  240. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/neopixel.cpython-39.pyc +0 -0
  241. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/network.cpython-312.pyc +0 -0
  242. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/network.cpython-38.pyc +0 -0
  243. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/network.cpython-39.pyc +0 -0
  244. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/ntptime.cpython-312.pyc +0 -0
  245. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/onewire.cpython-312.pyc +0 -0
  246. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/onewire.cpython-38.pyc +0 -0
  247. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/onewire.cpython-39.pyc +0 -0
  248. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/sim_console.cpython-312.pyc +0 -0
  249. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/sim_console.cpython-38.pyc +0 -0
  250. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/sim_console.cpython-39.pyc +0 -0
  251. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/simgc.cpython-312.pyc +0 -0
  252. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/simgc.cpython-38.pyc +0 -0
  253. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/simgc.cpython-39.pyc +0 -0
  254. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/simulator.cpython-312.pyc +0 -0
  255. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/simulator.cpython-38.pyc +0 -0
  256. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/simulator.cpython-39.pyc +0 -0
  257. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/tinypico.cpython-312.pyc +0 -0
  258. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/tinypico.cpython-38.pyc +0 -0
  259. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/tinypico.cpython-39.pyc +0 -0
  260. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-312.pyc +0 -0
  261. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-38.pyc +0 -0
  262. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-39.pyc +0 -0
  263. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/usocket.cpython-312.pyc +0 -0
  264. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/ussl.cpython-312.pyc +0 -0
  265. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/ustruct.cpython-312.pyc +0 -0
  266. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/ustruct.cpython-39.pyc +0 -0
  267. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/utime.cpython-312.pyc +0 -0
  268. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/utime.cpython-38.pyc +0 -0
  269. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/utime.cpython-39.pyc +0 -0
  270. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/webrepl.cpython-312.pyc +0 -0
  271. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/webrepl.cpython-38.pyc +0 -0
  272. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/__pycache__/webrepl.cpython-39.pyc +0 -0
  273. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/camera.py +0 -0
  274. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/dht.py +0 -0
  275. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/dotstar.py +0 -0
  276. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/ds18x20.py +0 -0
  277. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/esp32.py +0 -0
  278. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/framebuf.py +0 -0
  279. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/machine.py +0 -0
  280. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/micropython.py +0 -0
  281. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/neopixel.py +0 -0
  282. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/network.py +0 -0
  283. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/node_config.json +0 -0
  284. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/ntptime.py +0 -0
  285. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/onewire.py +0 -0
  286. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/sim_console.py +0 -0
  287. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/simgc.py +0 -0
  288. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/simulator.py +0 -0
  289. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/tinypico.py +0 -0
  290. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/uasyncio.py +0 -0
  291. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/usocket.py +0 -0
  292. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/ussl.py +0 -0
  293. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/ustruct.py +0 -0
  294. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/utime.py +0 -0
  295. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/view01.jpg +0 -0
  296. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/view02.jpg +0 -0
  297. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/simulator_lib/webrepl.py +0 -0
  298. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/socketClient.py +0 -0
  299. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/user_data/.include +0 -0
  300. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/user_data/webhooks/generic.py +0 -0
  301. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/user_data/webhooks/macro.py +0 -0
  302. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/user_data/webhooks/template.macro +0 -0
  303. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/user_data/webhooks/template.py +0 -0
  304. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/__init__.py +0 -0
  305. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/Debug.mpy +0 -0
  306. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/Espnow.mpy +0 -0
  307. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/Hooks.mpy +0 -0
  308. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/IO_esp32.mpy +0 -0
  309. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/IO_esp32c3.mpy +0 -0
  310. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/IO_esp32s2.mpy +0 -0
  311. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/IO_esp32s3.mpy +0 -0
  312. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/IO_m5stamp.mpy +0 -0
  313. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/IO_qtpy.mpy +0 -0
  314. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/IO_rp2.mpy +0 -0
  315. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/IO_tinypico.mpy +0 -0
  316. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/InterConnect.mpy +0 -0
  317. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/Interrupts.mpy +0 -0
  318. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_L298N_DCmotor.mpy +0 -0
  319. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_L9110_DCmotor.py +0 -0
  320. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_OV2640.mpy +0 -0
  321. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_VL53L0X.py +0 -0
  322. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_aht10.mpy +0 -0
  323. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_bme280.mpy +0 -0
  324. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_catgame.py +0 -0
  325. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_cct.mpy +0 -0
  326. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_co2.mpy +0 -0
  327. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_dashboard_be.py +0 -0
  328. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_demo.py +0 -0
  329. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_dht11.mpy +0 -0
  330. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_dht22.mpy +0 -0
  331. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_dimmer.mpy +0 -0
  332. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_distance.mpy +0 -0
  333. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_ds18.mpy +0 -0
  334. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_esp32.py +0 -0
  335. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_espnow.py +0 -0
  336. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_gameOfLife.mpy +0 -0
  337. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_haptic.mpy +0 -0
  338. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_i2c.py +0 -0
  339. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_i2s_mic.mpy +0 -0
  340. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_intercon.mpy +0 -0
  341. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_keychain.mpy +0 -0
  342. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_ld2410.mpy +0 -0
  343. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_light_sensor.mpy +0 -0
  344. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_lmpacman.mpy +0 -0
  345. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_oled.mpy +0 -0
  346. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_oled_sh1106.mpy +0 -0
  347. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_oled_ui.mpy +0 -0
  348. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_oledui.mpy +0 -0
  349. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_pet_feeder.py +0 -0
  350. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_rencoder.py +0 -0
  351. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_rest.mpy +0 -0
  352. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_rgb.mpy +0 -0
  353. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_rgbcct.mpy +0 -0
  354. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_roboarm.mpy +0 -0
  355. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_robustness.py +0 -0
  356. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_rp2w.py +0 -0
  357. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_sdcard.py +0 -0
  358. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_servo.mpy +0 -0
  359. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_sound_event.mpy +0 -0
  360. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_stepper.mpy +0 -0
  361. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_switch.mpy +0 -0
  362. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_tinyrgb.mpy +0 -0
  363. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_trackball.mpy +0 -0
  364. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/LM_veml7700.mpy +0 -0
  365. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/Network.mpy +0 -0
  366. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/Scheduler.mpy +0 -0
  367. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/Server.mpy +0 -0
  368. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/Tasks.mpy +0 -0
  369. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/Time.mpy +0 -0
  370. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/_mpy.version +0 -0
  371. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/dashboard.html +0 -0
  372. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/index.html +0 -0
  373. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/main.py +0 -0
  374. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/micrOS.mpy +0 -0
  375. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/microIO.mpy +0 -0
  376. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/reset.mpy +0 -0
  377. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/uapi.js +0 -0
  378. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/udashboard.js +0 -0
  379. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/urequests.mpy +0 -0
  380. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/ustyle.css +0 -0
  381. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/toolkit/workspace/precompiled/uwidgets.js +0 -0
  382. {microsdevtoolkit-2.8.7 → microsdevtoolkit-2.9.1}/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.8.7
3
+ Version: 2.9.1
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
@@ -28,7 +28,7 @@ Requires-Dist: soundfile
28
28
 
29
29
  # ![LOGO](./media/logo_mini.png?raw=true) micrOS
30
30
 
31
- > **"Simple, yet increadbly useful."**
31
+ > **"The mini yet powerful operating system for DIY projects."**
32
32
 
33
33
  ![telnet](https://img.shields.io/badge/wifi-telnet-blue) ![esp32S2](https://img.shields.io/badge/esp32-S2-olive) ![tinypico](https://img.shields.io/badge/esp32-tinypico-olive) ![esp32S3](https://img.shields.io/badge/esp32-S3-olive) ![esp32S3](https://img.shields.io/badge/esp32-S3_RAM-olive) ![PYQT](https://img.shields.io/badge/esp32-PYQT-olive) ![raspberry-pico-w](https://img.shields.io/badge/raspberry-pico_W-critical) ![espCAM-esp-s](https://img.shields.io/badge/esp32-CAM_OV2640-olive) ![esp32-c3](https://img.shields.io/badge/esp32-C3_RISCV-olive) ![OTA](https://img.shields.io/badge/ota-update-blue) ![GPIO](https://img.shields.io/badge/gpio-i2c-success) ![clock](https://img.shields.io/badge/rtc-ntp-success) ![async](https://img.shields.io/badge/async-task_manager-success) ![irq](https://img.shields.io/badge/hardware-IRQs-success) ![socket](https://img.shields.io/badge/socket-STA_or_AP-blue) ![cron](https://img.shields.io/badge/scheduling-cron-success) ![stable](https://img.shields.io/badge/stabile-master_HEAD-success) ![stable](https://img.shields.io/badge/micropython-OS-gold)<br/>
34
34
 
@@ -107,13 +107,23 @@ I would suggest to use micrOS GUI as a primary interface for micrOS development
107
107
 
108
108
  <br/>
109
109
 
110
- ### 1. Install python3.9+
110
+ ## 1. Prerequisites
111
+
112
+ ### 1.1 Install python3.9+
111
113
 
112
114
  Link for python 3.9+ [download](https://www.python.org/downloads/release/python-390/)
113
115
 
114
116
  > Note: **Allow extend system path** with that python version (installation parameter) </br>
115
117
  > On **Windows**: RUN AS ADMINISTARTOR
116
118
 
119
+ ### 1.2 Install git
120
+
121
+ Link for git [download](https://git-scm.com/downloads)
122
+
123
+ > Git is a distributed version control system that helps developers track changes, collaborate on code, and manage project history efficiently.
124
+
125
+ It is needed to be able to download webrepl client (automatic), that is used for OverTheAir file transfers and other features.
126
+
117
127
  ----------------------------------------
118
128
 
119
129
  ### 2. Install micrOS devToolKit GUI
@@ -481,17 +491,20 @@ Version **3.0.0-0**
481
491
  Core:
482
492
  - Async SSL/TLS integration (micropython 1.22+ required)
483
493
  - urequest module async redesign for rest clients
484
- - Notify (telegram) + server (listener - chatbot)
494
+ - LM_telegram (Notify) + server (listener - chatbot)
485
495
  - Time (ntp location + sunset/sunrise api)
496
+ - ESP-NOW (peer-to-peer communication) integration into InterCon
497
+ - ??? New intercon syntax ???:
498
+ - rgb toggle >>RingLight.local
499
+ - similar as: intercon sendcmd host="RingLight.local" cmd="rgb toggle"
486
500
  ```
487
501
 
488
502
  Version **3.1.0-0**
489
503
 
490
504
  ```
491
505
  Core:
492
- - Async socket SSL/TLS integration (with auth.)
493
- - WebCli (http), ShellCli (terminal) and InterCon
494
- - Study of ESP-NOW (peer-to-peer communication) integration into InterCon (micropython requirements?)
506
+ - Async socket servers with SSL/TLS integration (with auth.)
507
+ - WebCli (https?), ShellCli (ssocket/sterminal) and InterCon
495
508
  ```
496
509
 
497
510
  Version **4.0.0-0**
@@ -1,6 +1,6 @@
1
1
  # ![LOGO](./media/logo_mini.png?raw=true) micrOS
2
2
 
3
- > **"Simple, yet increadbly useful."**
3
+ > **"The mini yet powerful operating system for DIY projects."**
4
4
 
5
5
  ![telnet](https://img.shields.io/badge/wifi-telnet-blue) ![esp32S2](https://img.shields.io/badge/esp32-S2-olive) ![tinypico](https://img.shields.io/badge/esp32-tinypico-olive) ![esp32S3](https://img.shields.io/badge/esp32-S3-olive) ![esp32S3](https://img.shields.io/badge/esp32-S3_RAM-olive) ![PYQT](https://img.shields.io/badge/esp32-PYQT-olive) ![raspberry-pico-w](https://img.shields.io/badge/raspberry-pico_W-critical) ![espCAM-esp-s](https://img.shields.io/badge/esp32-CAM_OV2640-olive) ![esp32-c3](https://img.shields.io/badge/esp32-C3_RISCV-olive) ![OTA](https://img.shields.io/badge/ota-update-blue) ![GPIO](https://img.shields.io/badge/gpio-i2c-success) ![clock](https://img.shields.io/badge/rtc-ntp-success) ![async](https://img.shields.io/badge/async-task_manager-success) ![irq](https://img.shields.io/badge/hardware-IRQs-success) ![socket](https://img.shields.io/badge/socket-STA_or_AP-blue) ![cron](https://img.shields.io/badge/scheduling-cron-success) ![stable](https://img.shields.io/badge/stabile-master_HEAD-success) ![stable](https://img.shields.io/badge/micropython-OS-gold)<br/>
6
6
 
@@ -79,13 +79,23 @@ I would suggest to use micrOS GUI as a primary interface for micrOS development
79
79
 
80
80
  <br/>
81
81
 
82
- ### 1. Install python3.9+
82
+ ## 1. Prerequisites
83
+
84
+ ### 1.1 Install python3.9+
83
85
 
84
86
  Link for python 3.9+ [download](https://www.python.org/downloads/release/python-390/)
85
87
 
86
88
  > Note: **Allow extend system path** with that python version (installation parameter) </br>
87
89
  > On **Windows**: RUN AS ADMINISTARTOR
88
90
 
91
+ ### 1.2 Install git
92
+
93
+ Link for git [download](https://git-scm.com/downloads)
94
+
95
+ > Git is a distributed version control system that helps developers track changes, collaborate on code, and manage project history efficiently.
96
+
97
+ It is needed to be able to download webrepl client (automatic), that is used for OverTheAir file transfers and other features.
98
+
89
99
  ----------------------------------------
90
100
 
91
101
  ### 2. Install micrOS devToolKit GUI
@@ -453,17 +463,20 @@ Version **3.0.0-0**
453
463
  Core:
454
464
  - Async SSL/TLS integration (micropython 1.22+ required)
455
465
  - urequest module async redesign for rest clients
456
- - Notify (telegram) + server (listener - chatbot)
466
+ - LM_telegram (Notify) + server (listener - chatbot)
457
467
  - Time (ntp location + sunset/sunrise api)
468
+ - ESP-NOW (peer-to-peer communication) integration into InterCon
469
+ - ??? New intercon syntax ???:
470
+ - rgb toggle >>RingLight.local
471
+ - similar as: intercon sendcmd host="RingLight.local" cmd="rgb toggle"
458
472
  ```
459
473
 
460
474
  Version **3.1.0-0**
461
475
 
462
476
  ```
463
477
  Core:
464
- - Async socket SSL/TLS integration (with auth.)
465
- - WebCli (http), ShellCli (terminal) and InterCon
466
- - Study of ESP-NOW (peer-to-peer communication) integration into InterCon (micropython requirements?)
478
+ - Async socket servers with SSL/TLS integration (with auth.)
479
+ - WebCli (https?), ShellCli (ssocket/sterminal) and InterCon
467
480
  ```
468
481
 
469
482
  Version **4.0.0-0**
@@ -5,7 +5,7 @@
5
5
  7
6
6
  ],
7
7
  "micrOSloader.py": [
8
- 7.84,
8
+ 8.0,
9
9
  1
10
10
  ],
11
11
  "Hooks.py": [
@@ -17,7 +17,7 @@
17
17
  3
18
18
  ],
19
19
  "Web.py": [
20
- 9.23,
20
+ 9.25,
21
21
  1
22
22
  ],
23
23
  "Tasks.py": [
@@ -25,8 +25,8 @@
25
25
  12
26
26
  ],
27
27
  "Config.py": [
28
- 9.44,
29
- 16
28
+ 9.49,
29
+ 17
30
30
  ],
31
31
  "reset.py": [
32
32
  8.75,
@@ -37,20 +37,20 @@
37
37
  1
38
38
  ],
39
39
  "Notify.py": [
40
- 9.26,
41
- 2
40
+ 8.38,
41
+ 3
42
42
  ],
43
43
  "Types.py": [
44
- 8.87,
45
- 28
44
+ 8.91,
45
+ 29
46
46
  ],
47
47
  "Logger.py": [
48
- 8.57,
48
+ 8.78,
49
49
  4
50
50
  ],
51
51
  "Common.py": [
52
- 8.48,
53
- 33
52
+ 8.71,
53
+ 34
54
54
  ],
55
55
  "InterConnect.py": [
56
56
  9.4,
@@ -62,7 +62,7 @@
62
62
  ],
63
63
  "Network.py": [
64
64
  9.71,
65
- 9
65
+ 8
66
66
  ],
67
67
  "Espnow.py": [
68
68
  9.01,
@@ -109,8 +109,8 @@
109
109
  0
110
110
  ],
111
111
  "LM_system.py": [
112
- 8.31,
113
- 4
112
+ 8.36,
113
+ 5
114
114
  ],
115
115
  "LM_robustness.py": [
116
116
  7.57,
@@ -145,7 +145,7 @@
145
145
  0
146
146
  ],
147
147
  "LM_buzzer.py": [
148
- 8.9,
148
+ 8.88,
149
149
  0
150
150
  ],
151
151
  "LM_switch.py": [
@@ -185,7 +185,7 @@
185
185
  0
186
186
  ],
187
187
  "LM_neoeffects.py": [
188
- 6.71,
188
+ 6.86,
189
189
  0
190
190
  ],
191
191
  "LM_i2c.py": [
@@ -237,7 +237,7 @@
237
237
  0
238
238
  ],
239
239
  "LM_telegram.py": [
240
- 9.02,
240
+ 9.53,
241
241
  0
242
242
  ],
243
243
  "LM_OV2640.py": [
@@ -315,11 +315,11 @@
315
315
  },
316
316
  "summary": {
317
317
  "core": [
318
- 3390,
318
+ 3276,
319
319
  23
320
320
  ],
321
321
  "load": [
322
- 8732,
322
+ 8939,
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.07,
334
- "load_score": 8.2,
335
- "version": "2.8.4-0"
333
+ "core_score": 9.06,
334
+ "load_score": 8.22,
335
+ "version": "2.9.1-0"
336
336
  }
337
337
  }
@@ -9,8 +9,7 @@ from Logger import logger, log_get
9
9
  from microIO import resolve_pin
10
10
  from Tasks import TaskBase, Manager, lm_exec
11
11
  from machine import Pin, ADC
12
-
13
- TELEGRAM = None
12
+ from Notify import Notify
14
13
 
15
14
  ################## Common LM features ##################
16
15
 
@@ -78,7 +77,7 @@ class SmartADC:
78
77
  return {'raw': raw, 'percent': round(percent*100, 1), 'volt': volt}
79
78
 
80
79
  @staticmethod
81
- def get_singleton(pin): # TODO: rename to get_instance
80
+ def get_instance(pin):
82
81
  if pin in SmartADC.OBJS.keys():
83
82
  return SmartADC.OBJS[pin]
84
83
  SmartADC.OBJS[pin] = SmartADC(pin)
@@ -141,22 +140,18 @@ def exec_cmd(cmd, skip_check=False):
141
140
  return lm_exec(cmd) if isinstance(cmd, list) else False, f"Invalid type, must be list: {type(cmd)}"
142
141
 
143
142
 
144
- def notify(text):
143
+ def notify(text=None) -> bool:
145
144
  """
146
145
  [LM] micrOS common notification handler (Telegram)
147
- :param text: notification text
146
+ :param text: notification text / None (return notification state)
148
147
  return: verdict: True/False
149
148
  """
150
- global TELEGRAM
151
- if TELEGRAM is None:
152
- try:
153
- from Notify import Telegram
154
- TELEGRAM = Telegram()
155
- except Exception as e:
156
- errlog_add(f"[ERR] Import Notify.Telegram: {e}")
157
- return False
149
+ # (1) Return notification state
150
+ if text is None:
151
+ return Notify.GLOBAL_NOTIFY
152
+ # (2) Send notification
158
153
  try:
159
- out = TELEGRAM.notify(text)
154
+ out = Notify.notify(text)
160
155
  except Exception as e:
161
156
  errlog_add(f"[ERR] Notify: {e}")
162
157
  out = str(e)
@@ -165,7 +160,7 @@ def notify(text):
165
160
  return False
166
161
 
167
162
 
168
- def web_endpoint(endpoint, function):
163
+ def web_endpoint(endpoint, function) -> bool:
169
164
  """
170
165
  [LM] Add test endpoint <localhost.local>/endpoint from Load Modules
171
166
  :param endpoint: simple string, name of the endpoint
@@ -13,6 +13,7 @@ Designed by Marcell Ban aka BxNxM
13
13
  # IMPORTS #
14
14
  #################################################################
15
15
  from os import remove
16
+ from re import search
16
17
  from json import load, dump
17
18
  from utime import sleep
18
19
  from Debug import DebugCfg, console_write, errlog_add
@@ -185,6 +186,21 @@ class Data:
185
186
  # Return default value if key not exists
186
187
  return 'n/a'
187
188
 
189
+ @staticmethod
190
+ def validate_pwd(password):
191
+ """
192
+ Validate appwd parameter
193
+ - webrepl password
194
+ - micrOS auth password (Shell/WebCli)
195
+ - wifi access point password
196
+ """
197
+ # Check password rules
198
+ if 4 <= len(password) <= 9:
199
+ if search(r"[A-Z]", password) and search(r"[a-z]", password):
200
+ if search(r"\d", password):
201
+ return True, ''
202
+ return False, 'Password must include [0-9] both [a-z][A-Z] and length between 4-9 char.'
203
+
188
204
 
189
205
  #################################################################
190
206
  # CONFIGHANDLER FUNCTIONS #
@@ -204,8 +220,11 @@ def cfgget(key=None):
204
220
  errlog_add(f'[ERR] cfgget {key} error: {e}')
205
221
  return None
206
222
 
207
-
208
223
  def cfgput(key, value, type_check=False):
224
+ if key == 'appwd':
225
+ is_valid, verdict = Data.validate_pwd(value)
226
+ if not is_valid:
227
+ raise Exception(verdict)
209
228
  # Handle special "offloaded" keys
210
229
  if str(Data.CONFIG_CACHE.get(key, None)) == '...':
211
230
  return Data.disk_keys(key, value)
@@ -1,7 +1,7 @@
1
1
  from sys import platform
2
2
  from utime import sleep
3
3
  from microIO import resolve_pin, pinmap_search
4
- from Common import micro_task
4
+ from Common import micro_task, notify
5
5
  from Types import resolve
6
6
 
7
7
 
@@ -13,6 +13,7 @@ __BUZZER_OBJ = None
13
13
  __BUZZER_CACHE = [600]
14
14
  __PERSISTENT_CACHE = False
15
15
  __TASK_TAG = "buzzer._play"
16
+ CHECK_NOTIFY = False
16
17
 
17
18
  #########################################
18
19
  # BUZZER RTTL #
@@ -229,7 +230,9 @@ def bipp(repeat=1, freq=None):
229
230
  :param freq int: 0-1000 default: 600
230
231
  :return str: Verdict string
231
232
  """
232
- global __BUZZER_CACHE
233
+ global __BUZZER_CACHE, CHECK_NOTIFY
234
+ if CHECK_NOTIFY and not notify():
235
+ return "NoBipp - notify off"
233
236
  # restore data from cache if it was not provided
234
237
  freq = int(__BUZZER_CACHE[0] if freq is None else freq)
235
238
  for _ in range(repeat):
@@ -264,6 +267,9 @@ def play(rtttlstr='Indiana'):
264
267
  :param rtttlstr str: rttl string, default: 'd=4,o=5,b=250:e,8p,8f,8g,8p,1c6,8p.,d,8p,8e,1f,p.'
265
268
  :return str: verdict
266
269
  """
270
+ global CHECK_NOTIFY
271
+ if CHECK_NOTIFY and not notify():
272
+ return "NoBipp - notify off"
267
273
  state = micro_task(tag=__TASK_TAG, task=_play(rtttlstr))
268
274
  if state:
269
275
  return 'Play song'
@@ -277,22 +283,24 @@ def list_tones():
277
283
  return '\n'.join(list(_builtin_tones()))
278
284
 
279
285
 
280
- def load(cache=None):
286
+ def load(cache=None, check_notify=False):
281
287
  """
282
288
  Initialize buzzer module
283
289
  :param cache bool: file state machine cache: True/False/None(default: automatic True)
284
290
  - Load .pds (state machine cache) for this load module
285
291
  - Apply loaded states to gpio pins (boot function)
286
- :return str: Cache state
292
+ :param check_notify: check notify enabled/disabled - make noise if enabled only
293
+ :return str: Verdict
287
294
  """
288
295
  from sys import platform
289
- global __PERSISTENT_CACHE
296
+ global __PERSISTENT_CACHE, CHECK_NOTIFY
290
297
  if cache is None:
291
298
  __PERSISTENT_CACHE = False if platform == 'esp8266' else True
292
299
  else:
293
300
  __PERSISTENT_CACHE = cache
294
301
  __persistent_cache_manager('r')
295
- return "CACHE: {}".format(__PERSISTENT_CACHE)
302
+ CHECK_NOTIFY = check_notify
303
+ return f"CACHE: {__PERSISTENT_CACHE}, check notify: {CHECK_NOTIFY}"
296
304
 
297
305
 
298
306
  #######################
@@ -319,4 +327,4 @@ def help(widgets=False):
319
327
  return resolve(('BUTTON bipp repeat=3 freq=600',
320
328
  'BUTTON play rtttlstr=<Indiana,TakeOnMe,StarWars,MissionImp>',
321
329
  'list_tones',
322
- 'load', 'pinmap'), widgets=widgets)
330
+ 'load check_notify=False', 'pinmap'), widgets=widgets)
@@ -124,7 +124,7 @@ def get_adc(pin, key=None):
124
124
  if isinstance(pin, int):
125
125
  pin_tag = f"ADC{pin}"
126
126
  pin = register_pin(pin_tag, pin)
127
- data = SmartADC.get_singleton(pin).get()
127
+ data = SmartADC.get_instance(pin).get()
128
128
  data["pin"] = pin
129
129
  if key is None:
130
130
  return data
@@ -1,5 +1,7 @@
1
1
  from LM_neopixel import load, segment, Data, status, pinmap as pm
2
2
  from random import randint
3
+ from Types import resolve
4
+ from Common import manage_task
3
5
 
4
6
 
5
7
  #################################
@@ -285,6 +287,13 @@ def fire(r=None, g=None, b=None, ledcnt=24):
285
287
  effect.draw(cgen, shift=False)
286
288
  return 'fire R{}:G{}:B{} N:{}'.format(r, g, b, effect.pix_cnt)
287
289
 
290
+
291
+ def stop_effects():
292
+ """
293
+ Stop all running (neo)effects tasks
294
+ """
295
+ return manage_task("neoeffects.*", "kill")
296
+
288
297
  #######################
289
298
  # LM helper functions #
290
299
  #######################
@@ -307,10 +316,16 @@ def help(widgets=False):
307
316
  (widgets=False) list of functions implemented by this application
308
317
  (widgets=True) list of widget json for UI generation
309
318
  """
310
- return 'meteor r=<0-255> g=<0-255> b=<0-255> shift=True ledcnt=24',\
311
- 'cycle r g b shift=True ledcnt=24',\
312
- 'rainbow step=1 br=<5-100> ledcnt=24',\
313
- 'fire r=None g=None b=None ledcnt=24',\
314
- 'shader size=4 offset=0 shift=True ledcnt=24',\
315
- 'random max_val=255',\
316
- 'color r g b', 'pinmap'
319
+ return resolve(('meteor r=<0-255> g=<0-255> b=<0-255> shift=True ledcnt=24',
320
+ 'BUTTON meteor &&',
321
+ 'cycle r g b shift=True ledcnt=24',
322
+ 'BUTTON cycle &&50',
323
+ 'rainbow step=1 br=<5-100> ledcnt=24 &&',
324
+ 'BUTTON rainbow br=50 &&',
325
+ 'fire r=None g=None b=None ledcnt=24',
326
+ 'BUTTON fire &&200',
327
+ 'BUTTON stop_effects',
328
+ 'shader size=4 offset=0 shift=True ledcnt=24',
329
+ 'random max_val=255',
330
+ 'pinmap',
331
+ 'COLOR color r=<0-255-10> g b'), widgets=widgets)
@@ -345,7 +345,7 @@ def help(widgets=False):
345
345
  'BUTTON toggle state=<True,False> smooth=True',
346
346
  'load ledcnt=24',
347
347
  'SLIDER brightness percent=<0-100> smooth=True wake=True',
348
- 'COLOR segment r g b s=<0-n>',
348
+ 'segment r g b s=<0-n>',
349
349
  'transition r g b sec=1.0 wake=False',
350
350
  'BUTTON random smooth=True max_val=254',
351
351
  'status',
@@ -12,7 +12,7 @@ ADC.ATTN_11DB — the full range voltage: 3.3V
12
12
 
13
13
 
14
14
  def __measure(samples=10):
15
- adc_obj = SmartADC.get_singleton(resolve_pin('ph'))
15
+ adc_obj = SmartADC.get_instance(resolve_pin('ph'))
16
16
  mbuf = 0
17
17
  for k in range(0, samples):
18
18
  mbuf += adc_obj.get()['volt']
@@ -22,7 +22,7 @@ def __measure(samples=10):
22
22
 
23
23
 
24
24
  def measure():
25
- data = SmartADC.get_singleton(resolve_pin('ph')).get()
25
+ data = SmartADC.get_instance(resolve_pin('ph')).get()
26
26
  return "ADC data: {}\nAVG V: {}".format(data, __measure())
27
27
 
28
28
 
@@ -96,7 +96,7 @@ async def __task(ms_period, buff_size):
96
96
 
97
97
  if Data.MIC_TYPE == Data.MIC_TYPES['ADC']:
98
98
  # Create ADC object
99
- Data.MIC_ADC = SmartADC.get_singleton(resolve_pin('mic'))
99
+ Data.MIC_ADC = SmartADC.get_instance(resolve_pin('mic'))
100
100
  elif Data.MIC_TYPE == Data.MIC_TYPES['I2S']:
101
101
  if Data.I2S_MIC is None:
102
102
  import LM_i2s_mic
@@ -7,6 +7,7 @@ from Network import get_mac, ifconfig as network_config
7
7
  from Time import ntp_time, set_time, uptime
8
8
  from Tasks import Manager
9
9
  from Types import resolve
10
+ from Notify import Notify
10
11
 
11
12
  try:
12
13
  from gc import mem_free, mem_alloc, collect
@@ -177,15 +178,16 @@ def list_stations():
177
178
  return [("NoAP", '')]
178
179
 
179
180
 
180
- def pinmap(key='builtin'):
181
+ def pinmap(keys='builtin irq1 irq2 irq3 irq4'):
181
182
  """
182
183
  Get Logical pin by key runtime
183
- :param key str: logical pin name to resolve
184
+ :param keys str: logical pin name or names to resolve
184
185
  :return dict: key map
185
186
  """
186
187
  from microIO import pinmap_search, pinmap_info
187
188
  map = pinmap_info()
188
- map[key] = pinmap_search(key)[key]
189
+ keys = keys.split()
190
+ map["search"] = pinmap_search(keys)
189
191
  return map
190
192
 
191
193
  @socket_stream
@@ -232,6 +234,14 @@ def urequests_host_cache():
232
234
  return host_cache()
233
235
 
234
236
 
237
+ def notifications(enable=None):
238
+ """
239
+ Global notifications control for micrOS
240
+ :param enable: True: Enable notifications / False: Disable notifications
241
+ return: state verdict
242
+ """
243
+ return Notify.notifications(state=enable)
244
+
235
245
  #######################
236
246
  # LM helper functions #
237
247
  #######################
@@ -246,5 +256,6 @@ def help(widgets=False):
246
256
  return resolve(('info', 'TEXTBOX top', 'gclean', 'heartbeat', 'clock',
247
257
  'setclock year month mday hour min sec',
248
258
  'ntp', 'rssi', 'list_stations', 'pinmap key="dhtpin"/None', 'alarms clean=False',
259
+ 'notifications enable=<None,True,False>',
249
260
  'sun refresh=False', 'ifconfig', 'memory_usage',
250
261
  'disk_usage', 'dat_dump', 'urequests_host_cache'), widgets=widgets)