Difference between revisions of "Component: TCP Template (Comms: Networking)"

From Flowcode Help
Jump to navigationJump to search
(XML import)
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
+
{| style="width:50%"
 
 
{| width="50%"
 
 
|-
 
|-
| width="20%" style="color: gray;" | Author
+
| width="20%" style="color:gray;" | Author
 
| Matrix Ltd.
 
| Matrix Ltd.
 
|-
 
|-
| width="20%" style="color: gray;" | Version
+
| width="20%" style="color:gray;" | Version
| 2.0 (Release)
+
| 2.2
 
|-
 
|-
| width="20%" style="color: gray;" | Category
+
| width="20%" style="color:gray;" | Category
 
| Comms: Networking
 
| Comms: Networking
 
|}
 
|}
  
  
 +
==TCP Template component==
 +
Base TCP/IP component with simulation only interface to allow TCP/IP style network communications in simulation. Suitable for inheriting
  
==[[File:Component Icon 54369d81_80ed_4d59_97bf_91f4b2cdf24c.png|Image]] TCP Template component==
+
==Component Pack==
Base TCP/IP component with simulation only interface to allow TCP/IP style network communications in simulation.
 
Suitable for inheriting
 
  
==Examples==
+
FREE
Additional examples can be found in the “Apps and Bundles” section of this Wiki:
 
  
[[Internet_Application_Guide | Internet Application Guide]]
+
==Detailed description==
  
[[Wireless_LAN_Application_Guide | Wireless LAN Application Guide]]
 
  
==Downloadable macro reference==
 
  
''This component does not contain any downloadable macros''
 
  
==Simulation macro reference==
 
  
===<span style="font-weight: normal;"><u><tt>TxSendMyIP</tt></u></span>===
 
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.
 
  
'''Parameters'''
 
  
:[[Variable Types|BYTE]] ''Channel''
 
::Specifies the communications channel 0-3
 
  
  
'''Return value'''
 
  
:''This call does not return a value''
 
  
 +
''No detailed description exists yet for this component''
  
===<span style="font-weight: normal;"><u><tt>RxMatchMyIP</tt></u></span>===
+
==Examples==
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.
 
  
'''Parameters'''
 
  
:[[Variable Types|BYTE]] ''Channel''
 
::Specifies the communications channel 0-3
 
  
  
'''Return value'''
 
  
:[[Variable Types|BYTE]]
 
  
  
===<span style="font-weight: normal;"><u><tt>RxMatch_4_Bytes</tt></u></span>===
 
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.
 
  
'''Parameters'''
 
  
:[[Variable Types|BYTE]] ''Channel''
 
::Specifies the communications channel 0-3
 
  
:[[Variable Types|BYTE]] ''Byte1''
 
::Specifies the value of the first byte
 
  
:[[Variable Types|BYTE]] ''Byte2''
 
::Specifies the value of the second byte
 
  
:[[Variable Types|BYTE]] ''Byte3''
+
Additional examples can be found in the “Apps and Bundles” section of this Wiki:
::Specifies the value of the third byte
 
  
:[[Variable Types|BYTE]] ''Byte4''
+
[[Internet_Application_Guide | Internet Application Guide]]
::Specifies the value of the fourth byte
 
  
 +
[[Wireless_LAN_Application_Guide | Wireless LAN Application Guide]]
  
'''Return value'''
+
==Downloadable macro reference==
  
:[[Variable Types|BYTE]]
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | Specifies the communications channel 0-3&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
  
===<span style="font-weight: normal;"><u><tt>SetPropertyVal</tt></u></span>===
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
''<span style="color:red;">No additional information</span>''
+
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | Specifies the communications channel 0-3&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
  
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | Specifies the communications channel 0-3&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Byte1
 +
|-
 +
| colspan="2" | Specifies the value of the first byte&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Byte2
 +
|-
 +
| colspan="2" | Specifies the value of the second byte&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Byte3
 +
|-
 +
| colspan="2" | Specifies the value of the third byte&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Byte4
 +
|-
 +
| colspan="2" | Specifies the value of the fourth byte&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
'''Parameters'''
 
  
:[[Variable Types|<- STRING]] ''Property''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
::''This parameter may be returned back to the caller''
+
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetPropertyVal'''
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" | Property
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" | Value
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
:[[Variable Types|<- STRING]] ''Value''
 
::''This parameter may be returned back to the caller''
 
  
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | IP0
 +
|-
 +
| colspan="2" | First Byte of IP address&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | IP1
 +
|-
 +
| colspan="2" | Second Byte of IP address&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | IP2
 +
|-
 +
| colspan="2" | Third Byte of IP address&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | IP3
 +
|-
 +
| colspan="2" | Fourth Byte of IP address&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
'''Return value'''
 
  
:''This call does not return a value''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''TxSendString'''
 +
|-
 +
| colspan="2" | This macro fills the specified channel's transmit buffer with data.  It can fill the buffer with a single byte of data, or with a string of information.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | Specifies the communications channel 0-3&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" | Data
 +
|-
 +
| colspan="2" | Data byte to append to Tx buffer.&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
  
===<span style="font-weight: normal;"><u><tt>SetMyIP</tt></u></span>===
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
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.
+
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SecureWrite'''
 +
|-
 +
| colspan="2" | Attempts to write max number of bytes to the secure socket from the buffer. Returns actual number of bytes written.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" | buffer
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" | max
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
'''Parameters'''
 
  
:[[Variable Types|BYTE]] ''IP0''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
::First Byte of IP address
+
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Connect'''
 +
|-
 +
| colspan="2" | Attempt to connect to the given address and port. First open a socket on the local device using the Socket function and check that it is successful. &nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" | Address
 +
|-
 +
| colspan="2" | Remote destination address&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Port
 +
|-
 +
| colspan="2" | Remote destination port&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
:[[Variable Types|BYTE]] ''IP1''
 
::Second Byte of IP address
 
  
:[[Variable Types|BYTE]] ''IP2''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
::Third Byte of IP address
+
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ForcePropEvent'''
 +
|-
 +
| colspan="2" | Allows the property event to be fired, doing things like fetching the correct IP for the network interface.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
:[[Variable Types|BYTE]] ''IP3''
 
::Fourth Byte of IP address
 
  
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Receive'''
 +
