GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LIM / V1-22-4 > lim / mv2304


Interface   Data Structures   File List   Data Fields   Globals  

LIM_gbm.h File Reference

Interface to the functions found in LIM_gbm.c. More...

#include <ITC/ITC_pubdefs.h>
#include <LIM/LIM_pubdefs.h>
#include <LIM_DB/LIM_DB_schema.h>
#include <LIM_action.h>
#include <LIM_bulk.h>
#include <LIM_lpa.h>
#include <LIM_pkt_send.h>
#include <LIM_sc.h>
#include <LIM_task.h>

Typedefs

typedef struct _LIM_Gbm LIM_Gbm
 Typedef for opaque GBM interface object handle.
typedef struct _LIM_Gbm_Reset LIM_Gbm_Reset
 Typedef for opaque GBM Reset interface object handle.

Functions

unsigned int LIM_gbm_new (LIM_Gbm **object_pp, LIM_Action *action_p, LIM_Lpa *lpa_p, LIM_Sc *sc_p, LIM_Bulk *bulk_p, LIM_Pkt_Send *calcinfo_p, LIM_Pkt_Send *closeout_p, LIM_Pkt_Send *repoint_p, const LIM_DB_Schema *db_p)
 Create and initialize a new GBM interface object.
unsigned int LIM_gbm_delete (LIM_Gbm *object_p)
 Shutdown and delete a GBM interface object.
unsigned int LIM_gbm_change_pri_int_allowed (LIM_Gbm *object_p, int new_value, LIM_Task *task_p)
 Change the value of the pri_int_allowed flag.
unsigned int LIM_gbm_change_red_int_allowed (LIM_Gbm *object_p, int new_value, LIM_Task *task_p)
 Change the value of the red_int_allowed flag.
unsigned int LIM_gbm_change_rep_allowed (LIM_Gbm *object_p, int new_value, LIM_Task *task_p)
 Change the value of the GBM-Repoint-Allowed flag.
unsigned int LIM_gbm_get_info (LIM_Gbm *object_p, LIM_Info *info_p)
 Return GBM interface information.
unsigned int LIM_gbm_configure_interrupts (LIM_Gbm *object_p)
 Enable and disable the GBM interrupts.
unsigned int LIM_gbm_enable_interrupts (LIM_Gbm *object_p)
 Enable the GBM interrupts.
unsigned int LIM_gbm_handle_bulk (LIM_Gbm *object_p, LIM_Grb_State grb_state, int *int_occur_p)
 Handle a message on the BULK queue.
unsigned int LIM_gbm_handle_grb_idle (LIM_Gbm *object_p)
 Handle a transition to the GRB-Idle state.
int LIM_gbm_calcinfo_fcode (void)
 Return the function code of the GBM-Calcinfo command.
unsigned int LIM_gbm_sizeof_calcinfo (void)
 Return the size of a GBM-Calcinfo command.
unsigned int LIM_gbm_handle_calcinfo (LIM_Gbm *object_p, const ITC_QueueItem *qitem_p, int forward_ok, int *is_valid_p)
 Handle a GBM-Calcinfo command.
int LIM_gbm_closeout_fcode (void)
 Return the function code of the GBM-Closeout command.
unsigned int LIM_gbm_sizeof_closeout (void)
 Return the size of a GBM-Closeout command.
unsigned int LIM_gbm_handle_closeout (LIM_Gbm *object_p, const ITC_QueueItem *qitem_p, int forward_ok, int *is_valid_p)
 Handle a GBM-Closeout command.
int LIM_gbm_repoint_fcode (void)
 Return the function code of the GBM-Repoint command.
unsigned int LIM_gbm_sizeof_repoint (void)
 Return the size of a GBM-Repoint command.
unsigned int LIM_gbm_handle_repoint (LIM_Gbm *object_p, const ITC_QueueItem *qitem_p, int forward_ok, int slew_req_ok, int *is_valid_p)
 Handle a GBM-Repoint command.


Detailed Description

