Skip to content

Commit 22b1703

Browse files
committed
added type hints
1 parent 4c868bf commit 22b1703

File tree

4 files changed

+48
-49
lines changed

4 files changed

+48
-49
lines changed

src/tmc_driver/_tmc_math.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55

66

7-
def rps_to_vactual(rps, steps_per_rev, fclk = 12000000):
7+
def rps_to_vactual(rps, steps_per_rev:int, fclk:int = 12000000) -> int:
88
"""converts rps -> vactual
99
1010
Args:
@@ -18,7 +18,7 @@ def rps_to_vactual(rps, steps_per_rev, fclk = 12000000):
1818
return int(round(rps / (fclk / 16777216) * steps_per_rev))
1919

2020

21-
def vactual_to_rps(vactual, steps_per_rev, fclk = 12000000):
21+
def vactual_to_rps(vactual:int, steps_per_rev:int, fclk:int = 12000000) -> float:
2222
"""converts vactual -> rps
2323
2424
Args:
@@ -32,7 +32,7 @@ def vactual_to_rps(vactual, steps_per_rev, fclk = 12000000):
3232
return vactual * (fclk / 16777216) / steps_per_rev
3333

3434

35-
def rps_to_steps(rps, steps_per_rev):
35+
def rps_to_steps(rps:float, steps_per_rev:int) -> int:
3636
"""converts rps -> steps/second
3737
3838
Args:
@@ -42,9 +42,9 @@ def rps_to_steps(rps, steps_per_rev):
4242
Returns:
4343
steps (int): steps per second
4444
"""
45-
return rps * steps_per_rev
45+
return int(round(rps * steps_per_rev))
4646

47-
def steps_to_rps(steps, steps_per_rev):
47+
def steps_to_rps(steps:int, steps_per_rev:int) -> float:
4848
"""converts steps/second -> rps
4949
5050
Args:
@@ -57,7 +57,7 @@ def steps_to_rps(steps, steps_per_rev):
5757
return steps / steps_per_rev
5858

5959

60-
def rps_to_tstep(rps, steps_per_rev, mres):
60+
def rps_to_tstep(rps:float, steps_per_rev:int, mres:int) -> int:
6161
"""converts rps -> tstep
6262
6363
Args:
@@ -71,7 +71,7 @@ def rps_to_tstep(rps, steps_per_rev, mres):
7171
return int(round(12000000 / (rps_to_steps(rps, steps_per_rev) * 256 / mres)))
7272

7373

74-
def steps_to_tstep(steps, mres):
74+
def steps_to_tstep(steps:int, mres:int) -> int:
7575
"""converts steps/second -> tstep
7676
7777
Args:
@@ -84,7 +84,7 @@ def steps_to_tstep(steps, mres):
8484
return int(round(12000000 / (steps * 256 / mres)))
8585

8686

87-
def constrain(val, min_val, max_val):
87+
def constrain(val:int, min_val:int, max_val:int) -> int:
8888
"""constrains a value between a min and a max
8989
9090
Args:

src/tmc_driver/_tmc_spi.py

+9-10
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88

99
import time
1010
import struct
11-
11+
from typing import List
1212
from .reg._tmc_220x_reg_addr import TmcRegAddr
1313
from .reg._tmc_gstat import GStat
14-
from ._tmc_logger import Loglevel
14+
from ._tmc_logger import TmcLogger, Loglevel
1515

1616

1717
class TmcSpi:
@@ -21,14 +21,13 @@ class TmcSpi:
2121
it can be used to change the settings of the TMC.
2222
like the current or the microsteppingmode
2323
"""
24-
_tmc_logger = None
25-
26-
mtr_id = 0
27-
ser = None
28-
r_frame = [0x55, 0, 0, 0 ]
29-
w_frame = [0x55, 0, 0, 0 , 0, 0, 0, 0 ]
30-
communication_pause = 0
31-
error_handler_running = False
24+
_tmc_logger:TmcLogger = None
25+
26+
mtr_id:int = 0
27+
r_frame:List[int] = [0x55, 0, 0, 0 ]
28+
w_frame:List[int] = [0x55, 0, 0, 0 , 0, 0, 0, 0 ]
29+
communication_pause:int = 0
30+
error_handler_running:bool = False
3231

3332
@property
3433
def tmc_logger(self):

src/tmc_driver/_tmc_uart.py

+11-11
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
import time
88
import struct
99
import serial
10-
10+
from typing import List
1111
from .reg._tmc_220x_reg_addr import TmcRegAddr
1212
from .reg._tmc_gstat import GStat
13-
from ._tmc_logger import Loglevel
13+
from ._tmc_logger import TmcLogger, Loglevel
1414

1515

1616
class TmcUart:
@@ -20,22 +20,22 @@ class TmcUart:
2020
it can be used to change the settings of the TMC.
2121
like the current or the microsteppingmode
2222
"""
23-
_tmc_logger = None
23+
_tmc_logger:TmcLogger = None
2424

25-
mtr_id = 0
26-
ser = None
27-
r_frame = [0x55, 0, 0, 0 ]
28-
w_frame = [0x55, 0, 0, 0 , 0, 0, 0, 0 ]
29-
communication_pause = 0
30-
error_handler_running = False
25+
mtr_id:int = 0
26+
ser:serial.Serial = None
27+
r_frame:List[int] = [0x55, 0, 0, 0 ]
28+
w_frame:List[int] = [0x55, 0, 0, 0 , 0, 0, 0, 0 ]
29+
communication_pause:int = 0
30+
error_handler_running:bool = False
3131

3232
@property
33-
def tmc_logger(self):
33+
def tmc_logger(self) -> TmcLogger:
3434
"""get the tmc_logger"""
3535
return self._tmc_logger
3636

