GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> CTDB / V5-5-5 > co1553_rt_sim / rhel5-64


Interface   Data Structures   File List   Data Fields   Globals  

CO1553_rt_sim.h File Reference

1553 Remote Terminal Simulator. More...

#include <CTDB/CTDB_msg.h>

Classes

struct  _CO1553_RT_Sim_Config

Typedefs

typedef struct _CO1553_RT_Sim CO1553_RT_Sim
typedef struct
_CO1553_RT_Sim_Config 
CO1553_RT_Sim_Config

Functions

Simulator Control Functions


unsigned int CO1553_rtSimSizeof (void)
 Get the size of a remote terminal simulator descriptor.
CO1553_RT_SimCO1553_rtSimGet (void)
 Get a pointer to the remote terminal simulator static descriptor.
unsigned int CO1553_rtSimInit (CO1553_RT_Sim *rt, const CO1553_RT_Sim_Config *simConfig)
 Intialize a 1553 remote terminal simulator.
unsigned int CO1553_rtSimExit (CO1553_RT_Sim *rt)
 Shutdown a 1553 remote terminal simulator.
unsigned int CO1553_rtSimStart (CO1553_RT_Sim *rt)
 Start the remote terminal simulator listening for 1553 bus commands.
unsigned int CO1553_rtSimStop (CO1553_RT_Sim *rt)
 Stop the remote terminal simulator listening for 1553 bus commands.
unsigned int CO1553_rtSimHkpSet (CO1553_RT_Sim *rt, void *hkpHandler, void *hkpArg)
 Change the HKP application callback.
unsigned int CO1553_rtSimHkpGet (CO1553_RT_Sim *rt, void **hkpHandler, void **hkpArg)
 Get current HKP application callback information.
Packet Queue Functions


unsigned int CO1553_rtSimPktTelemSend (CO1553_RT_Sim *rt, void *pkt)
 Send a CCSDS telemetry packet.
unsigned int CO1553_rtSimPktCmdTxSend (CO1553_RT_Sim *rt, void *pkt)
 Send a CCSDS telecommand transmit packet.
unsigned int CO1553_rtSimPktCmdRxRecv (CO1553_RT_Sim *rt, void **pkt)
 Receive a CCSDS telecommand receive packet.
unsigned int CO1553_rtSimPktCmdRxFree (CO1553_RT_Sim *rt, void *pkt)
 Free a CCSDS telecommand receive packet buffer.


Detailed Description

1553 Remote Terminal Simulator.

Author:
D.L. Wood
This simulator provides a UNIX compatable environment for command and telemetry. TCP/IP sockets are used to simulate the various 1553 subaddress types.

The recognized subaddress types are shown below,

Subaddress Direction Description
Command Receive (CmdRx) Receive (BC->RT) Telecommand input
Command Transmit(CmdTx) Transmit (RT->BC) Telecommand output
Telemetry (Telem) Transmit (RT->BC) Low rate telemetry

The remote terminal simulator acts as the TCP servers. Once started, it waits for connections from the bus controller simulator, which acts as a TCP client. Only one bus controller simulator may connect to the remote terminal simulator at a given time.


Typedef Documentation

Remote terminal simulator descriptor.

The typedef for _CO1553_RT_Sim_Config.


Function Documentation

unsigned int CO1553_rtSimExit ( CO1553_RT_Sim rt  ) 

Shutdown a 1553 remote terminal simulator.

Disconnects the bus controller simulator and releases system resources claimed by the simulator.

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

References _CO1553_RT_Sim::check, _CO1553_RT_Sim::cmd_rx_fpa, _CO1553_RT_Sim::cmd_rx_pool, _CO1553_RT_Sim::cmd_rx_sock_listen, _CO1553_RT_Sim::cmd_tx_sock_listen, CO1553_rtSimStop(), _CO1553_RT_Sim::hkp_lock, and _CO1553_RT_Sim::telem_sock_listen.

Referenced by CTDB_rtExit().

CO1553_RT_Sim* CO1553_rtSimGet ( void   ) 

Get a pointer to the remote terminal simulator static descriptor.

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

Returns:
A pointer to the RT simulator descriptor.

Referenced by CTDB_rtGet().

