micrOSDevToolKit 2.9.6__tar.gz → 2.9.8__tar.gz

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

Potentially problematic release.


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

Files changed (382) hide show
  1. {microsdevtoolkit-2.9.6/micrOSDevToolKit.egg-info → microsdevtoolkit-2.9.8}/PKG-INFO +1 -1
  2. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/release_info/micrOS_ReleaseInfo/system_analysis_sum.json +11 -11
  3. microsdevtoolkit-2.9.8/micrOS/source/Espnow.py +160 -0
  4. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_L298N_DCmotor.py +4 -4
  5. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_L9110_DCmotor.py +3 -3
  6. {microsdevtoolkit-2.9.6/toolkit/workspace/precompiled → microsdevtoolkit-2.9.8/micrOS/source}/LM_VL53L0X.py +2 -2
  7. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_aht10.py +2 -2
  8. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_bme280.py +2 -2
  9. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_buzzer.py +12 -15
  10. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_cct.py +10 -13
  11. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_co2.py +3 -3
  12. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_dht11.py +2 -2
  13. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_dht22.py +2 -2
  14. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_dimmer.py +2 -2
  15. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_distance.py +3 -3
  16. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_ds18.py +2 -2
  17. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_genIO.py +52 -37
  18. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_haptic.py +2 -2
  19. {microsdevtoolkit-2.9.6/toolkit/workspace/precompiled → microsdevtoolkit-2.9.8/micrOS/source}/LM_i2c.py +2 -2
  20. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_i2s_mic.py +5 -5
  21. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_keychain.py +2 -2
  22. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_ld2410.py +2 -2
  23. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_light_sensor.py +2 -2
  24. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_neopixel.py +9 -12
  25. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_oled.py +2 -2
  26. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_oled_sh1106.py +3 -3
  27. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_oled_ui.py +2 -2
  28. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_ph_sensor.py +3 -3
  29. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_presence.py +2 -2
  30. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_rencoder.py +2 -2
  31. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_rgb.py +15 -22
  32. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_servo.py +3 -3
  33. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_stepper.py +5 -5
  34. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_switch.py +5 -5
  35. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_trackball.py +3 -3
  36. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_veml7700.py +2 -2
  37. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/Shell.py +1 -1
  38. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/microIO.py +27 -9
  39. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8/micrOSDevToolKit.egg-info}/PKG-INFO +1 -1
  40. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOSDevToolKit.egg-info/SOURCES.txt +1 -2
  41. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/setup.py +1 -1
  42. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/LM_to_compile.dat +1 -1
  43. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/dashboard_apps/SystemTest.py +1 -1
  44. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/dashboard_apps/uLightDemo.py +1 -1
  45. microsdevtoolkit-2.9.8/toolkit/workspace/precompiled/Espnow.mpy +0 -0
  46. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_L298N_DCmotor.mpy +0 -0
  47. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_L9110_DCmotor.py +3 -3
  48. {microsdevtoolkit-2.9.6/micrOS/source → microsdevtoolkit-2.9.8/toolkit/workspace/precompiled}/LM_VL53L0X.py +2 -2
  49. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_aht10.mpy +0 -0
  50. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_bme280.mpy +0 -0
  51. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_buzzer.mpy +0 -0
  52. microsdevtoolkit-2.9.8/toolkit/workspace/precompiled/LM_cct.mpy +0 -0
  53. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_co2.mpy +0 -0
  54. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_dht11.mpy +0 -0
  55. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_dht22.mpy +0 -0
  56. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_dimmer.mpy +0 -0
  57. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_distance.mpy +0 -0
  58. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_ds18.mpy +0 -0
  59. microsdevtoolkit-2.9.8/toolkit/workspace/precompiled/LM_genIO.mpy +0 -0
  60. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_haptic.mpy +0 -0
  61. {microsdevtoolkit-2.9.6/micrOS/source → microsdevtoolkit-2.9.8/toolkit/workspace/precompiled}/LM_i2c.py +2 -2
  62. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_i2s_mic.mpy +0 -0
  63. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_keychain.mpy +0 -0
  64. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_ld2410.mpy +0 -0
  65. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_light_sensor.mpy +0 -0
  66. microsdevtoolkit-2.9.8/toolkit/workspace/precompiled/LM_neopixel.mpy +0 -0
  67. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_oled.mpy +0 -0
  68. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_oled_sh1106.mpy +0 -0
  69. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_oled_ui.mpy +0 -0
  70. microsdevtoolkit-2.9.8/toolkit/workspace/precompiled/LM_pacman.mpy +0 -0
  71. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_ph_sensor.py +3 -3
  72. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_presence.mpy +0 -0
  73. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_rencoder.py +2 -2
  74. microsdevtoolkit-2.9.8/toolkit/workspace/precompiled/LM_rgb.mpy +0 -0
  75. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_servo.mpy +0 -0
  76. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_stepper.mpy +0 -0
  77. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_switch.mpy +0 -0
  78. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_trackball.mpy +0 -0
  79. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_veml7700.mpy +0 -0
  80. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/Shell.mpy +0 -0
  81. microsdevtoolkit-2.9.8/toolkit/workspace/precompiled/microIO.mpy +0 -0
  82. microsdevtoolkit-2.9.6/micrOS/source/Espnow.py +0 -127
  83. microsdevtoolkit-2.9.6/toolkit/workspace/precompiled/Espnow.mpy +0 -0
  84. microsdevtoolkit-2.9.6/toolkit/workspace/precompiled/LM_cct.mpy +0 -0
  85. microsdevtoolkit-2.9.6/toolkit/workspace/precompiled/LM_genIO.mpy +0 -0
  86. microsdevtoolkit-2.9.6/toolkit/workspace/precompiled/LM_neopixel.mpy +0 -0
  87. microsdevtoolkit-2.9.6/toolkit/workspace/precompiled/LM_pacman.py +0 -248
  88. microsdevtoolkit-2.9.6/toolkit/workspace/precompiled/LM_rgb.mpy +0 -0
  89. microsdevtoolkit-2.9.6/toolkit/workspace/precompiled/microIO.mpy +0 -0
  90. microsdevtoolkit-2.9.6/toolkit/workspace/precompiled/node_config.json +0 -1
  91. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/LICENSE +0 -0
  92. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/MANIFEST.in +0 -0
  93. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/README.md +0 -0
  94. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/devToolKit.py +0 -0
  95. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/env/__init__.py +0 -0
  96. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/env/driver_cp210x/.DS_Store +0 -0
  97. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x64.exe +0 -0
  98. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x86.exe +0 -0
  99. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210x_Universal_Windows_Driver_ReleaseNotes.txt +0 -0
  100. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/env/driver_cp210x/CP210x_Universal_Windows_Driver/SLAB_License_Agreement_VCP_Windows.txt +0 -0
  101. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm/silabser.sys +0 -0
  102. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm64/silabser.sys +0 -0
  103. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/env/driver_cp210x/CP210x_Universal_Windows_Driver/dpinst.xml +0 -0
  104. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.cat +0 -0
  105. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.inf +0 -0
  106. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x64/silabser.sys +0 -0
  107. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x86/silabser.sys +0 -0
  108. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/env/driver_cp210x/macOS_VCP_Driver/SiLabsUSBDriverDisk.dmg +0 -0
  109. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/env/driver_cp210x/macOS_VCP_Driver/macOS_VCP_Driver_Release_Notes.txt +0 -0
  110. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/media/__init__.py +0 -0
  111. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/media/dnd.png +0 -0
  112. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/media/logo.png +0 -0
  113. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/media/logo_mini.png +0 -0
  114. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/media/usb_port_icon.png +0 -0
  115. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/media/wifi_icon.png +0 -0
  116. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/__init__.py +0 -0
  117. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/micropython/esp32-20241129-v1.24.1.bin +0 -0
  118. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/micropython/esp32c3-20240222-v1.22.2.bin +0 -0
  119. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/micropython/esp32cam-v1.21.0_camera.bin +0 -0
  120. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/micropython/esp32s2-20240602-v1.23.0.bin +0 -0
  121. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/micropython/esp32s2-LOLIN_MINI-20220618-v1.19.1.bin +0 -0
  122. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/micropython/esp32s2-LOLIN_MINI-20240602-v1.23.0.bin +0 -0
  123. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/micropython/esp32s3-20240105-v1.22.1.bin +0 -0
  124. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/micropython/esp32s3-20241129-v1.24.1.bin +0 -0
  125. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/micropython/esp32s3_spiram_oct-20231005-v1.21.0.bin +0 -0
  126. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/micropython/esp32s3_spiram_oct-20241129-v1.24.1.bin +0 -0
  127. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/micropython/rpi-pico-w-20241129-v1.24.1.uf2 +0 -0
  128. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/micropython/tinypico-20241129-v1.24.1.bin +0 -0
  129. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/.DS_Store +0 -0
  130. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/Common.py +0 -0
  131. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/Config.py +0 -0
  132. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/Debug.py +0 -0
  133. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/Hooks.py +0 -0
  134. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/IO_esp32.py +0 -0
  135. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/IO_esp32c3.py +0 -0
  136. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/IO_esp32s2.py +0 -0
  137. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/IO_esp32s3.py +0 -0
  138. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/IO_m5stamp.py +0 -0
  139. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/IO_qtpy.py +0 -0
  140. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/IO_rp2.py +0 -0
  141. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/IO_tinypico.py +0 -0
  142. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/InterConnect.py +0 -0
  143. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/Interrupts.py +0 -0
  144. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_OV2640.py +0 -0
  145. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_catgame.py +0 -0
  146. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_dashboard_be.py +0 -0
  147. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_demo.py +0 -0
  148. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_esp32.py +0 -0
  149. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_espnow.py +0 -0
  150. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_gameOfLife.py +0 -0
  151. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_intercon.py +0 -0
  152. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_neoeffects.py +0 -0
  153. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_oledui.py +0 -0
  154. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_pacman.py +0 -0
  155. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_pet_feeder.py +0 -0
  156. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_rest.py +0 -0
  157. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_rgbcct.py +0 -0
  158. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_roboarm.py +0 -0
  159. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_robustness.py +0 -0
  160. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_rp2w.py +0 -0
  161. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_sdcard.py +0 -0
  162. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_sound_event.py +0 -0
  163. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_system.py +0 -0
  164. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_telegram.py +0 -0
  165. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/LM_tinyrgb.py +0 -0
  166. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/Logger.py +0 -0
  167. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/Network.py +0 -0
  168. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/Notify.py +0 -0
  169. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/Scheduler.py +0 -0
  170. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/Server.py +0 -0
  171. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/Tasks.py +0 -0
  172. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/Time.py +0 -0
  173. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/Types.py +0 -0
  174. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/Web.py +0 -0
  175. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/dashboard.html +0 -0
  176. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/index.html +0 -0
  177. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/main.py +0 -0
  178. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/micrOS.py +0 -0
  179. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/micrOSloader.py +0 -0
  180. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/reset.py +0 -0
  181. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/uapi.js +0 -0
  182. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/udashboard.js +0 -0
  183. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/urequests.py +0 -0
  184. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/ustyle.css +0 -0
  185. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/uwidgets.js +0 -0
  186. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOS/source/uwidgets_pro.js +0 -0
  187. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOSDevToolKit.egg-info/dependency_links.txt +0 -0
  188. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOSDevToolKit.egg-info/requires.txt +0 -0
  189. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/micrOSDevToolKit.egg-info/top_level.txt +0 -0
  190. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/setup.cfg +0 -0
  191. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/DevEnvCompile.py +0 -0
  192. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/DevEnvOTA.py +0 -0
  193. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/DevEnvUSB.py +0 -0
  194. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/Gateway.py +0 -0
  195. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/MicrOSDevEnv.py +0 -0
  196. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/__init__.py +0 -0
  197. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/dashboard_apps/AirQualityBME280.py +0 -0
  198. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/dashboard_apps/AirQualityDHT22_CO2.py +0 -0
  199. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/dashboard_apps/BackupRestore.py +0 -0
  200. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/dashboard_apps/CCTDemo.py +0 -0
  201. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/dashboard_apps/CCTTest.py +0 -0
  202. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/dashboard_apps/CamStream.py +0 -0
  203. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/dashboard_apps/CatGame.py +0 -0
  204. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/dashboard_apps/Dimmer.py +0 -0
  205. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/dashboard_apps/GetVersion.py +0 -0
  206. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/dashboard_apps/MicrophoneTest.py +0 -0
  207. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/dashboard_apps/NeoEffectsDemo.py +0 -0
  208. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/dashboard_apps/NeopixelTest.py +0 -0
  209. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/dashboard_apps/PresenceTest.py +0 -0
  210. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/dashboard_apps/RGBTest.py +0 -0
  211. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/dashboard_apps/RoboArm.py +0 -0
  212. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/dashboard_apps/SED_test.py +0 -0
  213. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/dashboard_apps/Template_app.py +0 -0
  214. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/dashboard_apps/__init__.py +0 -0
  215. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/dashboard_apps/_capture.py +0 -0
  216. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/dashboard_apps/_micPlotting.py +0 -0
  217. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/dashboard_apps/_presencePlotting.py +0 -0
  218. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/img_stream.html +0 -0
  219. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/index.html +0 -0
  220. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/lib/LocalMachine.py +0 -0
  221. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/lib/SafeInput.py +0 -0
  222. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/lib/SearchDevices.py +0 -0
  223. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/lib/SerialDriverHandler.py +0 -0
  224. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/lib/TerminalColors.py +0 -0
  225. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/lib/__init__.py +0 -0
  226. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/lib/file_extensions.py +0 -0
  227. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/lib/macroScript.py +0 -0
  228. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/lib/micrOSClient.py +0 -0
  229. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/lib/micrOSClientHistory.py +0 -0
  230. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/lib/pip_package_installer.py +0 -0
  231. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/micrOSdashboard.py +0 -0
  232. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/micrOSlint.py +0 -0
  233. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/.DS_Store +0 -0
  234. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/IO_darwin.py +0 -0
  235. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/IO_darwin.cpython-312.pyc +0 -0
  236. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/camera.cpython-312.pyc +0 -0
  237. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/dht.cpython-312.pyc +0 -0
  238. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/dht.cpython-39.pyc +0 -0
  239. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/dotstar.cpython-312.pyc +0 -0
  240. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/dotstar.cpython-38.pyc +0 -0
  241. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/dotstar.cpython-39.pyc +0 -0
  242. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-312.pyc +0 -0
  243. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-38.pyc +0 -0
  244. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-39.pyc +0 -0
  245. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/esp32.cpython-312.pyc +0 -0
  246. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/esp32.cpython-38.pyc +0 -0
  247. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/esp32.cpython-39.pyc +0 -0
  248. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/framebuf.cpython-312.pyc +0 -0
  249. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/framebuf.cpython-38.pyc +0 -0
  250. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/framebuf.cpython-39.pyc +0 -0
  251. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/machine.cpython-312.pyc +0 -0
  252. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/machine.cpython-38.pyc +0 -0
  253. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/machine.cpython-39.pyc +0 -0
  254. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/micropython.cpython-312.pyc +0 -0
  255. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/micropython.cpython-38.pyc +0 -0
  256. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/micropython.cpython-39.pyc +0 -0
  257. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/neopixel.cpython-312.pyc +0 -0
  258. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/neopixel.cpython-38.pyc +0 -0
  259. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/neopixel.cpython-39.pyc +0 -0
  260. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/network.cpython-312.pyc +0 -0
  261. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/network.cpython-38.pyc +0 -0
  262. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/network.cpython-39.pyc +0 -0
  263. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/ntptime.cpython-312.pyc +0 -0
  264. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/onewire.cpython-312.pyc +0 -0
  265. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/onewire.cpython-38.pyc +0 -0
  266. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/onewire.cpython-39.pyc +0 -0
  267. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/sim_console.cpython-312.pyc +0 -0
  268. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/sim_console.cpython-38.pyc +0 -0
  269. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/sim_console.cpython-39.pyc +0 -0
  270. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/simgc.cpython-312.pyc +0 -0
  271. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/simgc.cpython-38.pyc +0 -0
  272. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/simgc.cpython-39.pyc +0 -0
  273. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/simulator.cpython-312.pyc +0 -0
  274. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/simulator.cpython-38.pyc +0 -0
  275. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/simulator.cpython-39.pyc +0 -0
  276. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/tinypico.cpython-312.pyc +0 -0
  277. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/tinypico.cpython-38.pyc +0 -0
  278. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/tinypico.cpython-39.pyc +0 -0
  279. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-312.pyc +0 -0
  280. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-38.pyc +0 -0
  281. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-39.pyc +0 -0
  282. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/uos.cpython-312.pyc +0 -0
  283. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/usocket.cpython-312.pyc +0 -0
  284. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/ussl.cpython-312.pyc +0 -0
  285. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/ustruct.cpython-312.pyc +0 -0
  286. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/ustruct.cpython-39.pyc +0 -0
  287. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/utime.cpython-312.pyc +0 -0
  288. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/utime.cpython-38.pyc +0 -0
  289. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/utime.cpython-39.pyc +0 -0
  290. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/webrepl.cpython-312.pyc +0 -0
  291. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/webrepl.cpython-38.pyc +0 -0
  292. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/__pycache__/webrepl.cpython-39.pyc +0 -0
  293. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/camera.py +0 -0
  294. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/dht.py +0 -0
  295. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/dotstar.py +0 -0
  296. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/ds18x20.py +0 -0
  297. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/esp32.py +0 -0
  298. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/framebuf.py +0 -0
  299. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/machine.py +0 -0
  300. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/micropython.py +0 -0
  301. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/neopixel.py +0 -0
  302. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/network.py +0 -0
  303. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/node_config.json +0 -0
  304. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/ntptime.py +0 -0
  305. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/onewire.py +0 -0
  306. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/sim_console.py +0 -0
  307. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/simgc.py +0 -0
  308. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/simulator.py +0 -0
  309. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/tinypico.py +0 -0
  310. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/uasyncio.py +0 -0
  311. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/uos.py +0 -0
  312. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/usocket.py +0 -0
  313. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/ussl.py +0 -0
  314. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/ustruct.py +0 -0
  315. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/utime.py +0 -0
  316. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/view01.jpg +0 -0
  317. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/view02.jpg +0 -0
  318. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/simulator_lib/webrepl.py +0 -0
  319. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/socketClient.py +0 -0
  320. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/user_data/.include +0 -0
  321. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/user_data/webhooks/generic.py +0 -0
  322. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/user_data/webhooks/macro.py +0 -0
  323. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/user_data/webhooks/template.macro +0 -0
  324. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/user_data/webhooks/template.py +0 -0
  325. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/__init__.py +0 -0
  326. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/Common.mpy +0 -0
  327. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/Config.mpy +0 -0
  328. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/Debug.mpy +0 -0
  329. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/Hooks.mpy +0 -0
  330. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/IO_esp32.mpy +0 -0
  331. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/IO_esp32c3.mpy +0 -0
  332. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/IO_esp32s2.mpy +0 -0
  333. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/IO_esp32s3.mpy +0 -0
  334. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/IO_m5stamp.mpy +0 -0
  335. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/IO_qtpy.mpy +0 -0
  336. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/IO_rp2.mpy +0 -0
  337. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/IO_tinypico.mpy +0 -0
  338. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/InterConnect.mpy +0 -0
  339. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/Interrupts.mpy +0 -0
  340. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_OV2640.mpy +0 -0
  341. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_catgame.py +0 -0
  342. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_dashboard_be.py +0 -0
  343. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_demo.py +0 -0
  344. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_esp32.py +0 -0
  345. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_espnow.py +0 -0
  346. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_gameOfLife.mpy +0 -0
  347. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_intercon.mpy +0 -0
  348. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_neoeffects.mpy +0 -0
  349. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_oledui.mpy +0 -0
  350. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_pet_feeder.py +0 -0
  351. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_rest.mpy +0 -0
  352. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_rgbcct.mpy +0 -0
  353. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_roboarm.mpy +0 -0
  354. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_robustness.py +0 -0
  355. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_rp2w.py +0 -0
  356. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_sdcard.py +0 -0
  357. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_sound_event.mpy +0 -0
  358. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_system.mpy +0 -0
  359. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_telegram.mpy +0 -0
  360. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/LM_tinyrgb.mpy +0 -0
  361. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/Logger.mpy +0 -0
  362. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/Network.mpy +0 -0
  363. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/Notify.mpy +0 -0
  364. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/Scheduler.mpy +0 -0
  365. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/Server.mpy +0 -0
  366. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/Tasks.mpy +0 -0
  367. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/Time.mpy +0 -0
  368. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/Types.mpy +0 -0
  369. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/Web.mpy +0 -0
  370. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/_mpy.version +0 -0
  371. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/dashboard.html +0 -0
  372. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/index.html +0 -0
  373. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/main.py +0 -0
  374. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/micrOS.mpy +0 -0
  375. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/micrOSloader.mpy +0 -0
  376. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/reset.mpy +0 -0
  377. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/uapi.js +0 -0
  378. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/udashboard.js +0 -0
  379. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/urequests.mpy +0 -0
  380. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/ustyle.css +0 -0
  381. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/uwidgets.js +0 -0
  382. {microsdevtoolkit-2.9.6 → microsdevtoolkit-2.9.8}/toolkit/workspace/precompiled/uwidgets_pro.js +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: micrOSDevToolKit
