Write at the top
My computer got some silly problem with the typing software that my Chinese IM does't work again. So I'll try to record the things happened in English.
If any error,DM me plz.
BUGs
BUG1
Undefined symbol Identifier "CLOCK_MONOTONIC"
Undefined symbol Identifier "TIMER_ABSTIME"
Solution
In your main cpp file, add this in the first line:
#define _GNU_SOURCE
Notes
Command Line Notes
- 0x1c12(SM2)
0x1c12 is SM2 Related Index , Specially used in EtherCAT over the CANOpen.
Aimed to set the RPDO settings.
sudo ethercat upload -t int8 -p 3 -a 0 0x1c12 00
0x01 1
sudo ethercat upload -t int16 -p 3 -a 0 0x1c12 01
0x1600 5632
sudo ethercat upload -t int16 -p 3 -a 0 0x1c12 31
SDO transfer aborted with code 0x06090011: Subindex does not exist
sudo ethercat upload -t int16 -p 3 -a 0 0x1c12 30
0x1621 5665
Index | SubIndex | Size | Default Value |
---|---|---|---|
0x1c12 | 00 | int8 | 0x01 |
0x1c12 | 01 | int16 | 0x1600(5632) |
0x1c12 | 02 | int16 | 0x1601(5634) |
... | ... | ... | ... |
0x1c12 | 29 | int16 | 0x1620(5664) |
0x1c12 | 30 | int16 | 0x1621(5665) |
Index | SubIndex | Size | Default Value |
---|---|---|---|
0x1600 | 00 | int8 | 0x03 |
0x1600 | 01 | int32 | 0x607a0020(1618608160) |
0x1600 | 02 | int32 | 0x60fe0120(1627259168) |
0x1600 | 03 | int32 | 0x60400010(1614807056) |
2.0x1c13(SM3)
Index | SubIndex | Size | Default Value |
---|---|---|---|
0x1c13 | 00 | int8 | 0x01 |
0x1c13 | 01 | int16 | 0x1a00(6656) |
0x1c13 | 02 | int16 | 0x1a01(6657) |
... | ... | ... | ... |
0x1c13 | 33 | int16 | 0x1a24(6692) |
0x1c13 | 34 | int16 | 0x1a26(6694) |
0x1c13 | 35 | int16 | 0x0000(0) |
Set 0x1c12 0 to 0
Then set it to the true number
Set 0x1600 0 to 0
Then set it to the true number 1
Set 0x1601 0 to 0
Then set it to the true number 1