micrOSDevToolKit 3.0.6__tar.gz → 3.0.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) hide show
  1. {microsdevtoolkit-3.0.6/micrOSDevToolKit.egg-info → microsdevtoolkit-3.0.7}/PKG-INFO +1 -1
  2. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/release_info/micrOS_ReleaseInfo/system_analysis_sum.json +7 -7
  3. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/Shell.py +1 -1
  4. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/Types.py +1 -1
  5. microsdevtoolkit-3.0.7/micrOS/source/__pycache__/Files.cpython-312.pyc +0 -0
  6. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/__pycache__/Logger.cpython-312.pyc +0 -0
  7. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/__pycache__/Types.cpython-312.pyc +0 -0
  8. microsdevtoolkit-3.0.7/micrOS/source/__pycache__/microIO.cpython-312.pyc +0 -0
  9. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_OV2640.py +1 -1
  10. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_cct.py +7 -7
  11. microsdevtoolkit-3.0.7/micrOS/source/modules/LM_web.py +74 -0
  12. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/__pycache__/LM_OV2640.cpython-312.pyc +0 -0
  13. microsdevtoolkit-3.0.7/micrOS/source/web/config.html +59 -0
  14. microsdevtoolkit-3.0.7/micrOS/source/web/editor.js +423 -0
  15. microsdevtoolkit-3.0.7/micrOS/source/web/editor_plugins.js +188 -0
  16. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/web/filesui.html +2 -2
  17. {microsdevtoolkit-3.0.6/toolkit/workspace/precompiled → microsdevtoolkit-3.0.7/micrOS/source}/web/filesui.js +31 -9
  18. {microsdevtoolkit-3.0.6/toolkit/workspace/precompiled → microsdevtoolkit-3.0.7/micrOS/source}/web/index.html +3 -13
  19. microsdevtoolkit-3.0.7/micrOS/source/web/uapi.js +86 -0
  20. microsdevtoolkit-3.0.7/micrOS/source/web/uapiui.js +87 -0
  21. {microsdevtoolkit-3.0.6/toolkit/workspace/precompiled → microsdevtoolkit-3.0.7/micrOS/source}/web/udashboard.js +9 -2
  22. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/web/ustyle.css +4 -28
  23. microsdevtoolkit-3.0.7/micrOS/source/web/uwidgets.js +262 -0
  24. microsdevtoolkit-3.0.7/micrOS/source/web/uwidgets_pro.js +151 -0
  25. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7/micrOSDevToolKit.egg-info}/PKG-INFO +1 -1
  26. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOSDevToolKit.egg-info/SOURCES.txt +8 -0
  27. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/setup.py +1 -1
  28. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/micrOSlint.py +1 -1
  29. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/IO_darwin.cpython-312.pyc +0 -0
  30. microsdevtoolkit-3.0.7/toolkit/simulator_lib/__pycache__/Metrics.cpython-312.pyc +0 -0
  31. microsdevtoolkit-3.0.7/toolkit/simulator_lib/__pycache__/aioespnow.cpython-312.pyc +0 -0
  32. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/camera.cpython-312.pyc +0 -0
  33. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/dht.cpython-312.pyc +0 -0
  34. microsdevtoolkit-3.0.7/toolkit/simulator_lib/__pycache__/dotstar.cpython-312.pyc +0 -0
  35. microsdevtoolkit-3.0.7/toolkit/simulator_lib/__pycache__/ds18x20.cpython-312.pyc +0 -0
  36. microsdevtoolkit-3.0.7/toolkit/simulator_lib/__pycache__/esp32.cpython-312.pyc +0 -0
  37. microsdevtoolkit-3.0.7/toolkit/simulator_lib/__pycache__/framebuf.cpython-312.pyc +0 -0
  38. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/machine.cpython-312.pyc +0 -0
  39. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/micropython.cpython-312.pyc +0 -0
  40. microsdevtoolkit-3.0.7/toolkit/simulator_lib/__pycache__/mip.cpython-312.pyc +0 -0
  41. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/neopixel.cpython-312.pyc +0 -0
  42. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/network.cpython-312.pyc +0 -0
  43. microsdevtoolkit-3.0.7/toolkit/simulator_lib/__pycache__/ntptime.cpython-312.pyc +0 -0
  44. microsdevtoolkit-3.0.7/toolkit/simulator_lib/__pycache__/onewire.cpython-312.pyc +0 -0
  45. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/sim_common.cpython-312.pyc +0 -0
  46. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/simgc.cpython-312.pyc +0 -0
  47. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/simulator.cpython-312.pyc +0 -0
  48. microsdevtoolkit-3.0.7/toolkit/simulator_lib/__pycache__/tinypico.cpython-312.pyc +0 -0
  49. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-312.pyc +0 -0
  50. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/uos.cpython-312.pyc +0 -0
  51. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/urandom.cpython-312.pyc +0 -0
  52. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/usocket.cpython-312.pyc +0 -0
  53. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/ussl.cpython-312.pyc +0 -0
  54. microsdevtoolkit-3.0.7/toolkit/simulator_lib/__pycache__/ustruct.cpython-312.pyc +0 -0
  55. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/utime.cpython-312.pyc +0 -0
  56. microsdevtoolkit-3.0.7/toolkit/simulator_lib/__pycache__/webrepl.cpython-312.pyc +0 -0
  57. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/simulator.py +16 -1
  58. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/Shell.mpy +0 -0
  59. microsdevtoolkit-3.0.7/toolkit/workspace/precompiled/Types.mpy +0 -0
  60. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_OV2640.mpy +0 -0
  61. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_cct.mpy +0 -0
  62. microsdevtoolkit-3.0.7/toolkit/workspace/precompiled/modules/LM_web.mpy +0 -0
  63. microsdevtoolkit-3.0.7/toolkit/workspace/precompiled/web/config.html +59 -0
  64. microsdevtoolkit-3.0.7/toolkit/workspace/precompiled/web/editor.js +423 -0
  65. microsdevtoolkit-3.0.7/toolkit/workspace/precompiled/web/editor_plugins.js +188 -0
  66. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/web/filesui.html +2 -2
  67. {microsdevtoolkit-3.0.6/micrOS/source → microsdevtoolkit-3.0.7/toolkit/workspace/precompiled}/web/filesui.js +31 -9
  68. {microsdevtoolkit-3.0.6/micrOS/source → microsdevtoolkit-3.0.7/toolkit/workspace/precompiled}/web/index.html +3 -13
  69. microsdevtoolkit-3.0.7/toolkit/workspace/precompiled/web/uapi.js +86 -0
  70. microsdevtoolkit-3.0.7/toolkit/workspace/precompiled/web/uapiui.js +87 -0
  71. {microsdevtoolkit-3.0.6/micrOS/source → microsdevtoolkit-3.0.7/toolkit/workspace/precompiled}/web/udashboard.js +9 -2
  72. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/web/ustyle.css +4 -28
  73. microsdevtoolkit-3.0.7/toolkit/workspace/precompiled/web/uwidgets.js +262 -0
  74. microsdevtoolkit-3.0.7/toolkit/workspace/precompiled/web/uwidgets_pro.js +151 -0
  75. microsdevtoolkit-3.0.6/micrOS/source/__pycache__/Files.cpython-312.pyc +0 -0
  76. microsdevtoolkit-3.0.6/micrOS/source/modules/LM_web.py +0 -71
  77. microsdevtoolkit-3.0.6/micrOS/source/web/editor.js +0 -431
  78. microsdevtoolkit-3.0.6/micrOS/source/web/uapi.js +0 -103
  79. microsdevtoolkit-3.0.6/micrOS/source/web/uwidgets.js +0 -179
  80. microsdevtoolkit-3.0.6/micrOS/source/web/uwidgets_pro.js +0 -272
  81. microsdevtoolkit-3.0.6/toolkit/simulator_lib/__pycache__/aioespnow.cpython-312.pyc +0 -0
  82. microsdevtoolkit-3.0.6/toolkit/simulator_lib/__pycache__/dotstar.cpython-312.pyc +0 -0
  83. microsdevtoolkit-3.0.6/toolkit/simulator_lib/__pycache__/ds18x20.cpython-312.pyc +0 -0
  84. microsdevtoolkit-3.0.6/toolkit/simulator_lib/__pycache__/esp32.cpython-312.pyc +0 -0
  85. microsdevtoolkit-3.0.6/toolkit/simulator_lib/__pycache__/framebuf.cpython-312.pyc +0 -0
  86. microsdevtoolkit-3.0.6/toolkit/simulator_lib/__pycache__/mip.cpython-312.pyc +0 -0
  87. microsdevtoolkit-3.0.6/toolkit/simulator_lib/__pycache__/ntptime.cpython-312.pyc +0 -0
  88. microsdevtoolkit-3.0.6/toolkit/simulator_lib/__pycache__/onewire.cpython-312.pyc +0 -0
  89. microsdevtoolkit-3.0.6/toolkit/simulator_lib/__pycache__/tinypico.cpython-312.pyc +0 -0
  90. microsdevtoolkit-3.0.6/toolkit/simulator_lib/__pycache__/ustruct.cpython-312.pyc +0 -0
  91. microsdevtoolkit-3.0.6/toolkit/simulator_lib/__pycache__/webrepl.cpython-312.pyc +0 -0
  92. microsdevtoolkit-3.0.6/toolkit/workspace/precompiled/Types.mpy +0 -0
  93. microsdevtoolkit-3.0.6/toolkit/workspace/precompiled/modules/LM_web.mpy +0 -0
  94. microsdevtoolkit-3.0.6/toolkit/workspace/precompiled/web/editor.js +0 -431
  95. microsdevtoolkit-3.0.6/toolkit/workspace/precompiled/web/uapi.js +0 -103
  96. microsdevtoolkit-3.0.6/toolkit/workspace/precompiled/web/uwidgets.js +0 -179
  97. microsdevtoolkit-3.0.6/toolkit/workspace/precompiled/web/uwidgets_pro.js +0 -272
  98. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/LICENSE +0 -0
  99. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/MANIFEST.in +0 -0
  100. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/README.md +0 -0
  101. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/devToolKit.py +0 -0
  102. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/env/__init__.py +0 -0
  103. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/env/driver_cp210x/.DS_Store +0 -0
  104. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x64.exe +0 -0
  105. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x86.exe +0 -0
  106. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210x_Universal_Windows_Driver_ReleaseNotes.txt +0 -0
  107. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/SLAB_License_Agreement_VCP_Windows.txt +0 -0
  108. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm/silabser.sys +0 -0
  109. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm64/silabser.sys +0 -0
  110. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/dpinst.xml +0 -0
  111. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.cat +0 -0
  112. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.inf +0 -0
  113. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x64/silabser.sys +0 -0
  114. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x86/silabser.sys +0 -0
  115. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/env/driver_cp210x/macOS_VCP_Driver/SiLabsUSBDriverDisk.dmg +0 -0
  116. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/env/driver_cp210x/macOS_VCP_Driver/macOS_VCP_Driver_Release_Notes.txt +0 -0
  117. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/media/__init__.py +0 -0
  118. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/media/dnd.png +0 -0
  119. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/media/logo.png +0 -0
  120. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/media/logo_mini.png +0 -0
  121. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/media/usb_port_icon.png +0 -0
  122. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/media/wifi_icon.png +0 -0
  123. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/__init__.py +0 -0
  124. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/micropython/board_commands.json +0 -0
  125. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/micropython/esp32-20251209-v1.27.0.bin +0 -0
  126. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/micropython/esp32c3-20251209-v1.27.0.bin +0 -0
  127. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/micropython/esp32c5-20251209-v1.27.0.bin +0 -0
  128. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/micropython/esp32c6-20251209-v1.27.0.bin +0 -0
  129. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/micropython/esp32cam-v1.21.0_camera.bin +0 -0
  130. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/micropython/esp32s2-20251209-v1.27.0.bin +0 -0
  131. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/micropython/esp32s2-LOLIN_MINI-20251209-v1.27.0.bin +0 -0
  132. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/micropython/esp32s3-4MBflash-20241129-v1.24.1.bin +0 -0
  133. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/micropython/esp32s3-8MBflash-20251209-v1.27.0.bin +0 -0
  134. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/micropython/esp32s3_spiram_oct-20251209-v1.27.0.bin +0 -0
  135. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/micropython/rpi-pico-w-20251209-v1.27.0.uf2 +0 -0
  136. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/micropython/tinypico-20251209-v1.27.0.bin +0 -0
  137. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/.DS_Store +0 -0
  138. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/Auth.py +0 -0
  139. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/Buffer.py +0 -0
  140. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/Common.py +0 -0
  141. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/Config.py +0 -0
  142. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/Debug.py +0 -0
  143. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/Espnow.py +0 -0
  144. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/Files.py +0 -0
  145. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/Hooks.py +0 -0
  146. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/InterConnect.py +0 -0
  147. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/Interrupts.py +0 -0
  148. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/Logger.py +0 -0
  149. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/Network.py +0 -0
  150. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/Notify.py +0 -0
  151. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/Pacman.py +0 -0
  152. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/Scheduler.py +0 -0
  153. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/Server.py +0 -0
  154. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/Tasks.py +0 -0
  155. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/Time.py +0 -0
  156. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/Web.py +0 -0
  157. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/__pycache__/Buffer.cpython-312.pyc +0 -0
  158. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/__pycache__/Common.cpython-312.pyc +0 -0
  159. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/__pycache__/Config.cpython-312.pyc +0 -0
  160. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/__pycache__/Debug.cpython-312.pyc +0 -0
  161. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/__pycache__/Hooks.cpython-312.pyc +0 -0
  162. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/__pycache__/InterConnect.cpython-312.pyc +0 -0
  163. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/__pycache__/Interrupts.cpython-312.pyc +0 -0
  164. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/__pycache__/Pacman.cpython-312.pyc +0 -0
  165. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/__pycache__/Scheduler.cpython-312.pyc +0 -0
  166. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/__pycache__/Server.cpython-312.pyc +0 -0
  167. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/__pycache__/Shell.cpython-312.pyc +0 -0
  168. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/__pycache__/Tasks.cpython-312.pyc +0 -0
  169. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/__pycache__/Time.cpython-312.pyc +0 -0
  170. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/__pycache__/Web.cpython-312.pyc +0 -0
  171. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/__pycache__/replhelper.cpython-312.pyc +0 -0
  172. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/__pycache__/urequests.cpython-312.pyc +0 -0
  173. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/config/_git.keep +0 -0
  174. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/helpers.py +0 -0
  175. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/main.py +0 -0
  176. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/micrOS.py +0 -0
  177. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/micrOSloader.py +0 -0
  178. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/microIO.py +0 -0
  179. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/IO_esp32.py +0 -0
  180. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/IO_esp32c3.py +0 -0
  181. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/IO_esp32c5.py +0 -0
  182. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/IO_esp32c6.py +0 -0
  183. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/IO_esp32s2.py +0 -0
  184. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/IO_esp32s3.py +0 -0
  185. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/IO_m5stamp.py +0 -0
  186. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/IO_qtpy.py +0 -0
  187. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/IO_rp2.py +0 -0
  188. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/IO_tinypico.py +0 -0
  189. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_L298N.py +0 -0
  190. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_L9110_DCmotor.py +0 -0
  191. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_VL53L0X.py +0 -0
  192. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_aht10.py +0 -0
  193. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_bme280.py +0 -0
  194. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_buzzer.py +0 -0
  195. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_cluster.py +0 -0
  196. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_co2.py +0 -0
  197. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_dht11.py +0 -0
  198. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_dht22.py +0 -0
  199. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_dimmer.py +0 -0
  200. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_distance.py +0 -0
  201. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_ds18.py +0 -0
  202. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_esp32.py +0 -0
  203. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_espnow.py +0 -0
  204. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_fileserver.py +0 -0
  205. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_gameOfLife.py +0 -0
  206. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_genIO.py +0 -0
  207. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_haptic.py +0 -0
  208. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_i2c.py +0 -0
  209. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_i2s_mic.py +0 -0
  210. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_ld2410.py +0 -0
  211. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_light_sensor.py +0 -0
  212. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_mh_z19c.py +0 -0
  213. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_neoeffects.py +0 -0
  214. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_neopixel.py +0 -0
  215. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_oled.py +0 -0
  216. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_oled_sh1106.py +0 -0
  217. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_oled_ui.py +0 -0
  218. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_pacman.py +0 -0
  219. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_presence.py +0 -0
  220. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_qmi8658.py +0 -0
  221. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_rencoder.py +0 -0
  222. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_rest.py +0 -0
  223. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_rgb.py +0 -0
  224. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_rgbcct.py +0 -0
  225. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_roboarm.py +0 -0
  226. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_robustness.py +0 -0
  227. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_rp2w.py +0 -0
  228. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_sdcard.py +0 -0
  229. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_servo.py +0 -0
  230. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_sound_event.py +0 -0
  231. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_stepper.py +0 -0
  232. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_switch.py +0 -0
  233. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_system.py +0 -0
  234. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_tcs3472.py +0 -0
  235. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_telegram.py +0 -0
  236. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_tinyrgb.py +0 -0
  237. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_trackball.py +0 -0
  238. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/LM_veml7700.py +0 -0
  239. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/__pycache__/LM_pacman.cpython-312.pyc +0 -0
  240. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/modules/__pycache__/LM_system.cpython-312.pyc +0 -0
  241. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/urequests.py +0 -0
  242. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/source/web/dashboard.html +0 -0
  243. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/utests/__init__.py +0 -0
  244. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/utests/test_buffer.py +0 -0
  245. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/utests/test_config.py +0 -0
  246. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/utests/test_scheduler.py +0 -0
  247. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/utests/test_time.py +0 -0
  248. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/utests/test_urequests.py +0 -0
  249. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/utests/test_urequests_real_api.py +0 -0
  250. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOS/utests/test_web_engine.py +0 -0
  251. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOSDevToolKit.egg-info/dependency_links.txt +0 -0
  252. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOSDevToolKit.egg-info/requires.txt +0 -0
  253. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/micrOSDevToolKit.egg-info/top_level.txt +0 -0
  254. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/setup.cfg +0 -0
  255. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/DevEnvCompile.py +0 -0
  256. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/DevEnvOTA.py +0 -0
  257. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/DevEnvUSB.py +0 -0
  258. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/Gateway.py +0 -0
  259. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/LM_to_compile.dat +0 -0
  260. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/MicrOSDevEnv.py +0 -0
  261. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/WebRepl.py +0 -0
  262. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/__init__.py +0 -0
  263. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/dashboard_apps/BackupRestore.py +0 -0
  264. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/dashboard_apps/CCTDemo.py +0 -0
  265. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/dashboard_apps/CCTTest.py +0 -0
  266. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/dashboard_apps/CamStream.py +0 -0
  267. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/dashboard_apps/CatGame.py +0 -0
  268. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/dashboard_apps/Dimmer.py +0 -0
  269. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/dashboard_apps/GetVersion.py +0 -0
  270. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/dashboard_apps/MicrophoneTest.py +0 -0
  271. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/dashboard_apps/NeoEffectsDemo.py +0 -0
  272. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/dashboard_apps/NeopixelTest.py +0 -0
  273. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/dashboard_apps/PresenceTest.py +0 -0
  274. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/dashboard_apps/QMI8685_GYRO.py +0 -0
  275. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/dashboard_apps/RGBTest.py +0 -0
  276. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/dashboard_apps/RoboArm.py +0 -0
  277. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/dashboard_apps/SED_test.py +0 -0
  278. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/dashboard_apps/SensorsTest.py +0 -0
  279. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/dashboard_apps/SystemTest.py +0 -0
  280. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/dashboard_apps/Template_app.py +0 -0
  281. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/dashboard_apps/__init__.py +0 -0
  282. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/dashboard_apps/_app_base.py +0 -0
  283. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/dashboard_apps/_capture.py +0 -0
  284. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/dashboard_apps/_gyro_visualizer.py +0 -0
  285. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/dashboard_apps/_micPlotting.py +0 -0
  286. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/dashboard_apps/_presencePlotting.py +0 -0
  287. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/dashboard_apps/uLightDemo.py +0 -0
  288. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/gateway/gateway.css +0 -0
  289. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/gateway/img_stream.html +0 -0
  290. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/gateway/index.html +0 -0
  291. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/lib/LocalMachine.py +0 -0
  292. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/lib/MicrosFiles.py +0 -0
  293. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/lib/Repository.py +0 -0
  294. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/lib/SafeInput.py +0 -0
  295. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/lib/SearchDevices.py +0 -0
  296. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/lib/SerialDriverHandler.py +0 -0
  297. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/lib/TerminalColors.py +0 -0
  298. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/lib/__init__.py +0 -0
  299. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/lib/macroScript.py +0 -0
  300. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/lib/micrOSClient.py +0 -0
  301. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/lib/micrOSClientHistory.py +0 -0
  302. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/lib/pip_package_installer.py +0 -0
  303. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/micrOSdashboard.py +0 -0
  304. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/.DS_Store +0 -0
  305. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/IO_darwin.py +0 -0
  306. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/dht.cpython-39.pyc +0 -0
  307. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/dotstar.cpython-38.pyc +0 -0
  308. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/dotstar.cpython-39.pyc +0 -0
  309. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-38.pyc +0 -0
  310. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-39.pyc +0 -0
  311. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/esp32.cpython-38.pyc +0 -0
  312. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/esp32.cpython-39.pyc +0 -0
  313. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/framebuf.cpython-38.pyc +0 -0
  314. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/framebuf.cpython-39.pyc +0 -0
  315. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/machine.cpython-38.pyc +0 -0
  316. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/machine.cpython-39.pyc +0 -0
  317. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/micropython.cpython-38.pyc +0 -0
  318. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/micropython.cpython-39.pyc +0 -0
  319. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/neopixel.cpython-38.pyc +0 -0
  320. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/neopixel.cpython-39.pyc +0 -0
  321. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/network.cpython-38.pyc +0 -0
  322. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/network.cpython-39.pyc +0 -0
  323. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/onewire.cpython-38.pyc +0 -0
  324. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/onewire.cpython-39.pyc +0 -0
  325. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/simgc.cpython-38.pyc +0 -0
  326. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/simgc.cpython-39.pyc +0 -0
  327. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/simulator.cpython-38.pyc +0 -0
  328. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/simulator.cpython-39.pyc +0 -0
  329. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/tinypico.cpython-38.pyc +0 -0
  330. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/tinypico.cpython-39.pyc +0 -0
  331. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-38.pyc +0 -0
  332. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-39.pyc +0 -0
  333. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/ustruct.cpython-39.pyc +0 -0
  334. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/utime.cpython-38.pyc +0 -0
  335. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/utime.cpython-39.pyc +0 -0
  336. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/webrepl.cpython-38.pyc +0 -0
  337. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/__pycache__/webrepl.cpython-39.pyc +0 -0
  338. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/aioespnow.py +0 -0
  339. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/camera.py +0 -0
  340. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/dht.py +0 -0
  341. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/dotstar.py +0 -0
  342. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/ds18x20.py +0 -0
  343. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/esp32.py +0 -0
  344. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/framebuf.py +0 -0
  345. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/machine.py +0 -0
  346. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/micropython.py +0 -0
  347. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/mip.py +0 -0
  348. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/neopixel.py +0 -0
  349. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/network.py +0 -0
  350. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/node_config.json +0 -0
  351. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/ntptime.py +0 -0
  352. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/onewire.py +0 -0
  353. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/sim_common.py +0 -0
  354. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/simgc.py +0 -0
  355. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/tinypico.py +0 -0
  356. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/uasyncio.py +0 -0
  357. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/uos.py +0 -0
  358. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/urandom.py +0 -0
  359. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/usocket.py +0 -0
  360. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/ussl.py +0 -0
  361. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/ustruct.py +0 -0
  362. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/utime.py +0 -0
  363. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/view01.jpg +0 -0
  364. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/view02.jpg +0 -0
  365. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/simulator_lib/webrepl.py +0 -0
  366. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/socketClient.py +0 -0
  367. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/user_data/.include +0 -0
  368. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/user_data/webhooks/generic.py +0 -0
  369. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/user_data/webhooks/macro.py +0 -0
  370. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/user_data/webhooks/template.macro +0 -0
  371. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/user_data/webhooks/template.py +0 -0
  372. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/__init__.py +0 -0
  373. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/Auth.mpy +0 -0
  374. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/Buffer.mpy +0 -0
  375. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/Common.mpy +0 -0
  376. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/Config.mpy +0 -0
  377. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/Debug.mpy +0 -0
  378. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/Espnow.mpy +0 -0
  379. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/Files.mpy +0 -0
  380. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/Hooks.mpy +0 -0
  381. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/InterConnect.mpy +0 -0
  382. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/Interrupts.mpy +0 -0
  383. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/Logger.mpy +0 -0
  384. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/Network.mpy +0 -0
  385. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/Notify.mpy +0 -0
  386. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/Pacman.mpy +0 -0
  387. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/Scheduler.mpy +0 -0
  388. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/Server.mpy +0 -0
  389. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/Tasks.mpy +0 -0
  390. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/Time.mpy +0 -0
  391. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/Web.mpy +0 -0
  392. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/_mpy.version +0 -0
  393. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/config/_git.keep +0 -0
  394. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/helpers.mpy +0 -0
  395. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/main.py +0 -0
  396. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/micrOS.mpy +0 -0
  397. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/micrOSloader.mpy +0 -0
  398. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/microIO.mpy +0 -0
  399. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/IO_esp32.mpy +0 -0
  400. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/IO_esp32c3.mpy +0 -0
  401. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/IO_esp32c5.mpy +0 -0
  402. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/IO_esp32c6.mpy +0 -0
  403. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/IO_esp32s2.mpy +0 -0
  404. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/IO_esp32s3.mpy +0 -0
  405. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/IO_m5stamp.mpy +0 -0
  406. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/IO_qtpy.mpy +0 -0
  407. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/IO_rp2.mpy +0 -0
  408. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/IO_tinypico.mpy +0 -0
  409. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_L298N.mpy +0 -0
  410. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_L9110_DCmotor.py +0 -0
  411. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_VL53L0X.py +0 -0
  412. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_aht10.mpy +0 -0
  413. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_bme280.mpy +0 -0
  414. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_buzzer.mpy +0 -0
  415. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_cluster.mpy +0 -0
  416. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_co2.mpy +0 -0
  417. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_dht11.mpy +0 -0
  418. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_dht22.mpy +0 -0
  419. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_dimmer.mpy +0 -0
  420. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_distance.mpy +0 -0
  421. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_ds18.mpy +0 -0
  422. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_esp32.py +0 -0
  423. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_espnow.py +0 -0
  424. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_fileserver.mpy +0 -0
  425. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_gameOfLife.mpy +0 -0
  426. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_genIO.mpy +0 -0
  427. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_haptic.mpy +0 -0
  428. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_i2c.py +0 -0
  429. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_i2s_mic.mpy +0 -0
  430. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_ld2410.mpy +0 -0
  431. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_light_sensor.mpy +0 -0
  432. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_mh_z19c.py +0 -0
  433. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_neoeffects.mpy +0 -0
  434. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_neopixel.mpy +0 -0
  435. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_oled.mpy +0 -0
  436. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_oled_sh1106.mpy +0 -0
  437. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_oled_ui.mpy +0 -0
  438. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_pacman.mpy +0 -0
  439. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_presence.mpy +0 -0
  440. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_qmi8658.py +0 -0
  441. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_rencoder.py +0 -0
  442. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_rest.mpy +0 -0
  443. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_rgb.mpy +0 -0
  444. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_rgbcct.mpy +0 -0
  445. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_roboarm.mpy +0 -0
  446. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_robustness.py +0 -0
  447. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_rp2w.py +0 -0
  448. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_sdcard.py +0 -0
  449. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_servo.mpy +0 -0
  450. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_sound_event.mpy +0 -0
  451. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_stepper.mpy +0 -0
  452. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_switch.mpy +0 -0
  453. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_system.mpy +0 -0
  454. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_tcs3472.py +0 -0
  455. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_telegram.mpy +0 -0
  456. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_tinyrgb.mpy +0 -0
  457. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_trackball.mpy +0 -0
  458. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/modules/LM_veml7700.mpy +0 -0
  459. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/urequests.mpy +0 -0
  460. {microsdevtoolkit-3.0.6 → microsdevtoolkit-3.0.7}/toolkit/workspace/precompiled/web/dashboard.html +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: micrOSDevToolKit
