#include "udp_logger.h" UDPLogger::UDPLogger() {} UDPLogger::UDPLogger(IPAddress interface_addr, IPAddress multicast_addr, int port, String name) { _interfaceAddr = interface_addr; _multicastAddr = multicast_addr; _name = name; _port = port; _udp.beginMulticast(_interfaceAddr, _multicastAddr, _port); } void UDPLogger::set_name(String name) { _name = name; } void UDPLogger::log_string(String message) { // wait 5 milliseconds if last send was less than 10 milliseconds before if ((system_get_time() / 1000) < (_lastSend + 10)) { delay(10); } message = _name + ": " + message; #ifdef SERIAL_DEBUG Serial.println(message); delay(10); #endif /* SERIAL_DEBUG */ _udp.beginPacketMulticast(_multicastAddr, _port, _interfaceAddr); message.toCharArray(_packetBuffer, 100); _udp.print(_packetBuffer); _udp.endPacket(); _lastSend = (system_get_time() / 1000); } void UDPLogger::log_color_24bit(uint32_t color) { uint8_t result_red = color >> 16 & UINT8_MAX; uint8_t result_green = color >> 8 & UINT8_MAX; uint8_t result_blue = color & UINT8_MAX; log_string(String(result_red) + ", " + String(result_green) + ", " + String(result_blue)); }