micrOSDevToolKit 2.22.0__tar.gz → 2.22.4__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.
Files changed (418) hide show
  1. {microsdevtoolkit-2.22.0/micrOSDevToolKit.egg-info → microsdevtoolkit-2.22.4}/PKG-INFO +14 -7
  2. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/README.md +13 -6
  3. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/release_info/micrOS_ReleaseInfo/system_analysis_sum.json +21 -17
  4. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/Common.py +14 -6
  5. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/Espnow.py +18 -13
  6. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/InterConnect.py +1 -1
  7. microsdevtoolkit-2.22.4/micrOS/source/Notify.py +102 -0
  8. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/Pacman.py +118 -28
  9. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/Shell.py +1 -1
  10. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/Types.py +51 -7
  11. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/__pycache__/Debug.cpython-312.pyc +0 -0
  12. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/__pycache__/Logger.cpython-312.pyc +0 -0
  13. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_bme280.py +1 -1
  14. microsdevtoolkit-2.22.4/micrOS/source/modules/LM_mh_z19c.py +198 -0
  15. microsdevtoolkit-2.22.4/micrOS/source/modules/LM_mqtt_client.py +279 -0
  16. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_pacman.py +34 -13
  17. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_system.py +16 -1
  18. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_telegram.py +25 -30
  19. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4/micrOSDevToolKit.egg-info}/PKG-INFO +14 -7
  20. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOSDevToolKit.egg-info/SOURCES.txt +2 -7
  21. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/setup.py +1 -1
  22. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/MicrOSDevEnv.py +10 -7
  23. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/framebuf.cpython-312.pyc +0 -0
  24. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/machine.cpython-312.pyc +0 -0
  25. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/micropython.cpython-312.pyc +0 -0
  26. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/mip.cpython-312.pyc +0 -0
  27. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/neopixel.cpython-312.pyc +0 -0
  28. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/simulator.cpython-312.pyc +0 -0
  29. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-312.pyc +0 -0
  30. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/uos.cpython-312.pyc +0 -0
  31. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/usocket.cpython-312.pyc +0 -0
  32. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/machine.py +9 -0
  33. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/mip.py +5 -1
  34. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/simulator.py +8 -0
  35. microsdevtoolkit-2.22.4/toolkit/workspace/precompiled/Common.mpy +0 -0
  36. microsdevtoolkit-2.22.4/toolkit/workspace/precompiled/Espnow.mpy +0 -0
  37. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/InterConnect.mpy +0 -0
  38. microsdevtoolkit-2.22.4/toolkit/workspace/precompiled/Notify.mpy +0 -0
  39. microsdevtoolkit-2.22.4/toolkit/workspace/precompiled/Pacman.mpy +0 -0
  40. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/Shell.mpy +0 -0
  41. microsdevtoolkit-2.22.4/toolkit/workspace/precompiled/Types.mpy +0 -0
  42. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_bme280.mpy +0 -0
  43. microsdevtoolkit-2.22.4/toolkit/workspace/precompiled/modules/LM_mh_z19c.py +198 -0
  44. microsdevtoolkit-2.22.4/toolkit/workspace/precompiled/modules/LM_mqtt_client.mpy +0 -0
  45. microsdevtoolkit-2.22.4/toolkit/workspace/precompiled/modules/LM_pacman.mpy +0 -0
  46. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_system.mpy +0 -0
  47. microsdevtoolkit-2.22.4/toolkit/workspace/precompiled/modules/LM_telegram.mpy +0 -0
  48. microsdevtoolkit-2.22.0/micrOS/source/Notify.py +0 -81
  49. microsdevtoolkit-2.22.0/micrOS/source/modules/LM_mqtt_client.py +0 -254
  50. microsdevtoolkit-2.22.0/toolkit/simulator_lib/mqtt_as/Note.md +0 -15
  51. microsdevtoolkit-2.22.0/toolkit/simulator_lib/mqtt_as/__init__.py +0 -950
  52. microsdevtoolkit-2.22.0/toolkit/simulator_lib/mqtt_as/__pycache__/__init__.cpython-312.pyc +0 -0
  53. microsdevtoolkit-2.22.0/toolkit/simulator_lib/mqtt_as/clean.py +0 -69
  54. microsdevtoolkit-2.22.0/toolkit/simulator_lib/mqtt_as/mqtt_v5_properties.py +0 -239
  55. microsdevtoolkit-2.22.0/toolkit/simulator_lib/mqtt_as/range.py +0 -90
  56. microsdevtoolkit-2.22.0/toolkit/simulator_lib/mqtt_as/range_ex.py +0 -119
  57. microsdevtoolkit-2.22.0/toolkit/workspace/precompiled/Common.mpy +0 -0
  58. microsdevtoolkit-2.22.0/toolkit/workspace/precompiled/Espnow.mpy +0 -0
  59. microsdevtoolkit-2.22.0/toolkit/workspace/precompiled/Notify.mpy +0 -0
  60. microsdevtoolkit-2.22.0/toolkit/workspace/precompiled/Pacman.mpy +0 -0
  61. microsdevtoolkit-2.22.0/toolkit/workspace/precompiled/Types.mpy +0 -0
  62. microsdevtoolkit-2.22.0/toolkit/workspace/precompiled/modules/LM_mqtt_client.mpy +0 -0
  63. microsdevtoolkit-2.22.0/toolkit/workspace/precompiled/modules/LM_pacman.mpy +0 -0
  64. microsdevtoolkit-2.22.0/toolkit/workspace/precompiled/modules/LM_telegram.mpy +0 -0
  65. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/LICENSE +0 -0
  66. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/MANIFEST.in +0 -0
  67. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/devToolKit.py +0 -0
  68. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/env/__init__.py +0 -0
  69. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/env/driver_cp210x/.DS_Store +0 -0
  70. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x64.exe +0 -0
  71. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x86.exe +0 -0
  72. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210x_Universal_Windows_Driver_ReleaseNotes.txt +0 -0
  73. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/env/driver_cp210x/CP210x_Universal_Windows_Driver/SLAB_License_Agreement_VCP_Windows.txt +0 -0
  74. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm/silabser.sys +0 -0
  75. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm64/silabser.sys +0 -0
  76. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/env/driver_cp210x/CP210x_Universal_Windows_Driver/dpinst.xml +0 -0
  77. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.cat +0 -0
  78. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.inf +0 -0
  79. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x64/silabser.sys +0 -0
  80. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x86/silabser.sys +0 -0
  81. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/env/driver_cp210x/macOS_VCP_Driver/SiLabsUSBDriverDisk.dmg +0 -0
  82. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/env/driver_cp210x/macOS_VCP_Driver/macOS_VCP_Driver_Release_Notes.txt +0 -0
  83. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/media/__init__.py +0 -0
  84. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/media/dnd.png +0 -0
  85. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/media/logo.png +0 -0
  86. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/media/logo_mini.png +0 -0
  87. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/media/usb_port_icon.png +0 -0
  88. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/media/wifi_icon.png +0 -0
  89. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/__init__.py +0 -0
  90. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/micropython/esp32-20241129-v1.24.1.bin +0 -0
  91. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/micropython/esp32c3-20240222-v1.22.2.bin +0 -0
  92. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/micropython/esp32c6-GENERIC-20250415-v1.25.0.bin +0 -0
  93. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/micropython/esp32cam-v1.21.0_camera.bin +0 -0
  94. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/micropython/esp32s2-20240602-v1.23.0.bin +0 -0
  95. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/micropython/esp32s2-LOLIN_MINI-20240602-v1.23.0.bin +0 -0
  96. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/micropython/esp32s3-4MBflash-20241129-v1.24.1.bin +0 -0
  97. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/micropython/esp32s3-8MBflash-20241129-v1.24.1.bin +0 -0
  98. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/micropython/esp32s3_spiram_oct-20241129-v1.24.1.bin +0 -0
  99. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/micropython/rpi-pico-w-20241129-v1.24.1.uf2 +0 -0
  100. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/micropython/tinypico-20241129-v1.24.1.bin +0 -0
  101. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/.DS_Store +0 -0
  102. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/Config.py +0 -0
  103. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/Debug.py +0 -0
  104. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/Files.py +0 -0
  105. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/Hooks.py +0 -0
  106. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/Interrupts.py +0 -0
  107. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/Logger.py +0 -0
  108. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/Network.py +0 -0
  109. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/Scheduler.py +0 -0
  110. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/Server.py +0 -0
  111. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/Tasks.py +0 -0
  112. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/Time.py +0 -0
  113. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/Web.py +0 -0
  114. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/__pycache__/Common.cpython-312.pyc +0 -0
  115. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/__pycache__/Files.cpython-312.pyc +0 -0
  116. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/__pycache__/Server.cpython-312.pyc +0 -0
  117. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/__pycache__/Shell.cpython-312.pyc +0 -0
  118. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/__pycache__/replhelper.cpython-312.pyc +0 -0
  119. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/config/_git.keep +0 -0
  120. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/helpers.py +0 -0
  121. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/main.py +0 -0
  122. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/micrOS.py +0 -0
  123. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/micrOSloader.py +0 -0
  124. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/microIO.py +0 -0
  125. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/IO_esp32.py +0 -0
  126. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/IO_esp32c3.py +0 -0
  127. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/IO_esp32c6.py +0 -0
  128. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/IO_esp32s2.py +0 -0
  129. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/IO_esp32s3.py +0 -0
  130. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/IO_m5stamp.py +0 -0
  131. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/IO_qtpy.py +0 -0
  132. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/IO_rp2.py +0 -0
  133. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/IO_s3matrix.py +0 -0
  134. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/IO_tinypico.py +0 -0
  135. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_L298N.py +0 -0
  136. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_L9110_DCmotor.py +0 -0
  137. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_OV2640.py +0 -0
  138. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_VL53L0X.py +0 -0
  139. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_aht10.py +0 -0
  140. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_buzzer.py +0 -0
  141. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_cct.py +0 -0
  142. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_cluster.py +0 -0
  143. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_co2.py +0 -0
  144. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_dashboard_be.py +0 -0
  145. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_dht11.py +0 -0
  146. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_dht22.py +0 -0
  147. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_dimmer.py +0 -0
  148. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_distance.py +0 -0
  149. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_ds18.py +0 -0
  150. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_esp32.py +0 -0
  151. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_espnow.py +0 -0
  152. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_gameOfLife.py +0 -0
  153. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_genIO.py +0 -0
  154. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_haptic.py +0 -0
  155. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_i2c.py +0 -0
  156. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_i2s_mic.py +0 -0
  157. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_keychain.py +0 -0
  158. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_ld2410.py +0 -0
  159. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_light_sensor.py +0 -0
  160. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_neoeffects.py +0 -0
  161. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_neomatrix.py +0 -0
  162. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_neopixel.py +0 -0
  163. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_oled.py +0 -0
  164. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_oled_sh1106.py +0 -0
  165. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_oled_ui.py +0 -0
  166. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_oledui.py +0 -0
  167. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_presence.py +0 -0
  168. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_qmi8658.py +0 -0
  169. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_rencoder.py +0 -0
  170. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_rest.py +0 -0
  171. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_rgb.py +0 -0
  172. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_rgbcct.py +0 -0
  173. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_roboarm.py +0 -0
  174. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_robustness.py +0 -0
  175. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_rp2w.py +0 -0
  176. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_sdcard.py +0 -0
  177. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_servo.py +0 -0
  178. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_sound_event.py +0 -0
  179. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_stepper.py +0 -0
  180. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_switch.py +0 -0
  181. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_tcs3472.py +0 -0
  182. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_tinyrgb.py +0 -0
  183. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_trackball.py +0 -0
  184. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/modules/LM_veml7700.py +0 -0
  185. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/urequests.py +0 -0
  186. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/web/dashboard.html +0 -0
  187. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/web/index.html +0 -0
  188. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/web/matrix_draw.html +0 -0
  189. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/web/uapi.js +0 -0
  190. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/web/udashboard.js +0 -0
  191. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/web/ustyle.css +0 -0
  192. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/web/uwidgets.js +0 -0
  193. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOS/source/web/uwidgets_pro.js +0 -0
  194. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOSDevToolKit.egg-info/dependency_links.txt +0 -0
  195. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOSDevToolKit.egg-info/requires.txt +0 -0
  196. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/micrOSDevToolKit.egg-info/top_level.txt +0 -0
  197. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/setup.cfg +0 -0
  198. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/DevEnvCompile.py +0 -0
  199. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/DevEnvOTA.py +0 -0
  200. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/DevEnvUSB.py +0 -0
  201. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/Gateway.py +0 -0
  202. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/LM_to_compile.dat +0 -0
  203. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/WebRepl.py +0 -0
  204. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/__init__.py +0 -0
  205. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/dashboard_apps/BackupRestore.py +0 -0
  206. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/dashboard_apps/CCTDemo.py +0 -0
  207. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/dashboard_apps/CCTTest.py +0 -0
  208. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/dashboard_apps/CamStream.py +0 -0
  209. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/dashboard_apps/CatGame.py +0 -0
  210. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/dashboard_apps/Dimmer.py +0 -0
  211. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/dashboard_apps/GetVersion.py +0 -0
  212. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/dashboard_apps/MicrophoneTest.py +0 -0
  213. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/dashboard_apps/NeoEffectsDemo.py +0 -0
  214. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/dashboard_apps/NeopixelTest.py +0 -0
  215. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/dashboard_apps/PresenceTest.py +0 -0
  216. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/dashboard_apps/QMI8685_GYRO.py +0 -0
  217. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/dashboard_apps/RGBTest.py +0 -0
  218. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/dashboard_apps/RoboArm.py +0 -0
  219. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/dashboard_apps/SED_test.py +0 -0
  220. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/dashboard_apps/SensorsTest.py +0 -0
  221. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/dashboard_apps/SystemTest.py +0 -0
  222. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/dashboard_apps/Template_app.py +0 -0
  223. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/dashboard_apps/__init__.py +0 -0
  224. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/dashboard_apps/_app_base.py +0 -0
  225. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/dashboard_apps/_capture.py +0 -0
  226. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/dashboard_apps/_gyro_visualizer.py +0 -0
  227. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/dashboard_apps/_micPlotting.py +0 -0
  228. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/dashboard_apps/_presencePlotting.py +0 -0
  229. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/dashboard_apps/uLightDemo.py +0 -0
  230. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/img_stream.html +0 -0
  231. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/index.html +0 -0
  232. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/lib/LocalMachine.py +0 -0
  233. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/lib/MicrosFiles.py +0 -0
  234. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/lib/Repository.py +0 -0
  235. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/lib/SafeInput.py +0 -0
  236. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/lib/SearchDevices.py +0 -0
  237. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/lib/SerialDriverHandler.py +0 -0
  238. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/lib/TerminalColors.py +0 -0
  239. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/lib/__init__.py +0 -0
  240. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/lib/macroScript.py +0 -0
  241. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/lib/micrOSClient.py +0 -0
  242. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/lib/micrOSClientHistory.py +0 -0
  243. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/lib/pip_package_installer.py +0 -0
  244. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/micrOSdashboard.py +0 -0
  245. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/micrOSlint.py +0 -0
  246. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/.DS_Store +0 -0
  247. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/IO_darwin.py +0 -0
  248. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/IO_darwin.cpython-312.pyc +0 -0
  249. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/aioespnow.cpython-312.pyc +0 -0
  250. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/camera.cpython-312.pyc +0 -0
  251. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/dht.cpython-312.pyc +0 -0
  252. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/dht.cpython-39.pyc +0 -0
  253. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/dotstar.cpython-312.pyc +0 -0
  254. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/dotstar.cpython-38.pyc +0 -0
  255. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/dotstar.cpython-39.pyc +0 -0
  256. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-312.pyc +0 -0
  257. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-38.pyc +0 -0
  258. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-39.pyc +0 -0
  259. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/esp32.cpython-312.pyc +0 -0
  260. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/esp32.cpython-38.pyc +0 -0
  261. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/esp32.cpython-39.pyc +0 -0
  262. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/framebuf.cpython-38.pyc +0 -0
  263. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/framebuf.cpython-39.pyc +0 -0
  264. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/machine.cpython-38.pyc +0 -0
  265. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/machine.cpython-39.pyc +0 -0
  266. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/micropython.cpython-38.pyc +0 -0
  267. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/micropython.cpython-39.pyc +0 -0
  268. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/neopixel.cpython-38.pyc +0 -0
  269. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/neopixel.cpython-39.pyc +0 -0
  270. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/network.cpython-312.pyc +0 -0
  271. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/network.cpython-38.pyc +0 -0
  272. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/network.cpython-39.pyc +0 -0
  273. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/ntptime.cpython-312.pyc +0 -0
  274. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/onewire.cpython-312.pyc +0 -0
  275. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/onewire.cpython-38.pyc +0 -0
  276. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/onewire.cpython-39.pyc +0 -0
  277. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/sim_console.cpython-312.pyc +0 -0
  278. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/sim_console.cpython-38.pyc +0 -0
  279. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/sim_console.cpython-39.pyc +0 -0
  280. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/simgc.cpython-312.pyc +0 -0
  281. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/simgc.cpython-38.pyc +0 -0
  282. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/simgc.cpython-39.pyc +0 -0
  283. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/simulator.cpython-38.pyc +0 -0
  284. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/simulator.cpython-39.pyc +0 -0
  285. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/tinypico.cpython-312.pyc +0 -0
  286. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/tinypico.cpython-38.pyc +0 -0
  287. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/tinypico.cpython-39.pyc +0 -0
  288. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-38.pyc +0 -0
  289. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-39.pyc +0 -0
  290. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/ussl.cpython-312.pyc +0 -0
  291. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/ustruct.cpython-312.pyc +0 -0
  292. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/ustruct.cpython-39.pyc +0 -0
  293. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/utime.cpython-312.pyc +0 -0
  294. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/utime.cpython-38.pyc +0 -0
  295. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/utime.cpython-39.pyc +0 -0
  296. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/webrepl.cpython-312.pyc +0 -0
  297. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/webrepl.cpython-38.pyc +0 -0
  298. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/__pycache__/webrepl.cpython-39.pyc +0 -0
  299. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/aioespnow.py +0 -0
  300. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/camera.py +0 -0
  301. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/dht.py +0 -0
  302. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/dotstar.py +0 -0
  303. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/ds18x20.py +0 -0
  304. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/esp32.py +0 -0
  305. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/framebuf.py +0 -0
  306. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/micropython.py +0 -0
  307. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/neopixel.py +0 -0
  308. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/network.py +0 -0
  309. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/node_config.json +0 -0
  310. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/ntptime.py +0 -0
  311. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/onewire.py +0 -0
  312. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/sim_console.py +0 -0
  313. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/simgc.py +0 -0
  314. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/tinypico.py +0 -0
  315. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/uasyncio.py +0 -0
  316. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/uos.py +0 -0
  317. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/usocket.py +0 -0
  318. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/ussl.py +0 -0
  319. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/ustruct.py +0 -0
  320. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/utime.py +0 -0
  321. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/view01.jpg +0 -0
  322. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/view02.jpg +0 -0
  323. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/simulator_lib/webrepl.py +0 -0
  324. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/socketClient.py +0 -0
  325. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/user_data/.include +0 -0
  326. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/user_data/webhooks/generic.py +0 -0
  327. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/user_data/webhooks/macro.py +0 -0
  328. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/user_data/webhooks/template.macro +0 -0
  329. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/user_data/webhooks/template.py +0 -0
  330. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/__init__.py +0 -0
  331. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/Config.mpy +0 -0
  332. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/Debug.mpy +0 -0
  333. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/Files.mpy +0 -0
  334. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/Hooks.mpy +0 -0
  335. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/Interrupts.mpy +0 -0
  336. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/Logger.mpy +0 -0
  337. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/Network.mpy +0 -0
  338. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/Scheduler.mpy +0 -0
  339. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/Server.mpy +0 -0
  340. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/Tasks.mpy +0 -0
  341. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/Time.mpy +0 -0
  342. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/Web.mpy +0 -0
  343. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/_mpy.version +0 -0
  344. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/config/_git.keep +0 -0
  345. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/helpers.mpy +0 -0
  346. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/main.py +0 -0
  347. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/micrOS.mpy +0 -0
  348. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/micrOSloader.mpy +0 -0
  349. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/microIO.mpy +0 -0
  350. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/IO_esp32.mpy +0 -0
  351. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/IO_esp32c3.mpy +0 -0
  352. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/IO_esp32c6.mpy +0 -0
  353. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/IO_esp32s2.mpy +0 -0
  354. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/IO_esp32s3.mpy +0 -0
  355. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/IO_m5stamp.mpy +0 -0
  356. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/IO_qtpy.mpy +0 -0
  357. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/IO_rp2.mpy +0 -0
  358. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/IO_s3matrix.mpy +0 -0
  359. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/IO_tinypico.mpy +0 -0
  360. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_L298N.mpy +0 -0
  361. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_L9110_DCmotor.py +0 -0
  362. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_OV2640.mpy +0 -0
  363. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_VL53L0X.py +0 -0
  364. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_aht10.mpy +0 -0
  365. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_buzzer.mpy +0 -0
  366. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_cct.mpy +0 -0
  367. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_cluster.mpy +0 -0
  368. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_co2.mpy +0 -0
  369. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_dashboard_be.py +0 -0
  370. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_dht11.mpy +0 -0
  371. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_dht22.mpy +0 -0
  372. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_dimmer.mpy +0 -0
  373. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_distance.mpy +0 -0
  374. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_ds18.mpy +0 -0
  375. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_esp32.py +0 -0
  376. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_espnow.py +0 -0
  377. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_gameOfLife.mpy +0 -0
  378. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_genIO.mpy +0 -0
  379. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_haptic.mpy +0 -0
  380. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_i2c.py +0 -0
  381. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_i2s_mic.mpy +0 -0
  382. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_keychain.mpy +0 -0
  383. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_ld2410.mpy +0 -0
  384. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_light_sensor.mpy +0 -0
  385. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_neoeffects.mpy +0 -0
  386. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_neomatrix.mpy +0 -0
  387. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_neopixel.mpy +0 -0
  388. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_oled.mpy +0 -0
  389. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_oled_sh1106.mpy +0 -0
  390. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_oled_ui.mpy +0 -0
  391. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_oledui.mpy +0 -0
  392. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_presence.mpy +0 -0
  393. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_qmi8658.py +0 -0
  394. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_rencoder.py +0 -0
  395. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_rest.mpy +0 -0
  396. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_rgb.mpy +0 -0
  397. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_rgbcct.mpy +0 -0
  398. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_roboarm.mpy +0 -0
  399. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_robustness.py +0 -0
  400. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_rp2w.py +0 -0
  401. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_sdcard.py +0 -0
  402. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_servo.mpy +0 -0
  403. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_sound_event.mpy +0 -0
  404. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_stepper.mpy +0 -0
  405. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_switch.mpy +0 -0
  406. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_tcs3472.py +0 -0
  407. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_tinyrgb.mpy +0 -0
  408. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_trackball.mpy +0 -0
  409. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/modules/LM_veml7700.mpy +0 -0
  410. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/urequests.mpy +0 -0
  411. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/web/dashboard.html +0 -0
  412. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/web/index.html +0 -0
  413. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/web/matrix_draw.html +0 -0
  414. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/web/uapi.js +0 -0
  415. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/web/udashboard.js +0 -0
  416. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/web/ustyle.css +0 -0
  417. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/web/uwidgets.js +0 -0
  418. {microsdevtoolkit-2.22.0 → microsdevtoolkit-2.22.4}/toolkit/workspace/precompiled/web/uwidgets_pro.js +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: micrOSDevToolKit
