micrOSDevToolKit 2.4.0__tar.gz → 2.5.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 (363) hide show
  1. {micrOSDevToolKit-2.4.0/micrOSDevToolKit.egg-info → micrOSDevToolKit-2.5.0}/PKG-INFO +3 -1
  2. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/README.md +2 -0
  3. micrOSDevToolKit-2.5.0/micrOS/micropython/esp32-GENERIC-20240602-v1.23.0.bin +0 -0
  4. micrOSDevToolKit-2.5.0/micrOS/micropython/esp32s2-GENERIC-20240602-v1.23.0.bin +0 -0
  5. micrOSDevToolKit-2.5.0/micrOS/micropython/esp32s2-LOLIN_MINI-20240602-v1.23.0.bin +0 -0
  6. micrOSDevToolKit-2.5.0/micrOS/micropython/rpi-pico-w-20240602-v1.23.0.uf2 +0 -0
  7. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/release_info/micrOS_ReleaseInfo/system_analysis_sum.json +15 -15
  8. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/Common.py +15 -14
  9. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/Config.py +1 -1
  10. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/Debug.py +0 -9
  11. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_keychain.py +11 -9
  12. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_roboarm.py +14 -14
  13. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_system.py +3 -2
  14. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/Logger.py +9 -0
  15. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/Shell.py +1 -1
  16. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/Tasks.py +1 -1
  17. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/Types.py +7 -6
  18. {micrOSDevToolKit-2.4.0/toolkit/workspace/precompiled → micrOSDevToolKit-2.5.0/micrOS/source}/dashboard.html +1 -0
  19. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/micrOS.py +1 -2
  20. {micrOSDevToolKit-2.4.0/toolkit/workspace/precompiled → micrOSDevToolKit-2.5.0/micrOS/source}/udashboard.js +5 -1
  21. micrOSDevToolKit-2.5.0/micrOS/source/uwidgets_pro.js +99 -0
  22. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0/micrOSDevToolKit.egg-info}/PKG-INFO +3 -1
  23. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOSDevToolKit.egg-info/SOURCES.txt +13 -5
  24. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/setup.py +1 -1
  25. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/DevEnvOTA.py +14 -0
  26. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/DevEnvUSB.py +1 -1
  27. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/Gateway.py +3 -3
  28. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/micrOSdashboard.py +4 -4
  29. micrOSDevToolKit-2.5.0/toolkit/simulator_lib/.DS_Store +0 -0
  30. micrOSDevToolKit-2.5.0/toolkit/simulator_lib/__pycache__/camera.cpython-312.pyc +0 -0
  31. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/machine.cpython-312.pyc +0 -0
  32. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/simulator.cpython-312.pyc +0 -0
  33. micrOSDevToolKit-2.5.0/toolkit/simulator_lib/camera.py +84 -0
  34. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/machine.py +11 -0
  35. micrOSDevToolKit-2.5.0/toolkit/simulator_lib/node_config.json +7 -0
  36. micrOSDevToolKit-2.5.0/toolkit/simulator_lib/view01.jpg +0 -0
  37. micrOSDevToolKit-2.5.0/toolkit/simulator_lib/view02.jpg +0 -0
  38. micrOSDevToolKit-2.5.0/toolkit/workspace/precompiled/Common.mpy +0 -0
  39. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/Config.mpy +0 -0
  40. micrOSDevToolKit-2.5.0/toolkit/workspace/precompiled/Debug.mpy +0 -0
  41. micrOSDevToolKit-2.5.0/toolkit/workspace/precompiled/LM_keychain.mpy +0 -0
  42. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_roboarm.mpy +0 -0
  43. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_system.mpy +0 -0
  44. micrOSDevToolKit-2.5.0/toolkit/workspace/precompiled/Logger.mpy +0 -0
  45. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/Shell.mpy +0 -0
  46. micrOSDevToolKit-2.5.0/toolkit/workspace/precompiled/Types.mpy +0 -0
  47. {micrOSDevToolKit-2.4.0/micrOS/source → micrOSDevToolKit-2.5.0/toolkit/workspace/precompiled}/dashboard.html +1 -0
  48. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/micrOS.mpy +0 -0
  49. micrOSDevToolKit-2.5.0/toolkit/workspace/precompiled/node_config.json +1 -0
  50. {micrOSDevToolKit-2.4.0/micrOS/source → micrOSDevToolKit-2.5.0/toolkit/workspace/precompiled}/udashboard.js +5 -1
  51. micrOSDevToolKit-2.5.0/toolkit/workspace/precompiled/uwidgets_pro.js +99 -0
  52. micrOSDevToolKit-2.4.0/micrOS/micropython/esp32c3-GENERIC-20240105-v1.22.1.bin +0 -0
  53. micrOSDevToolKit-2.4.0/micrOS/micropython/esp32s2-GENERIC-20240105-v1.22.1.bin +0 -0
  54. micrOSDevToolKit-2.4.0/micrOS/micropython/rpi-pico-w-20231005-v1.21.0.uf2 +0 -0
  55. micrOSDevToolKit-2.4.0/toolkit/simulator_lib/node_config.json +0 -7
  56. micrOSDevToolKit-2.4.0/toolkit/workspace/precompiled/Common.mpy +0 -0
  57. micrOSDevToolKit-2.4.0/toolkit/workspace/precompiled/Debug.mpy +0 -0
  58. micrOSDevToolKit-2.4.0/toolkit/workspace/precompiled/LM_keychain.mpy +0 -0
  59. micrOSDevToolKit-2.4.0/toolkit/workspace/precompiled/Logger.mpy +0 -0
  60. micrOSDevToolKit-2.4.0/toolkit/workspace/precompiled/Types.mpy +0 -0
  61. micrOSDevToolKit-2.4.0/toolkit/workspace/precompiled/node_config.json +0 -1
  62. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/LICENSE +0 -0
  63. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/MANIFEST.in +0 -0
  64. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/devToolKit.py +0 -0
  65. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/env/__init__.py +0 -0
  66. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/env/driver_cp210x/.DS_Store +0 -0
  67. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/env/driver_cp210x/CH34XSER_MAC/CH34X_DRV_INSTALL_INSTRUCTIONS.pdf +0 -0
  68. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/env/driver_cp210x/CH34XSER_MAC/CH34xVCPDriver.pkg +0 -0
  69. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x64.exe +0 -0
  70. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x86.exe +0 -0
  71. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210x_Universal_Windows_Driver_ReleaseNotes.txt +0 -0
  72. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/SLAB_License_Agreement_VCP_Windows.txt +0 -0
  73. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm/silabser.sys +0 -0
  74. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm64/silabser.sys +0 -0
  75. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/dpinst.xml +0 -0
  76. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.cat +0 -0
  77. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.inf +0 -0
  78. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x64/silabser.sys +0 -0
  79. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x86/silabser.sys +0 -0
  80. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/env/driver_cp210x/macOS_VCP_Driver/SiLabsUSBDriverDisk.dmg +0 -0
  81. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/env/driver_cp210x/macOS_VCP_Driver/macOS_VCP_Driver_Release_Notes.txt +0 -0
  82. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/media/__init__.py +0 -0
  83. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/media/dnd.png +0 -0
  84. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/media/logo.png +0 -0
  85. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/media/logo_mini.png +0 -0
  86. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/media/usb_port_icon.png +0 -0
  87. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/media/wifi_icon.png +0 -0
  88. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/__init__.py +0 -0
  89. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/micropython/esp32-20231005-v1.21.0.bin +0 -0
  90. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/micropython/esp32c3-GENERIC-20240222-v1.22.2.bin +0 -0
  91. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/micropython/esp32cam-v1.21.0_camera.bin +0 -0
  92. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/micropython/esp32s2-LOLIN_MINI-20220618-v1.19.1.bin +0 -0
  93. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/micropython/esp32s3-GENERIC-20240105-v1.22.1.bin +0 -0
  94. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/micropython/esp32s3_spiram_oct-20231005-v1.21.0.bin +0 -0
  95. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/micropython/tinypico-20231005-v1.21.0.bin +0 -0
  96. /micrOSDevToolKit-2.4.0/micrOS/micropython/tinypico-usbc-UM-20240105-v1.22.1.bin → /micrOSDevToolKit-2.5.0/micrOS/micropython/tinypico_usbc-UM-20240105-v1.22.1.bin +0 -0
  97. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/.DS_Store +0 -0
  98. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/Hooks.py +0 -0
  99. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/IO_esp32.py +0 -0
  100. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/IO_esp32c3.py +0 -0
  101. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/IO_esp32s2.py +0 -0
  102. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/IO_esp32s3.py +0 -0
  103. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/IO_qtpy.py +0 -0
  104. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/IO_rp2.py +0 -0
  105. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/IO_tinypico.py +0 -0
  106. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/InterConnect.py +0 -0
  107. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/Interrupts.py +0 -0
  108. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_L298N_DCmotor.py +0 -0
  109. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_L9110_DCmotor.py +0 -0
  110. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_OV2640.py +0 -0
  111. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_VL53L0X.py +0 -0
  112. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_aht10.py +0 -0
  113. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_bme280.py +0 -0
  114. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_buzzer.py +0 -0
  115. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_catgame.py +0 -0
  116. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_cct.py +0 -0
  117. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_co2.py +0 -0
  118. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_dashboard_be.py +0 -0
  119. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_demo.py +0 -0
  120. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_dht11.py +0 -0
  121. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_dht22.py +0 -0
  122. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_dimmer.py +0 -0
  123. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_distance.py +0 -0
  124. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_ds18.py +0 -0
  125. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_esp32.py +0 -0
  126. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_gameOfLife.py +0 -0
  127. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_genIO.py +0 -0
  128. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_i2c.py +0 -0
  129. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_i2s_mic.py +0 -0
  130. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_intercon.py +0 -0
  131. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_ld2410.py +0 -0
  132. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_light_sensor.py +0 -0
  133. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_lmpacman.py +0 -0
  134. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_neoeffects.py +0 -0
  135. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_neopixel.py +0 -0
  136. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_oled.py +0 -0
  137. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_oled_sh1106.py +0 -0
  138. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_oled_ui.py +0 -0
  139. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_pet_feeder.py +0 -0
  140. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_ph_sensor.py +0 -0
  141. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_presence.py +0 -0
  142. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_rencoder.py +0 -0
  143. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_rest.py +0 -0
  144. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_rgb.py +0 -0
  145. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_rgbcct.py +0 -0
  146. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_robustness.py +0 -0
  147. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_rp2w.py +0 -0
  148. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_sdcard.py +0 -0
  149. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_servo.py +0 -0
  150. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_stepper.py +0 -0
  151. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_switch.py +0 -0
  152. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_telegram.py +0 -0
  153. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/LM_tinyrgb.py +0 -0
  154. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/Network.py +0 -0
  155. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/Notify.py +0 -0
  156. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/Scheduler.py +0 -0
  157. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/Server.py +0 -0
  158. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/Time.py +0 -0
  159. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/index.html +0 -0
  160. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/main.py +0 -0
  161. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/micrOSloader.py +0 -0
  162. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/microIO.py +0 -0
  163. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/reset.py +0 -0
  164. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/uapi.js +0 -0
  165. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/urequests.py +0 -0
  166. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/ustyle.css +0 -0
  167. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOS/source/uwidgets.js +0 -0
  168. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOSDevToolKit.egg-info/dependency_links.txt +0 -0
  169. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOSDevToolKit.egg-info/requires.txt +0 -0
  170. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/micrOSDevToolKit.egg-info/top_level.txt +0 -0
  171. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/setup.cfg +0 -0
  172. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/DevEnvCompile.py +0 -0
  173. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/LM_to_compile.dat +0 -0
  174. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/MicrOSDevEnv.py +0 -0
  175. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/__init__.py +0 -0
  176. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/dashboard_apps/AirQualityBME280.py +0 -0
  177. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/dashboard_apps/AirQualityDHT22_CO2.py +0 -0
  178. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/dashboard_apps/CCTDemo.py +0 -0
  179. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/dashboard_apps/CCTTest.py +0 -0
  180. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/dashboard_apps/CamStream.py +0 -0
  181. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/dashboard_apps/CatGame.py +0 -0
  182. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/dashboard_apps/Dimmer.py +0 -0
  183. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/dashboard_apps/GetVersion.py +0 -0
  184. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/dashboard_apps/MicrophoneTest.py +0 -0
  185. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/dashboard_apps/NeoEffectsDemo.py +0 -0
  186. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/dashboard_apps/NeopixelTest.py +0 -0
  187. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/dashboard_apps/PresenceTest.py +0 -0
  188. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/dashboard_apps/RGBTest.py +0 -0
  189. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/dashboard_apps/RoboArm.py +0 -0
  190. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/dashboard_apps/SED_test.py +0 -0
  191. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/dashboard_apps/SystemTest.py +0 -0
  192. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/dashboard_apps/Template_app.py +0 -0
  193. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/dashboard_apps/__init__.py +0 -0
  194. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/dashboard_apps/_capture.py +0 -0
  195. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/dashboard_apps/_micPlotting.py +0 -0
  196. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/dashboard_apps/_presencePlotting.py +0 -0
  197. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/dashboard_apps/uLightDemo.py +0 -0
  198. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/img_stream.html +0 -0
  199. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/index.html +0 -0
  200. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/lib/LocalMachine.py +0 -0
  201. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/lib/SafeInput.py +0 -0
  202. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/lib/SearchDevices.py +0 -0
  203. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/lib/SerialDriverHandler.py +0 -0
  204. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/lib/TerminalColors.py +0 -0
  205. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/lib/__init__.py +0 -0
  206. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/lib/file_extensions.py +0 -0
  207. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/lib/micrOSClient.py +0 -0
  208. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/lib/pip_package_installer.py +0 -0
  209. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/micrOSlint.py +0 -0
  210. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/LP_darwin.py +0 -0
  211. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/LP_darwin.cpython-312.pyc +0 -0
  212. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/LP_darwin.cpython-38.pyc +0 -0
  213. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/LP_darwin.cpython-39.pyc +0 -0
  214. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/dht.cpython-312.pyc +0 -0
  215. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/dht.cpython-39.pyc +0 -0
  216. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/dotstar.cpython-312.pyc +0 -0
  217. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/dotstar.cpython-38.pyc +0 -0
  218. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/dotstar.cpython-39.pyc +0 -0
  219. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-312.pyc +0 -0
  220. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-38.pyc +0 -0
  221. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-39.pyc +0 -0
  222. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/esp32.cpython-312.pyc +0 -0
  223. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/esp32.cpython-38.pyc +0 -0
  224. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/esp32.cpython-39.pyc +0 -0
  225. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/framebuf.cpython-312.pyc +0 -0
  226. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/framebuf.cpython-38.pyc +0 -0
  227. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/framebuf.cpython-39.pyc +0 -0
  228. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/machine.cpython-38.pyc +0 -0
  229. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/machine.cpython-39.pyc +0 -0
  230. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/micropython.cpython-312.pyc +0 -0
  231. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/micropython.cpython-38.pyc +0 -0
  232. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/micropython.cpython-39.pyc +0 -0
  233. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/neopixel.cpython-312.pyc +0 -0
  234. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/neopixel.cpython-38.pyc +0 -0
  235. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/neopixel.cpython-39.pyc +0 -0
  236. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/network.cpython-312.pyc +0 -0
  237. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/network.cpython-38.pyc +0 -0
  238. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/network.cpython-39.pyc +0 -0
  239. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/ntptime.cpython-312.pyc +0 -0
  240. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/onewire.cpython-312.pyc +0 -0
  241. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/onewire.cpython-38.pyc +0 -0
  242. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/onewire.cpython-39.pyc +0 -0
  243. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/sim_console.cpython-312.pyc +0 -0
  244. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/sim_console.cpython-38.pyc +0 -0
  245. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/sim_console.cpython-39.pyc +0 -0
  246. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/simgc.cpython-312.pyc +0 -0
  247. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/simgc.cpython-38.pyc +0 -0
  248. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/simgc.cpython-39.pyc +0 -0
  249. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/simulator.cpython-38.pyc +0 -0
  250. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/simulator.cpython-39.pyc +0 -0
  251. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/tinypico.cpython-312.pyc +0 -0
  252. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/tinypico.cpython-38.pyc +0 -0
  253. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/tinypico.cpython-39.pyc +0 -0
  254. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-312.pyc +0 -0
  255. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-38.pyc +0 -0
  256. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-39.pyc +0 -0
  257. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/usocket.cpython-312.pyc +0 -0
  258. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/ussl.cpython-312.pyc +0 -0
  259. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/ustruct.cpython-312.pyc +0 -0
  260. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/ustruct.cpython-39.pyc +0 -0
  261. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/utime.cpython-312.pyc +0 -0
  262. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/utime.cpython-38.pyc +0 -0
  263. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/utime.cpython-39.pyc +0 -0
  264. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/webrepl.cpython-312.pyc +0 -0
  265. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/webrepl.cpython-38.pyc +0 -0
  266. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/__pycache__/webrepl.cpython-39.pyc +0 -0
  267. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/dht.py +0 -0
  268. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/dotstar.py +0 -0
  269. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/ds18x20.py +0 -0
  270. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/esp32.py +0 -0
  271. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/framebuf.py +0 -0
  272. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/micropython.py +0 -0
  273. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/neopixel.py +0 -0
  274. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/network.py +0 -0
  275. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/ntptime.py +0 -0
  276. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/onewire.py +0 -0
  277. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/sim_console.py +0 -0
  278. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/simgc.py +0 -0
  279. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/simulator.py +0 -0
  280. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/tinypico.py +0 -0
  281. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/uasyncio.py +0 -0
  282. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/usocket.py +0 -0
  283. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/ussl.py +0 -0
  284. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/ustruct.py +0 -0
  285. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/utime.py +0 -0
  286. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/simulator_lib/webrepl.py +0 -0
  287. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/socketClient.py +0 -0
  288. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/user_data/.include +0 -0
  289. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/user_data/webhooks/generic.py +0 -0
  290. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/user_data/webhooks/template.py +0 -0
  291. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/__init__.py +0 -0
  292. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/Hooks.mpy +0 -0
  293. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/IO_esp32.mpy +0 -0
  294. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/IO_esp32c3.mpy +0 -0
  295. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/IO_esp32s2.mpy +0 -0
  296. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/IO_esp32s3.mpy +0 -0
  297. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/IO_qtpy.mpy +0 -0
  298. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/IO_rp2.mpy +0 -0
  299. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/IO_tinypico.mpy +0 -0
  300. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/InterConnect.mpy +0 -0
  301. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/Interrupts.mpy +0 -0
  302. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_L298N_DCmotor.mpy +0 -0
  303. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_L9110_DCmotor.py +0 -0
  304. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_OV2640.mpy +0 -0
  305. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_VL53L0X.py +0 -0
  306. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_aht10.mpy +0 -0
  307. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_bme280.mpy +0 -0
  308. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_buzzer.mpy +0 -0
  309. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_catgame.py +0 -0
  310. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_cct.mpy +0 -0
  311. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_co2.mpy +0 -0
  312. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_dashboard_be.py +0 -0
  313. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_demo.py +0 -0
  314. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_dht11.mpy +0 -0
  315. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_dht22.mpy +0 -0
  316. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_dimmer.mpy +0 -0
  317. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_distance.py +0 -0
  318. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_ds18.mpy +0 -0
  319. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_esp32.py +0 -0
  320. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_gameOfLife.mpy +0 -0
  321. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_genIO.mpy +0 -0
  322. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_i2c.py +0 -0
  323. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_i2s_mic.mpy +0 -0
  324. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_intercon.mpy +0 -0
  325. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_ld2410.mpy +0 -0
  326. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_light_sensor.mpy +0 -0
  327. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_lmpacman.mpy +0 -0
  328. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_neoeffects.mpy +0 -0
  329. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_neopixel.mpy +0 -0
  330. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_oled.mpy +0 -0
  331. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_oled_sh1106.mpy +0 -0
  332. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_oled_ui.mpy +0 -0
  333. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_pet_feeder.py +0 -0
  334. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_ph_sensor.py +0 -0
  335. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_presence.mpy +0 -0
  336. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_rencoder.py +0 -0
  337. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_rest.mpy +0 -0
  338. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_rgb.mpy +0 -0
  339. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_rgbcct.mpy +0 -0
  340. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_robustness.py +0 -0
  341. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_rp2w.py +0 -0
  342. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_sdcard.py +0 -0
  343. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_servo.mpy +0 -0
  344. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_stepper.mpy +0 -0
  345. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_switch.mpy +0 -0
  346. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_telegram.mpy +0 -0
  347. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/LM_tinyrgb.mpy +0 -0
  348. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/Network.mpy +0 -0
  349. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/Notify.mpy +0 -0
  350. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/Scheduler.mpy +0 -0
  351. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/Server.mpy +0 -0
  352. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/Tasks.mpy +0 -0
  353. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/Time.mpy +0 -0
  354. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/_mpy.version +0 -0
  355. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/index.html +0 -0
  356. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/main.py +0 -0
  357. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/micrOSloader.mpy +0 -0
  358. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/microIO.mpy +0 -0
  359. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/reset.mpy +0 -0
  360. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/uapi.js +0 -0
  361. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/urequests.mpy +0 -0
  362. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/ustyle.css +0 -0
  363. {micrOSDevToolKit-2.4.0 → micrOSDevToolKit-2.5.0}/toolkit/workspace/precompiled/uwidgets.js +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: micrOSDevToolKit
