micrOSDevToolKit 2.6.7__tar.gz → 2.7.0__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 (372) hide show
  1. {micrOSDevToolKit-2.6.7/micrOSDevToolKit.egg-info → microsdevtoolkit-2.7.0}/PKG-INFO +18 -10
  2. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/README.md +2 -6
  3. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/release_info/micrOS_ReleaseInfo/system_analysis_sum.json +42 -26
  4. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Common.py +9 -3
  5. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Hooks.py +20 -0
  6. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/IO_esp32.py +2 -0
  7. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/IO_tinypico.py +4 -2
  8. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_distance.py +47 -4
  9. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_esp32.py +8 -1
  10. microsdevtoolkit-2.7.0/micrOS/source/LM_haptic.py +111 -0
  11. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_i2c.py +19 -3
  12. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_oled_ui.py +1 -1
  13. microsdevtoolkit-2.7.0/micrOS/source/LM_oledui.py +973 -0
  14. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_rencoder.py +36 -7
  15. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_system.py +41 -19
  16. microsdevtoolkit-2.7.0/micrOS/source/LM_trackball.py +287 -0
  17. microsdevtoolkit-2.7.0/micrOS/source/LM_veml7700.py +159 -0
  18. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Shell.py +1 -1
  19. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0/micrOSDevToolKit.egg-info}/PKG-INFO +18 -10
  20. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOSDevToolKit.egg-info/SOURCES.txt +9 -1
  21. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/setup.py +1 -1
  22. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/LM_to_compile.dat +5 -0
  23. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/MicrOSDevEnv.py +6 -1
  24. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/lib/macroScript.py +75 -19
  25. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/micrOSlint.py +1 -1
  26. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/IO_darwin.cpython-312.pyc +0 -0
  27. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/camera.cpython-312.pyc +0 -0
  28. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/machine.cpython-312.pyc +0 -0
  29. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/simulator.cpython-312.pyc +0 -0
  30. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/machine.py +4 -0
  31. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Common.mpy +0 -0
  32. microsdevtoolkit-2.7.0/toolkit/workspace/precompiled/Hooks.mpy +0 -0
  33. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/IO_esp32.mpy +0 -0
  34. microsdevtoolkit-2.7.0/toolkit/workspace/precompiled/IO_tinypico.mpy +0 -0
  35. microsdevtoolkit-2.7.0/toolkit/workspace/precompiled/LM_distance.mpy +0 -0
  36. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_esp32.py +8 -1
  37. microsdevtoolkit-2.7.0/toolkit/workspace/precompiled/LM_haptic.mpy +0 -0
  38. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_i2c.py +19 -3
  39. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_oled_ui.mpy +0 -0
  40. microsdevtoolkit-2.7.0/toolkit/workspace/precompiled/LM_oledui.mpy +0 -0
  41. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_rencoder.py +36 -7
  42. microsdevtoolkit-2.7.0/toolkit/workspace/precompiled/LM_system.mpy +0 -0
  43. microsdevtoolkit-2.7.0/toolkit/workspace/precompiled/LM_trackball.mpy +0 -0
  44. microsdevtoolkit-2.7.0/toolkit/workspace/precompiled/LM_veml7700.mpy +0 -0
  45. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Shell.mpy +0 -0
  46. microsdevtoolkit-2.7.0/toolkit/workspace/precompiled/node_config.json +1 -0
  47. micrOSDevToolKit-2.6.7/toolkit/workspace/precompiled/Hooks.mpy +0 -0
  48. micrOSDevToolKit-2.6.7/toolkit/workspace/precompiled/IO_tinypico.mpy +0 -0
  49. micrOSDevToolKit-2.6.7/toolkit/workspace/precompiled/LM_distance.py +0 -96
  50. micrOSDevToolKit-2.6.7/toolkit/workspace/precompiled/LM_system.mpy +0 -0
  51. micrOSDevToolKit-2.6.7/toolkit/workspace/precompiled/node_config.json +0 -1
  52. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/LICENSE +0 -0
  53. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/MANIFEST.in +0 -0
  54. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/devToolKit.py +0 -0
  55. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/__init__.py +0 -0
  56. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/.DS_Store +0 -0
  57. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CH34XSER_MAC/CH34X_DRV_INSTALL_INSTRUCTIONS.pdf +0 -0
  58. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CH34XSER_MAC/CH34xVCPDriver.pkg +0 -0
  59. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x64.exe +0 -0
  60. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x86.exe +0 -0
  61. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210x_Universal_Windows_Driver_ReleaseNotes.txt +0 -0
  62. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/SLAB_License_Agreement_VCP_Windows.txt +0 -0
  63. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm/silabser.sys +0 -0
  64. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm64/silabser.sys +0 -0
  65. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/dpinst.xml +0 -0
  66. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.cat +0 -0
  67. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.inf +0 -0
  68. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x64/silabser.sys +0 -0
  69. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x86/silabser.sys +0 -0
  70. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/macOS_VCP_Driver/SiLabsUSBDriverDisk.dmg +0 -0
  71. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/env/driver_cp210x/macOS_VCP_Driver/macOS_VCP_Driver_Release_Notes.txt +0 -0
  72. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/media/__init__.py +0 -0
  73. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/media/dnd.png +0 -0
  74. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/media/logo.png +0 -0
  75. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/media/logo_mini.png +0 -0
  76. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/media/usb_port_icon.png +0 -0
  77. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/media/wifi_icon.png +0 -0
  78. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/__init__.py +0 -0
  79. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/micropython/esp32-20231005-v1.21.0.bin +0 -0
  80. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/micropython/esp32-GENERIC-20240602-v1.23.0.bin +0 -0
  81. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/micropython/esp32c3-GENERIC-20240222-v1.22.2.bin +0 -0
  82. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/micropython/esp32cam-v1.21.0_camera.bin +0 -0
  83. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/micropython/esp32s2-GENERIC-20240602-v1.23.0.bin +0 -0
  84. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/micropython/esp32s2-LOLIN_MINI-20220618-v1.19.1.bin +0 -0
  85. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/micropython/esp32s2-LOLIN_MINI-20240602-v1.23.0.bin +0 -0
  86. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/micropython/esp32s3-GENERIC-20240105-v1.22.1.bin +0 -0
  87. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/micropython/esp32s3_spiram_oct-20231005-v1.21.0.bin +0 -0
  88. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/micropython/rpi-pico-w-20240602-v1.23.0.uf2 +0 -0
  89. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/micropython/tinypico-20231005-v1.21.0.bin +0 -0
  90. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/micropython/tinypico_usbc-UM-20240105-v1.22.1.bin +0 -0
  91. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/.DS_Store +0 -0
  92. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Config.py +0 -0
  93. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Debug.py +0 -0
  94. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/IO_esp32c3.py +0 -0
  95. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/IO_esp32s2.py +0 -0
  96. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/IO_esp32s3.py +0 -0
  97. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/IO_m5stamp.py +0 -0
  98. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/IO_qtpy.py +0 -0
  99. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/IO_rp2.py +0 -0
  100. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/InterConnect.py +0 -0
  101. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Interrupts.py +0 -0
  102. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_L298N_DCmotor.py +0 -0
  103. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_L9110_DCmotor.py +0 -0
  104. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_OV2640.py +0 -0
  105. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_VL53L0X.py +0 -0
  106. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_aht10.py +0 -0
  107. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_bme280.py +0 -0
  108. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_buzzer.py +0 -0
  109. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_catgame.py +0 -0
  110. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_cct.py +0 -0
  111. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_co2.py +0 -0
  112. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_dashboard_be.py +0 -0
  113. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_demo.py +0 -0
  114. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_dht11.py +0 -0
  115. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_dht22.py +0 -0
  116. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_dimmer.py +0 -0
  117. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_ds18.py +0 -0
  118. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_gameOfLife.py +0 -0
  119. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_genIO.py +0 -0
  120. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_i2s_mic.py +0 -0
  121. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_intercon.py +0 -0
  122. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_keychain.py +0 -0
  123. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_ld2410.py +0 -0
  124. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_light_sensor.py +0 -0
  125. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_lmpacman.py +0 -0
  126. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_neoeffects.py +0 -0
  127. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_neopixel.py +0 -0
  128. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_oled.py +0 -0
  129. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_oled_sh1106.py +0 -0
  130. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_pet_feeder.py +0 -0
  131. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_ph_sensor.py +0 -0
  132. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_presence.py +0 -0
  133. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_rest.py +0 -0
  134. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_rgb.py +0 -0
  135. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_rgbcct.py +0 -0
  136. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_roboarm.py +0 -0
  137. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_robustness.py +0 -0
  138. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_rp2w.py +0 -0
  139. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_sdcard.py +0 -0
  140. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_servo.py +0 -0
  141. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_sound_event.py +0 -0
  142. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_stepper.py +0 -0
  143. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_switch.py +0 -0
  144. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_telegram.py +0 -0
  145. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/LM_tinyrgb.py +0 -0
  146. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Logger.py +0 -0
  147. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Network.py +0 -0
  148. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Notify.py +0 -0
  149. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Scheduler.py +0 -0
  150. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Server.py +0 -0
  151. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Tasks.py +0 -0
  152. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Time.py +0 -0
  153. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/Types.py +0 -0
  154. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/dashboard.html +0 -0
  155. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/index.html +0 -0
  156. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/main.py +0 -0
  157. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/micrOS.py +0 -0
  158. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/micrOSloader.py +0 -0
  159. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/microIO.py +0 -0
  160. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/reset.py +0 -0
  161. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/uapi.js +0 -0
  162. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/udashboard.js +0 -0
  163. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/urequests.py +0 -0
  164. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/ustyle.css +0 -0
  165. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/uwidgets.js +0 -0
  166. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOS/source/uwidgets_pro.js +0 -0
  167. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOSDevToolKit.egg-info/dependency_links.txt +0 -0
  168. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOSDevToolKit.egg-info/requires.txt +0 -0
  169. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/micrOSDevToolKit.egg-info/top_level.txt +0 -0
  170. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/setup.cfg +0 -0
  171. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/DevEnvCompile.py +0 -0
  172. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/DevEnvOTA.py +0 -0
  173. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/DevEnvUSB.py +0 -0
  174. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/Gateway.py +0 -0
  175. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/__init__.py +0 -0
  176. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/AirQualityBME280.py +0 -0
  177. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/AirQualityDHT22_CO2.py +0 -0
  178. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/BackupRestore.py +0 -0
  179. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/CCTDemo.py +0 -0
  180. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/CCTTest.py +0 -0
  181. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/CamStream.py +0 -0
  182. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/CatGame.py +0 -0
  183. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/Dimmer.py +0 -0
  184. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/GetVersion.py +0 -0
  185. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/MicrophoneTest.py +0 -0
  186. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/NeoEffectsDemo.py +0 -0
  187. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/NeopixelTest.py +0 -0
  188. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/PresenceTest.py +0 -0
  189. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/RGBTest.py +0 -0
  190. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/RoboArm.py +0 -0
  191. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/SED_test.py +0 -0
  192. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/SystemTest.py +0 -0
  193. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/Template_app.py +0 -0
  194. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/__init__.py +0 -0
  195. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/_capture.py +0 -0
  196. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/_micPlotting.py +0 -0
  197. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/_presencePlotting.py +0 -0
  198. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/dashboard_apps/uLightDemo.py +0 -0
  199. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/img_stream.html +0 -0
  200. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/index.html +0 -0
  201. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/lib/LocalMachine.py +0 -0
  202. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/lib/SafeInput.py +0 -0
  203. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/lib/SearchDevices.py +0 -0
  204. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/lib/SerialDriverHandler.py +0 -0
  205. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/lib/TerminalColors.py +0 -0
  206. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/lib/__init__.py +0 -0
  207. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/lib/file_extensions.py +0 -0
  208. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/lib/micrOSClient.py +0 -0
  209. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/lib/pip_package_installer.py +0 -0
  210. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/micrOSdashboard.py +0 -0
  211. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/.DS_Store +0 -0
  212. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/IO_darwin.py +0 -0
  213. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/dht.cpython-312.pyc +0 -0
  214. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/dht.cpython-39.pyc +0 -0
  215. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/dotstar.cpython-312.pyc +0 -0
  216. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/dotstar.cpython-38.pyc +0 -0
  217. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/dotstar.cpython-39.pyc +0 -0
  218. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-312.pyc +0 -0
  219. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-38.pyc +0 -0
  220. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-39.pyc +0 -0
  221. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/esp32.cpython-312.pyc +0 -0
  222. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/esp32.cpython-38.pyc +0 -0
  223. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/esp32.cpython-39.pyc +0 -0
  224. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/framebuf.cpython-312.pyc +0 -0
  225. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/framebuf.cpython-38.pyc +0 -0
  226. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/framebuf.cpython-39.pyc +0 -0
  227. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/machine.cpython-38.pyc +0 -0
  228. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/machine.cpython-39.pyc +0 -0
  229. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/micropython.cpython-312.pyc +0 -0
  230. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/micropython.cpython-38.pyc +0 -0
  231. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/micropython.cpython-39.pyc +0 -0
  232. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/neopixel.cpython-312.pyc +0 -0
  233. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/neopixel.cpython-38.pyc +0 -0
  234. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/neopixel.cpython-39.pyc +0 -0
  235. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/network.cpython-312.pyc +0 -0
  236. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/network.cpython-38.pyc +0 -0
  237. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/network.cpython-39.pyc +0 -0
  238. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/ntptime.cpython-312.pyc +0 -0
  239. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/onewire.cpython-312.pyc +0 -0
  240. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/onewire.cpython-38.pyc +0 -0
  241. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/onewire.cpython-39.pyc +0 -0
  242. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/sim_console.cpython-312.pyc +0 -0
  243. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/sim_console.cpython-38.pyc +0 -0
  244. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/sim_console.cpython-39.pyc +0 -0
  245. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/simgc.cpython-312.pyc +0 -0
  246. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/simgc.cpython-38.pyc +0 -0
  247. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/simgc.cpython-39.pyc +0 -0
  248. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/simulator.cpython-38.pyc +0 -0
  249. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/simulator.cpython-39.pyc +0 -0
  250. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/tinypico.cpython-312.pyc +0 -0
  251. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/tinypico.cpython-38.pyc +0 -0
  252. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/tinypico.cpython-39.pyc +0 -0
  253. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-312.pyc +0 -0
  254. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-38.pyc +0 -0
  255. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-39.pyc +0 -0
  256. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/usocket.cpython-312.pyc +0 -0
  257. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/ussl.cpython-312.pyc +0 -0
  258. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/ustruct.cpython-312.pyc +0 -0
  259. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/ustruct.cpython-39.pyc +0 -0
  260. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/utime.cpython-312.pyc +0 -0
  261. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/utime.cpython-38.pyc +0 -0
  262. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/utime.cpython-39.pyc +0 -0
  263. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/webrepl.cpython-312.pyc +0 -0
  264. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/webrepl.cpython-38.pyc +0 -0
  265. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/__pycache__/webrepl.cpython-39.pyc +0 -0
  266. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/camera.py +0 -0
  267. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/dht.py +0 -0
  268. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/dotstar.py +0 -0
  269. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/ds18x20.py +0 -0
  270. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/esp32.py +0 -0
  271. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/framebuf.py +0 -0
  272. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/micropython.py +0 -0
  273. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/neopixel.py +0 -0
  274. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/network.py +0 -0
  275. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/node_config.json +0 -0
  276. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/ntptime.py +0 -0
  277. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/onewire.py +0 -0
  278. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/sim_console.py +0 -0
  279. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/simgc.py +0 -0
  280. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/simulator.py +0 -0
  281. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/tinypico.py +0 -0
  282. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/uasyncio.py +0 -0
  283. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/usocket.py +0 -0
  284. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/ussl.py +0 -0
  285. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/ustruct.py +0 -0
  286. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/utime.py +0 -0
  287. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/view01.jpg +0 -0
  288. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/view02.jpg +0 -0
  289. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/simulator_lib/webrepl.py +0 -0
  290. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/socketClient.py +0 -0
  291. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/user_data/.include +0 -0
  292. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/user_data/webhooks/generic.py +0 -0
  293. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/user_data/webhooks/macro.py +0 -0
  294. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/user_data/webhooks/template.macro +0 -0
  295. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/user_data/webhooks/template.py +0 -0
  296. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/__init__.py +0 -0
  297. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Config.mpy +0 -0
  298. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Debug.mpy +0 -0
  299. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/IO_esp32c3.mpy +0 -0
  300. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/IO_esp32s2.mpy +0 -0
  301. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/IO_esp32s3.mpy +0 -0
  302. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/IO_m5stamp.mpy +0 -0
  303. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/IO_qtpy.mpy +0 -0
  304. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/IO_rp2.mpy +0 -0
  305. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/InterConnect.mpy +0 -0
  306. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Interrupts.mpy +0 -0
  307. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_L298N_DCmotor.mpy +0 -0
  308. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_L9110_DCmotor.py +0 -0
  309. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_OV2640.mpy +0 -0
  310. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_VL53L0X.py +0 -0
  311. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_aht10.mpy +0 -0
  312. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_bme280.mpy +0 -0
  313. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_buzzer.mpy +0 -0
  314. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_catgame.py +0 -0
  315. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_cct.mpy +0 -0
  316. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_co2.mpy +0 -0
  317. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_dashboard_be.py +0 -0
  318. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_demo.py +0 -0
  319. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_dht11.mpy +0 -0
  320. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_dht22.mpy +0 -0
  321. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_dimmer.mpy +0 -0
  322. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_ds18.mpy +0 -0
  323. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_gameOfLife.mpy +0 -0
  324. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_genIO.mpy +0 -0
  325. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_i2s_mic.mpy +0 -0
  326. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_intercon.mpy +0 -0
  327. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_keychain.mpy +0 -0
  328. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_ld2410.mpy +0 -0
  329. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_light_sensor.mpy +0 -0
  330. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_lmpacman.mpy +0 -0
  331. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_neoeffects.mpy +0 -0
  332. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_neopixel.mpy +0 -0
  333. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_oled.mpy +0 -0
  334. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_oled_sh1106.mpy +0 -0
  335. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_pet_feeder.py +0 -0
  336. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_ph_sensor.py +0 -0
  337. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_presence.mpy +0 -0
  338. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_rest.mpy +0 -0
  339. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_rgb.mpy +0 -0
  340. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_rgbcct.mpy +0 -0
  341. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_roboarm.mpy +0 -0
  342. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_robustness.py +0 -0
  343. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_rp2w.py +0 -0
  344. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_sdcard.py +0 -0
  345. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_servo.mpy +0 -0
  346. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_sound_event.mpy +0 -0
  347. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_stepper.mpy +0 -0
  348. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_switch.mpy +0 -0
  349. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_telegram.mpy +0 -0
  350. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/LM_tinyrgb.mpy +0 -0
  351. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Logger.mpy +0 -0
  352. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Network.mpy +0 -0
  353. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Notify.mpy +0 -0
  354. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Scheduler.mpy +0 -0
  355. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Server.mpy +0 -0
  356. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Tasks.mpy +0 -0
  357. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Time.mpy +0 -0
  358. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/Types.mpy +0 -0
  359. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/_mpy.version +0 -0
  360. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/dashboard.html +0 -0
  361. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/index.html +0 -0
  362. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/main.py +0 -0
  363. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/micrOS.mpy +0 -0
  364. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/micrOSloader.mpy +0 -0
  365. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/microIO.mpy +0 -0
  366. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/reset.mpy +0 -0
  367. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/uapi.js +0 -0
  368. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/udashboard.js +0 -0
  369. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/urequests.mpy +0 -0
  370. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/ustyle.css +0 -0
  371. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/toolkit/workspace/precompiled/uwidgets.js +0 -0
  372. {micrOSDevToolKit-2.6.7 → microsdevtoolkit-2.7.0}/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.6.7
