Index: format/app_mouse.format
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/XR2221_Standard_2.4G&BLE/format/app_mouse.format	(revision 823)
+++ /YC1308AC/branch/mouse_project/XZR/XR2221_Standard_2.4G&BLE/format/app_mouse.format	(working copy)
@@ -323,6 +323,7 @@
 
 1 mem_sensor_shutdown_flag
 
+2 mem_mouse_le_reconn_led_blink_time
 )
 
 
@@ -431,6 +432,9 @@
 //byte 8
 0x38 MOUSE_ENABLE_SMOOTHER
 0x39 MOUSE_ENABLE_XY_OFFSET
+0x3a MOUSE_ENABLE_24G_AUTO_PAIR_NERVER_BEEN_PAIRED
+0x3b MOUSE_ENABLE_LE_BATTERY_SERVICE_CANCEL
+0x3c MOUSE_ENABLE_WHEEL_WAKE_UP_CANCEL
 
 //mouse dpi level
 0x00 MOUSE_DPI_LEVEL1
Index: output/eeprom.dat
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/XR2221_Standard_2.4G&BLE/output/eeprom.dat	(revision 823)
+++ /YC1308AC/branch/mouse_project/XZR/XR2221_Standard_2.4G&BLE/output/eeprom.dat	(working copy)
@@ -2,76 +2,80 @@
 02
 aa
 55
-6a
-04
+2a
+05
 c2
 84
 00
-0f
+10
 c0
 00
 00
-12
+13
 c0
 45
 80
-2d
+33
 c0
 4f
 80
-38
+3e
 c0
 57
 00
-16
+17
 c0
 62
 00
-18
+19
 c0
 63
 80
-3a
+40
 c0
 64
 80
-3e
+44
 c0
 65
 00
-49
+4f
 c0
 67
 01
-14
+44
 c0
 68
 00
-78
+91
 c0
 6b
 00
-52
+58
 c0
 6c
 80
-89
+a2
 c0
-74
+6d
 00
-d1
+f8
+c0
+74
+01
+01
 20
 20
 13
 7c
 c0
 50
-80
-e5
+81
+15
 c0
 60
-00
-ef
+01
+1f
 20
 20
 13
@@ -131,11 +135,11 @@
 c0
 19
 80
-22
+23
 c0
 1a
-3d
-7b
+00
+2a
 20
 20
 45
@@ -168,6 +172,26 @@
 20
 3d
 73
+20
+40
+49
+8e
+70
+4b
+a7
+00
+6f
+e1
+4b
+e2
+20
+40
+48
+ce
+20
+20
+3d
+7b
 6f
 f1
 01
@@ -337,29 +361,89 @@
 7e
 00
 c0
+00
+80
+62
+c0
 1e
 00
-73
+8a
+c0
+1c
+80
+88
 c0
 02
 00
-6c
+81
 c0
 09
 80
-6c
+81
 c0
 19
 00
-59
+6e
 c0
 22
 00
-60
+75
+c0
+0a
+80
+64
 20
 20
 43
 36
+20
+40
+45
+44
+20
+20
+43
+fa
+58
+00
+00
+00
+67
+e1
+4a
+f2
+70
+4a
+c6
+00
+58
+00
+00
+06
+67
+e1
+43
+72
+67
+e1
+43
+74
+6f
+e4
+4b
+ab
+c2
+8d
+c3
+66
+58
+00
+00
+07
+20
+20
+43
+64
 6f
 e0
 ca
@@ -367,7 +451,7 @@
 c0
 00
 80
-5d
+72
 70
 4b
 76
@@ -464,6 +548,14 @@
 20
 3e
 20
+20
+40
+45
+44
+20
+20
+48
+57
 6f
 e2
 48
@@ -478,9 +570,17 @@
 93
 20
 40
+25
+7e
+20
+40
 48
 c6
 20
+40
+45
+44
+20
 20
 48
 4e
@@ -491,7 +591,7 @@
 20
 40
 00
-7b
+94
 20
 20
 40
@@ -543,7 +643,7 @@
 20
 3a
 00
-97
+bb
 67
 e0
 cb
@@ -579,11 +679,11 @@
 20
 40
 00
-94
+b8
 20
 40
 00
-ac
+d0
 20
 40
 44
@@ -591,11 +691,55 @@
 20
 40
 00
-b7
-20
+db
 20
+40
 44
-c0
+ff
+20
+40
+45
+04
+20
+40
+45
+12
+20
+40
+00
+f5
+20
+40
+45
+15
+20
+40
+45
+2a
+20
+40
+45
+2d
+20
+40
+45
+32
+20
+40
+45
+35
+20
+40
+40
+22
+20
+40
+45
+47
+20
+20
+45
+3c
 da
 60
 4b
@@ -603,7 +747,7 @@
 da
 40
 00
-97
+bb
 20
 20
 31
@@ -659,11 +803,11 @@
 20
 41
 00
-a6
+ca
 24
 41
 00
-aa
+ce
 20
 20
 48
@@ -703,7 +847,7 @@
 c2
 9b
 00
-b0
+d4
 20
 60
 00
@@ -723,7 +867,7 @@
 da
 40
 00
-b5
+d9
 20
 20
 31
@@ -735,7 +879,7 @@
 20
 20
 00
-c9
+ed
 6f
 e4
 4b
@@ -771,7 +915,7 @@
 20
 22
 80
-c1
+e5
 20
 20
 44
@@ -779,7 +923,7 @@
 20
 40
 00
-c3
+e7
 20
 20
 44
@@ -791,7 +935,7 @@
 da
 40
 00
-c9
+ed
 20
 40
 31
@@ -838,8 +982,56 @@
 ee
 20
 20
-44
-d4
+44
+d4
+6f
+e4
+4b
+ab
+c3
+9d
+80
+00
+20
+20
+45
+1f
+6f
+e1
+47
+8c
+2f
+ef
+fe
+0b
+20
+40
+c5
+81
+6f
+e1
+47
+8c
+2f
+ef
+fe
+07
+20
+40
+c3
+22
+58
+00
+00
+00
+67
+e1
+4a
+f2
+20
+20
+45
+54
 6f
 e1
 03
@@ -866,8 +1058,8 @@
 00
 c0
 04
-80
-d9
+81
+09
 20
 20
 4d
@@ -966,8 +1158,8 @@
 06
 c0
 02
-00
-f2
+01
+22
 20
 20
 19
@@ -982,12 +1174,12 @@
 36
 c0
 05
-00
-f7
+01
+27
 c0
 09
 01
-04
+34
 20
 20
 1c
@@ -1006,8 +1198,8 @@
 c0
 c2
 81
-80
-ff
+81
+2f
 6f
 e1
 44
@@ -1034,12 +1226,12 @@
 00
 24
 22
-80
-fb
+81
+2b
 24
 34
-00
-fb
+01
+2b
 20
 20
 1e
@@ -1132,8 +1324,8 @@
 20
 3f
 75
-b1
-e1
+26
+42
 aa
 55
 40
@@ -1167,7 +1359,7 @@
 90
 46
 41
-02
+06
 00
 01
 00
@@ -1283,7 +1475,7 @@
 01
 80
 63
-03
+0b
 aa
 55
 0c
@@ -1465,6 +1657,14 @@
 55
 02
 00
+e2
+4b
+64
+00
+aa
+55
+02
+00
 ca
 4b
 07
@@ -2285,208 +2485,8 @@
 e8
 41
 01
-55
-aa
-aa
-55
-6a
-57
-31
-e3
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+2e
+c4
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-72
-53
+8a
+d9
Index: output/memmap.format
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/XR2221_Standard_2.4G&BLE/output/memmap.format	(revision 823)
+++ /YC1308AC/branch/mouse_project/XZR/XR2221_Standard_2.4G&BLE/output/memmap.format	(working copy)
@@ -2203,6 +2203,7 @@
 0x4bd5 mem_customer_key_release
 0x4bde mem_mouse_set_high_impedance_bit_set
 0x4be1 mem_sensor_shutdown_flag
+0x4be2 mem_mouse_le_reconn_led_blink_time
 0x48d0 mem_remote_car_hard_soft_switch
 0x48d1 mem_remote_car_queue_each_size
 0x48d2 mem_remote_car_queue_length
Index: output/program.lis
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/XR2221_Standard_2.4G&BLE/output/program.lis	(revision 823)
+++ /YC1308AC/branch/mouse_project/XZR/XR2221_Standard_2.4G&BLE/output/program.lis	(working copy)
@@ -1,371 +1,431 @@
               include "bt_format "
               org 0x0000
-0000 c284000f bbit1 8 ,pf_patch_ext 
-0001 c0000012 beq patch00_0 ,p_soft_reset 
-0002 c045802d beq patch11_3 ,p_initialize_radio_cont 
-0003 c04f8038 beq patch13_7 ,p_init_param 
-0004 c0570016 beq patch15_6 ,p_app_init 
-0005 c0620018 beq patch18_4 ,p_mouse_start_reconnect_device 
-0006 c063803a beq patch18_7 ,p_mouse_app_enter_hibernate 
-0007 c064803e beq patch19_1 ,p_mouse_setgpio_hibernate 
-0008 c0650049 beq patch19_2 ,p_mouse_lpm_before_common 
-0009 c0670114 beq patch19_6 ,p_mouse_motion 
-000a c0680078 beq patch1a_0 ,p_mouse_seting_dpi 
-000b c06b0052 beq patch1a_6 ,p_mouse_priority_bb_event 
-000c c06c8089 beq patch1b_1 ,p_mouse_bb_event_timer 
-000d c07400d1 beq patch1d_0 ,p_hid_rx_process 
-000e 2020137c branch loop 
+0000 c2840010 bbit1 8 ,pf_patch_ext 
+0001 c0000013 beq patch00_0 ,p_soft_reset 
+0002 c0458033 beq patch11_3 ,p_initialize_radio_cont 
+0003 c04f803e beq patch13_7 ,p_init_param 
+0004 c0570017 beq patch15_6 ,p_app_init 
+0005 c0620019 beq patch18_4 ,p_mouse_start_reconnect_device 
+0006 c0638040 beq patch18_7 ,p_mouse_app_enter_hibernate 
+0007 c0648044 beq patch19_1 ,p_mouse_setgpio_hibernate 
+0008 c065004f beq patch19_2 ,p_mouse_lpm_before_common 
+0009 c0670144 beq patch19_6 ,p_mouse_motion 
+000a c0680091 beq patch1a_0 ,p_mouse_seting_dpi 
+000b c06b0058 beq patch1a_6 ,p_mouse_priority_bb_event 
+000c c06c80a2 beq patch1b_1 ,p_mouse_bb_event_timer 
+000d c06d00f8 beq patch1b_2 ,p_mouse_start_discovery 
+000e c0740101 beq patch1d_0 ,p_hid_rx_process 
+000f 2020137c branch loop 
 
 pf_patch_ext:
-000f c05080e5 beq patch34_1 ,p_le_slave_match 
-0010 c06000ef beq patch38_0 ,p_le_parse_l2cap 
-0011 2020137c branch loop 
+0010 c0508115 beq patch34_1 ,p_le_slave_match 
+0011 c060011f beq patch38_0 ,p_le_parse_l2cap 
+0012 2020137c branch loop 
 
 p_soft_reset:
-0012 20800000 clear_stack 
-0013 204030f3 call app_param_init 
-0014 20403bfd call mouse_xtal_init 
-0015 20200804 branch soft_reset + 3 
+0013 20800000 clear_stack 
+0014 204030f3 call app_param_init 
+0015 20403bfd call mouse_xtal_init 
+0016 20200804 branch soft_reset + 3 
 
 p_app_init:
 
 p_mouse_init:
-0016 20406df3 call enable_authrom 
-0017 20203bc1 branch mouse_init 
+0017 20406df3 call enable_authrom 
+0018 20203bc1 branch mouse_init 
 
 p_mouse_start_reconnect_device:
-0018 da204939 arg mem_device1_type ,rega 
-0019 6fe0c938 fetch 1 ,mem_device_flag 
-001a 1fe0ffff increase -1 ,pdata 
-001b 1feffe1d mul32 pdata ,29 ,pdata 
-001c 9a20a200 iadd rega ,rega 
-001d efe08011 ifetch 1 ,rega 
-001e 67e0c482 store 1 ,mem_xrecord_mode 
-001f c0198022 beq rec_3_mode ,p_mouse3_0_check_reconn_target 
-0020 c01a3d7b beq rec_4_mode ,mouse4_0_check_reconn_target 
-0021 20204553 branch mouse_start_discovery 
+0019 da204939 arg mem_device1_type ,rega 
+001a 6fe0c938 fetch 1 ,mem_device_flag 
+001b 1fe0ffff increase -1 ,pdata 
+001c 1feffe1d mul32 pdata ,29 ,pdata 
+001d 9a20a200 iadd rega ,rega 
+001e efe08011 ifetch 1 ,rega 
+001f 67e0c482 store 1 ,mem_xrecord_mode 
+0020 c0198023 beq rec_3_mode ,p_mouse3_0_check_reconn_target 
+0021 c01a002a beq rec_4_mode ,p_mouse4_0_check_reconn_target 
+0022 20204553 branch mouse_start_discovery 
 
 p_mouse3_0_check_reconn_target:
-0022 68494bb8 fetcht 2 ,mem_mouse_fast_page_to 
-0023 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
-0024 c07fbd73 beq 0xff ,mouse3_0_check_reconn_target_next 
-0025 6848c902 fetcht 1 ,mem_mouse_direct_timeout 
-0026 6048cb77 storet 1 ,mem_mouse_direct_timer 
-0027 68494bb5 fetcht 2 ,mem_mouse_page_to 
-0028 20203d73 branch mouse3_0_check_reconn_target_next 
+0023 68494bb8 fetcht 2 ,mem_mouse_fast_page_to 
+0024 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
+0025 c07fbd73 beq 0xff ,mouse3_0_check_reconn_target_next 
+0026 6848c902 fetcht 1 ,mem_mouse_direct_timeout 
+0027 6048cb77 storet 1 ,mem_mouse_direct_timer 
+0028 68494bb5 fetcht 2 ,mem_mouse_page_to 
+0029 20203d73 branch mouse3_0_check_reconn_target_next 
+
+p_mouse4_0_check_reconn_target:
+002a 2040498e call mouse_low_voltage_led_blink_disable 
+002b 704ba700 jam 0 ,mem_mouse_device_poweron_timer_count 
+002c 6fe14be2 fetch 2 ,mem_mouse_le_reconn_led_blink_time 
+002d 204048ce call mouse_discover_setting_led_gpio + 2 
+002e 20203d7b branch mouse4_0_check_reconn_target 
 
 p_lpm_write_ice_disable:
