Flair
Framework Libre Air
flair::core::RTDM_I2cPort Class Reference

Class for real time i2c port using RTDM. More...

#include <RTDM_I2cPort.h>

+ Inheritance diagram for flair::core::RTDM_I2cPort:

Public Member Functions

 RTDM_I2cPort (const Object *parent, std::string name, std::string device)
 Constructor. More...
 
 ~RTDM_I2cPort ()
 Destructor. More...
 
int SetSlave (uint16_t address)
 Set slave's address. More...
 
ssize_t Write (const void *buf, size_t nbyte)
 Write datas. More...
 
ssize_t Read (void *buf, size_t nbyte)
 Read datas. More...
 
void SetRxTimeout (Time timeout_ns)
 Set RX timeout. More...
 
void SetTxTimeout (Time timeout_ns)
 Set TX timeout. More...
 
- Public Member Functions inherited from flair::core::I2cPort
 I2cPort (const Object *parent, std::string name)
 Constructor. More...
 
 ~I2cPort ()
 Destructor. More...
 
- Public Member Functions inherited from flair::core::Mutex
 Mutex (const Object *parent, std::string name="")
 Constructor. More...
 
 ~Mutex ()
 Destructor. More...
 
void GetMutex (void) const
 GetMutex. More...
 
void ReleaseMutex (void) const
 ReleaseMutex. More...
 
- Public Member Functions inherited from flair::core::Object
 Object (const Object *parent=NULL, std::string name="", std::string type="")
 Constructor. More...
 
virtual ~Object ()
 Destructor. More...
 
std::string ObjectName (void) const
 Name. More...
 
std::string ObjectType (void) const
 Type. More...
 
const ObjectParent (void) const
 Parent. More...
 
std::vector< const Object * > * TypeChilds (void) const
 Childs of the same type. More...
 
std::vector< const Object * > * Childs (void) const
 Childs. More...
 
void Information (const char *function, int line, const char *format,...) const
 Formatted information. More...
 
void Warning (const char *function, const char *format,...) const
 Formatted warning. More...
 
void Error (const char *function, const char *format,...) const
 Formatted error. More...
 
bool ErrorOccured (bool recursive=true) const
 Has an errror occured? More...
 

Additional Inherited Members

- Public Types inherited from flair::core::Object
enum  color_t { Auto = 0, Red = 31, Green = 32, Orange = 33 }
 

Detailed Description

Class for real time i2c port using RTDM.

Class for unix serial port.

This class can only be used with the real time version of Framework library.

Constructor & Destructor Documentation

flair::core::RTDM_I2cPort::RTDM_I2cPort ( const Object parent,
std::string  name,
std::string  device 
)

Constructor.

Construct an RTDM i2c port, with the following default values:

  • 400kbits baudrate
  • 500000ns RX timeout
  • 1000000ns TX timeout
Parameters
parentparent
namename
devicei2c device (ex rti2c1)
flair::core::RTDM_I2cPort::~RTDM_I2cPort ( )

Destructor.

Member Function Documentation

int flair::core::RTDM_I2cPort::SetSlave ( uint16_t  address)
virtual

Set slave's address.

This method need to be called before any communication.

Parameters
addressslave's address

Implements flair::core::I2cPort.

ssize_t flair::core::RTDM_I2cPort::Write ( const void *  buf,
size_t  nbyte 
)
virtual

Write datas.

Parameters
bufpointer to datas
nbytelength of datas
Returns
amount of written datas

Implements flair::core::I2cPort.

ssize_t flair::core::RTDM_I2cPort::Read ( void *  buf,
size_t  nbyte 
)
virtual

Read datas.

Parameters
bufpointer to datas
nbytelength of datas
Returns
amount of read datas

Implements flair::core::I2cPort.

void flair::core::RTDM_I2cPort::SetRxTimeout ( Time  timeout_ns)
virtual

Set RX timeout.

Timeout for waiting an ACK from the slave.

Parameters
timeout_nstimeout in nano second

Implements flair::core::I2cPort.

void flair::core::RTDM_I2cPort::SetTxTimeout ( Time  timeout_ns)
virtual

Set TX timeout.

Timeout for waiting an ACK from the slave.

Parameters
timeout_nstimeout in nano second

Implements flair::core::I2cPort.