Refactor DALI component: remove Modbus bridge support, update documentation, and enhance bridge model handling

This commit is contained in:
Tony
2026-05-04 01:19:24 +08:00
parent 307c480aa0
commit 402d6a451b
11 changed files with 76 additions and 388 deletions
+4
View File
@@ -18,11 +18,15 @@ enum class BridgeObjectType {
inputRegister = 2,
coil = 3,
discreteInput = 4,
analogInput = 10,
analogValue = 5,
analogOutput = 6,
binaryInput = 11,
binaryValue = 7,
binaryOutput = 8,
multiStateInput = 12,
multiStateValue = 9,
multiStateOutput = 13,
};
enum class BridgeDaliTargetKind {
-2
View File
@@ -2,7 +2,6 @@
#include "bacnet_bridge.hpp"
#include "bridge_model.hpp"
#include "modbus_bridge.hpp"
#include <optional>
#include <string>
@@ -18,7 +17,6 @@ using esp_err_t = int;
struct BridgeRuntimeConfig {
std::vector<BridgeModel> models;
std::optional<ModbusBridgeConfig> modbus;
std::optional<BacnetBridgeConfig> bacnet;
DaliValue::Object metadata;
-1
View File
@@ -21,7 +21,6 @@
#include "color.hpp"
#include "errors.hpp"
#include "log.hpp"
#include "modbus_bridge.hpp"
#include "query_scheduler.hpp"
#include "sequence.hpp"
#include "sequence_store.hpp"
-36
View File
@@ -1,36 +0,0 @@
#pragma once
#include "bridge.hpp"
#include <cstdint>
#include <optional>
#include <string>
#include <vector>
struct ModbusBridgeConfig {
std::string transport = "tcp";
std::string host;
uint16_t port = 502;
uint8_t unitID = 1;
};
struct ModbusRegisterBinding {
std::string modelID;
int registerAddress = -1;
};
class DaliModbusBridge {
public:
explicit DaliModbusBridge(DaliBridgeEngine& engine);
void setConfig(const ModbusBridgeConfig& config);
const ModbusBridgeConfig& config() const;
DaliBridgeResult handleHoldingRegisterWrite(int registerAddress, int value) const;
std::optional<ModbusRegisterBinding> findHoldingRegister(int registerAddress) const;
std::vector<ModbusRegisterBinding> describeHoldingRegisters() const;
private:
DaliBridgeEngine& engine_;
ModbusBridgeConfig config_;
};