Software Library API naibrd 2.24.0
See all documentation at naii.docs.com

Functions

NAIBRDFUNC naibrd_1553_t NAIAPI naibrd_1553_BcAsyncMsgCreateBcToRt (int16_t device, int16_t messageId, int16_t dataBlockId, naibrd_1553_rt_address_t receiverRt, naibrd_1553_rt_subaddress_t receiverRtSubaddress, uint16_t wordCount, uint16_t gapTime_uS, naibrd_1553_bc_msg_options_t bcMsgOptions, const uint16_t *p_buffer)
 Create an asynchronous BC to RT message.
 
NAIBRDFUNC naibrd_1553_t NAIAPI naibrd_1553_BcAsyncMsgCreateRtToBc (int16_t device, int16_t messageId, int16_t dataBlockId, naibrd_1553_rt_address_t transmitterRt, naibrd_1553_rt_subaddress_t transmitterRtSubaddress, uint16_t wordCount, uint16_t gapTime_uS, naibrd_1553_bc_msg_options_t bcMsgOptions, const uint16_t *p_buffer)
 Create an asynchronous RT to BC message.
 
NAIBRDFUNC naibrd_1553_t NAIAPI naibrd_1553_BcAsyncMsgCreateRtToRt (int16_t device, int16_t messageId, int16_t dataBlockId, naibrd_1553_rt_address_t receiverRt, naibrd_1553_rt_subaddress_t receiverRtSubaddress, uint16_t wordCount, naibrd_1553_rt_address_t transmitterRt, naibrd_1553_rt_subaddress_t transmitterRtSubaddress, uint16_t gapTime_uS, naibrd_1553_bc_msg_options_t bcMsgOptions, const uint16_t *p_buffer)
 Create an asynchronous RT to RT message.
 
NAIBRDFUNC naibrd_1553_t NAIAPI naibrd_1553_BcAsyncMsgCreateMode (int16_t device, int16_t messageId, int16_t dataBlockId, naibrd_1553_rt_address_t rt, naibrd_1553_messageDirection_t messageDirection, naibrd_1553_bc_mode_commands_t modeCommand, uint16_t gapTime_uS, naibrd_1553_bc_msg_options_t bcMsgOptions, const uint16_t *p_buffer)
 Create an asynchronous Mode message.
 
NAIBRDFUNC naibrd_1553_t NAIAPI naibrd_1553_BcAsyncMsgCreateBcToBroadcast (int16_t device, int16_t messageId, int16_t dataBlockId, naibrd_1553_rt_subaddress_t receiverRtSubaddress, uint16_t wordCount, uint16_t gapTime_uS, naibrd_1553_bc_msg_options_t bcMsgOptions, const uint16_t *p_buffer)
 Create an asynchronous BC to Broadcast message.
 
NAIBRDFUNC naibrd_1553_t NAIAPI naibrd_1553_BcAsyncMsgCreateRtToBroadcast (int16_t device, int16_t messageId, int16_t dataBlockId, naibrd_1553_rt_subaddress_t receiverRtSubaddress, uint16_t wordCount, naibrd_1553_rt_address_t transmitterRt, naibrd_1553_rt_subaddress_t transmitterRtSubaddress, uint16_t gapTime_uS, naibrd_1553_bc_msg_options_t bcMsgOptions, const uint16_t *p_buffer)
 Create an asynchronous RT to Broadcast message.
 
NAIBRDFUNC naibrd_1553_t NAIAPI naibrd_1553_BcAsyncMsgCreateBroadcastMode (int16_t device, int16_t messageId, int16_t dataBlockId, naibrd_1553_messageDirection_t messageDirection, naibrd_1553_bc_mode_commands_t modeCommand, uint16_t gapTime_uS, naibrd_1553_bc_msg_options_t bcMsgOptions, const uint16_t *p_buffer)
 Create an asynchronous Broadcast Mode message.
 
NAIBRDFUNC naibrd_1553_t NAIAPI naibrd_1553_BcAsyncMsgSendAtLowPriority_ExecuteOnce (int16_t device, uint16_t *p_outremainingMessageCount, uint16_t timeFactor)
 Send asynchronous messages in the low priority queue. The order of message transmission is determined by the message ID (lowest ID first). If either function is called once while the BC is running and a transmitted async message returns an error (e.g. no response error), the message will continue to send on every iteration of the minor frame. However, this function can be called over and over and each time, it will regenerate the async frame only from messages that were not yet sent. In this way, async messages that were already transmitted, regardless of whether or not it returned an error, will stop sending and will need to be deleted and recreated in order to be sent again. This function provides a level of software control to handle low priority async messages that are not communicated successfully. To use this function, the BC must be configured for low priority async mode using the naibrd_1553_BcCfg function. Please refer to the m1553_bc_send_msg_async sample C code for an example that utilizes this function effectively.
 
