micrOSDevToolKit 2.8.6__tar.gz → 2.8.7__tar.gz

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

Potentially problematic release.


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

Files changed (403) hide show
  1. {microsdevtoolkit-2.8.6/micrOSDevToolKit.egg-info → microsdevtoolkit-2.8.7}/PKG-INFO +1 -1
  2. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/env/driver_cp210x/.DS_Store +0 -0
  3. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/env/driver_cp210x/macOS_VCP_Driver/SiLabsUSBDriverDisk.dmg +0 -0
  4. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/env/driver_cp210x/macOS_VCP_Driver/macOS_VCP_Driver_Release_Notes.txt +0 -0
  5. microsdevtoolkit-2.8.7/micrOS/micropython/esp32-20241129-v1.24.1.bin +0 -0
  6. microsdevtoolkit-2.8.7/micrOS/micropython/esp32s3-20241129-v1.24.1.bin +0 -0
  7. microsdevtoolkit-2.8.7/micrOS/micropython/esp32s3_spiram_oct-20241129-v1.24.1.bin +0 -0
  8. microsdevtoolkit-2.8.7/micrOS/micropython/rpi-pico-w-20241129-v1.24.1.uf2 +0 -0
  9. microsdevtoolkit-2.8.7/micrOS/micropython/tinypico-20241129-v1.24.1.bin +0 -0
  10. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/release_info/micrOS_ReleaseInfo/system_analysis_sum.json +28 -28
  11. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/Common.py +2 -2
  12. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/Hooks.py +25 -15
  13. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_buzzer.py +1 -2
  14. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_cct.py +2 -3
  15. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_dimmer.py +1 -2
  16. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_distance.py +2 -4
  17. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_i2s_mic.py +4 -4
  18. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_keychain.py +2 -3
  19. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_light_sensor.py +1 -2
  20. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_neopixel.py +1 -2
  21. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_oledui.py +3 -4
  22. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_pet_feeder.py +3 -4
  23. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_presence.py +1 -2
  24. microsdevtoolkit-2.8.7/micrOS/source/LM_rest.py +83 -0
  25. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_rgb.py +1 -2
  26. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_roboarm.py +1 -2
  27. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_sound_event.py +2 -3
  28. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/Notify.py +0 -1
  29. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/Scheduler.py +7 -4
  30. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/Shell.py +2 -2
  31. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/Tasks.py +106 -98
  32. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/Web.py +16 -5
  33. {microsdevtoolkit-2.8.6/toolkit/workspace/precompiled → microsdevtoolkit-2.8.7/micrOS/source}/dashboard.html +4 -4
  34. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/micrOS.py +5 -10
  35. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/micrOSloader.py +0 -5
  36. {microsdevtoolkit-2.8.6/toolkit/workspace/precompiled → microsdevtoolkit-2.8.7/micrOS/source}/uapi.js +5 -6
  37. microsdevtoolkit-2.8.7/micrOS/source/urequests.py +265 -0
  38. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7/micrOSDevToolKit.egg-info}/PKG-INFO +1 -1
  39. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOSDevToolKit.egg-info/SOURCES.txt +8 -10
  40. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/setup.py +1 -1
  41. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/DevEnvUSB.py +1 -6
  42. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/simulator.cpython-312.pyc +0 -0
  43. microsdevtoolkit-2.8.7/toolkit/simulator_lib/__pycache__/uasyncio.cpython-312.pyc +0 -0
  44. microsdevtoolkit-2.8.7/toolkit/simulator_lib/__pycache__/usocket.cpython-312.pyc +0 -0
  45. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/simulator.py +14 -0
  46. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/uasyncio.py +2 -2
  47. microsdevtoolkit-2.8.7/toolkit/simulator_lib/usocket.py +12 -0
  48. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/Common.mpy +0 -0
  49. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/Hooks.mpy +0 -0
  50. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_buzzer.mpy +0 -0
  51. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/LM_cct.mpy +0 -0
  52. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/LM_dimmer.mpy +0 -0
  53. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/LM_distance.mpy +0 -0
  54. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_i2s_mic.mpy +0 -0
  55. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/LM_keychain.mpy +0 -0
  56. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/LM_light_sensor.mpy +0 -0
  57. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/LM_neopixel.mpy +0 -0
  58. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/LM_oledui.mpy +0 -0
  59. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_pet_feeder.py +3 -4
  60. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/LM_presence.mpy +0 -0
  61. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/LM_rest.mpy +0 -0
  62. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/LM_rgb.mpy +0 -0
  63. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/LM_roboarm.mpy +0 -0
  64. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/LM_sound_event.mpy +0 -0
  65. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/Notify.mpy +0 -0
  66. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/Scheduler.mpy +0 -0
  67. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/Shell.mpy +0 -0
  68. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/Tasks.mpy +0 -0
  69. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/Web.mpy +0 -0
  70. {microsdevtoolkit-2.8.6/micrOS/source → microsdevtoolkit-2.8.7/toolkit/workspace/precompiled}/dashboard.html +4 -4
  71. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/micrOS.mpy +0 -0
  72. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/micrOSloader.mpy +0 -0
  73. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/node_config.json +1 -0
  74. {microsdevtoolkit-2.8.6/micrOS/source → microsdevtoolkit-2.8.7/toolkit/workspace/precompiled}/uapi.js +5 -6
  75. microsdevtoolkit-2.8.7/toolkit/workspace/precompiled/urequests.mpy +0 -0
  76. microsdevtoolkit-2.8.6/env/driver_cp210x/CH34XSER_MAC/CH34X_DRV_INSTALL_INSTRUCTIONS.pdf +0 -0
  77. microsdevtoolkit-2.8.6/env/driver_cp210x/CH34XSER_MAC/CH34xVCPDriver.pkg +0 -0
  78. microsdevtoolkit-2.8.6/micrOS/micropython/esp32-20231005-v1.21.0.bin +0 -0
  79. microsdevtoolkit-2.8.6/micrOS/micropython/esp32-GENERIC-20240602-v1.23.0.bin +0 -0
  80. microsdevtoolkit-2.8.6/micrOS/micropython/rpi-pico-w-20240602-v1.23.0.uf2 +0 -0
  81. microsdevtoolkit-2.8.6/micrOS/micropython/tinypico-20231005-v1.21.0.bin +0 -0
  82. microsdevtoolkit-2.8.6/micrOS/micropython/tinypico_usbc-UM-20240105-v1.22.1.bin +0 -0
  83. microsdevtoolkit-2.8.6/micrOS/source/LM_rest.py +0 -40
  84. microsdevtoolkit-2.8.6/micrOS/source/urequests.py +0 -179
  85. microsdevtoolkit-2.8.6/toolkit/simulator_lib/__pycache__/uasyncio.cpython-312.pyc +0 -0
  86. microsdevtoolkit-2.8.6/toolkit/simulator_lib/__pycache__/usocket.cpython-312.pyc +0 -0
  87. microsdevtoolkit-2.8.6/toolkit/simulator_lib/usocket.py +0 -8
  88. microsdevtoolkit-2.8.6/toolkit/workspace/precompiled/Hooks.mpy +0 -0
  89. microsdevtoolkit-2.8.6/toolkit/workspace/precompiled/LM_cct.mpy +0 -0
  90. microsdevtoolkit-2.8.6/toolkit/workspace/precompiled/LM_dimmer.mpy +0 -0
  91. microsdevtoolkit-2.8.6/toolkit/workspace/precompiled/LM_distance.mpy +0 -0
  92. microsdevtoolkit-2.8.6/toolkit/workspace/precompiled/LM_keychain.mpy +0 -0
  93. microsdevtoolkit-2.8.6/toolkit/workspace/precompiled/LM_light_sensor.mpy +0 -0
  94. microsdevtoolkit-2.8.6/toolkit/workspace/precompiled/LM_neopixel.mpy +0 -0
  95. microsdevtoolkit-2.8.6/toolkit/workspace/precompiled/LM_oledui.mpy +0 -0
  96. microsdevtoolkit-2.8.6/toolkit/workspace/precompiled/LM_presence.mpy +0 -0
  97. microsdevtoolkit-2.8.6/toolkit/workspace/precompiled/LM_rest.mpy +0 -0
  98. microsdevtoolkit-2.8.6/toolkit/workspace/precompiled/LM_rgb.mpy +0 -0
  99. microsdevtoolkit-2.8.6/toolkit/workspace/precompiled/LM_roboarm.mpy +0 -0
  100. microsdevtoolkit-2.8.6/toolkit/workspace/precompiled/LM_sound_event.mpy +0 -0
  101. microsdevtoolkit-2.8.6/toolkit/workspace/precompiled/Scheduler.mpy +0 -0
  102. microsdevtoolkit-2.8.6/toolkit/workspace/precompiled/Tasks.mpy +0 -0
  103. microsdevtoolkit-2.8.6/toolkit/workspace/precompiled/Web.mpy +0 -0
  104. microsdevtoolkit-2.8.6/toolkit/workspace/precompiled/micrOS.mpy +0 -0
  105. microsdevtoolkit-2.8.6/toolkit/workspace/precompiled/micrOSloader.mpy +0 -0
  106. microsdevtoolkit-2.8.6/toolkit/workspace/precompiled/node_config.json +0 -1
  107. microsdevtoolkit-2.8.6/toolkit/workspace/precompiled/urequests.mpy +0 -0
  108. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/LICENSE +0 -0
  109. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/MANIFEST.in +0 -0
  110. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/README.md +0 -0
  111. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/devToolKit.py +0 -0
  112. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/env/__init__.py +0 -0
  113. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x64.exe +0 -0
  114. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x86.exe +0 -0
  115. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210x_Universal_Windows_Driver_ReleaseNotes.txt +0 -0
  116. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/SLAB_License_Agreement_VCP_Windows.txt +0 -0
  117. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm/silabser.sys +0 -0
  118. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm64/silabser.sys +0 -0
  119. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/dpinst.xml +0 -0
  120. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.cat +0 -0
  121. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.inf +0 -0
  122. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x64/silabser.sys +0 -0
  123. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x86/silabser.sys +0 -0
  124. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/media/__init__.py +0 -0
  125. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/media/dnd.png +0 -0
  126. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/media/logo.png +0 -0
  127. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/media/logo_mini.png +0 -0
  128. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/media/usb_port_icon.png +0 -0
  129. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/media/wifi_icon.png +0 -0
  130. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/__init__.py +0 -0
  131. /microsdevtoolkit-2.8.6/micrOS/micropython/esp32c3-GENERIC-20240222-v1.22.2.bin → /microsdevtoolkit-2.8.7/micrOS/micropython/esp32c3-20240222-v1.22.2.bin +0 -0
  132. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/micropython/esp32cam-v1.21.0_camera.bin +0 -0
  133. /microsdevtoolkit-2.8.6/micrOS/micropython/esp32s2-GENERIC-20240602-v1.23.0.bin → /microsdevtoolkit-2.8.7/micrOS/micropython/esp32s2-20240602-v1.23.0.bin +0 -0
  134. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/micropython/esp32s2-LOLIN_MINI-20220618-v1.19.1.bin +0 -0
  135. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/micropython/esp32s2-LOLIN_MINI-20240602-v1.23.0.bin +0 -0
  136. /microsdevtoolkit-2.8.6/micrOS/micropython/esp32s3-GENERIC-20240105-v1.22.1.bin → /microsdevtoolkit-2.8.7/micrOS/micropython/esp32s3-20240105-v1.22.1.bin +0 -0
  137. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/micropython/esp32s3_spiram_oct-20231005-v1.21.0.bin +0 -0
  138. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/.DS_Store +0 -0
  139. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/Config.py +0 -0
  140. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/Debug.py +0 -0
  141. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/Espnow.py +0 -0
  142. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/IO_esp32.py +0 -0
  143. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/IO_esp32c3.py +0 -0
  144. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/IO_esp32s2.py +0 -0
  145. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/IO_esp32s3.py +0 -0
  146. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/IO_m5stamp.py +0 -0
  147. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/IO_qtpy.py +0 -0
  148. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/IO_rp2.py +0 -0
  149. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/IO_tinypico.py +0 -0
  150. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/InterConnect.py +0 -0
  151. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/Interrupts.py +0 -0
  152. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_L298N_DCmotor.py +0 -0
  153. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_L9110_DCmotor.py +0 -0
  154. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_OV2640.py +0 -0
  155. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_VL53L0X.py +0 -0
  156. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_aht10.py +0 -0
  157. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_bme280.py +0 -0
  158. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_catgame.py +0 -0
  159. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_co2.py +0 -0
  160. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_dashboard_be.py +0 -0
  161. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_demo.py +0 -0
  162. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_dht11.py +0 -0
  163. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_dht22.py +0 -0
  164. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_ds18.py +0 -0
  165. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_esp32.py +0 -0
  166. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_espnow.py +0 -0
  167. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_gameOfLife.py +0 -0
  168. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_genIO.py +0 -0
  169. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_haptic.py +0 -0
  170. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_i2c.py +0 -0
  171. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_intercon.py +0 -0
  172. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_ld2410.py +0 -0
  173. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_lmpacman.py +0 -0
  174. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_neoeffects.py +0 -0
  175. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_oled.py +0 -0
  176. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_oled_sh1106.py +0 -0
  177. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_oled_ui.py +0 -0
  178. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_ph_sensor.py +0 -0
  179. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_rencoder.py +0 -0
  180. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_rgbcct.py +0 -0
  181. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_robustness.py +0 -0
  182. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_rp2w.py +0 -0
  183. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_sdcard.py +0 -0
  184. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_servo.py +0 -0
  185. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_stepper.py +0 -0
  186. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_switch.py +0 -0
  187. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_system.py +0 -0
  188. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_telegram.py +0 -0
  189. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_tinyrgb.py +0 -0
  190. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_trackball.py +0 -0
  191. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/LM_veml7700.py +0 -0
  192. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/Logger.py +0 -0
  193. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/Network.py +0 -0
  194. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/Server.py +0 -0
  195. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/Time.py +0 -0
  196. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/Types.py +0 -0
  197. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/index.html +0 -0
  198. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/main.py +0 -0
  199. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/microIO.py +0 -0
  200. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/reset.py +0 -0
  201. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/udashboard.js +0 -0
  202. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/ustyle.css +0 -0
  203. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/uwidgets.js +0 -0
  204. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOS/source/uwidgets_pro.js +0 -0
  205. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOSDevToolKit.egg-info/dependency_links.txt +0 -0
  206. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOSDevToolKit.egg-info/requires.txt +0 -0
  207. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/micrOSDevToolKit.egg-info/top_level.txt +0 -0
  208. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/setup.cfg +0 -0
  209. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/DevEnvCompile.py +0 -0
  210. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/DevEnvOTA.py +0 -0
  211. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/Gateway.py +0 -0
  212. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/LM_to_compile.dat +0 -0
  213. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/MicrOSDevEnv.py +0 -0
  214. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/__init__.py +0 -0
  215. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/dashboard_apps/AirQualityBME280.py +0 -0
  216. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/dashboard_apps/AirQualityDHT22_CO2.py +0 -0
  217. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/dashboard_apps/BackupRestore.py +0 -0
  218. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/dashboard_apps/CCTDemo.py +0 -0
  219. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/dashboard_apps/CCTTest.py +0 -0
  220. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/dashboard_apps/CamStream.py +0 -0
  221. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/dashboard_apps/CatGame.py +0 -0
  222. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/dashboard_apps/Dimmer.py +0 -0
  223. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/dashboard_apps/GetVersion.py +0 -0
  224. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/dashboard_apps/MicrophoneTest.py +0 -0
  225. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/dashboard_apps/NeoEffectsDemo.py +0 -0
  226. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/dashboard_apps/NeopixelTest.py +0 -0
  227. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/dashboard_apps/PresenceTest.py +0 -0
  228. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/dashboard_apps/RGBTest.py +0 -0
  229. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/dashboard_apps/RoboArm.py +0 -0
  230. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/dashboard_apps/SED_test.py +0 -0
  231. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/dashboard_apps/SystemTest.py +0 -0
  232. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/dashboard_apps/Template_app.py +0 -0
  233. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/dashboard_apps/__init__.py +0 -0
  234. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/dashboard_apps/_capture.py +0 -0
  235. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/dashboard_apps/_micPlotting.py +0 -0
  236. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/dashboard_apps/_presencePlotting.py +0 -0
  237. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/dashboard_apps/uLightDemo.py +0 -0
  238. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/img_stream.html +0 -0
  239. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/index.html +0 -0
  240. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/lib/LocalMachine.py +0 -0
  241. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/lib/SafeInput.py +0 -0
  242. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/lib/SearchDevices.py +0 -0
  243. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/lib/SerialDriverHandler.py +0 -0
  244. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/lib/TerminalColors.py +0 -0
  245. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/lib/__init__.py +0 -0
  246. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/lib/file_extensions.py +0 -0
  247. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/lib/macroScript.py +0 -0
  248. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/lib/micrOSClient.py +0 -0
  249. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/lib/pip_package_installer.py +0 -0
  250. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/micrOSdashboard.py +0 -0
  251. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/micrOSlint.py +0 -0
  252. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/.DS_Store +0 -0
  253. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/IO_darwin.py +0 -0
  254. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/IO_darwin.cpython-312.pyc +0 -0
  255. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/camera.cpython-312.pyc +0 -0
  256. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/dht.cpython-312.pyc +0 -0
  257. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/dht.cpython-39.pyc +0 -0
  258. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/dotstar.cpython-312.pyc +0 -0
  259. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/dotstar.cpython-38.pyc +0 -0
  260. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/dotstar.cpython-39.pyc +0 -0
  261. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-312.pyc +0 -0
  262. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-38.pyc +0 -0
  263. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-39.pyc +0 -0
  264. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/esp32.cpython-312.pyc +0 -0
  265. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/esp32.cpython-38.pyc +0 -0
  266. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/esp32.cpython-39.pyc +0 -0
  267. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/framebuf.cpython-312.pyc +0 -0
  268. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/framebuf.cpython-38.pyc +0 -0
  269. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/framebuf.cpython-39.pyc +0 -0
  270. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/machine.cpython-312.pyc +0 -0
  271. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/machine.cpython-38.pyc +0 -0
  272. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/machine.cpython-39.pyc +0 -0
  273. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/micropython.cpython-312.pyc +0 -0
  274. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/micropython.cpython-38.pyc +0 -0
  275. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/micropython.cpython-39.pyc +0 -0
  276. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/neopixel.cpython-312.pyc +0 -0
  277. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/neopixel.cpython-38.pyc +0 -0
  278. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/neopixel.cpython-39.pyc +0 -0
  279. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/network.cpython-312.pyc +0 -0
  280. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/network.cpython-38.pyc +0 -0
  281. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/network.cpython-39.pyc +0 -0
  282. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/ntptime.cpython-312.pyc +0 -0
  283. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/onewire.cpython-312.pyc +0 -0
  284. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/onewire.cpython-38.pyc +0 -0
  285. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/onewire.cpython-39.pyc +0 -0
  286. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/sim_console.cpython-312.pyc +0 -0
  287. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/sim_console.cpython-38.pyc +0 -0
  288. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/sim_console.cpython-39.pyc +0 -0
  289. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/simgc.cpython-312.pyc +0 -0
  290. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/simgc.cpython-38.pyc +0 -0
  291. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/simgc.cpython-39.pyc +0 -0
  292. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/simulator.cpython-38.pyc +0 -0
  293. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/simulator.cpython-39.pyc +0 -0
  294. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/tinypico.cpython-312.pyc +0 -0
  295. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/tinypico.cpython-38.pyc +0 -0
  296. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/tinypico.cpython-39.pyc +0 -0
  297. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-38.pyc +0 -0
  298. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-39.pyc +0 -0
  299. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/ussl.cpython-312.pyc +0 -0
  300. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/ustruct.cpython-312.pyc +0 -0
  301. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/ustruct.cpython-39.pyc +0 -0
  302. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/utime.cpython-312.pyc +0 -0
  303. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/utime.cpython-38.pyc +0 -0
  304. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/utime.cpython-39.pyc +0 -0
  305. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/webrepl.cpython-312.pyc +0 -0
  306. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/webrepl.cpython-38.pyc +0 -0
  307. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/__pycache__/webrepl.cpython-39.pyc +0 -0
  308. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/camera.py +0 -0
  309. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/dht.py +0 -0
  310. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/dotstar.py +0 -0
  311. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/ds18x20.py +0 -0
  312. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/esp32.py +0 -0
  313. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/framebuf.py +0 -0
  314. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/machine.py +0 -0
  315. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/micropython.py +0 -0
  316. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/neopixel.py +0 -0
  317. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/network.py +0 -0
  318. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/node_config.json +0 -0
  319. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/ntptime.py +0 -0
  320. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/onewire.py +0 -0
  321. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/sim_console.py +0 -0
  322. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/simgc.py +0 -0
  323. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/tinypico.py +0 -0
  324. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/ussl.py +0 -0
  325. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/ustruct.py +0 -0
  326. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/utime.py +0 -0
  327. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/view01.jpg +0 -0
  328. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/view02.jpg +0 -0
  329. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/simulator_lib/webrepl.py +0 -0
  330. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/socketClient.py +0 -0
  331. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/user_data/.include +0 -0
  332. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/user_data/webhooks/generic.py +0 -0
  333. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/user_data/webhooks/macro.py +0 -0
  334. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/user_data/webhooks/template.macro +0 -0
  335. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/user_data/webhooks/template.py +0 -0
  336. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/__init__.py +0 -0
  337. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/Config.mpy +0 -0
  338. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/Debug.mpy +0 -0
  339. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/Espnow.mpy +0 -0
  340. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/IO_esp32.mpy +0 -0
  341. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/IO_esp32c3.mpy +0 -0
  342. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/IO_esp32s2.mpy +0 -0
  343. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/IO_esp32s3.mpy +0 -0
  344. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/IO_m5stamp.mpy +0 -0
  345. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/IO_qtpy.mpy +0 -0
  346. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/IO_rp2.mpy +0 -0
  347. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/IO_tinypico.mpy +0 -0
  348. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/InterConnect.mpy +0 -0
  349. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/Interrupts.mpy +0 -0
  350. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_L298N_DCmotor.mpy +0 -0
  351. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_L9110_DCmotor.py +0 -0
  352. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_OV2640.mpy +0 -0
  353. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_VL53L0X.py +0 -0
  354. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_aht10.mpy +0 -0
  355. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_bme280.mpy +0 -0
  356. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_catgame.py +0 -0
  357. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_co2.mpy +0 -0
  358. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_dashboard_be.py +0 -0
  359. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_demo.py +0 -0
  360. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_dht11.mpy +0 -0
  361. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_dht22.mpy +0 -0
  362. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_ds18.mpy +0 -0
  363. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_esp32.py +0 -0
  364. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_espnow.py +0 -0
  365. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_gameOfLife.mpy +0 -0
  366. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_genIO.mpy +0 -0
  367. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_haptic.mpy +0 -0
  368. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_i2c.py +0 -0
  369. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_intercon.mpy +0 -0
  370. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_ld2410.mpy +0 -0
  371. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_lmpacman.mpy +0 -0
  372. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_neoeffects.mpy +0 -0
  373. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_oled.mpy +0 -0
  374. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_oled_sh1106.mpy +0 -0
  375. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_oled_ui.mpy +0 -0
  376. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_ph_sensor.py +0 -0
  377. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_rencoder.py +0 -0
  378. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_rgbcct.mpy +0 -0
  379. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_robustness.py +0 -0
  380. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_rp2w.py +0 -0
  381. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_sdcard.py +0 -0
  382. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_servo.mpy +0 -0
  383. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_stepper.mpy +0 -0
  384. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_switch.mpy +0 -0
  385. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_system.mpy +0 -0
  386. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_telegram.mpy +0 -0
  387. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_tinyrgb.mpy +0 -0
  388. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_trackball.mpy +0 -0
  389. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/LM_veml7700.mpy +0 -0
  390. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/Logger.mpy +0 -0
  391. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/Network.mpy +0 -0
  392. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/Server.mpy +0 -0
  393. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/Time.mpy +0 -0
  394. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/Types.mpy +0 -0
  395. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/_mpy.version +0 -0
  396. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/index.html +0 -0
  397. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/main.py +0 -0
  398. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/microIO.mpy +0 -0
  399. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/reset.mpy +0 -0
  400. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/udashboard.js +0 -0
  401. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/ustyle.css +0 -0
  402. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/uwidgets.js +0 -0
  403. {microsdevtoolkit-2.8.6 → microsdevtoolkit-2.8.7}/toolkit/workspace/precompiled/uwidgets_pro.js +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: micrOSDevToolKit
3
- Version: 2.8.6
3
+ Version: 2.8.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
@@ -5,11 +5,11 @@
5
5
  7
6
6
  ],
7
7
  "micrOSloader.py": [
8
- 7.85,
8
+ 7.84,
9
9
  1
10
10
  ],
11
11
  "Hooks.py": [
12
- 9.41,
12
+ 9.85,
13
13
  1
14
14
  ],
15
15
  "Server.py": [
@@ -17,11 +17,11 @@
17
17
  3
18
18
  ],
19
19
  "Web.py": [
20
- 9.05,
20
+ 9.23,
21
21
  1
22
22
  ],
23
23
  "Tasks.py": [
24
- 9.78,
24
+ 9.55,
25
25
  12
26
26
  ],
27
27
  "Config.py": [
@@ -33,11 +33,11 @@
33
33
  0
34
34
  ],
35
35
  "Shell.py": [
36
- 9.61,
36
+ 9.33,
37
37
  1
38
38
  ],
39
39
  "Notify.py": [
40
- 9.59,
40
+ 9.26,
41
41
  2
42
42
  ],
43
43
  "Types.py": [
@@ -49,8 +49,8 @@
49
49
  4
50
50
  ],
51
51
  "Common.py": [
52
- 9.49,
53
- 32
52
+ 8.48,
53
+ 33
54
54
  ],
55
55
  "InterConnect.py": [
56
56
  9.4,
@@ -69,7 +69,7 @@
69
69
  1
70
70
  ],
71
71
  "Scheduler.py": [
72
- 9.61,
72
+ 9.62,
73
73
  1
74
74
  ],
75
75
  "microIO.py": [
@@ -77,7 +77,7 @@
77
77
  42
78
78
  ],
79
79
  "micrOS.py": [
80
- 9.29,
80
+ 9.25,
81
81
  1
82
82
  ],
83
83
  "Interrupts.py": [
@@ -89,11 +89,11 @@
89
89
  0
90
90
  ],
91
91
  "urequests.py": [
92
- 8.94,
93
- 4
92
+ 8.79,
93
+ 5
94
94
  ],
95
95
  "LM_roboarm.py": [
96
- 7.78,
96
+ 7.76,
97
97
  0
98
98
  ],
99
99
  "LM_stepper.py": [
@@ -121,7 +121,7 @@
121
121
  0
122
122
  ],
123
123
  "LM_rest.py": [
124
- 7.0,
124
+ 7.78,
125
125
  0
126
126
  ],
127
127
  "LM_oled.py": [
@@ -173,11 +173,11 @@
173
173
  0
174
174
  ],
175
175
  "LM_neopixel.py": [
176
- 7.59,
176
+ 7.57,
177
177
  2
178
178
  ],
