Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: PSL_ROBOT_lorenzo robot_lorenzo recepteur_mbed_os_6
Diff: MX12.h
- Revision:
- 12:acfd6c46954b
- Parent:
- 11:9bc7f5e2ccee
- Child:
- 13:ccda9a56fef1
--- a/MX12.h Sat Nov 06 17:24:30 2021 +0000 +++ b/MX12.h Sat Nov 06 17:42:25 2021 +0000 @@ -82,44 +82,45 @@ * @see https://emanual.robotis.com/docs/en/dxl/mx/mx-12w/ * @see Dynamixel protocol v1.0 manual * @see https://emanual.robotis.com/docs/en/dxl/protocol1/ - -@code - -#include "mbed.h" -#include "MX12.h" - -#define SERVO_TX_PIN PC_4 -#define SERVO_RX_PIN PC_5 -#define SERVO_BAUD 115200 -#define SERVO_ID 1 - -#define DELAY_1000ms 1000 -#define DELAY_1ms 1 - -MX12 servo_bus(SERVO_TX_PIN, SERVO_RX_PIN, SERVO_BAUD); -float relative_speed; - -int main() -{ - // Set speed of SERVO_ID servomotor to 10% - // Send on servo_bus to SERVO_ID motor the instruction "moving speed" - // with parameter 0.1 (10% of maximum speed) - relative_speed = 0.1; - servo_bus.SetSpeed(SERVO_ID, relative_speed); - - // wait for one second - thread_sleep_for(DELAY_1000ms); - - // set speed of SERVO_ID servomotor to 0% - relative_speed = 0.0; - servo_bus.SetSpeed(SERVO_ID, relative_speed); - - // infinite loop - while (true) thread_sleep_for(DELAY_1000ms); -} - -@endcode - + * + * Example of class usage to send two instruction packets to servomotor #1 + * with one second gap. First ask to move at 10% of maximum speed and the + * stop the movement. + * + * @code + * #include "mbed.h" + * #include "MX12.h" + * + * #define SERVO_TX_PIN PC_4 + * #define SERVO_RX_PIN PC_5 + * #define SERVO_BAUD 115200 + * #define SERVO_ID 1 + * + * #define DELAY_1000ms 1000 + * #define DELAY_1ms 1 + * + * MX12 servo_bus(SERVO_TX_PIN, SERVO_RX_PIN, SERVO_BAUD); + * float relative_speed; + * + * int main() + * { + * // Set speed of SERVO_ID servomotor to 10% + * // Send on servo_bus to SERVO_ID motor the instruction "moving speed" + * // with parameter 0.1 (10% of maximum speed) + * relative_speed = 0.1; + * servo_bus.SetSpeed(SERVO_ID, relative_speed); + * + * // wait for one second + * thread_sleep_for(DELAY_1000ms); + * + * // set speed of SERVO_ID servomotor to 0% + * relative_speed = 0.0; + * servo_bus.SetSpeed(SERVO_ID, relative_speed); + * + * // infinite loop + * while (true) thread_sleep_for(DELAY_1000ms); + * } + * @endcode * * @warning * @@ -274,32 +275,6 @@ * mot_id address data * (len = N-1) * </PRE> - * - * Code simple - * - @code - * |Header1|Header2|Packet ID|Length|Instruction|Param1...ParamN|Checksum| - * |-------|-------|---------|------|-----------|---------------|--------| - * | 0xFF | 0xFF |Packet ID|Length|Instruction|Param1...ParamN| CHKSUM | - * | cmd[0]| cmd[1]| cmd[2] |cmd[3]| cmd[4] |cmd[5]... | | - * \__ ___/ \_ _/ \__ __/ - * \/ \/ \/ - * mot_id address data - * (len = N-1) - @endcode - * - * Code simple {.unparsed} - * - @code{.unparsed} - * |Header1|Header2|Packet ID|Length|Instruction|Param1...ParamN|Checksum| - * |-------|-------|---------|------|-----------|---------------|--------| - * | 0xFF | 0xFF |Packet ID|Length|Instruction|Param1...ParamN| CHKSUM | - * | cmd[0]| cmd[1]| cmd[2] |cmd[3]| cmd[4] |cmd[5]... | | - * \__ ___/ \_ _/ \__ __/ - * \/ \/ \/ - * mot_id address data - * (len = N-1) - @endcode */ void rw(unsigned char mot_id, char address, char len, char *data);