From 0ea59f52b00af4ef425c218a244335db1f70b7d0 Mon Sep 17 00:00:00 2001 From: p15692025051 <846603105@qq.com> Date: Mon, 28 Apr 2025 17:43:20 +0800 Subject: [PATCH] =?utf8?q?=E6=9B=B4=E6=96=B0=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../none_evm/ble_voice_mouse/code/config.h | 2 +- .../none_evm/ble_voice_mouse/code/inflash.c | 2 +- .../none_evm/ble_voice_mouse/code/inflash.h | 3 +- .../none_evm/ble_voice_mouse/code/sensor.c | 109 +- .../none_evm/ble_voice_mouse/code/sensor.h | 1 + .../none_evm/ble_voice_mouse/code/user_task.c | 30 + .../keil/ble_voice_mouse.uvguix.Administrator | 52 +- .../ble_voice_mouse/keil/feedback.txt | 2 +- .../code/ble_simple_central.c | 44 +- .../ble_simple_central_audio/code/config.h | 2 +- .../ble_simple_central_audio/code/proj_main.c | 4 +- .../code/usb/usb_hid_audio.c | 149 +- .../keil/Listings/ble_simple_central.map | 3648 +++++++++-------- .../ble_simple_central.uvgui.Administrator | 26 +- .../keil/feedback.txt | 4 +- 15 files changed, 2159 insertions(+), 1919 deletions(-) diff --git a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/config.h b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/config.h index 4e36619..a2dc14d 100644 --- a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/config.h +++ b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/config.h @@ -41,7 +41,7 @@ #define ENABLE 1 /* Óû§ÉèÖà */ -#define Version "v1.24.09.09"// +#define Version "v1.24.09.20"// #define Brand "VMouse" #define DEVICE_MODEL 256 #define DEVICE_VERSION 0x01 diff --git a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/inflash.c b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/inflash.c index 3cc7e65..8347d0f 100644 --- a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/inflash.c +++ b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/inflash.c @@ -119,7 +119,7 @@ void user_inflash_init(void) memset(user_data.brand,0,sizeof(user_data.brand)); strcpy((char *)user_data.brand,Brand); strcpy((char *)user_data.ble_name,ADV_NAME_BT1); - + user_data.sensor_rotate = 0; user_data_storage_do(true); } if(strlen(user_data.ble_name)>sizeof(user_data.ble_name)) diff --git a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/inflash.h b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/inflash.h index e93f634..0ad0d23 100644 --- a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/inflash.h +++ b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/inflash.h @@ -48,7 +48,8 @@ typedef struct uint8_t dongle_mac[MAC_ADDR_LEN]; uint8_t RVD2[MAC_ADDR_LEN]; uint8_t brand[SN_MAX_LEN];//Æ·ÅÆ - char ble_name[20]; + char ble_name[20];//bleÃû×Ö + int sensor_rotate; //¹âµç´«¸ÐÆ÷Ðýת½Ç¶È uint32_t reset_end ; } user_data_param_t; diff --git a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/sensor.c b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/sensor.c index 4c60137..6db0854 100644 --- a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/sensor.c +++ b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/sensor.c @@ -53,6 +53,7 @@ const char * sensor_type_str[SENSOR_MAX] = "KA8", "KA8G2", "KA5857", + "FCT3065_XYD", }; const uint8_t SENSOR_PID_TABLE[SENSOR_MAX][3] = @@ -68,6 +69,7 @@ const uint8_t SENSOR_PID_TABLE[SENSOR_MAX][3] = {0xFE,0xFE,0xFE}, // KA8 {0x58, 0x59,0xFE}, // KA8G2 {0x58, 0x57,0xFE}, // KA5857 + {0x31, 0x70,0xFE}, // FCT3065_XYD }; /* @@ -87,6 +89,7 @@ const uint8_t SENSOR_DPI_TABLE[SENSOR_MAX][3] = {0}, // KA8 {14, 67, 60}, // KA8G2 {16, 63, 38}, // KA5857 + {16, 63, 38}, // FCT3065_XYD }; const uint16_t SENSOR_CPI_TABLE[SENSOR_MAX][5] = { @@ -101,6 +104,7 @@ const uint16_t SENSOR_CPI_TABLE[SENSOR_MAX][5] = {600, 800, 1000,1300,1600}, // KA8 {600, 800, 1000,1300,1600}, // KA8G2 {600, 800, 1000,1300,1600}, // KA5857 + {600, 800, 1000,1300,1600}, // FCT3065_XYD }; /************************************************************************************************************************ * º¯ÊýÃû³Æ: sensor_sync_clk() @@ -362,6 +366,26 @@ char snesor_cpi_init(uint16_t cpi) ret = 0; } + sensor_write_reg(0x09,0x00); //Lock WP + }else if(g_device_param.sensor_model ==FCT3065_XYD ) + { + sensor_write_reg(0x09,0x5a); //Unlock WP + if(cpi == SENSOR_CPI_TABLE[g_device_param.sensor_model][0])//600 + sensor_write_reg(CONFIGURATION_REG, 0x00); + else if(cpi == SENSOR_CPI_TABLE[g_device_param.sensor_model][1])//800 + sensor_write_reg(CONFIGURATION_REG, 0x00); + else if(cpi == SENSOR_CPI_TABLE[g_device_param.sensor_model][2])//1000 + sensor_write_reg(CONFIGURATION_REG, 0x01); + else if(cpi == SENSOR_CPI_TABLE[g_device_param.sensor_model][3])//1300 + sensor_write_reg(CONFIGURATION_REG, 0x02); + else if(cpi == SENSOR_CPI_TABLE[g_device_param.sensor_model][4])//1600 + sensor_write_reg(CONFIGURATION_REG, 0x03); + else + { + sensor_write_reg(CONFIGURATION_REG, 0x02); + ret = 0; + } + sensor_write_reg(0x09,0x00); //Lock WP } else if(g_device_param.sensor_model ==PAW3212 ) @@ -877,50 +901,59 @@ uint8_t sensor_get_motion(int8_t * p_x_delta, int8_t * p_y_delta) { //LOG_INFO("[sensosor]read ID :0x%x ",data); //LOG_INFO("[%02x]:0x%02x,",MOTION_STATUS_REG,data); - sensor_read_reg(DELTA_X_REG, &data); + sensor_read_reg(DELTA_X_REG, &t_motion_x); //LOG_INFO("[%02x]:0x%02x,",DELTA_X_REG,data); /* XÖá·½ÏòÑ¡Ôñ¼°Î¢µ÷ */ - #if 0 - t_motion_x = (data ^ 0xff) + 1; - #else - t_motion_x = -(data ^ 0xff)-1 ; - #endif + - sensor_read_reg(DELTA_Y_REG, &data); + sensor_read_reg(DELTA_Y_REG, &t_motion_y); //LOG_INFO("[%02x]:0x%02x \n",DELTA_Y_REG,data); /* YÖá·½ÏòÑ¡Ôñ¼°Î¢µ÷ */ - #if 1 - t_motion_y = (data ^ 0xff)+1; - #else - t_motion_y = -(data ^ 0xff) - 1; - #endif - // if(motion_x == t_motion_x && motion_y == t_motion_y) - // { - // //LOG_INFO("[sensosor]sensor_get_motion:return1: x:%d,y:%d data:%d\n",t_motion_x, t_motion_y,data); - // return 1; - // } - - //motion_x = t_motion_x; - //motion_y = t_motion_y; - *p_x_delta = t_motion_x; - *p_y_delta = t_motion_y; - //LOG_INFO("[sensosor]sensor_get_motion: x:%d,y:%d\n",motion_x, motion_y); - // sensor_read_reg(DELTA_X_REG, &t_motion_x); - // co_delay_10us(1); - // sensor_read_reg(DELTA_Y_REG, &t_motion_y); - // if(t_motion_x & 0x80) - // deltaX_h -= (int8_t)(~t_motion_x+1); - // else - // deltaX_h += t_motion_x; - - // if(t_motion_y & 0x80) - // deltaY_h -= (int8_t)(~t_motion_y+1); - // else - // deltaY_h += t_motion_y; - // *p_x_delta = deltaX_h; - // *p_y_delta = deltaY_h; - //pmu_port_wakeup_func_set(SENSOR_MOTSWK_PIN);//´ò¿ªÖжϣ¬½øÈëÐÝÃßģʽ + // #if 0 + // t_motion_x = (t_motion_x ^ 0xff) + 1; + // #else + // t_motion_x = -(t_motion_x ^ 0xff)-1 ; + // #endif + // #if 1 + // t_motion_y = (t_motion_y ^ 0xff)+1; + // #else + // t_motion_y = -(t_motion_y ^ 0xff) - 1; + // #endif + // #if 1 + // *p_x_delta = t_motion_x; + // *p_y_delta = t_motion_y; + // #endif + //user_data.sensor_rotate = 270; + if(user_data.sensor_rotate == 90)//˳ʱÕëÐýת90¶È + { + t_motion_x = -(t_motion_x ^ 0xff)-1 ; + t_motion_y = -(t_motion_y ^ 0xff)-1; + *p_x_delta = t_motion_y; + *p_y_delta = t_motion_x; + }else if(user_data.sensor_rotate == 180)//˳ʱÕëÐýת180¶È + { + t_motion_x = (t_motion_x ^ 0xff)+1 ; + t_motion_y = -(t_motion_y ^ 0xff)-1; + *p_x_delta = t_motion_x; + *p_y_delta = t_motion_y; + }else if(user_data.sensor_rotate == 270)//˳ʱÕëÐýת270¶È + { + t_motion_x = (t_motion_x ^ 0xff)+1 ; + t_motion_y = (t_motion_y ^ 0xff)+1; + *p_x_delta = t_motion_y; + *p_y_delta = t_motion_x; + }else//(user_data.sensor_rotate == 0)//Ðýת0¶È + { + t_motion_x = -(t_motion_x ^ 0xff)-1 ; + t_motion_y = (t_motion_y ^ 0xff)+1; + *p_x_delta = t_motion_x; + *p_y_delta = t_motion_y; + } + // #if 1 + // *p_x_delta = t_motion_y; + // *p_y_delta = t_motion_x; + // #endif return 0; } //pmu_port_wakeup_func_set(SENSOR_MOTSWK_PIN);//´ò¿ªÖжϣ¬½øÈëÐÝÃßģʽ diff --git a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/sensor.h b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/sensor.h index e6887c2..02f2c77 100644 --- a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/sensor.h +++ b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/sensor.h @@ -66,6 +66,7 @@ enum sensor_type { KA8, KA8G2, KA5857, + FCT3065_XYD, SENSOR_MAX, }; /* diff --git a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/user_task.c b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/user_task.c index 8b7fdcc..af755f9 100644 --- a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/user_task.c +++ b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/user_task.c @@ -467,6 +467,36 @@ char user_parse_data(char *data) hid_cmd_send((unsigned char*)send_buf,send_buf_len); ret = 1; } + str_tmp = strstr(cmd_str_tmp,"\"get_sensor_rotate\"");//获取光电传感器顺时针旋转角度 + if(str_tmp) + { + + send_buf_len = snprintf(send_buf,SEND_BUF_MAX_LEN,"{\"sensor_rotate\":\"%d\"}",user_data.sensor_rotate); + hid_cmd_send((unsigned char*)send_buf,send_buf_len); + ret = 1; + } + str_tmp = strstr(cmd_str_tmp,"\"set_sensor_rotate\":\"");//设置光电传感器顺时针旋转角度 + if(str_tmp) + { + + str_tmp += strlen("\"set_sensor_rotate\":\""); + num_buf_len = find_c(str_tmp,'\"'); + if(num_buf_len>=10) + num_buf_len = 10; + memcpy(send_buf,str_tmp,num_buf_len); + send_buf[num_buf_len] = 0; + int sensor_rotate_tmp = atoi(send_buf); + send_buf_len = snprintf(send_buf,SEND_BUF_MAX_LEN,"{\"set_config\":\"1\"}"); + hid_cmd_send((unsigned char*)send_buf,send_buf_len); + if(user_data.sensor_rotate != sensor_rotate_tmp) + { + + user_data.sensor_rotate = sensor_rotate_tmp; + user_data_storage_do(true); + } + co_printf("set_sensor_rotate:%d\r\n",user_data.sensor_rotate); + ret = 1; + } }else { break; diff --git a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/keil/ble_voice_mouse.uvguix.Administrator b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/keil/ble_voice_mouse.uvguix.Administrator index b3997bd..564d594 100644 --- a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/keil/ble_voice_mouse.uvguix.Administrator +++ b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/keil/ble_voice_mouse.uvguix.Administrator @@ -15,7 +15,7 @@ 38003 Registers - 124 106 + 140 90 346 @@ -40,7 +40,7 @@ 1506 Symbols - 71 71 71 + 80 80 80 1936 @@ -93,18 +93,18 @@ 0 1 - -1 - -1 + -32000 + -32000 -1 -1 - 135 - 70 - 1435 - 930 + 32 + 244 + 1611 + 943 @@ -134,7 +134,7 @@ 16 - 42010000F5000000DE05000083010000 + F00100008E0000008C0600001C010000 @@ -150,7 +150,7 @@ 0 16 - 0300000066000000ED00000033020000 + 0300000066000000ED000000A7020000 16 @@ -170,7 +170,7 @@ 0 16 - 0300000066000000ED00000033020000 + 0300000066000000ED000000A7020000 16 @@ -450,7 +450,7 @@ 0 16 - 0300000066000000ED00000033020000 + 0300000066000000ED000000A7020000 16 @@ -470,7 +470,7 @@ 0 16 - 0300000066000000ED00000033020000 + 0300000066000000ED000000A7020000 16 @@ -490,7 +490,7 @@ 0 16 - 000000006402000045050000E1020000 + 00000000D80200004705000055030000 16 @@ -530,7 +530,7 @@ 0 16 - 030000006702000042050000C8020000 + 03000000DB020000440500003C030000 16 @@ -1150,7 +1150,7 @@ 0 16 - 0300000066000000ED00000033020000 + 0300000066000000ED000000A7020000 16 @@ -1170,7 +1170,7 @@ 0 16 - 030000006702000042050000C8020000 + 03000000DB020000440500003C030000 16 @@ -1190,7 +1190,7 @@ 0 16 - 030000006702000042050000C8020000 + 03000000DB020000440500003C030000 16 @@ -1250,7 +1250,7 @@ 0 16 - 030000006702000042050000C8020000 + 03000000DB020000440500003C030000 16 @@ -1270,7 +1270,7 @@ 0 16 - 030000006702000042050000C8020000 + 03000000DB020000440500003C030000 16 @@ -1730,7 +1730,7 @@ 0 16 - 00000000E102000045050000F4020000 + 00000000550300004705000068030000 16 @@ -1799,14 +1799,14 @@ 3312 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000090050000E1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E65002000000000000042010000F5000000DE05000083010000F40000004F00000090050000DD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000EE040000F5000000DE050000CB020000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F40000004C020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000004E000000F50000003E010000F2020000000000004F000000F00000004C0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000000000004E000000BB020000DE0500005D030000000000001502000090050000B702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000004C0200004505000050020000010000000100001004000000010000009CFDFFFF8E000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000004E000000F60200009305000087030000000000005002000045050000E10200000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000090050000E1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000F00100008E0000008C0600001C010000F40000004F00000090050000DD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000009C0500008E0000008C06000064020000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F4000000C0020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000FC0000008E000000EC010000FF020000000000004F000000F0000000C00200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000FC000000540200008C060000F6020000000000001502000090050000B702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000C002000047050000C4020000010000000100001004000000010000009CFDFFFF8E000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000FC00000003030000430600009403000000000000C402000047050000550300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 File - 2537 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000400020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000004000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000004000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000400000000000000000000000000000000000001000000010000009600000002002050000000000096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000004001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 2926 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000400020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000004000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000004000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000004000000000000000000000000000000000000010000000100000096000000020020500000000009636F5F7072696E74669600000000000000140009636F5F7072696E7466166F735F74696D65725F434D445F7570646174655F6362036D61630E534C5F535741595F53544154555313534C5F444952454354494F4E5F5354415455530B534C5F44495354414E4345096D6573685F696E697412646563696D616C5F706F696E745F7365656E0D75617274315F6973725F72616D0F696E7465726E616C5F6D616C6C6F630648415F42554618737065616B65725F676174745F6164645F736572766963650D6F735F74696D65725F696E69740D706D755F6973725F72616D5F430E7379735F74696D65725F696E69740B636F6E6669675F666C616717534C5F5343374132305F4932635F5370695F5772697465117472616E73706172656E745F73746172740D6170705F61745F726563765F630D75617274305F6973725F72616D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000004001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -1851,8 +1851,8 @@ 0 - 1707 - 1067 + 1920 + 1080 diff --git a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/keil/feedback.txt b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/keil/feedback.txt index 6be1cab..07934ba 100644 --- a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/keil/feedback.txt +++ b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/keil/feedback.txt @@ -1,4 +1,4 @@ -;## ARM Linker, 5060960: Last Updated: Mon Sep 09 12:08:57 2024 +;## ARM Linker, 5060960: Last Updated: Wed Dec 04 19:13:22 2024 ;VERSION 0.2 ;FILE adc.o __asm___5_adc_c_e3544fbe____REV16 <= USED 0 diff --git a/2.code/2.dongle/examples/none_evm/ble_simple_central_audio/code/ble_simple_central.c b/2.code/2.dongle/examples/none_evm/ble_simple_central_audio/code/ble_simple_central.c index d863fa5..36e916e 100644 --- a/2.code/2.dongle/examples/none_evm/ble_simple_central_audio/code/ble_simple_central.c +++ b/2.code/2.dongle/examples/none_evm/ble_simple_central_audio/code/ble_simple_central.c @@ -34,9 +34,9 @@ * MACROS (ºê¶¨Òå) */ // #undef LOG_LOCAL_LEVEL -// #define LOG_LOCAL_LEVEL (LOG_LEVEL_NONE) -extern const char *app_tag; - +// #define LOG_LOCAL_LEVEL (LOG_LEVEL_INFO) +//extern const char *app_tag; +static const char *app_tag = "ble"; extern int8_t modem_param_table_set(uint8_t table); extern sApp_BlockRingBuf app_hid_data_BlockRingBuf; @@ -485,18 +485,22 @@ __attribute__((section("ram_code")))static void gatt_rec_handle(uint8_t conidx, rec_data[5] == 0x32) // ÓïÒô½áÊø { app_audio_recv_status = 0; + #if AUDIO_SBC != 1 usb_audio_event_send(USB_AUDIO_DEINIT, NULL, 0); + #endif LOG_INFO(app_tag, ">>>>>stop usb audio, cmd:0x%02x\r\n", rec_data[5]); } // vendor data usb tx if (is_usb_vendor_data_send_finished == true) { + //LOG_INFO(app_tag, "usb_hid_send_vendor_report\r\n"); usb_hid_send_vendor_report(rec_data, len); is_usb_vendor_data_send_finished = false; } else { + GLOBAL_INT_DISABLE(); is_full = app_BlockLoopBuf_write(VENDOR_DATA_CMD, &app_vendor_data_BlockRingBuf, @@ -509,10 +513,43 @@ __attribute__((section("ram_code")))static void gatt_rec_handle(uint8_t conidx, is_usb_vendor_data_send_finished = true; LOG_INFO(app_tag, "vendor buff full\r\n"); } + //LOG_INFO(app_tag, "app_BlockLoopBuf_write bufc %d\r\n",app_vendor_data_BlockRingBuf.newblockcount); } } else if (rec_data[0] == 0x9C) // SBCÓïÒôÊý¾Ý { + // print_hex(rec_data,len); + // printf("\r\n"); + #if AUDIO_SBC == 1 + for(int i = 0;i<128/32;i++) + { + if (is_usb_vendor_data_send_finished == true) + { + //LOG_INFO(app_tag, "usb_hid_send_vendor_report len :%d\r\n",len); + + usb_hid_send_vendor_report(rec_data+i*32, 32); + is_usb_vendor_data_send_finished = false; + } + else + { + + GLOBAL_INT_DISABLE(); + is_full = app_BlockLoopBuf_write(VENDOR_DATA_SBC, + &app_vendor_data_BlockRingBuf, + (uint8_t const *)(rec_data+i*32), + len); + GLOBAL_INT_RESTORE(); + if (is_full == 1) + { + app_BlockRingBuf_flush(&app_vendor_data_BlockRingBuf); + is_usb_vendor_data_send_finished = true; + LOG_INFO(app_tag, "vendor buff full\r\n"); + } + //LOG_INFO(app_tag, "app_BlockLoopBuf_write len %d\r\n",len); + } + + } + #else if (app_audio_recv_status == 1) { usb_audio_event_send(USB_AUDIO_INIT, rec_data, len); @@ -522,6 +559,7 @@ __attribute__((section("ram_code")))static void gatt_rec_handle(uint8_t conidx, { usb_audio_event_send(USB_AUDIO_DECODER, rec_data, len); } + #endif }else //if(handle == 0x19) { //if(rec_data[0] == '{') diff --git a/2.code/2.dongle/examples/none_evm/ble_simple_central_audio/code/config.h b/2.code/2.dongle/examples/none_evm/ble_simple_central_audio/code/config.h index 38db352..c6c64d8 100644 --- a/2.code/2.dongle/examples/none_evm/ble_simple_central_audio/code/config.h +++ b/2.code/2.dongle/examples/none_evm/ble_simple_central_audio/code/config.h @@ -4,7 +4,7 @@ /* Óû§ÉèÖà */ #define MOUSE_ADV_NAME "2.4G VMouse" #define MOUSE_PAIR_ADV_NAME "2.4G VMouse_P" - +#define AUDIO_SBC 1 //==1 ¿ªÆôsbcÒôƵ´«Ê䣬ʹÓüüֵͨµÀ£»==0¿ªÆôpcm´«Ê䣬ʹÓÃmicö¾ÙͨµÀ /* * MACROS (ºê¶¨Òå) */ diff --git a/2.code/2.dongle/examples/none_evm/ble_simple_central_audio/code/proj_main.c b/2.code/2.dongle/examples/none_evm/ble_simple_central_audio/code/proj_main.c index 36aa9bc..5b44cbd 100644 --- a/2.code/2.dongle/examples/none_evm/ble_simple_central_audio/code/proj_main.c +++ b/2.code/2.dongle/examples/none_evm/ble_simple_central_audio/code/proj_main.c @@ -41,8 +41,8 @@ const char *app_tag = "project"; sApp_BlockRingBuf app_hid_data_BlockRingBuf; static uint8_t app_hid_data_blockBuf[HID_DATA_CONFIG_BLOCKNUM][HID_DATA_CONFIG_BLOCKSIZE]; -#define VENDOR_DATA_CONFIG_BLOCKNUM 15 -#define VENDOR_DATA_CONFIG_BLOCKSIZE 40 +#define VENDOR_DATA_CONFIG_BLOCKNUM 72 +#define VENDOR_DATA_CONFIG_BLOCKSIZE 50 sApp_BlockRingBuf app_vendor_data_BlockRingBuf; static uint8_t app_vendor_data_blockBuf[VENDOR_DATA_CONFIG_BLOCKNUM][VENDOR_DATA_CONFIG_BLOCKSIZE]; diff --git a/2.code/2.dongle/examples/none_evm/ble_simple_central_audio/code/usb/usb_hid_audio.c b/2.code/2.dongle/examples/none_evm/ble_simple_central_audio/code/usb/usb_hid_audio.c index 81eb3e3..2507ee8 100644 --- a/2.code/2.dongle/examples/none_evm/ble_simple_central_audio/code/usb/usb_hid_audio.c +++ b/2.code/2.dongle/examples/none_evm/ble_simple_central_audio/code/usb/usb_hid_audio.c @@ -45,7 +45,7 @@ #include "sys_utils.h" #include "co_log.h" - +#include "config.h" // #undef LOG_LOCAL_LEVEL // #define LOG_LOCAL_LEVEL (LOG_LEVEL_INFO) static const char *app_tag = "usb"; @@ -247,7 +247,33 @@ uint8_t USB_HID_Custom_ReportDesc[] = 0x91, 0x02, // Output (Data, Variable, Absolute) 0xC0 // End Collection }; - +static uint8_t USB_HID_Keyboard_ReportDesc[] = +{ + 0x2B, // Length + + 0x05, 0x01, // Usage Page (Generic Desktop) + 0x09, 0x06, // Usage (Keyboard) + 0xA1, 0x01, // Collection + 0x05, 0x07, // Usage Page (Keyboard/Keypad) + 0x19, 0x00, // Usage Minimum (0) + 0x29, 0x7C, // Usage Maximum (124) + 0x15, 0x00, // Logical Minimum (0) + 0x25, 0x01, // Logical Maximum (1) + 0x95, 0x78, // Report Count (120) + 0x75, 0x01, // Report Size (1) + 0x81, 0x00, // Input (Data, Array, Absolute) + 0x25, 0x01, // Logical Maximum (1) + 0x95, 0x05, // Report Count (5) + 0x75, 0x01, // Report Size (1) + 0x05, 0x08, // Usage Page (LEDs) + 0x19, 0x01, // Usage Minimum (1) + 0x29, 0x05, // Usage Maximum (5) + 0x91, 0x02, // Output (Data, Variable, Absolute) + 0x95, 0x01, // Report Count (1) + 0x75, 0x03, // Report Size (3) + 0x91, 0x03, // Output (Constant, Variable, Absolute) + 0xC0, // End Collection +}; /* HID Descriptor */ #define HID_DESCRIPTOR_0 0x09, /* bLength */ \ 0x21, /* bDescriptorType: HID */ \ @@ -281,6 +307,16 @@ uint8_t USB_HID_Custom_ReportDesc[] = sizeof(USB_HID_Custom_ReportDesc)-1, /* wDescriptorLength */ \ 0x00 +/* HID Descriptor */ +#define HID_DESCRIPTOR_3 0x09, /* bLength */ \ + 0x21, /* bDescriptorType: HID */ \ + 0x10, /* bcdHID: 1.10 */ \ + 0x01, \ + 0x21, /* bCountryCode: US */ \ + 0x01, /* bNumDescriptors */ \ + 0x22, /* bDescriptorType: Report */ \ + sizeof(USB_HID_Keyboard_ReportDesc)-1, /* wDescriptorLength */ \ + 0x00 const uint8_t USB_HID_Desc_0[] = { HID_DESCRIPTOR_0, @@ -295,9 +331,12 @@ uint8_t USB_HID_Desc_2[] = { HID_DESCRIPTOR_2, }; - +const static uint8_t USB_HID_Desc_3[] = +{ + HID_DESCRIPTOR_3, +}; /* USB Standard Configuration Descriptor */ -const uint8_t USB_HID_ConfigurationDesc[] = +uint8_t USB_HID_ConfigurationDesc[] = { /* Configuration Descriptor */ 0x09, /* bLength */ @@ -310,7 +349,32 @@ const uint8_t USB_HID_ConfigurationDesc[] = 0xA0, /* bmAttributes */ 0x32, /* bMaxPower */ - /* Audio Interface Descriptor 0/0, 0 Endpoints */ + +#if AUDIO_SBC == 1 + /* HID Interface 1/0 Descriptor, 1 Endpoint */ + 0x09, /* bLength */ + 0x04, /* bDescriptorType: Interface */ + 0x00, /* bInterfaceNumber */ + 0x00, /* bAlternateSetting */ + 0x01, /* bNumEndpoints */ + 0x03, /* bInterfaceClass: HID */ + 0x01, /* bInterfaceSubClass: Boot interface */ + 0x01, /* bInterfaceProtocol: Keyboard */ + 0x00, /* iInterface */ + + /* HID Descriptor */ + HID_DESCRIPTOR_3, + + /* Endpoint Descriptor 82 2 In, Interrupt, 10 ms */ + 0x07, /* bLength */ + 0x05, /* bDescriptorType: Endpoint */ + 0x82, /* bEndpointAddress: 2 In */ + 0x03, /* bmAttributes: Interrupt */ + 0x40, /* wMaxPacketSize: 64 bytes */ + 0x00, + 0x0A, /* bInterval: 10 ms */ +#else +/* Audio Interface Descriptor 0/0, 0 Endpoints */ 0x09, /* bLength */ 0x04, /* bDescriptorType */ 0x00, /* bInterfaceNumber */ @@ -377,8 +441,43 @@ const uint8_t USB_HID_ConfigurationDesc[] = 0x03, 0x00, 0x00, +#endif + + + +#if AUDIO_SBC == 0 + /* HID Interface 4 Descriptor, 2 Endpoints */ + 0x09, /* bLength */ + 0x04, /* bDescriptorType */ + 0x01, /* bInterfaceNumber */ + 0x00, /* bAlternateSetting */ + 0x02, /* bNumEndpoints */ + 0x03, /* bInterfaceClass: HID */ + 0x00, /* bInterfaceSubClass: */ + 0x00, /* bInterfaceProtocol: */ + 0x00, /* iConfiguration */ + + HID_DESCRIPTOR_2, + + /* Endpoint 1 IN Descriptor */ + 0x07, /* bLength */ + 0x05, /* bDescriptorType */ + 0x85, /* bEndpointAddress */ + 0x03, /* bmAttributes: Interrupt */ + 0x40, /* wMaxPacketSize: 64byte */ + 0x00, + 0x01, /* bInterval */ - /* Audio Interface Descriptor 1/0, 0 Endpoints */ + /* Endpoint 2 IN Descriptor */ + 0x07, /* bLength */ + 0x05, /* bDescriptorType */ + 0x05, /* bEndpointAddress */ + 0x03, /* bmAttributes: Interrupt */ + 0x40, /* wMaxPacketSize: 64byte */ + 0x00, + 0x01, /* bInterval */ +#else +/* Audio Interface Descriptor 1/0, 0 Endpoints */ 0x09, /* bLength */ 0x04, /* bDescriptorType */ 0x01, /* bInterfaceNumber */ @@ -386,10 +485,10 @@ const uint8_t USB_HID_ConfigurationDesc[] = 0x00, /* bNumEndpoints */ 0x01, /* bInterfaceClass: Audio */ 0x02, /* bInterfaceSubClass: Audio Streaming */ - 0x00, /* bInterfaceProtocol */ + 0x00, /* bInterfaceProtocol */ 0x00, /* iConfiguration */ - /* Audio Interface Descriptor 1/1, 1 Endpoints */ +/* Audio Interface Descriptor 1/1, 1 Endpoints */ 0x09, /* bLength */ 0x04, /* bDescriptorType */ 0x01, /* bInterfaceNumber */ @@ -397,7 +496,7 @@ const uint8_t USB_HID_ConfigurationDesc[] = 0x01, /* bNumEndpoints */ 0x01, /* bInterfaceClass: Audio */ 0x02, /* bInterfaceSubClass: Audio Streaming */ - 0x00, /* bInterfaceProtocol */ + 0x00, /* bInterfaceProtocol */ 0x00, /* iConfiguration */ /* Audio Streaming Interface Descriptor */ @@ -441,6 +540,9 @@ const uint8_t USB_HID_ConfigurationDesc[] = 0x00, 0x00, 0x00, +#endif + + /* HID Interface 2 Descriptor, 2 Endpoints */ 0x09, /* bLength */ @@ -1029,6 +1131,16 @@ static void usb_hid_StandardClassRequest_Handler(usb_StandardRequest_t* pStandar pReturnData->DataLength = USB_HID_Custom_ReportDesc[0]; pReturnData->DataBuffer = &USB_HID_Custom_ReportDesc[1]; } + else if (pStandardRequest->wIndex[0] == 0) + { + pReturnData->DataLength = USB_HID_Keyboard_ReportDesc[0]; + pReturnData->DataBuffer = &USB_HID_Keyboard_ReportDesc[1]; + } + else if (pStandardRequest->wIndex[0] == 1) + { + pReturnData->DataLength = USB_HID_Custom_ReportDesc[0]; + pReturnData->DataBuffer = &USB_HID_Custom_ReportDesc[1]; + } }break; case DESCRIPTOR_HID: @@ -1048,6 +1160,16 @@ static void usb_hid_StandardClassRequest_Handler(usb_StandardRequest_t* pStandar pReturnData->DataLength = 9; pReturnData->DataBuffer = (uint8_t *)USB_HID_Desc_2; } + else if (pStandardRequest->wIndex[0] == 0) + { + pReturnData->DataLength = 9; + pReturnData->DataBuffer = (uint8_t *)USB_HID_Desc_3; + } + // else if (pStandardRequest->wIndex[0] == 1) + // { + // pReturnData->DataLength = 9; + // pReturnData->DataBuffer = (uint8_t *)USB_HID_Desc_2; + // } }break; default: break; @@ -1113,6 +1235,14 @@ void CMD_update_init(void) */ #define SEND_CMD_LEN 63 extern char ota_flag; +void print_hex(char *data ,int len) +{ + for(int i = 0;i 44 0 - 1 + 2 - -1 - -1 + -32000 + -32000 -1 -1 - 32 - 339 - 1706 - 943 + 55 + 538 + 1905 + 966 @@ -134,7 +134,7 @@ 16 - 4F0200008E000000EB0600001C010000 + F00100008E0000008C0600001C010000 @@ -1799,14 +1799,14 @@ 3312 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000090050000E1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000000000004F0200008E000000EB0600001C010000F40000004F00000090050000DD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000FB0500008E000000EB06000064020000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F4000000C0020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000005B0100008E0000004B020000FF020000000000004F000000F0000000C00200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000000000005B01000054020000EB060000F6020000000000001502000090050000B702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000C002000047050000C4020000010000000100001004000000010000009CFDFFFF8E000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000005B01000003030000A20600009403000000000000C402000047050000550300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000090050000E1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000F00100008E0000008C0600001C010000F40000004F00000090050000DD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000009C0500008E0000008C06000064020000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F4000000C0020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000FC0000008E000000EC010000FF020000000000004F000000F0000000C00200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000FC000000540200008C060000F6020000000000001502000090050000B702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000C002000047050000C4020000010000000100001004000000010000009CFDFFFF8E000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000FC00000003030000430600009403000000000000C402000047050000550300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 File - 2940 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000400020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000004000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000004000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000040000000000000000000000000000000000000100000001000000960000000200205000000000166F735F74696D65725F434D445F7570646174655F636296000000000000001400166F735F74696D65725F434D445F7570646174655F6362036D61630E534C5F535741595F53544154555313534C5F444952454354494F4E5F5354415455530B534C5F44495354414E4345096D6573685F696E697412646563696D616C5F706F696E745F7365656E0D75617274315F6973725F72616D0F696E7465726E616C5F6D616C6C6F630648415F42554618737065616B65725F676174745F6164645F736572766963650D6F735F74696D65725F696E69740D706D755F6973725F72616D5F430E7379735F74696D65725F696E69740B636F6E6669675F666C616717534C5F5343374132305F4932635F5370695F5772697465117472616E73706172656E745F73746172740D6170705F61745F726563765F630D75617274305F6973725F72616D0A756172745F706172616D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000004001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 2926 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000400020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000004000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000004000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000004000000000000000000000000000000000000010000000100000096000000020020500000000009636F5F7072696E74669600000000000000140009636F5F7072696E7466166F735F74696D65725F434D445F7570646174655F6362036D61630E534C5F535741595F53544154555313534C5F444952454354494F4E5F5354415455530B534C5F44495354414E4345096D6573685F696E697412646563696D616C5F706F696E745F7365656E0D75617274315F6973725F72616D0F696E7465726E616C5F6D616C6C6F630648415F42554618737065616B65725F676174745F6164645F736572766963650D6F735F74696D65725F696E69740D706D755F6973725F72616D5F430E7379735F74696D65725F696E69740B636F6E6669675F666C616717534C5F5343374132305F4932635F5370695F5772697465117472616E73706172656E745F73746172740D6170705F61745F726563765F630D75617274305F6973725F72616D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000004001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -1822,7 +1822,7 @@ Build 996 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000002001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000012626C655F73696D706C655F63656E7472616C9600000000000000010012626C655F73696D706C655F63656E7472616C000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000012626C655F73696D706C655F63656E7472616C9600000000000000010012626C655F73696D706C655F63656E7472616C000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 583 @@ -1838,7 +1838,7 @@ Debug 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 diff --git a/2.code/2.dongle/examples/none_evm/ble_simple_central_audio/keil/feedback.txt b/2.code/2.dongle/examples/none_evm/ble_simple_central_audio/keil/feedback.txt index 980e5b6..17265c7 100644 --- a/2.code/2.dongle/examples/none_evm/ble_simple_central_audio/keil/feedback.txt +++ b/2.code/2.dongle/examples/none_evm/ble_simple_central_audio/keil/feedback.txt @@ -1,4 +1,4 @@ -;## ARM Linker, 5060960: Last Updated: Tue Aug 20 11:18:36 2024 +;## ARM Linker, 5060960: Last Updated: Mon Dec 09 20:24:12 2024 ;VERSION 0.2 ;FILE adv_check_mode.o __asm___16_adv_check_mode_c_9741a236____REV16 <= USED 0 @@ -103,6 +103,7 @@ __asm___6_atts_c_ca3f1c07____RRX <= USED 0 __asm___7_audio_c_45090bfa____REV16 <= USED 0 __asm___7_audio_c_45090bfa____REVSH <= USED 0 __asm___7_audio_c_45090bfa____RRX <= USED 0 +usb_audio_event_send <= USED 0 ;FILE audio_decoder.o ;FILE bitalloc-sbc.o OI_CODEC_SBC_CalculateBitpool <= USED 0 @@ -1199,6 +1200,7 @@ __asm___9_usb_dfu_c_a4840832____RRX <= USED 0 __asm___15_usb_hid_audio_c_942255e5____REV16 <= USED 0 __asm___15_usb_hid_audio_c_942255e5____REVSH <= USED 0 __asm___15_usb_hid_audio_c_942255e5____RRX <= USED 0 +print_hex <= USED 0 ;FILE user_bond_manage.o __asm___18_user_bond_manage_c_4bdeed12____REV16 <= USED 0 __asm___18_user_bond_manage_c_4bdeed12____REVSH <= USED 0 -- 2.17.1