micrOSDevToolKit 2.1.3__tar.gz → 2.1.4__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 (344) hide show
  1. {micrOSDevToolKit-2.1.3/micrOSDevToolKit.egg-info → micrOSDevToolKit-2.1.4}/PKG-INFO +1 -1
  2. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/release_info/micrOS_ReleaseInfo/system_analysis_sum.json +6 -6
  3. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_OV2640.py +12 -16
  4. {micrOSDevToolKit-2.1.3/toolkit/workspace/precompiled → micrOSDevToolKit-2.1.4/micrOS/source}/LM_dashboard_be.py +1 -24
  5. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_neopixel.py +1 -1
  6. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/Shell.py +1 -1
  7. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/Types.py +7 -10
  8. {micrOSDevToolKit-2.1.3/toolkit/workspace/precompiled → micrOSDevToolKit-2.1.4/micrOS/source}/dashboard.html +0 -2
  9. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/udashboard.js +28 -32
  10. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/uwidgets.js +26 -14
  11. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4/micrOSDevToolKit.egg-info}/PKG-INFO +1 -1
  12. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOSDevToolKit.egg-info/SOURCES.txt +1 -0
  13. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/setup.py +1 -1
  14. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/lib/file_extensions.py +0 -1
  15. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/simulator.cpython-312.pyc +0 -0
  16. micrOSDevToolKit-2.1.4/toolkit/simulator_lib/node_config.json +7 -0
  17. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/simulator.py +11 -0
  18. micrOSDevToolKit-2.1.4/toolkit/workspace/precompiled/LM_OV2640.mpy +0 -0
  19. {micrOSDevToolKit-2.1.3/micrOS/source → micrOSDevToolKit-2.1.4/toolkit/workspace/precompiled}/LM_dashboard_be.py +1 -24
  20. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_neopixel.mpy +0 -0
  21. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/Shell.mpy +0 -0
  22. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/Types.mpy +0 -0
  23. {micrOSDevToolKit-2.1.3/micrOS/source → micrOSDevToolKit-2.1.4/toolkit/workspace/precompiled}/dashboard.html +0 -2
  24. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/udashboard.js +28 -32
  25. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/uwidgets.js +26 -14
  26. micrOSDevToolKit-2.1.3/toolkit/workspace/precompiled/LM_OV2640.mpy +0 -0
  27. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/LICENSE +0 -0
  28. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/MANIFEST.in +0 -0
  29. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/README.md +0 -0
  30. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/devToolKit.py +0 -0
  31. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/env/__init__.py +0 -0
  32. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/env/driver_cp210x/.DS_Store +0 -0
  33. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/env/driver_cp210x/CH34XSER_MAC/CH34X_DRV_INSTALL_INSTRUCTIONS.pdf +0 -0
  34. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/env/driver_cp210x/CH34XSER_MAC/CH34xVCPDriver.pkg +0 -0
  35. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x64.exe +0 -0
  36. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210xVCPInstaller_x86.exe +0 -0
  37. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/env/driver_cp210x/CP210x_Universal_Windows_Driver/CP210x_Universal_Windows_Driver_ReleaseNotes.txt +0 -0
  38. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/env/driver_cp210x/CP210x_Universal_Windows_Driver/SLAB_License_Agreement_VCP_Windows.txt +0 -0
  39. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm/silabser.sys +0 -0
  40. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/env/driver_cp210x/CP210x_Universal_Windows_Driver/arm64/silabser.sys +0 -0
  41. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/env/driver_cp210x/CP210x_Universal_Windows_Driver/dpinst.xml +0 -0
  42. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.cat +0 -0
  43. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/env/driver_cp210x/CP210x_Universal_Windows_Driver/silabser.inf +0 -0
  44. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x64/silabser.sys +0 -0
  45. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/env/driver_cp210x/CP210x_Universal_Windows_Driver/x86/silabser.sys +0 -0
  46. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/env/driver_cp210x/macOS_VCP_Driver/SiLabsUSBDriverDisk.dmg +0 -0
  47. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/env/driver_cp210x/macOS_VCP_Driver/macOS_VCP_Driver_Release_Notes.txt +0 -0
  48. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/media/__init__.py +0 -0
  49. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/media/dnd.png +0 -0
  50. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/media/logo.png +0 -0
  51. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/media/logo_mini.png +0 -0
  52. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/media/usb_port_icon.png +0 -0
  53. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/media/wifi_icon.png +0 -0
  54. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/__init__.py +0 -0
  55. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/micropython/esp32-20231005-v1.21.0.bin +0 -0
  56. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/micropython/esp32c3-GENERIC-20240105-v1.22.1.bin +0 -0
  57. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/micropython/esp32c3-GENERIC-20240222-v1.22.2.bin +0 -0
  58. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/micropython/esp32cam-v1.21.0_camera.bin +0 -0
  59. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/micropython/esp32s2-GENERIC-20240105-v1.22.1.bin +0 -0
  60. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/micropython/esp32s2-LOLIN_MINI-20220618-v1.19.1.bin +0 -0
  61. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/micropython/esp32s3-GENERIC-20240105-v1.22.1.bin +0 -0
  62. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/micropython/esp32s3_spiram_oct-20231005-v1.21.0.bin +0 -0
  63. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/micropython/rpi-pico-w-20231005-v1.21.0.uf2 +0 -0
  64. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/micropython/tinypico-20231005-v1.21.0.bin +0 -0
  65. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/micropython/tinypico-usbc-UM-20240105-v1.22.1.bin +0 -0
  66. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/.DS_Store +0 -0
  67. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/Common.py +0 -0
  68. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/Config.py +0 -0
  69. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/Debug.py +0 -0
  70. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/Hooks.py +0 -0
  71. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/IO_esp32.py +0 -0
  72. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/IO_esp32c3.py +0 -0
  73. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/IO_esp32s2.py +0 -0
  74. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/IO_esp32s3.py +0 -0
  75. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/IO_qtpy.py +0 -0
  76. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/IO_rp2.py +0 -0
  77. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/IO_tinypico.py +0 -0
  78. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/InterConnect.py +0 -0
  79. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/Interrupts.py +0 -0
  80. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_L298N_DCmotor.py +0 -0
  81. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_L9110_DCmotor.py +0 -0
  82. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_VL53L0X.py +0 -0
  83. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_aht10.py +0 -0
  84. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_bme280.py +0 -0
  85. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_buzzer.py +0 -0
  86. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_catgame.py +0 -0
  87. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_cct.py +0 -0
  88. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_co2.py +0 -0
  89. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_demo.py +0 -0
  90. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_dht11.py +0 -0
  91. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_dht22.py +0 -0
  92. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_dimmer.py +0 -0
  93. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_distance.py +0 -0
  94. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_ds18.py +0 -0
  95. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_esp32.py +0 -0
  96. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_gameOfLife.py +0 -0
  97. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_genIO.py +0 -0
  98. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_i2c.py +0 -0
  99. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_i2s_mic.py +0 -0
  100. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_intercon.py +0 -0
  101. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_keychain.py +0 -0
  102. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_ld2410.py +0 -0
  103. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_light_sensor.py +0 -0
  104. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_lmpacman.py +0 -0
  105. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_neoeffects.py +0 -0
  106. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_oled.py +0 -0
  107. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_oled_sh1106.py +0 -0
  108. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_oled_ui.py +0 -0
  109. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_pet_feeder.py +0 -0
  110. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_ph_sensor.py +0 -0
  111. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_presence.py +0 -0
  112. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_rencoder.py +0 -0
  113. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_rest.py +0 -0
  114. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_rgb.py +0 -0
  115. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_rgbcct.py +0 -0
  116. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_roboarm.py +0 -0
  117. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_robustness.py +0 -0
  118. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_rp2w.py +0 -0
  119. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_sdcard.py +0 -0
  120. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_servo.py +0 -0
  121. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_stepper.py +0 -0
  122. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_switch.py +0 -0
  123. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_system.py +0 -0
  124. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_telegram.py +0 -0
  125. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/LM_tinyrgb.py +0 -0
  126. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/Network.py +0 -0
  127. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/Notify.py +0 -0
  128. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/Scheduler.py +0 -0
  129. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/Server.py +0 -0
  130. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/Tasks.py +0 -0
  131. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/Time.py +0 -0
  132. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/index.html +0 -0
  133. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/main.py +0 -0
  134. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/micrOS.py +0 -0
  135. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/micrOSloader.py +0 -0
  136. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/microIO.py +0 -0
  137. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/reset.py +0 -0
  138. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/uapi.js +0 -0
  139. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/urequests.py +0 -0
  140. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOS/source/ustyle.css +0 -0
  141. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOSDevToolKit.egg-info/dependency_links.txt +0 -0
  142. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOSDevToolKit.egg-info/requires.txt +0 -0
  143. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/micrOSDevToolKit.egg-info/top_level.txt +0 -0
  144. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/setup.cfg +0 -0
  145. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/DevEnvCompile.py +0 -0
  146. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/DevEnvOTA.py +0 -0
  147. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/DevEnvUSB.py +0 -0
  148. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/Gateway.py +0 -0
  149. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/LM_to_compile.dat +0 -0
  150. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/MicrOSDevEnv.py +0 -0
  151. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/__init__.py +0 -0
  152. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/dashboard_apps/AirQualityBME280.py +0 -0
  153. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/dashboard_apps/AirQualityDHT22_CO2.py +0 -0
  154. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/dashboard_apps/CCTDemo.py +0 -0
  155. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/dashboard_apps/CCTTest.py +0 -0
  156. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/dashboard_apps/CamStream.py +0 -0
  157. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/dashboard_apps/CatGame.py +0 -0
  158. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/dashboard_apps/Dimmer.py +0 -0
  159. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/dashboard_apps/GetVersion.py +0 -0
  160. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/dashboard_apps/MicrophoneTest.py +0 -0
  161. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/dashboard_apps/NeoEffectsDemo.py +0 -0
  162. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/dashboard_apps/NeopixelTest.py +0 -0
  163. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/dashboard_apps/PresenceTest.py +0 -0
  164. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/dashboard_apps/RGBTest.py +0 -0
  165. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/dashboard_apps/RoboArm.py +0 -0
  166. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/dashboard_apps/SED_test.py +0 -0
  167. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/dashboard_apps/SystemTest.py +0 -0
  168. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/dashboard_apps/Template_app.py +0 -0
  169. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/dashboard_apps/__init__.py +0 -0
  170. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/dashboard_apps/_capture.py +0 -0
  171. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/dashboard_apps/_micPlotting.py +0 -0
  172. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/dashboard_apps/_presencePlotting.py +0 -0
  173. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/dashboard_apps/uLightDemo.py +0 -0
  174. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/img_stream.html +0 -0
  175. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/index.html +0 -0
  176. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/lib/LocalMachine.py +0 -0
  177. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/lib/SafeInput.py +0 -0
  178. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/lib/SearchDevices.py +0 -0
  179. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/lib/SerialDriverHandler.py +0 -0
  180. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/lib/TerminalColors.py +0 -0
  181. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/lib/__init__.py +0 -0
  182. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/lib/micrOSClient.py +0 -0
  183. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/lib/pip_package_installer.py +0 -0
  184. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/micrOSdashboard.py +0 -0
  185. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/micrOSlint.py +0 -0
  186. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/LP_darwin.py +0 -0
  187. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/LP_darwin.cpython-312.pyc +0 -0
  188. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/LP_darwin.cpython-38.pyc +0 -0
  189. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/LP_darwin.cpython-39.pyc +0 -0
  190. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/dht.cpython-312.pyc +0 -0
  191. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/dht.cpython-39.pyc +0 -0
  192. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/dotstar.cpython-312.pyc +0 -0
  193. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/dotstar.cpython-38.pyc +0 -0
  194. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/dotstar.cpython-39.pyc +0 -0
  195. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-312.pyc +0 -0
  196. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-38.pyc +0 -0
  197. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/ds18x20.cpython-39.pyc +0 -0
  198. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/esp32.cpython-312.pyc +0 -0
  199. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/esp32.cpython-38.pyc +0 -0
  200. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/esp32.cpython-39.pyc +0 -0
  201. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/framebuf.cpython-312.pyc +0 -0
  202. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/framebuf.cpython-38.pyc +0 -0
  203. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/framebuf.cpython-39.pyc +0 -0
  204. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/machine.cpython-312.pyc +0 -0
  205. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/machine.cpython-38.pyc +0 -0
  206. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/machine.cpython-39.pyc +0 -0
  207. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/micropython.cpython-312.pyc +0 -0
  208. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/micropython.cpython-38.pyc +0 -0
  209. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/micropython.cpython-39.pyc +0 -0
  210. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/neopixel.cpython-312.pyc +0 -0
  211. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/neopixel.cpython-38.pyc +0 -0
  212. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/neopixel.cpython-39.pyc +0 -0
  213. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/network.cpython-312.pyc +0 -0
  214. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/network.cpython-38.pyc +0 -0
  215. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/network.cpython-39.pyc +0 -0
  216. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/ntptime.cpython-312.pyc +0 -0
  217. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/onewire.cpython-312.pyc +0 -0
  218. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/onewire.cpython-38.pyc +0 -0
  219. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/onewire.cpython-39.pyc +0 -0
  220. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/sim_console.cpython-312.pyc +0 -0
  221. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/sim_console.cpython-38.pyc +0 -0
  222. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/sim_console.cpython-39.pyc +0 -0
  223. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/simgc.cpython-312.pyc +0 -0
  224. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/simgc.cpython-38.pyc +0 -0
  225. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/simgc.cpython-39.pyc +0 -0
  226. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/simulator.cpython-38.pyc +0 -0
  227. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/simulator.cpython-39.pyc +0 -0
  228. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/tinypico.cpython-312.pyc +0 -0
  229. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/tinypico.cpython-38.pyc +0 -0
  230. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/tinypico.cpython-39.pyc +0 -0
  231. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-312.pyc +0 -0
  232. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-38.pyc +0 -0
  233. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/uasyncio.cpython-39.pyc +0 -0
  234. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/usocket.cpython-312.pyc +0 -0
  235. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/ussl.cpython-312.pyc +0 -0
  236. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/ustruct.cpython-312.pyc +0 -0
  237. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/ustruct.cpython-39.pyc +0 -0
  238. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/utime.cpython-312.pyc +0 -0
  239. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/utime.cpython-38.pyc +0 -0
  240. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/utime.cpython-39.pyc +0 -0
  241. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/webrepl.cpython-312.pyc +0 -0
  242. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/webrepl.cpython-38.pyc +0 -0
  243. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/__pycache__/webrepl.cpython-39.pyc +0 -0
  244. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/dht.py +0 -0
  245. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/dotstar.py +0 -0
  246. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/ds18x20.py +0 -0
  247. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/esp32.py +0 -0
  248. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/framebuf.py +0 -0
  249. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/machine.py +0 -0
  250. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/micropython.py +0 -0
  251. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/neopixel.py +0 -0
  252. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/network.py +0 -0
  253. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/ntptime.py +0 -0
  254. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/onewire.py +0 -0
  255. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/sim_console.py +0 -0
  256. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/simgc.py +0 -0
  257. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/tinypico.py +0 -0
  258. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/uasyncio.py +0 -0
  259. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/usocket.py +0 -0
  260. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/ussl.py +0 -0
  261. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/ustruct.py +0 -0
  262. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/utime.py +0 -0
  263. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/simulator_lib/webrepl.py +0 -0
  264. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/socketClient.py +0 -0
  265. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/user_data/.include +0 -0
  266. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/user_data/node_config_archive/.include +0 -0
  267. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/user_data/webhooks/generic.py +0 -0
  268. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/user_data/webhooks/template.py +0 -0
  269. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/__init__.py +0 -0
  270. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/Common.mpy +0 -0
  271. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/Config.mpy +0 -0
  272. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/Debug.mpy +0 -0
  273. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/Hooks.mpy +0 -0
  274. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/IO_esp32.mpy +0 -0
  275. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/IO_esp32c3.mpy +0 -0
  276. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/IO_esp32s2.mpy +0 -0
  277. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/IO_esp32s3.mpy +0 -0
  278. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/IO_qtpy.mpy +0 -0
  279. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/IO_rp2.mpy +0 -0
  280. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/IO_tinypico.mpy +0 -0
  281. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/InterConnect.mpy +0 -0
  282. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/Interrupts.mpy +0 -0
  283. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_L298N_DCmotor.mpy +0 -0
  284. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_L9110_DCmotor.py +0 -0
  285. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_VL53L0X.py +0 -0
  286. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_aht10.mpy +0 -0
  287. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_bme280.mpy +0 -0
  288. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_buzzer.mpy +0 -0
  289. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_catgame.py +0 -0
  290. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_cct.mpy +0 -0
  291. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_co2.mpy +0 -0
  292. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_demo.py +0 -0
  293. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_dht11.mpy +0 -0
  294. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_dht22.mpy +0 -0
  295. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_dimmer.mpy +0 -0
  296. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_distance.py +0 -0
  297. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_ds18.mpy +0 -0
  298. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_esp32.py +0 -0
  299. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_gameOfLife.mpy +0 -0
  300. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_genIO.mpy +0 -0
  301. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_i2c.py +0 -0
  302. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_i2s_mic.mpy +0 -0
  303. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_intercon.mpy +0 -0
  304. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_keychain.mpy +0 -0
  305. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_ld2410.mpy +0 -0
  306. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_light_sensor.mpy +0 -0
  307. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_lmpacman.mpy +0 -0
  308. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_neoeffects.mpy +0 -0
  309. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_oled.mpy +0 -0
  310. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_oled_sh1106.mpy +0 -0
  311. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_oled_ui.mpy +0 -0
  312. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_pet_feeder.py +0 -0
  313. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_ph_sensor.py +0 -0
  314. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_presence.mpy +0 -0
  315. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_rencoder.py +0 -0
  316. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_rest.mpy +0 -0
  317. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_rgb.mpy +0 -0
  318. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_rgbcct.mpy +0 -0
  319. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_roboarm.mpy +0 -0
  320. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_robustness.py +0 -0
  321. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_rp2w.py +0 -0
  322. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_sdcard.py +0 -0
  323. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_servo.mpy +0 -0
  324. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_stepper.mpy +0 -0
  325. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_switch.mpy +0 -0
  326. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_system.mpy +0 -0
  327. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_telegram.mpy +0 -0
  328. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/LM_tinyrgb.mpy +0 -0
  329. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/Network.mpy +0 -0
  330. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/Notify.mpy +0 -0
  331. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/Scheduler.mpy +0 -0
  332. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/Server.mpy +0 -0
  333. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/Tasks.mpy +0 -0
  334. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/Time.mpy +0 -0
  335. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/_mpy.version +0 -0
  336. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/index.html +0 -0
  337. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/main.py +0 -0
  338. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/micrOS.mpy +0 -0
  339. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/micrOSloader.mpy +0 -0
  340. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/microIO.mpy +0 -0
  341. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/reset.mpy +0 -0
  342. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/uapi.js +0 -0
  343. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/urequests.mpy +0 -0
  344. {micrOSDevToolKit-2.1.3 → micrOSDevToolKit-2.1.4}/toolkit/workspace/precompiled/ustyle.css +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: micrOSDevToolKit
