Difference between revisions of "Component: TCP/IP (ENC28J60) (Comms: Networking)"
From Flowcode Help
Jump to navigationJump to searchLine 65: | Line 65: | ||
The HTML to drive the web pages is included in the flowchart near the bottom of the main program loop. | The HTML to drive the web pages is included in the flowchart near the bottom of the main program loop. | ||
+ | |||
{{Fcfile|ENC28J60_Example.fcfx|ENC28J60 Example}} | {{Fcfile|ENC28J60_Example.fcfx|ENC28J60 Example}} | ||
Latest revision as of 13:18, 10 October 2024
Author | Matrix TSL |
Version | 2.2 |
Category | Comms: Networking |
Contents
- 1 TCP/IP (ENC28J60) component
- 2 Component Source Code
- 3 Detailed description
- 4 Examples
- 5 Macro reference
- 5.1 CheckArpPacketIsMyreplyArp
- 5.2 CheckForARP
- 5.3 CheckForIp
- 5.4 CheckForPing
- 5.5 CheckForTCPPort
- 5.6 CheckForTCPType
- 5.7 ClientSendPacket
- 5.8 ControlLEDs
- 5.9 FillTcpArray
- 5.10 FillTcpData
- 5.11 GetDataLength
- 5.12 GetModuleRevision
- 5.13 GetSendersMAC
- 5.14 GetTcpDataPointer
- 5.15 Initialise
- 5.16 InitialiseDataLengthInfo
- 5.17 MakeArpAnswerFromRequest
- 5.18 MakeArpRequest
- 5.19 MakeEchoReplyFromRequest
- 5.20 MakeTcpAckFromAny
- 5.21 MakeTcpAckWithData
- 5.22 MakeTcpSynackFromSyn
- 5.23 PacketReceive
- 5.24 PacketSend
- 5.25 ReadArrayFromBuffer
- 5.26 ReadRegister
- 5.27 ReadStringFromBuffer
- 5.28 SetMyIPAddress
- 5.29 SetMyMACAddress
- 5.30 WriteRegister
- 6 Property reference
TCP/IP (ENC28J60) component
A set of routines used to control a ENC28J60 TCP/IP Module. Required connections VCC, Reset, GND, SCK, MISO, MOSI, CS. Leave these pins disconnected CLKOUT, ENC_WOL, ENC_INT
Component Source Code
Please click here to download the component source project: FC_Comp_Source_TCPIP_ENC28J60.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_TCPIP_ENC28J60.fcfx
Detailed description
No detailed description exists yet for this component
Examples
Here is a simple example to help get started with the ENC28J60 module.
The example program creates a web page server on the network and will also respond to ping requests.
The HTML to drive the web pages is included in the flowchart near the bottom of the main program loop.
Macro reference
CheckArpPacketIsMyreplyArp
CheckArpPacketIsMyreplyArp | |
- BYTE | Return |
CheckForARP
CheckForARP | |
Checks to see if the received data is an ARP request with my IP address. | |
- UINT | Length |
- BYTE | Return |
CheckForIp
CheckForIp | |
Checks to see if the received data is an IP request with my IP address. | |
- UINT | Length |
- BYTE | Return |
CheckForPing
CheckForPing | |
Checks to see if the received data is a Ping request | |
- BYTE | Return |
CheckForTCPPort
CheckForTCPPort | |
Checks to see if the received data is requesting the server port | |
- UINT | Port |
- BYTE | Return |
CheckForTCPType
CheckForTCPType | |
Checks to what kind of TCP type the received data is requesting. Returns a bit field specifying the type of request. 0x01 = Ack Requires, 0x02 = Synchronise 0x10 = Ack | |
- BYTE | Return |
ClientSendPacket
ClientSendPacket | |
- UINT | DestPort |
- UINT | SourcePort |
- BYTE | Flags |
- BYTE | MaxSegmentSize |
- BYTE | ClearSeqAck |
- UINT | NextAckNum |
- UINT | DataLength |
- BYTE | DestMac |
- BYTE | DestIp |
- VOID | Return |
ControlLEDs
ControlLEDs | |
Allows both the LEDs on the Ethernet socket to be controlled. Useful for checking if the SPI communications are functioning correctly. | |
- BYTE | Mode |
0=Off, 1=On, 2=Auto | |
- VOID | Return |
FillTcpArray
FillTcpArray | |
- UINT | Position |
- UINT | Count |
- BYTE | Data |
- VOID | Return |
FillTcpData
FillTcpData | |
- UINT | Position |
- STRING | Data |
- UINT | Return |
GetDataLength
GetDataLength | |
Returns the number of received data bytes after the headers | |
- UINT | Return |
GetModuleRevision
GetModuleRevision | |
Requets the module revision number and returns the value supplied by the module's firmware. | |
- BYTE | Return |
GetSendersMAC
GetSendersMAC | |
Gets the MAC address from locations 6-11 of the IP Header | |
- BYTE | MAC |
6-byte Array to store the MAC address | |
- VOID | Return |
GetTcpDataPointer
GetTcpDataPointer | |
- UINT | Return |
Initialise
InitialiseDataLengthInfo
InitialiseDataLengthInfo | |
Initialises the data pointers to allow us to craft a response containing data | |
- VOID | Return |
MakeArpAnswerFromRequest
MakeArpAnswerFromRequest | |
- VOID | Return |
MakeArpRequest
MakeArpRequest | |
- BYTE | ServerIP |
- VOID | Return |
MakeEchoReplyFromRequest
MakeEchoReplyFromRequest | |
- UINT | Length |
- VOID | Return |
MakeTcpAckFromAny
MakeTcpAckFromAny | |
- UINT | Port |
- VOID | Return |
MakeTcpAckWithData
MakeTcpAckWithData | |
- UINT | DataLength |
- VOID | Return |
MakeTcpSynackFromSyn
MakeTcpSynackFromSyn | |
- UINT | Port |
- VOID | Return |
PacketReceive
PacketReceive | |
Attempts to receive a data packet from the ENC28J60 module. Returns the number of bytes received. | |
- UINT | Return |
PacketSend
PacketSend | |
Attempts to transmit a data packet to the ENC28J60 module. | |
- UINT | Length |
- VOID | Return |
ReadArrayFromBuffer
ReadRegister
ReadRegister | |
Reads the value from a single register onboard the ENC28J60 module. | |
- BYTE | Address |
- BYTE | Return |
ReadStringFromBuffer
SetMyIPAddress
SetMyMACAddress
WriteRegister
WriteRegister | |
Writes a value to a single register onboard the ENC28J60 module. | |
- BYTE | Address |
- BYTE | Data |
- VOID | Return |