Enhance DALI communication: introduce DaliQueryResult structure, update query handling, and improve logging of query results

Signed-off-by: Tony <tonylu@tony-cloud.com>
This commit is contained in:
Tony
2026-05-21 13:22:15 +08:00
parent b52a95b50a
commit 0c662ecdc3
4 changed files with 151 additions and 21 deletions
+6 -3
View File
@@ -471,9 +471,12 @@ std::optional<bool> DaliBase::verifyShortAddr(int a) {
}
std::optional<bool> DaliBase::compareAddress() {
const auto ret = queryCmd(DALI_CMD_SPECIAL_COMPARE, DALI_CMD_OFF);
if (!ret.has_value()) return std::nullopt;
return ret.value() >= 0;
const auto ret = comm_.queryCmdResult(DALI_CMD_SPECIAL_COMPARE, DALI_CMD_OFF);
if (ret.status == DaliQueryStatus::noResponse || ret.status == DaliQueryStatus::timeout) {
return false;
}
if (!ret.hasValue()) return std::nullopt;
return true;
}
std::optional<bool> DaliBase::compare(int h, int m, int l) {