GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LCBT / dev > ssrsim / sun-gcc
#include <PBS/PBS.h>
#include <PBS/FPA.h>
#include <PBS/MBA.h>
#include <PBS/WUT.h>
#include <PBS/TMR.h>
#include <PBS/QI.h>
#include <PBS/FORK.h>
#include <PBS/SPIN.h>
#include <PBS/TASK.h>
#include <MSG/MSG_pubdefs.h>
#include <LCBT/SSRSIM_msgs.h>
#include <LCBD/LCBD_drv.h>
#include <LCBD/LCBD_clk.h>
#include <LCBD/LCBD_evt.h>
#include <LCBD/LCBD_nut.h>
#include <LCBD/LCBD_rst.h>
#include <LCBD/LCBD_stats.h>
#include <LCBD/LCBD_cr.h>
#include <LCBD/LCBC.h>
#include <LCBD/LCBR.h>
#include <LCBD/LCBD_msgs.h>
#include <LCBD/LATP.h>
#include <LCBD/LCB.h>
#include <LCBD/LCB_cr.h>
#include <LCBD/LCBD_pci.h>
#include <LCBT/SSRSIM.h>
#include <RND.h>
Functions | |
void | SSRSIM_init (LCBD lcb, int sendTaskPri, int latpAddr, int appId) |
init the SSR simulate module | |
void | SSRSIM_release () |
shutdown the SSR simulate module | |
int | SSRSIM_setParm (TDATA_DTEST dataType, int dataParm, int tDuration, int reqPacketSize32, int evtPeriod, int *actualPacketSize32) |
Setup and start data simulated SSR data from ISIS. | |
void | SSRSIM_stop () |
stop SSR simulate data output | |
void | SSRSIM_stats () |
print stats | |
void | SSRSIM_statsReset () |
reset stats for printing | |
void | SSRSIM_statsGetErrors (int *timerMiss, int *dmaErrs, int *itemErrs, int *backPresErrs) |
get error stats |
To start: Pulls all buffs from Freelist (FPA), sends buff to fork task Forktask load up buffs with data and put in ReadyList QUE Enable timer, if < 1 KHz datarate timer determined by datarate, one event per dma if > 1 KHz datarate time is 1 mSec, each DMA has N events To Stop: Disable timer Pull all buffers from the ReadyList QUE and puts back in Freelist (FPA)
Normal Operation Timer - runs every N milliSec, pulls buff from ReadyList and sends to LCB LcbRstCallback - when LCB finishes, buffer is send to fork task ForkTask - fills buffer with new data and puts it in ReadyList
SSRSIM_init | ( | LCBD | lcb, | |
int | sendTaskPri, | |||
int | latpAddr, | |||
int | appId | |||
) |
init the SSR simulate module
lcb | LCB handle | |
sendTaskPri | priority of task created to send data to LCB, 0=default of 60 | |
latpAddr | address of unit to send data to | |
appId | appId to be used within the CCSDS header |
References RND_lc0_init(), SSRSIM_statsReset(), and TDATA_setCcsdsParms().
SSRSIM_release | ( | ) |
int SSRSIM_setParm | ( | TDATA_DTEST | dataType, | |
int | dataParm, | |||
int | tDuration, | |||
int | reqPacketSize32, | |||
int | evtPeriod, | |||
int * | actualPacketSize32 | |||
) |
Setup and start data simulated SSR data from ISIS.
dataType | data pattern to load into buffer | |
dataParm | parameter associated with given dataType | |
tDuration | time in secs to output data, -1=forever | |
reqPacketSize32 | desired packet size, 8 to 1020, 0=random size | |
evtPeriod | time in microSec between events, 100 (10KHz) to 30000000 (1/30 Hz) | |
actualPacketSize32 | returned packet size adjusted down if needed to achieve given evtPeriod within LCB bandwidth constraints, max size is returned if reqPacketSIze=0 for random |
References SSRSIM_stop(), and TDATA_DTEST_RANDOM.
SSRSIM_stats | ( | ) |
void SSRSIM_statsGetErrors | ( | int * | timerMiss, | |
int * | dmaErrs, | |||
int * | itemErrs, | |||
int * | backPresErrs | |||
) |
get error stats
timerMiss | if not NULL, return timer misses which indicates no buffer to send to LCB | |
dmaErrs | if not NULL, return dma errs which indicate LCB did not process a list so list is probably incorrect or LCB problems | |
itemErrs | if not NULL, return item error which are errors on one item in list, probably indicate cannot talk to destination of item | |
backPresErrs | if not NULL, return backpressure errors which indicate timeout due to pause line from EBM being set |
SSRSIM_statsReset | ( | ) |
void SSRSIM_stop | ( | ) |