3
- Version: 2.1.3
3
+ Version: 2.1.4
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
@@ -38,7 +38,7 @@
38
38
  ],
39
39
  "Types.py": [
40
40
  9.69,
41
- 10
41
+ 11
42
42
  ],
43
43
  "Common.py": [
44
44
  9.1,
@@ -209,7 +209,7 @@
209
209
  0
210
210
  ],
211
211
  "LM_OV2640.py": [
212
- 8.86,
212
+ 9.06,
213
213
  0
214
214
  ],
215
215
  "LM_rgb.py": [
@@ -237,8 +237,8 @@
237
237
  4
238
238
  ],
239
239
  "LM_dashboard_be.py": [
240
- 6.67,
241
- 1
240
+ 6.5,
241
+ 0
242
242
  ],
243
243
  "LM_dimmer.py": [
244
244
  8.22,
@@ -283,7 +283,7 @@
283
283
  20
284
284
  ],
285
285
  "load": [
286
- 6842,
286
+ 6822,
287
287
  49
288
288
  ],
289
289
  "core_dep": [
@@ -296,6 +296,6 @@
296
296
  ],
297
297
  "core_score": 9.21,
298
298
  "load_score": 8.01,
299
- "version": "2.1.3-1"
299
+ "version": "2.1.4-0"
300
300
  }
