3 #ifdef ARDUINO_ARCH_ESP8266
4 #include <user_interface.h>
11 #define KNX_SERIAL Serial
15 #ifndef KNX_NO_DEFAULT_UART
27 return WiFi.localIP();
32 return WiFi.subnetMask();
37 return WiFi.gatewayIP();
42 wifi_get_macaddr(STATION_IF, addr);
47 return ESP.getChipId();
58 _multicastAddr = htonl(addr);
59 _multicastPort = port;
60 IPAddress mcastaddr(_multicastAddr);
62 KNX_DEBUG_SERIAL.printf(
"setup multicast addr: %s port: %d ip: %s\n", mcastaddr.toString().c_str(), port,
63 WiFi.localIP().toString().c_str());
64 uint8 result = _udp.beginMulticast(WiFi.localIP(), mcastaddr, port);
65 KNX_DEBUG_SERIAL.printf(
"multicast setup result %d\n", result);
76 _udp.beginPacketMulticast(_multicastAddr, _multicastPort, WiFi.localIP());
77 _udp.write(buffer, len);
84 int len = _udp.parsePacket();
91 KNX_DEBUG_SERIAL.printf(
"udp buffer to small. was %d, needed %d\n", maxLen, len);
95 _udp.read(buffer, len);
102 IPAddress ucastaddr(htonl(addr));
103 println(
"sendBytesUniCast endPacket fail");
105 if (_udp.beginPacket(ucastaddr, port) == 1)
107 _udp.write(buffer, len);
109 if (_udp.endPacket() == 0)
110 println(
"sendBytesUniCast endPacket fail");
113 println(
"sendBytesUniCast beginPacket fail");
120 uint8_t* eepromptr = EEPROM.getDataPtr();
122 if (eepromptr ==
nullptr)
125 eepromptr = EEPROM.getDataPtr();