3
+ Version: 2.7.0
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
@@ -8,14 +8,27 @@ Author-email: miros.framework@gmail.com
8
8
  License: MIT
9
9
  Project-URL: Bug Tracker, https://github.com/BxNxM/micrOS/issues
10
10
  Project-URL: GitHub Discussions, https://github.com/BxNxM/micrOS/discussions
11
- Platform: UNKNOWN
12
11
  Description-Content-Type: text/markdown
13
12
  License-File: LICENSE
13
+ Requires-Dist: adafruit-ampy
14
+ Requires-Dist: mpremote
15
+ Requires-Dist: esptool
16
+ Requires-Dist: ipaddress
17
+ Requires-Dist: netaddr
18
+ Requires-Dist: pylint
19
+ Requires-Dist: pyserial
20
+ Requires-Dist: resources
21
+ Requires-Dist: flask
22
+ Requires-Dist: flask_restful
23
+ Requires-Dist: numpy
24
+ Requires-Dist: json2html
25
+ Requires-Dist: requests
26
+ Requires-Dist: Flask-BasicAuth
27
+ Requires-Dist: soundfile
14
28
 
15
29
  # ![LOGO](./media/logo_mini.png?raw=true) micrOS
16
30
 
17
-
18
- ### micropython based smart edge platform #IoT
31
+ > **"Simple, yet increadbly useful."**
19
32
 