3
- Version: 2.22.0
3
+ Version: 2.22.4
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
@@ -86,14 +86,15 @@ Access rest api over browser: `http://<nodename>.local`
86
86
  ## ◉ Shortcuts:
87
87
  1. 📲 micrOS Client Application [link](https://github.com/BxNxM/micrOS/#micros-client-application)
88
88
  2. micrOS Installer [link](https://github.com/BxNxM/micrOS/#installing-micros-with-devtoolkit-esp32-and-more)
89
- 3. micrOS Tutorials [link](https://github.com/BxNxM/micrOS/#micros-video-tutorials)
89
+ 3. ▶️ micrOS Tutorials [link](https://github.com/BxNxM/micrOS/#micros-video-tutorials)
90
90
  4. micrOS System and features [link](https://github.com/BxNxM/micrOS/#micros-framework-features)
91
91
  5. 🎮 Built-in app modules: [link](https://htmlpreview.github.io/?https://github.com/BxNxM/micrOS/blob/master/micrOS/client/sfuncman/sfuncman.html)
92
92
  5. Pin mapping - GPIO [link](https://github.com/BxNxM/micrOS/#device-pinouts-for-wiring)
93
- 6. micrOS Node configuration [link](https://github.com/BxNxM/micrOS/#micros-node-configuration-parameters-with-description)
93
+ 6. ⚙️ micrOS Node configuration [link](https://github.com/BxNxM/micrOS/#micros-node-configuration-parameters-with-description)
94
94
  7. 🧑‍💻 micrOS create custom Load Modules: [link](./APPLICATION_GUIDE.md)
95
- 8. micrOS Gateway server with Prometheus&Grafana: [link](https://github.com/BxNxM/micrOS/#micros-gateway-in-docker)
96
- 9. Release notes: [release-note](https://github.com/BxNxM/micrOS/#release-note)
95
+ 8. 📦 micrOS Package Management: [link](https://github.com/BxNxM/micrOSPackages)
96
+ 9. micrOS Gateway server with Prometheus&Grafana: [link](https://github.com/BxNxM/micrOS/#micros-gateway-in-docker)
97
+ 10. Release notes: [release-note](https://github.com/BxNxM/micrOS/#release-note)
97
98
 
98
99
  ----------------------------------------
99
100
  ----------------------------------------
@@ -120,13 +121,19 @@ I would suggest to use micrOS GUI as a primary interface for micrOS development
120
121
 
121
122
  ## 1. Prerequisites
122
123
 
123
- ### 1.1 Install python3.9+
124
+ ### 1.1 Install python3.12+
124
125
 
125
- Link for python 3.9+ [download](https://www.python.org/downloads/release/python-390/)
126
+ Download Python 3.12+ [link](https://www.python.org/downloads/release/python-3120/)
126
127
 
127
128
  > Note: **Allow extend system path** with that python version (installation parameter) </br>
128
129
  > On **Windows**: RUN AS ADMINISTARTOR
129
130
 
131
+ Check Python3 version
132
+
133
+ ```bash
134
+ python3 --version
135
+ ```
136
+
130
137
  ----------------------------------------
131
138
 
132
139
  ### 2. Install micrOS devToolKit GUI
@@ -48,14 +48,15 @@ Access rest api over browser: `http://<nodename>.local`
48
48
  ## ◉ Shortcuts:
49
49
  1. 📲 micrOS Client Application [link](https://github.com/BxNxM/micrOS/#micros-client-application)
50
50
  2. micrOS Installer [link](https://github.com/BxNxM/micrOS/#installing-micros-with-devtoolkit-esp32-and-more)
51
- 3. micrOS Tutorials [link](https://github.com/BxNxM/micrOS/#micros-video-tutorials)
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
53
  5. 🎮 Built-in app modules: [link](https://htmlpreview.github.io/?https://github.com/BxNxM/micrOS/blob/master/micrOS/client/sfuncman/sfuncman.html)
54
54
  5. Pin mapping - GPIO [link](https://github.com/BxNxM/micrOS/#device-pinouts-for-wiring)
55
- 6. micrOS Node configuration [link](https://github.com/BxNxM/micrOS/#micros-node-configuration-parameters-with-description)
55
+ 6. ⚙️ micrOS Node configuration [link](https://github.com/BxNxM/micrOS/#micros-node-configuration-parameters-with-description)
56
56
  7. 🧑‍💻 micrOS create custom Load Modules: [link](./APPLICATION_GUIDE.md)
57
- 8. micrOS Gateway server with Prometheus&Grafana: [link](https://github.com/BxNxM/micrOS/#micros-gateway-in-docker)
58
- 9. Release notes: [release-note](https://github.com/BxNxM/micrOS/#release-note)
57
+ 8. 📦 micrOS Package Management: [link](https://github.com/BxNxM/micrOSPackages)
58
+ 9. micrOS Gateway server with Prometheus&Grafana: [link](https://github.com/BxNxM/micrOS/#micros-gateway-in-docker)
59
+ 10. Release notes: [release-note](https://github.com/BxNxM/micrOS/#release-note)
59
60
 
60
61
  ----------------------------------------
61
62
  ----------------------------------------
@@ -82,13 +83,19 @@ I would suggest to use micrOS GUI as a primary interface for micrOS development
82
83
 
83
84
  ## 1. Prerequisites
84
85
 
85
- ### 1.1 Install python3.9+
86
+ ### 1.1 Install python3.12+
86
87
 
87
- Link for python 3.9+ [download](https://www.python.org/downloads/release/python-390/)
88
+ Download Python 3.12+ [link](https://www.python.org/downloads/release/python-3120/)
88
89
 
89
90
  > Note: **Allow extend system path** with that python version (installation parameter) </br>
90
91
  > On **Windows**: RUN AS ADMINISTARTOR
91
92
 
93
+ Check Python3 version
94
+
95
+ ```bash
96
+ python3 --version
97
+ ```
98
+
92
99
  ----------------------------------------
93
100
 
94
101
  ### 2. Install micrOS devToolKit GUI
@@ -5,8 +5,8 @@
5
5
  6
6
6
  ],
7
7
  "Pacman.py": [
8
- 9.8,
9
- 1
8
+ 9.48,
9
+ 2
10
10
  ],
11
11
  "Files.py": [
12
12
  9.69,
@@ -41,12 +41,12 @@
41
41
  2
42
42
  ],
43
43
  "Notify.py": [
44
- 9.74,
45
- 3
44
+ 9.78,
45
+ 4
46
46
  ],
47
47
  "Types.py": [
48
- 8.91,
49
- 29
48
+ 9.21,
49
+ 30
50
50
  ],
51
51
  "Logger.py": [
52
52
  8.84,
@@ -54,7 +54,7 @@
54
54
  ],
55
55
  "Common.py": [
56
56
  9.85,
57
- 35
57
+ 36
58
58
  ],
59
59
  "InterConnect.py": [
60
60
  9.63,
@@ -78,7 +78,7 @@
78
78
  ],
79
79
  "microIO.py": [
80
80
  9.35,
81
- 44
81
+ 45
82
82
  ],
83
83
  "micrOS.py": [
84
84
  9.3,
@@ -113,7 +113,7 @@
113
113
  0
114
114
  ],
115
115
  "modules/LM_pacman.py": [
116
- 7.61,
116
+ 7.66,
117
117
  0
118
118
  ],
119
119
  "modules/LM_genIO.py": [
@@ -125,7 +125,7 @@
125
125
  0
126
126
  ],
127
127
  "modules/LM_system.py": [
128
- 8.46,
128
+ 8.49,
129
129
  0
130
130
  ],
131
131
  "modules/LM_robustness.py": [
@@ -140,6 +140,10 @@
140
140
  8.5,
141
141
  0
142
142
  ],
143
+ "modules/LM_mh_z19c.py": [
144
+ 9.78,
145
+ 0
146
+ ],
143
147
  "modules/LM_rest.py": [
144
148
  8.6,
145
149
  0
@@ -253,7 +257,7 @@
253
257
  0
254
258
  ],
255
259
  "modules/LM_telegram.py": [
256
- 9.62,
260
+ 9.67,
257
261
  0
258
262
  ],
259
263
  "modules/LM_OV2640.py": [
@@ -289,7 +293,7 @@
289
293
  0
290
294
  ],
291
295
  "modules/LM_mqtt_client.py": [
292
- 8.72,
296
+ 9.55,
293
297
  0
294
298
  ],
295
299
  "modules/LM_dashboard_be.py": [
@@ -323,12 +327,12 @@
323
327
  },
324
328
  "summary": {
325
329
  "core": [
326
- 4338,
330
+ 4475,
327
331
  25
328
332
  ],
329
333
  "load": [
330
- 9874,
331
- 55
334
+ 10096,
335
+ 56
332
336
  ],
333
337
  "core_dep": [
334
338
  true,
@@ -339,7 +343,7 @@
339
343
  4
340
344
  ],
341
345
  "core_score": 9.29,
342
- "load_score": 8.41,
343
- "version": "2.22.0-0"
346
+ "load_score": 8.46,
347
+ "version": "2.21.4-0"
344
348
  }
345
349
  }
@@ -80,18 +80,26 @@ def exec_cmd(cmd:list, jsonify:bool=None, secure=False):
80
80
  return lm_exec(cmd, jsonify=jsonify)
81
81
 
82
82
 
83
- def notify(text=None) -> bool:
83
+ def notify(*args, **kwargs) -> bool:
84
84
  """
85
- [LM] micrOS common notification handler (Telegram)
86
- :param text: notification text / None (return notification state)
85
+ [LM] micrOS common notification handler (Telegram, etc.)
86
+ text (0): notification text / None (return notification state)
87
+ :param channels (optional): select communication interface(s) by class name or an iterable of these.
88
+ If omitted or empty, sends over all available channels.
89
+ Examples (optional parameters):
90
+ Telegram params:
91
+ reply_to: message id to reply to (optional) - default: None
92
+ chat_id: chat identifier - default: None -> auto resolve in child class
93
+ MQTTClient params:
94
+ topic: mqtt topic to send the message - default: None -> auto resolve in child class
87
95
  return: verdict: True/False
88
96
  """
89
- # (1) Return notification state
90
- if text is None:
97
+ # (1) Return notification state (if no text input given)
98
+ if kwargs.get("text", args[0] if args else None) is None:
91
99
  return Notify.GLOBAL_NOTIFY
92
100
  # (2) Send notification
93
101
  try:
94
- out = Notify.notify(text)
102
+ out = Notify.notify(*args, **kwargs)
95
103
  except Exception as e:
96
104
  debug_syslog(f"[ERR] Notify: {e}")
97
105
  out = str(e)
@@ -32,10 +32,8 @@ def render_packet(tid: str, oper: str, data: str, prompt: str) -> str:
32
32
  """
33
33
  if oper not in ("REQ", "RSP"):
34
34
  syslog(f"[ERR] espnow render_response, unknown oper: {oper}")
35
- tmp = "{tid}|{oper}|{data}|{prompt}$"
36
- tmp = (tmp.replace("{tid}", tid).replace("{oper}", oper)
37
- .replace("{data}", str(data)).replace("{prompt}", prompt))
38
- return tmp
35
+ return f"{tid}|{oper}|{str(data)}|{prompt}$"
36
+
39
37
 
40
38
  def parse_packet(msg: bytes) -> tuple[bool, dict | str]:
41
39
  """
@@ -251,15 +249,19 @@ class ESPNowSS:
251
249
  ESPNow client task: send a command to a peer and update task status.
252
250
  """
253
251
  with NativeTask.TASKS.get(tag, None) as my_task:
254
- router = ResponseRouter(peer, tid)
255
- # rendered_output: "{tid}|{oper}|{data}|{prompt}$"
256
- rendered_out = render_packet(tid=tid, oper="REQ", data=msg, prompt=self.devfid)
257
- if await self.__asend_raw(peer, rendered_out):
258
- my_task.out = f"[ESPNOW SEND] {rendered_out}"
259
- my_task.out = await router.get_response()
260
- else:
261
- my_task.out = "[ESPNOW SEND] Peer not responding"
262
- router.close()
252
+ try:
253
+ router = ResponseRouter(peer, tid)
254
+ # rendered_output: "{tid}|{oper}|{data}|{prompt}$"
255
+ rendered_out = render_packet(tid=tid, oper="REQ", data=msg, prompt=self.devfid)
256
+ if await self.__asend_raw(peer, rendered_out):
257
+ my_task.out = f"[ESPNOW SEND] {rendered_out}"
258
+ my_task.out = await router.get_response()
259
+ else:
260
+ my_task.out = "[ESPNOW SEND] Peer not responding"
261
+ except Exception as e:
262
+ my_task.out = f"[ERR][ESPNOW SEND] {e}"
263
+ finally:
264
+ router.close()
263
265
 
264
266
  def mac_by_peer_name(self, peer_name: str) -> bytes | None:
265
267
  matches = [k for k, v in self.devices.items() if v == peer_name]
@@ -325,6 +327,9 @@ class ESPNowSS:
325
327
  sender = self.send(peer, "hello")
326
328
  task_key = list(sender.keys())[0]
327
329
  sender_task = NativeTask.TASKS.get(task_key, None)
330
+ if sender_task is None:
331
+ my_task.out = "Handshake Error: No sender task"
332
+ return
328
333
  result = await sender_task.await_result(timeout=10)
329
334
  expected_response = f"hello {self.devfid}"
330
335
  is_ok = False
@@ -174,7 +174,7 @@ class InterCon:
174
174
  return {None: f"[ERR] ESPNow auto handshake: task list >>{host}: {response}"}
175
175
 
176
176
  active_tasks = loads(response).get("active")
177
- if "espnow.server" in active_tasks:
177
+ if active_tasks and "espnow.server" in active_tasks:
178
178
  response = await self.send_cmd(host, ["system", "info", ">json"])
179
179
  if not response:
180
180
  return {None: "[ERR] ESPNow auto handshake: system info"}
@@ -0,0 +1,102 @@
1
+ """
2
+ Module is responsible for Notification handling
3
+ Common:
4
+ - notifications None/True/False
5
+ - notify 'text'
6
+ - lm_execute
7
+ Supported notification subscribers (add_subscriber)
8
+ - LM_telegram
9
+ - LM_mqtt_client
10
+ Designed by Marcell Ban aka BxNxM
11
+ """
12
+
13
+ from Config import cfgget
14
+ from Tasks import lm_exec, lm_is_loaded
15
+ from Debug import syslog
16
+
17
+ #########################################
18
+ # micrOS Notifications #
19
+ # with Telegram Class #
20
+ #########################################
21
+ class Notify:
22
+ GLOBAL_NOTIFY = True # Enable Global notifications
23
+ _DEVFID = cfgget('devfid') # For reply message (pre text)
24
+ _SUBSCRIBERS = set() # Store set of notification objects: send_msg
25
+
26
+ @staticmethod
27
+ def add_subscriber(instance):
28
+ """
29
+ Add Notification agent like: Telegram
30
+ """
31
+ if isinstance(instance, Notify):
32
+ Notify._SUBSCRIBERS.add(instance)
33
+ return True
34
+ raise Exception("Subscribe error, Notify parent missing")
35
+
36
+ @staticmethod
37
+ def send_msg(text, *args, **kwargs):
38
+ """
39
+ This method has to be implemented by the child class
40
+ """
41
+ raise NotImplementedError("Child class must implement send_msg method")
42
+
43
+ @staticmethod
44
+ def message(text, *args, **kwargs):
45
+ """
46
+ Send message to all subscribers - Notify send_msg(text, ...) agents
47
+ :param text: text message to send
48
+ :param channels (optional): select communication interface(s) by class name
49
+ e.g. "Telegram", "MQTT" or an iterable of these.
50
+ If omitted or empty, sends over all available channels.
51
+ Telegram params (optional):
52
+ reply_to: message id to reply to (optional) - default: None
53
+ chat_id: chat identifier - default: None -> auto resolve in child class
54
+ MQTT client params (optional):
55
+ topic: mqtt topic to send the message - default: None -> auto resolve in child class
56
+ return: verdict and metrics
57
+ """
58
+ errors, channels, interfaces = 0, kwargs.get("channels", ()), set()
59
+ channels = (channels,) if isinstance(channels, str) else tuple(channels)
60
+ for s in Notify._SUBSCRIBERS:
61
+ name = s.__class__.__name__
62
+ try:
63
+ if len(channels) == 0 or name in channels:
64
+ s.send_msg(text, *args, **kwargs)
65
+ interfaces.add(name)
66
+ except Exception as e:
67
+ syslog(f"[ERR] Notify.{name}: {e}")
68
+ errors+=1
69
+ return (f"Sent over {', '.join(interfaces)} ({len(interfaces)}/{len(Notify._SUBSCRIBERS)}) client(s)"
70
+ f" - errors: ({errors})")
71
+
72
+ @staticmethod
73
+ def notifications(state=None):
74
+ """
75
+ Setter for disable/enable notification messages (over LM_system)
76
+ :param state: True/False/ None(default) - show current state
77
+ """
78
+ if isinstance(state, bool):
79
+ Notify.GLOBAL_NOTIFY = state
80
+ targets = ", ".join(s.__class__.__name__ for s in Notify._SUBSCRIBERS)
81
+ return f"Notifications[{targets}]: {'enabled' if Notify.GLOBAL_NOTIFY else 'disabled'}"
82
+
83
+ @staticmethod
84
+ def notify(text, *args, **kwargs):
85
+ """
86
+ Notification sender for Load Modules
87
+ """
88
+ if Notify.GLOBAL_NOTIFY:
89
+ return Notify.message(text, *args, **kwargs)
90
+ return "Notifications disabled"
91
+
92
+ @staticmethod
93
+ def lm_execute(cmd_args, jsonify=False, secure=True):
94
+ """Load Module Executor with basic access handling"""
95
+ state = False
96
+ if secure and not lm_is_loaded(cmd_args[0]):
97
+ return state, f"NotAllowed {cmd_args[0]}"
98
+ try:
99
+ state, out = lm_exec(cmd_args, jsonify)
100
+ except Exception as e:
101
+ out = str(e)
102
+ return state, out
@@ -15,9 +15,10 @@ Load Modules in /lib/LM_* will be automatically moved to /modules/LM_* as post i
15
15
  Designed by Marcell Ban aka BxNxM
16
16
  """
17
17
 
18
- from mip import install
19
- from uos import rename
20
- from Files import OSPath, path_join, is_file, ilist_fs
18
+ from json import load as jload
19
+ from mip import install as mipstall
20
+ from uos import rename, mkdir
21
+ from Files import OSPath, path_join, is_file, ilist_fs, is_dir, remove_file, remove_dir
21
22
  from Debug import syslog
22
23
 
23
24
 
@@ -77,6 +78,56 @@ def _normalize_source(ref):
77
78
  return str(ref), None
78
79
 
79
80
 
81
+ def _protected_resource(source_name):
82
+ return source_name.split(".")[0] in ("LM_system", "LM_pacman", "LM_cluster")
83
+
84
+
85
+ def _unpack_from_pacman_json(path:str, packages:tuple) -> tuple[bool, str]:
86
+ """
87
+ Unpack Load Modules and other resources based on pacman.json
88
+ :param path: packages library path (default: /lib)
89
+ :param packages: list of package names, but least one to unpack
90
+ """
91
+ verdict = ""
92
+ # Check all input packages
93
+ for pack in packages:
94
+ pack_meta_path = path_join(path, pack, 'pacman.json')
95
+ if is_file(pack_meta_path):
96
+ verdict += f"\n UNPACKING {pack_meta_path}"
97
+ # Load package layout metadata
98
+ try:
99
+ with open(pack_meta_path, 'r') as p:
100
+ layout = jload(p).get('layout', {})
101
+ except Exception as e:
102
+ syslog(f"[ERR] Package unpack {pack_meta_path}: {e}")
103
+ layout = {}
104
+ # Unpack files based on layout metadata
105
+ for target, source_list in layout.items():
106
+ target_dir = path_join(OSPath._ROOT, target)
107
+ for source in source_list:
108
+ source_path = path_join(path, source)
109
+ source_name = source.split('/')[-1] if '/' in source else source
110
+ if _protected_resource(source_name):
111
+ verdict += f"\n ! Unpack skip - protected target: {source_name}"
112
+ continue
113
+ if is_file(source_path):
114
+ try:
115
+ if not is_dir(target_dir):
116
+ # Support single-level child dir
117
+ mkdir(target_dir)
118
+ except Exception as e:
119
+ verdict += f"\n ✗ Unpack subdir error {target_dir}: {e}"
120
+ try:
121
+ rename(source_path, path_join(target_dir, source_name))
122
+ verdict += f"\n ✓ Unpacked {source} -> {target_dir}"
123
+ except Exception as e:
124
+ verdict += f"\n ✗ Unpack error {source}: {e}"
125
+ elif not is_file(path_join(target_dir, source)):
126
+ # Check already unpacked target resource
127
+ verdict += f"\n ✗ Unpack error: {source} not exists"
128
+ return "\nNothing to unpack" if verdict == "" else verdict
129
+
130
+
80
131
  # ---------------------------------------------------------------------
81
132
  # Core installer
82
133
  # ---------------------------------------------------------------------
@@ -92,8 +143,8 @@ def _install_any(ref, target=None):
92
143
  kwargs["target"] = target or OSPath.LIB
93
144
  verdict = f"[mip] Installing: {ref} {kwargs}\n"
94
145
  # MIP Install
95
- install(ref, **kwargs)
96
- verdict += f" ✓ Installed successfully under {kwargs['target']}"
146
+ mipstall(ref, **kwargs)
147
+ verdict += f" ✓ Installed under {kwargs['target']}"
97
148
  except Exception as e:
98
149
  err = f" ✗ Failed to install '{ref}': {e}"
99
150
  syslog(f"[ERR][pacman] {err}")
@@ -126,30 +177,31 @@ def install_requirements(source="requirements.txt"):
126
177
  return verdict
127
178
 
128
179
 
129
- def unpack(path:str):
180
+ def unpack(ref:str=None):
130
181
  """
131
- Unpack Load Modules from downloaded package (move under /modules)
182
+ Unpack downloaded package from /lib
183
+ - use pacman.json metadata layout to unpack files to multiple targets
184
+ :param ref: install reference (extract package name from this)
132
185
  """
133
- verdict = ""
134
- for mod in ilist_fs(path, type_filter='f', select="LM"):
135
- mod_name = mod.split(".")[0]
136
- if mod_name in ("system", "pacman"):
137
- verdict += f"\n ✗ Unpack skipped: {mod} (protected)\n"
138
- continue
139
- try:
140
- rename(path_join(path, mod), path_join(OSPath.MODULES, mod))
141
- verdict += f"\n ✓ Unpack {mod}\n"
142
- except Exception as e:
143
- verdict += f"\n ✗ Unpack error {mod}: {e}\n"
144
- return verdict
186
+
187
+ if ref is None:
188
+ # Collect all package names under /lib and unpack all
189
+ packages = tuple(ilist_fs(OSPath.LIB, type_filter='d'))
190
+ else:
191
+ # Handle single explicit ref for unpacking
192
+ ref_parts = ref.split("/")
193
+ pack_name = ref_parts[-2] if '.' in ref_parts[-1] else ref_parts[-1]
194
+ packages = (pack_name, )
195
+
196
+ return _unpack_from_pacman_json(OSPath.LIB, packages)
145
197
 
146
198
  # ---------------------------------------------------------------------
147
199
  # Unified entry point
148
200
  # ---------------------------------------------------------------------
149
201
 
150
- def download(ref):
202
+ def install(ref):
151
203
  """
152
- Unified mip-based downloader for micrOS.
204
+ Unified mip-based installer for micrOS.
153
205
  Automatically detects:
154
206
  - requirements.txt files (local)
155
207
  - Single-file load modules (LM_/IO_ names or URLs)
@@ -158,23 +210,61 @@ def download(ref):
158
210
  """
159
211
 
160
212
  if not ref:
161
- return "[mip] Nothing to download (empty input)"
213
+ return "[mip] Nothing to install (empty input)"
162
214
 
163
- # 1. requirements.txt
215
+ # 1. Install from requirements.txt
164
216
  if ref == "requirements.txt":
165
217
  verdict = install_requirements(ref)
166
- verdict += unpack(OSPath.LIB)
218
+ verdict += unpack()
167
219
  return verdict
168
220
 
221
+ # 2. Install from URL or Shorthand file / package reference
169
222
  if ref.startswith("github") or ref.startswith("http"):
170
- # 2. LM_/IO_ load modules → /modules
223
+ # 2.1. Exact file ref: LM_/IO_ load modules → /modules
171
224
  if ref.endswith("py") and ("LM_" in ref or "IO_" in ref):
172
225
  return _install_any(ref, target=OSPath.MODULES)
173
226
 
174
- # 3. GitHub or raw URLs → /lib
227
+ # 2.2. Package ref: GitHub or raw URLs → /lib
175
228
  verdict = _install_any(ref, target=OSPath.LIB)
176
- verdict += unpack(OSPath.LIB)
229
+ verdict += unpack(ref)
177
230
  return verdict
178
231
 
179
- # 4. Fallback: official micropython package → /lib
232
+ # 3. Fallback/Official micropython package → /lib
180
233
  return _install_any(ref, target=OSPath.LIB)
234
+
235
+
236
+ def uninstall(package_name):
237
+ """
238
+ Uninstalls package from /lib with its dependencies
239
+ """
240
+ pack_path = path_join(OSPath.LIB, package_name)
241
+ pack_meta = path_join(pack_path, "pacman.json")
242
+
243
+ if not is_dir(pack_path):
244
+ return f"No packaged found: {pack_path}"
245
+
246
+ verdict = f"Uninstall {package_name}\n"
247
+ if is_file(pack_meta):
248
+ # Load package layout metadata
249
+ try:
250
+ with open(pack_meta, 'r') as p:
251
+ layout = jload(p).get('layout', {})
252
+ except Exception as e:
253
+ syslog(f"[ERR] Package uninstall {pack_meta}: {e}")
254
+ layout = {}
255
+
256
+ for target, source_list in layout.items():
257
+ target_dir = path_join(OSPath._ROOT, target)
258
+ for source in source_list:
259
+ source_name = source.split('/')[-1] if '/' in source else source
260
+ if _protected_resource(source_name):
261
+ verdict += f" ✗ Remove skip - protected target: {source_name}\n"
262
+ continue
263
+ unpacked_path = path_join(target_dir, source_name)
264
+ if is_file(unpacked_path):
265
+ remove_file(unpacked_path)
266
+ verdict += f" ✓ Removed: {unpacked_path}\n"
267
+
268
+ # Delete package
269
+ verdict += " " + remove_dir(pack_path)
270
+ return verdict
@@ -25,7 +25,7 @@ from Debug import syslog
25
25
 
26
26
  class Shell:
27
27
  __slots__ = ['__devfid', '__auth_mode', '__hwuid', '__auth_ok', '__conf_mode']
28
- MICROS_VERSION = '2.22.0-0'
28
+ MICROS_VERSION = '2.21.4-0'
29
29
 
30
30
  def __init__(self):
31
31
  """