301
301
  }
@@ -5,11 +5,7 @@ except Exception as e:
5
5
  import time
6
6
  from Debug import console_write
7
7
  from Common import rest_endpoint, syslog
8
-
9
- try:
10
- from LM_dashboard_be import widget_add
11
- except:
12
- widget_add = None
8
+ from Types import resolve
13
9
 
14
10
  IN_CAPTURE = False # Make sure single capture in progress in the same time
15
11
  CAM_INIT = False
@@ -62,12 +58,6 @@ def _set_web_endpoints():
62
58
  # Register rest endpoint
63
59
  rest_endpoint('cam/snapshot', _snapshot_clb)
64
60
  rest_endpoint('cam/stream', _image_stream_clb)
65
- # Add custom widgets to /dashboard (generated frontend)
66
- if widget_add is not None:
67
- widget_add({'OV2640': {'settings/saturation=': 'slider',
68
- 'settings/brightness=': 'slider',
69
- 'settings/contrast=': 'slider',
70
- 'flashlight': 'button'}})
71
61
 
72
62
 
73
63
  def settings(quality=None, flip=None, mirror=None, effect=None, saturation=None, brightness=None, contrast=None, whitebalace=None, q=None):
@@ -238,8 +228,14 @@ def help(widgets=False):
238
228
  (widgets=False) list of functions implemented by this application