20
33
  ![telnet](https://img.shields.io/badge/wifi-telnet-blue) ![esp32S2](https://img.shields.io/badge/esp32-S2-olive) ![tinypico](https://img.shields.io/badge/esp32-tinypico-olive) ![esp32S3](https://img.shields.io/badge/esp32-S3-olive) ![esp32S3](https://img.shields.io/badge/esp32-S3_RAM-olive) ![PYQT](https://img.shields.io/badge/esp32-PYQT-olive) ![raspberry-pico-w](https://img.shields.io/badge/raspberry-pico_W-critical) ![espCAM-esp-s](https://img.shields.io/badge/esp32-CAM_OV2640-olive) ![esp32-c3](https://img.shields.io/badge/esp32-C3_RISCV-olive) ![OTA](https://img.shields.io/badge/ota-update-blue) ![GPIO](https://img.shields.io/badge/gpio-i2c-success) ![clock](https://img.shields.io/badge/rtc-ntp-success) ![async](https://img.shields.io/badge/async-task_manager-success) ![irq](https://img.shields.io/badge/hardware-IRQs-success) ![socket](https://img.shields.io/badge/socket-STA_or_AP-blue) ![cron](https://img.shields.io/badge/scheduling-cron-success) ![stable](https://img.shields.io/badge/stabile-master_HEAD-success) ![stable](https://img.shields.io/badge/micropython-OS-gold)<br/>
21
34
 
@@ -31,7 +44,7 @@ Thanks for ![GitHub stars](https://img.shields.io/github/stars/BxNxM/micrOS), fo
31
44
  [![PyPI Version](https://img.shields.io/pypi/v/micrOSDevToolKit)](https://pypi.org/project/micrOSDevToolKit/)
32
45
 
33
46
 
34
- **micrOS** is a mini **application** execution **platform** with ShellCli (socket) and WebCli (http) **servers** and several **other** embedded **features**.
47
+ **micrOS** is a [micropython](http://micropython.org) based mini **application** execution **platform** with ShellCli (socket) and WebCli (http) **servers** and several **other** embedded **features**.
35
48
  > It uses direct wifi connection to access the exposed functionalities.<br/>
36
49
 
37
50
  In case of any technical comments or requests, please use [![GitHub Discussions](https://img.shields.io/badge/GitHub-Discussions-green?logo=github&style=flat)](https://github.com/BxNxM/micrOS/discussions).
@@ -52,9 +65,6 @@ Access rest api over browser: `http://<nodename>.local`
52
65
  ⚠️ No external server or service required for client-device communication <br/>
53
66
  &nbsp;&nbsp; ⚠️ 🛡 Works on Local Network (WiFi-WLAN) <br/>
54
67
  🛠 Easy to create custom application(s) aka create your own Load Modules: <br/>
55
- &nbsp;&nbsp; 1. Write **LM_**`<your_app>`**.py** <br/>
56
- &nbsp;&nbsp; 2. Copy (OTA/USB) python script to your device (drag&drop)<br/>
57
- &nbsp;&nbsp; 3. Call any function from **`<your_app>`** module <br/>
58
68
  🦾 Built-in scheduling (IRQs):<br/>
59
69
  &nbsp;&nbsp; - Time stamp based <br/>
60
70
  &nbsp;&nbsp; - Geolocation based clock setup + time tags: sunset, sunrise <br/>
@@ -1101,5 +1111,3 @@ gource \
1101
1111
 
1102
1112
  git push -u origin master
1103
1113
 
1104
-
1105
-
@@ -1,7 +1,6 @@
1
1
  # ![LOGO](./media/logo_mini.png?raw=true) micrOS
2
2
 
3
-
4
- ### micropython based smart edge platform #IoT
3
+ > **"Simple, yet increadbly useful."**
5
4
 
6
5
  ![telnet](https://img.shields.io/badge/wifi-telnet-blue) ![esp32S2](https://img.shields.io/badge/esp32-S2-olive) ![tinypico](https://img.shields.io/badge/esp32-tinypico-olive) ![esp32S3](https://img.shields.io/badge/esp32-S3-olive) ![esp32S3](https://img.shields.io/badge/esp32-S3_RAM-olive) ![PYQT](https://img.shields.io/badge/esp32-PYQT-olive) ![raspberry-pico-w](https://img.shields.io/badge/raspberry-pico_W-critical) ![espCAM-esp-s](https://img.shields.io/badge/esp32-CAM_OV2640-olive) ![esp32-c3](https://img.shields.io/badge/esp32-C3_RISCV-olive) ![OTA](https://img.shields.io/badge/ota-update-blue) ![GPIO](https://img.shields.io/badge/gpio-i2c-success) ![clock](https://img.shields.io/badge/rtc-ntp-success) ![async](https://img.shields.io/badge/async-task_manager-success) ![irq](https://img.shields.io/badge/hardware-IRQs-success) ![socket](https://img.shields.io/badge/socket-STA_or_AP-blue) ![cron](https://img.shields.io/badge/scheduling-cron-success) ![stable](https://img.shields.io/badge/stabile-master_HEAD-success) ![stable](https://img.shields.io/badge/micropython-OS-gold)<br/>
7
6
 
@@ -17,7 +16,7 @@ Thanks for ![GitHub stars](https://img.shields.io/github/stars/BxNxM/micrOS), fo
17
16
  [![PyPI Version](https://img.shields.io/pypi/v/micrOSDevToolKit)](https://pypi.org/project/micrOSDevToolKit/)
18
17
 
19
18
 
20
- **micrOS** is a mini **application** execution **platform** with ShellCli (socket) and WebCli (http) **servers** and several **other** embedded **features**.
19
+ **micrOS** is a [micropython](http://micropython.org) based mini **application** execution **platform** with ShellCli (socket) and WebCli (http) **servers** and several **other** embedded **features**.
21
20
  > It uses direct wifi connection to access the exposed functionalities.<br/>
22
21
 
23
22
  In case of any technical comments or requests, please use [![GitHub Discussions](https://img.shields.io/badge/GitHub-Discussions-green?logo=github&style=flat)](https://github.com/BxNxM/micrOS/discussions).
@@ -38,9 +37,6 @@ Access rest api over browser: `http://<nodename>.local`
38
37
  ⚠️ No external server or service required for client-device communication <br/>
39
38
  &nbsp;&nbsp; ⚠️ 🛡 Works on Local Network (WiFi-WLAN) <br/>
40
39
  🛠 Easy to create custom application(s) aka create your own Load Modules: <br/>
41
- &nbsp;&nbsp; 1. Write **LM_**`<your_app>`**.py** <br/>
42
- &nbsp;&nbsp; 2. Copy (OTA/USB) python script to your device (drag&drop)<br/>
43
- &nbsp;&nbsp; 3. Call any function from **`<your_app>`** module <br/>
44
40
  🦾 Built-in scheduling (IRQs):<br/>
45
41
  &nbsp;&nbsp; - Time stamp based <br/>
46
42
  &nbsp;&nbsp; - Geolocation based clock setup + time tags: sunset, sunrise <br/>
@@ -2,14 +2,14 @@
2
2
  "files": {
3
3
  "Time.py": [
4
4
  9.17,
5
- 6
5
+ 7
6
6
  ],
7
7
  "micrOSloader.py": [
8
8
  7.85,
9
9
  1
10
10
  ],
11
11
  "Hooks.py": [
12
- 9.47,
12
+ 9.41,
13
13
  1
14
14
  ],
15
15
  "Server.py": [
@@ -22,7 +22,7 @@
22
22
  ],
23
23
  "Config.py": [
24
24
  9.44,
25
- 13
25
+ 14
26
26
  ],
27
27
  "reset.py": [
28
28
  8.75,
@@ -38,15 +38,15 @@
38
38
  ],
39
39
  "Types.py": [
40
40
  8.87,
41
- 23
41
+ 28
42
42
  ],
43
43
  "Logger.py": [
44
44
  8.57,
45
45
  4
46
46
  ],
47
47
  "Common.py": [
48
- 9.59,
49
- 28
48
+ 9.49,
49
+ 32
50
50
  ],
51
51
  "InterConnect.py": [
52
52
  9.4,
@@ -58,7 +58,7 @@
58
58
  ],
59
59
  "Network.py": [
60
60
  9.71,
61
- 9
61
+ 8
62
62
  ],
63
63
  "Scheduler.py": [
64
64
  9.61,
@@ -66,7 +66,7 @@
66
66
  ],
67
67
  "microIO.py": [
68
68
  9.26,
69
- 39
69
+ 42
70
70
  ],
71
71
  "micrOS.py": [
72
72
  9.29,
@@ -81,7 +81,7 @@
81
81
  0
82
82
  ],
83
83
  "urequests.py": [
84
- 8.83,
84
+ 8.94,
85
85
  4
86
86
  ],
87
87
  "LM_roboarm.py": [
@@ -101,8 +101,8 @@
101
101
  0
102
102
  ],
103
103
  "LM_system.py": [
104
- 7.65,
105
- 3
104
+ 8.31,
105
+ 4
106
106
  ],
107
107
  "LM_robustness.py": [
108
108
  7.57,
@@ -118,7 +118,7 @@
118
118
  ],
119
119
  "LM_oled.py": [
120
120
  9.23,
121
- 3
121
+ 4
122
122
  ],
123
123
  "LM_tinyrgb.py": [
124
124
  7.95,
@@ -154,6 +154,10 @@
154
154
  ],
155
155
  "LM_oled_sh1106.py": [
156
156
  8.84,
157
+ 2
158
+ ],
159
+ "LM_haptic.py": [
160
+ 9.25,
157
161
  1
158
162
  ],
159
163
  "LM_ld2410.py": [
@@ -162,7 +166,7 @@
162
166
  ],
163
167
  "LM_neopixel.py": [
164
168
  7.59,
165
- 1
169
+ 2
166
170
  ],
167
171
  "LM_cct.py": [
168
172
  8.83,
@@ -177,7 +181,7 @@
177
181
  0
178
182
  ],
179
183
  "LM_i2c.py": [
180
- 5.71,
184
+ 7.6,
181
185
  0
182
186
  ],
183
187
  "LM_dht22.py": [
@@ -189,7 +193,11 @@
189
193
  0
190
194
  ],
191
195
  "LM_esp32.py": [
192
- 4.38,
196
+ 6.52,
197
+ 1
198
+ ],
199
+ "LM_veml7700.py": [
200
+ 7.62,
193
201
  0
194
202
  ],
195
203
  "LM_pet_feeder.py": [
@@ -197,7 +205,7 @@
197
205
  0
198
206
  ],
199
207
  "LM_rencoder.py": [
200
- 8.92,
208
+ 8.64,
201
209
  0
202
210
  ],
203
211
  "LM_keychain.py": [
@@ -212,6 +220,10 @@
212
220
  8.49,
213
221
  0
214
222
  ],
223
+ "LM_oledui.py": [
224
+ 8.52,
225
+ 0
226
+ ],
215
227
  "LM_telegram.py": [
216
228
  9.02,
217
229
  0
@@ -225,7 +237,7 @@
225
237
  1
226
238
  ],
227
239
  "LM_distance.py": [
228
- 8.26,
240
+ 8.89,
229
241
  0
230
242
  ],
231
243
  "LM_VL53L0X.py": [
@@ -244,13 +256,17 @@
244
256
  8.78,
245
257
  4
246
258
  ],
259
+ "LM_trackball.py": [
260
+ 8.43,
261
+ 1
262
+ ],
247
263
  "LM_dashboard_be.py": [
248
264
  6.5,
249
265
  0
250
266
  ],
251
267
  "LM_dimmer.py": [
252
268
  8.33,
253
- 0
269
+ 1
254
270
  ],
255
271
  "LM_demo.py": [
256
272
  8.57,
@@ -262,7 +278,7 @@
262
278
  ],
263
279
  "LM_gameOfLife.py": [
264
280
  9.29,
265
- 2
281
+ 3
266
282
  ],
267
283
  "LM_catgame.py": [
268
284
  8.85,
@@ -270,7 +286,7 @@
270
286
  ],
271
287
  "LM_intercon.py": [
272
288
  8.18,
273
- 3
289
+ 4
274
290
  ],
275
291
  "LM_ds18.py": [
276
292
  6.0,
@@ -287,12 +303,12 @@
287
303
  },
288
304
  "summary": {
289
305
  "core": [
290
- 3164,
306
+ 3184,
291
307
  21
292
308
  ],
293
309
  "load": [
294
- 7371,
295
- 50
310
+ 8685,
311
+ 54
296
312
  ],
297
313
  "core_dep": [
298
314
  true,
@@ -300,10 +316,10 @@
300
316
  ],
301
317
  "load_dep": [
302
318
  true,
303
- 4
319
+ 5
304
320
  ],
305
321
  "core_score": 9.1,
306
- "load_score": 8.08,
307
- "version": "2.6.5-1"
322
+ "load_score": 8.21,
323
+ "version": "2.6.6-6"
308
324
  }
309
325
  }
@@ -78,7 +78,7 @@ class SmartADC:
78
78
  return {'raw': raw, 'percent': round(percent*100, 1), 'volt': volt}
79
79
 
80
80
  @staticmethod
81
- def get_singleton(pin):
81
+ def get_singleton(pin): # TODO: rename to get_instance
82
82
  if pin in SmartADC.OBJS.keys():
83
83
  return SmartADC.OBJS[pin]
84
84
  SmartADC.OBJS[pin] = SmartADC(pin)
@@ -127,13 +127,19 @@ def manage_task(tag, operation):
127
127
  raise Exception(f"Invalid operation: {operation}")
128
128
 
129
129
 
130
- def exec_cmd(cmd):
130
+ def exec_cmd(cmd, skip_check=False):
131
131
  """
132
132
  [LM] Single (sync) LM execution
133
133
  :param cmd: command string list
134
+ :param skip_check: skip cmd type check, micropython bug
134
135
  return state, output
135
136
  """
136
- return lm_exec(cmd) if isinstance(cmd, list) else False, "Invalid cmd type, must be list"
137
+ # [BUG] Solution with isinstance/type is not reliable... micropython 1.22
138
+ # Invalid type, must be list: <class list>" ...
139
+ if skip_check:
140
+ return lm_exec(cmd)
141
+ return lm_exec(cmd) if isinstance(cmd, list) else False, f"Invalid type, must be list: {type(cmd)}"
142
+
137
143
 
138
144
 
139
145
  def notify(text):
@@ -23,6 +23,10 @@ from Debug import console_write
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 gc import mem_free
28
+ except:
29
+ from simgc import mem_free
26
30
 
27
31
  #################################################################
28
32
  # FUNCTIONS #
@@ -58,6 +62,22 @@ def bootup():
58
62
  freq(80_000_000) # 80 Mhz / Half the max CPU clock
59
63
  elif 'esp32' in platform:
60
64
  freq(160_000_000) # 160 Mhz / Half the max CPU clock
65
+ # Autotune queue size
66
+ tune_queue_size()
67
+
68
+
69
+ def tune_queue_size():
70
+ """
71
+ Tune queue size based on available ram
72
+ between 5-50
73
+ """
74
+ min_queue, max_queue, task_req_kb = 5, 20, 20 # 400kb max for tasks management
75
+ est_queue = int(mem_free()/1000/task_req_kb)
76
+ est_queue = max(est_queue, min_queue)
77
+ est_queue = min(est_queue, max_queue)
78
+ current_queue = cfgget('aioqueue')
79
+ if est_queue > current_queue:
80
+ cfgput('aioqueue', est_queue)
61
81
 
62
82
 
63
83
  def profiling_info(label=""):
@@ -76,3 +76,5 @@ temp6000 = const(36) # VP - [ADC] light sensor TEMP6000
76
76
  ph = const(39) # VN - [ADC] PH sensor
77
77
  ds18 = const(19) # D19 - DS18B20 - temp. sensor
78
78
  mic = const(39) # VN - [ADC] microphone
79
+ rot_dt = const(13) # [IRQ] rotary encoder data
80
+ rot_clk = const(12) # [IRQ] rotary encoder clock
@@ -9,7 +9,7 @@ wwhite = const(15) # D15 - warm white [PWM CH4]
9
9
  cwhite = const(14) # D14 - cold white [PWM CH5]
10
10
 
11
11
  # DIGITAL LED
12
- neop = const(23) # D23 - WS2812 - neopixel OneWire bus [PWM]
12
+ neop = const(26) # D26 - WS2812 - neopixel OneWire bus [PWM]
13
13
 
14
14
 
15
15
  # ACTUATORS
@@ -28,12 +28,14 @@ l298dir_2 = const(19) # D19 - DC motor direction (2)
28
28
  l9110dir_1 = const(18) # D18 - DC motor direction (1)
29
29
  l9110dir_2 = const(19) # D25 - DC motor direction (2)
30
30
 
31
- buzzer = const(18) # D18 - Buzzer pin - sound generator
31
+ buzzer = const(33) # D33 - Buzzer pin - sound generator
32
+ haptic = const(32) # D32 - Haptic - vibration motor
32
33
 
33
34
 
34
35
  # I2C BUS
35
36
  i2c_sda = const(21) # D22 - data
36
37
  i2c_scl = const(22) # D21 - clock
38
+ trackball_int = const(25) # D25 - event interrupt
37
39
 
38
40
 
39
41
  # EXTERNAL EVENT IRQ
@@ -1,12 +1,18 @@
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
+ from Common import micro_task
6
+ from Types import resolve
4
7
 
5
8
  __TRIGGER_OBJ = None
6
9
  __ECHO_OBJ = None
7
10
 
8
11
 
9
12
  def __init_HCSR04():
13
+ """
14
+ HCSR04 Ultrasonic distance sensor
15
+ """
10
16
  global __TRIGGER_OBJ, __ECHO_OBJ
11
17
  if __TRIGGER_OBJ is None or __ECHO_OBJ is None:
12
18
  trigger_pin = resolve_pin('hcsrtrig')
@@ -36,6 +42,41 @@ def __send_pulse_and_wait(echo_timeout_us=1000000):
36
42
  raise ex
37
43
 
38
44
 
45
+ async def __task(period_ms, dimmer, idle_cm):
46
+ average = None
47
+ with micro_task(tag="distance.visual") as my_task:
48
+ while True:
49
+ brightness_max_cm = 200
50
+ brightness_min_cm = 5
51
+ dist = int(measure_cm())
52
+ if dist > idle_cm+100:
53
+ await asyncio.sleep_ms(50)
54
+ continue
55
+ dist = brightness_max_cm if dist > brightness_max_cm else dist # Limit max
56
+ dist = 0 if dist < brightness_min_cm else dist # Limit min
57
+ average = dist if average is None else (average + dist) / 2
58
+ brightness = int(600 * (average/(brightness_max_cm)))
59
+ if dist >= idle_cm:
60
+ dimmer(5)
61
+ else:
62
+ dimmer(brightness)
63
+
64
+ # Store data in task cache (task show mytask)
65
+ my_task.out = f'Dist: {dist} br: {brightness}'
66
+
67
+ # Async sleep - feed event loop
68
+ await asyncio.sleep_ms(period_ms)
69
+
70
+
71
+ def start_dimmer_indicator(idle_distance=180):
72
+ """Distance visualization on LED brightness (LM_dimmer)"""
73
+ from LM_dimmer import set_value
74
+ # [!] ASYNC TASK CREATION [1*] with async task callback + taskID (TAG) handling
75
+ state = micro_task(tag="distance.visual", task=__task(period_ms=200, dimmer=set_value, idle_cm=idle_distance))
76
+ return "Starting" if state else "Already running"
77
+
78
+
79
+
39
80
  #########################
40
81
  # Application functions #
41
82
  #########################
@@ -48,7 +89,7 @@ def load():
48
89
  return "HCSR04 Ultrasonic distance sensor - loaded"
49
90
 
50
91
 
51
- def distance_mm():
92
+ def measure_mm():
52
93
  """
53
94
  To calculate the distance we get the pulse_time and divide it by 2
54
95
  (the pulse walk the distance twice) and by 29.1 becasue
@@ -59,7 +100,7 @@ def distance_mm():
59
100
  return __send_pulse_and_wait() * 100 // 582
60
101
 
61
102
 
62
- def distance_cm():
103
+ def measure_cm():
63
104
  return (__send_pulse_and_wait() / 2) / 29.1
64
105
 
65
106
 
@@ -83,7 +124,7 @@ def pinmap():
83
124
  - info which pins to use for this application
84
125
  :return dict: pin name (str) - pin value (int) pairs
85
126
  """
86
- return pinmap_search(['hcsrtrig', 'hcsrecho'])
127
+ return pinmap_search(['hcsrtrig', 'hcsrecho', 'dimmer'])
87
128
 
88
129
 
89
130
  def help(widgets=False):
@@ -93,4 +134,6 @@ def help(widgets=False):
93
134
  (widgets=False) list of functions implemented by this application
94
135
  (widgets=True) list of widget json for UI generation
95
136
  """
96
- return 'distance_mm', 'distance_cm', 'deinit', 'pinmap', 'load'
137
+ return resolve(('measure_mm', 'TEXTBOX measure_cm', 'deinit', 'pinmap',
138
+ 'load', 'start_dimmer_indicator idle_distance=180',
139
+ '[info] HCSR04 Ultrasonic distance sensor'), widgets=widgets)
@@ -1,4 +1,5 @@
1
1
  import esp32
2
+ from Common import syslog
2
3
 
3
4
  #########################
4
5
  # Application functions #
@@ -17,8 +18,14 @@ def temp():
17
18
  """
18
19
  Measure CPU temperature
19
20
  """
21
+ try:
22
+ raw_temp = esp32.raw_temperature()
23
+ except Exception as e:
24
+ syslog(f"[WARN] cpu temp: {e}")
25
+ return {'CPU temp [C]': -1.0}
20
26
  # read the internal temperature of the MCU, in Farenheit
21
- return {'CPU temp [ºC]': '{:.1f}'.format((esp32.raw_temperature() - 32) / 1.8)}
27
+ cpu_temp = round((raw_temp - 32) / 1.8, 1)
28
+ return {'CPU temp [C]': cpu_temp}
22
29
 
23
30
 
24
31
  def touch(triglvl=300):
@@ -0,0 +1,111 @@
1
+ from microIO import resolve_pin, pinmap_search
2
+ from Types import resolve
3
+ from machine import Pin, PWM
4
+ from utime import sleep_ms
5
+
6
+ class Haptic:
7
+ HAPTIC_OBJ = None
8
+ # Haptic vibration motor settings
9
+ LOW = 700
10
+ HIGH = 1000
11
+ STOP = 0
12
+ WAIT_TO_STOP_MS = 100
13
+ INTENSITY = "low"
14
+
15
+ def load(intensity=None):
16
+ """
17
+ Init haptic engine
18
+ :param intensity: low / high / None haptic feedback intensity
19
+ """
20
+ if Haptic.HAPTIC_OBJ is None:
21
+ dimmer_pin = Pin(resolve_pin('haptic'))
22
+ Haptic.HAPTIC_OBJ = PWM(dimmer_pin, freq=20480)
23
+ Haptic.HAPTIC_OBJ.duty(0)
24
+ if intensity in ("high", "low"):
25
+ Haptic.INTENSITY = intensity
26
+ return Haptic.HAPTIC_OBJ
27
+
28
+
29
+ def tap():
30
+ """
31
+ Tap - buzz effect
32
+ """
33
+ haptic = load()
34
+ if Haptic.INTENSITY == "low":
35
+ haptic.duty(Haptic.LOW)
36
+ sleep_ms(150)
37
+ haptic.duty(Haptic.STOP)
38
+ return "Tap: low"
39
+ if Haptic.INTENSITY == "high":
40
+ haptic.duty(Haptic.HIGH)
41
+ sleep_ms(150)
42
+ haptic.duty(Haptic.STOP)
43
+ return "Tap: high"
44
+
45
+ def gen(intensity=Haptic.LOW, wait=200, stop_wait=100, repeat=2):
46
+ """
47
+ Generate effect
48
+ :param intensity: 600-1000
49
+ :param wait: wait after intensity was set [ms]
50
+ :param stop_wait: wait for top the motor [ms]
51
+ :param repeat: repeat cycle
52
+ """
53
+ haptic = load()
54
+ for _ in range(repeat):
55
+ # Wait to run
56
+ haptic.duty(intensity)
57
+ sleep_ms(wait)
58
+ # Wait to stop
59
+ haptic.duty(0)
60
+ sleep_ms(stop_wait)
61
+ haptic.duty(0)
62
+ return f"finished: {(wait+stop_wait)*repeat}ms:{intensity}:{wait}:{repeat}"
63
+
64
+
65
+ def effect1():
66
+ haptic = load()
67
+ haptic.duty(Haptic.HIGH)
68
+ sleep_ms(150)
69
+ haptic.duty(Haptic.LOW)
70
+ sleep_ms(100)
71
+ haptic.duty(Haptic.HIGH)
72
+ sleep_ms(100)
73
+ haptic.duty(Haptic.STOP)
74
+ return "finished: 350ms"
75
+
76
+
77
+ def effect2():
78
+ haptic = load()
79
+ haptic.duty(Haptic.HIGH)
80
+ sleep_ms(150)
81
+ for i in range(Haptic.HIGH, 300, -100):
82
+ haptic.duty(i)
83
+ sleep_ms(50)
84
+ haptic.duty(Haptic.STOP)
85
+ return "finished: 400ms"
86
+
87
+
88
+ def deinit():
89
+ Haptic.HAPTIC_OBJ.deinit()
90
+ Haptic.HAPTIC_OBJ = None
91
+ return "Deinited"
92
+
93
+
94
+ def pinmap():
95
+ """
96
+ [i] micrOS LM naming convention
97
+ Shows logical pins - pin number(s) used by this Load module
98
+ - info which pins to use for this application
99
+ :return dict: pin name (str) - pin value (int) pairs
100
+ """
101
+ return pinmap_search('haptic')
102
+
103
+
104
+ def help(widgets=False):
105
+ return resolve(("load intensity='low/high'/None",
106
+ "BUTTON tap",
107
+ "BUTTON effect1",
108
+ "BUTTON effect2",
109
+ "gen max=<600-1000> wait=200 stop_wait=100 repeat=2",
110
+ "deinit",
111
+ "pinmap"), widgets=widgets)
@@ -16,10 +16,26 @@ def scan():
16
16
  I2C scan function - experimental
17
17
  :return list: list of devices
18
18
  """
19
- # https://docs.micropython.org/en/latest/library/machine.I2C.html
20
- return __init().scan()
19
+ devices = [ hex(device) for device in __init().scan() ]
20
+ return devices
21
21
 
22
22
 
23
+ def discover():
24
+ """
25
+ Discover devices
26
+ """
27
+ known_addresses = {hex(0x0A): "trackball", hex(0x3c): "oled",
28
+ hex(0x76): "bme280", hex(0x10): 'veml7700'}
29
+ devices = scan()
30
+ output = {"unknown": []}
31
+ for k in devices:
32
+ if k in known_addresses:
33
+ device_name = known_addresses[k]
34
+ output[device_name] = k
35
+ else:
36
+ output["unknown"].append(k)
37
+ return output
38
+
23
39
  #######################
24
40
  # LM helper functions #
25
41
  #######################
@@ -41,4 +57,4 @@ def help(widgets=False):
41
57
  (widgets=False) list of functions implemented by this application
42
58
  (widgets=True) list of widget json for UI generation
43
59
  """
44
- return 'scan', 'pinmap'
60
+ return 'scan', 'discover', 'pinmap'
@@ -588,6 +588,6 @@ def help(widgets=False):
588
588
  'draw',
589
589
  'BUTTON control cmd=<prev,press,next,on,off>',
590
590
  'msgbox "msg"',
591
- 'intercon_genpage "host" "cmd" run=False',
591
+ 'intercon_genpage "host cmd" run=False',
592
592
  'cmd_genpage "cmd" run=False',
593
593
  'pinmap'), widgets=widgets)