GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LMC / V0-10-1 > lmc / rad750


Interface   Data Structures   File List   Data Fields   Globals  

LMC_cmd.c File Reference

LAT Multiplexed Counters command processing routines. More...

#include <LMC_prvdefs.h>
#include <LMC/LMC_msgs.h>
#include <LMC/LMC_cmddefs.h>
#include <LMC/LMC_cmdxtrn.h>
#include <LEM/defs.h>
#include <LEM/list_structs.h>
#include <LEM/encode.h>
#include <string.h>

Functions

static void rqst_stop (LMC_Counter *ctl)
static unsigned int load_cb (void *prm, LCBD_xcb *xcb)
static WUT_cb_status wut_cb (void *prm, WUT_tmr *wut)
static unsigned int read_cb (void *prm, LCBD_xcb *xcb)
static void bind_lists (LMC_Counter *cnt)
static unsigned int queue_load (LMC_ld *ld)
static unsigned int check_load (LMC_ld *ld)
static unsigned int check_read (LMC_rd *rd)
unsigned int LMC_cal_lrs (void *prm, const struct _ITC_QueueItem *qitem, void *pkt, unsigned int len)
 Process the cal_lrs command.
unsigned int LMC_tkr_lrs (void *prm, const struct _ITC_QueueItem *qitem, void *pkt, unsigned int len)
 Process the tkr_lrs command.
unsigned int LMC_acd_tile_pair (void *prm, const struct _ITC_QueueItem *qitem, void *pkt, unsigned int len)
 Process the acd_tile_pair command.
unsigned int LMC_acd_tile_all (void *prm, const struct _ITC_QueueItem *qitem, void *pkt, unsigned int len)
 Process the acd_tile_all command.
unsigned int LMC_tem_deadtime (void *prm, const struct _ITC_QueueItem *qitem, void *pkt, unsigned int len)
 Process the tem_deadtime command.
unsigned int LMC_noop (void *prm, const struct _ITC_QueueItem *qitem, void *pkt, unsigned int len)
 Process the noop command.
unsigned int LMC_stop_count (void *prm, const struct _ITC_QueueItem *qitem, void *pkt, unsigned int len)
 Process the stop_count command.


Detailed Description

LAT Multiplexed Counters command processing routines.

Author:
S.Maldonado & Owen Saxton
Id
LMC_cmd.c,v 1.20 2011/03/28 18:04:55 saxton Exp

Function Documentation

unsigned int LMC_acd_tile_all ( void *  prm,
const struct _ITC_QueueItem qitem,
void *  pkt,
unsigned int  len 
)

Process the acd_tile_all command.

Parameters:
prm User context parameter (not used)
qitem Queue item (not used)
pkt Packet pointer
len Packet length (not used)
Return values:
LMC_SUCCESS Success
LMC_NOTINIT LMC not initialized
LMC_CNTRACTV Counter already active
LMC_PRMERROR Invalid parameter value
LMC_NODGPKT No diagnostic packet available
LMC_NOSCIPKT No science data packet available
LMC_LCBDFAIL Register load failed

References _LMC_reset_valid_bf::acd_all, _LMC_Reset_Row::acd_all, _LMC_Control::acd_cnt, _LMC_reset_valid_bf::acd_pair, _LMC_Counter::all_tile, _LMC_reset_valid::bf, _LMC_Counter::busy, _LMC_acd_tile_all_Prm::cnt, _LMC_Counter::cur_cnt, _LMC_acd_tile_all_Prm::dest, _LMC_Counter::intv, _LMC_acd_tile_all_Prm::intv, _LMC_Counter::ld, _LMC_Counter::ld_xcb, LMC_CNT_FOREVER, LMC_freeBuffer(), LMC_getBuffer(), LMC_getCtrl(), LMC_K_RESET_FORMAT_0, LMC_MIN_INTERVAL, N_ACD_TILES, _LMC_Counter::name, LMC_rd::nci, LMC_ld::nci, NEXT_CI, _LMC_acd_tile_all_Pkt::pay, _LMC_Counter::rd, _LMC_Counter::rem_cnt, _LMC_Control::reset, _LMC_Counter::stop, _LMC_Reset::trd, _LMC_Reset::trd_cache, _LMC_Counter::use_ssr, and _LMC_Reset_Row::valid.

