GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > EMP / V1-2-0
Constituent: asc     Tag: linux-gcc
#include "EMP/LSD_sdi.h"
#include "LSF/LSF.h"
#include "ITC/ITC_pubdefs.h"
#include "IMM/RBM_pubdefs.h"
#include "CCSDS/CCSDS_pkt.h"
#include "PBS/WCT.h"
#include "PBS/SEM.h"
#include "dprintf.h"
Include dependency graph for LSD_sdi.c:
Data Structures | |
struct | _LSD_sdiPds |
struct | _LSD_sdi |
Context structure for formatting and writing data to the SDI. More... | |
Defines | |
#define | DEBUG |
#define | RBM_PRINT(_op, _status, _ptr, _len) |
Debugging macro to print the result of an RBM operation. | |
#define | RND_TO(_v, _r) ((((int)(_v)) + (_r) - 1) & ~((_r) - 1)) |
Round a value, _v up to a binary power of two boundary, _r. | |
Typedefs | |
typedef _LSD_sdiPds | LSD_sdiPds |
typedef _LSD_sdi | LSD_sdi |
Functions | |
static void | sdiDone (ITC_QueueItem *qitem, unsigned int status, LSD_sdi *sdi, LSD_sdiPds *pds, void *prm2, unsigned int tx) |
Callback indicating the physical IO to the SDI has completed. | |
static __inline RBM_Ring * | sdiRingConstruct (int buf_size, int overflow) |
Creates an RBM-style ring buffer. | |
unsigned int | LSD_sdiSizeof (void) |
Returns the size, in bytes of LSD_sdi context handle. | |
unsigned int | LSD_sdiConstruct (LSD_sdi *sdi, int apid, int ringSize, int ringOverflow, LSD_sdiWriteRtn writeRtn, void *writePrm) |
Creates an instance of an LSD_sdi stream. | |
LSD_sdiPds * | LSD_sdiGetW (LSD_sdi *sdi, int dgmSize) |
Allocate and fill a packet for SDI, except for payload. | |
unsigned int | LSD_sdiShrink (LSD_sdi *sdi, LSD_sdiPds *pds, int shrinkSize) |
Shrink the allocation of the created packet for changes in the payload length. | |
unsigned int | LSD_sdiSend (LSD_sdi *sdi, LSD_sdiPds *pds) |
Send out filled-in packet to the SDI. | |
unsigned int | LSD_sdiWrite (void *prm, LSD_sdiPds *pds) |
Default routine to send completed queue item to the ITC queue. | |
void | LSD_sdiDestruct (LSD_sdi *sdi) |
Destroy the SDI context. | |
unsigned int | LSD_sdiPdsLenGet (LSD_sdiPds *pds) |
Access function to return the length, in bytes, of the packet This includes the CCSDS header. | |
void * | LSD_sdiPdsCcsdsGet (LSD_sdiPds *pds) |
Access function to return a pointer to CCSDS header. | |
LSF_datagram * | LSD_sdiPdsDgmGet (LSD_sdiPds *pds) |
Access function to return a pointer to LSF datagram header. |
CVS $Id: LSD_sdi.c,v 1.1 2006/03/01 01:44:42 russell Exp $
Generic formatting of an LSD data structure (LSF datagram encapsulated in CCSDS packet) and writing to SDI. Provision is made to substitute the physical write to the SDI with a user supplied routine. This allows one to dump the data to a file for a host platform.
|
Value: DPRINTF ("RBM_" _op ": status=0x%08x ptr:0x%08x: len=%04x\n", \ _status, _ptr, _len)
|
|
Round a value, _v up to a binary power of two boundary, _r.
|
|
Creates an instance of an LSD_sdi stream.
|
|
Destroy the SDI context.
|
|
Allocate and fill a packet for SDI, except for payload.
|
|
Access function to return a pointer to CCSDS header.
|
|
Access function to return a pointer to LSF datagram header.
|
|
Access function to return the length, in bytes, of the packet This includes the CCSDS header.
|
|
Send out filled-in packet to the SDI.
|
|
Shrink the allocation of the created packet for changes in the payload length.
|
|
Returns the size, in bytes of LSD_sdi context handle.
|
|
Default routine to send completed queue item to the ITC queue.
|
|
Callback indicating the physical IO to the SDI has completed.
|
|
Creates an RBM-style ring buffer.
|