GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LIM / V1-22-0 > lim / linux-gcc
#include "string.h"
#include "LIM/LIM_cmddefs.h"
#include "LIM/LIM_pubdefs.h"
#include "LIM/LIM_msgs.h"
#include "LIM/LIM_tlmdefs.h"
#include "LIM/LIM_SC_cmddefs.h"
#include "PBS/MBA.h"
#include "PBS/WCT.h"
#include "PBS/WUT.h"
#include "LIM_action.h"
#include "LIM_bulk.h"
#include "LIM_pkt_send.h"
#include "LIM_sc.h"
#include "LIM_task.h"
Classes | |
struct | _LIM_Sc |
State information for a spacecraft interface object. More... | |
Defines | |
#define | LIM_SC_VALID_KEY (('L'<<24)+('S'<<16)+('C'<<8)+'I') |
Value indicating the spacecraft interface object state is valid. | |
#define | LIM_APID_SC_SLEW_REQ (0x600) |
Functions | |
static unsigned int | lim_sc_check (LIM_Sc *object_p) |
Validate a spacecraft interface object pointer. | |
static unsigned int | lim_sc_change_state (LIM_Sc *object_p, int new_pending, int new_active, unsigned int new_start_sec) |
Change the PENDING, ACTIVE, and START_SEC values for an object. | |
static WUT_cb_status | lim_sc_wut_handler (void *prm, WUT_tmr *wut) |
Handle wake-up timer expiration. | |
unsigned int | LIM_sc_new (LIM_Sc **object_pp, LIM_Task *task_p, LIM_Bulk *bulk_p, LIM_Action *action_p, LIM_Pkt_Send *pkt_slew_req_cmd_p, LIM_Pkt_Send *pkt_slew_req_tlm_p, LIM_Pkt_Send *pkt_slew_rsp_tlm_p) |
Create and initialize a new spacecraft interface object. | |
unsigned int | LIM_sc_delete (LIM_Sc *object_p) |
Shutdown and delete a spacecraft interface object. | |
int | LIM_sc_rep_is_active (LIM_Sc *object_p) |
Return the ACTIVE status of a repoint. | |
int | LIM_sc_rep_req_is_pending (LIM_Sc *object_p) |
Return the PENDING status of a repoint request. | |
unsigned int | LIM_sc_remain_sec (LIM_Sc *object_p) |
Return the number of seconds remaining in a repoint period. | |
static unsigned int | lim_sc_expire (LIM_Sc *object_p) |
End a repoint period. | |
unsigned int | LIM_sc_handle_bulk (LIM_Sc *object_p, const ITC_QueueItem *qitem_p) |
Handle a message on the BULK queue. | |
unsigned int | LIM_sc_handle_grb_idle (LIM_Sc *object_p) |
Handle a transition to the GRB-Idle state. | |
unsigned int | LIM_sc_send_slew_request (LIM_Sc *object_p, LIM_Action_Id action, unsigned int tran_id, unsigned int dwell_time, double ra, double dec) |
Send a Slew-Request command to the spacecraft. | |
unsigned int | LIM_sc_handle_slew_response (LIM_Sc *object_p, const ITC_QueueItem *qitem_p) |
Handle a Slew-Request-Reply message. |
** CVS $Id: LIM_sc.c,v 1.14 2008/08/30 00:42:16 dmay Exp $ **
unsigned int lim_sc_change_state | ( | LIM_Sc * | object_p, | |
int | new_pending, | |||
int | new_active, | |||
unsigned int | new_start_sec | |||
) | [static] |
Change the PENDING, ACTIVE, and START_SEC values for an object.
object_p | Pointer to spacecraft interface object. | |
new_pending | New PENDING status. | |
new_active | New ACTIVE status. | |
new_start_sec | New START_SEC value. |
unsigned int lim_sc_check | ( | LIM_Sc * | object_p | ) | [static] |
Validate a spacecraft interface object pointer.
object_p | Pointer to spacecraft interface object. |
unsigned int LIM_sc_delete | ( | LIM_Sc * | object_p | ) |
Shutdown and delete a spacecraft interface object.
object_p | Pointer to object. |
unsigned int lim_sc_expire | ( | LIM_Sc * | object_p | ) | [static] |
End a repoint period.
object_p | Pointer to spacecraft interface object. |
unsigned int LIM_sc_handle_bulk | ( | LIM_Sc * | object_p, | |
const ITC_QueueItem * | qitem_p | |||
) |
Handle a message on the BULK queue.
object_p | Pointer to spacecraft interface object. | |
qitem_p | Pointer to queue item containing the message. |
unsigned int LIM_sc_handle_grb_idle | ( | LIM_Sc * | object_p | ) |
Handle a transition to the GRB-Idle state.
object_p | Pointer to spacecraft interface object. |
unsigned int LIM_sc_handle_slew_response | ( | LIM_Sc * | object_p, | |
const ITC_QueueItem * | qitem_p | |||
) |
Handle a Slew-Request-Reply message.
object_p | Pointer to spacecraft interface object. | |
qitem_p | Pointer to queue item containing the message. |
unsigned int LIM_sc_new | ( | LIM_Sc ** | object_pp, | |
LIM_Task * | task_p, | |||
LIM_Bulk * | bulk_p, | |||
LIM_Action * | action_p, | |||
LIM_Pkt_Send * | pkt_slew_req_cmd_p, | |||
LIM_Pkt_Send * | pkt_slew_req_tlm_p, | |||
LIM_Pkt_Send * | pkt_slew_rsp_tlm_p | |||
) |
Create and initialize a new spacecraft interface object.
object_pp | Location to return pointer to new object. | |
task_p | Ptr to a task object. | |
bulk_p | Ptr to a bulk queue object. | |
action_p | Ptr to an action reporting object. | |
pkt_slew_req_cmd_p | Ptr to Slew-Request cmd pkt send object. | |
pkt_slew_req_tlm_p | Ptr to Slew-Request tlm pkt send object. | |
pkt_slew_rsp_tlm_p | Ptr to Slew-Request resp tlm pkt send object. |
unsigned int LIM_sc_remain_sec | ( | LIM_Sc * | object_p | ) |
Return the number of seconds remaining in a repoint period.
object_p | Pointer to spacecraft interface object. |
int LIM_sc_rep_is_active | ( | LIM_Sc * | object_p | ) |
Return the ACTIVE status of a repoint.
object_p | Pointer to object. |
int LIM_sc_rep_req_is_pending | ( | LIM_Sc * | object_p | ) |
Return the PENDING status of a repoint request.
object_p | Pointer to object. |
unsigned int LIM_sc_send_slew_request | ( | LIM_Sc * | object_p, | |
LIM_Action_Id | action, | |||
unsigned int | tran_id, | |||
unsigned int | dwell_time, | |||
double | ra, | |||
double | dec | |||
) |
Send a Slew-Request command to the spacecraft.
object_p | Pointer to spacecraft interface object. | |
action | Action to report. | |
tran_id | Transaction ID value for the command. | |
dwell_time | Dwell Time value for the command. | |
ra | RA value for the command. | |
dec | DEC value for the command. |
WUT_cb_status lim_sc_wut_handler | ( | void * | prm, | |
WUT_tmr * | wut | |||
) | [static] |
Handle wake-up timer expiration.
prm | Pointer to S/C interface object. | |
wut | Pointer to wake-up timer. |