3
- Version: 2.9.6
3
+ Version: 2.9.8
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
@@ -58,14 +58,14 @@
58
58
  ],
59
59
  "Debug.py": [
60
60
  8.4,
61
- 17
61
+ 18
62
62
  ],
63
63
  "Network.py": [
64
64
  9.71,
65
65
  8
66
66
  ],
67
67
  "Espnow.py": [
68
- 9.01,
68
+ 8.86,
69
69
  1
70
70
  ],
71
71
  "Scheduler.py": [
@@ -73,7 +73,7 @@
73
73
  1
74
74
  ],
75
75
  "microIO.py": [
76
- 9.38,
76
+ 9.42,
77
77
  42
78
78
  ],
79
79
  "micrOS.py": [
@@ -105,7 +105,7 @@
105
105
  0
106
106
  ],
107
107
  "LM_genIO.py": [
108
- 9.19,
108
+ 9.12,
109
109
  0
110
110
  ],
111
111
  "LM_oled_ui.py": [
@@ -149,7 +149,7 @@
149
149
  0
150
150
  ],
151
151
  "LM_buzzer.py": [
152
- 8.88,
152
+ 8.8,
153
153
  0
154
154
  ],
155
155
  "LM_switch.py": [
@@ -177,11 +177,11 @@
177
177
  0
178
178
  ],