|-
 +
| colspan="2" | Receive data into the data buffer. Returns the number of bytes received&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" | Data
 +
|-
 +
| colspan="2" | Data byte buffer to receive the data&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Count
 +
|-
 +
| colspan="2" | Maximum number of bytes to read&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
'''Return value'''
 
  
:''This call does not return a value''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SendTo'''
 +
|-
 +
| colspan="2" | Send data to a destination host. Returns the number of bytes sent.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" | Data
 +
|-
 +
| colspan="2" | Data byte buffer to send&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Count
 +
|-
 +
| colspan="2" | Number of bytes to send&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" | Address
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Port
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
  
===<span style="font-weight: normal;"><u><tt>TxSendString</tt></u></span>===
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
This macro fills the specified channel's transmit buffer with data. It can fill the buffer with a single byte of data, or with a string of information.
+
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SecureConnect'''
 +
|-
 +
| colspan="2" | Connect securely to host and port. e.g. “www.bbc.co.uk:443” Returns 1 if successful, 0 if not&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" | host
 +
|-
 +
| colspan="2" | Host:Port as string&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
'''Parameters'''
 
  
:[[Variable Types|BYTE]] ''Channel''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
::Specifies the communications channel 0-3
+
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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 &nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | Specifies the communications channel 0-3&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Idx
 +
|-
 +
| colspan="2" | Specifies the byte index to return&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
:[[Variable Types|<- STRING]] ''Data''
 
::Data byte to append to Tx buffer.
 
::''This parameter may be returned back to the caller''
 
  
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | Specifies the communications channel 0-3&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Count
 +
|-
 +
| colspan="2" | Specifies how many bytes to skip&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
'''Return value'''
 
  
:''This call does not return a value''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | Specifies the communications channel 0-3&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Protocol
 +
|-
 +
| colspan="2" | Specifies which IP protocol to use&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Broadcast
 +
|-
 +
| colspan="2" | Allows broadcast type packets to be sent and received&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
  
===<span style="font-weight: normal;"><u><tt>RxSkipBytes</tt></u></span>===
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
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.
+
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetDestination'''
 +
|-
 +
| colspan="2" | This is used in IP and UDP modes to set the destination of the intended data transferThe destination IP address needs to be set for both IP and UDP modes.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | Specifies the communications channel 0-3&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Dst_IP0
 +
|-
 +
| colspan="2" | Specifies the first byte of an IP address&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Dst_IP1
 +
|-
 +
| colspan="2" | Specifies the second byte of an IP address&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Dst_IP2
 +
|-
 +
| colspan="2" | Specifies the third byte of an IP address&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Dst_IP3
 +
|-
 +
| colspan="2" | Specifies the fourth byte of an IP address&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Dst_Port_Hi
 +
|-
 +
| colspan="2" | Port High Byte&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Dst_Port_Lo
 +
|-
 +
| colspan="2" | Port Low Byte&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
'''Parameters'''
 
  
:[[Variable Types|BYTE]] ''Channel''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
::Specifies the communications channel 0-3
+
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetConsole'''
 +
|-
 +
| colspan="2" | Obtain the console instance for the TCP/IP base.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-h32-icon.png]] - HANDLE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
:[[Variable Types|BYTE]] ''Count''
 
::Specifies how many bytes to skip
 
  
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | Specifies the communications channel 0-3&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
'''Return value'''
 
  
:''This call does not return a value''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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 'RxReadByte' (or any other read function) will read the next byte  &nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
  
===<span style="font-weight: normal;"><u><tt>RxReadHeader</tt></u></span>===
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
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
+
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CreateUDPSocket'''
 +
|-
 +
| colspan="2" | This macro creates a socket for sending and receiving UDP data.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | Specifies the communications channel 0-3&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Src_Port_Hi
 +
|-
 +
| colspan="2" | Port High Byte&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Src_Port_Lo
 +
|-
 +
| colspan="2" | Port Low Byte&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
'''Parameters'''
 
  
:[[Variable Types|BYTE]] ''Channel''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
::Specifies the communications channel 0-3
+
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Send'''
 +
|-
 +
| colspan="2" | Send data&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" | Data
 +
|-
 +
| colspan="2" | Data byte buffer to send&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Count
 +
|-
 +
| colspan="2" | Number of bytes to send&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
:[[Variable Types|BYTE]] ''Idx''
 
::Specifies the byte index to return
 
  
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | Specifies the communications channel 0-3&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Byte1
 +
|-
 +
| colspan="2" | Specifies the value of the first byte&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Byte2
 +
|-
 +
| colspan="2" | Specifies the value of the second byte&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Byte3
 +
|-
 +
| colspan="2" | Specifies the value of the third byte&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Byte4
 +
|-
 +
| colspan="2" | Specifies the value of the fourth byte&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Byte5
 +
|-
 +
| colspan="2" | Specifies the value of the fifth byte&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Byte6
 +
|-
 +
| colspan="2" | Specifies the value of the sixth byte&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
'''Return value'''
 
  
:[[Variable Types|BYTE]]
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | Specifies the communications channel 0-3&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Byte1
 +
|-
 +
| colspan="2" | Specifies the value of the first byte&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Byte2
 +
|-
 +
| colspan="2" | Specifies the value of the second byte&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
  
===<span style="font-weight: normal;"><u><tt>CreateIPSocket</tt></u></span>===
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
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.
+
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SecureClose'''
 +
|-
 +
| colspan="2" | Close the secure connection&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
'''Parameters'''
 
  
:[[Variable Types|BYTE]] ''Channel''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
::Specifies the communications channel 0-3
+
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RxReadString'''
 +
|-
 +
| 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 &nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | Specifies the communications channel 0-3&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Length
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
:[[Variable Types|BYTE]] ''Protocol''
 
::Specifies which IP protocol to use
 
  
:[[Variable Types|BYTE]] ''Broadcast''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
::Allows broadcast type packets to be sent and received
+
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''TxEnd'''
 +
|-
 +
| colspan="2" | Once the transmit buffer has been filled with data, call this macro to actually send the data.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | Specifies the communications channel 0-3&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
  
'''Return value'''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetChannel'''
 +
|-
 +
