moons-motor 0.0.7__py3-none-any.whl → 0.0.9__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.
- moons_motor/motor.py +26 -12
- moons_motor/simulate.py +4 -1
- {moons_motor-0.0.7.dist-info → moons_motor-0.0.9.dist-info}/METADATA +8 -1
- moons_motor-0.0.9.dist-info/RECORD +11 -0
- {moons_motor-0.0.7.dist-info → moons_motor-0.0.9.dist-info}/WHEEL +1 -1
- moons_motor-0.0.7.dist-info/RECORD +0 -11
- {moons_motor-0.0.7.dist-info → moons_motor-0.0.9.dist-info}/LICENSE +0 -0
- {moons_motor-0.0.7.dist-info → moons_motor-0.0.9.dist-info}/top_level.txt +0 -0
moons_motor/motor.py
CHANGED
@@ -7,6 +7,7 @@ from rich.console import Console
|
|
7
7
|
from rich.panel import Panel
|
8
8
|
import queue
|
9
9
|
from moons_motor.subject import Subject
|
10
|
+
import time
|
10
11
|
|
11
12
|
|
12
13
|
class StepperModules:
|
@@ -146,25 +147,28 @@ class MoonsStepper(Subject):
|
|
146
147
|
ports = list(list_ports.comports())
|
147
148
|
for p in ports:
|
148
149
|
m = re.match(
|
149
|
-
r"USB\s*VID:PID=(\w+):(\w+)\s*SER=([A-Za-z0-9]
|
150
|
+
r"USB\s*VID:PID=(\w+):(\w+)\s*SER=([A-Za-z0-9]*)", p.usb_info()
|
150
151
|
)
|
152
|
+
print(m, p.usb_info())
|
151
153
|
if (
|
152
154
|
m
|
153
155
|
and m.group(1) == self.VID
|
154
156
|
and m.group(2) == self.PID
|
155
|
-
and m.group(3) == self.SERIAL_NUM
|
157
|
+
# and m.group(3) == self.SERIAL_NUM
|
156
158
|
):
|
157
|
-
print(
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
159
|
+
print("find vid pid match")
|
160
|
+
if m.group(3) == self.SERIAL_NUM or self.SERIAL_NUM == "":
|
161
|
+
print(
|
162
|
+
f"Device: {p.description} | VID: {m.group(1)} | PID: {m.group(2)} | SER: {m.group(3)} connected"
|
163
|
+
)
|
164
|
+
|
165
|
+
self.device = p.description
|
166
|
+
|
167
|
+
attempt_connect(p.device, baudrate)
|
168
|
+
if callback:
|
169
|
+
callback(self.device, self.Opened)
|
170
|
+
break
|
166
171
|
break
|
167
|
-
break
|
168
172
|
|
169
173
|
if self.only_simulate:
|
170
174
|
self.device = "Simulate"
|
@@ -199,6 +203,7 @@ class MoonsStepper(Subject):
|
|
199
203
|
else:
|
200
204
|
self.usedSendQueue.put(self.temp_cmd)
|
201
205
|
if self.ser is not None or not self.only_simulate:
|
206
|
+
self.temp_cmd += "\r"
|
202
207
|
self.ser.write(self.temp_cmd.encode("ascii"))
|
203
208
|
if self.is_log_message:
|
204
209
|
print(
|
@@ -225,7 +230,9 @@ class MoonsStepper(Subject):
|
|
225
230
|
|
226
231
|
def start_jog(self, motor_address="", speed=0.15, direction="CW"):
|
227
232
|
self.send(self.addressed_cmd(motor_address, "JS{}".format(speed)))
|
233
|
+
time.sleep(0.01)
|
228
234
|
self.send(self.addressed_cmd(motor_address, "CJ"))
|
235
|
+
# self.send(self.addressed_cmd(motor_address, "CS{}".format(speed)))
|
229
236
|
|
230
237
|
def change_jog_speed(self, motor_address="", speed=0.15):
|
231
238
|
self.send(self.addressed_cmd(motor_address, "CS{}".format(speed)))
|
@@ -253,11 +260,18 @@ class MoonsStepper(Subject):
|
|
253
260
|
|
254
261
|
def calibrate(self, motor_address="", speed=0.3, onStart=None, onComplete=None):
|
255
262
|
self.send(self.addressed_cmd(motor_address, "VE{}".format(speed)))
|
263
|
+
# time.sleep(0.01)
|
256
264
|
self.send(self.addressed_cmd(motor_address, "DI10"))
|
265
|
+
# time.sleep(0.01)
|
257
266
|
self.send(self.addressed_cmd(motor_address, "SH3F"))
|
267
|
+
# time.sleep(0.01)
|
258
268
|
self.send(self.addressed_cmd(motor_address, "EP0"))
|
269
|
+
# time.sleep(0.01)
|
259
270
|
self.send(self.addressed_cmd(motor_address, "SP0"))
|
260
271
|
|
272
|
+
def alarm_reset(self, motor_address=""):
|
273
|
+
self.send(self.addressed_cmd(motor_address, "AR"))
|
274
|
+
|
261
275
|
# speed slow= 0.25, medium=1, fast=5
|
262
276
|
def set_transmit_delay(self, motor_address="", delay=15):
|
263
277
|
self.send(self.addressed_cmd(motor_address, "TD{}".format(delay)))
|
moons_motor/simulate.py
CHANGED
@@ -10,15 +10,18 @@ class MoonsStepperSimulate(Observer):
|
|
10
10
|
moons_motor: MoonsStepper,
|
11
11
|
universe: int = 0,
|
12
12
|
server_address: str = "http://localhost:3001",
|
13
|
+
log_message: bool = True,
|
13
14
|
):
|
14
15
|
self.server_address = server_address
|
15
16
|
self.universe = universe
|
16
17
|
self.moons_motor = moons_motor
|
17
18
|
self.io = socketio.SimpleClient()
|
18
19
|
self.connected = False
|
19
|
-
self.
|
20
|
+
self.log_message = True
|
20
21
|
|
21
22
|
def update(self, event):
|
23
|
+
if self.log_message == False:
|
24
|
+
return
|
22
25
|
print(f"Simulate send: {event}")
|
23
26
|
self.emit("motor", event)
|
24
27
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: moons_motor
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.9
|
4
4
|
Summary: This is a python library for controlling the Moons' motor through the serial port.
|
5
5
|
Author-email: miroc <mike8503111@gmail.com>
|
6
6
|
Project-URL: Repository, https://github.com/miroc99/moons_motor.git
|
@@ -22,15 +22,20 @@ Requires-Dist: requests
|
|
22
22
|
This is a python library for control moons motor through serial port.
|
23
23
|
|
24
24
|
## Compatibility
|
25
|
+
|
25
26
|
Now only support Windows.
|
26
27
|
|
27
28
|
## Installing
|
29
|
+
|
28
30
|
Install through `pip`
|
31
|
+
|
29
32
|
```bash
|
30
33
|
python -m pip install moons_motor
|
31
34
|
|
32
35
|
```
|
36
|
+
|
33
37
|
## Usage
|
38
|
+
|
34
39
|
```python
|
35
40
|
from motor import MoonsStepper, StepperModules
|
36
41
|
import simulate
|
@@ -46,7 +51,9 @@ sleep(5)
|
|
46
51
|
motor.stop_jog()
|
47
52
|
|
48
53
|
```
|
54
|
+
|
49
55
|
## Tested Motor
|
56
|
+
|
50
57
|
1. STM17S-3RN
|
51
58
|
|
52
59
|
## Reference
|
@@ -0,0 +1,11 @@
|
|
1
|
+
moons_motor/__init__.py,sha256=qOpsRwizV-DpKSvNzyvj8ju3cs6vwgIICur1Oe6sxOA,27
|
2
|
+
moons_motor/motor.py,sha256=ruvSUhKlVk6v8Jxl7lDZ4tu4t953_jr6OWjgenIms0E,13416
|
3
|
+
moons_motor/observer.py,sha256=PXzuPYKRb2HpjArJcD8HakYIPfFGAs1uBDIL8PSizgA,124
|
4
|
+
moons_motor/simulate.py,sha256=J0y1fZhoOim9i-BAkprxnPern1SAdkDfKPqT2MWyDwU,2561
|
5
|
+
moons_motor/status.py,sha256=jXQZFZTt9ugHktkWKLII8MpEQQaeO-UjlwTrrP4LJNE,2872
|
6
|
+
moons_motor/subject.py,sha256=L_GS6fvJTeX7X23o3T92oiZ4rtLVKA2OEd9GpHn_Dz4,445
|
7
|
+
moons_motor-0.0.9.dist-info/LICENSE,sha256=nsYjO800SjIjI85y2kVHR5mC3tca2vs4kK_BhNe89bM,1074
|
8
|
+
moons_motor-0.0.9.dist-info/METADATA,sha256=Y1-ZVPTG9hPVDJqpQGv8pnTXBAZ0M9Ix0wenTL2vnrE,1281
|
9
|
+
moons_motor-0.0.9.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
|
10
|
+
moons_motor-0.0.9.dist-info/top_level.txt,sha256=0dE-CR5_NYBw34jHIDGQNWpMllzO6mtUIuKyRv_rJLg,12
|
11
|
+
moons_motor-0.0.9.dist-info/RECORD,,
|
@@ -1,11 +0,0 @@
|
|
1
|
-
moons_motor/__init__.py,sha256=qOpsRwizV-DpKSvNzyvj8ju3cs6vwgIICur1Oe6sxOA,27
|
2
|
-
moons_motor/motor.py,sha256=uUEl_IUPG-9OjAjW8bRWtuYt-06XU77wIYRsw3nG5MM,12845
|
3
|
-
moons_motor/observer.py,sha256=PXzuPYKRb2HpjArJcD8HakYIPfFGAs1uBDIL8PSizgA,124
|
4
|
-
moons_motor/simulate.py,sha256=9CwL7fHpLdr1z6nDPJMvB8XgBRFFeSyy60CoTIsUETo,2470
|
5
|
-
moons_motor/status.py,sha256=jXQZFZTt9ugHktkWKLII8MpEQQaeO-UjlwTrrP4LJNE,2872
|
6
|
-
moons_motor/subject.py,sha256=L_GS6fvJTeX7X23o3T92oiZ4rtLVKA2OEd9GpHn_Dz4,445
|
7
|
-
moons_motor-0.0.7.dist-info/LICENSE,sha256=nsYjO800SjIjI85y2kVHR5mC3tca2vs4kK_BhNe89bM,1074
|
8
|
-
moons_motor-0.0.7.dist-info/METADATA,sha256=S7rAvlY3eVETaNyCSuivnLKEEA_Hk0RvTaidZEREOKI,1267
|
9
|
-
moons_motor-0.0.7.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
10
|
-
moons_motor-0.0.7.dist-info/top_level.txt,sha256=0dE-CR5_NYBw34jHIDGQNWpMllzO6mtUIuKyRv_rJLg,12
|
11
|
-
moons_motor-0.0.7.dist-info/RECORD,,
|
File without changes
|
File without changes
|