unsigned int LMC_acd_tile_pair ( void *  prm,
const struct _ITC_QueueItem qitem,
void *  pkt,
unsigned int  len 
)

Process the acd_tile_pair command.

Parameters:
prm User context parameter (not used)
qitem Queue item (not used)
pkt Packet pointer
len Packet length (not used)
Return values:
LMC_SUCCESS Success
LMC_NOTINIT LMC not initialized
LMC_CNTRACTV Counter already active
LMC_PRMERROR Invalid parameter value
LMC_NODGPKT No diagnostic packet available
LMC_NOSCIPKT No science data packet available
LMC_LCBDFAIL Register load failed

References _LMC_reset_valid_bf::acd_all, _LMC_Control::acd_cnt, _LMC_reset_valid_bf::acd_pair, _LMC_Reset_Row::acd_pair, _LMC_Counter::all_tile, _LMC_reset_valid::bf, _LMC_Counter::busy, _LMC_acd_tile_pair_Prm::cnt, _LMC_Counter::cur_cnt, _LMC_acd_tile_pair_Prm::dest, _LMC_Counter::intv, _LMC_acd_tile_pair_Prm::intv, _LMC_Counter::ld, _LMC_Counter::ld_xcb, LMC_CNT_FOREVER, LMC_freeBuffer(), LMC_getBuffer(), LMC_getCtrl(), LMC_K_RESET_FORMAT_0, LMC_MIN_INTERVAL, N_ACD_TILES, _LMC_Counter::name, LMC_rd::nci, LMC_ld::nci, NEXT_CI, _LMC_acd_tile_pair_Pkt::pay, _LMC_Counter::rd, _LMC_Counter::rem_cnt, _LMC_Control::reset, _LMC_Counter::stop, _LMC_acd_tile_pair_Prm::tile_0, _LMC_acd_tile_pair_Prm::tile_1, _LMC_Reset::trd, _LMC_Reset::trd_cache, _LMC_Counter::use_ssr, and _LMC_Reset_Row::valid.

unsigned int LMC_cal_lrs ( void *  prm,
const struct _ITC_QueueItem qitem,
void *  pkt,
unsigned int  len 
)

Process the cal_lrs command.

Parameters:
prm User context parameter (not used)
qitem Queue item (not used)
pkt Packet pointer
len Packet length (not used)
Return values:
LMC_SUCCESS Success
LMC_NOTINIT LMC not initialized
LMC_CNTRACTV Counter already active
LMC_PRMERROR Invalid parameter value
LMC_NODGPKT No diagnostic packet available
LMC_NOSCIPKT No science data packet available
LMC_LCBDFAIL Register load failed

References _LMC_reset_valid::bf, _LMC_Counter::busy, _LMC_reset_valid_bf::cal, _LMC_Reset_Row::cal, _LMC_Control::cal_cnt, _LMC_cal_lrs_Prm::cal_mask, _LMC_cal_lrs_Prm::cnt, _LMC_Counter::cur_cnt, _LMC_cal_lrs_Prm::dest, _LMC_Counter::intv, _LMC_cal_lrs_Prm::intv, _LMC_Counter::ld, _LMC_Counter::ld_xcb, LMC_CNT_FOREVER, LMC_freeBuffer(), LMC_getBuffer(), LMC_getCtrl(), LMC_K_RESET_FORMAT_0, LMC_MIN_INTERVAL, _LMC_Counter::lrs_mask, N_TEMS, _LMC_Counter::name, LMC_rd::nci, LMC_ld::nci, NEXT_CI, _LMC_cal_lrs_Pkt::pay, _LMC_Counter::rd, _LMC_Counter::rem_cnt, _LMC_Control::reset, _LMC_Counter::stop, _LMC_cal_lrs_Prm::tem_mask, _LMC_Counter::tem_mask, _LMC_Reset::trd, _LMC_Reset::trd_cache, _LMC_Counter::use_ssr, and _LMC_Reset_Row::valid.

unsigned int LMC_noop ( void *  prm,
const struct _ITC_QueueItem qitem,
void *  pkt,
unsigned int  len 
)

Process the noop command.

Parameters:
prm User context parameter (not used)
qitem Queue item (not used)
pkt Packet pointer
len Packet length (not used)
Return values:
LMC_SUCCESS Success

