MX Foundation 4
|
The BC allows the user to send aperiodic messages that are inserted into the current minor frame message on a one shot basis or just sent when the major frame is stopped. Two types of messages are supported: low priority and high priority. One FIFO per priority is used to send a message to the BC. Each message may be sent now or on the specified time tag. When a time tag is used, the message will be sent on or after this time tag. Refer to the mxfMIL1553TxAperiodicWrite() function.
A delay before sending the aperiodic commands can be set by using the MXF_MIL1553_DATAREC.service.txAperiodic.delay field.
MXF_ASYNCEVENT_COND_TXAPERIODIC_BUFFER_THRESHOLD event condition can be registered so a callback handler can be automatically called when the number of messages of a buffer falls below a determined threshold.
Major frame stopped
Low and high priority FIFO may be used if the major frame is stopped. With the now option, all messages in the high priority queue will be transmitted before the low priority ones. With the time tag option, the next high priority message will be sent first only if the time tag is before or equal to the next low priority message.
mil1553_aperiodic.c
Major frame started
Aperiodic message(s) are executed upon the completion of the current message when transmitted NOW or when the time tag has been reached. Then, the aperiodic message(s) are sent by the BC. The BC then returns to the current minor frame message.
Aperiodic messages will be sent at the end of the current minor frame, if there is a gap before the transmission of the next minor frame. If not, the BC will retry to send the message at the end of the next minor frame. This process will be repeated until the message is executed.