MX Foundation 4
Periodic Update Message Service

The transmission channel of ARINC 629 modules supports this service (logical channel 1 to 120).

The Periodic Update Message Service allows a message for a specified buffer to be refreshed. The mxfA629TxPeriodicUpdateMsgWrite() function is used to refresh the data of a specific buffer.

Every time a terminal transmits a wordstring, the associate wordstring in the message buffer will be sent. By default, the messages for all buffers are initialized to zero. If the message is not updated, 0 will be sent on the bus. When all messages of the buffer have been sent, the last message will be repeated indefinitely while the message queue is no longer updated.

Refer to the MXF_A629_DATAREC structure for data updating.

Periodic message updating step:

MXF_ASYNCEVENT_COND_TXPERIODIC_UPDATEMSG_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.

#define TX_BUFFER_SIZE 10000
uint32 rc;
HMXF_CHANNEL txChannel;
uint64 index=0;
HMXF_BUFFER txBuffer[1];
...
rc = mxfTxPeriodicUpdateMsgBufferAlloc(txChannel, index, TX_BUFFER_SIZE, &txBuffer[0], NULL);
if(!rc)
{
memset(&txRec629, 0, sizeof(txRec629));
txRec629.control = 0;
txRec629.repeatCount = 1;
txRec629.dataSize = 514;
txRec629.data[0] = 0;
txRec629.data[1] = 0x1111;
rc = mxfA629TxPeriodicUpdateMsgWrite(txBuffer[0], 1, &txRec629);
}
}
...
Updated 10/23/2023