449a3a801a
- Introduced KnxDaliModule class for handling DALI message queuing, commissioning, and KNX group-object dispatch. - Implemented Message and MessageQueue classes for managing message operations. - Removed obsolete OpenKNX IDF component files and CMake configurations. - Updated submodule reference for KNX. Signed-off-by: Tony <tonylu@tony-cloud.com>
38 lines
958 B
C++
38 lines
958 B
C++
#pragma once
|
|
|
|
#include <cstddef>
|
|
#include <cstdint>
|
|
#include <string>
|
|
|
|
namespace gateway::openknx {
|
|
|
|
struct FactoryFdskInfo {
|
|
bool available{false};
|
|
std::string serialNumber;
|
|
std::string label;
|
|
std::string qrCode;
|
|
};
|
|
|
|
struct FactoryCertificatePayload {
|
|
bool available{false};
|
|
std::string productIdentity;
|
|
std::string manufacturerId;
|
|
std::string applicationNumber;
|
|
std::string applicationVersion;
|
|
std::string serialNumber;
|
|
std::string fdskLabel;
|
|
std::string fdskQrCode;
|
|
std::string storage;
|
|
std::string createdAt;
|
|
std::string checksum;
|
|
};
|
|
|
|
bool LoadFactoryFdsk(uint8_t* data, size_t len);
|
|
FactoryFdskInfo LoadFactoryFdskInfo();
|
|
bool GenerateFactoryFdsk(FactoryFdskInfo* info = nullptr);
|
|
bool WriteFactoryFdskHex(const std::string& hex_key, FactoryFdskInfo* info = nullptr);
|
|
bool ResetFactoryFdskCache(FactoryFdskInfo* info = nullptr);
|
|
FactoryCertificatePayload BuildFactoryCertificatePayload();
|
|
|
|
} // namespace gateway::openknx
|