GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LMC / V0-10-1 > lmc / rad750
#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. |
unsigned int LMC_acd_tile_all | ( | void * | prm, | |
const struct _ITC_QueueItem * | qitem, | |||
void * | pkt, | |||
unsigned int | len | |||
) |
Process the acd_tile_all command.
prm | User context parameter (not used) | |
qitem | Queue item (not used) | |
pkt | Packet pointer | |
len | Packet length (not used) |
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.
prm | User context parameter (not used) | |
qitem | Queue item (not used) | |
pkt | Packet pointer | |
len | Packet length (not used) |
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.
prm | User context parameter (not used) | |
qitem | Queue item (not used) | |
pkt | Packet pointer | |
len | Packet length (not used) |
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.
prm | User context parameter (not used) | |
qitem | Queue item (not used) | |
pkt | Packet pointer | |
len | Packet length (not used) |
LMC_SUCCESS | Success |
unsigned int LMC_stop_count | ( | void * | prm, | |
const struct _ITC_QueueItem * | qitem, | |||
void * | pkt, | |||
unsigned int | len | |||
) |
Process the stop_count command.
prm | User context parameter (not used) | |
qitem | Queue item (not used) | |
pkt | Packet pointer | |
len | Packet length (not used) |
LMC_SUCCESS | Success | |
LMC_NOTINIT | LMC not initialized |
References _LMC_reset_valid_bf::acd_all, _LMC_Control::acd_cnt, _LMC_reset_valid_bf::acd_pair, _LMC_reset_valid::bf, _LMC_reset_valid_bf::cal, _LMC_Control::cal_cnt, _LMC_Control::dead_cnt, _LMC_reset_valid_bf::deadtime, LMC_getCtrl(), LMC_K_RESET_FORMAT_0, LMC_OP_ALL, LMC_OP_CAL, LMC_OP_DEAD, LMC_OP_TILE_ALL, LMC_OP_TILE_PAIR, LMC_OP_TKR, _LMC_stop_count_Prm::opcode, _LMC_stop_count_Pkt::pay, _LMC_Control::reset, _LMC_reset_valid_bf::tkr, _LMC_Control::tkr_cnt, _LMC_Reset::trd, _LMC_Reset::trd_cache, and _LMC_Reset_Row::valid.
unsigned int LMC_tem_deadtime | ( | void * | prm, | |
const struct _ITC_QueueItem * | qitem, | |||
void * | pkt, | |||
unsigned int | len | |||
) |
Process the tem_deadtime command.
prm | User context parameter (not used) | |
qitem | Queue item (not used) | |
pkt | Packet pointer | |
len | Packet length (not used) |
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.
prm | User context parameter (not used) | |
qitem | Queue item (not used) | |
pkt | Packet pointer | |
len | Packet length (not used) |
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.