179
179
  "LM_neopixel.py": [
180
- 7.57,
180
+ 7.54,
181
181
  2
182
182
  ],
183
183
  "LM_cct.py": [
184
- 8.82,
184
+ 9.03,
185
185
  1
186
186
  ],
187
187
  "LM_L9110_DCmotor.py": [
@@ -249,7 +249,7 @@
249
249
  0
250
250
  ],
251
251
  "LM_rgb.py": [
252
- 8.65,
252
+ 8.82,
253
253
  1
254
254
  ],
255
255
  "LM_distance.py": [
@@ -315,11 +315,11 @@
315
315
  },
316
316
  "summary": {
317
317
  "core": [
318
- 3305,
318
+ 3358,
319
319
  23
320
320
  ],
321
321
  "load": [
322
- 9060,
322
+ 9061,
323
323
  55
324
324
  ],
325
325
  "core_dep": [
@@ -332,6 +332,6 @@
332
332
  ],
333
333
  "core_score": 9.13,
334
334
  "load_score": 8.23,
335
- "version": "2.9.6-0"
335
+ "version": "2.9.8-0"
336
336
  }
337
337
  }
@@ -0,0 +1,160 @@
1
+ from aioespnow import AIOESPNow
2
+ from binascii import hexlify
3
+ from Tasks import NativeTask, TaskBase, lm_exec, lm_is_loaded
4
+ from Network import get_mac
5
+ from Config import cfgget
6
+ from Debug import errlog_add
7
+
8
+ # Configuration values and globals
9
+ _INSTANCE = None
10
+ _DEVFID = cfgget('devfid') # for example, "node01"
11
+
12
+ async def asend(now, mac, msg):
13
+ """
14
+ Send a message over ESPNow. The sent message will be extended with the server prompt.
15
+ The prompt indicates the end-of-message with a '$' marker.
16
+ """
17
+ prompt = f"{_DEVFID}$" # '$' symbol is the ACK (end of message)!
18
+ # Append a newline and the server prompt to the message.
19
+ full_msg = f"{msg}\n{prompt}".encode("utf-8")
20
+ return await now.asend(mac, full_msg)
21
+
22
+ def _serv_execute(msg, my_task):
23
+ """
24
+ Process an incoming command and return a tuple (ready, response).
25
+
26
+ The function decodes the message, strips any trailing '$' (which marks the prompt),
27
+ and then interprets the message as a command. The command is split into tokens where
28
+ the first token is considered the module/command. If the module is allowed (lm_is_loaded),
29
+ the command is executed with lm_exec; otherwise, "NotAllowed" is returned.
30
+ """
31
+ try:
32
+ command_line = msg.decode('utf-8').strip()
33
+ except UnicodeError:
34
+ my_task.out = "[NOW SERVE] Invalid encoding"
35
+ return False, "Invalid encoding"
36
+
37
+ # Split the command into tokens.
38
+ tokens = command_line.split()
39
+ if not tokens:
40
+ return False, "[NOW SERVE] Empty command"
41
+ # Remove trailing prompt marker if present.
42
+ client_token = "?$"
43
+ if tokens[-1].endswith("$"):
44
+ client_token = tokens[-1]
45
+ tokens = tokens[:-1]
46
+ my_task.out = f"[NOW SERVE] {' '.join(tokens)} (from {client_token})"
47
+ # Check if the module/command is allowed.
48
+ module = tokens[0]
49
+ if lm_is_loaded(module):
50
+ try:
51
+ state, out = lm_exec(tokens)
52
+ except Exception as e:
53
+ # Optionally log the exception here.
54
+ state, out = False, f"[ERR][NOW SERVE] {tokens}: {e}"
55
+ else:
56
+ state, out = False, f"[WARN][NOW SERVE] NotAllowed {tokens[0]}"
57
+ return state, out
58
+
59
+ async def _server(now):
60
+ """
61
+ ESPNow server task that continuously waits for incoming messages and processes commands.
62
+ """
63
+ with TaskBase.TASKS.get('espnow.server', None) as my_task:
64
+ async for mac, msg in now:
65
+ try:
66
+ state, response = _serv_execute(msg, my_task)
67
+ if state:
68
+ await asend(now, mac, response)
69
+ else:
70
+ errlog_add(response)
71
+ except OSError as err:
72
+ # If the peer is not yet added, add it and retry.
73
+ if len(err.args) > 1 and err.args[1] == 'ESP_ERR_ESPNOW_NOT_FOUND':
74
+ now.add_peer(mac)
75
+ state, response = _serv_execute(msg, my_task)
76
+ if state:
77
+ await asend(now, mac, response)
78
+ else:
79
+ errlog_add(response)
80
+ else:
81
+ # Optionally handle or log other OSErrors here.
82
+ errlog_add(f"[ERR][NOW SERVER] {err}")
83
+
84
+ async def _send(now, peer, tag, msg):
85
+ """
86
+ ESPNow client task: send a command to a peer and update task status.
87
+ """
88
+ with TaskBase.TASKS.get(tag, None) as my_task:
89
+ if not await asend(now, peer, msg):
90
+ my_task.out = "[NOW SEND] Peer not responding"
91
+ else:
92
+ my_task.out = f"[NOW SEND] {msg}"
93
+
94
+ ###################################################
95
+ # Control functions #
96
+ ###################################################
97
+ def initialize():
98
+ """
99
+ Initialize the ESPNow protocol. (WLAN must be active.)
100
+ """
101
+ global _INSTANCE
102
+ if _INSTANCE is None:
103
+ now = AIOESPNow() # Instance with async support
104
+ now.active(True)
105
+ _INSTANCE = now
106
+ return _INSTANCE
107
+
108
+ def add_peer(now, peer):
109
+ """
110
+ Add a peer given its MAC address.
111
+ :param now: ESPNow instance.
112
+ :param peer: Binary MAC address of a peer (e.g. b'\xbb\xbb\xbb\xbb\xbb\xbb').
113
+ """
114
+ now.add_peer(peer)
115
+ return "Peer register done"
116
+
117
+ def espnow_server():
118
+ """
119
+ Start the async ESPNow receiver server.
120
+ """
121
+ now = initialize()
122
+ # Create an asynchronous task with tag 'espnow.server'
123
+ state = NativeTask().create(callback=_server(now), tag='espnow.server')
124
+ return "Starting" if state else "Already running"
125
+
126
+ def espnow_send(peer, msg):
127
+ """
128
+ Send a command over ESPNow.
129
+ :param peer: Binary MAC address of another device.
130
+ :param msg: String command message to send.
131
+ """
132
+ now = initialize()
133
+ mac_str = hexlify(peer, ':').decode()
134
+ task_id = f"espnow.cli.{mac_str}"
135
+ # Create an asynchronous sending task.
136
+ state = NativeTask().create(callback=_send(now, peer, task_id, msg), tag=task_id)
137
+ return "Starting" if state else "Already running"
138
+
139
+ def stats():
140
+ """
141
+ Return stats for ESPNow peers.
142
+ stats: tx_pkts, tx_responses, tx_failures, rx_packets, rx_dropped_packets.
143
+ peers: peer, rssi, time_ms.
144
+ """
145
+ now = initialize()
146
+ try:
147
+ _stats = now.stats()
148
+ except Exception as e:
149
+ _stats = str(e)
150
+ try:
151
+ _peers = now.peers_table
152
+ except Exception as e:
153
+ _peers = str(e)
154
+ return {"stats": _stats, "peers": _peers}
155
+
156
+ def mac_address():
157
+ """
158
+ Get the binary MAC address.
159
+ """
160
+ return get_mac()
@@ -1,5 +1,5 @@
1
1
  from machine import Pin, PWM
