GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LCI / V6-0-4 > LCI_test_cnt / rhel6-64
#include <test_p.h>
#include <LCI/LCI_msgs.h>
#include <LEM/msg_macros.h>
#include <MSG/MSG_pubdefs.h>
#include <ITC/ITC_pubdefs.h>
#include <PBS/SEM.h>
#include <PBS/BSWP.h>
#include <stdio.h>
Classes | |
struct | TestTask |
Task control block for the test task. More... | |
Enumerations | |
enum | { ITC_TID_LCI_T = 14 } |
Functions | |
unsigned | test_startTask (void) |
Start up the ITC task that will run the LCI control tests. | |
void | test_stopTask (void) |
Stop the task started with test_startTask. | |
unsigned | test_calibrate (unsigned latccfg, unsigned lcicfg) |
Queue a message to the test task that will initiate an LCI calibration, wait for the calibration to terminate and return the status. | |
unsigned | test_send (unsigned latccfg, unsigned lcicfg) |
Queue a message to the test task that will initiate an LCI calibration. | |
unsigned | test_wait_term (void) |
Wait for the terminated message to arrive and return the status. | |
void | test_wait_cali (void) |
Wait for the calibration message to be sent. | |
unsigned int | kick_test (void *prm, const struct _ITC_QueueItem *qitem, void *pay, unsigned int len) |
Release the semaphore if this this function is called in response to a message from the LCI task (termination message) otherwise send a calibrate command to the LCI task. | |
Variables | |
static char | buffer [40] |
static TestTask | testTask |
To test LCI through the formal (ITC task) interface it is necessary to have another ITC task to provide "closed loop" communications. The TestTask is this ITC task.
unsigned int kick_test | ( | void * | prm, | |
const struct _ITC_QueueItem * | qitem, | |||
void * | pay, | |||
unsigned int | len | |||
) |
Release the semaphore if this this function is called in response to a message from the LCI task (termination message) otherwise send a calibrate command to the LCI task.
prm | User defined parameter (NULL) | |
qitem | Pointer to the item queued to this task | |
pay | Pointer to the payload of the queued item | |
len | Length of the payload. |
0 |
References TestTask::cali, cmd_calibrate(), TestTask::latccfg, TestTask::lcicfg, TestTask::status, and TestTask::term.
Referenced by test_startTask().
unsigned test_calibrate | ( | unsigned | latccfg, | |
unsigned | lcicfg | |||
) |
Queue a message to the test task that will initiate an LCI calibration, wait for the calibration to terminate and return the status.
latccfg | File ID for the LATC configuration file | |
lcicfg | File ID for the LCI configuratoin file |
References test_send(), and test_wait_term().
unsigned test_send | ( | unsigned | latccfg, | |
unsigned | lcicfg | |||
) |
Queue a message to the test task that will initiate an LCI calibration.
latccfg | File ID for the LATC configuration file | |
lcicfg | File ID for the LCI configuratoin file |
!!! KLUDGE - pass a dummy payload into ITC_bind, 'cos it won't take NULL
References TestTask::latccfg, and TestTask::lcicfg.
Referenced by test_calibrate().
unsigned test_startTask | ( | void | ) |
Start up the ITC task that will run the LCI control tests.
References TestTask::cali, TestTask::itc, kick_test(), TestTask::status, TestTask::term, and test_stopTask().
void test_stopTask | ( | void | ) |
Stop the task started with test_startTask.
References TestTask::cali, TestTask::itc, and TestTask::term.
Referenced by test_startTask().
void test_wait_cali | ( | void | ) |
unsigned test_wait_term | ( | void | ) |
Wait for the terminated message to arrive and return the status.
References TestTask::status, and TestTask::term.
Referenced by test_calibrate().