179
179
  "LM_cct.py": [
180
- 8.83,
180
+ 8.82,
181
181
  1
182
182
  ],
183
183
  "LM_L9110_DCmotor.py": [
@@ -209,7 +209,7 @@
209
209
  0
210
210
  ],
211
211
  "LM_pet_feeder.py": [
212
- 8.0,
212
+ 7.94,
213
213
  0
214
214
  ],
215
215
  "LM_rencoder.py": [
@@ -217,7 +217,7 @@
217
217
  0
218
218
  ],
219
219
  "LM_keychain.py": [
220
- 9.18,
220
+ 9.17,
221
221
  0
222
222
  ],
223
223
  "LM_dht11.py": [
@@ -245,11 +245,11 @@
245
245
  0
246
246
  ],
247
247
  "LM_rgb.py": [
248
- 8.66,
248
+ 8.65,
249
249
  1
250
250
  ],
251
251
  "LM_distance.py": [
252
- 8.89,
252
+ 8.87,
253
253
  0
254
254
  ],
255
255
  "LM_VL53L0X.py": [
@@ -257,7 +257,7 @@
257
257
  0
258
258
  ],
259
259
  "LM_light_sensor.py": [
260
- 8.99,
260
+ 8.97,
261
261
  0
262
262
  ],
263
263
  "LM_rp2w.py": [
@@ -265,7 +265,7 @@
265
265
  0
266
266
  ],
