GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> CTDB / V5-5-6 > co1553_rt_sim / sun-gcc


Interface   Data Structures   File List   Data Fields   Globals  

CTDB_rt.h File Reference

1553 Remote Terminal Interface More...

#include <CTDB/CTDB_msg.h>
#include <PBS/TOC.h>

Classes

struct  _CTDB_RT_Diag

Typedefs

typedef enum _CTDB_RT_Priority CTDB_RT_Priority
typedef void CTDB_RT_Pkt_Free (void *pkt, void *arg)
typedef unsigned int CTDB_RT_Hkp_Handler (void *buf, void *arg)
typedef struct _CTDB_RT_Diag CTDB_RT_Diag

Enumerations

enum  _CTDB_RT_Priority {
  CTDB_RT_PRIORITY_LOW = 0,
  CTDB_RT_PRIORITY_HIGH = 1
}

Functions

Control Functions


unsigned int CTDB_rtSizeof (void)
 Get the size of a remote terminal interface descriptor.
void * CTDB_rtGet (void)
 Get a pointer to the remote terminal interface static descriptor.
unsigned int CTDB_rtExit (void *rt)
 Shutdown a 1553 remote terminal interface.
unsigned int CTDB_rtStart (void *rt)
 Start the remote terminal listening for 1553 bus commands.
unsigned int CTDB_rtStop (void *rt)
 Stop the remote terminal listening for 1553 bus commands.
unsigned int CTDB_rtHkpSet (void *rt, CTDB_RT_Hkp_Handler *hkpHandler, void *hkpArg)
 Change the HKP application callback.
unsigned int CTDB_rtHkpGet (void *rt, CTDB_RT_Hkp_Handler **hkpHandler, void **hkpArg)
 Get current HKP application callback information.
Packet Queue Functions


unsigned int CTDB_rtPktTelemSend (void *rt, void *pkt, CTDB_RT_Pkt_Free *freeHandler, void *freeArg, CTDB_RT_Priority priority, const TOC *timeout)
 Send a CCSDS telemetry packet.
unsigned int CTDB_rtPktCmdTxSend (void *rt, void *pkt, CTDB_RT_Pkt_Free *freeHandler, void *freeArg, const TOC *timeout)
 Send a CCSDS telecommand transmit packet.
unsigned int CTDB_rtPktCmdRxRecv (void *rt, void **pkt, const TOC *timeout)
 Receive a CCSDS telecommand receive packet.
unsigned int CTDB_rtPktCmdRxFree (void *rt, void *pkt)
 Free a CCSDS telecommand receive packet buffer.
Diagnostics Functions


unsigned int CTDB_rtDiagGet (void *rt, CTDB_RT_Diag *diag)
 Read the diagnostics information.
unsigned int CTDB_rtDiagClear (void *rt)
 Clear the diagnostics information.


Detailed Description

1553 Remote Terminal Interface

Author:
D.L. Wood
This library contains functions that serve as wrappers for the various LAT 1553 implementations. Allows higher level code to be implementation independent, except for the initialization functions. Also note that the actual hardware drivers can return device specific error codes. These specific error codes are not covered by this interface.

Typedef Documentation

The typedef for _CTDB_RT_Diag.

The format of the real-time housekeeping remote terminal callback. The user provides this function so that the HKP data packet may be inserted into the 1553 frame. The user should copy the HKP packet, with properly formatted CCSDS header, into the buf memory.

        unsigned int SUMT_RT_Hkp_Handler(void *buf, void *arg)

Parameters:
buf A driver buffer to accept the HKP packet contents.
arg A user supplied argument.
Returns:
CTDB_SUCCESS if successful; other code if HKP packet not inserted.

The definition of a packet buffer memory free callback function. These callbacks are employeed when users are sending packets on a transmit queue. The packet memory is borrowed while the packet is on the queue. When the packet contents have been transmitted, the free handler is called with a user supplied argument.

        void CTDB_RT_Pkt_Free(void *pkt, void *arg)

Parameters:
pkt A pointer to the packet buffer to release.
arg The user defined argument.

The typedef for _CTDB_RT_Priority.


Enumeration Type Documentation

Values to indicate packet priority.

Enumerator:
CTDB_RT_PRIORITY_LOW  A priority value to indicate low priority.
CTDB_RT_PRIORITY_HIGH  A priority value to indicate high priority.


Function Documentation

unsigned int CTDB_rtDiagClear ( void *  rt  ) 

Clear the diagnostics information.

Sets to zero the current diagnostics counter values.

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

unsigned int CTDB_rtDiagGet ( void *  rt,
CTDB_RT_Diag diag 
)

Read the diagnostics information.

Places the current diagnostics counter values into diag.

Parameters:
rt A device descriptor.
diag Contains diagnostics info upon return.
Returns:
A CTDB MSG code.

unsigned int CTDB_rtExit ( void *  rt  ) 

Shutdown a 1553 remote terminal interface.

Disconnects the remote terminal and releases system resources.

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

