From: p15692025051 <846603105@qq.com>
Date: Sat, 31 Aug 2024 04:29:27 +0000 (+0800)
Subject: k18血压模组增加活体
X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=bdd935540890d68f0635c07876412d44aed7c8a9;p=mirrors%2FASR3603_Z5.git
k18血压模组增加活体
---
diff --git a/1.doc/K18/BLE_Watch/code/proj_main.c b/1.doc/K18/BLE_Watch/code/proj_main.c
index 463b156b..643cd261 100644
--- a/1.doc/K18/BLE_Watch/code/proj_main.c
+++ b/1.doc/K18/BLE_Watch/code/proj_main.c
@@ -298,13 +298,16 @@ void init_sys_config(void)
flash_read(CONFIG_SAVE_ADDR,sizeof(sys_config),(uint8_t *)&sys_config);
//co_printf("init_sys_config:config_flag:0x%x\n",sys_config.config_flag);
- if(sys_config.config_flag != 0xaa)//ç¬¬ä¸æ¬¡å¼æºï¼æ§è¡åå§å
+ if(sys_config.config_flag != 0xaa || sys_config.end_config_flag != 0xaa)//ç¬¬ä¸æ¬¡å¼æºï¼æ§è¡åå§å
{
co_printf("init_sys_config:init config_flag\n");
sys_config.config_flag = 0xaa;
+ sys_config.end_config_flag = 0xaa;
memset(sys_config.HA_key_code,0,sizeof(sys_config.HA_key_code));
memset(sys_config.HA_req_code,0,sizeof(sys_config.HA_req_code));
memset(sys_config.IMEI,0,sizeof(sys_config.IMEI));
+ memset(&sys_config.dev9202_wear_data,0,sizeof(sys_config.dev9202_wear_data));
+ sys_config.dev9202_wear_data.BIO_HOLD_DROP_FLAG = 2;
save_sys_config();
}
}
diff --git a/1.doc/K18/BLE_Watch/code/sensor_drive.c b/1.doc/K18/BLE_Watch/code/sensor_drive.c
index 03ca466e..1c6eee2e 100644
--- a/1.doc/K18/BLE_Watch/code/sensor_drive.c
+++ b/1.doc/K18/BLE_Watch/code/sensor_drive.c
@@ -959,6 +959,7 @@ void sensor_INT(void)
// gpio_set_pin_value(GPIO_PORT_D, GPIO_BIT_6, 0); //ä¸æä¿¡å·ä½¿è½ ä½çµå¹³
// co_delay_100us(2);
}
+extern VC9202WearChangeTypeDef vc9202_drv_wear_status_identify(VC9202WearInfoTypeDef *pwear, unsigned char env, unsigned char ps, unsigned short int bio);
void sensor_init(void)
{
@@ -1048,6 +1049,7 @@ void sensor_init(void)
gsensor_init();//gsensoråå§å
NVIC_EnableIRQ(PMU_IRQn);
vc9202_alg_results.wear_status = 1;
+ set_dev9202_wear_data(sys_config.dev9202_wear_data);//è®¾ç½®ä½©æ´æ ¡ååæ°
pmu_set_gpio_value(GPIO_PORT_A, BIT(0), 1); //å¿çä½¿è½ é²æ¢æ¼çµ
pmu_set_gpio_value(GPIO_PORT_A, BIT(1), 0); //è¡å失è½
//æµè¯ä»£ç
diff --git a/1.doc/K18/BLE_Watch/components/driver/driver_pmu.c b/1.doc/K18/BLE_Watch/components/driver/driver_pmu.c
index 931c53e8..e205532f 100644
--- a/1.doc/K18/BLE_Watch/components/driver/driver_pmu.c
+++ b/1.doc/K18/BLE_Watch/components/driver/driver_pmu.c
@@ -931,7 +931,22 @@ __attribute__((weak)) __attribute__((section("ram_code"))) void onkey_isr_ram(vo
__attribute__((weak)) void adc_set_ref_voltage(uint16_t ref_avdd, uint16_t ref_internal)
{
}
-
+__attribute__((weak)) __attribute__((section("ram_code"))) void i2s_isr_ram(void)
+{
+ volatile uint32_t data;
+
+ // if(i2s_reg->status.rx_half_full) {
+ // for(uint32_t i=0; i<(I2S_FIFO_DEPTH/2); i++) {
+ // data = i2s_reg->data;
+ // }
+ // }
+
+ // if(i2s_reg->status.tx_half_empty) {
+ // for(uint32_t i=0; i<(I2S_FIFO_DEPTH/2); i++) {
+ // i2s_reg->data = 0;
+ // }
+ // }
+}
__attribute__((section("ram_code"))) void pmu_isr_ram_C(unsigned int* hardfault_args)
{
uint16_t clr_bits=0;
@@ -1040,7 +1055,7 @@ __attribute__((section("ram_code"))) void pmu_isr_ram_C(unsigned int* hardfault_
{
//co_printf("%04x", ool_read16(PMU_REG_QDEC_CNTA_VALUE));
clr_bits |= PMU_ISR_QDEC_CLR;
- qdec_isr_ram();
+ //qdec_isr_ram();
}
if(clr_bits)
diff --git a/1.doc/K18/BLE_Watch/keil/BLE_Watch.uvgui.Administrator b/1.doc/K18/BLE_Watch/keil/BLE_Watch.uvgui.Administrator
index 45230dfb..cc65b0ce 100644
--- a/1.doc/K18/BLE_Watch/keil/BLE_Watch.uvgui.Administrator
+++ b/1.doc/K18/BLE_Watch/keil/BLE_Watch.uvgui.Administrator
@@ -93,18 +93,18 @@
0
1
- -1
- -1
+ -32000
+ -32000
-1
-1
- 112
- 442
- 1809
- 1023
+ 180
+ 362
+ 1729
+ 1091
@@ -134,7 +134,7 @@
16
- 1C00000023010000B8040000B1010000
+ F7020000A60000009307000034010000
@@ -150,7 +150,7 @@
0
16
- 03000000660000004A0100007A020000
+ 0300000066000000D00100007A020000
16
@@ -170,7 +170,7 @@
0
16
- 03000000660000004A0100007A020000
+ 0300000066000000D00100007A020000
16
@@ -450,7 +450,7 @@
0
16
- 03000000660000004A0100007A020000
+ 0300000066000000D00100007A020000
16
@@ -470,7 +470,7 @@
0
16
- 03000000660000004A0100007A020000
+ 0300000066000000D00100007A020000
16
@@ -1799,14 +1799,14 @@
3312
- 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000090050000E1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000000000001C00000023010000B8040000B1010000F40000004F00000090050000DD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000C803000023010000B8040000F9020000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF4D0100004F0000005101000093020000010000000200001004000000010000006DFEFFFF4D030000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000028FFFFFF230100007500000067030000000000004F0000004D010000930200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000028FFFFFFE9020000B80400008B030000000000001502000090050000B702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000930200004705000097020000010000000100001004000000010000007FFDFFFF8C000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000028FFFFFF6B0300006F04000029040000000000009702000047050000550300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
+ 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000090050000E1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000F7020000A60000009307000034010000F40000004F00000090050000DD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A3060000A6000000930700007C020000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFD30100004F000000D70100009302000001000000020000100400000001000000B5FEFFFFF1030000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000003020000A600000050030000EA020000000000004F000000D3010000930200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000030200006C020000930700000E030000000000001502000090050000B702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000930200004705000097020000010000000100001004000000010000007FFDFFFF8C000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000003020000EE0200004A070000AC030000000000009702000047050000550300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
59392
File
- 2940
- 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000400020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000004000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000004000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000040000000000000000000000000000000000000100000001000000960000000200205000000000166F735F74696D65725F434D445F7570646174655F636296000000000000001400166F735F74696D65725F434D445F7570646174655F6362036D61630E534C5F535741595F53544154555313534C5F444952454354494F4E5F5354415455530B534C5F44495354414E4345096D6573685F696E697412646563696D616C5F706F696E745F7365656E0D75617274315F6973725F72616D0F696E7465726E616C5F6D616C6C6F630648415F42554618737065616B65725F676174745F6164645F736572766963650D6F735F74696D65725F696E69740D706D755F6973725F72616D5F430E7379735F74696D65725F696E69740B636F6E6669675F666C616717534C5F5343374132305F4932635F5370695F5772697465117472616E73706172656E745F73746172740D6170705F61745F726563765F630D75617274305F6973725F72616D0A756172745F706172616D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000004001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
+ 2939
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000400020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000004000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000004000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000040000000000000000000000000000000000000100000001000000960000000200205000000000166F735F74696D65725F434D445F7570646174655F63629600000000000000140009636F5F7072696E7466166F735F74696D65725F434D445F7570646174655F6362036D61630E534C5F535741595F53544154555313534C5F444952454354494F4E5F5354415455530B534C5F44495354414E4345096D6573685F696E697412646563696D616C5F706F696E745F7365656E0D75617274315F6973725F72616D0F696E7465726E616C5F6D616C6C6F630648415F42554618737065616B65725F676174745F6164645F736572766963650D6F735F74696D65725F696E69740D706D755F6973725F72616D5F430E7379735F74696D65725F696E69740B636F6E6669675F666C616717534C5F5343374132305F4932635F5370695F5772697465117472616E73706172656E745F73746172740D6170705F61745F726563765F630D75617274305F6973725F72616D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000004001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
1423
@@ -1822,7 +1822,7 @@
Build
976
- 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008626C655F6D6573689600000000000000010008626C655F6D657368000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
+ 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000002001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008626C655F6D6573689600000000000000010008626C655F6D657368000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
583
diff --git a/1.doc/K18/BLE_Watch/keil/BLE_Watch.uvopt b/1.doc/K18/BLE_Watch/keil/BLE_Watch.uvopt
index e7da5506..0ff085e2 100644
--- a/1.doc/K18/BLE_Watch/keil/BLE_Watch.uvopt
+++ b/1.doc/K18/BLE_Watch/keil/BLE_Watch.uvopt
@@ -415,7 +415,7 @@
driver
- 0
+ 1
0
0
0
@@ -450,18 +450,6 @@
0
0
0
- ..\components\driver\driver_i2s.c
- driver_i2s.c
- 0
- 0
-
-
- 6
- 21
- 1
- 0
- 0
- 0
..\components\driver\driver_iic.c
driver_iic.c
0
@@ -469,7 +457,7 @@
6
- 22
+ 21
1
0
0
@@ -481,7 +469,7 @@
6
- 23
+ 22
1
0
0
@@ -493,19 +481,7 @@
6
- 24
- 1
- 0
- 0
- 0
- ..\components\driver\driver_pmu_qdec.c
- driver_pmu_qdec.c
- 0
- 0
-
-
- 6
- 25
+ 23
1
0
0
@@ -517,7 +493,7 @@
6
- 26
+ 24
1
0
0
@@ -529,7 +505,7 @@
6
- 27
+ 25
1
0
0
@@ -541,7 +517,7 @@
6
- 28
+ 26
1
0
0
@@ -553,7 +529,7 @@
6
- 29
+ 27
1
0
0
@@ -573,7 +549,7 @@
0
7
- 30
+ 28
1
0
0
@@ -585,7 +561,7 @@
7
- 31
+ 29
5
0
0
@@ -605,7 +581,7 @@
0
8
- 32
+ 30
4
0
0
@@ -617,7 +593,7 @@
8
- 33
+ 31
4
0
0
@@ -629,7 +605,7 @@
8
- 34
+ 32
4
0
0
@@ -641,7 +617,7 @@
8
- 35
+ 33
4
0
0
@@ -653,7 +629,7 @@
8
- 36
+ 34
1
0
0
@@ -665,7 +641,7 @@
8
- 37
+ 35
1
0
0
@@ -677,7 +653,7 @@
8
- 38
+ 36
1
0
0
@@ -689,7 +665,7 @@
8
- 39
+ 37
1
0
0
@@ -701,7 +677,7 @@
8
- 40
+ 38
4
0
0
diff --git a/1.doc/K18/BLE_Watch/keil/BLE_Watch.uvproj b/1.doc/K18/BLE_Watch/keil/BLE_Watch.uvproj
index 648d3cd3..7e74e63a 100644
--- a/1.doc/K18/BLE_Watch/keil/BLE_Watch.uvproj
+++ b/1.doc/K18/BLE_Watch/keil/BLE_Watch.uvproj
@@ -542,11 +542,6 @@
1
..\components\driver\driver_exti.c
-
- driver_i2s.c
- 1
- ..\components\driver\driver_i2s.c
-
driver_iic.c
1
@@ -562,11 +557,6 @@
1
..\components\driver\driver_pmu.c
-
- driver_pmu_qdec.c
- 1
- ..\components\driver\driver_pmu_qdec.c
-
driver_rtc.c
1
diff --git a/1.doc/K18/BLE_Watch/keil/VC9202/vc9202_common.h b/1.doc/K18/BLE_Watch/keil/VC9202/vc9202_common.h
index 6161f02e..833d750c 100644
--- a/1.doc/K18/BLE_Watch/keil/VC9202/vc9202_common.h
+++ b/1.doc/K18/BLE_Watch/keil/VC9202/vc9202_common.h
@@ -32,7 +32,7 @@
***************************************************************************/
#define VC9202_CFG_WEAR_DETECTION (FUNC_ENABLE) // FUNC_DISABLE FUNC_ENABLE
#define VC9202_CFG_WEAR_DEFAULT_STATUS (WEAR_IS_HOLD) //1 is default wear,0 is default not wear WEAR_IS_HOLD WEAR_IS_DROP
-#define VC9202_CFG_WEAR_BIO_EN (FUNC_DISABLE)
+#define VC9202_CFG_WEAR_BIO_EN (FUNC_ENABLE)
#define VC9202_CFG_WEAR_ALG_EN (FUNC_DISABLE) //å¼å¯å¿çæä¸åè½ï¼å¿
é¡»å¼å¯æ»¡è¶³(ATC|BIO)为ç
#define VC9202_CFG_WEAR_ACT_EN (FUNC_DISABLE)
#define VC9202_CFG_WEAR_THRESHOLD_EN (FUNC_ENABLE) //ç»å¯¹éå¼å®å¼å
³
@@ -44,8 +44,8 @@
#define VC9202_CFG_WEAR_PARAM_PSIN (100)
#define VC9202_CFG_WEAR_PARAM_ENVMAX (128) //8*16
#define VC9202_CFG_WEAR_PARAM_ENVMIN (64) //4*16
-#define VC9202_CFG_WEAR_PARAM_BIOIN (40)
-
+//#define VC9202_CFG_WEAR_PARAM_BIOIN (40)
+extern unsigned char VC9202_CFG_WEAR_PARAM_BIOIN;
#define VC9202_CFG_PS_SLOT_CUR (0x3A) /* 0x5A */
#define VC9202_CFG_PS_SLOT_RES (0x47)
diff --git a/1.doc/K18/BLE_Watch/keil/VC9202/vc9202_driver.c b/1.doc/K18/BLE_Watch/keil/VC9202/vc9202_driver.c
index 0be5526b..c02505d7 100644
--- a/1.doc/K18/BLE_Watch/keil/VC9202/vc9202_driver.c
+++ b/1.doc/K18/BLE_Watch/keil/VC9202/vc9202_driver.c
@@ -14,11 +14,13 @@
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
+#include "uart.h"
+unsigned char VC9202_CFG_WEAR_PARAM_BIOIN =30;
/* static wear status declaration */
static int bio_result = VC9202_BIO_STA_NONE;
static WearStatusTypeDef alg_wear_status = WEAR_STA_HOLD;
static unsigned int gsnesor_axis_diff = 0;
-static VC9202WearInfoTypeDef dev9202_wear = {0};
+VC9202WearInfoTypeDef dev9202_wear = {0};
/* static adjust data declaration */
static VC9202AdjustSlotTypeDef dev9202_adjust[3] = {0};
static unsigned char ppg_mark[128 / 2] = {0};
@@ -173,74 +175,134 @@ static unsigned char vc9202_drv_calibration_osc_clk(void)
ps_value pséæ ·å¼
* @retval bioç»æ
*/
-static int vc9202_drv_calc_biology_sense(unsigned short int bio_value, unsigned char ps_value, unsigned char env)
+static unsigned char calc_ps = 0;
+static unsigned short int calc_bio = 0;
+int Bio_Diff_Value = 0;
+int vc9202_drv_calc_biology_sense(unsigned short int bio_value, unsigned char ps_value, unsigned char env)
{
- static unsigned char calc_ps = 0;
- static unsigned short int calc_bio = 0;
- static int Bio_Diff_Value = 0;
- int ret = 0;
+
+ //int ret = 0;
+ //
+ // if (bio_value)
+ // {
+ // calc_bio = bio_value;
+ // Bio_Diff_Value = abs(Bio_Old_Value - calc_bio);
+ // Bio_Old_Value = calc_bio;
+ // }
+ // if (ps_value)
+ // {
+ // calc_ps = ps_value;
+ // }
+ // if ((calc_ps < 100) && (env > 4))
+ // {
+ // if (Bio_Diff_Value < VC9202_CFG_WEAR_PARAM_BIOIN * 0.2)
+ // {
+ // Bio_Max_Value = calc_bio;
+ // Bio_Max_Diff_Value = Bio_Max_Value - (VC9202_CFG_WEAR_PARAM_BIOIN * 0.8);
+ // Bio_Min_Diff_Value = Bio_Max_Value - (VC9202_CFG_WEAR_PARAM_BIOIN * 1.5);
+ // }
+ // }
+ // if (Bio_Max_Diff_Value)
+ // {
+ // if ((calc_bio > Bio_Max_Diff_Value) && (Bio_Diff_Value < VC9202_CFG_WEAR_PARAM_BIOIN * 0.2))
+ // {
+ // Bio_HOLD_cnt++;
+ // if (Bio_HOLD_cnt > 4)
+ // {
+ // BIO_HOLD_DROP_FLAG = 1;
+ // }
+ // }
+ // else if (calc_bio < Bio_Min_Diff_Value)
+ // {
+ // Bio_cnt++;
+ // if (Bio_cnt > 2)
+ // {
+ // BIO_HOLD_DROP_FLAG = 2;
+ // }
+ // }
+ // else
+ // {
+ // Bio_cnt = 0;
+ // Bio_HOLD_cnt = 0;
+ // BIO_HOLD_DROP_FLAG = 0;
+ // }
+ // }
+ // ret = f_BIOdetect(calc_bio, calc_ps, VC9202_CFG_WEAR_PARAM_PS);
+ // if (VC9202_BIO_STA_HOLD == ret)
+ // {
+ // vc9202_drv_set_algo_wear_status(WEAR_STA_HOLD); /* bio */
+ // bio_result = VC9202_BIO_STA_HOLD;
+ // }
+ // else if (VC9202_BIO_STA_DROP == ret)
+ // {
+ // bio_result = VC9202_BIO_STA_DROP;
+ // }
if (bio_value)
{
- calc_bio = bio_value;
- Bio_Diff_Value = abs(Bio_Old_Value - calc_bio);
- Bio_Old_Value = calc_bio;
- }
- if (ps_value)
- {
- calc_ps = ps_value;
- }
- if ((calc_ps < 100) && (env > 4))
- {
- if (Bio_Diff_Value < VC9202_CFG_WEAR_PARAM_BIOIN * 0.2)
- {
- Bio_Max_Value = calc_bio;
- Bio_Max_Diff_Value = Bio_Max_Value - (VC9202_CFG_WEAR_PARAM_BIOIN * 0.8);
- Bio_Min_Diff_Value = Bio_Max_Value - (VC9202_CFG_WEAR_PARAM_BIOIN * 1.5);
- }
- }
- if (Bio_Max_Diff_Value)
- {
- if ((calc_bio > Bio_Max_Diff_Value) && (Bio_Diff_Value < VC9202_CFG_WEAR_PARAM_BIOIN * 0.2))
- {
- Bio_HOLD_cnt++;
- if (Bio_HOLD_cnt > 4)
- {
- BIO_HOLD_DROP_FLAG = 1;
- }
- }
- else if (calc_bio < Bio_Min_Diff_Value)
- {
- Bio_cnt++;
- if (Bio_cnt > 2)
- {
- BIO_HOLD_DROP_FLAG = 2;
- }
- }
- else
- {
- Bio_cnt = 0;
- Bio_HOLD_cnt = 0;
- BIO_HOLD_DROP_FLAG = 0;
- }
+ Bio_Diff_Value = abs(sys_config.dev9202_wear_data.calc_bio - bio_value);
}
- ret = f_BIOdetect(calc_bio, calc_ps, VC9202_CFG_WEAR_PARAM_PS);
- if (VC9202_BIO_STA_HOLD == ret)
+ if (Bio_Diff_Value/2 > VC9202_CFG_WEAR_PARAM_BIOIN)
{
vc9202_drv_set_algo_wear_status(WEAR_STA_HOLD); /* bio */
bio_result = VC9202_BIO_STA_HOLD;
}
- else if (VC9202_BIO_STA_DROP == ret)
+ else
{
bio_result = VC9202_BIO_STA_DROP;
}
+ co_printf("vc9202_drv_calc_biology_sense calc_bio:%d,bio_value:%d,Bio_Diff_Value:%d,enable_bio:%d!! \n\r",
+ sys_config.dev9202_wear_data.calc_bio,bio_value,Bio_Diff_Value,dev9202_info.enable_bio);
return bio_result;
}
+void get_dev9202_wear_data(VC9202WearCalibratorData *dev9202_wear_data)
+{
+ // unsigned char calc_ps ;
+ // unsigned short int calc_bio ;
+ // int Bio_Diff_Value ;
+ // int Bio_Max_Value ;
+ // int Bio_Max_Diff_Value ;
+ // int Bio_Min_Diff_Value ;
+ // int Bio_Old_Value ;
+ // uint8_t Bio_cnt ;
+ // uint8_t Bio_HOLD_cnt ;
+ // uint8_t BIO_HOLD_DROP_FLAG;
+ dev9202_wear_data->calc_ps = calc_ps;
+ dev9202_wear_data->calc_bio = calc_bio;
+ dev9202_wear_data->Bio_Diff_Value = Bio_Diff_Value;
+ dev9202_wear_data->Bio_Max_Value = Bio_Max_Value;
+ dev9202_wear_data->Bio_Max_Diff_Value = Bio_Max_Diff_Value;
+ dev9202_wear_data->Bio_Min_Diff_Value = Bio_Min_Diff_Value;
+ dev9202_wear_data->Bio_Old_Value = Bio_Old_Value;
+ dev9202_wear_data->Bio_cnt = Bio_cnt;
+ dev9202_wear_data->Bio_HOLD_cnt = Bio_HOLD_cnt;
+ dev9202_wear_data->BIO_HOLD_DROP_FLAG = BIO_HOLD_DROP_FLAG;
+ // co_printf("get_dev9202_wear_data:\r\ncalc_ps:%d,calc_bio:%d,Bio_Diff_Value:%d,Bio_Max_Value:%d\r\n",calc_ps,calc_bio,Bio_Diff_Value,Bio_Max_Value);
+ // co_printf("Bio_Max_Diff_Value:%d,Bio_Min_Diff_Value:%d,Bio_Old_Value:%d,Bio_cnt:%d\r\n",Bio_Max_Diff_Value,Bio_Min_Diff_Value,Bio_Old_Value,Bio_cnt);
+ // co_printf("Bio_HOLD_cnt:%d,BIO_HOLD_DROP_FLAG:%d\r\n",Bio_HOLD_cnt,BIO_HOLD_DROP_FLAG);
+}
+void set_dev9202_wear_data(VC9202WearCalibratorData dev9202_wear_data)
+{
+
+ calc_ps = dev9202_wear_data.calc_ps ;
+ calc_bio = dev9202_wear_data.calc_bio ;
+ Bio_Diff_Value = dev9202_wear_data.Bio_Diff_Value ;
+ Bio_Max_Value = dev9202_wear_data.Bio_Max_Value;
+ Bio_Max_Diff_Value = dev9202_wear_data.Bio_Max_Diff_Value ;
+ Bio_Min_Diff_Value = dev9202_wear_data.Bio_Min_Diff_Value;
+ Bio_Old_Value = dev9202_wear_data.Bio_Old_Value ;
+ Bio_cnt = dev9202_wear_data.Bio_cnt;
+ Bio_HOLD_cnt = dev9202_wear_data.Bio_HOLD_cnt ;
+ BIO_HOLD_DROP_FLAG = dev9202_wear_data.BIO_HOLD_DROP_FLAG;
+ // co_printf("set_dev9202_wear_data:\r\ncalc_ps:%d,calc_bio:%d,Bio_Diff_Value:%d,Bio_Max_Value:%d\r\n",calc_ps,calc_bio,Bio_Diff_Value,Bio_Max_Value);
+ // co_printf("Bio_Max_Diff_Value:%d,Bio_Min_Diff_Value:%d,Bio_Old_Value:%d,Bio_cnt:%d\r\n",Bio_Max_Diff_Value,Bio_Min_Diff_Value,Bio_Old_Value,Bio_cnt);
+ // co_printf("Bio_HOLD_cnt:%d,BIO_HOLD_DROP_FLAG:%d\r\n",Bio_HOLD_cnt,BIO_HOLD_DROP_FLAG);
+}
/**
* @brief ä½©æ´æ£æµè¿ç¨åç¶æ
* @param *pwear-佩æ´ç»æä½ï¼env-ç¯å¢å
ï¼ps-pså¼ï¼bio-æ´»ä½å¼
* @retval è¯å«æ¹åç»æ
*/
-static VC9202WearChangeTypeDef vc9202_drv_wear_status_identify(VC9202WearInfoTypeDef *pwear, unsigned char env, unsigned char ps, unsigned short int bio)
+VC9202WearChangeTypeDef vc9202_drv_wear_status_identify(VC9202WearInfoTypeDef *pwear, unsigned char env, unsigned char ps, unsigned short int bio)
{
VC9202WearChangeTypeDef ret_change = WEAR_NO_CHANGE;
int ret_bio_algo = VC9202_BIO_STA_NONE;
diff --git a/1.doc/K18/BLE_Watch/keil/VC9202/vc9202_driver.h b/1.doc/K18/BLE_Watch/keil/VC9202/vc9202_driver.h
index 6f888e11..c10f95d2 100644
--- a/1.doc/K18/BLE_Watch/keil/VC9202/vc9202_driver.h
+++ b/1.doc/K18/BLE_Watch/keil/VC9202/vc9202_driver.h
@@ -179,6 +179,21 @@ typedef struct
unsigned short biovalue_now[2];
unsigned short biovalue_gap[2];
} VC9202TestInfoTypeDef;
-
+//åæ ¡åï¼æ¯æ¬¡å¼æºç¨è¿ä¸ªåæ°
+typedef struct
+{
+ unsigned char calc_ps ;
+ unsigned short int calc_bio ;
+ int Bio_Diff_Value ;
+ int Bio_Max_Value ;
+ int Bio_Max_Diff_Value ;
+ int Bio_Min_Diff_Value ;
+ int Bio_Old_Value ;
+ uint8_t Bio_cnt ;
+ uint8_t Bio_HOLD_cnt ;
+ uint8_t BIO_HOLD_DROP_FLAG;
+} VC9202WearCalibratorData;
+void set_dev9202_wear_data(VC9202WearCalibratorData dev9202_wear_data);
+void get_dev9202_wear_data(VC9202WearCalibratorData *dev9202_wear_data);
#endif
diff --git a/1.doc/K18/BLE_Watch/keil/VC9202/vc9202_user.c b/1.doc/K18/BLE_Watch/keil/VC9202/vc9202_user.c
index b8e2981c..8c03bca0 100644
--- a/1.doc/K18/BLE_Watch/keil/VC9202/vc9202_user.c
+++ b/1.doc/K18/BLE_Watch/keil/VC9202/vc9202_user.c
@@ -316,6 +316,7 @@ unsigned char vc9202_usr_get_wear_status(void)
{
unsigned char sta = 0;
WearStatusTypeDef retSta = vc9202_drv_get_wear_status();
+ co_printf("vc9202_usr_get_wear_status retSta:%d!! \n\r",retSta);
if( WEAR_STA_DROP == retSta )
{
sta = 0;
@@ -552,6 +553,23 @@ static void factory_test_function( SamplingDataTypeDef *pdata )
// /* compare abs(bio0,bio1) */
// unsigned short int bio0 = pdata->bio_val_o;
// unsigned short int bio1 = pdata->bio_val_o;
+ static int count = 0;
+ static short int bio1 = 0;
+
+ count ++;
+ if(count >= 21 || count ==9)
+ {
+ count = 10;
+ if(pdata->bio_val_o > bio1 || count == 0)//ä¿åæ ¡åæ°æ®
+ {
+ get_dev9202_wear_data(&sys_config.dev9202_wear_data);//è·åæ ¡ååæ°
+ sys_config.dev9202_wear_data.calc_bio = pdata->bio_val_o;
+ save_sys_config();
+ bio1 = pdata->bio_val_o;
+ }
+ }
+ //co_printf("factory_test_function bio_val_o:%d!! \n\r",pdata->bio_val_o);
+
}
static void fpc_test_function(SamplingDataTypeDef *pdata)
{
@@ -680,6 +698,7 @@ static short int alg_calculate_hrv_handler( short int last_hr_val, SamplingDataT
}
unsigned int yyl_time = 0;
extern char yyl_close_flag ;
+extern int Bio_Diff_Value ;
void vc9202_usr_interrupt_handler( AlgoSportMode hr_alg_mode, unsigned char spo2_alg_mode )
{
//unsigned char wear_status = WEAR_STA_NONE;
@@ -847,9 +866,14 @@ void vc9202_usr_interrupt_handler( AlgoSportMode hr_alg_mode, unsigned char spo2
}
break;
case WORK_MODE_FACTORY:
+ vc9202_alg_results.wear_status = vc9202_usr_get_wear_status();
factory_test_function(&data);
- co_printf("WORK_MODE_FACTORY:apre_val[0]:%d,apre_val[1]:%d,aps_val:%d\n",data.apre_val[0],data.apre_val[1],data.aps_val);
- UART_send_buf_len = snprintf((char *)UART_send_buf,UART_SEND_MAX,"{\"cmd\":\"2\",\"factory_data\":\"%d,%d,%d\"}\n",data.apre_val[0],data.apre_val[1],data.aps_val);
+ //co_printf("WORK_MODE_FACTORY:apre_val[0]:%d,apre_val[1]:%d,aps_val:%d\n",data.apre_val[0],data.apre_val[1],data.aps_val);
+ // UART_send_buf_len = snprintf((char *)UART_send_buf,UART_SEND_MAX,"{\"cmd\":\"2\",\"factory_data\":\"%d,%d,%d\"}\n"
+ // ,data.apre_val[0],data.apre_val[1],data.aps_val);
+
+ UART_send_buf_len = snprintf((char *)UART_send_buf,UART_SEND_MAX,"{\"cmd\":\"2\",\"factory_data\":\"%d,%d,%d\"}\n"
+ ,Bio_Diff_Value,vc9202_alg_results.wear_status,data.bio_val_o);//data.aps_val);
uart0_write_data(UART_send_buf,UART_send_buf_len);
break;
case WORK_MODE_FPC_TEST:
diff --git a/1.doc/K18/BLE_Watch/keil/feedback.txt b/1.doc/K18/BLE_Watch/keil/feedback.txt
index d4a24fd3..9f5b8a68 100644
--- a/1.doc/K18/BLE_Watch/keil/feedback.txt
+++ b/1.doc/K18/BLE_Watch/keil/feedback.txt
@@ -1,4 +1,4 @@
-;## ARM Linker, 5060960: Last Updated: Thu Jul 11 11:03:07 2024
+;## ARM Linker, 5060960: Last Updated: Sat Aug 31 11:54:14 2024
;VERSION 0.2
;FILE acpower_add_doublefre.o
acPower_add_doublefre_init <= USED 0
@@ -79,6 +79,8 @@ attmdb_svc_visibility_set <= USED 0
;FILE atts.o
;FILE average_value.o
;FILE biodetect_v14_1.o
+f_BIOdetect <= USED 0
+f_TPjudge <= USED 0
version_info_Bio <= USED 0
;FILE ble_simple_central.o
__asm___20_ble_simple_central_c_4fde123a____REV16 <= USED 0
@@ -108,17 +110,6 @@ ext_int_get_src <= USED 0
ext_int_set_control <= USED 0
ext_int_set_port_mux <= USED 0
ext_int_set_type <= USED 0
-;FILE driver_i2s.o
-__asm___12_driver_i2s_c_i2s_reg____REV16 <= USED 0
-__asm___12_driver_i2s_c_i2s_reg____REVSH <= USED 0
-__asm___12_driver_i2s_c_i2s_reg____RRX <= USED 0
-i2s_clear_fifo <= USED 0
-i2s_get_data <= USED 0
-i2s_get_int_status <= USED 0
-i2s_init <= USED 0
-i2s_send_data <= USED 0
-i2s_start <= USED 0
-i2s_stop <= USED 0
;FILE driver_iic.o
__asm___12_driver_iic_c_8d61f799____REV16 <= USED 0
__asm___12_driver_iic_c_8d61f799____REVSH <= USED 0
@@ -148,13 +139,6 @@ pmu_set_led2_as_pwm <= USED 0
pmu_set_led2_value <= USED 0
pmu_set_lp_clk_src <= USED 0
pmu_set_pin_to_CPU <= USED 0
-;FILE driver_pmu_qdec.o
-pmu_qdec_autorest_cnt_flag <= USED 0
-pmu_qdec_init <= USED 0
-pmu_qdec_set_debounce_cnt <= USED 0
-pmu_qdec_set_irq_type <= USED 0
-pmu_qdec_set_pin <= USED 0
-pmu_qdec_set_threshold <= USED 0
;FILE driver_rtc.o
__asm___12_driver_rtc_c_rtc_init____REV16 <= USED 0
__asm___12_driver_rtc_c_rtc_init____REVSH <= USED 0
@@ -1001,6 +985,9 @@ __asm___11_user_task_c_d5bb1f8c____REV16 <= USED 0
__asm___11_user_task_c_d5bb1f8c____REVSH <= USED 0
__asm___11_user_task_c_d5bb1f8c____RRX <= USED 0
;FILE vc9202_driver.o
+__asm___15_vc9202_driver_c_677e08cb____REV16 <= USED 0
+__asm___15_vc9202_driver_c_677e08cb____REVSH <= USED 0
+__asm___15_vc9202_driver_c_677e08cb____RRX <= USED 0
vc9202_drv_electrostatic_death <= USED 0
vc9202_drv_get_chip_id <= USED 0
vc9202_drv_stop_sampling <= USED 0
diff --git a/1.doc/K18/BLE_Watch/keil/uart.c b/1.doc/K18/BLE_Watch/keil/uart.c
index 1c57d299..6caf36c0 100644
--- a/1.doc/K18/BLE_Watch/keil/uart.c
+++ b/1.doc/K18/BLE_Watch/keil/uart.c
@@ -15,7 +15,7 @@ char send_step_data_flag= 0;//stepæ°æ®æ è´ä½
char send_wear_data_flag= 0;//wearæ°æ®æ è´ä½
uint8_t *uart0_rivce_data = NULL;
//uint8_t uart0_rivce_data[UART_READ_MAX] ;
-char *Versions = "20240711-v0.5.3.041924";
+char *Versions = "20240831-v0.5.3.041924";
int uart0_data_len =0;
static int32_t system_curr_time = 0;//设置æ¶é´çæ¶åä¿åçç³»ç»è¿è¡æ¶é´
diff --git a/1.doc/K18/BLE_Watch/keil/uart.h b/1.doc/K18/BLE_Watch/keil/uart.h
index 19054bc2..f9abfd97 100644
--- a/1.doc/K18/BLE_Watch/keil/uart.h
+++ b/1.doc/K18/BLE_Watch/keil/uart.h
@@ -42,6 +42,7 @@
#include "driver_system.h"
#include "driver_pwm.h"
#include "DRIVER_FLASH.H"
+#include "vc9202_driver.h"
#define UART_SEND_MAX 1024
#define UART_READ_MAX 512
extern char *Versions;
@@ -51,6 +52,8 @@ typedef struct
char HA_key_code[128+1];
char HA_req_code[128+1];
char IMEI[16];
+ VC9202WearCalibratorData dev9202_wear_data;
+ char end_config_flag;
}SysConfig;
unsigned char crc8(uint8_t *vptr, uint8_t len);
extern SysConfig sys_config;