-0029 6ff10120 fetch 2 ,core_ucode_flag 
-002a 793ffe0e set0 lpmreg_ice_mode_bit ,pdata 
-002b 67f2004c store 4 ,core_lpm_reg 
-002c 20205caf branch lpm_write2_ctrl_option 
+002f 6ff10120 fetch 2 ,core_ucode_flag 
+0030 793ffe0e set0 lpmreg_ice_mode_bit ,pdata 
+0031 67f2004c store 4 ,core_lpm_reg 
+0032 20205caf branch lpm_write2_ctrl_option 
 
 p_initialize_radio_cont:
-002d 708a8be6 jam 0xe6 ,core_syn_aac_cfg1 
-002e 2040126a call initialize_syn_afc_cfg1 
-002f 20401271 call initialize_rf_ldo_cfg1 
-0030 20401277 call initialize_rc_cal 
-0031 708a6d09 jam 0x09 ,core_rx_bq_cfg0 
-0032 708a0305 jam 5 ,core_clkpll_cfg0 
-0033 708a7a94 jam 0x94 ,core_rx_iqadc_cfg 
-0034 708a0e0b jam 0x0b ,core_rf_ldo_cfg2 
-0035 708a0f05 jam 0x05 ,core_rf_ldo_cfg3 
-0036 708a8390 jam 0x90 ,core_syn_pfd_lkd_cfg 
-0037 2020125d branch initialize_radio_cont + 8 
+0033 708a8be6 jam 0xe6 ,core_syn_aac_cfg1 
+0034 2040126a call initialize_syn_afc_cfg1 
+0035 20401271 call initialize_rf_ldo_cfg1 
+0036 20401277 call initialize_rc_cal 
+0037 708a6d09 jam 0x09 ,core_rx_bq_cfg0 
+0038 708a0305 jam 5 ,core_clkpll_cfg0 
+0039 708a7a94 jam 0x94 ,core_rx_iqadc_cfg 
+003a 708a0e0b jam 0x0b ,core_rf_ldo_cfg2 
+003b 708a0f05 jam 0x05 ,core_rf_ldo_cfg3 
+003c 708a8390 jam 0x90 ,core_syn_pfd_lkd_cfg 
+003d 2020125d branch initialize_radio_cont + 8 
 
 p_init_param:
-0038 70008000 jam 0 ,mem_lmo_tid2 
-0039 202013b7 branch init_param_next + 1 
+003e 70008000 jam 0 ,mem_lmo_tid2 
+003f 202013b7 branch init_param_next + 1 
 
 p_mouse_app_enter_hibernate:
-003a 58000006 setarg pan_reg_config 
-003b 20405b0d call twspi_read 
-003c c281be23 bbit1 3 ,mouse_app_enter_hibernate + 3 
-003d 20203e21 branch mouse_app_enter_hibernate + 1 
+0040 58000006 setarg pan_reg_config 
+0041 20405b0d call twspi_read 
+0042 c281be23 bbit1 3 ,mouse_app_enter_hibernate + 3 
+0043 20203e21 branch mouse_app_enter_hibernate + 1 
 
 p_mouse_setgpio_hibernate:
-003e 204042e9 call mouse_set_sdio_high 
-003f 20407fdc call clear_wake 
-0040 20404015 call mouse_before_hibernate_wheel_gpio_set 
-0041 6848c910 fetcht 1 ,mem_matrix_public_gpio 
-0042 20406069 call gpio_out_active 
-0043 6848c910 fetcht 1 ,mem_matrix_public_gpio 
-0044 20406042 call gpio_clr_wake 
-0045 6fe0c920 fetch 1 ,mem_mouse_sensor_sdio_gpio 
-0046 d840003f arg gpcfg_output_high ,temp 
-0047 20406093 call gpio_config_function_int 
-0048 20203e36 branch mouse_setgpio_hibernate + 3 
+0044 204042e9 call mouse_set_sdio_high 
+0045 20407fdc call clear_wake 
+0046 20404015 call mouse_before_hibernate_wheel_gpio_set 
+0047 6848c910 fetcht 1 ,mem_matrix_public_gpio 
+0048 20406069 call gpio_out_active 
+0049 6848c910 fetcht 1 ,mem_matrix_public_gpio 
+004a 20406042 call gpio_clr_wake 
+004b 6fe0c920 fetch 1 ,mem_mouse_sensor_sdio_gpio 
+004c d840003f arg gpcfg_output_high ,temp 
+004d 20406093 call gpio_config_function_int 
+004e 20203e36 branch mouse_setgpio_hibernate + 3 
 
 p_mouse_lpm_before_common:
-0049 6848c913 fetcht 1 ,mem_whee_a_data_gpio 
-004a 20406050 call gpio_config_input 
-004b 6848c914 fetcht 1 ,mem_whee_b_data_gpio 
-004c 20406050 call gpio_config_input 
-004d 20403f88 call mouse_wheel_check 
-004e 6fe0c91f fetch 1 ,mem_mouse_sensor_sclk_gpio 
-004f d840003f arg gpcfg_output_high ,temp 
-0050 20406093 call gpio_config_function_int 
-0051 20203e44 branch mouse_lpm_before_common_next 
+004f 6848c913 fetcht 1 ,mem_whee_a_data_gpio 
+0050 20406050 call gpio_config_input 
+0051 6848c914 fetcht 1 ,mem_whee_b_data_gpio 
+0052 20406050 call gpio_config_input 
+0053 20403f88 call mouse_wheel_check 
+0054 6fe0c91f fetch 1 ,mem_mouse_sensor_sclk_gpio 
+0055 d840003f arg gpcfg_output_high ,temp 
+0056 20406093 call gpio_config_function_int 
+0057 20203e44 branch mouse_lpm_before_common_next 
 
 p_mouse_priority_bb_event:
-0052 1a627e00 copy regc ,pdata 
-0053 c01e0073 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
-0054 c002006c beq bt_evt_reconn_failed ,p_mouse_bb_event_reconn_failed 
-0055 c009806c beq bt_evt_reconn_page_timeout ,p_mouse_bb_event_reconn_failed 
-0056 c0190059 beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
-0057 c0220060 beq bt_evt_le_parse_conn_param_accepted ,p_mouse_le_parse_conn_param_accepted 
-0058 20204336 branch mouse_priority_bb_event + 2 
+0058 1a627e00 copy regc ,pdata 
+0059 c0008062 beq bt_evt_bb_connected ,p_mouse_bb_event_connected 
+005a c01e008a beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
+005b c01c8088 beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
+005c c0020081 beq bt_evt_reconn_failed ,p_mouse_bb_event_reconn_failed 
+005d c0098081 beq bt_evt_reconn_page_timeout ,p_mouse_bb_event_reconn_failed 
+005e c019006e beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
+005f c0220075 beq bt_evt_le_parse_conn_param_accepted ,p_mouse_le_parse_conn_param_accepted 
+0060 c00a8064 beq bt_evt_le_disconnected ,p_mouse_le_bb_disconnected 
+0061 20204336 branch mouse_priority_bb_event + 2 
+
+p_mouse_bb_event_connected:
+0062 20404544 call mouse_no_data_timer_init 
+0063 202043fa branch mouse_bb_event_connected 
+
+p_mouse_le_bb_disconnected:
+0064 58000000 setarg 0 
+0065 67e14af2 store 2 ,mem_le_battery_level_updata_timer 
+0066 704ac600 jam 0 ,mem_mouse_le_bb_connected_flag 
+0067 58000006 setarg le_interval_7_5ms 
+0068 67e14372 store 2 ,mem_le_interval_min 
+0069 67e14374 store 2 ,mem_le_interval_min + 2 
+006a 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+006b c28dc366 bbit1 mouse_enable_bt_125hz ,mouse_le_bb_disconnected_next + 2 
+006c 58000007 setarg le_interval_8_75ms 
+006d 20204364 branch mouse_le_bb_disconnected_next 
 
 p_mouse_le_ll_start_encryt:
-0059 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
-005a c000805d beq 1 ,p_mouse_le_ll_reconn_start_encryt 
-005b 704b7614 jam 20 ,mem_le_start_encrypt_timer 
-005c 20204373 branch mouse_le_ll_enable_start_enc_flag 
+006e 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
+006f c0008072 beq 1 ,p_mouse_le_ll_reconn_start_encryt 
+0070 704b7614 jam 20 ,mem_le_start_encrypt_timer 
+0071 20204373 branch mouse_le_ll_enable_start_enc_flag 
 
 p_mouse_le_ll_reconn_start_encryt:
-005d 2040436c call mouse_updata_le_param 
-005e 704b7605 jam 5 ,mem_le_start_encrypt_timer 
-005f 20204373 branch mouse_le_ll_enable_start_enc_flag 
+0072 2040436c call mouse_updata_le_param 
+0073 704b7605 jam 5 ,mem_le_start_encrypt_timer 
+0074 20204373 branch mouse_le_ll_enable_start_enc_flag 
 
 p_mouse_le_parse_conn_param_accepted:
-0060 6fe082c1 fetch 1 ,mem_le_new_conninterval 
-0061 1fe67c0c sub pdata ,le_interval_15ms ,null 
-0062 24214384 nbranch mouse_le_conn_param_lpm_disable ,positive 
-0063 67e14372 store 2 ,mem_le_interval_min 
-0064 67e14374 store 2 ,mem_le_interval_min + 2 
-0065 6fe082c3 fetch 1 ,mem_le_new_connslavelatency 
-0066 6848cb8a fetcht 1 ,mem_lpm_mult_init 
-0067 98467c00 isub temp ,null 
-0068 2021439a branch mouse_le_lpm_mult_reinit ,positive 
-0069 6fe082c3 fetch 1 ,mem_le_new_connslavelatency 
-006a 67e0cb8a store 1 ,mem_lpm_mult_init 
-006b 20204386 branch mouse_le_conn_param_lpm_enable 
+0075 6fe082c1 fetch 1 ,mem_le_new_conninterval 
+0076 1fe67c0c sub pdata ,le_interval_15ms ,null 
+0077 24214384 nbranch mouse_le_conn_param_lpm_disable ,positive 
+0078 67e14372 store 2 ,mem_le_interval_min 
+0079 67e14374 store 2 ,mem_le_interval_min + 2 
+007a 6fe082c3 fetch 1 ,mem_le_new_connslavelatency 
+007b 6848cb8a fetcht 1 ,mem_lpm_mult_init 
+007c 98467c00 isub temp ,null 
+007d 2021439a branch mouse_le_lpm_mult_reinit ,positive 
+007e 6fe082c3 fetch 1 ,mem_le_new_connslavelatency 
+007f 67e0cb8a store 1 ,mem_lpm_mult_init 
+0080 20204386 branch mouse_le_conn_param_lpm_enable 
 
 p_mouse_bb_event_reconn_failed:
-006c 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
-006d c07fc2f8 beq 0xff ,mouse_buletooth_fast_conn_end 
-006e 6fe1478c fetch 2 ,mem_ui_state_map 
-006f c3860000 rtnbit1 ui_state_btn_down 
-0070 c3830000 rtnbit1 ui_state_bt_discovery 
-0071 c3858000 rtnbit1 ui_state_ble_adv 
-0072 20203e20 branch mouse_app_enter_hibernate 
+0081 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
+0082 c07fc2f8 beq 0xff ,mouse_buletooth_fast_conn_end 
+0083 6fe1478c fetch 2 ,mem_ui_state_map 
+0084 c3860000 rtnbit1 ui_state_btn_down 
+0085 c3830000 rtnbit1 ui_state_bt_discovery 
+0086 c3858000 rtnbit1 ui_state_ble_adv 
+0087 20203e20 branch mouse_app_enter_hibernate 
+
+p_mouse_24g_pairing_complete:
+0088 20404544 call mouse_no_data_timer_init 
+0089 20204857 branch mouse_24g_pairing_complete 
 
 p_mouse_24g_attempt_success:
-0073 6fe2483c fetch 4 ,mem_24g_addr 
-0074 67e24891 store 4 ,mem_24g_receiver_addr 
-0075 67e24993 store 4 ,mem_mouse_24g_addr 
-0076 204048c6 call mouse_device_poweron_timer_init 
-0077 2020484e branch mouse_24g_attempt_success 
+008a 6fe2483c fetch 4 ,mem_24g_addr 
+008b 67e24891 store 4 ,mem_24g_receiver_addr 
+008c 67e24993 store 4 ,mem_mouse_24g_addr 
+008d 2040257e call g24_ch_syncword_crc8_init 
+008e 204048c6 call mouse_device_poweron_timer_init 
+008f 20404544 call mouse_no_data_timer_init 
+0090 2020484e branch mouse_24g_attempt_success 
 
 p_mouse_seting_dpi:
-0078 2040408f call mouse_setting_dpi_4_level 
-0079 2040007b call p_mouse_dpi_led_blink_delay 
-007a 20204098 branch mouse_seting_sensor_type 
+0091 2040408f call mouse_setting_dpi_4_level 
+0092 20400094 call p_mouse_dpi_led_blink_delay 
+0093 20204098 branch mouse_seting_sensor_type 
 
 p_mouse_dpi_led_blink_delay:
-007b 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
-007c c17f8000 rtneq gpio_disable 
-007d 6fe14ac2 fetch 2 ,mem_mouse_discovery_timer 
-007e 247a0000 nrtn blank 
-007f 6fe14883 fetch 2 ,mem_24g_pair_timeout 
-0080 247a0000 nrtn blank 
-0081 6fe14887 fetch 2 ,mem_24g_reconn_timeout 
-0082 247a0000 nrtn blank 
-0083 6fe0cba7 fetch 1 ,mem_mouse_device_poweron_timer_count 
-0084 247a0000 nrtn blank 
-0085 6fe0cbc1 fetch 1 ,mem_mouse_dpi_led_delay_count_init 
-0086 203a0097 branch p_mouse_dpi_led_blink_init ,blank 
-0087 67e0cba8 store 1 ,mem_mouse_dpi_led_delay_count 
-0088 20600000 rtn 
+0094 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
+0095 c17f8000 rtneq gpio_disable 
+0096 6fe14ac2 fetch 2 ,mem_mouse_discovery_timer 
+0097 247a0000 nrtn blank 
+0098 6fe14883 fetch 2 ,mem_24g_pair_timeout 
+0099 247a0000 nrtn blank 
+009a 6fe14887 fetch 2 ,mem_24g_reconn_timeout 
+009b 247a0000 nrtn blank 
+009c 6fe0cba7 fetch 1 ,mem_mouse_device_poweron_timer_count 
+009d 247a0000 nrtn blank 
+009e 6fe0cbc1 fetch 1 ,mem_mouse_dpi_led_delay_count_init 
+009f 203a00bb branch p_mouse_dpi_led_blink_init ,blank 
+00a0 67e0cba8 store 1 ,mem_mouse_dpi_led_delay_count 
+00a1 20600000 rtn 
 
 p_mouse_bb_event_timer:
