GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LCM / dev > lcm_epu / rhel5-32


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

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

Scrub through SUROM contents to check integrity.

Return values:
LCM_SUCCESS Always
LCM_scrubSurom() performs memory reads through the rad750 SUROM to check for integrity. For all architectures except rad750, there is no SUROM (at least, not in the sense that applies to the rad750 SUROM). Nevetheless, try for some fidelity (even if this only ever reports that scrubbing induced no memory errors).

References _LCM_SuromError::cme, and _LCM_SuromError::ume.

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)
Warning:
Turbo reset is not supported on unix targets
LCM_turboPrimary() is a special entry point to allow primary boot telemetry activities to participate in turbo reset synchronization. EPU primary boot telemetry is handled by code in package PBC, but that code executes in the context of the LCM task.


Generated on Wed Mar 30 16:06:38 2011 by  doxygen 1.5.8