diff --git a/PD_CPS8860_A1_CPS_Common_Demo/ac_project/code/inc/customized.h b/PD_CPS8860_A1_CPS_Common_Demo/ac_project/code/inc/customized.h
index ce51c3a..def9407 100644
--- a/PD_CPS8860_A1_CPS_Common_Demo/ac_project/code/inc/customized.h
+++ b/PD_CPS8860_A1_CPS_Common_Demo/ac_project/code/inc/customized.h
@@ -19,6 +19,7 @@
#define PD_PWR_45W 6
#define PD_PWR_35W 7
#define PD_PWR_25W 8
+#define PD_PWR_12W 9
#include "core_comm.h"
#include "drv_comm.h"
diff --git a/PD_CPS8860_A1_CPS_Common_Demo/ac_project/code/src/customized.c b/PD_CPS8860_A1_CPS_Common_Demo/ac_project/code/src/customized.c
index eba1848..0cfba52 100644
--- a/PD_CPS8860_A1_CPS_Common_Demo/ac_project/code/src/customized.c
+++ b/PD_CPS8860_A1_CPS_Common_Demo/ac_project/code/src/customized.c
@@ -437,7 +437,7 @@ void ntc_judgment(void)
bool usba_online_state = false;
void usba_detection(void)
{
- // 插入检测: 连续检测到 >=250mA电流 3秒
+ // 插入检测: 连续检测到 >=250mA电流 50ms
// 拔出检测: 连续检测到 <100mA电流 3秒
/* 实测:
@@ -456,7 +456,7 @@ void usba_detection(void)
input_cnt++;
output_cnt = 0;
- if(input_cnt >= 3000)
+ if(input_cnt >= 100)
{
input_cnt = 0;
usba_online_state = true;
@@ -832,13 +832,19 @@ void adapter_state_check(void)
case C1_C2_A_INSER:
// 3口同插时, C1口45W, C2口只留苹果模式
need_send_cap_flag[TYPEC_PORT0] = PD_PWR_45W;
+ need_send_cap_flag[TYPEC_PORT1] = PD_PWR_12W;
+ // 复位DPDN协议以及只留PD协议
charge_protocol_reset(TYPEC_PORT1, &g_app_protocol_param[TYPEC_PORT1].dpdn_param,
SCP_TYPEC_RESET);
- g_powerout_info[TYPEC_PORT1].support_protocol.byte = PROTOCOL_DISABLE_ALL;
+ g_powerout_info[TYPEC_PORT1].support_protocol.byte = PROTOCOL_ONLY_ENABLE_PD;
+
+ // 如果C2原本就升到了5V以上电压, 要降回5V。 PD会自己回5V, DPDN协议就需要手动设回去
+ if(g_powerout_info[TYPEC_PORT1].protocol_type != PROTOCOL_PD)
+ {
+ comp_powerout_default_set(TYPEC_PORT1, &g_powerout_info[TYPEC_PORT1]);
+ }
- // 如果C2原本就升到了5V以上电压, 要降回5V
- comp_powerout_default_set(TYPEC_PORT1, &g_powerout_info[TYPEC_PORT1]);
break;
default:
diff --git a/PD_CPS8860_A1_CPS_Common_Demo/ac_project/code/src/port0_customized.c b/PD_CPS8860_A1_CPS_Common_Demo/ac_project/code/src/port0_customized.c
index 6356c6c..37c0db9 100644
--- a/PD_CPS8860_A1_CPS_Common_Demo/ac_project/code/src/port0_customized.c
+++ b/PD_CPS8860_A1_CPS_Common_Demo/ac_project/code/src/port0_customized.c
@@ -812,6 +812,19 @@ const pd_pdo_info_s port0_src_cap_info[] =
.pdo6 = 0,
},
+
+ {
+ .pdo_cnt = 1,
+ .src_pdp = 12,
+ .pdo0 = PD_SRC_SPR_FPS_PDO(1, 1, 0, 0, VOLTAGE_5V, CURRENT_2P4A),
+ .pdo1 = 0,
+ .pdo2 = 0,
+ .pdo3 = 0,
+ .pdo4 = 0,
+ .pdo5 = 0,
+ .pdo6 = 0,
+ },
+
};
//const pd_pdo_info_s port0_src_cap_info[] =
diff --git a/PD_CPS8860_A1_CPS_Common_Demo/ac_project/code/src/port1_customized.c b/PD_CPS8860_A1_CPS_Common_Demo/ac_project/code/src/port1_customized.c
index dd98e8f..9cdba09 100644
--- a/PD_CPS8860_A1_CPS_Common_Demo/ac_project/code/src/port1_customized.c
+++ b/PD_CPS8860_A1_CPS_Common_Demo/ac_project/code/src/port1_customized.c
@@ -813,6 +813,17 @@ const pd_pdo_info_s port1_src_cap_info[] =
.pdo6 = 0,
},
+ {
+ .pdo_cnt = 1,
+ .src_pdp = 12,
+ .pdo0 = PD_SRC_SPR_FPS_PDO(1, 1, 0, 0, VOLTAGE_5V, CURRENT_2P4A),
+ .pdo1 = 0,
+ .pdo2 = 0,
+ .pdo3 = 0,
+ .pdo4 = 0,
+ .pdo5 = 0,
+ .pdo6 = 0,
+ },
};
//const pd_pdo_info_s port1_src_cap_info[] =
diff --git a/PD_CPS8860_A1_CPS_Common_Demo/ac_project/project/Objects/CPS8860_anker_9196.axf b/PD_CPS8860_A1_CPS_Common_Demo/ac_project/project/Objects/CPS8860_anker_9196.axf
index 9b3c464..2def7e5 100644
Binary files a/PD_CPS8860_A1_CPS_Common_Demo/ac_project/project/Objects/CPS8860_anker_9196.axf and b/PD_CPS8860_A1_CPS_Common_Demo/ac_project/project/Objects/CPS8860_anker_9196.axf differ
diff --git a/PD_CPS8860_A1_CPS_Common_Demo/ac_project/project/Objects/CPS8860_anker_9196.build_log.htm b/PD_CPS8860_A1_CPS_Common_Demo/ac_project/project/Objects/CPS8860_anker_9196.build_log.htm
index f108b0a..67c7a65 100644
--- a/PD_CPS8860_A1_CPS_Common_Demo/ac_project/project/Objects/CPS8860_anker_9196.build_log.htm
+++ b/PD_CPS8860_A1_CPS_Common_Demo/ac_project/project/Objects/CPS8860_anker_9196.build_log.htm
@@ -21,7 +21,7 @@ Target DLL: UL2CM3.DLL V1.164.0.0
Dialog DLL: TARMCM1.DLL V1.14.4.0
Project:
-C:\Users\TJP\Desktop\TEST_1\anker_8860_new_code\PD_CPS8860_A1_CPS_Common_Demo\ac_project\project\cps8860.uvprojx
+C:\Users\TJP\Desktop\GIT_TEST\CPS8860_9196_70W\Anker_9196_CPS8860\PD_CPS8860_A1_CPS_Common_Demo\ac_project\project\cps8860.uvprojx
Project File Date: 04/21/2025
Output:
@@ -30,15 +30,19 @@ Rebuild target 'Target 1'
assembling startup_CMSDK_CM0.s...
compiling adapter_antifake.c...
compiling system_CMSDK_CM0.c...
-compiling comp_adc.c...
compiling comp_discharge.c...
+compiling comp_adc.c...
+compiling comp_auto_zero.c...
compiling comp_primary_side.c...
+compiling cps8860_it.c...
+compiling port1_customized.c...
+compiling main.c...
compiling app_spec.c...
..\..\common\app\src\app_spec.c(177): warning: #177-D: variable "umask_val" was declared but never referenced
uint32_t umask_val = 0;
..\..\common\app\src\app_spec.c: 1 warning, 0 errors
-compiling main.c...
-compiling comp_auto_zero.c...
+compiling comp_powerout.c...
+compiling port0_customized.c...
compiling comp_protection.c...
compiling customized.c...
..\code\src\customized.c(26): warning: #188-D: enumerated type mixed with another type
@@ -47,32 +51,28 @@ compiling customized.c...
user_app_s user_app = {0};
..\code\src\customized.c(175): warning: #177-D: function "path_scp_mode_exit_action" was declared but never referenced
static void path_scp_mode_exit_action(uint8_t port, scp_param_s *scp_param)
-..\code\src\customized.c(1225): warning: #177-D: function "comp_ccloop_enable" was declared but never referenced
+..\code\src\customized.c(1241): warning: #177-D: function "comp_ccloop_enable" was declared but never referenced
static void comp_ccloop_enable(uint8_t port)
..\code\src\customized.c: 4 warnings, 0 errors
-compiling cps8860_it.c...
-compiling port0_customized.c...
compiling comp_dac.c...
..\code\src\comp_dac.c(310): warning: #177-D: variable "temp" was declared but never referenced
uint32_t temp[TYPEC_PORT_MAX + 1] = {0};
..\code\src\comp_dac.c: 1 warning, 0 errors
-compiling port1_customized.c...
-compiling comp_powerout.c...
compiling dpdn_protocol.c...
compiling qc_scp_protocol.c...
-compiling ufcs_protocol.c...
compiling pd_protocol.c...
-..\..\common\comp\protocol\pd_protocol\src\pd_protocol.c(786): warning: #550-D: variable "pd_hw_uvdm_header" was set but never used
+..\..\common\comp\protocol\pd_protocol\src\pd_protocol.c(792): warning: #550-D: variable "pd_hw_uvdm_header" was set but never used
pd_hw_uvdm_header_u pd_hw_uvdm_header = {0};
..\..\common\comp\protocol\pd_protocol\src\pd_protocol.c(263): warning: #177-D: function "pd_analog_set" was declared but never referenced
static void pd_analog_set(uint8_t port)
..\..\common\comp\protocol\pd_protocol\src\pd_protocol.c: 2 warnings, 0 errors
+compiling ufcs_protocol.c...
linking...
-Program Size: Code=10338 RO-data=1722 RW-data=56 ZI-data=3852
+Program Size: Code=10630 RO-data=1782 RW-data=60 ZI-data=3848
FromELF: creating hex file...
After Build - User command #1: .\CPS8860.bat
-C:\Users\TJP\Desktop\TEST_1\anker_8860_new_code\PD_CPS8860_A1_CPS_Common_Demo\ac_project\project>set Project_Name=CPS8860_anker_9196
-C:\Users\TJP\Desktop\TEST_1\anker_8860_new_code\PD_CPS8860_A1_CPS_Common_Demo\ac_project\project>.\AStyle.exe --style=ansi --recursive -S -s4 -p -f -U -n "..\*.c" "..\*.h"
+C:\Users\TJP\Desktop\GIT_TEST\CPS8860_9196_70W\Anker_9196_CPS8860\PD_CPS8860_A1_CPS_Common_Demo\ac_project\project>set Project_Name=CPS8860_anker_9196
+C:\Users\TJP\Desktop\GIT_TEST\CPS8860_9196_70W\Anker_9196_CPS8860\PD_CPS8860_A1_CPS_Common_Demo\ac_project\project>.\AStyle.exe --style=ansi --recursive -S -s4 -p -f -U -n "..\*.c" "..\*.h"
------------------------------------------------------------
Ŀ¼ ..\*.c
------------------------------------------------------------
@@ -94,14 +94,14 @@ C:\Users\TJP\Desktop\TEST_1\anker_8860_new_code\PD_CPS8860_A1_CPS_Common_Demo\ac
δı code\inc\port0_customized.h
δı code\inc\port1_customized.h
δı project\Objects\co-arm_Target_1.h
-C:\Users\TJP\Desktop\TEST_1\anker_8860_new_code\PD_CPS8860_A1_CPS_Common_Demo\ac_project\project>C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe .\Objects\CPS8860_anker_9196.axf --vhx --32x1 --output .\output\CPS8860_anker_9196_32xl.hex
-C:\Users\TJP\Desktop\TEST_1\anker_8860_new_code\PD_CPS8860_A1_CPS_Common_Demo\ac_project\project>C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe .\Objects\CPS8860_anker_9196.axf --interleave=source --text -c --output=.\output\CPS8860_anker_9196.src_asm
-C:\Users\TJP\Desktop\TEST_1\anker_8860_new_code\PD_CPS8860_A1_CPS_Common_Demo\ac_project\project>copy .\objects\*.hex .\output
+C:\Users\TJP\Desktop\GIT_TEST\CPS8860_9196_70W\Anker_9196_CPS8860\PD_CPS8860_A1_CPS_Common_Demo\ac_project\project>C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe .\Objects\CPS8860_anker_9196.axf --vhx --32x1 --output .\output\CPS8860_anker_9196_32xl.hex
+C:\Users\TJP\Desktop\GIT_TEST\CPS8860_9196_70W\Anker_9196_CPS8860\PD_CPS8860_A1_CPS_Common_Demo\ac_project\project>C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe .\Objects\CPS8860_anker_9196.axf --interleave=source --text -c --output=.\output\CPS8860_anker_9196.src_asm
+C:\Users\TJP\Desktop\GIT_TEST\CPS8860_9196_70W\Anker_9196_CPS8860\PD_CPS8860_A1_CPS_Common_Demo\ac_project\project>copy .\objects\*.hex .\output
.\objects\CPS8860_45W_9196.hex
.\objects\CPS8860_anker_9196.hex
.\objects\CPS8860_Demo_Comm.hex
Ѹ 3 ļ
-C:\Users\TJP\Desktop\TEST_1\anker_8860_new_code\PD_CPS8860_A1_CPS_Common_Demo\ac_project\project>.\HexRelease.exe .\output\CPS8860_anker_9196 0 b
+C:\Users\TJP\Desktop\GIT_TEST\CPS8860_9196_70W\Anker_9196_CPS8860\PD_CPS8860_A1_CPS_Common_Demo\ac_project\project>.\HexRelease.exe .\output\CPS8860_anker_9196 0 b
------------------ HexRelease Version:1.8 ------------------------
Func: 1) fill file size at [0xC8]; 2) append CRC16 at last Word
command line: HexRelease input_file_name_without_postfix out_size out_type [out_file_name_without_postfix]
@@ -116,12 +116,12 @@ out_type : expected out file type
'd' output binary file(.bin)
[out_file_name_without_postfix] : Option: out file name without postfix.
----------------------------------------------------------------------
-input code size: 12,116 [11.832K]
- app size: 2F58 ; CRC: 3EF0
+input code size: 12,472 [12.180K]
+ app size: 30BC ; CRC: 51E1
-out code size : 12,120 [11.836K]
-create file: .\output\CPS8860_anker_9196_A1_60_V0.3_CRC2C08.hex success!
-C:\Users\TJP\Desktop\TEST_1\anker_8860_new_code\PD_CPS8860_A1_CPS_Common_Demo\ac_project\project>move /Y .\CPS8860_anker_9196_*.hex .\output
+out code size : 12,476 [12.184K]
+create file: .\output\CPS8860_anker_9196_A1_60_V0.4_CRC0F2E.hex success!
+C:\Users\TJP\Desktop\GIT_TEST\CPS8860_9196_70W\Anker_9196_CPS8860\PD_CPS8860_A1_CPS_Common_Demo\ac_project\project>move /Y .\CPS8860_anker_9196_*.hex .\output
һļҲļ
".\Objects\CPS8860_anker_9196.axf" - 0 Error(s), 8 Warning(s).
@@ -136,7 +136,7 @@ Package Vendor: ARM
D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.8.0\Device\ARM\ARMCM0\Include
Collection of Component Files used:
-Build Time Elapsed: 00:00:05
+Build Time Elapsed: 00:00:04