2
- from microIO import resolve_pin, pinmap_search
2
+ from microIO import bind_pin, pinmap_search
3
3
 
4
4
  #########################################
5
5
  # ANALOG DIMMER CONTROLLER PARAMS #
@@ -15,9 +15,9 @@ __L298N_OBJS = []
15
15
  def __l298n_init():
16
16
  global __L298N_OBJS
17
17
  if len(__L298N_OBJS) == 0:
18
- __L298N_OBJS.append(PWM(Pin(resolve_pin('l298speed')), freq=50))
19
- __L298N_OBJS.append(Pin(resolve_pin('l298dir_1'), Pin.OUT))
20
- __L298N_OBJS.append(Pin(resolve_pin('l298dir_2'), Pin.OUT))
18
+ __L298N_OBJS.append(PWM(Pin(bind_pin('l298speed')), freq=50))
19
+ __L298N_OBJS.append(Pin(bind_pin('l298dir_1'), Pin.OUT))
20
+ __L298N_OBJS.append(Pin(bind_pin('l298dir_2'), Pin.OUT))
21
21
  __L298N_OBJS[0].duty(0) # Set default speed (PWM)
22
22
  __L298N_OBJS[1].value(0) # Set default direction for dc motor1
23
23
  __L298N_OBJS[2].value(1) # Set default direction for dc motor1