unsigned int LMC_stop_count ( void *  prm,
const struct _ITC_QueueItem qitem,
void *  pkt,
unsigned int  len 
)

unsigned int LMC_tem_deadtime ( void *  prm,
const struct _ITC_QueueItem qitem,
void *  pkt,
unsigned int  len 
)

Process the tem_deadtime command.

Parameters:
prm User context parameter (not used)
qitem Queue item (not used)
pkt Packet pointer
len Packet length (not used)
Return values:
LMC_SUCCESS Success
LMC_NOTINIT LMC not initialized
LMC_CNTRACTV Counter already active
LMC_PRMERROR Invalid parameter value
LMC_NODGPKT No diagnostic packet available
LMC_NOSCIPKT No science data packet available
LMC_LCBDFAIL Register load failed

References _LMC_reset_valid::bf, _LMC_Counter::busy, _LMC_tem_deadtime_Prm::cnt, _LMC_Counter::cur_cnt, _LMC_Control::dead_cnt, _LMC_tem_deadtime_Prm::dead_mask, _LMC_reset_valid_bf::deadtime, _LMC_Reset_Row::deadtime, _LMC_tem_deadtime_Prm::dest, _LMC_Counter::intv, _LMC_tem_deadtime_Prm::intv, _LMC_Counter::ld, _LMC_Counter::ld_xcb, LMC_CNT_FOREVER, LMC_freeBuffer(), LMC_getBuffer(), LMC_getCtrl(), LMC_K_RESET_FORMAT_0, LMC_MIN_INTERVAL, _LMC_Counter::lrs_mask, N_TEMS, _LMC_Counter::name, LMC_rd::nci, LMC_ld::nci, NEXT_CI, _LMC_tem_deadtime_Pkt::pay, _LMC_Counter::rd, _LMC_Counter::rem_cnt, _LMC_Control::reset, _LMC_Counter::stop, _LMC_tem_deadtime_Prm::tem_mask, _LMC_Counter::tem_mask, _LMC_Reset::trd, _LMC_Reset::trd_cache, _LMC_dead_mask::us, _LMC_Counter::use_ssr, and _LMC_Reset_Row::valid.

unsigned int LMC_tkr_lrs ( void *  prm,
const struct _ITC_QueueItem qitem,
void *  pkt,
unsigned int  len 
)

Process the tkr_lrs command.

Parameters:
prm User context parameter (not used)
qitem Queue item (not used)
pkt Packet pointer
len Packet length (not used)
Return values:
LMC_SUCCESS Success
LMC_NOTINIT LMC not initialized
LMC_CNTRACTV Counter already active
LMC_PRMERROR Invalid parameter value
LMC_NODGPKT No diagnostic packet available
LMC_NOSCIPKT No science data packet available
LMC_LCBDFAIL Register load failed

References _LMC_reset_valid::bf, _LMC_Counter::busy, _LMC_tkr_lrs_Prm::cnt, _LMC_Counter::cur_cnt, _LMC_tkr_lrs_Prm::dest, _LMC_Counter::intv, _LMC_tkr_lrs_Prm::intv, _LMC_Counter::ld, _LMC_Counter::ld_xcb, LMC_CNT_FOREVER, LMC_freeBuffer(), LMC_getBuffer(), LMC_getCtrl(), LMC_K_RESET_FORMAT_0, LMC_MIN_INTERVAL, _LMC_Counter::lrs_mask, N_TEMS, _LMC_Counter::name, LMC_rd::nci, LMC_ld::nci, NEXT_CI, _LMC_tkr_lrs_Pkt::pay, _LMC_Counter::rd, _LMC_Counter::rem_cnt, _LMC_Control::reset, _LMC_Counter::stop, _LMC_tkr_lrs_Prm::tem_mask, _LMC_Counter::tem_mask, _LMC_reset_valid_bf::tkr, _LMC_Reset_Row::tkr, _LMC_Control::tkr_cnt, _LMC_tkr_lrs_Prm::tkr_mask, _LMC_Reset::trd, _LMC_Reset::trd_cache, _LMC_Counter::use_ssr, and _LMC_Reset_Row::valid.


Generated on Wed Nov 21 21:32:40 2012 by  doxygen 1.5.8