3
- Version: 2.4.0
3
+ Version: 2.5.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
@@ -1012,6 +1012,8 @@ devToolKit.py --linter
1012
1012
 
1013
1013
  ### micrOS gateway - Linux service template
1014
1014
 
1015
+ > [BETA] service setup tool: `toolkit/helper_scripts/linux_service/make.bash`
1016
+
1015
1017
  - Prerequisite: install micrOS devtoolkit **PiP package**
1016
1018
 
1017
1019
  - Create service: [micrOS gateway service](https://domoticproject.com/creating-raspberry-pi-service/)
@@ -984,6 +984,8 @@ devToolKit.py --linter
984
984
 
985
985
  ### micrOS gateway - Linux service template
986
986
 
987
+ > [BETA] service setup tool: `toolkit/helper_scripts/linux_service/make.bash`
988
+
987
989
  - Prerequisite: install micrOS devtoolkit **PiP package**
988
990
 
989
991
  - Create service: [micrOS gateway service](https://domoticproject.com/creating-raspberry-pi-service/)
@@ -37,12 +37,12 @@
37
37
  2
38
38
  ],
39
39
  "Types.py": [
40
- 9.84,
40
+ 8.87,
41
41
  22
42
42
  ],
43
43
  "Logger.py": [
44
- 8.33,
45
- 3
44
+ 8.57,
45
+ 4
46
46
  ],
47
47
  "Common.py": [
48
48
  9.33,
@@ -53,7 +53,7 @@
53
53
  1
54
54
  ],
55
55
  "Debug.py": [
56
- 8.54,
56
+ 8.44,
57
57
  20
58
58
  ],
59
59
  "Network.py": [
@@ -69,23 +69,23 @@
69
69
  38
70
70
  ],
71
71
  "micrOS.py": [
72
- 9.3,
72
+ 9.29,
73
73
  1
74
74
  ],
75
75
  "Interrupts.py": [
76
76
  9.05,
77
- 2
77
+ 1
78
78
  ],
79
79
  "main.py": [
80
80
  8.89,
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": [
88
- 9.18,
88
+ 7.82,
89
89
  0
90
90
  ],
91
91
  "LM_stepper.py": [
@@ -101,7 +101,7 @@
101
101
  0
102
102
  ],
103
103
  "LM_system.py": [
104
- 7.69,
104
+ 7.62,
105
105
  3
106
106
  ],
107
107
  "LM_robustness.py": [
@@ -201,7 +201,7 @@
201
201
  0
202
202
  ],
203
203
  "LM_keychain.py": [
204
- 9.14,
204
+ 9.2,
205
205
  0
206
206
  ],
207
207
  "LM_dht11.py": [
@@ -283,11 +283,11 @@
283
283
  },
284
284
  "summary": {
285
285
  "core": [
286
- 3100,
286
+ 3101,
287
287
  21
288
288
  ],
289
289
  "load": [
290
- 6927,
290
+ 6930,
291
291
  49
292
292
  ],
293
293
  "core_dep": [
@@ -298,8 +298,8 @@
298
298
  true,
299
299
  7
300
300
  ],
301
- "core_score": 9.17,
302
- "load_score": 8.07,
303
- "version": "2.4.0-0"
301
+ "core_score": 9.14,
302
+ "load_score": 8.05,
303
+ "version": "2.4.0-2"
304
304
  }
305
305
  }
