You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+153-6Lines changed: 153 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,43 @@
1
1
# module_dsp402
2
2
3
-
This module implements the CiA DSP 402 state machine. Therefore it takes an input and output process data with the statusword and the controlword and exports new process data to control the state machine in an easier way.
3
+
[](https://github.com/robotkernel-hal/module_dsp402/actions/workflows/build-deb.yaml)
**Robotkernel‑5 handler module for implementing the CiA DSP‑402 state machine per axis**
10
+
11
+
This module wraps the **DSP‑402** drive-control state machine (CiA 402) to simplify interaction with EtherCAT-connected axes using `Controlword` / `Statusword`. It synchronizes drive commands and states via Robotkernel triggers and axis-level abstraction.
12
+
13
+
---
14
+
15
+
## ✨ Features
16
+
17
+
- Implements full CiA DSP‑402 drive state transitions
18
+
- Maps EtherCAT PDO process data (`Statusword`/`Controlword`) to axis logic
19
+
- Flexible YAML configuration via named devices or class‑instance templates
20
+
- Trigger‑based synchronization on inputs and outputs
21
+
- Supports multiple axes neatly handled via loop or templates
22
+
23
+
---
24
+
25
+
## 🧠 Typical Use Case
26
+
27
+
The module is used in systems with drives/axes that support CiA DSP402 (e.g., Beckhoff AX5000, Elmo, Kollmorgen), enabling the host to easily control the drive's state machine without manually encoding complex Controlword sequences.
28
+
29
+
---
30
+
31
+
## 🔌 Dependencies
32
+
33
+
-[module_ethercat](https::/github.com/robotkernel-hal/module_ethercat.git) or another process data source
34
+
- Real-time capable host for cycle-exact communication (recommended)
35
+
36
+
---
37
+
38
+
## 🧩 Configuration
39
+
40
+
### Simple Single-Axis Setup
6
41
7
42
```yaml
8
43
- name: dsp402
@@ -20,12 +55,14 @@ This module implements the CiA DSP 402 state machine. Therefore it takes an inpu
20
55
depends: [ ecat ]
21
56
```
22
57
58
+
### Axis Template with Multiple Instances
59
+
23
60
```yaml
24
61
- name: dsp402
25
62
so_file: libmodule_dsp402.so
26
63
config:
27
64
classes:
28
-
my_axis:
65
+
axis_template:
29
66
name: ($axis_name)
30
67
pdin: ($inputs_name).pd
31
68
pdin_trigger: ($inputs_name).trigger
@@ -34,13 +71,14 @@ This module implements the CiA DSP 402 state machine. Therefore it takes an inpu
0 commit comments