239
229
  (widgets=True) list of widget json for UI generation
240
230
  """
241
- return 'load_n_init quality="medium/low/high" freq="default/high"',\
242
- 'settings quality=None flip=None/True mirror=None/True effect="NONE" saturation brightness contrast',\
243
- 'capture', 'photo', 'set_photo_endpoint', 'flashlight state=None/True/False',\
244
- 'Thanks to :) https://github.com/lemariva/micropython-camera-driver',\
245
- '[HINT] after load_n_init you can access the /cam/snapshot and /cam/stream endpoints'
231
+ return resolve(('load_n_init quality="medium/low/high" freq="default/high"',
232
+ 'settings quality=None flip=None mirror=None effect="NONE"',
233
+ 'SLIDER settings saturation=<0-100>',
234
+ 'SLIDER settings brightness=<0-100>',
235
+ 'SLIDER settings contrast=<0-100>',
236
+ 'capture',
237
+ 'photo',
238
+ 'set_photo_endpoint',
239
+ 'BUTTON flashlight state=None',
240
+ '[HINT] after load_n_init you can access the /cam/snapshot and /cam/stream endpoints',
241
+ 'Thanks to :) https://github.com/lemariva/micropython-camera-driver'), widgets=widgets)
@@ -1,7 +1,5 @@
1
1
  from Common import rest_endpoint, syslog
2
- from sys import modules
3
2
 
4
- WIDGETS={}
5
3
  ENDPOINT_INITED = False
6
4
 
7
5
  def load_n_init():
@@ -29,27 +27,6 @@ def create_dashboard():
29
27
  return 'Endpoint created: /dashboard'
30
28
 
31
29
 
32
- def widget_list():
33
- """
34
- API HELPER: return custom widgets dict
35
- """
36
- return WIDGETS
37
-
38
-
39
-
40
- def widget_add(widget=None):
41
- """
42
- :param widget: {'OV2640': {'settings/saturation=': 'slider',
43
- 'settings/brightness=': <type>}}
44
- <type>: 'slider', 'button', 'box', 'h1', 'h2', 'p', etc...
45
- """
46
- global WIDGETS
47
- if not ENDPOINT_INITED:
48
- load_n_init() # auto-enable dashboard endpoint
49
- if isinstance(widget, dict):
50
- WIDGETS.update(widget)
51
-
52
-
53
30
  def help(widgets=False):
54
31
  """
