52 #ifndef _DYNA_COMM_SERIAL_H 53 #define _DYNA_COMM_SERIAL_H 55 #include "rnr/rnrconfig.h" 151 virtual int Open(
const char *sSerialDevName,
int nBaudRate);
203 virtual int Read8(
int nServoId, uint_t uAddr, byte_t *pVal);
214 virtual int Write8(
int nServoId, uint_t uAddr, byte_t byVal);
225 virtual int Read16(
int nServoId, uint_t uAddr, ushort_t *pVal);
236 virtual int Write16(
int nServoId, uint_t uAddr, ushort_t uhVal);
260 virtual bool Ping(
int nServoId);
271 virtual int Reset(
int nServoId);
313 static void EnableRxRTS(
void *pArg,
size_t uNumTxBytes);
333 static void EnableRxCTS(
void *pArg,
size_t uNumTxBytes);
355 static void EnableRxGPIO(
void *pArg,
size_t uNumTxBytes);
359 #endif // _DYNA_COMM_SERIAL_H RoadNarrows Dynamixel Bus Communications Abstract Base Class Interface.
Modified dynamixel SDK interface.
virtual int Write16(int nServoId, uint_t uAddr, ushort_t uhVal)
Write a 16-bit value to Dynamixel servo control table.
virtual int Read16(int nServoId, uint_t uAddr, ushort_t *pVal)
Read a 16-bit value from Dynamixel servo control table.
Dynamixel Serial Bus Communications Class.
void InitCTS()
Intialize CTS signalling.
virtual int Write8(int nServoId, uint_t uAddr, byte_t byVal)
Write an 8-bit value to Dynamixel servo control table.
virtual int SetHalfDuplexCtl(int nSignal, HalfDuplexTxFunc_T fnEnableTx=NULL, HalfDuplexRxFunc_T fnEnableRx=NULL)
gpio signal (tx = high, rx = low)
virtual int Read8(int nServoId, uint_t uAddr, byte_t *pVal)
Read an 8-bit value from Dynamixel servo control table.
not a signal, but a value to clear signal
virtual int SetBaudRate(int nNewBaudRate)
Set the Dynamixel Bus new baud rate.
static void EnableRxRTS(void *pArg, size_t uNumTxBytes)
Enable receive via RTS signal.
int m_nGpioVal
gpio shadow'ed value
char * m_sSerialDevName
serial device name
virtual int Reset(int nServoId)
Reset a servo back to default values.
int MakeSerialIndex(const char *sSerialDevName)
Make serial index from serial device name.
gpio signal is inverted (tx = low, rx = high)
static void EnableRxGPIO(void *pArg, size_t uNumTxBytes)
Enable receive via GPIO signal.
static void EnableRxCTS(void *pArg, size_t uNumTxBytes)
Enable receive via CTS signal.
libdxl::dxl m_dxl
dxl low-level interface
virtual int Open()
(Re)Open serial communication to dynamixel bus.
const char * GetSerialDeviceName() const
void(* HalfDuplexRxFunc_T)(void *pArg, size_t uNumTxBytes)
Half-duplex control receive function type.
void(* HalfDuplexTxFunc_T)(void *pArg)
Half-duplex control transmit function type.
static const int RetryMax
maximum number of I/O retries
void InitRTS()
Intialize RTS signalling.
void InitGPIO(int nGpioNum)
Intialize GPIO signalling.
virtual ~DynaCommSerial()
Destructor.
virtual int Close()
Close serial communication to dynamixel bus.
virtual int GetResourceId() const
Get system-unique resource identifier.
custom interface (requires callbacks)
RoadNarrows Dynamixel Top-Level Package Header File.
int m_fd
serial file descriptor
virtual bool Ping(int nServoId)
Ping the servo.
virtual int SyncWrite(uint_t uAddr, uint_t uValSize, DynaSyncWriteTuple_T tuples[], uint_t uCount)
Synchronous Write 8/16-bit values to a list of Dynamixel servos.
DynaCommSerial()
Default constructor.
int m_fdGpio
gpio file descriptor
static void EnableTxGPIO(void *pArg)
Enable transmit via GPIO signal.
static void EnableTxRTS(void *pArg)
Enable transmit via RTS signal.
CtlSignal
Half-duplex control signals.
static const int RetryWait
microsecond wait between retries
RoadNarrows Dynamixel Library Error and Logging Routines.
static void EnableTxCTS(void *pArg)
Enable transmit via CTS signal.
int m_nGpioNum
gpio number
Dynamixel Bus Communications Abstract Base Class.