micrOSDevToolKit 2.9.1__py3-none-any.whl → 2.26.1__py3-none-any.whl

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 (368) hide show
  1. env/driver_cp210x/macOS_VCP_Driver/SiLabsUSBDriverDisk.dmg +0 -0
  2. env/driver_cp210x/macOS_VCP_Driver/macOS_VCP_Driver_Release_Notes.txt +17 -1
  3. micrOS/micropython/esp32-20251209-v1.27.0.bin +0 -0
  4. micrOS/micropython/esp32c3-20251209-v1.27.0.bin +0 -0
  5. micrOS/micropython/esp32c6-20251209-v1.27.0.bin +0 -0
  6. micrOS/micropython/esp32s2-20251209-v1.27.0.bin +0 -0
  7. micrOS/micropython/esp32s2-LOLIN_MINI-20251209-v1.27.0.bin +0 -0
  8. micrOS/micropython/{esp32s3-20241129-v1.24.1.bin → esp32s3-4MBflash-20241129-v1.24.1.bin} +0 -0
  9. micrOS/micropython/esp32s3-8MBflash-20251209-v1.27.0.bin +0 -0
  10. micrOS/micropython/esp32s3_spiram_oct-20251209-v1.27.0.bin +0 -0
  11. micrOS/micropython/rpi-pico-w-20251209-v1.27.0.uf2 +0 -0
  12. micrOS/micropython/tinypico-20251209-v1.27.0.bin +0 -0
  13. micrOS/release_info/micrOS_ReleaseInfo/system_analysis_sum.json +167 -163
  14. micrOS/source/Auth.py +37 -0
  15. micrOS/source/Common.py +361 -116
  16. micrOS/source/Config.py +32 -22
  17. micrOS/source/Debug.py +50 -94
  18. micrOS/source/Espnow.py +377 -100
  19. micrOS/source/Files.py +207 -0
  20. micrOS/source/Hooks.py +48 -20
  21. micrOS/source/InterConnect.py +126 -42
  22. micrOS/source/Interrupts.py +6 -6
  23. micrOS/source/Logger.py +63 -26
  24. micrOS/source/Network.py +41 -21
  25. micrOS/source/Notify.py +48 -22
  26. micrOS/source/Pacman.py +326 -0
  27. micrOS/source/Scheduler.py +14 -54
  28. micrOS/source/Server.py +67 -69
  29. micrOS/source/Shell.py +99 -91
  30. micrOS/source/Tasks.py +141 -95
  31. micrOS/source/Time.py +19 -18
  32. micrOS/source/Types.py +53 -9
  33. micrOS/source/Web.py +381 -76
  34. micrOS/source/__pycache__/Common.cpython-312.pyc +0 -0
  35. micrOS/source/__pycache__/Debug.cpython-312.pyc +0 -0
  36. micrOS/source/__pycache__/Files.cpython-312.pyc +0 -0
  37. micrOS/source/__pycache__/Logger.cpython-312.pyc +0 -0
  38. micrOS/source/__pycache__/Scheduler.cpython-312.pyc +0 -0
  39. micrOS/source/__pycache__/Server.cpython-312.pyc +0 -0
  40. micrOS/source/__pycache__/Shell.cpython-312.pyc +0 -0
  41. micrOS/source/__pycache__/replhelper.cpython-312.pyc +0 -0
  42. micrOS/source/config/_git.keep +0 -0
  43. micrOS/source/helpers.py +132 -0
  44. micrOS/source/micrOS.py +17 -7
  45. micrOS/source/micrOSloader.py +5 -12
  46. micrOS/source/microIO.py +44 -20
  47. micrOS/source/modules/IO_esp32c6.py +38 -0
  48. micrOS/source/{IO_esp32s3.py → modules/IO_esp32s3.py} +37 -1
  49. micrOS/source/{IO_m5stamp.py → modules/IO_m5stamp.py} +35 -1
  50. micrOS/source/{IO_qtpy.py → modules/IO_qtpy.py} +22 -17
  51. micrOS/source/{IO_tinypico.py → modules/IO_tinypico.py} +38 -0
  52. micrOS/source/modules/LM_L298N.py +161 -0
  53. {toolkit/workspace/precompiled → micrOS/source/modules}/LM_L9110_DCmotor.py +3 -3
  54. micrOS/source/{LM_OV2640.py → modules/LM_OV2640.py} +45 -27
  55. micrOS/source/{LM_VL53L0X.py → modules/LM_VL53L0X.py} +3 -3
  56. micrOS/source/{LM_aht10.py → modules/LM_aht10.py} +2 -2
  57. micrOS/source/{LM_bme280.py → modules/LM_bme280.py} +3 -3
  58. micrOS/source/{LM_buzzer.py → modules/LM_buzzer.py} +18 -25
  59. micrOS/source/{LM_cct.py → modules/LM_cct.py} +17 -21
  60. micrOS/source/modules/LM_cluster.py +255 -0
  61. micrOS/source/{LM_co2.py → modules/LM_co2.py} +3 -3
  62. micrOS/source/{LM_dht11.py → modules/LM_dht11.py} +2 -2
  63. micrOS/source/{LM_dht22.py → modules/LM_dht22.py} +2 -2
  64. micrOS/source/{LM_dimmer.py → modules/LM_dimmer.py} +9 -9
  65. micrOS/source/{LM_distance.py → modules/LM_distance.py} +4 -6
  66. micrOS/source/{LM_ds18.py → modules/LM_ds18.py} +2 -2
  67. micrOS/source/{LM_esp32.py → modules/LM_esp32.py} +5 -0
  68. micrOS/source/modules/LM_espnow.py +53 -0
  69. micrOS/source/modules/LM_fileserver.py +265 -0
  70. micrOS/source/{LM_genIO.py → modules/LM_genIO.py} +52 -37
  71. micrOS/source/{LM_haptic.py → modules/LM_haptic.py} +2 -2
  72. {toolkit/workspace/precompiled → micrOS/source/modules}/LM_i2c.py +5 -4
  73. micrOS/source/{LM_i2s_mic.py → modules/LM_i2s_mic.py} +6 -7
  74. micrOS/source/{LM_ld2410.py → modules/LM_ld2410.py} +2 -2
  75. micrOS/source/{LM_light_sensor.py → modules/LM_light_sensor.py} +10 -21
  76. micrOS/source/modules/LM_mh_z19c.py +198 -0
  77. micrOS/source/modules/LM_neoeffects.py +284 -0
  78. micrOS/source/{LM_neopixel.py → modules/LM_neopixel.py} +19 -23
  79. micrOS/source/{LM_oled.py → modules/LM_oled.py} +2 -2
  80. micrOS/source/{LM_oled_sh1106.py → modules/LM_oled_sh1106.py} +3 -3
  81. micrOS/source/{LM_oled_ui.py → modules/LM_oled_ui.py} +72 -64
  82. micrOS/source/modules/LM_pacman.py +320 -0
  83. micrOS/source/{LM_presence.py → modules/LM_presence.py} +11 -15
  84. micrOS/source/modules/LM_qmi8658.py +204 -0
  85. micrOS/source/{LM_rencoder.py → modules/LM_rencoder.py} +2 -2
  86. micrOS/source/{LM_rest.py → modules/LM_rest.py} +4 -6
  87. micrOS/source/{LM_rgb.py → modules/LM_rgb.py} +21 -29
  88. micrOS/source/{LM_roboarm.py → modules/LM_roboarm.py} +8 -8
  89. micrOS/source/modules/LM_robustness.py +137 -0
  90. micrOS/source/{LM_servo.py → modules/LM_servo.py} +3 -3
  91. micrOS/source/{LM_stepper.py → modules/LM_stepper.py} +5 -5
  92. micrOS/source/{LM_switch.py → modules/LM_switch.py} +11 -9
  93. micrOS/source/{LM_system.py → modules/LM_system.py} +38 -32
  94. micrOS/source/modules/LM_tcs3472.py +187 -0
  95. micrOS/source/{LM_telegram.py → modules/LM_telegram.py} +164 -116
  96. micrOS/source/{LM_trackball.py → modules/LM_trackball.py} +3 -3
  97. micrOS/source/{LM_veml7700.py → modules/LM_veml7700.py} +2 -2
  98. micrOS/source/modules/LM_web.py +38 -0
  99. micrOS/source/urequests.py +39 -15
  100. {toolkit/workspace/precompiled → micrOS/source/web}/dashboard.html +4 -0
  101. micrOS/source/web/editor.js +440 -0
  102. micrOS/source/web/filesui.html +178 -0
  103. micrOS/source/web/filesui.js +338 -0
  104. {toolkit/workspace/precompiled → micrOS/source/web}/index.html +44 -2
  105. micrOS/source/{uapi.js → web/uapi.js} +48 -7
  106. micrOS/source/{ustyle.css → web/ustyle.css} +6 -3
  107. micrOS/utests/__init__.py +0 -0
  108. micrOS/utests/test_scheduler.py +435 -0
  109. {micrOSDevToolKit-2.9.1.data → microsdevtoolkit-2.26.1.data}/scripts/devToolKit.py +33 -3
  110. {micrOSDevToolKit-2.9.1.dist-info → microsdevtoolkit-2.26.1.dist-info}/METADATA +327 -268
  111. microsdevtoolkit-2.26.1.dist-info/RECORD +396 -0
  112. {micrOSDevToolKit-2.9.1.dist-info → microsdevtoolkit-2.26.1.dist-info}/WHEEL +1 -1
  113. toolkit/DevEnvCompile.py +63 -33
  114. toolkit/DevEnvOTA.py +58 -22
  115. toolkit/DevEnvUSB.py +110 -55
  116. toolkit/Gateway.py +6 -6
  117. toolkit/LM_to_compile.dat +6 -4
  118. toolkit/MicrOSDevEnv.py +127 -57
  119. toolkit/WebRepl.py +73 -0
  120. toolkit/dashboard_apps/BackupRestore.py +20 -35
  121. toolkit/dashboard_apps/CCTDemo.py +12 -17
  122. toolkit/dashboard_apps/CCTTest.py +20 -24
  123. toolkit/dashboard_apps/CamStream.py +2 -6
  124. toolkit/dashboard_apps/CatGame.py +14 -16
  125. toolkit/dashboard_apps/Dimmer.py +11 -21
  126. toolkit/dashboard_apps/GetVersion.py +11 -19
  127. toolkit/dashboard_apps/MicrophoneTest.py +1 -6
  128. toolkit/dashboard_apps/NeoEffectsDemo.py +22 -35
  129. toolkit/dashboard_apps/NeopixelTest.py +20 -25
  130. toolkit/dashboard_apps/PresenceTest.py +2 -8
  131. toolkit/dashboard_apps/QMI8685_GYRO.py +68 -0
  132. toolkit/dashboard_apps/RGBTest.py +20 -24
  133. toolkit/dashboard_apps/RoboArm.py +24 -32
  134. toolkit/dashboard_apps/SED_test.py +10 -14
  135. toolkit/dashboard_apps/SensorsTest.py +61 -0
  136. toolkit/dashboard_apps/SystemTest.py +202 -105
  137. toolkit/dashboard_apps/Template_app.py +11 -23
  138. toolkit/dashboard_apps/_app_base.py +34 -0
  139. toolkit/dashboard_apps/_gyro_visualizer.py +78 -0
  140. toolkit/dashboard_apps/uLightDemo.py +15 -24
  141. toolkit/index.html +4 -4
  142. toolkit/lib/LocalMachine.py +6 -1
  143. toolkit/lib/MicrosFiles.py +46 -0
  144. toolkit/lib/Repository.py +64 -0
  145. toolkit/lib/TerminalColors.py +4 -0
  146. toolkit/lib/macroScript.py +6 -0
  147. toolkit/lib/micrOSClient.py +123 -50
  148. toolkit/lib/micrOSClientHistory.py +156 -0
  149. toolkit/lib/pip_package_installer.py +5 -2
  150. toolkit/micrOSdashboard.py +12 -17
  151. toolkit/micrOSlint.py +20 -8
  152. toolkit/simulator_lib/__pycache__/IO_darwin.cpython-312.pyc +0 -0
  153. toolkit/simulator_lib/__pycache__/aioespnow.cpython-312.pyc +0 -0
  154. toolkit/simulator_lib/__pycache__/framebuf.cpython-312.pyc +0 -0
  155. toolkit/simulator_lib/__pycache__/machine.cpython-312.pyc +0 -0
  156. toolkit/simulator_lib/__pycache__/micropython.cpython-312.pyc +0 -0
  157. toolkit/simulator_lib/__pycache__/mip.cpython-312.pyc +0 -0
  158. toolkit/simulator_lib/__pycache__/neopixel.cpython-312.pyc +0 -0
  159. toolkit/simulator_lib/__pycache__/network.cpython-312.pyc +0 -0
  160. toolkit/simulator_lib/__pycache__/sim_common.cpython-312.pyc +0 -0
  161. toolkit/simulator_lib/__pycache__/simgc.cpython-312.pyc +0 -0
  162. toolkit/simulator_lib/__pycache__/simulator.cpython-312.pyc +0 -0
  163. toolkit/simulator_lib/__pycache__/uasyncio.cpython-312.pyc +0 -0
  164. toolkit/simulator_lib/__pycache__/uos.cpython-312.pyc +0 -0
  165. toolkit/simulator_lib/__pycache__/urandom.cpython-312.pyc +0 -0
  166. toolkit/simulator_lib/__pycache__/usocket.cpython-312.pyc +0 -0
  167. toolkit/simulator_lib/__pycache__/ussl.cpython-312.pyc +0 -0
  168. toolkit/simulator_lib/aioespnow.py +28 -0
  169. toolkit/simulator_lib/dht.py +1 -1
  170. toolkit/simulator_lib/framebuf.py +49 -1
  171. toolkit/simulator_lib/machine.py +17 -2
  172. toolkit/simulator_lib/micropython.py +3 -3
  173. toolkit/simulator_lib/mip.py +165 -0
  174. toolkit/simulator_lib/neopixel.py +3 -2
  175. toolkit/simulator_lib/network.py +2 -1
  176. toolkit/simulator_lib/node_config.json +2 -3
  177. toolkit/simulator_lib/ntptime.py +1 -1
  178. toolkit/simulator_lib/{sim_console.py → sim_common.py} +2 -3
  179. toolkit/simulator_lib/simgc.py +6 -2
  180. toolkit/simulator_lib/simulator.py +137 -59
  181. toolkit/simulator_lib/uasyncio.py +33 -2
  182. toolkit/simulator_lib/uos.py +147 -0
  183. toolkit/simulator_lib/urandom.py +4 -0
  184. toolkit/socketClient.py +43 -23
  185. toolkit/user_data/webhooks/generic.py +1 -1
  186. toolkit/user_data/webhooks/macro.py +1 -1
  187. toolkit/user_data/webhooks/template.py +1 -1
  188. toolkit/workspace/precompiled/Auth.mpy +0 -0
  189. toolkit/workspace/precompiled/Common.mpy +0 -0
  190. toolkit/workspace/precompiled/Config.mpy +0 -0
  191. toolkit/workspace/precompiled/Debug.mpy +0 -0
  192. toolkit/workspace/precompiled/Espnow.mpy +0 -0
  193. toolkit/workspace/precompiled/Files.mpy +0 -0
  194. toolkit/workspace/precompiled/Hooks.mpy +0 -0
  195. toolkit/workspace/precompiled/InterConnect.mpy +0 -0
  196. toolkit/workspace/precompiled/Interrupts.mpy +0 -0
  197. toolkit/workspace/precompiled/Logger.mpy +0 -0
  198. toolkit/workspace/precompiled/Network.mpy +0 -0
  199. toolkit/workspace/precompiled/Notify.mpy +0 -0
  200. toolkit/workspace/precompiled/Pacman.mpy +0 -0
  201. toolkit/workspace/precompiled/Scheduler.mpy +0 -0
  202. toolkit/workspace/precompiled/Server.mpy +0 -0
  203. toolkit/workspace/precompiled/Shell.mpy +0 -0
  204. toolkit/workspace/precompiled/Tasks.mpy +0 -0
  205. toolkit/workspace/precompiled/Time.mpy +0 -0
  206. toolkit/workspace/precompiled/Types.mpy +0 -0
  207. toolkit/workspace/precompiled/Web.mpy +0 -0
  208. toolkit/workspace/precompiled/_mpy.version +1 -1
  209. toolkit/workspace/precompiled/config/_git.keep +0 -0
  210. toolkit/workspace/precompiled/helpers.mpy +0 -0
  211. toolkit/workspace/precompiled/micrOS.mpy +0 -0
  212. toolkit/workspace/precompiled/micrOSloader.mpy +0 -0
  213. toolkit/workspace/precompiled/microIO.mpy +0 -0
  214. toolkit/workspace/precompiled/{IO_esp32.mpy → modules/IO_esp32.mpy} +0 -0
  215. toolkit/workspace/precompiled/{IO_esp32c3.mpy → modules/IO_esp32c3.mpy} +0 -0
  216. toolkit/workspace/precompiled/modules/IO_esp32c6.mpy +0 -0
  217. toolkit/workspace/precompiled/{IO_esp32s2.mpy → modules/IO_esp32s2.mpy} +0 -0
  218. toolkit/workspace/precompiled/modules/IO_esp32s3.mpy +0 -0
  219. toolkit/workspace/precompiled/modules/IO_m5stamp.mpy +0 -0
  220. toolkit/workspace/precompiled/modules/IO_qtpy.mpy +0 -0
  221. toolkit/workspace/precompiled/modules/IO_rp2.mpy +0 -0
  222. toolkit/workspace/precompiled/modules/IO_tinypico.mpy +0 -0
  223. toolkit/workspace/precompiled/modules/LM_L298N.mpy +0 -0
  224. {micrOS/source → toolkit/workspace/precompiled/modules}/LM_L9110_DCmotor.py +3 -3
  225. toolkit/workspace/precompiled/modules/LM_OV2640.mpy +0 -0
  226. toolkit/workspace/precompiled/{LM_VL53L0X.py → modules/LM_VL53L0X.py} +3 -3
  227. toolkit/workspace/precompiled/{LM_aht10.mpy → modules/LM_aht10.mpy} +0 -0
  228. toolkit/workspace/precompiled/{LM_bme280.mpy → modules/LM_bme280.mpy} +0 -0
  229. toolkit/workspace/precompiled/{LM_buzzer.mpy → modules/LM_buzzer.mpy} +0 -0
  230. toolkit/workspace/precompiled/modules/LM_cct.mpy +0 -0
  231. toolkit/workspace/precompiled/modules/LM_cluster.mpy +0 -0
  232. toolkit/workspace/precompiled/{LM_co2.mpy → modules/LM_co2.mpy} +0 -0
  233. toolkit/workspace/precompiled/{LM_dht11.mpy → modules/LM_dht11.mpy} +0 -0
  234. toolkit/workspace/precompiled/{LM_dht22.mpy → modules/LM_dht22.mpy} +0 -0
  235. toolkit/workspace/precompiled/modules/LM_dimmer.mpy +0 -0
  236. toolkit/workspace/precompiled/modules/LM_distance.mpy +0 -0
  237. toolkit/workspace/precompiled/{LM_ds18.mpy → modules/LM_ds18.mpy} +0 -0
  238. toolkit/workspace/precompiled/{LM_esp32.py → modules/LM_esp32.py} +5 -0
  239. toolkit/workspace/precompiled/modules/LM_espnow.py +53 -0
  240. toolkit/workspace/precompiled/modules/LM_fileserver.mpy +0 -0
  241. toolkit/workspace/precompiled/{LM_gameOfLife.mpy → modules/LM_gameOfLife.mpy} +0 -0
  242. toolkit/workspace/precompiled/modules/LM_genIO.mpy +0 -0
  243. toolkit/workspace/precompiled/{LM_haptic.mpy → modules/LM_haptic.mpy} +0 -0
  244. {micrOS/source → toolkit/workspace/precompiled/modules}/LM_i2c.py +5 -4
  245. toolkit/workspace/precompiled/modules/LM_i2s_mic.mpy +0 -0
  246. toolkit/workspace/precompiled/{LM_ld2410.mpy → modules/LM_ld2410.mpy} +0 -0
  247. toolkit/workspace/precompiled/modules/LM_light_sensor.mpy +0 -0
  248. toolkit/workspace/precompiled/modules/LM_mh_z19c.py +198 -0
  249. toolkit/workspace/precompiled/modules/LM_neoeffects.mpy +0 -0
  250. toolkit/workspace/precompiled/modules/LM_neopixel.mpy +0 -0
  251. toolkit/workspace/precompiled/{LM_oled.mpy → modules/LM_oled.mpy} +0 -0
  252. toolkit/workspace/precompiled/{LM_oled_sh1106.mpy → modules/LM_oled_sh1106.mpy} +0 -0
  253. toolkit/workspace/precompiled/modules/LM_oled_ui.mpy +0 -0
  254. toolkit/workspace/precompiled/modules/LM_pacman.mpy +0 -0
  255. toolkit/workspace/precompiled/modules/LM_presence.mpy +0 -0
  256. toolkit/workspace/precompiled/modules/LM_qmi8658.py +204 -0
  257. toolkit/workspace/precompiled/{LM_rencoder.py → modules/LM_rencoder.py} +2 -2
  258. toolkit/workspace/precompiled/modules/LM_rest.mpy +0 -0
  259. toolkit/workspace/precompiled/modules/LM_rgb.mpy +0 -0
  260. toolkit/workspace/precompiled/{LM_rgbcct.mpy → modules/LM_rgbcct.mpy} +0 -0
  261. toolkit/workspace/precompiled/modules/LM_roboarm.mpy +0 -0
  262. toolkit/workspace/precompiled/modules/LM_robustness.py +137 -0
  263. toolkit/workspace/precompiled/{LM_servo.mpy → modules/LM_servo.mpy} +0 -0
  264. toolkit/workspace/precompiled/{LM_sound_event.mpy → modules/LM_sound_event.mpy} +0 -0
  265. toolkit/workspace/precompiled/{LM_stepper.mpy → modules/LM_stepper.mpy} +0 -0
  266. toolkit/workspace/precompiled/modules/LM_switch.mpy +0 -0
  267. toolkit/workspace/precompiled/modules/LM_system.mpy +0 -0
  268. toolkit/workspace/precompiled/modules/LM_tcs3472.py +187 -0
  269. toolkit/workspace/precompiled/modules/LM_telegram.mpy +0 -0
  270. toolkit/workspace/precompiled/{LM_tinyrgb.mpy → modules/LM_tinyrgb.mpy} +0 -0
  271. toolkit/workspace/precompiled/{LM_trackball.mpy → modules/LM_trackball.mpy} +0 -0
  272. toolkit/workspace/precompiled/{LM_veml7700.mpy → modules/LM_veml7700.mpy} +0 -0
  273. toolkit/workspace/precompiled/modules/LM_web.mpy +0 -0
  274. toolkit/workspace/precompiled/urequests.mpy +0 -0
  275. {micrOS/source → toolkit/workspace/precompiled/web}/dashboard.html +4 -0
  276. toolkit/workspace/precompiled/web/editor.js +440 -0
  277. toolkit/workspace/precompiled/web/filesui.html +178 -0
  278. toolkit/workspace/precompiled/web/filesui.js +338 -0
  279. {micrOS/source → toolkit/workspace/precompiled/web}/index.html +44 -2
  280. toolkit/workspace/precompiled/{uapi.js → web/uapi.js} +48 -7
  281. toolkit/workspace/precompiled/{ustyle.css → web/ustyle.css} +6 -3
  282. micrOS/micropython/esp32-20241129-v1.24.1.bin +0 -0
  283. micrOS/micropython/esp32c3-20240222-v1.22.2.bin +0 -0
  284. micrOS/micropython/esp32s2-20240602-v1.23.0.bin +0 -0
  285. micrOS/micropython/esp32s2-LOLIN_MINI-20220618-v1.19.1.bin +0 -0
  286. micrOS/micropython/esp32s2-LOLIN_MINI-20240602-v1.23.0.bin +0 -0
  287. micrOS/micropython/esp32s3-20240105-v1.22.1.bin +0 -0
  288. micrOS/micropython/esp32s3_spiram_oct-20231005-v1.21.0.bin +0 -0
  289. micrOS/micropython/esp32s3_spiram_oct-20241129-v1.24.1.bin +0 -0
  290. micrOS/micropython/rpi-pico-w-20241129-v1.24.1.uf2 +0 -0
  291. micrOS/micropython/tinypico-20241129-v1.24.1.bin +0 -0
  292. micrOS/source/LM_L298N_DCmotor.py +0 -86
  293. micrOS/source/LM_catgame.py +0 -75
  294. micrOS/source/LM_dashboard_be.py +0 -37
  295. micrOS/source/LM_demo.py +0 -97
  296. micrOS/source/LM_espnow.py +0 -23
  297. micrOS/source/LM_intercon.py +0 -57
  298. micrOS/source/LM_keychain.py +0 -322
  299. micrOS/source/LM_lmpacman.py +0 -126
  300. micrOS/source/LM_neoeffects.py +0 -331
  301. micrOS/source/LM_oledui.py +0 -972
  302. micrOS/source/LM_pet_feeder.py +0 -78
  303. micrOS/source/LM_ph_sensor.py +0 -51
  304. micrOS/source/LM_robustness.py +0 -74
  305. micrOS/source/reset.py +0 -11
  306. micrOSDevToolKit-2.9.1.dist-info/RECORD +0 -365
  307. toolkit/dashboard_apps/AirQualityBME280.py +0 -36
  308. toolkit/dashboard_apps/AirQualityDHT22_CO2.py +0 -36
  309. toolkit/lib/file_extensions.py +0 -16
  310. toolkit/simulator_lib/__pycache__/sim_console.cpython-312.pyc +0 -0
  311. toolkit/simulator_lib/__pycache__/sim_console.cpython-38.pyc +0 -0
  312. toolkit/simulator_lib/__pycache__/sim_console.cpython-39.pyc +0 -0
  313. toolkit/workspace/precompiled/IO_esp32s3.mpy +0 -0
  314. toolkit/workspace/precompiled/IO_m5stamp.mpy +0 -0
  315. toolkit/workspace/precompiled/IO_qtpy.mpy +0 -0
  316. toolkit/workspace/precompiled/IO_rp2.mpy +0 -0
  317. toolkit/workspace/precompiled/IO_tinypico.mpy +0 -0
  318. toolkit/workspace/precompiled/LM_L298N_DCmotor.mpy +0 -0
  319. toolkit/workspace/precompiled/LM_OV2640.mpy +0 -0
  320. toolkit/workspace/precompiled/LM_catgame.py +0 -75
  321. toolkit/workspace/precompiled/LM_cct.mpy +0 -0
  322. toolkit/workspace/precompiled/LM_dashboard_be.py +0 -37
  323. toolkit/workspace/precompiled/LM_demo.py +0 -97
  324. toolkit/workspace/precompiled/LM_dimmer.mpy +0 -0
  325. toolkit/workspace/precompiled/LM_distance.mpy +0 -0
  326. toolkit/workspace/precompiled/LM_espnow.py +0 -23
  327. toolkit/workspace/precompiled/LM_genIO.mpy +0 -0
  328. toolkit/workspace/precompiled/LM_i2s_mic.mpy +0 -0
  329. toolkit/workspace/precompiled/LM_intercon.mpy +0 -0
  330. toolkit/workspace/precompiled/LM_keychain.mpy +0 -0
  331. toolkit/workspace/precompiled/LM_light_sensor.mpy +0 -0
  332. toolkit/workspace/precompiled/LM_lmpacman.mpy +0 -0
  333. toolkit/workspace/precompiled/LM_neoeffects.mpy +0 -0
  334. toolkit/workspace/precompiled/LM_neopixel.mpy +0 -0
  335. toolkit/workspace/precompiled/LM_oled_ui.mpy +0 -0
  336. toolkit/workspace/precompiled/LM_oledui.mpy +0 -0
  337. toolkit/workspace/precompiled/LM_pet_feeder.py +0 -78
  338. toolkit/workspace/precompiled/LM_ph_sensor.py +0 -51
  339. toolkit/workspace/precompiled/LM_presence.mpy +0 -0
  340. toolkit/workspace/precompiled/LM_rest.mpy +0 -0
  341. toolkit/workspace/precompiled/LM_rgb.mpy +0 -0
  342. toolkit/workspace/precompiled/LM_roboarm.mpy +0 -0
  343. toolkit/workspace/precompiled/LM_robustness.py +0 -74
  344. toolkit/workspace/precompiled/LM_switch.mpy +0 -0
  345. toolkit/workspace/precompiled/LM_system.mpy +0 -0
  346. toolkit/workspace/precompiled/LM_telegram.mpy +0 -0
  347. toolkit/workspace/precompiled/node_config.json +0 -1
  348. toolkit/workspace/precompiled/reset.mpy +0 -0
  349. /micrOS/source/{IO_esp32.py → modules/IO_esp32.py} +0 -0
  350. /micrOS/source/{IO_esp32c3.py → modules/IO_esp32c3.py} +0 -0
  351. /micrOS/source/{IO_esp32s2.py → modules/IO_esp32s2.py} +0 -0
  352. /micrOS/source/{IO_rp2.py → modules/IO_rp2.py} +0 -0
  353. /micrOS/source/{LM_gameOfLife.py → modules/LM_gameOfLife.py} +0 -0
  354. /micrOS/source/{LM_rgbcct.py → modules/LM_rgbcct.py} +0 -0
  355. /micrOS/source/{LM_rp2w.py → modules/LM_rp2w.py} +0 -0
  356. /micrOS/source/{LM_sdcard.py → modules/LM_sdcard.py} +0 -0
  357. /micrOS/source/{LM_sound_event.py → modules/LM_sound_event.py} +0 -0
  358. /micrOS/source/{LM_tinyrgb.py → modules/LM_tinyrgb.py} +0 -0
  359. /micrOS/source/{udashboard.js → web/udashboard.js} +0 -0
  360. /micrOS/source/{uwidgets.js → web/uwidgets.js} +0 -0
  361. /micrOS/source/{uwidgets_pro.js → web/uwidgets_pro.js} +0 -0
  362. {micrOSDevToolKit-2.9.1.dist-info → microsdevtoolkit-2.26.1.dist-info/licenses}/LICENSE +0 -0
  363. {micrOSDevToolKit-2.9.1.dist-info → microsdevtoolkit-2.26.1.dist-info}/top_level.txt +0 -0
  364. /toolkit/workspace/precompiled/{LM_rp2w.py → modules/LM_rp2w.py} +0 -0
  365. /toolkit/workspace/precompiled/{LM_sdcard.py → modules/LM_sdcard.py} +0 -0
  366. /toolkit/workspace/precompiled/{udashboard.js → web/udashboard.js} +0 -0
  367. /toolkit/workspace/precompiled/{uwidgets.js → web/uwidgets.js} +0 -0
  368. /toolkit/workspace/precompiled/{uwidgets_pro.js → web/uwidgets_pro.js} +0 -0
