#include <drvemRxBuf.h>
|
| mrmBufRx (const std::string &, volatile void *base, unsigned int qdepth, unsigned int bsize=0) |
|
virtual | ~mrmBufRx () |
|
virtual void | lock () const OVERRIDE FINAL |
|
virtual void | unlock () const OVERRIDE FINAL |
|
virtual bool | dataRxEnabled () const OVERRIDE FINAL |
|
virtual void | dataRxEnable (bool) OVERRIDE FINAL |
|
| bufRxManager (const std::string &, unsigned int qdepth, unsigned int bsize=0) |
|
virtual | ~bufRxManager () |
|
unsigned int | bsize () |
|
epicsUInt8 * | getFree (unsigned int *) |
|
void | receive (epicsUInt8 *, unsigned int) |
|
virtual void | dataRxError (dataBufComplete, void *) OVERRIDE FINAL |
| Notification if Rx queue overflows. More...
|
|
virtual void | dataRxAddReceive (dataBufComplete fptr, void *arg=0) OVERRIDE FINAL |
| Register to receive data buffers. More...
|
|
virtual void | dataRxDeleteReceive (dataBufComplete fptr, void *arg=0) OVERRIDE FINAL |
| Unregister. More...
|
|
| dataBufRx (const std::string &n) |
|
virtual | ~dataBufRx ()=0 |
|
virtual propertyBase * | getPropertyBase (const char *pname, const std::type_info &ptype) |
|
virtual void | visitProperties (bool(*cb)(propertyBase *, void *), void *arg) |
|
const std::string & | name () const |
|
const Object * | parent () const |
|
child_iterator | beginChild () const |
|
child_iterator | endChild () const |
|
template<typename P > |
mrf::auto_ptr< property< P > > | getProperty (const char *pname) |
|
|
volatile unsigned char *const | base |
|
Definition at line 18 of file drvemRxBuf.h.
◆ mrmBufRx()
mrmBufRx::mrmBufRx |
( |
const std::string & |
n, |
|
|
volatile void * |
base, |
|
|
unsigned int |
qdepth, |
|
|
unsigned int |
bsize = 0 |
|
) |
| |
Definition at line 31 of file drvemRxBuf.cpp.
33 ,
base((
volatile unsigned char *)b)
volatile unsigned char *const base
bufRxManager(const std::string &, unsigned int qdepth, unsigned int bsize=0)
◆ ~mrmBufRx()
Definition at line 37 of file drvemRxBuf.cpp.
#define BITSET(ord, len, base, offset, mask)
volatile unsigned char *const base
◆ dataRxEnable()
void mrmBufRx::dataRxEnable |
( |
bool |
v | ) |
|
|
virtual |
Implements dataBufRx.
Definition at line 49 of file drvemRxBuf.cpp.
51 int key=epicsInterruptLock();
59 epicsInterruptUnlock(key);
#define BITCLR(ord, len, base, offset, mask)
#define BITSET(ord, len, base, offset, mask)
volatile unsigned char *const base
◆ dataRxEnabled()
bool mrmBufRx::dataRxEnabled |
( |
| ) |
const |
|
virtual |
Implements dataBufRx.
Definition at line 43 of file drvemRxBuf.cpp.
#define READ32(base, offset)
volatile unsigned char *const base
◆ drainbuf()
void mrmBufRx::drainbuf |
( |
CALLBACK * |
cb | ) |
|
|
static |
Definition at line 74 of file drvemRxBuf.cpp.
78 callbackGetUser(vptr,cb);
81 epicsUInt32 sts=
READ32(
self.
base, DataBufCtrl);
96 epicsUInt8 *buf=
self.getFree(&bsize);
105 errlogPrintf(
"Received data buffer with size %u >= %u\n", rsize, bsize);
111 errlogPrintf(
"buffer %s: size=%u %08x %08x %08x %08x\n",
112 self.
name().c_str(), rsize,
120 for(
unsigned int i=0; i<rsize; i+=4) {
123 self.receive(buf, rsize);
127 WRITE32(
self.
base, DataBufCtrl, sts|DataBufCtrl_rx);
128 }
catch(std::exception& e) {
129 epicsPrintf(
"exception in mrmBufRx::drainbuf callback: %s\n", e.what());
#define READ32(base, offset)
#define BE_READ32(base, offset)
#define DataBufCtrl_len_mask
#define DataBufCtrl_sumerr
const std::string & name() const
volatile unsigned char *const base
#define WRITE32(base, offset, value)
◆ lock()
virtual void mrmBufRx::lock |
( |
| ) |
const |
|
inlinevirtual |
◆ unlock()
virtual void mrmBufRx::unlock |
( |
| ) |
const |
|
inlinevirtual |
◆ base
volatile unsigned char* const mrmBufRx::base |
|
protected |
The documentation for this class was generated from the following files: