RTXI  3.0.0
The Real-Time eXperiment Interface Reference Manual
Public Member Functions
RT::OS::evlFifo Class Reference
Inheritance diagram for RT::OS::evlFifo:
Inheritance graph
Collaboration diagram for RT::OS::evlFifo:
Collaboration graph

Public Member Functions

 evlFifo (size_t size)
 
 evlFifo (const evlFifo &fifo)=delete
 
evlFifooperator= (const evlFifo &fifo)=delete
 
 evlFifo (evlFifo &&)=default
 
evlFifooperator= (evlFifo &&)=default
 
 ~evlFifo () override
 
int buffer_fd () const
 
int64_t read (void *buf, size_t buf_size) override
 
int64_t write (void *buf, size_t buf_size) override
 
int64_t readRT (void *buf, size_t buf_size) override
 
int64_t writeRT (void *buf, size_t buf_size) override
 
void poll () override
 
void close () override
 
size_t getCapacity () override
 
- Public Member Functions inherited from RT::OS::Fifo
 Fifo ()=default
 
 Fifo (const Fifo &fifo)=delete
 
Fifooperator= (const Fifo &fifo)=delete
 
 Fifo (Fifo &&)=default
 
Fifooperator= (Fifo &&)=default
 
virtual ~Fifo ()=default
 

Detailed Description

Definition at line 20 of file fifo_evl.cpp.

Constructor & Destructor Documentation

◆ evlFifo() [1/3]

RT::OS::evlFifo::evlFifo(size_t size)
explicit

Definition at line 48 of file fifo_evl.cpp.

Here is the call graph for this function:

◆ evlFifo() [2/3]

RT::OS::evlFifo::evlFifo(const evlFifofifo)
delete

◆ evlFifo() [3/3]

RT::OS::evlFifo::evlFifo(evlFifo && )
default

◆ ~evlFifo()

RT::OS::evlFifo::~evlFifo()
override

Definition at line 68 of file fifo_evl.cpp.

Member Function Documentation

◆ buffer_fd()

int RT::OS::evlFifo::buffer_fd()const

Definition at line 107 of file fifo_evl.cpp.

◆ close()

void RT::OS::evlFifo::close()
overridevirtual

Closes the handle stored and prevents reading from the ui side

Implements RT::OS::Fifo.

Definition at line 112 of file fifo_evl.cpp.

◆ getCapacity()

size_t RT::OS::evlFifo::getCapacity()
overridevirtual

Get the memory capacity of the fifo

Returns
The maximum amount of memory the fifo can hold

Implements RT::OS::Fifo.

Definition at line 119 of file fifo_evl.cpp.

◆ operator=() [1/2]

evlFifo& RT::OS::evlFifo::operator=(const evlFifofifo)
delete

◆ operator=() [2/2]

evlFifo& RT::OS::evlFifo::operator=(evlFifo && )
default

◆ poll()

void RT::OS::evlFifo::poll()
overridevirtual

Checks whether there is available data to read on the non-rt side

This function is primarily for non-rt threads to wait on available data from the rt thread. It blocks (sleeps) the calling thread until woken by data availability. SHOULD NOT RUN IN REAL TIME!!

Implements RT::OS::Fifo.

Definition at line 95 of file fifo_evl.cpp.

Here is the call graph for this function:

◆ read()

int64_t RT::OS::evlFifo::read(void * buf,
size_t data_size 
)
overridevirtual

Read the data stored in the FIFO written by realtime thread. Must be run from non-rt thread.

Parameters
bufThe buffer where the data from the buffer should be written to
data_sizeThe size of the data to read from the buffer
Returns
n Number of elements read. Same as size.

Implements RT::OS::Fifo.

Definition at line 73 of file fifo_evl.cpp.

◆ readRT()

int64_t RT::OS::evlFifo::readRT(void * buf,
size_t data_size 
)
overridevirtual

Read the data stored in the FIFO written by non-RT thread. Must be run from realtime thread.

Parameters
bufThe buffer where the data from the buffer should be written to
data_sizeThe size of the data to read from the buffer
Returns
n Number of elements read. Same as size.

Implements RT::OS::Fifo.

Definition at line 85 of file fifo_evl.cpp.

◆ write()

int64_t RT::OS::evlFifo::write(void * buf,
size_t data_size 
)
overridevirtual

Write to the FIFO storage for the realtime thread. Must be run from non-rt thread.

Parameters
bufThe buffer holding the data to write to the FIFO.
data_sizeThe size of the data to read from the buffer
Returns
n Number of elements written. Same as size.

Implements RT::OS::Fifo.

Definition at line 79 of file fifo_evl.cpp.

◆ writeRT()

int64_t RT::OS::evlFifo::writeRT(void * buf,
size_t data_size 
)
overridevirtual

Write to the FIFO storage for the non-RT thread. Must be run from realtime thread.

Parameters
bufThe buffer holding the data to write to the FIFO.
data_sizeThe size of the data to read from the buffer
Returns
n Number of elements written. Same as size.

Implements RT::OS::Fifo.

Definition at line 90 of file fifo_evl.cpp.


The documentation for this class was generated from the following file: