GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LCM / dev > lcm_epu / rad750


Interface   Data Structures   File List   Data Fields   Globals  

LCM_pubdefs.h File Reference

Public definitions for the LCM package. More...

#include <LSF/LSF.h>
#include <LCM/LCM_tlmdefs.h>
#include <PBS/WCT.h>

Classes

struct  _LCM_MSG_Dump_Info
 MSG dump information version 1 (current definition). More...
struct  _LCM_MSG_Dump_Datagram
 LCM datagram for MSG output. More...
struct  _LCM_SuromError
 Memory error statistics for a single SUROM memory segment. More...

Defines

#define LCM_MSG_VERSION_DGM   (2)
 Current version of the LCM package MSG output SSR datagram format.
#define LCM_MSG_VERSION_INFO   (1)
 Current version of the LCM package MSG output information format.
#define LCM_MSG_VERSION_TEXT   (1)
 Current version of the LCM package MSG output text format.
#define LCM_K_FMT_MEM_ERROR   (3)
#define LCM_K_FMT_MEM_SUB0   (0)
#define LCM_K_FMT_MEM_SUB1   (1)
#define LCM_K_FMT_PCI_ERROR   (4)
#define LCM_L_SUROM_SEGMENT   (5)

Typedefs

typedef enum _LCM_MSG_Id LCM_MSG_Id
 Typedef for _LCM_MSG_Id.
typedef struct _LCM_MSG_Dump_Info LCM_MSG_Dump_Info
 Typedef for _LCM_MSG_Dump_Info.
typedef struct
_LCM_MSG_Dump_Datagram 
LCM_MSG_Dump_Datagram
 Typedef for _QLFS_Dump_Datagram.
typedef struct _LCM_SuromError LCM_SuromError
 Typedef for structure _LCM_SuromError.

Enumerations

enum  _LCM_MSG_Id {
  LCM_MSG_ID_NONE = 0,
  LCM_MSG_ID_INFO = 1,
  LCM_MSG_ID_TEXT = 2
}
 LCM package MSG output contribution IDs. More...

Functions

unsigned int LCM_countsGet (unsigned short *buf)
 Get error counter values.
unsigned int LCM_countsSizeof (void)
 Get error counter size.
unsigned int LCM_initialize (void)
 Initialize the LCM system.
unsigned int LCM_initializeEPU (void)
 Initialize the LCM module/task dump subsystem.
unsigned int LCM_initializeSIU (void)
void LCM_msgAttachCTDB (void)
 Setup MSG output callback for CTDB diagnostic telemetry.
void LCM_msgAttachSSR (void)
 Setup MSG output callback for SSR science data telemetry.
unsigned int LCM_reportOnce (void)
 Deprecated routine.
unsigned int LCM_resetRestore (void)
 Use turbo reset database to restore CPU global context.
unsigned int LCM_shutdown (void)
 Shut down the LCM system.
unsigned int LCM_scrubSurom (LCM_SuromError *rom, unsigned int *hcs, unsigned int *bcs)
 Scrub through SUROM contents to check integrity.
unsigned int LCM_start (void)
 Start the LCM task.
unsigned int LCM_stop (void)
 Stop the LCM task.
void LCM_turboPrimary (unsigned int cpu)
 Use EPU primary boot telemetry in turbo reset synchronization.


Detailed Description

Public definitions for the LCM package.

CVS $Id: LCM_pubdefs.h,v 1.11 2011/03/29 21:59:33 apw Exp $
Author:
A.P.Waite

Enumeration Type Documentation

LCM package MSG output contribution IDs.

Enumerator:
LCM_MSG_ID_NONE  Reserved ID value.
LCM_MSG_ID_INFO  MSG information contribution.
LCM_MSG_ID_TEXT  MSG text string contribution.


Function Documentation

unsigned int LCM_countsGet ( unsigned short *  buf  ) 

Get error counter values.

Read LCM LCP error counter values.

Parameters:
buf The buffer to write the counts to.

References LCM_lcb, _LCM_Control::memc_err_count, _LCM_Control::memu_err_count, _LCM_Control::pci_err_count, and _LCM_Control::rwi.

unsigned int LCM_countsSizeof ( void   ) 

Get error counter size.

Get the size needed to read the LCM LCP error counter values.

Returns:
The size in bytes of the buffer needed for LCM_countsGet().

unsigned int LCM_initialize ( void   ) 

Initialize the LCM system.

Return values:
LCM_ALOCFAIL Memory allocation failure
LCM_BADSTAT Not in state "uninitialized" (bad state transition)
LCM_MUALOCFL Cannot allocate a mutex
LCM_SUCCESS Success
LCM_initialize() initializes the LAT Spacecraft Messages system.

References _LCM_Control::cmd_chksum_size, _LCM_Control::cmd_hdr_size, _LCM_Control::config, _LCM_Control::itc_hdr_size, LCM_CTL_BROKEN, LCM_CTL_PARTIAL, LCM_CTL_UNINITIALIZED, LCM_houseInitialize(), LCM_imageInitialize(), LCM_messageInitialize(), LCM_scrubInitialize(), LCM_SMONInitialize(), LCM_taskInitialize(), _LCM_Control::mtx, _LCM_Control::node_id, _LCM_Control::rwi, _LCM_Control::state, _LCM_Control::telem_hdr_size, and _LCM_Control::version.

unsigned int LCM_initializeEPU ( void   ) 

Initialize the LCM module/task dump subsystem.

LCM_initializeEPU() completes EPU specific initialization.

References LCM_CTL_BROKEN, LCM_CTL_INITIALIZED, LCM_CTL_PARTIAL, LCM_imageInitializeEPU(), LCM_lcb, LCM_messageInitializeEPU(), _LCM_Control::mtx, and _LCM_Control::state.

void LCM_msgAttachCTDB ( void   ) 

Setup MSG output callback for CTDB diagnostic telemetry.

Attach LCM CTDB output callback.

References LCM_msgOutputCTDB().

void LCM_msgAttachSSR ( void   ) 

Setup MSG output callback for SSR science data telemetry.

Attach LCM SSR science data output callback.

References LCM_msgOutputSSR().

unsigned int LCM_reportOnce ( void   ) 

Deprecated routine.

Return values:
LCM_RTNDEP This routine has been deprecated
The routine LCM_reportOnce() is deprecated. It's functionality has been replaced by LCM_imageDumpAll() (a much better method).

unsigned int LCM_resetRestore ( void   ) 

Use turbo reset database to restore CPU global context.

Return values:
LCM_GENINFO No such concept on a unix host

References _LCM_LCMSECONDARY::bf, and _LCM_LCMSECONDARY::ui.

unsigned int LCM_scrubSurom ( LCM_SuromError rom,
unsigned int *  hcs,
unsigned int *  bcs 
)

Scrub through SUROM contents to check integrity.

Parameters:
rom (out) SUROM memory error counts by segment
hcs (out) Header checksum failure by segment (1 => failed)
bcs (out) Body checksum failure by segment (1 => failed)
Return values:
LCM_SUCCESS Always
LCM_scrubSurom() performs memory reads through the rad750 SUROM to check for integrity.

References _LCM_SuromError::cme, LCM_lcb, _LCM_Control::rwi, suromRead(), and _LCM_SuromError::ume.

Referenced by LCM_resetCPU().

unsigned int LCM_shutdown ( void   ) 

unsigned int LCM_start ( void   ) 

Start the LCM task.

LCM_start() starts the LCM task. The LCM control state should be LCM_CTL_INITIALIZED before calling this function. On successful exit from this function, the LCM control state will be LCM_CTL_STARTING. As part of LCM's task start procedures, the LCM task first runs a one-time task initialization routine in LCM task context. If that is successful, the LCM control state is changed to LCM_CTL_RUNNING.

Any failures along the way and the LCM control state is set to LCM_CTL_BROKEN.

References _LCM_Control::itc, LCM_CTL_BROKEN, LCM_CTL_INITIALIZED, _LCM_Control::mtx, _LCM_Control::state, and taskStartOnce().

unsigned int LCM_stop ( void   ) 

Stop the LCM task.

The LCM control state should be LCM_CTL_RUNNING before calling this function (after calling LCM_start()). Sets LCM control state to LCM_CTL_INITIALIZED.

This function is a replacement for LCM_stopTask().

Returns:
A FILE MSG code.

References _LCM_Control::itc, LCM_CTL_INITIALIZED, LCM_CTL_RUNNING, LCM_CTL_STOPPING, _LCM_Control::mtx, and _LCM_Control::state.

void LCM_turboPrimary ( unsigned int  cpu  ) 

Use EPU primary boot telemetry in turbo reset synchronization.

Parameters:
cpu (in) CPU (ITC node)
LCM_turboPrimary() is a dummy function on an EPU. It's always a mistake if this routine is called on an EPU. It is here solely to satisfy symbology.


Generated on Wed Mar 30 16:14:23 2011 by  doxygen 1.5.8