@@ -18,7 +18,7 @@ TELEGRAM = None
18
18
 
19
19
  def socket_stream(func):
20
20
  """
21
- [LM] Socket message streamer - adds msgobj to the decorated function arg list.
21
+ Decorator for Socket message stream - adds msgobj to the decorated function arg list.
22
22
  Use msgobj as print function: msgobj("hello")
23
23
  (SocketServer singleton class - reply all bug/feature)
24
24
  """
@@ -100,12 +100,11 @@ class SmartADC:
100
100
 
101
101
  def micro_task(tag, task=None):
102
102
  """
103
- [LM] Async task creation
104
- - Indirect interface
105
- tag:
103
+ [LM] Async task creation - user interface
104
+ :param tag:
106
105
  [1] tag=None: return task generator object
107
106
  [2] tag=taskID: return existing task object by tag
108
- task: coroutine to execute (built in overload protection and lcm)
107
+ :param task: coroutine to execute (with built-in overload protection and lcm)
109
108
  """
110
109
  # [0] Check dependencies
111
110
  if TaskBase is None or Manager is None:
@@ -149,7 +148,7 @@ def data_logger(f_name, data=None, limit=12, msgobj=None):
149
148
 
150
149
  def syslog(msg):
151
150
  """ Wrapper of errlog_add """