3
- Version: 3.0.6
3
+ Version: 3.0.7
4
4
  Summary: Development and deployment environment for micrOS, the diy micropython automation OS (IoT)
5
5
  Home-page: https://github.com/BxNxM/micrOS
6
6
  Author: Marcell Ban
@@ -2,7 +2,7 @@
2
2
  "files": {
3
3
  "Auth.py": [
4
4
  9.63,
5
- 4
5
+ 5
6
6
  ],
7
7
  "Time.py": [
8
8
  9.38,
@@ -38,7 +38,7 @@
38
38
  ],
39
39
  "Config.py": [
40
40
  9.62,
41
- 17
41
+ 18
42
42
  ],
43
43
  "Shell.py": [
44
44
  9.36,
@@ -125,7 +125,7 @@
125
125
  0
126
126
  ],
127
127
  "modules/LM_web.py": [
128
- 7.14,
128
+ 8.57,
129
129
  0
130
130
  ],
131
131
  "modules/LM_genIO.py": [
@@ -327,7 +327,7 @@
327
327
  27
328
328
  ],
329
329
  "load": [
330
- 8827,
330
+ 8823,
331
331
  53
332
332
  ],
333
333
  "core_dep": [
@@ -336,10 +336,10 @@
336
336
  ],
337
337
  "load_dep": [
338
338
  true,
339
- 4
339
+ 5
340
340
  ],
341
341
  "core_score": 9.28,
342
- "load_score": 8.44,
343
- "version": "3.0.6-0"
342
+ "load_score": 8.46,
343
+ "version": "3.0.7-0"
344
344
  }