267
267
  "LM_presence.py": [
268
- 8.78,
268
+ 8.77,
269
269
  4
270
270
  ],
271
271
  "LM_trackball.py": [
@@ -277,7 +277,7 @@
277
277
  0
278
278
  ],
279
279
  "LM_dimmer.py": [
280
- 8.33,
280
+ 8.32,
281
281
  1
282
282
  ],
283
283
  "LM_demo.py": [
@@ -315,11 +315,11 @@
315
315
  },
316
316
  "summary": {
317
317
  "core": [
318
- 3306,
318
+ 3390,
319
319
  23
320
320
  ],
321
321
  "load": [
322
- 8711,
322
+ 8732,
323
323
  55
324
324
  ],
325
325
  "core_dep": [
@@ -330,8 +330,8 @@
330
330
  true,
331
331
  6
332
332
  ],
333
- "core_score": 9.13,
334
- "load_score": 8.19,
335
- "version": "2.8.1-0"
333
+ "core_score": 9.07,
334
+ "load_score": 8.2,
335
+ "version": "2.8.4-0"
336
336
  }
337
337
  }
@@ -141,7 +141,6 @@ def exec_cmd(cmd, skip_check=False):
141
141
  return lm_exec(cmd) if isinstance(cmd, list) else False, f"Invalid type, must be list: {type(cmd)}"
142
142
 
143
143
 
144
-
145
144
  def notify(text):
146
145
  """
147
146
  [LM] micrOS common notification handler (Telegram)
@@ -165,6 +164,7 @@ def notify(text):
165
164
  return True
166
165
  return False
167
166
 
167
+
168
168
  def web_endpoint(endpoint, function):
169
169
  """
170
170
  [LM] Add test endpoint <localhost.local>/endpoint from Load Modules
@@ -215,7 +215,7 @@ def data_logger(f_name, data=None, limit=12, msgobj=None):
215
215
 
216
216
  def syslog(msg):
217
217
  """ Wrapper of errlog_add """
218
- return errlog_add(f"[U]{msg}")
218
+ return errlog_add(f"[U] {msg}")
219
219
 
220
220
 
221
221
  def console(msg):
@@ -19,13 +19,17 @@ Designed by Marcell Ban aka BxNxM
19
19
  #################################################################
20
20
  from Config import cfgget, cfgput
21
21
  from microIO import detect_platform
22
- from Debug import console_write
22
+ from Debug import console_write, errlog_add
23
23
  from Tasks import exec_lm_pipe
24
24
  from micropython import mem_info
25
25
  from machine import freq
26
+ try:
27
+ from machine import reset_cause, PWRON_RESET, HARD_RESET, WDT_RESET, DEEPSLEEP_RESET, SOFT_RESET
28
+ except ImportError:
29
+ reset_cause = None
26
30
  try:
27
31
  from gc import mem_free
28
- except:
32
+ except ImportError:
29
33
  from simgc import mem_free
30
34
 
31
35
  #################################################################
@@ -38,9 +42,9 @@ def bootup():
38
42
  Executes when system boots up.