152
- return errlog_add(msg)
151
+ return errlog_add(f"[usr]{msg}")
153
152
 
154
153
 
155
154
  def notify(text):
@@ -164,12 +163,12 @@ def notify(text):
164
163
  from Notify import Telegram
165
164
  TELEGRAM = Telegram
166
165
  except Exception as e:
167
- print(f"Import ERROR, Notify.Telegram: {e}")
166
+ errlog_add(f"[ERR] Import Notify.Telegram: {e}")
168
167
  return False
169
168
  try:
170
169
  out = TELEGRAM().send_msg(text)
171
170
  except Exception as e:
172
- print(f"Notify ERROR: {e}")
171
+ errlog_add(f"[ERR] Notify: {e}")
173
172
  out = str(e)
174
173
  if out is not None and out == 'Sent':
175
174
  return True
@@ -178,12 +177,14 @@ def notify(text):
178
177
  def web_endpoint(endpoint, function):
179
178
  """
180
179
  Add test endpoint <localhost.local>/endpoint from Load Modules
181
- Simple function:
182
- image/jpeg | text/html | text/plain, <data>
183
- <data>: binary | string
184
- Stream function:
185
- multipart/x-mixed-replace | multipart/form-data, <data>
186
- <data>: {'callback':<func>, 'content-type': image/jpeg | audio/l16;*}
180
+ :param endpoint: simple string, name of the endpoint
181
+ :param function:
182
+ [1] Normal function return tuple (html_type, data):
183
+ image/jpeg | text/html | text/plain, <data>
184
+ <data>: binary | string
185
+ [2] Stream function return tuple (multipart_type, data):
186
+ multipart/x-mixed-replace | multipart/form-data, <data>
187
+ <data>: {'callback':<func>, 'content-type': image/jpeg | audio/l16;*}
187
188
  """