NAIBRDFUNC naibrd_1553_t NAIAPI naibrd_1553_BcAsyncMsgSendAtHighPriority_ExecuteOnce (int16_t device, uint16_t messageId, uint16_t timeFactor)
 Send an asynchronous message with high priority. Once an asynchronous message is defined, it may be transmitted at high priority again and again as many times as the user requires, but it won't be transmitted more than once at low priority. Moreover, if an asynchronous message has already been transmitted at high priority, it won't be retransmitted at low priority even once. In order to force its retransmission in such a case, the message must be deleted and recreated. The async message will be transmitted only once per call to this function, even if it returns an error (e.g. no response error). To use this function, the BC must be configured for high priority async mode using the naibrd_1553_BcCfg function by passing in NAIBRD_1553_BC_ASYNCHRONOUS_HIGH_PRIORITY_MODE as the dwOptions parameter. Please refer to the m1553_bc_send_msg_async sample C code for an example that utilizes this function effectively.
 
NAIBRDFUNC naibrd_1553_t NAIAPI naibrd_1553_BcAsyncMsgSendOneAtLowPriority (int16_t device, uint16_t messageId)
 This function is used to send a single low priority Asynchronous message. This is in contrast to naibrd_1553_BcAsyncMsgSendAtLowPriority* functions, which places all asynchronous messages on a low priority queue. Additionally, this function call does not block (no delays). If this function gets called again before the previous async message was sent, it will return an error. The user should specify the message ID of the asynchronous message to send. This function utilizes GPF-5 so the user should not use GPF-5 for any other purpose if this function is being called in the user application. This function is currently not supported in FTJ/FTK modules. This function is not a DDC compatible function. Note: This API is not supported for 1760 modules at this time.
 
NAIBRDFUNC naibrd_1553_t NAIAPI naibrd_1553_BcAsyncMsgRemainingCount (int16_t device)
 Returns the current number of asynchronous messages remaining in the low priority queue.
 

Detailed Description

Function Documentation

◆ naibrd_1553_BcAsyncMsgCreateBcToBroadcast()

NAIBRDFUNC naibrd_1553_t NAIAPI naibrd_1553_BcAsyncMsgCreateBcToBroadcast ( int16_t device,
int16_t messageId,
int16_t dataBlockId,
naibrd_1553_rt_subaddress_t receiverRtSubaddress,
uint16_t wordCount,
uint16_t gapTime_uS,
naibrd_1553_bc_msg_options_t bcMsgOptions,
const uint16_t * p_buffer )

Create an asynchronous BC to Broadcast message.

Parameters
device: (Input) Logical Device Number (0-31).
messageId: (Input) Unique message ID.
dataBlockId: (Input) Unique data block ID of an existing data block.
receiverRtSubaddress: (Input) Receiving RT Subaddress.
wordCount: (Input) Message Word Count.
gapTime_uS: (Input) Time to next message (in uS).
bcMsgOptions: (Input) Message options that may contain an OR'ed combination of the following:
* NAIBRD_1553_BC_CTRL_1553A
* MIL-STD-1553A.
*
* NAIBRD_1553_BC_CTRL_1553B
* MIL-STD-1553B.
*
* NAIBRD_1553_BC_CTRL_END_OF_MESSAGE_INTERRUPT_ENABLED
* End of Message Interrupt enabled.
*
* NAIBRD_1553_BC_CTRL_BROADCAST_CHECK_MASKED
* Broadcast check masked.
*
* NAIBRD_1553_BC_CTRL_LOOPBACK_TEST_PERFORMED
* Enable offline self test.
*
* NAIBRD_1553_BC_CTRL_BUS_A
* Send message on bus A.
*
* NAIBRD_1553_BC_CTRL_BUS_B
* Send message on bus B.
*
* NAIBRD_1553_BC_CTRL_RETRY_ENABLED
* Message retry enable.
*
* NAIBRD_1553_BC_CTRL_RESERVE_STATUS_BITS_MASKED
* Reserved status bit masked.
*
* NAIBRD_1553_BC_CTRL_TERMINAL_STATUS_FLAG_MASKED
* Terminal status flag masked.
*
* NAIBRD_1553_BC_CTRL_SUBSYSTEM_STATUS_FLAG_MASKED
* Subsystem status flag masked.
*
* NAIBRD_1553_BC_CTRL_BUSY_STATUS_BIT_MASKED
* Busy status bit masked.
*
* NAIBRD_1553_BC_CTRL_SERVICE_REQUEST_STATUS_BIT_MASKED
* Service request status bit masked.
*
* NAIBRD_1553_BC_CTRL_MESSAGE_ERROR_STATUS_BIT_MASKED
* Message error status bit masked.
*
* NAIBRD_1553_BC_CTRL_TX_TIMETAG_IN_SYNC_W_DATA_MODE_CMD
* Tx time tag in sync with data mode command.
*
* NAIBRD_1553_BC_MESSAGE_OPT_DUAL_MESSAGE
* A pair of messages stored one after the other in device memory to support an XQF opcode.
*
* NAIBRD_1553_BC_MESSAGE_OPT_STAY_ON_ALTERNATE_BUS
* A specific usage of XQF opcode when the message fails, flip to the double buffered message and stay on it until next error.
* 
p_buffer: (Input) Buffer that contains data to be sent in the BC to RT message.
Returns
  • NAI_SUCCESS when function is completed successfully
  • NAIBRD_1553_RC_INVALID_MESSAGE_OPTIONS when invalid options are specified