-0089 20403e9b call mouse_adc_read 
-008a 20404956 call mouse_low_voltage_led_timer 
-008b 2040232b call g24_pair_timeout_timer 
-008c 20402556 call g24_reconn_timeout_timer 
-008d 204047cd call mouse_24g_long_sleep_param_update_timer 
-008e 204048be call mouse_device_poweron_timer 
-008f 20400094 call p_mouse_dpi_led_blink_delay_timer 
-0090 204000ac call p_mouse_dpi_key_check_long_press 
-0091 204044cc call mouse_bt_discovery_check 
-0092 204000b7 call p_mouse_commbination_key_process 
-0093 202044c0 branch mouse_bb_event_timer + 11 
+00a2 20403e9b call mouse_adc_read 
+00a3 20404956 call mouse_low_voltage_led_timer 
+00a4 2040232b call g24_pair_timeout_timer 
+00a5 20402556 call g24_reconn_timeout_timer 
+00a6 204047cd call mouse_24g_long_sleep_param_update_timer 
+00a7 204048be call mouse_device_poweron_timer 
+00a8 204000b8 call p_mouse_dpi_led_blink_delay_timer 
+00a9 204000d0 call p_mouse_dpi_key_check_long_press 
+00aa 204044cc call mouse_bt_discovery_check 
+00ab 204000db call p_mouse_commbination_key_process 
+00ac 204044ff call mouse_check_discovery_timeout_timer 
+00ad 20404504 call mouse_check_direct_timeout_timer 
+00ae 20404512 call mouse_le_enable_att_list_timer 
+00af 204000f5 call p_mouse_le_battery_updata_timer 
+00b0 20404515 call mouse_le_send_smp_security_request_timer 
+00b1 2040452a call mouse_check_hid_handshake_timer 
+00b2 2040452d call mouse_bt_check_sniff_req_timeout_timer 
+00b3 20404532 call mouse_check_reconnect_delay_long_sleep 
+00b4 20404535 call mouse_current_mult_update_timer 
+00b5 20404022 call mouse_wheel_trigger_timer 
+00b6 20404547 call mouse_store_information_delay_timer 
+00b7 2020453c branch mouse_check_no_data_timeout_timer 
 
 p_mouse_dpi_led_blink_delay_timer:
-0094 da604ba8 arg mem_mouse_dpi_led_delay_count ,regc 
-0095 da400097 arg p_mouse_dpi_led_blink_init ,regb 
-0096 2020318a branch timer_single_step 
+00b8 da604ba8 arg mem_mouse_dpi_led_delay_count ,regc 
+00b9 da4000bb arg p_mouse_dpi_led_blink_init ,regb 
+00ba 2020318a branch timer_single_step 
 
 p_mouse_dpi_led_blink_init:
-0097 6fe0c927 fetch 1 ,mem_config_sensor_type 
-0098 c001c8f2 beq p3212 ,mouse_dpi_led_blink_init 
-0099 c005c8f2 beq ka8g2 ,mouse_dpi_led_blink_init 
-009a 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
-009b 67e0c92f store 1 ,mem_mouse_struct_led_gpio 
-009c 6fe14bc2 fetch 2 ,mem_mouse_dpi_led_blink_time 
-009d 67e14930 store 2 ,mem_mouse_on_time 
-009e 67e14932 store 2 ,mem_mouse_off_time 
-009f da200000 arg 0 ,rega 
-00a0 6848c992 fetcht 1 ,mem_mouse_dpi 
-00a1 18408402 increase 2 ,temp 
-00a2 18467c03 sub temp ,3 ,null 
-00a3 204100a6 call p_mouse_dpi_led_blink_init_level_4 ,positive 
-00a4 244100aa ncall p_mouse_dpi_led_blink_count_clean ,positive 
-00a5 202048ff branch mouse_dpi_led_blink_init_end 
+00bb 6fe0c927 fetch 1 ,mem_config_sensor_type 
+00bc c001c8f2 beq p3212 ,mouse_dpi_led_blink_init 
+00bd c005c8f2 beq ka8g2 ,mouse_dpi_led_blink_init 
+00be 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
+00bf 67e0c92f store 1 ,mem_mouse_struct_led_gpio 
+00c0 6fe14bc2 fetch 2 ,mem_mouse_dpi_led_blink_time 
+00c1 67e14930 store 2 ,mem_mouse_on_time 
+00c2 67e14932 store 2 ,mem_mouse_off_time 
+00c3 da200000 arg 0 ,rega 
+00c4 6848c992 fetcht 1 ,mem_mouse_dpi 
+00c5 18408402 increase 2 ,temp 
+00c6 18467c03 sub temp ,3 ,null 
+00c7 204100ca call p_mouse_dpi_led_blink_init_level_4 ,positive 
+00c8 244100ce ncall p_mouse_dpi_led_blink_count_clean ,positive 
+00c9 202048ff branch mouse_dpi_led_blink_init_end 
 
 p_mouse_dpi_led_blink_init_level_4:
-00a6 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-00a7 c40e0000 rtnbit0 mouse_enable_dpi_level_4 
-00a8 18408401 increase 1 ,temp 
-00a9 20600000 rtn 
+00ca 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+00cb c40e0000 rtnbit0 mouse_enable_dpi_level_4 
+00cc 18408401 increase 1 ,temp 
+00cd 20600000 rtn 
 
 p_mouse_dpi_led_blink_count_clean:
-00aa 184085fd increase -3 ,temp 
-00ab 20600000 rtn 
+00ce 184085fd increase -3 ,temp 
+00cf 20600000 rtn 
 
 p_mouse_dpi_key_check_long_press:
-00ac 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-00ad c2944080 bbit1 mouse_enable_select_device_by_dpi_button ,mouse_select_device_by_dpi_button 
-00ae c29b00b0 bbit1 mouse_enable_dpi_key_long_press_disconvery ,p_mouse_discovery_by_dpi_button 
-00af 20600000 rtn 
+00d0 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+00d1 c2944080 bbit1 mouse_enable_select_device_by_dpi_button ,mouse_select_device_by_dpi_button 
+00d2 c29b00d4 bbit1 mouse_enable_dpi_key_long_press_disconvery ,p_mouse_discovery_by_dpi_button 
+00d3 20600000 rtn 
 
 p_mouse_discovery_by_dpi_button:
-00b0 6fe0c9dd fetch 1 ,mem_mouse_dpi_button_state 
-00b1 c1808000 rtnne dpi_button_state_down 
-00b2 da604b9b arg mem_bt_discovery_count ,regc 
-00b3 da4000b5 arg p_mouse_long_dpi_button_bt_discovery ,regb 
-00b4 2020318a branch timer_single_step 
+00d4 6fe0c9dd fetch 1 ,mem_mouse_dpi_button_state 
+00d5 c1808000 rtnne dpi_button_state_down 
+00d6 da604b9b arg mem_bt_discovery_count ,regc 
+00d7 da4000d9 arg p_mouse_long_dpi_button_bt_discovery ,regb 
+00d8 2020318a branch timer_single_step 
 
 p_mouse_long_dpi_button_bt_discovery:
