-
Notifications
You must be signed in to change notification settings - Fork 30
Expand file tree
/
Copy pathdemo_script_06_multiple_drivers.py
More file actions
88 lines (69 loc) · 2.25 KB
/
demo_script_06_multiple_drivers.py
File metadata and controls
88 lines (69 loc) · 2.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
"""
Demo file for multiple drivers via one shared UART connection
"""
from tmc_driver import (
Tmc2209,
Loglevel,
Board,
tmc_gpio,
MovementAbsRel,
TmcEnableControlPin,
TmcMotionControlStepDir,
)
from tmc_driver.com import TmcComUart
print("---")
print("SCRIPT START")
print("---")
# -----------------------------------------------------------------------
# initiate the Tmc2209 class
# use your pins for pin_en, pin_step, pin_dir here
# -----------------------------------------------------------------------
UART_PORT = {
Board.RASPBERRY_PI: "/dev/serial0",
Board.RASPBERRY_PI5: "/dev/ttyAMA0",
Board.NVIDIA_JETSON: "/dev/ttyTHS1",
}
tmc1 = Tmc2209(
TmcEnableControlPin(21),
TmcMotionControlStepDir(16, 20),
TmcComUart(UART_PORT.get(tmc_gpio.BOARD, "/dev/serial0")),
loglevel=Loglevel.DEBUG,
)
tmc2 = Tmc2209(
TmcEnableControlPin(26),
TmcMotionControlStepDir(13, 19),
TmcComUart(UART_PORT.get(tmc_gpio.BOARD, "/dev/serial0")),
loglevel=Loglevel.DEBUG,
)
# -----------------------------------------------------------------------
# set the loglevel of the libary (currently only printed)
# set whether the movement should be relative or absolute
# both optional
# -----------------------------------------------------------------------
tmc1.tmc_logger.loglevel = Loglevel.DEBUG
tmc1.movement_abs_rel = MovementAbsRel.ABSOLUTE
tmc2.tmc_logger.loglevel = Loglevel.DEBUG
tmc2.movement_abs_rel = MovementAbsRel.ABSOLUTE
# -----------------------------------------------------------------------
# these functions read and print the current settings in the TMC register
# -----------------------------------------------------------------------
print("---")
print("IOIN tmc1")
print("---")
tmc1.read_register("ioin")
print("---\n---")
print("---")
print("IOIN tmc2")
print("---")
tmc2.read_register("ioin")
print("---\n---")
# -----------------------------------------------------------------------
# deinitiate the Tmc2209 class
# -----------------------------------------------------------------------
tmc1.set_motor_enabled(False)
tmc2.set_motor_enabled(False)
del tmc1
del tmc2
print("---")
print("SCRIPT FINISHED")
print("---")