Difference between revisions of "Component: TCP Template (Comms: Networking)"
From Flowcode Help
Jump to navigationJump to search| Line 77: | Line 77: | ||
[[Wireless_LAN_Application_Guide | Wireless LAN Application Guide]]  | [[Wireless_LAN_Application_Guide | Wireless LAN Application Guide]]  | ||
| + | |||
| + | |||
| Line 82: | Line 84: | ||
==Macro reference==  | ==Macro reference==  | ||
| + | ===TxSendMyIP===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 100: | Line 103: | ||
| + | ===RxMatchMyIP===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 118: | Line 122: | ||
| + | ===RxMatch_4_Bytes===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 156: | Line 161: | ||
| + | ===SetPropertyVal===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 179: | Line 185: | ||
| + | ===SetMyIP===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 212: | Line 219: | ||
| + | ===TxSendString===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 235: | Line 243: | ||
| + | ===SecureWrite===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 258: | Line 267: | ||
| + | ===Connect===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 281: | Line 291: | ||
| + | ===ForcePropEvent===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 294: | Line 305: | ||
| + | ===Receive===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 317: | Line 329: | ||
| + | ===SendTo===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 350: | Line 363: | ||
| + | ===SecureConnect===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 368: | Line 382: | ||
| + | ===RxReadHeader===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 391: | Line 406: | ||
| + | ===RxSkipBytes===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 414: | Line 430: | ||
| + | ===CreateIPSocket===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 442: | Line 459: | ||
| + | ===SetDestination===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 490: | Line 508: | ||
| + | ===GetConsole===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 503: | Line 522: | ||
| + | ===TxStart===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 521: | Line 541: | ||
| + | ===RxReadByte===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 539: | Line 560: | ||
| + | ===CreateUDPSocket===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 567: | Line 589: | ||
| + | ===Send===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 590: | Line 613: | ||
| + | ===RxMatch_6_Bytes===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 638: | Line 662: | ||
| + | ===RxMatch_2_Bytes===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 666: | Line 691: | ||
| + | ===SecureClose===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 679: | Line 705: | ||
| + | ===RxReadString===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 702: | Line 729: | ||
| + | ===TxEnd===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 720: | Line 748: | ||
| + | ===SetChannel===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 738: | Line 767: | ||
| + | ===Listen===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 756: | Line 786: | ||
| + | ===CreateTCPSocket===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 784: | Line 815: | ||
| + | ===RxDataAvailable===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 802: | Line 834: | ||
| + | ===SocketOpen===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 820: | Line 853: | ||
| + | ===TxSendByte===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 843: | Line 877: | ||
| + | ===TCPListen===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 861: | Line 896: | ||
| + | ===RxFlushData===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 879: | Line 915: | ||
| + | ===TCPConnect===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 927: | Line 964: | ||
| + | ===GetPropertyVal===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 945: | Line 983: | ||
| + | ===SocketClose===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 958: | Line 997: | ||
| + | ===SecureRead===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 981: | Line 1,021: | ||
| + | ===RxMatchMyMAC===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 999: | Line 1,040: | ||
| + | ===AcceptOpen===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 1,012: | Line 1,054: | ||
| + | ===RxDataSize===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 1,030: | Line 1,073: | ||
| + | ===TxSendMyMAC===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 1,048: | Line 1,092: | ||
| + | ===CreateMACSocket===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 1,076: | Line 1,121: | ||
| + | ===AcceptClose===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 1,089: | Line 1,135: | ||
| + | ===SecureInit===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 1,102: | Line 1,149: | ||
| + | ===GetSocketStatus===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 1,120: | Line 1,168: | ||
| + | ===Initialise===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 1,133: | Line 1,182: | ||
| + | ===TCPClose===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
Revision as of 11:52, 3 February 2023
| Author | Matrix Ltd. | 
| Version | 2.2 | 
| Category | Comms: Networking | 
Contents
- 1 TCP Template component
 - 2 Component Source Code
 - 3 Detailed description
 - 4 Examples
 - 5 Macro reference
