From: p15692025051 <846603105@qq.com> Date: Fri, 26 Apr 2024 02:29:12 +0000 (+0800) Subject: 功耗调试 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=6dbaac521fa137c81f8d11a63384c308ecf27e26;p=mirrors%2FvMouse.git 功耗调试 led调试 使用MAC转换SN --- diff --git a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/amic.c b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/amic.c index f565e1e..cfe09f6 100644 --- a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/amic.c +++ b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/amic.c @@ -16,6 +16,7 @@ #include "co_printf.h" #include "driver_system.h" +#include "inflash.h" int amic_start_time = 0; #define SBC_FRAME_SIZE 32 #define SBC_DATA_SIZE (SBC_FRAME_SIZE*4) @@ -63,6 +64,8 @@ void encoder_frame_out_func(uint8_t *frame_data, uint16_t frame_size) void amic_start(void) { + if(user_data.activated_dtate != 1)//没激活停止录音 + return; if (amic_onoff == false) { co_printf("amic start.\r\n"); diff --git a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/ble_simple_peripheral.c b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/ble_simple_peripheral.c index 15ed6c1..f16263e 100644 --- a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/ble_simple_peripheral.c +++ b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/ble_simple_peripheral.c @@ -84,20 +84,21 @@ static uint8_t scan_rsp_data[31] = * LOCAL VARIABLES (±¾µØ±äÁ¿) */ static uint8_t m_conn_index = BLE_CONN_INDEX_INVALID; - os_timer_t update_param_timer; - -/* - * LOCAL FUNCTIONS (±¾µØº¯Êý) - */ - -/* - * EXTERN FUNCTIONS (Íⲿº¯Êý) - */ - - /* - * PUBLIC FUNCTIONS (È«¾Öº¯Êý) - */ - +os_timer_t update_param_timer; +uint8_t ble_simple_link_rssi = 0; +//¸üÐÂÐźÅÖµ +void updata_ble_simple_link_rssi(void) +{ + if(m_conn_index != BLE_CONN_INDEX_INVALID) + { + gap_get_link_rssi(m_conn_index);//»ñÈ¡ÐźÅÇ¿¶È,ÔÚcase GAP_EVT_LINK_RSSI:»Øµ÷»Ø·µÖµ + } +} +//»ñÈ¡ÐźÅÖµ +uint8_t get_ble_simple_link_rssi(void) +{ + return ble_simple_link_rssi; +} /** @function group ble peripheral device APIs (bleÍâÉèÏà¹ØµÄAPI) * @{ */ @@ -137,6 +138,8 @@ void param_timer_func(void *arg) */ void app_gap_evt_cb(gap_event_t *p_event) { + char send_buf_t[50] = {0}; + int send_buf_len_t = 0; switch (p_event->type) { case GAP_EVT_ADV_END: @@ -161,6 +164,7 @@ void app_gap_evt_cb(gap_event_t *p_event) co_printf("slave[%d],connect. link_num:%d\r\n", p_event->param.slave_connect.conidx, gap_get_connect_num()); m_conn_index = p_event->param.slave_connect.conidx; gatt_mtu_exchange_req(p_event->param.slave_connect.conidx); + gap_get_link_rssi(p_event->param.slave_connect.conidx);//»ñÈ¡ÐźÅÇ¿¶È if (user_data.mouse_mode == WORK_2_4G_MODE) { os_timer_start(&update_param_timer, 1000, false); @@ -215,6 +219,9 @@ void app_gap_evt_cb(gap_event_t *p_event) case GAP_EVT_LINK_RSSI: co_printf("link rssi %d\r\n", p_event->param.link_rssi); + + send_buf_len_t = snprintf(send_buf_t,sizeof(send_buf_t),"{\"rssi\":\"%d\"}",p_event->param.link_rssi); + hid_cmd_send((unsigned char*)send_buf_t,send_buf_len_t); break; case GAP_SEC_EVT_SLAVE_ENCRYPT: diff --git a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/ble_simple_peripheral.h b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/ble_simple_peripheral.h index befb828..68b445e 100644 --- a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/ble_simple_peripheral.h +++ b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/ble_simple_peripheral.h @@ -85,4 +85,8 @@ void hid_keyboard_value_send(uint8_t * p_keys_buff); void ble_s_hid_data_tx(uint8_t * p_data, uint8_t len); void hid_cmd_send(uint8_t *data, uint16_t len); void hid_aliapp_data_tx(uint8_t * p_data, uint16_t len); +//更新信号值 +void updata_ble_simple_link_rssi(void); +//获取信号值 +uint8_t get_ble_simple_link_rssi(void); #endif diff --git a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/button.c b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/button.c index 63660c5..7b58495 100644 --- a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/button.c +++ b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/button.c @@ -242,7 +242,7 @@ void button_deInit(Button_t handle) void button_ticks() { Button *target; - + //co_printf("button_ticks:button_ticks:%d,gpios_press_up_cnt:%d!!\r\n",button_ticks,gpios_press_up_cnt); for (target = head_handle; target; target = target->next) { button_handler(target); 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 2819e0e..97ecad7 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 @@ -27,12 +27,12 @@ #define ENABLE 1 /* Óû§ÉèÖà */ -#define Version "v1.24.4.03" +#define Version "v1.24.04.16" #define Brand "VMouse" #define DEVICE_MODEL 256 #define DEVICE_VERSION 0x01 -#define USER_URL "https://freqchip.com" -#define USER_URL_LEN 20 +#define USER_URL "https://qx.5ai.top/" +#define USER_URL_LEN 19 #define HW_VERSION "V1.0" #define FW_VERSION "V1.0.109" @@ -45,7 +45,8 @@ #define ADV_NAME_2_4G_PAIR_LEN 14 #define ADV_NAME_2_4G_PAIR "2.4G VMouse_P" -#define UART_LOG_ENABLE ENABLE // ÓÉÓÚPA3¸´Ó㬴ò¿ªLOG¿ÉÄÜÔì³ÉijЩ¹¦ÄÜÊÜÏÞ +#define BUTTON_UP DISABLE //°´¼ü»½Ðѹ¦ÄÜ£¬¹Ø±Õ¸üÊ¡¹¦ºÄ +#define UART_LOG_ENABLE DISABLE // ÓÉÓÚPA3¸´Ó㬴ò¿ªLOG¿ÉÄÜÔì³ÉijЩ¹¦ÄÜÊÜÏÞ #define WDT_ENABLE ENABLE // ¿´ÃŹ· #define TEST_PIN_ENABLE DISABLE // PD6²âÊԹܽŠ@@ -59,9 +60,9 @@ #define BAT_DETECT_TIMEOUT_PER_10SEC (6*10) // µç³ØµçÁ¿¼à²â¼ä¸ô #define MOUSE_SLEEP_ENABLE ENABLE // ʹÄÜÊó±êÐÝÃß -#define MOUSE_ADV_SLEEP_TIMEOUT_SEC (20) // Êó±ê˯Ãßʱ¼ä£¬µ¥Î»S -#define MOUSE_CONN_SLEEP_TIMEOUT_SEC (4*60) // Êó±ê˯Ãßʱ¼ä£¬µ¥Î»S -#define SENSOR_SLEEP_TIMEOUT_SEC (3) // Êó±ê˯Ãßʱ¼ä£¬µ¥Î»S +#define MOUSE_ADV_SLEEP_TIMEOUT_SEC (20) // δÁ¬½ÓÊó±ê˯Ãßʱ¼ä£¬µ¥Î»S +#define MOUSE_CONN_SLEEP_TIMEOUT_SEC (4*60) // ÒÑÁ¬½Ó£¬Êó±ê˯Ãßʱ¼ä£¬µ¥Î»S +#define SENSOR_SLEEP_TIMEOUT_SEC (10) // ¹â±ê˯Ãßʱ¼ä£¬µ¥Î»S /* * TYPEDEFS (ÀàÐͶ¨Òå) */ diff --git a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/flash_usage_config.h b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/flash_usage_config.h index 19b8a1f..4bc831d 100644 --- a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/flash_usage_config.h +++ b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/flash_usage_config.h @@ -33,7 +33,8 @@ #define BLE_BONDING_INFO_SAVE_ADDR 0x7D000 #define BLE_REMOTE_SERVICE_SAVE_ADDR 0x7E000 #define USER_FLASH_BASE_ADDR (0x7C000) //Óû§ÅäÖÃÇø 0x7c000-0x7D000 - #define ALI_DATA_ADDR 0x7B000 //°¢ÀïÅäÖÃÇø 0x7B000-0x7D000 + #define USER_FLASH_SN_ADDR 0x7A000 //SN 0x7B000-0x7C000 + #define ALI_DATA_ADDR 0x7B000 //°¢ÀïÅäÖÃÇø 0x7A000-0x7B000 #define FLASH_MAX_SIZE 0x80000 #endif // FOR_4M_FLASH diff --git a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/func.c b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/func.c index 5a34c4d..616398e 100644 --- a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/func.c +++ b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/func.c @@ -8,7 +8,7 @@ #include "ble_simple_peripheral.h" #include "os_timer.h" - +#include "led.h" #include "co_log.h" #include "driver_wdt.h" #undef LOG_LEVEL_MODULE @@ -293,20 +293,24 @@ void mouse_enter_pairing(work_mode_t * curr_woke_mode) } else if ((*curr_woke_mode == WORK_BT1_MODE) || (*curr_woke_mode == WORK_BT2_MODE)) { - mac_addr_t local_addr; - memcpy(local_addr.addr, user_data.bt_mac[*curr_woke_mode], MAC_ADDR_LEN); - delete_bond_info_by_local_addr(local_addr); + // mac_addr_t local_addr; + // memcpy(local_addr.addr, user_data.bt_mac[*curr_woke_mode], MAC_ADDR_LEN); + // delete_bond_info_by_local_addr(local_addr); + + // // 初始化所有通道的MAC地址 + // user_data.peer_addr.addr[4] += 1; + // memcpy(local_addr.addr, user_data.peer_addr.addr, MAC_ADDR_LEN); + // memcpy(user_data.bt_mac[WORK_2_4G_MODE], local_addr.addr, MAC_ADDR_LEN); + // local_addr.addr[4] += 1; + // memcpy(user_data.bt_mac[WORK_BT1_MODE], local_addr.addr, MAC_ADDR_LEN); + // local_addr.addr[4] += 1; + // memcpy(user_data.bt_mac[WORK_BT2_MODE], local_addr.addr, MAC_ADDR_LEN); - uint8_t max = MAX(user_data.bt_mac[WORK_BT1_MODE][4], user_data.bt_mac[WORK_BT2_MODE][4]); - if (max == 0xff) - user_data.bt_mac[*curr_woke_mode][4] = 0x01; - else - user_data.bt_mac[*curr_woke_mode][4] = max + 1; - g_device_param.is_bt_pairing = true; + // g_device_param.is_bt_pairing = true; - user_data_storage_do(true); + // user_data_storage_do(true); } - + work_mode_led_prestart(LED_FAST_BLINK_100MS); if (curr_conn_index_get() == BLE_CONN_INDEX_INVALID) gap_stop_advertising(); else diff --git a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/gpio.c b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/gpio.c index f51b956..1bea57f 100644 --- a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/gpio.c +++ b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/gpio.c @@ -16,7 +16,7 @@ void user_gpio_init(void) pmu_set_pin_to_PMU(MODE_DETECT_PIN_PORT, MODE_DETECT_BITS); pmu_set_port_mux(MODE_DETECT_PIN_PORT, MODE_DETECT_BIT, PMU_PORT_MUX_GPIO); pmu_set_pin_dir(MODE_DETECT_PIN_PORT, MODE_DETECT_BITS, GPIO_DIR_IN); - pmu_set_pin_pull(MODE_DETECT_PIN_PORT, MODE_DETECT_BITS, true); + pmu_set_pin_pull(MODE_DETECT_PIN_PORT, MODE_DETECT_BITS, false); pmu_set_pin_to_PMU(MATRIX_BUTTON_ROW_PORT, MATRIX_ROW0_PIN_BITS); pmu_set_port_mux(MATRIX_BUTTON_ROW_PORT, MATRIX_ROW0_PIN_BIT, PMU_PORT_MUX_GPIO); 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 ec5f2be..f25d72d 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 @@ -1,4 +1,6 @@ #include +#include +#include #include "inflash.h" #include "config.h" #include "driver_flash.h" @@ -69,7 +71,6 @@ mac_addr_t MAC_addr = {0}; void user_inflash_init(void) { user_data_param_t user_data_tmp; - device_setting_recover((uint8_t *)&user_data_tmp, sizeof(user_data_param_t)); LOG_INFO("[inflash]USR_MAC:%02X:%02X:%02X:%02X:%02X:%02X\r\n", user_data_tmp.peer_addr.addr[5], user_data_tmp.peer_addr.addr[4], user_data_tmp.peer_addr.addr[3], user_data_tmp.peer_addr.addr[2], user_data_tmp.peer_addr.addr[1], user_data_tmp.peer_addr.addr[0]); @@ -85,7 +86,9 @@ void user_inflash_init(void) user_data.activated_dtate = 0; //strcpy(user_data.SN,"MSCL123456789"); user_data.mouse_mode = WORK_2_4G_MODE; + user_data.url_switch = 0; } + user_data.url_switch = 1;//客户强行开 // if (user_data.mouse_mode == WORK_2_4G_MODE) // { // user_data_tmp.peer_addr.addr[4] += 1; @@ -93,42 +96,76 @@ void user_inflash_init(void) // { // user_data_tmp.peer_addr.addr[4] += 2; // } - if ((user_data_tmp.peer_addr.addr[0] != 0xff) && - (user_data_tmp.peer_addr.addr[1] != 0xff) && - (user_data_tmp.peer_addr.addr[2] != 0xff) && - (user_data_tmp.peer_addr.addr[3] != 0xff) && - (user_data_tmp.peer_addr.addr[4] != 0xff) && - (user_data_tmp.peer_addr.addr[5] != 0xff)) - { - // 初始化所有通道的MAC地址 - memcpy(user_data.bt_mac[WORK_2_4G_MODE], user_data_tmp.peer_addr.addr, MAC_ADDR_LEN); - user_data_tmp.peer_addr.addr[4] += 1; - memcpy(user_data.bt_mac[WORK_BT1_MODE], user_data_tmp.peer_addr.addr, MAC_ADDR_LEN); - user_data_tmp.peer_addr.addr[4] += 1; - memcpy(user_data.bt_mac[WORK_BT2_MODE], user_data_tmp.peer_addr.addr, MAC_ADDR_LEN); - } - else + if ((user_data.peer_addr.addr[0] == 0xff) && + (user_data.peer_addr.addr[1] == 0xff) && + (user_data.peer_addr.addr[2] == 0xff) && + (user_data.peer_addr.addr[3] == 0xff) && + (user_data.peer_addr.addr[4] == 0xff) && + (user_data.peer_addr.addr[5] == 0xff)) { + user_data.peer_addr.addr[5] = 0xC0; user_data.peer_addr.addr[4] = 0x00; + user_data.peer_addr.addr[3] = 0x00; + user_data.peer_addr.addr[2] = 0x00; + user_data.peer_addr.addr[1] = 0x00; + user_data.peer_addr.addr[0] = 0xa5; memcpy(user_data_tmp.peer_addr.addr, user_data.peer_addr.addr, MAC_ADDR_LEN); memcpy(user_data.bt_mac[WORK_2_4G_MODE], user_data.peer_addr.addr, MAC_ADDR_LEN); + user_data_tmp.peer_addr.addr[4] += 20; + memcpy(user_data.bt_mac[WORK_BT1_MODE], user_data_tmp.peer_addr.addr, MAC_ADDR_LEN); user_data_tmp.peer_addr.addr[4] += 1; + memcpy(user_data.bt_mac[WORK_BT2_MODE], user_data_tmp.peer_addr.addr, MAC_ADDR_LEN); + }else + { + + unsigned int s_num = 0; + LOG_INFO("[inflash]user_data:MAC:%02X:%02X:%02X:%02X:%02X:%02X\r\n", + user_data.peer_addr.addr[5], user_data.peer_addr.addr[4], user_data.peer_addr.addr[3], + user_data.peer_addr.addr[2], user_data.peer_addr.addr[1], user_data.peer_addr.addr[0]); + //LOG_INFO("[inflash]user_data.flash_SN:%s\r\n",user_data.flash_SN); + memcpy(&s_num,user_data.peer_addr.addr,4);//获取MAC最后4字转化SN的生产年份,生产周期,产品流水号 + char data_tmp[10] = {0}; + snprintf(data_tmp,sizeof(data_tmp),"%08d",s_num); + LOG_INFO("[inflash]s_num:%s\r\n",data_tmp); + memcpy(user_data.SN,"MSCL",4);//固定码 + user_data.SN[4] = user_data_tmp.peer_addr.addr[4];//批次 + memcpy(&user_data.SN[5],"BKZ",3);//客户代码 + memcpy(&user_data.SN[8],"12",2);//硬件版本 + char *version = Version; + user_data.SN[10] = version[1];//软件版本 + user_data.SN[11] = version[9]; + user_data.SN[12] = version[10]; + user_data.SN[13] = '0';//自制/委外 + memcpy(&user_data.SN[14],data_tmp,8);//生产年份,生产周期,产品流水号 + user_data.SN[22] = 0; + LOG_INFO("[inflash]user_data.SN:%s\r\n",user_data.SN); + + + // 初始化所有通道的MAC地址 + memcpy(user_data_tmp.peer_addr.addr,user_data.peer_addr.addr,MAC_ADDR_LEN); + memcpy(user_data.bt_mac[WORK_2_4G_MODE], user_data_tmp.peer_addr.addr, MAC_ADDR_LEN); + user_data_tmp.peer_addr.addr[4] += 20; memcpy(user_data.bt_mac[WORK_BT1_MODE], user_data_tmp.peer_addr.addr, MAC_ADDR_LEN); user_data_tmp.peer_addr.addr[4] += 1; memcpy(user_data.bt_mac[WORK_BT2_MODE], user_data_tmp.peer_addr.addr, MAC_ADDR_LEN); } + + memcpy(&MAC_addr,user_data.bt_mac[user_data.mouse_mode],sizeof(MAC_addr)); // user_data.peer_addr.addr[5] = 0xc0; // user_data.peer_addr.addr[4] = 0xc2; // user_data.peer_addr.addr[1] = 0xA5; // user_data.peer_addr.addr[0] = 0xA5; //gap_address_set(&user_data_tmp.peer_addr); + // mac_addr_t peer_addr; + // memcpy(peer_addr.addr, user_data.bt_mac[user_data.mouse_mode], MAC_ADDR_LEN); + LOG_INFO("[inflash]==========user data==========\r\n"); - LOG_INFO("[inflash]dpi:%d\r\n", user_data.dpi); + LOG_INFO("[inflash]cpi:%d\r\n", user_data.cpi); LOG_INFO("[inflash]mouse_mode:%d\r\n", user_data.mouse_mode); LOG_INFO("[inflash]bt_mac[0]: %02X:%02X:%02X:%02X:%02X:%02X\r\n", user_data.bt_mac[WORK_2_4G_MODE][5], user_data.bt_mac[WORK_2_4G_MODE][4], user_data.bt_mac[WORK_2_4G_MODE][3], user_data.bt_mac[WORK_2_4G_MODE][2], user_data.bt_mac[WORK_2_4G_MODE][1], user_data.bt_mac[WORK_2_4G_MODE][0]); LOG_INFO("[inflash]bt_mac[1]: %02X:%02X:%02X:%02X:%02X:%02X\r\n", user_data.bt_mac[WORK_BT1_MODE][5], user_data.bt_mac[WORK_BT1_MODE][4], user_data.bt_mac[WORK_BT1_MODE][3], user_data.bt_mac[WORK_BT1_MODE][2], user_data.bt_mac[WORK_BT1_MODE][1], user_data.bt_mac[WORK_BT1_MODE][0]); @@ -137,9 +174,9 @@ void user_inflash_init(void) LOG_INFO("=============================\r\n"); LOG_INFO("[inflash]MAC:%02X:%02X:%02X:%02X:%02X:%02X\r\n", MAC_addr.addr[5], MAC_addr.addr[4], MAC_addr.addr[3], MAC_addr.addr[2], MAC_addr.addr[1], MAC_addr.addr[0]); LOG_INFO("[inflash]SN:%s\r\n",user_data.SN); - LOG_INFO("[mouse_mode]:%d!!!!!!!!!!!!!!\r\n",user_data_tmp.mouse_mode); - LOG_INFO("[mouse_mode]:%d!!!!!!!!!!!!!!\r\n",user_data_tmp.mouse_mode); - LOG_INFO("[mouse_mode]:%d!!!!!!!!!!!!!!\r\n",user_data_tmp.mouse_mode); - LOG_INFO("[mouse_mode]:%d!!!!!!!!!!!!!!\r\n",user_data_tmp.mouse_mode); - LOG_INFO("[mouse_mode]:%d!!!!!!!!!!!!!!\r\n",user_data_tmp.mouse_mode); + LOG_INFO("[mouse_mode]:%d!!!!!!!!!!!!!!\r\n",user_data.mouse_mode); + LOG_INFO("[mouse_mode]:%d!!!!!!!!!!!!!!\r\n",user_data.mouse_mode); + LOG_INFO("[mouse_mode]:%d!!!!!!!!!!!!!!\r\n",user_data.mouse_mode); + LOG_INFO("[mouse_mode]:%d!!!!!!!!!!!!!!\r\n",user_data.mouse_mode); + LOG_INFO("[mouse_mode]:%d!!!!!!!!!!!!!!\r\n",user_data.mouse_mode); } 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 bc32c3f..7b92f5f 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 @@ -25,11 +25,11 @@ * TYPEDEFS (ÀàÐͶ¨Òå) */ #pragma pack (4) - +#define SN_MAX_LEN 30 typedef struct { mac_addr_t peer_addr; - char SN[30]; + char SN[SN_MAX_LEN]; uint32_t reset_status; uint16_t dpi; uint16_t cpi; @@ -58,6 +58,6 @@ extern user_data_param_t user_data; void user_inflash_init(void); void user_data_storage(void); void user_data_storage_do(bool force); - +void inflash_write(uint32_t addr, uint8_t* p_buff, uint16_t len); #endif /* __INFLASH_H */ diff --git a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/keyscan.c b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/keyscan.c index af2565e..40f31ec 100644 --- a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/keyscan.c +++ b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/keyscan.c @@ -46,7 +46,7 @@ Button_t left_button, middle_button, right_button, search_button, translate_button, \ voice_button, m_button, dpi_button, mode_button; -static os_timer_t m_button_timer; +static os_timer_t m_button_timer = {0}; static bool button_timer_status = false; static volatile uint32_t button_press_status = 0; @@ -214,15 +214,58 @@ __attribute__((section("ram_code"))) void keyscan_isr_ram(void) button_timer_start(); } - +void user_keyscan_io_deinit(void) +{ + //return ; + keyscan_param_t param = {0}; + keyscan_init(¶m); + pmu_port_wakeup_func_clear(MATRIX_COL0_PIN_GPIO); + pmu_port_wakeup_func_clear(MATRIX_COL1_PIN_GPIO); + pmu_port_wakeup_func_clear(MATRIX_COL2_PIN_GPIO); + pmu_port_wakeup_func_clear(MATRIX_ROW0_PIN_GPIO); + pmu_port_wakeup_func_clear(MATRIX_ROW1_PIN_GPIO); + pmu_port_wakeup_func_clear(MATRIX_ROW2_PIN_GPIO); + pmu_set_pin_pull(MATRIX_BUTTON_ROW_PORT, MATRIX_ROW0_PIN_BITS | MATRIX_ROW1_PIN_BITS | MATRIX_ROW2_PIN_BITS, false); + pmu_set_pin_pull(MATRIX_BUTTON_COL_PORT, MATRIX_COL0_PIN_BITS | MATRIX_COL1_PIN_BITS | MATRIX_COL2_PIN_BITS, false); + + +// pmu_set_port_mux(MATRIX_BUTTON_ROW_PORT, MATRIX_ROW0_PIN_BIT , PMU_PORT_MUX_GPIO); +// pmu_set_port_mux(MATRIX_BUTTON_ROW_PORT, MATRIX_ROW1_PIN_BIT , PMU_PORT_MUX_GPIO); +// pmu_set_port_mux(MATRIX_BUTTON_ROW_PORT, MATRIX_ROW2_PIN_BIT, PMU_PORT_MUX_GPIO); +// pmu_set_pin_to_PMU(MATRIX_BUTTON_ROW_PORT, MATRIX_ROW0_PIN_BITS | MATRIX_ROW1_PIN_BITS | MATRIX_ROW2_PIN_BITS); +// pmu_set_pin_dir(MATRIX_BUTTON_ROW_PORT, MATRIX_ROW0_PIN_BITS | MATRIX_ROW1_PIN_BITS | MATRIX_ROW2_PIN_BITS, GPIO_DIR_OUT); +// //pmu_set_pin_pull(MATRIX_BUTTON_ROW_PORT, MATRIX_ROW0_PIN_BITS | MATRIX_ROW1_PIN_BITS | MATRIX_ROW2_PIN_BITS, true); +// pmu_set_gpio_value(MATRIX_BUTTON_ROW_PORT, MATRIX_ROW0_PIN_BITS, 0); +// pmu_set_gpio_value(MATRIX_BUTTON_ROW_PORT, MATRIX_ROW1_PIN_BITS, 0); +// pmu_set_gpio_value(MATRIX_BUTTON_ROW_PORT, MATRIX_ROW2_PIN_BITS, 0); + +// pmu_set_port_mux(MATRIX_BUTTON_COL_PORT, MATRIX_COL0_PIN_BIT , PMU_PORT_MUX_GPIO); +// pmu_set_port_mux(MATRIX_BUTTON_COL_PORT, MATRIX_COL1_PIN_BIT , PMU_PORT_MUX_GPIO); +// pmu_set_pin_to_PMU(MATRIX_BUTTON_COL_PORT, MATRIX_COL0_PIN_BITS | MATRIX_COL1_PIN_BITS ); +// pmu_set_pin_dir(MATRIX_BUTTON_COL_PORT, MATRIX_COL0_PIN_BITS | MATRIX_COL1_PIN_BITS , GPIO_DIR_IN); +// //pmu_set_pin_pull(MATRIX_BUTTON_COL_PORT, MATRIX_COL0_PIN_BITS | MATRIX_COL1_PIN_BITS | MATRIX_COL2_PIN_BITS, false); +// pmu_port_wakeup_func_set(MATRIX_COL0_PIN_GPIO); +// pmu_port_wakeup_func_set(MATRIX_COL1_PIN_GPIO); +// #if !UART_LOG_ENABLE +// pmu_set_port_mux(MATRIX_BUTTON_COL_PORT, MATRIX_COL2_PIN_BIT, PMU_PORT_MUX_GPIO); +// pmu_set_pin_to_PMU(MATRIX_BUTTON_COL_PORT, MATRIX_COL2_PIN_BITS); +// pmu_set_pin_dir(MATRIX_BUTTON_COL_PORT, MATRIX_COL2_PIN_BITS, GPIO_DIR_IN); +// //pmu_set_pin_pull(MATRIX_BUTTON_COL_PORT, MATRIX_COL2_PIN_BITS, false); +// pmu_port_wakeup_func_set(MATRIX_COL2_PIN_GPIO); + +// #endif +} void user_keyscan_io_init(void) { keyscan_param_t param; - + //pmu_port_wakeup_func_clear(MATRIX_COL0_PIN_GPIO); + //pmu_port_wakeup_func_clear(MATRIX_COL1_PIN_GPIO); + param.row_en = 0xb0; // PD4/PD5/PD7 as row #if UART_LOG_ENABLE param.col_en = 0x06; // PA1/PA2/PA3 as col #else + //pmu_port_wakeup_func_clear(MATRIX_COL2_PIN_GPIO); param.col_en = 0x0e; // PA1/PA2/PA3 as col #endif param.row_map_sel = 0x0; @@ -261,8 +304,8 @@ void user_keyscan_init(void) m_button = button_init(&attr7);//M dpi_button = button_init(&attr8); mode_button = button_init(&attr9); - - os_timer_init(&m_button_timer, button_timer_handle, NULL); + if(m_button_timer.timer_id == 0) + os_timer_init(&m_button_timer, button_timer_handle, NULL); co_printf("%s\r\n", __func__); } @@ -660,6 +703,7 @@ void button_callback(Button_t btn, PressEvent event, uint8_t repeat) if (mode_long_press_cnt < 150) { mode_long_press_cnt++; + co_printf("[keyscan]mode_button mode_long_press_cnt:%d\r\n",mode_long_press_cnt); if (mode_long_press_cnt == 150) { co_printf("[keyscan]mode_button LONG_PRESS_START\r\n"); diff --git a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/keyscan.h b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/keyscan.h index 4266c2d..9d3b126 100644 --- a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/keyscan.h +++ b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/keyscan.h @@ -55,4 +55,5 @@ void button_timer_start(void); void button_timer_stop(void); void disconnect_button_handle(void); uint8_t button_timer_status_get(void); +void user_keyscan_io_deinit(void); #endif /* __KEYSCAN_H */ diff --git a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/led.c b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/led.c index 425d0b6..a6e6d22 100644 --- a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/led.c +++ b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/led.c @@ -18,7 +18,7 @@ typedef struct } led_setting_param_t; //static os_timer_t m_work_mode_led_timer; -static os_timer_t m_lowbat_led_timer; +static os_timer_t m_lowbat_led_timer = {0}; /************************************************************************************* bat1_led @@ -53,6 +53,13 @@ void bat1_led_set(bool status) pmu_set_gpio_value(LED_PORT, MODE1_2_4G_LED_PIN_BITS, 0); pmu_set_led1_value(0); } + if(g_device_param.is_2_4g_pairing)//Æ¥Åäģʽ + { + //pmu_set_pin_dir(LED_PORT, MODE1_2_4G_LED_PIN_BITS, GPIO_DIR_OUT); + pmu_set_gpio_value(LED_PORT, MODE1_2_4G_LED_PIN_BITS, 1); + pmu_set_led1_value(1); + pmu_set_led2_value(1); + } bat1_led_status = true; } else @@ -60,7 +67,6 @@ void bat1_led_set(bool status) //pmu_set_led1_value(0); if (user_data.mouse_mode == WORK_2_4G_MODE) { - //pmu_set_pin_dir(LED_PORT, WORK_MODE_LED_PIN_BITS, GPIO_DIR_IN); pmu_set_gpio_value(LED_PORT, MODE1_2_4G_LED_PIN_BITS, 0); } else if (user_data.mouse_mode == WORK_BT1_MODE) @@ -72,7 +78,13 @@ void bat1_led_set(bool status) pmu_set_led2_value(0); } - + if(g_device_param.is_2_4g_pairing)//Æ¥Åäģʽ + { + //pmu_set_pin_dir(LED_PORT, MODE1_2_4G_LED_PIN_BITS, GPIO_DIR_OUT); + pmu_set_gpio_value(LED_PORT, MODE1_2_4G_LED_PIN_BITS, 0); + pmu_set_led1_value(0); + pmu_set_led2_value(0); + } bat1_led_status = false; } } @@ -92,7 +104,7 @@ void lowbat_led_timer_handle(void *arg) void lowbat_led_timer_start(void) { - os_timer_start(&m_lowbat_led_timer, 800, true); + os_timer_start(&m_lowbat_led_timer, 100, true); } void lowbat_led_timer_stop(void) @@ -105,15 +117,7 @@ void lowbat_led_timer_stop(void) *************************************************************************************/ void bt2_bat3_led_set(bool status) { - // if (status) - // { - // pmu_set_pin_dir(LED_PORT, BT2_BAT3_LED_PIN_BITS, GPIO_DIR_OUT); - // pmu_set_gpio_value(LED_PORT, BT2_BAT3_LED_PIN_BITS, 1); - // } - // else - // { - // pmu_set_pin_dir(LED_PORT, BT2_BAT3_LED_PIN_BITS, GPIO_DIR_IN); - // } + } /************************************************************************************* @@ -125,85 +129,15 @@ void bt2_bat3_led_set(bool status) void work_mode_led_off(void) { - // if (user_data.mouse_mode == WORK_2_4G_MODE) - // { - // pmu_set_pin_dir(LED_PORT, WORK_MODE_LED_PIN_BITS, GPIO_DIR_IN); - // //co_printf("work_mode_led_off:WORK_2_4G_MODE\n"); - // } - // else if (user_data.mouse_mode == WORK_BT1_MODE) - // { - // pmu_set_led1_value(0); - // //co_printf("work_mode_led_off:WORK_BT1_MODE\n"); - // //pmu_set_gpio_value(LED_PORT, WORK_MODE_LED_PIN_BITS, 1); - // }else if (user_data.mouse_mode == WORK_BT2_MODE) - // { - // pmu_set_led2_value(0); - // //co_printf("work_mode_led_off:WORK_BT2_MODE\n"); - // //pmu_set_gpio_value(LED_PORT, WORK_MODE_LED_PIN_BITS, 1); - // } + } void work_mode_led_on(void) { - // pmu_set_pin_dir(LED_PORT, WORK_MODE_LED_PIN_BITS, GPIO_DIR_OUT); - // if (user_data.mouse_mode == WORK_2_4G_MODE) - // { - // //pmu_set_gpio_value(LED_PORT, WORK_MODE_LED_PIN_BITS, 0); - // pmu_set_pin_dir(LED_PORT, MODE1_2_4G_LED_PIN_BITS, GPIO_DIR_OUT); - // pmu_set_gpio_value(LED_PORT, MODE1_2_4G_LED_PIN_BITS, 1); - // //co_printf("work_mode_led_on:WORK_2_4G_MODE\n"); - // } - // else if (user_data.mouse_mode == WORK_BT1_MODE) - // { - // pmu_set_led1_value(1); - // //co_printf("work_mode_led_on:WORK_BT1_MODE\n"); - // //pmu_set_gpio_value(LED_PORT, WORK_MODE_LED_PIN_BITS, 1); - // }else if (user_data.mouse_mode == WORK_BT2_MODE) - // { - // //co_printf("work_mode_led_on:WORK_BT2_MODE\n"); - // pmu_set_led2_value(1); - // //pmu_set_gpio_value(LED_PORT, WORK_MODE_LED_PIN_BITS, 1); - // } + } -// static void work_mode_timer_handle(void *arg) -// { - -// // if (on_time_count < work_mode_led_setting.on_time_target) -// // { -// // on_time_count++; -// // if (on_time_count == work_mode_led_setting.on_time_target) -// // { -// // work_mode_led_off(); - -// // if (work_mode_led_setting.repeat > 0) // ÖØ¸´´ÎÊý -// // { -// // work_mode_led_setting.repeat--; -// // off_time_target = 0; -// // } - -// // if (work_mode_led_setting.repeat == 0) // ϨµÆ -// // { -// // on_time_count = 0; -// // off_time_target = 0; - -// // work_mode_led_off(); -// // os_timer_stop(&m_work_mode_led_timer); -// // } -// // } -// // } -// // else if (off_time_target < work_mode_led_setting.off_time_target) -// // { -// // off_time_target++; -// // if (off_time_target == work_mode_led_setting.off_time_target) -// // { -// // work_mode_led_on(); -// // on_time_count = 0; -// // } -// // } -// } - void work_mode_led_prestart(uint8_t mode) { // os_timer_stop(&m_work_mode_led_timer); @@ -248,11 +182,14 @@ void work_mode_led_prestart(uint8_t mode) void user_led_io_init(void) { - pmu_set_port_mux(LED_PORT, WORK_MODE_LED_PIN_BIT, PMU_PORT_MUX_GPIO); + pmu_set_port_mux(LED_PORT, WORK_LOGO_LED_PIN_BIT, PMU_PORT_MUX_GPIO); pmu_set_port_mux(LED_PORT, BT2_BAT3_LED_PIN_BIT, PMU_PORT_MUX_GPIO); - pmu_set_pin_to_PMU(LED_PORT, WORK_MODE_LED_PIN_BITS | BT2_BAT3_LED_PIN_BITS); - pmu_set_pin_dir(LED_PORT, WORK_MODE_LED_PIN_BITS | BT2_BAT3_LED_PIN_BITS, GPIO_DIR_IN); - pmu_set_pin_pull(LED_PORT, WORK_MODE_LED_PIN_BITS | BT2_BAT3_LED_PIN_BITS, false); + pmu_set_pin_to_PMU(LED_PORT, WORK_LOGO_LED_PIN_BITS | BT2_BAT3_LED_PIN_BITS); + pmu_set_pin_dir(LED_PORT, WORK_LOGO_LED_PIN_BITS | BT2_BAT3_LED_PIN_BITS, GPIO_DIR_IN); + pmu_set_pin_pull(LED_PORT, WORK_LOGO_LED_PIN_BITS | BT2_BAT3_LED_PIN_BITS, false); + pmu_set_pin_dir(LED_PORT, WORK_LOGO_LED_PIN_BITS, GPIO_DIR_OUT); + pmu_set_gpio_value(LED_PORT, WORK_LOGO_LED_PIN_BITS, 1); + } void user_led_io_deinit(void) @@ -261,12 +198,15 @@ void user_led_io_deinit(void) bat1_led_set(false); bat2_led_set(false); bt2_bat3_led_set(false); + pmu_set_pin_dir(LED_PORT, WORK_LOGO_LED_PIN_BITS | BT2_BAT3_LED_PIN_BITS, GPIO_DIR_IN); + pmu_set_pin_pull(LED_PORT, WORK_LOGO_LED_PIN_BITS | BT2_BAT3_LED_PIN_BITS, false); //os_timer_stop(&m_work_mode_led_timer); os_timer_stop(&m_lowbat_led_timer); } void user_led_init(void) { + user_led_io_init(); bat1_led_set(false); @@ -278,8 +218,9 @@ void user_led_init(void) // co_printf("%s\r\n", __func__); //while(1); //os_timer_init(&m_work_mode_led_timer, work_mode_timer_handle, NULL); - os_timer_init(&m_lowbat_led_timer, lowbat_led_timer_handle, NULL); + if(m_lowbat_led_timer.timer_id == 0) + os_timer_init(&m_lowbat_led_timer, lowbat_led_timer_handle, NULL); work_mode_led_prestart(LED_FAST_BLINK_100MS); - lowbat_led_timer_start(); + //lowbat_led_timer_start(); co_printf("%s\r\n", __func__); } diff --git a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/led.h b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/led.h index 22cc9fa..1cc1615 100644 --- a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/led.h +++ b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/led.h @@ -13,8 +13,8 @@ */ #define LED_PORT GPIO_PORT_A -#define WORK_MODE_LED_PIN_BIT GPIO_BIT_4 -#define WORK_MODE_LED_PIN_BITS BIT(4) +#define WORK_LOGO_LED_PIN_BIT GPIO_BIT_4 +#define WORK_LOGO_LED_PIN_BITS BIT(4) #define BT2_BAT3_LED_PIN_BIT GPIO_BIT_5 #define BT2_BAT3_LED_PIN_BITS BIT(5) diff --git a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/proj_main.c b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/proj_main.c index 1da3062..24ddaac 100644 --- a/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/proj_main.c +++ b/2.code/1.mouse/examples/none_evm/ble_voice_mouse/code/proj_main.c @@ -74,7 +74,8 @@ __attribute__((section("ram_code"))) void pmu_gpio_isr_ram(void) { uint32_t gpio_value = ool_read32(PMU_REG_GPIOA_V); ool_write32(PMU_REG_PORTA_LAST, gpio_value); - //co_printf("gpio_value:%08x\r\n", gpio_value); + co_printf("gpio_value:%08x\r\n", gpio_value); + #if BUTTON_UP if (g_device_param.is_enter_sleep == true) { if ((gpio_value & MATRIX_COL0_PIN_GPIO) == 0 || @@ -85,7 +86,7 @@ __attribute__((section("ram_code"))) void pmu_gpio_isr_ram(void) } } - + #endif if ((gpio_value & SENSOR_MOTSWK_PIN) == 0) { if (g_device_param.is_enter_sleep == true) @@ -322,8 +323,8 @@ void user_entry_after_ble_init(void) //flash_read(ALI_DATA_ADDR,sizeof(data),(uint8_t *)data); co_printf("\r\ndata:%s\r\n",data); #endif - pmu_set_aldo_voltage(PMU_ALDO_MODE_NORMAL,PMU_ALDO_VOL_2_1); - //pmu_set_aldo_voltage(PMU_ALDO_MODE_NORMAL,PMU_ALDO_VOL_2_9); + pmu_set_aldo_voltage(PMU_ALDO_MODE_NORMAL,PMU_ALDO_VOL_2_5); + //pmu_set_aldo_voltage(PMU_ALDO_MODE_NORMAL,PMU_ALDO_VOL_2_7); user_inflash_init(); cJSON_InitHooks(NULL);//40 user_timer_init(); @@ -336,7 +337,7 @@ void user_entry_after_ble_init(void) audio_encoder_init(ENCODE_TYPE_SBC);//70 battery_voltage_get();//70 - user_keyscan_init();//160UA + user_keyscan_init();//功耗高 #if WDT_ENABLE wdt_init(WDT_ACT_CALL_IRQ, 10); wdt_start(); 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 30e7534..4a77b2a 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 @@ -61,7 +61,7 @@ const uint8_t SENSOR_PID_TABLE[SENSOR_MAX][3] = {0x30, 0xD1,0xFE}, // PAW3205_3T {0x31, 0x00,0xFE}, // PAW3205_NT {0x30, 0x02,0xFE}, // PAW3212 - {0x30, 0x02,0xA7}, // SG8925 + {0x30, 0x02,0xC0}, // SG8925 {0x30, 0x5A,0xC2}, // SG8670 {0x31, 0x04,0xFE}, // PAW3065 {0xFE,0xFE,0xFE}, // PAW3065XY @@ -94,7 +94,7 @@ const uint16_t SENSOR_CPI_TABLE[SENSOR_MAX][5] = {600, 800, 1000,1300,1600}, // PAW3205_3T {600, 800, 1000,1300,1600}, // PAW3205_NT {600, 800, 1000,1300,1600}, // PAW3212 - {800,1000, 1200, 1600,2400}, // SG8925 + {800,1600, 2400, 3200,4000}, // SG8925 {800,1000, 1200, 1600,2400}, // SG8670 {600, 800, 1000,1300,1600}, // PAW3065 {600, 800, 1000,1300,1600}, // PAW3065XY @@ -496,6 +496,23 @@ void reg_init(void) sensor_write_reg(0x4D,0x00); sensor_write_reg(0x4E,0x02); sensor_write_reg(0x7E,0x00); + }else if(g_device_param.sensor_model == SG8925 ) + { + sensor_write_reg(0x7f,0xA7); + sensor_write_reg(0x09,0x5a); + sensor_write_reg(0x20,0xf0); + sensor_write_reg(0x21,0x10); + sensor_write_reg(0x2d,0x64); + sensor_write_reg(0x2b,0x01); + sensor_write_reg(0x57,0x08); + sensor_write_reg(0x1b,0x5d); + sensor_write_reg(0x1c,0x34); + sensor_write_reg(0x1f,0x33); + sensor_write_reg(0x35,0xc1); + sensor_write_reg(0x34,0x4e); + sensor_write_reg(0x24,0xff); + sensor_write_reg(0x7f,0x00); + sensor_write_reg(0x09,0x00); } } 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 d7ba707..4902d8d 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 @@ -21,6 +21,7 @@ #include "cJSON.h" #include "adc.h" #include "inflash.h" +#include "flash_usage_config.h" uint16_t user_task_id; //字符串里查找最近一个c字符,返回偏移位置 unsigned int find_c(char *data,char c) @@ -112,12 +113,19 @@ char user_parse_data(char *data) str_tmp = strstr(cmd_str_tmp,"\"get_MAC\""); if(str_tmp) { - send_buf_len = snprintf(send_buf,SEND_BUF_MAX_LEN,"{\"MAC\":\"%02X:%02X:%02X:%02X:%02X:%02X\"}", - user_data.peer_addr.addr[0],user_data.peer_addr.addr[1],user_data.peer_addr.addr[2], - user_data.peer_addr.addr[3],user_data.peer_addr.addr[4],user_data.peer_addr.addr[5]); + send_buf_len = snprintf(send_buf,SEND_BUF_MAX_LEN,"{\"MAC\":\"%02X%02X%02X%02X%02X%02X\"}", + user_data.peer_addr.addr[5],user_data.peer_addr.addr[4],user_data.peer_addr.addr[3], + user_data.peer_addr.addr[2],user_data.peer_addr.addr[1],user_data.peer_addr.addr[0]); hid_cmd_send((unsigned char*)send_buf,send_buf_len); ret = 1; } + str_tmp = strstr(cmd_str_tmp,"\"get_rssi\""); + if(str_tmp) + { + updata_ble_simple_link_rssi();//更新信号,在case GAP_EVT_LINK_RSSI:回调回返值 + + ret = 1; + } str_tmp = strstr(cmd_str_tmp,"\"set_CPI\":\""); if(str_tmp) { @@ -149,10 +157,15 @@ char user_parse_data(char *data) num_buf_len = 10; memcpy(send_buf,str_tmp,num_buf_len); send_buf[num_buf_len] = 0; - user_data.activated_dtate = atoi(send_buf); + uint8_t activated_dtate_tmp = atoi(send_buf); + if(user_data.activated_dtate != activated_dtate_tmp) + { + user_data.activated_dtate = activated_dtate_tmp; + user_data_storage_do(true); + } send_buf_len = snprintf(send_buf,SEND_BUF_MAX_LEN,"{\"set_config\":\"1\"}"); hid_cmd_send((unsigned char*)send_buf,send_buf_len); - user_data_storage_do(true); + co_printf("set_activated_dtate:%d\r\n",user_data.activated_dtate); ret = 1; } @@ -213,7 +226,7 @@ char user_parse_data(char *data) os_free(send_buf); return ret; } -extern os_timer_t update_param_timer; + static int user_task_func(os_event_t *param) { switch (param->event_id) @@ -269,15 +282,15 @@ static int user_task_func(os_event_t *param) case USER_EVT_ENTER_SLEEP: g_device_param.is_enter_sleep = true; + #if !BUTTON_UP + user_keyscan_io_deinit(); + #endif //sensor_powerdown(); user_led_io_deinit(); user_qdec_deinit(); hid_mouse_timer_stop(); os_timer_stop(&m_task_1s_timer); os_timer_stop(&m_task_10s_timer); - bat1_led_set(false); - bat2_led_set(false); - bt2_bat3_led_set(false); lowbat_led_timer_stop(); button_timer_stop(); #if WDT_ENABLE @@ -287,6 +300,7 @@ static int user_task_func(os_event_t *param) gap_stop_advertising(); else gap_disconnect_req(curr_conn_index_get()); + //pmu_set_aldo_voltage(PMU_ALDO_MODE_NORMAL,PMU_ALDO_VOL_2_1); co_printf("enter sleep!!\r\n"); system_sleep_enable(); @@ -297,14 +311,15 @@ static int user_task_func(os_event_t *param) case USER_EVT_EXIT_SLEEP: // co_printf("exit sleep!!\r\n"); //pmu_set_aldo_voltage(PMU_ALDO_MODE_NORMAL,PMU_ALDO_VOL_2_9); + #if !BUTTON_UP + user_keyscan_io_init(); + #endif sensor_gpio_cpu_init(); hid_mouse_timer_start(); g_device_param.is_enter_sleep = false; - work_mode_led_prestart(LED_FAST_BLINK_100MS); adv_sleep_cnt_reset(); user_led_init(); battery_voltage_get(); - user_keyscan_io_init(); user_qdec_init(); //sensor_poweron(); os_timer_start(&m_task_1s_timer, 1000, true); 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 9ef5669..faee0c2 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 @@ -101,17 +101,17 @@ -1 - 31 - 580 - 1855 - 704 + 300 + 848 + 2123 + 1028 0 - 1434 - 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000A000000090000000100000060483A5C312E776F726B5C362EB8BBC8F0C0A45C312ECAF3B1EA5C764D6F7573655C322E636F64655C312E6D6F7573655C6578616D706C65735C6E6F6E655F65766D5C626C655F766F6963655F6D6F7573655C636F64655C696E666C6173682E680000000009696E666C6173682E6800000000C5D4F200FFFFFFFF72483A5C312E776F726B5C362EB8BBC8F0C0A45C312ECAF3B1EA5C764D6F7573655C322E636F64655C312E6D6F7573655C6578616D706C65735C6E6F6E655F65766D5C626C655F766F6963655F6D6F7573655C636F64655C616C696F735C757061795F6C6974655C616C696F735F6170692E63000000000B616C696F735F6170692E6300000000FFDC7800FFFFFFFF6E483A5C312E776F726B5C362EB8BBC8F0C0A45C312ECAF3B1EA5C764D6F7573655C322E636F64655C312E6D6F7573655C6578616D706C65735C6E6F6E655F65766D5C626C655F766F6963655F6D6F7573655C636F64655C626C655F73696D706C655F7065726970686572616C2E630000000017626C655F73696D706C655F7065726970686572616C2E6300000000BECEA100FFFFFFFF62483A5C312E776F726B5C362EB8BBC8F0C0A45C312ECAF3B1EA5C764D6F7573655C322E636F64655C312E6D6F7573655C6578616D706C65735C6E6F6E655F65766D5C626C655F766F6963655F6D6F7573655C636F64655C757365725F7461736B2E63000000000B757365725F7461736B2E6300000000F0A0A100FFFFFFFF60483A5C312E776F726B5C362EB8BBC8F0C0A45C312ECAF3B1EA5C764D6F7573655C322E636F64655C312E6D6F7573655C6578616D706C65735C6E6F6E655F65766D5C626C655F766F6963655F6D6F7573655C636F64655C6B65797363616E2E6300000000096B65797363616E2E6300000000BCA8E100FFFFFFFF5E483A5C312E776F726B5C362EB8BBC8F0C0A45C312ECAF3B1EA5C764D6F7573655C322E636F64655C312E6D6F7573655C6578616D706C65735C6E6F6E655F65766D5C626C655F766F6963655F6D6F7573655C636F64655C74696D65722E63000000000774696D65722E63000000009CC1B600FFFFFFFF60483A5C312E776F726B5C362EB8BBC8F0C0A45C312ECAF3B1EA5C764D6F7573655C322E636F64655C312E6D6F7573655C6578616D706C65735C6E6F6E655F65766D5C626C655F766F6963655F6D6F7573655C636F64655C696E666C6173682E630000000009696E666C6173682E6300000000F7B88600FFFFFFFF5C483A5C312E776F726B5C362EB8BBC8F0C0A45C312ECAF3B1EA5C764D6F7573655C322E636F64655C312E6D6F7573655C6578616D706C65735C6E6F6E655F65766D5C626C655F766F6963655F6D6F7573655C636F64655C6C65642E6300000000056C65642E6300000000D9ADC200FFFFFFFF5F483A5C312E776F726B5C362EB8BBC8F0C0A45C312ECAF3B1EA5C764D6F7573655C322E636F64655C312E6D6F7573655C6578616D706C65735C6E6F6E655F65766D5C626C655F766F6963655F6D6F7573655C636F64655C73656E736F722E63000000000873656E736F722E6300000000A5C2D700FFFFFFFF5D483A5C312E776F726B5C362EB8BBC8F0C0A45C312ECAF3B1EA5C764D6F7573655C322E636F64655C312E6D6F7573655C6578616D706C65735C6E6F6E655F65766D5C626C655F766F6963655F6D6F7573655C636F64655C616D69632E630000000006616D69632E6300000000B3A6BE00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000400300008D0000003707000010020000 + 422 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000002000000010000000100000062483A5C312E776F726B5C362EB8BBC8F0C0A45C312ECAF3B1EA5C764D6F7573655C322E636F64655C312E6D6F7573655C6578616D706C65735C6E6F6E655F65766D5C626C655F766F6963655F6D6F7573655C636F64655C757365725F7461736B2E63000000000B757365725F7461736B2E6300000000C5D4F200FFFFFFFF60483A5C312E776F726B5C362EB8BBC8F0C0A45C312ECAF3B1EA5C764D6F7573655C322E636F64655C312E6D6F7573655C6578616D706C65735C6E6F6E655F65766D5C626C655F766F6963655F6D6F7573655C636F64655C696E666C6173682E630000000009696E666C6173682E6300000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000004C0400009A0100004308000054030000 @@ -134,7 +134,7 @@ 16 - C5020000D70000006107000065010000 + 1E0300001B010000BA070000A9010000 @@ -150,7 +150,7 @@ 0 16 - 0300000066000000ED000000B9010000 + 0300000066000000ED000000F0010000 16 @@ -170,7 +170,7 @@ 0 16 - 0300000066000000ED000000B9010000 + 0300000066000000ED000000F0010000 16 @@ -450,7 +450,7 @@ 0 16 - 0300000066000000ED000000B9010000 + 0300000066000000ED000000F0010000 16 @@ -470,7 +470,7 @@ 0 16 - 0300000066000000ED000000B9010000 + 0300000066000000ED000000F0010000 16 @@ -490,7 +490,7 @@ 0 16 - 00000000EA010000EB04000067020000 + 0000000021020000EB0400009E020000 16 @@ -530,7 +530,7 @@ 0 16 - 03000000ED010000E80400004E020000 + 0300000024020000E804000085020000 16 @@ -1150,7 +1150,7 @@ 0 16 - 0300000066000000ED000000B9010000 + 0300000066000000ED000000F0010000 16 @@ -1170,7 +1170,7 @@ 0 16 - 03000000ED010000E80400004E020000 + 0300000024020000E804000085020000 16 @@ -1190,7 +1190,7 @@ 0 16 - 03000000ED010000E80400004E020000 + 0300000024020000E804000085020000 16 @@ -1250,7 +1250,7 @@ 0 16 - 03000000ED010000E80400004E020000 + 0300000024020000E804000085020000 16 @@ -1270,7 +1270,7 @@ 0 16 - 03000000ED010000E80400004E020000 + 0300000024020000E804000085020000 16 @@ -1730,7 +1730,7 @@ 0 16 - 0000000067020000EB0400007A020000 + 000000009E020000EB040000B1020000 16 @@ -1799,7 +1799,7 @@ 3312 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000090050000E1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000C5020000D70000006107000065010000F40000004F00000090050000DD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C300000180004000000000000071060000D700000061070000AD020000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F4000000D2010000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000D1010000D7000000C10200005A020000000000004F000000F0000000D20100000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000D10100009D020000610700003F030000000000001502000090050000B702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000D2010000EB040000D6010000010000000100001004000000010000009CFDFFFF8E000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000D10100005E020000BC060000EF02000000000000D6010000EB040000670200000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000090050000E1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000000000001E0300001B010000BA070000A9010000F40000004F00000090050000DD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000CA0600001B010000BA070000F1020000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F400000009020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000002A0200001B0100001A030000D5020000000000004F000000F0000000090200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000000000002A020000E1020000BA07000083030000000000001502000090050000B702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000009020000EB0400000D020000010000000100001004000000010000009CFDFFFF8E000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000002A020000D9020000150700006A030000000000000D020000EB0400009E0200000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 @@ -1822,7 +1822,7 @@ Build 990 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000F626C655F766F6963655F6D6F757365960000000000000001000F626C655F766F6963655F6D6F757365000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000002001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000F626C655F766F6963655F6D6F757365960000000000000001000F626C655F766F6963655F6D6F757365000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 583 @@ -1838,7 +1838,7 @@ Debug 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -1862,93 +1862,21 @@ 0 100 - 9 - - ..\code\inflash.h - 31 - 28 - 44 - 1 - - 0 - - - ..\code\alios\upay_lite\alios_api.c - 55 - 84 - 97 - 1 - - 0 - - - ..\code\ble_simple_peripheral.c - 17 - 275 - 294 - 1 - - 0 - + 1 ..\code\user_task.c - 49 - 70 - 84 - 1 - - 0 - - - ..\code\keyscan.c - 31 - 270 - 288 - 1 - - 0 - - - ..\code\timer.c - 20 - 1 - 16 + 37 + 158 + 179 1 0 ..\code\inflash.c - 0 - 1 - 2 - 1 - - 0 - - - ..\code\led.c - 0 - 42 - 61 - 1 - - 0 - - - ..\code\sensor.c - 61 - 708 - 720 - 1 - - 0 - - - ..\code\amic.c - 0 - 64 - 83 + 9 + 96 + 118 1 0 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 d4f58bb..8dc4196 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: Sun Apr 07 17:31:42 2024 +;## ARM Linker, 5060960: Last Updated: Fri Apr 26 10:08:50 2024 ;VERSION 0.2 ;FILE adc.o __asm___5_adc_c_e3544fbe____REV16 <= USED 0 @@ -107,10 +107,11 @@ bizbus_register_pk_get <= USED 0 ;FILE bizbus_fnd.o bt_birdShield_get_authResult <= USED 0 ;FILE ble_simple_peripheral.o -__asm___23_ble_simple_peripheral_c_4fde123a____REV16 <= USED 0 -__asm___23_ble_simple_peripheral_c_4fde123a____REVSH <= USED 0 -__asm___23_ble_simple_peripheral_c_4fde123a____RRX <= USED 0 +__asm___23_ble_simple_peripheral_c_38fcf5c7____REV16 <= USED 0 +__asm___23_ble_simple_peripheral_c_38fcf5c7____REVSH <= USED 0 +__asm___23_ble_simple_peripheral_c_38fcf5c7____RRX <= USED 0 ble_send_debug <= USED 0 +get_ble_simple_link_rssi <= USED 0 hid_consumer_value_send <= USED 0 ;FILE button.o button_deInit <= USED 0 @@ -286,19 +287,23 @@ flash_protect_enable <= USED 0 flash_protect_enable1 <= USED 0 flash_read_id <= USED 0 ;FILE func.o +__asm___6_func_c_bf388994____REV16 <= USED 0 +__asm___6_func_c_bf388994____REVSH <= USED 0 +__asm___6_func_c_bf388994____RRX <= USED 0 +delete_bond_info_by_local_addr <= USED 0 find_bond_info_by_local_addr <= USED 0 mouse_exit_pairing <= USED 0 ;FILE gap_api.o gap_bond_manager_add_info <= USED 0 gap_bond_manager_delete <= USED 0 gap_bond_manager_delete_all <= USED 0 +gap_bond_manager_delete_by_idx <= USED 0 gap_conn_phy_update <= USED 0 gap_get_conn_phy <= USED 0 gap_get_encryption_status <= USED 0 gap_get_latest_bond_idx <= USED 0 gap_get_latest_conn_parameter <= USED 0 gap_get_link_features <= USED 0 -gap_get_link_rssi <= USED 0 gap_get_link_version <= USED 0 gap_param_update_rsp <= USED 0 gap_sec_clr_fixed_ltk <= USED 0 @@ -406,6 +411,8 @@ l2cc_dbg_pdu_unpack <= USED 0 __asm___5_led_c_96aee7d6____REV16 <= USED 0 __asm___5_led_c_96aee7d6____REVSH <= USED 0 __asm___5_led_c_96aee7d6____RRX <= USED 0 +bt2_bat3_led_set <= USED 0 +lowbat_led_timer_start <= USED 0 work_mode_led_off <= USED 0 work_mode_led_on <= USED 0 ;FILE m_al_activity.o @@ -998,6 +1005,7 @@ __asm___7_timer_c_f79f9791____RRX <= USED 0 ble_bond_addr_check_result <= USED 0 ble_bond_clr_all_info <= USED 0 ble_bond_clr_info <= USED 0 +ble_bond_clr_info_by_idx <= USED 0 ble_bond_get_last_bond_idx <= USED 0 gatt_load_peer_svc_from_flash <= USED 0 ;FILE user_task.o