Refactor DALI command handling: streamline send methods and enhance scene color reporting

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
Tony
2026-04-28 17:32:32 +08:00
parent 32e7329b3e
commit 9e1244712d
10 changed files with 84 additions and 38 deletions
+3 -4
View File
@@ -3,6 +3,7 @@
#include "dali_define.hpp"
#include <algorithm>
#include <optional>
DaliDT4::DaliDT4(DaliBase& base) : base_(base) {}
@@ -24,14 +25,12 @@ std::optional<bool> DaliDT4::queryYesNo(int a, int code) {
bool DaliDT4::enableDT4() { return enable(); }
bool DaliDT4::referenceSystemPower(int a) {
return enable() && base_.sendExtCmd(addrOf(a), DALI_CMD_DT4_REFERENCE_SYSTEM_POWER) &&
base_.sendExtCmd(addrOf(a), DALI_CMD_DT4_REFERENCE_SYSTEM_POWER);
return enable() && base_.sendExtCmd(addrOf(a), DALI_CMD_DT4_REFERENCE_SYSTEM_POWER);
}
bool DaliDT4::selectDimmingCurve(int a, int curve) {
const int value = std::clamp(curve, 0, 255);
return enable() && base_.setDTR(value) &&
base_.sendExtCmd(addrOf(a), DALI_CMD_DT4_SELECT_DIMMING_CURVE) &&
return base_.setDTR(value) && enable() &&
base_.sendExtCmd(addrOf(a), DALI_CMD_DT4_SELECT_DIMMING_CURVE);
}