55
32
  [i] micrOS LM naming convention - built-in help message
@@ -57,4 +34,4 @@ def help(widgets=False):
57
34
  (widgets=False) list of functions implemented by this application
58
35
  (widgets=True) list of widget json for UI generation
59
36
  """
60
- return 'load_n_init', 'create_dashboard', 'widget_list', 'widget_add', 'help'
37
+ return 'load_n_init', 'create_dashboard', 'help'
@@ -351,5 +351,5 @@ def help(widgets=False):
351
351
  'BUTTON random smooth=True max_val=254',
352
352
  'status',
353
353
  'subscribe_presence',
354
- 'TEXTBOX pinmap',
354
+ 'pinmap',
355
355
  'help widgets=False'), widgets=widgets)
@@ -24,7 +24,7 @@ from Debug import errlog_add
24
24
  #################################################################
25
25
 
26
26
  class Shell:
27
- MICROS_VERSION = '2.1.3-1'
27
+ MICROS_VERSION = '2.1.4-0'
28
28
 
29
29
  def __init__(self):
30
30
  """
@@ -78,18 +78,15 @@ def resolve(help_data, widgets=False):
78
78
  for msg in help_data:
79
79
  tag = msg.split()[0].strip()
80
80
  # TYPE DECORATION detect in help strings
81
- if tag[0].isupper():
81
+ if tag.isupper():
82
82
  resolved_tag = _resolve_key(tag)
83
83
  if resolved_tag == tag:
84
- # TAG NOT FOUND - keep value
85
- help_msg.append(msg)
86
- #continue
87
- if widgets:
88
- # Create json string type + extract widgets from help message
89
- help_msg.append(_generate(resolved_tag, msg))
90
- else:
91
- # Remove tag - Human readable mode (decorated functions)
92
- help_msg.append(msg.replace(tag, '').strip())
84
+ if widgets:
85
+ continue # Invalid tag in widget mode
86
+ help_msg.append(msg.replace(tag, '').strip()) # Invalid tag (OK) in human readable mode
87
+ continue
88
+ # Create json string type + extract widgets from help message
89
+ help_msg.append(_generate(resolved_tag, msg))
93
90
  elif not widgets:
94
91
  # Human readable mode (non decorated functions)
95
92
  help_msg.append(msg)
@@ -50,8 +50,6 @@
50
50
 
51
51
  // INIT DASHBOARD (load active modules -> build page)
52
52
  DynamicWidgetLoad();
53
- // INIT DASHBOARD (load custom widget commands -> build page)
54
- CustomWidgetLoad('dashboard_be/widget_list')
55
53
 
56
54
  // INIT [hidden] debug section
