Commit Graph

2 Commits

Author SHA1 Message Date
Wolfieee Wolf
a00563f945 Fix DDP implementation to comply with official specification
- Fix sequence number to use 4-bit nibble (0-15) instead of full byte per DDP spec
- Fix data type encoding to use proper RGB 8-bit format (0x0B) per spec
- Reduce maximum data size to 1440 bytes as recommended in official spec
- Add DDP_TYPE_RGB8 constant for better code clarity
- Improve compliance with http://www.3waylabs.com/ddp/ specification

These changes should improve compatibility with strict DDP implementations
and devices that follow the official protocol specification exactly.
2025-07-01 17:17:15 +10:00
Wolfieee Wolf
2a9cce70e1 Add DDP controller with unified manual device support
- Added DDPController with Push flag fix (0x41 instead of 0x40) for WLED compatibility
- Implemented keepalive functionality with configurable timeout (default 1 second)
- Created DDPSettingsEntry that integrates with new unified ManualDevicesSettingsPage
- Supports RGB data type with proper DDP protocol implementation
- Thread-safe keepalive system prevents devices from timing out
- Compatible with WLED and other DDP protocol devices

Key fixes based on feedback:
* Push flag now correctly set to 0x41 (DDP_FLAG_VER_1 | DDP_FLAG_PUSH)
* Keepalive thread prevents devices from reverting to hardware effects
* Proper DDP packet structure with correct data types and addressing
2025-07-01 15:58:06 +10:00