| colspan="2" | Dictates the TCP IP channel used for socket communications allowing for multiple parrallel communication streams to co-exist, Used by the network comms component to drive the TCP IP runtime comms&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | Range: 0 to 3&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
:[[Variable Types|BYTE]]
 
  
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Listen'''
 +
|-
 +
| colspan="2" | Bind the socket to a port on the local host and set to listen mode. First open a socket on the local device using the Socket function and check that it is successful. &nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Port
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
===<span style="font-weight: normal;"><u><tt>SetDestination</tt></u></span>===
 
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.
 
  
'''Parameters'''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CreateTCPSocket'''
 +
|-
 +
| colspan="2" | This macro creates a socket for sending and receiving TCP data.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | Specifies the communications channel 0-3&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Src_Port_Hi
 +
|-
 +
| colspan="2" | Port High Byte&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Src_Port_Lo
 +
|-
 +
| colspan="2" | Port Low Byte&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
:[[Variable Types|BYTE]] ''Channel''
 
::Specifies the communications channel 0-3
 
  
:[[Variable Types|BYTE]] ''Dst_IP0''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
::Specifies the first byte of an IP address
+
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | Specifies the communications channel 0-3&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
:[[Variable Types|BYTE]] ''Dst_IP1''
 
::Specifies the second byte of an IP address
 
  
:[[Variable Types|BYTE]] ''Dst_IP2''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
::Specifies the third byte of an IP address
+
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SocketOpen'''
 +
|-
 +
| colspan="2" | Attempts to create a socket on the local device. Type =0 for TCP, =1 for UDP This must be successfully done before attempting connection with a remote destination. Returns 1 if successful, 0 if not.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Type
 +
|-
 +
| colspan="2" | Type of socket to create&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
:[[Variable Types|BYTE]] ''Dst_IP3''
 
::Specifies the fourth byte of an IP address
 
  
:[[Variable Types|BYTE]] ''Dst_Port_Hi''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
::Port High Byte
+
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''TxSendByte'''
 +
|-
 +
| colspan="2" | This macro fills the specified channel's transmit buffer with data.  It can fill the buffer with a single byte of data, or with a string of information.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Data
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
:[[Variable Types|BYTE]] ''Dst_Port_Lo''
 
::Port Low Byte
 
  
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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).&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | Specifies the communications channel 0-3&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
'''Return value'''
 
  
:''This call does not return a value''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | Specifies the communications channel 0-3&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
  
===<span style="font-weight: normal;"><u><tt>GetConsole</tt></u></span>===
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
Obtain the console instance for the TCP/IP base.
+
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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).&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | Specifies the communications channel 0-3&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Dst_IP0
 +
|-
 +
| colspan="2" | First Byte of IP address&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Dst_IP1
 +
|-
 +
| colspan="2" | Second Byte of IP address&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Dst_IP2
 +
|-
 +
| colspan="2" | Third Byte of IP address&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Dst_IP3
 +
|-
 +
| colspan="2" | Fourth Byte of IP address&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Dst_Port_Hi
 +
|-
 +
| colspan="2" | High Byte of destination port&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Dst_Port_Lo
 +
|-
 +
| colspan="2" | Low Byte of destination port&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
'''Parameters'''
 
  
:''This macro has no parameters''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetPropertyVal'''
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" | Property
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
  
'''Return value'''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SocketClose'''
 +
|-
 +
| colspan="2" | Close the socket&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
:[[Variable Types|HANDLE]]
 
  
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SecureRead'''
 +
|-
 +
| colspan="2" | Attempts to read max number of bytes from the secure socket into the buffer. Returns actual number of bytes read.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" | buffer
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" | max
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
===<span style="font-weight: normal;"><u><tt>TxStart</tt></u></span>===
 
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.
 
  
'''Parameters'''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | Specifies the communications channel 0-3&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
:[[Variable Types|BYTE]] ''Channel''
 
::Specifies the communications channel 0-3
 
  
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''AcceptOpen'''
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
'''Return value'''
 
  
:''This call does not return a value''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RxDataSize'''
 +
|-
 +
| colspan="2" | This macro is used to detect the size of data collected by the Rx_data_available macro.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | Specifies the communications channel 0-3&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
  
===<span style="font-weight: normal;"><u><tt>RxReadByte</tt></u></span>===
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
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 'RxReadByte' (or any other read function) will read the next byte
+
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | Specifies the communications channel 0-3&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
'''Parameters'''
 
  
:[[Variable Types|BYTE]] ''Channel''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CreateMACSocket'''
 +
|-
 +
| colspan="2" | This macro creates a socket for sending and receiving Ethernet data using raw data.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Promiscuous
 +
|-
 +
| colspan="2" | Receive everything (1) or just data bound for your MAC (0)&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Broadcast
 +
|-
 +
| colspan="2" | Allows broadcast messages to be accepted (1) or rejected (0)&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Error
 +
|-
 +
| colspan="2" | Allowsmessages with errors to be accepted (1) or rejected (0)&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
  
'''Return value'''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''AcceptClose'''
 +
|-
 +
| colspan="2" | Close the accept socket&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
:[[Variable Types|BYTE]]
 
  
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SecureInit'''
 +
|-
 +
| colspan="2" | Call once to initialise the secure socket funtionality&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
===<span style="font-weight: normal;"><u><tt>CreateUDPSocket</tt></u></span>===
 
