GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> CTDB / V5-5-5 > vsbc_bc_pmc1553 / mv2304
#include <CTDB/VSBC_bc.h>
#include <CTDB/CO1553_bc.h>
#include <PBS/TOC.h>
#include <MSG/MSG_pubdefs.h>
#include <VSBC_bc_private.h>
Functions | |
unsigned int | VSBC_bcPktTelemRecv (VSBC_BC *bc, void **pkt, const TOC *timeout) |
Receive a CCSDS telemetry packet. | |
unsigned int | VSBC_bcPktTelemFree (VSBC_BC *bc, void *pkt) |
Free a CCSDS telemtry packet. | |
unsigned int | VSBC_bcPktCmdTxRecv (VSBC_BC *bc, void **pkt, const TOC *timeout) |
Receive a CCSDS telecommand transmit packet. | |
unsigned int | VSBC_bcPktCmdTxFree (VSBC_BC *bc, void *pkt) |
Free a CCSDS telecommand transmit packet. | |
unsigned int | VSBC_bcPktCmdRxSend (VSBC_BC *bc, void *pkt, VSBC_BC_Pkt_Free *freeHandler, void *freeArg, const TOC *timeout) |
Send a CCSDS telecommand receive packet. |
unsigned int VSBC_bcPktCmdRxSend | ( | VSBC_BC * | bc, | |
void * | pkt, | |||
VSBC_BC_Pkt_Free * | freeHandler, | |||
void * | freeArg, | |||
const TOC * | timeout | |||
) |
Send a CCSDS telecommand receive packet.
Places a CCSDS telecommand receive packet on the bus controller output queue. The packet will be sent when bandwidth becomes available.
bc | 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. |
References _VSBC_BC::check, _VSBC_BC::cmd_rx_inter, and CO1553_bcCmdRxPktSend().
unsigned int VSBC_bcPktCmdTxFree | ( | VSBC_BC * | bc, | |
void * | pkt | |||
) |
Free a CCSDS telecommand transmit packet.
Returns a CCSDS telecommand transmit packet buffer to the driver. This function should be called for every telecommand packet received from the function VSBC_bcPktCmdTxRecv().
bc | A device descriptor. | |
pkt | A pointer to the packet buffer to free. |
References _VSBC_BC::check, _VSBC_BC::cmd_tx_inter, and CO1553_bcCmdTxPktFree().
unsigned int VSBC_bcPktCmdTxRecv | ( | VSBC_BC * | bc, | |
void ** | pkt, | |||
const TOC * | timeout | |||
) |
Receive a CCSDS telecommand transmit packet.
Waits for a new CCSDS telecommand transmit packet on the bus controller input queue. The function will place a pointer to the new packet buffer in pkt. The user should return the packet buffer to the driver by calling VSBC_bcPktCmdTxFree().
bc | A device descriptor. | |
pkt | Holds a pointer to the telecommand packet. | |
timeout | The time to wait for a packet on the queue. |
References _VSBC_BC::check, _VSBC_BC::cmd_tx_inter, and CO1553_bcCmdTxPktRecv().
unsigned int VSBC_bcPktTelemFree | ( | VSBC_BC * | bc, | |
void * | pkt | |||
) |
Free a CCSDS telemtry packet.
Returns a CCSDS telemetry packet buffer to the driver. This function should be called for every telemetry packet received from the function VSBC_bcPktTelemRecv().
bc | A device descriptor. | |
pkt | A pointer to the packet buffer to free. |
References _VSBC_BC::check, CO1553_bcTelemPktFree(), and _VSBC_BC::telem_inter.
unsigned int VSBC_bcPktTelemRecv | ( | VSBC_BC * | bc, | |
void ** | pkt, | |||
const TOC * | timeout | |||
) |
Receive a CCSDS telemetry packet.
Waits for a new CCSDS telemetry packet on the bus controller input queue. The function will place a pointer to the new packet buffer in pkt if everything is working correctly. The user should return the packet buffer to the driver by calling VSBC_bcPktTelemFree().
bc | A device descriptor. | |
pkt | Holds a pointer to the telemetry packet. | |
timeout | The time to wait for a packet on the queue. |
References _VSBC_BC::check, CO1553_bcTelemPktRecv(), and _VSBC_BC::telem_inter.