58 lines
1.2 KiB
C
58 lines
1.2 KiB
C
/******************************************************************************
|
|
* @file app_relay.h
|
|
* @brief 继电器:request 等过零落到 actual;灯和 DP0 读 actual
|
|
* @author cyWu <1917507415@qq.com>
|
|
* @date 2026.09.04
|
|
* @version V1.1.0
|
|
******************************************************************************/
|
|
|
|
#ifndef __APP_RELAY_H__
|
|
#define __APP_RELAY_H__
|
|
|
|
#include <stdint.h>
|
|
|
|
/**
|
|
* @brief 初始化继电器(默认关)
|
|
* @return 无
|
|
*/
|
|
void app_relay_init(void);
|
|
|
|
/**
|
|
* @brief 请求开/关(短按 / DP0 / 定时 / 联动统一入口)
|
|
* @param on 1=开(等过零)0=关(等过零)
|
|
* @return 无
|
|
*/
|
|
void app_relay_request(uint8_t on);
|
|
|
|
/**
|
|
* @brief 过零沿回调:有 pending 则切 GPIO
|
|
* @return 无
|
|
*/
|
|
void app_relay_zc_edge(void);
|
|
|
|
/**
|
|
* @brief 过零超时:关强断 / 开放弃,fault_code=2
|
|
* @return 无
|
|
*/
|
|
void app_relay_zc_timeout(void);
|
|
|
|
/**
|
|
* @brief 当前请求
|
|
* @return 1=开 0=关
|
|
*/
|
|
uint8_t app_relay_get_request(void);
|
|
|
|
/**
|
|
* @brief 实际吸合态(DP0 / 灯效)
|
|
* @return 1=吸合 0=断开
|
|
*/
|
|
uint8_t app_relay_get_actual(void);
|
|
|
|
/**
|
|
* @brief request 是否已等于 actual
|
|
* @return 1=已同步
|
|
*/
|
|
uint8_t app_relay_synced(void);
|
|
|
|
#endif /* __APP_RELAY_H__ */
|