Enhance DaliGatewayCache: add capabilities management for DALI devices

Signed-off-by: Tony <tonylu@tony-cloud.com>
This commit is contained in:
Tony
2026-08-08 08:41:27 +08:00
parent 491b2ede4f
commit d8d0c39630
3 changed files with 56 additions and 3 deletions
+12
View File
@@ -40,6 +40,7 @@ int main() {
[&](const DaliGatewayStatusUpdate&) { ++observer_updates; });
assert(cache.setGroupMask(7, 4, 0x0001));
assert(cache.setCapabilities(7, 4, 0x0180, 0x07));
assert(cache.mirrorForwardFrame(7, 0x80, 42));
assert(status_updates == 1);
assert(observer_updates == status_updates);
@@ -87,6 +88,17 @@ int main() {
assert(restored_state.groupMask == 0x0001);
assert(restored_state.settings.minLevel == 12);
assert(restored_state.status.stale);
assert(restored_state.daliDeviceTypeMask == 0x0180);
assert(restored_state.dt8ColorTypeFeatures == 0x07);
// Version-one records remain readable and retain their original fields.
persisted[{8, 2}] = "1,129,9,2,111,0,0,0,4,254,0,0,0";
assert(restored.preloadChannel(8));
const auto migrated_state = restored.addressState(8, 2);
assert(migrated_state.groupMaskKnown);
assert(migrated_state.groupMask == 2);
assert(migrated_state.settings.minLevel == 4);
assert(!migrated_state.daliDeviceTypeMask.has_value());
DaliApplicationControllerConfig config;
config.shortAddress = 3;