345
345
  }
@@ -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 = '3.0.6-0'
28
+ MICROS_VERSION = '3.0.7-0'
29
29
 
30
30
  def __init__(self):
31
31
  """
@@ -34,7 +34,7 @@ WHITE = lambda: __TEMPLATE | {'type': 'white'} | __RANGE_255
34
34
  JOYSTICK = lambda: __TEMPLATE | {'type': 'joystick'} | __RANGE_100 # pylint: disable=invalid-name
35
35
  GRAPH = lambda: __TEMPLATE | {'type': 'graph', 'refresh': 3000, 'limit': 30} # pylint: disable=invalid-name
36
36
  # Widget Types - Web endpoints
37
- EMBED = lambda: __TEMPLATE | {'type': 'embed', 'image': False, 'retry': 3000, 'title': None} # pylint: disable=invalid-name
37
+ EMBED = lambda: __TEMPLATE | {'type': 'embed', 'image': False, 'title': None} # pylint: disable=invalid-name
38
38
 
39
39
 
40
40
  ########################################################
@@ -240,7 +240,7 @@ def help(widgets=False):
240
240
  """
241
241
  return resolve(('load quality="medium/low/high" freq="default/high"',
242
242
  'settings quality=None flip=None mirror=None effect="NONE"',
243
- 'EMBED{"callback": "/cam/stream", "title": "camera stream", "image": true, "retry": 3000}',
243
+ 'EMBED{"callback": "/cam/stream", "title": "camera stream", "image": true}',
244
244
  'SLIDER settings saturation=<0-100>',
245
245
  'SLIDER settings brightness=<0-100>',
246
246
  'SLIDER settings contrast=<0-100>',
@@ -346,10 +346,10 @@ def help(widgets=False):
346
346
  (widgets=False) list of functions implemented by this application
347
347
  (widgets=True) list of widget json for UI generation
348
348
  """
349
- return resolve(('WHITE white cw=<0-1000-5> ww smooth=True force=True',
350
- 'BUTTON toggle state=<True,False> smooth=True', 'load',
351
- 'SLIDER brightness percent=<0-100> smooth=True wake=True',
352
- 'transition cw=None ww=None sec=1.0 wake=False',
353
- 'hue_transition percent=<0-100> sec=1.0 wake=False',
354
- 'BUTTON random smooth=True max_val=1000', 'status',
355
- 'subscribe_presence', 'pinmap'), widgets=widgets)
349
+ return resolve(('WHITE white cw=<0-800-5> ww smooth=True force=True',
350
+ 'BUTTON toggle state=<True,False> smooth=True', 'load',
351
+ 'SLIDER brightness percent=<0-100> smooth=True wake=True',
352
+ 'transition cw=None ww=None sec=1.0 wake=False',
353
+ 'hue_transition percent=<0-100> sec=1.0 wake=False',
354
+ 'BUTTON random smooth=True max_val=1000', 'status',
355
+ 'subscribe_presence', 'pinmap'), widgets=widgets)
@@ -0,0 +1,74 @@
1
+ """
2
+ Web backend loader
3
+ - Dynamic application dashboard
4
+ - Fileserver
5
+ """
6
+
7
+ from json import dumps
8
+
9
+ from Common import web_endpoint, web_mounts
10
+ from Config import cfgget
11
+ from Auth import sudo
12
+
13
+ _CFG_HIDE = ("webui", "hwuid", "guimeta", "socport", "version", "auth", "soctout")
14
+
15
+
16
+ def load(dashboard=True, fileserver:bool=False, fs_explore:bool=False):
17
+ """
18
+ Centralized Web Backend Services Loader
19
+ - Dynamic application dashboard
20
+ - Fileserver
21
+ :param dashboard: bool - enable*/disable application dashboard
22
+ :param fileserver: bool - enable/disable* fileserver
23
+ :param fs_explore: bool - enable all shared web mounts: modules, data
24
+ """
25
+ endpoints = []
26
+ if dashboard:
27
+ web_endpoint('dashboard', 'dashboard.html')
28
+ endpoints.append("Dashboard initialized, endpoint: /dashboard")
29
+ if fileserver:
30
+ import LM_fileserver
31
+ endpoints.append(LM_fileserver.load())
32
+ endpoints.append(web_mounts(fs_explore, fs_explore, fs_explore))
33
+ return endpoints
34
+
35
+
36
+ @sudo
37
+ def enable_config():
38
+ """
39
+ Enable web configuration option
40
+ """
41
+ web_endpoint("config", _cfg_get_clb)
42
+ web_endpoint("config", _cfg_set_clb, "POST")
43
+ web_endpoint("config/ui", 'config.html')
44
+ return "Endpoints: /config and /config/ui"
45
+
46
+
47
+ def _cfg_json(data):
48
+ return "application/json", dumps(data)
49
+
50
+
51
+ def _cfg_get_clb(*_):
52
+ """
53
+ Get system config
54
+ """
55
+ return _cfg_json({k: v for k, v in cfgget().items() if k not in _CFG_HIDE})
56
+
57
+
58
+ def _cfg_set_clb(*_):
59
+ """
60
+ Set system config delta - not implemented yet
61
+ """
62
+ return _cfg_json({"state": False, "result": "Config set is not implemented"})
63
+
64
+
65
+ def help(widgets=False):
66
+ """
67
+ [i] micrOS LM naming convention - built-in help message
68
+ :return tuple:
69
+ (widgets=False) list of functions implemented by this application
70
+ (widgets=True) list of widget json for UI generation
71
+ """
72
+ return ('load dashboard=True fileserver=False fs_explore=False',
73
+ 'enable_config',
74
+ 'help')
@@ -0,0 +1,59 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Config</title>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
7
+ <link rel="stylesheet" href="../ustyle.css">
8
+ <style>
9
+ #top {
10
+ display: flex;
11
+ align-items: center;
12
+ gap: 8px;
13
+ flex-wrap: wrap;
14
+ margin-bottom: 12px;
15
+ }
16
+ #cfg {
17
+ width: 100%;
18
+ min-height: 70vh;
19
+ box-sizing: border-box;
20
+ font-family: monospace;
21
+ font-size: 14px;
22
+ resize: vertical;
23
+ }
24
+ #out {
25
+ white-space: pre-wrap;
26
+ }
27
+ </style>
28
+ </head>
29
+ <body>
30
+ <h1> micrOS Config </h1>
31
+ <p>Current node configuration as JSON.</p>
32
+ <div id="top">
33
+ <button onclick="loadConfig()">Reload</button>
34
+ </div>
35
+ <textarea id="cfg" spellcheck="false" readonly></textarea>
36
+ <pre id="out"></pre>
37
+
38
+ <script>
39
+ const cfg = document.getElementById('cfg');
40
+ const out = document.getElementById('out');
41
+
42
+ function show(value) {
43
+ out.textContent = typeof value === 'string' ? value : JSON.stringify(value, null, 2);
44
+ }
45
+
46
+ function loadConfig(report = true) {
47
+ return fetch('/config')
48
+ .then(r => r.json())
49
+ .then(data => {
50
+ cfg.value = JSON.stringify(data, null, 2);
51
+ if (report) { show('Config loaded'); }
52
+ })
53
+ .catch(e => show('Load failed: ' + e.message));
54
+ }
55
+
56
+ document.addEventListener('DOMContentLoaded', () => loadConfig());
57
+ </script>
58
+ </body>
59
+ </html>
@@ -0,0 +1,423 @@
1
+ /* ============================================================
2
+ * Embedded MicroPython Editor
3
+ * Dependency-free editor shell; syntax support lives in editor_plugins.js.
4
+ *
5
+ * Public API:
6
+ * createEditor(container)
7
+ * openEditor(url, { anchor, list })
8
+ * destroyEditor()
9
+ * ============================================================ */
10
+
11
+ let _editor = null;
12
+ let _pluginsPromise = null;
13
+ const _host = { container: null };
14
+ const _editorSrc = (document.currentScript && document.currentScript.src) || "../editor.js";
15
+
16
+ window.createEditor = function (container) {
17
+ injectCSS();
18
+ if (!_editor) {
19
+ _host.container = container;
20
+ _editor = new EmbeddedEditor(container);
21
+ }
22
+ return _editor;
23
+ };
24
+
25
+ window.openEditor = function (url, opts = {}) {
26
+ if (!_editor) return console.warn("Editor not active");
27
+
28
+ const { anchor, list } = opts;
29
+ if (anchor) anchor.insertAdjacentElement("afterend", _host.container);
30
+ else if (list) list.insertAdjacentElement("beforebegin", _host.container);
31
+
32
+ _editor.open(url);
33
+ };
34
+
35
+ window.destroyEditor = function () {
36
+ if (!_editor) return;
37
+ _editor.close();
38
+ if (_host.container) _host.container.remove();
39
+ _editor = null;
40
+ _host.container = null;
41
+ };
42
+
43
+ function injectCSS() {
44
+ if (document.getElementById("mp-editor-css")) return;
45
+
46
+ const css = document.createElement("style");
47
+ css.id = "mp-editor-css";
48
+ css.textContent = `
49
+ .mp-editor {
50
+ --mp-code-font: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
51
+ --mp-code-line: 20px;
52
+ --mp-code-pad: 8px;
53
+ --mp-code-size: 14px;
54
+ background: #1e1e1e;
55
+ color: #d4d4d4;
56
+ font-family: var(--mp-code-font);
57
+ }
58
+ .mp-editor .toolbar {
59
+ align-items: center;
60
+ background: #252526;
61
+ display: flex;
62
+ gap: 6px;
63
+ padding: 6px;
64
+ }
65
+ .mp-editor input {
66
+ background: #1e1e1e;
67
+ border: 1px solid #555;
68
+ color: #d4d4d4;
69
+ padding: 4px 6px;
70
+ }
71
+ .mp-editor button {
72
+ background: #0e639c;
73
+ border: none;
74
+ color: #fff;
75
+ cursor: pointer;
76
+ padding: 6px 10px;
77
+ }
78
+ .mp-editor button:hover { background: #1177bb; }
79
+ .mp-editor .close {
80
+ background: transparent;
81
+ color: #ccc;
82
+ font-size: 16px;
83
+ margin-left: auto;
84
+ padding: 4px 8px;
85
+ }
86
+ .mp-editor .close:hover { background: #333; color: #fff; }
87
+ .mp-editor .status { font-size: 13px; }
88
+ .mp-editor .status.ok { color: #6a9955; }
89
+ .mp-editor .status.err { color: #f44747; }
90
+ .mp-editor .status.info { color: #ccc; }
91
+ .mp-editor .editor {
92
+ display: flex;
93
+ height: 500px;
94
+ overflow: hidden;
95
+ }
96
+ .mp-editor .lines {
97
+ background: #252526;
98
+ color: #858585;
99
+ flex-shrink: 0;
100
+ font-family: var(--mp-code-font);
101
+ font-size: var(--mp-code-size);
102
+ line-height: var(--mp-code-line);
103
+ overflow: hidden;
104
+ padding: var(--mp-code-pad);
105
+ text-align: right;
106
+ user-select: none;
107
+ white-space: pre;
108
+ }
109
+ .mp-editor .code-wrap {
110
+ background: #1e1e1e;
111
+ cursor: text;
112
+ flex: 1;
113
+ overflow: hidden;
114
+ position: relative;
115
+ }
116
+ .mp-editor .highlight,
117
+ .mp-editor textarea {
118
+ appearance: none;
119
+ border: none;
120
+ border-radius: 0;
121
+ box-sizing: border-box;
122
+ display: block;
123
+ font-family: var(--mp-code-font);
124
+ font-size: var(--mp-code-size);
125
+ font-style: normal;
126
+ font-weight: 400;
127
+ height: 100%;
128
+ inset: 0;
129
+ letter-spacing: 0;
130
+ line-height: var(--mp-code-line);
131
+ margin: 0;
132
+ max-width: none;
133
+ overflow-wrap: normal;
134
+ padding: var(--mp-code-pad);
135
+ position: absolute;
136
+ tab-size: 4;
137
+ white-space: pre;
138
+ width: 100%;
139
+ word-break: normal;
140
+ word-wrap: normal;
141
+ }
142
+ .mp-editor .highlight {
143
+ background: transparent;
144
+ color: #d4d4d4;
145
+ overflow: visible;
146
+ pointer-events: none;
147
+ z-index: 1;
148
+ }
149
+ .mp-editor textarea {
150
+ background: transparent;
151
+ caret-color: #d4d4d4;
152
+ color: transparent;
153
+ outline: none;
154
+ overflow: auto;
155
+ resize: none;
156
+ -webkit-text-fill-color: transparent;
157
+ z-index: 2;
158
+ }
159
+ .mp-editor textarea::selection {
160
+ background: rgba(38, 79, 120, 0.65);
161
+ color: transparent;
162
+ -webkit-text-fill-color: transparent;
163
+ }
164
+ .mp-editor .lines,
165
+ .mp-editor input {
166
+ font-size: 14px;
167
+ line-height: 20px;
168
+ }
169
+ `;
170
+ document.head.appendChild(css);
171
+ }
172
+
173
+ /* ---------- Plugin bridge ---------- */
174
+
175
+ function escapeHTML(text) {
176
+ const map = { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" };
177
+ return text.replace(/[&<>"']/g, ch => map[ch]);
178
+ }
179
+
180
+ function fileExt(name) {
181
+ const leaf = (name || "").split(/[?#]/)[0].split("/").pop();
182
+ const dot = leaf.lastIndexOf(".");
183
+ return dot >= 0 ? leaf.slice(dot).toLowerCase() : "";
184
+ }
185
+
186
+ function pluginUrl() {
187
+ const src = _editorSrc.replace(/editor\.js([?#].*)?$/, "editor_plugins.js$1");
188
+ return src === _editorSrc ? "../editor_plugins.js" : src;
189
+ }
190
+
191
+ function plugins() {
192
+ return window.EditorPlugins || null;
193
+ }
194
+
195
+ function syntaxFor(name) {
196
+ const api = plugins();
197
+ return api && api.getSyntaxFor ? api.getSyntaxFor(name) : null;
198
+ }
199
+
200
+ function loadPlugins() {
201
+ if (plugins()) return Promise.resolve(plugins());
202
+ if (_pluginsPromise) return _pluginsPromise;
203
+
204
+ _pluginsPromise = new Promise((resolve, reject) => {
205
+ const script = document.createElement("script");
206
+ script.src = pluginUrl();
207
+ script.onload = () => {
208
+ const api = plugins();
209
+ api ? resolve(api) : reject(new Error("editor_plugins.js did not register EditorPlugins"));
210
+ };
211
+ script.onerror = () => reject(new Error("editor_plugins.js load failed"));
212
+ document.head.appendChild(script);
213
+ }).catch(err => {
214
+ _pluginsPromise = null;
215
+ throw err;
216
+ });
217
+
218
+ return _pluginsPromise;
219
+ }
220
+
221
+ /* ---------- Editor ---------- */
222
+
223
+ class EmbeddedEditor {
224
+ constructor(container) {
225
+ this.container = container;
226
+ this.pluginsLoading = false;
227
+ this.buildUI();
228
+ this.bindEvents();
229
+ this.refresh(false);
230
+ }
231
+
232
+ buildUI() {
233
+ this.container.innerHTML = `
234
+ <div class="mp-editor">
235
+ <div class="toolbar">
236
+ <input class="filename" value="">
237
+ <button class="load">Load</button>
238
+ <button class="save">Save</button>
239
+ <button class="syntax">Syntax</button>
240
+ <span class="status info">ready</span>
241
+ <button class="close" title="Close">&times;</button>
242
+ </div>
243
+ <div class="editor">
244
+ <div class="lines"></div>
245
+ <div class="code-wrap">
246
+ <pre class="highlight" aria-hidden="true"></pre>
247
+ <textarea class="code" wrap="off" spellcheck="false"></textarea>
248
+ </div>
249
+ </div>
250
+ </div>`;
251
+ this.codeEl = this.container.querySelector(".code");
252
+ this.fileEl = this.container.querySelector(".filename");
253
+ this.highlightEl = this.container.querySelector(".highlight");
254
+ this.linesEl = this.container.querySelector(".lines");
255
+ this.statusEl = this.container.querySelector(".status");
256
+ this.syntaxBtn = this.container.querySelector(".syntax");
257
+ }
258
+
259
+ bindEvents() {
260
+ this.codeEl.addEventListener("input", () => {
261
+ this.refresh();
262
+ this.setStatus("edited");
263
+ });
264
+ this.codeEl.addEventListener("scroll", () => this.syncScroll());
265
+ this.codeEl.addEventListener("keydown", e => this.handleKeydown(e));
266
+ this.fileEl.addEventListener("input", () => this.refresh());
267
+ this.container.querySelector(".load").addEventListener("click", () => this.loadFile());
268
+ this.container.querySelector(".save").addEventListener("click", () => this.save());
269
+ this.syntaxBtn.addEventListener("click", () => this.syntaxCheck());
270
+ this.container.querySelector(".close").addEventListener("click", () => window.destroyEditor());
271
+ }
272
+
273
+ handleKeydown(e) {
274
+ if (e.key !== "Tab") return;
275
+ e.preventDefault();
276
+ const s = this.codeEl.selectionStart;
277
+ const ePos = this.codeEl.selectionEnd;
278
+ this.codeEl.value = this.codeEl.value.slice(0, s) + " " + this.codeEl.value.slice(ePos);
279
+ this.codeEl.selectionStart = this.codeEl.selectionEnd = s + 4;
280
+ this.refresh();
281
+ }
282
+
283
+ setStatus(text, type = "info") {
284
+ this.statusEl.textContent = text;
285
+ this.statusEl.className = "status " + type;
286
+ }
287
+
288
+ refresh(loadPlugin = true) {
289
+ this.updateLines();
290
+ this.paint();
291
+ const syntax = syntaxFor(this.fileEl.value);
292
+ this.syntaxBtn.style.display = syntax && syntax.checker ? "" : "none";
293
+ if (loadPlugin) this.ensurePlugins();
294
+ }
295
+
296
+ paint() {
297
+ const syntax = syntaxFor(this.fileEl.value);
298
+ const highlighter = syntax && syntax.highlighter;
299
+ const code = this.codeEl.value;
300
+ this.highlightEl.innerHTML = (highlighter ? highlighter(code) : escapeHTML(code)) || " ";
301
+ this.syncScroll();
302
+ }
303
+
304
+ ensurePlugins() {
305
+ if (plugins() || this.pluginsLoading || !fileExt(this.fileEl.value)) return;
306
+
307
+ this.pluginsLoading = true;
308
+ loadPlugins().then(
309
+ () => {
310
+ this.pluginsLoading = false;
311
+ this.refresh(false);
312
+ },
313
+ err => {
314
+ this.pluginsLoading = false;
315
+ console.warn("editor.js:", err.message);
316
+ }
317
+ );
318
+ }
319
+
320
+ syncScroll() {
321
+ this.linesEl.scrollTop = this.codeEl.scrollTop;
322
+ this.highlightEl.style.transform = `translate(${-this.codeEl.scrollLeft}px, ${-this.codeEl.scrollTop}px)`;
323
+ }
324
+
325
+ updateLines() {
326
+ const count = this.codeEl.value.split("\n").length;
327
+ this.linesEl.textContent = Array.from({ length: count }, (_, i) => i + 1).join("\n");
328
+ this.linesEl.scrollTop = this.codeEl.scrollTop;
329
+ }
330
+
331
+ setValue(file, text, status, type = "info") {
332
+ this.fileEl.value = file || "";
333
+ this.codeEl.value = text || "";
334
+ this.refresh();
335
+ this.setStatus(status, type);
336
+ }
337
+
338
+ open(url) {
339
+ const name = (url || "").split("/").pop();
340
+ this.setStatus("loading...");
341
+ fetch(url)
342
+ .then(r => r.ok ? r.text() : Promise.reject(new Error(r.statusText || "load failed")))
343
+ .then(text => this.setValue(url, text, "loaded", "ok"))
344
+ .catch(() => {
345
+ if (name === "LM_blinky.py") this.loadExample(url);
346
+ else this.setValue(url, "", "file not found or unreadable", "err");
347
+ });
348
+ }
349
+
350
+ loadFile() {
351
+ this.fileEl.value ? this.open(this.fileEl.value) : this.setStatus("no filename", "err");
352
+ }
353
+
354
+ save() {
355
+ const name = this.fileEl.value;
356
+ if (!name) return this.setStatus("no filename", "err");
357
+ if (!window.uploadFile) return this.setStatus("upload unavailable", "err");
358
+
359
+ const file = new File([this.codeEl.value], name, { type: "text/plain" });
360
+ window.uploadFile(file)
361
+ .then(ok => this.setStatus(ok ? "saved" : "save failed", ok ? "ok" : "err"))
362
+ .catch(err => this.setStatus("Save failed: " + err.message, "err"));
363
+ }
364
+
365
+ syntaxCheck() {
366
+ const syntax = syntaxFor(this.fileEl.value);
367
+ const checker = syntax && syntax.checker;
368
+ if (!checker) {
369
+ if (plugins() || !fileExt(this.fileEl.value)) return this.setStatus("syntax unavailable");
370
+ this.setStatus("loading syntax...");
371
+ return loadPlugins().then(() => this.syntaxCheck(), err => this.setStatus(err.message, "err"));
372
+ }
373
+
374
+ const result = checker(this.codeEl.value);
375
+ const error = result.errors && result.errors[0];
376
+ this.setStatus(
377
+ result.ok ? "syntax OK" : Object.entries(error || {}).map(([k, v]) => `${k}=${JSON.stringify(v)}`).join(" "),
378
+ result.ok ? "ok" : "err"
379
+ );
380
+ }
381
+
382
+ close() {
383
+ const file = this.fileEl ? this.fileEl.value : "";
384
+ this.container.innerHTML = "";
385
+ try {
386
+ window.dispatchEvent(new CustomEvent("micros-editor-close", { detail: { file } }));
387
+ } catch (_) {}
388
+ }
389
+
390
+ loadExample(file = "") {
391
+ this.setValue(file, `# LM_blinky.py - MicroPython example
392
+ # Guide: https://github.com/BxNxM/micrOS/blob/master/micrOS/MODULE_GUIDE.md
393
+ import machine
394
+ from microIO import bind_pin, pinmap_search
395
+ from Common import micro_task
396
+
397
+ LED = None
398
+
399
+ def load(pin=2):
400
+ global LED
401
+ if LED is None:
402
+ LED = machine.Pin(bind_pin("led", pin), machine.Pin.OUT)
403
+ return LED
404
+
405
+ @micro_task("blinky", _wrap=True)
406
+ async def blink(tag):
407
+ with micro_task(tag=tag) as my_task:
408
+ if LED is None:
409
+ my_task.out = "LED uninitialized"
410
+ return
411
+ my_task.out = "BlinkyBlink task"
412
+ while True:
413
+ LED.value(not LED.value())
414
+ await my_task.feed(sleep_ms=500)
415
+
416
+ def pinmap():
417
+ return pinmap_search(['led'])
418
+
419
+ def help(widgets=False):
420
+ return "load pin=2", "blink", "pinmap"
421
+ `, "example loaded");
422
+ }
423
+ }