39
43
  """
40
44
  # Execute LMs from boothook config parameter
41
- console_write("[BOOT] EXECUTION ...")
45
+ console_write("[BOOT] EXECUTION...")
46
+ boot_cause()
42
47
  bootasks = cfgget('boothook')
43
- bootasks = _migrate(bootasks) # load_n_init -> load migration (simplify)
44
48
  if bootasks is not None and bootasks.lower() != 'n/a':
45
49
  console_write(f"|-[BOOT] TASKS: {bootasks}")
46
50
  if exec_lm_pipe(bootasks):
@@ -89,15 +93,21 @@ def profiling_info(label=""):
89
93
  mem_info()
90
94
  console_write("~"*30)
91
95
 
92
- def _migrate(bootstr):
93
- """
94
- OBSOLETE load_n_init -- REMOVE AT 2023.12
95
- Use load instead
96
- - auto replace in boothook param
97
- """
98
- if 'load_n_init' in bootstr:
99
- console_write("[MIGRATE] load_n_init -> load")
100
- bootstr = bootstr.replace('load_n_init', 'load')
101
- cfgput('boothook', bootstr)
102
- return bootstr
103
96
 
97
+ def boot_cause():
98
+ reason = 0, "-Unknown"
99
+ if callable(reset_cause):
100
+ reason = 0, "Unknown"
101
+ reset_reason = reset_cause()
102
+ if reset_reason == PWRON_RESET:
103
+ reason = 1, "PowerOn"
104
+ elif reset_reason == HARD_RESET:
105
+ reason = 2, "HardReset"
106
+ elif reset_reason == WDT_RESET:
107
+ reason = 3, "WDTWakeUp"
108
+ elif reset_reason == DEEPSLEEP_RESET:
109
+ reason = 4, "DSWakeUp"
110
+ elif reset_reason == SOFT_RESET:
111
+ reason = 5, "SoftReset"
112
+ errlog_add(f"[BOOT] info: {reason[1]}")
113
+ return reason
@@ -2,7 +2,6 @@ from sys import platform
2
2
  from utime import sleep
3
3
  from microIO import resolve_pin, pinmap_search
4
4
  from Common import micro_task
5
- import uasyncio as asyncio
6
5
  from Types import resolve
7
6
 
8
7
 
@@ -254,7 +253,7 @@ async def _play(rtttlstr):
254
253
  task.out = "Play song..."
255
254
  for freq, msec in tune.notes():
256
255
  __play_tone(freq, msec)
257
- await asyncio.sleep_ms(10)
256
+ await task.feed(sleep_ms=10)
258
257
  task.out = "Song played successfully"
259
258
  del tune
260
259
 
@@ -5,7 +5,6 @@ from machine import Pin, PWM
5
5
  from sys import platform
6
6
  from utime import sleep_ms
7
7
  from Common import transition_gen, micro_task
8
- import uasyncio as asyncio
9
8
  from microIO import resolve_pin, pinmap_search
10
9
  from random import randint
11
10
  from Types import resolve
@@ -229,7 +228,7 @@ def transition(cw=None, ww=None, sec=1.0, wake=False):
229
228
  Data.CWWW_CACHE[0] = cw_val if cw_val > 5 else 5 # SAVE VALUE TO CACHE > 5 ! because toggle
230
229
  Data.CWWW_CACHE[1] = ww_val if ww_val > 5 else 5 # SAVE VALUE TO CACHE > 5 ! because toggle
231
230
  my_task.out = f"Dimming: CW:{cw_val} WW:{ww_val}"
232
- await asyncio.sleep_ms(ms_period)
231
+ await my_task.feed(sleep_ms=ms_period)
233
232
  if Data.CWWW_CACHE[2] == 1 or wake:
234
233
  __state_machine(c=cw_val, w=ww_val)
235
234
  my_task.out = f"Dimming DONE: CW:{cw_val} WW:{ww_val}"
@@ -278,7 +277,7 @@ def hue_transition(percent, sec=1.0, wake=False):
278
277
  Data.CWWW_CACHE[1] = warm if warm > 5 else 5
279
278
  my_task.out = f"HUE {int(hue_precent*0.1)}%w - CW:{cold} WW:{warm}"
280
279
  # Feed async loop
281
- await asyncio.sleep_ms(ms_period)
280
+ await my_task.feed(sleep_ms=ms_period)
282
281
  __state_machine(cold, warm)
283
282
  my_task.out = f"HUE DONE {int(hue_precent*0.001)}%w - CW:{cold} WW:{warm}"
284
283
 
@@ -1,7 +1,6 @@
1
1
  from sys import platform
2
2
  from microIO import resolve_pin, pinmap_search
3
3
  from Common import transition_gen, micro_task
4
- import uasyncio as asyncio
5
4
  from utime import sleep_ms
6
5
  from Types import resolve
7
6
 
@@ -171,7 +170,7 @@ def transition(value, sec=1.0, wake=False):
171
170
  # Update periphery cache (value check due to toggle ON value minimum)
172
171
  Data.DIMMER_CACHE[1] = i if i > 5 else 5 # SAVE VALUE TO CACHE > 5 ! because toggle
173
172
  my_task.out = f"Dimming: {i}"
174
- await asyncio.sleep_ms(ms_period)
173
+ await my_task.feed(sleep_ms=ms_period)
175
174
  if Data.DIMMER_CACHE[0] == 1 or wake:
176
175
  __state_machine(i)
177
176
  my_task.out = f"Dimming DONE: {i}"
@@ -1,7 +1,6 @@
1
1
  from machine import Pin, time_pulse_us
2
2
  from utime import sleep_us
3
3
  from microIO import resolve_pin, pinmap_search
4
- import uasyncio as asyncio
5
4
  from Common import micro_task
6
5
  from Types import resolve
7
6
 
@@ -50,7 +49,7 @@ async def __task(period_ms, dimmer, idle_cm):
50
49
  brightness_min_cm = 5
51
50
  dist = int(measure_cm()["cm"])
52
51
  if dist > idle_cm+100:
53
- await asyncio.sleep_ms(50)
52
+ await my_task.feed(sleep_ms=50)
54
53
  continue
55
54
  dist = brightness_max_cm if dist > brightness_max_cm else dist # Limit max
56
55
  dist = 0 if dist < brightness_min_cm else dist # Limit min
@@ -63,9 +62,8 @@ async def __task(period_ms, dimmer, idle_cm):
63
62
 
64
63
  # Store data in task cache (task show mytask)
65
64
  my_task.out = f'Dist: {dist} br: {brightness}'
66
-
67
65
  # Async sleep - feed event loop
68
- await asyncio.sleep_ms(period_ms)
66
+ await my_task.feed(sleep_ms=period_ms)
69
67
 
70
68
 
71
69
  def start_dimmer_indicator(idle_distance=180):
@@ -49,7 +49,7 @@ async def __control_task(ms_period=50):
49
49
  querying samples. Pushing the button again reinitializes the
50
50
  microphone without having to restart dependent load modules.
51
51
  """
52
- with micro_task(tag=Data.CONTROL_TASK_TAG):
52
+ with micro_task(tag=Data.CONTROL_TASK_TAG) as my_task:
53
53
  while True:
54
54
  if Data.CONTROL_BUTTON_PIN.value():
