mirror of
https://github.com/CalcProgrammer1/OpenRGB.git
synced 2026-04-16 11:56:56 -04:00
Revert data type to simple value for maximum compatibility
- Keep data_type = 1 instead of 0x0B to maintain compatibility with existing devices - While 0x0B is spec-compliant, many devices may work with the simpler value - Keep other specification compliance fixes (sequence number, data size) - Add both constants for future reference This ensures existing WLED and other DDP devices continue working while maintaining the benefits of other specification compliance improvements.
This commit is contained in:
@@ -226,7 +226,7 @@ bool DDPController::SendDDPPacket(const DDPDevice& device, const unsigned char*
|
||||
// CRITICAL FIX: Use 0x41 instead of 0x40 - WLED requires the Push bit to be set
|
||||
header->flags = DDP_FLAG_VER_1 | DDP_FLAG_PUSH;
|
||||
header->sequence = sequence_number & 0x0F; // Only use 4-bit nibble (0-15) per DDP spec
|
||||
header->data_type = DDP_TYPE_RGB8; // RGB 8-bit per DDP spec
|
||||
header->data_type = 1; // RGB data type (keeping simple value for compatibility)
|
||||
header->dest_id = 1; // Default output device
|
||||
header->data_offset = htonl(offset);
|
||||
header->data_length = htons(length);
|
||||
|
||||
@@ -35,7 +35,9 @@
|
||||
|
||||
// DDP Data Type definitions (bits: C R TTT SSS)
|
||||
// C: 0=standard, 1=custom; R: reserved; TTT: data type; SSS: size
|
||||
#define DDP_TYPE_RGB8 0x0B // TTT=001 (RGB), SSS=011 (8-bit)
|
||||
// For maximum compatibility, we use simple value 1 instead of proper encoding
|
||||
#define DDP_TYPE_RGB8 0x0B // TTT=001 (RGB), SSS=011 (8-bit) - spec compliant
|
||||
#define DDP_TYPE_RGB_SIMPLE 1 // Simple RGB value for compatibility
|
||||
|
||||
#pragma pack(push, 1)
|
||||
struct ddp_header
|
||||
|
||||
Reference in New Issue
Block a user