@@ -1,4 +1,4 @@
1
- from microIO import resolve_pin, pinmap_search
1
+ from microIO import bind_pin, pinmap_search
2
2
 
3
3
  #########################################
4
4
  # ANALOG DIMMER CONTROLLER PARAMS #
@@ -15,8 +15,8 @@ def __l9110_init():
15
15
  global __L9110_OBJS
16
16
  if len(__L9110_OBJS) == 0:
17
17
  from machine import Pin, PWM
18
- __L9110_OBJS.append(PWM(Pin(resolve_pin('l9110dir_1')), freq=1024))
19
- __L9110_OBJS.append(PWM(Pin(resolve_pin('l9110dir_2')), freq=1024))
18
+ __L9110_OBJS.append(PWM(Pin(bind_pin('l9110dir_1')), freq=1024))
19
+ __L9110_OBJS.append(PWM(Pin(bind_pin('l9110dir_2')), freq=1024))
20
20
  __L9110_OBJS[0].duty(0) # Set default speed (PWM)
21
21
  __L9110_OBJS[1].duty(0) # Set default speed (PWM)
22
22
  return __L9110_OBJS
@@ -2,7 +2,7 @@ from micropython import const
2
2
  import ustruct
3
3
  import utime
4
4
  from machine import I2C, Pin
