Software Library API naibrd 2.24.0
See all documentation at naii.docs.com
m1553_rt_interrupt.c File Reference

Functions

static bool_t Run_M1553_RT_Interrupt (int32_t cardIndex, int32_t module, uint32_t modid)
 
static int32_t ProcessMessages (int32_t duration)
 
static void myIsr (uint32_t vector)
 
int32_t m1553_rt_interrupt (void)
 The purpose of the M1553_RT_Interrupt is to illustrate the methods to call in the naibrd library to configure the 1553 channel as a Remote Terminal, legalize the user specified subaddress for both Tx and Rx, and set it up with interrupts enabled such that when an end of message interrupt is triggered, the received 1553 message is displayed in the console. (NOTE: interrupt steering should be set in accordance with the onboard processor type, where steering is set to NAIBRD_INT_STEERING_PCIE_APP for PPC1 and NAIBRD_INT_STEERING_ONBOARD_ARM for ARM1). Ethernet communication will not work with this application.
 

Variables

static const int8_t * DEF_CONFIG_FILE = (int8_t *)"default_1553_RTInterrupt.txt"
 
static const uint16_t DATA_BLOCK_ID_TX1 = 1
 
static const uint16_t DATA_BLOCK_ID_TX2 = 2
 
static const uint16_t DATA_BLOCK_ID_RX = 3
 
static const int32_t DEF_RT_CHANNEL = 1
 
static const int16_t DEF_RT_DEV_NUM = 1
 
static const naibrd_1553_rt_address_t DEF_RT_ADDRESS = 1
 
static const naibrd_1553_rt_subaddress_t DEF_RT_SUBADDR = 2
 
static const naibrd_1553_rt_dataBlockType_t DEF_RT_RX_BUF_TYPE = NAIBRD_1553_RT_DATABLOCK_DOUBLE
 
static int32_t currDataBlock
 
static int16_t deviceNumber
 
static volatile int32_t irqFlag
 
static int32_t irqCount
 
static uint32_t receivedVector
 

Function Documentation

◆ m1553_rt_interrupt()

int32_t m1553_rt_interrupt ( void )

The purpose of the M1553_RT_Interrupt is to illustrate the methods to call in the naibrd library to configure the 1553 channel as a Remote Terminal, legalize the user specified subaddress for both Tx and Rx, and set it up with interrupts enabled such that when an end of message interrupt is triggered, the received 1553 message is displayed in the console. (NOTE: interrupt steering should be set in accordance with the onboard processor type, where steering is set to NAIBRD_INT_STEERING_PCIE_APP for PPC1 and NAIBRD_INT_STEERING_ONBOARD_ARM for ARM1). Ethernet communication will not work with this application.

The following routines are called to configure and enable interrupts on the 1553 and hook the interrupt service routine (ISR).

  • naibrd_1553_SetIrqConfig
  • naibrd_1553_SetIrqManipulate
  • naibrd_ConnectISR
  • naibrd_1553_SetInterruptSteering
  • naibrd_1553_SetIntVector

The following system configuration routines from the nai_sys_cfg.c file are called to assist with the configuration setup for this program prior to calling the naibrd 1553 routines.

  • ConfigDevice
  • DisplayDeviceCfg
  • GetBoardSNModCfg
  • CheckModule

◆ myIsr()

static void myIsr ( uint32_t vector)
static

◆ ProcessMessages()

static int32_t ProcessMessages ( int32_t duration)
static

◆ Run_M1553_RT_Interrupt()

static bool_t Run_M1553_RT_Interrupt ( int32_t cardIndex,
int32_t module,
uint32_t modid )
static

Variable Documentation

◆ currDataBlock

int32_t currDataBlock
static

◆ DATA_BLOCK_ID_RX

const uint16_t DATA_BLOCK_ID_RX = 3
static

◆ DATA_BLOCK_ID_TX1

const uint16_t DATA_BLOCK_ID_TX1 = 1
static

◆ DATA_BLOCK_ID_TX2

const uint16_t DATA_BLOCK_ID_TX2 = 2
static

◆ DEF_CONFIG_FILE

const int8_t* DEF_CONFIG_FILE = (int8_t *)"default_1553_RTInterrupt.txt"
static

◆ DEF_RT_ADDRESS

const naibrd_1553_rt_address_t DEF_RT_ADDRESS = 1
static

◆ DEF_RT_CHANNEL

const int32_t DEF_RT_CHANNEL = 1
static

◆ DEF_RT_DEV_NUM

const int16_t DEF_RT_DEV_NUM = 1
static

◆ DEF_RT_RX_BUF_TYPE

◆ DEF_RT_SUBADDR

const naibrd_1553_rt_subaddress_t DEF_RT_SUBADDR = 2
static

◆ deviceNumber

int16_t deviceNumber
static

◆ irqCount

int32_t irqCount
static

◆ irqFlag

volatile int32_t irqFlag
static

◆ receivedVector

uint32_t receivedVector
static