Component: TCP/IP (W5500) (W5500) (Comms: Networking): Difference between revisions
Appearance
No edit summary |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (5 intermediate revisions by the same user not shown) | |||
| Line 95: | Line 95: | ||
===CreateIPSocket=== | ===CreateIPSocket=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''CreateIPSocket''' | ||
|- | |- | ||
| colspan="2" | Note that sockets on up to 4 channels can be simultaneously opened and these channels are numbered 0 to 3. Note that sockets with different modes can be opened on different channels. | | colspan="2" | Note that sockets on up to 4 channels can be simultaneously opened and these channels are numbered 0 to 3. Note that sockets with different modes can be opened on different channels. | ||
| Line 124: | Line 124: | ||
===CreateMACSocket=== | ===CreateMACSocket=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''CreateMACSocket''' | ||
|- | |- | ||
| colspan="2" | This macro creates a socket for sending and receiving Ethernet data using raw data. | | colspan="2" | This macro creates a socket for sending and receiving Ethernet data using raw data. | ||
| Line 153: | Line 153: | ||
===CreateTCPSocket=== | ===CreateTCPSocket=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''CreateTCPSocket''' | ||
|- | |- | ||
| colspan="2" | This macro creates a socket for sending and receiving TCP data. | | colspan="2" | This macro creates a socket for sending and receiving TCP data. | ||
| Line 177: | Line 177: | ||
===CreateUDPSocket=== | ===CreateUDPSocket=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''CreateUDPSocket''' | ||
|- | |- | ||
| colspan="2" | This macro creates a socket for sending and receiving UDP data. | | colspan="2" | This macro creates a socket for sending and receiving UDP data. | ||
| Line 201: | Line 201: | ||
===GetSocketStatus=== | ===GetSocketStatus=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetSocketStatus''' | ||
|- | |- | ||
| colspan="2" | This returns the state of the requested channel's socket. | | colspan="2" | This returns the state of the requested channel's socket. | ||
| Line 220: | Line 220: | ||
===Initialise=== | ===Initialise=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Initialise''' | ||
|- | |- | ||
| colspan="2" | Resets and initialises the W5500 IC. Sets up the gateway address, subnet mask, device IP address and device MAC address. This macro must be called before any other TCP_IP component macros. Returns 1 to indicate successful communication. | | colspan="2" | Resets and initialises the W5500 IC. Sets up the gateway address, subnet mask, device IP address and device MAC address. This macro must be called before any other TCP_IP component macros. Returns 1 to indicate successful communication. | ||
| Line 234: | Line 234: | ||
===MIAC_Module_GetData=== | ===MIAC_Module_GetData=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''MIAC_Module_GetData''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 253: | Line 253: | ||
===MIAC_Module_Message=== | ===MIAC_Module_Message=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''MIAC_Module_Message''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 277: | Line 277: | ||
===MIAC_Module_PushData=== | ===MIAC_Module_PushData=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''MIAC_Module_PushData''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 296: | Line 296: | ||
===MIAC_Module_SetData=== | ===MIAC_Module_SetData=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''MIAC_Module_SetData''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 345: | Line 345: | ||
===RxDataAvailable=== | ===RxDataAvailable=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''RxDataAvailable''' | ||
|- | |- | ||
| colspan="2" | This macro is used to check whether or not data has been received by the Internet E-Block. A return value of zero indicated that no data has been received. A positive return value indicates that data is available. | | colspan="2" | This macro is used to check whether or not data has been received by the Internet E-Block. A return value of zero indicated that no data has been received. A positive return value indicates that data is available. | ||
| Line 364: | Line 364: | ||
===RxDataSize=== | ===RxDataSize=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''RxDataSize''' | ||
|- | |- | ||
| colspan="2" | This macro is used to detect the size of data collected by the Rx_data_available macro. | | colspan="2" | This macro is used to detect the size of data collected by the Rx_data_available macro. | ||
| Line 383: | Line 383: | ||
===RxFlushData=== | ===RxFlushData=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''RxFlushData''' | ||
|- | |- | ||
| colspan="2" | Once data reception has been completed, this macro should be called to discard the data packet and allow other data packets to be read. | | colspan="2" | Once data reception has been completed, this macro should be called to discard the data packet and allow other data packets to be read. | ||
| Line 402: | Line 402: | ||
===RxMatchMyIP=== | ===RxMatchMyIP=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''RxMatchMyIP''' | ||
|- | |- | ||
| colspan="2" | This macro returns a non-zero value when the next 4 bytes of data in the specified channel's reception buffer are the same as the Internet E-block's IP address. | | colspan="2" | This macro returns a non-zero value when the next 4 bytes of data in the specified channel's reception buffer are the same as the Internet E-block's IP address. | ||
| Line 421: | Line 421: | ||
===RxMatchMyMAC=== | ===RxMatchMyMAC=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''RxMatchMyMAC''' | ||
|- | |- | ||
| colspan="2" | This macro returns a non-zero value when the next 6 bytes of data in the specified channel's reception buffer are the same as the Internet E-block's MAC address entered in the component's property page. | | colspan="2" | This macro returns a non-zero value when the next 6 bytes of data in the specified channel's reception buffer are the same as the Internet E-block's MAC address entered in the component's property page. | ||
| Line 440: | Line 440: | ||
===RxMatch_2_Bytes=== | ===RxMatch_2_Bytes=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''RxMatch_2_Bytes''' | ||
|- | |- | ||
| colspan="2" | This macro returns a non-zero value when the next 2 bytes of data in the specified channel's reception buffer are the same as those passed as parameters. There are similar functions that check for 4 bytes and 6 bytes. | | colspan="2" | This macro returns a non-zero value when the next 2 bytes of data in the specified channel's reception buffer are the same as those passed as parameters. There are similar functions that check for 4 bytes and 6 bytes. | ||
| Line 469: | Line 469: | ||
===RxMatch_4_Bytes=== | ===RxMatch_4_Bytes=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''RxMatch_4_Bytes''' | ||
|- | |- | ||
| colspan="2" | This macro returns a non-zero value when the next 4 bytes of data in the specified channel's reception buffer are the same as those passed as parameters. There are similar functions that check for 2 bytes and 6 bytes. | | colspan="2" | This macro returns a non-zero value when the next 4 bytes of data in the specified channel's reception buffer are the same as those passed as parameters. There are similar functions that check for 2 bytes and 6 bytes. | ||
| Line 508: | Line 508: | ||
===RxMatch_6_Bytes=== | ===RxMatch_6_Bytes=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''RxMatch_6_Bytes''' | ||
|- | |- | ||
| colspan="2" | This macro returns a non-zero value when the next 6 bytes of data in the specified channel's reception buffer are the same as those passed as parameters. There are similar functions that check for 2 bytes and 4 bytes. | | colspan="2" | This macro returns a non-zero value when the next 6 bytes of data in the specified channel's reception buffer are the same as those passed as parameters. There are similar functions that check for 2 bytes and 4 bytes. | ||
| Line 557: | Line 557: | ||
===RxReadArray=== | ===RxReadArray=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''RxReadArray''' | ||
|- | |- | ||
| colspan="2" | A call to this macro will return a byte of data in the reception buffer of the specified channel. It will also internally increment a pointer to that data so that the next call to 'Rx_readbyte' (or any other read function) will read the next byte | | colspan="2" | A call to this macro will return a byte of data in the reception buffer of the specified channel. It will also internally increment a pointer to that data so that the next call to 'Rx_readbyte' (or any other read function) will read the next byte | ||
| Line 586: | Line 586: | ||
===RxReadByte=== | ===RxReadByte=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''RxReadByte''' | ||
|- | |- | ||
| colspan="2" | A call to this macro will return a byte of data in the reception buffer of the specified channel. It will also internally increment a pointer to that data so that the next call to 'Rx_readbyte' (or any other read function) will read the next byte | | colspan="2" | A call to this macro will return a byte of data in the reception buffer of the specified channel. It will also internally increment a pointer to that data so that the next call to 'Rx_readbyte' (or any other read function) will read the next byte | ||
| Line 605: | Line 605: | ||
===RxReadHeader=== | ===RxReadHeader=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''RxReadHeader''' | ||
|- | |- | ||
| colspan="2" | Once data in a particular channel has been received, the header will be filled with information about the received data. This macro will return the information in the header. The idx parameter specifies which byte of information in the header to read | | colspan="2" | Once data in a particular channel has been received, the header will be filled with information about the received data. This macro will return the information in the header. The idx parameter specifies which byte of information in the header to read | ||
| Line 629: | Line 629: | ||
===RxReadString=== | ===RxReadString=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''RxReadString''' | ||
|- | |- | ||
| colspan="2" | A call to this macro will return a string of data in the reception buffer of the specified channel. It will also internally increment a pointer to that data so that the next call to 'Rx_readbyte' (or any other read function) will read the next byte | | colspan="2" | A call to this macro will return a string of data in the reception buffer of the specified channel. It will also internally increment a pointer to that data so that the next call to 'Rx_readbyte' (or any other read function) will read the next byte | ||
| Line 653: | Line 653: | ||
===RxSkipBytes=== | ===RxSkipBytes=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''RxSkipBytes''' | ||
|- | |- | ||
| colspan="2" | Often when receiving data packets, it may be necessary to ignore large sections of the data. This can be achieved by reading each byte individually (and ignoring the returned data), but a better way is to use this Rx_skipbytes macro. | | colspan="2" | Often when receiving data packets, it may be necessary to ignore large sections of the data. This can be achieved by reading each byte individually (and ignoring the returned data), but a better way is to use this Rx_skipbytes macro. | ||
| Line 677: | Line 677: | ||
===SetDestination=== | ===SetDestination=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetDestination''' | ||
|- | |- | ||
| colspan="2" | This is used in IP and UDP modes to set the destination of the intended data transfer. The destination IP address needs to be set for both IP and UDP modes. | | colspan="2" | This is used in IP and UDP modes to set the destination of the intended data transfer. The destination IP address needs to be set for both IP and UDP modes. | ||
| Line 721: | Line 721: | ||
===SetGateway=== | ===SetGateway=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetGateway''' | ||
|- | |- | ||
| colspan="2" | This macro sets up the Internet E-Block's Gateway address. In most circumstances, this macro will not be required as the gateway address setting in the component property page will remain constant throughout your application. | | colspan="2" | This macro sets up the Internet E-Block's Gateway address. In most circumstances, this macro will not be required as the gateway address setting in the component property page will remain constant throughout your application. | ||
| Line 755: | Line 755: | ||
===SetMACAddress=== | ===SetMACAddress=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetMACAddress''' | ||
|- | |- | ||
| colspan="2" | This macro sets up the Internet E-Block's MAC address. In most circumstances, this macro will not be required as the MAC address setting in the component property page will remain constant throughout your application. | | colspan="2" | This macro sets up the Internet E-Block's MAC address. In most circumstances, this macro will not be required as the MAC address setting in the component property page will remain constant throughout your application. | ||
| Line 799: | Line 799: | ||
===SetMyIP=== | ===SetMyIP=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetMyIP''' | ||
|- | |- | ||
| colspan="2" | This macro sets up the Internet E-Block's own IP address. In most circumstances, this macro will not be required as the IP address setting in the component property page will remain constant throughout your application. | | colspan="2" | This macro sets up the Internet E-Block's own IP address. In most circumstances, this macro will not be required as the IP address setting in the component property page will remain constant throughout your application. | ||
| Line 833: | Line 833: | ||
===SetSubnetMask=== | ===SetSubnetMask=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetSubnetMask''' | ||
|- | |- | ||
| colspan="2" | This macro sets up the Internet E-Block's Subnet Mask. In most circumstances, this macro will not be required as the subnet mask setting in the component property page will remain constant throughout your application. | | colspan="2" | This macro sets up the Internet E-Block's Subnet Mask. In most circumstances, this macro will not be required as the subnet mask setting in the component property page will remain constant throughout your application. | ||
| Line 867: | Line 867: | ||
===TCPClose=== | ===TCPClose=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''TCPClose''' | ||
|- | |- | ||
| colspan="2" | When an established TCP connection has finished transmission of data, either the local application (i.e. your code) or the remote application (i.e. the application at the other end of the connection) can initiate closure of the socket. | | colspan="2" | When an established TCP connection has finished transmission of data, either the local application (i.e. your code) or the remote application (i.e. the application at the other end of the connection) can initiate closure of the socket. | ||
| Line 886: | Line 886: | ||
===TCPConnect=== | ===TCPConnect=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''TCPConnect''' | ||
|- | |- | ||
| colspan="2" | This macro puts a previously opened TCP channel in "active open" mode. This is the required mode when writing a TCP client application (e.g. using SMTP to send an email). | | colspan="2" | This macro puts a previously opened TCP channel in "active open" mode. This is the required mode when writing a TCP client application (e.g. using SMTP to send an email). | ||
| Line 930: | Line 930: | ||
===TCPListen=== | ===TCPListen=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''TCPListen''' | ||
|- | |- | ||
| colspan="2" | This macro puts a previously opened TCP channel in "passive open" mode. This is the required mode when writing a TCP server application (e.g. a web server to display HTML web pages). | | colspan="2" | This macro puts a previously opened TCP channel in "passive open" mode. This is the required mode when writing a TCP server application (e.g. a web server to display HTML web pages). | ||
| Line 949: | Line 949: | ||
===TxEnd=== | ===TxEnd=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''TxEnd''' | ||
|- | |- | ||
| colspan="2" | Once the transmit buffer has been filled with data, call this macro to actually send the data. | | colspan="2" | Once the transmit buffer has been filled with data, call this macro to actually send the data. | ||
| Line 968: | Line 968: | ||
===TxSendArray=== | ===TxSendArray=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''TxSendArray''' | ||
|- | |- | ||
| colspan="2" | This macro fills the specified channel's transmit buffer with data. | | colspan="2" | This macro fills the specified channel's transmit buffer with data. | ||
| Line 997: | Line 997: | ||
===TxSendByte=== | ===TxSendByte=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''TxSendByte''' | ||
|- | |- | ||
| colspan="2" | This macro fills the specified channel's transmit buffer with data. | | colspan="2" | This macro fills the specified channel's transmit buffer with data. | ||
| Line 1,021: | Line 1,021: | ||
===TxSendMyIP=== | ===TxSendMyIP=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''TxSendMyIP''' | ||
|- | |- | ||
| colspan="2" | This macro fills the specified channel's transmit buffer with 4 bytes of data representing this Internet E-Block's IP address as specified in the component's property page. | | colspan="2" | This macro fills the specified channel's transmit buffer with 4 bytes of data representing this Internet E-Block's IP address as specified in the component's property page. | ||
| Line 1,040: | Line 1,040: | ||
===TxSendMyMAC=== | ===TxSendMyMAC=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''TxSendMyMAC''' | ||
|- | |- | ||
| colspan="2" | This macro fills the specified channel's transmit buffer with 6 bytes of data representing this Internet E-Block's MAC address as specified in the component's property page. | | colspan="2" | This macro fills the specified channel's transmit buffer with 6 bytes of data representing this Internet E-Block's MAC address as specified in the component's property page. | ||
| Line 1,059: | Line 1,059: | ||
===TxSendString=== | ===TxSendString=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''TxSendString''' | ||
|- | |- | ||
| colspan="2" | This macro fills the specified channel's transmit buffer with data. It can fill the buffer with a string of information. | | colspan="2" | This macro fills the specified channel's transmit buffer with data. It can fill the buffer with a string of information. | ||
| Line 1,088: | Line 1,088: | ||
===TxStart=== | ===TxStart=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''TxStart''' | ||
|- | |- | ||
| colspan="2" | This macro indicates the start of data transmission for the specified buffer. In TCP mode, data transmission can only begin once the socket has become established. In other modes, data transmission can occur as soon as the socket has been opened. | | colspan="2" | This macro indicates the start of data transmission for the specified buffer. In TCP mode, data transmission can only begin once the socket has become established. In other modes, data transmission can occur as soon as the socket has been opened. | ||
| Line 1,108: | Line 1,108: | ||
==Property reference== | ==Property reference== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Properties''' | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Connections | ||
|- | |- | ||
|- | |- | ||
| Line 1,148: | Line 1,148: | ||
| colspan="2" | Chip Select / Slave Select Pin Master Mode: General purpose output pin used to select the remote SPI device. Slave Mode: Hardware chip select pin input used to select the SPI device. | | colspan="2" | Chip Select / Slave Select Pin Master Mode: General purpose output pin used to select the remote SPI device. Slave Mode: Hardware chip select pin input used to select the SPI device. | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Gateway IP | ||
|- | |- | ||
|- | |- | ||
| Line 1,172: | Line 1,172: | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Subnet Mask | ||
|- | |- | ||
|- | |- | ||
| Line 1,196: | Line 1,196: | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | IP Address | ||
|- | |- | ||
|- | |- | ||
| Line 1,220: | Line 1,220: | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | MAC Address | ||
|- | |- | ||
|- | |- | ||
| Line 1,254: | Line 1,254: | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Simulation | ||
|- | |- | ||
|- | |- | ||
| Line 1,268: | Line 1,268: | ||
| colspan="2" | Decides how to perform the simulation of the component. TCP IP - Communicates using the Windows TCP IP communications DLL SPI / Injector - Communicates using the CAL SPI to allow the communications to be analysed and debugged. | | colspan="2" | Decides how to perform the simulation of the component. TCP IP - Communicates using the Windows TCP IP communications DLL SPI / Injector - Communicates using the CAL SPI to allow the communications to be analysed and debugged. | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | TCP Simulation | ||
|- | |- | ||
|- | |- | ||
Latest revision as of 14:37, 13 July 2026
| Author | Matrix TSL |
| Version | 1.0 |
| Category | Comms: Networking |
TCP/IP (W5500) component
TCP/IP component designed to work with the W5500 device used on the ETH WIZ Click
Detailed description
No detailed description exists yet for this component
Examples
HTTP Server
Simple example showing the W5500 component being used stand alone to create a web server.
Network Comms
Here are some examples using the Network Communication component linked to the W5500 component.
Macro reference
CreateIPSocket
CreateMACSocket
CreateTCPSocket
| CreateTCPSocket | |
| This macro creates a socket for sending and receiving TCP data. | |
| Channel | |
| Specifies the communications channel 0-3 | |
| Src_Port | |
| Port Number | |
| Return | |
CreateUDPSocket
| CreateUDPSocket | |
| This macro creates a socket for sending and receiving UDP data. | |
| Channel | |
| Specifies the communications channel 0-3 | |
| Src_Port | |
| Port Number | |
| Return | |
GetSocketStatus
| GetSocketStatus | |
| This returns the state of the requested channel's socket. | |
| Channel | |
| Specifies the communications channel 0-3 | |
| Return | |
Initialise
MIAC_Module_GetData
| MIAC_Module_GetData | |
| Index | |
| Return | |
MIAC_Module_Message
| MIAC_Module_Message | |
| CAN_ID | |
| CMD_ID | |
| Return | |
MIAC_Module_PushData
| MIAC_Module_PushData | |
| Data | |
| Return | |
MIAC_Module_SetData
| MIAC_Module_SetData | |
| Count | |
| D0 | |
| D1 | |
| D2 | |
| D3 | |
| D4 | |
| D5 | |
| Return | |
RxDataAvailable
RxDataSize
| RxDataSize | |
| This macro is used to detect the size of data collected by the Rx_data_available macro. | |
| Channel | |
| Specifies the communications channel 0-3 | |
| Return | |
RxFlushData
RxMatchMyIP
RxMatchMyMAC
RxMatch_2_Bytes
RxMatch_4_Bytes
RxMatch_6_Bytes
RxReadArray
RxReadByte
RxReadHeader
RxReadString
RxSkipBytes
SetDestination
SetGateway
SetMACAddress
SetMyIP
SetSubnetMask
TCPClose
TCPConnect
TCPListen
TxEnd
| TxEnd | |
| Once the transmit buffer has been filled with data, call this macro to actually send the data. | |
| Channel | |
| Specifies the communications channel 0-3 | |
| Return | |
TxSendArray
TxSendByte
| TxSendByte | |
| This macro fills the specified channel's transmit buffer with data. | |
| Channel | |
| Specifies the communications channel 0-3 | |
| Data | |
| Data byte to append to Tx buffer. | |
| Return | |
TxSendMyIP
TxSendMyMAC
TxSendString
TxStart
Property reference
Component Source Code
Please click here to download the component source project: FC_Comp_Source_TCPIP_W5500.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_TCPIP_W5500.fcfx