7#ifndef YARP_DEV_CANBUSINTERFACE_H
8#define YARP_DEV_CANBUSINTERFACE_H
19class ICanBufferFactory;
24template <
class M,
class T>
25class ImplementCanBufferFactory;
56 virtual unsigned int getId()
const =0;
57 virtual unsigned char getLen()
const =0;
58 virtual void setLen(
unsigned char len) =0;
59 virtual void setId(
unsigned int id) =0;
60 virtual const unsigned char *
getData()
const =0;
114template<
class M,
class IMPL>
127 std::memset(storage, 0,
sizeof(
IMPL)*elem);
129 for(
int k=0;k<elem;k++)
132 messages[k]->
setBuffer((
unsigned char *)(&storage[k]));
135 ret.resize(messages, elem);
147 yError(
"Warning trying to destroy non valid buffer\n");
152 msgs=
dynamic_cast<M *
>(m[0]);
154 if ((msgs==0)||(storage==0))
156 yError(
"Warning, troubles destroying memory\n");
const CanMessage & operator[](int k) const
CanMessage & operator[](int k)
void resize(CanMessage **d, int s)
CanMessage ** getPointer()
const CanMessage *const * getPointer() const
unsigned int rxCanFifoOvr
unsigned int txCanFifoOvr
virtual unsigned char * getData()=0
virtual unsigned char getLen() const =0
virtual unsigned int getId() const =0
virtual const unsigned char * getData() const =0
virtual CanMessage & operator=(const CanMessage &l)=0
virtual void setBuffer(unsigned char *)=0
virtual const unsigned char * getPointer() const =0
virtual unsigned char * getPointer()=0
virtual void setId(unsigned int id)=0
virtual void setLen(unsigned char len)=0
virtual void destroyBuffer(CanBuffer &msgs)=0
virtual ~ICanBufferFactory()
virtual CanBuffer createBuffer(int nmessage)=0
virtual bool canGetErrors(yarp::dev::CanErrors &err)=0
Interface for a can bus device.
virtual bool canGetBaudRate(unsigned int *rate)=0
virtual bool canIdAdd(unsigned int id)=0
virtual bool canRead(CanBuffer &msgs, unsigned int size, unsigned int *read, bool wait=false)=0
virtual bool canWrite(const CanBuffer &msgs, unsigned int size, unsigned int *sent, bool wait=false)=0
virtual bool canSetBaudRate(unsigned int rate)=0
virtual bool canIdDelete(unsigned int id)=0
Implementation of a ICanBufferFactory.
virtual ~ImplementCanBufferFactory()
virtual void destroyBuffer(CanBuffer &buffer)
virtual CanBuffer createBuffer(int elem)
For streams capable of holding different kinds of content, check what they actually have.
The main, catch-all namespace for YARP.