GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LSM / dev > lsm_siu / sun-gcc


Interface   Data Structures   File List   Data Fields   Globals  

LSM_control.c File Reference

LSM control functions. More...

#include <LSM/LSM_cmdxtrn.h>
#include <LSM/LSM_msgs.h>
#include <LSM/LSM_pubdefs.h>
#include <LSM/LSM_tlmdefs.h>
#include <LSM_DB/LSM_DB_schema.h>
#include <LSM_prvdefs.h>
#include <LSM_ssrdefs.h>
#include <LSF/LSF.h>
#include <LSF/LSF_ids.h>
#include <ATT/ATT.h>
#include <THS/THS.h>
#include <CCSDS/CCSDS_pkt.h>
#include <ITC/ITC_pubdefs.h>
#include <PIG/pig.h>
#include <LEM/defs.h>
#include <LCBD/LCBD_drv.h>
#include <CDM/CDM_pubdefs.h>
#include <MSG/MSG_pubdefs.h>
#include <PBS/MBA.h>
#include <PBS/MTX.h>
#include <PBS/RW.ih>
#include <PBS/TASK.h>
#include <string.h>

Functions

unsigned int LSM_initialize ()
 Initialize the LSM system.
unsigned int LSM_initThs (unsigned int mask)
 init THS with LSM
unsigned int LSM_shutdown ()
 Shut down the LSM system (currently a no-op).
unsigned int LSM_startTask (TASK_attr *attr)
 Create and start the LSM task.
unsigned int LSM_start (void)
 Start the LSM task using info from CPU_DB.
unsigned int LSM_stopTask ()
 Stop the LSM task (currently a no-op).
unsigned int LSM_getSsrOut (int payloadSize, int lsfTypeid, int lsfVersion, void **qitemPtr, int *qitemLen, void **payloadPtr)
 Alloc and fill packet for SSR except for payload.
unsigned int LSM_sendSsrOut (void *qItem, int totalLen)
 Send out filled-in packet to the SSR.

Variables

static LSM_ControlLSM_lcb
 Control block for LSM.


Detailed Description

LSM control functions.

CVS $Id: LSM_control.c,v 1.24 2011/03/29 21:44:12 russell Exp $
Author:
A.P.Waite

Function Documentation

unsigned int LSM_getSsrOut ( int  payloadSize,
int  lsfTypeid,
int  lsfVersion,
void **  qitemPtr,
int *  qitemLen,
void **  payloadPtr 
)

Alloc and fill packet for SSR except for payload.

Parameters:
payloadSize size of payload to be filled in
lsfTypeid Typeid for the LSF header
lsfVersion Version for LSF record
qitemPtr returns pointer to the entire ITC buffer
qitemLen length of while ITC buffer
payloadPtr pointer into packet to put payload
Returns:
status

References LSM_LSF_DATAGRAM_VER, LSM_MAGIC7_TLM_APID, and _LSM_Control::ssrOutBuff.

Referenced by LSM_SIANCILLARY(), LSM_SIATTITUDE(), and LSM_SITIMETONE().

unsigned int LSM_initialize ( void   ) 

Initialize the LSM system.

Return values:
LSM_ALOCFAIL Memory allocation failure
LSM_BADSTAT Not in state "uninitialized" (bad state transition)
LSM_MUALOCFL Cannot allocate a mutex
LSM_SUCCESS Success
LSM_initialize() initializes the LAT Spacecraft Messages system.

References _LSM_Control::att, _LSM_Control::cmd_hdr_size, _LSM_Control::cmdCfrmBuff, _LSM_Control::inCmdMsgBuff, _LSM_Control::inCtlMsgBuff, LSM_Apid690, LSM_Apid701, LSM_CTL_INITIALIZED, LSM_CTL_UNINITIALIZED, _LSM_Control::mtx, _LSM_Control::rwi, _LSM_Control::state, and _LSM_Control::task.

unsigned int LSM_initThs ( unsigned int  mask  ) 

init THS with LSM

Return values:
LSM_SUCCESS Success

Referenced by LSM_start().

unsigned int LSM_sendSsrOut ( void *  qItem,
int  totalLen 
)

Send out filled-in packet to the SSR.

Parameters:
qItem pointer to the qItem
totalLen length of the qItem
Returns:
status

References _LSM_Control::ssrOutBuff.

Referenced by LSM_SIANCILLARY(), LSM_SIATTITUDE(), and LSM_SITIMETONE().

unsigned int LSM_shutdown ( void   ) 

Shut down the LSM system (currently a no-op).

Return values:
LSM_SUCCESS Success
LSM_shutdown() shuts down the LAT Spacecraft Messages system.

unsigned int LSM_startTask ( TASK_attr *  attr  ) 

Create and start the LSM task.

Parameters:
attr (in) Task attributes (can be NULL)
Return values:
LSM_BADSTAT Not in state "initialized" (bad state transition)
LSM_NOTINIT Control block has not been allocated/initialized
LSM_SUCCESS Success
LSM_startTask() starts the LAT Spacecraft Messages master task (only the master task ... for the moment).

References LSM_CTL_INITIALIZED, LSM_CTL_STARTED, _LSM_Control::mtx, _LSM_Control::state, and _LSM_Control::task.

Referenced by LSM_start().

unsigned int LSM_stopTask ( void   ) 

Stop the LSM task (currently a no-op).

Return values:
LSM_SUCCESS Success
LSM_stopTask() stops the LAT Spacecraft Messages task(s).


Generated on Tue Mar 29 14:49:52 2011 by  doxygen 1.5.8