◆ naibrd_1553_BcAsyncMsgCreateBcToRt()

NAIBRDFUNC naibrd_1553_t NAIAPI naibrd_1553_BcAsyncMsgCreateBcToRt ( int16_t device,
int16_t messageId,
int16_t dataBlockId,
naibrd_1553_rt_address_t receiverRt,
naibrd_1553_rt_subaddress_t receiverRtSubaddress,
uint16_t wordCount,
uint16_t gapTime_uS,
naibrd_1553_bc_msg_options_t bcMsgOptions,
const uint16_t * p_buffer )

Create an asynchronous BC to RT message.

Parameters
device: (Input) Logical Device Number (0-31).
messageId: (Input) Unique message ID.
dataBlockId: (Input) Unique data block ID of an existing data block.
receiverRt: (Input) Receiving RT Address.
receiverRtSubaddress: (Input) Receiving RT Subaddress.
wordCount: (Input) Message Word Count.
gapTime_uS: (Input) Time to next message (in uS).
bcMsgOptions: (Input) Message options that may contain an OR'ed combination of the following:
* NAIBRD_1553_BC_CTRL_1553A
* MIL-STD-1553A.
*
* NAIBRD_1553_BC_CTRL_1553B
* MIL-STD-1553B.
*
* NAIBRD_1553_BC_CTRL_END_OF_MESSAGE_INTERRUPT_ENABLED
* End of Message Interrupt enabled.
*
* NAIBRD_1553_BC_CTRL_BROADCAST_CHECK_MASKED
* Broadcast check masked.
*
* NAIBRD_1553_BC_CTRL_LOOPBACK_TEST_PERFORMED
* Enable offline self test.
*
* NAIBRD_1553_BC_CTRL_BUS_A
* Send message on bus A.
*
* NAIBRD_1553_BC_CTRL_BUS_B
* Send message on bus B.
*
* NAIBRD_1553_BC_CTRL_RETRY_ENABLED
* Message retry enable.
*
* NAIBRD_1553_BC_CTRL_RESERVE_STATUS_BITS_MASKED
* Reserved status bit masked.
*
* NAIBRD_1553_BC_CTRL_TERMINAL_STATUS_FLAG_MASKED
* Terminal status flag masked.
*
* NAIBRD_1553_BC_CTRL_SUBSYSTEM_STATUS_FLAG_MASKED
* Subsystem status flag masked.
*
* NAIBRD_1553_BC_CTRL_BUSY_STATUS_BIT_MASKED
* Busy status bit masked.
*
* NAIBRD_1553_BC_CTRL_SERVICE_REQUEST_STATUS_BIT_MASKED
* Service request status bit masked.
*
* NAIBRD_1553_BC_CTRL_MESSAGE_ERROR_STATUS_BIT_MASKED
* Message error status bit masked.
*
* NAIBRD_1553_BC_CTRL_TX_TIMETAG_IN_SYNC_W_DATA_MODE_CMD
* Tx time tag in sync with data mode command.
*
* NAIBRD_1553_BC_MESSAGE_OPT_DUAL_MESSAGE
* A pair of messages stored one after the other in device memory to support an XQF opcode.
*
* NAIBRD_1553_BC_MESSAGE_OPT_STAY_ON_ALTERNATE_BUS
* A specific usage of XQF opcode when the message fails, flip to the double buffered message and stay on it until next error.
* 
p_buffer: (Input) Buffer that contains data to be sent in the BC to RT message.
Returns
  • NAI_SUCCESS when function is completed successfully
  • NAIBRD_1553_RC_INVALID_MESSAGE_OPTIONS when invalid options are specified

◆ naibrd_1553_BcAsyncMsgCreateBroadcastMode()

NAIBRDFUNC naibrd_1553_t NAIAPI naibrd_1553_BcAsyncMsgCreateBroadcastMode ( int16_t device,
int16_t messageId,
int16_t dataBlockId,
naibrd_1553_messageDirection_t messageDirection,
naibrd_1553_bc_mode_commands_t modeCommand,
uint16_t gapTime_uS,
naibrd_1553_bc_msg_options_t bcMsgOptions,
const uint16_t * p_buffer )

Create an asynchronous Broadcast Mode message.

Parameters
device: (Input) Logical Device Number (0-31).
messageId: (Input) Unique message ID.
dataBlockId: (Input) Unique data block ID of an existing data block.
messageDirection: (Input) Transmit or Receive (NAIBRD_1553_DIRECTION_TX or NAIBRD_1553_DIRECTION_RX).
modeCommand: (Input) Mode Code Command (0-31).
gapTime_uS: (Input) Time to next message (in uS).
bcMsgOptions: (Input) Message options that may contain an OR'ed combination of the following:
* NAIBRD_1553_BC_CTRL_1553A
* MIL-STD-1553A.
*
* NAIBRD_1553_BC_CTRL_1553B
* MIL-STD-1553B.
*
* NAIBRD_1553_BC_CTRL_END_OF_MESSAGE_INTERRUPT_ENABLED
* End of Message Interrupt enabled.
*
* NAIBRD_1553_BC_CTRL_BROADCAST_CHECK_MASKED
* Broadcast check masked.
*
* NAIBRD_1553_BC_CTRL_LOOPBACK_TEST_PERFORMED
* Enable offline self test.
*
* NAIBRD_1553_BC_CTRL_BUS_A
* Send message on bus A.
*
* NAIBRD_1553_BC_CTRL_BUS_B
* Send message on bus B.
*
* NAIBRD_1553_BC_CTRL_RETRY_ENABLED
* Message retry enable.
*
* NAIBRD_1553_BC_CTRL_RESERVE_STATUS_BITS_MASKED
* Reserved status bit masked.
*
* NAIBRD_1553_BC_CTRL_TERMINAL_STATUS_FLAG_MASKED
* Terminal status flag masked.
*
* NAIBRD_1553_BC_CTRL_SUBSYSTEM_STATUS_FLAG_MASKED
* Subsystem status flag masked.
*
* NAIBRD_1553_BC_CTRL_BUSY_STATUS_BIT_MASKED
* Busy status bit masked.
*
* NAIBRD_1553_BC_CTRL_SERVICE_REQUEST_STATUS_BIT_MASKED
* Service request status bit masked.
*
* NAIBRD_1553_BC_CTRL_MESSAGE_ERROR_STATUS_BIT_MASKED
* Message error status bit masked.
*
* NAIBRD_1553_BC_CTRL_TX_TIMETAG_IN_SYNC_W_DATA_MODE_CMD
* Tx time tag in sync with data mode command.
*
* NAIBRD_1553_BC_MESSAGE_OPT_DUAL_MESSAGE
* A pair of messages stored one after the other in device memory to support an XQF opcode.
*
* NAIBRD_1553_BC_MESSAGE_OPT_STAY_ON_ALTERNATE_BUS
* A specific usage of XQF opcode when the message fails, flip to the double buffered message and stay on it until next error.
* 
p_buffer: (Input) Buffer that contains data to load into the message data block.
Returns
  • NAI_SUCCESS when function is completed successfully
  • NAIBRD_1553_RC_INVALID_MESSAGE_OPTIONS when invalid options are specified

◆ naibrd_1553_BcAsyncMsgCreateMode()

NAIBRDFUNC naibrd_1553_t NAIAPI naibrd_1553_BcAsyncMsgCreateMode ( int16_t device,
int16_t messageId,
int16_t dataBlockId,
naibrd_1553_rt_address_t rt,
naibrd_1553_messageDirection_t messageDirection,
naibrd_1553_bc_mode_commands_t modeCommand,
uint16_t gapTime_uS,
naibrd_1553_bc_msg_options_t bcMsgOptions,
const uint16_t * p_buffer )

Create an asynchronous Mode message.

Parameters
device: (Input) Logical Device Number (0-31).
messageId: (Input) Unique message ID.
dataBlockId: (Input) Unique data block ID of an existing data block.
rt: (Input) RT Address.
messageDirection: (Input) Transmit or Receive (NAIBRD_1553_DIRECTION_TX or NAIBRD_1553_DIRECTION_RX).
modeCommand: (Input) Mode Code Command (0-31).
gapTime_uS: (Input) Time to next message (in uS).
bcMsgOptions: (Input) Message options that may contain an OR'ed combination of the following:
* NAIBRD_1553_BC_CTRL_1553A
* MIL-STD-1553A.
*
* NAIBRD_1553_BC_CTRL_1553B
* MIL-STD-1553B.
*
* NAIBRD_1553_BC_CTRL_END_OF_MESSAGE_INTERRUPT_ENABLED
* End of Message Interrupt enabled.
*
* NAIBRD_1553_BC_CTRL_BROADCAST_CHECK_MASKED
* Broadcast check masked.
*
* NAIBRD_1553_BC_CTRL_LOOPBACK_TEST_PERFORMED
* Enable offline self test.
*
* NAIBRD_1553_BC_CTRL_BUS_A
* Send message on bus A.
*
* NAIBRD_1553_BC_CTRL_BUS_B
* Send message on bus B.
*
* NAIBRD_1553_BC_CTRL_RETRY_ENABLED
* Message retry enable.
*
* NAIBRD_1553_BC_CTRL_RESERVE_STATUS_BITS_MASKED
* Reserved status bit masked.
*
* NAIBRD_1553_BC_CTRL_TERMINAL_STATUS_FLAG_MASKED
* Terminal status flag masked.
*
* NAIBRD_1553_BC_CTRL_SUBSYSTEM_STATUS_FLAG_MASKED
* Subsystem status flag masked.
*
* NAIBRD_1553_BC_CTRL_BUSY_STATUS_BIT_MASKED
* Busy status bit masked.
*
* NAIBRD_1553_BC_CTRL_SERVICE_REQUEST_STATUS_BIT_MASKED
* Service request status bit masked.
*
* NAIBRD_1553_BC_CTRL_MESSAGE_ERROR_STATUS_BIT_MASKED
* Message error status bit masked.
*
* NAIBRD_1553_BC_CTRL_TX_TIMETAG_IN_SYNC_W_DATA_MODE_CMD
* Tx time tag in sync with data mode command.
*
* NAIBRD_1553_BC_MESSAGE_OPT_DUAL_MESSAGE
* A pair of messages stored one after the other in device memory to support an XQF opcode.
*
* NAIBRD_1553_BC_MESSAGE_OPT_STAY_ON_ALTERNATE_BUS
* A specific usage of XQF opcode when the message fails, flip to the double buffered message and stay on it until next error.
* 
p_buffer: (Input) Buffer that contains data to load into the message data block.
Returns
  • NAI_SUCCESS when function is completed successfully
  • NAIBRD_1553_RC_INVALID_MESSAGE_OPTIONS when invalid options are specified

