diff --git a/apps/chrg/applications/thread/chrg_comm.c b/apps/chrg/applications/thread/chrg_comm.c index a64ee3b..dd2031b 100644 --- a/apps/chrg/applications/thread/chrg_comm.c +++ b/apps/chrg/applications/thread/chrg_comm.c @@ -27,7 +27,7 @@ #include "stm32f4xx_hal.h" #define HOLD_REG_FIRMWARE_VERSION 0x0300U /* 协议板固件版本,只读 */ -#define CHRG_FIRMWARE_VERSION 0x0144U /* 当前协议板版本:V1.1.52 */ +#define CHRG_FIRMWARE_VERSION 0x0145U /* 当前协议板版本:V1.1.53 */ rt_uint8_t ucDiscInBuf[(TOTAL_DISC_REGS+BITS_UCHAR-1)/BITS_UCHAR]; @@ -2022,12 +2022,11 @@ static eMBException chrg_comm_apply_sink_effect(rt_uint8_t ch, pReal->sink.work_mode = SINK_WORK_INIT; } else if (full_handshake_change) { /* - * 只有CC实际变化时才发送目标CC命令并等待;协议类型或组号 - * 单独变化时直接重发PD帧,不重复设置未变化的CC。 - * 协议与CC同时变化时先设置目标CC,CC稳定后再发送协议; - * 仅协议变化时不重复设置未变化的CC。 + * 协议类型变化会复位Sink协议板,复位会清除协议板内部CC选择; + * 即使上位机CC参数未变化,也必须重新设置CC并等待稳定后再设协议。 */ - if (diff_info.cc_changed && protocol_data_changed) { + if (diff_info.protocol_changed || + (diff_info.cc_changed && protocol_data_changed)) { /* Protocol-before-CC test flow is disabled in this version. */ target_sub = diff_info.cv_changed ? IDX_SET_SINK_CC_BEFORE_PD_WITH_MODE : diff --git a/apps/chrg/applications/thread/chrg_north.h b/apps/chrg/applications/thread/chrg_north.h index 1707e0a..1b1a722 100644 --- a/apps/chrg/applications/thread/chrg_north.h +++ b/apps/chrg/applications/thread/chrg_north.h @@ -27,7 +27,7 @@ #endif /* 南向COM批次中单通道连续收到有效回码后的最大发送条数。 */ -#define SOU_COM_BURST_MAX 2U +#define SOU_COM_BURST_MAX 6U /* 自动停止带载后,电压恢复时需要连续确认的新P1采样帧数。 */ #define SINK_LOAD_RESTART_CONFIRM_COUNT 2U diff --git a/apps/chrg/applications/thread/chrg_roll_nor.c b/apps/chrg/applications/thread/chrg_roll_nor.c index e7125b4..af4771e 100644 --- a/apps/chrg/applications/thread/chrg_roll_nor.c +++ b/apps/chrg/applications/thread/chrg_roll_nor.c @@ -270,6 +270,9 @@ static rt_bool_t chrg_roll_nor_sink_wait_process(rt_uint8_t ch, g_sink_reset_wait_mask &= (rt_uint8_t)~bit; g_sink_reset_wait_start[ch] = 0U; chrg_nor_sw_rel((eIDX_NOR_CH)ch, ID_SINK); + #if SOUTH_COMMAND_DEBUG + rt_kprintf("-------D+D- OPEN AFTER RESET: CH%d------\n", ch + 1U); + #endif pSW->sub = g_sink_reset_next_sub[ch]; g_sink_reset_next_sub[ch] = 0U; return RT_TRUE; diff --git a/apps/chrg/applications/utils/chrg_def.h b/apps/chrg/applications/utils/chrg_def.h index f9f69ff..f2bb32c 100644 --- a/apps/chrg/applications/utils/chrg_def.h +++ b/apps/chrg/applications/utils/chrg_def.h @@ -14,8 +14,8 @@ /* CHRG application version. Keep this value synchronized with the changelog. */ #define CHRG_VERSION_MAJOR 1U #define CHRG_VERSION_MINOR 1U -#define CHRG_VERSION_PATCH 52U -#define CHRG_VERSION_STRING "V1.1.52" +#define CHRG_VERSION_PATCH 53U +#define CHRG_VERSION_STRING "V1.1.53" /* * Channel polling mode: diff --git a/docs/修改日志.md b/docs/修改日志.md index 6436116..a90783e 100644 --- a/docs/修改日志.md +++ b/docs/修改日志.md @@ -1,5 +1,13 @@ # 修改日志 +## V1.1.53 - 2026-09-30 + +### 负载协议切换后CC恢复 + +- Sink协议类型切换触发复位后,固定重新下发CC选择并等待稳定,再设置目标协议。 +- 修复PD切换为标准5V时CC参数未变化而跳过CC设置,导致充电头不重新输出的问题。 +- 协议板版本寄存器 `0x0300` 更新为 `0x0145`。 + ## V1.1.52 - 2026-09-29 ### 南向YMODEM发送结果校验