Add support for scene snapshot storage with color mode handling in DaliDT8

This commit is contained in:
Tony
2026-04-28 19:08:55 +08:00
parent 9e1244712d
commit 4c20fc2ae3
2 changed files with 51 additions and 0 deletions
+10
View File
@@ -66,6 +66,12 @@ struct SceneColorReport {
bool hasColorTemperature() const { return colorTemperature.has_value(); }
};
enum class Dt8SceneStoreColorMode {
disabled,
colorTemperature,
rgb,
};
class DaliDT8 {
public:
explicit DaliDT8(DaliBase& base);
@@ -94,6 +100,7 @@ class DaliDT8 {
bool setTemporaryRGBDimLevels(int a, int r, int g, int b);
bool setTemporaryWAFDimLevels(int a, int w, int amber, int freecolour);
bool setTemporaryRGBWAFControl(int a, int control);
bool setTemporaryColourMask(int a);
bool copyReportToTemporary(int a);
// Step commands
@@ -166,6 +173,9 @@ class DaliDT8 {
// Store / config
bool storePrimaryTy(int a, int n, int ty);
bool storePrimaryXY(int a, int n, double x, double y);
bool storeSceneSnapshot(int address, int scene, int brightness,
Dt8SceneStoreColorMode colorMode = Dt8SceneStoreColorMode::disabled,
int colorTemperature = 0, int red = 0, int green = 0, int blue = 0);
bool storeColourTempLimitRaw(int a, int limitType, int mirek);
bool storeColourTempLimit(int a, int limitType, int kelvin);
bool setGearAutoActivate(int a, bool enable);