unsigned int CO1553_rtSimHkpGet ( CO1553_RT_Sim rt,
void **  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_RT_Sim::check, _CO1553_RT_Sim::hkp_arg, _CO1553_RT_Sim::hkp_handler, and _CO1553_RT_Sim::hkp_lock.

Referenced by CTDB_rtHkpGet().

unsigned int CO1553_rtSimHkpSet ( CO1553_RT_Sim rt,
void *  hkpHandler,
void *  hkpArg 
)

Change the HKP application callback.

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

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

References _CO1553_RT_Sim::check, _CO1553_RT_Sim::hkp_arg, _CO1553_RT_Sim::hkp_handler, and _CO1553_RT_Sim::hkp_lock.

Referenced by CTDB_rtHkpSet().

unsigned int CO1553_rtSimInit ( CO1553_RT_Sim rt,
const CO1553_RT_Sim_Config simConfig 
)

unsigned int CO1553_rtSimPktCmdRxFree ( CO1553_RT_Sim rt,
void *  pkt 
)

Free a CCSDS telecommand receive packet buffer.

Returns a telecommand receive packet buffer to the simulator.

Parameters:
rt A device descriptor.
pkt The telecommand packet buffer.
Returns:
A CTDB MSG code.

References _CO1553_RT_Sim::check, _CO1553_RT_Sim::cmd_rx_fpa, _CO1553_RT_Sim_Config::cmd_rx_user_size, and _CO1553_RT_Sim::sim_config.

Referenced by CTDB_rtPktCmdRxFree().

unsigned int CO1553_rtSimPktCmdRxRecv ( CO1553_RT_Sim rt,
void **  pkt 
)

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 in pkt. Call CO1553_rtSimPktCmdRxFree() to return the packet buffer to the simulator.

Parameters:
rt A device descriptor.
pkt Holds a pointer to the received telecommand packet buffer.
Returns:
A CTDB MSG code.

References _CO1553_RT_Sim::check, _CO1553_RT_Sim::cmd_rx_fpa, _CO1553_RT_Sim_Config::cmd_rx_pkt_size, _CO1553_RT_Sim::cmd_rx_sock_data, _CO1553_RT_Sim_Config::cmd_rx_user_size, CO1553_MSG_SIZE, CO1553_rtSimSockRead(), _CO1553_RT_Sim::hdr_size_cmd, and _CO1553_RT_Sim::sim_config.

Referenced by CTDB_rtPktCmdRxRecv().

unsigned int CO1553_rtSimPktCmdTxSend ( CO1553_RT_Sim rt,
void *  pkt 
)

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 simultator descriptor.
pkt A pointer to the packet to send. The packet buffer should start with a properly formatted CCSDS packet header.
Returns:
A CTDB MSG code.

References _CO1553_RT_Sim::check, _CO1553_RT_Sim_Config::cmd_tx_pkt_size, _CO1553_RT_Sim::cmd_tx_sock_data, CO1553_MSG_SIZE, CO1553_rtSimSockWrite(), _CO1553_RT_Sim::hdr_size_cmd, and _CO1553_RT_Sim::sim_config.

Referenced by CTDB_rtPktCmdTxSend().

unsigned int CO1553_rtSimPktTelemSend ( CO1553_RT_Sim rt,
void *  pkt 
)

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 simultator descriptor.
pkt A pointer to the packet to send. The packet buffer should start with a properly formatted CCSDS packet header.
Returns:
A CTDB MSG code.

References _CO1553_RT_Sim::check, CO1553_MSG_SIZE, CO1553_rtSimSockWrite(), _CO1553_RT_Sim::hdr_size_telem, _CO1553_RT_Sim::sim_config, _CO1553_RT_Sim_Config::telem_pkt_size, and _CO1553_RT_Sim::telem_sock_data.

Referenced by CTDB_rtPktTelemSend().

unsigned int CO1553_rtSimSizeof ( void   ) 

Get the size of a remote terminal simulator descriptor.

Returns the size of a Summit remote terminal simulator descriptor. The user is responsible for allocating this memory before calling SUMT_rtSimInit().

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

Returns:
The size in bytes of the simulator descriptor.

Referenced by CTDB_rtSizeof().

unsigned int CO1553_rtSimStart ( CO1553_RT_Sim rt  ) 

Start the remote terminal simulator listening for 1553 bus commands.

Starts the remote terminal listening on the 1553 bus for commands from the bus controller. For the simulator, the remote terminal TCP server listens for connections on the subaddress sockets.

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

References _CO1553_RT_Sim::check, _CO1553_RT_Sim::cmd_rx_sock_data, _CO1553_RT_Sim::cmd_rx_sock_listen, _CO1553_RT_Sim::cmd_tx_sock_data, _CO1553_RT_Sim::cmd_tx_sock_listen, _CO1553_RT_Sim::telem_sock_data, and _CO1553_RT_Sim::telem_sock_listen.

Referenced by CTDB_rtStart().

unsigned int CO1553_rtSimStop ( CO1553_RT_Sim rt  ) 

Stop the remote terminal simulator listening for 1553 bus commands.

Stops the remote terminal listening on the 1553 bus for commands from the bus controller. For the simulator, the remote terminal TCP server disconnects the subaddress sockets.

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

References _CO1553_RT_Sim::check, _CO1553_RT_Sim::cmd_rx_sock_data, _CO1553_RT_Sim::cmd_tx_sock_data, and _CO1553_RT_Sim::telem_sock_data.

Referenced by CO1553_rtSimExit(), and CTDB_rtStop().


Generated on Sat Apr 9 17:41:18 2011 by  doxygen 1.5.8