feat: add application controller handling and DALI control device commands

Signed-off-by: Tony <tonylu@tony-cloud.com>
This commit is contained in:
Tony
2026-06-11 18:46:32 +08:00
parent 1342ab6aaf
commit 6ffca719d9
6 changed files with 379 additions and 11 deletions
@@ -144,6 +144,9 @@ class GatewayController {
void publishPayload(uint8_t gateway_id, const std::vector<uint8_t>& payload);
void publishFrame(const std::vector<uint8_t>& frame);
void handleDaliRawFrame(const DaliRawFrame& frame);
bool handleApplicationControllerFrame(const DaliRawFrame& frame);
std::optional<uint8_t> applicationControllerResponse(uint8_t gateway_id, uint8_t first,
uint8_t instance, uint8_t opcode) const;
bool sendRawAndMirror(uint8_t gateway_id, uint8_t raw_addr, uint8_t command);
bool sendExtRawAndMirror(uint8_t gateway_id, uint8_t raw_addr, uint8_t command);
@@ -207,6 +210,14 @@ class GatewayController {
bool ble_enabled_{false};
bool wifi_enabled_{false};
bool ip_router_enabled_{true};
bool application_controller_enabled_{true};
bool application_controller_power_cycle_notification_{true};
bool application_controller_power_cycle_seen_{true};
bool application_controller_reset_state_{false};
uint8_t application_controller_operating_mode_{0};
uint8_t application_controller_dtr0_{0};
uint8_t application_controller_dtr1_{0};
uint8_t application_controller_dtr2_{0};
};
} // namespace gateway