57
55
  document.getElementById('toggleDebugSection').addEventListener('click', function() {
@@ -36,27 +36,41 @@ function generateElement(type, data, options={}) {
36
36
  // data: rest command
37
37
  var container = document.getElementById('dynamicContent');
38
38
  var element;
39
- paragraph = document.createElement('p');
40
39
  if (type.toLowerCase() === 'slider') {
41
40
  // Create slider widget
42
- sliderWidget(container, paragraph, data, options)
41
+ sliderWidget(container, data, options)
43
42
  } else if (type.toLowerCase() === 'button') {
44
43
  // Create button widget
45
- buttonWidget(container, paragraph, data, options)
44
+ buttonWidget(container, data, options)
46
45
  } else if (type.toLowerCase() === 'box') {
47
46
  // Create textbox widget
48
- textBoxWidget(container, paragraph, data, options)
47
+ textBoxWidget(container, data, options)
49
48
  } else if (type.toLowerCase() === 'color') {
50
49
  // Create color palette widget
51
- colorPaletteWidget(container, paragraph, data, options)
50
+ colorPaletteWidget(container, data, options)
52
51
  } else {
53
52
  // Create other elements
53
+ paragraph = document.createElement('p');
54
54
  element = document.createElement(type);
55
55
  element.textContent = data;
56
56
  containerAppendChild([paragraph, element], container);
57
57
  }
58
58
  }
59
59
 
60
+ function autoTitleLen(widgets, func) {
61
+ try {
62
+ // Create function list for comparation
63
+ const funcNames = widgets.map(command => command.lm_call.split(' ')[0]);
64
+ // Count the occurrences of the func name
65
+ const count = funcNames.filter(word => word === func).length;
66
+ // Return 2 if count is greater than 1, otherwise return 1
67
+ return count > 1 ? 2 : 1;
68
+ } catch (error) {
69
+ console.error(error);
70
+ return 1;
71
+ }
72
+ }
73
+
60
74
  function craftModuleWidgets(module, widgets) {
61
75
  // Create ALL exposed module function widgets
62
76
  if (widgets.length === 0) {
@@ -75,18 +89,26 @@ function craftModuleWidgets(module, widgets) {
75
89
  if (type === 'slider') {
76
90
  html_type='slider';
77
91
  type_options['range'] = item.range;
92
+ type_options['title_len'] = autoTitleLen(widgets, lm_call.split('/')[0]);
78
93
  } else if (type === 'button' || type === 'toggle') {
79
94
  html_type='button';
80
95
  type_options['range'] = item.range;
96
+ type_options['title_len'] = autoTitleLen(widgets, lm_call.split('/')[0]);
81
97
  } else if (type === 'textbox') {
82
98
  html_type = 'box'
99
+ type_options['title_len'] = autoTitleLen(widgets, lm_call.split('/')[0]);
83
100
  } else if (type === 'color') {
84
101
  html_type = 'color'
102
+ type_options['title_len'] = autoTitleLen(widgets, lm_call.split('/')[0]);
85
103
  } else {
86
104
  console.log(`Unsupported micrOS widget html_type: ${type}`)
87
105
  return;
88
106
  }
89
- generateElement(type=html_type, data=`${module}/${lm_call}`, options=type_options);
107
+ try {
108
+ generateElement(type=html_type, data=`${module}/${lm_call}`, options=type_options);
109
+ } catch (error) {
110
+ console.error(error);
111
+ }
90
112
  })
91
113
  }
92
114
 
@@ -111,30 +133,4 @@ function DynamicWidgetLoad() {
111
133
  });
112
134
  }
113
135
 
114
-
115
- function CustomWidgetLoad(endpoint) {
116
- // INIT DASHBOARD (load custom widget commands -> build page)
117
- // endpoint: 'dashboard_be/widget_list' returns special dict
118
- restAPI(endpoint).then(commands => {
119
- console.log(commands.result)
120
- const widget_dict=commands.result;
121
- var opts = {};
122
- opts.title_len = 3;
123
- for (const module in widget_dict) {
124
- if (Object.hasOwnProperty.call(widget_dict, module)) {
125
- const innerObject = widget_dict[module];
126
- generateElement(type='h2', data=`🧬 ${module}`);
127
- // Iterate through the inner object
128
- for (const func in innerObject) {
129
- if (Object.hasOwnProperty.call(innerObject, func)) {
130
- const api_type = innerObject[func];
131
- const api_cmd = `${module}/${func}`;
132
- console.log(`Gen custom Type: ${api_type} Cmd: ${api_cmd}`);
133
- generateElement(type=api_type, data=api_cmd, options=opts);
134
- };};};}
135
- }).catch(error => {
136
- console.error(error);
137
- });
138
- }
139
-
140
136
  // craftModuleWidgets
@@ -1,14 +1,19 @@
1
1
  // WIDGETS ELEMENTS
2
2
 
