
26
API-FDX Linux Getting Started Manual
GmbH
Section 8 – Programming the API-FDX Module
8.1.5. Setting up a UDP Port oriented Transmitter
void MyFdxSetupTxPort()
{
TY_FDX_TX_MODE_CTRL x_TxModeCtrl;
TY_FDX_TRANSMIT_VL x_TxVL;
TY_FDX_UDP_DESCRIPTION x_UdpDesc;
AiUInt32 ul_BytesWritten;
Char pBuf[50];
Int uiBufLen;
//--- Set Port Transmitt mode to: individual/UDP-Port oriented
x_TxModeCtrl.ul_TransmitMode = FDX_TX_INDIVIDUAL;
FdxCmdTxModeControl(g_ulPort1Handle, &x_TxModeCtrl);
//--- Create Virtual Link 60 and define communication parameters for VL
//--- on Port 1
x_TxVL.ul_Bag = 32; //Bag = 32 ms
x_TxVL.ul_MACSourceLSLW = 0x00012120; //MAC Source
x_TxVL.ul_MACSourceMSLW = 0x00000200; //MAC Source
x_TxVL.ul_MaxFrameLength= 1518; //Maximum Frame Length
x_TxVL.ul_SubVls = 2; // # of Sub VLs
x_TxVL.ul_VlId = 60; // VL
FdxCmdTxCreateVL(g_ulPort1Handle, &x_TxVL);
//--- Create a UDP Sampling Port on VL 60 (Sub VL 1)
x_UdpDesc.ul_PortType = FDX_UDP_SAMPLING;
x_UdpDesc.x_Quint.ul_IpDst = 0xe0e0003c; //Dest IP 224.224.0.60
x_UdpDesc.x_Quint.ul_IpSrc = 0x0a812101; //Src IP 10.129.33.1
x_UdpDesc.x_Quint.ul_UdpDst = 23; //UDP Dest 23
x_UdpDesc.x_Quint.ul_UdpSrc = 24; //UDP Src 24
x_UdpDesc.x_Quint.ul_VlId = 60; //VL 60
x_UdpDesc.ul_SubVlId = 1; //Sub VL 1
x_UdpDesc.ul_UdpNumBufMessages= 0; //0=Default
x_UdpDesc.ul_UdpMaxMessageSize= 200; //Max UDP Message Size
x_UdpDesc.ul_UdpSamplingRate = 100; //100 ms
FdxCmdTxUDPCreatePort(g_ulPort1Handle, &x_UdpDesc, &g_Udp1Port1Handle);
//--- Create a UDP Sampling Port on VL 60 (Sub VL 2)
x_UdpDesc.ul_PortType = FDX_UDP_SAMPLING;
x_UdpDesc.x_Quint.ul_IpDst = 0xe0e0003c; //Dest IP 224.224.0.60
x_UdpDesc.x_Quint.ul_IpSrc = 0x0a812101; //Src IP 10.129.33.1
x_UdpDesc.x_Quint.ul_UdpDst = 25; //UDP Dest 25
x_UdpDesc.x_Quint.ul_UdpSrc = 26; //UDP Src 26
x_UdpDesc.x_Quint.ul_VlId = 60; //VL 60
x_UdpDesc.ul_SubVlId = 2; //Sub VL 2
x_UdpDesc.ul_UdpNumBufMessages= 0; //0=Default
x_UdpDesc.ul_UdpMaxMessageSize= 200; //Max UDP Message Size
x_UdpDesc.ul_UdpSamplingRate = 200; //200 ms
FdxCmdTxUDPCreatePort(g_ulPort1Handle, &x_UdpDesc, &g_Udp2Port1Handle);
//Write message to UDP Port on Sub VL 1
if (g_Udp1Port1Handle != NULL)
{
sprintf(pBuf, “Testing UDP Port on Sub VL 60 -- Sub VL 1”);
uiBufLen = strlen(pBuf);
FdxCmdTxUDPWrite(g_ulPort1Handle, g_Udp1Port1Handle,
uiBufLen, (const void *) pBuf,
&ul_BytesWritten)
}
Содержание API-FDX-2 V2
Страница 2: ......
Страница 6: ...iv GmbH THIS PAGE IS INTENTIONALLY LEFT BLANK...
Страница 8: ...vi GmbH A DOWNLOADING THE BSP FROM AIM ONLINE 37...
Страница 14: ...6 API FDX Linux Getting Started Manual GmbH Section 2 Requirements THIS PAGE IS INTENTIONALLY LEFT BLANK...
Страница 22: ...14 API FDX Linux Getting Started Manual GmbH Section 2 Requirements THIS PAGE IS INTENTIONALLY LEFT BLANK...
Страница 44: ...36 API FDX Linux Getting Started Manual GmbH Section 9 Notes THIS PAGE INTENTIONALLY LEFT BLANK...
Страница 48: ...40 API FDX Linux Getting Started Manual GmbH Appendix B Cross Compilation THIS PAGE INTENTIONALLY LEFT BLANK...