◆ naibrd_1553_BcAsyncMsgCreateRtToBc()

NAIBRDFUNC naibrd_1553_t NAIAPI naibrd_1553_BcAsyncMsgCreateRtToBc ( int16_t device,
int16_t messageId,
int16_t dataBlockId,
naibrd_1553_rt_address_t transmitterRt,
naibrd_1553_rt_subaddress_t transmitterRtSubaddress,
uint16_t wordCount,
uint16_t gapTime_uS,
naibrd_1553_bc_msg_options_t bcMsgOptions,
const uint16_t * p_buffer )

Create an asynchronous RT to BC message.

Parameters
device: (Input) Logical Device Number (0-31).
messageId: (Input) Unique message ID.
dataBlockId: (Input) Unique data block ID of an existing data block.
transmitterRt: (Input) Transmitting RT Address.
transmitterRtSubaddress: (Input) Transmitting RT Subaddress.
wordCount: (Input) Message Word Count.
gapTime_uS: (Input) Time to next message (in uS).
bcMsgOptions: (Input) Message options that may contain an OR'ed combination of the following:
* NAIBRD_1553_BC_CTRL_1553A
* MIL-STD-1553A.
*
* NAIBRD_1553_BC_CTRL_1553B
* MIL-STD-1553B.
*
* NAIBRD_1553_BC_CTRL_END_OF_MESSAGE_INTERRUPT_ENABLED
* End of Message Interrupt enabled.
*
* NAIBRD_1553_BC_CTRL_BROADCAST_CHECK_MASKED
* Broadcast check masked.
*
* NAIBRD_1553_BC_CTRL_LOOPBACK_TEST_PERFORMED
* Enable offline self test.
*
* NAIBRD_1553_BC_CTRL_BUS_A
* Send message on bus A.
*
* NAIBRD_1553_BC_CTRL_BUS_B
* Send message on bus B.
*
* NAIBRD_1553_BC_CTRL_RETRY_ENABLED
* Message retry enable.
*
* NAIBRD_1553_BC_CTRL_RESERVE_STATUS_BITS_MASKED
* Reserved status bit masked.
*
* NAIBRD_1553_BC_CTRL_TERMINAL_STATUS_FLAG_MASKED
* Terminal status flag masked.
*
* NAIBRD_1553_BC_CTRL_SUBSYSTEM_STATUS_FLAG_MASKED
* Subsystem status flag masked.
*
* NAIBRD_1553_BC_CTRL_BUSY_STATUS_BIT_MASKED
* Busy status bit masked.
*
* NAIBRD_1553_BC_CTRL_SERVICE_REQUEST_STATUS_BIT_MASKED
* Service request status bit masked.
*
* NAIBRD_1553_BC_CTRL_MESSAGE_ERROR_STATUS_BIT_MASKED
* Message error status bit masked.
*
* NAIBRD_1553_BC_CTRL_TX_TIMETAG_IN_SYNC_W_DATA_MODE_CMD
* Tx time tag in sync with data mode command.
*
* NAIBRD_1553_BC_MESSAGE_OPT_DUAL_MESSAGE
* A pair of messages stored one after the other in device memory to support an XQF opcode.
*
* NAIBRD_1553_BC_MESSAGE_OPT_STAY_ON_ALTERNATE_BUS
* A specific usage of XQF opcode when the message fails, flip to the double buffered message and stay on it until next error.
* 
p_buffer: (Input) Buffer that contains data to load into the message data block.
Returns
  • NAI_SUCCESS when function is completed successfully
  • NAIBRD_1553_RC_INVALID_MESSAGE_OPTIONS when invalid options are specified

◆ naibrd_1553_BcAsyncMsgCreateRtToBroadcast()

