From 6720f86e5cb68d404d1e2e6b72ee32648702a65a Mon Sep 17 00:00:00 2001 From: mptei Date: Wed, 19 Jan 2022 14:51:00 +0100 Subject: [PATCH] Changed color byte order from WRGB to RGBW (R MSB). (#168) --- src/knx/dptconvert.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/knx/dptconvert.cpp b/src/knx/dptconvert.cpp index bb3ecdd..6fc644f 100644 --- a/src/knx/dptconvert.cpp +++ b/src/knx/dptconvert.cpp @@ -813,8 +813,7 @@ int busValueToRGBW(const uint8_t* payload, size_t payload_length, const Dpt& dat switch (datatype.index) { case 0: // The RGBW value { - uint32_t rgbw = (unsigned32FromPayload(payload, 0) >> 8) - + (unsigned8FromPayload(payload, 3) << 24); + uint32_t rgbw = unsigned32FromPayload(payload, 0); value = rgbw; } return true; @@ -1548,13 +1547,11 @@ int valueToBusValueRGBW(const KNXValue& value, uint8_t* payload, size_t payload_ case 0: // RGBW { uint32_t rgbw = (uint32_t)value; - unsigned16ToPayload(payload, payload_length, 0, rgbw >> 8, 0xffff); // RG - unsigned8ToPayload(payload, payload_length, 2, rgbw, 0xff); // B - unsigned8ToPayload(payload, payload_length, 3, rgbw >> 24, 0xff); // W + unsigned32ToPayload(payload, payload_length, 0, rgbw, 0xffffffff); // RGBW } break; case 1: // Mask bits - unsigned8ToPayload(payload, payload_length, 5, (uint8_t)value, 0xff); + unsigned8ToPayload(payload, payload_length, 5, (uint8_t)value, 0x0f); break; }