123

Committer:
peter16688
Date:
Tue Sep 12 13:25:29 2017 +0000
Revision:
0:e3a3ccc3b0f8
4W_8dir_1m_p2pcontrol

Who changed what in which revision?

UserRevisionLine numberNew contents of line
peter16688 0:e3a3ccc3b0f8 1 // Dynamixel SDK platform independent header
peter16688 0:e3a3ccc3b0f8 2 #ifndef _DYNAMIXEL_HEADER
peter16688 0:e3a3ccc3b0f8 3 #define _DYNAMIXEL_HEADER
peter16688 0:e3a3ccc3b0f8 4
peter16688 0:e3a3ccc3b0f8 5
peter16688 0:e3a3ccc3b0f8 6 #ifdef __cplusplus
peter16688 0:e3a3ccc3b0f8 7 extern "C" {
peter16688 0:e3a3ccc3b0f8 8 #endif
peter16688 0:e3a3ccc3b0f8 9
peter16688 0:e3a3ccc3b0f8 10
peter16688 0:e3a3ccc3b0f8 11 ///////////// device control methods ////////////////////////
peter16688 0:e3a3ccc3b0f8 12 int dxl_initialize( int devIndex, int baudnum );
peter16688 0:e3a3ccc3b0f8 13 void dxl_terminate(void);
peter16688 0:e3a3ccc3b0f8 14
peter16688 0:e3a3ccc3b0f8 15
peter16688 0:e3a3ccc3b0f8 16 ///////////// set/get packet methods //////////////////////////
peter16688 0:e3a3ccc3b0f8 17 void dxl_set_txpacket_id( int id );
peter16688 0:e3a3ccc3b0f8 18 #define BROADCAST_ID (254)
peter16688 0:e3a3ccc3b0f8 19
peter16688 0:e3a3ccc3b0f8 20 void dxl_set_txpacket_instruction( int instruction );
peter16688 0:e3a3ccc3b0f8 21 #define INST_PING (1)
peter16688 0:e3a3ccc3b0f8 22 #define INST_READ (2)
peter16688 0:e3a3ccc3b0f8 23 #define INST_WRITE (3)
peter16688 0:e3a3ccc3b0f8 24 #define INST_REG_WRITE (4)
peter16688 0:e3a3ccc3b0f8 25 #define INST_ACTION (5)
peter16688 0:e3a3ccc3b0f8 26 #define INST_RESET (6)
peter16688 0:e3a3ccc3b0f8 27 #define INST_SYNC_WRITE (131)
peter16688 0:e3a3ccc3b0f8 28
peter16688 0:e3a3ccc3b0f8 29 #define MAXNUM_TXPARAM (150)
peter16688 0:e3a3ccc3b0f8 30 void dxl_set_txpacket_parameter( int index, int value );
peter16688 0:e3a3ccc3b0f8 31 void dxl_set_txpacket_length( int length );
peter16688 0:e3a3ccc3b0f8 32
peter16688 0:e3a3ccc3b0f8 33 int dxl_get_rxpacket_error( int errbit );
peter16688 0:e3a3ccc3b0f8 34 #define ERRBIT_VOLTAGE (1)
peter16688 0:e3a3ccc3b0f8 35 #define ERRBIT_ANGLE (2)
peter16688 0:e3a3ccc3b0f8 36 #define ERRBIT_OVERHEAT (4)
peter16688 0:e3a3ccc3b0f8 37 #define ERRBIT_RANGE (8)
peter16688 0:e3a3ccc3b0f8 38 #define ERRBIT_CHECKSUM (16)
peter16688 0:e3a3ccc3b0f8 39 #define ERRBIT_OVERLOAD (32)
peter16688 0:e3a3ccc3b0f8 40 #define ERRBIT_INSTRUCTION (64)
peter16688 0:e3a3ccc3b0f8 41
peter16688 0:e3a3ccc3b0f8 42 #define MAXNUM_RXPARAM (60)
peter16688 0:e3a3ccc3b0f8 43 int dxl_get_rxpacket_parameter( int index );
peter16688 0:e3a3ccc3b0f8 44 int dxl_get_rxpacket_length(void);
peter16688 0:e3a3ccc3b0f8 45
peter16688 0:e3a3ccc3b0f8 46 // utility for value
peter16688 0:e3a3ccc3b0f8 47 int dxl_makeword( int lowbyte, int highbyte );
peter16688 0:e3a3ccc3b0f8 48 int dxl_get_lowbyte( int word );
peter16688 0:e3a3ccc3b0f8 49 int dxl_get_highbyte( int word );
peter16688 0:e3a3ccc3b0f8 50
peter16688 0:e3a3ccc3b0f8 51
peter16688 0:e3a3ccc3b0f8 52 ////////// packet communication methods ///////////////////////
peter16688 0:e3a3ccc3b0f8 53 void dxl_tx_packet(void);
peter16688 0:e3a3ccc3b0f8 54 void dxl_rx_packet(void);
peter16688 0:e3a3ccc3b0f8 55 void dxl_txrx_packet(void);
peter16688 0:e3a3ccc3b0f8 56
peter16688 0:e3a3ccc3b0f8 57 int dxl_get_result(void);
peter16688 0:e3a3ccc3b0f8 58 #define COMM_TXSUCCESS (0)
peter16688 0:e3a3ccc3b0f8 59 #define COMM_RXSUCCESS (1)
peter16688 0:e3a3ccc3b0f8 60 #define COMM_TXFAIL (2)
peter16688 0:e3a3ccc3b0f8 61 #define COMM_RXFAIL (3)
peter16688 0:e3a3ccc3b0f8 62 #define COMM_TXERROR (4)
peter16688 0:e3a3ccc3b0f8 63 #define COMM_RXWAITING (5)
peter16688 0:e3a3ccc3b0f8 64 #define COMM_RXTIMEOUT (6)
peter16688 0:e3a3ccc3b0f8 65 #define COMM_RXCORRUPT (7)
peter16688 0:e3a3ccc3b0f8 66
peter16688 0:e3a3ccc3b0f8 67
peter16688 0:e3a3ccc3b0f8 68 //MX64 Register stanley///
peter16688 0:e3a3ccc3b0f8 69 #define ID_ADDRESS 3
peter16688 0:e3a3ccc3b0f8 70 #define GOAL_POSITION 30
peter16688 0:e3a3ccc3b0f8 71 #define PRESENT_POS 36
peter16688 0:e3a3ccc3b0f8 72 #define RETURN_DELAY_TIME 5
peter16688 0:e3a3ccc3b0f8 73 #define CW_ANGLE_LIMIT_L 6
peter16688 0:e3a3ccc3b0f8 74 #define CW_ANGLE_LIMIT_H 7
peter16688 0:e3a3ccc3b0f8 75 #define CCW_ANGLE_LIMIT_L 8
peter16688 0:e3a3ccc3b0f8 76 #define CCW_ANGLE_LIMIT_H 9
peter16688 0:e3a3ccc3b0f8 77 #define MAX_TORQUE 14
peter16688 0:e3a3ccc3b0f8 78 #define MULTITURN_OFFSET 20
peter16688 0:e3a3ccc3b0f8 79 #define GOAL_POSITION 30
peter16688 0:e3a3ccc3b0f8 80 #define GOAL_SPEED 32
peter16688 0:e3a3ccc3b0f8 81 #define TORQUE_LIMIT 34
peter16688 0:e3a3ccc3b0f8 82 #define PRESENT_POS 36
peter16688 0:e3a3ccc3b0f8 83
peter16688 0:e3a3ccc3b0f8 84 #define STILL_MOVING 46
peter16688 0:e3a3ccc3b0f8 85
peter16688 0:e3a3ccc3b0f8 86
peter16688 0:e3a3ccc3b0f8 87 #define ADDRESS_LED 25
peter16688 0:e3a3ccc3b0f8 88
peter16688 0:e3a3ccc3b0f8 89
peter16688 0:e3a3ccc3b0f8 90 //////////// high communication methods ///////////////////////
peter16688 0:e3a3ccc3b0f8 91 void dxl_ping( int id );
peter16688 0:e3a3ccc3b0f8 92 int dxl_read_byte( int id, int address );
peter16688 0:e3a3ccc3b0f8 93 void dxl_write_byte( int id, int address, int value );
peter16688 0:e3a3ccc3b0f8 94 int dxl_read_word( short int id, short int address );
peter16688 0:e3a3ccc3b0f8 95 void dxl_write_word( short int id, short int address, short int value );
peter16688 0:e3a3ccc3b0f8 96 int syncWrite_u16base(unsigned short int start_addr, unsigned short int data_length, unsigned short int *param, unsigned short int param_length); // WORD(16bit) syncwrite() for DXL
peter16688 0:e3a3ccc3b0f8 97 void setPosition(int ServoID, int Position, int Speed);//stanley
peter16688 0:e3a3ccc3b0f8 98
peter16688 0:e3a3ccc3b0f8 99
peter16688 0:e3a3ccc3b0f8 100
peter16688 0:e3a3ccc3b0f8 101
peter16688 0:e3a3ccc3b0f8 102
peter16688 0:e3a3ccc3b0f8 103 #ifdef __cplusplus
peter16688 0:e3a3ccc3b0f8 104 }
peter16688 0:e3a3ccc3b0f8 105 #endif
peter16688 0:e3a3ccc3b0f8 106
peter16688 0:e3a3ccc3b0f8 107 #endif