Interface to the functions found in LIM_gbm.c.

**  CVS $Id: LIM_gbm.h,v 1.6 2011/03/29 21:20:28 apw Exp $
**  

Function Documentation

int LIM_gbm_calcinfo_fcode ( void   ) 

Return the function code of the GBM-Calcinfo command.

Returns:
GBM-Calcinfo command function code.

Referenced by LIM_capture_physics_with_db().

unsigned int LIM_gbm_change_pri_int_allowed ( LIM_Gbm object_p,
int  new_value,
LIM_Task task_p 
)

Change the value of the pri_int_allowed flag.

Parameters:
object_p Pointer to GBM interface object.
new_value New flag value.
task_p Pointer to task control object.
Returns:
MSG code.

References _LIM_Gbm::action_p, _LIM_Gbm::gbm_reset, LIM_ACTION_GBM_STATE_CHANGE, LIM_action_report(), lim_gbm_check(), LIM_gbm_int_pri_isr(), LIM_K_GBM_RESET_FORMAT_0, LIM_task_lock_access(), LIM_task_unlock_access(), _LIM_Gbm_Reset::pri_int_allowed, _LIM_Gbm::pri_int_allowed, _LIM_Gbm::pri_int_enabled, and _LIM_Gbm::trd.

Referenced by lim_mode_config_gbm().

unsigned int LIM_gbm_change_red_int_allowed ( LIM_Gbm object_p,
int  new_value,
LIM_Task task_p 
)

Change the value of the red_int_allowed flag.

Parameters:
object_p Pointer to GBM interface object.
new_value New flag value.
task_p Pointer to task control object.
Returns:
MSG code.

References _LIM_Gbm::action_p, _LIM_Gbm::gbm_reset, LIM_ACTION_GBM_STATE_CHANGE, LIM_action_report(), lim_gbm_check(), LIM_gbm_int_red_isr(), LIM_K_GBM_RESET_FORMAT_0, LIM_task_lock_access(), LIM_task_unlock_access(), _LIM_Gbm_Reset::red_int_allowed, _LIM_Gbm::red_int_allowed, _LIM_Gbm::red_int_enabled, and _LIM_Gbm::trd.

Referenced by lim_mode_config_gbm().

unsigned int LIM_gbm_change_rep_allowed ( LIM_Gbm object_p,
int  new_value,
LIM_Task task_p 
)

Change the value of the GBM-Repoint-Allowed flag.

Parameters:
object_p Pointer to GBM interface object.
new_value New flag value.
task_p Pointer to task control object.
Returns:
MSG code.

References _LIM_Gbm::action_p, _LIM_Gbm::gbm_reset, LIM_ACTION_GBM_STATE_CHANGE, LIM_action_report(), lim_gbm_check(), LIM_K_GBM_RESET_FORMAT_0, LIM_task_lock_access(), LIM_task_unlock_access(), _LIM_Gbm::rep_allowed, _LIM_Gbm_Reset::rep_req_allowed, and _LIM_Gbm::trd.

Referenced by lim_mode_config_gbm().

int LIM_gbm_closeout_fcode ( void   ) 

Return the function code of the GBM-Closeout command.

Returns:
GBM-Closeout command function code.

Referenced by LIM_capture_physics_with_db().

unsigned int LIM_gbm_configure_interrupts ( LIM_Gbm object_p  ) 

unsigned int LIM_gbm_delete ( LIM_Gbm object_p  ) 

Shutdown and delete a GBM interface object.

Parameters:
object_p Pointer to object.
Returns:
MSG code.

References _LIM_Gbm::key, and lim_gbm_check().

Referenced by LIM_gbm_new(), and LIM_mode_delete().

unsigned int LIM_gbm_enable_interrupts ( LIM_Gbm object_p  ) 

Enable the GBM interrupts.

Parameters:
object_p Pointer to GBM interface object.
Returns:
MSG code.

