micrOSDevToolKit 2.9.1__py3-none-any.whl → 2.9.6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of micrOSDevToolKit might be problematic. Click here for more details.
- micrOS/release_info/micrOS_ReleaseInfo/system_analysis_sum.json +19 -19
- micrOS/source/Common.py +1 -1
- micrOS/source/Config.py +6 -6
- micrOS/source/LM_pacman.py +248 -0
- micrOS/source/LM_rest.py +0 -1
- micrOS/source/LM_robustness.py +2 -2
- micrOS/source/LM_system.py +4 -16
- micrOS/source/LM_telegram.py +95 -61
- micrOS/source/Logger.py +51 -17
- micrOS/source/Notify.py +4 -3
- micrOS/source/Server.py +33 -39
- micrOS/source/Shell.py +72 -74
- micrOS/source/Web.py +22 -23
- micrOS/source/microIO.py +1 -2
- micrOS/source/reset.py +5 -1
- micrOS/source/urequests.py +12 -4
- {micrOSDevToolKit-2.9.1.data → micrOSDevToolKit-2.9.6.data}/scripts/devToolKit.py +3 -2
- {micrOSDevToolKit-2.9.1.dist-info → micrOSDevToolKit-2.9.6.dist-info}/METADATA +1 -1
- {micrOSDevToolKit-2.9.1.dist-info → micrOSDevToolKit-2.9.6.dist-info}/RECORD +57 -54
- toolkit/Gateway.py +2 -2
- toolkit/dashboard_apps/SystemTest.py +14 -12
- toolkit/index.html +4 -4
- toolkit/lib/TerminalColors.py +4 -0
- toolkit/lib/macroScript.py +6 -0
- toolkit/lib/micrOSClient.py +48 -21
- toolkit/lib/micrOSClientHistory.py +122 -0
- toolkit/micrOSlint.py +1 -1
- toolkit/simulator_lib/__pycache__/machine.cpython-312.pyc +0 -0
- toolkit/simulator_lib/__pycache__/uasyncio.cpython-312.pyc +0 -0
- toolkit/simulator_lib/__pycache__/uos.cpython-312.pyc +0 -0
- toolkit/simulator_lib/__pycache__/ussl.cpython-312.pyc +0 -0
- toolkit/simulator_lib/machine.py +4 -0
- toolkit/simulator_lib/node_config.json +1 -1
- toolkit/simulator_lib/uasyncio.py +7 -1
- toolkit/simulator_lib/uos.py +138 -0
- toolkit/socketClient.py +4 -4
- toolkit/workspace/precompiled/Common.mpy +0 -0
- toolkit/workspace/precompiled/Config.mpy +0 -0
- toolkit/workspace/precompiled/Espnow.mpy +0 -0
- toolkit/workspace/precompiled/LM_pacman.py +248 -0
- toolkit/workspace/precompiled/LM_rest.mpy +0 -0
- toolkit/workspace/precompiled/LM_robustness.py +2 -2
- toolkit/workspace/precompiled/LM_system.mpy +0 -0
- toolkit/workspace/precompiled/LM_telegram.mpy +0 -0
- toolkit/workspace/precompiled/Logger.mpy +0 -0
- toolkit/workspace/precompiled/Notify.mpy +0 -0
- toolkit/workspace/precompiled/Server.mpy +0 -0
- toolkit/workspace/precompiled/Shell.mpy +0 -0
- toolkit/workspace/precompiled/Web.mpy +0 -0
- toolkit/workspace/precompiled/_mpy.version +1 -1
- toolkit/workspace/precompiled/microIO.mpy +0 -0
- toolkit/workspace/precompiled/node_config.json +1 -1
- toolkit/workspace/precompiled/reset.mpy +0 -0
- toolkit/workspace/precompiled/urequests.mpy +0 -0
- micrOS/source/LM_lmpacman.py +0 -126
- toolkit/workspace/precompiled/LM_lmpacman.mpy +0 -0
- {micrOSDevToolKit-2.9.1.dist-info → micrOSDevToolKit-2.9.6.dist-info}/LICENSE +0 -0
- {micrOSDevToolKit-2.9.1.dist-info → micrOSDevToolKit-2.9.6.dist-info}/WHEEL +0 -0
- {micrOSDevToolKit-2.9.1.dist-info → micrOSDevToolKit-2.9.6.dist-info}/top_level.txt +0 -0
|
@@ -32,10 +32,10 @@ micrOS/micropython/esp32s3_spiram_oct-20231005-v1.21.0.bin,sha256=S-sv_QeL_Tylg1
|
|
|
32
32
|
micrOS/micropython/esp32s3_spiram_oct-20241129-v1.24.1.bin,sha256=VbOF_F0YeqttkQd2ePTW66Jd34RU8u9ccFfcv8kxO_U,1662672
|
|
33
33
|
micrOS/micropython/rpi-pico-w-20241129-v1.24.1.uf2,sha256=v4aYIbWaE94_f6DDzBWS-a9L1BzlcdkZwld9R7bOVA4,1727488
|
|
34
34
|
micrOS/micropython/tinypico-20241129-v1.24.1.bin,sha256=Kf3cr766a5SK99CZy8bwdWjwvAZxls3tBYvaHBsw7ac,1527200
|
|
35
|
-
micrOS/release_info/micrOS_ReleaseInfo/system_analysis_sum.json,sha256=
|
|
35
|
+
micrOS/release_info/micrOS_ReleaseInfo/system_analysis_sum.json,sha256=HthRfE-WxmLgKR7in-aiiQktnuOv3i_cIXQzvczuFfw,5760
|
|
36
36
|
micrOS/source/.DS_Store,sha256=1lFlJ5EFymdzGAUAaI30vcaaLHt3F1LwpG7xILf9jsM,6148
|
|
37
|
-
micrOS/source/Common.py,sha256=
|
|
38
|
-
micrOS/source/Config.py,sha256=
|
|
37
|
+
micrOS/source/Common.py,sha256=PAdtseGY6QxUM-5elOAcApUv8AwGQ_smsYex0FeV5w8,7937
|
|
38
|
+
micrOS/source/Config.py,sha256=E3OTMRI1_T94GMADcvG7MKiuGsKsnbLn17KXHcjhqXM,8795
|
|
39
39
|
micrOS/source/Debug.py,sha256=_7HZzZ2OKJrcNqeYsG1ZykBa6iN8YTj-K5FFXlEAcRw,5300
|
|
40
40
|
micrOS/source/Espnow.py,sha256=5B71XVm19byydMuhLmg-ij8uNmfMSAaRNi4iytvFN08,3715
|
|
41
41
|
micrOS/source/Hooks.py,sha256=GyFAVpWJPEnRsqhoGMnmXJNTgFRE6S3mGKfKX6-TvQg,3582
|
|
@@ -77,69 +77,69 @@ micrOS/source/LM_intercon.py,sha256=BRk8o2ksGdYTSrykTsXdkrncQZWsFYbQDHQjkwl-uy0,
|
|
|
77
77
|
micrOS/source/LM_keychain.py,sha256=Rn4bXsgXqjLc6AAsSdSLDSUER-fNLRG-mD9PTRNhJvg,12701
|
|
78
78
|
micrOS/source/LM_ld2410.py,sha256=TEfTzzna9v-CRbL35ajSJcEVsd631UrjP1bcJwFrgj4,6533
|
|
79
79
|
micrOS/source/LM_light_sensor.py,sha256=ruItqLdhhZglJkJ67SSlei17zZOWfEJRH2pTtG87QCU,4675
|
|
80
|
-
micrOS/source/LM_lmpacman.py,sha256=5nwORfYJHhFtkjeqSXFkrmxIYkxvB78bxRKEtqt5zRU,4056
|
|
81
80
|
micrOS/source/LM_neoeffects.py,sha256=kfReEz9pTB0GRSat6--86PZtjfiT_S9ilfb-igt-bbg,10929
|
|
82
81
|
micrOS/source/LM_neopixel.py,sha256=ZLy0bTW_emsFMYTCtg1RtyzgKya6nJlRMW59zOXLQvo,13367
|
|
83
82
|
micrOS/source/LM_oled.py,sha256=ZIzzKp86i-Cph8D6WiX5GQuPB2qZvRi4H1llctI-DME,9912
|
|
84
83
|
micrOS/source/LM_oled_sh1106.py,sha256=y5YttuexaRYbh4h-cz1rKqgFsRilIJjJWUMzro7nSXY,11738
|
|
85
84
|
micrOS/source/LM_oled_ui.py,sha256=6MRY9YtY-d6biMb88Rd1cdfmt1hFisCn8olgQhvZ8Ns,21616
|
|
86
85
|
micrOS/source/LM_oledui.py,sha256=hYt_3hWPdrZBOreVdupJxHhk9-xHkmuiqmEIA08mB2M,35407
|
|
86
|
+
micrOS/source/LM_pacman.py,sha256=k_R0X0YGkRc6-NoF5fvqng7lD5RNmV-rsVa-uBcrleE,8227
|
|
87
87
|
micrOS/source/LM_pet_feeder.py,sha256=ILrozpnq2_ckkVDUROysMWRksKjflsKpIHvgHdvn-JA,2572
|
|
88
88
|
micrOS/source/LM_ph_sensor.py,sha256=yj3rvVbxQr16_zpRBZudMW9eNm1pIhqvk4m8f9MWGKU,1364
|
|
89
89
|
micrOS/source/LM_presence.py,sha256=OqfmBo4qxVMxE6hEWJeQVwISaL8dUS3Z3a-QXX3rIEg,8855
|
|
90
90
|
micrOS/source/LM_rencoder.py,sha256=IPGQP5LhcJMpU-gCTe7e-IjB3GZAC4C2SfMNG00tsGg,3982
|
|
91
|
-
micrOS/source/LM_rest.py,sha256=
|
|
91
|
+
micrOS/source/LM_rest.py,sha256=NmkAPcSCIc_eSNYMy64Kb4fa4_JEpNXkmCSXF_zEkNk,2673
|
|
92
92
|
micrOS/source/LM_rgb.py,sha256=iqyMgpkRis4JSiknzRpQAyMNhC-OhFuRh4FsIu-5HTA,12064
|
|
93
93
|
micrOS/source/LM_rgbcct.py,sha256=Ct0X_O0AuSTsf4YiZjP4Zvke81y6dQMryhcn-HKkR9M,1841
|
|
94
94
|
micrOS/source/LM_roboarm.py,sha256=V7NX0nJuU9ZQuNH-r-FnjKcKH1a-qHBdVwMJzAN6Sv0,9967
|
|
95
|
-
micrOS/source/LM_robustness.py,sha256=
|
|
95
|
+
micrOS/source/LM_robustness.py,sha256=JagbG1X-SQynIh1cdqiH_HrSZR-vnfB0XyDw9k_rwv4,2168
|
|
96
96
|
micrOS/source/LM_rp2w.py,sha256=vdN-gxc38-WI4XK6MMz3FBPYmLdUSjEyB6JuKR_slbM,391
|
|
97
97
|
micrOS/source/LM_sdcard.py,sha256=y7pB35Xqb0EporESZ6_wHTUe8ez_R2ud_mwdh-wC-30,1030
|
|
98
98
|
micrOS/source/LM_servo.py,sha256=Dh4R70DJHS4wifk_S89htI4ATBGsb7Oy5zNTYVOVP0E,3490
|
|
99
99
|
micrOS/source/LM_sound_event.py,sha256=9BZnrT8Jc2HL-28yVZE5sdeTa8Biq1qkQiTJsTw8y08,27500
|
|
100
100
|
micrOS/source/LM_stepper.py,sha256=LXUUyVPps4xYOedJsG4Th9nyNzHCd2Treue7rreEDnY,4293
|
|
101
101
|
micrOS/source/LM_switch.py,sha256=GQz0HwOhgOWVXQ4eTyQY7amNizvO0eSHFF46xMdR43I,7834
|
|
102
|
-
micrOS/source/LM_system.py,sha256=
|
|
103
|
-
micrOS/source/LM_telegram.py,sha256=
|
|
102
|
+
micrOS/source/LM_system.py,sha256=4roohSqd9VefNRx_BWBJOVkVuv4J5nK1fsqIZmwhkYw,6529
|
|
103
|
+
micrOS/source/LM_telegram.py,sha256=n5mZeompavjfFXyCUiHYmmeusY-rJRuVbWOb9tNOZ4E,14848
|
|
104
104
|
micrOS/source/LM_tinyrgb.py,sha256=kChL607HPTl3Z2hYN2XnzXXfZ6omdP78PQutHdbdfCo,3031
|
|
105
105
|
micrOS/source/LM_trackball.py,sha256=pVnL_GoXUbqwT6sflqysFWmamVGZOZwHPphrLt5MZXw,9728
|
|
106
106
|
micrOS/source/LM_veml7700.py,sha256=p2NXb5o5c_tM68rBfbgcfxBR31-BY2jGS2JVF3AYBfk,5771
|
|
107
|
-
micrOS/source/Logger.py,sha256=
|
|
107
|
+
micrOS/source/Logger.py,sha256=CtmjmQc9hzCystEzY0AtopjRnSy5T6AdWwpj2KTmGWg,3942
|
|
108
108
|
micrOS/source/Network.py,sha256=wLhAPiRyi376TKJA7tzCQidDBHq-AbZGGp7JabHIyl8,9417
|
|
109
|
-
micrOS/source/Notify.py,sha256=
|
|
109
|
+
micrOS/source/Notify.py,sha256=OhjdDK3Gq9lPlbuM7sV36ZDUKnRg2-gTlAH8KbInLfs,2493
|
|
110
110
|
micrOS/source/Scheduler.py,sha256=K6fw807UJnOmbfzgeJQGzGbTL4s2sTIB120ZcS5qrLs,9648
|
|
111
|
-
micrOS/source/Server.py,sha256=
|
|
112
|
-
micrOS/source/Shell.py,sha256
|
|
111
|
+
micrOS/source/Server.py,sha256=P8cGFbh0cJU-raUrFMSLUgMzKs9OddKiIrcBWQyOQt8,16234
|
|
112
|
+
micrOS/source/Shell.py,sha256=HcdRu9cmutodL7k7_pQOhLvLuIHpcyoVPyRsK_PbGSk,12389
|
|
113
113
|
micrOS/source/Tasks.py,sha256=YMYt86TWnUBWa8j1DQjbOavYpktCizzfZXaKXrb6Fmo,22498
|
|
114
114
|
micrOS/source/Time.py,sha256=96XMJjHCPwQ2qNuBD2Un7FXxzXZNbV1xCQn-RujsggU,6351
|
|
115
115
|
micrOS/source/Types.py,sha256=3O_Vb1jN92RPtvgbV8ui6_iFzDOD-BUzVXlPB7PgmM4,3507
|
|
116
|
-
micrOS/source/Web.py,sha256=
|
|
116
|
+
micrOS/source/Web.py,sha256=BAp7mFYzJwmzUGFc6O7DZDDKKPGjgW5EY5lRcfx-SU0,8893
|
|
117
117
|
micrOS/source/dashboard.html,sha256=xBZOZ8AMO55QheuZ41Sl0Arvb44qnnai9D67A8YxlVE,2641
|
|
118
118
|
micrOS/source/index.html,sha256=cv0hap5bhBoRR_z1KALC3fbjH2rQZY9JJPfF-dxVclw,1656
|
|
119
119
|
micrOS/source/main.py,sha256=cVlhoWwU9dSKEol0HWPihFAPzrUUvzSGwZNNMrpyfSY,440
|
|
120
120
|
micrOS/source/micrOS.py,sha256=3PQR7_xNLsI7KJtPJQUudIgpL2JIe7pctCjXH-bwFtA,2556
|
|
121
121
|
micrOS/source/micrOSloader.py,sha256=mJjaysDm-60afaICr-TfPLqMT-3r_azGxE1ShYrDKeQ,4795
|
|
122
|
-
micrOS/source/microIO.py,sha256=
|
|
123
|
-
micrOS/source/reset.py,sha256=
|
|
122
|
+
micrOS/source/microIO.py,sha256=gMJUqvWLPLBAXlmeqvfCyXGb9UAqeJpKq5y8ADcHEZw,6218
|
|
123
|
+
micrOS/source/reset.py,sha256=i7wsPkOXE7Mm0xOiw1CjqCvCdNjBvYswn9CRDvE2VbE,248
|
|
124
124
|
micrOS/source/uapi.js,sha256=fZ0E9-ZndCoUNQq1yJ7yUCiLYxe3p8hzSFnlN2R9roc,2959
|
|
125
125
|
micrOS/source/udashboard.js,sha256=42mPR_NU3jOqUgLi7yZv2L7bN6uGqw9LpScDrGGF58c,4581
|
|
126
|
-
micrOS/source/urequests.py,sha256=
|
|
126
|
+
micrOS/source/urequests.py,sha256=h4HL4d6Vl_3DHhG_b6lmxBnqrA6YimBs6ai3q6y3JSw,8853
|
|
127
127
|
micrOS/source/ustyle.css,sha256=P-s8ENwAcWoZi5bocrK3_kVzEjaRFKtFvEF6JRh4MBY,1429
|
|
128
128
|
micrOS/source/uwidgets.js,sha256=BGeUSbNHn6PClgIgIE6QszwQVJ6j7lzgCBwvIX8cYgo,6631
|
|
129
129
|
micrOS/source/uwidgets_pro.js,sha256=gbkk3SVttEVvDCwde-pJhAh4k7GuCFPdcWNq32pcKPE,3639
|
|
130
|
-
micrOSDevToolKit-2.9.
|
|
130
|
+
micrOSDevToolKit-2.9.6.data/scripts/devToolKit.py,sha256=WuPc3esCEtw9lN20nEsNUh4EaZEnb62GAtxDOFbVugA,10771
|
|
131
131
|
toolkit/DevEnvCompile.py,sha256=H19-60ZpHzP30C-wqR5QTzMDHHpWrTk0Uzh--TZHxvw,12148
|
|
132
132
|
toolkit/DevEnvOTA.py,sha256=OkEtO5cpym-kEgGpE3TQbyZ-nQOzZpGzbFdbgCibe7I,25356
|
|
133
133
|
toolkit/DevEnvUSB.py,sha256=-Fdigxi8asEJG4npQpvbpgjHhESq0gz0rL6lthRupVA,33848
|
|
134
|
-
toolkit/Gateway.py,sha256=
|
|
134
|
+
toolkit/Gateway.py,sha256=OSsJYeAmFhNnb1uu2bjLvZzE3A32O7lza8-NxlGr1DQ,25335
|
|
135
135
|
toolkit/LM_to_compile.dat,sha256=iLUISab186sbCiiocDllbZhnVnHKK_WAQcAJi7hD0y4,581
|
|
136
136
|
toolkit/MicrOSDevEnv.py,sha256=XqR7ZTPp-M6s36mH7-slwt_gk2ybqd0daX9qOrBqJMw,12922
|
|
137
137
|
toolkit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
138
138
|
toolkit/img_stream.html,sha256=ZGyrUgpi-JhMl4euS-TTjwwGrg66a2pGUQCopWiveds,5135
|
|
139
|
-
toolkit/index.html,sha256=
|
|
139
|
+
toolkit/index.html,sha256=agTgT1d4FH8l2h47Hfb4Lv061BW9shsCAgq1abO5hlI,10998
|
|
140
140
|
toolkit/micrOSdashboard.py,sha256=SOBzGU1b-NIn40GMd2gE01Fuo8HZP5d1XyVG24RkPeA,54433
|
|
141
|
-
toolkit/micrOSlint.py,sha256=
|
|
142
|
-
toolkit/socketClient.py,sha256=
|
|
141
|
+
toolkit/micrOSlint.py,sha256=8Oi6y9_3E0R6NZRTI5EpX_Z_9Y3AW_PuCYume-7UsDc,25105
|
|
142
|
+
toolkit/socketClient.py,sha256=fUx5Wuy76sboIwYxKsY52Si6F2G7q06iVwb3pTwnXvI,18624
|
|
143
143
|
toolkit/dashboard_apps/AirQualityBME280.py,sha256=ufYAn_eFpCIcNSQUW6AGQN6Uh_5A3xVqSyoWegUNBuY,747
|
|
144
144
|
toolkit/dashboard_apps/AirQualityDHT22_CO2.py,sha256=TG8Wkx7WOaGM1rpqD6t2rKFES0aqdCJvK-f5I5IK3a4,749
|
|
145
145
|
toolkit/dashboard_apps/BackupRestore.py,sha256=zRkj6KDFnO9Cj6QUpE0Av39OQZcI8CycQcrqbvWBHqU,6339
|
|
@@ -156,7 +156,7 @@ toolkit/dashboard_apps/PresenceTest.py,sha256=MnWjqh3W3qAR9pKdjrOfx74numQw6-acrR
|
|
|
156
156
|
toolkit/dashboard_apps/RGBTest.py,sha256=x9ehV6EGH2B4syKGEQrZQbMy1pBsB1M6in8idJ73Jrw,3920
|
|
157
157
|
toolkit/dashboard_apps/RoboArm.py,sha256=STFIYYy0Li6gLdJx7eu3FZOucF_f5jupHVNFzU-Ta-Q,2084
|
|
158
158
|
toolkit/dashboard_apps/SED_test.py,sha256=ASVRcoVQiS80tvjQHBnXd69aAioJ4lt_UnL1KAy01sM,2782
|
|
159
|
-
toolkit/dashboard_apps/SystemTest.py,sha256=
|
|
159
|
+
toolkit/dashboard_apps/SystemTest.py,sha256=yumLiYMPQcJUfSIrmTv1FuWjmyZE_k9qilxwXdVNo-s,21912
|
|
160
160
|
toolkit/dashboard_apps/Template_app.py,sha256=fKF43E-XqibavvjUrCQzG-kMSTCe-sb3ckbLwDgGuTc,1002
|
|
161
161
|
toolkit/dashboard_apps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
162
162
|
toolkit/dashboard_apps/_capture.py,sha256=75aS8ajhEYWNqoG2DwQgqJyArMouGHZNN-0mo1RH9bU,3076
|
|
@@ -167,11 +167,12 @@ toolkit/lib/LocalMachine.py,sha256=m5xaWRx1PumKFLQ5_O8vVxC4NTclF1h9J3__pK8N-C4,1
|
|
|
167
167
|
toolkit/lib/SafeInput.py,sha256=gMXsMalPcFCwlN6niJlG2twOHfoGsEgHL9-Uh2YQJHE,855
|
|
168
168
|
toolkit/lib/SearchDevices.py,sha256=1nnJDwo_U5cCN2xsdNUT6EQqdt2fW-qAWXWzyzXzyyc,5813
|
|
169
169
|
toolkit/lib/SerialDriverHandler.py,sha256=Zn0zeq4mshTMVc6fzycvrOZiKt6w6YOxJcTWw3BMN2M,7344
|
|
170
|
-
toolkit/lib/TerminalColors.py,sha256=
|
|
170
|
+
toolkit/lib/TerminalColors.py,sha256=Ly_8o9-eBmka1dqA2M3DBlcd1zvCCO2K_BnQ1XbqxcE,947
|
|
171
171
|
toolkit/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
172
172
|
toolkit/lib/file_extensions.py,sha256=0DpayBGjKQg7y2ZGJXf5wVPnre_4C5j-7YIViNGvYz4,372
|
|
173
|
-
toolkit/lib/macroScript.py,sha256=
|
|
174
|
-
toolkit/lib/micrOSClient.py,sha256=
|
|
173
|
+
toolkit/lib/macroScript.py,sha256=DQR8cFoks7fa0dgRUfGhTpEdUJWNQ1vikRoqukRKx14,14014
|
|
174
|
+
toolkit/lib/micrOSClient.py,sha256=LmNI-FF-UjuxSVGWNnAt-eRmXI0a6P5tcPV_cI0uiRI,18360
|
|
175
|
+
toolkit/lib/micrOSClientHistory.py,sha256=EyCqbFeMy940bfXq4Yfu8dcvb7GnBvuHHxOAIgmW1FQ,4736
|
|
175
176
|
toolkit/lib/pip_package_installer.py,sha256=jpC-y1KR72_PJlqyUR6-U5b6l1szVqnIZ4nrSgUsOTM,4262
|
|
176
177
|
toolkit/simulator_lib/.DS_Store,sha256=1lFlJ5EFymdzGAUAaI30vcaaLHt3F1LwpG7xILf9jsM,6148
|
|
177
178
|
toolkit/simulator_lib/IO_darwin.py,sha256=f8HOfQKJvniShvjpBe6f4nisr6oJd9SnvxPsbdNIGQk,2336
|
|
@@ -181,18 +182,19 @@ toolkit/simulator_lib/dotstar.py,sha256=Le6RvSAz3byjiF2RX4JWB8LVsNQtfMqPfM47fg-Y
|
|
|
181
182
|
toolkit/simulator_lib/ds18x20.py,sha256=PkOa4444X83-Y7mWjpHFu8DJ9dVfzOr-xQ4iOhpqYDk,193
|
|
182
183
|
toolkit/simulator_lib/esp32.py,sha256=JUI4dnyb7aZG_mkdw3u7neBu9uUEgRzyS0KbIx_79_c,71
|
|
183
184
|
toolkit/simulator_lib/framebuf.py,sha256=8ELo1k58qN5fAZ2hQqX_SRdOxYPc1CNED8geSvHDwPo,47
|
|
184
|
-
toolkit/simulator_lib/machine.py,sha256=
|
|
185
|
+
toolkit/simulator_lib/machine.py,sha256=ezx7eA45Ke5-oze5SUV8z0TjebHWgbKt6AkyiphdrFY,5317
|
|
185
186
|
toolkit/simulator_lib/micropython.py,sha256=VTbTE-XxzdQrWoO_Q_a5vERaVT9nDMaLbI1JiCTHCPE,989
|
|
186
187
|
toolkit/simulator_lib/neopixel.py,sha256=lbI9Xl0GyytXtePM22TpnhgsDW0X6NdRxyyv0bfjR04,567
|
|
187
188
|
toolkit/simulator_lib/network.py,sha256=vMfgmny9wn1Po7MXX-_WTR09ZRNUXehk_SMbG99U2dc,2490
|
|
188
|
-
toolkit/simulator_lib/node_config.json,sha256=
|
|
189
|
+
toolkit/simulator_lib/node_config.json,sha256=bYEbzpIXVoXpMLloEmvOKzvtqT0pKzAQ8WYNsEnWpiM,243
|
|
189
190
|
toolkit/simulator_lib/ntptime.py,sha256=8nyRBpQQH28_i8Y3zeJYO0oh7OoB8o4fmixBvvHyxn0,109
|
|
190
191
|
toolkit/simulator_lib/onewire.py,sha256=WgYl_1Rxo03eR-4up1Q3HCl9g6o-7LezUYqwT8rkhTQ,77
|
|
191
192
|
toolkit/simulator_lib/sim_console.py,sha256=VhYTjyONgAMXj_kCSEB85Y1-KQ--rS39tKCbkwdtBOg,943
|
|
192
193
|
toolkit/simulator_lib/simgc.py,sha256=qaYlZKW48ciIglgYxZt9ZxRUyThskhoQqke_A_bfIyo,989
|
|
193
194
|
toolkit/simulator_lib/simulator.py,sha256=-qgwcGwFFUgyIZ6CzpxQMgKDFUVAY_rDWA-4XwlJLCg,7688
|
|
194
195
|
toolkit/simulator_lib/tinypico.py,sha256=z6B0743-7Cg8ISa7q7kljvKi0DGoegWus3HbiaOGU3E,156
|
|
195
|
-
toolkit/simulator_lib/uasyncio.py,sha256=
|
|
196
|
+
toolkit/simulator_lib/uasyncio.py,sha256=4ENv435IIr56x5IWeJUr1-QdczBBVG1zFr3-H2VDSpw,822
|
|
197
|
+
toolkit/simulator_lib/uos.py,sha256=QJFXf2wW-U_2Iuzw2b38h9t6pihWpDd02368Ofmb0V4,3508
|
|
196
198
|
toolkit/simulator_lib/usocket.py,sha256=7cqbG03yW5wySY1yCdFRbjDgDvbFqpU1otNJxyedaGU,347
|
|
197
199
|
toolkit/simulator_lib/ussl.py,sha256=yBXPRGKIWwBRQFcKwciHCDfTj69bgfswH0WSrk3Zhjg,601
|
|
198
200
|
toolkit/simulator_lib/ustruct.py,sha256=XEcN7BdO_dDw2j5fDNzv-McTGPC0kObt1LJ2KU1Kpm8,136
|
|
@@ -216,7 +218,7 @@ toolkit/simulator_lib/__pycache__/esp32.cpython-39.pyc,sha256=9BPjuqlQ1A0wUHUq3e
|
|
|
216
218
|
toolkit/simulator_lib/__pycache__/framebuf.cpython-312.pyc,sha256=kuAZ1nWTZ17Q_r5Qnez2K5F_VC0O_fLd1Rph_b59HRQ,348
|
|
217
219
|
toolkit/simulator_lib/__pycache__/framebuf.cpython-38.pyc,sha256=GD_dpNCxLu2h2hhnm2C6QFWy0v_xXmlWPzyon6lX91c,319
|
|
218
220
|
toolkit/simulator_lib/__pycache__/framebuf.cpython-39.pyc,sha256=YxjMmXPgZBDAXgYG6xRZHQ2x1v9GBzHR7dgbJe4Pxvw,319
|
|
219
|
-
toolkit/simulator_lib/__pycache__/machine.cpython-312.pyc,sha256=
|
|
221
|
+
toolkit/simulator_lib/__pycache__/machine.cpython-312.pyc,sha256=huwsG3mIcnBUBHFaVF-tWHHzrh-i7pL1W2mjINVYcJc,11646
|
|
220
222
|
toolkit/simulator_lib/__pycache__/machine.cpython-38.pyc,sha256=FZ-Xb6N80NaftyXGKKQvGIjNNkZX2XNtn3WLUsSdUcw,6832
|
|
221
223
|
toolkit/simulator_lib/__pycache__/machine.cpython-39.pyc,sha256=jmaaD2crvtv4kvrWNf83r7-i7YsAVAlgHKPtilPF5Ag,7455
|
|
222
224
|
toolkit/simulator_lib/__pycache__/micropython.cpython-312.pyc,sha256=HgMTdM9h8iFk0oRTsL750uz9big9360cAsvHEIL7fcE,1868
|
|
@@ -244,11 +246,12 @@ toolkit/simulator_lib/__pycache__/simulator.cpython-39.pyc,sha256=RCw0QKqOJej8Ej
|
|
|
244
246
|
toolkit/simulator_lib/__pycache__/tinypico.cpython-312.pyc,sha256=sM7BQyYRn2KQGxCl_YMIed8qDXg7_714Gh-wmrq94Jg,473
|
|
245
247
|
toolkit/simulator_lib/__pycache__/tinypico.cpython-38.pyc,sha256=KDFe6FSwmSkEyQra5_AX4wcyNs9yzZR-li5Ti-wVlJY,450
|
|
246
248
|
toolkit/simulator_lib/__pycache__/tinypico.cpython-39.pyc,sha256=VPvz9Caomn5rtrRQrbn0VRnIWKVM5xPdynqHB-Lzj5o,450
|
|
247
|
-
toolkit/simulator_lib/__pycache__/uasyncio.cpython-312.pyc,sha256=
|
|
249
|
+
toolkit/simulator_lib/__pycache__/uasyncio.cpython-312.pyc,sha256=ihShEcyfAQVtDTWDcsx3rENRGWKlw4ZLo90OTt_opCQ,2112
|
|
248
250
|
toolkit/simulator_lib/__pycache__/uasyncio.cpython-38.pyc,sha256=F9FU77fFSaOYcAsDiMTQbOIaQ9bKeI1HuAqLZCjNIfk,976
|
|
249
251
|
toolkit/simulator_lib/__pycache__/uasyncio.cpython-39.pyc,sha256=OMX0MlM7Y4WWePolE-QTVMoKn1yQnQHxvpsb42JErcI,1355
|
|
252
|
+
toolkit/simulator_lib/__pycache__/uos.cpython-312.pyc,sha256=n72JhneQF_KBwEZEoUUiZfziqZPvpNW8xKf0dr3ewQM,6005
|
|
250
253
|
toolkit/simulator_lib/__pycache__/usocket.cpython-312.pyc,sha256=rAKwfzQXhHGDSvCYyRcohNbb1dzKxZHZ2EGrSF-B8L0,842
|
|
251
|
-
toolkit/simulator_lib/__pycache__/ussl.cpython-312.pyc,sha256=
|
|
254
|
+
toolkit/simulator_lib/__pycache__/ussl.cpython-312.pyc,sha256=ZffWjvpL_43ihw5Rb4dGQ-8a7s3r5G-6ZvX8LixPCjU,1019
|
|
252
255
|
toolkit/simulator_lib/__pycache__/ustruct.cpython-312.pyc,sha256=T_xaVNR9vCkHsrkuBOB9jKzx9HPGo1I3GeSO20b2kRI,516
|
|
253
256
|
toolkit/simulator_lib/__pycache__/ustruct.cpython-39.pyc,sha256=ObF5TIjKNMYU0NhDNZNVPPUfhSiU00hMFkqDc7qD64Q,407
|
|
254
257
|
toolkit/simulator_lib/__pycache__/utime.cpython-312.pyc,sha256=aIV_OTkZf2zj-yN-k2VzTsd1LFLG3AF84tHxJZUAUVo,2260
|
|
@@ -263,10 +266,10 @@ toolkit/user_data/webhooks/macro.py,sha256=E_Um6fc9P6sBKvChyrKgksHmBmaFUuq_Xxy8I
|
|
|
263
266
|
toolkit/user_data/webhooks/template.macro,sha256=XikSl3FsD6W9pUx3sqavM5tWIMBquFx9f3bh_CB8k-A,631
|
|
264
267
|
toolkit/user_data/webhooks/template.py,sha256=WssXY2BDKIwvObq0SpFCjjpEGzgbLlozFTug4ANswWM,342
|
|
265
268
|
toolkit/workspace/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
266
|
-
toolkit/workspace/precompiled/Common.mpy,sha256=
|
|
267
|
-
toolkit/workspace/precompiled/Config.mpy,sha256=
|
|
269
|
+
toolkit/workspace/precompiled/Common.mpy,sha256=2bUIMJPc9AAVGtgzI_6DaNqF6T-kLyyd4Ys_yjrgI9A,2140
|
|
270
|
+
toolkit/workspace/precompiled/Config.mpy,sha256=A9ew69drKFA0SbfIvuTdeaXZQSvmwX0gDlnQa_8i-IE,3082
|
|
268
271
|
toolkit/workspace/precompiled/Debug.mpy,sha256=OpoE-QcllAnASSnAC0V364G7zHjbYI_0jSPzPRBhWkI,1823
|
|
269
|
-
toolkit/workspace/precompiled/Espnow.mpy,sha256=
|
|
272
|
+
toolkit/workspace/precompiled/Espnow.mpy,sha256=xijE776bBk_rFmm-7mtlhbcp-x4HsJFJbF60D1hwdpQ,1437
|
|
270
273
|
toolkit/workspace/precompiled/Hooks.mpy,sha256=qFpJrST1zIDwm16NvvWwDA982X_FDgm_fH38G1wQays,1438
|
|
271
274
|
toolkit/workspace/precompiled/IO_esp32.mpy,sha256=ojJXxhRX6V8ubT1cFXpYlhHB1NplNrT2bTi247CXFrc,661
|
|
272
275
|
toolkit/workspace/precompiled/IO_esp32c3.mpy,sha256=VFbiQWpnefXO5LirEb_Nfz1286UeAbvcmE3Z8_vupTs,403
|
|
@@ -306,60 +309,60 @@ toolkit/workspace/precompiled/LM_intercon.mpy,sha256=tmumM6s9WZquQ9dpvXb7NGBdJOC
|
|
|
306
309
|
toolkit/workspace/precompiled/LM_keychain.mpy,sha256=NVrmDDV6vqxVo2MBTM_eEsvQLKx3zDrzXyFEXI0j4r4,3630
|
|
307
310
|
toolkit/workspace/precompiled/LM_ld2410.mpy,sha256=DldvouxAij0E_YCXz7u9wk9vLEz4PHipy4iFqmDtHns,2584
|
|
308
311
|
toolkit/workspace/precompiled/LM_light_sensor.mpy,sha256=pZeR6TMwO_8yHMFJi2jsVSl067gdLoTwzR_fG4iLuZg,1514
|
|
309
|
-
toolkit/workspace/precompiled/LM_lmpacman.mpy,sha256=Di0r-foD3i25F--60STtr2MogRtfYTMWs-XuuXCDDg0,1886
|
|
310
312
|
toolkit/workspace/precompiled/LM_neoeffects.mpy,sha256=lO0sxfiAgyASgYNjX3c_usY3TR9WeT3F2NHJkiJ182U,3091
|
|
311
313
|
toolkit/workspace/precompiled/LM_neopixel.mpy,sha256=h-YJrzez80r2vY7NPRLid3-yMN3fH0pxNPShEOGowAQ,3674
|
|
312
314
|
toolkit/workspace/precompiled/LM_oled.mpy,sha256=z1R9HIWvPGwibNocDrgVwZSgErGv2ptXUv3piCsdXL8,3157
|
|
313
315
|
toolkit/workspace/precompiled/LM_oled_sh1106.mpy,sha256=tgnNSB2jkaYjqS7uMSZMqW6Gp9Dtjiv_YgVJAUptxBY,3764
|
|
314
316
|
toolkit/workspace/precompiled/LM_oled_ui.mpy,sha256=UgY2UQGfXQa5UsrGprRLDylhF0cjN5KFjuNsHV8UMPg,6823
|
|
315
317
|
toolkit/workspace/precompiled/LM_oledui.mpy,sha256=bSNnW6rlts7KM3YY-dTV34gG5r5zJMYvsqQorPb191E,11555
|
|
318
|
+
toolkit/workspace/precompiled/LM_pacman.py,sha256=k_R0X0YGkRc6-NoF5fvqng7lD5RNmV-rsVa-uBcrleE,8227
|
|
316
319
|
toolkit/workspace/precompiled/LM_pet_feeder.py,sha256=ILrozpnq2_ckkVDUROysMWRksKjflsKpIHvgHdvn-JA,2572
|
|
317
320
|
toolkit/workspace/precompiled/LM_ph_sensor.py,sha256=yj3rvVbxQr16_zpRBZudMW9eNm1pIhqvk4m8f9MWGKU,1364
|
|
318
321
|
toolkit/workspace/precompiled/LM_presence.mpy,sha256=hi_dZV6SH5JwpxVcO8twEmYtKM1LgRMR258lIWyyssc,2745
|
|
319
322
|
toolkit/workspace/precompiled/LM_rencoder.py,sha256=IPGQP5LhcJMpU-gCTe7e-IjB3GZAC4C2SfMNG00tsGg,3982
|
|
320
|
-
toolkit/workspace/precompiled/LM_rest.mpy,sha256=
|
|
323
|
+
toolkit/workspace/precompiled/LM_rest.mpy,sha256=U-2Pihzos6A2xLtcE33qWW6qtoYLH2UM_ZN8LmRrexg,1036
|
|
321
324
|
toolkit/workspace/precompiled/LM_rgb.mpy,sha256=bJcTyyLQVwcr90pqI2P4lc0Zb0BKieNeKf5KoNDX-A0,3505
|
|
322
325
|
toolkit/workspace/precompiled/LM_rgbcct.mpy,sha256=7UKvHyQ-rqHG1jzZTWcNaxZVcwL4hak3dOAGMYjf-OA,624
|
|
323
326
|
toolkit/workspace/precompiled/LM_roboarm.mpy,sha256=OahB57_MvUoztQ28q7d3KXsQK8_DKyvUJpo3GvftIr8,3222
|
|
324
|
-
toolkit/workspace/precompiled/LM_robustness.py,sha256=
|
|
327
|
+
toolkit/workspace/precompiled/LM_robustness.py,sha256=JagbG1X-SQynIh1cdqiH_HrSZR-vnfB0XyDw9k_rwv4,2168
|
|
325
328
|
toolkit/workspace/precompiled/LM_rp2w.py,sha256=vdN-gxc38-WI4XK6MMz3FBPYmLdUSjEyB6JuKR_slbM,391
|
|
326
329
|
toolkit/workspace/precompiled/LM_sdcard.py,sha256=y7pB35Xqb0EporESZ6_wHTUe8ez_R2ud_mwdh-wC-30,1030
|
|
327
330
|
toolkit/workspace/precompiled/LM_servo.mpy,sha256=DrMC909UMdGRF5Vtg1MB3Ku0yGIcs-BPz-6cCI-nK8Y,1147
|
|
328
331
|
toolkit/workspace/precompiled/LM_sound_event.mpy,sha256=QJ5xmKtK2sfA9lyROJRRpSAjypl10MkwLdW-QsXhRf8,7384
|
|
329
332
|
toolkit/workspace/precompiled/LM_stepper.mpy,sha256=ROGcr3DUrjrxPWLhuJDdf1p2jzmJy63g-NohWY1YRRk,1469
|
|
330
333
|
toolkit/workspace/precompiled/LM_switch.mpy,sha256=iMnlQZuHvg5UW2ujAfQr_LBPVtyLWzkjYT8yfbCKlgQ,2240
|
|
331
|
-
toolkit/workspace/precompiled/LM_system.mpy,sha256=
|
|
332
|
-
toolkit/workspace/precompiled/LM_telegram.mpy,sha256=
|
|
334
|
+
toolkit/workspace/precompiled/LM_system.mpy,sha256=bSq9C615p3fL5f-RkHZaiipNFDiNnqnM5uV4ewMRKgs,2796
|
|
335
|
+
toolkit/workspace/precompiled/LM_telegram.mpy,sha256=5Y-YrdYjBLN7gmIqlE6WhbWhA3Dak4IVd7j_FQYOQho,4877
|
|
333
336
|
toolkit/workspace/precompiled/LM_tinyrgb.mpy,sha256=qWR-e8DXuzmstxQlyic0YjwFaGiBBBWpf57Wyn1jjFc,1016
|
|
334
337
|
toolkit/workspace/precompiled/LM_trackball.mpy,sha256=8OFO02VeETcwkuOACh0e9amRWwTpoRogEXcVmRBrUn4,3474
|
|
335
338
|
toolkit/workspace/precompiled/LM_veml7700.mpy,sha256=-MPEbH9RzOk0hzBuXf5XzOHKZdeRD0xBgf890GJu6Vg,1956
|
|
336
|
-
toolkit/workspace/precompiled/Logger.mpy,sha256=
|
|
339
|
+
toolkit/workspace/precompiled/Logger.mpy,sha256=Nz33LQBUliSguxuy4EV3GWXLd9PFyqzivuNivWdLJ_w,1388
|
|
337
340
|
toolkit/workspace/precompiled/Network.mpy,sha256=WtpvhGB2bvEe94dAHV40fpEyk-Fi0D6vL1q_m6k4qBg,3274
|
|
338
|
-
toolkit/workspace/precompiled/Notify.mpy,sha256=
|
|
341
|
+
toolkit/workspace/precompiled/Notify.mpy,sha256=O80dkyGl8iiiEj47Q6iDJuS5mrT8_e6IXfRMN80pMRU,894
|
|
339
342
|
toolkit/workspace/precompiled/Scheduler.mpy,sha256=ctCj7FfXj5TchPPxe_9dmnTXWN88egtbAnmJ0N9u_1w,2202
|
|
340
|
-
toolkit/workspace/precompiled/Server.mpy,sha256=
|
|
341
|
-
toolkit/workspace/precompiled/Shell.mpy,sha256=
|
|
343
|
+
toolkit/workspace/precompiled/Server.mpy,sha256=dtSXLYpBcdz0DveB_S6nos46h-m6hwlQ-38G-iVQwKQ,4762
|
|
344
|
+
toolkit/workspace/precompiled/Shell.mpy,sha256=MsTnawGShS2aXWBPDGE3AL0Dl4ghkI3b-ftR6cZhC9c,4335
|
|
342
345
|
toolkit/workspace/precompiled/Tasks.mpy,sha256=vL3tDV7Us3Wg7qtZA8ovqEsvLndOmu14GHcZF2_DtrY,6253
|
|
343
346
|
toolkit/workspace/precompiled/Time.mpy,sha256=D6jvLP5tUKQdJGcn6Q4-ru-p0at6hnxfLC5bqC78gv0,2756
|
|
344
347
|
toolkit/workspace/precompiled/Types.mpy,sha256=LssRbPgvsWuR4d2m3R7VMIvsnkVp9nN0ltwaY2wGop8,1401
|
|
345
|
-
toolkit/workspace/precompiled/Web.mpy,sha256=
|
|
346
|
-
toolkit/workspace/precompiled/_mpy.version,sha256=
|
|
348
|
+
toolkit/workspace/precompiled/Web.mpy,sha256=RuZNz2Yfe3MGoMV09nRLUS0MQ2CoJHHBVh7FnC9dYY4,3116
|
|
349
|
+
toolkit/workspace/precompiled/_mpy.version,sha256=Kik-fvRGfWAmpEjKdJLq7nPOqYR_jVgB0aiXZ8LMvMA,6
|
|
347
350
|
toolkit/workspace/precompiled/dashboard.html,sha256=xBZOZ8AMO55QheuZ41Sl0Arvb44qnnai9D67A8YxlVE,2641
|
|
348
351
|
toolkit/workspace/precompiled/index.html,sha256=cv0hap5bhBoRR_z1KALC3fbjH2rQZY9JJPfF-dxVclw,1656
|
|
349
352
|
toolkit/workspace/precompiled/main.py,sha256=cVlhoWwU9dSKEol0HWPihFAPzrUUvzSGwZNNMrpyfSY,440
|
|
350
353
|
toolkit/workspace/precompiled/micrOS.mpy,sha256=x20-mxGB7mkvdcyulttyXhjdLvXeyXlpl57yctS3eTA,1129
|
|
351
354
|
toolkit/workspace/precompiled/micrOSloader.mpy,sha256=0bFFYYHrsnAVZko9Q7XpPoo0gkt2v_lY4V9R-4K_T_0,1747
|
|
352
|
-
toolkit/workspace/precompiled/microIO.mpy,sha256=
|
|
353
|
-
toolkit/workspace/precompiled/node_config.json,sha256=
|
|
354
|
-
toolkit/workspace/precompiled/reset.mpy,sha256=
|
|
355
|
+
toolkit/workspace/precompiled/microIO.mpy,sha256=W0c8nc6qOlpVjV8wfqhnzYhdFHLOh3j5SlEnzwT5wXk,1511
|
|
356
|
+
toolkit/workspace/precompiled/node_config.json,sha256=_E0hZhhkOE-zwFspU4dqcdiWIRKu8x1BQhQBBgLfPrE,1014
|
|
357
|
+
toolkit/workspace/precompiled/reset.mpy,sha256=D-ZwUk-oR8OAg5ERWJXErdPAGbx_3M13hK4IBawhIg0,217
|
|
355
358
|
toolkit/workspace/precompiled/uapi.js,sha256=fZ0E9-ZndCoUNQq1yJ7yUCiLYxe3p8hzSFnlN2R9roc,2959
|
|
356
359
|
toolkit/workspace/precompiled/udashboard.js,sha256=42mPR_NU3jOqUgLi7yZv2L7bN6uGqw9LpScDrGGF58c,4581
|
|
357
|
-
toolkit/workspace/precompiled/urequests.mpy,sha256=
|
|
360
|
+
toolkit/workspace/precompiled/urequests.mpy,sha256=HO-7YqLS_B32z1OEnu1j9GcqlkEY4wqAgKKNcaVRtvU,2320
|
|
358
361
|
toolkit/workspace/precompiled/ustyle.css,sha256=P-s8ENwAcWoZi5bocrK3_kVzEjaRFKtFvEF6JRh4MBY,1429
|
|
359
362
|
toolkit/workspace/precompiled/uwidgets.js,sha256=BGeUSbNHn6PClgIgIE6QszwQVJ6j7lzgCBwvIX8cYgo,6631
|
|
360
363
|
toolkit/workspace/precompiled/uwidgets_pro.js,sha256=gbkk3SVttEVvDCwde-pJhAh4k7GuCFPdcWNq32pcKPE,3639
|
|
361
|
-
micrOSDevToolKit-2.9.
|
|
362
|
-
micrOSDevToolKit-2.9.
|
|
363
|
-
micrOSDevToolKit-2.9.
|
|
364
|
-
micrOSDevToolKit-2.9.
|
|
365
|
-
micrOSDevToolKit-2.9.
|
|
364
|
+
micrOSDevToolKit-2.9.6.dist-info/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
|
|
365
|
+
micrOSDevToolKit-2.9.6.dist-info/METADATA,sha256=G30tHnaWp535IgLpVaIK-Sh-yJFpKqeJ-_rfpLxwbEo,53468
|
|
366
|
+
micrOSDevToolKit-2.9.6.dist-info/WHEEL,sha256=UvcQYKBHoFqaQd6LKyqHw9fxEolWLQnlzP0h_LgJAfI,91
|
|
367
|
+
micrOSDevToolKit-2.9.6.dist-info/top_level.txt,sha256=rOGOIXqLBdGZAoDTiLdZ9B_leFB7bMv7YabLwuIc2bc,25
|
|
368
|
+
micrOSDevToolKit-2.9.6.dist-info/RECORD,,
|
toolkit/Gateway.py
CHANGED
|
@@ -554,9 +554,9 @@ class ForwardImg(Resource):
|
|
|
554
554
|
for devid, dev_conn_data in ListDevices.DEVICE_CACHE['online'].items():
|
|
555
555
|
# IP, PORT, FID
|
|
556
556
|
device = dev_conn_data[2]
|
|
557
|
-
response = SendCmd.runcmd(device, '
|
|
557
|
+
response = SendCmd.runcmd(device, 'modules')['response']
|
|
558
558
|
print(f"\n\n{response}\n\n")
|
|
559
|
-
if '
|
|
559
|
+
if 'OV2640' in response:
|
|
560
560
|
ForwardImg.CAM_DEVICES.add(device)
|
|
561
561
|
return jsonify(list(ForwardImg.CAM_DEVICES))
|
|
562
562
|
|
|
@@ -15,6 +15,7 @@ import requests
|
|
|
15
15
|
# FILL OUT
|
|
16
16
|
DEVICE = '__simulator__'
|
|
17
17
|
PASSWD = None
|
|
18
|
+
TIMEOUT_SEC = 5
|
|
18
19
|
|
|
19
20
|
|
|
20
21
|
def base_cmd():
|
|
@@ -299,7 +300,7 @@ def micros_alarm_check():
|
|
|
299
300
|
|
|
300
301
|
|
|
301
302
|
def oled_msg_end_result(result):
|
|
302
|
-
cmd_list = ['lmpacman
|
|
303
|
+
cmd_list = ['lmpacman moduls >json']
|
|
303
304
|
output = execute(cmd_list)
|
|
304
305
|
if output[0] and 'LM_oled_ui' in output[1]:
|
|
305
306
|
cmd_list = [f'oled_ui msgbox "{result} %"']
|
|
@@ -359,8 +360,9 @@ def check_robustness_recursion():
|
|
|
359
360
|
def check_intercon(host=None):
|
|
360
361
|
def _convert_return_to_dict(data):
|
|
361
362
|
try:
|
|
362
|
-
data_dict = ast.literal_eval(data[1])
|
|
363
|
+
data_dict = ast.literal_eval(data[1].split("\n")[0])
|
|
363
364
|
except Exception as e:
|
|
365
|
+
print(f"WARNING: cannot parse output as dir: {e}")
|
|
364
366
|
data_dict = {'tag': None, 'verdict': f'{data}: {str(e)}'}
|
|
365
367
|
return data[0], data_dict
|
|
366
368
|
|
|
@@ -427,7 +429,7 @@ def measure_conn_metrics():
|
|
|
427
429
|
|
|
428
430
|
def memory_usage():
|
|
429
431
|
cmd = ['system memory_usage >json']
|
|
430
|
-
out = execute(cmd, tout=
|
|
432
|
+
out = execute(cmd, tout=TIMEOUT_SEC)
|
|
431
433
|
state, raw_output = out[0], out[1]
|
|
432
434
|
try:
|
|
433
435
|
json_out = json.loads(raw_output)
|
|
@@ -435,7 +437,7 @@ def memory_usage():
|
|
|
435
437
|
return False, '[ST] {}ERR{}: {}: {}'.format(Colors.ERR, Colors.NC, raw_output, e)
|
|
436
438
|
|
|
437
439
|
# {"percent": 93.11, "mem_used": 103504}
|
|
438
|
-
if json_out.get('percent') >
|
|
440
|
+
if json_out.get('percent') > 70: # MEM USAGE WARNING INDICATOR: 80%
|
|
439
441
|
return state, '[ST] {}WARNING{}: memory usage {}% ({} bytes)'.format(Colors.WARN, Colors.NC,
|
|
440
442
|
json_out.get('percent'),
|
|
441
443
|
json_out.get('mem_used'))
|
|
@@ -448,7 +450,7 @@ def disk_usage():
|
|
|
448
450
|
Check disk usage - manually defined 16% (336_000 byte) - check degradations...
|
|
449
451
|
"""
|
|
450
452
|
cmd = ['system disk_usage >json']
|
|
451
|
-
out = execute(cmd, tout=
|
|
453
|
+
out = execute(cmd, tout=TIMEOUT_SEC)
|
|
452
454
|
state, raw_output = out[0], out[1]
|
|
453
455
|
try:
|
|
454
456
|
json_out = json.loads(raw_output)
|
|
@@ -456,7 +458,7 @@ def disk_usage():
|
|
|
456
458
|
return False, '[ST] {}ERR{}: {}: {}'.format(Colors.ERR, Colors.NC, raw_output, e)
|
|
457
459
|
|
|
458
460
|
# {"percent": 15.4, "fs_used": 323_584}
|
|
459
|
-
if json_out.get('fs_used') >
|
|
461
|
+
if json_out.get('fs_used') > 700_000: # MEM USAGE WARNING INDICATOR: 700_000 bytes (700kb)
|
|
460
462
|
return state, '[ST] {}WARNING{}: disk usage {}% ({} bytes)'.format(Colors.WARN, Colors.NC,
|
|
461
463
|
json_out.get('percent'),
|
|
462
464
|
json_out.get('fs_used'))
|
|
@@ -466,7 +468,7 @@ def disk_usage():
|
|
|
466
468
|
|
|
467
469
|
def task_list():
|
|
468
470
|
cmd = ['task list']
|
|
469
|
-
out = execute(cmd, tout=
|
|
471
|
+
out = execute(cmd, tout=TIMEOUT_SEC)
|
|
470
472
|
state, output = out[0], out[1]
|
|
471
473
|
if state:
|
|
472
474
|
return state, output.replace('\n', f'\n{" "*51}') # TODO format output
|
|
@@ -476,12 +478,12 @@ def task_list():
|
|
|
476
478
|
def webcli_test():
|
|
477
479
|
endpoints = []
|
|
478
480
|
cmd = ['conf', 'webui']
|
|
479
|
-
out = execute(cmd, tout=
|
|
481
|
+
out = execute(cmd, tout=TIMEOUT_SEC)
|
|
480
482
|
state, output = out[0], out[1]
|
|
481
483
|
if state:
|
|
482
484
|
verdict = f"[ST] WEBUI IS ENABLED ({output})" if output.strip() == 'True' else f"[ST] WEBUI IS DISABLED ({output})"
|
|
483
485
|
if output.strip() == 'True':
|
|
484
|
-
out = execute(['conf', 'devip'], tout=
|
|
486
|
+
out = execute(['conf', 'devip'], tout=TIMEOUT_SEC)
|
|
485
487
|
if out[0] and out[1] is not None:
|
|
486
488
|
devip = out[1]
|
|
487
489
|
endpoints.append(f'http://{devip}')
|
|
@@ -509,7 +511,7 @@ def webcli_test():
|
|
|
509
511
|
def after_st_reboot():
|
|
510
512
|
verdict = False, 'reboot -h failed'
|
|
511
513
|
cmd = ['reboot -h']
|
|
512
|
-
out = execute(cmd, tout=
|
|
514
|
+
out = execute(cmd, tout=TIMEOUT_SEC)
|
|
513
515
|
state, output = out[0], out[1]
|
|
514
516
|
if state:
|
|
515
517
|
verdict = state, f'[reboot-h] commad out: {output}'
|
|
@@ -517,7 +519,7 @@ def after_st_reboot():
|
|
|
517
519
|
print(f"[reboot-h] Wait for node up again ({retry}/{retry*2}sec)")
|
|
518
520
|
time.sleep(2)
|
|
519
521
|
try:
|
|
520
|
-
up, o = execute(['hello'], tout=
|
|
522
|
+
up, o = execute(['hello'], tout=TIMEOUT_SEC)
|
|
521
523
|
if up:
|
|
522
524
|
verdict = True, f"[reboot-h][OK] successfully rebooted: {o} (boot time: ~{retry * 2}sec)"
|
|
523
525
|
print(verdict[1])
|
|
@@ -530,7 +532,7 @@ def after_st_reboot():
|
|
|
530
532
|
|
|
531
533
|
def get_dev_version():
|
|
532
534
|
cmd = ['version']
|
|
533
|
-
out = execute(cmd, tout=
|
|
535
|
+
out = execute(cmd, tout=TIMEOUT_SEC)
|
|
534
536
|
state, output = out[0], out[1]
|
|
535
537
|
if state:
|
|
536
538
|
return output
|
toolkit/index.html
CHANGED
|
@@ -11,15 +11,15 @@
|
|
|
11
11
|
50% {background-position: 100% 50%;}
|
|
12
12
|
100% {background-position: 0% 50%;}}
|
|
13
13
|
body {
|
|
14
|
-
height:
|
|
15
|
-
width:
|
|
14
|
+
height: calc(100vh - 6%); /* Set the height to 100% of the viewport height */
|
|
15
|
+
width: calc(100vw - 6%); /* Set the width to 200% of the viewport height */
|
|
16
16
|
padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
|
|
17
|
-
margin:
|
|
17
|
+
margin: 3%;
|
|
18
18
|
background: linear-gradient(110deg, #720000, #656565, #252525);
|
|
19
19
|
background-size: 400% 400%;
|
|
20
20
|
animation: backgroundAnimation 20s infinite;
|
|
21
21
|
color: #d9d9d9;
|
|
22
|
-
font-family: '
|
|
22
|
+
font-family: 'Verdana', Sans-serif;
|
|
23
23
|
}
|
|
24
24
|
button {
|
|
25
25
|
background-color: #e7e7e7; /* Gray */
|
toolkit/lib/TerminalColors.py
CHANGED
|
@@ -16,6 +16,8 @@ class Colors:
|
|
|
16
16
|
OKGREEN = '\033[92m'
|
|
17
17
|
HEADER = '\033[95m'
|
|
18
18
|
UNDERLINE = '\033[4m'
|
|
19
|
+
LIGHT_GRAY = '\033[37m'
|
|
20
|
+
GRAY = '\033[90m'
|
|
19
21
|
else:
|
|
20
22
|
NC = ''
|
|
21
23
|
OK = ''
|
|
@@ -26,6 +28,8 @@ class Colors:
|
|
|
26
28
|
OKGREEN = ''
|
|
27
29
|
HEADER = ''
|
|
28
30
|
UNDERLINE = ''
|
|
31
|
+
LIGHT_GRAY = ''
|
|
32
|
+
GRAY = ''
|
|
29
33
|
|
|
30
34
|
|
|
31
35
|
if __name__ == "__main__":
|
toolkit/lib/macroScript.py
CHANGED
|
@@ -303,6 +303,12 @@ system clock
|
|
|
303
303
|
f.write(default_conf)
|
|
304
304
|
|
|
305
305
|
def run_micro_script(self, path):
|
|
306
|
+
try:
|
|
307
|
+
self._run_micro_script(path)
|
|
308
|
+
except KeyboardInterrupt:
|
|
309
|
+
print("Exiting...")
|
|
310
|
+
|
|
311
|
+
def _run_micro_script(self, path):
|
|
306
312
|
if os.path.isdir(path):
|
|
307
313
|
path = select_menu(path)
|
|
308
314
|
if path is None:
|
toolkit/lib/micrOSClient.py
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import socket
|
|
2
|
-
import sys
|
|
3
|
-
|
|
4
2
|
import select
|
|
5
3
|
import re
|
|
6
4
|
import time
|
|
@@ -9,6 +7,22 @@ try:
|
|
|
9
7
|
except:
|
|
10
8
|
from TerminalColors import Colors as color
|
|
11
9
|
|
|
10
|
+
def load_command_history(prompt_getter):
|
|
11
|
+
"""Optional command history feature"""
|
|
12
|
+
try:
|
|
13
|
+
try:
|
|
14
|
+
from .micrOSClientHistory import CommandInterface
|
|
15
|
+
except:
|
|
16
|
+
from micrOSClientHistory import CommandInterface
|
|
17
|
+
except Exception as e:
|
|
18
|
+
print(f"Command history - disabled (readline module error): {e}")
|
|
19
|
+
return None
|
|
20
|
+
try:
|
|
21
|
+
return CommandInterface(prompt=prompt_getter)
|
|
22
|
+
except Exception as e:
|
|
23
|
+
print(f"Command history error: {e}")
|
|
24
|
+
return None
|
|
25
|
+
|
|
12
26
|
|
|
13
27
|
class micrOSClient:
|
|
14
28
|
CONN_MAP = {}
|
|
@@ -35,6 +49,10 @@ class micrOSClient:
|
|
|
35
49
|
# Validate and resolve host (IP/Hostname)
|
|
36
50
|
self.__address_manager()
|
|
37
51
|
|
|
52
|
+
@property
|
|
53
|
+
def telnet_prompt(self):
|
|
54
|
+
return f"{color.BOLD}{self.preprompt}{self.prompt}{color.NC} "
|
|
55
|
+
|
|
38
56
|
def __address_manager(self):
|
|
39
57
|
self.dbg_print("[INIT] micrOSClient")
|
|
40
58
|
# Host is valid IP address - self.host is ip address OK
|
|
@@ -160,7 +178,7 @@ class micrOSClient:
|
|
|
160
178
|
self.preprompt = ""
|
|
161
179
|
return _data
|
|
162
180
|
|
|
163
|
-
def __receive_data(self, read_timeout=20):
|
|
181
|
+
def __receive_data(self, read_timeout=20, stream=False):
|
|
164
182
|
"""
|
|
165
183
|
Client Receiver Loop
|
|
166
184
|
- read_timeout - wait for server to reply (should be <15, avoid msg queue-ing)
|
|
@@ -173,7 +191,11 @@ class micrOSClient:
|
|
|
173
191
|
# Collect answer data
|
|
174
192
|
if select.select([self.conn], [], [], read_timeout)[0]:
|
|
175
193
|
while True:
|
|
176
|
-
|
|
194
|
+
incoming_data = self.conn.recv(4096).decode('utf-8')
|
|
195
|
+
if stream:
|
|
196
|
+
incoming_data = incoming_data.replace(self.prompt, f"{color.NC}{color.BOLD}{self.prompt}{color.NC}")
|
|
197
|
+
print(f"\r{color.LIGHT_GRAY}{incoming_data}{color.NC}", end="")
|
|
198
|
+
data_buffer += incoming_data
|
|
177
199
|
# Last line from data_buffer (handle fragmented messages - prompt detection)
|
|
178
200
|
last_line = data_buffer.strip().split("\n")[-1]
|
|
179
201
|
# Wait for prompt or special cases (exit/prompt)
|
|
@@ -200,7 +222,7 @@ class micrOSClient:
|
|
|
200
222
|
self.isconn = False
|
|
201
223
|
self.spacer = 0
|
|
202
224
|
|
|
203
|
-
def __run_command(self, cmd):
|
|
225
|
+
def __run_command(self, cmd, stream=False):
|
|
204
226
|
"""
|
|
205
227
|
Run command on server tcp/ip connection
|
|
206
228
|
- prompt check - validate device ("hostname $" = "prompt")
|
|
@@ -218,14 +240,14 @@ class micrOSClient:
|
|
|
218
240
|
# Workaround for reboot command - micrOS async server cannot send Bye! msg before reboot.
|
|
219
241
|
if reboot_request:
|
|
220
242
|
return 'Bye!'
|
|
221
|
-
data = self.__receive_data()
|
|
243
|
+
data = self.__receive_data(stream=stream)
|
|
222
244
|
return data
|
|
223
245
|
# Skip command run: prompt and host not the same!
|
|
224
246
|
print(f"[micrOSClient] {color.ERR}prompt mismatch{color.NC}, hostname: {check_hostname} prompt: {check_prompt} ")
|
|
225
247
|
# Check UID?
|
|
226
248
|
return None
|
|
227
249
|
|
|
228
|
-
def send_cmd(self, cmd, timeout=3, retry=5):
|
|
250
|
+
def send_cmd(self, cmd, timeout=3, retry=5, stream=False):
|
|
229
251
|
"""
|
|
230
252
|
Send command function - main usage for non interactive mode
|
|
231
253
|
"""
|
|
@@ -244,7 +266,7 @@ class micrOSClient:
|
|
|
244
266
|
|
|
245
267
|
# @ Run command
|
|
246
268
|
try:
|
|
247
|
-
out = self.__run_command(cmd)
|
|
269
|
+
out = self.__run_command(cmd, stream=stream)
|
|
248
270
|
except Exception as e:
|
|
249
271
|
self.dbg_print("{}[ERR]{} send_cmd error: {}".format(color.ERR, color.NC, e))
|
|
250
272
|
self.dbg_print("Auto deinit connection")
|
|
@@ -261,11 +283,11 @@ class micrOSClient:
|
|
|
261
283
|
# return output list
|
|
262
284
|
return out
|
|
263
285
|
|
|
264
|
-
def send_cmd_retry(self, cmd, timeout=6, retry=5):
|
|
286
|
+
def send_cmd_retry(self, cmd, timeout=6, retry=5, stream=False):
|
|
265
287
|
out = None
|
|
266
288
|
for cnt in range(0, retry):
|
|
267
289
|
try:
|
|
268
|
-
out = self.send_cmd(cmd, timeout)
|
|
290
|
+
out = self.send_cmd(cmd, timeout, stream=stream)
|
|
269
291
|
if out is None or isinstance(out, list):
|
|
270
292
|
break
|
|
271
293
|
except OSError as e:
|
|
@@ -277,7 +299,7 @@ class micrOSClient:
|
|
|
277
299
|
time.sleep(0.2)
|
|
278
300
|
return out
|
|
279
301
|
|
|
280
|
-
def telnet(self, timeout=
|
|
302
|
+
def telnet(self, timeout=5):
|
|
281
303
|
"""
|
|
282
304
|
Implements interactive mode for socket communication.
|
|
283
305
|
"""
|
|
@@ -287,18 +309,23 @@ class micrOSClient:
|
|
|
287
309
|
print("Telnet connect: {}".format(e))
|
|
288
310
|
if "busy" in str(e) or "timed out" in str(e) or "No route to host" in str(e) or "Host is down" in str(e):
|
|
289
311
|
return
|
|
312
|
+
|
|
313
|
+
history = load_command_history(self.telnet_prompt) # History: Beta feature
|
|
314
|
+
print(self.telnet_prompt, end="")
|
|
290
315
|
while True:
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
316
|
+
try:
|
|
317
|
+
cmd = input() # CANNOT contain prompt - it is coming back from response data
|
|
318
|
+
# send command
|
|
319
|
+
output = self.send_cmd(cmd, timeout=timeout, stream=True)
|
|
320
|
+
if history is not None and "Shell: for hints type help." not in output: # History: Beta feature
|
|
321
|
+
history.add_history(cmd)
|
|
322
|
+
if 'Bye!' in str(output):
|
|
323
|
+
break
|
|
324
|
+
except KeyboardInterrupt:
|
|
325
|
+
print("Exiting...")
|
|
301
326
|
break
|
|
327
|
+
if history is not None: # History: Beta feature
|
|
328
|
+
history.save_history()
|
|
302
329
|
self.close()
|
|
303
330
|
|
|
304
331
|
def dbg_print(self, msg, end='\n'):
|