Description
Basic Infos
- [ x] This issue complies with the issue POLICY doc.
- [ x] I have read the documentation at readthedocs and the issue is not addressed there.
- [ x] I have tested that the issue is present in current master branch (aka latest git).
- [x ] I have searched the issue tracker for a similar issue.
- If there is a stack dump, I have decoded it.
- [x ] I have filled out all fields below.
Platform
- Hardware: ESP-12
- Core Version: 2.6.3 and also 2.7
- Development Env: Arduino IDE 1.5
- Operating System: Windows
Settings in IDE
- Module: Wemos D1 mini r2
- Flash Mode:
- Flash Size: 4MB
- lwip Variant: v2 Lower Memory
- Reset Method:
- Flash Frequency: [40Mhz]
- CPU Frequency: 80Mhz
- Upload Using: both OTA and SERIAL
- Upload Speed: 115200
Problem Description
I am facing an issue with trying to implement a WP5500 an ESP12 module
The business case is that I need a very small scale device having both WIFI and ethernet connectity because of mechanical and other constraints.
As far as I know I should use the the Ethernet library from Arduinom which I tried.
However looks like the implementation of this library for the ESP8266 is a bit behind other board as it does't allow to for instance use CS pin (using init method) and lacks a few other method like EthernetLinkStatus
Configuration as following:
- ESP8266 IDE package: 2.6.3 (also tested with latest 2.7.x)
- ESP8266 model: D1 mini pro noname (wemos like)
- pinout as following:
D0 GPIO16 4
D1 GPIO5 20
D2 GPIO4 19 CS
D3 GPIO0 18
D4 DGPIO2 19
D5 GPIO14 5 SCLK
D6 CPIO12 6 MISO
D7 GPIO13 7 MOSI
D8 GPIO15 16
I kept D5,D6,D7 as the standard SPI config (https://arduino-esp8266.readthedocs.io/en/latest/libraries.html#spi) and only use D2 as CS
Header of ethernet.h from last github repo: https://github.com/arduino-libraries/Ethernet
static int maintain();
static EthernetLinkStatus linkStatus();
static EthernetHardwareStatus hardwareStatus();
static void begin(...);
static void init(uint8_t sspin = 10);
static void MACAddress(uint8_t *mac_address);
static IPAddress localIP();
static IPAddress subnetMask();
static IPAddress gatewayIP();
static IPAddress dnsServerIP() { return _dnsServerAddress; }
void setMACAddress(const uint8_t *mac_address);
void setLocalIP(const IPAddress local_ip);
void setSubnetMask(const IPAddress subnet);
void setGatewayIP(const IPAddress gateway);
void setDnsServerIP(const IPAddress dns_server) { _dnsServerAddress = dns_server; }
void setRetransmissionTimeout(uint16_t milliseconds);
void setRetransmissionCount(uint8_t num);
etc...
Header of ethernet.h from ESP8266 board (for arduino IDE 1.5):
only:
void begin(...);
int maintain();
IPAddress localIP();
IPAddress subnetMask();
IPAddress gatewayIP();
IPAddress dnsServerIP();
I tried to :
-
use the ESP8266 native library from the package "as is" but the program is just pending at
if (Ethernet.begin(mac) == 0)
and never continues...(no reset no errors) -
force usage of the most recent library but when compiling I get followinging error message. I could try to but I am a bit afraid that by doing that I will pull a things that will never end:
W5100.setSubnetMask(subnet._address.bytes);
MCVE Sketch
#include <Arduino.h>
#include <Ethernet.h>
byte mac[] = {
0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02
};
void setup() {
if (Ethernet.begin(mac) == 0)
}
void loop() {
// void
}
Debug Messages
no messages
Debug messages go here