3 #ifdef ARDUINO_ARCH_ESP32
10 #define KNX_SERIAL Serial1
11 #pragma warn "KNX_SERIAL not defined, using Serial1"
19 #define KNX_NETIF WiFi
23 #ifndef KNX_NO_DEFAULT_UART
27 #ifdef KNX_UART_RX_PIN
28 _rxPin = KNX_UART_RX_PIN;
30 #ifdef KNX_UART_TX_PIN
31 _txPin = KNX_UART_TX_PIN;
48 _knxSerial->begin(19200, SERIAL_8E1, _rxPin, _txPin);
76 uint64_t chipid = ESP.getEfuseMac();
77 uint32_t upperId = (chipid >> 32) & 0xFFFFFFFF;
78 uint32_t lowerId = (chipid & 0xFFFFFFFF);
79 return (upperId ^ lowerId);
90 IPAddress mcastaddr(htonl(addr));
92 KNX_DEBUG_SERIAL.printf(
"setup multicast addr: %s port: %d ip: %s\n", mcastaddr.toString().c_str(), port,
94 uint8_t result = _udp.beginMulticast(mcastaddr, port);
95 KNX_DEBUG_SERIAL.printf(
"multicast setup result %d\n", result);
106 _udp.beginMulticastPacket();
107 _udp.write(buffer, len);
114 int len = _udp.parsePacket();
121 println(
"Unexpected UDP data packet length - drop packet");
123 for (
size_t i = 0; i < len; i++)
129 _udp.read(buffer, len);
144 IPAddress ucastaddr(htonl(addr));
152 if (_udp.beginPacket(ucastaddr, port) == 1)
154 _udp.write(buffer, len);
156 if (_udp.endPacket() == 0)
157 println(
"sendBytesUniCast endPacket fail");
160 println(
"sendBytesUniCast beginPacket fail");
167 uint8_t* eepromptr = EEPROM.getDataPtr();
169 if (eepromptr ==
nullptr)
172 eepromptr = EEPROM.getDataPtr();