fix(gateway): enhance DALI logging and error handling in gateway_knx
Signed-off-by: Tony <tonylu@tony-cloud.com>
This commit is contained in:
@@ -15,10 +15,14 @@
|
||||
#include "gateway_knx.hpp"
|
||||
#include "gateway_modbus.hpp"
|
||||
#include "gateway_provisioning.hpp"
|
||||
#include "log.hpp"
|
||||
#include "security_storage.h"
|
||||
|
||||
#include "cJSON.h"
|
||||
#include "driver/uart.h"
|
||||
#ifndef LOG_LOCAL_LEVEL
|
||||
#define LOG_LOCAL_LEVEL ESP_LOG_DEBUG
|
||||
#endif
|
||||
#include "esp_log.h"
|
||||
#include "freertos/semphr.h"
|
||||
#include "lwip/inet.h"
|
||||
@@ -44,6 +48,7 @@ namespace gateway {
|
||||
namespace {
|
||||
|
||||
constexpr const char* kTag = "gateway_bridge";
|
||||
constexpr const char* kDaliCppLogTag = "dali_cpp";
|
||||
constexpr const char* kBridgeConfigKey = "bridge_cfg";
|
||||
constexpr const char* kDiscoveryInventoryKey = "bridge_disc";
|
||||
constexpr int kMaxDaliShortAddress = 63;
|
||||
@@ -58,6 +63,16 @@ constexpr uint32_t kBacnetReliabilityCommunicationFailure = 12;
|
||||
constexpr const char* kModbusManagementPrefix = "@DALIGW";
|
||||
constexpr uint8_t kDaliGroupRawMin = 0x80;
|
||||
constexpr uint8_t kDaliGroupRawMax = 0x9F;
|
||||
|
||||
void ConfigureDaliCppLogging() {
|
||||
static bool configured = false;
|
||||
if (configured) return;
|
||||
configured = true;
|
||||
DaliLog::instance().setLevel(LogLevel::debug);
|
||||
DaliLog::instance().setSink([](const std::string& line) {
|
||||
ESP_LOGD(kDaliCppLogTag, "%s", line.c_str());
|
||||
});
|
||||
}
|
||||
constexpr uint8_t kDaliCmdOff = 0x00;
|
||||
constexpr uint8_t kDaliCmdRecallMax = 0x05;
|
||||
|
||||
@@ -3938,6 +3953,7 @@ GatewayBridgeService::GatewayBridgeService(DaliDomainService& dali_domain,
|
||||
GatewayBridgeService::~GatewayBridgeService() = default;
|
||||
|
||||
esp_err_t GatewayBridgeService::start() {
|
||||
ConfigureDaliCppLogging();
|
||||
if (!config_.bridge_enabled) {
|
||||
ESP_LOGI(kTag, "bridge service disabled");
|
||||
return ESP_OK;
|
||||
|
||||
Reference in New Issue
Block a user