P0/P1/P2功能实现:接入业务组合根(按键/LED/过零/配网/OTA),联动、11B定时、运行记录、灯泡寿命(DP3/DP4/DP25)、CBR0 VM、512分包
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
/******************************************************************************
|
||||
* @file app_arbiter.h
|
||||
* @brief 加热占用仲裁:手动 > 定时 > 联动(规格书第 12 章)
|
||||
* @author cyWu <1917507415@qq.com>
|
||||
* @date 2026.09.04
|
||||
* @version V1.1.0
|
||||
******************************************************************************/
|
||||
|
||||
#ifndef __APP_ARBITER_H__
|
||||
#define __APP_ARBITER_H__
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
typedef enum {
|
||||
ARB_OWNER_NONE = 0, /**< 空闲 / 手动接管 */
|
||||
ARB_OWNER_LINKAGE = 1, /**< 联动占用 */
|
||||
ARB_OWNER_TIMER = 2 /**< 定时占用 */
|
||||
} ArbOwner_t;
|
||||
|
||||
/**
|
||||
* @brief 初始化仲裁器
|
||||
* @return 无
|
||||
*/
|
||||
void app_arbiter_init(void);
|
||||
|
||||
/**
|
||||
* @brief 当前加热占用者
|
||||
* @return ArbOwner_t
|
||||
*/
|
||||
uint8_t app_arbiter_get_owner(void);
|
||||
|
||||
/**
|
||||
* @brief 短按 / DP0:清占用并作废本轮联动
|
||||
* @return 无
|
||||
*/
|
||||
void app_arbiter_manual_intervene(void);
|
||||
|
||||
/**
|
||||
* @brief 联动尝试占用
|
||||
* @return 1=成功;0=定时占用中
|
||||
*/
|
||||
uint8_t app_arbiter_linkage_take(void);
|
||||
|
||||
/**
|
||||
* @brief 联动是否仍在占用
|
||||
* @return 1=是
|
||||
*/
|
||||
uint8_t app_arbiter_linkage_active(void);
|
||||
|
||||
/**
|
||||
* @brief 联动自然失效,让出占用
|
||||
* @return 无
|
||||
*/
|
||||
void app_arbiter_linkage_release(void);
|
||||
|
||||
/**
|
||||
* @brief 定时窗开始占用
|
||||
* @return 1=成功
|
||||
*/
|
||||
uint8_t app_arbiter_timer_take(void);
|
||||
|
||||
/**
|
||||
* @brief 定时窗结束释放
|
||||
* @return 无
|
||||
*/
|
||||
void app_arbiter_timer_release(void);
|
||||
|
||||
#endif /* __APP_ARBITER_H__ */
|
||||
Reference in New Issue
Block a user