@@ -1,36 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
- import os
4
- import sys
5
- import time
6
- MYPATH = os.path.dirname(os.path.abspath(__file__))
7
- sys.path.append(os.path.dirname(MYPATH))
8
- import socketClient
9
-
10
- # FILL OUT
11
- DEVICE = 'airquality'
12
-
13
-
14
- def base_cmd():
15
- return ['--dev', DEVICE]
16
-
17
-
18
- def app(devfid=None):
19
- global DEVICE
20
- if devfid is not None:
21
- DEVICE = devfid
22
- for k in range(0, 20):
23
- args = base_cmd() + ['dht22 measure_w_co2']
24
- try:
25
- status, answer = socketClient.run(args)
26
- if status:
27
- print("|- [{}/20] OK".format(k+1))
28
- else:
29
- print("|- [{}/20] ERR".format(k+1))
30
- time.sleep(3)
31
- except KeyboardInterrupt:
32
- break
33
-
34
-
35
- if __name__ == "__main__":
36
- app()
@@ -1,16 +0,0 @@
1
-
2
-
3
- ENABLED_EXTENSIONS = ('py', 'mpy', 'js', 'css', 'html')
4
- WEB_ONLY = ('js', 'html', 'css')
5
-
6
- def check_all_extensions(path):
7
- extension = path.split('.')[-1]
8
- if extension in ENABLED_EXTENSIONS:
9
- return True
10
- return False
11
-
12
- def check_web_extensions(path):
13
- extension = path.split('.')[-1]
14
- if extension in WEB_ONLY:
15
- return True
16
- return False
Binary file
Binary file
Binary file
@@ -1,75 +0,0 @@
1
- from random import randint
2
- from LM_servo import sduty, deinit, pinmap as pm
3
- from utime import sleep_ms
4
- from Types import resolve
5
-
6
-
7
- def load():
8
- """
9
- Initialize catgame-servo module
10
- """
11
- return "catgame-servo module - loaded"
12
-
13
-
14
- def game(repeat=10, delta=20):
15
- """
16
- Servo cat toy "mover" - left-right
17
- :param repeat int: repeat servo pos change
18
- :param delta int: center(75) +/-delta(35)
19
- :return str: verdict
20
- """
21
- sduty(75)
22
- for _ in range(0, repeat):
23
- sduty(randint(75-delta, 75+delta))
24
- sleep_ms(randint(20, 1500))
25
- sduty(75)
26
- return 'Game action'
27
-
28
-
29
- def live_game(chance=10):
30
- """
31
- Generate game
32
- :param chance int: percent value 0-100
33
- :return str: verdict (action / no action)
34
- """
35
- action = randint(1, 10)
36
- if action <= int(chance/10):
37
- return game(repeat=5)
38
- return 'No action'
39
-
40
-
41
- def stop():
42
- """
43
- Stop game - home position (75) + deinit
44
- :return str: servo verdict
45
- """
46
- out = sduty(75)
47
- deinit()
48
- return out
49
-
50
-
51
- #######################
52
- # LM helper functions #
53
- #######################
54
-
55
- def pinmap():
56
- """
57
- [i] micrOS LM naming convention
58
- Shows logical pins - pin number(s) used by this Load module
59
- - info which pins to use for this application
60
- :return dict: pin name (str) - pin value (int) pairs
61
- """
62
- return pm()
63
-
64
-
65
- def help(widgets=False):
66
- """
67
- [i] micrOS LM naming convention - built-in help message
68
- :return tuple:
69
- (widgets=False) list of functions implemented by this application
70
- (widgets=True) list of widget json for UI generation
71
- """
72
- return resolve(('BUTTON game repeat=10',
73
- 'SLIDER live_game chance=<10-90>',
74
- 'BUTTON stop', 'pinmap',
75
- 'load'), widgets=widgets)
Binary file
@@ -1,37 +0,0 @@
1
- from Common import web_endpoint, syslog
2
-
3
- ENDPOINT_INITED = False
4
-
5
- def load():
6
- return create_dashboard()
7
-
8
-
9
- def _dashboard_clb():
10
- try:
11
- with open('dashboard.html', 'r') as html:
12
- html_content = html.read()
13
- return 'text/html', html_content
14
- except Exception as e:
15
- syslog(f"[ERR] dashboard_be: {e}")
16
- html_content = None
17
- return 'text/plain', f'html_content error: {html_content}'
18
-
19
-
20
- def create_dashboard():
21
- """
22
- Create dashboard endpoint
23
- """
24
- global ENDPOINT_INITED
25
- ENDPOINT_INITED = True
26
- web_endpoint('dashboard', _dashboard_clb)
27
- return 'Endpoint created: /dashboard'
28
-
29
-
30
- def help(widgets=False):
31
- """
32
- [i] micrOS LM naming convention - built-in help message
33
- :return tuple:
34
- (widgets=False) list of functions implemented by this application
35
- (widgets=True) list of widget json for UI generation
36
- """
37
- return 'load', 'create_dashboard', 'help'
@@ -1,97 +0,0 @@
1
- from random import randint
2
- from Time import uptime
3
- from Types import resolve
4
- from microIO import detect_platform
5
- from Common import console
6
-
7
- CNT = 0
8
-
9
-
10
- def _debug(func):
11
- """
12
- Debug wrapper
13
- - console logging
14
- - handled cmd counter (exec_info to get the value)
15
- """
16
- def __wrapper(*args, **kwargs):
17
- global CNT
18
- CNT += 1
19
- console("debug module cmd executed") # + Progress LED
20
- return func(*args, **kwargs)
21
- return __wrapper
22
-
23
-
24
- def load():
25
- """
26
- Initialize demo module
27
- """
28
- return "demo module - loaded"
29
-
30
-
31
- @_debug
32
- def hello(name="MrNobody"):
33
- return f"Hello {name}! This is a micrOS smart endpoint ☁️, running on {detect_platform()}.\
34
- \nFor more info call `demo links` function :D"
35
-
36
-
37
- @_debug
38
- def calculator(a, b, op="+"):
39
- if op.strip() == "+":
40
- return f"{a} + {b} = {a + b}"
41
- if op.strip() == "-":
42
- return f"{a} - {b} = {a - b}"
43
- if op.strip() == "/":
44
- return f"{a} / {b} = {round(a / b, 3)}"
45
- if op.strip() == "*":
46
- return f"{a} * {b} = {a * b}"
47
-
48
-
49
- @_debug
50
- def dice_cube():
51
- value = randint(1, 6)
52
- return f"🎲 {value}"
53
-
54
-
55
- @_debug
56
- def yes_no():
57
- val = randint(0, 1)
58
- return 'NO👎' if val == 0 else 'YES👍'
59
-
60
-
61
- @_debug
62
- def links():
63
- descript = f"Platform: {detect_platform()}\nGITHUB: https://github.com/BxNxM/micrOS\nYOUTUBE: https://www.youtube.com/@micrOSframework\nINSTAGRAM: https://instagram.com/micros_framework"
64
- return descript
65
-
66
-
67
- @_debug
68
- def source():
69
- return 'https://github.com/BxNxM/micrOS/blob/master/micrOS/source/LM_demo.py'
70
-
71
-
72
- @_debug
73
- def exec_info():
74
- global CNT
75
- return f"Under {uptime()}: {CNT} cmd served."
76
-
77
-
78
- @_debug
79
- def help(widgets=False):
80
- """
81
- [i] micrOS LM naming convention - built-in help message
82
- :return tuple:
83
- (widgets=False) list of functions implemented by this application
84
- (widgets=True) list of widget json for UI generation
85
- """
86
- return resolve(('hello name="MrNobody"',
87
- 'calculator a b op="+"',
88
- '\t=>op: + - / *',
89
- 'BUTTON dice_cube',
90
- 'dice_cube - show number, roll a dice',
91
- 'BUTTON yes_no',
92
- 'yes_no - show random yes/no',
93
- 'links - show micrOS links',
94
- 'source - show demo module source code',
95
- 'TEXTBOX exec_info',
96
- 'exec_info - Execution info, demo module usage',
97
- 'load'), widgets=widgets)
Binary file
@@ -1,23 +0,0 @@
1
- import Espnow
2
-
3
- def load():
4
- return Espnow.initialize()
5
-
6
- def send(peer, msg='ping'):
7
- return Espnow.espnow_send(peer, msg)
8
-
9
- def start_server():
10
- return Espnow.espnow_server()
11
-
12
- def stats():
13
- return Espnow.stats()
14
-
15
- def add_peer(peer):
16
- now = Espnow.initialize()
17
- return Espnow.add_peer(now, peer)
18
-
19
- def mac_address():
20
- return Espnow.mac_address()
21
-
22
- def help():
23
- return 'load', 'send <peer> "ping"', 'start_server', 'add_peer <peer>', 'stats', 'mac_address'
Binary file
Binary file
@@ -1,78 +0,0 @@
1
- from LM_servo import sduty, deinit, pinmap as servo_pinmap
2
- from LM_stepper import step, pinmap as stepper_pinmap
3
- from Common import micro_task
4
-
5
-
6
- class Data:
7
- TASK_TAG = "pet_feeder.portion"
8
-
9
-
10
- async def __portion_task(portion, posmin, posmax):
11
- # ASYNC TASK ADAPTER [*2] with automatic state management
12
- # [micro_task->Task] TaskManager access to task internals (out, done attributes)
13
- with micro_task(tag=Data.TASK_TAG) as my_task:
14
- for p in range(0, portion):
15
- # [1]Run pos fill up
16
- for pos in range(posmin, posmax):
17
- sduty(pos)
18
- await my_task.feed(sleep_ms=15)
19
- # [2]Wait between fill up / food out
20
- await my_task.feed(sleep_ms=500)
21
- # [3]Run pos food out
22
- for pos in range(posmax, posmin, -1):
23
- sduty(pos)
24
- await my_task.feed(sleep_ms=20)
25
- my_task.out = "{}/{} serving".format(p+1, portion)
26
- deinit()
27
- my_task.out += ": {} task done".format(Data.TASK_TAG)
28
-
29
-
30
- def serve(portion=1, posmin=65, posmax=97):
31
- """
32
- Pet feeder - with servo motor
33
- :param portion: number of portions (min/max positions to repeat)
34
- :param posmin: servo "start" position
35
- :param posmax: servo "stop" position
36
- """
37
- # [!] ASYNC TASK CREATION [1*] with async task callback + taskID (TAG) handling
38
- state = micro_task(tag=Data.TASK_TAG, task=__portion_task(portion=portion, posmin=posmin, posmax=posmax))
39
- return "Starting" if state else "Already running"
40
-
41
-
42
- def serve_w_stepper(portion=1, forward=135, back=10):
43
- """
44
- Pet feeder (beta) - with stepper motor
45
- :param count: number of portions
46
- :param forward: s
47
- :param back:
48
- """
49
- for _ in range(portion):
50
- # portion move
51
- step(forward)
52
- # Safety anti-block solution?
53
- step(-back)
54
- step(back)
55
- step(-back)
56
- step(back)
57
-
58
-
59
- def pinmap():
60
- """
61
- [i] micrOS LM naming convention
62
- Shows logical pins - pin number(s) used by this Load module
63
- - info which pins to use for this application
64
- :return dict: pin name (str) - pin value (int) pairs
65
- """
66
- p = servo_pinmap()
67
- p.update(stepper_pinmap())
68
- return p
69
-
70
-
71
- def help(widgets=False):
72
- """
73
- [i] micrOS LM naming convention - built-in help message
74
- :return tuple:
75
- (widgets=False) list of functions implemented by this application
76
- (widgets=True) list of widget json for UI generation
77
- """
78
- return 'serve portion=1 \t\t[info] servo control', 'serve_w_stepper portion=1 \t[info] stepper control'
@@ -1,51 +0,0 @@
1
- from time import sleep
2
- from microIO import resolve_pin, pinmap_search
3
- from Common import SmartADC
4
-
5
- """
6
- https://cimpleo.com/blog/simple-arduino-ph-meter/
7
- ADC.ATTN_0DB — the full range voltage: 1.2V
8
- ADC.ATTN_2_5DB — the full range voltage: 1.5V
9
- ADC.ATTN_6DB — the full range voltage: 2.0V
10
- ADC.ATTN_11DB — the full range voltage: 3.3V
11
- """
12
-
13
-
14
- def __measure(samples=10):
15
- adc_obj = SmartADC.get_instance(resolve_pin('ph'))
16
- mbuf = 0
17
- for k in range(0, samples):
18
- mbuf += adc_obj.get()['volt']
19
- sleep(0.1)
20
- voltage = round(mbuf / samples, 3)
21
- return voltage
22
-
23
-
24
- def measure():
25
- data = SmartADC.get_instance(resolve_pin('ph')).get()
26
- return "ADC data: {}\nAVG V: {}".format(data, __measure())
27
-
28
-
29
- #######################
30
- # LM helper functions #
31
- #######################
32
-
33
- def pinmap():
34
- """
35
- [i] micrOS LM naming convention
36
- Shows logical pins - pin number(s) used by this Load module
37
- - info which pins to use for this application
38
- :return dict: pin name (str) - pin value (int) pairs
39
- """
40
- return pinmap_search('ph')
41
-
42
-
43
- def help(widgets=False):
44
- """
45
- [BETA][i] micrOS LM naming convention - built-in help message
46
- :return tuple:
47
- (widgets=False) list of functions implemented by this application
48
- (widgets=True) list of widget json for UI generation
49
- """
50
- return 'measure', 'pinmap'
51
-
Binary file
Binary file
@@ -1,74 +0,0 @@
1
- from LM_system import memory_usage
2
- from Common import socket_stream, syslog
3
-
4
-
5
- @socket_stream
6
- def raise_error(msgobj=None):
7
- """
8
- Test function - raise LM exception
9
- """
10
- if msgobj is not None:
11
- msgobj("Raise test exception")
12
- syslog('Robustness TeSt ErRoR')
13
- raise Exception("Test exception")
14
-
15
-
16
- @socket_stream
17
- def memory_leak(cnt=160, msgobj=None):
18
- """
19
- Test function - allocate lot of memory
20
- :param cnt: data counter, default 160 iteration
21
- :return: verdict
22
- """
23
- dict_test = {}
24
- mem_start = memory_usage()['mem_used']
25
- for k in range(cnt):
26
- mem = memory_usage()['percent']
27
- data = "micrOS memory usage: {} %".format(mem)
28
- if msgobj is not None:
29
- msgobj("[{}] gen: {}".format(k, data))
30
- dict_test[k] = data
31
- mem_end = memory_usage()['mem_used']
32
- delta = mem_start - mem_end
33
- return '[{}] RAM Alloc.: {} kB {} byte'.format(len(dict_test), int(delta / 1024), int(delta % 1024))
34
-
35
- @socket_stream
36
- def recursion_limit(limit=14, msgobj=None):
37
- cnt = 0
38
- for cnt in range(1, limit+1):
39
- try:
40
- _recursion(cnt, msgobj=msgobj)
41
- except Exception as e:
42
- msgobj(f"ok error: {e}")
43
- break
44
- return f"Recursion limit: {cnt}"
45
-
46
-
47
- def _recursion(cnt, msgobj=None):
48
- """
49
- Test function - recursion test
50
- :param cnt: recursion depth
51
- :return: verdict
52
- Error example:
53
- node01 $ robustness recursion_limit 15
54
- lm_exec LM_robustness->recursion_limit: maximum recursion depth exceeded
55
- """
56
- if cnt > 0:
57
- remain = _recursion(cnt-1)
58
- if msgobj is not None:
59
- msgobj("recalled {}".format(cnt))
60
- else:
61
- remain = 0
62
- return remain
63
-
64
-
65
- def help(widgets=False):
66
- """
67
- [i] micrOS LM naming convention - built-in help message
68
- :return tuple:
69
- (widgets=False) list of functions implemented by this application
70
- (widgets=True) list of widget json for UI generation
71
- """
72
- return 'NOTE: This is a test module to validate system robustness', \
73
- 'raise_error', 'memory_leak cnt=160', 'recursion_limit cnt=14'
74
-
Binary file
Binary file
@@ -1 +0,0 @@
1
- {"stapwd": "BNM3,1415", "cron": false, "crontasks": "n/a", "timirq": false, "timirqcbf": "n/a", "irq1": false, "irq1_cbf": "n/a", "irq2": true, "appwd": "ADmin123", "auth": false, "webui": true, "irq2_cbf": "basic_led toggle", "irq2_trig": "n/a", "irq3": false, "irq3_cbf": "n/a", "irq3_trig": "n/a", "irq_prell_ms": 300, "boothook": "types_demo load", "aioqueue": 5, "utc": 60, "boostmd": true, "espnow": false, "irq1_trig": "n/a", "irq4_cbf": "n/a", "guimeta": "...", "devip": "10.0.1.179", "timirqseq": 1000, "cstmpmap": "n/a", "telegram": "n/a", "dbg": true, "hwuid": "micr7c9ebd6147c4OS", "devfid": "TestBird", "staessid": "elektroncsakpozitivan_2G", "soctout": 30, "irq4_trig": "n/a", "irq4": false, "version": "2.8.1-0", "nwmd": "STA", "socport": 9008}
Binary file
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes