In order to transmit data using a SAP port you must:
Example
ar664_aperiodicSap.c
The code snippets below demonstrate the basic steps needed to setup a SAP port transmission.
...
if (!rc)
{
vlParam.
frameType = MXF_A664_FRAME_TYPE_ARINC664;
}
if (!rc)
{
inet_pton(AF_INET, DST_IP_ADRS, &srcIpAdrs);
inet_pton(AF_INET, SRC_IP_ADRS, &dstIpAdrs);
dstIpAdrs = ntohl(dstIpAdrs);
portParam.
portType = MXF_A664_PORT_TYPE_SAP;
portParam.
family = MXF_A664_PORT_FAMILY_IPV4;
portParam.
mode = MXF_A664_PORT_MODE_QUEUING;
portParam.
type.
SAP.srcAddress.version.IPv4.
address = ntohl(srcIpAdrs);
}
...
for (recordIdx = 0, data = txRec; recordIdx < maxTxRecords && !rc; recordIdx++)
{
data->control = 0;
data->dataSize = TEST_DATASIZE;
data->repeatCount = 1;
data->type.Sap.ipAddress = dstIpAdrs + recordIdx;
data->type.Sap.udpPort = DST_UDP_PORT;
for (dataIdx = 0; dataIdx < TEST_DATASIZE; dataIdx++)
data->data[dataIdx] = (uint8)((dataIdx + ((recordIdx*TEST_DATASIZE) & 0xff)));
}
if (!rc)
{
printf("%llu frames transmitted\n\n", count);
}
...
if (!rc)
...