5
- from microIO import resolve_pin, pinmap_search
5
+ from microIO import bind_pin, pinmap_search
6
6
 
7
7
  __TOF_OBJ = None
8
8
 
@@ -31,7 +31,7 @@ class TimeoutError(RuntimeError):
31
31
 
32
32
  class VL53L0X:
33
33
  def __init__(self, address=57):
34
- self.i2c = I2C(-1, Pin(resolve_pin('i2c_scl')), Pin(resolve_pin('i2c_sda')), freq=9600)
34
+ self.i2c = I2C(-1, Pin(bind_pin('i2c_scl')), Pin(bind_pin('i2c_sda')), freq=9600)
35
35
  self.address = address
36
36
  self.init()
37
37
  self._started = False
@@ -1,5 +1,5 @@
1
1
  from machine import I2C, Pin
2
- from microIO import resolve_pin, pinmap_search
2
+ from microIO import bind_pin, pinmap_search
3
3
  from Common import syslog
4
4
  from time import sleep
5
5
  from binascii import hexlify
@@ -24,7 +24,7 @@ def _handle_connection_error(f):
24
24
 
25
25
  class AHT10:
26
26
  def __init__(self, address = 0x38):
27
- self.i2c = I2C(-1, Pin(resolve_pin('i2c_scl')), Pin(resolve_pin('i2c_sda')), freq = 9600)
27
+ self.i2c = I2C(-1, Pin(bind_pin('i2c_scl')), Pin(bind_pin('i2c_sda')), freq = 9600)
28
28
  self.address = address
