sima-cli 0.0.26__py3-none-any.whl → 0.0.27__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.
- sima_cli/__version__.py +1 -1
- sima_cli/serial/serial.py +47 -8
- {sima_cli-0.0.26.dist-info → sima_cli-0.0.27.dist-info}/METADATA +1 -1
- {sima_cli-0.0.26.dist-info → sima_cli-0.0.27.dist-info}/RECORD +8 -8
- {sima_cli-0.0.26.dist-info → sima_cli-0.0.27.dist-info}/WHEEL +0 -0
- {sima_cli-0.0.26.dist-info → sima_cli-0.0.27.dist-info}/entry_points.txt +0 -0
- {sima_cli-0.0.26.dist-info → sima_cli-0.0.27.dist-info}/licenses/LICENSE +0 -0
- {sima_cli-0.0.26.dist-info → sima_cli-0.0.27.dist-info}/top_level.txt +0 -0
sima_cli/__version__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
# sima_cli/__version__.py
|
2
|
-
__version__ = "0.0.
|
2
|
+
__version__ = "0.0.27"
|
sima_cli/serial/serial.py
CHANGED
@@ -2,6 +2,7 @@ import platform
|
|
2
2
|
import subprocess
|
3
3
|
import shutil
|
4
4
|
import click
|
5
|
+
import os
|
5
6
|
from sima_cli.utils.env import is_sima_board
|
6
7
|
|
7
8
|
def connect_serial(ctx, baud):
|
@@ -74,11 +75,41 @@ def _connect_linux(baud):
|
|
74
75
|
if not shutil.which(terminal):
|
75
76
|
click.echo("⚙️ 'picocom' is not installed. Attempting to install via apt...")
|
76
77
|
if shutil.which("apt-get"):
|
77
|
-
|
78
|
-
|
78
|
+
try:
|
79
|
+
subprocess.run(["sudo", "apt-get", "update"], check=True)
|
80
|
+
subprocess.run(["sudo", "apt-get", "install", "-y", "picocom"], check=True)
|
81
|
+
except subprocess.CalledProcessError:
|
82
|
+
click.echo("❌ Failed to install picocom (possibly due to lack of sudo privileges). Checking for minicom...")
|
83
|
+
terminal = "minicom"
|
84
|
+
if not shutil.which(terminal):
|
85
|
+
click.echo("❌ Neither 'picocom' nor 'minicom' is available. Please request the admin to install one manually.")
|
86
|
+
raise SystemExit(1)
|
87
|
+
# Create minicom config file to match working settings
|
88
|
+
config_file = os.path.expanduser("~/.minirc.custom")
|
89
|
+
with open(config_file, "w") as f:
|
90
|
+
f.write("pu port /dev/ttyUSB0\n")
|
91
|
+
f.write(f"pu baudrate {baud}\n")
|
92
|
+
f.write("pu bits 8\n")
|
93
|
+
f.write("pu parity N\n")
|
94
|
+
f.write("pu stopbits 1\n")
|
95
|
+
f.write("pu rtscts No\n")
|
96
|
+
f.write("pu xonxoff No\n")
|
79
97
|
else:
|
80
|
-
click.echo("❌ 'apt-get' not found.
|
81
|
-
|
98
|
+
click.echo("❌ 'apt-get' not found. Checking for minicom...")
|
99
|
+
terminal = "minicom"
|
100
|
+
if not shutil.which(terminal):
|
101
|
+
click.echo("❌ Neither 'picocom' nor 'minicom' is available. Please request the admin to install one manually.")
|
102
|
+
raise SystemExit(1)
|
103
|
+
# Create minicom config file to match working settings
|
104
|
+
config_file = os.path.expanduser("~/.minirc.custom")
|
105
|
+
with open(config_file, "w") as f:
|
106
|
+
f.write("pu port /dev/ttyUSB0\n")
|
107
|
+
f.write(f"pu baudrate {baud}\n")
|
108
|
+
f.write("pu bits 8\n")
|
109
|
+
f.write("pu parity N\n")
|
110
|
+
f.write("pu stopbits 1\n")
|
111
|
+
f.write("pu rtscts No\n")
|
112
|
+
f.write("pu xonxoff No\n")
|
82
113
|
|
83
114
|
ports = sorted(
|
84
115
|
subprocess.getoutput("ls /dev/ttyUSB* 2>/dev/null").splitlines()
|
@@ -88,11 +119,19 @@ def _connect_linux(baud):
|
|
88
119
|
raise SystemExit(1)
|
89
120
|
|
90
121
|
port = ports[0]
|
91
|
-
click.echo(f"🔌 Connecting to {port} with
|
122
|
+
click.echo(f"🔌 Connecting to {port} with {terminal} ({baud} 8N1)...")
|
92
123
|
try:
|
93
|
-
|
94
|
-
|
95
|
-
|
124
|
+
if terminal == "picocom":
|
125
|
+
click.echo("🧷 To exit: Press Ctrl + A, then Ctrl + X")
|
126
|
+
subprocess.run(
|
127
|
+
["sudo", terminal, "-b", f"{baud}", "--databits", "8", "--parity", "n", "--stopbits", "1", port]
|
128
|
+
)
|
129
|
+
else: # minicom
|
130
|
+
config_file = os.path.expanduser("~/.minirc.custom")
|
131
|
+
click.echo("🧷 To exit: Press Ctrl + A, then Q")
|
132
|
+
subprocess.run(
|
133
|
+
["sudo", terminal, "-C", config_file, "-D", port]
|
134
|
+
)
|
96
135
|
except KeyboardInterrupt:
|
97
136
|
click.echo("\n❎ Serial connection interrupted by user.")
|
98
137
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
sima_cli/__init__.py,sha256=Nb2jSg9-CX1XvSc1c21U9qQ3atINxphuNkNfmR-9P3o,332
|
2
2
|
sima_cli/__main__.py,sha256=ehzD6AZ7zGytC2gLSvaJatxeD0jJdaEvNJvwYeGsWOg,69
|
3
|
-
sima_cli/__version__.py,sha256=
|
3
|
+
sima_cli/__version__.py,sha256=gxBLTfuQW1ckn_VwGnJeXR1eVJD4qo__oTN9DM-b2n8,49
|
4
4
|
sima_cli/cli.py,sha256=GYmQ7_XObl9VgFwuWWkWDo-_Y_Vn6lM53F7mKiYGubI,17126
|
5
5
|
sima_cli/app_zoo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
6
|
sima_cli/app_zoo/app.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -25,7 +25,7 @@ sima_cli/network/network.py,sha256=ToDCQBfX0bUFEWWtfS8srImK5T11MX6R4MBQFM80faY,7
|
|
25
25
|
sima_cli/sdk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
26
26
|
sima_cli/sdk/syscheck.py,sha256=h9zCULW67y4i2hqiGc-hc1ucBDShA5FAe9NxwBGq-fM,4575
|
27
27
|
sima_cli/serial/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
28
|
-
sima_cli/serial/serial.py,sha256=
|
28
|
+
sima_cli/serial/serial.py,sha256=1We85F9-l1FZcsLFxRzxbfPxAHeSCVlBOUyOUpqNf_s,6202
|
29
29
|
sima_cli/storage/nvme.py,sha256=cCzYWcyPwcFu5pSMBkovsS4EwovaIMGolhEFStogXMA,4739
|
30
30
|
sima_cli/storage/sdcard.py,sha256=-WULjdV31-n8v5OOqfxR77qBbIK4hJnrD3xWxUVMoGI,6324
|
31
31
|
sima_cli/update/__init__.py,sha256=0P-z-rSaev40IhfJXytK3AFWv2_sdQU4Ry6ei2sEus0,66
|
@@ -44,7 +44,7 @@ sima_cli/utils/disk.py,sha256=66Kr631yhc_ny19up2aijfycWfD35AeLQOJgUsuH2hY,446
|
|
44
44
|
sima_cli/utils/env.py,sha256=IP5HrH0lE7RMSiBeXcEt5GCLMT5p-QQroG-uGzl5XFU,8181
|
45
45
|
sima_cli/utils/net.py,sha256=WVntA4CqipkNrrkA4tBVRadJft_pMcGYh4Re5xk3rqo,971
|
46
46
|
sima_cli/utils/network.py,sha256=UvqxbqbWUczGFyO-t1SybG7Q-x9kjUVRNIn_D6APzy8,1252
|
47
|
-
sima_cli-0.0.
|
47
|
+
sima_cli-0.0.27.dist-info/licenses/LICENSE,sha256=a260OFuV4SsMZ6sQCkoYbtws_4o2deFtbnT9kg7Rfd4,1082
|
48
48
|
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
49
49
|
tests/test_app_zoo.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
50
50
|
tests/test_auth.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -53,8 +53,8 @@ tests/test_download.py,sha256=t87DwxlHs26_ws9rpcHGwr_OrcRPd3hz6Zmm0vRee2U,4465
|
|
53
53
|
tests/test_firmware.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
54
54
|
tests/test_model_zoo.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
55
55
|
tests/test_utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
56
|
-
sima_cli-0.0.
|
57
|
-
sima_cli-0.0.
|
58
|
-
sima_cli-0.0.
|
59
|
-
sima_cli-0.0.
|
60
|
-
sima_cli-0.0.
|
56
|
+
sima_cli-0.0.27.dist-info/METADATA,sha256=lzAzsKQImaK7MEelhD0MDkPGTf2x8dyaRsXR3dj27bA,3705
|
57
|
+
sima_cli-0.0.27.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
58
|
+
sima_cli-0.0.27.dist-info/entry_points.txt,sha256=xRYrDq1nCs6R8wEdB3c1kKuimxEjWJkHuCzArQPT0Xk,47
|
59
|
+
sima_cli-0.0.27.dist-info/top_level.txt,sha256=FtrbAUdHNohtEPteOblArxQNwoX9_t8qJQd59fagDlc,15
|
60
|
+
sima_cli-0.0.27.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|