188
189
  WebCli.register(endpoint=endpoint, callback=function)
189
190
  return True
@@ -58,7 +58,7 @@ class Data:
58
58
  "irq4_trig": "n/a",
59
59
  "irq_prell_ms": 300,
60
60
  "boothook": "n/a",
61
- "aioqueue": 4,
61
+ "aioqueue": 5,
62
62
  "utc": +60,
63
63
  "boostmd": True,
64
64
  "guimeta": "...", # special "offloaded" key indicator
@@ -1,4 +1,3 @@
1
- from os import listdir, remove
2
1
  from machine import Pin
3
2
  try:
4
3
  from Logger import syslog
@@ -149,11 +148,3 @@ def errlog_add(data, console=True):
149
148
  def errlog_get(msgobj=None):
150
149
  # Return error number
151
150
  return -1 if syslog is None else syslog(msgobj=msgobj)
152
-
153
-
154
- def errlog_clean(msgobj=None):
155
- to_del = [file for file in listdir() if file.endswith('.log')]
156
- for _del in to_del:
157
- if msgobj is not None:
158
- msgobj(f" Delete: {_del}")
159
- remove(_del)
@@ -126,10 +126,9 @@ async def _main_page():
126
126
  return "Display show"
127
127
 
128
128
 
129
- async def _ui_task(period_ms):
130
- """
131
- Async display refresh task
132
- - main page (main mode) - auto sleep after 30 sec
129
+ async def _ui_task(period_ms, tts_ms):
130
+ """Async display refresh task
131
+ - main page (main mode)
133
132
  - screen saver (sleep mode)
134
133
  """
135
134
  # Auto init keychain module (if needed) - failsafe
@@ -138,7 +137,7 @@ async def _ui_task(period_ms):
138
137
  if not KC.INITED:
139
138
  return _v
140
139
 
141
- KC.DP_cnt_default = int(30_000 / period_ms) # After 30 sec go to sleep mode
140
+ KC.DP_cnt_default = int(tts_ms / period_ms) # After 30 sec go to sleep mode
142
141
  KC.DP_cnt = KC.DP_cnt_default # Set sleep counter
143
142
  fast_period = int(period_ms/3) # Calculate faster refresh period
144
143
  fast_period = fast_period if fast_period > 100 else 100
@@ -200,14 +199,16 @@ def load(width=64, height=32, bootmsg="micrOS"):
200
199
  return f"OLED INIT NOK: {e}"
201
200
 
202
201
 
203
- def display(period=1000):
202
+ def display(period=1000, tts=30):
204
203
  """
205
204
  Create kc._display task - refresh loop
206
205
  :param period: display refresh period in ms (min. 500ms)
206
+ :param tts: time to sleep (in seconds)
207
207
  """
208
208
  # [!] ASYNC TASK CREATION [1*] with async task callback + taskID (TAG) handling
209
209
  period_ms = 500 if period < 500 else period
210
- state = micro_task(tag="kc._display", task=_ui_task(period_ms=period_ms))
210
+ tts_ms = 5000 if tts < 5 else tts*1000
211
+ state = micro_task(tag="kc._display", task=_ui_task(period_ms, tts_ms))
211
212
  return "Starting" if state else "Already running"
212
213
 
213
214
 
@@ -280,7 +281,7 @@ def button():
280
281
  return neopixel_toggle()
281
282
  # Wake display
282
283
  KC.DP_main_page = True
283
- return f"Display mode: main view"
284
+ return "Display mode: main view"
284
285
 
285
286
 
286
287
  def lmdep():
@@ -310,7 +311,8 @@ def help(widgets=False):
310
311
  (widgets=True) list of widget json for UI generation
311
312
  """
