Author
|
Matrix TSL
|
Version
|
2.2
|
Category
|
Comms: Networking
|
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 for the component source code: FC_Comp_Source_TCPIP_ENC28J60.fcfx
Detailed description
No detailed description exists yet for this component
Examples
No additional examples
Macro reference
|
SetMyIPAddress
|
Allows the IP Address specified in the component properties to be overridden. The IP Address will revert back to the IP specified in the component properties as part of the initialise macro.
|
- BYTE
|
IP0
|
IP Address Parameter - e.g. 192
|
- BYTE
|
IP1
|
IP Address Parameter - e.g. 168
|
- BYTE
|
IP2
|
IP Address Parameter - e.g. 1
|
- BYTE
|
IP3
|
IP Address Parameter - e.g. 250
|
- VOID
|
Return
|
|
PacketSend
|
Attempts to transmit a data packet to the ENC28J60 module.
|
- UINT
|
Length
|
|
- VOID
|
Return
|
|
MakeTcpSynackFromSyn
|
|
- UINT
|
Port
|
|
- VOID
|
Return
|
|
MakeArpRequest
|
|
[[File:]] -
|
ServerIP
|
|
- VOID
|
Return
|
|
InitialiseDataLengthInfo
|
Initialises the data pointers to allow us to craft a response containing data
|
- VOID
|
Return
|
|
MakeTcpAckFromAny
|
|
- UINT
|
Port
|
|
- VOID
|
Return
|
|
PacketReceive
|
Attempts to receive a data packet from the ENC28J60 module. Returns the number of bytes received.
|
- UINT
|
Return
|
|
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
|
|
CheckArpPacketIsMyreplyArp
|
|
- BYTE
|
Return
|
|
CheckForIp
|
Checks to see if the received data is an IP request with my IP address.
|
- UINT
|
Length
|
|
- BYTE
|
Return
|
|
CheckForTCPPort
|
Checks to see if the received data is requesting the server port
|
- UINT
|
Port
|
|
- BYTE
|
Return
|
|
CheckForPing
|
Checks to see if the received data is a Ping request
|
- BYTE
|
Return
|
|
GetModuleRevision
|
Requets the module revision number and returns the value supplied by the module's firmware.
|
- BYTE
|
Return
|
|
MakeTcpAckWithData
|
|
- UINT
|
DataLength
|
|
- VOID
|
Return
|
|
SetMyMACAddress
|
Allows the MAC Address specified in the component properties to be overridden. The MAC Address will revert back to the MAC specified in the component properties as part of the initialise macro.
|
- BYTE
|
MAC0
|
MAC Address Parameter
|
- BYTE
|
MAC1
|
MAC Address Parameter
|
- BYTE
|
MAC2
|
MAC Address Parameter
|
- BYTE
|
MAC3
|
MAC Address Parameter
|
- BYTE
|
MAC4
|
MAC Address Parameter
|
- BYTE
|
MAC5
|
MAC Address Parameter
|
- VOID
|
Return
|
|
MakeArpAnswerFromRequest
|
|
- VOID
|
Return
|
|
ReadArrayFromBuffer
|
Reads an array of bytes from the buffer at location specified for the number of bytes specified. If a space character is encountered then the macro will return straight away without the space character in the string.
|
- UINT
|
BufferLocation
|
|
- BYTE
|
NumberOfBytes
|
Number of bytes to read from the buffer and store into string
|
- BYTE
|
Data
|
|
- VOID
|
Return
|
|
ReadRegister
|
Reads the value from a single register onboard the ENC28J60 module.
|
- BYTE
|
Address
|
|
- BYTE
|
Return
|
|
CheckForARP
|
Checks to see if the received data is an ARP request with my IP address.
|
- UINT
|
Length
|
|
- BYTE
|
Return
|
|
ClientSendPacket
|
|
- UINT
|
DestPort
|
|
- UINT
|
SourcePort
|
|
- BYTE
|
Flags
|
|
- BYTE
|
MaxSegmentSize
|
|
- BYTE
|
ClearSeqAck
|
|
- UINT
|
NextAckNum
|
|
- UINT
|
DataLength
|
|
- BYTE
|
DestMac
|
|
- BYTE
|
DestIp
|
|
- VOID
|
Return
|
|
MakeEchoReplyFromRequest
|
|
- UINT
|
Length
|
|
- VOID
|
Return
|
|
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
|
|
GetDataLength
|
Returns the number of received data bytes after the headers
|
- UINT
|
Return
|
|
GetTcpDataPointer
|
|
- UINT
|
Return
|
|
WriteRegister
|
Writes a value to a single register onboard the ENC28J60 module.
|
- BYTE
|
Address
|
|
- BYTE
|
Data
|
|
- VOID
|
Return
|
|
FillTcpData
|
|
- UINT
|
Position
|
|
- STRING
|
Data
|
|
- UINT
|
Return
|
|
ReadStringFromBuffer
|
Reads a string from the buffer at location specified for the number of bytes specified. If a space character is encountered then the macro will return straight away without the space character in the string.
|
- UINT
|
BufferLocation
|
|
- BYTE
|
NumberOfBytes
|
Number of bytes to read from the buffer and store into string
|
- STRING
|
Return
|
|
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
|
|
FillTcpArray
|
|
- UINT
|
Position
|
|
- UINT
|
Count
|
|
- BYTE
|
Data
|
|
- VOID
|
Return
|
|
Initialise
|
Initialises the SPI connection to the TCPIP module and sets up some initial values. Flashes the LEDs on and off twice to confirm SPI comms are active. LEDs are then configured to auto functionality.
|
- VOID
|
Return
|
Property reference
|
Properties
|
|
TCP IP Specifics
|
|
Server Port
|
Sets the server's TCP/IP port address which is used to filter incoming TCP packets.
|
|
Buffer Size
|
Number of bytes to use for the transmit and receive buffer, we actually use this +1 to allow for a null termination. 8-bit PICs should set this to 255 to allow compilation to succeed. Other devices can have larger buffers. Default = 500
|
|
SPI Settings
|
|
Channel
|
SPI Channel selector
|
|
Prescale
|
Prescale option selector
|
|
MOSI
|
SPI Data Out Pin SDO - Also Known as Master Out Slave In (MOSI) when used in Master mode.
|
|
MISO
|
SPI Data In Pin SDI - Also Known as Master In Slave Out (MISO) when used in Master mode.
|
|
CLK
|
SPI Clock Pin CLK - The Clock signal is driven by the SPI master.
|
|
CS / SS
|
Chip Select / Slave Select Pin Master Mode: General purpose output pin used to select the remote SPI device. Slave Mode: Hardware chip select pin input used to select the SPI device.
|
|
Reset Pin
|
|
|
MAC Address
|
|
MAC0
|
|
|
MAC1
|
|
|
MAC2
|
|
|
MAC3
|
|
|
MAC4
|
|
|
MAC5
|
|
|
IP Address
|
|
IP0
|
|
|
IP1
|
|
|
IP2
|
|
|
IP3
|
|
|
Simulation
|
|
Label
|
|
|
Sim Type
|
Decides how to perform the simulation of the component. TCP IP - Communicates using the Windows TCP IP communications DLL SPI / API - Communicates using the CAL SPI to allow the communications to be analysed and debugged.
|
|
SPI Simulation
|
|
Scope Traces
|
Selects if the scope traces are automatically generated or not
|
|
Console Data
|
Selects if the console data is automatically generated or not
|
|
API
|
|