-00b5 7049de01 jam 1 ,mem_mouse_dpi_long_press_flag 
-00b6 202000c9 branch p_mouse_long_button_bt_discovery 
+00d9 7049de01 jam 1 ,mem_mouse_dpi_long_press_flag 
+00da 202000ed branch p_mouse_long_button_bt_discovery 
 
 p_mouse_commbination_key_process:
-00b7 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-00b8 c41a8000 rtnbit0 mouse_enable_commbination_key_by_bt_discovery 
-00b9 6848cbca fetcht 1 ,mem_mouse_commbination_key_bt 
-00ba 6048cb9d storet 1 ,mem_mouse_commbination_key 
-00bb 20404115 call mouse_check_key_gpio 
-00bc 1fe17e07 and pdata ,0x07 ,pdata 
-00bd 6848cb9d fetcht 1 ,mem_mouse_commbination_key 
-00be 98467c00 isub temp ,null 
-00bf 202280c1 branch p_mouse_commbination_key_down ,zero 
-00c0 202044eb branch mouse_commbination_key_up 
+00db 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+00dc c41a8000 rtnbit0 mouse_enable_commbination_key_by_bt_discovery 
+00dd 6848cbca fetcht 1 ,mem_mouse_commbination_key_bt 
+00de 6048cb9d storet 1 ,mem_mouse_commbination_key 
+00df 20404115 call mouse_check_key_gpio 
+00e0 1fe17e07 and pdata ,0x07 ,pdata 
+00e1 6848cb9d fetcht 1 ,mem_mouse_commbination_key 
+00e2 98467c00 isub temp ,null 
+00e3 202280e5 branch p_mouse_commbination_key_down ,zero 
+00e4 202044eb branch mouse_commbination_key_up 
 
 p_mouse_commbination_key_down:
-00c1 204000c3 call p_mouse_combination_ui_timer 
-00c2 202044f2 branch mouse_commbination_key_down + 1 
+00e5 204000e7 call p_mouse_combination_ui_timer 
+00e6 202044f2 branch mouse_commbination_key_down + 1 
 
 p_mouse_combination_ui_timer:
-00c3 da604ba0 arg mem_combination_ui_button_count ,regc 
-00c4 da4000c9 arg p_mouse_long_button_bt_discovery ,regb 
-00c5 2040318a call timer_single_step 
-00c6 6fe0cba0 fetch 1 ,mem_combination_ui_button_count 
-00c7 c000c6e2 beq 1 ,mouse_bt_discovery_button_down_enable 
-00c8 20600000 rtn 
+00e7 da604ba0 arg mem_combination_ui_button_count ,regc 
+00e8 da4000ed arg p_mouse_long_button_bt_discovery ,regb 
+00e9 2040318a call timer_single_step 
+00ea 6fe0cba0 fetch 1 ,mem_combination_ui_button_count 
+00eb c000c6e2 beq 1 ,mouse_bt_discovery_button_down_enable 
+00ec 20600000 rtn 
 
 p_mouse_long_button_bt_discovery:
-00c9 70493801 jam mode_bt_device1 ,mem_device_flag 
-00ca 704b7700 jam 0 ,mem_mouse_direct_timer 
-00cb 2040423c call mouse_sensor_powerdown 
-00cc 204078f4 call check_51cmd_stop_adv 
-00cd 7041ca00 jam 0 ,mem_link_key_exists 
-00ce 20404316 call mouse_stop_bluetooth_mode 
-00cf 204045ee call mouse_store_device_info_delay 
-00d0 202044d4 branch mouse_long_button_bt_discovery 
+00ed 70493801 jam mode_bt_device1 ,mem_device_flag 
+00ee 704b7700 jam 0 ,mem_mouse_direct_timer 
+00ef 2040423c call mouse_sensor_powerdown 
+00f0 204078f4 call check_51cmd_stop_adv 
+00f1 7041ca00 jam 0 ,mem_link_key_exists 
+00f2 20404316 call mouse_stop_bluetooth_mode 
+00f3 204045ee call mouse_store_device_info_delay 
+00f4 202044d4 branch mouse_long_button_bt_discovery 
+
+p_mouse_le_battery_updata_timer:
+00f5 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+00f6 c39d8000 rtnbit1 mouse_enable_le_battery_service_cancel 
+00f7 2020451f branch mouse_le_battery_updata_timer 
+
+p_mouse_start_discovery:
+00f8 6fe1478c fetch 2 ,mem_ui_state_map 
+00f9 2feffe0b isolate1 ui_state_ble_adv ,pdata 
+00fa 2040c581 call mouse_stop_le_adv ,true 
+00fb 6fe1478c fetch 2 ,mem_ui_state_map 
+00fc 2feffe07 isolate1 ui_state_bt_reconnect ,pdata 
+00fd 2040c322 call mouse_cancel_reconnect ,true 
+00fe 58000000 setarg 0 
+00ff 67e14af2 store 2 ,mem_le_battery_level_updata_timer 
+0100 20204554 branch mouse_start_discovery + 1 
 
 p_hid_rx_process:
-00d1 6fe10315 fetch 2 ,mem_l2cap_payload_ptr 
-00d2 1fe20c00 copy pdata ,contr 
-00d3 efe08006 ifetch 1 ,contr 
-00d4 67e0c5f5 store 1 ,mem_l2cap_rcv_hidtype 
-00d5 1fe1040f and pdata ,0x0f ,temp 
-00d6 1ff1fe00 rshift4 pdata ,pdata 
-00d7 c00480d9 beq hid_type_set_idle ,p_hid_rx_process_handshake 
-00d8 20204d93 branch hid_rx_process + 7 
+0101 6fe10315 fetch 2 ,mem_l2cap_payload_ptr 
+0102 1fe20c00 copy pdata ,contr 
+0103 efe08006 ifetch 1 ,contr 
+0104 67e0c5f5 store 1 ,mem_l2cap_rcv_hidtype 
+0105 1fe1040f and pdata ,0x0f ,temp 
+0106 1ff1fe00 rshift4 pdata ,pdata 
+0107 c0048109 beq hid_type_set_idle ,p_hid_rx_process_handshake 
+0108 20204d93 branch hid_rx_process + 7 
 
 p_hid_rx_process_handshake:
-00d9 da200001 arg 1 ,rega 
-00da 20404dc0 call hid_malloc_tx_buff 
-00db 6fe144dc fetch 2 ,mem_hid_ctrl_remote_cid 
-00dc e7e10005 istore 2 ,contw 
-00dd 58000000 setarg 0 
-00de e7e08005 istore 1 ,contw 
-00df 70095001 jam 1 ,mem_ui_data_txbuff_length 
-00e0 6fe0c4e2 fetch 1 ,mem_hid_control_state 
-00e1 79207e06 set1 l2cap_channel_hid_handshake_done ,pdata 
-00e2 67e0c4e2 store 1 ,mem_hid_control_state 
-00e3 70095b12 jam bt_evt_hid_handshake ,mem_fifo_temp 
-00e4 20207871 branch ui_ipc_send_event 
+0109 da200001 arg 1 ,rega 
+010a 20404dc0 call hid_malloc_tx_buff 
+010b 6fe144dc fetch 2 ,mem_hid_ctrl_remote_cid 
+010c e7e10005 istore 2 ,contw 
+010d 58000000 setarg 0 
+010e e7e08005 istore 1 ,contw 
+010f 70095001 jam 1 ,mem_ui_data_txbuff_length 
+0110 6fe0c4e2 fetch 1 ,mem_hid_control_state 
+0111 79207e06 set1 l2cap_channel_hid_handshake_done ,pdata 
+0112 67e0c4e2 store 1 ,mem_hid_control_state 
+0113 70095b12 jam bt_evt_hid_handshake ,mem_fifo_temp 
+0114 20207871 branch ui_ipc_send_event 
 
 p_le_slave_match:
