GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > CTDB / V5-5-1

Constituent: vsbc_bc_pmc1553     Tag: mv2304


Interface   Data Structures   File List   Data Fields   Globals  

VSBC_bc_core.c File Reference

Primary Summit device interface functions. More...

#include "vxWorks.h"
#include "sysLib.h"
#include "CTDB/VSBC_bc.h"
#include "CTDB/CO1553_util.h"
#include "CTDB/CO1553_bc.h"
#include "PBS/LI.h"
#include "PBS/FPA.h"
#include "PBS/FORK.h"
#include "PBS/TASK.h"
#include "PBS/MBA.h"
#include "PBS/WUT.h"
#include "PBS/TOV.h"
#include "PBS/RW.h"
#include "MSG/MSG_pubdefs.h"
#include "SUMT_private.h"
#include "VSBC_bc_private.h"
#include "VSBC_bc_board.h"

Include dependency graph for VSBC_bc_core.c:

Include dependency graph

Defines

#define MEM_ALLOC(_size)   MBA_alloc((_size))
#define MEM_FREE(_mem)   MBA_free((_mem))
#define VSBC_CONTROL_MASK

Functions

unsigned int VSBC_bcConfigure (VSBC_BC *bc, const VSBC_BC_Bus_Config *busConfig)
int VSBC_bcTask (VSBC_BC *bc, FORK_msg_sys *msg)
void VSBC_bcTerminate (VSBC_BC *bc)
VSBC_BCVSBC_bcGet (void)
 Get a pointer to the bus controller driver static descriptor.

unsigned int VSBC_bcInit (VSBC_BC *bc, const VSBC_BC_Bus_Config *busConfig, const VSBC_BC_Pkt_Config *pktConfig, const VSBC_BC_Callback_Config *cbConfig, const VSBC_BC_Task_Config *taskConfig)
 Intialize a bus controller driver and 1553 device hardware.

unsigned int VSBC_bcExit (VSBC_BC *bc)
 Shutdown a bus controller driver and 1553 device hardware.

unsigned int VSBC_bcStart (VSBC_BC *bc)
 Start the bus controller processing 1553 bus commands.

unsigned int VSBC_bcStop (VSBC_BC *bc)
unsigned int VSBC_bcSyncCmdSet (VSBC_BC *bc, VSBC_BC_Sync_Cmd_Handler *syncHandler, void *syncArg)
 Change the sync telecommand application callback.

unsigned int VSBC_bcSyncCmdGet (VSBC_BC *bc, VSBC_BC_Sync_Cmd_Handler **syncHandler, void **syncArg)
 Get current sync telecommand application callback information.

unsigned int VSBC_bcBusSwitch (VSBC_BC *bc, VSBC_BC_Bus_Side side)
 Switch primary bus side.


Variables

VSBC_BC bcDesc
CO1553_BC_Telem telemDesc
CO1553_BC_Cmd_Rx cmdRxDesc
CO1553_BC_Cmd_Tx cmdTxDesc

Detailed Description

Primary Summit device interface functions.

Author:
D.L. Wood

Functions to handle initialization and control of the Summit bus cotroller.


Define Documentation

#define MEM_ALLOC _size   )     MBA_alloc((_size))
 

Helper macro to call user defined memory allocator.

Parameters:
_size The size in bytes of memory to allocate.
Returns:
A pointer to the memory, or NULL on error.

#define MEM_FREE _mem   )     MBA_free((_mem))
 

Helper macro to call user defined memory allocator.

Parameters:
_mem A pointer to the memory to free.

#define VSBC_CONTROL_MASK
 

Value:

Bit mask for setting BC command block control word values.


Function Documentation

unsigned int VSBC_bcBusSwitch VSBC_BC bc,
VSBC_BC_Bus_Side  side
 

Switch primary bus side.

Switches the 1553 primary bus to the value requested by the side parameter.

Parameters:
bc A device descriptor.
side VSBC_BC_BUS_SIDE_A = make bus A primary VSBC_BC_BUS_SIDE_B = make bus B primary
Returns:
A CTDB MSG code.

unsigned int VSBC_bcConfigure VSBC_BC bc,
const VSBC_BC_Bus_Config config
[static]
 

Performs the work necessary to configure the BCRTM bus controller device. A BC command block structure list is layed out in the device shared memory with an end-of-list marker on the last command . Each bus command is given a data buffer large enough to hold one 1553 message. Shared memory space is also reserved for the BCRTM event interrupt log. Information about the bus command list in use is cached in the bc structure.