NAIBRDFUNC naibrd_1553_t NAIAPI naibrd_1553_BcAsyncMsgCreateRtToBroadcast ( int16_t device,
int16_t messageId,
int16_t dataBlockId,
naibrd_1553_rt_subaddress_t receiverRtSubaddress,
uint16_t wordCount,
naibrd_1553_rt_address_t transmitterRt,
naibrd_1553_rt_subaddress_t transmitterRtSubaddress,
uint16_t gapTime_uS,
naibrd_1553_bc_msg_options_t bcMsgOptions,
const uint16_t * p_buffer )

Create an asynchronous RT to Broadcast message.

Parameters
device: (Input) Logical Device Number (0-31).
messageId: (Input) Unique message ID.
dataBlockId: (Input) Unique data block ID of an existing data block.
receiverRtSubaddress: (Input) Receiving RT Subaddress.
wordCount: (Input) Message Word Count.
transmitterRt: (Input) Transmitting RT Address.
transmitterRtSubaddress: (Input) Transmitting RT Subaddress.
gapTime_uS: (Input) Time to next message (in uS).
bcMsgOptions: (Input) Message options that may contain an OR'ed combination of the following:
* NAIBRD_1553_BC_CTRL_1553A
* MIL-STD-1553A.
*
* NAIBRD_1553_BC_CTRL_1553B
* MIL-STD-1553B.
*
* NAIBRD_1553_BC_CTRL_END_OF_MESSAGE_INTERRUPT_ENABLED
* End of Message Interrupt enabled.
*
* NAIBRD_1553_BC_CTRL_BROADCAST_CHECK_MASKED
* Broadcast check masked.
*
* NAIBRD_1553_BC_CTRL_LOOPBACK_TEST_PERFORMED
* Enable offline self test.
*
* NAIBRD_1553_BC_CTRL_BUS_A
* Send message on bus A.
*
* NAIBRD_1553_BC_CTRL_BUS_B
* Send message on bus B.
*
* NAIBRD_1553_BC_CTRL_RETRY_ENABLED
* Message retry enable.
*
* NAIBRD_1553_BC_CTRL_RESERVE_STATUS_BITS_MASKED
* Reserved status bit masked.
*
* NAIBRD_1553_BC_CTRL_TERMINAL_STATUS_FLAG_MASKED
* Terminal status flag masked.
*
* NAIBRD_1553_BC_CTRL_SUBSYSTEM_STATUS_FLAG_MASKED
* Subsystem status flag masked.
*
* NAIBRD_1553_BC_CTRL_BUSY_STATUS_BIT_MASKED
* Busy status bit masked.
*
* NAIBRD_1553_BC_CTRL_SERVICE_REQUEST_STATUS_BIT_MASKED
* Service request status bit masked.
*
* NAIBRD_1553_BC_CTRL_MESSAGE_ERROR_STATUS_BIT_MASKED
* Message error status bit masked.
*
* NAIBRD_1553_BC_CTRL_TX_TIMETAG_IN_SYNC_W_DATA_MODE_CMD
* Tx time tag in sync with data mode command.
*
* NAIBRD_1553_BC_MESSAGE_OPT_DUAL_MESSAGE
* A pair of messages stored one after the other in device memory to support an XQF opcode.
*
* NAIBRD_1553_BC_MESSAGE_OPT_STAY_ON_ALTERNATE_BUS
* A specific usage of XQF opcode when the message fails, flip to the double buffered message and stay on it until next error.
* 
p_buffer: (Input) Buffer that contains data to load into the message data block.
Returns
  • NAI_SUCCESS when function is completed successfully
  • NAIBRD_1553_RC_INVALID_MESSAGE_OPTIONS when invalid options are specified

◆ naibrd_1553_BcAsyncMsgCreateRtToRt()

NAIBRDFUNC naibrd_1553_t NAIAPI naibrd_1553_BcAsyncMsgCreateRtToRt ( int16_t device,
int16_t messageId,
int16_t dataBlockId,
naibrd_1553_rt_address_t receiverRt,
naibrd_1553_rt_subaddress_t receiverRtSubaddress,
uint16_t wordCount,
naibrd_1553_rt_address_t transmitterRt,
naibrd_1553_rt_subaddress_t transmitterRtSubaddress,
uint16_t gapTime_uS,
naibrd_1553_bc_msg_options_t bcMsgOptions,
const uint16_t * p_buffer )

Create an asynchronous RT to RT message.

Parameters
device: (Input) Logical Device Number (0-31).
messageId: (Input) Unique message ID.
dataBlockId: (Input) Unique data block ID of an existing data block.
receiverRt: (Input) Receiving RT Address.
receiverRtSubaddress: (Input) Receiving RT Subaddress.
wordCount: (Input) Message Word Count.
transmitterRt: (Input) Transmitting RT Address.
transmitterRtSubaddress: (Input) Transmitting RT Subaddress.
gapTime_uS: (Input) Time to next message (in uS).
bcMsgOptions: (Input) Message options that may contain an OR'ed combination of the following:
* NAIBRD_1553_BC_CTRL_1553A
* MIL-STD-1553A.
*
* NAIBRD_1553_BC_CTRL_1553B
* MIL-STD-1553B.
*
* NAIBRD_1553_BC_CTRL_END_OF_MESSAGE_INTERRUPT_ENABLED
* End of Message Interrupt enabled.
*
* NAIBRD_1553_BC_CTRL_BROADCAST_CHECK_MASKED
* Broadcast check masked.
*
* NAIBRD_1553_BC_CTRL_LOOPBACK_TEST_PERFORMED
* Enable offline self test.
*
* NAIBRD_1553_BC_CTRL_BUS_A
* Send message on bus A.
*
* NAIBRD_1553_BC_CTRL_BUS_B
* Send message on bus B.
*
* NAIBRD_1553_BC_CTRL_RETRY_ENABLED
* Message retry enable.
*
* NAIBRD_1553_BC_CTRL_RESERVE_STATUS_BITS_MASKED
* Reserved status bit masked.
*
* NAIBRD_1553_BC_CTRL_TERMINAL_STATUS_FLAG_MASKED
* Terminal status flag masked.
*
* NAIBRD_1553_BC_CTRL_SUBSYSTEM_STATUS_FLAG_MASKED
* Subsystem status flag masked.
*
* NAIBRD_1553_BC_CTRL_BUSY_STATUS_BIT_MASKED
* Busy status bit masked.
*
* NAIBRD_1553_BC_CTRL_SERVICE_REQUEST_STATUS_BIT_MASKED
* Service request status bit masked.
*
* NAIBRD_1553_BC_CTRL_MESSAGE_ERROR_STATUS_BIT_MASKED
* Message error status bit masked.
*
* NAIBRD_1553_BC_CTRL_TX_TIMETAG_IN_SYNC_W_DATA_MODE_CMD
* Tx time tag in sync with data mode command.
*
* NAIBRD_1553_BC_MESSAGE_OPT_DUAL_MESSAGE
* A pair of messages stored one after the other in device memory to support an XQF opcode.
*
* NAIBRD_1553_BC_MESSAGE_OPT_STAY_ON_ALTERNATE_BUS
* A specific usage of XQF opcode when the message fails, flip to the double buffered message and stay on it until next error.
* 
p_buffer: (Input) Buffer that contains data to load into the message data block.
Returns
  • NAI_SUCCESS when function is completed successfully
  • NAIBRD_1553_RC_INVALID_MESSAGE_OPTIONS when invalid options are specified

◆ naibrd_1553_BcAsyncMsgRemainingCount()

NAIBRDFUNC naibrd_1553_t NAIAPI naibrd_1553_BcAsyncMsgRemainingCount ( int16_t device)

Returns the current number of asynchronous messages remaining in the low priority queue.

Parameters
device: (Input) Logical Device Number (0-31).
Returns
  • Value (>=0) indicating number of messages in queue when function is completed successfully
  • NAI_1553_RC_INVALID_DEVICE_NUMBER when incorrect device number was input
  • NAI_1553_RC_INVALID_MODE when device mode is not set to BC
  • NAI_1553_RC_INVALID_STATE when device is in an invalid state
  • NAI_1553_RC_SUITABLE_ASYNCHRONOUS_MODE_UNDEFINED when the suitable asynchronous mode is undefined
  • NAI_1553_RC_NO_FRAME_TIME_SET_FOR_MAJOR_FRAME when the frame time is not set for the major frame

◆ naibrd_1553_BcAsyncMsgSendAtHighPriority_ExecuteOnce()

NAIBRDFUNC naibrd_1553_t NAIAPI naibrd_1553_BcAsyncMsgSendAtHighPriority_ExecuteOnce ( int16_t device,
uint16_t messageId,
uint16_t timeFactor )

Send an asynchronous message with high priority. Once an asynchronous message is defined, it may be transmitted at high priority again and again as many times as the user requires, but it won't be transmitted more than once at low priority. Moreover, if an asynchronous message has already been transmitted at high priority, it won't be retransmitted at low priority even once. In order to force its retransmission in such a case, the message must be deleted and recreated. The async message will be transmitted only once per call to this function, even if it returns an error (e.g. no response error). To use this function, the BC must be configured for high priority async mode using the naibrd_1553_BcCfg function by passing in NAIBRD_1553_BC_ASYNCHRONOUS_HIGH_PRIORITY_MODE as the dwOptions parameter. Please refer to the m1553_bc_send_msg_async sample C code for an example that utilizes this function effectively.

Parameters
device: (Input) Logical Device Number (0-31).
messageId: (Input) Unique ID Number for an existing asynchronous message.
timeFactor: (Input) Unused.
Returns
  • NAI_SUCCESS when function is completed successfully
  • NAIBRD_1553_RC_INVALID_DEVICE_NUMBER when incorrect device number was input
  • NAIBRD_1553_RC_INVALID_MODE when device mode is not set to BC
  • NAIBRD_1553_RC_INVALID_STATE when device is in an invalid state
  • NAIBRD_1553_RC_SUITABLE_ASYNCHRONOUS_MODE_UNDEFINED when the suitable asynchronous mode is undefined
  • NAIBRD_1553_RC_INVALID_PARAMETER when the message given by the message ID is not valid
  • NAIBRD_1553_RC_ASYNCHRONOUS_MESSAGE_ERROR when the message given by the message ID is not the proper message type or when there was a transmission error
  • NAIBRD_1553_RC_ASYNCHRONOUS_SUBROUTINE_BUSY when the asynchronous subroutine is busy

◆ naibrd_1553_BcAsyncMsgSendAtLowPriority_ExecuteOnce()

NAIBRDFUNC naibrd_1553_t NAIAPI naibrd_1553_BcAsyncMsgSendAtLowPriority_ExecuteOnce ( int16_t device,
uint16_t * p_outremainingMessageCount,
uint16_t timeFactor )

Send asynchronous messages in the low priority queue. The order of message transmission is determined by the message ID (lowest ID first). If either function is called once while the BC is running and a transmitted async message returns an error (e.g. no response error), the message will continue to send on every iteration of the minor frame. However, this function can be called over and over and each time, it will regenerate the async frame only from messages that were not yet sent. In this way, async messages that were already transmitted, regardless of whether or not it returned an error, will stop sending and will need to be deleted and recreated in order to be sent again. This function provides a level of software control to handle low priority async messages that are not communicated successfully. To use this function, the BC must be configured for low priority async mode using the naibrd_1553_BcCfg function. Please refer to the m1553_bc_send_msg_async sample C code for an example that utilizes this function effectively.

Parameters
device: (Input) Logical Device Number (0-31).
p_outremainingMessageCount: (Output) This is always zero.
timeFactor: (Input) Unused.
Returns
  • When function is completed successfully, this function returns the count of asynchronous messages assigned for Tx that are not yet asynchronously transmitted
  • NAIBRD_1553_RC_INVALID_DEVICE_NUMBER when incorrect device number was input
  • NAIBRD_1553_RC_INVALID_MODE when device mode is not set to BC
  • NAIBRD_1553_RC_INVALID_STATE when device is in an invalid state
  • NAIBRD_1553_RC_SUITABLE_ASYNCHRONOUS_MODE_UNDEFINED when the suitable asynchronous mode is undefined
  • NAIBRD_1553_RC_NO_FRAME_TIME_SET_FOR_MAJOR_FRAME when no major frame time is set
  • NAIBRD_1553_RC_ASYNCHRONOUS_SUBROUTINE_BUSY when the asynchronous subroutine is busy
  • NAIBRD_1553_RC_INVALID_PARAMETER when the p_outremainingMessageCount pointer is null
  • NAIBRD_1553_RC_ASYNCHRONOUS_LIST_IS_EMPTY when the asynchronous low priority queue is empty
  • NAIBRD_1553_RC_ALLOCATION_FAIL when memory allocation failed for the Tx subroutine

◆ naibrd_1553_BcAsyncMsgSendOneAtLowPriority()

NAIBRDFUNC naibrd_1553_t NAIAPI naibrd_1553_BcAsyncMsgSendOneAtLowPriority ( int16_t device,
uint16_t messageId )

This function is used to send a single low priority Asynchronous message. This is in contrast to naibrd_1553_BcAsyncMsgSendAtLowPriority* functions, which places all asynchronous messages on a low priority queue. Additionally, this function call does not block (no delays). If this function gets called again before the previous async message was sent, it will return an error. The user should specify the message ID of the asynchronous message to send. This function utilizes GPF-5 so the user should not use GPF-5 for any other purpose if this function is being called in the user application. This function is currently not supported in FTJ/FTK modules. This function is not a DDC compatible function. Note: This API is not supported for 1760 modules at this time.

Parameters
device: (Input) Logical Device Number (0-31).
messageId: (Input) Unique ID Number for an existing asynchronous message.
Returns
  • NAI_SUCCESS when function is completed successfully.
  • NAIBRD_1553_RC_INVALID_DEVICE_NUMBER when incorrect device number was input
  • NAIBRD_1553_RC_INVALID_MODE when device mode is not set to BC
  • NAIBRD_1553_RC_INVALID_STATE when device is in an invalid state
  • NAIBRD_1553_RC_SUITABLE_ASYNCHRONOUS_MODE_UNDEFINED when the suitable asynchronous mode is undefined
  • NAIBRD_1553_RC_NO_FRAME_TIME_SET_FOR_MAJOR_FRAME when no major frame time is set
  • NAIBRD_1553_RC_ASYNCHRONOUS_SUBROUTINE_BUSY when the asynchronous subroutine is busy
  • NAIBRD_1553_RC_ASYNCHRONOUS_MESSAGE_ERROR when the message given by the specified messageId is not an asynchronous message