Difference between revisions of "Component: TCP Template (Comms: Networking)"
From Flowcode Help
Jump to navigationJump to searchLine 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