#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: