Index: output/eeprom.dat
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/Standard_2.4G_First/output/eeprom.dat	(revision 390)
+++ /YC1308AC/branch/mouse_project/XZR/Standard_2.4G_First/output/eeprom.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-22
+c6
 02
 c2
 84
@@ -11,47 +11,51 @@
 c0
 00
 00
-0d
+0e
 c0
 45
 80
-1a
+1b
 c0
 4f
 80
-25
+26
 c0
 57
 00
-11
+12
 c0
 64
 80
-27
+28
 c0
 65
 00
-32
+33
 c0
 68
 00
-43
+55
 c0
 6b
 00
-3b
+3c
 c0
 6c
 80
-54
+66
 20
 20
 13
 7c
 c0
+50
+80
+93
+c0
 60
 00
-74
+9d
 20
 20
 13
@@ -79,7 +83,7 @@
 20
 40
 00
-16
+17
 d8
 40
 00
@@ -247,12 +251,80 @@
 c0
 1e
 00
-3e
+50
+c0
+02
+00
+49
+c0
+09
+80
+49
+c0
+19
+00
+42
 20
 20
 43
 36
 6f
+e0
+ca
+c7
+c0
+00
+80
+46
+70
+4b
+76
+14
+20
+20
+43
+73
+20
+40
+43
+6c
+70
+4b
+76
+05
+20
+20
+43
+73
+6f
+e0
+ca
+c1
+c0
+7f
+c2
+f8
+6f
+e1
+47
+8c
+c3
+86
+00
+00
+c3
+83
+00
+00
+c3
+85
+80
+00
+20
+20
+3e
+20
+6f
 e2
 48
 3c
@@ -279,7 +351,7 @@
 20
 40
 00
-46
+58
 20
 20
 40
@@ -331,7 +403,7 @@
 20
 3a
 00
-5f
+76
 67
 e0
 cb
@@ -367,11 +439,31 @@
 20
 40
 00
-5c
+73
 20
+40
+40
+7c
 20
+40
 44
-bd
+cc
+20
+40
+44
+dc
+20
+40
+44
+ff
+20
+40
+00
+8b
+20
+20
+44
+c2
 da
 60
 4b
@@ -379,7 +471,7 @@
 da
 40
 00
-5f
+76
 20
 20
 31
@@ -435,11 +527,11 @@
 20
 41
 00
-6e
+85
 24
 41
 00
-72
+89
 20
 20
 48
@@ -468,6 +560,78 @@
 60
 00
 00
+da
+60
+4b
+77
+da
+40
+00
+8e
+20
+20
+45
+06
+6f
+e0
+ca
+c1
+c0
+7f
+c2
+f8
+6f
+e0
+ca
+b0
+24
+3a
+47
+0e
+20
+20
+3e
+20
+6f
+e0
+c3
+dd
+1f
+e0
+fe
+01
+67
+e0
+c3
+dd
+c0
+06
+16
+5a
+20
+40
+19
+1b
+20
+40
+19
+6a
+6f
+e0
+82
+bd
+20
+40
+16
+8b
+20
+40
+18
+38
+20
+20
+16
+55
 ef
 e1
 00
@@ -475,7 +639,7 @@
 c0
 02
 00
-77
+a0
 20
 20
 19
@@ -491,7 +655,7 @@
 c0
 05
 00
-7b
+a4
 20
 20
 1c
@@ -511,7 +675,7 @@
 c2
 81
 80
-83
+ac
 6f
 e1
 44
@@ -539,17 +703,17 @@
 24
 22
 80
-7f
+a8
 24
 34
 00
-7f
+a8
 20
 20
 1e
 10
-e8
-b1
+b0
+82
 aa
 55
 40
@@ -608,7 +772,7 @@
 00
 00
 00
-00
+02
 00
 00
 00
@@ -1714,174 +1878,10 @@
 aa
 aa
 55
-35
+37
 59
-ef
-9f
-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
+78
+5d
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-74
-88
+a6
+69
Index: output/program.lis
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/Standard_2.4G_First/output/program.lis	(revision 390)
+++ /YC1308AC/branch/mouse_project/XZR/Standard_2.4G_First/output/program.lis	(working copy)
@@ -1,187 +1,240 @@
               include "bt_format "
               org 0x0000
 0000 c284000b bbit1 8 ,pf_patch_ext 