55
55
  Data.MIC_ENABLED = not Data.MIC_ENABLED
@@ -59,8 +59,8 @@ async def __control_task(ms_period=50):
59
59
  load()
60
60
 
61
61
  # Debounce
62
- await asyncio.sleep_ms(500)
63
- await asyncio.sleep_ms(ms_period)
62
+ await my_task.feed(sleep_ms=500)
63
+ await my_task.feed(sleep_ms=ms_period)
64
64
 
65
65
 
66
66
  ###########################
@@ -76,7 +76,7 @@ async def __task(ms_period):
76
76
  recording_task.out = 'Capturing'
77
77
  while Data.MIC_ENABLED:
78
78
  await Data.SREADER.readinto(sample_mv)
79
- await asyncio.sleep_ms(ms_period)
79
+ await recording_task.feed(sleep_ms=ms_period)
80
80
  recording_task.out = 'Finished'
81
81
 
82
82
  except Exception as e:
@@ -1,4 +1,3 @@
1
- import uasyncio as asyncio
2
1
  from utime import localtime, sleep_ms
3
2
  from neopixel import NeoPixel
4
3
  from machine import Pin
@@ -150,12 +149,12 @@ async def _ui_task(period_ms, tts_ms):
150
149
  my_task.out = f'main page: {KC.DP_cnt}' #2 Update task data for (task show keychain.display)
151
150
  KC.DP_cnt -= 1 #3 Update sleep counter
152
151
  # Async sleep - feed event loop
153
- await asyncio.sleep_ms(period_ms)
152
+ await my_task.feed(sleep_ms=period_ms)
154
153
  else:
155
154
  # [SLEEP MODE] Execute screen saver page
156
155
  await _screen_saver() # Run sleep page function
157
156
  # Async sleep - feed event loop
158
- await asyncio.sleep_ms(fast_period)
157
+ await my_task.feed(sleep_ms=fast_period)
159
158
 
160
159
  # Auto sleep event handler - off event - go to (sleep mode)
161
160
  if KC.DP_cnt <= 0:
@@ -5,7 +5,6 @@ ADC.ATTN_2_5DB — the full range voltage: 1.5V
5
5
  ADC.ATTN_6DB — the full range voltage: 2.0V
6
6
  ADC.ATTN_11DB — the full range voltage: 3.3V