References _LIM_Gbm::action_p, _LIM_Gbm::gbm_int_configured, lim_gbm_check(), LIM_pid_int_enable_gbm(), _LIM_Gbm::pri_int_allowed, _LIM_Gbm::pri_int_enabled, _LIM_Gbm::red_int_allowed, and _LIM_Gbm::red_int_enabled.

Referenced by LIM_gbm_handle_grb_idle().

unsigned int LIM_gbm_get_info ( LIM_Gbm object_p,
LIM_Info info_p 
)

Return GBM interface information.

Parameters:
object_p Pointer to GBM interface object.
info_p Location to return GBM interface information (must not be NULL).
Returns:
MSG code.

References _LIM_Info::gbm_pri_int_allowed, _LIM_Info::gbm_red_int_allowed, _LIM_Info::gbm_rep_allowed, lim_gbm_check(), _LIM_Gbm::pri_int_allowed, _LIM_Gbm::red_int_allowed, and _LIM_Gbm::rep_allowed.

Referenced by LIM_mode_get_info().

unsigned int LIM_gbm_handle_bulk ( LIM_Gbm object_p,
LIM_Grb_State  grb_state,
int *  int_occur_p 
)

Handle a message on the BULK queue.

Parameters:
object_p Pointer to GBM interface object.
grb_state Current GRB state.
int_occur_p Location to return interrupt status.
Returns:
MSG code.

References _LIM_Gbm::action_p, LIM_ACTION_GBM_INT_PRI, LIM_ACTION_GBM_INT_RED, LIM_action_report(), lim_gbm_check(), LIM_GRB_STATE_IDLE, _LIM_Gbm::pri_int, and _LIM_Gbm::red_int.

Referenced by LIM_arr_handle_bulk().

unsigned int LIM_gbm_handle_calcinfo ( LIM_Gbm object_p,
const ITC_QueueItem *  qitem_p,
int  forward_ok,
int *  is_valid_p 
)

Handle a GBM-Calcinfo command.

Parameters:
object_p Pointer to GBM interface object.
qitem_p Pointer to queue item containing the command.
forward_ok Flag indicating that command can be forwarded to LPA.
is_valid_p Location to return validity indication.
Returns:
MSG code.

References _LIM_Gbm::action_p, _LIM_Gbm::calcinfo_p, LIM_ACTION_RCV_GBM_CALCINFO, LIM_action_report(), lim_gbm_check(), lim_gbm_id_check(), LIM_lpa_fwd_gbm_cmd(), and _LIM_Gbm::lpa_p.

Referenced by LIM_arr_handle_calcinfo().

unsigned int LIM_gbm_handle_closeout ( LIM_Gbm object_p,
const ITC_QueueItem *  qitem_p,
int  forward_ok,
int *  is_valid_p 
)

Handle a GBM-Closeout command.

Parameters:
object_p Pointer to GBM interface object.
qitem_p Pointer to queue item containing the command.
forward_ok Flag indicating that command can be forwarded to LPA.
is_valid_p Location to return validity indication.
Returns:
MSG code.

References _LIM_Gbm::action_p, _LIM_Gbm::closeout_p, LIM_ACTION_RCV_GBM_CLOSEOUT, LIM_action_report(), lim_gbm_check(), LIM_lpa_fwd_gbm_cmd(), and _LIM_Gbm::lpa_p.

Referenced by LIM_arr_handle_closeout().

unsigned int LIM_gbm_handle_grb_idle ( LIM_Gbm object_p  ) 

Handle a transition to the GRB-Idle state.

Parameters:
object_p Pointer to GBM interface object.
Returns:
MSG code.

References _LIM_Gbm::id_valid, lim_gbm_check(), and LIM_gbm_enable_interrupts().

Referenced by lim_arr_set_grb_idle().

unsigned int LIM_gbm_handle_repoint ( LIM_Gbm object_p,
const ITC_QueueItem *  qitem_p,
int  forward_ok,
int  slew_req_ok,
int *  is_valid_p 
)

Handle a GBM-Repoint command.

