GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > QLMC / V0-0-0

Constituent: qlmc     Tag: linux-gcc


Interface   Data Structures   File List   Data Fields   Globals  

QLMC_read.c File Reference

Routines for reading files of LRA data sent from the LAT. More...

#include "QLMC/QLMC.h"
#include "QLMC/QLMC_msgs.h"
#include "LMC/LMC_pubdefs.h"
#include "LMC/LMC_tlmdefs.h"
#include "QSE/CCSDS_istream.h"
#include "QSE/CCSDS_apidDsc.h"
#include "CCSDS/CCSDS_pkt.h"
#include "CCSDS/CCSDS_swap.h"
#include "LSF/LSF.h"
#include "LSF/LSF_ids.h"
#include "MSG/MSG_pubdefs.h"
#include "PBS/BSWP.h"
#include "PBI/Endianness.h"
#include "stdlib.h"
#include "string.h"
#include "fcntl.h"
#include "unistd.h"

Include dependency graph for QLMC_read.c:


Data Structures

union  QLMC_tlm

Defines

#define NELEM(x)   (sizeof x / sizeof x[0])

Functions

static void procDgm (int secs, const LSF_datagram *dgm, int dLeng, void *parm, QLMC_pktCb calRtn, QLMC_pktCb tkrRtn, QLMC_pktCb acdRtn, QLMC_pktCb deadRtn)
 Process a datagram.
static void shortSwap (unsigned short *data, int count)
 Swap 16-bit words in an array.
unsigned QLMC_readSci (char *fName, void *parm, QLMC_pktCb calRtn, QLMC_pktCb tkrRtn, QLMC_pktCb acdRtn, QLMC_pktCb deadRtn)
 Read the contents of an LMC datagram file.
unsigned QLMC_readDiag (char *fName, void *parm, QLMC_pktCb calRtn, QLMC_pktCb tkrRtn, QLMC_pktCb acdRtn, QLMC_pktCb deadRtn)
 Read the contents of an LMC packet file.

Detailed Description

Routines for reading files of LRA data sent from the LAT.

Author:
Owen H Saxton
Id
QLMC_read.c,v 1.1.1.1 2007/12/11 23:08:20 saxton Exp

Function Documentation

void procDgm int  secs,
const LSF_datagram *  dgm,
int  dLeng,
void *  parm,
QLMC_pktCb  calRtn,
QLMC_pktCb  tkrRtn,
QLMC_pktCb  acdRtn,
QLMC_pktCb  deadRtn
[static]
 

Process a datagram.

This routine processes a complete datagram of LMC data. This data consists of an array of 32-bit numbers, in the correct byte order for the host architecture.

Parameters:
secs The time the datagram was sent, in spacecraft units.
dgm The datagram to be processed.
dLeng The length of the datagram.
parm User parameter to pass to the processing routine.
calRtn Routine to call when a packet of LMC calorimeter data is read. Can be NULL.
tkrRtn Routine to call when a packet of LMC tracker data is read. Can be NULL.
acdRtn Routine to call when a packet of LMC ACD tile data is read. Can be NULL.
deadRtn Routine to call when a packet of LMC TEM deadtime data is read. Can be NULL.

unsigned QLMC_readDiag char *  fName,
void *  parm,
QLMC_pktCb  calRtn,
QLMC_pktCb  tkrRtn,
QLMC_pktCb  acdRtn,
QLMC_pktCb  deadRtn
 

Read the contents of an LMC packet file.

This routine reads a file of LMC diagnostic data returned from the LAT and calls a processing routine whenever a complete set of data has been assemnled.

Parameters:
fName The name of the file to be processed
parm User parameter to pass to the processing routine.
calRtn Routine to call when a packet of LMC calorimeter data is read. Can be NULL.
tkrRtn Routine to call when a packet of LMC tracker data is read. Can be NULL.
acdRtn Routine to call when a packet of LMC ACD tile data is read. Can be NULL.
deadRtn Routine to call when a packet of LMC TEM deadtime data is read. Can be NULL.
Return values:
QLMC_SUCCESS Success

unsigned QLMC_readSci char *  fName,
void *  parm,
QLMC_pktCb  calRtn,
QLMC_pktCb  tkrRtn,
QLMC_pktCb  acdRtn,
QLMC_pktCb  deadRtn
 

Read the contents of an LMC datagram file.

This routine reads a file of LMC datagrams returned from the LAT, and calls a user-supplied processing routine for each type of data found.

Parameters:
fName The name of the file to be displayed
parm User parameter to pass to the processing routine.
calRtn Routine to call when a packet of LMC calorimeter data is read. Can be NULL.
tkrRtn Routine to call when a packet of LMC tracker data is read. Can be NULL.
acdRtn Routine to call when a packet of LMC ACD tile data is read. Can be NULL.
deadRtn Routine to call when a packet of LMC TEM deadtime data is read. Can be NULL.
Return values:
QLMC_SUCCESS Success

void shortSwap unsigned short *  data,
int  count
[static]
 

Swap 16-bit words in an array.

This routine swaps in place each consecutive pair of 16-bit words in an array between big-endian and machine order.

Parameters:
data The address of the array
count The number of pairs to swap


Generated on Wed Dec 12 03:21:02 2007 by  doxygen 1.4.4