Enhance DALI bridge: add BridgeOperation and BridgeDaliTarget support, refactor address resolution and provisioning methods
This commit is contained in:
@@ -25,6 +25,12 @@ enum class BridgeObjectType {
|
||||
multiStateValue = 9,
|
||||
};
|
||||
|
||||
enum class BridgeDaliTargetKind {
|
||||
shortAddress = 0,
|
||||
group = 1,
|
||||
broadcast = 2,
|
||||
};
|
||||
|
||||
enum class BridgeOperation {
|
||||
unknown = 0,
|
||||
send = 1,
|
||||
@@ -46,6 +52,7 @@ enum class BridgeOperation {
|
||||
getEmergencyFailureStatus = 17,
|
||||
startEmergencyFunctionTest = 18,
|
||||
stopEmergencyTest = 19,
|
||||
startEmergencyDurationTest = 20,
|
||||
};
|
||||
|
||||
enum class BridgeValueEncoding {
|
||||
@@ -80,12 +87,15 @@ struct BridgeExternalPoint {
|
||||
};
|
||||
|
||||
struct BridgeDaliTarget {
|
||||
BridgeDaliTargetKind kind = BridgeDaliTargetKind::shortAddress;
|
||||
std::optional<int> shortAddress;
|
||||
std::optional<int> groupAddress;
|
||||
std::optional<int> rawAddress;
|
||||
std::optional<int> rawCommand;
|
||||
|
||||
static BridgeDaliTarget fromJson(const DaliValue::Object* json);
|
||||
DaliValue::Object toJson() const;
|
||||
std::optional<int> logicalAddress() const;
|
||||
};
|
||||
|
||||
struct BridgeModel {
|
||||
@@ -110,6 +120,9 @@ BridgeProtocolKind bridgeProtocolKindFromString(const std::string& value);
|
||||
const char* bridgeObjectTypeToString(BridgeObjectType type);
|
||||
BridgeObjectType bridgeObjectTypeFromString(const std::string& value);
|
||||
|
||||
const char* bridgeDaliTargetKindToString(BridgeDaliTargetKind kind);
|
||||
BridgeDaliTargetKind bridgeDaliTargetKindFromString(const std::string& value);
|
||||
|
||||
const char* bridgeOperationToString(BridgeOperation operation);
|
||||
BridgeOperation bridgeOperationFromString(const std::string& value);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user