4#ifndef SRC_SUPLA_NETWORK_ETHERNET_SHIELD_H_
5#define SRC_SUPLA_NETWORK_ETHERNET_SHIELD_H_
10#include <supla/log_wrapper.h>
12#include "../supla_lib_config.h"
18 explicit EthernetShield(uint8_t mac[6],
unsigned char *ip = NULL)
20 memcpy(this->mac, mac, 6);
23 void disable()
override {
24 isDeviceReady =
false;
27 bool isReady()
override {
31 void setup()
override {
33 SUPLA_LOG_INFO(
"Connecting to network...");
35 Ethernet.begin(mac, localIp);
39 result = Ethernet.begin(mac, 10000, 4000);
40 SUPLA_LOG_INFO(
"DHCP connection result: %d", result);
41 isDeviceReady = result == 1 ? true :
false;
45 IPAddress subnetMaskIP = Ethernet.subnetMask();
46 IPAddress gatewayIP = Ethernet.gatewayIP();
47 IPAddress dnsServerIP = Ethernet.dnsServerIP();
49 "localIP: %d.%d.%d.%d", localIP[0], localIP[1], localIP[2], localIP[3]);
50 SUPLA_LOG_INFO(
"subnetMaskIP: %d.%d.%d.%d",
55 SUPLA_LOG_INFO(
"gatewayIP: %d.%d.%d.%d",
60 SUPLA_LOG_INFO(
"dnsServerIP: %d.%d.%d.%d",
65 SUPLA_LOG_INFO(
"ETH MAC: %02X:%02X:%02X:%02X:%02X:%02X",
80 channelState->Fields |=
81 SUPLA_CHANNELSTATE_FIELD_IPV4 | SUPLA_CHANNELSTATE_FIELD_MAC;
82 channelState->IPv4 = Ethernet.localIP();
83 Ethernet.MACAddress(channelState->MAC);
88 bool isDeviceReady =
false;
Definition ip_address.h:15