Python PacketHandler
- Description
Base functions for packet construction.
-
Members
None
-
Methods
| Methods | Description |
|---|---|
| packetHandler | Initializes members of packet data pointer struct |
| getTxRxResult | Gets communication result |
| getRxPacketError | Gets hardware error |
| txPacket | Transmits the packet |
| rxPacket | Receives the packet |
| txRxPacket | Transmits and receives the packet |
| ping | ping DYNAMIXEL |
| broadcastPing | ping all connected DYNAMIXEL’s |
| action | Commands ‘Run’ the Regwritten |
| regWrite | Writes the packets and wait for the ‘Action’ command |
| reboot | Reboots DYNAMIXEL |
| factoryReset | Resets all DYNAMIXEL settings |
| readTx | Transmits N byte read instruction packet |
| readRx | Receives N byte read status packet |
| readTxRx | Transmits and receives N byte packet |
| read1ByteTx | Transmits 1 byte read instruction packet |
| read1ByteRx | Receives 1 byte read status packet |
| read1ByteTxRx | Transmits and receives 1 byte packet |
| read2ByteTx | Transmits 2 byte read instruction packet |
| read2ByteRx | Receives 2 byte read status packet |
| read2ByteTxRx | Transmits and receives 2 byte packet |
| read4ByteTx | Transmits 4 byte read instruction packet |
| read4ByteRx | Receives 4 byte read status packet |
| read4ByteTxRx | Transmits and receives 4 byte packet |
| writeTxOnly | Transmits N byte write instruction packet |
| writeTxRx | Transmits and receives N byte packet |
| write1ByteTxOnly | Transmits 1 byte write instruction packet |
| write1ByteTxRx | Transmits and receives 1 byte packet |
| write2ByteTxOnly | Transmits 2 byte write instruction packet |
| write2ByteTxRx | Transmits and receives 2 byte packet |
| write4ByteTxOnly | Transmits 4 byte write instruction packet |
| write4ByteTxRx | Transmits and receives 4 byte packet |
| regWriteTxOnly | Transmits register write instruction packet |
| regWriteTxRx | Transmits and receives register write packet |
| syncReadTx | Transmits N byte sync read Instruction packet |
| syncWriteTxOnly | Transmits N byte sync write Instruction packet |
| bulkReadTx | Transmits N byte bulk read Instruction packet |
| bulkWriteTxOnly | Transmits N byte bulk write Instruction packet |
- Enumerator
| Enumerator | Description |
|---|---|
| DXL_MAKEWORD(a, b) | makes value from a and b to word type |
| DXL_MAKEDWORD(a, b) | makes value from a and b to dword type |
| DXL_LOWORD(l) | gets lower word type value from l |
| DXL_HIWORD(l) | gets higher word type value from l |
| DXL_LOBYTE(w) | gets lower byte type value from w |
| DXL_HIBYTE(w) | gets higher byte type value from w |
| BROADCAST_ID | := 0xFE Broadcast ID |
| MAX_ID | := 0xFC Maximum ID value |
| INST_PING | := 1 Instruction value of ping |
| INST_READ | := 2 Instruction value of Read |
| INST_WRITE | := 3 Instruction value of Write |
| INST_REG_WRITE | := 4 Instruction value of Register Write |
| INST_ACTION | := 5 Instruction value of Action |
| INST_FACTORY_RESET | := 6 Instruction value of Factory Reset |
| INST_SYNC_WRITE | := 131 Instruction value of Sync Write |
| INST_BULK_READ | := 146 Instruction value of Bulk Read |
| INST_REBOOT | := 8 Instruction value of Reboot |
| INST_STATUS | := 85 Instruction value of Status |
| INST_SYNC_READ | := 130 Instruction value of Sync Read |
| INST_BULK_WRITE | := 147 Instruction value of Bulk Write |
| COMM_SUCCESS | := 0 Status of Communication Success |
| COMM_PORT_BUSY | := -1000 Status of Port in use |
| COMM_TX_FAIL | := -1001 Status of Transmit packet failed |
| COMM_RX_FAIL | := -1002 Status of Receive packet failed |
| COMM_TX_ERROR | := -2000 Status of Transmit packet error |
| COMM_RX_WAITING | := -3000 Status of Receive packet waiting |
| COMM_RX_TIMEOUT | := -3001 Status of Receive packet timeout |
| COMM_RX_CORRUPT | := -3002 Status of Receive packet corrupt |
| COMM_NOT_AVAILABLE | := -9000 Status of Unavailable in protocol 1.0 |
Method References
packetHandler
- Syntax
packetHandler() -
Parameters
None
-
Detailed Description
This function initializes the parameters for packet construction. The function resizes
packetDatastruct and initialzes struct members.
getTxRxResult
- Syntax
getTxRxResult(result) - Parameters
| Parameters | Description |
|---|---|
| result | Communication result |
-
Detailed Description
This function gets communication result as string type.
getRxPacketError
- Syntax
getRxPacketError(error) - Parameters
| Parameters | Description |
|---|---|
| error | Hardware error |
-
Detailed Description
This function gets hardware error sent by DYNAMIXEL.
txPacket
- Syntax
txPacket(port, txpacket) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| txpacket | packet byte for sending |
-
Detailed Description
The function transmits the packet. The function clears the port by
clearPortfunction at first, and stores data in the txpacket storage ofport. The communication result and the hardware error are available when the function is terminated.
rxPacket
- Syntax
void rxPacket(port) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
-
Detailed Description
The function repeatedly tries to receive packets from
portrx buffer until whole packets that it waits to get have arrived, or the packet wait time limit is over, while it filters garbage signals and verify correctness of received signal. The communication result and the hardware error are available when the function is terminated.
txRxPacket
- Syntax ``` python txRxPacket(port, txpacket)
- Parameters
| Parameters | Description |
|:-----------------|:------------------------------------------|
| port | PortHandler instance |
| txpacket | packet byte for sending |
- Detailed Description
The function stores data for being written into the array for packet transmission and gets data read from rx buffer of #`port_num` port by `txPacket` and `rxPacket` functions. When `txPacket` function succeeds to communicate, it will continue to `rxPacket` and finishes the process if the packet succeeds to be received. In particular, the group handler functions for write, such as SyncWrite, and BulkWrite, don’t use `rxPacket` so the function finishes its operation immediately after the 'txPacket2'. Before the `rxPacket`, it sets packet timeout if the instruction of received packet is for read. The communication result and the hardware error are available when the function is terminated.
##### ping
- Syntax
``` python
ping(port, dxl_id)
- Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
-
Detailed Description
The function uses
pingGetModelNumwithout requesting DYNAMIXEL to send its the model number. The communication result and the hardware error are available when the function is terminated.
broadcastPing
- Syntax ``` python broadcastPing(port, dxl_id)
- Parameters
| Parameters | Description |
|:-----------------|:------------------------------------------|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
- Detailed Description
The function finds all connected dynamixels and store their id in the list. The function is unavailable in protocol 1.0.
##### action
- Syntax
``` python
action(port, dxl_id)
- Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
-
Detailed Description
The function pulls the trigger of sending txpacket previously set by
regWriteTxOnlyorregWriteTxRxfunction, usingtxRxPacketfunction. The communication result and the hardware error are available when the function is terminated.
reboot
- Syntax
void reboot(port, dxl_id) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
-
Detailed Description
The function constructs the transmission packet with reboot instruction, and starts
txRxPacket. The function may perform its role when the DYNAMIXEL stops working caused by hardware error. The communication result and the hardware error are available when the function is terminated. The function is unavailable in protocol 1.0.
factoryReset
- Syntax ``` python factoryReset(port, dxl_id, option)
- Parameters
| Parameters | Description |
|:-----------------|:------------------------------------------|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
| option | Reset option |
- Detailed Description
The function constructs the transmission packet for reset DYNAMIXEL, and starts `txRxPacket`. The resets targeted DYNAMIXEL's settings to the factory default settings. The `option` indicates the range of which items on the control table should be reset: `0xFF` for resetting all values, `0x01` for resetting all values except ID, `0x02` for resetting all values except ID and Baudrate. The communication result and the hardware error are available when the function is terminated. In protocol 1.0, `option` is selectable with only full-reset mode `0x00`.
##### readTx
- Syntax
``` python
readTx(port, dxl_id, address, length)
- Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
| address | Address on the control table of DYNAMIXEL |
| length | Packet length |
-
Detailed Description
The function constructs the transmission packet with read instruction, and starts
txPacket. Then the function callssetPacketTimeoutfunction when packet transmission succeeds. The function can’t control more than one DYNAMIXEL at once. The communication result and the hardware error are available when the function is terminated.
readRx
- Syntax
readRx(port, dxl_id, length) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
| length | Packet length |
-
Detailed Description
The function calls
rxPacket2function and gets the packet from read data storage if the communication succeeds. The communication result and the hardware error are available when the function is terminated.
readTxRx
- Syntax
readTxRx(port, dxl_id, address, length) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
| address | Address on the control table of DYNAMIXEL |
| length | Packet length |
-
Detailed Description
The function calls
readTxfunction andreadRxfunction.readRxfunction will be called whenreadTxsucceeds. The communication result and the hardware error are available when the function is terminated.
read1ByteTx
- Syntax
read1ByteTx(port, dxl_id, address) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
| address | Address on the control table of DYNAMIXEL |
-
Detailed Description
The function calls
readTxfunction to send 1 Byte read intended packet transmission. The communication result and the hardware error are available when the function is terminated.
read1ByteRx
- Syntax
read1ByteRx(port, dxl_id) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
-
Detailed Description
The function calls
readRxfunction to receive response packet of 1 Byte read intended packet transmission. The communication result and the hardware error are available when the function is terminated.
read1ByteTxRx
- Syntax
read1ByteTxRx(port, dxl_id, address) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
| address | Address on the control table of DYNAMIXEL |
-
Detailed Description
The function calls
readTxRxfunction to read 1 Byte data from DYNAMIXEL. The communication result and the hardware error are available when the function is terminated.
read2ByteTx
- Syntax
read2ByteTx(port, dxl_id, address) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
| address | Address on the control table of DYNAMIXEL |
-
Detailed Description
The function calls
readTxfunction to send 2 Byte read intended packet transmission. The communication result and the hardware error are available when the function is terminated.
read2ByteRx
- Syntax
read2ByteRx(port, dxl_id) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
-
Detailed Description
The function calls
readRxfunction to receive response packet of 2 Byte read intended packet transmission. The communication result and the hardware error are available when the function is terminated.
read2ByteTxRx
- Syntax
read2ByteTxRx(port, dxl_id, address) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
| address | Address on the control table of DYNAMIXEL |
-
Detailed Description
The function calls
readTxRxfunction to read 2 Byte data from DYNAMIXEL. The communication result and the hardware error are available when the function is terminated.
read4ByteTx
- Syntax
read4ByteTx(port, dxl_id, address) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
| address | Address on the control table of DYNAMIXEL |
-
Detailed Description
The function calls
readTxfunction to send 4 Byte read intended packet transmission. The communication result and the hardware error are available when the function is terminated. The function is unavailable in protocol 1.0.
read4ByteRx
- Syntax
read4ByteRx(port, dxl_id) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
-
Detailed Description
The function calls
readRxfunction to receive response packet of 4 Byte read intended packet transmission. The communication result and the hardware error are available when the function is terminated. The function is unavailable in protocol 1.0.
read4ByteTxRx
- Syntax
read4ByteTxRx(port, dxl_id, address) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
| address | Address on the control table of DYNAMIXEL |
-
Detailed Description
The function calls
readTxRxfunction to read 4 Byte data from DYNAMIXEL. The communication result and the hardware error are available when the function is terminated. The function is unavailable in protocol 1.0.
writeTxOnly
- Syntax
writeTxOnly(port, dxl_id, address, length, data) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
| address | Address on the control table of DYNAMIXEL |
| length | Packet length |
| data | data for sending |
-
Detailed Description
The function constructs the transmission packet with write instruction, and starts
txPacket. The communication result and the hardware error are available when the function is terminated.
writeTxRx
- Syntax
writeTxRx(port, dxl_id, address, length, data) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
| address | Address on the control table of DYNAMIXEL |
| length | Packet length |
| data | data for sending |
-
Detailed Description
The function constructs the transmission packet with write instruction, and starts
txRxPacket. The communication result and the hardware error are available when the function is terminated.
write1ByteTxOnly
- Syntax
write1ByteTxOnly(port, dxl_id, address, data) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
| address | Address on the control table of DYNAMIXEL |
| data | data for sending |
-
Detailed Description
The function calls
writeTxOnlyfunction to send 1 Byte write intended packet transmission. The communication result and the hardware error are available when the function is terminated.
write1ByteTxRx
- Syntax
write1ByteTxRx(port, dxl_id, address, data) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
| address | Address on the control table of DYNAMIXEL |
| data | data for sending |
-
Detailed Description
The function calls
writeTxRxfunction to send 1 Byte write intended packet transmission (and reception). The communication result and the hardware error are available when the function is terminated.
write2ByteTxOnly
- Syntax
write2ByteTxOnly(port, dxl_id, address, data) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
| address | Address on the control table of DYNAMIXEL |
| data | data for sending |
-
Detailed Description
The function calls
writeTxOnlyfunction to send 2 Byte write intended packet transmission. The communication result and the hardware error are available when the function is terminated.
write2ByteTxRx
- Syntax
write2ByteTxRx(port, dxl_id, address, data) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
| address | Address on the control table of DYNAMIXEL |
| data | data for sending |
-
Detailed Description
The function calls
writeTxRxfunction to send 2 Byte write intended packet transmission (and reception). The communication result and the hardware error are available when the function is terminated.
write4ByteTxOnly
- Syntax
write4ByteTxOnly(port, dxl_id, address, data) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
| address | Address on the control table of DYNAMIXEL |
| data | data for sending |
-
Detailed Description
The function calls
writeTxOnlyfunction to send 4 Byte write intended packet transmission. The communication result and the hardware error are available when the function is terminated. The function is unavailable in protocol 1.0.
write4ByteTxRx
- Syntax
write4ByteTxRx(port, dxl_id, address, data) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
| address | Address on the control table of DYNAMIXEL |
| data | data for sending |
-
Detailed Description
The function calls
writeTxRxfunction to send 4 Byte write intended packet transmission (and reception). The communication result and the hardware error are available when the function is terminated. The function is unavailable in protocol 1.0.
regWriteTxOnly
- Syntax
regWriteTxOnly(port, dxl_id, address, length, data) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
| address | Address on the control table of DYNAMIXEL |
| length | Packet length |
| data | data for sending |
-
Detailed Description
The function intends simultaneous control of more than one DYNAMIXEL. The function writes the data without requesting an action of DYNAMIXEL. The DYNAMIXEL works when the trigger
actionfunction is executed. The function needs previous setting of the data to write on the DYNAMIXEL. The communication result and the hardware error are available when the function is terminated.
regWriteTxRx
- Syntax
regWriteTxRx(port, dxl_id, address, length, data) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| dxl_id | DYNAMIXEL ID |
| address | Address on the control table of DYNAMIXEL |
| length | Packet length |
| data | data for sending |
-
Detailed Description
The function intends simultaneous multiple DYNAMIXEL’s control. The function writes the data without requesting an action of DYNAMIXEL. The DYNAMIXEL works when the trigger
actionfunction is executed. The function needs previous setting of the data to write on the DYNAMIXEL. The communication result and the hardware error are available when the function is terminated.
syncReadTx
- Syntax
syndReadTx(port, start_address, data_length, param, param_length) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| start_address | Address on the control table of DYNAMIXEL |
| data_length | Data length |
| param | Parameter for write |
| param_length | Parameter length |
-
Detailed Description
The function intends simultanoues multiple DYNAMIXEL’s control by reading same length of data from the same address on the DYNAMIXEL control table. The function constructs the transmission packet with sync read instruction, and starts ‘txPacket2’. Then the function calls
setPacketTimeoutfunction whentxPacketsucceeds. The communication result and the hardware error are available when the function is terminated. The function is unavailable in protocol 1.0.
syncWriteTxOnly
- Syntax
syncWriteTxOnly(port, start_address, data_length, param, param_length) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| start_address | Address on the control table of DYNAMIXEL |
| data_length | Data length |
| param | Parameter for write |
| param_length | Parameter length |
-
Detailed Description
The function intends simultaneous multiple DYNAMIXEL’s control by writing same length of data to the same address on the DYNAMIXEL control table. The function constructs the transmission packet with sync write instruction, and starts
txRxPacket. The communication result and the hardware error are available when the function is terminated.
bulkReadTx
- Syntax
bulkReadTx(port, param, param_length) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| param | Parameters |
| param_length | Parameter length |
-
Detailed Description
The function intends simultaneous multiple DYNAMIXEL’s control by writing different length of data to the different address on the DYNAMIXEL control table. The function constructs the transmission packet with bulk read instruction, and starts
txPacket. Then the function callssetPacketTimeoutfunction whentxPacketsucceeds. The communication result and the hardware error are available when the function is terminated.
bulkWriteTxOnly
- Syntax
bulkWriteTxOnly(port, param, param_length) - Parameters
| Parameters | Description |
|---|---|
| port | PortHandler instance |
| param | Parameters |
| param_length | Parameter length |
-
Detailed Description
The function intends simultaneous multiple DYNAMIXEL’s control by writing different length of data from the different address on the DYNAMIXEL control table. The function constructs the transmission packet with bulk write instruction, and starts
TxRxPacket. The communication result and the hardware error are available when the function is terminated. The function is unavailable in protocol 1.0.

