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