Parameters:
bc A device descriptor.
config A 1553 bus configuration structure.
Returns:
A CTDB MSG code.

Here is the call graph for this function:

unsigned int VSBC_bcExit VSBC_BC bc  ) 
 

Shutdown a bus controller driver and 1553 device hardware.

Stops the bus contoller from sending 1553 bus commands and releases system resources claimed by the driver. The bus contoller event service task will be deleted.

Parameters:
bc A device descriptor.
Returns:
A CTDB MSG code.

VSBC_BC* VSBC_bcGet void   ) 
 

Get a pointer to the bus controller driver static descriptor.

Returns a pointer to a static instance of the driver descriptor. This pointer may be passed in as the first paramter to all of the other driver functions. VSBC_bcInit() must be called before use.

Returns:
A pointer to the BC driver descriptor.

unsigned int VSBC_bcInit VSBC_BC bc,
const VSBC_BC_Bus_Config busConfig,
const VSBC_BC_Pkt_Config pktConfig,
const VSBC_BC_Callback_Config cbConfig,
const VSBC_BC_Task_Config taskConfig
 

Intialize a bus controller driver and 1553 device hardware.

Intializes the Summit bus controller device descriptor and device hardware. The device and associated software structures are configured according to the contents of the busConfig, boardConfig, pktConfig, and cbConfig structures.

Parameters:
bc An uninitialized device descriptor.
busConfig The configuration values for the 1553 bus schedule.
pktConfig The configuration values for the application packet interface.
cbConfig The configuration values for the sychronous callback handlers.
taskConfig The configuration values for the BC service task.
Returns:
A CTDB MSG code.

Here is the call graph for this function:

unsigned int VSBC_bcStart VSBC_BC bc  ) 
 

Start the bus controller processing 1553 bus commands.

Starts the bus controller processing bus commands to send to the remote terminal. A 40 millisecond second frame timer is also started, so that once the current list of bus commands is processed, the BCRTM device is restarted the next frame tick with a new command list.

Parameters:
bc A device descriptor.
Returns:
A CTDB MSG code.

Here is the call graph for this function:

unsigned int VSBC_bcStop VSBC_BC bc  ) 
 

Stops the bus controller from sending 1553 bus commands. In actuallity, the device is not stopped immediately, but simply will not be restarted for the next one second frame.

Parameters:
bc A device descriptor.
Returns:
A CTDB MSG code.

unsigned int VSBC_bcSyncCmdGet VSBC_BC bc,
VSBC_BC_Sync_Cmd_Handler **  syncHandler,
void **  syncArg
 

Get current sync telecommand application callback information.

Retrieves the synchronous telecommand application callback function and arguments current values.

Parameters:
bc A device descriptor.
syncHandler Stores the pointer to the application telecommand function.
syncArg Stores user argument for syncHandler.
Returns:
A CTDB MSG code.

unsigned int VSBC_bcSyncCmdSet VSBC_BC bc,
VSBC_BC_Sync_Cmd_Handler syncHandler,
void *  syncArg
 

Change the sync telecommand application callback.

Changes the synchronous telecommand application callback function and arguments to new values. The old values, set either in VSBC_bcInit() or in the last call to this function, are replaced.

Parameters:
bc A device descriptor.
syncHandler The synchronous callback to handle insertion of synchronous telecommand packets into the bus slots.
syncArg A user argument for syncHandler.
Returns:
A CTDB MSG code.

int VSBC_bcTask VSBC_BC bc,
FORK_msg_sys *  msg
[static]
 

The bus controller event service task. This task listens for new interrupt descriptor messages placed on a queue by VSBC_bcIntr(). The interrupt event information is parsed to determine the appropriate action. If the interrupt event is an error, then the user error callback is invoked. Otherwise, if the event is a data message transmit or receive, the VSBC_bcMsg() function is called to further process the event.

Parameters:
bc A device descriptor.
msg A pointer to the event message.
Returns:
FORK_C_CONTINUE

Here is the call graph for this function:

void VSBC_bcTerminate VSBC_BC bc  )  [static]
 

Stops the bus controller event service loop and returns all resources claimed by the driver.

Parameters:
bc A device descriptor.

Here is the call graph for this function:


Variable Documentation

bcDesc [static]
 

An instance of the driver descriptor; used for VSBC_bcGet().

cmdRxDesc [static]
 

An instance of the telecommand receive interface descriptor.

cmdTxDesc [static]
 

An instance of the telecommand transmit interface descriptor.

telemDesc [static]
 

An instance of the telemetry interface descriptor.


Generated on Thu Sep 15 21:12:45 2005 by doxygen 1.3.3