k18血压模组增加活体
authorp15692025051 <846603105@qq.com>
Sat, 31 Aug 2024 04:29:27 +0000 (12:29 +0800)
committerp15692025051 <846603105@qq.com>
Sat, 31 Aug 2024 04:29:27 +0000 (12:29 +0800)
13 files changed:
1.doc/K18/BLE_Watch/code/proj_main.c
1.doc/K18/BLE_Watch/code/sensor_drive.c
1.doc/K18/BLE_Watch/components/driver/driver_pmu.c
1.doc/K18/BLE_Watch/keil/BLE_Watch.uvgui.Administrator
1.doc/K18/BLE_Watch/keil/BLE_Watch.uvopt
1.doc/K18/BLE_Watch/keil/BLE_Watch.uvproj
1.doc/K18/BLE_Watch/keil/VC9202/vc9202_common.h
1.doc/K18/BLE_Watch/keil/VC9202/vc9202_driver.c
1.doc/K18/BLE_Watch/keil/VC9202/vc9202_driver.h
1.doc/K18/BLE_Watch/keil/VC9202/vc9202_user.c
1.doc/K18/BLE_Watch/keil/feedback.txt
1.doc/K18/BLE_Watch/keil/uart.c
1.doc/K18/BLE_Watch/keil/uart.h

index 463b156..643cd26 100644 (file)
@@ -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();
        }
 }
index 03ca466..1c6eee2 100644 (file)
@@ -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);     //血压失能 
        //测试代码
index 931c53e..e205532 100644 (file)
@@ -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)
index 45230df..cc65b0c 100644 (file)
       <flags>0</flags>
       <showCmd>1</showCmd>
       <MinPosition>
-        <xPos>-1</xPos>
-        <yPos>-1</yPos>
+        <xPos>-32000</xPos>
+        <yPos>-32000</yPos>
       </MinPosition>
       <MaxPosition>
         <xPos>-1</xPos>
         <yPos>-1</yPos>
       </MaxPosition>
       <NormalPosition>
-        <Top>112</Top>
-        <Left>442</Left>
-        <Right>1809</Right>
-        <Bottom>1023</Bottom>
+        <Top>180</Top>
+        <Left>362</Left>
+        <Right>1729</Right>
+        <Bottom>1091</Bottom>
       </NormalPosition>
     </WindowPosition>
     <MDIClientArea>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>1C00000023010000B8040000B1010000</Data>
+          <Data>F7020000A60000009307000034010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>03000000660000004A0100007A020000</Data>
+          <Data>0300000066000000D00100007A020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>03000000660000004A0100007A020000</Data>
+          <Data>0300000066000000D00100007A020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>03000000660000004A0100007A020000</Data>
+          <Data>0300000066000000D00100007A020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>03000000660000004A0100007A020000</Data>
+          <Data>0300000066000000D00100007A020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
       </Window>
       <DockMan>
         <Len>3312</Len>
-        <Data>000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000090050000E1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000000000001C00000023010000B8040000B1010000F40000004F00000090050000DD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000C803000023010000B8040000F9020000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF4D0100004F0000005101000093020000010000000200001004000000010000006DFEFFFF4D030000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000028FFFFFF230100007500000067030000000000004F0000004D010000930200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000028FFFFFFE9020000B80400008B030000000000001502000090050000B702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000930200004705000097020000010000000100001004000000010000007FFDFFFF8C000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000028FFFFFF6B0300006F04000029040000000000009702000047050000550300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000</Data>
+        <Data>000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000090050000E1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000F7020000A60000009307000034010000F40000004F00000090050000DD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A3060000A6000000930700007C020000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFD30100004F000000D70100009302000001000000020000100400000001000000B5FEFFFFF1030000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000003020000A600000050030000EA020000000000004F000000D3010000930200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000030200006C020000930700000E030000000000001502000090050000B702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000930200004705000097020000010000000100001004000000010000007FFDFFFF8C000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000003020000EE0200004A070000AC030000000000009702000047050000550300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000</Data>
       </DockMan>
       <ToolBar>
         <RegID>59392</RegID>
         <Name>File</Name>
         <Buttons>
-          <Len>2940</Len>
-          <Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000400020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000004000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000004000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000040000000000000000000000000000000000000100000001000000960000000200205000000000166F735F74696D65725F434D445F7570646174655F636296000000000000001400166F735F74696D65725F434D445F7570646174655F6362036D61630E534C5F535741595F53544154555313534C5F444952454354494F4E5F5354415455530B534C5F44495354414E4345096D6573685F696E697412646563696D616C5F706F696E745F7365656E0D75617274315F6973725F72616D0F696E7465726E616C5F6D616C6C6F630648415F42554618737065616B65725F676174745F6164645F736572766963650D6F735F74696D65725F696E69740D706D755F6973725F72616D5F430E7379735F74696D65725F696E69740B636F6E6669675F666C616717534C5F5343374132305F4932635F5370695F5772697465117472616E73706172656E745F73746172740D6170705F61745F726563765F630D75617274305F6973725F72616D0A756172745F706172616D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000004001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000</Data>
+          <Len>2939</Len>
+          <Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000400020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000004000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000004000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000040000000000000000000000000000000000000100000001000000960000000200205000000000166F735F74696D65725F434D445F7570646174655F63629600000000000000140009636F5F7072696E7466166F735F74696D65725F434D445F7570646174655F6362036D61630E534C5F535741595F53544154555313534C5F444952454354494F4E5F5354415455530B534C5F44495354414E4345096D6573685F696E697412646563696D616C5F706F696E745F7365656E0D75617274315F6973725F72616D0F696E7465726E616C5F6D616C6C6F630648415F42554618737065616B65725F676174745F6164645F736572766963650D6F735F74696D65725F696E69740D706D755F6973725F72616D5F430E7379735F74696D65725F696E69740B636F6E6669675F666C616717534C5F5343374132305F4932635F5370695F5772697465117472616E73706172656E745F73746172740D6170705F61745F726563765F630D75617274305F6973725F72616D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000004001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000</Data>
         </Buttons>
         <OriginalItems>
           <Len>1423</Len>
         <Name>Build</Name>
         <Buttons>
           <Len>976</Len>
-          <Data>00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008626C655F6D6573689600000000000000010008626C655F6D657368000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000</Data>
+          <Data>00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000002001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008626C655F6D6573689600000000000000010008626C655F6D657368000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000</Data>
         </Buttons>
         <OriginalItems>
           <Len>583</Len>
index e7da550..0ff085e 100644 (file)
 
   <Group>
     <GroupName>driver</GroupName>
-    <tvExp>0</tvExp>
+    <tvExp>1</tvExp>
     <tvExpOptDlg>0</tvExpOptDlg>
     <cbSel>0</cbSel>
     <RteFlg>0</RteFlg>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\components\driver\driver_i2s.c</PathWithFileName>
-      <FilenameWithoutPath>driver_i2s.c</FilenameWithoutPath>
-      <RteFlg>0</RteFlg>
-      <bShared>0</bShared>
-    </File>
-    <File>
-      <GroupNumber>6</GroupNumber>
-      <FileNumber>21</FileNumber>
-      <FileType>1</FileType>
-      <tvExp>0</tvExp>
-      <tvExpOptDlg>0</tvExpOptDlg>
-      <bDave2>0</bDave2>
       <PathWithFileName>..\components\driver\driver_iic.c</PathWithFileName>
       <FilenameWithoutPath>driver_iic.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>22</FileNumber>
+      <FileNumber>21</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>23</FileNumber>
+      <FileNumber>22</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>24</FileNumber>
-      <FileType>1</FileType>
-      <tvExp>0</tvExp>
-      <tvExpOptDlg>0</tvExpOptDlg>
-      <bDave2>0</bDave2>
-      <PathWithFileName>..\components\driver\driver_pmu_qdec.c</PathWithFileName>
-      <FilenameWithoutPath>driver_pmu_qdec.c</FilenameWithoutPath>
-      <RteFlg>0</RteFlg>
-      <bShared>0</bShared>
-    </File>
-    <File>
-      <GroupNumber>6</GroupNumber>
-      <FileNumber>25</FileNumber>
+      <FileNumber>23</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>26</FileNumber>
+      <FileNumber>24</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>27</FileNumber>
+      <FileNumber>25</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>28</FileNumber>
+      <FileNumber>26</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>29</FileNumber>
+      <FileNumber>27</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>30</FileNumber>
+      <FileNumber>28</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>31</FileNumber>
+      <FileNumber>29</FileNumber>
       <FileType>5</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>32</FileNumber>
+      <FileNumber>30</FileNumber>
       <FileType>4</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>33</FileNumber>
+      <FileNumber>31</FileNumber>
       <FileType>4</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>34</FileNumber>
+      <FileNumber>32</FileNumber>
       <FileType>4</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>35</FileNumber>
+      <FileNumber>33</FileNumber>
       <FileType>4</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>36</FileNumber>
+      <FileNumber>34</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>37</FileNumber>
+      <FileNumber>35</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>38</FileNumber>
+      <FileNumber>36</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>39</FileNumber>
+      <FileNumber>37</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>40</FileNumber>
+      <FileNumber>38</FileNumber>
       <FileType>4</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
index 648d3cd..7e74e63 100644 (file)
               <FileType>1</FileType>
               <FilePath>..\components\driver\driver_exti.c</FilePath>
             </File>
-            <File>
-              <FileName>driver_i2s.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\components\driver\driver_i2s.c</FilePath>
-            </File>
             <File>
               <FileName>driver_iic.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
               <FilePath>..\components\driver\driver_pmu.c</FilePath>
             </File>
-            <File>
-              <FileName>driver_pmu_qdec.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\components\driver\driver_pmu_qdec.c</FilePath>
-            </File>
             <File>
               <FileName>driver_rtc.c</FileName>
               <FileType>1</FileType>
index 6161f02..833d750 100644 (file)
@@ -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)
 
index 0be5526..c02505d 100644 (file)
 #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;
index 6f888e1..c10f95d 100644 (file)
@@ -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
index b8e2981..8c03bca 100644 (file)
@@ -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:
index d4a24fd..9f5b8a6 100644 (file)
@@ -1,4 +1,4 @@
-;#<FEEDBACK># ARM Linker, 5060960: Last Updated: Thu Jul 11 11:03:07 2024
+;#<FEEDBACK># 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
index 1c57d29..6caf36c 100644 (file)
@@ -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;//设置时间的时候保存的系统运行时间
index 19054bc..f9abfd9 100644 (file)
@@ -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;