This macro creates a socket for sending and receiving UDP data.
 
  
'''Parameters'''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetSocketStatus'''
 +
|-
 +
| colspan="2" | This returns the state of the requested channel's socket.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | Specifies the communications channel 0-3&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
:[[Variable Types|BYTE]] ''Channel''
 
::Specifies the communications channel 0-3
 
  
:[[Variable Types|BYTE]] ''Src_Port_Hi''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
::Port High Byte
+
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
 +
|-
 +
| colspan="2" | Resets and initialises the Internet E-Block. It sets up the gateway address, subnet mask, device IP address and device MAC address as defined in the properties of the Flowcode component. This macro must be called before any other TCP_IP component macros &nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
:[[Variable Types|BYTE]] ''Src_Port_Lo''
 
::Port Low Byte
 
  
 
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
'''Return value'''
+
|-
 
+
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
:[[Variable Types|BYTE]]
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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.&nbsp;
===<span style="font-weight: normal;"><u><tt>RxMatch_6_Bytes</tt></u></span>===
+
|-
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.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
'''Parameters'''
+
| width="90%" | Channel
 
+
|-
:[[Variable Types|BYTE]] ''Channel''
+
| colspan="2" | Specifies the communications channel 0-3&nbsp;
::Specifies the communications channel 0-3
+
|-
 
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
:[[Variable Types|BYTE]] ''Byte1''
+
| width="90%" style="border-top: 2px solid #000;" | ''Return''
::Specifies the value of the first byte
+
|}
 
 
:[[Variable Types|BYTE]] ''Byte2''
 
::Specifies the value of the second byte
 
 
 
:[[Variable Types|BYTE]] ''Byte3''
 
::Specifies the value of the third byte
 
 
 
:[[Variable Types|BYTE]] ''Byte4''
 
::Specifies the value of the fourth byte
 
 
 
:[[Variable Types|BYTE]] ''Byte5''
 
::Specifies the value of the fifth byte
 
 
 
:[[Variable Types|BYTE]] ''Byte6''
 
::Specifies the value of the sixth byte
 
 
 
 
 
'''Return value'''
 
 
 
:[[Variable Types|BYTE]]
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>RxMatch_2_Bytes</tt></u></span>===
 
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.
 
 
 
'''Parameters'''
 
 
 
:[[Variable Types|BYTE]] ''Channel''
 
::Specifies the communications channel 0-3
 
 
 
:[[Variable Types|BYTE]] ''Byte1''
 
::Specifies the value of the first byte
 
 
 
:[[Variable Types|BYTE]] ''Byte2''
 
::Specifies the value of the second byte
 
 
 
 
 
'''Return value'''
 
 
 
:[[Variable Types|BYTE]]
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>RxReadString</tt></u></span>===
 
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
 
 
 
'''Parameters'''
 
 
 
:[[Variable Types|BYTE]] ''Channel''
 
::Specifies the communications channel 0-3
 
 
 
:[[Variable Types|BYTE]] ''Length''
 
 
 
 
 
'''Return value'''
 
 
 
:[[Variable Types|STRING]]
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>TxEnd</tt></u></span>===
 
Once the transmit buffer has been filled with data, call this macro to actually send the data.
 
 
 
'''Parameters'''
 
 
 
:[[Variable Types|BYTE]] ''Channel''
 
::Specifies the communications channel 0-3
 
 
 
 
 
'''Return value'''
 
 
 
:''This call does not return a value''
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>CreateTCPSocket</tt></u></span>===
 
This macro creates a socket for sending and receiving TCP data.
 
 
 
'''Parameters'''
 
 
 
:[[Variable Types|BYTE]] ''Channel''
 
::Specifies the communications channel 0-3
 
 
 
:[[Variable Types|BYTE]] ''Src_Port_Hi''
 
::Port High Byte
 
 
 
:[[Variable Types|BYTE]] ''Src_Port_Lo''
 
::Port Low Byte
 
 
 
 
 
'''Return value'''
 
 
 
:[[Variable Types|BYTE]]
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>RxDataAvailable</tt></u></span>===
 
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.
 
 
 
'''Parameters'''
 
 
 
:[[Variable Types|BYTE]] ''Channel''
 
::Specifies the communications channel 0-3
 
 
 
 
 
'''Return value'''
 
 
 
:[[Variable Types|BYTE]]
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>TxSendByte</tt></u></span>===
 
This macro fills the specified channel's transmit buffer with data.  It can fill the buffer with a single byte of data, or with a string of information.
 
 
 
'''Parameters'''
 
 
 
:[[Variable Types|BYTE]] ''Channel''
 
 
 
:[[Variable Types|BYTE]] ''Data''
 
 
 
 
 
'''Return value'''
 
 
 
:''This call does not return a value''
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>TCPListen</tt></u></span>===
 
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).
 
 
 
'''Parameters'''
 
 
 
:[[Variable Types|BYTE]] ''Channel''
 
::Specifies the communications channel 0-3
 
 
 
 
 
'''Return value'''
 
 
 
:''This call does not return a value''
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>RxFlushData</tt></u></span>===
 
Once data reception has been completed, this macro should be called to discard the data packet and allow other data packets to be read.
 
 
 
'''Parameters'''
 
 
 
:[[Variable Types|BYTE]] ''Channel''
 
::Specifies the communications channel 0-3
 
 
 
 
 
'''Return value'''
 
 
 
:''This call does not return a value''
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>TCPConnect</tt></u></span>===
 
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).
 
 
 
'''Parameters'''
 
 
 
:[[Variable Types|BYTE]] ''Channel''
 
::Specifies the communications channel 0-3
 
 
 
:[[Variable Types|BYTE]] ''Dst_IP0''
 
::First Byte of IP address
 
 
 
:[[Variable Types|BYTE]] ''Dst_IP1''
 
::Second Byte of IP address
 
 
 
:[[Variable Types|BYTE]] ''Dst_IP2''
 
::Third Byte of IP address
 
 
 
:[[Variable Types|BYTE]] ''Dst_IP3''
 
::Fourth Byte of IP address
 
 
 
:[[Variable Types|BYTE]] ''Dst_Port_Hi''
 
::High Byte of destination port
 
 
 
:[[Variable Types|BYTE]] ''Dst_Port_Lo''
 
::Low Byte of destination port
 
 
 
 
 
'''Return value'''
 
 
 
:[[Variable Types|BYTE]]
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>GetPropertyVal</tt></u></span>===
 
''<span style="color:red;">No additional information</span>''
 
 
 
 
 
 
 
'''Parameters'''
 
 
 
:[[Variable Types|<- STRING]] ''Property''
 
::''This parameter may be returned back to the caller''
 
 
 
 
 
'''Return value'''
 
 
 
:[[Variable Types|STRING]]
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>RxMatchMyMAC</tt></u></span>===
 
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.
 
 
 
'''Parameters'''
 
 
 
:[[Variable Types|BYTE]] ''Channel''
 
::Specifies the communications channel 0-3
 
 
 
 
 
'''Return value'''
 
 
 
:[[Variable Types|BYTE]]
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>RxDataSize</tt></u></span>===
 
This macro is used to detect the size of data collected by the Rx_data_available macro.
 
 
 
'''Parameters'''
 
 
 
:[[Variable Types|BYTE]] ''Channel''
 
::Specifies the communications channel 0-3
 
 
 
 
 
'''Return value'''
 
 
 
:[[Variable Types|BYTE]]
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>TxSendMyMAC</tt></u></span>===
 
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.
 
 
 
'''Parameters'''
 
 
 
:[[Variable Types|BYTE]] ''Channel''
 
::Specifies the communications channel 0-3
 
 
 
 
 
'''Return value'''
 
 
 
:''This call does not return a value''
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>CreateMACSocket</tt></u></span>===
 
This macro creates a socket for sending and receiving Ethernet data using raw data.
 
 
 
'''Parameters'''
 
 
 
:[[Variable Types|BYTE]] ''Promiscuous''
 
::Receive everything (1) or just data bound for your MAC (0)
 
 
 
:[[Variable Types|BYTE]] ''Broadcast''
 
::Allows broadcast messages to be accepted (1) or rejected (0)
 
 
 
:[[Variable Types|BYTE]] ''Error''
 
::Allowsmessages with errors to be accepted (1) or rejected (0)
 
 
 
 
 
'''Return value'''
 
 
 
:[[Variable Types|BYTE]]
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>GetSocketStatus</tt></u></span>===
 
This returns the state of the requested channel's socket.
 
 
 
'''Parameters'''
 
 
 
:[[Variable Types|BYTE]] ''Channel''
 
::Specifies the communications channel 0-3
 
 
 
 
 
'''Return value'''
 
 
 
:[[Variable Types|BYTE]]
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>TCPClose</tt></u></span>===
 
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.
 
 
 
'''Parameters'''
 
 
 
:[[Variable Types|BYTE]] ''Channel''
 
::Specifies the communications channel 0-3
 
 
 
 
 
'''Return value'''
 
 
 
:''This call does not return a value''
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>Initialise</tt></u></span>===
 
Resets and initialises the Internet E-Block. It sets up the gateway address, subnet mask, device IP address and device MAC address as defined in the properties of the Flowcode component. This macro must be called before any other TCP_IP component macros
 
 
 
'''Parameters'''
 
 
 
:''This macro has no parameters''
 
 
 
 
 
'''Return value'''
 
 
 
:''This call does not return a value''
 
  
  
Line 605: Line 1,126:
  
 
==Property reference==
 
==Property reference==
<span style="font-weight: normal;"><u>Hostname</u></span>
 
  
This property is of type ''Line of text'' and can be referenced with the variable name ''hostname''.
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
+
|-
Local PC's hostname
+
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
 
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
<span style="font-weight: normal;"><u>Network Interface</u></span>
+
|-
 
+
|-
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''interface''.
+
| width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
 
+
| width="90%" | Hostname
List of network interfaces connected to the PC.  
+
|-
 
+
| colspan="2" | Local PC's hostname&nbsp;
Sets which interface we are communicating via.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
<span style="font-weight: normal;"><u>Gateway0</u></span>
+
| width="90%" | Network Interface
 
+
|-
This property is of type ''Signed integer'' and can be referenced with the variable name ''gateway0''.
+
| colspan="2" | List of network interfaces connected to the PC. Sets which interface we are communicating via.&nbsp;
 
+
|-
Gateway IP address to the Internet, auto populated from the selected interface.
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Gateway IP
<span style="font-weight: normal;"><u>Gateway1</u></span>
+
|-
 
+
|-
This property is of type ''Signed integer'' and can be referenced with the variable name ''gateway1''.
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 
+
| width="90%" | Gateway0
Gateway IP address to the Internet, auto populated from the selected interface.
+
|-
 
+
| colspan="2" | Gateway IP address to the Internet, auto populated from the selected interface.&nbsp;
<span style="font-weight: normal;"><u>Gateway2</u></span>
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
This property is of type ''Signed integer'' and can be referenced with the variable name ''gateway2''.
+
| width="90%" | Gateway1
 
+
|-
Gateway IP address to the Internet, auto populated from the selected interface.
+
| colspan="2" | Gateway IP address to the Internet, auto populated from the selected interface.&nbsp;
 
+
|-
<span style="font-weight: normal;"><u>Gateway3</u></span>
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 
+
| width="90%" | Gateway2
This property is of type ''Signed integer'' and can be referenced with the variable name ''gateway3''.
+
|-
 
+
| colspan="2" | Gateway IP address to the Internet, auto populated from the selected interface.&nbsp;
Gateway IP address to the Internet, auto populated from the selected interface.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
<span style="font-weight: normal;"><u>Subnet0</u></span>
+
| width="90%" | Gateway3
 
+
|-
This property is of type ''Signed integer'' and can be referenced with the variable name ''subnet0''.
+
| colspan="2" | Gateway IP address to the Internet, auto populated from the selected interface.&nbsp;
 
+
|-
Network IP subnet mask, auto populated from the selected interface.
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Subnet Mask
<span style="font-weight: normal;"><u>Subnet1</u></span>
+
|-
 
+
|-
This property is of type ''Signed integer'' and can be referenced with the variable name ''subnet1''.
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 
+
| width="90%" | Subnet0
Network IP subnet mask, auto populated from the selected interface.
+
|-
 
+
| colspan="2" | Network IP subnet mask, auto populated from the selected interface.&nbsp;
<span style="font-weight: normal;"><u>Subnet2</u></span>
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
This property is of type ''Signed integer'' and can be referenced with the variable name ''subnet2''.
+
| width="90%" | Subnet1
 
+
|-
Network IP subnet mask, auto populated from the selected interface.
+
| colspan="2" | Network IP subnet mask, auto populated from the selected interface.&nbsp;
 
+
|-
<span style="font-weight: normal;"><u>Subnet3</u></span>
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 
+
| width="90%" | Subnet2
This property is of type ''Signed integer'' and can be referenced with the variable name ''subnet3''.
+
|-
 
+
| colspan="2" | Network IP subnet mask, auto populated from the selected interface.&nbsp;
Network IP subnet mask, auto populated from the selected interface.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
<span style="font-weight: normal;"><u>IP0</u></span>
+
| width="90%" | Subnet3
 
+
|-
This property is of type ''Signed integer'' and can be referenced with the variable name ''ip0''.
+
| colspan="2" | Network IP subnet mask, auto populated from the selected interface.&nbsp;
 
+
|-
Network IP address, auto populated from the selected interface.
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | IP Address
<span style="font-weight: normal;"><u>IP1</u></span>
+
|-
 
+
|-
This property is of type ''Signed integer'' and can be referenced with the variable name ''ip1''.
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 
+
| width="90%" | IP0
Network IP address, auto populated from the selected interface.
+
|-
 
+
| colspan="2" | Network IP address, auto populated from the selected interface.&nbsp;
<span style="font-weight: normal;"><u>IP2</u></span>
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
This property is of type ''Signed integer'' and can be referenced with the variable name ''ip2''.
+
| width="90%" | IP1
 
+
|-
Network IP address, auto populated from the selected interface.
+
| colspan="2" | Network IP address, auto populated from the selected interface.&nbsp;
 
+
|-
<span style="font-weight: normal;"><u>IP3</u></span>
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 
+
| width="90%" | IP2
This property is of type ''Signed integer'' and can be referenced with the variable name ''ip3''.
+
|-
 
+
| colspan="2" | Network IP address, auto populated from the selected interface.&nbsp;
Network IP address, auto populated from the selected interface.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
<span style="font-weight: normal;"><u>MAC0</u></span>
+
| width="90%" | IP3
 
+
|-
This property is of type ''Signed integer'' and can be referenced with the variable name ''mac0''.
+
| colspan="2" | Network IP address, auto populated from the selected interface.&nbsp;
 
+
|-
Network MAC address, auto populated from the selected interface.
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | MAC Address
<span style="font-weight: normal;"><u>MAC1</u></span>
+
|-
 
+
|-
This property is of type ''Signed integer'' and can be referenced with the variable name ''mac1''.
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 
+
| width="90%" | MAC0
Network MAC address, auto populated from the selected interface.
+
|-
 
+
| colspan="2" | Network MAC address, auto populated from the selected interface.&nbsp;
<span style="font-weight: normal;"><u>MAC2</u></span>
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
This property is of type ''Signed integer'' and can be referenced with the variable name ''mac2''.
+
| width="90%" | MAC1
 
+
|-
Network MAC address, auto populated from the selected interface.
+
| colspan="2" | Network MAC address, auto populated from the selected interface.&nbsp;
 
+
|-
<span style="font-weight: normal;"><u>MAC3</u></span>
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 
+
| width="90%" | MAC2
This property is of type ''Signed integer'' and can be referenced with the variable name ''mac3''.
+
|-
 
+
| colspan="2" | Network MAC address, auto populated from the selected interface.&nbsp;
Network MAC address, auto populated from the selected interface.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
<span style="font-weight: normal;"><u>MAC4</u></span>
+
| width="90%" | MAC3
 
+
|-
This property is of type ''Signed integer'' and can be referenced with the variable name ''mac4''.
+
| colspan="2" | Network MAC address, auto populated from the selected interface.&nbsp;
 
+
|-
Network MAC address, auto populated from the selected interface.
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 
+
| width="90%" | MAC4
<span style="font-weight: normal;"><u>MAC5</u></span>
+
|-
 
+
| colspan="2" | Network MAC address, auto populated from the selected interface.&nbsp;
This property is of type ''Signed integer'' and can be referenced with the variable name ''mac5''.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
Network MAC address, auto populated from the selected interface.
+
| width="90%" | MAC5
 
+
|-
<span style="font-weight: normal;"><u>Target</u></span>
+
| colspan="2" | Network MAC address, auto populated from the selected interface.&nbsp;
 
+
|-
This property is of type ''Panel object'' and can be referenced with the variable name ''notify_target''.
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Notify
Sets a target object, to which User.Notify events will be sent when data is sent and received.
+
|-
 
+
|-
Events are send with Message ID = this component's handle,  Data: 1=Send, 2=Receive.
+
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 +
| width="90%" | Console Data
 +
|-
 +
| colspan="2" | Generate Console Data&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-17-icon.png]]
 +
| width="90%" | Target
 +
|-
 +
| colspan="2" | Sets a target object, to which User.Notify events will be sent when data is sent and received. Events are send with Message ID = this component's handle,  Data: 1=Send, 2=Receive.&nbsp;
 +
|}

Latest revision as of 17:24, 9 November 2022

Author Matrix Ltd.
Version 2.2
Category Comms: Networking


TCP Template component

Base TCP/IP component with simulation only interface to allow TCP/IP style network communications in simulation. Suitable for inheriting

Component Pack

FREE

Detailed description

No detailed description exists yet for this component

Examples

Additional examples can be found in the “Apps and Bundles” section of this Wiki:

Internet Application Guide

Wireless LAN Application Guide

Downloadable macro reference

Fc9-comp-macro.png TxSendMyIP
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. 
Fc9-u8-icon.png - BYTE Channel
Specifies the communications channel 0-3 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png RxMatchMyIP
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. 
Fc9-u8-icon.png - BYTE Channel
Specifies the communications channel 0-3 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png RxMatch_4_Bytes
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. 
Fc9-u8-icon.png - BYTE Channel
Specifies the communications channel 0-3 
Fc9-u8-icon.png - BYTE Byte1
Specifies the value of the first byte 
Fc9-u8-icon.png - BYTE Byte2
Specifies the value of the second byte 
Fc9-u8-icon.png - BYTE Byte3
Specifies the value of the third byte 
Fc9-u8-icon.png - BYTE Byte4
Specifies the value of the fourth byte 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png SetPropertyVal
 
Fc9-string-icon.png - STRING Property
 
Fc9-string-icon.png - STRING Value
 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png SetMyIP
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. 
Fc9-u8-icon.png - BYTE IP0
First Byte of IP address 
Fc9-u8-icon.png - BYTE IP1
Second Byte of IP address 
Fc9-u8-icon.png - BYTE IP2
Third Byte of IP address 
Fc9-u8-icon.png - BYTE IP3
Fourth Byte of IP address 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png TxSendString
This macro fills the specified channel's transmit buffer with data. It can fill the buffer with a single byte of data, or with a string of information. 
Fc9-u8-icon.png - BYTE Channel
Specifies the communications channel 0-3 
Fc9-string-icon.png - STRING Data
Data byte to append to Tx buffer. 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png SecureWrite
Attempts to write max number of bytes to the secure socket from the buffer. Returns actual number of bytes written. 
Fc9-string-icon.png - STRING buffer
 
Fc9-s16-icon.png - INT max
 
Fc9-s16-icon.png - INT Return


Fc9-comp-macro.png Connect
Attempt to connect to the given address and port. First open a socket on the local device using the Socket function and check that it is successful.  
Fc9-string-icon.png - STRING Address
Remote destination address 
Fc9-u16-icon.png - UINT Port
Remote destination port 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png ForcePropEvent
Allows the property event to be fired, doing things like fetching the correct IP for the network interface. 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png Receive
Receive data into the data buffer. Returns the number of bytes received 
Fc9-string-icon.png - STRING Data
Data byte buffer to receive the data 
Fc9-u16-icon.png - UINT Count
Maximum number of bytes to read 
Fc9-u16-icon.png - UINT Return


Fc9-comp-macro.png SendTo
Send data to a destination host. Returns the number of bytes sent. 
Fc9-string-icon.png - STRING Data
Data byte buffer to send 
Fc9-u16-icon.png - UINT Count
Number of bytes to send 
Fc9-string-icon.png - STRING Address
 
Fc9-u16-icon.png - UINT Port
 
Fc9-u16-icon.png - UINT Return


Fc9-comp-macro.png SecureConnect
Connect securely to host and port. e.g. “www.bbc.co.uk:443” Returns 1 if successful, 0 if not 
Fc9-string-icon.png - STRING host
Host:Port as string 
Fc9-s16-icon.png - INT Return


Fc9-comp-macro.png RxReadHeader
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  
Fc9-u8-icon.png - BYTE Channel
Specifies the communications channel 0-3 
Fc9-u8-icon.png - BYTE Idx
Specifies the byte index to return 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png RxSkipBytes
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. 
Fc9-u8-icon.png - BYTE Channel
Specifies the communications channel 0-3 
Fc9-u8-icon.png - BYTE Count
Specifies how many bytes to skip 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png CreateIPSocket
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. 
Fc9-u8-icon.png - BYTE Channel
Specifies the communications channel 0-3 
Fc9-u8-icon.png - BYTE Protocol
Specifies which IP protocol to use 
Fc9-u8-icon.png - BYTE Broadcast
Allows broadcast type packets to be sent and received 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png SetDestination
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. 
Fc9-u8-icon.png - BYTE Channel
Specifies the communications channel 0-3 
Fc9-u8-icon.png - BYTE Dst_IP0
Specifies the first byte of an IP address 
Fc9-u8-icon.png - BYTE Dst_IP1
Specifies the second byte of an IP address 
Fc9-u8-icon.png - BYTE Dst_IP2
Specifies the third byte of an IP address 
Fc9-u8-icon.png - BYTE Dst_IP3
Specifies the fourth byte of an IP address 
Fc9-u8-icon.png - BYTE Dst_Port_Hi
Port High Byte 
Fc9-u8-icon.png - BYTE Dst_Port_Lo
Port Low Byte 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png GetConsole
Obtain the console instance for the TCP/IP base. 
Fc9-h32-icon.png - HANDLE Return


Fc9-comp-macro.png TxStart
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. 
Fc9-u8-icon.png - BYTE Channel
Specifies the communications channel 0-3 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png RxReadByte
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 'RxReadByte' (or any other read function) will read the next byte  
Fc9-u8-icon.png - BYTE Channel
 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png CreateUDPSocket
This macro creates a socket for sending and receiving UDP data. 
Fc9-u8-icon.png - BYTE Channel
Specifies the communications channel 0-3 
Fc9-u8-icon.png - BYTE Src_Port_Hi
Port High Byte 
Fc9-u8-icon.png - BYTE Src_Port_Lo
Port Low Byte 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png Send
Send data 
Fc9-string-icon.png - STRING Data
Data byte buffer to send 
Fc9-u16-icon.png - UINT Count
Number of bytes to send 
Fc9-u16-icon.png - UINT Return


Fc9-comp-macro.png RxMatch_6_Bytes
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. 
Fc9-u8-icon.png - BYTE Channel
Specifies the communications channel 0-3 
Fc9-u8-icon.png - BYTE Byte1
Specifies the value of the first byte 
Fc9-u8-icon.png - BYTE Byte2
Specifies the value of the second byte 
Fc9-u8-icon.png - BYTE Byte3
Specifies the value of the third byte 
Fc9-u8-icon.png - BYTE Byte4
Specifies the value of the fourth byte 
Fc9-u8-icon.png - BYTE Byte5
Specifies the value of the fifth byte 
Fc9-u8-icon.png - BYTE Byte6
Specifies the value of the sixth byte 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png RxMatch_2_Bytes
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. 
Fc9-u8-icon.png - BYTE Channel
Specifies the communications channel 0-3 
Fc9-u8-icon.png - BYTE Byte1
Specifies the value of the first byte 
Fc9-u8-icon.png - BYTE Byte2
Specifies the value of the second byte 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png SecureClose
Close the secure connection 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png RxReadString
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  
Fc9-u8-icon.png - BYTE Channel
Specifies the communications channel 0-3 
Fc9-u8-icon.png - BYTE Length
 
Fc9-string-icon.png - STRING Return


Fc9-comp-macro.png TxEnd
Once the transmit buffer has been filled with data, call this macro to actually send the data. 
Fc9-u8-icon.png - BYTE Channel
Specifies the communications channel 0-3 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png SetChannel
Dictates the TCP IP channel used for socket communications allowing for multiple parrallel communication streams to co-exist, Used by the network comms component to drive the TCP IP runtime comms 
Fc9-u8-icon.png - BYTE Channel
Range: 0 to 3 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png Listen
Bind the socket to a port on the local host and set to listen mode. First open a socket on the local device using the Socket function and check that it is successful.  
Fc9-u16-icon.png - UINT Port
 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png CreateTCPSocket
This macro creates a socket for sending and receiving TCP data. 
Fc9-u8-icon.png - BYTE Channel
Specifies the communications channel 0-3 
Fc9-u8-icon.png - BYTE Src_Port_Hi
Port High Byte 
Fc9-u8-icon.png - BYTE Src_Port_Lo
Port Low Byte 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png RxDataAvailable
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. 
Fc9-u8-icon.png - BYTE Channel
Specifies the communications channel 0-3 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png SocketOpen
Attempts to create a socket on the local device. Type =0 for TCP, =1 for UDP This must be successfully done before attempting connection with a remote destination. Returns 1 if successful, 0 if not. 
Fc9-u8-icon.png - BYTE Type
Type of socket to create 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png TxSendByte
This macro fills the specified channel's transmit buffer with data. It can fill the buffer with a single byte of data, or with a string of information. 
Fc9-u8-icon.png - BYTE Channel
 
Fc9-u8-icon.png - BYTE Data
 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png TCPListen
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). 
Fc9-u8-icon.png - BYTE Channel
Specifies the communications channel 0-3 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png RxFlushData
Once data reception has been completed, this macro should be called to discard the data packet and allow other data packets to be read. 
Fc9-u8-icon.png - BYTE Channel
Specifies the communications channel 0-3 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png TCPConnect
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). 
Fc9-u8-icon.png - BYTE Channel
Specifies the communications channel 0-3 
Fc9-u8-icon.png - BYTE Dst_IP0
First Byte of IP address 
Fc9-u8-icon.png - BYTE Dst_IP1
Second Byte of IP address 
Fc9-u8-icon.png - BYTE Dst_IP2
Third Byte of IP address 
Fc9-u8-icon.png - BYTE Dst_IP3
Fourth Byte of IP address 
Fc9-u8-icon.png - BYTE Dst_Port_Hi
High Byte of destination port 
Fc9-u8-icon.png - BYTE Dst_Port_Lo
Low Byte of destination port 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png GetPropertyVal
 
Fc9-string-icon.png - STRING Property
 
Fc9-string-icon.png - STRING Return


Fc9-comp-macro.png SocketClose
Close the socket 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png SecureRead
Attempts to read max number of bytes from the secure socket into the buffer. Returns actual number of bytes read. 
Fc9-string-icon.png - STRING buffer
 
Fc9-s16-icon.png - INT max
 
Fc9-s16-icon.png - INT Return


Fc9-comp-macro.png RxMatchMyMAC
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. 
Fc9-u8-icon.png - BYTE Channel
Specifies the communications channel 0-3 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png AcceptOpen
 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png RxDataSize
This macro is used to detect the size of data collected by the Rx_data_available macro. 
Fc9-u8-icon.png - BYTE Channel
Specifies the communications channel 0-3 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png TxSendMyMAC
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. 
Fc9-u8-icon.png - BYTE Channel
Specifies the communications channel 0-3 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png CreateMACSocket
This macro creates a socket for sending and receiving Ethernet data using raw data. 
Fc9-u8-icon.png - BYTE Promiscuous
Receive everything (1) or just data bound for your MAC (0) 
Fc9-u8-icon.png - BYTE Broadcast
Allows broadcast messages to be accepted (1) or rejected (0) 
Fc9-u8-icon.png - BYTE Error
Allowsmessages with errors to be accepted (1) or rejected (0) 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png AcceptClose
Close the accept socket 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png SecureInit
Call once to initialise the secure socket funtionality 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png GetSocketStatus
This returns the state of the requested channel's socket. 
Fc9-u8-icon.png - BYTE Channel
Specifies the communications channel 0-3 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png Initialise
Resets and initialises the Internet E-Block. It sets up the gateway address, subnet mask, device IP address and device MAC address as defined in the properties of the Flowcode component. This macro must be called before any other TCP_IP component macros  
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png TCPClose
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. 
Fc9-u8-icon.png - BYTE Channel
Specifies the communications channel 0-3 
Fc9-void-icon.png - VOID Return



Property reference

Fc9-prop-icon.png Properties
Fc9-type-10-icon.png Hostname
Local PC's hostname 
Fc9-type-16-icon.png Network Interface
List of network interfaces connected to the PC. Sets which interface we are communicating via. 
Fc9-conn-icon.png Gateway IP
Fc9-type-14-icon.png Gateway0
Gateway IP address to the Internet, auto populated from the selected interface. 
Fc9-type-14-icon.png Gateway1
Gateway IP address to the Internet, auto populated from the selected interface. 
Fc9-type-14-icon.png Gateway2
Gateway IP address to the Internet, auto populated from the selected interface. 
Fc9-type-14-icon.png Gateway3
Gateway IP address to the Internet, auto populated from the selected interface. 
Fc9-conn-icon.png Subnet Mask
Fc9-type-14-icon.png Subnet0
Network IP subnet mask, auto populated from the selected interface. 
Fc9-type-14-icon.png Subnet1
Network IP subnet mask, auto populated from the selected interface. 
Fc9-type-14-icon.png Subnet2
Network IP subnet mask, auto populated from the selected interface. 
Fc9-type-14-icon.png Subnet3
Network IP subnet mask, auto populated from the selected interface. 
Fc9-conn-icon.png IP Address
Fc9-type-14-icon.png IP0
Network IP address, auto populated from the selected interface. 
Fc9-type-14-icon.png IP1
Network IP address, auto populated from the selected interface. 
Fc9-type-14-icon.png IP2
Network IP address, auto populated from the selected interface. 
Fc9-type-14-icon.png IP3
Network IP address, auto populated from the selected interface. 
Fc9-conn-icon.png MAC Address
Fc9-type-14-icon.png MAC0
Network MAC address, auto populated from the selected interface. 
Fc9-type-14-icon.png MAC1
Network MAC address, auto populated from the selected interface. 
Fc9-type-14-icon.png MAC2
Network MAC address, auto populated from the selected interface. 
Fc9-type-14-icon.png MAC3
Network MAC address, auto populated from the selected interface. 
Fc9-type-14-icon.png MAC4
Network MAC address, auto populated from the selected interface. 
Fc9-type-14-icon.png MAC5
Network MAC address, auto populated from the selected interface. 
Fc9-conn-icon.png Notify
Fc9-type-7-icon.png Console Data
Generate Console Data 
Fc9-type-17-icon.png Target
Sets a target object, to which User.Notify events will be sent when data is sent and received. Events are send with Message ID = this component's handle, Data: 1=Send, 2=Receive.