diff --git a/JBao_JL7016_MOD_FW/AC701N.cbp b/JBao_JL7016_MOD_FW/AC701N.cbp
index a09401d..3dd8d59 100644
--- a/JBao_JL7016_MOD_FW/AC701N.cbp
+++ b/JBao_JL7016_MOD_FW/AC701N.cbp
@@ -176,7 +176,7 @@
-
+
@@ -787,41 +787,41 @@
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
-
+
+
-
+
diff --git a/JBao_JL7016_MOD_FW/Makefile b/JBao_JL7016_MOD_FW/Makefile
index 7236058..b810211 100644
--- a/JBao_JL7016_MOD_FW/Makefile
+++ b/JBao_JL7016_MOD_FW/Makefile
@@ -262,7 +262,7 @@ INCLUDES := \
-Iapps/usr_le_code/thirdpart/mjson \
-Iapps/usr_mcu_bridge \
-Iapps/usr_mcu_bridge/protocol \
- -Iapps/usr_mcu_bridge/business \
+ -Iapps/usr_mcu_bridge/logic \
-Iapps/usr_ota \
-Iapps/usr_periph \
-I$(SYS_INC_DIR) \
@@ -400,16 +400,16 @@ c_SRC_FILES := \
apps/usr_le_code/thirdpart/mjson/mjson.c \
apps/usr_le_code/usr_le_adv.c \
apps/usr_le_code/usr_le_recieve.c \
- apps/usr_mcu_bridge/business/mcu_business.c \
- apps/usr_mcu_bridge/business/mcu_identity.c \
- apps/usr_mcu_bridge/business/mcu_link_status.c \
- apps/usr_mcu_bridge/business/mcu_mgmt.c \
- apps/usr_mcu_bridge/business/mcu_ota.c \
+ apps/usr_mcu_bridge/logic/mcu_logic.c \
+ apps/usr_mcu_bridge/logic/mcu_identity.c \
+ apps/usr_mcu_bridge/logic/mcu_link_status.c \
+ apps/usr_mcu_bridge/logic/mcu_mgmt.c \
+ apps/usr_mcu_bridge/logic/mcu_ota.c \
apps/usr_ota/usr_ota.c \
- apps/usr_mcu_bridge/business/mcu_pairing.c \
- apps/usr_mcu_bridge/business/mcu_time.c \
+ apps/usr_mcu_bridge/logic/mcu_pairing.c \
+ apps/usr_mcu_bridge/logic/mcu_time.c \
apps/usr_periph/usr_rtc.c \
- apps/usr_mcu_bridge/business/mcu_version.c \
+ apps/usr_mcu_bridge/logic/mcu_version.c \
apps/usr_mcu_bridge/mcu_bridge.c \
apps/usr_mcu_bridge/protocol/mcu_frame.c \
apps/usr_mcu_bridge/protocol/mcu_protocol.c \
diff --git a/JBao_JL7016_MOD_FW/apps/usr_le_code/usr_le_product.h b/JBao_JL7016_MOD_FW/apps/usr_le_code/usr_le_product.h
index 11382d3..d1b543b 100644
--- a/JBao_JL7016_MOD_FW/apps/usr_le_code/usr_le_product.h
+++ b/JBao_JL7016_MOD_FW/apps/usr_le_code/usr_le_product.h
@@ -8,7 +8,7 @@
* - V1.0.0, 2026.08.03, cyWu, 首次发布
* - V1.1.0, 2026.08.06, cyWu, 改为非 const,由 mcu_bridge 从 MCU 0x02 写入
* - V1.2.0, 2026.08.12, cyWu, 改由 mcu_link 从 MCU 0x02 写入
- * - V1.3.0, 2026.08.12, cyWu, 改由 business/mcu_identity 从 MCU 0x02 写入
+ * - V1.3.0, 2026.08.12, cyWu, 改由 logic/mcu_identity 从 MCU 0x02 写入
******************************************************************************/
#ifndef __USR_LE_PRODUCT_H__
@@ -32,13 +32,13 @@ extern "C" {
/**
* @brief 产品类别码,对应 BLE 广播 prodcode(固定 4 字节 ASCII)
- * @note 由 business/mcu_identity 从 MCU 身份应答取前 4 字节写入
+ * @note 由 logic/mcu_identity 从 MCU 身份应答取前 4 字节写入
*/
extern uint8_t g_usr_le_prodcode[USR_LE_PRODCODE_LEN];
/**
* @brief 平台产品码,对应 BLE 广播 pcode(固定 6 字节 ASCII)
- * @note 由 business/mcu_identity 从 MCU 身份应答取前 6 字节写入
+ * @note 由 logic/mcu_identity 从 MCU 身份应答取前 6 字节写入
*/
extern uint8_t g_usr_le_pcode[USR_LE_PCODE_LEN];
diff --git a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_identity.c b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_identity.c
similarity index 100%
rename from JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_identity.c
rename to JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_identity.c
diff --git a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_identity.h b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_identity.h
similarity index 100%
rename from JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_identity.h
rename to JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_identity.h
diff --git a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_link_status.c b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_link_status.c
similarity index 100%
rename from JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_link_status.c
rename to JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_link_status.c
diff --git a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_link_status.h b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_link_status.h
similarity index 100%
rename from JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_link_status.h
rename to JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_link_status.h
diff --git a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_business.c b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_logic.c
similarity index 75%
rename from JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_business.c
rename to JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_logic.c
index 1f7f4a7..b783a57 100644
--- a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_business.c
+++ b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_logic.c
@@ -1,19 +1,20 @@
/******************************************************************************
- * @file mcu_business.c
- * @brief 业务门面实现
+ * @file mcu_logic.c
+ * @brief 逻辑层入口实现:只转发到各功能模块
* @author cyWu <1917507415@qq.com>
* @date 2026.09.11
- * @version V1.3.0
+ * @version V1.4.0
* @history
- * - V1.0.0, 2026.08.12, cyWu, 取代原 mcu_link,编排三个业务子模块
+ * - V1.0.0, 2026.08.12, cyWu, 取代原 mcu_link,编排三个功能模块
* - V1.1.0, 2026.08.13, cyWu, 编排 P1 管理/对时/版本
* - V1.2.0, 2026.08.15, cyWu, 编排 P2 OTA;版本周期在 OTA 时让路
* - V1.3.0, 2026.09.11, cyWu, APP 0x40 查询版本转 mcu_version
+ * - V1.4.0, 2026.09.11, cyWu, 由 mcu_business 更名为 mcu_logic
******************************************************************************/
#include "system/includes.h"
#include "app_main.h"
-#include "mcu_business.h"
+#include "mcu_logic.h"
#include "mcu_cmd.h"
#include "mcu_identity.h"
#include "mcu_link_status.h"
@@ -24,17 +25,17 @@
#include "mcu_ota.h"
#define LOG_TAG_CONST APP
-#define LOG_TAG "[MCU_BIZ]"
+#define LOG_TAG "[MCU_LOGIC]"
#define LOG_ERROR_ENABLE
#define LOG_INFO_ENABLE
#include "debug.h"
/**
- * @brief 初始化业务层
+ * @brief 初始化逻辑层
* @note 上电不强制配网;广播由 mcu_identity_on_ack 在身份就绪后按
* 配对状态触发(usr_ble_adv_init 内部决策)
*/
-void mcu_business_init(void)
+void mcu_logic_init(void)
{
mcu_identity_init();
mcu_pairing_init();
@@ -51,7 +52,7 @@ void mcu_business_init(void)
/**
* @brief 周期处理
*/
-void mcu_business_periodic(void)
+void mcu_logic_periodic(void)
{
mcu_identity_periodic();
mcu_link_status_periodic();
@@ -69,7 +70,7 @@ void mcu_business_periodic(void)
* @brief 是否身份就绪
* @return 1/0
*/
-uint8_t mcu_business_is_identity_ready(void)
+uint8_t mcu_logic_is_identity_ready(void)
{
return mcu_identity_is_ready();
}
@@ -78,7 +79,7 @@ uint8_t mcu_business_is_identity_ready(void)
* @brief 获取工作状态
* @return work_status
*/
-uint8_t mcu_business_get_work_status(void)
+uint8_t mcu_logic_get_work_status(void)
{
return mcu_link_status_get();
}
@@ -88,7 +89,7 @@ uint8_t mcu_business_get_work_status(void)
* @param frame 完整帧
* @param len 长度
*/
-void mcu_business_on_identity_ack(const uint8_t *frame, uint16_t len)
+void mcu_logic_on_identity_ack(const uint8_t *frame, uint16_t len)
{
mcu_identity_on_ack(frame, len);
}
@@ -98,7 +99,7 @@ void mcu_business_on_identity_ack(const uint8_t *frame, uint16_t len)
* @param mode 模式
* @param timeout_s 超时秒
*/
-void mcu_business_on_pair_cfg(uint8_t mode, uint16_t timeout_s)
+void mcu_logic_on_pair_cfg(uint8_t mode, uint16_t timeout_s)
{
mcu_pairing_start(mode, timeout_s);
}
@@ -106,7 +107,7 @@ void mcu_business_on_pair_cfg(uint8_t mode, uint16_t timeout_s)
/**
* @brief 配网成功
*/
-void mcu_business_on_paired(void)
+void mcu_logic_on_paired(void)
{
usr_var.usr_goto_pair = 0;
mcu_pairing_stop();
@@ -121,7 +122,7 @@ void mcu_business_on_paired(void)
* @note 若正处于配网流程(phase==PAIRING),保持不变;
* 否则(例如单纯清空配对表)回到未配网空闲
*/
-void mcu_business_on_pair_cleared(void)
+void mcu_logic_on_pair_cleared(void)
{
/* 正在走 0x10 配网:清配对表是配网流程的一部分,过程态保持 PAIRING。
* 其它情况(单纯清空配对)才回到未配网空闲。 */
@@ -134,7 +135,7 @@ void mcu_business_on_pair_cleared(void)
/**
* @brief 恢复出厂
*/
-void mcu_business_on_factory_reset(void)
+void mcu_logic_on_factory_reset(void)
{
mcu_mgmt_on_factory_reset();
}
@@ -142,7 +143,7 @@ void mcu_business_on_factory_reset(void)
/**
* @brief 模组重启
*/
-void mcu_business_on_mod_reboot(void)
+void mcu_logic_on_mod_reboot(void)
{
mcu_mgmt_on_mod_reboot();
}
@@ -152,7 +153,7 @@ void mcu_business_on_mod_reboot(void)
* @param frame 完整帧
* @param len 长度
*/
-void mcu_business_on_mcu_reboot_ack(const uint8_t *frame, uint16_t len)
+void mcu_logic_on_mcu_reboot_ack(const uint8_t *frame, uint16_t len)
{
mcu_mgmt_on_mcu_reboot_ack(frame, len);
}
@@ -162,7 +163,7 @@ void mcu_business_on_mcu_reboot_ack(const uint8_t *frame, uint16_t len)
* @param payload 输出
* @param plen 长度
*/
-void mcu_business_build_time_ack(uint8_t *payload, uint16_t *plen)
+void mcu_logic_build_time_ack(uint8_t *payload, uint16_t *plen)
{
mcu_time_build_ack(payload, plen);
}
@@ -172,7 +173,7 @@ void mcu_business_build_time_ack(uint8_t *payload, uint16_t *plen)
* @param unix_s UTC Unix 时间戳(秒)
* @param gmtoff_s 时区偏移
*/
-void mcu_business_on_network_time(uint64_t unix_s, int32_t gmtoff_s)
+void mcu_logic_on_network_time(uint64_t unix_s, int32_t gmtoff_s)
{
mcu_time_set_from_gateway(unix_s, gmtoff_s);
}
@@ -182,7 +183,7 @@ void mcu_business_on_network_time(uint64_t unix_s, int32_t gmtoff_s)
* @param frame 完整帧
* @param len 长度
*/
-void mcu_business_on_mcu_info_ack(const uint8_t *frame, uint16_t len)
+void mcu_logic_on_mcu_info_ack(const uint8_t *frame, uint16_t len)
{
mcu_version_on_mcu_info_ack(frame, len);
}
@@ -191,7 +192,7 @@ void mcu_business_on_mcu_info_ack(const uint8_t *frame, uint16_t len)
* @brief APP 0x40
* @param sn 序列号
*/
-void mcu_business_on_app_get_mcu_info(uint8_t sn)
+void mcu_logic_on_app_get_mcu_info(uint8_t sn)
{
mcu_version_on_app_query(sn);
}
@@ -201,7 +202,7 @@ void mcu_business_on_app_get_mcu_info(uint8_t sn)
* @param success 成功
* @param mcu_report_consumed MCU 0x07 已消费
*/
-void mcu_business_on_gateway_ack(uint8_t success, uint8_t mcu_report_consumed)
+void mcu_logic_on_gateway_ack(uint8_t success, uint8_t mcu_report_consumed)
{
mcu_version_on_gateway_ack(success, mcu_report_consumed);
}
@@ -209,7 +210,7 @@ void mcu_business_on_gateway_ack(uint8_t success, uint8_t mcu_report_consumed)
/**
* @brief APP OTA 帧
*/
-void mcu_business_on_app_ota_frame(const uint8_t *frame, uint16_t len)
+void mcu_logic_on_app_ota_frame(const uint8_t *frame, uint16_t len)
{
mcu_ota_on_app_frame(frame, len);
}
@@ -217,7 +218,7 @@ void mcu_business_on_app_ota_frame(const uint8_t *frame, uint16_t len)
/**
* @brief MCU OTA 帧
*/
-void mcu_business_on_mcu_ota_frame(const uint8_t *frame, uint16_t len)
+void mcu_logic_on_mcu_ota_frame(const uint8_t *frame, uint16_t len)
{
mcu_ota_on_uart_frame(frame, len);
}
@@ -225,7 +226,7 @@ void mcu_business_on_mcu_ota_frame(const uint8_t *frame, uint16_t len)
/**
* @brief 0x15
*/
-void mcu_business_on_ota_ws_ack(void)
+void mcu_logic_on_ota_ws_ack(void)
{
mcu_ota_on_work_status_ack();
}
@@ -233,7 +234,7 @@ void mcu_business_on_ota_ws_ack(void)
/**
* @brief BLE 断连
*/
-void mcu_business_on_ble_disconnected(void)
+void mcu_logic_on_ble_disconnected(void)
{
mcu_ota_on_disconnect();
}
@@ -242,7 +243,7 @@ void mcu_business_on_ble_disconnected(void)
* @brief OTA 是否进行中
* @return 1/0
*/
-uint8_t mcu_business_ota_is_active(void)
+uint8_t mcu_logic_ota_is_active(void)
{
return mcu_ota_is_active();
}
@@ -251,7 +252,7 @@ uint8_t mcu_business_ota_is_active(void)
* @brief 是否模组 OTA
* @return 1/0
*/
-uint8_t mcu_business_ota_is_ble_active(void)
+uint8_t mcu_logic_ota_is_ble_active(void)
{
return mcu_ota_is_ble_active();
}
diff --git a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_business.h b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_logic.h
similarity index 67%
rename from JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_business.h
rename to JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_logic.h
index 0434cb0..7a343db 100644
--- a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_business.h
+++ b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_logic.h
@@ -1,25 +1,26 @@
/******************************************************************************
- * @file mcu_business.h
- * @brief 业务门面:协调身份 / 配网 / 连接 / 管理 / 对时 / 版本
+ * @file mcu_logic.h
+ * @brief 逻辑层入口:把协议层来的事分给身份 / 配网 / 版本 / OTA 等模块
* @author cyWu <1917507415@qq.com>
* @date 2026.09.11
- * @version V1.3.0
+ * @version V1.4.0
* @history
* - V1.0.0, 2026.08.12, cyWu, 取代原 mcu_link,供协议层(mcu_protocol)
* 单点调用;协议层不直接依赖 identity/pairing/link_status 三个子模块
* - V1.1.0, 2026.08.13, cyWu, 接入 P1 管理/对时/版本子模块
- * - V1.2.0, 2026.08.15, cyWu, 接入 P2 OTA;协议层只经本门面访问 OTA
- * - V1.3.0, 2026.09.11, cyWu, APP 主动 0x40 查询版本走门面,不转 UART
+ * - V1.2.0, 2026.08.15, cyWu, 接入 P2 OTA;协议层只经本入口访问 OTA
+ * - V1.3.0, 2026.09.11, cyWu, APP 主动 0x40 查询版本走本入口,不转 UART
+ * - V1.4.0, 2026.09.11, cyWu, 由 mcu_business 更名为 mcu_logic
******************************************************************************/
-#ifndef __MCU_BUSINESS_H__
-#define __MCU_BUSINESS_H__
+#ifndef __MCU_LOGIC_H__
+#define __MCU_LOGIC_H__
#include
/*============================================================================*/
/* 说明 */
-/* 本模块只做业务编排,不含具体状态;具体逻辑见: */
+/* 本文件只做转发,不存状态。具体功能见: */
/* mcu_identity.c —— 身份获取 */
/* mcu_pairing.c —— 配网请求 / 超时 */
/* mcu_link_status.c —— 连接状态位图(Bit0/1/2) */
@@ -31,74 +32,74 @@
/*============================================================================*/
/**
- * @brief 初始化业务层
+ * @brief 初始化逻辑层各功能模块
*/
-void mcu_business_init(void);
+void mcu_logic_init(void);
/**
- * @brief 周期处理:依次驱动各子业务
+ * @brief 周期处理:依次驱动各功能模块
*/
-void mcu_business_periodic(void);
+void mcu_logic_periodic(void);
/**
* @brief 是否已从 MCU 获取到设备身份
* @return 1=已就绪,0=未就绪
*/
-uint8_t mcu_business_is_identity_ready(void);
+uint8_t mcu_logic_is_identity_ready(void);
/**
* @brief 获取当前工作状态字节(命令 0x14 载荷)
* @return 工作状态 bitmap
*/
-uint8_t mcu_business_get_work_status(void);
+uint8_t mcu_logic_get_work_status(void);
/**
* @brief 处理 0x02 身份应答
* @param frame 完整帧
* @param len 长度
*/
-void mcu_business_on_identity_ack(const uint8_t *frame, uint16_t len);
+void mcu_logic_on_identity_ack(const uint8_t *frame, uint16_t len);
/**
* @brief 处理已通过协议校验的 0x10 配网请求
* @param mode 1 或 2
* @param timeout_s 超时秒数,0 表示不超时
*/
-void mcu_business_on_pair_cfg(uint8_t mode, uint16_t timeout_s);
+void mcu_logic_on_pair_cfg(uint8_t mode, uint16_t timeout_s);
/**
* @brief 配网成功(AUTHSETUP 写对)
*/
-void mcu_business_on_paired(void);
+void mcu_logic_on_paired(void);
/**
* @brief 配对信息被清除
*/
-void mcu_business_on_pair_cleared(void);
+void mcu_logic_on_pair_cleared(void);
/**
* @brief MCU 请求恢复出厂(协议层已 ACK)
*/
-void mcu_business_on_factory_reset(void);
+void mcu_logic_on_factory_reset(void);
/**
* @brief MCU 请求模组重启(协议层已 ACK)
*/
-void mcu_business_on_mod_reboot(void);
+void mcu_logic_on_mod_reboot(void);
/**
* @brief 处理 UART 0x1B
* @param frame 完整帧
* @param len 长度
*/
-void mcu_business_on_mcu_reboot_ack(const uint8_t *frame, uint16_t len);
+void mcu_logic_on_mcu_reboot_ack(const uint8_t *frame, uint16_t len);
/**
* @brief 组 0x1D 载荷
* @param payload 输出缓冲
* @param plen 输出长度
*/
-void mcu_business_build_time_ack(uint8_t *payload, uint16_t *plen);
+void mcu_logic_build_time_ack(uint8_t *payload, uint16_t *plen);
/**
* @brief 写入网关网络时间
@@ -106,30 +107,30 @@ void mcu_business_build_time_ack(uint8_t *payload, uint16_t *plen);
* @param gmtoff_s 时区偏移秒
* @note 网关从子设备连上开始计时,每 12 小时同步一次
*/
-void mcu_business_on_network_time(uint64_t unix_s, int32_t gmtoff_s);
+void mcu_logic_on_network_time(uint64_t unix_s, int32_t gmtoff_s);
/**
* @brief 处理 UART 0x41(仅本地解析)
* @param frame 完整帧
* @param len 长度
*/
-void mcu_business_on_mcu_info_ack(const uint8_t *frame, uint16_t len);
+void mcu_logic_on_mcu_info_ack(const uint8_t *frame, uint16_t len);
/**
* @brief APP 主动 0x40 查询版本(不转 UART)
* @param sn APP 请求序列号
*/
-void mcu_business_on_app_get_mcu_info(uint8_t sn);
+void mcu_logic_on_app_get_mcu_info(uint8_t sn);
/**
* @brief 网关 REPORTCMD_V2 应答
* @param success 1=成功
* @param mcu_report_consumed 1=已按 MCU 0x07 回了 0x08
*/
-void mcu_business_on_gateway_ack(uint8_t success, uint8_t mcu_report_consumed);
+void mcu_logic_on_gateway_ack(uint8_t success, uint8_t mcu_report_consumed);
/*============================================================================*/
-/* OTA(协议层只调门面,不直接 include mcu_ota.h) */
+/* OTA(协议层只调本入口,不直接 include mcu_ota.h) */
/*============================================================================*/
/**
@@ -137,35 +138,35 @@ void mcu_business_on_gateway_ack(uint8_t success, uint8_t mcu_report_consumed);
* @param frame 完整 55AA
* @param len 长度
*/
-void mcu_business_on_app_ota_frame(const uint8_t *frame, uint16_t len);
+void mcu_logic_on_app_ota_frame(const uint8_t *frame, uint16_t len);
/**
* @brief MCU 上报 OTA 帧(0x31/0x33/0x34/0x37/0x38)
* @param frame 完整 55AA
* @param len 长度
*/
-void mcu_business_on_mcu_ota_frame(const uint8_t *frame, uint16_t len);
+void mcu_logic_on_mcu_ota_frame(const uint8_t *frame, uint16_t len);
/**
* @brief UART 0x15 到达(BLE OTA 置 Bit6 后)
*/
-void mcu_business_on_ota_ws_ack(void);
+void mcu_logic_on_ota_ws_ack(void);
/**
* @brief BLE 断连:中止 OTA 会话(不切 bank、不复位)
*/
-void mcu_business_on_ble_disconnected(void);
+void mcu_logic_on_ble_disconnected(void);
/**
* @brief 是否有 OTA 会话(心跳/0x14/版本上报据此让路)
* @return 1=是
*/
-uint8_t mcu_business_ota_is_active(void);
+uint8_t mcu_logic_ota_is_active(void);
/**
* @brief 是否模组(BLE)OTA(据此丢弃 MCU 0x07)
* @return 1=是
*/
-uint8_t mcu_business_ota_is_ble_active(void);
+uint8_t mcu_logic_ota_is_ble_active(void);
-#endif /* __MCU_BUSINESS_H__ */
+#endif /* __MCU_LOGIC_H__ */
diff --git a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_mgmt.c b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_mgmt.c
similarity index 100%
rename from JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_mgmt.c
rename to JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_mgmt.c
diff --git a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_mgmt.h b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_mgmt.h
similarity index 100%
rename from JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_mgmt.h
rename to JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_mgmt.h
diff --git a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_ota.c b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_ota.c
similarity index 100%
rename from JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_ota.c
rename to JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_ota.c
diff --git a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_ota.h b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_ota.h
similarity index 100%
rename from JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_ota.h
rename to JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_ota.h
diff --git a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_pairing.c b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_pairing.c
similarity index 97%
rename from JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_pairing.c
rename to JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_pairing.c
index d4ff011..408e72a 100644
--- a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_pairing.c
+++ b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_pairing.c
@@ -91,7 +91,7 @@ void mcu_pairing_periodic(void)
if (s_pairing.timeout_s == 0) {
return;
}
- /* 已经配上:切态由 mcu_business_on_paired 做,这里别抢 */
+ /* 已经配上:切态由 mcu_logic_on_paired 做,这里别抢 */
if (usr_get_pair_flag()) {
return;
}
diff --git a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_pairing.h b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_pairing.h
similarity index 100%
rename from JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_pairing.h
rename to JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_pairing.h
diff --git a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_time.c b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_time.c
similarity index 100%
rename from JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_time.c
rename to JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_time.c
diff --git a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_time.h b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_time.h
similarity index 100%
rename from JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_time.h
rename to JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_time.h
diff --git a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_version.c b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_version.c
similarity index 100%
rename from JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_version.c
rename to JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_version.c
diff --git a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_version.h b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_version.h
similarity index 100%
rename from JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/business/mcu_version.h
rename to JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/logic/mcu_version.h
diff --git a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/mcu_bridge.c b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/mcu_bridge.c
index 065eb5f..5d6e375 100644
--- a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/mcu_bridge.c
+++ b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/mcu_bridge.c
@@ -2,8 +2,8 @@
* @file mcu_bridge.c
* @brief BLE+MCU 接入模块对外总入口实现(组合门面,仅转调)
* @author cyWu <1917507415@qq.com>
- * @date 2026.08.13
- * @version V2.1.0
+ * @date 2026.09.11
+ * @version V2.3.0
* @history
* - V1.0.0, 2026.08.06, cyWu, 首次发布
* - V1.1.0, 2026.08.06, cyWu, 改为事件队列 + 独立任务驱动
@@ -13,11 +13,12 @@
* - V2.0.0, 2026.08.12, cyWu, 拆分为 protocol/ + business/ 分层,
* 本文件收敛为纯组合门面,不再持有任何状态
* - V2.1.0, 2026.08.13, cyWu, P1 增加网络时间入口
+ * - V2.3.0, 2026.09.11, cyWu, 转调 mcu_logic(原 mcu_business)
******************************************************************************/
#include "mcu_bridge.h"
#include "mcu_protocol.h"
-#include "mcu_business.h"
+#include "mcu_logic.h"
/**
* @brief 初始化 MCU 接入模块
@@ -45,15 +46,15 @@ void mcu_bridge_on_app_frame(const uint8_t *data, uint16_t len)
}
/**
- * @brief 身份是否就绪,转调业务门面
+ * @brief 身份是否就绪,转调逻辑层
*/
uint8_t mcu_bridge_is_identity_ready(void)
{
- return mcu_business_is_identity_ready();
+ return mcu_logic_is_identity_ready();
}
/**
- * @brief 配网成功:经协议层事件队列串行化,再转业务门面处理
+ * @brief 配网成功:经协议层事件队列串行化,再转逻辑层处理
*/
void mcu_bridge_on_paired(void)
{
@@ -69,11 +70,11 @@ void mcu_bridge_on_pair_cleared(void)
}
/**
- * @brief 获取工作状态,转调业务门面
+ * @brief 获取工作状态,转调逻辑层
*/
uint8_t mcu_bridge_get_work_status(void)
{
- return mcu_business_get_work_status();
+ return mcu_logic_get_work_status();
}
/**
@@ -99,7 +100,7 @@ void mcu_bridge_on_network_time(uint64_t unix_s, int32_t gmtoff_s)
*/
void mcu_bridge_on_ble_disconnected(void)
{
- if (!mcu_business_ota_is_active()) {
+ if (!mcu_logic_ota_is_active()) {
return;
}
mcu_protocol_notify_disconnected();
@@ -111,5 +112,5 @@ void mcu_bridge_on_ble_disconnected(void)
*/
uint8_t mcu_bridge_ota_is_active(void)
{
- return mcu_business_ota_is_active();
+ return mcu_logic_ota_is_active();
}
diff --git a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/mcu_bridge.h b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/mcu_bridge.h
index ea55b30..d225e1a 100644
--- a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/mcu_bridge.h
+++ b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/mcu_bridge.h
@@ -2,8 +2,8 @@
* @file mcu_bridge.h
* @brief BLE+MCU 接入模块对外总入口(组合门面)
* @author cyWu <1917507415@qq.com>
- * @date 2026.08.13
- * @version V2.1.0
+ * @date 2026.09.11
+ * @version V2.3.0
* @history
* - V1.0.0, 2026.08.06, cyWu, 首次发布
* - V1.1.0, 2026.08.06, cyWu, 内部改为事件队列 + 独立任务驱动
@@ -13,6 +13,7 @@
* 外部调用方(app_main.c / usr_le_adv.c / usr_le_recieve.c 等)无需改动
* - V2.1.0, 2026.08.13, cyWu, P1 增加网络时间入口;业务子模块扩到管理/对时/版本
* - V2.2.0, 2026.08.15, cyWu, P2 OTA 入口走本门面,usr_le_code 不再 include mcu_ota.h
+ * - V2.3.0, 2026.09.11, cyWu, business 更名为 logic(逻辑层),入口改为 mcu_logic
******************************************************************************/
#ifndef __MCU_BRIDGE_H__
@@ -26,28 +27,28 @@
/* */
/* apps/usr_mcu_bridge/ */
/* ├── mcu_bridge.c/h —— 本文件:组合根,稳定对外 API */
-/* ├── protocol/ —— 协议层:只做协议机制,不含业务判断 */
+/* ├── protocol/ —— 协议层:组帧、收发、ACK、心跳,不管具体功能 */
/* │ ├── mcu_cmd.h 命令字 / 结果码 / work_status 位定义 */
/* │ ├── mcu_frame.c/h 55AA 组帧/解帧 */
/* │ ├── mcu_uart.c/h UART 收发驱动 */
/* │ ├── mcu_util.c/h 校验和/大端序/毫秒工具 */
/* │ └── mcu_protocol.c/h 事件队列/任务/分发/ACK/透传重传/心跳 */
-/* └── business/ —— 业务层:按业务拆分,互不直接依赖对方实现 */
-/* ├── mcu_identity.c/h 身份业务(0x01/0x02) */
-/* ├── mcu_pairing.c/h 配网业务(0x10、超时) */
-/* ├── mcu_link_status.c/h 连接状态业务(Bit0/1/2/6 位图) */
+/* └── logic/ —— 逻辑层:配网、版本、OTA 等具体功能 */
+/* ├── mcu_identity.c/h 身份(0x01/0x02) */
+/* ├── mcu_pairing.c/h 配网(0x10、超时) */
+/* ├── mcu_link_status.c/h 连接状态位图(Bit0/1/2/6) */
/* ├── mcu_mgmt.c/h 模组管理(0x16/0x18/0x1A) */
/* ├── mcu_time.c/h 对时(0x1C/0x1D,写入 usr_rtc) */
/* ├── mcu_version.c/h MCU 信息 + SOC 0x41 上报 */
-/* ├── mcu_ota.c/h P2 OTA:Type 分流 / MCU 透传 / Bit6 */
-/* └── mcu_business.c/h 业务门面:协调子模块,供协议层调用 */
+/* ├── mcu_ota.c/h OTA:Type 分流 / MCU 透传 / Bit6 */
+/* └── mcu_logic.c/h 逻辑层入口:协议层只调这里,再分到各模块 */
/* */
/* 依赖方向(单向,禁止反向 include): */
/* usr_le_code / app_main → mcu_bridge.h */
-/* mcu_bridge → mcu_protocol + mcu_business(门面) */
-/* mcu_protocol → mcu_business.h(不 include 业务子模块) */
-/* mcu_business 门面 → identity/pairing/link/mgmt/time/version/ota */
-/* 业务子模块互不 include;只经 mcu_protocol_send_* 回调协议层发送 */
+/* mcu_bridge → mcu_protocol + mcu_logic */
+/* mcu_protocol → mcu_logic.h(不直接 include 各功能模块) */
+/* mcu_logic → identity/pairing/link/mgmt/time/version/ota */
+/* 功能模块互不 include;只经 mcu_protocol_send_* 回调协议层发送 */
/* mcu_ota → usr_ota(协议无关 dual_bank 引擎,不感知 55AA) */
/*============================================================================*/
@@ -69,7 +70,7 @@ typedef enum {
/*============================================================================*/
/**
- * @brief 初始化 MCU 接入模块(组合 protocol + business)
+ * @brief 初始化 MCU 接入模块(组合协议层 + 逻辑层)
* @return McuBridge_Ret_t
*/
McuBridge_Ret_t mcu_bridge_init(void);
diff --git a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/protocol/mcu_protocol.c b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/protocol/mcu_protocol.c
index 5bdb308..b53a5dd 100644
--- a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/protocol/mcu_protocol.c
+++ b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/protocol/mcu_protocol.c
@@ -17,7 +17,7 @@
#include "system/includes.h"
#include "asm/power/power_api.h"
#include "mcu_protocol.h"
-#include "mcu_business.h"
+#include "mcu_logic.h"
#include "mcu_frame.h"
#include "mcu_uart.h"
#include "mcu_util.h"
@@ -230,13 +230,13 @@ static void mcu_protocol_dispatch_event(const McuEvt_t *evt)
mcu_protocol_handle_gateway_ack(evt->gw_cmd, evt->gw_int_cnt, evt->gw_int0);
break;
case MCU_EVT_BLE_PAIRED:
- mcu_business_on_paired();
+ mcu_logic_on_paired();
break;
case MCU_EVT_BLE_PAIR_CLEARED:
- mcu_business_on_pair_cleared();
+ mcu_logic_on_pair_cleared();
break;
case MCU_EVT_NET_TIME:
- mcu_business_on_network_time(evt->unix_s, evt->gmtoff_s);
+ mcu_logic_on_network_time(evt->unix_s, evt->gmtoff_s);
break;
case MCU_EVT_APP_OTA_DATA:
mcu_protocol_handle_app_frame(s_proto.ota_rx.buf, s_proto.ota_rx.len);
@@ -244,7 +244,7 @@ static void mcu_protocol_dispatch_event(const McuEvt_t *evt)
break;
case MCU_EVT_BLE_DISCONNECTED:
s_proto.disc_posted = 0;
- mcu_business_on_ble_disconnected();
+ mcu_logic_on_ble_disconnected();
break;
default:
log_error("unknown evt type=%d", evt->type);
@@ -332,7 +332,7 @@ static int32_t mcu_protocol_send_frame(uint8_t cmd, uint8_t sn,
}
/**
- * @brief 自动 SN 发送(供 business 层调用)
+ * @brief 自动 SN 发送(供逻辑层调用)
* @param cmd 命令
* @param payload 载荷
* @param plen 长度
@@ -468,7 +468,7 @@ void mcu_protocol_invalidate_work_status_push(void)
/*============================================================================*/
/**
- * @brief 处理 0x10:协议校验 + ACK,业务交给 business 层
+ * @brief 处理 0x10:协议校验 + ACK,再交给逻辑层
* @param frame 完整帧
* @param len 长度
*/
@@ -493,18 +493,18 @@ static void mcu_protocol_handle_pair_cfg(const uint8_t *frame, uint16_t len)
return;
}
/* 还没拿到 MCU 身份,广播都发不了,回忙让 MCU 稍后再试 */
- if (!mcu_business_is_identity_ready())
+ if (!mcu_logic_is_identity_ready())
{
mcu_protocol_send_ack(MCU_CMD_PAIR_CFG_ACK, sn, MCU_RESULT_BUSY);
return;
}
mcu_protocol_send_ack(MCU_CMD_PAIR_CFG_ACK, sn, MCU_RESULT_OK);
- mcu_business_on_pair_cfg(mode, timeout_s);
+ mcu_logic_on_pair_cfg(mode, timeout_s);
}
/**
- * @brief 处理 0x1C:组 0x1D(时间由 business 填充)
+ * @brief 处理 0x1C:组 0x1D(时间由逻辑层填充)
* @param frame 完整帧
* @param len 长度
*/
@@ -520,7 +520,7 @@ static void mcu_protocol_handle_get_time(const uint8_t *frame, uint16_t len)
return;
}
sn = frame[MCU_FRAME_OFF_SN];
- mcu_business_build_time_ack(payload, &plen);
+ mcu_logic_build_time_ack(payload, &plen);
if (plen == 0)
{
plen = 1;
@@ -603,19 +603,19 @@ static void mcu_protocol_handle_frame(const uint8_t *frame, uint16_t len)
s_proto.hb_waiting = 0;
s_proto.hb_fail_cnt = 0;
}
- /* 0x41/0x1B 等其余 ACK 继续走 switch,交给 business */
+ /* 0x41/0x1B 等其余 ACK 继续走 switch,交给逻辑层 */
}
switch (cmd)
{
case MCU_CMD_GET_IDENTITY_ACK:
- mcu_business_on_identity_ack(frame, len);
+ mcu_logic_on_identity_ack(frame, len);
break;
case MCU_CMD_PAIR_CFG:
mcu_protocol_handle_pair_cfg(frame, len);
break;
case MCU_CMD_REPORT:
- if (mcu_business_ota_is_ble_active()) {
+ if (mcu_logic_ota_is_ble_active()) {
log_info("drop MCU 0x07 during BLE OTA");
return;
}
@@ -628,45 +628,45 @@ static void mcu_protocol_handle_frame(const uint8_t *frame, uint16_t len)
break;
case MCU_CMD_RESET:
mcu_protocol_send_ack(MCU_CMD_RESET_ACK, sn, MCU_RESULT_OK);
- mcu_business_on_factory_reset();
+ mcu_logic_on_factory_reset();
break;
case MCU_CMD_REBOOT:
mcu_protocol_send_ack(MCU_CMD_REBOOT_ACK, sn, MCU_RESULT_OK);
- mcu_business_on_mod_reboot();
+ mcu_logic_on_mod_reboot();
break;
case MCU_CMD_GET_TIME:
mcu_protocol_handle_get_time(frame, len);
break;
case MCU_CMD_GET_MCU_INFO_ACK:
- mcu_business_on_mcu_info_ack(frame, len); /* 只本地解析,不原样转发网关 */
+ mcu_logic_on_mcu_info_ack(frame, len); /* 只本地解析,不原样转发网关 */
break;
case MCU_CMD_MCU_REBOOT_ACK:
- mcu_business_on_mcu_reboot_ack(frame, len);
+ mcu_logic_on_mcu_reboot_ack(frame, len);
break;
case MCU_CMD_HEARTBEAT_ACK:
break;
case MCU_CMD_WORK_STATUS_ACK:
- mcu_business_on_ota_ws_ack();
+ mcu_logic_on_ota_ws_ack();
break;
case MCU_CMD_OTA_NOTIFY_ACK:
case MCU_CMD_OTA_DATA_ACK:
case MCU_CMD_OTA_COMPLETE:
case MCU_CMD_OTA_STOP_BLE_ACK:
case MCU_CMD_OTA_STOP_MCU:
- mcu_business_on_mcu_ota_frame(frame, len);
+ mcu_logic_on_mcu_ota_frame(frame, len);
break;
case MCU_CMD_FACTORY:
case MCU_CMD_PHOTO:
case MCU_CMD_RECORD:
case MCU_CMD_AUDIO:
- if (mcu_business_ota_is_active()) {
+ if (mcu_logic_ota_is_active()) {
log_info("drop MCU cmd=0x%02X during OTA", cmd);
break;
}
mcu_protocol_send_ack((uint8_t)(cmd + 1), sn, MCU_RESULT_NOT_SUPPORT);
break;
default:
- if (mcu_business_ota_is_active()) {
+ if (mcu_logic_ota_is_active()) {
log_info("drop MCU cmd=0x%02X during OTA", cmd);
}
break;
@@ -693,7 +693,7 @@ static void mcu_protocol_handle_app_frame(const uint8_t *data, uint16_t len)
case MCU_CMD_OTA_DATA:
case MCU_CMD_OTA_COMPLETE_ACK:
case MCU_CMD_OTA_STOP_BLE:
- mcu_business_on_app_ota_frame(data, len);
+ mcu_logic_on_app_ota_frame(data, len);
return;
/* 反向 OTA 命令:模组→APP,或会话已结束后的 0x39,禁止透传到 UART */
@@ -708,11 +708,11 @@ static void mcu_protocol_handle_app_frame(const uint8_t *data, uint16_t len)
case MCU_CMD_GET_MCU_INFO:
/* APP 问版本:模组用缓存回 SOC 0x41,不要把 0x40 转给 MCU */
- mcu_business_on_app_get_mcu_info(sn);
+ mcu_logic_on_app_get_mcu_info(sn);
return;
case MCU_CMD_CONTROL:
- if (mcu_business_ota_is_active()) {
+ if (mcu_logic_ota_is_active()) {
mcu_protocol_reply_app_result(MCU_CMD_CONTROL_ACK, sn, MCU_RESULT_BUSY);
return;
}
@@ -720,7 +720,7 @@ static void mcu_protocol_handle_app_frame(const uint8_t *data, uint16_t len)
break;
case MCU_CMD_READ:
- if (mcu_business_ota_is_active()) {
+ if (mcu_logic_ota_is_active()) {
mcu_protocol_reply_app_result(MCU_CMD_READ_ACK, sn, MCU_RESULT_BUSY);
return;
}
@@ -728,7 +728,7 @@ static void mcu_protocol_handle_app_frame(const uint8_t *data, uint16_t len)
break;
default:
- if (mcu_business_ota_is_active()) {
+ if (mcu_logic_ota_is_active()) {
log_info("drop APP cmd=0x%02X during OTA", cmd);
return;
}
@@ -790,7 +790,7 @@ static void mcu_protocol_handle_gateway_ack(uint16_t cmd,
}
/* 再交给版本上报:若已被 0x07 占用,版本侧会继续等,不会误当成自己的 ACK */
- mcu_business_on_gateway_ack(success, mcu_consumed);
+ mcu_logic_on_gateway_ack(success, mcu_consumed);
}
/*============================================================================*/
@@ -808,7 +808,7 @@ static void mcu_protocol_try_heartbeat(void)
int32_t total;
/* 身份都还没通,先别发心跳 */
- if (!mcu_business_is_identity_ready() || mcu_business_ota_is_active())
+ if (!mcu_logic_is_identity_ready() || mcu_logic_ota_is_active())
{
return;
}
@@ -867,7 +867,7 @@ static void mcu_protocol_try_heartbeat(void)
}
/**
- * @brief 工作状态变化时推送 0x14(状态值来自 business 层)
+ * @brief 工作状态变化时推送 0x14(状态值来自逻辑层)
*/
static void mcu_protocol_try_work_status(void)
{
@@ -878,12 +878,12 @@ static void mcu_protocol_try_work_status(void)
uint32_t now;
uint8_t ws;
- if (!mcu_business_is_identity_ready() || mcu_business_ota_is_active())
+ if (!mcu_logic_is_identity_ready() || mcu_logic_ota_is_active())
{
return;
}
- ws = mcu_business_get_work_status();
+ ws = mcu_logic_get_work_status();
/* 状态没变就不再推 0x14;0xFF 表示强制重推 */
if (ws == s_proto.last_pushed_status)
{
@@ -994,16 +994,16 @@ static void mcu_protocol_check_ble_pending(void)
}
/**
- * @brief 周期处理:串口防睡 / 业务周期 / pending 重试 / 心跳 / 状态推送
+ * @brief 周期处理:串口防睡 / 逻辑层周期 / pending 重试 / 心跳 / 状态推送
*/
static void mcu_protocol_periodic(void)
{
mcu_uart_rx_keep_awake_tick(); /* 串口防睡 */
- mcu_business_periodic(); /* 业务周期 */
+ mcu_logic_periodic(); /* 逻辑层周期 */
mcu_protocol_check_app_pending(); /* APP 透传超时重发;重试用尽后主动回 FAIL,不让 APP 干等 */
mcu_protocol_check_ble_pending(); /* BLE 主动帧 pending 超时清理 */
mcu_protocol_try_heartbeat(); /* 心跳 */
- mcu_protocol_try_work_status(); /* 工作状态变化时推送 0x14(状态值来自 business 层) */
+ mcu_protocol_try_work_status(); /* 工作状态变化时推送 0x14(状态值来自逻辑层) */
}
/*============================================================================*/
@@ -1023,7 +1023,7 @@ uint8_t mcu_protocol_init(void)
memset(&s_proto, 0, sizeof(s_proto));
mcu_frame_parser_reset();
- mcu_business_init();
+ mcu_logic_init();
if (mcu_uart_init() != MCU_UART_OK)
{
diff --git a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/protocol/mcu_protocol.h b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/protocol/mcu_protocol.h
index d49a389..e52ae49 100644
--- a/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/protocol/mcu_protocol.h
+++ b/JBao_JL7016_MOD_FW/apps/usr_mcu_bridge/protocol/mcu_protocol.h
@@ -6,7 +6,7 @@
* @version V1.1.0
* @history
* - V1.0.0, 2026.08.12, cyWu, 从 mcu_bridge.c 拆出,仅保留协议机制,
- * 不含任何业务判断(身份/配网/连接状态见 ../business)
+ * 不含功能处理(身份/配网/连接状态见 ../logic)
* - V1.1.0, 2026.08.13, cyWu, P1:管理命令分发、pending 发送、网关时间入队
* - V1.2.0, 2026.08.15, cyWu, P2:OTA 大包旁路、按 SN 发送、原始帧转发
******************************************************************************/
@@ -20,12 +20,11 @@
/*============================================================================*/
/* 说明 */
/* 本模块只做协议机制:组帧收发、事件队列驱动的单一任务、命令分发、 */
-/* ACK 与超时重传、心跳保活。所有业务判断(该不该配网/该发什么广播/ */
-/* work_status 具体取值)一律转交 business 层,本模块不感知业务细节。 */
+/* ACK 与超时重传、心跳保活。配网/版本/OTA 等具体功能一律转交逻辑层。 */
/*============================================================================*/
/**
- * @brief 初始化协议引擎(UART + 事件队列 + 独立任务 + business 层)
+ * @brief 初始化协议引擎(UART + 事件队列 + 独立任务 + 逻辑层)
* @return 1=成功,0=失败
*/
uint8_t mcu_protocol_init(void);
@@ -45,7 +44,7 @@ void mcu_protocol_on_uart_rx(const uint8_t *data, uint16_t len);
void mcu_protocol_on_app_frame(const uint8_t *data, uint16_t len);
/**
- * @brief 配网成功通知(入队,交由协议任务在自身上下文调用 business 层)
+ * @brief 配网成功通知(入队,交由协议任务在自身上下文调用逻辑层)
*/
void mcu_protocol_notify_paired(void);
@@ -77,7 +76,7 @@ void mcu_protocol_notify_network_time(uint64_t unix_s, int32_t gmtoff_s);
void mcu_protocol_notify_disconnected(void);
/*============================================================================*/
-/* 供 business 层调用的协议发送接口 */
+/* 供逻辑层调用的协议发送接口 */
/*============================================================================*/
/**
@@ -132,7 +131,7 @@ uint8_t mcu_protocol_is_ble_pending(void);
uint8_t mcu_protocol_is_mcu_report_waiting(void);
/**
- * @brief 强制下一轮重新推送 0x14(业务状态变化后调用)
+ * @brief 强制下一轮重新推送 0x14(逻辑层状态变化后调用)
*/
void mcu_protocol_invalidate_work_status_push(void);
diff --git a/tools/pack_firmware.ps1 b/tools/pack_firmware.ps1
index 24c70d3..b347900 100644
--- a/tools/pack_firmware.ps1
+++ b/tools/pack_firmware.ps1
@@ -23,7 +23,7 @@ if ([string]::IsNullOrWhiteSpace($SdkRoot)) {
$SdkRoot = Join-Path $RepoRoot "JBao_JL7016_MOD_FW"
}
-$VersionHeader = Join-Path $SdkRoot "apps\usr_mcu_bridge\business\mcu_version.h"
+$VersionHeader = Join-Path $SdkRoot "apps\usr_mcu_bridge\logic\mcu_version.h"
$DownloadDir = Join-Path $SdkRoot "cpu\br28\tools\download\earphone"
$ReleaseRoot = Join-Path $RepoRoot "release"