7
7
  """
8
- import uasyncio as asyncio
9
8
  from Common import SmartADC, micro_task
10
9
  from Types import resolve
11
10
  try:
@@ -91,7 +90,7 @@ async def _task(on, off, threshold, tolerance=2, check_ms=5000):
91
90
  InterCon.send_cmd(host, cmd)
92
91
  my_task.out = f"{percent}% > threshold: {threshold+tolerance}% - OFF"
93
92
  last_ev = off
94
- await asyncio.sleep_ms(check_ms) # Sample every <check_ms> sec
93
+ await my_task.feed(sleep_ms=check_ms) # Sample every <check_ms> sec
95
94
 
96
95
 
97
96
  def subscribe_intercon(on, off, threshold=4, tolerance=2, sample_sec=60):
@@ -3,7 +3,6 @@ from machine import Pin
3
3
  from sys import platform
4
4
  from utime import sleep_ms
5
5
  from Common import transition_gen, micro_task
6
- import uasyncio as asyncio
7
6
  from microIO import resolve_pin, pinmap_search
8
7
  from random import randint
9
8
  from Types import resolve
@@ -269,7 +268,7 @@ def transition(r=None, g=None, b=None, sec=1.0, wake=False):
269
268
  Data.DCACHE[1] = g_val if g_val > 5 else 5 # SAVE VALUE TO CACHE > 5 ! because toggle
270
269
  Data.DCACHE[2] = b_val if b_val > 5 else 5 # SAVE VALUE TO CACHE > 5 ! because toggle
271
270
  my_task.out = f"Dimming: R:{r_val} G:{g_val} B:{b_val}"
272
- await asyncio.sleep_ms(ms_period)
271
+ await my_task.feed(sleep_ms=ms_period)
273
272
  if Data.DCACHE[3] == 1 or wake:
274
273
  __state_machine(r=r_val, g=g_val, b=b_val)
275
274
  my_task.out = f"Dimming DONE: R:{r_val} G:{g_val} B:{b_val}"
@@ -1,5 +1,4 @@
1
1
  from utime import localtime, ticks_ms, ticks_diff, sleep_ms
2
- import uasyncio as asyncio
3
2
  from Common import syslog, micro_task, manage_task, exec_cmd
4
3
  from Types import resolve
5
4
  # Core modules
@@ -106,7 +105,7 @@ class Frame(BaseFrame):
106
105
  my_task.out = 'paused' if self.paused else f'refresh: {period_ms} ms'
107
106
  s = self.paused
108
107
  if self.paused:
109
- await asyncio.sleep_ms(period_ms) # extra wait in paused mode
108
+ await my_task.feed(sleep_ms=period_ms) # extra wait in paused mode
110
109
  else:
111
110
  # Draw/Refresh frame
112
111
  self.draw()
@@ -115,7 +114,7 @@ class Frame(BaseFrame):
115
114
  if self._fast_refresh:
116
115
  self._fast_refresh = False
117
116
  break
118
- await asyncio.sleep_ms(micro_sleep_ms)
117
+ await my_task.feed(sleep_ms=micro_sleep_ms)
119
118
 
120
119
  def clb_refresh(self):
121
120
  """Fast reload app loop callbacks"""
@@ -486,7 +485,7 @@ class ScreenSaver(BaseFrame):
486
485
  # Store data in task cache (task show mytask)
487
486
  my_task.out = f'GameOfLife: {counter}'
488
487
  # Async sleep - feed event loop
489
- await asyncio.sleep_ms(period_ms)
488
+ await my_task.feed(sleep_ms=period_ms)
490
489
  my_task.out = f'GameOfLife stopped: {counter}'
491
490
 
492
491
  def run(self, fps=10):
@@ -1,4 +1,3 @@
1
- import uasyncio as asyncio
2
1
  from LM_servo import sduty, deinit, pinmap as servo_pinmap
3
2
  from LM_stepper import step, pinmap as stepper_pinmap
4
3
  from Common import micro_task
@@ -16,13 +15,13 @@ async def __portion_task(portion, posmin, posmax):
16
15
  # [1]Run pos fill up
17
16
  for pos in range(posmin, posmax):
18
17
  sduty(pos)
19
- await asyncio.sleep_ms(15)
18
+ await my_task.feed(sleep_ms=15)
20
19
  # [2]Wait between fill up / food out
21
- await asyncio.sleep_ms(500)
20
+ await my_task.feed(sleep_ms=500)
22
21
  # [3]Run pos food out
23
22
  for pos in range(posmax, posmin, -1):
24
23
  sduty(pos)
25
- await asyncio.sleep_ms(20)
24
+ await my_task.feed(sleep_ms=20)
26
25
  my_task.out = "{}/{} serving".format(p+1, portion)
27
26
  deinit()
28
27
  my_task.out += ": {} task done".format(Data.TASK_TAG)
@@ -1,6 +1,5 @@
1
1
  from microIO import resolve_pin, pinmap_search
2
2
  from Common import SmartADC, micro_task, notify, syslog
3
- import uasyncio as asyncio
4
3
  from utime import ticks_ms
5
4
  try:
6
5
  import LM_intercon as InterCon
@@ -115,7 +114,7 @@ async def __task(ms_period, buff_size):
115
114
  my_task.out = f"{int(Data.OFF_EV_TIMER)-1} sec until off event"
116
115
  Data.OFF_EV_TIMER -= round(ms_period / 1000, 3)
117
116
  # Async sleep - feed event loop
118
- await asyncio.sleep_ms(ms_period)
117
+ await my_task.feed(sleep_ms=ms_period)
119
118
 
120
119
  # RUN OFF CALLBACK (local + remote)
121
120
  __exec_local_callbacks(Data.OFF_CALLBACKS)
@@ -0,0 +1,83 @@
1
+ import uasyncio as asyncio
2
+ from urequests import get as http_get
3
+ from urequests import aget as http_aget
4
+ from Common import micro_task
5
+
6
+
7
+ class Rest:
8
+ GATEWAY_HOST = None
9
+
10
+
11
+ def load(gateway_url=None):
12
+ """
13
+ Set gateway url aka main domain
14
+ :param gateway_url: base url of gateway, like: http://gateway.local:5000
15
+ """
16
+ if gateway_url is None:
17
+ if Rest.GATEWAY_HOST is None:
18
+ return 'Missing Gateway url'
19
+ return Rest.GATEWAY_HOST
20
+ if gateway_url.startswith("http"):
21
+ Rest.GATEWAY_HOST = gateway_url
22
+ else:
23
+ return f"URL have to starts with http/https"
24
+ return f'Gateway url: {gateway_url}'
25
+
26
+
27
+ def _subdomain(subdomain):
28
+ if Rest.GATEWAY_HOST is None:
29
+ raise Exception('Missing Gateway url')
30
+ if not subdomain.startswith('/'):
31
+ subdomain = '/' + subdomain
32
+ domain = f'{Rest.GATEWAY_HOST}{subdomain}'
33
+ return domain
34
+
35
+
36
+ def url(subdomain):
37
+ """
38
+ Execute rest call with given subdomain / url
39
+ :param subdomain: url parameter, http(s) full url or gateway subdomain like: /webhooks/template
40
+ """
41
+ if subdomain.startswith('http'):
42
+ domain = subdomain
43
+ else:
44
+ domain = _subdomain(subdomain)
45
+ status_code, response = http_get(domain, jsonify=True)
46
+ return {'status': status_code, 'response': response}
47
+
48
+
49
+ async def __task(subdomain, tag):
50
+ with micro_task(tag=tag) as my_task:
51
+ my_task.out = f"GET {subdomain}"
52
+ if subdomain.startswith('http'):
53
+ domain = subdomain
54
+ else:
55
+ domain = _subdomain(subdomain)
56
+ status_code, response = await http_aget(domain, jsonify=True)
57
+ my_task.out = f'status: {status_code}, response: {response}'
58
+ return {'status': status_code, 'response': response}
59
+
60
+
61
+ def aurl(subdomain):
62
+ """
63
+ Execute async rest call with given subdomain / url
64
+ :param subdomain: url parameter, http(s) full url or gateway subdomain like: /webhooks/template
65
+ """
66
+ # [!] ASYNC TASK CREATION [1*] with async task callback + taskID (TAG) handling
67
+ tag = "rest." + subdomain.replace("http://", '').replace("https://", '')
68
+ if len(tag) > 50:
69
+ tag = tag[0:50]
70
+ state = micro_task(tag=tag, task=__task(subdomain, tag))
71
+ return f"Starting" if state else f"Already running"
72
+
73
+
74
+ def help(widgets=False):
75
+ """
76
+ [i] micrOS LM naming convention - built-in help message
77
+ :return tuple:
78
+ (widgets=False) list of functions implemented by this application
79
+ (widgets=True) list of widget json for UI generation
80
+ """
81
+ return ('load gateway_url=<http://gateway.local:5000>',
82
+ 'url subdomain=</webhooks/template>',
83
+ 'aurl subdomain=</webhooks/template>')
@@ -4,7 +4,6 @@
4
4
  from machine import Pin, PWM
5
5
  from sys import platform
6
6
  from Common import transition_gen, micro_task
7
- import uasyncio as asyncio
8
7
  from utime import sleep_ms
9
8
  from microIO import resolve_pin, pinmap_search
10
9
  from random import randint
@@ -240,7 +239,7 @@ def transition(r=None, g=None, b=None, sec=1.0, wake=False):
240
239
  Data.RGB_CACHE[1] = _g if _g > 5 else 5 # SAVE VALUE TO CACHE > 5 ! because toggle
241
240
  Data.RGB_CACHE[2] = _b if _b > 5 else 5 # SAVE VALUE TO CACHE > 5 ! because toggle
242
241
  my_task.out = f"Dimming: R:{_r} G:{_g} B:{_b}"
243
- await asyncio.sleep_ms(ms_period)
242
+ await my_task.feed(sleep_ms=ms_period)
244
243
  if Data.RGB_CACHE[3] == 1 or wake:
245
244
  __state_machine(_r, _g, _b)
246
245
  my_task.out = f"Dimming DONE: R:{_r} G:{_g} B:{_b}"
@@ -3,7 +3,6 @@ from random import randint
3
3
  import LM_servo as servo
4
4
  from LM_switch import set_state, pinmap as switch_pinmap
5
5
  from Common import transition, micro_task
6
- import uasyncio as asyncio
7
6
  from Types import resolve
8
7
 
9
8
 
@@ -179,7 +178,7 @@ async def _play(args, deinit, delay):
179
178
  if task is not None:
180
179
  task.out = "Roboarm X:{} Y:{}".format(x, y)
181
180
  # Async wait between steps
182
- await asyncio.sleep_ms(delay)
181
+ await task.feed(sleep_ms=delay)
183
182
  if deinit:
184
183
  servo.deinit()
185
184
  # OFF LASER