friendev EtherDune TCP/IP library
|
Implements an ICMP Echo request service. More...
#include <ICMPPinger.h>
Public Member Functions | |
void | ping (const IPAddress &targetIP) |
Send an ICMP Echo request (ping) to the specified target IP address. More... | |
virtual void | onPingReply (uint16_t roundtripTime)=0 |
Additional Inherited Members | |
![]() | |
bool | loadAll () |
Loads the entire ICMP packet into memory. More... | |
void | calcICMPChecksum () |
Calculates the ICMP checksum and populates the checksum field in the ICMP header. More... | |
void | sendICMPPacket (const IPAddress &targetIP, uint16_t dataLength) |
Sends an ICMP packet More... | |
![]() | |
NetworkService () | |
~NetworkService () | |
virtual void | tick () |
This is a timer function that is called every NETWORK_TIMER_RESOLUTION milliseconds on every service. More... | |
virtual void | onDNSResolve (uint8_t status, uint16_t identification, const IPAddress &ip) |
Called on each network service every time a DNS response is received. More... | |
![]() | |
static bool | sendIPPacket (uint16_t length) |
Puts the current in-memory packet in the network More... | |
static void | prepareIPPacket (const IPAddress &remoteIP) |
Sets up common IP header values for all outgoing IP packets and calculates the IP header checksum More... | |
static bool | sameLAN (IPAddress &dst) |
Determines whether the given IP is in the same subnet as localIP More... | |
static bool | begin (uint8_t cspin) |
Initializes EtherDune and the underlying hardware More... | |
static void | loop () |
Gives processing time to EtherDune so that it can check for incoming packets or send queued packets. More... | |
static DNSClient & | DNS () |
Obtains access to the DNS service singleton instance. More... | |
![]() | |
static void | writeByte (byte b) |
static void | writeByte (uint16_t dst, byte b) |
static void | writeBuf (uint16_t dst, uint16_t len, const byte *data) |
static void | writeBuf (uint16_t len, const byte *data) |
static uint16_t | hardwareChecksum (uint16_t src, uint16_t len) |
static uint16_t | hardwareChecksumRxOffset (uint16_t offset, uint16_t len) |
static void | moveMem (uint16_t dest, uint16_t src, uint16_t len) |
static void | readBuf (uint16_t src, uint16_t len, byte *data) |
static void | readBuf (uint16_t len, byte *data) |
static byte | readByte (uint16_t src) |
static void | packetSend (uint16_t len) |
static void | packetSend (uint16_t len, const byte *data) |
static void | loadSample () |
static void | loadAll () |
static void | release () |
static uint8_t | begin (uint8_t cspin) |
static void | loop () |
static void | enableBroadcast () |
static bool | isLinkUp () |
Determines whether the network link is ready More... | |
![]() | |
static EthBuffer | packet |
in-memory packet buffer currently being processed. More... | |
static ARPService | ARP |
ARP singleton instance. More... | |
static MACAddress | localMAC |
Ethernet MAC address. More... | |
static IPAddress | localIP = { 0, 0, 0, 0 } |
IP address of this application. More... | |
static IPAddress | gatewayIP = { 0, 0, 0, 0 } |
IP address of the gateway in this network. More... | |
static IPAddress | netmask = { 0, 0, 0, 0 } |
Subnet mask. More... | |
static IPAddress | dnsIP = { 0, 0, 0, 0 } |
IP address of the DNS server to use. More... | |
Implements an ICMP Echo request service.
This class allows you to send ping messages.
In order to process ping replies, create a derived class and override the onPingReply() virtual function
See PingTest.ino for an example
Definition at line 30 of file ICMPPinger.h.
|
pure virtual |
void ICMPPinger::ping | ( | const IPAddress & | targetIP | ) |
Send an ICMP Echo request (ping) to the specified target IP address.
You can specify the length of the test payload by editing the ICMP_PING_DATA_LENGTH configuration constant. See ICMP configuration for more information
targetIP | The target IP address |
Definition at line 44 of file ICMPPinger.cpp.