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 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]+)", p.usb_info()
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
- f"Device: {p.description} | VID: {m.group(1)} | PID: {m.group(2)} | SER: {m.group(3)} connected"
159
- )
160
-
161
- self.device = p.description
162
-
163
- attempt_connect(p.device, baudrate)
164
- if callback:
165
- callback(self.device, self.Opened)
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.is_log_message = True
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.7
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,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: setuptools (75.2.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -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,,