Dawn Framework 1.0
Universal data acquisition framework for embedded systems
Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
dawn::CDevDescriptor Class Reference

Descriptor interface available for IO. More...

#include <descriptor.hxx>

Classes

struct  SDescriptorReg
 Registered descriptor information. More...
 

Public Member Functions

int getDescriptor (int inst, SDescriptorReg &reg)
 Get registered descriptor data for an instance.
 
size_t getSlotWritten (int inst) const
 Get valid byte count currently stored in a RAM slot.
 
int regDescriptor (int inst, const SDescriptorReg &reg)
 Register descriptor data for an instance.
 
int resetSlot (int inst)
 Reset a RAM slot.
 
int writeSlotData (int inst, const void *data, size_t offset, size_t len)
 Write descriptor bytes into a RAM slot.
 

Static Public Member Functions

static void destroy ()
 Destroy singleton instance.
 
static CDevDescriptorgetInst ()
 Get singleton instance.
 

Static Public Attributes

static int MAX_DESCRIPTORS = CONFIG_DAWN_DESC_SLOTS
 Maximum number of descriptors that can be registered.
 

Detailed Description

Descriptor interface available for IO.

Definition at line 18 of file descriptor.hxx.

Member Function Documentation

◆ getDescriptor()

int CDevDescriptor::getDescriptor ( int  inst,
CDevDescriptor::SDescriptorReg reg 
)

Get registered descriptor data for an instance.

Parameters
instInstance number.
regReference to structure where descriptor data will be stored.
Returns
OK on success, negative error code on failure.

Definition at line 39 of file descriptor.cxx.

References dawn::CDevDescriptor::SDescriptorReg::len, MAX_DESCRIPTORS, and dawn::CDevDescriptor::SDescriptorReg::ptr.

Here is the caller graph for this function:

◆ getInst()

static CDevDescriptor * dawn::CDevDescriptor::getInst ( )
inlinestatic

Get singleton instance.

Returns
Pointer to CDevDescriptor instance.

Definition at line 44 of file descriptor.hxx.

Here is the caller graph for this function:

◆ getSlotWritten()

size_t CDevDescriptor::getSlotWritten ( int  inst) const

Get valid byte count currently stored in a RAM slot.

Parameters
instSlot index.
Returns
Number of bytes written, or 0 for slot 0/empty/invalid slot.

Definition at line 103 of file descriptor.cxx.

References MAX_DESCRIPTORS.

◆ regDescriptor()

int CDevDescriptor::regDescriptor ( int  inst,
const SDescriptorReg reg 
)

Register descriptor data for an instance.

Parameters
instInstance number.
regDescriptor registration structure.
Returns
OK on success, negative error code on failure.

Definition at line 15 of file descriptor.cxx.

References dawn::CDevDescriptor::SDescriptorReg::len, MAX_DESCRIPTORS, dawn::CDevDescriptor::SDescriptorReg::ptr, and resetSlot().

Here is the call graph for this function:

◆ resetSlot()

int CDevDescriptor::resetSlot ( int  inst)

Reset a RAM slot.

Clears data and marks slot length as zero.

Parameters
instSlot index (must be >= 1).
Returns
OK on success, negative error code on failure.

Definition at line 118 of file descriptor.cxx.

References dawn::CDevDescriptor::SDescriptorReg::len, MAX_DESCRIPTORS, and dawn::CDevDescriptor::SDescriptorReg::ptr.

Here is the caller graph for this function:

◆ writeSlotData()

int CDevDescriptor::writeSlotData ( int  inst,
const void *  data,
size_t  offset,
size_t  len 
)

Write descriptor bytes into a RAM slot.

Parameters
instSlot index (must be >= 1).
dataSource bytes.
offsetByte offset in slot.
lenNumber of bytes to write.
Returns
OK on success, negative error code on failure.

Definition at line 52 of file descriptor.cxx.

References dawn::CDevDescriptor::SDescriptorReg::len, MAX_DESCRIPTORS, and dawn::CDevDescriptor::SDescriptorReg::ptr.

Here is the caller graph for this function:

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