#include "example.h"
#define BLOCK_COUNT 8
int main(void) {
uint32 rc = MAXT_SUCCESS;
HMXF_SERVER server = 0;
HMXF_CHANNEL rxChannel = 0;
HMXF_CHANNEL txChannel = 0;
size_t bufferSize = 0;
HMXF_BUFFER mxfRxBuffer = 0;
HMXF_BUFFER mxfTxBuffer = 0;
uint64 rxAcqStatus = 0;
uint64 msgCount = 0, byteCount = 0;
uint64 i = 0, iByte = 0;
#ifdef LOCAL
#else
#endif
if (!rc) {
printf("Initializing ...\n");
}
if (!rc) {
rc =
mxfChannelGet(server, MXF_CLASS_ALL, MXF_SCLASS_RX_CHANNEL, MXF_MODULE_FLEXSMP, 0, &rxChannel);
}
if (!rc) {
rc =
mxfChannelGet(server, MXF_CLASS_ALL, MXF_SCLASS_TX_CHANNEL, MXF_MODULE_FLEXSMP, 0, &txChannel);
}
if (!rc) {
}
if (!rc) {
}
if (!rc) {
}
if (!rc) {
}
if (!rc) {
}
if (!rc) {
}
if (!rc) {
}
if (!rc) {
}
if (!rc) {
}
if (!rc) {
}
if (!rc) {
}
if (!rc) {
}
#ifdef LOOPBACK
if (!rc) {
}
#endif
if (!rc) {
}
if (!rc) {
}
if (!rc) {
}
if (!rc) {
printf("Transmitting ...\n");
for (iByte = 0; iByte < BLOCK_COUNT; iByte++) {
txRec[0].
data[iByte] = 0xA5;
}
for (iByte = 2; iByte < BLOCK_COUNT; iByte++) {
txRec[1].
data[iByte] = (uint8)(0x11 * iByte);
}
}
if (!rc) {
}
if (!rc) {
printf("Receiving ...\n");
rc =
mxfCSDBRxAcqRead(mxfRxBuffer, 2, bufferSize, &rxAcqStatus, &msgCount, &byteCount, rxRec);
if (!rc) {
printf("Frame received count = %"PRIu64, msgCount);
if (msgCount == 0) {
printf("\n");
}
}
}
for (i = 0; i < msgCount && !rc; i++) {
printf("\n Record #%"PRIu64, i);
printf(" Timetag: %012"PRIu64", Size:L %u\n", rxRec[i].timeTag, BLOCK_COUNT);
printf(" Data:");
for (iByte = 0; iByte < BLOCK_COUNT; iByte++) {
printf(" 0x%02X", rxRec[i].data[iByte]);
}
printf("\n");
}
if (!rc) {
}
if (rc) {
char errorString[200];
sprintf(errorString, "ERROR # 0x%X", rc);
}
printf("%s\n\r", errorString);
}
printf("Terminating ...\n");
if (mxfRxBuffer) {
}
if (mxfTxBuffer) {
}
printf("\nPress a key to exit\n");
getchar();
return 0;
}