DETI-Dynamixel Interface  1
DxComm.h
1 #ifndef DX_COMM_H_
2 #define DX_COMM_H_
3 
4 #include "DevComm.h"
5 
6 #define DEBUG_PRINTS 0
7 
8 enum ErrType
9 {
10  ERR_TIMEOUT = 0
11 };
12 
18 class DxComm {
19 public:
20  DxComm(DevComm* dc) { transmitter = dc; }
21 
22  void dxl_reset(int series, int id);
23  bool dxl_ping(int series, int id);
24  void dxl_action(int series);
25  int dxl_read_byte(int series, int id, int address);
26  void dxl_write_byte(int series, int id, int address, int value);
27  int dxl_read_word(int series, int id, int address);
28  void dxl_write_word(int series, int id, int address, int value);
29  void dxl_syncWrite_byte(int series, int nServos, int initialAddress, int *idArray, int *valuesArray);
30  void dxl_syncWrite_word(int series, int nServos, int initialAddress, int *idArray, int *valuesArray);
31  void dxl_regWrite_byte(int series, int id, int address, int value);
32  void dxl_regWrite_word(int series, int id, int address, int value);
33 
34  void gotoPosition(int series, int id, int position, int speed);
35  void writePosition(int series, int id, int position, int speed);
36  int readPosition(int series, int id);
37 
38 private:
39  void printError(ErrType err);
40  int getDataFromRxPacket();
41  bool timedOut(char errByte);
42  bool hasError(char errByte);
43 
44 private:
45  char txPacket[512];
46  char rxPacket[256];
47  unsigned char rxDataBytes[3];
49  DevComm* transmitter;
50 };
51 
52 #endif /* DX_COMM_H_ */
Abstract class to handle the communication with the device This class has the base methods to open...
Definition: DevComm.h:9
Class to handle the communication with Dynamixel This class is the main interface with the DETI Dynam...
Definition: DxComm.h:18
unsigned char rxDataBytes[3]
Definition: DxComm.h:47