- 5.1 TxSendMyIP
 - 5.2 RxMatchMyIP
 - 5.3 RxMatch_4_Bytes
 - 5.4 SetPropertyVal
 - 5.5 SetMyIP
 - 5.6 TxSendString
 - 5.7 SecureWrite
 - 5.8 Connect
 - 5.9 ForcePropEvent
 - 5.10 Receive
 - 5.11 SendTo
 - 5.12 SecureConnect
 - 5.13 RxReadHeader
 - 5.14 RxSkipBytes
 - 5.15 CreateIPSocket
 - 5.16 SetDestination
 - 5.17 GetConsole
 - 5.18 TxStart
 - 5.19 RxReadByte
 - 5.20 CreateUDPSocket
 - 5.21 Send
 - 5.22 RxMatch_6_Bytes
 - 5.23 RxMatch_2_Bytes
 - 5.24 SecureClose
 - 5.25 RxReadString
 - 5.26 TxEnd
 - 5.27 SetChannel
 - 5.28 Listen
 - 5.29 CreateTCPSocket
 - 5.30 RxDataAvailable
 - 5.31 SocketOpen
 - 5.32 TxSendByte
 - 5.33 TCPListen
 - 5.34 RxFlushData
 - 5.35 TCPConnect
 - 5.36 GetPropertyVal
 - 5.37 SocketClose
 - 5.38 SecureRead
 - 5.39 RxMatchMyMAC
 - 5.40 AcceptOpen
 - 5.41 RxDataSize
 - 5.42 TxSendMyMAC
 - 5.43 CreateMACSocket
 - 5.44 AcceptClose
 - 5.45 SecureInit
 - 5.46 GetSocketStatus
 - 5.47 Initialise
 - 5.48 TCPClose
 
 - 6 Property reference
 
TCP Template component
Base TCP/IP component with simulation only interface to allow TCP/IP style network communications in simulation. Suitable for inheriting
Component Source Code
Please click here to download the component source project: FC_Comp_Source_TCPIP_Base.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_TCPIP_Base.fcfx
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:
Wireless LAN Application Guide
Macro reference
TxSendMyIP
RxMatchMyIP
RxMatch_4_Bytes
SetPropertyVal
| SetPropertyVal | |
| Property | |
| Value | |
| Return | |
SetMyIP
TxSendString
SecureWrite
| SecureWrite | |
| Attempts to write max number of bytes to the secure socket from the buffer. Returns actual number of bytes written. | |
| buffer | |
| max | |
| Return | |
Connect
ForcePropEvent
| ForcePropEvent | |
| Allows the property event to be fired, doing things like fetching the correct IP for the network interface. | |
| Return | |
Receive
| Receive | |
| Receive data into the data buffer. Returns the number of bytes received | |
| Data | |
| Data byte buffer to receive the data | |
| Count | |
| Maximum number of bytes to read | |
| Return | |
SendTo
| SendTo | |
| Send data to a destination host. Returns the number of bytes sent. | |
| Data | |
| Data byte buffer to send | |
| Count | |
| Number of bytes to send | |
| Address | |
| Port | |
| Return | |
SecureConnect
| SecureConnect | |
| Connect securely to host and port. e.g. “www.bbc.co.uk:443” Returns 1 if successful, 0 if not | |
| host | |
| Host:Port as string | |
| Return | |
RxReadHeader
RxSkipBytes
CreateIPSocket
SetDestination
GetConsole
| GetConsole | |
| Obtain the console instance for the TCP/IP base. | |
| Return | |
TxStart
RxReadByte
CreateUDPSocket
Send
| Send | |
| Send data | |
| Data | |
| Data byte buffer to send | |
| Count | |
| Number of bytes to send | |
| Return | |
RxMatch_6_Bytes
RxMatch_2_Bytes
SecureClose
| SecureClose | |
| Close the secure connection | |
| Return | |
RxReadString
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 | |
SetChannel
Listen
| 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. | |
| Port | |
| Return | |
CreateTCPSocket
RxDataAvailable
SocketOpen
TxSendByte
TCPListen
RxFlushData
TCPConnect
GetPropertyVal
| GetPropertyVal | |
| Property | |
| Return | |
SocketClose
| SocketClose | |
| Close the socket | |
| Return | |
SecureRead
| SecureRead | |
| Attempts to read max number of bytes from the secure socket into the buffer. Returns actual number of bytes read. | |
| buffer | |
| max | |
| Return | |
RxMatchMyMAC
AcceptOpen
| AcceptOpen | |
| Return | |
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 | |
TxSendMyMAC
CreateMACSocket
AcceptClose
| AcceptClose | |
| Close the accept socket | |
| Return | |
SecureInit
| SecureInit | |
| Call once to initialise the secure socket funtionality | |
| Return | |
GetSocketStatus
| GetSocketStatus | |
| This returns the state of the requested channel's socket. | |
| Channel | |
| Specifies the communications channel 0-3 | |
| Return | |
Initialise
TCPClose