3
- function sliderWidget(container, paragraph, command, options={}) {
4
- var title_len = options.title_len || 2;
5
- paragraph.textContent = command.split('/').slice(1, title_len).join('-').replace(/=/g, '').replace(':range:', '');
3
+ const widget_indent = '40px';
4
+
5
+ function sliderWidget(container, command, options={}) {
6
+ var title_len = options.title_len || 1;
7
+ paragraph = document.createElement('p');
8
+ paragraph.style.textIndent = widget_indent;
9
+ paragraph.textContent = command.split('/').slice(1, title_len+1).join('-').replace(/=/g, '').replace(':range:', '');
6
10
  // Create a slider
7
11
  element = document.createElement('input');
12
+ element.style.marginLeft = widget_indent;
8
13
  element.type = 'range';
9
- element.min = options.min || 0;
10
- element.max = options.max || 100;
11
- element.step = options.step || 5;
14
+ element.min = options.range[0] || 0;
15
+ element.max = options.range[1] || 100;
16
+ element.step = options.range[2] || 5;
12
17
  element.value = Math.round((element.max-element.min)/2);
13
18
 
14
19
  // Create a span to display the slider value
@@ -37,11 +42,14 @@ function sliderWidget(container, paragraph, command, options={}) {
37
42
  containerAppendChild([paragraph, element, valueDisplay], container);
38
43
  }
39
44
 
40
- function buttonWidget(container, paragraph, command, options={}) {
41
- var title_len = options.title_len || 2;
45
+ function buttonWidget(container, command, options={}) {
46
+ var title_len = options.title_len || 1;
47
+ paragraph = document.createElement('p');
48
+ paragraph.style.textIndent = widget_indent;
42
49
  // Create a button
43
50
  element = document.createElement('button');
44
- element.textContent = command.split('/').slice(1, title_len).join('-');
51
+ element.style.marginLeft = widget_indent;
52
+ element.textContent = command.split('/').slice(1, title_len+1).join('-');
45
53
  // Add an event listener for API CALL
46
54
  element.addEventListener('click', function () {
47
55
  var call_cmd;
@@ -58,11 +66,14 @@ function buttonWidget(container, paragraph, command, options={}) {
58
66
  containerAppendChild([paragraph, element], container);
59
67
  }
60
68
 
61
- function textBoxWidget(container, paragraph, command, options={}) {
62
- var title_len = options.title_len || 2;
63
- paragraph.textContent = command.split('/').slice(1, title_len).join('-');
69
+ function textBoxWidget(container, command, options={}) {
70
+ var title_len = options.title_len || 1;
71
+ paragraph = document.createElement('p');
72
+ paragraph.style.textIndent = widget_indent;
73
+ paragraph.textContent = command.split('/').slice(1, title_len+1).join('-');
64
74
  // Create a small box (div)
65
75
  element = document.createElement('div');
76
+ element.style.marginLeft = widget_indent;
66
77
  element.style.width = '30%';
67
78
  element.style.height = '60px';
68
79
  element.style.paddingTop = '10px';
@@ -81,11 +92,12 @@ function textBoxWidget(container, paragraph, command, options={}) {
81
92
  console.log(`[API] textBox exec: ${call_cmd}`);
82
93
  restAPI(call_cmd).then(resp => {
83
94
  console.log(resp.result);
84
- element.textContent = JSON.stringify(resp.result, null, 4);});
95
+ element.textContent = JSON.stringify(resp.result, null, 4);
85
96
  containerAppendChild([paragraph, element], container);
97
+ });
86
98
  }
87
99
 
88
- function colorPaletteWidget(container, paragraph, command, options) {
100
+ function colorPaletteWidget(container, command, options) {
89
101
  // TODO
90
102
  console.log(`Dummy color widget: ${command}`)
91
103
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: micrOSDevToolKit
3
- Version: 2.1.3
3
+ Version: 2.1.4
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
@@ -180,6 +180,7 @@ toolkit/simulator_lib/machine.py
180
180
  toolkit/simulator_lib/micropython.py
181
181
  toolkit/simulator_lib/neopixel.py
182
182
  toolkit/simulator_lib/network.py
183
+ toolkit/simulator_lib/node_config.json
183
184
  toolkit/simulator_lib/ntptime.py
184
185
  toolkit/simulator_lib/onewire.py
185
186
  toolkit/simulator_lib/sim_console.py
@@ -18,7 +18,7 @@ dependencies = ['adafruit-ampy', 'mpremote', 'esptool', 'ipaddress', 'netaddr',
18
18
 
19
19
  setuptools.setup(
20
20
  name='micrOSDevToolKit',
21
- version='2.1.3',
21
+ version='2.1.4',
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)',
@@ -11,7 +11,6 @@ def check_all_extensions(path):
11
11
 
12
12
  def check_web_extensions(path):
13
13
  extension = path.split('.')[-1]
14
- print(f"|{extension}|")
15
14
  if extension in WEB_ONLY:
16
15
  return True
17
16
  return False
@@ -0,0 +1,7 @@
1
+ {"auth": false,
2
+ "devfid": "simulator",
3
+ "appwd": "ADmin123",
4
+ "webui": true,
5
+ "boothook": "dashboard_be load_n_init; neopixel load_n_init",
6
+ "aioqueue": 4,
7
+ "telegram": "n/a"}
@@ -12,6 +12,15 @@ from sim_console import console
12
12
  import micrOSloader
13
13
  import LocalMachine
14
14
 
15
+ ENABLE_SIM_CONFIG = True
16
+
17
+
18
+ def apply_sim_node_config():
19
+ if ENABLE_SIM_CONFIG:
20
+ print("Copy SIM config - for testing: enable webui, etc.")
21
+ sim_config = os.path.join(MYPATH, 'node_config.json')
22
+ LocalMachine.FileHandler().copy(sim_config, os.path.join(SIM_PATH))
23
+
15
24
 
16
25
  class micrOSIM():
17
26
  SIM_PROCESS_LIST = []
@@ -47,6 +56,8 @@ class micrOSIM():
47
56
  if trace:
48
57
  # Trace handling - DEBUG
49
58
  sys.settrace(trace_func)
59
+
60
+ apply_sim_node_config()
50
61
  micrOSloader.main()
51
62
 
52
63
  console("[micrOSIM] Stop micrOS ({})".format(SIM_PATH))
@@ -1,7 +1,5 @@
1
1
  from Common import rest_endpoint, syslog
2
- from sys import modules
3
2
 
4
- WIDGETS={}
5
3
  ENDPOINT_INITED = False
6
4
 
7
5
  def load_n_init():
@@ -29,27 +27,6 @@ def create_dashboard():
29
27
  return 'Endpoint created: /dashboard'
30
28
 
31
29
 
32
- def widget_list():
33
- """
34
- API HELPER: return custom widgets dict
35
- """
36
- return WIDGETS
37
-
38
-
39
-
40
- def widget_add(widget=None):
41
- """
42
- :param widget: {'OV2640': {'settings/saturation=': 'slider',
43
- 'settings/brightness=': <type>}}
44
- <type>: 'slider', 'button', 'box', 'h1', 'h2', 'p', etc...
45
- """
46
- global WIDGETS
47
- if not ENDPOINT_INITED:
48
- load_n_init() # auto-enable dashboard endpoint
49
- if isinstance(widget, dict):
50
- WIDGETS.update(widget)
51
-
52
-
53
30
  def help(widgets=False):
54
31
  """
55
32
  [i] micrOS LM naming convention - built-in help message
@@ -57,4 +34,4 @@ def help(widgets=False):
57
34
  (widgets=False) list of functions implemented by this application
58
35
  (widgets=True) list of widget json for UI generation
59
36
  """
60
- return 'load_n_init', 'create_dashboard', 'widget_list', 'widget_add', 'help'
37
+ return 'load_n_init', 'create_dashboard', 'help'
@@ -50,8 +50,6 @@
50
50
 
51
51
  // INIT DASHBOARD (load active modules -> build page)
52
52
  DynamicWidgetLoad();
53
- // INIT DASHBOARD (load custom widget commands -> build page)
54
- CustomWidgetLoad('dashboard_be/widget_list')
55
53
 
56
54
  // INIT [hidden] debug section
57
55
  document.getElementById('toggleDebugSection').addEventListener('click', function() {
@@ -36,27 +36,41 @@ function generateElement(type, data, options={}) {
36
36
  // data: rest command
37
37
  var container = document.getElementById('dynamicContent');
38
38
  var element;
39
- paragraph = document.createElement('p');
40
39
  if (type.toLowerCase() === 'slider') {
41
40
  // Create slider widget
42
- sliderWidget(container, paragraph, data, options)
41
+ sliderWidget(container, data, options)
43
42
  } else if (type.toLowerCase() === 'button') {
44
43
  // Create button widget
45
- buttonWidget(container, paragraph, data, options)
44
+ buttonWidget(container, data, options)
46
45
  } else if (type.toLowerCase() === 'box') {
47
46
  // Create textbox widget
48
- textBoxWidget(container, paragraph, data, options)
47
+ textBoxWidget(container, data, options)
49
48
  } else if (type.toLowerCase() === 'color') {
50
49
  // Create color palette widget
51
- colorPaletteWidget(container, paragraph, data, options)
50
+ colorPaletteWidget(container, data, options)
52
51
  } else {
53
52
  // Create other elements
53
+ paragraph = document.createElement('p');
54
54
  element = document.createElement(type);
55
55
  element.textContent = data;
56
56
  containerAppendChild([paragraph, element], container);
57
57
  }
58
58
  }
59
59
 
60
+ function autoTitleLen(widgets, func) {
61
+ try {
62
+ // Create function list for comparation
63
+ const funcNames = widgets.map(command => command.lm_call.split(' ')[0]);
64
+ // Count the occurrences of the func name
65
+ const count = funcNames.filter(word => word === func).length;
66
+ // Return 2 if count is greater than 1, otherwise return 1
67
+ return count > 1 ? 2 : 1;
68
+ } catch (error) {
69
+ console.error(error);
70
+ return 1;
71
+ }
72
+ }
73
+
60
74
  function craftModuleWidgets(module, widgets) {
61
75
  // Create ALL exposed module function widgets
62
76
  if (widgets.length === 0) {
@@ -75,18 +89,26 @@ function craftModuleWidgets(module, widgets) {
75
89
  if (type === 'slider') {
76
90
  html_type='slider';
77
91
  type_options['range'] = item.range;
92
+ type_options['title_len'] = autoTitleLen(widgets, lm_call.split('/')[0]);
78
93
  } else if (type === 'button' || type === 'toggle') {
79
94
  html_type='button';
80
95
  type_options['range'] = item.range;
96
+ type_options['title_len'] = autoTitleLen(widgets, lm_call.split('/')[0]);
81
97
  } else if (type === 'textbox') {
82
98
  html_type = 'box'
99
+ type_options['title_len'] = autoTitleLen(widgets, lm_call.split('/')[0]);
83
100
  } else if (type === 'color') {
84
101
  html_type = 'color'
102
+ type_options['title_len'] = autoTitleLen(widgets, lm_call.split('/')[0]);
85
103
  } else {
86
104
  console.log(`Unsupported micrOS widget html_type: ${type}`)
87
105
  return;
88
106
  }
89
- generateElement(type=html_type, data=`${module}/${lm_call}`, options=type_options);
107
+ try {
108
+ generateElement(type=html_type, data=`${module}/${lm_call}`, options=type_options);
109
+ } catch (error) {
110
+ console.error(error);
111
+ }
90
112
  })
91
113
  }
92
114
 
@@ -111,30 +133,4 @@ function DynamicWidgetLoad() {
111
133
  });
112
134
  }
113
135
 
114
-
115
- function CustomWidgetLoad(endpoint) {
116
- // INIT DASHBOARD (load custom widget commands -> build page)
117
- // endpoint: 'dashboard_be/widget_list' returns special dict
118
- restAPI(endpoint).then(commands => {
119
- console.log(commands.result)
120
- const widget_dict=commands.result;
121
- var opts = {};
122
- opts.title_len = 3;
123
- for (const module in widget_dict) {
124
- if (Object.hasOwnProperty.call(widget_dict, module)) {
125
- const innerObject = widget_dict[module];
126
- generateElement(type='h2', data=`🧬 ${module}`);
127
- // Iterate through the inner object
128
- for (const func in innerObject) {
129
- if (Object.hasOwnProperty.call(innerObject, func)) {
130
- const api_type = innerObject[func];
131
- const api_cmd = `${module}/${func}`;
132
- console.log(`Gen custom Type: ${api_type} Cmd: ${api_cmd}`);
133
- generateElement(type=api_type, data=api_cmd, options=opts);
134
- };};};}
135
- }).catch(error => {
136
- console.error(error);
137
- });
138
- }
139
-
140
136
  // craftModuleWidgets