GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> CTDB / V5-5-6 > sumt_rt_sib / rad750


Interface   Data Structures   File List   Data Fields   Globals  

SUMT_rt_private.h File Reference

Internal definitions for the Summit remote terminal driver. More...

#include <vxWorks.h>
#include <CTDB/SUMT_rt.h>
#include <CTDB/CO1553_rt.h>
#include <PBS/FORK.h>
#include <PBS/FPA.h>
#include <PBS/RW.h>
#include <PBS/WUT.h>
#include <MSG/MSG_pubdefs.h>
#include <SUMT_private.h>

Classes

struct  _SUMT_RT_Msg
struct  _SUMT_RT
struct  _SUMT_RT_Poll

Defines

#define SUMT_RT_DESC_SIZE   1024
#define SUMT_RT_LOG_SIZE   64
#define SUMT_RT_N_INTR   32
#define SUMT_RT_POLL_MAX_TELEM_MSG   32

Typedefs

typedef enum _SUMT_RT_Event SUMT_RT_Event
typedef struct _SUMT_RT_Msg SUMT_RT_Msg

Enumerations

enum  _SUMT_RT_Event {
  SUMT_RT_EVENT_INIT,
  SUMT_RT_EVENT_SUBADDR,
  SUMT_RT_EVENT_HKP,
  SUMT_RT_EVENT_EXIT
}

Functions

void SUMT_rtIntr (SUMT_RT *rt)
 The driver interrupt handler.
void SUMT_rtMsg (SUMT_RT *rt)
 Process a Summit 1553 bus data message.


Detailed Description

Internal definitions for the Summit remote terminal driver.

Author:
D.L. Wood

Define Documentation

#define SUMT_RT_DESC_SIZE   1024

The size in bytes of the Summit RT descriptor table.

Referenced by SUMT_rtInit().

#define SUMT_RT_LOG_SIZE   64

The size in bytes of the Summit RT event log.

Referenced by SUMT_rtInit().

#define SUMT_RT_N_INTR   32

The maximum number of interrupt descriptors outstanding on the driver internal queue.

Referenced by SUMT_rtInit().

#define SUMT_RT_POLL_MAX_TELEM_MSG   32

The maximum number of telemetry messages for the polled mode driver telemetry blocks.


Typedef Documentation

The typedef for _SUMT_RT_Event.

The typedef for _SUMT_RT_Msg.


Enumeration Type Documentation

Codes indicating the work the RT service task needs to do.

Enumerator:
SUMT_RT_EVENT_INIT  Initialization request for service task.
SUMT_RT_EVENT_SUBADDR  Subaddress data needs service.
SUMT_RT_EVENT_HKP  HKP callback change request.
SUMT_RT_EVENT_EXIT  The user is requesting shutdown.


Function Documentation

void SUMT_rtIntr ( SUMT_RT rt  ) 

The driver interrupt handler.

Handles Summit remote terminal device interrupts. The device interrupt status register is read, which clears the interrupt condition on the device side. The interrupt is also cleared at the board level and on the I/O bus. The contents of the interrupt status register are examined to determine which event caused the interrupt.

For telecommand receive and error reports, the response is handled directly here in the interrupt handler. Telecommand receive packets are handled by the CCSDS interface library. Error reports are translated to the appropriate MSG code and signaled.

For telemetry and telecommand transmit events, a descriptor is allocated from the interrupt pool. A status code is saved to the interrupt descriptor indicating that a device event needs servicing. The descriptor is placed on a queue to be handled by SUMT_rtTask() at a later time.

Parameters:
rt A device descriptor.

References _SUMT_RT::cmd_rx_data, _SUMT_RT::cmd_rx_desc, _SUMT_RT::cmd_rx_inter, _SUMT_RT::cmd_tx_desc, CO1553_rtCmdRxMsg(), _SUMT_RT_Diag::error_count, _SUMT_RT_Msg::event, _SUMT_RT_Msg::hdr, _SUMT_RT_Diag::intr_count, _SUMT_RT::rt_diag, _SUMT_RT::rt_lock, SUMT_DESC_CONTROL, SUMT_DMAF, SUMT_ILLCMD, SUMT_memCopyIn(), SUMT_MERR, SUMT_REG_COMMAND, SUMT_REG_IRQ_MASK, SUMT_REG_IRQ_PEND, SUMT_REG_STATUS, _SUMT_RT::sumt_regs, SUMT_RT_CTRL_BAC, SUMT_RT_EVENT_SUBADDR, SUMT_RT_SUBADDR_CMD_TX, SUMT_RT_SUBADDR_TELEM_END, SUMT_rtBoardIntrAck(), SUMT_SUBAD, SUMT_WORD_READ, SUMT_WORD_WRITE, SUMT_WRAPF, _SUMT_RT::task_fpa, _SUMT_RT::task_queue, and _SUMT_RT::telem_desc.

Referenced by SUMT_rtBoardIntrConnect(), and SUMT_rtBoardIntrDisconnect().

void SUMT_rtMsg ( SUMT_RT rt  ) 

Process a Summit 1553 bus data message.

Responds to a Summit device interrupt indicating that a 1553 bus data message has been transferred. The RT descriptor table is polled to find the sub- address, and the appropriate CCSDS interface library function is called to handle the data. The data wrap notification is handled directly here. The CCSDS interface library handles the telemetry and telecommand transmit subaddresses.

Parameters:
rt A device descriptor.

References _SUMT_RT::cmd_tx_data, _SUMT_RT::cmd_tx_desc, _SUMT_RT::cmd_tx_inter, _SUMT_RT::cmd_tx_timeout, _SUMT_RT::cmd_tx_timer, CO1553_rtCmdTxMsg(), CO1553_rtTelemMsg(), _SUMT_RT::rt_diag, _SUMT_RT::rt_lock, SUMT_DESC_CONTROL, SUMT_memCopyOut(), SUMT_RT_CTRL_BAC, SUMT_rtMsgTimeout(), SUMT_WORD_READ, SUMT_WORD_WRITE, _SUMT_RT::telem_data, _SUMT_RT::telem_desc, _SUMT_RT::telem_inter, _SUMT_RT::telem_timeout, _SUMT_RT::telem_timer, _SUMT_RT::wrap_rx_desc, and _SUMT_RT::wrap_tx_desc.

Referenced by SUMT_rtTask().


Generated on Wed Nov 21 20:04:38 2012 by  doxygen 1.5.8