24 lines
1.8 KiB
Markdown
24 lines
1.8 KiB
Markdown
# Dynamixel2Arduino [](https://travis-ci.org/ROBOTIS-GIT/Dynamixel2Arduino/branches)
|
|
|
|
## Serial and Direction Pin definitions by board
|
|
- The examples defines GPIO pins based on the use with DYNAMIXEL Shields.
|
|
- When running DYNAMIXEL without DYNAMIXEL Shields on OpenCM9.04, OpenCR or custom boards, you might need to change the Serial and DYNAMIXEL Direction Pin.
|
|
- We provide the information below to make it easier to define Serial and Direction pins for specific hardware.
|
|
|
|
|Board Name|Serial|Direction Pin|Note|
|
|
|:-:|:-:|:-:|:-:|
|
|
|OpenCM9.04|Serial1|28|because of the OpenCM 9.04 driver code, you must call Serial1.setDxlMode(true); before dxl.begin();.|
|
|
|OpenCM485EXP|Serial3|22||
|
|
|OpenCR|Serial3|84|For OpenCR, there is a DXL Power Enable pin, so you must initialize and control it. ([Reference link](https://github.com/ROBOTIS-GIT/OpenCR/blob/master/arduino/opencr_arduino/opencr/libraries/DynamixelSDK/src/dynamixel_sdk/port_handler_arduino.cpp#L78))|
|
|
|
|
|
|
## How to add new DYNAMIXEL model.
|
|
- For the convenience of the user, Dynamixel2Arduino API hardcodes some information in the control table and stores it in flash.
|
|
- To do this, you need to add code to some files. In this regard, please refer to [PR#3](https://github.com/ROBOTIS-GIT/Dynamixel2Arduino/pull/3) and [PR#7](https://github.com/ROBOTIS-GIT/Dynamixel2Arduino/pull/7)
|
|
|
|
## How to create custom PortHandler Class
|
|
- Please refer to [port_handler.h](https://github.com/ROBOTIS-GIT/Dynamixel2Arduino/blob/master/src/utility/port_handler.h)
|
|
- Create a new class by inheriting PortHandler as public. (Like SerialPortHandler and USBSerialPortHandler)
|
|
|
|
## TODO
|
|
- Separation of protocol codes (protocol, packet handler) |