From 2bf7611e66274f6e99fe1ffc707a7e7d6f0d0ffb Mon Sep 17 00:00:00 2001 From: p15692025051 <846603105@qq.com> Date: Mon, 11 Mar 2024 14:11:28 +0800 Subject: [PATCH] =?utf8?q?=E9=BC=A0=E6=A0=87=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../ble/profiles/ble_hid/hid_service.c | 2 + .../ble_simple_profile/simple_gatt_service.c | 102 ++- .../ble_simple_profile/simple_gatt_service.h | 16 +- .../components/modules/audio_code_sbc/sbc.c | 2 +- .../modules/audio_encode/audio_encoder.c | 1 + .../components/modules/os/include/os_mem.h | 2 +- .../platform/source/app_boot_vectors.s | 11 +- .../code/alios/upay_lite/alios_api.c | 79 +- .../code/alios/upay_lite/bizbus_common.h | 7 +- .../code/alios/upay_lite/cJSON.h | 293 ------- .../code/alios/upay_lite/cJSON.lib | Bin 223438 -> 0 bytes .../code/alios/upay_lite/upay_lite.lib | Bin 371508 -> 390456 bytes .../code/alios/upay_lite/upay_vendor.h | 2 +- .../code/ble_simple_peripheral.c | 59 +- .../code/ble_simple_peripheral.h | 1 + .../none_evm/ble_voice_mouse/code/config.h | 14 +- .../ble_voice_mouse/code/flash_usage_config.h | 5 +- .../none_evm/ble_voice_mouse/code/gpio.c | 3 +- .../none_evm/ble_voice_mouse/code/inflash.c | 4 + .../none_evm/ble_voice_mouse/code/keyscan.c | 11 + .../none_evm/ble_voice_mouse/code/proj_main.c | 43 +- .../none_evm/ble_voice_mouse/code/sensor.c | 363 +++++++- .../none_evm/ble_voice_mouse/code/sensor.h | 31 +- .../none_evm/ble_voice_mouse/code/user_task.c | 11 +- .../none_evm/ble_voice_mouse/code/user_task.h | 1 + .../ble_voice_mouse/keil/Output/config.json | 2 +- .../keil/ble_voice_mouse.uvguix.Administrator | 808 ++++++++++++++---- .../keil/ble_voice_mouse.uvoptx | 99 +-- .../keil/ble_voice_mouse.uvprojx | 91 +- .../ble_voice_mouse/keil/feedback.txt | 128 ++- 30 files changed, 1481 insertions(+), 710 deletions(-) delete mode 100644 2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/alios/upay_lite/cJSON.h delete mode 100644 2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/alios/upay_lite/cJSON.lib diff --git a/2.code/1.sdk/components/ble/profiles/ble_hid/hid_service.c b/2.code/1.sdk/components/ble/profiles/ble_hid/hid_service.c index 067aa43..c3d7392 100644 --- a/2.code/1.sdk/components/ble/profiles/ble_hid/hid_service.c +++ b/2.code/1.sdk/components/ble/profiles/ble_hid/hid_service.c @@ -592,6 +592,7 @@ bool caps_lock_status_get(void) */ void hid_gatt_report_notify(uint8_t conidx, uint8_t rpt_info_id, uint8_t *p_data, uint16_t len) { + co_printf("hid_gatt_report_notify!!!!!!!!!\n"); if (rpt_info_id < HID_NUM_REPORTS && hid_link_ntf_enable[conidx]) { gatt_ntf_t ntf; @@ -601,6 +602,7 @@ void hid_gatt_report_notify(uint8_t conidx, uint8_t rpt_info_id, uint8_t *p_data ntf.data_len = len; ntf.p_data = p_data; gatt_notification(ntf); + } } diff --git a/2.code/1.sdk/components/ble/profiles/ble_simple_profile/simple_gatt_service.c b/2.code/1.sdk/components/ble/profiles/ble_simple_profile/simple_gatt_service.c index 38e174e..7083c61 100644 --- a/2.code/1.sdk/components/ble/profiles/ble_simple_profile/simple_gatt_service.c +++ b/2.code/1.sdk/components/ble/profiles/ble_simple_profile/simple_gatt_service.c @@ -19,7 +19,7 @@ #include "user_task.h" #include "simple_gatt_service.h" - +#include "bizbus_common.h" #include "timer.h" /* @@ -45,11 +45,20 @@ uint8_t sp_char1_ccc[SP_CHAR1_CCC_LEN] = {0}; // Characteristic 2 data #define SP_CHAR2_VALUE_LEN 40 -uint8_t sp_char2_value[SP_CHAR2_VALUE_LEN] = {0}; +//uint8_t sp_char2_value[SP_CHAR2_VALUE_LEN] = {0}; // Characteristic 2 client characteristic configuration #define SP_CHAR2_CCC_LEN 2 uint8_t sp_char2_ccc[SP_CHAR2_CCC_LEN] = {0}; +#define SP_ALIAPP_VALUE_LEN 512 +//uint8_t sp_aliapp_value[SP_ALIAPP_VALUE_LEN] = {0}; +#define SP_ALIAPP_CCC_LEN 2 +uint8_t sp_aliapp_ccc[SP_ALIAPP_CCC_LEN] = {0}; + +#define SP_HID_VALUE_LEN 40 +//uint8_t sp_aliapp_value[SP_ALIAPP_VALUE_LEN] = {0}; +#define SP_HID_CCC_LEN 2 +uint8_t sp_hid_ccc[SP_HID_CCC_LEN] = {0}; /* * TYPEDEFS (ÀàÐͶ¨Òå) */ @@ -109,7 +118,8 @@ const gatt_attribute_t simple_profile_att_table[SP_IDX_NB] = GATT_PROP_READ | GATT_PROP_WRITE, /* Permissions */ SP_CHAR1_CCC_LEN, /* Max size of the value */ NULL, /* Value of the attribute */ /* Can assign a buffer here, or can be assigned in the application by user */ - }, + }, + // Characteristic 2 Declaration [SP_IDX_CHAR2_DECLARATION] = { @@ -132,7 +142,47 @@ const gatt_attribute_t simple_profile_att_table[SP_IDX_NB] = GATT_PROP_READ | GATT_PROP_WRITE, /* Permissions */ SP_CHAR1_CCC_LEN, /* Max size of the value */ NULL, /* Value of the attribute */ /* Can assign a buffer here, or can be assigned in the application by user */ - }, + }, + //HIDÄ£ÄâͨµÀ,ÒòΪwindowsÓ¦ÓÃÈí¼þÎÞ·¨Ê¹Óñê×¼µÄhidͨµÀ£¬ËùÒÔ¼ÓÒ»¸öÄ£Äâ + [SP_IDX_HID_DECLARATION] = { + { UUID_SIZE_2, UUID16_ARR(GATT_CHARACTER_UUID) }, /* UUID */ + GATT_PROP_READ, /* Permissions */ + 0, /* Max size of the value */ + NULL, /* Value of the attribute */ + }, + [SP_IDX_HID_VALUE] = { + { UUID_SIZE_16, SP_HID_TX_RX_UUID }, /* UUID */ + GATT_PROP_WRITE | GATT_PROP_NOTI, /* Permissions */ + SP_HID_VALUE_LEN, /* Max size of the value */ + NULL, /* Value of the attribute */ /* Can assign a buffer here, or can be assigned in the application by user */ + }, + [SP_IDX_HID_CFG] = { + { UUID_SIZE_2, UUID16_ARR(GATT_CLIENT_CHAR_CFG_UUID) }, /* UUID */ + GATT_PROP_READ | GATT_PROP_WRITE, /* Permissions */ + SP_HID_CCC_LEN, /* Max size of the value */ + NULL, /* Value of the attribute */ /* Can assign a buffer here, or can be assigned in the application by user */ + }, + + // ali °¢Àïapp ¼øÈ¨×¨ÓÃͨµÀ + [SP_IDX_ALIAPP_DECLARATION] = { + { UUID_SIZE_2, UUID16_ARR(GATT_CHARACTER_UUID) }, /* UUID */ + GATT_PROP_READ, /* Permissions */ + 0, /* Max size of the value */ + NULL, /* Value of the attribute */ + }, + [SP_IDX_ALIAPP_VALUE] = { + { UUID_SIZE_16, SP_ALIAPP_TX_RX_UUID }, /* UUID */ + GATT_PROP_WRITE | GATT_PROP_NOTI, /* Permissions */ + SP_ALIAPP_VALUE_LEN, /* Max size of the value */ + NULL, /* Value of the attribute */ /* Can assign a buffer here, or can be assigned in the application by user */ + }, + [SP_IDX_ALIAPP_CFG] = { + { UUID_SIZE_2, UUID16_ARR(GATT_CLIENT_CHAR_CFG_UUID) }, /* UUID */ + GATT_PROP_READ | GATT_PROP_WRITE, /* Permissions */ + SP_ALIAPP_CCC_LEN, /* Max size of the value */ + NULL, /* Value of the attribute */ /* Can assign a buffer here, or can be assigned in the application by user */ + }, + }; void ntf_data(uint8_t con_idx,uint8_t att_idx,uint8_t *data,uint16_t len) @@ -189,6 +239,15 @@ static uint16_t sp_gatt_msg_handler(gatt_msg_t *p_msg) { memcpy(p_msg->param.msg.p_msg_data, sp_char1_ccc, SP_CHAR1_CCC_LEN); return SP_CHAR1_CCC_LEN; + }else if(p_msg->att_idx == SP_IDX_ALIAPP_CFG) + { + memcpy(p_msg->param.msg.p_msg_data, sp_aliapp_ccc, SP_ALIAPP_CCC_LEN); + co_printf("SP_IDX_ALIAPP_CFG:%s\n",sp_aliapp_ccc); + return SP_ALIAPP_CCC_LEN; + }else if(p_msg->att_idx == SP_IDX_HID_CFG) + { + memcpy(p_msg->param.msg.p_msg_data, sp_hid_ccc, SP_HID_CCC_LEN); + return SP_HID_CCC_LEN; } else if(p_msg->att_idx == SP_IDX_CHAR2_CFG) { @@ -219,6 +278,16 @@ static uint16_t sp_gatt_msg_handler(gatt_msg_t *p_msg) user_event_send(USER_EVT_BLE_RX, p_msg->param.msg.p_msg_data, p_msg->param.msg.msg_len); co_printf("char1_recv(att_idx:%d, handle:0x%02x): ", p_msg->att_idx, p_msg->handle); show_reg(p_msg->param.msg.p_msg_data,p_msg->param.msg.msg_len,1); + }else if (p_msg->att_idx == SP_IDX_ALIAPP_VALUE) + { + user_event_send(USER_EVT_ALIAPP_RX, p_msg->param.msg.p_msg_data, p_msg->param.msg.msg_len); + co_printf("SP_IDX_ALIAPP_VALUE(att_idx:%d, handle:0x%02x): ", p_msg->att_idx, p_msg->handle); + show_reg(p_msg->param.msg.p_msg_data,p_msg->param.msg.msg_len,1); + }else if (p_msg->att_idx == SP_IDX_HID_VALUE) + { + //user_event_send(USER_EVT_BLE_RX, p_msg->param.msg.p_msg_data, p_msg->param.msg.msg_len); + co_printf("hid_recv(att_idx:%d, handle:0x%02x): ", p_msg->att_idx, p_msg->handle); + show_reg(p_msg->param.msg.p_msg_data,p_msg->param.msg.msg_len,1); } else if (p_msg->att_idx == SP_IDX_CHAR2_VALUE) { @@ -252,6 +321,31 @@ static uint16_t sp_gatt_msg_handler(gatt_msg_t *p_msg) { ntf_char2_enable = 0; co_printf("char2_ntf_disable\r\n"); + } + }else if (p_msg->att_idx == SP_IDX_HID_CFG) + { + memcpy(sp_hid_ccc,p_msg->param.msg.p_msg_data,SP_HID_CCC_LEN); + if(p_msg->param.msg.p_msg_data[0] & 0x01) + { + + co_printf("hid_ntf_enable\r\n"); + } + else + { + co_printf("hid_ntf_disable\r\n"); + } + }else if (p_msg->att_idx == SP_IDX_ALIAPP_CFG) + { + memcpy(sp_char2_ccc,p_msg->param.msg.p_msg_data,SP_ALIAPP_CCC_LEN); + if(p_msg->param.msg.p_msg_data[0] & 0x01) + { + + co_printf("SP_IDX_ALIAPP_CFG\r\n"); + } + else + { + + co_printf("SP_IDX_ALIAPP_CFG\r\n"); } } } diff --git a/2.code/1.sdk/components/ble/profiles/ble_simple_profile/simple_gatt_service.h b/2.code/1.sdk/components/ble/profiles/ble_simple_profile/simple_gatt_service.h index eb12771..6bf9d18 100644 --- a/2.code/1.sdk/components/ble/profiles/ble_simple_profile/simple_gatt_service.h +++ b/2.code/1.sdk/components/ble/profiles/ble_simple_profile/simple_gatt_service.h @@ -35,17 +35,27 @@ enum SP_IDX_CHAR1_VALUE, SP_IDX_CHAR1_CFG, + SP_IDX_CHAR2_DECLARATION, SP_IDX_CHAR2_VALUE, SP_IDX_CHAR2_CFG, - + //HIDÄ£ÄâͨµÀ,ÒòΪwindowsÓ¦ÓÃÈí¼þÎÞ·¨Ê¹Óñê×¼µÄhidͨµÀ£¬ËùÒÔ¼ÓÒ»¸öÄ£Äâ + SP_IDX_HID_DECLARATION, + SP_IDX_HID_VALUE, + SP_IDX_HID_CFG, + //°¢Àï¼øÈ¨Í¨µÀ + SP_IDX_ALIAPP_DECLARATION, + SP_IDX_ALIAPP_VALUE, + SP_IDX_ALIAPP_CFG, + SP_IDX_NB, }; // Simple GATT Profile Service UUID #define SP_SVC_UUID 0xFFF1 - -#define SP_CHAR1_TX_RX_UUID {0xb8, 0x5c, 0x49, 0xd2, 0x04, 0xa3, 0x40, 0x71, 0xa0, 0xb5, 0x35, 0x85, 0x3e, 0xb0, 0x83, 0x07} +#define SP_HID_TX_RX_UUID {0xb6, 0x5c, 0x49, 0xd2, 0x04, 0xa3, 0x40, 0x71, 0xa0, 0xb5, 0x35, 0x85, 0x3e, 0xb6, 0x83, 0x07} +#define SP_ALIAPP_TX_RX_UUID {0xb7, 0x4c, 0x19, 0xd2, 0x04, 0xa3, 0x40, 0x71, 0xa0, 0xb5, 0x35, 0x85, 0x3e, 0xb7, 0x83, 0x07} +#define SP_CHAR1_TX_RX_UUID {0xb8, 0x4c, 0x19, 0xd2, 0x04, 0xa3, 0x40, 0x71, 0xa0, 0xb5, 0x35, 0x85, 0x3e, 0xb0, 0x83, 0x07} #define SP_CHAR2_TX_RX_UUID {0xb9, 0x5c, 0x49, 0xd2, 0x04, 0xa3, 0x40, 0x71, 0xa0, 0xb5, 0x35, 0x85, 0x3e, 0xb0, 0x83, 0x07} /* diff --git a/2.code/1.sdk/components/modules/audio_code_sbc/sbc.c b/2.code/1.sdk/components/modules/audio_code_sbc/sbc.c index 6348ef4..22298b5 100644 --- a/2.code/1.sdk/components/modules/audio_code_sbc/sbc.c +++ b/2.code/1.sdk/components/modules/audio_code_sbc/sbc.c @@ -535,7 +535,7 @@ int sbc_encode(sbc_t *sbc, const void *input, uint32_t input_len, if (!priv->init) { priv->frame.frequency = sbc->frequency; - priv->frame.allocation = sbc->allocation; + priv->frame.allocation = (int)sbc->allocation; priv->frame.subband_mode = sbc->subbands; priv->frame.subbands = sbc->subbands ? 8 : 4; priv->frame.block_mode = sbc->blocks; diff --git a/2.code/1.sdk/components/modules/audio_encode/audio_encoder.c b/2.code/1.sdk/components/modules/audio_encode/audio_encoder.c index 45aeb50..58e10b2 100644 --- a/2.code/1.sdk/components/modules/audio_encode/audio_encoder.c +++ b/2.code/1.sdk/components/modules/audio_encode/audio_encoder.c @@ -218,6 +218,7 @@ static int audio_encoder_next_frame_handler(struct pcm_data_t *pcm_data) &encoder_env.out_buffer[encoder_env.encode_write_pos], encoder_env.frame_size, &encoded_len); + co_printf("org_len:%d\n",org_len); } encoder_env.reserved_space -= encoder_env.frame_size; encoder_frame_out_func(&encoder_env.out_buffer[encoder_env.encode_write_pos],encoder_env.frame_size); diff --git a/2.code/1.sdk/components/modules/os/include/os_mem.h b/2.code/1.sdk/components/modules/os/include/os_mem.h index 81b48a3..bd75179 100644 --- a/2.code/1.sdk/components/modules/os/include/os_mem.h +++ b/2.code/1.sdk/components/modules/os/include/os_mem.h @@ -227,7 +227,7 @@ __STATIC __INLINE uint16_t os_get_free_heap_size(void) #endif - +#define USER_MEM_API_ENABLE 1 /** @functions API for memory leakage debug, * before call these functions, must define USER_MEM_API_ENABLE in your project Preprocessor Symbols. * @{ diff --git a/2.code/1.sdk/components/modules/platform/source/app_boot_vectors.s b/2.code/1.sdk/components/modules/platform/source/app_boot_vectors.s index 961af40..5e5824f 100644 --- a/2.code/1.sdk/components/modules/platform/source/app_boot_vectors.s +++ b/2.code/1.sdk/components/modules/platform/source/app_boot_vectors.s @@ -18,6 +18,11 @@ ; * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. ; * ; *****************************************************************************/ +Heap_Size EQU 0x00000100 + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit ; Stack Configuration ; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> @@ -159,7 +164,11 @@ Default_Handler PROC EXPORT ssp_isr_ram [WEAK] EXPORT pdm_isr_ram [WEAK] EXPORT uart0_isr_ram [WEAK] - EXPORT uart1_isr_ram [WEAK] + EXPORT uart1_isr_ram [WEAK] + IF :DEF:__MICROLIB + EXPORT __heap_base + EXPORT __heap_limit + ENDIF adc_isr ssp_isr_ram pdm_isr_ram diff --git a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/alios/upay_lite/alios_api.c b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/alios/upay_lite/alios_api.c index bf50a05..b2e7878 100644 --- a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/alios/upay_lite/alios_api.c +++ b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/alios/upay_lite/alios_api.c @@ -1,8 +1,15 @@ #include "bizbus_common.h" #include "upay_vendor.h" -//#include "os_mem.h" -//#include "co_printf.h" -//#include "stdarg.h" +#include "flash_usage_config.h" +#include "os_mem.h" +#include "co_printf.h" +#include "stdarg.h" +#include "driver_flash.h" +#include "stdlib.h" +#include "driver_system.h" +#include "ble_simple_peripheral.h" +static int32_t ali_timestamp = 0; +static int32_t system_curr_time = 0;//设置时间的时候保存的系统运行时间 //安全数据API,需要一块单独大小为2.5K的区域存储,要求恢复出厂设置不能被清除、OTA不能被清除、常规烧录升级不能被清除 /** * 安全数据写入,大小为2.5K,需要厂商实现 @@ -15,7 +22,10 @@ */ int32_t hal_flash_id2_write(uint32_t offset, void *data, uint32_t write_len) { - return 1; + co_printf("hal_flash_id2_write:offset:%d,data:%s,write_len:%d\n",offset,data,write_len); + flash_erase(ALI_DATA_ADDR+offset,write_len); + flash_write(ALI_DATA_ADDR+offset,write_len,(uint8_t *)data); + return 0; } /** @@ -29,7 +39,10 @@ int32_t hal_flash_id2_write(uint32_t offset, void *data, uint32_t write_len) */ int32_t hal_flash_id2_read(uint32_t offset, void *data, uint32_t read_len) { - return 1; + + flash_read(ALI_DATA_ADDR+offset,read_len,(uint8_t *)data); + co_printf("hal_flash_id2_read:offset:%d,data:%s,read_len:%d\n",ALI_DATA_ADDR+offset,data,read_len); + return 0; } /** * 安全数据擦除,大小为2.5K,需要厂商实现 @@ -42,26 +55,30 @@ int32_t hal_flash_id2_read(uint32_t offset, void *data, uint32_t read_len) int32_t hal_flash_id2_erase(uint32_t erase_offset,uint32_t earse_len) { - return 1; + co_printf("hal_flash_id2_erase:offset:%d,earse_len:%d\n",erase_offset,earse_len); + flash_erase(ALI_DATA_ADDR+erase_offset,earse_len); + return 0; } // hal 需要厂商实现,与APP SDK端的数据收发 bizbus_ret_t bizbus_hal_send(char *sid, uint8_t *data, uint32_t data_len) { - bizbus_ret_t a; - return a; -} -bizbus_ret_t bizbus_hal_recv(uint8_t * data, uint32_t data_len) -{ - bizbus_ret_t a; - return a; + ble_aliapp_data_tx(data,data_len); + return BIZBUS_SUCCESS; } +// bizbus_ret_t bizbus_hal_recv(uint8_t * data, uint32_t data_len) +// { + +// return BIZBUS_SUCCESS; +// } //厂商实现,设置ble 系统UTC时间 bizbus_ret_t bizbus_set_time(uint8_t *time_str) { - bizbus_ret_t a; - return a; + ali_timestamp = atoi((char *)time_str); + system_curr_time = system_get_curr_time(); + return BIZBUS_SUCCESS; } +//收到数据调用该函数 // bizbus_ret_t bizbus_recv(uint8_t *json_string, uint32_t data_len) // { @@ -83,11 +100,11 @@ bizbus_ret_t bizbus_set_time(uint8_t *time_str) void *aos_malloc(unsigned int size) { - return 0;//os_malloc(size); + return os_malloc(size); } void aos_free(void *mem) { - //os_free(mem); + os_free(mem); } int aos_kv_init(void) { @@ -107,17 +124,17 @@ void aos_idt_pk_cfg(uint8_t *data) } void aos_printf(const char *fmt, ...) { - // va_list args; - // va_start(args,fmt); - // co_printf(fmt,args); - // va_end(args); + va_list args; + va_start(args,fmt); + co_printf(fmt,args); + va_end(args); //co_printf(fmt,##__VA_ARGS__); } -//#define aos_printf(fmt, ...) co_printf(fmt,##__VA_ARGS__); +// /*!!!!!!!!!!*/ uint32_t upay_get_timestamp(void) { - return 1; + return ali_timestamp+((system_get_curr_time()-system_curr_time)/1000); } int upay_id2_check_status(uint8_t *id2_st) { @@ -133,18 +150,18 @@ int32_t is_need_to_request_cert(void) } bizbus_ret_t bizbus_gtd_id2_init(void) { - bizbus_ret_t a; - return a; + + return BIZBUS_SUCCESS; } bizbus_ret_t bizbus_gtd_wear_init(void) { - bizbus_ret_t a; - return a; + + return BIZBUS_SUCCESS; } bizbus_ret_t bizbus_recv_gtd_hdl(uint8_t *data, uint32_t data_len) { - bizbus_ret_t a; - return a; + + return BIZBUS_SUCCESS; } void* ALIPAY_malloc(uint32_t size) { @@ -159,5 +176,5 @@ void ALIPAY_free(void* pt) void* ALIPAY_realloc(void* pt, uint32_t size) { - return 0;//os_realloc(pt,size); -} \ No newline at end of file + return os_realloc(pt,size); +} diff --git a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/alios/upay_lite/bizbus_common.h b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/alios/upay_lite/bizbus_common.h index 41d1a33..6955ad2 100644 --- a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/alios/upay_lite/bizbus_common.h +++ b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/alios/upay_lite/bizbus_common.h @@ -3,9 +3,10 @@ #define _BIZBUS_HAL_H_ #include -//#include +#include +#include //#include - +//#define aos_printf(fmt, ...) co_printf(fmt,##__VA_ARGS__); typedef enum _bizbus_ret_t { BIZBUS_SUCCESS, BIZBUS_ERR_INIT_FAILED, @@ -77,5 +78,5 @@ typedef int (* bizbus_pk_get_func)(char product_key[BIZBUS_PK_LEN + 1]); bizbus_ret_t bizbus_register_ds_get(bizbus_ds_get_func ds_get_func); bizbus_ret_t bizbus_register_dn_get(bizbus_dn_get_func dn_get_func); bizbus_ret_t bizbus_register_pk_get(bizbus_pk_get_func pk_get_func); - +bizbus_ret_t bizbus_recv(uint8_t *json_string, uint32_t data_len); #endif diff --git a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/alios/upay_lite/cJSON.h b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/alios/upay_lite/cJSON.h deleted file mode 100644 index e97e5f4..0000000 --- a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/alios/upay_lite/cJSON.h +++ /dev/null @@ -1,293 +0,0 @@ -/* - Copyright (c) 2009-2017 Dave Gamble and cJSON contributors - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. -*/ - -#ifndef cJSON__h -#define cJSON__h - -#ifdef __cplusplus -extern "C" -{ -#endif - -#if !defined(__WINDOWS__) && (defined(WIN32) || defined(WIN64) || defined(_MSC_VER) || defined(_WIN32)) -#define __WINDOWS__ -#endif - -#ifdef __WINDOWS__ - -/* When compiling for windows, we specify a specific calling convention to avoid issues where we are being called from a project with a different default calling convention. For windows you have 3 define options: - -CJSON_HIDE_SYMBOLS - Define this in the case where you don't want to ever dllexport symbols -CJSON_EXPORT_SYMBOLS - Define this on library build when you want to dllexport symbols (default) -CJSON_IMPORT_SYMBOLS - Define this if you want to dllimport symbol - -For *nix builds that support visibility attribute, you can define similar behavior by - -setting default visibility to hidden by adding --fvisibility=hidden (for gcc) -or --xldscope=hidden (for sun cc) -to CFLAGS - -then using the CJSON_API_VISIBILITY flag to "export" the same symbols the way CJSON_EXPORT_SYMBOLS does - -*/ - -#define CJSON_CDECL __cdecl -#define CJSON_STDCALL __stdcall - -/* export symbols by default, this is necessary for copy pasting the C and header file */ -#if !defined(CJSON_HIDE_SYMBOLS) && !defined(CJSON_IMPORT_SYMBOLS) && !defined(CJSON_EXPORT_SYMBOLS) -#define CJSON_EXPORT_SYMBOLS -#endif - -#if defined(CJSON_HIDE_SYMBOLS) -#define CJSON_PUBLIC(type) type CJSON_STDCALL -#elif defined(CJSON_EXPORT_SYMBOLS) -#define CJSON_PUBLIC(type) __declspec(dllexport) type CJSON_STDCALL -#elif defined(CJSON_IMPORT_SYMBOLS) -#define CJSON_PUBLIC(type) __declspec(dllimport) type CJSON_STDCALL -#endif -#else /* !__WINDOWS__ */ -#define CJSON_CDECL -#define CJSON_STDCALL - -#if (defined(__GNUC__) || defined(__SUNPRO_CC) || defined (__SUNPRO_C)) && defined(CJSON_API_VISIBILITY) -#define CJSON_PUBLIC(type) __attribute__((visibility("default"))) type -#else -#define CJSON_PUBLIC(type) type -#endif -#endif - -/* project version */ -#define CJSON_VERSION_MAJOR 1 -#define CJSON_VERSION_MINOR 7 -#define CJSON_VERSION_PATCH 14 - -#include - -/* cJSON Types: */ -#define cJSON_Invalid (0) -#define cJSON_False (1 << 0) -#define cJSON_True (1 << 1) -#define cJSON_NULL (1 << 2) -#define cJSON_Number (1 << 3) -#define cJSON_String (1 << 4) -#define cJSON_Array (1 << 5) -#define cJSON_Object (1 << 6) -#define cJSON_Raw (1 << 7) /* raw json */ - -#define cJSON_IsReference 256 -#define cJSON_StringIsConst 512 - -/* The cJSON structure: */ -typedef struct cJSON -{ - /* next/prev allow you to walk array/object chains. Alternatively, use GetArraySize/GetArrayItem/GetObjectItem */ - struct cJSON *next; - struct cJSON *prev; - /* An array or object item will have a child pointer pointing to a chain of the items in the array/object. */ - struct cJSON *child; - - /* The type of the item, as above. */ - int type; - - /* The item's string, if type==cJSON_String and type == cJSON_Raw */ - char *valuestring; - /* writing to valueint is DEPRECATED, use cJSON_SetNumberValue instead */ - int valueint; - /* The item's number, if type==cJSON_Number */ - double valuedouble; - - /* The item's name string, if this item is the child of, or is in the list of subitems of an object. */ - char *string; -} cJSON; - -typedef struct cJSON_Hooks -{ - /* malloc/free are CDECL on Windows regardless of the default calling convention of the compiler, so ensure the hooks allow passing those functions directly. */ - void *(CJSON_CDECL *malloc_fn)(size_t sz); - void (CJSON_CDECL *free_fn)(void *ptr); -} cJSON_Hooks; - -typedef int cJSON_bool; - -/* Limits how deeply nested arrays/objects can be before cJSON rejects to parse them. - * This is to prevent stack overflows. */ -#ifndef CJSON_NESTING_LIMIT -#define CJSON_NESTING_LIMIT 1000 -#endif - -/* returns the version of cJSON as a string */ -CJSON_PUBLIC(const char*) cJSON_Version(void); - -/* Supply malloc, realloc and free functions to cJSON */ -CJSON_PUBLIC(void) cJSON_InitHooks(cJSON_Hooks* hooks); - -/* Memory Management: the caller is always responsible to free the results from all variants of cJSON_Parse (with cJSON_Delete) and cJSON_Print (with stdlib free, cJSON_Hooks.free_fn, or cJSON_free as appropriate). The exception is cJSON_PrintPreallocated, where the caller has full responsibility of the buffer. */ -/* Supply a block of JSON, and this returns a cJSON object you can interrogate. */ -CJSON_PUBLIC(cJSON *) cJSON_Parse(const char *value); -CJSON_PUBLIC(cJSON *) cJSON_ParseWithLength(const char *value, size_t buffer_length); -/* ParseWithOpts allows you to require (and check) that the JSON is null terminated, and to retrieve the pointer to the final byte parsed. */ -/* If you supply a ptr in return_parse_end and parsing fails, then return_parse_end will contain a pointer to the error so will match cJSON_GetErrorPtr(). */ -CJSON_PUBLIC(cJSON *) cJSON_ParseWithOpts(const char *value, const char **return_parse_end, cJSON_bool require_null_terminated); -CJSON_PUBLIC(cJSON *) cJSON_ParseWithLengthOpts(const char *value, size_t buffer_length, const char **return_parse_end, cJSON_bool require_null_terminated); - -/* Render a cJSON entity to text for transfer/storage. */ -CJSON_PUBLIC(char *) cJSON_Print(const cJSON *item); -/* Render a cJSON entity to text for transfer/storage without any formatting. */ -CJSON_PUBLIC(char *) cJSON_PrintUnformatted(const cJSON *item); -/* Render a cJSON entity to text using a buffered strategy. prebuffer is a guess at the final size. guessing well reduces reallocation. fmt=0 gives unformatted, =1 gives formatted */ -CJSON_PUBLIC(char *) cJSON_PrintBuffered(const cJSON *item, int prebuffer, cJSON_bool fmt); -/* Render a cJSON entity to text using a buffer already allocated in memory with given length. Returns 1 on success and 0 on failure. */ -/* NOTE: cJSON is not always 100% accurate in estimating how much memory it will use, so to be safe allocate 5 bytes more than you actually need */ -CJSON_PUBLIC(cJSON_bool) cJSON_PrintPreallocated(cJSON *item, char *buffer, const int length, const cJSON_bool format); -/* Delete a cJSON entity and all subentities. */ -CJSON_PUBLIC(void) cJSON_Delete(cJSON *item); - -/* Returns the number of items in an array (or object). */ -CJSON_PUBLIC(int) cJSON_GetArraySize(const cJSON *array); -/* Retrieve item number "index" from array "array". Returns NULL if unsuccessful. */ -CJSON_PUBLIC(cJSON *) cJSON_GetArrayItem(const cJSON *array, int index); -/* Get item "string" from object. Case insensitive. */ -CJSON_PUBLIC(cJSON *) cJSON_GetObjectItem(const cJSON * const object, const char * const string); -CJSON_PUBLIC(cJSON *) cJSON_GetObjectItemCaseSensitive(const cJSON * const object, const char * const string); -CJSON_PUBLIC(cJSON_bool) cJSON_HasObjectItem(const cJSON *object, const char *string); -/* For analysing failed parses. This returns a pointer to the parse error. You'll probably need to look a few chars back to make sense of it. Defined when cJSON_Parse() returns 0. 0 when cJSON_Parse() succeeds. */ -CJSON_PUBLIC(const char *) cJSON_GetErrorPtr(void); - -/* Check item type and return its value */ -CJSON_PUBLIC(char *) cJSON_GetStringValue(const cJSON * const item); -CJSON_PUBLIC(double) cJSON_GetNumberValue(const cJSON * const item); - -/* These functions check the type of an item */ -CJSON_PUBLIC(cJSON_bool) cJSON_IsInvalid(const cJSON * const item); -CJSON_PUBLIC(cJSON_bool) cJSON_IsFalse(const cJSON * const item); -CJSON_PUBLIC(cJSON_bool) cJSON_IsTrue(const cJSON * const item); -CJSON_PUBLIC(cJSON_bool) cJSON_IsBool(const cJSON * const item); -CJSON_PUBLIC(cJSON_bool) cJSON_IsNull(const cJSON * const item); -CJSON_PUBLIC(cJSON_bool) cJSON_IsNumber(const cJSON * const item); -CJSON_PUBLIC(cJSON_bool) cJSON_IsString(const cJSON * const item); -CJSON_PUBLIC(cJSON_bool) cJSON_IsArray(const cJSON * const item); -CJSON_PUBLIC(cJSON_bool) cJSON_IsObject(const cJSON * const item); -CJSON_PUBLIC(cJSON_bool) cJSON_IsRaw(const cJSON * const item); - -/* These calls create a cJSON item of the appropriate type. */ -CJSON_PUBLIC(cJSON *) cJSON_CreateNull(void); -CJSON_PUBLIC(cJSON *) cJSON_CreateTrue(void); -CJSON_PUBLIC(cJSON *) cJSON_CreateFalse(void); -CJSON_PUBLIC(cJSON *) cJSON_CreateBool(cJSON_bool boolean); -CJSON_PUBLIC(cJSON *) cJSON_CreateNumber(double num); -CJSON_PUBLIC(cJSON *) cJSON_CreateString(const char *string); -/* raw json */ -CJSON_PUBLIC(cJSON *) cJSON_CreateRaw(const char *raw); -CJSON_PUBLIC(cJSON *) cJSON_CreateArray(void); -CJSON_PUBLIC(cJSON *) cJSON_CreateObject(void); - -/* Create a string where valuestring references a string so - * it will not be freed by cJSON_Delete */ -CJSON_PUBLIC(cJSON *) cJSON_CreateStringReference(const char *string); -/* Create an object/array that only references it's elements so - * they will not be freed by cJSON_Delete */ -CJSON_PUBLIC(cJSON *) cJSON_CreateObjectReference(const cJSON *child); -CJSON_PUBLIC(cJSON *) cJSON_CreateArrayReference(const cJSON *child); - -/* These utilities create an Array of count items. - * The parameter count cannot be greater than the number of elements in the number array, otherwise array access will be out of bounds.*/ -CJSON_PUBLIC(cJSON *) cJSON_CreateIntArray(const int *numbers, int count); -CJSON_PUBLIC(cJSON *) cJSON_CreateFloatArray(const float *numbers, int count); -CJSON_PUBLIC(cJSON *) cJSON_CreateDoubleArray(const double *numbers, int count); -CJSON_PUBLIC(cJSON *) cJSON_CreateStringArray(const char *const *strings, int count); - -/* Append item to the specified array/object. */ -CJSON_PUBLIC(cJSON_bool) cJSON_AddItemToArray(cJSON *array, cJSON *item); -CJSON_PUBLIC(cJSON_bool) cJSON_AddItemToObject(cJSON *object, const char *string, cJSON *item); -/* Use this when string is definitely const (i.e. a literal, or as good as), and will definitely survive the cJSON object. - * WARNING: When this function was used, make sure to always check that (item->type & cJSON_StringIsConst) is zero before - * writing to `item->string` */ -CJSON_PUBLIC(cJSON_bool) cJSON_AddItemToObjectCS(cJSON *object, const char *string, cJSON *item); -/* Append reference to item to the specified array/object. Use this when you want to add an existing cJSON to a new cJSON, but don't want to corrupt your existing cJSON. */ -CJSON_PUBLIC(cJSON_bool) cJSON_AddItemReferenceToArray(cJSON *array, cJSON *item); -CJSON_PUBLIC(cJSON_bool) cJSON_AddItemReferenceToObject(cJSON *object, const char *string, cJSON *item); - -/* Remove/Detach items from Arrays/Objects. */ -CJSON_PUBLIC(cJSON *) cJSON_DetachItemViaPointer(cJSON *parent, cJSON * const item); -CJSON_PUBLIC(cJSON *) cJSON_DetachItemFromArray(cJSON *array, int which); -CJSON_PUBLIC(void) cJSON_DeleteItemFromArray(cJSON *array, int which); -CJSON_PUBLIC(cJSON *) cJSON_DetachItemFromObject(cJSON *object, const char *string); -CJSON_PUBLIC(cJSON *) cJSON_DetachItemFromObjectCaseSensitive(cJSON *object, const char *string); -CJSON_PUBLIC(void) cJSON_DeleteItemFromObject(cJSON *object, const char *string); -CJSON_PUBLIC(void) cJSON_DeleteItemFromObjectCaseSensitive(cJSON *object, const char *string); - -/* Update array items. */ -CJSON_PUBLIC(cJSON_bool) cJSON_InsertItemInArray(cJSON *array, int which, cJSON *newitem); /* Shifts pre-existing items to the right. */ -CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemViaPointer(cJSON * const parent, cJSON * const item, cJSON * replacement); -CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemInArray(cJSON *array, int which, cJSON *newitem); -CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemInObject(cJSON *object,const char *string,cJSON *newitem); -CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemInObjectCaseSensitive(cJSON *object,const char *string,cJSON *newitem); - -/* Duplicate a cJSON item */ -CJSON_PUBLIC(cJSON *) cJSON_Duplicate(const cJSON *item, cJSON_bool recurse); -/* Duplicate will create a new, identical cJSON item to the one you pass, in new memory that will - * need to be released. With recurse!=0, it will duplicate any children connected to the item. - * The item->next and ->prev pointers are always zero on return from Duplicate. */ -/* Recursively compare two cJSON items for equality. If either a or b is NULL or invalid, they will be considered unequal. - * case_sensitive determines if object keys are treated case sensitive (1) or case insensitive (0) */ -CJSON_PUBLIC(cJSON_bool) cJSON_Compare(const cJSON * const a, const cJSON * const b, const cJSON_bool case_sensitive); - -/* Minify a strings, remove blank characters(such as ' ', '\t', '\r', '\n') from strings. - * The input pointer json cannot point to a read-only address area, such as a string constant, - * but should point to a readable and writable adress area. */ -CJSON_PUBLIC(void) cJSON_Minify(char *json); - -/* Helper functions for creating and adding items to an object at the same time. - * They return the added item or NULL on failure. */ -CJSON_PUBLIC(cJSON*) cJSON_AddNullToObject(cJSON * const object, const char * const name); -CJSON_PUBLIC(cJSON*) cJSON_AddTrueToObject(cJSON * const object, const char * const name); -CJSON_PUBLIC(cJSON*) cJSON_AddFalseToObject(cJSON * const object, const char * const name); -CJSON_PUBLIC(cJSON*) cJSON_AddBoolToObject(cJSON * const object, const char * const name, const cJSON_bool boolean); -CJSON_PUBLIC(cJSON*) cJSON_AddNumberToObject(cJSON * const object, const char * const name, const double number); -CJSON_PUBLIC(cJSON*) cJSON_AddStringToObject(cJSON * const object, const char * const name, const char * const string); -CJSON_PUBLIC(cJSON*) cJSON_AddRawToObject(cJSON * const object, const char * const name, const char * const raw); -CJSON_PUBLIC(cJSON*) cJSON_AddObjectToObject(cJSON * const object, const char * const name); -CJSON_PUBLIC(cJSON*) cJSON_AddArrayToObject(cJSON * const object, const char * const name); - -/* When assigning an integer value, it needs to be propagated to valuedouble too. */ -#define cJSON_SetIntValue(object, number) ((object) ? (object)->valueint = (object)->valuedouble = (number) : (number)) -/* helper for the cJSON_SetNumberValue macro */ -CJSON_PUBLIC(double) cJSON_SetNumberHelper(cJSON *object, double number); -#define cJSON_SetNumberValue(object, number) ((object != NULL) ? cJSON_SetNumberHelper(object, (double)number) : (number)) -/* Change the valuestring of a cJSON_String object, only takes effect when type of object is cJSON_String */ -CJSON_PUBLIC(char*) cJSON_SetValuestring(cJSON *object, const char *valuestring); - -/* Macro for iterating over an array or object */ -#define cJSON_ArrayForEach(element, array) for(element = (array != NULL) ? (array)->child : NULL; element != NULL; element = element->next) - -/* malloc/free objects using the malloc/free functions that have been set with cJSON_InitHooks */ -CJSON_PUBLIC(void *) cJSON_malloc(size_t size); -CJSON_PUBLIC(void) cJSON_free(void *object); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/alios/upay_lite/cJSON.lib b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/alios/upay_lite/cJSON.lib deleted file mode 100644 index bc2149adde4cb42bb5d4fce29aa08c1cf6b1a5b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 223438 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 V`6|%J2 diff --git a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/alios/upay_lite/upay_lite.lib b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/alios/upay_lite/upay_lite.lib index 5ce23d2c15dbba886216e4b1144fd04dd52576a8..1d17aa235e8246a9052a3dbf19174d810687f07c 100644 GIT binary patch literal 390456 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 z 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 literal 371508 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%0D<*3^S;-r(~Fc zC$`KqB=<=)7f=4Lw3W(W;th4ulhzq)k7Ocxw&`|)!{B6QUfKV+5rR|e_B`n+c6*if zRJy%NdrIA&CqDIV&y(Al<|L;mmBGZjy=l%i6srHErk>C4}2wR$l zQ#jgBu;$kTV%R|8Sz3ngbl_e94%-EWQ`^axJ8(E+ll{m*iT@H4+2_E~`K*swaH`w` z2p|i?-GF^(RTeQ-_~Q=TO~6I7jdFv;sr(~QIK9(SPUUwV7#21=fcFh;3S^0M;^+jq z>IvYgCy3h*9JXByr(|-L`#f;i4l!ITT-KC{)#FOwqSXUiJvO~O3ETmrR5Q+r>p|zc ze*(C)M0{_hgtwIC%x`DX#B8H9V$bW<36xukJ+PN2fJ?{T*+g)(As@|#inAVF*sFUw zO1WoS>Q2#l*sF`y51hDtz&$>J{HkX#c4PuL5B9=GCxE+jg1EPUn@D|+;N3v9c5~ME z;4H>^qR4l-V?Icp9ojIAEeC1-5 zdmC^MDiHiwxJJAii6-B$LocJi9mQO!oXQWc9E`jvZrcL!f9Dh7_5+94Duz?}RiRvT zb;BJ34nu_7Y6-&k$jcZXa)Ler+(c}*e8V4I&qjS^ex8izwp(U9bFVQS!UaA>Wh0DgA96N51D{ zlbINx&a9s)nU*Wbnagy4e!40k0Rge;92FX#$*}~ z9?d5-pDX>nfH0Rq_WL^EqS8V_j)kiR0kN@Pfi6je|?J;IJf%S+3uLn>G$E&w|5}EM|V?797c`^yjQ^qXkF( zNa1L1uTP?TX48#8+vi} z=bM02{Ta8qn7D%$T){ZFBNklAIJoC6xHaS8j#+T)$HB$pCZy_tE*rBRe&9+GPyJNg zS83j*K5JP9vu(hA&jqG*n)GRIu;MZ?*mfr>lzD$6Ja9C$xw{eHEYP@APUY9p9uAch zadR<#a``2tC8cFWc?B_S#^je47UXecTf${Ebphj;PGqcM#joq+M%yb-@F;f*QmSI74qIP#aPHqASpc<7UX z^U__%6Au0AcprG)v+cZXgqv^Wv11z&es#S3(0rs(Y1!dBD-S)(GJKF}UDD{n@_DY~ z>_{-(?f=T(kG;+Qo?iZ|*N!)MU~Oel;7~k!quiT> zn$L!nl}BDZ{^6m8{+;Wx*)#nM4;i7j2iCQ*#Vlj(Q7StPdid4xQIh3|q7mL_3EyN1 zANc-pcA(+)8%Pgp65hCW{)?a!@#*uumEIr20?Q`SE$Kqi%T3zN^^Q1v;_~InBhMxW zKF{l*1>Bhr{Qb{=zKL=FFRs7ONOe8H77WqAhC5CFG&?mL{#x^Org8QF8u z=-!L-@(T)!ic40PmMzCq*MuG2W;Td)YtCLP=1{OSm)qm@#l=raNKBeKZF+J_>Ws9R zvu4ksI|tmn`RNN5F7jt&F3wuA^sMZhWy@Er%w0tyi1`2QUze5#5l+^GNtQ)y%%(7( zanY4iu8O}p?i$~I@3o%m+}FFvD(Wej4YB6^4W9R&)0Q_qiYQ0R%-e8@+xGZoIgI{x zn�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 z≶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

mJ+ZG&}>Xh-)p43V|N~20|ynea`ckwj1 z8VhdCG`Ke4Py~6t;kAVkFRhhFbug~Oz**k`s(MK_x8jPc7&~prNQEO8xG^Pg*~aAU zDV=|;_7$To!_?kl<=9dz+1_FmC8cTaEq3G<9=ox(*r(WWriHY(=W7{-jvr~KvF7lk zc6uAz_{7+z;-9@;|LkL)(9zI>&_&pFEc@Q`9(O;!=;=#oZ?RjRKD}{1d;QFt8<#IU zLHmhqT<+oSX6!H~ICLj?tRU;;!V~PO!*5ryg`f3ydHDTK=D~gc(v3xL|9BM-EB^P6)=H)AY<+6hLC$-Pcy~>+Iy1CEfG3~S7tLR=^uKm108|>^~ znpgC{e$2l5r*DpZ@qx!&p?RT&A&qMx{;m!!mvpI(zxc7SXUD!s_?`KMA)W7OHuh}s z&)(TYJbiHE{GP#$r=IudgWq5!=iPkJiJ2=g84{BzFCN{7@x%CN=!B|c@ncgVirowB8kZZ zX0gO9k(l!(<^qXX49rrAxlm%3Nz6qOvlJLzVwOuxzQnAM7#)}biCHNzt0d-Pi75ca zFEND@vsz--NQ@ttB8e%Mn6(nKPGX9HDUp~`i7Atqa)~Jcrb1#WC8kPZswJiZm>P+x zm6-JsbBV;%0JA}2E|r+eB<6C7+3?&`ga0+SK6Y*FnON(ojZ2$Oy*zmHDQ8yJDJ|D0Yi>!}7{Umd*Zlml1>tb=1;;#e23eZU?D z_84nDRS)d<1`k7K)+raT8pj^zSTC@>z#akiK3D6hI$*y$cmy)D5dU3pNry>}%>uRu z*js@8sI&D{0N7UsZ-LA##D5oD!ZvbjHn6*Zy&2e#I8vo;DaYmkd-k-w{b91hVqnjn zwih^dDX?cx+XEb{1AF$g4RLG%uxC%(MvnCZd-k;DacmK=XHVN(cat4TfIWNKp5fRE zV9%bmV;oxp?Ag=S&#@bTHPiMwYR&6s^uu?d)qDMnSGtT`ck8KOR@15PACToXW-Yfb zq0Hnx^il(*9j)bIRc^7fC*&1KIa$(m#mVDkJ7z80B=3a>NnS7HxgbxJZR{xud44G; zTe@6Ni+;TP$E@X_8pCn2v$%E^;1*V7`8*O8dDj*z?pE^im)WkH^( zBd?>EpnMhfTP$6!r$rubBe?yjeIQw{eVo$T4_VoeCE5qrAF?W>jHS}$I$C7$HiX-b z+7FU-jLV{Y$b&4=e!Pxe2YDf7sQl&nS!9WPAiGifLb4jTEXsq$kfrh<8?rV?St@V2 zeim6G56EWJ{*bIQAEPvq{g*Bsj{!~ zlj~=Zm1z4H|4fztBFIvuAfC#qV3;!K$ZI%$Wpd1fh<+tReo~)EV2@9{{WXow%-6* z%J%8BXNk6N;187-vVA)3SEB8Ya9Lz~YQL22 z(`mmFZC}G>k?pDd61JCPqL_xZH*m_~^`3Hi>4|~bsI1#gqL1h8+p)V&&87BDx;nY4 zEMJE<>^W;6tom1mHhAMH4Kf{u%%^T8nY^8ovWlcz5GS($G84ujF&En6hEohOHA7}U zm&w~ZDXT=fTwjZxe#lH1uf&{alj~2pAd?v~v$;&(?nzk{(&hSEWEMeY!nh{pKwDo2 zTY4c^+4Gqrly=_!Nm(`0<@#D=mOy60_$O%|4RV>h9h9;*NSEttky!zm<~V7(Jj&xT zd3z{jG3j!BEi!8$Grc@|?iNZrZx^L3mvp(l7MU9$Grc?-;xc*rC}nx2%k{O$WRRI& z9xdiFc{?d(Wl5LoYmw=K%=Gf;g_|kuyuFmNvZc%QwaD~BW_o!v#%1z$Q_9MdF4xy0 zGYc})%cG@SCT~Bbti{sh`dVaWLuPt;^x{pFcHWLkSxcqM^|i>%gUs~uXp+n1?WvT- z+at73TwjaK#gLg^9_d^rZ&#&E-X1|F*ViI*DP*RXM=u?ww5QvCrk6(txXg6h&-C)B zfXhs5KRqWI`?G^L?|As<|2*>AGZ)+=+kcBKs69UlTO z_BxkEwx{P^WqaO!Nm;3$cN1;@>bZ}TlJ0}*XHlm*Y!9z-`q2X7oFOQ;O;yA@;kqJ z`zPQ1JG@5;xcJ+*c~9ew+fDrK(423a-iUWg{sw)QK1jb4b&l`u8r-;a*RIt)nMYqDlzE58x|HxG+E>T(YrnRBb>HuvqWqs}{^Ss*v&yfrKL z;4I~1Ij3>adcL~cLq|Nfx^Hvc?mT+7bk9kVZrzY5*6!Bj?mObWbMh7fl26av7{)nM2kSB)fWKISGyOSJ zvbvw6E-bw>rXDqQ^QO@h{h@W+9vj8Mc35K+8SClCSADx#_VdutZ7gA;waC(z)1Ha- zKH8F+N4lnH$GgOB|MPtxXOq5%S-$T}?D8WHEps0K6icM?P;`70yTSFSc^F6^T z!K9;?nvh~Ff@R%f%=cxcwbRNov8M9_W(R88>AL(onzq_wNn~s!MrWnqQjl2R7g!;uFGH3v>I!A`mpi6OpwCF z`X_KA8)XnLh7;p`Ec;(UQ9AL(MH7#IGAGYTlpPUdmra)$n(WVRH zqP;0TU}>Tu09^@(iR7SF$@e|VF8_f;YqlnKY<#pYIw4c5f}5#rhOiipDeR%miPwYZ zo{SFT_%&)}w64c8ocB1yJ<&)R zNqO9uv`BczKn!POaFW`*9YfIp)G#u81xS8v{NUN?4XIj!ov2s4{A&*FL5I~w*pxRm z!8b`Xzv41&#G4Wv?#PYwsOZ#&aB7PzEZt4r==7z@wCz`S55{&6O24hX?xE5BlGwJ; z`2`2!*XFS8!xOvtfrP7Zj$=2J&HmuokcO^wCD>5aVQ$NhIJ7TYZ7B+x3Tqav9!QGe z%u#8l79y2RpJen|$9CSip1_^+-urHZbCPcHg9;y%F_U`qy6j&y?duM&7%U9-mJLP^ zFfIGvxw2xxJ>A9zdl}yel-la6jdMLYPHS6;ENAz9@baA=3+O_=i}Ro49;fl=LWyGV zw`k5$rS5ZT-&Vz75Fc3cVWKDtN?r_Qp83AY{sOY;9_K0H{L)Xcj}YA-+Z{!X^8Fp7 zoR95^9wg|HyjRfepts`-`N`-3)IL#Ej^60}j)P8Qx}0s_6TwN&{mj>Z=KsYToIf@B zqny7J{G&HGf5-W`Y&)Ib>YD`fH`niokuD)bz^?}UO|cjFv|F*t@jJ=jdx295obph} z8SVEf1yLDc#(ABY9?gAGp4*+r58iZVIdAkV!5NjBCtsbdx$B(9w^|&l$&bp^JUT^! z{d)(`X&mcR9Byqf4(Gg)4h+?FhePb?e{R!LE91hsrZCznnVzw8m>#$DYy2!yPaYi{ zN~fc$pNKP0#@U7e#PAb5|A+5oivJd=t(GbNf9T$EfvEgw_zvL74z0p-8r9tRwEq7u-#rDe0-ds4 zWd6{S6**|{{HM-gJEl4D6u}RN_7vjWzKxw2Or2y7Ptmh+E z*!tX#NxqIaF(N@El%3QL=ek#O15$(<;`_xp&07pJMH(-2Uy$owhjclMM49U5vEtNn zG#D9R@$QSt9V~$JzWr{uD05VK+$)_oc-DvlOXr^x+-fi~T7DuAVwM|XP{iFALrk?0 zqb;ILMS783`E54N2fv@b(xw?w9FpxNAG#DzV^;`Zi*qpo+VYT;Af~0bg5r4yZMbXA zLNYJHA9K(R^2hVt|9HMToe}@X^WCZ1#GN?*!93qRA1wwoSB$-k-^cNbf1yWy)1vrmGD5Au zPslonyEs|mmegfBxA;OcOEUKy39|SBgfc`|FoX)r78i0EY zEQ>%nrA@dC@e>i}0r!**NB;Z(J^`SX*G#CK*d$0kegg6UWPAgZoclE9`Upi`gxG(L z_6ysLAHBDE3`{wXJKfoSu~D2CbzRy}vYhL2q=F*LIO$@ApTrTN17o8T5iAK1=VfLC0|xWm zO{Zjn81Cf~nC~SpysS;YneSIj>v1CfP`D|`+W22z2}bOT_R4e5nXg9EG(qv%OOuR_ zj|<;?V1Vd}_VmV}0hS{$-ShNpkgpG_&4vvrR$60*;r@e0hkE^)S ztlKTw@&jziPyC{7H+IX`qr265`Ked8BrID(l3&=+*3*`eEg?(BHV!x$0?dBNhMhpj zWE?)icqSyDlQ=vk%n)Wg8dnG6@OJgdJF5CuZZ#Fc|{-pL*O|b^CU^t#KIk z`&^$|=blr4ojUcnb?>cPw+@_{!`)kRtL^P=x$@b@EL527?QMFqGbyog+qAn2#AHufp z%=#MfEu4=M|8?RwaXv=;H?6wO3HTKagvujPq<`E>keR|8xiXsEB~v%pRJ&35|BaTT z6n|~CBuDoR@9)|d&?A|3#_HVI#x-!Fu-U@Q2`ZFPJ-P~!)e=g+l_I6tysQ~^& z?(V)(dZ7?14A4=CHv}S{&Bco~9??@6punh;@vMSI91`e6=s^rtms^%>GFoXRZ zvsQ5y?w7%S5gv8}ZDTSiy^>icSdsW?yrL1jNc{t5)d*fB{~5Dtxi-A*!P`}teWNC_ zjcC$@wkge;&^G9Lk%Oa>%-X06ZR0lSQrpBJuO-fU15D*w=MPHr?LEyy>I> zjd9Cj^!*0>u(uNa<6OCv>i|C)kjC*NNIr4-IX}uT22(R!3~<%pe#3DwKyRwRAcRW? zmn7@qiZzjF-UesFSeIbILugxVM`t`5I#hJHFu?tKA7<7ZDHc)<6F7_!XRfV`oSADL z;+<5Gy7PnEPYX^*H3#FKNx5V4qBQ9jIL^cQ87od(YpEPzJMF6*E_dRR#;hWB7+}@` z7*)lcwiidD*vo1ZJURzCp)W3rR#reX1`)aji9&aT4^{Sy0OJpe5>bp@IvpaB{eT`8 z`M?EyBwER=BQhKClnW%c%UoPe;*ZKKAa=5-jz-JMDx=}DimLKhWo3C)xDr|1Dcrx4 zPy1+jIkS#gB%s1TBAwKKoXe;*kj0|avFeJ-Xm$A*vp&IN(Az0SYm`V;ELKq&i-jx8 zD#O*~<&la=IWoJ4{Lm*`;^-=R_1)`;UA6d!PKThhlzgN$&e{wu{ouN)SCZEb}nFH0`S z7?%zIMzva%tf$Kze$0B01n5hS2agOADlAykcl(e9HLT3v?mGM$&s*{yo<1#xH@ELGJdN{$FyG@iY-!!p zNI%S4)7=S8AJg1(2Y$!!%VM5FI+efdH~Pq3-EURn=+f@Dq*3CAOFnz!ev8CO%t7=e z`@04Y^d-AS`tW#-xgk7G;JGi;J=io#8%WmSKbE$U4oZ>F^`Kwoa0?kt($jo9&CDOi z@8b10g0CY!jENrQwm$z3Upc*q5c5)gR*$1gs#|F=($L+jYkq_Kt0%-o{ngLC$OOlH zx(94;-qdK{11?lIe#{E0!vOPDiW!b7Im03P@l7bzPW*P@Hx;JJc9?w8Z(}awlw0X- zLnF5w81CxnEA1ZaD;;a=I$VcoEEQ7Lk+#_%&8Q`P1*dVR?_cpL-%kGzEwP^4Vv9zH zM!N=C!5Nx6^S>_TIc$-fLVJa#(EPu%3Ld02fQ!1v`uqDZ6LtY&@#1g~Eby}={-?Bi zrs`oCCc0=hVLs1=2|m%E`2>ZS^O}_GXsV4Qo00+MpW@50+Bd|vV@9Q|wjoKEfd5Pp7w`C`m)h{G>iZHR>3pW zI7i3Ie-Zyv+AeMLWNg$d zS8r;kx_D+)&D~4GqGUubpqA(F{W0I^&-LZ_C-`&x6LWI>dAT{(oaR=vE_H{-cqe~$ z#AUE99@<~jT{KV_xIGZsUl>>$2n9kkZ-Tf{T%o%QcZ3jmQ((=SKr|L83>@_atPDgr zCQ^|J6XlqyOpvmh0)?vsA7j>H+uXLz-sal2!RWF5+RPN}=7m|ej@!K2E(W(U1DdSY z(XclI8s*Tzusj`Dl&HG{a{#F0Q0Nd-Biw24jPmlS%?ICK1 z0DWTu{abh75Rql5LrND;+!VOkmQu~8N+Z;6x)>THTLjHpci1d4=m=3xMUg_JLH4(_ zg}Tr`dWw3B`igMNc6*>Nu#!++MdgKom4QTvN7CU2{0^-SbaN%$MP*@8>VpZI`6xPq zLL7mqyu6{qI6A`1ciRS(qP(^$T3KCP&G4P;2Il*Wm0;F?v7Cg502fJ^^+y(^sE9XI z$Lne%%=Z;a@l{H3QcJs=3x2#ZJ-gS9c)s>fT6}f-eI{K=A;oB=8&HF!e|%G)&folw^t$D8y7L5B-SP6rF8Fd~btg68JgRoH9)T5-r&K*`9t{bI#T znR3;XsZhOS8aH!kB`3jL5UTy_=l~9uiTI#xIX^(L;IfD!3TGf=6bmi5f)43mrI5iL z)eMxQcm_;?XW zn>>WkJH#OYc8WvBZc<3f^Jc{qO(Qlb*$Kq#5{!uH5)8?^W5{0Q+QSc#Q7;`(Hhpx! zSbr`jyNS?=z9(1OimzkjAyVxXhm75#qDlXtVnojS6rSStlR`Qlhxh?>4671QW#1~8 z^;6e?84=8a*<{xN#lZPZIX{EPR`VJ?xR%X@!MEjGG}dCx+!}d+icSePVyIFfhrRQ` zR*k27Jd^jic)yF!aq+pV6Z&Wog9y2<_z5n4qKnVt>APv&7!P?oepus4zxq0r*72G4 zPU7ilshbFsT=A1#{1nzK%U^>8ek|r(rPT-SCt1kgeQdtL`&pjB=dcTCHWmCVm;Ix` zPhc+?{6zM&!RN6r8~h~pS%aU;hd|?C{P9zm$9pWERTvJuTj1)7Uo*emZ-= z;Pct-24BFs41NY{H29gU*x+Ze83sR_{VPTq6)ZM~y=w4t*|P?J4LfP@3)uYzKabsR z@C#YD!7pOX27fI)l&IXPJ_2lx!7pa-8$NB8u>WcBOW9e253d)nYj*dqpC%Kp&c!)(~# zBW$a|N7;IVFJsFMKE|dQd^!7v?+W&+!B?`sGx#d@4TG;{4;uU`cBjFwX1fi3 z4Qn;{wJc`v>)0HFU(bGv0apc!)v%u#d@Va|@OA7@4Zfb;ZSW0jz~JMo#o!aH)ZiOg zfx$PiV>q92iI*$Xr?8hXfUA)2>tPQWe3JDV{0_RSvqQeGgS~}$K^5|St?ZP+U(ZGj zek*G<_#~TW@H^O>V&a3VB>hhtd@K93!C%jAHu$Y9Xz;t(n|z)|SeWnIY51PX_jR&c zjrcZJVelK+Z>h3m$oFky&lr4{;mb7NcN42I;x}VvR;9-Mz3&G09ft+qV))w2_ibl! zBYq=WgYlkJ&|ORczOGmy`8PQ4V+$o8<-DIwmONd;3Vb>2H?qB7<9sfAP4Y82KY_g{ zdHSrNz&DXSqvEj=zrdHrz9MW1k}m+;O77{ke=k zCFxT{f%`7eF~(k$6vg4`sJ>t;d`R-R$>#V%$>RZx^C&z|kIpiI^1)>DXNa~k_F19;DfuJB z?-cWQR3A#t@hBh1gFZ;OYT+xB%KZxQpy!A-F!rXT|A%OjvENAE(1-fr`arq9Rg67G zIPiZV>0c4W$#jM&?0Qb}hMu`n4=C5OTIvDM^?-6c36~!5h90yBw+EE#L8U!T`GNnI zq)!uVWb9d@u;+V{|B>YXhvW^tXjiTml3+>YyAc7W&o0rYp$4jNZ|;OX55*+ctj5IX~>kB-u z4^VE$2H7unN;|;+it+{ht*ahrQwPd_sia1JIInoUgYx`p8T)UP9{dj_oyU&q)tW%?(HLjISMK0|b)>?g4I`;z|$qTmg?alU_+ zUVu=RK!5Z#l*J#wpGl zPSL+PMgI)>fd}P0`U$6KFHTXPoT9v(s`08=ma9b4Qc1&-MkI|&S|({s(sD^FB;A2k z@MQN0V~2?jO8G7){vgS3W$XyiTO9dq#1AueJJG$4oZ}Bj{60s{$IT(x4g+%hLOY$K z^zQcBFL8V1xQcrIIpIKA36@!xbdBP*RrlCv-vL&FH&~-x-JpBa(MaE5NpD~G*zV-; zSU1)f6Uvbd;^nc<5A5$B()s=oq~L;q6772g`P~93GUR-dwG=7;1|wA}w&_Wci*GU9 zV#5Y!Pm+=YhxhRUiz0S)caQWPWPCAVa`(t^i7dL1m+T%H8XGQ&CTsVF5t4)5!+SO~ zkKWQ3j3!AC4r?jJmK^}!wh0Ts!^!G~^5M?jrk3U-kz}tYcn`qM{TzJj-Wv|=-g5n( z#sgi+suZw%%Lw=l2PrbyoTxigRoht~y)~RHONGm~RKSPFIDS*vzP`po%?Hb))t-2~ zd@3Pph7#PGtpoAxTQ(;Lc5m=jPp`p&j*W11Q-AgDj{c_6y_JzPSg0 zD+Z~>`(sL;P1Bn7`tQyh--e*wDf4U^J~eakGL+J1)6d-L`TJ8!oXt7lmAHozXLGj6 z#58t|x5{N&z5;}@P2cxZ8rx1fj>=YP$5qoJ@p!7)NttyWtFDZ?$)+dE^CruhR4?HH z&!(pWE-DQ8YNVl3E6eDEBHHkMJrTMZ~;{M-gRS<)esb zx&lVMT9i^m(v{q!eEb~u$brkNJZ$0-mFZGcdf3EMRCw6LBg#EmLqw#rHs;Y9JVlvD zYlsMs*5DCQkJbJ$lQ-N9LOJ^4H$oPHYMV**^r4xW?f`k>O3l|X!#(eJ-G#YS#UI)rIfW*m~-Gy zTFk<<3#*TogezEX{m=;Z@GRa~#wJXjxN(vX3r&18eRHh2)-~2VYte)y)--@IRY9BO zidiI(EW&F(@lJu}uP9*ZhQBM}4E`aS2bxdA)DxfQA_1n_`1Uk(OhMsjo=eBYz+igF z4hl!}$vUndOo5GZ^qq3y4gvRuhRc!1UvS}eAtOv<*+J!dmkT$Fh^uXslkX29*X_Ft z`~u9gsi5+G+J$=N5151@5SZgBl+G+@-Gxb9I=`vxCCXwo_!E3cG+) zd67&Vf7*rX1@0xK1URMR6B4JQs;(99V3dA^!xWyKhT;wZM}0wsbhtBF;-&|()3+12 zHkB!8x_nOp*N_G7JaD_Rz_l$F-@hnmx_nOnw@raS)8XFB64$vTyK;OUxLqFkV(Q(t zfui39?syis`z9&DBf*c4A+8pY%eGfXgYlhmSu-~8@O{>=sUX{{XPra z!y&YrGAe_8?-pWCJqui5CE6_uTrUO<+HFP!b?C0=Lzt6)O@Tnu;dbKUK|9Z=pbl4S zX(;Xj=JcBsNQ-mh)`YR}EeqU9;Ci#bO~<D!6xdN%gG09-cpTvN^1d6g-s%J()5;Ody7!>hd8 z*Nr;_Tr3NHC$q$z%QD{(IvP$nJ1E=T_O$`G%SJh6bmL9|cPtBBcukh|0-RU7x$}J+ zxNOQXbFFyytV~qp-Q#Mvv%sD6E0j}S3}Z(7o~$+3j3|9>+>2S_-UW`*s*q0KwRPU* zb?4g%9EM6eq|-N?rM}N+i8~G4Vmnu-&fNC>0ytda?2yjBoOi#@rD1$1;PjR5z_i~40 zAK94BzBhooODO|Y`rP&nc4lYa6Tne^Dkyy?UG~l0?AW&(;B@wdfO}Xe16BIm_B{t& zn+MKae{;8pwOtCT^xf&Q?_uCn`}P2w&c0KGQ%W+}cY3S$_1tY=5pIeblyRCq+L=mk z-(ldCecc)CI|kf)9{Sw%cXT^rCp~a(`$9M3(*eH&R7IcbvhO~u4WMpHePIWFs{SSe z$J5Aj;`6|r$W7IUrHJ-3GsUh!BZQ&wOE^~gsQho^Hwix#25({P7#PZzvY>p)j-TSE zhg`0_+FjWr1C>+(5u5STwb0O=+kBXykpL5}2nm(FSP`G0*+!_rx zQN!(V;TnJoKt}ma#!u-(cQfqk1y1!BnhHsW8`W@xPlvlp!%@FXhr3_H(fma^+zAag zBLnUU4M*3Jbo$O{xLFx+FKM{h8E~&@xH%bc7c?C8hjjMkU@eYn51KYnI9yhYcAE*D z>R0nJ;EFWd{0z7T;Mx%1i{F9_xch-?lDLH#aIa{%MHz5GtRccs#Ph{eN80ip1y1D~ z$bdTo+`UrY;taSJtZ_OfaZ57b&H^_qaZ5Ac)&R6i;({4)$AMGjy)Fap0&pr{JgVFE zg2yJKAN1bpj6X8a47j^ATu}zxr+}M|cJ_GKohO5bddr8C9 zX289o;p#HrUej>(8E|iFxP}b43mPt-0r#GUOJu<1j5z(C#>RB@JXOQd_@Qtq<0)`z zJjE@yjdQnKk*05>hI8wSY5H0-;94{sZn^Dz-THbp99_fHmE$OIG!FFQr|yUHaO~E1 zLc=9BeRR$7 zu1d^KEJ&QJoA~mQL?ls__~2jO{~(Zf=8f|oXMulv-AX){&)z!C*jqL1*qivS>apR* z;U^~~rY2@3mLv)jVU8buhO)j)J2_!tVNXw>xVWdf8vhRr4-Vj^WM9wd0Mub)F(9?HWRRJ9(iEdP>ErQ=0~g8#dN%h-0g#MDwP2atn4| zZf#G}CeLekE-6m5?_2`J=C<1H$@+LZb_H$Sx~ZiV`v+kkXtYrvLpfvz>S1)%`~bnv z`{hdJJ9>4&Rcs=gXr=cKPj{Fq1aVL|KO^|2{jvitBTT(z?;nHM!{i`*3YXvE63?3jMbz8E;^C3Z`S;yyT36P5&0yrTE>fcXq37 ziN#%?%e27DVvih%m|T7SThJ9ngB1eI>7R-0d6-_2$kZ+ zOeDQQB_-;zLDm8Rc~CWDvG!Dvt;j*q!y*q?JdKfC3T)kvt2GU1L;XoOACLliwy4K# zZ+iz^q6Esr<>4!y#;$l8yD@+rhS6RAzwk6h<0Oq8n3u-|^dzXb&n3wm{6yTlIQk3x z_}v{Sqsep;^%{=ome{y80?+7ufPl0?^Wy|jw-6MKDiUh}0-&Vsihr6b{%M4R8*HTx zKRoc=a>YLlv(oMl%=hu8590WlBwUS?ud*xtX{;;$X|DLE5x!aALE?&kniLmGSNzkE z|0MJc!vW0||1@4cm#+AyX-+wRuK1@B?vJ<+n{52k&{`CllAwvem++G_pqc#W!oLe{ zZ7$PGO`6LQA&Mk8mM(IaJ%w&<H>2Mc`(31b*LN8k`ywts7(2#oJc$3O_e+@VO@A|Pxw*5sr2~#uk^$yl0nZyN{W+*v>Ji2G72!u~ppM~}#d#z4xw!l% z4sut093Q!))?50jv3D`yMN&RS=sAUK{k{5iiojBOvr22UPT+TG{gQ9-)U|)~z~vl> zF4{K_aXYavFtv^|zKKZR08Zc3OC@IwwM(>mLt(!VJYd3YOepvz!Kr!^y`u6Q@ zovrX*T3;XU=%AUdaz~n|ZEgv`*;^${@a zEd3Jw9vUf z#P2!$vN<=@%dX4T92Yqo+;8I5+vi;V(wV;-%;*1?6g-WW(2t@R>`5&>`C9p!!TZ=l2JdGN8hj4BO5?FJ_6NVF^$IdrSZVnW2A{|N#^5Kh zKQs8r>{AAR6&p49DQt(qU(MCe2lFy_$u}*x;c^| z-xp$EGx!MGXYj?W#Ne;vd!jq(7qe4}0nPW7GkmgOhkR`MPtP+dE^ z+u|Dr?_&>3ekPCivp+WY9Cn>j#^cR>hP-@D%m!|9z1S~la)b17Fh%+}z_~&9_&!`3 z)(}NroX58moX5Gvd90=5Jo*}SH{TM*?jwqi@a`uHV+}d}wedg3%sQsD5%_tNKdn&k5(EpY0IX2~!tiM`)rF8L}c#{)grgMRY`!mnfOA)vd)fr`}4 z)3v8lWFS*qUmcG%McT%8Z}Z+iT}&QjxjC_XC?@m8X6{4RN5*Qqw~QS;(4A_Jnmhr# z8S_WjE50_`ymxTV*xsIwK2JEN1TM1oySeu^Q@d%4-Q3e{;cl#J8YpqrFkNgvc3KE; zZqE)DD+cxL`PF{3vTkTY?rbW@EJ#px44yiRp5aQZrmQG=Ha#UJ`M-Dfbv`Xlxo6YR zskw_zNa?fLBHNW->-JjtGxmF_fp0B7zIM}+^39>MIi2-f$Jt_HGxX7MHJ3^|p0-kH z$JJ0g@i7{mfo>W!1c8X@an8}kxrX5#@S82!7;Z@pkb$FgwYb34A*|gGS*gd|?V_#!?Yk99- z)$PcL$L_{Xq{k-D>iXxgU-D(!&z$x-_t^KD4=f&gJ9GJe;J)Ey9@WJA#AV!Xdz|}I z+hdg4(_ZXp9VufUrH!ij9XW2)^iTEpeH*^s)b8IdvhlOLBCuLKnS7W#Kf^({Ps|_C za}xzTa`CwY&fp)Sd7$ShJnHf1D-vwOkLDayP`HgQeMbS9sX(9#H;7|hA3bMz;nqrh zO2r8rbb}3K>eT$|rcFY4;=;~JwWr zzVd_#+}vu_xF zz@@9dFmNY4^ttVO3AnpFaPIos7GMm2c2M@+?6U6=K+3+AK&P|sUf{g)b=x;}ad!3B z30$vjol}2BF8iJWPT992gMH5d_o#+RcwlTF!I zg1B_`w+*<5c~0V=%GYh*yTEx}kKFdP1ikkb{UOxr_Pqq0vab|z>Fj$AxU*TU+PJHl;s;Z6ZZ`A|7<$+q>mai=vL z=~4N*aW7~%vL_wxoQA_C*2XpBSTDzU;O0U`_Tkc*7MB+h8*346Y6jdP;HZuXhu2DJ z^}V3sXzK=54!3ceXZ8&`>Ay&O*gNA*VeQa@7q+_=*kt{?;MISn@>1MUS4 zhf9;4FI{VO`(D;?^D^MhX}I|raBpb11sQPXH5@K=wten;eit~^4{#|-i<^#jI|@f- zRQ2rE7t(OcGvI18oVw0XJG%94({O6M^1=;kI2@+6?_NZP5KsMu`iLsWH8}R;r@|@V ic54HP8n392>9{#~_w>5f;0i|+xM8L5{q^40!T$#p5EEJe diff --git a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/alios/upay_lite/upay_vendor.h b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/alios/upay_lite/upay_vendor.h index 73789ed..75103dd 100644 --- a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/alios/upay_lite/upay_vendor.h +++ b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/alios/upay_lite/upay_vendor.h @@ -21,7 +21,7 @@ //#include "upay_common.h" - +//#define aos_printf(fmt, ...) co_printf(fmt,##__VA_ARGS__); //安全数据API,需要一块单独大小为2.5K的区域存储,要求恢复出厂设置不能被清除、OTA不能被清除、常规烧录升级不能被清除 /** * 安全数据写入,大小为2.5K,需要厂商实现 diff --git a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/ble_simple_peripheral.c b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/ble_simple_peripheral.c index 796e1b9..55c836e 100644 --- a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/ble_simple_peripheral.c +++ b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/ble_simple_peripheral.c @@ -282,16 +282,18 @@ void sp_start_adv(void) } else { - gap_bond_info_t bond_info; + //gap_bond_manager_delete_all(); + gap_bond_info_t bond_info={0}; + co_printf("gap_bond_manager_get_info 1 !!!!!!!!\n"); gap_bond_manager_get_info(0, &bond_info); - + co_printf("gap_bond_manager_get_info 2 bond_info.bond_flag:%d!!!!!!!!\n",bond_info.bond_flag); // Set advertising parameters gap_adv_param_t adv_param; adv_param.adv_mode = GAP_ADV_MODE_UNDIRECT; adv_param.adv_addr_type = GAP_ADDR_TYPE_PRIVATE; adv_param.adv_chnl_map = GAP_ADV_CHAN_ALL; adv_param.adv_filt_policy = GAP_ADV_ALLOW_SCAN_ANY_CON_ANY; - //adv_param.disc_mode = (bond_info.bond_flag == true) ? GAP_ADV_DISC_MODE_NON_DISC : GAP_ADV_DISC_MODE_GEN_DISC; + adv_param.disc_mode = (bond_info.bond_flag == true) ? GAP_ADV_DISC_MODE_NON_DISC : GAP_ADV_DISC_MODE_GEN_DISC; adv_param.adv_intv_min = MSEC_TO_UNITS(30, UNIT_0_625_MS); adv_param.adv_intv_max = MSEC_TO_UNITS(30, UNIT_0_625_MS); @@ -304,7 +306,9 @@ void sp_start_adv(void) memcpy(&scan_rsp_data[2], name, ADV_NAME_BT1_LEN); // Set advertising data & scan response data + co_printf("gap_bond_manager_get_info 3 !!!!!!!!\n"); gap_set_advertising_data(adv_data, (bond_info.bond_flag == true) ? (sizeof(adv_data) - 7) : sizeof(adv_data)); + co_printf("gap_bond_manager_get_info 4 !!!!!!!!\n"); gap_set_advertising_rsp_data(scan_rsp_data, ADV_NAME_BT1_LEN + 2); co_printf("%s\r\n", (bond_info.bond_flag == true) ? "Have bond info" : "Nothing bond info"); } @@ -390,11 +394,11 @@ void simple_peripheral_init(void) co_printf("Local MAC: %02X:%02X:%02X:%02X:%02X:%02X\r\n", addr.addr[5], addr.addr[4], addr.addr[3], addr.addr[2], addr.addr[1], addr.addr[0]); // Adding services to database - dis_gatt_add_service(); - sp_gatt_add_service(); - hid_gatt_add_service(); - ota_gatt_add_service(); - batt_gatt_add_service(); + dis_gatt_add_service();// + sp_gatt_add_service();//¼Òô + hid_gatt_add_service();//hid + ota_gatt_add_service();//Éý¼¶ + batt_gatt_add_service();//µç³Ø } void enable_latency(void) @@ -418,17 +422,42 @@ void disable_latency(void) } smart_latency_cnt_reset(); } +//Ä£ÄâHID·¢ËÍ +void ble_s_hid_data_tx(uint8_t * p_data, uint8_t len) +{ + //ntf_data(m_conn_index, SP_IDX_CHAR1_VALUE, p_data, len); + ntf_data(m_conn_index, SP_IDX_HID_VALUE, p_data, len); + disable_latency(); + conn_sleep_cnt_reset(); +} +#define aliapp_data_tx_one_len 150 +void ble_aliapp_data_tx(uint8_t * p_data, uint16_t len) +{ + //ntf_data(m_conn_index, SP_IDX_CHAR1_VALUE, p_data, len); + int count = len/aliapp_data_tx_one_len; + ntf_data(m_conn_index, SP_IDX_ALIAPP_VALUE, "-$$", strlen("-$$")); + for(int i=0;i<(count);i++) + { + ntf_data(m_conn_index, SP_IDX_ALIAPP_VALUE, p_data+i*aliapp_data_tx_one_len, aliapp_data_tx_one_len); + } + if(len%aliapp_data_tx_one_len) + ntf_data(m_conn_index, SP_IDX_ALIAPP_VALUE, p_data+(count)*aliapp_data_tx_one_len, (len-(count)*aliapp_data_tx_one_len)); + ntf_data(m_conn_index, SP_IDX_ALIAPP_VALUE, "$$-\n", strlen("$$-\n")); + disable_latency(); + conn_sleep_cnt_reset(); +} void ble_app_data_tx(uint8_t * p_data, uint8_t len) { ntf_data(m_conn_index, SP_IDX_CHAR1_VALUE, p_data, len); - + //ntf_data(m_conn_index, SP_IDX_ALIAPP_VALUE, p_data, len); disable_latency(); conn_sleep_cnt_reset(); } void ble_hid_data_tx(uint8_t * p_data, uint8_t len) { + co_printf("ble_hid_data_tx!!!!!!!!!\n"); ntf_data(m_conn_index, SP_IDX_CHAR2_VALUE, p_data, len); disable_latency(); @@ -466,7 +495,11 @@ void hid_mouse_value_send(uint8_t click, int8_t x, int8_t y, int8_t wheel) if (g_device_param.mouse_mode == WORK_2_4G_MODE) ble_hid_data_tx(mouse_buff, sizeof(mouse_buff)); else + { + ble_s_hid_data_tx(mouse_buff, sizeof(mouse_buff)); hid_gatt_report_notify(m_conn_index, 0, mouse_buff, sizeof(mouse_buff)); + } + disable_latency(); conn_sleep_cnt_reset(); @@ -482,7 +515,11 @@ void hid_consumer_value_send(uint16_t key_code) if (g_device_param.mouse_mode == WORK_2_4G_MODE) ble_hid_data_tx(code_buff, sizeof(code_buff)); else + { + ble_s_hid_data_tx(code_buff, sizeof(code_buff)); hid_gatt_report_notify(m_conn_index, 1, code_buff, sizeof(code_buff)); + } + disable_latency(); conn_sleep_cnt_reset(); @@ -493,7 +530,11 @@ void hid_keyboard_value_send(uint8_t * p_keys_buff) if (g_device_param.mouse_mode == WORK_2_4G_MODE) ble_hid_data_tx(p_keys_buff, 8); else + { + ble_s_hid_data_tx(p_keys_buff, 8); hid_gatt_report_notify(m_conn_index, 2, p_keys_buff, 8); + } + disable_latency(); conn_sleep_cnt_reset(); diff --git a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/ble_simple_peripheral.h b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/ble_simple_peripheral.h index 10fe414..920836c 100644 --- a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/ble_simple_peripheral.h +++ b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/ble_simple_peripheral.h @@ -75,6 +75,7 @@ void sp_start_adv(void); uint8_t curr_conn_index_get(void); void enable_latency(void); void disable_latency(void); +void ble_aliapp_data_tx(uint8_t * p_data, uint16_t len); void ble_app_data_tx(uint8_t * p_data,uint8_t len); void ble_hid_data_tx(uint8_t * p_data, uint8_t len); void ble_send_debug(char * str, uint8_t len, uint32_t data); diff --git a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/config.h b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/config.h index d416c0b..bba74c4 100644 --- a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/config.h +++ b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/config.h @@ -33,14 +33,14 @@ #define HW_VERSION "V1.0" #define FW_VERSION "V1.0.109" -#define ADV_NAME_BT1_LEN 12 -#define ADV_NAME_BT1 "FR_Mouse_BLE" +#define ADV_NAME_BT1_LEN 7 +#define ADV_NAME_BT1 "VMouse" -#define ADV_NAME_2_4G_LEN 11 -#define ADV_NAME_2_4G "FR_Mouse_DG" +#define ADV_NAME_2_4G_LEN 7 +#define ADV_NAME_2_4G "VMouse" -#define ADV_NAME_2_4G_PAIR_LEN 13 -#define ADV_NAME_2_4G_PAIR "FR_Mouse_DG_P" +#define ADV_NAME_2_4G_PAIR_LEN 9 +#define ADV_NAME_2_4G_PAIR "VMouse_P" #define UART_LOG_ENABLE ENABLE // ÓÉÓÚPA3¸´Ó㬴ò¿ªLOG¿ÉÄÜÔì³ÉijЩ¹¦ÄÜÊÜÏÞ #define WDT_ENABLE ENABLE // ¿´ÃŹ· @@ -57,7 +57,7 @@ #define MOUSE_SLEEP_ENABLE ENABLE // ʹÄÜÊó±êÐÝÃß #define MOUSE_ADV_SLEEP_TIMEOUT_SEC (20) // Êó±ê˯Ãßʱ¼ä£¬µ¥Î»S -#define MOUSE_CONN_SLEEP_TIMEOUT_SEC (60*10) // Êó±ê˯Ãßʱ¼ä£¬µ¥Î»S +#define MOUSE_CONN_SLEEP_TIMEOUT_SEC (60*1) // Êó±ê˯Ãßʱ¼ä£¬µ¥Î»S /* * TYPEDEFS (ÀàÐͶ¨Òå) diff --git a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/flash_usage_config.h b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/flash_usage_config.h index 5b5f1a2..2921b69 100644 --- a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/flash_usage_config.h +++ b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/flash_usage_config.h @@ -10,7 +10,7 @@ #define _FLASH_USAGE_CONFIG_H /* - * MACROS (ºê¶¨Òå) + * MACROS (????) */ /* @@ -32,6 +32,7 @@ #define JUMP_TABLE_STATIC_KEY_OFFSET 0x7F000 #define BLE_BONDING_INFO_SAVE_ADDR 0x7D000 #define BLE_REMOTE_SERVICE_SAVE_ADDR 0x7E000 + #define ALI_DATA_ADDR 0x6f000 //Óû§ÅäÖÃÇø0x7c000-0x7D000 #define FLASH_MAX_SIZE 0x80000 #endif // FOR_4M_FLASH @@ -45,7 +46,7 @@ /* * uncomment this MACRO if user need protect flash from unexpected erase or write operation */ -#define FLASH_PROTECT +//#define FLASH_PROTECT #endif // _FLASH_USAGE_CONFIG_H diff --git a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/gpio.c b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/gpio.c index 6da1212..3f7284d 100644 --- a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/gpio.c +++ b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/gpio.c @@ -32,7 +32,8 @@ void user_gpio_init(void) µÍµçƽ£º2.4Gģʽ ¸¡¿Õ/¸ßµçƽ£ºÀ¶ÑÀģʽ */ - if (pmu_get_gpio_value(MODE_DETECT_PIN_PORT, MODE_DETECT_BIT) == 0) + //if (pmu_get_gpio_value(MODE_DETECT_PIN_PORT, MODE_DETECT_BIT) == 0) + if(1) { g_device_param.mouse_mode = WORK_2_4G_MODE; patch_set_2ms(true); diff --git a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/inflash.c b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/inflash.c index de918d7..cc8a931 100644 --- a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/inflash.c +++ b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/inflash.c @@ -89,6 +89,10 @@ void user_inflash_init(void) { user_data.peer_addr.addr[3] += 1; } + 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.peer_addr); if (user_data_tmp.reset_status == 0xA5A5A5A5) diff --git a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/keyscan.c b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/keyscan.c index 6be8508..cb602b9 100644 --- a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/keyscan.c +++ b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/keyscan.c @@ -656,6 +656,17 @@ void button_callback(Button_t btn, PressEvent event, uint8_t repeat) { case SINGLE_CLICK: co_printf("mode_button SINGLE_CLICK\r\n"); + if(g_device_param.mouse_mode == WORK_BT1_MODE) + { + g_device_param.mouse_mode = WORK_2_4G_MODE; + patch_set_2ms(true); + co_printf("[gpio]2.4G mode select\r\n"); + } + else + { + g_device_param.mouse_mode = WORK_BT1_MODE; + co_printf("[gpio]BT mode select\r\n"); + } break; case LONG_PRESS_START: diff --git a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/proj_main.c b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/proj_main.c index a2cd186..ccb985d 100644 --- a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/proj_main.c +++ b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/proj_main.c @@ -40,13 +40,13 @@ #include "ble_simple_peripheral.h" #include "simple_gatt_service.h" - +#include "version.h" /* * LOCAL VARIABLES */ device_param_t g_device_param = { - .sensor_model = UNKNOWN, + .sensor_model = sensor_UNKNOWN, .is_enter_sleep = false, .latency_cnt = SMART_LATENCY_TIMEOUT_SEC, .bat_cnt = BAT_DETECT_TIMEOUT_PER_10SEC, @@ -146,7 +146,7 @@ void user_init_static_memory(void) */ void user_custom_parameters(void) { -#if 0 +#if 1 __jump_table.addr.addr[0] = 0xBD; __jump_table.addr.addr[1] = 0xAD; __jump_table.addr.addr[2] = 0xAA; @@ -183,7 +183,7 @@ void user_custom_parameters(void) */ __attribute__((section("ram_code"))) void user_entry_before_sleep_imp(void) { - uart_putc_noint_no_wait(UART1, 's'); + //uart_putc_noint_no_wait(UART1, 's'); } /********************************************************************* @@ -208,7 +208,7 @@ __attribute__((section("ram_code"))) void user_entry_after_sleep_imp(void) uart_init(UART1, BAUD_RATE_921600); //NVIC_EnableIRQ(UART1_IRQn); - uart_putc_noint_no_wait(UART1, 'w'); + //uart_putc_noint_no_wait(UART1, 'w'); // Do some things here, can be uart print NVIC_EnableIRQ(PMU_IRQn); @@ -281,10 +281,28 @@ bool system_nosleep_evt_get(void) */ #include "bizbus_common.h" #include "upay_vendor.h" +#include "cJSON.h" void user_entry_after_ble_init(void) { co_printf("\r\nFR801X Mouse demo\r\n"); - + char *build_date,*build_time; + get_SDK_compile_date_time(&build_date,&build_time); + co_printf("\r\nbuild_date:%s,build_time%s\r\n",build_date,build_time); + co_printf("\r\nbuild_date:%s,build_time%s\r\n",build_date,build_time); + co_printf("\r\nbuild_date:%s,build_time%s\r\n",build_date,build_time); + #if 1 + char data [100]={0}; + sprintf(data,"hahah:%f",23.014); + co_printf("\r\nsprintf data:%s!!!!!!!!!!!\r\n",data); + // memset(data,'a',sizeof(data)-1); + // flash_erase(ALI_DATA_ADDR,sizeof(data)); + // flash_write(ALI_DATA_ADDR,sizeof(data),(uint8_t *)data); + // memset(data,'b',sizeof(data)); + co_delay_100us(10 * 30); + flash_read(ALI_DATA_ADDR,sizeof(data),(uint8_t *)data); + co_printf("\r\ndata:%s\r\n",data); + #endif + cJSON_InitHooks(NULL); user_timer_init(); user_led_init(); user_gpio_init(); @@ -299,8 +317,19 @@ void user_entry_after_ble_init(void) wdt_init(WDT_ACT_CALL_IRQ, 10); wdt_start(); #endif - bizbus_init_para_t para; + bizbus_init_para_t para = {0};; + strcpy((char *)para.pk_str,"a1c7Ojs6HMR"); + strcpy((char *)para.ps_str,"TxPFIJ5F1kwa0zO3"); + strcpy((char *)para.version_str, "HAAS-3AX-"); + strcpy((char *)para.vendor_str, "AAA-BBB-"); + strcpy((char *)para.id2_pk, "12345678901"); + para.dn_without_prefix = 1; //新接入客户统一传1 + mac_addr_t addr; + gap_address_get(&addr); + sprintf((char *)para.mac_str,"%02X%02X%02X%02X%02X%02X", addr.addr[5], addr.addr[4], addr.addr[3], addr.addr[2], addr.addr[1], addr.addr[0]); + co_printf("bizbus_init:mac:%s\n",para.mac_str); bizbus_init(¶); + // Application layer initialization, can included bond manager init, // advertising parameters init, scanning parameter init, GATT service adding, etc. simple_peripheral_init(); diff --git a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/sensor.c b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/sensor.c index b812481..7c10860 100644 --- a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/sensor.c +++ b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/sensor.c @@ -11,8 +11,15 @@ #undef LOG_LEVEL_MODULE #define LOG_LEVEL_MODULE (LOG_LEVEL_INFO) -#define sensor_delay() __nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop(); - +//#define sensor_delay() __nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop(); +void sensor_delay(void) +{ + int count = 30; + while(count--) + { + __nop(); + } +} #define PRODUCT_ID1_REG 0x00 #define PRODUCT_ID2_REG 0x01 #define MOTION_STATUS_REG 0x02 @@ -46,12 +53,12 @@ const char * sensor_type_str[SENSOR_MAX] = const uint8_t SENSOR_PID_TABLE[SENSOR_MAX][2] = { - {0}, // UNKNOWN - {0x60,0x60}, // PAW3205 + {0xff}, // UNKNOWN + {0x31, 0x00}, // PAW3205 {0x30, 0x02}, // PAW3212 - {0}, // PAW3065 - {0}, // PAW3065XY - {0}, // KA8 + {0x31, 0x04}, // PAW3065 + {0xff}, // PAW3065XY + {0xff}, // KA8 {0x58, 0x59}, // KA8G2 {0x58, 0x57}, // KA5857 }; @@ -63,7 +70,7 @@ Target CPI = SENSOR_DPI_TABLE[x][2] * CPI_X const uint8_t SENSOR_DPI_TABLE[SENSOR_MAX][3] = { {0}, // UNKNOWN - {0}, // PAW3205 + {16, 63, 38}, // PAW3205 {16, 63, 38}, // PAW3212 {0}, // PAW3065 {0}, // PAW3065XY @@ -98,6 +105,9 @@ static void sensor_sync_clk(void) static uint8_t sensor_read_byte(void) { uint8_t data; + // sensor_sdio_set_output(); + // sensor_sdio_cpu_set(); + // __nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop(); sensor_sdio_set_input(); for (uint8_t i = 0; i < 8; i++) { @@ -129,6 +139,8 @@ static uint8_t sensor_read_byte(void) static void sensor_write_byte(uint8_t data) { sensor_sdio_set_output(); + // sensor_sdio_cpu_set(); + // __nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop(); for (uint8_t i = 0; i < 8; i++) { if (data & 0x80) @@ -157,6 +169,7 @@ static void sensor_write_byte(uint8_t data) static void sensor_write_reg(uint8_t reg_addr, uint8_t data) { sensor_write_byte(reg_addr | 0x80); + co_delay_10us(1); sensor_write_byte(data); } @@ -170,6 +183,7 @@ static void sensor_write_reg(uint8_t reg_addr, uint8_t data) static void sensor_read_reg(uint8_t reg_addr, uint8_t* p_data) { sensor_write_byte(reg_addr); + co_delay_10us(1); *p_data = sensor_read_byte(); } @@ -220,8 +234,24 @@ void sensor_gpio_pmu_init(void) ************************************************************************************************************************/ void snesor_dpi_init(uint16_t dpi) { - sensor_write_reg(CPI_X_REG, dpi/SENSOR_DPI_TABLE[g_device_param.sensor_model][2]); - sensor_write_reg(CPI_Y_REG, dpi/SENSOR_DPI_TABLE[g_device_param.sensor_model][2]); + if(g_device_param.sensor_model ==PAW3205) + { + sensor_write_reg(0x09,0x5a); //Unlock WP + + } + + sensor_write_reg(CPI_X_REG,0x14);// dpi/SENSOR_DPI_TABLE[g_device_param.sensor_model][2]); + sensor_write_reg(CPI_Y_REG, 0xe3);//dpi/SENSOR_DPI_TABLE[g_device_param.sensor_model][2]); + uint8_t reg_val = 0; + sensor_read_reg(CPI_X_REG, ®_val); + LOG_INFO("[sensosor]snesor_dpi_init:[%02x]: 0x%x\r\n", CPI_X_REG,reg_val); + sensor_read_reg(CPI_Y_REG, ®_val); + LOG_INFO("[sensosor]snesor_dpi_init:[%02x]: 0x%x\r\n", CPI_Y_REG,reg_val); + if(g_device_param.sensor_model ==PAW3205) + { + sensor_write_reg(0x09,0x00); //Lock WP + } + LOG_INFO("[sensosor]dpi set:%d\r\n", dpi); #if 0 @@ -232,7 +262,103 @@ void snesor_dpi_init(uint16_t dpi) LOG_INFO("[sensosor]y dpi_tmp:%d\r\n", tmp*SENSOR_DPI_TABLE[g_device_param.sensor_model][2]); #endif } - +void reg_init(void) +{ + uint8_t reg_val = 0; + if(g_device_param.sensor_model ==PAW3205) + { + sensor_write_reg(0x09,0x5a); //Unlock WP + + sensor_write_reg(0x28,0xb4); + sensor_read_reg(0x28, ®_val); + LOG_INFO("[sensosor]reg_init:[0x28]: 0x%x\r\n", reg_val); + sensor_write_reg(0x29,0x46); + sensor_read_reg(0x29, ®_val); + LOG_INFO("[sensosor]reg_init:[0x29]: 0x%x\r\n", reg_val); + sensor_write_reg(0x2a,0x96); + sensor_read_reg(0x2a, ®_val); + LOG_INFO("[sensosor]reg_init:[0x2a]: 0x%x\r\n", reg_val); + sensor_write_reg(0x2b,0x8c); + sensor_read_reg(0x2b, ®_val); + LOG_INFO("[sensosor]reg_init:[0x2b]: 0x%x\r\n", reg_val); + sensor_write_reg(0x2c,0x6e); + sensor_read_reg(0x2c, ®_val); + LOG_INFO("[sensosor]reg_init:[0x2c]: 0x%x\r\n", reg_val); + sensor_write_reg(0x2d,0x64); + sensor_read_reg(0x2d, ®_val); + LOG_INFO("[sensosor]reg_init:[0x2d]: 0x%x\r\n", reg_val); + sensor_write_reg(0x38,0x5f); + sensor_read_reg(0x38, ®_val); + LOG_INFO("[sensosor]reg_init:[0x38]: 0x%x\r\n", reg_val); + sensor_write_reg(0x39,0x0f); + sensor_read_reg(0x39, ®_val); + LOG_INFO("[sensosor]reg_init:[0x39]: 0x%x\r\n", reg_val); + sensor_write_reg(0x3a,0x32); + sensor_read_reg(0x3a, ®_val); + LOG_INFO("[sensosor]reg_init:[0x3a]: 0x%x\r\n", reg_val); + sensor_write_reg(0x3b,0x47); + sensor_read_reg(0x3b, ®_val); + LOG_INFO("[sensosor]reg_init:[0x3b]: 0x%x\r\n", reg_val); + sensor_write_reg(0x42,0x10); + sensor_read_reg(0x42, ®_val); + LOG_INFO("[sensosor]reg_init:[0x42]: 0x%x\r\n", reg_val); + sensor_write_reg(0x54,0x2e); + sensor_read_reg(0x54, ®_val); + LOG_INFO("[sensosor]reg_init:[0x54]: 0x%x\r\n", reg_val); + sensor_write_reg(0x55,0xf2); + sensor_read_reg(0x55, ®_val); + LOG_INFO("[sensosor]reg_init:[0x55]: 0x%x\r\n", reg_val); + sensor_write_reg(0x61,0xf4); + sensor_read_reg(0x61, ®_val); + LOG_INFO("[sensosor]reg_init:[0x61]: 0x%x\r\n", reg_val); + sensor_write_reg(0x63,0x70); + sensor_read_reg(0x63, ®_val); + LOG_INFO("[sensosor]reg_init:[0x63]: 0x%x\r\n", reg_val); + sensor_write_reg(0x75,0x52); + sensor_read_reg(0x75, ®_val); + LOG_INFO("[sensosor]reg_init:[0x75]: 0x%x\r\n", reg_val); + sensor_write_reg(0x76,0x41); + sensor_read_reg(0x76, ®_val); + LOG_INFO("[sensosor]reg_init:[0x76]: 0x%x\r\n", reg_val); + sensor_write_reg(0x77,0xed); + sensor_read_reg(0x77, ®_val); + LOG_INFO("[sensosor]reg_init:[0x77]: 0x%x\r\n", reg_val); + sensor_write_reg(0x78,0x23); + sensor_read_reg(0x78, ®_val); + LOG_INFO("[sensosor]reg_init:[0x78]: 0x%x\r\n", reg_val); + sensor_write_reg(0x79,0x46); + sensor_read_reg(0x79, ®_val); + LOG_INFO("[sensosor]reg_init:[0x79]: 0x%x\r\n", reg_val); + sensor_write_reg(0x7a,0xe5); + sensor_read_reg(0x7a, ®_val); + LOG_INFO("[sensosor]reg_init:[0x7a]: 0x%x\r\n", reg_val); + sensor_write_reg(0x7c,0x48); + sensor_read_reg(0x7c, ®_val); + LOG_INFO("[sensosor]reg_init:[0x7c]: 0x%x\r\n", reg_val); + sensor_write_reg(0x7d,0x80); + sensor_read_reg(0x7d, ®_val); + LOG_INFO("[sensosor]reg_init:[0x7d]: 0x%x\r\n", reg_val); + sensor_write_reg(0x7e,0x77); + sensor_read_reg(0x7e, ®_val); + LOG_INFO("[sensosor]reg_init:[0x7e]: 0x%x\r\n", reg_val); + sensor_write_reg(0x1B,0x35); + // check reg value + sensor_read_reg(0x1B, ®_val); + LOG_INFO("[sensosor]reg_init:[0x1B]: 0x%x\r\n", reg_val); + // sensor_write_reg(0x7f,0x01); + // sensor_write_reg(0x0B,0x00); + // sensor_write_reg(0x7f,0x00); + sensor_write_byte(0xff); + sensor_write_byte(0x01); + sensor_write_reg(0x0B,0x00); + sensor_write_byte(0xff); + sensor_write_byte(0x00); + + sensor_write_reg(0x09,0x00); //Lock WP + //sensor_poweron(); + } + +} /************************************************************************************************************************ * º¯ÊýÃû³Æ: sensor_init() * ¹¦ÄÜ˵Ã÷: ³õʼ»¯sensor @@ -256,23 +382,45 @@ uint8_t user_sensor_init(void) sensor_sclk_cpu_set(); sensor_sdio_cpu_set(); - sensor_read_reg(PRODUCT_ID1_REG, &sensor_id1); - sensor_read_reg(PRODUCT_ID2_REG, &sensor_id2); - LOG_INFO("[sensosor]id1: 0x%02x, id2: 0x%02x\r\n", sensor_id1, sensor_id2); - - for (uint8_t i = 0; i < SENSOR_MAX; i++) + + + // if(g_device_param.sensor_model ==PAW3205) + // { + // sensor_write_reg(0x09,0x5a); //Unlock WP + + // } + while(1) { - if (sensor_id1 == SENSOR_PID_TABLE[i][0] && sensor_id2 == SENSOR_PID_TABLE[i][1]) - { - g_device_param.sensor_model = i; - LOG_INFO("[sensosor]model: %s\r\n", sensor_type_str[g_device_param.sensor_model]); - snesor_dpi_init(user_data.dpi); - return 0; - } + + sensor_read_reg(PRODUCT_ID1_REG, &sensor_id1); + sensor_read_reg(PRODUCT_ID2_REG, &sensor_id2); + LOG_INFO("[sensosor]id1: 0x%02x, id2: 0x%02x\r\n", sensor_id1, sensor_id2); + for (uint8_t i = 0; i < SENSOR_MAX; i++) + { + if (sensor_id1 == SENSOR_PID_TABLE[i][0] && sensor_id2 == SENSOR_PID_TABLE[i][1]) + { + g_device_param.sensor_model = i; + LOG_INFO("[sensosor]model: %s\r\n", sensor_type_str[g_device_param.sensor_model]); + + // sensor_write_reg(0x26,0xb4); + // uint8_t data; + // sensor_read_reg(0x26, &data); + //LOG_INFO("[sensosor][0x26]: %02x\r\n", data); + //reg_init(); + snesor_dpi_init(user_data.dpi); + sensor_poweron(); + //while(1); + return 0; + } + } + sensor_sync_clk(); + co_delay_10us(5); + LOG_INFO("[sensosor]type unknown!!!!\r\n"); + } + //sensor_write_reg(0x09,0x00); //Lock WP - LOG_INFO("[sensosor]type unknown!!!!\r\n"); - while(1); + } /************************************************************************************************************************ @@ -282,17 +430,64 @@ uint8_t user_sensor_init(void) * Êä ³ö: ÎÞ * ×¢ÒâÊÂÏî: ÎÞ ************************************************************************************************************************/ +uint8_t SW_CPI; //CPI setting temp +uint8_t CPI_MAX; //Max value of cpi[2:0] +uint8_t CPI_Dft; //For THREE level CPI switch +uint8_t CPI_Low; +uint8_t CPI_Hi; +uint8_t CPI_3200; void sensor_poweron(void) { uint8_t reg_val = 0; - + LOG_INFO("[sensosor]%s\r\n", __func__); - + SW_CPI = 0x02; //1000 cpi + CPI_MAX = 0x04; //1600 cpi + + CPI_Dft = SW_CPI; //For THREE level, Default CPI(1000) + CPI_Low = 0x01; //For THREE level, LOW CPI(800) + CPI_Hi = 0x04; //For THREE level, High CPI(1600) + + CPI_3200= 0; + + SW_CPI += 0x01; + + #if 1 //THREE level CPI switch + if(SW_CPI > CPI_Hi) + SW_CPI = CPI_Low; + else if(SW_CPI > CPI_Dft) + SW_CPI = CPI_Hi; + else + SW_CPI = CPI_Dft; + #endif + + if(SW_CPI > CPI_MAX) + { + SW_CPI = 0x00; + } + reg_val = SW_CPI; sensor_gpio_cpu_init(); - + sensor_sclk_cpu_set(); + sensor_sdio_cpu_set(); + uint8_t data = 0; + sensor_read_reg(PRODUCT_ID1_REG,&data); + //co_delay_10us(1); + while( data != SENSOR_PID_TABLE[g_device_param.sensor_model][0]) + { + sensor_read_reg(PRODUCT_ID1_REG,&data); + co_delay_10us(1); + LOG_INFO("[sensosor]sensor_poweron:read ID error:!!!\n"); + sensor_sync_clk(); + //resync(); + } + co_delay_10us(5); + if(g_device_param.sensor_model ==PAW3205) + { + sensor_write_reg(0x09,0x5a); //Unlock WP + } for (uint8_t i = 0; i < 32; i++) { - reg_val = 0x17; + reg_val = 0x02; LOG_INFO("[sensosor]cfg set reg_val: 0x%x\r\n", reg_val); sensor_write_reg(CONFIGURATION_REG, reg_val); co_delay_100us(10 * 3); @@ -301,7 +496,7 @@ void sensor_poweron(void) sensor_read_reg(CONFIGURATION_REG, ®_val); LOG_INFO("[sensosor]cfg curr: 0x%x\r\n", reg_val); - if (reg_val != 0x17) + if (reg_val != 0x02) { sensor_sync_clk(); } @@ -311,6 +506,12 @@ void sensor_poweron(void) break; } } + if(g_device_param.sensor_model ==PAW3205) + { + sensor_write_reg(0x4B, 0x1B); + sensor_write_reg(0x09,0x00); //Lock WP + } + } /************************************************************************************************************************ @@ -323,19 +524,59 @@ void sensor_poweron(void) void sensor_powerdown(void) { uint8_t reg_val = 0; - + LOG_INFO("[sensosor]%s\r\n", __func__); sensor_gpio_cpu_init(); sensor_sclk_cpu_set(); sensor_sdio_cpu_clr(); - + SW_CPI = 0x02; //1000 cpi + CPI_MAX = 0x04; //1600 cpi + + CPI_Dft = SW_CPI; //For THREE level, Default CPI(1000) + CPI_Low = 0x01; //For THREE level, LOW CPI(800) + CPI_Hi = 0x04; //For THREE level, High CPI(1600) + + CPI_3200= 0; + + SW_CPI += 0x01; + + #if 1 //THREE level CPI switch + if(SW_CPI > CPI_Hi) + SW_CPI = CPI_Low; + else if(SW_CPI > CPI_Dft) + SW_CPI = CPI_Hi; + else + SW_CPI = CPI_Dft; + #endif + + if(SW_CPI > CPI_MAX) + { + SW_CPI = 0x00; + } + reg_val = SW_CPI; + uint8_t data = 0; + sensor_read_reg(PRODUCT_ID1_REG,&data); + //co_delay_10us(1); + while( data != SENSOR_PID_TABLE[g_device_param.sensor_model][0]) + { + sensor_read_reg(PRODUCT_ID1_REG,&data); + co_delay_10us(1); + LOG_INFO("[sensosor]sensor_powerdown:read ID error:!!!\n"); + sensor_sync_clk(); + //resync(); + } + co_delay_10us(5); + if(g_device_param.sensor_model ==PAW3205) + { + sensor_write_reg(0x09,0x5a); //Unlock WP + } for (uint8_t i = 0; i < 32; i++) { sensor_read_reg(CONFIGURATION_REG, ®_val); LOG_INFO("[sensosor]cfg prev reg_val: 0x%x\r\n", reg_val); - reg_val = 0x1f; + reg_val = 0x0A; LOG_INFO("[sensosor]cfg set reg_val: 0x%x\r\n", reg_val); sensor_write_reg(CONFIGURATION_REG, reg_val); @@ -343,7 +584,7 @@ void sensor_powerdown(void) sensor_read_reg(CONFIGURATION_REG, ®_val); LOG_INFO("[sensosor]cfg curr reg_val: 0x%x\r\n", reg_val); - if (reg_val != 0x1f) + if (reg_val != 0x0A) { sensor_sync_clk(); } @@ -353,8 +594,14 @@ void sensor_powerdown(void) break; } } + if(g_device_param.sensor_model ==PAW3205) + { + sensor_write_reg(0x4B, 0x13); + sensor_write_reg(0x09,0x5a); //Unlock WP + } } + /************************************************************************************************************************ * º¯ÊýÃû³Æ: sensor_get_motion() * ¹¦ÄÜ˵Ã÷: »ñÈ¡sensorÒÆ¶¯ @@ -365,28 +612,60 @@ void sensor_powerdown(void) uint8_t sensor_get_motion(int8_t * p_x_delta, int8_t * p_y_delta) { #if 1 - uint8_t data = 0; - + uint8_t data = 0,t_motion_x = 0,t_motion_y = 0; + static uint8_t motion_x = 0,motion_y = 0; + + // if(g_device_param.sensor_model ==PAW3205) + // { + // sensor_write_reg(0x09,0x5a); //Unlock WP + // } + + + sensor_read_reg(PRODUCT_ID1_REG,&data); + //co_delay_10us(1); + while( data != SENSOR_PID_TABLE[g_device_param.sensor_model][0]) + { + sensor_read_reg(PRODUCT_ID1_REG,&data); + co_delay_10us(1); + LOG_INFO("[sensosor]sensor_get_motion:read ID error:!!!\n"); + sensor_sync_clk(); + //resync(); + } + //LOG_INFO("[sensosor]sensor_get_motion:read ID :0x%x ",data); sensor_read_reg(MOTION_STATUS_REG, &data); - + //LOG_INFO("[%02x]:0x%02x,",MOTION_STATUS_REG,data); + //LOG_INFO("[sensosor]sensor_get_motion: MOTION_STATUS_REG:0x%02x\n", data); if (data & 0x80) { + //LOG_INFO("[%02x]:0x%02x,",MOTION_STATUS_REG,data); sensor_read_reg(DELTA_X_REG, &data); + //LOG_INFO("[%02x]:0x%02x,",DELTA_X_REG,data); /* XÖá·½ÏòÑ¡Ôñ¼°Î¢µ÷ */ #if 0 - * p_x_delta = (data ^ 0xff) + 1; + t_motion_x = (data ^ 0xff) + 1; #else - *p_x_delta = -(data ^ 0xff) + 1; + t_motion_x = -(data ^ 0xff) + 1; #endif sensor_read_reg(DELTA_Y_REG, &data); + //LOG_INFO("[%02x]:0x%02x \n",DELTA_Y_REG,data); /* YÖá·½ÏòÑ¡Ôñ¼°Î¢µ÷ */ #if 1 - * p_y_delta = (data ^ 0xff); + t_motion_y = (data ^ 0xff); #else - *p_y_delta = -(data ^ 0xff) - 1; + 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); return 0; } diff --git a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/sensor.h b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/sensor.h index 965f68b..d93f1f7 100644 --- a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/sensor.h +++ b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/sensor.h @@ -44,16 +44,27 @@ * CONSTANTS (³£Á¿¶¨Òå) */ // User Definition -#define UNKNOWN 0x00 -#define PAW3205 0x01 -#define PAW3212 0x02 -#define PAW3065 0x03 -#define PAW3065XY 0x04 -#define KA8 0x05 -#define KA8G2 0x06 -#define KA5857 0x07 -#define SENSOR_MAX 0x08 - +// #define UNKNOWN 0x00 +// #define PAW3205 0x01 +// #define PAW3212 0x02 +// #define PAW3065 0x03 +// #define PAW3065XY 0x04 +// #define KA8 0x05 +// #define KA8G2 0x06 +// #define KA5857 0x07 +// #define SENSOR_MAX 0x08 + +enum sensor_type { + sensor_UNKNOWN, + PAW3205, + PAW3212, + PAW3065, + PAW3065XY, + KA8, + KA8G2, + KA5857, + SENSOR_MAX, +}; /* * GLOBAL VARIABLES (È«¾Ö±äÁ¿) */ diff --git a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/user_task.c b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/user_task.c index de48eda..f81a0ef 100644 --- a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/user_task.c +++ b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/user_task.c @@ -16,7 +16,9 @@ #include "os_timer.h" #include "co_printf.h" - +#include "bizbus_common.h" +#include "os_mem.h" +#include "cJSON.h" uint16_t user_task_id; hid_mouse_param_t hid_mouse_param; @@ -53,7 +55,12 @@ static int user_task_func(os_event_t *param) case USER_EVT_BLE_RX: ble_rx_data_cope(param->param, param->param_len); break; - + case USER_EVT_ALIAPP_RX: + co_printf("\nUSER_EVT_ALIAPP_RX:%s\n",param->param); + co_printf("\nUSER_EVT_ALIAPP_RX:free_heap_size%d\n",os_get_free_heap_size()); + + bizbus_recv(param->param, param->param_len); + break; case USER_EVT_ENTER_SLEEP: g_device_param.is_enter_sleep = true; sensor_powerdown(); diff --git a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/user_task.h b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/user_task.h index 6f370a2..7bd08cc 100644 --- a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/user_task.h +++ b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/code/user_task.h @@ -14,6 +14,7 @@ enum user_event_t { USER_EVT_SENSOR_TX, USER_EVT_QDEC_TX, USER_EVT_BLE_RX, + USER_EVT_ALIAPP_RX, USER_EVT_ENTER_SLEEP, USER_EVT_EXIT_SLEEP, }; diff --git a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/keil/Output/config.json b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/keil/Output/config.json index 16a974f..f127a34 100644 --- a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/keil/Output/config.json +++ b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/keil/Output/config.json @@ -1 +1 @@ -{"write_times": 0, "uart_baud": "921600", "uart_port": "COM23", "boot_mode": true} \ No newline at end of file +{"write_times": 104, "uart_baud": "921600", "boot_mode": true, "uart_port": "COM93"} \ No newline at end of file diff --git a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/keil/ble_voice_mouse.uvguix.Administrator b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/keil/ble_voice_mouse.uvguix.Administrator index 0485eef..aa264ab 100644 --- a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/keil/ble_voice_mouse.uvguix.Administrator +++ b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/keil/ble_voice_mouse.uvguix.Administrator @@ -1,54 +1,64 @@ - -5.1 + -6.1
### uVision Project, (C) Keil Software
+ + + + 38003 Registers - 115 275 + 140 90 346 Code Coverage - 850 160 + 1010 160 204 Performance Analyzer - 1010 + 1170 + + 35141 + Event Statistics + + 200 50 700 + 1506 Symbols - 133 133 133 + 80 80 80 1936 Watch 1 - 133 133 133 + 200 133 133 1937 Watch 2 - 133 133 133 + 200 133 133 1935 Call Stack + Locals - 133 133 133 + 200 133 133 2506 @@ -56,8 +66,16 @@ 75 135 130 95 70 230 200 150 + + 466 + Source Browser + 500 + 300 + + + 1 @@ -83,17 +101,17 @@ -1 - 222 - 112 - 1477 - 1017 + 514 + 86 + 1585 + 1428 0 - 304 - 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000001000000000000000100000067443A5C312E776F726B5C362ECAF3B1EA5C764D6F7573655C322E636F64655C312E73646B5C6578616D706C65735C6E6F6E655F65766D5C626C655F766F6963655F6D6F7573655C636F64655C616C696F735C757061795F6C6974655C616C696F735F6170692E63000000000B616C696F735F6170692E63000000009CC1B600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000000C0200004C010000BD05000079020000 + 60 + 010000000400000001000000010000000100000001000000000000000200000000000000010000000100000000000000280000002800000000000000 @@ -112,11 +130,11 @@ 0 16 - 940100004F00000090050000DD000000 + F40000004F00000090050000DD000000 16 - 4D0100004C02000049050000DA020000 + 560000006D0000001E030000FB000000 @@ -132,11 +150,11 @@ 0 16 - 03000000660000008D01000063010000 + 0300000066000000ED000000AD020000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -152,11 +170,11 @@ 0 16 - 03000000660000008D01000063010000 + 0300000066000000ED000000AD020000 16 - D8000000EF000000F40100002B030000 + 560000006D00000072010000A9020000 @@ -172,11 +190,11 @@ 0 16 - 030000002C0200008D0500009E020000 + 000000002902000090050000B7020000 16 - D8000000EF000000A00300007D010000 + 560000006D0000001E030000FB000000 @@ -192,11 +210,11 @@ 0 16 - 030000002C0200008D0500009E020000 + 030000002C0200008D0500008A020000 16 - D8000000EF000000A00300007D010000 + 560000006D0000001E030000FB000000 @@ -212,11 +230,11 @@ 0 16 - 030000002C0200008D0500009E020000 + 030000002C0200008D0500008A020000 16 - D8000000EF000000A00300007D010000 + 560000006D0000001E030000FB000000 @@ -232,11 +250,11 @@ 0 16 - 030000002C0200008D0500009E020000 + 030000002C0200008D0500008A020000 16 - D8000000EF000000A00300007D010000 + 560000006D0000001E030000FB000000 @@ -252,11 +270,11 @@ 0 16 - 03040000660000008D0500000C020000 + A3040000660000008D050000FF000000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -272,11 +290,11 @@ 0 16 - 97010000660000008D050000C4000000 + F7000000660000008D050000C4000000 16 - D8000000EF000000A00300007D010000 + 560000006D0000001E030000FB000000 @@ -296,7 +314,7 @@ 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -312,11 +330,11 @@ 0 16 - 030000002C0200008D0500009E020000 + 030000002C0200008D0500008A020000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -332,11 +350,11 @@ 0 16 - 030000002C0200008D0500009E020000 + 030000002C0200008D0500008A020000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -352,11 +370,11 @@ 0 16 - 030000002C0200008D0500009E020000 + 030000002C0200008D0500008A020000 16 - D8000000EF000000A00300007D010000 + 560000006D0000001E030000FB000000 @@ -372,11 +390,11 @@ 0 16 - 030000002C0200008D0500009E020000 + 030000002C0200008D0500008A020000 16 - D8000000EF000000A00300007D010000 + 560000006D0000001E030000FB000000 @@ -392,11 +410,11 @@ 0 16 - 030000002C0200008D0500009E020000 + 030000002C0200008D0500008A020000 16 - D8000000EF000000A00300007D010000 + 560000006D0000001E030000FB000000 @@ -412,11 +430,11 @@ 0 16 - 030000002C0200008D0500009E020000 + 030000002C0200008D0500008A020000 16 - D8000000EF000000A00300007D010000 + 560000006D0000001E030000FB000000 @@ -432,11 +450,11 @@ 0 16 - 03000000660000008D01000063010000 + 0300000066000000ED000000AD020000 16 - D8000000EF000000F40100002B030000 + 560000006D00000072010000A9020000 @@ -452,11 +470,11 @@ 0 16 - 03000000660000008D01000063010000 + 0300000066000000ED000000AD020000 16 - D8000000EF000000F40100002B030000 + 560000006D00000072010000A9020000 @@ -472,11 +490,11 @@ 0 16 - 000000009401000045050000E1020000 + 00000000DE020000CB05000058030000 16 - D8000000EF000000A00300007D010000 + 560000006D0000001E030000FB000000 @@ -496,7 +514,7 @@ 16 - D8000000EF000000A00300007D010000 + 560000006D0000001E030000FB000000 @@ -512,11 +530,11 @@ 0 16 - 0300000097010000C805000061020000 + 03000000E10200008D0500003F030000 16 - D8000000EF000000A00300007D010000 + 560000006D0000001E030000FB000000 @@ -532,11 +550,11 @@ 0 16 - 97010000660000008D050000C4000000 + F40000006300000090050000DD000000 16 - D8000000EF000000A00300007D010000 + 560000006D0000001E030000FB000000 @@ -552,11 +570,11 @@ 0 16 - 97010000660000008D050000C4000000 + F7000000660000008D050000C4000000 16 - D8000000EF000000A00300007D010000 + 560000006D0000001E030000FB000000 @@ -592,11 +610,11 @@ 0 16 - 03040000660000008D0500000C020000 + A0040000630000009005000025020000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -612,11 +630,11 @@ 0 16 - 030000002C0200008D0500009E020000 + 000000002902000090050000A3020000 16 - D8000000EF000000A00300007D010000 + 560000006D0000001E030000FB000000 @@ -632,11 +650,11 @@ 0 16 - 97010000660000008D050000C4000000 + F7000000660000008D050000C4000000 16 - D8000000EF000000A00300007D010000 + 560000006D0000001E030000FB000000 @@ -652,11 +670,31 @@ 0 16 - 97010000660000008D050000C4000000 + F7000000660000008D050000C4000000 + + + 16 + 560000006D0000001E030000FB000000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F40000006300000090050000DD000000 16 - D8000000EF000000A00300007D010000 + 560000006D0000004601000036010000 @@ -672,11 +710,11 @@ 0 16 - 97010000660000008D050000C4000000 + F7000000660000008D050000C4000000 16 - D8000000EF000000A00300007D010000 + 560000006D0000001E030000FB000000 @@ -692,11 +730,11 @@ 0 16 - 03040000660000008D0500000C020000 + A3040000660000008D0500007A010000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -712,11 +750,11 @@ 0 16 - 03040000660000008D0500000C020000 + A3040000660000008D0500007A010000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -732,11 +770,11 @@ 0 16 - 03040000660000008D0500000C020000 + A3040000660000008D0500007A010000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -752,11 +790,11 @@ 0 16 - 03040000660000008D0500000C020000 + A3040000660000008D0500007A010000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -772,11 +810,11 @@ 0 16 - 03040000660000008D0500000C020000 + A3040000660000008D0500007A010000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -792,11 +830,11 @@ 0 16 - 03040000660000008D0500000C020000 + A3040000660000008D0500007A010000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -812,11 +850,11 @@ 0 16 - 03040000660000008D0500000C020000 + A3040000660000008D0500007A010000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -832,11 +870,11 @@ 0 16 - 03040000660000008D0500000C020000 + A3040000660000008D0500007A010000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -852,11 +890,11 @@ 0 16 - 03040000660000008D0500000C020000 + A3040000660000008D0500007A010000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -872,11 +910,11 @@ 0 16 - 03040000660000008D0500000C020000 + A3040000660000008D0500007A010000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -892,11 +930,11 @@ 0 16 - 03040000660000008D0500000C020000 + A3040000660000008D0500007A010000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -912,11 +950,11 @@ 0 16 - 03040000660000008D0500000C020000 + A3040000660000008D0500007A010000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -932,11 +970,11 @@ 0 16 - 03040000660000008D0500000C020000 + A3040000660000008D0500007A010000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -952,11 +990,11 @@ 0 16 - 03040000660000008D0500000C020000 + A3040000660000008D0500007A010000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -972,11 +1010,11 @@ 0 16 - 03040000660000008D0500000C020000 + A3040000660000008D0500007A010000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -992,11 +1030,11 @@ 0 16 - 03040000660000008D0500000C020000 + A3040000660000008D0500007A010000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -1012,11 +1050,11 @@ 0 16 - 03040000660000008D0500000C020000 + A3040000660000008D0500007A010000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -1032,11 +1070,11 @@ 0 16 - 03040000660000008D0500000C020000 + A3040000660000008D0500007A010000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -1052,11 +1090,11 @@ 0 16 - 03040000660000008D0500000C020000 + A3040000660000008D0500007A010000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -1072,11 +1110,11 @@ 0 16 - 03040000660000008D0500000C020000 + A3040000660000008D0500007A010000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -1092,11 +1130,11 @@ 0 16 - 03040000660000008D0500000C020000 + A3040000660000008D0500007A010000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -1112,11 +1150,11 @@ 0 16 - 03000000660000008D0100007F020000 + 0300000066000000ED0000009E020000 16 - D8000000EF000000F40100002B030000 + 560000006D00000072010000A9020000 @@ -1132,11 +1170,11 @@ 0 16 - 0300000097010000C805000061020000 + 00000000DE0200009005000058030000 16 - D8000000EF000000A00300007D010000 + 560000006D0000001E030000FB000000 @@ -1152,11 +1190,11 @@ 0 16 - 0300000097010000C805000061020000 + 03000000E10200008D0500003F030000 16 - D8000000EF000000F40100002B030000 + 560000006D00000072010000A9020000 @@ -1172,11 +1210,11 @@ 0 16 - 030000002C0200008D0500009E020000 + 030000002C0200008D0500008A020000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 @@ -1192,11 +1230,471 @@ 0 16 - 030000002C0200008D0500009E020000 + 030000002C0200008D0500008A020000 16 - D8000000EF000000680200007F020000 + 560000006D0000004601000036010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000E10200008D0500003F030000 + + + 16 + 560000006D00000072010000A9020000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000E10200008D0500003F030000 + + + 16 + 560000006D00000072010000A9020000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C4000000 + + + 16 + 560000006D0000001E030000FB000000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007A010000 + + + 16 + 560000006D0000004601000036010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007A010000 + + + 16 + 560000006D0000004601000036010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007A010000 + + + 16 + 560000006D0000004601000036010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007A010000 + + + 16 + 560000006D0000004601000036010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007A010000 + + + 16 + 560000006D0000004601000036010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007A010000 + + + 16 + 560000006D0000004601000036010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007A010000 + + + 16 + 560000006D0000004601000036010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007A010000 + + + 16 + 560000006D0000004601000036010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007A010000 + + + 16 + 560000006D0000004601000036010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007A010000 + + + 16 + 560000006D0000004601000036010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007A010000 + + + 16 + 560000006D0000004601000036010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007A010000 + + + 16 + 560000006D0000004601000036010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007A010000 + + + 16 + 560000006D0000004601000036010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007A010000 + + + 16 + 560000006D0000004601000036010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007A010000 + + + 16 + 560000006D0000004601000036010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007A010000 + + + 16 + 560000006D0000004601000036010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007A010000 + + + 16 + 560000006D0000004601000036010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007A010000 + + + 16 + 560000006D0000004601000036010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007A010000 + + + 16 + 560000006D0000004601000036010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007A010000 + + + 16 + 560000006D0000004601000036010000 @@ -1206,13 +1704,13 @@ 0 0 0 - 940 + 32767 0 8192 0 16 - 0000000000000000B70300001C000000 + 0000000000000000D10300001C000000 16 @@ -1232,7 +1730,7 @@ 0 16 - 00000000E102000045050000F4020000 + 0000000058030000CB0500006B030000 16 @@ -1246,13 +1744,13 @@ 0 0 0 - 463 + 32767 0 8192 1 16 - 000000001C000000DA01000038000000 + 000000001C000000E701000038000000 16 @@ -1266,7 +1764,7 @@ 0 0 0 - 612 + 32767 0 8192 2 @@ -1279,16 +1777,36 @@ 0A0000000A0000006E0000006E000000 + + 824 + 824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000002C0200008D0500008A020000 + + + 16 + 560000006D0000004601000036010000 + + - 2619 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF94010000DD00000090050000E1000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E6500200000000000004D0100004C02000049050000DA020000940100004F00000090050000DD0000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFFC0300004F0000000004000025020000000000000200000004000000010000000000000000000000FFFFFFFF17000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000001800040000000000000B90300004C0200004905000022040000000400004F00000090050000250200000000000040410046170000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF900100004F000000940100007C010000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000B9FFFFFF4C0200004901000095040000000000004F000000900100007C0100000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB09000001800080000000000000B9FFFFFF1204000049050000B4040000000000001502000090050000B702000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000007C01000045050000800100000100000001000010040000000100000071FEFFFFF8000000FFFFFFFF04000000C5000000C7000000B40100007794000001800080000001000000B9FFFFFF990400008405000093050000000000008001000045050000E10200000000000040820056040000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 3312 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000090050000E1000000000000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000560000006D0000001E030000FB000000F40000004F00000090050000DD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200001004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000560000006D0000004601000036010000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F4000000C6020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000560000006D0000004601000036010000000000004F000000F0000000C60200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000560000006D0000004601000036010000000000001502000090050000B702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000C6020000CB050000CA020000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000560000006D0000001E030000FB00000000000000CA020000CB050000580300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 File - 2002 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F50726F6A6563742057696E646F7773000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000 + 2951 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000400020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000004000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000004000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000400000000000000000000000000000000000001000000010000009600000002002050000000000F696E7465726E616C5F6D616C6C6F639600000000000000140012646563696D616C5F706F696E745F7365656E0D75617274315F6973725F72616D0F696E7465726E616C5F6D616C6C6F630648415F42554618737065616B65725F676174745F6164645F736572766963650D6F735F74696D65725F696E69740D706D755F6973725F72616D5F430E7379735F74696D65725F696E69740B636F6E6669675F666C616717534C5F5343374132305F4932635F5370695F5772697465117472616E73706172656E745F73746172740D6170705F61745F726563765F630D75617274305F6973725F72616D0A756172745F706172616D15766353706F72744D6F74696F6E416C676F496E69741273656E645F6872735F646174615F666C61670D554152545F73656E645F62756616766353706F72744D6F74696F6E43616C63756C61746509636F5F7072696E74660D7274635F6765745F76616C75650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000004001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000000000000010000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65FF7F0000 1423 @@ -1303,8 +1821,8 @@ 59399 Build - 692 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000F626C655F766F6963655F6D6F757365960000000000000001000F626C655F766F6963655F6D6F757365000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64CF010000 + 990 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000F626C655F766F6963655F6D6F757365960000000000000001000F626C655F766F6963655F6D6F757365000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64FF7F0000 583 @@ -1319,8 +1837,8 @@ 59400 Debug - 2220 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000002001380D88B000000000000310000000757617463682031000000000000000000000000010000000100000000000000000000000100000000001380D98B0000000000003100000007576174636820320000000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000084D656D6F72792031000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000084D656D6F72792032000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000084D656D6F72792033000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000084D656D6F727920340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000755415254202331000000000000000000000000010000000100000000000000000000000100000000001380940700000000000033000000075541525420233200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000007554152542023330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000000E49544D2F525441205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380658A000000000000340000000E4C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E00000014506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000D436F646520436F76657261676500000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000138001890000000000003600000007546F6F6C626F7800000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 2373 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000000000000100000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000000000000100000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000000000000100000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F720100000000000000000000000100000001000000000000000000000001000000000000000000054465627567FF7F0000 898 @@ -1333,28 +1851,10 @@ 0 - 1707 - 1067 + 1920 + 1080 - - 1 - 0 - - 100 - 0 - - ..\code\alios\upay_lite\alios_api.c - 12 - 76 - 86 - 1 - - 0 - - - -
diff --git a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/keil/ble_voice_mouse.uvoptx b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/keil/ble_voice_mouse.uvoptx index 8c168a3..d35d229 100644 --- a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/keil/ble_voice_mouse.uvoptx +++ b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/keil/ble_voice_mouse.uvoptx @@ -100,6 +100,9 @@ 1 0 0 + 1 + 0 + 0 6 @@ -157,6 +160,17 @@ + 0 + 0 + 0 + + + + + + + + @@ -171,7 +185,6 @@ 1 1 0 - 1 0 0 ..\code\proj_main.c @@ -184,7 +197,6 @@ 2 5 0 - 1 0 0 ..\code\config.h @@ -197,7 +209,6 @@ 3 1 0 - 1 0 0 ..\code\ble_simple_peripheral.c @@ -210,7 +221,6 @@ 4 5 0 - 1 0 0 ..\code\ble_simple_peripheral.h @@ -223,7 +233,6 @@ 5 1 0 - 1 0 0 ..\code\user_task.c @@ -236,7 +245,6 @@ 6 1 0 - 1 0 0 ..\code\timer.c @@ -249,7 +257,6 @@ 7 1 0 - 1 0 0 ..\code\gpio.c @@ -262,7 +269,6 @@ 8 1 0 - 1 0 0 ..\code\keyscan.c @@ -275,7 +281,6 @@ 9 1 0 - 1 0 0 ..\code\button.c @@ -288,7 +293,6 @@ 10 1 0 - 1 0 0 ..\code\sensor.c @@ -301,7 +305,6 @@ 11 1 0 - 1 0 0 ..\code\qdec.c @@ -314,7 +317,6 @@ 12 1 0 - 1 0 0 ..\code\amic.c @@ -327,7 +329,6 @@ 13 1 0 - 1 0 0 ..\code\app.c @@ -340,7 +341,6 @@ 14 1 0 - 1 0 0 ..\code\led.c @@ -353,7 +353,6 @@ 15 1 0 - 1 0 0 ..\code\inflash.c @@ -366,7 +365,6 @@ 16 1 0 - 1 0 0 ..\code\func.c @@ -379,7 +377,6 @@ 17 1 0 - 1 0 0 ..\code\adc.c @@ -391,7 +388,7 @@ audio - 0 + 1 0 0 0 @@ -400,7 +397,6 @@ 18 1 0 - 1 0 0 ..\..\..\..\components\modules\audio_code_sbc\sbc.c @@ -413,7 +409,6 @@ 19 1 0 - 1 0 0 ..\..\..\..\components\modules\audio_code_sbc\sbc_primitives.c @@ -426,7 +421,6 @@ 20 1 0 - 1 0 0 ..\..\..\..\components\modules\audio_code_adpcm\adpcm.c @@ -439,7 +433,6 @@ 21 1 0 - 1 0 0 ..\..\..\..\components\modules\audio_encode\audio_encoder.c @@ -451,7 +444,7 @@ profiles - 0 + 1 0 0 0 @@ -460,7 +453,6 @@ 22 1 0 - 1 0 0 ..\..\..\..\components\ble\profiles\ble_dev_info\dev_info_service.c @@ -473,7 +465,6 @@ 23 1 0 - 1 0 0 ..\..\..\..\components\ble\profiles\ble_simple_profile\simple_gatt_service.c @@ -486,7 +477,6 @@ 24 1 0 - 1 0 0 ..\..\..\..\components\ble\profiles\ble_hid\hid_service.c @@ -499,7 +489,6 @@ 25 1 0 - 1 0 0 ..\..\..\..\components\ble\profiles\ble_ota\ota_service.c @@ -512,7 +501,6 @@ 26 1 0 - 1 0 0 ..\..\..\..\components\ble\profiles\ble_ota\ota.c @@ -525,7 +513,6 @@ 27 1 0 - 1 0 0 ..\..\..\..\components\ble\profiles\ble_batt\batt_service.c @@ -537,7 +524,7 @@ driver - 0 + 1 0 0 0 @@ -546,7 +533,6 @@ 28 1 0 - 1 0 0 ..\..\..\..\components\driver\driver_pmu.c @@ -559,7 +545,6 @@ 29 1 0 - 1 0 0 ..\..\..\..\components\driver\driver_keyscan.c @@ -572,7 +557,6 @@ 30 1 0 - 1 0 0 ..\..\..\..\components\driver\driver_pmu_qdec.c @@ -585,7 +569,6 @@ 31 1 0 - 1 0 0 ..\..\..\..\components\driver\driver_rtc.c @@ -598,7 +581,6 @@ 32 1 0 - 1 0 0 ..\..\..\..\components\driver\driver_uart.c @@ -611,7 +593,6 @@ 33 1 0 - 1 0 0 ..\..\..\..\components\driver\driver_wdt.c @@ -624,7 +605,6 @@ 34 1 0 - 1 0 0 ..\..\..\..\components\driver\driver_i2s.c @@ -637,7 +617,6 @@ 35 1 0 - 1 0 0 ..\..\..\..\components\driver\driver_exti.c @@ -650,7 +629,6 @@ 36 1 0 - 1 0 0 ..\..\..\..\components\driver\driver_timer.c @@ -663,7 +641,6 @@ 37 1 0 - 1 0 0 ..\..\..\..\components\driver\driver_iic.c @@ -676,7 +653,6 @@ 38 1 0 - 1 0 0 ..\..\..\..\components\driver\driver_efuse.c @@ -689,7 +665,6 @@ 39 1 0 - 1 0 0 ..\..\..\..\components\driver\driver_codec.c @@ -702,7 +677,6 @@ 40 1 0 - 1 0 0 ..\..\..\..\components\driver\driver_adc.c @@ -714,7 +688,7 @@ platform - 0 + 1 0 0 0 @@ -723,7 +697,6 @@ 41 1 0 - 1 0 0 ..\..\..\..\components\modules\platform\source\core_cm3_isr.c @@ -736,7 +709,6 @@ 42 2 0 - 1 0 0 ..\..\..\..\components\modules\platform\source\app_boot_vectors.s @@ -748,7 +720,7 @@ patch - 0 + 1 0 0 0 @@ -756,8 +728,7 @@ 6 43 1 - 1 - 1 + 0 0 0 ..\..\..\..\components\modules\patch\patch.c @@ -769,7 +740,7 @@ lib - 0 + 1 0 0 0 @@ -778,7 +749,6 @@ 44 4 0 - 1 0 0 ..\..\..\..\components\ble\library\fr8010h_stack.lib @@ -797,13 +767,12 @@ 8 45 - 4 + 1 0 - 0 0 0 - ..\code\alios\upay_lite\upay_lite.lib - upay_lite.lib + ..\code\alios\upay_lite\alios_api.c + alios_api.c 0 0 @@ -812,24 +781,30 @@ 46 4 0 - 0 0 0 - ..\code\alios\upay_lite\cJSON.lib - cJSON.lib + ..\code\alios\upay_lite\upay_lite.lib + upay_lite.lib 0 0 + + + + cJSON + 1 + 0 + 0 + 0 - 8 + 9 47 1 0 - 0 0 0 - ..\code\alios\upay_lite\alios_api.c - alios_api.c + ..\code\alios\upay_lite\cJSON\cJSON.c + cJSON.c 0 0 diff --git a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/keil/ble_voice_mouse.uvprojx b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/keil/ble_voice_mouse.uvprojx index f2edf50..012c0f8 100644 --- a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/keil/ble_voice_mouse.uvprojx +++ b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/keil/ble_voice_mouse.uvprojx @@ -10,11 +10,14 @@ ble_voice_mouse 0x4 ARM-ADS + 5060960::V5.06 update 7 (build 960)::ARMCC + 5060960::V5.06 update 7 (build 960)::ARMCC + 8 ARMCM3 ARM - ARM.CMSIS.4.2.0 + ARM.CMSIS.5.8.0 http://www.keil.com/pack/ IRAM(0x20000000,0x00020000) IROM(0x00000000,0x00040000) CPUTYPE("Cortex-M3") CLOCK(12000000) ESEL ELITTLE @@ -84,6 +87,8 @@ fromelf --text -a -c -o "Output/@L.asm" "#L" 0 0 + 0 + 0 0 @@ -106,11 +111,11 @@ SARMCM3.DLL - -MPU + DCM.DLL -pCM3 SARMCM3.DLL - -MPU + TCM.DLL -pCM3 @@ -122,47 +127,6 @@ 0 16 - - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 1 - - - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 1 - 1 - 1 - - 0 - 6 - - - - - - - - - - - - - - Segger\JL2CM3.dll - @@ -221,12 +185,15 @@ 0 0 0 + 0 + 0 0 0 1 1 1 0 + 0 3 3 0 @@ -360,12 +327,20 @@ 0 0 1 + 0 0 + 1 + 1 + 1 + 1 + 0 + 0 + 0 - ..\..\..\..\components\ble\include;..\..\..\..\components\ble\include\gap;..\..\..\..\components\ble\include\gatt;..\..\..\..\components\driver\include;..\..\..\..\components\modules\os\include;..\..\..\..\components\modules\sys\include;..\..\..\..\components\modules\platform\include;..\..\..\..\components\modules\common\include;..\..\..\..\components\modules\lowpow\include;..\..\..\..\components\ble\profiles\ble_batt;..\..\..\..\components\ble\profiles\ble_dev_info;..\..\..\..\components\ble\profiles\ble_hid;..\..\..\..\components\ble\profiles\ble_ota;..\..\..\..\components\ble\profiles\ble_simple_profile;..\code;..\..\..\..\components\modules\audio_code_adpcm;..\..\..\..\components\modules\audio_code_sbc;..\..\..\..\components\modules\audio_encode;..\code\alios\upay_lite + ..\..\..\..\components\ble\include;..\..\..\..\components\ble\include\gap;..\..\..\..\components\ble\include\gatt;..\..\..\..\components\driver\include;..\..\..\..\components\modules\os\include;..\..\..\..\components\modules\sys\include;..\..\..\..\components\modules\platform\include;..\..\..\..\components\modules\common\include;..\..\..\..\components\modules\lowpow\include;..\..\..\..\components\ble\profiles\ble_batt;..\..\..\..\components\ble\profiles\ble_dev_info;..\..\..\..\components\ble\profiles\ble_hid;..\..\..\..\components\ble\profiles\ble_ota;..\..\..\..\components\ble\profiles\ble_simple_profile;..\code;..\..\..\..\components\modules\audio_code_adpcm;..\..\..\..\components\modules\audio_code_sbc;..\..\..\..\components\modules\audio_encode;..\code\alios\upay_lite;..\code\alios\upay_lite\cJSON @@ -378,6 +353,7 @@ 0 0 0 + 1 @@ -664,19 +640,24 @@ alios - upay_lite.lib - 4 - ..\code\alios\upay_lite\upay_lite.lib + alios_api.c + 1 + ..\code\alios\upay_lite\alios_api.c - cJSON.lib + upay_lite.lib 4 - ..\code\alios\upay_lite\cJSON.lib + ..\code\alios\upay_lite\upay_lite.lib + + + + cJSON + - alios_api.c + cJSON.c 1 - ..\code\alios\upay_lite\alios_api.c + ..\code\alios\upay_lite\cJSON\cJSON.c @@ -684,4 +665,10 @@ + + + + + + diff --git a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/keil/feedback.txt b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/keil/feedback.txt index f3b6d78..ffe2d95 100644 --- a/2.code/1.sdk/examples/none_evm/ble_voice_mouse/keil/feedback.txt +++ b/2.code/1.sdk/examples/none_evm/ble_voice_mouse/keil/feedback.txt @@ -1,4 +1,4 @@ -;## ARM Linker, 5050106: Last Updated: Wed Feb 28 17:24:20 2024 +;## ARM Linker, 5060960: Last Updated: Mon Mar 11 11:32:51 2024 ;VERSION 0.2 ;FILE adc.o __asm___5_adc_c_e3544fbe____REV16 <= USED 0 @@ -16,30 +16,17 @@ calib_lld_receive <= USED 0 calib_lld_reset <= USED 0 calib_lld_send <= USED 0 calib_set_freq_config <= USED 0 +;FILE aes_decrypt.o +;FILE aes_encrypt.o +tc_aes128_set_encrypt_key <= USED 0 +tc_aes_encrypt <= USED 0 ;FILE alios_api.o ALIPAY_free <= USED 0 ALIPAY_malloc <= USED 0 ALIPAY_realloc <= USED 0 alipay_exec_env_init <= USED 0 -aos_free <= USED 0 -aos_idt_id2_pull_entry <= USED 0 -aos_idt_pk_cfg <= USED 0 -aos_kv_init <= USED 0 -aos_malloc <= USED 0 aos_printf <= USED 0 -bizbus_gtd_id2_init <= USED 0 -bizbus_gtd_wear_init <= USED 0 -bizbus_hal_recv <= USED 0 -bizbus_hal_send <= USED 0 -bizbus_recv_gtd_hdl <= USED 0 -bizbus_set_time <= USED 0 -hal_flash_id2_erase <= USED 0 -hal_flash_id2_read <= USED 0 -hal_flash_id2_write <= USED 0 is_need_to_request_cert <= USED 0 -upay_get_timestamp <= USED 0 -upay_id2_check_status <= USED 0 -upay_id2_init <= USED 0 ;FILE amic.o __asm___6_amic_c_fa3602f1____REV16 <= USED 0 __asm___6_amic_c_fa3602f1____REVSH <= USED 0 @@ -103,9 +90,22 @@ attmdb_svc_visibility_set <= USED 0 __asm___15_audio_encoder_c_f0e25b87____REV16 <= USED 0 __asm___15_audio_encoder_c_f0e25b87____REVSH <= USED 0 __asm___15_audio_encoder_c_f0e25b87____RRX <= USED 0 +;FILE base64.o ;FILE batt_service.o batt_gatt_notify <= USED 0 batt_gatt_op_cmp_handler <= USED 0 +;FILE bizbus_base.o +bizbus_unregister <= USED 0 +;FILE bizbus_fgs.o +;FILE bizbus_flash.o +HAL_GetProductKey <= USED 0 +HAL_SetDeviceName <= USED 0 +HAL_SetProductKey <= USED 0 +bizbus_register_dn_get <= USED 0 +bizbus_register_ds_get <= USED 0 +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 @@ -114,6 +114,73 @@ ble_send_debug <= USED 0 hid_consumer_value_send <= USED 0 ;FILE button.o button_deInit <= USED 0 +;FILE cbc_mode.o +tc_cbc_mode_encrypt_modified <= USED 0 +;FILE cjson.o +cJSON_AddArrayToObject <= USED 0 +cJSON_AddBoolToObject <= USED 0 +cJSON_AddFalseToObject <= USED 0 +cJSON_AddItemReferenceToArray <= USED 0 +cJSON_AddItemReferenceToObject <= USED 0 +cJSON_AddItemToArray <= USED 0 +cJSON_AddItemToObject <= USED 0 +cJSON_AddItemToObjectCS <= USED 0 +cJSON_AddNullToObject <= USED 0 +cJSON_AddNumberToObject <= USED 0 +cJSON_AddObjectToObject <= USED 0 +cJSON_AddRawToObject <= USED 0 +cJSON_AddTrueToObject <= USED 0 +cJSON_Compare <= USED 0 +cJSON_CreateArray <= USED 0 +cJSON_CreateArrayReference <= USED 0 +cJSON_CreateBool <= USED 0 +cJSON_CreateDoubleArray <= USED 0 +cJSON_CreateFalse <= USED 0 +cJSON_CreateFloatArray <= USED 0 +cJSON_CreateIntArray <= USED 0 +cJSON_CreateNull <= USED 0 +cJSON_CreateNumber <= USED 0 +cJSON_CreateObjectReference <= USED 0 +cJSON_CreateRaw <= USED 0 +cJSON_CreateStringArray <= USED 0 +cJSON_CreateStringReference <= USED 0 +cJSON_CreateTrue <= USED 0 +cJSON_DeleteItemFromArray <= USED 0 +cJSON_DeleteItemFromObject <= USED 0 +cJSON_DeleteItemFromObjectCaseSensitive <= USED 0 +cJSON_DetachItemFromArray <= USED 0 +cJSON_DetachItemFromObject <= USED 0 +cJSON_DetachItemFromObjectCaseSensitive <= USED 0 +cJSON_DetachItemViaPointer <= USED 0 +cJSON_Duplicate <= USED 0 +cJSON_GetArrayItem <= USED 0 +cJSON_GetArraySize <= USED 0 +cJSON_GetNumberValue <= USED 0 +cJSON_GetObjectItem <= USED 0 +cJSON_HasObjectItem <= USED 0 +cJSON_InsertItemInArray <= USED 0 +cJSON_IsArray <= USED 0 +cJSON_IsBool <= USED 0 +cJSON_IsFalse <= USED 0 +cJSON_IsInvalid <= USED 0 +cJSON_IsNull <= USED 0 +cJSON_IsNumber <= USED 0 +cJSON_IsObject <= USED 0 +cJSON_IsRaw <= USED 0 +cJSON_IsTrue <= USED 0 +cJSON_Minify <= USED 0 +cJSON_ParseWithLength <= USED 0 +cJSON_Print <= USED 0 +cJSON_PrintBuffered <= USED 0 +cJSON_PrintPreallocated <= USED 0 +cJSON_ReplaceItemInArray <= USED 0 +cJSON_ReplaceItemInObject <= USED 0 +cJSON_ReplaceItemInObjectCaseSensitive <= USED 0 +cJSON_ReplaceItemViaPointer <= USED 0 +cJSON_SetNumberHelper <= USED 0 +cJSON_SetValuestring <= USED 0 +cJSON_Version <= USED 0 +cJSON_malloc <= USED 0 ;FILE core_cm3_isr.o __asm___14_core_cm3_isr_c_5a2a0181____REV16 <= USED 0 __asm___14_core_cm3_isr_c_5a2a0181____REVSH <= USED 0 @@ -136,6 +203,7 @@ speaker_codec_init <= USED 0 __asm___14_driver_efuse_c_9109bb6a____REV16 <= USED 0 __asm___14_driver_efuse_c_9109bb6a____REVSH <= USED 0 __asm___14_driver_efuse_c_9109bb6a____RRX <= USED 0 +efuse_get_chip_unique_id <= USED 0 efuse_get_chip_unique_id_new <= USED 0 efuse_write <= USED 0 ;FILE driver_exti.o @@ -208,7 +276,6 @@ __asm___7_entry_c_a06f3641____REV16 <= USED 0 __asm___7_entry_c_a06f3641____REVSH <= USED 0 __asm___7_entry_c_a06f3641____RRX <= USED 0 check_and_set_rand_seed <= USED 0 -get_SDK_compile_date_time <= USED 0 pmu_recalib_rc <= USED 0 ;FILE flash.o __asm___7_flash_c_48468d59____REV16 <= USED 0 @@ -217,6 +284,8 @@ __asm___7_flash_c_48468d59____RRX <= USED 0 flash_OTP_erase <= USED 0 flash_OTP_protect <= USED 0 flash_OTP_write <= USED 0 +flash_protect_disable <= USED 0 +flash_protect_enable <= USED 0 flash_protect_enable1 <= USED 0 flash_read_id <= USED 0 ;FILE func.o @@ -871,10 +940,15 @@ sbc_init_msbc <= USED 0 sbc_reinit <= USED 0 ;FILE sbc_primitives.o ;FILE sensor.o -__asm___8_sensor_c_c8adf411____REV16 <= USED 0 -__asm___8_sensor_c_c8adf411____REVSH <= USED 0 -__asm___8_sensor_c_c8adf411____RRX <= USED 0 +__asm___8_sensor_c_f4deda73____REV16 <= USED 0 +__asm___8_sensor_c_f4deda73____REVSH <= USED 0 +__asm___8_sensor_c_f4deda73____RRX <= USED 0 +reg_init <= USED 0 sensor_gpio_pmu_init <= USED 0 +;FILE sha1.o +utils_sha1 <= USED 0 +utils_sha1_clone <= USED 0 +utils_sha1_free <= USED 0 ;FILE simple_gatt_service.o ;FILE smpc.o ;FILE smpc_api.o @@ -898,7 +972,6 @@ hex_arr_to_str <= USED 0 kalmanFilter <= USED 0 str_to_hex_arr <= USED 0 str_to_val <= USED 0 -system_get_curr_time <= USED 0 system_get_spare_exmem <= USED 0 system_optimize_power_consumption_set <= USED 0 system_power_off <= USED 0 @@ -916,7 +989,16 @@ ble_bond_addr_check_result <= USED 0 ble_bond_clr_info <= USED 0 ble_bond_get_last_bond_idx <= USED 0 gatt_load_peer_svc_from_flash <= USED 0 +;FILE user_mem.o +ke_free_user <= USED 0 +ke_get_mem_max_usage <= USED 0 +ke_malloc_user <= USED 0 +show_ke_malloc <= USED 0 +show_mem_list <= USED 0 +show_msg_list <= USED 0 ;FILE user_task.o __asm___11_user_task_c_b527fdeb____REV16 <= USED 0 __asm___11_user_task_c_b527fdeb____REVSH <= USED 0 __asm___11_user_task_c_b527fdeb____RRX <= USED 0 +;FILE utils.o +_compare <= USED 0 -- 2.17.1