29
29
  if not self.init_sensor():
30
30
  raise Exception("Could not initialize the sensor!")
@@ -6,7 +6,7 @@ https://randomnerdtutorials.com/micropython-bme280-esp32-esp8266/
6
6
 
7
7
  import utime as time
8
8
  from machine import Pin, I2C
9
- from microIO import resolve_pin, pinmap_search
9
+ from microIO import bind_pin, pinmap_search
10
10
  from Common import notify
11
11
  from Types import resolve
12
12
 
@@ -299,7 +299,7 @@ class BME280:
299
299
  def __init_bme280_i2c():
300
300
  global BME280_OBJ
301
301
  if BME280_OBJ is None:
302
- i2c = I2C(scl=Pin(resolve_pin('i2c_scl')), sda=Pin(resolve_pin('i2c_sda')), freq=10000)
302
+ i2c = I2C(scl=Pin(bind_pin('i2c_scl')), sda=Pin(bind_pin('i2c_sda')), freq=10000)
303
303
  BME280_OBJ = BME280(i2c=i2c)
304
304
  return BME280_OBJ
305
305
 
@@ -1,6 +1,6 @@
1
1
  from sys import platform
2
2
  from utime import sleep
3
- from microIO import resolve_pin, pinmap_search
3
+ from microIO import bind_pin, pinmap_search
4
4
  from Common import micro_task, notify
5
5
  from Types import resolve
6
6
 
@@ -175,15 +175,15 @@ def _builtin_tones(tone=None):
175
175
  #########################################
176
176
 
177
177
 
178
- def __buzzer_init():
178
+ def __buzzer_init(pin=None):
179
+ """
180
+ :param pin: optional number to overwrite default pin
181
+ """
179
182
  global __BUZZER_OBJ
180
183
  if __BUZZER_OBJ is None:
181
184
  from machine import Pin, PWM
182
- dimmer_pin = Pin(resolve_pin('buzzer'))
183
- if platform == 'esp8266':
184
- __BUZZER_OBJ = PWM(dimmer_pin, freq=600)
185
- else:
186
- __BUZZER_OBJ = PWM(dimmer_pin, freq=600)
185
+ dimmer_pin = Pin(bind_pin('buzzer', number=pin))
186
+ __BUZZER_OBJ = PWM(dimmer_pin, freq=600)
187
187
  __BUZZER_OBJ.duty(512) # 50%
188
188
  return __BUZZER_OBJ
189
189
 
@@ -283,23 +283,20 @@ def list_tones():
283
283
  return '\n'.join(list(_builtin_tones()))
284
284
 
285
285
 
286
- def load(cache=None, check_notify=False):
286
+ def load(check_notify=False, pin=None, cache=True):
287
287
  """
288
288
  Initialize buzzer module
289
- :param cache bool: file state machine cache: True/False/None(default: automatic True)
290
- - Load .pds (state machine cache) for this load module
291
- - Apply loaded states to gpio pins (boot function)
292
289
  :param check_notify: check notify enabled/disabled - make noise if enabled only
290
+ :param pin: optional number to overwrite default pin
291
+ :param cache: default True, store stages on disk (.pds)
293
292
  :return str: Verdict
294
293
  """
295
294
  from sys import platform
296
295
  global __PERSISTENT_CACHE, CHECK_NOTIFY
297
- if cache is None:
298
- __PERSISTENT_CACHE = False if platform == 'esp8266' else True
299
- else:
300
- __PERSISTENT_CACHE = cache
296
+ __PERSISTENT_CACHE = cache
301
297
  __persistent_cache_manager('r')
302
298
  CHECK_NOTIFY = check_notify
299
+ __buzzer_init(pin=pin)
303
300
  return f"CACHE: {__PERSISTENT_CACHE}, check notify: {CHECK_NOTIFY}"
304
301
 
305
302
 
@@ -5,7 +5,7 @@ from machine import Pin, PWM
5
5
  from sys import platform
6
6
  from utime import sleep_ms
7
7
  from Common import transition_gen, micro_task
8
- from microIO import resolve_pin, pinmap_search
8
+ from microIO import bind_pin, pinmap_search
9
9
  from random import randint
10
10
  from Types import resolve
11
11
 
@@ -24,10 +24,10 @@ class Data:
24
24
  # ANALOG CCT WITH 2 channel PWM #
25
25
  #########################################
26
26
 
27
- def __cwww_init():
27
+ def __cwww_init(pin_warm=None, pin_cold=None):
28
28
  if Data.CWWW_OBJS[0] is None or Data.CWWW_OBJS[1] is None:
29
- cw = Pin(resolve_pin('cwhite'))
30
- ww = Pin(resolve_pin('wwhite'))
29
+ cw = Pin(bind_pin('cwhite', pin_cold))
30
+ ww = Pin(bind_pin('wwhite', pin_warm))
31
31
  if platform == 'esp8266':
32
32
  Data.CWWW_OBJS = (PWM(cw, freq=1024),
33
33
  PWM(ww, freq=1024))
@@ -72,19 +72,16 @@ def __state_machine(c, w):
72
72
  # Application functions #
73
73
  #########################
74
74
 
75
- def load(cache=None):
75
+ def load(pin_warm=None, pin_cold=None, cache=True):
76
76
  """
77
77
  Initialize Cold white / Warm white LED module
78
- :param cache bool: file state machine cache: True/False/None(default: automatic True)
79
- - Load .pds (state machine cache) for this load module
80
- - Apply loaded states to gpio pins (boot function)
78
+ :param pin_warm: optional number to overwrite default pin
79
+ :param pin_cold: optional number to overwrite default pin
80
+ :param cache: save/load state machine to disk (.pds)
81
81
  :return str: Cache state
82
82
  """