-0001 c000000d beq patch00_0 ,p_soft_reset 
-0002 c045801a beq patch11_3 ,p_initialize_radio_cont 
-0003 c04f8025 beq patch13_7 ,p_init_param 
-0004 c0570011 beq patch15_6 ,p_app_init 
-0005 c0648027 beq patch19_1 ,p_mouse_setgpio_hibernate 
-0006 c0650032 beq patch19_2 ,p_mouse_lpm_before_common 
-0007 c0680043 beq patch1a_0 ,p_mouse_seting_dpi 
-0008 c06b003b beq patch1a_6 ,p_mouse_priority_bb_event 
-0009 c06c8054 beq patch1b_1 ,p_mouse_bb_event_timer 
+0001 c000000e beq patch00_0 ,p_soft_reset 
+0002 c045801b beq patch11_3 ,p_initialize_radio_cont 
+0003 c04f8026 beq patch13_7 ,p_init_param 
+0004 c0570012 beq patch15_6 ,p_app_init 
+0005 c0648028 beq patch19_1 ,p_mouse_setgpio_hibernate 
+0006 c0650033 beq patch19_2 ,p_mouse_lpm_before_common 
+0007 c0680055 beq patch1a_0 ,p_mouse_seting_dpi 
+0008 c06b003c beq patch1a_6 ,p_mouse_priority_bb_event 
+0009 c06c8066 beq patch1b_1 ,p_mouse_bb_event_timer 
 000a 2020137c branch loop 
 
 pf_patch_ext:
-000b c0600074 beq patch38_0 ,p_le_parse_l2cap 
-000c 2020137c branch loop 
+000b c0508093 beq patch34_1 ,p_le_slave_match 
+000c c060009d beq patch38_0 ,p_le_parse_l2cap 
+000d 2020137c branch loop 
 
 p_soft_reset:
-000d 20800000 clear_stack 
-000e 204030f3 call app_param_init 
-000f 20403bfd call mouse_xtal_init 
-0010 20200804 branch soft_reset + 3 
+000e 20800000 clear_stack 
+000f 204030f3 call app_param_init 
+0010 20403bfd call mouse_xtal_init 
+0011 20200804 branch soft_reset + 3 
 
 p_app_init:
 
 p_mouse_init:
-0011 20406df3 call enable_authrom 
-0012 20400016 call p_lpm_write_ice_disable 
-0013 d8400013 arg 19 ,temp 
-0014 2040607f call gpio_set_high_impedance 
-0015 20203bc1 branch mouse_init 
+0012 20406df3 call enable_authrom 
+0013 20400017 call p_lpm_write_ice_disable 
+0014 d8400013 arg 19 ,temp 
+0015 2040607f call gpio_set_high_impedance 
+0016 20203bc1 branch mouse_init 
 
 p_lpm_write_ice_disable:
-0016 6ff10120 fetch 2 ,core_ucode_flag 
-0017 793ffe0e set0 lpmreg_ice_mode_bit ,pdata 
-0018 67f2004c store 4 ,core_lpm_reg 
-0019 20205caf branch lpm_write2_ctrl_option 
+0017 6ff10120 fetch 2 ,core_ucode_flag 
+0018 793ffe0e set0 lpmreg_ice_mode_bit ,pdata 
+0019 67f2004c store 4 ,core_lpm_reg 
+001a 20205caf branch lpm_write2_ctrl_option 
 
 p_initialize_radio_cont:
-001a 708a8be6 jam 0xe6 ,core_syn_aac_cfg1 
-001b 2040126a call initialize_syn_afc_cfg1 
-001c 20401271 call initialize_rf_ldo_cfg1 
-001d 20401277 call initialize_rc_cal 
-001e 708a6d09 jam 0x09 ,core_rx_bq_cfg0 
-001f 708a0305 jam 5 ,core_clkpll_cfg0 
-0020 708a7a94 jam 0x94 ,core_rx_iqadc_cfg 
-0021 708a0e0b jam 0x0b ,core_rf_ldo_cfg2 
-0022 708a0f05 jam 0x05 ,core_rf_ldo_cfg3 
-0023 708a8390 jam 0x90 ,core_syn_pfd_lkd_cfg 
-0024 2020125d branch initialize_radio_cont + 8 
+001b 708a8be6 jam 0xe6 ,core_syn_aac_cfg1 
+001c 2040126a call initialize_syn_afc_cfg1 
+001d 20401271 call initialize_rf_ldo_cfg1 
+001e 20401277 call initialize_rc_cal 
+001f 708a6d09 jam 0x09 ,core_rx_bq_cfg0 
+0020 708a0305 jam 5 ,core_clkpll_cfg0 
+0021 708a7a94 jam 0x94 ,core_rx_iqadc_cfg 
+0022 708a0e0b jam 0x0b ,core_rf_ldo_cfg2 
+0023 708a0f05 jam 0x05 ,core_rf_ldo_cfg3 
+0024 708a8390 jam 0x90 ,core_syn_pfd_lkd_cfg 
+0025 2020125d branch initialize_radio_cont + 8 
 
 p_init_param:
-0025 70008000 jam 0 ,mem_lmo_tid2 
-0026 202013b7 branch init_param_next + 1 
+0026 70008000 jam 0 ,mem_lmo_tid2 
+0027 202013b7 branch init_param_next + 1 
 
 p_mouse_setgpio_hibernate:
-0027 204042e9 call mouse_set_sdio_high 
-0028 20407fdc call clear_wake 
-0029 20404015 call mouse_before_hibernate_wheel_gpio_set 
-002a 6848c910 fetcht 1 ,mem_matrix_public_gpio 
-002b 20406069 call gpio_out_active 
-002c 6848c910 fetcht 1 ,mem_matrix_public_gpio 
-002d 20406042 call gpio_clr_wake 
-002e 6fe0c920 fetch 1 ,mem_mouse_sensor_sdio_gpio 
-002f d840003f arg gpcfg_output_high ,temp 
-0030 20406093 call gpio_config_function_int 
-0031 20203e36 branch mouse_setgpio_hibernate + 3 
+0028 204042e9 call mouse_set_sdio_high 
+0029 20407fdc call clear_wake 
+002a 20404015 call mouse_before_hibernate_wheel_gpio_set 
+002b 6848c910 fetcht 1 ,mem_matrix_public_gpio 
+002c 20406069 call gpio_out_active 
+002d 6848c910 fetcht 1 ,mem_matrix_public_gpio 
+002e 20406042 call gpio_clr_wake 
+002f 6fe0c920 fetch 1 ,mem_mouse_sensor_sdio_gpio 
+0030 d840003f arg gpcfg_output_high ,temp 
+0031 20406093 call gpio_config_function_int 
+0032 20203e36 branch mouse_setgpio_hibernate + 3 
 
 p_mouse_lpm_before_common:
-0032 6848c913 fetcht 1 ,mem_whee_a_data_gpio 
-0033 20406050 call gpio_config_input 
-0034 6848c914 fetcht 1 ,mem_whee_b_data_gpio 
-0035 20406050 call gpio_config_input 
-0036 20403f88 call mouse_wheel_check 
-0037 6fe0c91f fetch 1 ,mem_mouse_sensor_sclk_gpio 
-0038 d840003f arg gpcfg_output_high ,temp 
-0039 20406093 call gpio_config_function_int 
-003a 20203e44 branch mouse_lpm_before_common_next 
+0033 6848c913 fetcht 1 ,mem_whee_a_data_gpio 
+0034 20406050 call gpio_config_input 
+0035 6848c914 fetcht 1 ,mem_whee_b_data_gpio 
+0036 20406050 call gpio_config_input 
+0037 20403f88 call mouse_wheel_check 
+0038 6fe0c91f fetch 1 ,mem_mouse_sensor_sclk_gpio 
+0039 d840003f arg gpcfg_output_high ,temp 
+003a 20406093 call gpio_config_function_int 
+003b 20203e44 branch mouse_lpm_before_common_next 
 
 p_mouse_priority_bb_event:
-003b 1a627e00 copy regc ,pdata 
-003c c01e003e beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
-003d 20204336 branch mouse_priority_bb_event + 2 
+003c 1a627e00 copy regc ,pdata 
+003d c01e0050 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
+003e c0020049 beq bt_evt_reconn_failed ,p_mouse_bb_event_reconn_failed 
+003f c0098049 beq bt_evt_reconn_page_timeout ,p_mouse_bb_event_reconn_failed 
+0040 c0190042 beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
+0041 20204336 branch mouse_priority_bb_event + 2 
+
+p_mouse_le_ll_start_encryt:
+0042 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
+0043 c0008046 beq 1 ,p_mouse_le_ll_reconn_start_encryt 
+0044 704b7614 jam 20 ,mem_le_start_encrypt_timer 
+0045 20204373 branch mouse_le_ll_enable_start_enc_flag 
+
+p_mouse_le_ll_reconn_start_encryt:
+0046 2040436c call mouse_updata_le_param 
+0047 704b7605 jam 5 ,mem_le_start_encrypt_timer 
+0048 20204373 branch mouse_le_ll_enable_start_enc_flag 
+
+p_mouse_bb_event_reconn_failed:
+0049 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
+004a c07fc2f8 beq 0xff ,mouse_buletooth_fast_conn_end 
+004b 6fe1478c fetch 2 ,mem_ui_state_map 
+004c c3860000 rtnbit1 ui_state_btn_down 
+004d c3830000 rtnbit1 ui_state_bt_discovery 
+004e c3858000 rtnbit1 ui_state_ble_adv 
+004f 20203e20 branch mouse_app_enter_hibernate 
 
 p_mouse_24g_attempt_success:
-003e 6fe2483c fetch 4 ,mem_24g_addr 
-003f 67e24891 store 4 ,mem_24g_receiver_addr 
-0040 67e24993 store 4 ,mem_mouse_24g_addr 
-0041 204048c6 call mouse_device_poweron_timer_init 
-0042 2020484e branch mouse_24g_attempt_success 
+0050 6fe2483c fetch 4 ,mem_24g_addr 
+0051 67e24891 store 4 ,mem_24g_receiver_addr 
+0052 67e24993 store 4 ,mem_mouse_24g_addr 
+0053 204048c6 call mouse_device_poweron_timer_init 
+0054 2020484e branch mouse_24g_attempt_success 
 
 p_mouse_seting_dpi:
-0043 2040408f call mouse_setting_dpi_4_level 
-0044 20400046 call p_mouse_dpi_led_blink_delay 
-0045 20204098 branch mouse_seting_sensor_type 
+0055 2040408f call mouse_setting_dpi_4_level 
+0056 20400058 call p_mouse_dpi_led_blink_delay 
+0057 20204098 branch mouse_seting_sensor_type 
 
 p_mouse_dpi_led_blink_delay:
-0046 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
-0047 c17f8000 rtneq gpio_disable 
-0048 6fe14ac2 fetch 2 ,mem_mouse_discovery_timer 
-0049 247a0000 nrtn blank 
-004a 6fe14883 fetch 2 ,mem_24g_pair_timeout 
-004b 247a0000 nrtn blank 
-004c 6fe14887 fetch 2 ,mem_24g_reconn_timeout 
-004d 247a0000 nrtn blank 
-004e 6fe0cba7 fetch 1 ,mem_mouse_device_poweron_timer_count 
-004f 247a0000 nrtn blank 
-0050 6fe0cbc1 fetch 1 ,mem_mouse_dpi_led_delay_count_init 
-0051 203a005f branch p_mouse_dpi_led_blink_init ,blank 
-0052 67e0cba8 store 1 ,mem_mouse_dpi_led_delay_count 
-0053 20600000 rtn 
+0058 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
+0059 c17f8000 rtneq gpio_disable 
+005a 6fe14ac2 fetch 2 ,mem_mouse_discovery_timer 
+005b 247a0000 nrtn blank 
+005c 6fe14883 fetch 2 ,mem_24g_pair_timeout 
+005d 247a0000 nrtn blank 
+005e 6fe14887 fetch 2 ,mem_24g_reconn_timeout 
+005f 247a0000 nrtn blank 
+0060 6fe0cba7 fetch 1 ,mem_mouse_device_poweron_timer_count 
+0061 247a0000 nrtn blank 
+0062 6fe0cbc1 fetch 1 ,mem_mouse_dpi_led_delay_count_init 
+0063 203a0076 branch p_mouse_dpi_led_blink_init ,blank 
+0064 67e0cba8 store 1 ,mem_mouse_dpi_led_delay_count 
+0065 20600000 rtn 
 
 p_mouse_bb_event_timer:
-0054 20403e9b call mouse_adc_read 
-0055 20404956 call mouse_low_voltage_led_timer 
-0056 2040232b call g24_pair_timeout_timer 
-0057 20402556 call g24_reconn_timeout_timer 
-0058 204047cd call mouse_24g_long_sleep_param_update_timer 
-0059 204048be call mouse_device_poweron_timer 
-005a 2040005c call p_mouse_dpi_led_blink_delay_timer 
-005b 202044bd branch mouse_bb_event_timer + 8 
+0066 20403e9b call mouse_adc_read 
+0067 20404956 call mouse_low_voltage_led_timer 
+0068 2040232b call g24_pair_timeout_timer 
+0069 20402556 call g24_reconn_timeout_timer 
+006a 204047cd call mouse_24g_long_sleep_param_update_timer 
+006b 204048be call mouse_device_poweron_timer 
+006c 20400073 call p_mouse_dpi_led_blink_delay_timer 
+006d 2040407c call mouse_dpi_key_check_long_press 
+006e 204044cc call mouse_bt_discovery_check 
+006f 204044dc call mouse_commbination_key_process 
+0070 204044ff call mouse_check_discovery_timeout_timer 
+0071 2040008b call p_mouse_check_direct_timeout_timer 
+0072 202044c2 branch mouse_bb_event_timer + 13 
 
 p_mouse_dpi_led_blink_delay_timer:
-005c da604ba8 arg mem_mouse_dpi_led_delay_count ,regc 
-005d da40005f arg p_mouse_dpi_led_blink_init ,regb 
-005e 2020318a branch timer_single_step 
+0073 da604ba8 arg mem_mouse_dpi_led_delay_count ,regc 
+0074 da400076 arg p_mouse_dpi_led_blink_init ,regb 
+0075 2020318a branch timer_single_step 
 
 p_mouse_dpi_led_blink_init:
-005f 6fe0c927 fetch 1 ,mem_config_sensor_type 
-0060 c001c8f2 beq p3212 ,mouse_dpi_led_blink_init 
-0061 c005c8f2 beq ka8g2 ,mouse_dpi_led_blink_init 
-0062 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
-0063 67e0c92f store 1 ,mem_mouse_struct_led_gpio 
-0064 6fe14bc2 fetch 2 ,mem_mouse_dpi_led_blink_time 
-0065 67e14930 store 2 ,mem_mouse_on_time 
-0066 67e14932 store 2 ,mem_mouse_off_time 
-0067 da200000 arg 0 ,rega 
-0068 6848c992 fetcht 1 ,mem_mouse_dpi 
-0069 18408402 increase 2 ,temp 
-006a 18467c03 sub temp ,3 ,null 
-006b 2041006e call p_mouse_dpi_led_blink_init_level_4 ,positive 
-006c 24410072 ncall p_mouse_dpi_led_blink_count_clean ,positive 
-006d 202048ff branch mouse_dpi_led_blink_init_end 
+0076 6fe0c927 fetch 1 ,mem_config_sensor_type 
+0077 c001c8f2 beq p3212 ,mouse_dpi_led_blink_init 
+0078 c005c8f2 beq ka8g2 ,mouse_dpi_led_blink_init 
+0079 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
+007a 67e0c92f store 1 ,mem_mouse_struct_led_gpio 
+007b 6fe14bc2 fetch 2 ,mem_mouse_dpi_led_blink_time 
+007c 67e14930 store 2 ,mem_mouse_on_time 
+007d 67e14932 store 2 ,mem_mouse_off_time 
+007e da200000 arg 0 ,rega 
+007f 6848c992 fetcht 1 ,mem_mouse_dpi 
+0080 18408402 increase 2 ,temp 
+0081 18467c03 sub temp ,3 ,null 
+0082 20410085 call p_mouse_dpi_led_blink_init_level_4 ,positive 
+0083 24410089 ncall p_mouse_dpi_led_blink_count_clean ,positive 
+0084 202048ff branch mouse_dpi_led_blink_init_end 
 
 p_mouse_dpi_led_blink_init_level_4:
-006e 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-006f c40e0000 rtnbit0 mouse_enable_dpi_level_4 
-0070 18408401 increase 1 ,temp 
-0071 20600000 rtn 
+0085 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0086 c40e0000 rtnbit0 mouse_enable_dpi_level_4 
+0087 18408401 increase 1 ,temp 
+0088 20600000 rtn 
 
 p_mouse_dpi_led_blink_count_clean:
-0072 184085fd increase -3 ,temp 
-0073 20600000 rtn 
+0089 184085fd increase -3 ,temp 
+008a 20600000 rtn 
+
+p_mouse_check_direct_timeout_timer:
+008b da604b77 arg mem_mouse_direct_timer ,regc 
+008c da40008e arg p_mouse_check_direct_timeout ,regb 
+008d 20204506 branch mouse_check_direct_timeout_timer + 2 
+
+p_mouse_check_direct_timeout:
+008e 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
+008f c07fc2f8 beq 0xff ,mouse_buletooth_fast_conn_end 
+0090 6fe0cab0 fetch 1 ,mem_reconn_times 
+0091 243a470e nbranch mouse_polling_device ,blank 
+0092 20203e20 branch mouse_app_enter_hibernate 
+
+p_le_slave_match:
+0093 6fe0c3dd fetch 1 ,mem_le_md_count 
+0094 1fe0fe01 pincrease 1 
+0095 67e0c3dd store 1 ,mem_le_md_count 
+0096 c006165a beq le_md_max_count ,le_slave_cont 
+0097 2040191b call le_acknowledge 
+0098 2040196a call le_prepare_tx 
+0099 6fe082bd fetch 1 ,mem_le_tx_phy 
+009a 2040168b call le_enable_phy_by_pdata 
+009b 20401838 call le_transmit 
+009c 20201655 branch le_slave_match + 10 
 
 p_le_parse_l2cap:
-0074 efe10006 ifetch 2 ,contr 
-0075 c0020077 beq le_l2cap_cid_att ,p_le_parse_att 
-0076 202019e4 branch le_parse_l2cap2 + 3 
+009d efe10006 ifetch 2 ,contr 
+009e c00200a0 beq le_l2cap_cid_att ,p_le_parse_att 
+009f 202019e4 branch le_parse_l2cap2 + 3 
 
 p_le_parse_att:
-0077 efe18006 ifetch 3 ,contr 
-0078 67e1c436 store 3 ,mem_le_att_opcode 
-0079 c005007b beq attop_read_request ,p_le_parse_att_read_request 
-007a 20201cd3 branch le_parse_att + 2 
+00a0 efe18006 ifetch 3 ,contr 
+00a1 67e1c436 store 3 ,mem_le_att_opcode 
+00a2 c00500a4 beq attop_read_request ,p_le_parse_att_read_request 
+00a3 20201cd3 branch le_parse_att + 2 
 
 p_le_parse_att_read_request:
-007b 20401e8d call le_check_encrypt_state 
-007c 68494437 fetcht 2 ,mem_le_att_handle 
-007d 6fe0c3c0 fetch 1 ,mem_le_configuration 
-007e c2818083 bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
+00a4 20401e8d call le_check_encrypt_state 
+00a5 68494437 fetcht 2 ,mem_le_att_handle 
+00a6 6fe0c3c0 fetch 1 ,mem_le_configuration 
+00a7 c28180ac bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
 
 p_le_send_att_read_response:
-007f 6fe14437 fetch 2 ,mem_le_att_handle 
-0080 c0181ec8 beq 0x30 ,le_send_att_error_response_notfound 
-0081 68494437 fetcht 2 ,mem_le_att_handle 
-0082 20201deb branch le_send_att_read_response 
+00a8 6fe14437 fetch 2 ,mem_le_att_handle 
+00a9 c0181ec8 beq 0x30 ,le_send_att_error_response_notfound 
+00aa 68494437 fetcht 2 ,mem_le_att_handle 
+00ab 20201deb branch le_send_att_read_response 
 
 p_le_send_att_read_response_check_auth:
-0083 6fe143d1 fetch 2 ,mem_le_pairing_handle 
-0084 98467c00 isub temp ,null 
-0085 2422807f nbranch p_le_send_att_read_response ,zero 
-0086 2434007f nbranch p_le_send_att_read_response ,user 
-0087 20201e10 branch le_send_att_read_response_error_insufficient_auth 
+00ac 6fe143d1 fetch 2 ,mem_le_pairing_handle 
+00ad 98467c00 isub temp ,null 
+00ae 242280a8 nbranch p_le_send_att_read_response ,zero 
+00af 243400a8 nbranch p_le_send_att_read_response ,user 
+00b0 20201e10 branch le_send_att_read_response_error_insufficient_auth 
               org 0x800
 
 start:
Index: program/patch.prog
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/Standard_2.4G_First/program/patch.prog	(revision 390)
+++ /YC1308AC/branch/mouse_project/XZR/Standard_2.4G_First/program/patch.prog	(working copy)
@@ -12,6 +12,7 @@
 	branch loop
 
 pf_patch_ext:
+	beq patch34_1,p_le_slave_match
 	beq patch38_0,p_le_parse_l2cap
 	branch loop
 
@@ -91,8 +92,32 @@
 p_mouse_priority_bb_event:
 	copy regc,pdata
 	beq BT_EVT_24G_ATTEMPT_SUCCESS,p_mouse_24g_attempt_success
+	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
 	branch mouse_priority_bb_event+2
 
+p_mouse_le_ll_start_encryt:
+	fetch 1,mem_mouse_le_reconnect_flag
+	beq 1,p_mouse_le_ll_reconn_start_encryt
+	jam 20,mem_le_start_encrypt_timer
+	branch mouse_le_ll_enable_start_enc_flag
+p_mouse_le_ll_reconn_start_encryt:
+	call mouse_updata_le_param
+	jam 5,mem_le_start_encrypt_timer
+	branch mouse_le_ll_enable_start_enc_flag
+
+p_mouse_bb_event_reconn_failed:
+	fetch 1,mem_mouse_bluetooth_fast_conn_flag
+	beq 0xff,mouse_buletooth_fast_conn_end
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+	rtnbit1 UI_STATE_BT_DISCOVERY
+	rtnbit1 UI_STATE_BLE_ADV
+	branch mouse_app_enter_hibernate
+
+
+
 p_mouse_24g_attempt_success:
 	fetch 4,mem_24g_addr
 	store 4,mem_24g_receiver_addr
@@ -134,7 +159,15 @@
 	//led
 	call mouse_device_poweron_timer
 	call p_mouse_dpi_led_blink_delay_timer
-	branch mouse_bb_event_timer+8
+
+	call mouse_dpi_key_check_long_press
+	call mouse_bt_discovery_check
+	call mouse_commbination_key_process
+	call mouse_check_discovery_timeout_timer
+	//ble
+	call p_mouse_check_direct_timeout_timer
+	
+	branch mouse_bb_event_timer+13
 
 p_mouse_dpi_led_blink_delay_timer:
 	arg mem_mouse_dpi_led_delay_count,regc
@@ -168,6 +201,30 @@
 	increase -3,temp		// 4-->1  5-->2
 	rtn
 /////////////////////////////////////////////////////////////////////////////////////////////////
+p_mouse_check_direct_timeout_timer:
+	arg mem_mouse_direct_timer,regc
+	arg p_mouse_check_direct_timeout,regb
+	branch mouse_check_direct_timeout_timer+2
+
+p_mouse_check_direct_timeout:
+	fetch 1,mem_mouse_bluetooth_fast_conn_flag
+	beq 0xff,mouse_buletooth_fast_conn_end
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	branch mouse_app_enter_hibernate
+
+
+p_le_slave_match:
+	fetch 1,mem_le_md_count
+	pincrease 1
+	store 1,mem_le_md_count
+	beq LE_MD_MAX_COUNT,le_slave_cont
+	call le_acknowledge
+	call le_prepare_tx
+	fetch 1,mem_le_tx_phy
+	call le_enable_phy_by_pdata
+	call le_transmit
+	branch le_slave_match+10
 p_le_parse_l2cap:
 	ifetch 2,contr
 	beq LE_L2CAP_CID_ATT,p_le_parse_att
