/****************************************************************************** * @file app_linkage.h * @brief CBR1 联动引擎(第 10 章:1 条 20B DP8 配置,温度回差开/关) * @author cyWu <1917507415@qq.com> * @date 2026.09.04 * @version V1.0.0,P0 = 骨架(BOARD_LINKAGE_ENABLE=0;P2 填充) * * @note 开停只看温度(temp_x10,0.1℃ 有符号): * T < Tmin → 请求开加热 * T > Tmax → 请求关加热 * [Tmin,Tmax] → 保持上一态 * 温度源:已连接=DP6(float×10);断连=扫描风扇 JBao-{tank} 广播。 * 丢广播/无效包 → 当没收到,保持上一态(禁止丢包关加热)。 ******************************************************************************/ #ifndef __APP_LINKAGE_H__ #define __APP_LINKAGE_H__ #include /** * @brief 初始化联动(配置有效性由 is_valid 判;作废标志清 0) * @return 无 */ void app_linkage_init(void); /** * @brief 500ms 任务上下文跑联动:有效配置 + 未被手动作废 + 有有效温度才判 * @param dt 距上次调用的毫秒数(=500) * @return 无 */ void app_linkage_run(uint16_t dt); /** * @brief 立刻按当前温度重判一次(APP 重写 DP8 / 定时窗收口后调用) * @return 无 */ void app_linkage_reeval(void); /** * @brief DP7 联动删除(脉冲):清 RAM+VM 20B;联动占着则关;delete 清 0 * @return 无 */ void app_linkage_delete(void); /** * @brief APP 重写 DP8(memcpy 已完成):存 VM、清手动作废、立刻重判 * @return 无 */ void app_linkage_set_config(void); /** * @brief 手动作废本轮联动(RAM,不写 VM;仲裁器唯一转调点) * @return 无 */ void app_linkage_void(void); /** * @brief 配置是否有效(缸体号≠0 且 Tmin≤Tmax) * @return 1=有效 */ uint8_t app_linkage_is_valid(void); /** * @brief 缸体编号(DP8 Byte0-1,uint16 大端) * @return tank_id */ uint16_t app_linkage_get_tank_id(void); /** * @brief 配置版本(DP8 Byte6,扫描匹配用) * @return 版本号 */ uint8_t app_linkage_get_cfg_ver(void); #endif /* __APP_LINKAGE_H__ */