83
- from sys import platform
84
- if cache is None:
85
- Data.PERSISTENT_CACHE = False if platform == 'esp8266' else True
86
- else:
87
- Data.PERSISTENT_CACHE = cache
83
+ __cwww_init(pin_warm, pin_cold)
84
+ Data.PERSISTENT_CACHE = cache
88
85
  __persistent_cache_manager('r') # recover data cache
89
86
  if Data.CWWW_CACHE[2] == 1:
90
87
  Data.CWWW_CACHE[2] = 0 # Force ON at boot
@@ -1,7 +1,7 @@
1
1
  from math import pow
2
2
  from sys import platform
3
3
  from machine import ADC, Pin
4
- from microIO import resolve_pin, pinmap_search
4
+ from microIO import bind_pin, pinmap_search
5
5
  from Types import resolve
6
6
 
7
7
  #########################################
@@ -20,10 +20,10 @@ def __get_resistance():
20
20
  global __ADC, __ADC_PROP
21
21
  if __ADC is None:
22
22
  if 'esp8266' in platform:
23
- __ADC = ADC(resolve_pin('co2')) # 1V measure range
23
+ __ADC = ADC(bind_pin('co2')) # 1V measure range
24
24
  __ADC_PROP = (1023, 1.0)
25
25
  else:
26
- __ADC = ADC(Pin(resolve_pin('co2')))
26
+ __ADC = ADC(Pin(bind_pin('co2')))
27
27
  __ADC.atten(ADC.ATTN_11DB) # 3.6V measure range
28
28
  __ADC.width(ADC.WIDTH_10BIT) # Default 10 bit ADC
29
29
  __ADC_PROP = (1023, 3.6)
@@ -1,4 +1,4 @@
1
- from microIO import resolve_pin, pinmap_search
1
+ from microIO import bind_pin, pinmap_search
2
2
  from Common import data_logger
3
3
  from Types import resolve
4
4
 
@@ -14,7 +14,7 @@ def __init_DHT11():
14
14
  if __DHT_OBJ is None:
15
15
  from dht import DHT11
16
16
  from machine import Pin
17
- __DHT_OBJ = DHT11(Pin(resolve_pin('dhtpin')))
17
+ __DHT_OBJ = DHT11(Pin(bind_pin('dhtpin')))
18
18
  return __DHT_OBJ
19
19
 
20
20
 
@@ -1,4 +1,4 @@
1
- from microIO import resolve_pin, pinmap_search
1
+ from microIO import bind_pin, pinmap_search
2
2
  from Common import data_logger
3
3
  from Types import resolve
4
4
 
@@ -14,7 +14,7 @@ def __init_DHT22():
14
14
  if __DHT_OBJ is None:
15
15
  from dht import DHT22
16
16
  from machine import Pin
17
- __DHT_OBJ = DHT22(Pin(resolve_pin('dhtpin')))
17
+ __DHT_OBJ = DHT22(Pin(bind_pin('dhtpin')))
18
18
  return __DHT_OBJ
19
19
 
20
20
 
@@ -1,5 +1,5 @@
1
1
  from sys import platform
2
- from microIO import resolve_pin, pinmap_search
2
+ from microIO import bind_pin, pinmap_search
3
3
  from Common import transition_gen, micro_task
4
4
  from utime import sleep_ms
5
5
  from Types import resolve
@@ -24,7 +24,7 @@ class Data:
24
24
  def __dimmer_init():
25
25
  if Data.DIMMER_OBJ is None:
26
26
  from machine import Pin, PWM
27
- dimmer_pin = Pin(resolve_pin('dim_1'))
27
+ dimmer_pin = Pin(bind_pin('dim_1'))
28
28
  if platform == 'esp8266':
29
29
  Data.DIMMER_OBJ = PWM(dimmer_pin, freq=1024)
30
30
  else:
@@ -1,6 +1,6 @@
1
1
  from machine import Pin, time_pulse_us
2
2
  from utime import sleep_us
3
- from microIO import resolve_pin, pinmap_search
3
+ from microIO import bind_pin, pinmap_search
4
4
  from Common import micro_task
5
5
  from Types import resolve
6
6
 
@@ -14,8 +14,8 @@ def __init_HCSR04():
14
14
  """
15
15
  global __TRIGGER_OBJ, __ECHO_OBJ
16
16
  if __TRIGGER_OBJ is None or __ECHO_OBJ is None:
17
- trigger_pin = resolve_pin('hcsrtrig')
18
- echo_pin = resolve_pin('hcsrecho')
17
+ trigger_pin = bind_pin('hcsrtrig')
18
+ echo_pin = bind_pin('hcsrecho')
19
19
  # Init trigger pin (out)
20
20
  __TRIGGER_OBJ = Pin(trigger_pin, mode=Pin.OUT, pull=None)
21
21
  __TRIGGER_OBJ.value(0)
@@ -1,5 +1,5 @@
1
1
  import machine, onewire, ds18x20, time
2
- from microIO import resolve_pin, pinmap_search
2
+ from microIO import bind_pin, pinmap_search
3
3
  from Types import resolve
4
4
 
5
5
  DS_OBJ = None
@@ -8,7 +8,7 @@ DS_OBJ = None
8
8
  def __init_DS18():
9
9
  global DS_OBJ
10
10
  if DS_OBJ is None:
11
- ds_pin = machine.Pin(resolve_pin('ds18'))
11
+ ds_pin = machine.Pin(bind_pin('ds18'))
12
12
  DS_OBJ = ds18x20.DS18X20(onewire.OneWire(ds_pin))
13
13
  return DS_OBJ
14
14