312
313
  return ('load width=64 height=32 bootmsg="micrOS"',
313
- 'temperature', 'display period>=1000',
314
+ 'temperature',
315
+ 'display period>=1000 tts=30',
314
316
  'button',
315
317
  'display_toggle',
316
318
  'neopixel_toggle',
@@ -53,11 +53,11 @@ def load():
53
53
  return f'Init and Move to home X{x}, Y{y}'
54
54
 
55
55
 
56
- def control(x_new, y_new, speed_ms=None, smooth=True):
56
+ def control(x, y, speed_ms=None, smooth=True):
57
57
  """
58
58
  Control robot arm function
59
- :param x_new: new x position (40-115)
60
- :param y_new: new y position (40-115)
59
+ :param x: new x position (40-115)
60
+ :param y: new y position (40-115)
61
61
  :param speed_ms: speed - step wait in ms
62
62
  :param smooth: smooth transition, default True
63
63
  :return str: move verdict
@@ -77,11 +77,11 @@ def control(x_new, y_new, speed_ms=None, smooth=True):
77
77
  sleep_ms(step_ms)
78
78
 
79
79
  # Skip if new XY is the same as current
80
- if RoboArm.ACTUAL_XY[0] == x_new and RoboArm.ACTUAL_XY[1] == y_new:
81
- return f"Already on X:{x_new} Y:{y_new}"
80
+ if RoboArm.ACTUAL_XY[0] == x and RoboArm.ACTUAL_XY[1] == y:
81
+ return f"Already on X:{x} Y:{y}"
82
82
  # Check input parameter range
83
- if RoboArm.RANGE[0] > x_new > RoboArm.RANGE[1] or RoboArm.RANGE[0] > y_new > RoboArm.RANGE[1]:
84
- return f"X{x_new}/Y{y_new} out of range... range: {RoboArm.RANGE[0]}-{RoboArm.RANGE[1]}"
83
+ if RoboArm.RANGE[0] > x > RoboArm.RANGE[1] or RoboArm.RANGE[0] > y > RoboArm.RANGE[1]:
84
+ return f"X{x}/Y{y} out of range... range: {RoboArm.RANGE[0]}-{RoboArm.RANGE[1]}"
85
85
 
86
86
  # Set arm speed
87
87
  RoboArm.SPEED_MS = speed_ms if isinstance(speed_ms, int) else RoboArm.SPEED_MS
@@ -91,14 +91,14 @@ def control(x_new, y_new, speed_ms=None, smooth=True):
91
91
 
92
92
  if smooth:
93
93
  # Move roboarm to position
94
- __buttery(x_prev, y_prev, x_new, y_new)
95
- RoboArm.ACTUAL_XY = [x_new, y_new]
94
+ __buttery(x_prev, y_prev, x, y)
95
+ RoboArm.ACTUAL_XY = [x, y]
96
96
  else:
97
97
  # Fast move robaorm to position
98
- servo.sduty(x_new)
99
- servo.s2duty(y_new)
100
- RoboArm.ACTUAL_XY[0] = x_new
101
- RoboArm.ACTUAL_XY[1] = y_new
98
+ servo.sduty(x)
99
+ servo.s2duty(y)
100
+ RoboArm.ACTUAL_XY[0] = x
101
+ RoboArm.ACTUAL_XY[1] = y
102
102
  return 'Move X{}->{} Y{}->{}'.format(x_prev, RoboArm.ACTUAL_XY[0], y_prev, RoboArm.ACTUAL_XY[1])
103
103
 
104
104
 
@@ -291,7 +291,7 @@ def help(widgets=False):
291
291
  (widgets=False) list of functions implemented by this application
292
292
  (widgets=True) list of widget json for UI generation
293
293
  """
294
- return resolve(('control x=<40-115> y=<40-115> s=<ms delay> smooth=True',
294
+ return resolve(('JOYSTICK control x=<40-115> y=<40-115> speed_ms=5 smooth=True',
295
295
  'BUTTON boot_move speed_ms=10',
296
296
  'BUTTON standby y_pos=45',
297
297
  'BUTTON jiggle delta=3',
@@ -172,11 +172,12 @@ def alarms(clean=False, test=False, msgobj=None):
172
172
  :param test bool: create test alarms, set True
173
173
  :return dict: verdict
174
174
  """
175
- from Debug import errlog_get, errlog_add, errlog_clean
175
+ from Debug import errlog_get, errlog_add
176
+ from Logger import log_clean
176
177
  if test:
177
178
  errlog_add('[ERR] TeSt ErRoR')
178
179
  if clean:
179
- errlog_clean(msgobj=msgobj)
180
+ log_clean(msgobj=msgobj)
180
181
  errcnt = errlog_get(msgobj=msgobj)
181
182
  return {'NOK alarm': errcnt} if errcnt > 0 else {'OK alarm': errcnt}
182
183
 
@@ -1,4 +1,5 @@
1
1
  from time import localtime
2
+ from os import listdir, remove
2
3
 
3
4
  #############################################
4
5
  # LOGGING WITH DATA ROTATION #
@@ -77,3 +78,11 @@ def syslog(data=None, msgobj=None):
77
78
  if data is None:
78
79
  return log_get('err.log', msgobj)
79
80
  return logger(data, 'err.log', limit=6)
81
+
82
+
83
+ def log_clean(msgobj=None):
84
+ to_del = [file for file in listdir() if file.endswith('.log')]
85
+ for _del in to_del:
86
+ if msgobj is not None:
87
+ msgobj(f" Delete: {_del}")
88
+ remove(_del)
@@ -24,7 +24,7 @@ from Debug import errlog_add
24
24
  #################################################################
25
25
 
26
26
  class Shell:
27
- MICROS_VERSION = '2.4.0-0'
27
+ MICROS_VERSION = '2.5.0-0'
28
28
 
29
29
  def __init__(self):
30
30
  """
@@ -571,7 +571,7 @@ def lm_is_loaded(lm_name):
571
571
 
572
572
  def exec_lm_core_schedule(arg_list):
573
573
  """
574
- Wrapper for lm_exec for Scheduler
574
+ Wrapper for lm_exec
575
575
  - micropython scheduling
576
576
  - exec protection for cron IRQ
577
577
  """
@@ -25,11 +25,12 @@ __RANGE_255 = {'range': (0, 255, 2)}
25
25
  __OPTIONS = {'options': ("None",)}
26
26
 
27
27
  # Widget Types
28
- BUTTON = __TEMPLATE | {'type': 'button'} | __OPTIONS
29
- SLIDER = __TEMPLATE | {'type': 'slider'} | __RANGE_100
30
- TEXTBOX = __TEMPLATE | {'type': 'textbox', 'refresh': 10000}
31
- COLOR = __TEMPLATE | {'type': 'color'} | __RANGE_255
32
- WHITE = __TEMPLATE | {'type': 'white'} | __RANGE_255
28
+ BUTTON = lambda: __TEMPLATE | {'type': 'button'} | __OPTIONS
29
+ SLIDER = lambda: __TEMPLATE | {'type': 'slider'} | __RANGE_100
30
+ TEXTBOX = lambda: __TEMPLATE | {'type': 'textbox', 'refresh': 10000}
31
+ COLOR = lambda: __TEMPLATE | {'type': 'color'} | __RANGE_255
32
+ WHITE = lambda: __TEMPLATE | {'type': 'white'} | __RANGE_255
33
+ JOYSTICK = lambda: __TEMPLATE | {'type': 'joystick'} | __RANGE_100
33
34
 
34
35
 
35
36
  ########################################################
@@ -81,7 +82,7 @@ def resolve(help_data, widgets=False):
81
82
  for msg in help_data:
82
83
  tag = msg.split()[0].strip()
83
84
  if tag.isupper():
84
- resolved_tag = globals().get(tag, tag)
85
+ resolved_tag = globals().get(tag, tag)()
85
86
  if widgets and isinstance(resolved_tag, dict):
86
87
  try:
87
88
  help_msg.append(_generate(resolved_tag, msg))
@@ -33,6 +33,7 @@
33
33
  </style>
34
34
  <script src="uapi.js" defer></script>
35
35
  <script src="uwidgets.js" defer></script>
36
+ <script src="uwidgets_pro.js" defer></script>
36
37
  <script src="udashboard.js" defer></script>
37
38
  </head>
38
39
  <body>
@@ -12,8 +12,7 @@ from Tasks import Manager
12
12
  from Hooks import bootup, profiling_info
13
13
  from Network import auto_nw_config
14
14
  from Server import SocketServer
15
- from Interrupts import enableInterrupt, enableCron
16
- from Interrupts import initEventIRQs
15
+ from Interrupts import enableInterrupt, enableCron, initEventIRQs
17
16
  from Debug import errlog_add
18
17
 
19
18
 
@@ -39,6 +39,9 @@ function generateElement(type, data, options={}) {
39
39
  } else if (type === 'color') {
40
40
  // Create color palette widget
41
41
  colorPaletteWidget(container, data, options)
42
+ } else if (type === 'joystick') {
43
+ // Create joystick widget
44
+ joystickWidget(container, data, options)
42
45
  } else {
43
46
  // Create other elements
44
47
  const paragraph = document.createElement('p');
@@ -71,7 +74,8 @@ function craftModuleWidgets(module, widgets) {
71
74
  button: item => ({title_len: autoTitleLen(widgets, item.lm_call), options: item.options }),
72
75
  slider: item => ({title_len: autoTitleLen(widgets, item.lm_call), range: item.range }),
73
76
  color: item => ({title_len: autoTitleLen(widgets, item.lm_call), range: item.range }),
74
- textbox: item => ({title_len: autoTitleLen(widgets, item.lm_call), refresh: item.refresh })
77
+ textbox: item => ({title_len: autoTitleLen(widgets, item.lm_call), refresh: item.refresh }),
78
+ joystick: item => ({title_len: autoTitleLen(widgets, item.lm_call), range: item.range })
75
79
  };
76
80
 
77
81
  widgets.forEach(item => {
@@ -0,0 +1,99 @@
1
+ // PRO WIDGETS ELEMENTS
2
+
3
+ function joystickWidget(container, command, params={}) {
4
+ const { title_len = 1, range = [0, 100, 5] } = params;
5
+ const [min, max, step] = range;
6
+ const paragraph = document.createElement('p');
7
+ const joystickContainer = document.createElement('div');
8
+ const joystick = document.createElement('div');
9
+ const valueDisplay = document.createElement('span');
10
+
11
+ paragraph.style.textIndent = widget_indent;
12
+ paragraph.textContent = createTitle(command, title_len);
13
+
14
+ joystickContainer.style.position = 'relative';
15
+ joystickContainer.style.width = '200px';
16
+ joystickContainer.style.height = '200px';
17
+ joystickContainer.style.border = '1px solid #fff';
18
+ joystickContainer.style.marginLeft = widget_indent;
19
+ joystickContainer.style.backgroundColor = 'transparent';
20
+
21
+ joystick.style.position = 'absolute';
22
+ joystick.style.width = '30px';
23
+ joystick.style.height = '30px';
24
+ joystick.style.background = '#fff';
25
+ joystick.style.borderRadius = '50%';
26
+ joystick.style.left = '50%';
27
+ joystick.style.top = '50%';
28
+ joystick.style.transform = 'translate(-50%, -50%)';
29
+ joystick.style.cursor = 'pointer';
30
+
31
+ valueDisplay.style.textIndent = widget_indent;
32
+ valueDisplay.style.display = 'block';
33
+
34
+ let isDragging = false;
35
+
36
+ const updateValueDisplay = (x, y) => {
37
+ valueDisplay.textContent = `x: ${x}, y: ${y}`;
38
+ };
39
+
40
+ const constrain = (value, min, max) => {
41
+ if (value < min) return min;
42
+ if (value > max) return max;
43
+ return value;
44
+ };
45
+
46
+ const startDragging = (event) => {
47
+ isDragging = true;
48
+ event.preventDefault();
49
+ };
50
+
51
+ const stopDragging = () => {
52
+ if (isDragging) {
53
+ const rect = joystickContainer.getBoundingClientRect();
54
+ const x = Math.round((parseFloat(joystick.style.left) / rect.width) * (max - min) + min);
55
+ const y = Math.round((parseFloat(joystick.style.top) / rect.height) * (max - min) + min);
56
+
57
+ const call_cmd = command.includes('x=:range:') && command.includes('y=:range:') ?
58
+ command.replace('x=:range:', `x=${x}`).replace('y=:range:', `y=${y}`) :
59
+ `${command}`;
60
+
61
+ console.log(`[API] Joystick exec: ${call_cmd}`);
62
+ restAPI(call_cmd);
63
+ }
64
+ isDragging = false;
65
+ };
66
+
67
+ const drag = (event) => {
68
+ if (isDragging) {
69
+ const rect = joystickContainer.getBoundingClientRect();
70
+ const offsetX = event.touches ? event.touches[0].clientX - rect.left : event.clientX - rect.left;
71
+ const offsetY = event.touches ? event.touches[0].clientY - rect.top : event.clientY - rect.top;
72
+ const x = constrain(offsetX, 0, rect.width);
73
+ const y = constrain(offsetY, 0, rect.height);
74
+
75
+ joystick.style.left = `${x}px`;
76
+ joystick.style.top = `${y}px`;
77
+
78
+ const xValue = Math.round((x / rect.width) * (max - min) + min);
79
+ const yValue = Math.round((y / rect.height) * (max - min) + min);
80
+ updateValueDisplay(xValue, yValue);
81
+ }
82
+ };
83
+
84
+ joystick.addEventListener('mousedown', startDragging);
85
+ joystick.addEventListener('touchstart', startDragging);
86
+
87
+ document.addEventListener('mouseup', stopDragging);
88
+ document.addEventListener('touchend', stopDragging);
89
+
90
+ document.addEventListener('mousemove', drag);
91
+ document.addEventListener('touchmove', drag);
92
+
93
+ joystickContainer.appendChild(joystick);
94
+ containerAppendChild([paragraph, joystickContainer, valueDisplay], container);
95
+ updateValueDisplay((max - min) / 2, (max - min) / 2);
96
+ }
97
+
98
+
99
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: micrOSDevToolKit
3
- Version: 2.4.0
3
+ Version: 2.5.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
@@ -1012,6 +1012,8 @@ devToolKit.py --linter
1012
1012
 
1013
1013
  ### micrOS gateway - Linux service template
1014
1014
 
1015
+ > [BETA] service setup tool: `toolkit/helper_scripts/linux_service/make.bash`
1016
+
1015
1017
  - Prerequisite: install micrOS devtoolkit **PiP package**
1016
1018
 
1017
1019
  - Create service: [micrOS gateway service](https://domoticproject.com/creating-raspberry-pi-service/)
@@ -28,16 +28,17 @@ media/usb_port_icon.png
28
28
  media/wifi_icon.png
29
29
  micrOS/__init__.py
30
30
  micrOS/micropython/esp32-20231005-v1.21.0.bin
31
- micrOS/micropython/esp32c3-GENERIC-20240105-v1.22.1.bin
31
+ micrOS/micropython/esp32-GENERIC-20240602-v1.23.0.bin
32
32
  micrOS/micropython/esp32c3-GENERIC-20240222-v1.22.2.bin
33
33
  micrOS/micropython/esp32cam-v1.21.0_camera.bin
34
- micrOS/micropython/esp32s2-GENERIC-20240105-v1.22.1.bin
34
+ micrOS/micropython/esp32s2-GENERIC-20240602-v1.23.0.bin
35
35
  micrOS/micropython/esp32s2-LOLIN_MINI-20220618-v1.19.1.bin
36
+ micrOS/micropython/esp32s2-LOLIN_MINI-20240602-v1.23.0.bin
36
37
  micrOS/micropython/esp32s3-GENERIC-20240105-v1.22.1.bin
37
38
  micrOS/micropython/esp32s3_spiram_oct-20231005-v1.21.0.bin
38
- micrOS/micropython/rpi-pico-w-20231005-v1.21.0.uf2
39
+ micrOS/micropython/rpi-pico-w-20240602-v1.23.0.uf2
39
40
  micrOS/micropython/tinypico-20231005-v1.21.0.bin
40
- micrOS/micropython/tinypico-usbc-UM-20240105-v1.22.1.bin
41
+ micrOS/micropython/tinypico_usbc-UM-20240105-v1.22.1.bin
41
42
  micrOS/release_info/micrOS_ReleaseInfo/system_analysis_sum.json
42
43
  micrOS/source/.DS_Store
43
44
  micrOS/source/Common.py
@@ -123,6 +124,7 @@ micrOS/source/udashboard.js
123
124
  micrOS/source/urequests.py
124
125
  micrOS/source/ustyle.css
125
126
  micrOS/source/uwidgets.js
127
+ micrOS/source/uwidgets_pro.js
126
128
  micrOSDevToolKit.egg-info/PKG-INFO
127
129
  micrOSDevToolKit.egg-info/SOURCES.txt
128
130
  micrOSDevToolKit.egg-info/dependency_links.txt
@@ -171,7 +173,9 @@ toolkit/lib/__init__.py
171
173
  toolkit/lib/file_extensions.py
172
174
  toolkit/lib/micrOSClient.py
173
175
  toolkit/lib/pip_package_installer.py
176
+ toolkit/simulator_lib/.DS_Store
174
177
  toolkit/simulator_lib/LP_darwin.py
178
+ toolkit/simulator_lib/camera.py
175
179
  toolkit/simulator_lib/dht.py
176
180
  toolkit/simulator_lib/dotstar.py
177
181
  toolkit/simulator_lib/ds18x20.py
@@ -193,10 +197,13 @@ toolkit/simulator_lib/usocket.py
193
197
  toolkit/simulator_lib/ussl.py
194
198
  toolkit/simulator_lib/ustruct.py
195
199
  toolkit/simulator_lib/utime.py
200
+ toolkit/simulator_lib/view01.jpg
201
+ toolkit/simulator_lib/view02.jpg
196
202
  toolkit/simulator_lib/webrepl.py
197
203
  toolkit/simulator_lib/__pycache__/LP_darwin.cpython-312.pyc
198
204
  toolkit/simulator_lib/__pycache__/LP_darwin.cpython-38.pyc
199
205
  toolkit/simulator_lib/__pycache__/LP_darwin.cpython-39.pyc
206
+ toolkit/simulator_lib/__pycache__/camera.cpython-312.pyc
200
207
  toolkit/simulator_lib/__pycache__/dht.cpython-312.pyc
201
208
  toolkit/simulator_lib/__pycache__/dht.cpython-39.pyc
202
209
  toolkit/simulator_lib/__pycache__/dotstar.cpython-312.pyc
@@ -340,4 +347,5 @@ toolkit/workspace/precompiled/uapi.js
340
347
  toolkit/workspace/precompiled/udashboard.js
341
348
  toolkit/workspace/precompiled/urequests.mpy
342
349
  toolkit/workspace/precompiled/ustyle.css
343
- toolkit/workspace/precompiled/uwidgets.js
350
+ toolkit/workspace/precompiled/uwidgets.js
351
+ toolkit/workspace/precompiled/uwidgets_pro.js
@@ -18,7 +18,7 @@ dependencies = ['adafruit-ampy', 'mpremote', 'esptool', 'ipaddress', 'netaddr',
18
18
 
19
19
  setuptools.setup(
20
20
  name='micrOSDevToolKit',
21
- version='2.4.0',
21
+ version='2.5.0',
22
22
  author='Marcell Ban',
23
23
  author_email='miros.framework@gmail.com',
24
24
  description='Development and deployment environment for micrOS, the diy micropython automation OS (IoT)',