Enhance DALI interface: add gateway parameter to scene and color methods for improved command handling

This commit is contained in:
Tony
2026-05-02 21:32:39 +08:00
parent 9f9628db39
commit 16907857c0
6 changed files with 199 additions and 37 deletions
+6 -4
View File
@@ -370,16 +370,18 @@ bool DaliBase::setGroup(int a, int value) {
return true;
}
std::optional<int> DaliBase::getScene(int a, int b) {
std::optional<int> DaliBase::getScene(int a, int b, int /*gateway*/) {
return query(a, static_cast<uint8_t>(DALI_CMD_QUERY_SCENE_LEVEL(b)));
}
bool DaliBase::setScene(int a, int b) { return setDTR(b) && storeDTRAsSceneBright(a, b); }
bool DaliBase::setScene(int a, int b, int /*gateway*/) {
return setDTR(b) && storeDTRAsSceneBright(a, b);
}
std::map<int, int> DaliBase::getScenes(int a) {
std::map<int, int> DaliBase::getScenes(int a, int gateway) {
std::map<int, int> ret;
for (int i = 0; i < 16; i++) {
const auto r = getScene(a, i);
const auto r = getScene(a, i, gateway);
if (r.has_value()) ret[i] = r.value();
}
return ret;