References CO1553_rtSimExit().

void* CTDB_rtGet ( void   ) 

Get a pointer to the remote terminal interface static descriptor.

Returns a pointer to a static instance of the interface descriptor. This pointer may be passed in as the first paramter to all of the other interface functions. The device-specific intialization function must be called before use.

Returns:
A pointer to the RT interface descriptor.

References CO1553_rtSimGet().

unsigned int CTDB_rtHkpGet ( void *  rt,
CTDB_RT_Hkp_Handler **  hkpHandler,
void **  hkpArg 
)

Get current HKP application callback information.

Retrieves the HKP application callback function and arguments current values.

Parameters:
rt A device descriptor.
hkpHandler Stores the pointer to the application HKP function.
hkpArg Stores user argument for hkpHandler.
Returns:
A CTDB MSG code.

References CO1553_rtSimHkpGet().

unsigned int CTDB_rtHkpSet ( void *  rt,
CTDB_RT_Hkp_Handler hkpHandler,
void *  hkpArg 
)

Change the HKP application callback.

Changes the HKP application callback function and arguments to new values.

Parameters:
rt A device descriptor.
hkpHandler The synchronous callback to handle insertion of HKP telemety packets into the telemetry blocks.
hkpArg A user argument for hkpHandler.
Returns:
A CTDB MSG code.

References CO1553_rtSimHkpSet().

unsigned int CTDB_rtPktCmdRxFree ( void *  rt,
void *  pkt 
)

Free a CCSDS telecommand receive packet buffer.

Returns a CCSDS telecommand input packet buffer to the interface.

Parameters:
rt A device descriptor.
pkt A pointer to the packet buffer to free.
Returns:
A CTDB MSG code.

References CO1553_rtSimPktCmdRxFree().

unsigned int CTDB_rtPktCmdRxRecv ( void *  rt,
void **  pkt,
const TOC *  timeout 
)

Receive a CCSDS telecommand receive packet.

Waits for a new CCSDS telecommand receive packet on the remote terminal input queue. The function will place a pointer to the new packet buffer in pkt.

Parameters:
rt A device descriptor.
pkt Holds a pointer to the telecommand packet.
timeout The time to wait for a packet on the queue. This value is ignored for the simulator implementation.
Returns:
A CTDB MSG code.

References CO1553_rtSimPktCmdRxRecv().

unsigned int CTDB_rtPktCmdTxSend ( void *  rt,
void *  pkt,
CTDB_RT_Pkt_Free freeHandler,
void *  freeArg,
const TOC *  timeout 
)

Send a CCSDS telecommand transmit packet.

Places a CCSDS telecommand packet on the remote terminal output queue. The packet will be sent when bandwidth becomes available.

Parameters:
rt A device descriptor.
pkt A pointer to the packet to send. The packet buffer should start with a properly formatted CCSDS packet header.
freeHandler The function to be called after the packet has been sent.
freeArg A user argument to be passed to the freeHandler function.
timeout The time to wait for a packet on the queue. This value is ignored for the simulator implementation.
Returns:
A CTDB MSG code.

References CO1553_rtSimPktCmdTxSend().

unsigned int CTDB_rtPktTelemSend ( void *  rt,
void *  pkt,
CTDB_RT_Pkt_Free freeHandler,
void *  freeArg,
CTDB_RT_Priority  priority,
const TOC *  timeout 
)

Send a CCSDS telemetry packet.

Places a CCSDS telemetry packet on the remote terminal output queue. The packet will be sent when bandwidth becomes available.

Parameters:
rt A device descriptor.
pkt A pointer to the packet to send. The packet buffer should start with a properly formatted CCSDS packet header.
freeHandler The function to be called after the packet has been sent.
freeArg A user argument to be passed to the freeHandler function.
priority The priority of the packet: CTDB_RT_PRIORITY_HIGH or CTDB_RT_PRIORITY_LOW.
timeout The time to wait for a packet on the queue. This value is ignored for the simulator implementation.
Returns:
A CTDB MSG code.

References CO1553_rtSimPktTelemSend().

unsigned int CTDB_rtSizeof ( void   ) 

Get the size of a remote terminal interface descriptor.

Returns the size of a remote terminal descriptor.

This function is obsolete. Use CTDB_rtGet() to provide an instance of the simulator descriptor instead.

Returns:
The size in bytes of the descriptor.

References CO1553_rtSimSizeof().

unsigned int CTDB_rtStart ( void *  rt  ) 

Start the remote terminal listening for 1553 bus commands.

Starts the remote terminal listening on the 1553 bus for commands from the bus controller.

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

References CO1553_rtSimStart().

unsigned int CTDB_rtStop ( void *  rt  ) 

Stop the remote terminal listening for 1553 bus commands.

Stops the remote terminal from listening on the 1553 bus for commands from the bus controller.

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

References CO1553_rtSimStop().


Generated on Wed Nov 21 19:58:25 2012 by  doxygen 1.5.8