Parameters:
object_p Pointer to GBM interface object.
qitem_p Pointer to queue item containing the command.
forward_ok Flag indicating that cmd can be forwarded to LPA.
slew_req_ok Flag indicating that slew-req can be sent to S/C.
is_valid_p Location to return validity indication.
Returns:
MSG code.

References _LIM_Gbm::action_p, LIM_ACTION_RCV_GBM_REP_NOREC, LIM_ACTION_RCV_GBM_REP_REC, LIM_action_report(), LIM_ACTION_SEND_SLEW_REQ, lim_gbm_check(), lim_gbm_id_check(), LIM_lpa_fwd_gbm_cmd(), LIM_sc_send_slew_request(), _LIM_Gbm::lpa_p, _LIM_Gbm::rep_allowed, _LIM_Gbm::repoint_dwell, _LIM_Gbm::repoint_p, and _LIM_Gbm::sc_p.

Referenced by LIM_arr_handle_repoint().

unsigned int LIM_gbm_new ( LIM_Gbm **  object_pp,
LIM_Action action_p,
LIM_Lpa lpa_p,
LIM_Sc sc_p,
LIM_Bulk bulk_p,
LIM_Pkt_Send calcinfo_p,
LIM_Pkt_Send closeout_p,
LIM_Pkt_Send repoint_p,
const LIM_DB_Schema *  db_p 
)

Create and initialize a new GBM interface object.

Parameters:
object_pp Location to return pointer to new object.
action_p Pointer to an action reporting object.
lpa_p Pointer to an LPA interface object.
sc_p Pointer to a spacecraft interface object.
bulk_p Pointer to a BULK queue object.
calcinfo_p Pointer to pkt sending object for GBM-Calcinfo cmd.
closeout_p Pointer to pkt sending object for GBM-Closeout cmd.
repoint_p Pointer to pkt sending object for GBM-Repoint cmd.
db_p Pointer to configuration information.
Returns:
MSG code.

References _LIM_Gbm::action_p, _LIM_Gbm::bulk_p, _LIM_Gbm::calcinfo_p, _LIM_Gbm::closeout_p, _LIM_Gbm::gbm_reset, _LIM_Gbm::id_valid, _LIM_Gbm::key, LIM_gbm_delete(), LIM_gbm_int_pri_isr(), LIM_gbm_int_red_isr(), LIM_GBM_VALID_KEY, LIM_K_GBM_RESET_FORMAT_0, LIM_pid_int_connect_gbm(), _LIM_Gbm::lpa_p, _LIM_Gbm::pri_int, _LIM_Gbm_Reset::pri_int_allowed, _LIM_Gbm::pri_int_allowed, _LIM_Gbm::red_int, _LIM_Gbm_Reset::red_int_allowed, _LIM_Gbm::red_int_allowed, _LIM_Gbm::rep_allowed, _LIM_Gbm_Reset::rep_req_allowed, _LIM_Gbm::repoint_dwell, _LIM_Gbm::repoint_p, _LIM_Gbm::sc_p, and _LIM_Gbm::trd.

Referenced by LIM_mode_new().

int LIM_gbm_repoint_fcode ( void   ) 

Return the function code of the GBM-Repoint command.

Returns:
GBM-Repoint command function code.

Referenced by LIM_capture_physics_with_db().

unsigned int LIM_gbm_sizeof_calcinfo ( void   ) 

Return the size of a GBM-Calcinfo command.

Returns:
GBM-Calcinfo command size, in bytes.

Referenced by LIM_mode_handle_gbm_calcinfo().

unsigned int LIM_gbm_sizeof_closeout ( void   ) 

Return the size of a GBM-Closeout command.

Returns:
GBM-Closeout command size, in bytes.

Referenced by LIM_mode_handle_gbm_closeout().

unsigned int LIM_gbm_sizeof_repoint ( void   ) 

Return the size of a GBM-Repoint command.

Returns:
GBM-Repoint command size, in bytes.

Referenced by LIM_mode_handle_gbm_repoint().


Generated on Wed Nov 21 21:17:39 2012 by  doxygen 1.5.8