Implement DALI Bridge Engine and Model Management

- Added `bridge.cpp` to handle DALI bridge operations including model management, command execution, and response formatting.
- Introduced `bridge_model.cpp` for defining bridge models, value transformations, and JSON serialization/deserialization.
- Created `bridge_provisioning.cpp` for managing bridge configuration storage and retrieval using NVS on ESP platform.
- Enhanced `gateway_cloud.cpp` to integrate DALI bridge requests and responses with cloud communication.
- Introduced `modbus_bridge.cpp` to handle Modbus-specific operations and register management.
- Implemented utility functions for converting between DaliValue and cJSON formats.
- Added error handling and metadata management in bridge responses.
This commit is contained in:
Tony
2026-04-22 10:14:42 +08:00
parent ec5f36b581
commit 21afc6b942
22 changed files with 2045 additions and 35 deletions
+4
View File
@@ -1,5 +1,6 @@
#pragma once
#include "bridge.hpp"
#include "dali_comm.hpp"
#include <atomic>
@@ -27,6 +28,8 @@ class DaliCloudBridge {
bool start(const GatewayCloudConfig& config);
void stop();
bool isConnected() const;
DaliBridgeEngine& bridge() { return bridge_; }
const DaliBridgeEngine& bridge() const { return bridge_; }
bool publishStatus(const std::string& status);
bool publishRegister(const std::string& payloadJson);
@@ -49,6 +52,7 @@ class DaliCloudBridge {
std::string topicRegister() const;
DaliComm& comm_;
DaliBridgeEngine bridge_;
GatewayCloudConfig config_;
std::atomic<bool> connected_{false};