-00e5 6fe0c3dd fetch 1 ,mem_le_md_count 
-00e6 1fe0fe01 pincrease 1 
-00e7 67e0c3dd store 1 ,mem_le_md_count 
-00e8 c006165a beq le_md_max_count ,le_slave_cont 
-00e9 2040191b call le_acknowledge 
-00ea 2040196a call le_prepare_tx 
-00eb 6fe082bd fetch 1 ,mem_le_tx_phy 
-00ec 2040168b call le_enable_phy_by_pdata 
-00ed 20401838 call le_transmit 
-00ee 20201655 branch le_slave_match + 10 
+0115 6fe0c3dd fetch 1 ,mem_le_md_count 
+0116 1fe0fe01 pincrease 1 
+0117 67e0c3dd store 1 ,mem_le_md_count 
+0118 c006165a beq le_md_max_count ,le_slave_cont 
+0119 2040191b call le_acknowledge 
+011a 2040196a call le_prepare_tx 
+011b 6fe082bd fetch 1 ,mem_le_tx_phy 
+011c 2040168b call le_enable_phy_by_pdata 
+011d 20401838 call le_transmit 
+011e 20201655 branch le_slave_match + 10 
 
 p_le_parse_l2cap:
-00ef efe10006 ifetch 2 ,contr 
-00f0 c00200f2 beq le_l2cap_cid_att ,p_le_parse_att 
-00f1 202019e4 branch le_parse_l2cap2 + 3 
+011f efe10006 ifetch 2 ,contr 
+0120 c0020122 beq le_l2cap_cid_att ,p_le_parse_att 
+0121 202019e4 branch le_parse_l2cap2 + 3 
 
 p_le_parse_att:
-00f2 efe18006 ifetch 3 ,contr 
-00f3 67e1c436 store 3 ,mem_le_att_opcode 
-00f4 c00500f7 beq attop_read_request ,p_le_parse_att_read_request 
-00f5 c0090104 beq attop_write_request ,p_le_parse_att_write_request 
-00f6 20201cd3 branch le_parse_att + 2 
+0122 efe18006 ifetch 3 ,contr 
+0123 67e1c436 store 3 ,mem_le_att_opcode 
+0124 c0050127 beq attop_read_request ,p_le_parse_att_read_request 
+0125 c0090134 beq attop_write_request ,p_le_parse_att_write_request 
+0126 20201cd3 branch le_parse_att + 2 
 
 p_le_parse_att_read_request:
-00f7 20401e8d call le_check_encrypt_state 
-00f8 68494437 fetcht 2 ,mem_le_att_handle 
-00f9 6fe0c3c0 fetch 1 ,mem_le_configuration 
-00fa c28180ff bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
+0127 20401e8d call le_check_encrypt_state 
+0128 68494437 fetcht 2 ,mem_le_att_handle 
+0129 6fe0c3c0 fetch 1 ,mem_le_configuration 
+012a c281812f bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
 
 p_le_send_att_read_response:
-00fb 6fe14437 fetch 2 ,mem_le_att_handle 
-00fc c0181ec8 beq 0x30 ,le_send_att_error_response_notfound 
-00fd 68494437 fetcht 2 ,mem_le_att_handle 
-00fe 20201deb branch le_send_att_read_response 
+012b 6fe14437 fetch 2 ,mem_le_att_handle 
+012c c0181ec8 beq 0x30 ,le_send_att_error_response_notfound 
+012d 68494437 fetcht 2 ,mem_le_att_handle 
+012e 20201deb branch le_send_att_read_response 
 
 p_le_send_att_read_response_check_auth:
-00ff 6fe143d1 fetch 2 ,mem_le_pairing_handle 
-0100 98467c00 isub temp ,null 
-0101 242280fb nbranch p_le_send_att_read_response ,zero 
-0102 243400fb nbranch p_le_send_att_read_response ,user 
-0103 20201e10 branch le_send_att_read_response_error_insufficient_auth 
+012f 6fe143d1 fetch 2 ,mem_le_pairing_handle 
+0130 98467c00 isub temp ,null 
+0131 2422812b nbranch p_le_send_att_read_response ,zero 
+0132 2434012b nbranch p_le_send_att_read_response ,user 
+0133 20201e10 branch le_send_att_read_response_error_insufficient_auth 
 
 p_le_parse_att_write_request:
-0104 18c22200 copy contr ,rega 
-0105 6fe143d4 fetch 2 ,mem_le_l2cap_size 
-0106 1fe0a5fd add pdata ,-3 ,regb 
-0107 20401a25 call le_writeatt_cb 
-0108 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
-0109 c07f9e73 beq 0xff ,le_send_att_write_response_check_auth 
-010a 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
-010b 203a1e73 branch le_send_att_write_response_check_auth ,blank 
-010c 6fe0cb75 fetch 1 ,mem_le_connect_status_flag 
-010d c2809e73 bbit1 ll_start_enc_flag ,le_send_att_write_response_check_auth 
-010e 5800001a setarg 0x001a 
-010f 68494437 fetcht 2 ,mem_le_att_handle 
-0110 98467c00 isub temp ,null 
-0111 24229e73 nbranch le_send_att_write_response_check_auth ,zero 
-0112 7002d805 jam att_err_insufficient_authentication ,mem_le_err_code 
-0113 20201ec9 branch le_send_att_error_response 
+0134 18c22200 copy contr ,rega 
+0135 6fe143d4 fetch 2 ,mem_le_l2cap_size 
+0136 1fe0a5fd add pdata ,-3 ,regb 
+0137 20401a25 call le_writeatt_cb 
+0138 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
+0139 c07f9e73 beq 0xff ,le_send_att_write_response_check_auth 
+013a 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
+013b 203a1e73 branch le_send_att_write_response_check_auth ,blank 
+013c 6fe0cb75 fetch 1 ,mem_le_connect_status_flag 
+013d c2809e73 bbit1 ll_start_enc_flag ,le_send_att_write_response_check_auth 
+013e 5800001a setarg 0x001a 
+013f 68494437 fetcht 2 ,mem_le_att_handle 
+0140 98467c00 isub temp ,null 
+0141 24229e73 nbranch le_send_att_write_response_check_auth ,zero 
+0142 7002d805 jam att_err_insufficient_authentication ,mem_le_err_code 
+0143 20201ec9 branch le_send_att_error_response 
 
 p_mouse_motion:
-0114 78547c00 disable user 
-0115 58000000 setarg 0 
-0116 67e348d1 store 6 ,mem_mouse_x 
-0117 20404240 call mouse_check_sensor_data 
-0118 2040408e call mouse_dpi_config 
-0119 20203f75 branch mouse_motion + 5 
+0144 78547c00 disable user 
+0145 58000000 setarg 0 
+0146 67e348d1 store 6 ,mem_mouse_x 
+0147 20404240 call mouse_check_sensor_data 
+0148 2040408e call mouse_dpi_config 
+0149 20203f75 branch mouse_motion + 5 
               org 0x800
 
 start:
Index: program/patch.prog
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/XR2221_Standard_2.4G&BLE/program/patch.prog	(revision 823)
+++ /YC1308AC/branch/mouse_project/XZR/XR2221_Standard_2.4G&BLE/program/patch.prog	(working copy)
@@ -12,6 +12,7 @@
 	beq patch1a_0,p_mouse_seting_dpi
 	beq patch1a_6,p_mouse_priority_bb_event
 	beq patch1b_1,p_mouse_bb_event_timer
+	beq patch1b_2,p_mouse_start_discovery
 	beq patch1d_0,p_hid_rx_process
 	branch loop
 
@@ -42,7 +43,7 @@
 	ifetch 1,rega
 	store 1,mem_xrecord_mode
 	beq REC_3_MODE,p_mouse3_0_check_reconn_target
-	beq REC_4_MODE,mouse4_0_check_reconn_target
+	beq REC_4_MODE,p_mouse4_0_check_reconn_target
 	branch mouse_start_discovery
 
 p_mouse3_0_check_reconn_target:
@@ -54,6 +55,13 @@
 	fetcht 2,mem_mouse_page_to
 	branch mouse3_0_check_reconn_target_next
 
+p_mouse4_0_check_reconn_target:
+	call mouse_low_voltage_led_blink_disable
+	jam 0,mem_mouse_device_poweron_timer_count
+	fetch 2,mem_mouse_le_reconn_led_blink_time
+	call mouse_discover_setting_led_gpio+2
+	branch mouse4_0_check_reconn_target
+
 p_lpm_write_ice_disable:
 	fetch 2,core_ucode_flag
 	set0 lpmreg_ice_mode_bit,pdata
@@ -118,13 +126,32 @@
 
 p_mouse_priority_bb_event:
 	copy regc,pdata
+	beq BT_EVT_BB_CONNECTED,p_mouse_bb_event_connected
 	beq BT_EVT_24G_ATTEMPT_SUCCESS,p_mouse_24g_attempt_success
+	beq BT_EVT_24G_PAIRING_COMPLETE,p_mouse_24g_pairing_complete
 	beq BT_EVT_RECONN_FAILED,p_mouse_bb_event_reconn_failed
 	beq BT_EVT_RECONN_PAGE_TIMEOUT,p_mouse_bb_event_reconn_failed
 	beq BT_EVT_LE_START_ENC,p_mouse_le_ll_start_encryt
 	beq BT_EVT_LE_PARSE_CONN_PARAM_ACCEPTED,p_mouse_le_parse_conn_param_accepted
+	beq BT_EVT_LE_DISCONNECTED,p_mouse_le_bb_disconnected
 	branch mouse_priority_bb_event+2
 
+p_mouse_bb_event_connected:
+	call mouse_no_data_timer_init
+	branch mouse_bb_event_connected
+
+p_mouse_le_bb_disconnected:
+	setarg 0
+	store 2,mem_le_battery_level_updata_timer
+	jam 0,mem_mouse_le_bb_connected_flag
+	setarg LE_INTERVAL_7_5MS
+	store 2,mem_le_interval_min
+	store 2,mem_le_interval_min+2
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_BT_125Hz,mouse_le_bb_disconnected_next+2
+	setarg LE_INTERVAL_8_75MS
+	branch mouse_le_bb_disconnected_next
+	
 p_mouse_le_ll_start_encryt:
 	fetch 1,mem_mouse_le_reconnect_flag
 	beq 1,p_mouse_le_ll_reconn_start_encryt
@@ -158,13 +185,17 @@
 	rtnbit1 UI_STATE_BLE_ADV
 	branch mouse_app_enter_hibernate
 
-
+p_mouse_24g_pairing_complete:
+	call mouse_no_data_timer_init
+	branch mouse_24g_pairing_complete
 
 p_mouse_24g_attempt_success:
 	fetch 4,mem_24g_addr
 	store 4,mem_24g_receiver_addr
 	store 4,mem_mouse_24g_addr		// if need store 24g address to eeprom/flash,need get mem_24g_addr
+	call g24_ch_syncword_crc8_init
 	call mouse_device_poweron_timer_init
+	call mouse_no_data_timer_init
 	branch mouse_24g_attempt_success
 
 
@@ -205,8 +236,21 @@
 	call p_mouse_dpi_key_check_long_press
 	call mouse_bt_discovery_check
 	call p_mouse_commbination_key_process
-
-	branch mouse_bb_event_timer+11
+	call mouse_check_discovery_timeout_timer
+	//ble
+	call mouse_check_direct_timeout_timer
+	call mouse_le_enable_att_list_timer
+	call p_mouse_le_battery_updata_timer
+	call mouse_le_send_smp_security_request_timer
+	//bt
+	call mouse_check_hid_handshake_timer
+	call mouse_bt_check_sniff_req_timeout_timer
+	call mouse_check_reconnect_delay_long_sleep		//delete 3.0,reconnect fail
+	call mouse_current_mult_update_timer
+	call mouse_wheel_trigger_timer
+	call mouse_store_information_delay_timer
+	branch mouse_check_no_data_timeout_timer
+	
 
 p_mouse_dpi_led_blink_delay_timer:
 	arg mem_mouse_dpi_led_delay_count,regc
@@ -289,6 +333,22 @@
 	call mouse_store_device_info_delay
 	branch mouse_long_button_bt_discovery
 
+p_mouse_le_battery_updata_timer:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit1 MOUSE_ENABLE_LE_BATTERY_SERVICE_CANCEL
+	branch mouse_le_battery_updata_timer
+
+p_mouse_start_discovery:
+	fetch 2,mem_ui_state_map
+	isolate1 UI_STATE_BLE_ADV,pdata
+	call mouse_stop_le_adv,true		//reconnect adv
+	fetch 2,mem_ui_state_map
+	isolate1 UI_STATE_BT_RECONNECT,pdata
+	call mouse_cancel_reconnect,true
+	setarg 0
+	store 2,mem_le_battery_level_updata_timer
+	branch mouse_start_discovery+1
+
 p_hid_rx_process:
 	fetch 2,mem_l2cap_payload_ptr
 	copy pdata,contr
Index: sched/mouse.dat
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/XR2221_Standard_2.4G&BLE/sched/mouse.dat	(revision 823)
+++ /YC1308AC/branch/mouse_project/XZR/XR2221_Standard_2.4G&BLE/sched/mouse.dat	(working copy)
@@ -90,7 +90,10 @@
 #mouse flag byte8
 #bit0 MOUSE_ENABLE_SMOOTHER
 #bit1 MOUSE_ENABLE_XY_OFFSET
-03
+#bit2 MOUSE_ENABLE_24G_AUTO_PAIR_NERVER_BEEN_PAIRED
+#bit3 MOUSE_ENABLE_LE_BATTERY_SERVICE_CANCEL
+#bit4 MOUSE_ENABLE_WHEEL_WAKE_UP_CANCEL
+0b
 
 mem_mouse_discovery_timeout:b0 04	#2min
 mem_mouse_24g_pair_timeout_init:08 00  #1min	    24g reconn timer&pair timer
@@ -179,6 +182,7 @@
 mem_mouse_dpi_led_blink_time: 90 01		#200ms on,200ms off
 mem_mouse_disconvey_led_blink_time: c8 00	#100ms on,100ms off
 mem_mouse_low_v_led_blink_time:90 01		#200ms on,200ms off
+mem_mouse_le_reconn_led_blink_time:64 00
 
 
 #bit0:mouse_key_l    bit1:mouse_key_r  bit2:mouse_key_m