3737
@tmc_logger.setter
38-
def tmc_logger(self, tmc_logger):
38+
def tmc_logger(self, tmc_logger:TmcLogger):
3939
"""set the tmc_logger"""
4040
self._tmc_logger = tmc_logger
4141

src/tmc_driver/tmc_220x.py

+20-20
Original file line numberDiff line numberDiff line change
@@ -48,17 +48,17 @@ class Tmc220x:
4848
_steps_per_rev:int = 0
4949
_fullsteps_per_rev:int = 0
5050

51-
_current_pos:int = 0 # current position of stepper in steps
52-
_target_pos:int = 0 # the target position in steps
53-
_speed:float = 0.0 # the current speed in steps per second
54-
_max_speed:float = 1.0 # the maximum speed in steps per second
55-
_max_speed_homing:float = 200 # the maximum speed in steps per second for homing
56-
_acceleration:float = 1.0 # the acceleration in steps per second per second
57-
_acceleration_homing:float = 10000 # the acceleration in steps per second per second for homing
58-
_sqrt_twoa:float = 1.0 # Precomputed sqrt(2*_acceleration)
59-
_step_interval:int = 0 # the current interval between two steps
60-
_min_pulse_width:int = 1 # minimum allowed pulse with in microseconds
61-
_last_step_time:int = 0 # The last step time in microseconds
51+
_current_pos:int = 0 # current position of stepper in steps
52+
_target_pos:int = 0 # the target position in steps
53+
_speed:int = 0 # the current speed in steps per second
54+
_max_speed:int = 1 # the maximum speed in steps per second
55+
_max_speed_homing:int = 200 # the maximum speed in steps per second for homing
56+
_acceleration:int = 1 # the acceleration in steps per second per second
57+
_acceleration_homing:int = 10000 # the acceleration in steps per second per second for homing
58+
_sqrt_twoa:float = 1.0 # Precomputed sqrt(2*_acceleration)
59+
_step_interval:int = 0 # the current interval between two steps
60+
_min_pulse_width:int = 1 # minimum allowed pulse with in microseconds
61+
_last_step_time:int = 0 # The last step time in microseconds
6262
_n:int = 0 # step counter
6363
_c0:int = 0 # Initial step size in microseconds
6464
_cn:int = 0 # Last step size in microseconds
@@ -82,7 +82,7 @@ def fullsteps_per_rev(self):
8282
return self._fullsteps_per_rev
8383

8484
@fullsteps_per_rev.setter
85-
def fullsteps_per_rev(self, fullsteps_per_rev):
85+
def fullsteps_per_rev(self, fullsteps_per_rev:int):
8686
"""_fullsteps_per_rev setter"""
8787
self._fullsteps_per_rev = fullsteps_per_rev
8888
self._steps_per_rev = self._fullsteps_per_rev * self._mres
@@ -93,7 +93,7 @@ def mres(self):
9393
return self._mres
9494

9595
@mres.setter
96-
def mres(self, mres):
96+
def mres(self, mres:int):
9797
"""_mres setter"""
9898
self._mres = mres
9999
self._steps_per_rev = self._fullsteps_per_rev * self._mres
@@ -104,7 +104,7 @@ def current_pos(self):
104104
return self._current_pos
105105

106106
@current_pos.setter
107-
def current_pos(self, current_pos):
107+
def current_pos(self, current_pos:int):
108108
"""_current_pos setter"""
109109
self._current_pos = current_pos
110110

@@ -114,7 +114,7 @@ def movement_abs_rel(self):
114114
return self._movement_abs_rel
115115

116116
@movement_abs_rel.setter
117-
def movement_abs_rel(self, movement_abs_rel):
117+
def movement_abs_rel(self, movement_abs_rel:MovementAbsRel):
118118
"""_movement_abs_rel setter"""
119119
self._movement_abs_rel = movement_abs_rel
120120

@@ -129,7 +129,7 @@ def speed(self):
129129
return self._speed
130130

131131
@speed.setter
132-
def speed(self, speed):
132+
def speed(self, speed:int):
133133
"""_speed setter"""
134134
self.set_speed(speed)
135135

@@ -139,7 +139,7 @@ def max_speed(self):
139139
return self._max_speed
140140

141141
@max_speed.setter
142-
def max_speed(self, max_speed):
142+
def max_speed(self, max_speed:int):
143143
"""_max_speed setter"""
144144
self.set_max_speed(max_speed)
145145

@@ -149,7 +149,7 @@ def max_speed_fullstep(self):
149149
return self._max_speed
150150

151151
@max_speed_fullstep.setter
152-
def max_speed_fullstep(self, max_speed_fullstep):
152+
def max_speed_fullstep(self, max_speed_fullstep:int):
153153
"""_max_speed_fullstep setter"""
154154
self.set_max_speed_fullstep(max_speed_fullstep)
155155

@@ -159,7 +159,7 @@ def accerlation(self):
159159
return self._acceleration
160160

161161
@accerlation.setter
162-
def accerlation(self, accerlation):
162+
def accerlation(self, accerlation:int):
163163
"""_acceleration setter"""
164164
self.set_acceleration(accerlation)
165165

@@ -169,7 +169,7 @@ def acceleration_fullstep(self):
169169
return self._acceleration
170170

171171
@acceleration_fullstep.setter
172-
def acceleration_fullstep(self, acceleration_fullstep):
172+
def acceleration_fullstep(self, acceleration_fullstep:int):
173173
"""_acceleration_fullstep setter"""
174174
self.set_acceleration_fullstep(acceleration_fullstep)
175175

0 commit comments

Comments
 (0)