feat(gateway_bacnet): add support for new BACnet object types and enhance state management functions
Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
@@ -42,16 +42,32 @@ GatewayBacnetServer* g_server = nullptr;
|
||||
|
||||
gateway_bacnet_object_kind_t ToBacnetKind(BridgeObjectType type) {
|
||||
switch (type) {
|
||||
case BridgeObjectType::analogInput:
|
||||
return GW_BACNET_OBJECT_ANALOG_INPUT;
|
||||
case BridgeObjectType::analogValue:
|
||||
return GW_BACNET_OBJECT_ANALOG_VALUE;
|
||||
case BridgeObjectType::analogOutput:
|
||||
return GW_BACNET_OBJECT_ANALOG_OUTPUT;
|
||||
case BridgeObjectType::binaryInput:
|
||||
return GW_BACNET_OBJECT_BINARY_INPUT;
|
||||
case BridgeObjectType::binaryValue:
|
||||
return GW_BACNET_OBJECT_BINARY_VALUE;
|
||||
case BridgeObjectType::binaryOutput:
|
||||
return GW_BACNET_OBJECT_BINARY_OUTPUT;
|
||||
case BridgeObjectType::multiStateInput:
|
||||
return GW_BACNET_OBJECT_MULTI_STATE_INPUT;
|
||||
case BridgeObjectType::multiStateValue:
|
||||
return GW_BACNET_OBJECT_MULTI_STATE_VALUE;
|
||||
case BridgeObjectType::multiStateOutput:
|
||||
return GW_BACNET_OBJECT_MULTI_STATE_OUTPUT;
|
||||
case BridgeObjectType::holdingRegister:
|
||||
return GW_BACNET_OBJECT_ANALOG_VALUE;
|
||||
case BridgeObjectType::inputRegister:
|
||||
return GW_BACNET_OBJECT_ANALOG_INPUT;
|
||||
case BridgeObjectType::coil:
|
||||
return GW_BACNET_OBJECT_BINARY_OUTPUT;
|
||||
case BridgeObjectType::discreteInput:
|
||||
return GW_BACNET_OBJECT_BINARY_INPUT;
|
||||
default:
|
||||
return GW_BACNET_OBJECT_UNKNOWN;
|
||||
}
|
||||
@@ -59,16 +75,24 @@ gateway_bacnet_object_kind_t ToBacnetKind(BridgeObjectType type) {
|
||||
|
||||
BridgeObjectType FromBacnetKind(gateway_bacnet_object_kind_t kind) {
|
||||
switch (kind) {
|
||||
case GW_BACNET_OBJECT_ANALOG_INPUT:
|
||||
return BridgeObjectType::analogInput;
|
||||
case GW_BACNET_OBJECT_ANALOG_VALUE:
|
||||
return BridgeObjectType::analogValue;
|
||||
case GW_BACNET_OBJECT_ANALOG_OUTPUT:
|
||||
return BridgeObjectType::analogOutput;
|
||||
case GW_BACNET_OBJECT_BINARY_INPUT:
|
||||
return BridgeObjectType::binaryInput;
|
||||
case GW_BACNET_OBJECT_BINARY_VALUE:
|
||||
return BridgeObjectType::binaryValue;
|
||||
case GW_BACNET_OBJECT_BINARY_OUTPUT:
|
||||
return BridgeObjectType::binaryOutput;
|
||||
case GW_BACNET_OBJECT_MULTI_STATE_INPUT:
|
||||
return BridgeObjectType::multiStateInput;
|
||||
case GW_BACNET_OBJECT_MULTI_STATE_VALUE:
|
||||
return BridgeObjectType::multiStateValue;
|
||||
case GW_BACNET_OBJECT_MULTI_STATE_OUTPUT:
|
||||
return BridgeObjectType::multiStateOutput;
|
||||
default:
|
||||
return BridgeObjectType::unknown;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user