Index: output/eeprom.dat
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/Standard_2.4G_First/output/eeprom.dat	(revision 3791)
+++ /YC1308AC/branch/mouse_project/XZR/Standard_2.4G_First/output/eeprom.dat	(working copy)
@@ -2,8 +2,8 @@
 02
 aa
 55
-62
-05
+5e
+06
 c2
 84
 00
@@ -11,71 +11,79 @@
 c0
 00
 00
-13
+15
 c0
 45
 80
-33
+72
 c0
 4f
 80
-3e
+7d
 c0
 57
 00
-17
+56
 c0
 62
 00
-19
+58
 c0
 63
 80
-40
+7f
 c0
 64
 80
-44
+83
 c0
 65
 00
-4f
+8e
 c0
 67
 01
-1a
+59
 c0
 68
 00
-7e
+bd
 c0
 68
 81
-20
+5f
 c0
 6b
 00
-58
+97
 c0
 6c
 80
-8f
+ce
 c0
 74
-00
-d7
+01
+16
 20
 20
 13
 7c
 c0
 50
-80
-eb
+81
+2a
 c0
 60
-00
-f5
+01
+34
+c0
+75
+80
+19
+c0
+76
+80
+28
 20
 20
 13
@@ -96,6 +104,250 @@
 20
 08
 04
+68
+48
+c8
+a6
+6f
+e0
+c8
+c6
+98
+46
+7c
+00
+24
+21
+00
+25
+18
+40
+84
+01
+60
+48
+c8
+a6
+6f
+e0
+c8
+c6
+c0
+02
+a6
+8b
+6f
+e0
+c8
+a6
+c0
+03
+26
+96
+c0
+06
+26
+96
+20
+60
+00
+00
+20
+40
+00
+4d
+20
+40
+27
+24
+20
+20
+22
+cb
+6f
+e1
+47
+8c
+c3
+85
+80
+00
+c3
+83
+80
+00
+c3
+83
+00
+00
+6a
+21
+48
+99
+20
+40
+25
+cb
+60
+48
+c8
+c7
+6f
+e0
+c8
+cc
+c5
+13
+00
+32
+6f
+e0
+c8
+cf
+98
+46
+7c
+00
+24
+21
+00
+4c
+6f
+e0
+c8
+c9
+1f
+e6
+7c
+02
+24
+21
+00
+3a
+6f
+e0
+c8
+c9
+c0
+00
+00
+4d
+20
+60
+00
+00
+6f
+e0
+c8
+c9
+68
+48
+c8
+ca
+98
+46
+7c
+00
+24
+62
+80
+00
+70
+48
+c9
+00
+68
+48
+c8
+c7
+6f
+e0
+c8
+cb
+c5
+13
+00
+43
+6f
+e0
+c8
+ce
+98
+46
+7c
+00
+24
+61
+00
+00
+6f
+e0
+c8
+c8
+c0
+00
+27
+1b
+1f
+e0
+ff
+ff
+67
+e0
+c8
+c8
+c0
+01
+00
+54
+c0
+00
+a7
+11
+20
+20
+27
+1b
+70
+48
+c9
+00
+6f
+e0
+c8
+c8
+c0
+01
+80
+53
+1f
+e0
+fe
+01
+67
+e0
+c8
+c8
+c0
+00
+a7
+11
+c0
+01
+00
+54
+20
+20
+00
+54
+70
+41
+e8
+03
+20
+60
+00
+00
 20
 40
 6d
@@ -107,7 +359,7 @@
 20
 40
 00
-2b
+6a
 da
 20
 49
@@ -139,7 +391,7 @@
 c0
 19
 80
-24
+63
 c0
 1a
 3d
@@ -363,23 +615,23 @@
 c0
 1e
 00
-79
+b8
 c0
 02
 00
-72
+b1
 c0
 09
 80
-72
+b1
 c0
 19
 00
-5f
+9e
 c0
 22
 00
-66
+a5
 20
 20
 43
@@ -391,7 +643,7 @@
 c0
 00
 80
-63
+a2
 70
 4b
 76
@@ -515,7 +767,7 @@
 20
 40
 00
-81
+c0
 20
 20
 40
@@ -567,7 +819,7 @@
 20
 3a
 00
-9d
+dc
 67
 e0
 cb
@@ -603,11 +855,11 @@
 20
 40
 00
-9a
+d9
 20
 40
 00
-b2
+f1
 20
 40
 44
@@ -615,7 +867,7 @@
 20
 40
 00
-bd
+fc
 20
 20
 44
@@ -627,7 +879,7 @@
 da
 40
 00
-9d
+dc
 20
 20
 31
@@ -683,11 +935,11 @@
 20
 41
 00
-ac
+eb
 24
 41
 00
-b0
+ef
 20
 20
 48
@@ -727,7 +979,7 @@
 c2
 9b
 00
-b6
+f5
 20
 60
 00
@@ -747,7 +999,7 @@
 da
 40
 00
-bb
+fa
 20
 20
 31
@@ -758,8 +1010,8 @@
 01
 20
 20
-00
-cf
+01
+0e
 6f
 e4
 4b
@@ -794,16 +1046,16 @@
 00
 20
 22
-80
-c7
+81
+06
 20
 20
 44
 eb
 20
 40
-00
-c9
+01
+08
 20
 20
 44
@@ -814,8 +1066,8 @@
 a0
 da
 40
-00
-cf
+01
+0e
 20
 40
 31
@@ -890,8 +1142,8 @@
 00
 c0
 04
-80
-df
+81
+1e
 20
 20
 4d
@@ -990,8 +1242,8 @@
 06
 c0
 02
-00
-f8
+01
+37
 20
 20
 19
@@ -1006,12 +1258,12 @@
 36
 c0
 05
-00
-fd
+01
+3c
 c0
 09
 01
-0a
+49
 20
 20
 1c
@@ -1031,7 +1283,7 @@
 c2
 81
 81
-05
+44
 6f
 e1
 44
@@ -1059,11 +1311,11 @@
 24
 22
 81
-01
+40
 24
 34
 01
-01
+40
 20
 20
 1e
@@ -1171,23 +1423,23 @@
 20
 40
 01
-29
+68
 20
 40
 01
-2e
+6d
 20
 40
 01
-33
+72
 20
 40
 01
-38
+77
 20
 40
 01
-45
+84
 20
 20
 41
@@ -1199,7 +1451,7 @@
 20
 40
 01
-52
+91
 20
 40
 41
@@ -1219,7 +1471,7 @@
 20
 40
 01
-52
+91
 20
 40
 41
@@ -1239,7 +1491,7 @@
 20
 40
 01
-52
+91
 20
 40
 41
@@ -1283,7 +1535,7 @@
 c0
 7f
 81
-41
+80
 20
 20
 41
@@ -1295,7 +1547,7 @@
 20
 40
 01
-55
+94
 68
 48
 c9
@@ -1335,7 +1587,7 @@
 c0
 7f
 81
-4e
+8d
 20
 20
 41
@@ -1347,7 +1599,7 @@
 20
 40
 01
-55
+94
 68
 48
 c9
@@ -1380,8 +1632,8 @@
 20
 60
 93
-83
-15
+14
+78
 aa
 55
 40
@@ -1449,7 +1701,7 @@
 00
 00
 00
-00
+28
 00
 00
 aa
@@ -1847,22 +2099,15 @@
 51
 aa
 55
-0c
+05
 00
 fc
 45
-0b
-42
-54
-33
-2e
-30
-20
+04
 4d
-6f
-75
-73
-65
+38
+32
+35
 aa
 55
 05
@@ -1945,7 +2190,7 @@
 03
 aa
 55
-14
+0d
 00
 d2
 4a
@@ -1956,57 +2201,36 @@
 03
 00
 80
-0c
+05
 09
-42
-54
-35
-2e
-32
-20
 4d
-6f
-75
-73
-65
+38
+32
+35
 aa
 55
-0e
+07
 00
 07
 44
 1f
-0c
-09
-42
-54
-35
-2e
-32
-20
-4d
-6f
-75
-73
-65
+05
+09
+4d
+38
+32
+35
 aa
 55
-0c
+05
 00
 f7
 42
-0b
-42
-54
-35
-2e
-32
-20
+04
 4d
-6f
-75
-73
-65
+38
+32
+35
 aa
 55
 08
@@ -2554,234 +2778,10 @@
 aa
 aa
 55
-c8
-5b
-0a
-a7
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+1c
+52
+18
+bc
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-9d
-df
+e7
+f9
Index: output/program.lis
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/Standard_2.4G_First/output/program.lis	(revision 3791)
+++ /YC1308AC/branch/mouse_project/XZR/Standard_2.4G_First/output/program.lis	(working copy)
@@ -1,455 +1,542 @@
               include "bt_format "
               org 0x0000
 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 c067011a beq patch19_6 ,p_mouse_motion 
-000a c068007e beq patch1a_0 ,p_mouse_seting_dpi 
-000b c0688120 beq patch1a_1 ,p_mouse_check_key_gpio 
-000c c06b0058 beq patch1a_6 ,p_mouse_priority_bb_event 
-000d c06c808f beq patch1b_1 ,p_mouse_bb_event_timer 
-000e c07400d7 beq patch1d_0 ,p_hid_rx_process 
+0001 c0000015 beq patch00_0 ,p_soft_reset 
+0002 c0458072 beq patch11_3 ,p_initialize_radio_cont 
+0003 c04f807d beq patch13_7 ,p_init_param 
+0004 c0570056 beq patch15_6 ,p_app_init 
+0005 c0620058 beq patch18_4 ,p_mouse_start_reconnect_device 
+0006 c063807f beq patch18_7 ,p_mouse_app_enter_hibernate 
+0007 c0648083 beq patch19_1 ,p_mouse_setgpio_hibernate 
+0008 c065008e beq patch19_2 ,p_mouse_lpm_before_common 
+0009 c0670159 beq patch19_6 ,p_mouse_motion 
+000a c06800bd beq patch1a_0 ,p_mouse_seting_dpi 
+000b c068815f beq patch1a_1 ,p_mouse_check_key_gpio 
+000c c06b0097 beq patch1a_6 ,p_mouse_priority_bb_event 
+000d c06c80ce beq patch1b_1 ,p_mouse_bb_event_timer 
+000e c0740116 beq patch1d_0 ,p_hid_rx_process 
 000f 2020137c branch loop 
 
 pf_patch_ext:
-0010 c05080eb beq patch34_1 ,p_le_slave_match 
-0011 c06000f5 beq patch38_0 ,p_le_parse_l2cap 
-0012 2020137c branch loop 
+0010 c050812a beq patch34_1 ,p_le_slave_match 
+0011 c0600134 beq patch38_0 ,p_le_parse_l2cap 
+0012 c0758019 beq patch3d_3 ,p_g24_transmit_hop_process 
+0013 c0768028 beq patch3d_5 ,p_power_ctrl_start 
+0014 2020137c branch loop 
 
 p_soft_reset:
-0013 20800000 clear_stack 
-0014 204030f3 call app_param_init 
-0015 20403bfd call mouse_xtal_init 
-0016 20200804 branch soft_reset + 3 
+0015 20800000 clear_stack 
+0016 204030f3 call app_param_init 
+0017 20403bfd call mouse_xtal_init 
+0018 20200804 branch soft_reset + 3 
+
+p_g24_transmit_hop_process:
+0019 6848c8a6 fetcht 1 ,mem_24g_retry 
+001a 6fe0c8c6 fetch 1 ,mem_24g_fast_hop_count 
+001b 98467c00 isub temp ,null 
+001c 24210025 nbranch p_g24_tx_fast_hop ,positive 
+001d 18408401 increase 1 ,temp 
+001e 6048c8a6 storet 1 ,mem_24g_retry 
+001f 6fe0c8c6 fetch 1 ,mem_24g_fast_hop_count 
+0020 c002a68b beq 5 ,g24_transmit_hop_process_4ms 
+0021 6fe0c8a6 fetch 1 ,mem_24g_retry 
+0022 c0032696 beq 6 ,g24_hop_ch_disable 
+0023 c0062696 beq 12 ,g24_hop_ch_disable 
+0024 20600000 rtn 
+
+p_g24_tx_fast_hop:
+0025 2040004d call p_power_ctrl_txpower_incrs 
+0026 20402724 call power_ctrl_pac_succ_decrs 
+0027 202022cb branch g24_ch 
+
+p_power_ctrl_start:
+0028 6fe1478c fetch 2 ,mem_ui_state_map 
+0029 c3858000 rtnbit1 ui_state_ble_adv 
+002a c3838000 rtnbit1 ui_state_bt_reconnect 
+002b c3830000 rtnbit1 ui_state_bt_discovery 
+002c 6a214899 fetchr rega ,2 ,mem_rssi_signal_buf_ptr 
+002d 204025cb call rssi_average 
+002e 6048c8c7 storet 1 ,mem_rssi_avg_received 
+002f 6fe0c8cc fetch 1 ,mem_rssi_dis_max_24g 
+0030 c5130032 bmark1 mark_24g ,p_power_ctrl_start_next 
+0031 6fe0c8cf fetch 1 ,mem_rssi_dis_max_ble 
+
+p_power_ctrl_start_next:
+0032 98467c00 isub temp ,null 
+0033 2421004c nbranch p_power_ctrl_txpower_incrs_force ,positive 
+0034 6fe0c8c9 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0035 1fe67c02 sub pdata ,2 ,null 
+0036 2421003a nbranch p_power_ctrl_txpower_decrs_check ,positive 
+0037 6fe0c8c9 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0038 c000004d beq 0 ,p_power_ctrl_txpower_incrs 
+0039 20600000 rtn 
+
+p_power_ctrl_txpower_decrs_check:
+003a 6fe0c8c9 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+003b 6848c8ca fetcht 1 ,mem_power_ctrl_pac_succ_cnt_init 
+003c 98467c00 isub temp ,null 
+003d 24628000 nrtn zero 
+003e 7048c900 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+
+p_power_ctrl_txpower_decrs:
+003f 6848c8c7 fetcht 1 ,mem_rssi_avg_received 
+0040 6fe0c8cb fetch 1 ,mem_rssi_dis_min_24g 
+0041 c5130043 bmark1 mark_24g ,p_power_ctrl_txpower_decrs_next 
+0042 6fe0c8ce fetch 1 ,mem_rssi_dis_min_ble 
+
+p_power_ctrl_txpower_decrs_next:
+0043 98467c00 isub temp ,null 
+0044 24610000 nrtn positive 
+0045 6fe0c8c8 fetch 1 ,mem_power_ctrl_level 
+0046 c000271b beq 0 ,power_ctrl_decrs_level0 
+0047 1fe0ffff increase -1 ,pdata 
+0048 67e0c8c8 store 1 ,mem_power_ctrl_level 
+0049 c0010054 beq 2 ,p_power_ctrl_decrs_level2 
+004a c000a711 beq 1 ,power_ctrl_decrs_level1 
+004b 2020271b branch power_ctrl_decrs_level0 
+
+p_power_ctrl_txpower_incrs_force:
+004c 7048c900 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+
+p_power_ctrl_txpower_incrs:
+004d 6fe0c8c8 fetch 1 ,mem_power_ctrl_level 
+004e c0018053 beq 3 ,p_power_ctrl_incrs_level3 
+004f 1fe0fe01 increase 1 ,pdata 
+0050 67e0c8c8 store 1 ,mem_power_ctrl_level 
+0051 c000a711 beq 1 ,power_ctrl_incrs_level1 
+0052 c0010054 beq 2 ,p_power_ctrl_incrs_level2 
+
+p_power_ctrl_incrs_level3:
+0053 20200054 branch p_power_ctrl_incrs_level2 
+
+p_power_ctrl_decrs_level2:
+
+p_power_ctrl_incrs_level2:
+0054 7041e803 jam tx_power_3db ,mem_tx_power 
+0055 20600000 rtn 
 
 p_app_init:
 
 p_mouse_init:
-0017 20406df3 call enable_authrom 
-0018 20203bc1 branch mouse_init 
+0056 20406df3 call enable_authrom 
+0057 20203bc1 branch mouse_init 
 
 p_mouse_start_reconnect_device:
-0019 2040002b call p_mouse_bt_reconn_led_blink 
-001a da204939 arg mem_device1_type ,rega 
-001b 6fe0c938 fetch 1 ,mem_device_flag 
-001c 1fe0ffff increase -1 ,pdata 
-001d 1feffe1d mul32 pdata ,29 ,pdata 
-001e 9a20a200 iadd rega ,rega 
-001f efe08011 ifetch 1 ,rega 
-0020 67e0c482 store 1 ,mem_xrecord_mode 
-0021 c0198024 beq rec_3_mode ,p_mouse3_0_check_reconn_target 
-0022 c01a3d7b beq rec_4_mode ,mouse4_0_check_reconn_target 
-0023 202042eb branch mouse_buletooth_fast_conn_init 
+0058 2040006a call p_mouse_bt_reconn_led_blink 
+0059 da204939 arg mem_device1_type ,rega 
+005a 6fe0c938 fetch 1 ,mem_device_flag 
+005b 1fe0ffff increase -1 ,pdata 
+005c 1feffe1d mul32 pdata ,29 ,pdata 
+005d 9a20a200 iadd rega ,rega 
+005e efe08011 ifetch 1 ,rega 
+005f 67e0c482 store 1 ,mem_xrecord_mode 
+0060 c0198063 beq rec_3_mode ,p_mouse3_0_check_reconn_target 
+0061 c01a3d7b beq rec_4_mode ,mouse4_0_check_reconn_target 
+0062 202042eb branch mouse_buletooth_fast_conn_init 
 
 p_mouse3_0_check_reconn_target:
-0024 68494bb8 fetcht 2 ,mem_mouse_fast_page_to 
-0025 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
-0026 c07fbd73 beq 0xff ,mouse3_0_check_reconn_target_next 
-0027 6848c902 fetcht 1 ,mem_mouse_direct_timeout 
-0028 6048cb77 storet 1 ,mem_mouse_direct_timer 
-0029 68494bb5 fetcht 2 ,mem_mouse_page_to 
-002a 20203d73 branch mouse3_0_check_reconn_target_next 
+0063 68494bb8 fetcht 2 ,mem_mouse_fast_page_to 
+0064 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
+0065 c07fbd73 beq 0xff ,mouse3_0_check_reconn_target_next 
+0066 6848c902 fetcht 1 ,mem_mouse_direct_timeout 
+0067 6048cb77 storet 1 ,mem_mouse_direct_timer 
+0068 68494bb5 fetcht 2 ,mem_mouse_page_to 
+0069 20203d73 branch mouse3_0_check_reconn_target_next 
 
 p_mouse_bt_reconn_led_blink:
-002b 2040498e call mouse_low_voltage_led_blink_disable 
-002c 704ba700 jam 0 ,mem_mouse_device_poweron_timer_count 
-002d 6fe14be2 fetch 2 ,mem_mouse_le_reconn_led_blink_time 
-002e 202048ce branch mouse_discover_setting_led_gpio + 2 
+006a 2040498e call mouse_low_voltage_led_blink_disable 
+006b 704ba700 jam 0 ,mem_mouse_device_poweron_timer_count 
+006c 6fe14be2 fetch 2 ,mem_mouse_le_reconn_led_blink_time 
+006d 202048ce branch mouse_discover_setting_led_gpio + 2 
 
 p_lpm_write_ice_disable:
-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 
+006e 6ff10120 fetch 2 ,core_ucode_flag 
+006f 793ffe0e set0 lpmreg_ice_mode_bit ,pdata 
+0070 67f2004c store 4 ,core_lpm_reg 
+0071 20205caf branch lpm_write2_ctrl_option 
 
 p_initialize_radio_cont:
-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 
+0072 708a8be6 jam 0xe6 ,core_syn_aac_cfg1 
+0073 2040126a call initialize_syn_afc_cfg1 
+0074 20401271 call initialize_rf_ldo_cfg1 
+0075 20401277 call initialize_rc_cal 
+0076 708a6d09 jam 0x09 ,core_rx_bq_cfg0 
+0077 708a0305 jam 5 ,core_clkpll_cfg0 
+0078 708a7a94 jam 0x94 ,core_rx_iqadc_cfg 
+0079 708a0e0b jam 0x0b ,core_rf_ldo_cfg2 
+007a 708a0f05 jam 0x05 ,core_rf_ldo_cfg3 
+007b 708a8390 jam 0x90 ,core_syn_pfd_lkd_cfg 
+007c 2020125d branch initialize_radio_cont + 8 
 
 p_init_param:
-003e 70008000 jam 0 ,mem_lmo_tid2 
-003f 202013b7 branch init_param_next + 1 
+007d 70008000 jam 0 ,mem_lmo_tid2 
+007e 202013b7 branch init_param_next + 1 
 
 p_mouse_app_enter_hibernate:
-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 
+007f 58000006 setarg pan_reg_config 
+0080 20405b0d call twspi_read 
+0081 c281be23 bbit1 3 ,mouse_app_enter_hibernate + 3 
+0082 20203e21 branch mouse_app_enter_hibernate + 1 
 
 p_mouse_setgpio_hibernate:
-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 
+0083 204042e9 call mouse_set_sdio_high 
+0084 20407fdc call clear_wake 
+0085 20404015 call mouse_before_hibernate_wheel_gpio_set 
+0086 6848c910 fetcht 1 ,mem_matrix_public_gpio 
+0087 20406069 call gpio_out_active 
+0088 6848c910 fetcht 1 ,mem_matrix_public_gpio 
+0089 20406042 call gpio_clr_wake 
+008a 6fe0c920 fetch 1 ,mem_mouse_sensor_sdio_gpio 
+008b d840003f arg gpcfg_output_high ,temp 
+008c 20406093 call gpio_config_function_int 
+008d 20203e36 branch mouse_setgpio_hibernate + 3 
 
 p_mouse_lpm_before_common:
-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 
+008e 6848c913 fetcht 1 ,mem_whee_a_data_gpio 
+008f 20406050 call gpio_config_input 
+0090 6848c914 fetcht 1 ,mem_whee_b_data_gpio 
+0091 20406050 call gpio_config_input 
+0092 20403f88 call mouse_wheel_check 
+0093 6fe0c91f fetch 1 ,mem_mouse_sensor_sclk_gpio 
+0094 d840003f arg gpcfg_output_high ,temp 
+0095 20406093 call gpio_config_function_int 
+0096 20203e44 branch mouse_lpm_before_common_next 
 
 p_mouse_priority_bb_event:
-0058 1a627e00 copy regc ,pdata 
-0059 c01e0079 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
-005a c0020072 beq bt_evt_reconn_failed ,p_mouse_bb_event_reconn_failed 
-005b c0098072 beq bt_evt_reconn_page_timeout ,p_mouse_bb_event_reconn_failed 
-005c c019005f beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
-005d c0220066 beq bt_evt_le_parse_conn_param_accepted ,p_mouse_le_parse_conn_param_accepted 
-005e 20204336 branch mouse_priority_bb_event + 2 
+0097 1a627e00 copy regc ,pdata 
+0098 c01e00b8 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
+0099 c00200b1 beq bt_evt_reconn_failed ,p_mouse_bb_event_reconn_failed 
+009a c00980b1 beq bt_evt_reconn_page_timeout ,p_mouse_bb_event_reconn_failed 
+009b c019009e beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
+009c c02200a5 beq bt_evt_le_parse_conn_param_accepted ,p_mouse_le_parse_conn_param_accepted 
+009d 20204336 branch mouse_priority_bb_event + 2 
 
 p_mouse_le_ll_start_encryt:
-005f 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
-0060 c0008063 beq 1 ,p_mouse_le_ll_reconn_start_encryt 
-0061 704b7614 jam 20 ,mem_le_start_encrypt_timer 
-0062 20204373 branch mouse_le_ll_enable_start_enc_flag 
+009e 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
+009f c00080a2 beq 1 ,p_mouse_le_ll_reconn_start_encryt 
+00a0 704b7614 jam 20 ,mem_le_start_encrypt_timer 
+00a1 20204373 branch mouse_le_ll_enable_start_enc_flag 
 
 p_mouse_le_ll_reconn_start_encryt:
-0063 2040436c call mouse_updata_le_param 
-0064 704b7605 jam 5 ,mem_le_start_encrypt_timer 
-0065 20204373 branch mouse_le_ll_enable_start_enc_flag 
+00a2 2040436c call mouse_updata_le_param 
+00a3 704b7605 jam 5 ,mem_le_start_encrypt_timer 
+00a4 20204373 branch mouse_le_ll_enable_start_enc_flag 
 
 p_mouse_le_parse_conn_param_accepted:
-0066 6fe082c1 fetch 1 ,mem_le_new_conninterval 
-0067 1fe67c0c sub pdata ,le_interval_15ms ,null 
-0068 24214384 nbranch mouse_le_conn_param_lpm_disable ,positive 
-0069 67e14372 store 2 ,mem_le_interval_min 
-006a 67e14374 store 2 ,mem_le_interval_min + 2 
-006b 6fe082c3 fetch 1 ,mem_le_new_connslavelatency 
-006c 6848cb8a fetcht 1 ,mem_lpm_mult_init 
-006d 98467c00 isub temp ,null 
-006e 2021439a branch mouse_le_lpm_mult_reinit ,positive 
-006f 6fe082c3 fetch 1 ,mem_le_new_connslavelatency 
-0070 67e0cb8a store 1 ,mem_lpm_mult_init 
-0071 20204386 branch mouse_le_conn_param_lpm_enable 
+00a5 6fe082c1 fetch 1 ,mem_le_new_conninterval 
+00a6 1fe67c0c sub pdata ,le_interval_15ms ,null 
+00a7 24214384 nbranch mouse_le_conn_param_lpm_disable ,positive 
+00a8 67e14372 store 2 ,mem_le_interval_min 
+00a9 67e14374 store 2 ,mem_le_interval_min + 2 
+00aa 6fe082c3 fetch 1 ,mem_le_new_connslavelatency 
+00ab 6848cb8a fetcht 1 ,mem_lpm_mult_init 
+00ac 98467c00 isub temp ,null 
+00ad 2021439a branch mouse_le_lpm_mult_reinit ,positive 
+00ae 6fe082c3 fetch 1 ,mem_le_new_connslavelatency 
+00af 67e0cb8a store 1 ,mem_lpm_mult_init 
+00b0 20204386 branch mouse_le_conn_param_lpm_enable 
 
 p_mouse_bb_event_reconn_failed:
-0072 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
-0073 c07fc2f8 beq 0xff ,mouse_buletooth_fast_conn_end 
-0074 6fe1478c fetch 2 ,mem_ui_state_map 
-0075 c3860000 rtnbit1 ui_state_btn_down 
-0076 c3830000 rtnbit1 ui_state_bt_discovery 
-0077 c3858000 rtnbit1 ui_state_ble_adv 
-0078 20203e20 branch mouse_app_enter_hibernate 
+00b1 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
+00b2 c07fc2f8 beq 0xff ,mouse_buletooth_fast_conn_end 
+00b3 6fe1478c fetch 2 ,mem_ui_state_map 
+00b4 c3860000 rtnbit1 ui_state_btn_down 
+00b5 c3830000 rtnbit1 ui_state_bt_discovery 
+00b6 c3858000 rtnbit1 ui_state_ble_adv 
+00b7 20203e20 branch mouse_app_enter_hibernate 
 
 p_mouse_24g_attempt_success:
-0079 6fe2483c fetch 4 ,mem_24g_addr 
-007a 67e24891 store 4 ,mem_24g_receiver_addr 
-007b 67e24993 store 4 ,mem_mouse_24g_addr 
-007c 204048c6 call mouse_device_poweron_timer_init 
-007d 2020484e branch mouse_24g_attempt_success 
+00b8 6fe2483c fetch 4 ,mem_24g_addr 
+00b9 67e24891 store 4 ,mem_24g_receiver_addr 
+00ba 67e24993 store 4 ,mem_mouse_24g_addr 
+00bb 204048c6 call mouse_device_poweron_timer_init 
+00bc 2020484e branch mouse_24g_attempt_success 
 
 p_mouse_seting_dpi:
-007e 2040408f call mouse_setting_dpi_4_level 
-007f 20400081 call p_mouse_dpi_led_blink_delay 
-0080 20204098 branch mouse_seting_sensor_type 
+00bd 2040408f call mouse_setting_dpi_4_level 
+00be 204000c0 call p_mouse_dpi_led_blink_delay 
+00bf 20204098 branch mouse_seting_sensor_type 
 
 p_mouse_dpi_led_blink_delay:
-0081 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
-0082 c17f8000 rtneq gpio_disable 
-0083 6fe14ac2 fetch 2 ,mem_mouse_discovery_timer 
-0084 247a0000 nrtn blank 
-0085 6fe14883 fetch 2 ,mem_24g_pair_timeout 
-0086 247a0000 nrtn blank 
-0087 6fe14887 fetch 2 ,mem_24g_reconn_timeout 
-0088 247a0000 nrtn blank 
-0089 6fe0cba7 fetch 1 ,mem_mouse_device_poweron_timer_count 
-008a 247a0000 nrtn blank 
-008b 6fe0cbc1 fetch 1 ,mem_mouse_dpi_led_delay_count_init 
-008c 203a009d branch p_mouse_dpi_led_blink_init ,blank 
-008d 67e0cba8 store 1 ,mem_mouse_dpi_led_delay_count 
-008e 20600000 rtn 
+00c0 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
+00c1 c17f8000 rtneq gpio_disable 
+00c2 6fe14ac2 fetch 2 ,mem_mouse_discovery_timer 
+00c3 247a0000 nrtn blank 
+00c4 6fe14883 fetch 2 ,mem_24g_pair_timeout 
+00c5 247a0000 nrtn blank 
+00c6 6fe14887 fetch 2 ,mem_24g_reconn_timeout 
+00c7 247a0000 nrtn blank 
+00c8 6fe0cba7 fetch 1 ,mem_mouse_device_poweron_timer_count 
+00c9 247a0000 nrtn blank 
+00ca 6fe0cbc1 fetch 1 ,mem_mouse_dpi_led_delay_count_init 
+00cb 203a00dc branch p_mouse_dpi_led_blink_init ,blank 
+00cc 67e0cba8 store 1 ,mem_mouse_dpi_led_delay_count 
+00cd 20600000 rtn 
 
 p_mouse_bb_event_timer:
-008f 20403e9b call mouse_adc_read 
-0090 20404956 call mouse_low_voltage_led_timer 
-0091 2040232b call g24_pair_timeout_timer 
-0092 20402556 call g24_reconn_timeout_timer 
-0093 204047cd call mouse_24g_long_sleep_param_update_timer 
-0094 204048be call mouse_device_poweron_timer 
-0095 2040009a call p_mouse_dpi_led_blink_delay_timer 
-0096 204000b2 call p_mouse_dpi_key_check_long_press 
-0097 204044cc call mouse_bt_discovery_check 
-0098 204000bd call p_mouse_commbination_key_process 
-0099 202044c0 branch mouse_bb_event_timer + 11 
+00ce 20403e9b call mouse_adc_read 
+00cf 20404956 call mouse_low_voltage_led_timer 
+00d0 2040232b call g24_pair_timeout_timer 
+00d1 20402556 call g24_reconn_timeout_timer 
+00d2 204047cd call mouse_24g_long_sleep_param_update_timer 
+00d3 204048be call mouse_device_poweron_timer 
+00d4 204000d9 call p_mouse_dpi_led_blink_delay_timer 
+00d5 204000f1 call p_mouse_dpi_key_check_long_press 
+00d6 204044cc call mouse_bt_discovery_check 
+00d7 204000fc call p_mouse_commbination_key_process 
+00d8 202044c0 branch mouse_bb_event_timer + 11 
 
 p_mouse_dpi_led_blink_delay_timer:
-009a da604ba8 arg mem_mouse_dpi_led_delay_count ,regc 
-009b da40009d arg p_mouse_dpi_led_blink_init ,regb 
-009c 2020318a branch timer_single_step 
+00d9 da604ba8 arg mem_mouse_dpi_led_delay_count ,regc 
+00da da4000dc arg p_mouse_dpi_led_blink_init ,regb 
+00db 2020318a branch timer_single_step 
 
 p_mouse_dpi_led_blink_init:
-009d 6fe0c927 fetch 1 ,mem_config_sensor_type 
-009e c001c8f2 beq p3212 ,mouse_dpi_led_blink_init 
-009f c005c8f2 beq ka8g2 ,mouse_dpi_led_blink_init 
-00a0 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
-00a1 67e0c92f store 1 ,mem_mouse_struct_led_gpio 
-00a2 6fe14bc2 fetch 2 ,mem_mouse_dpi_led_blink_time 
-00a3 67e14930 store 2 ,mem_mouse_on_time 
-00a4 67e14932 store 2 ,mem_mouse_off_time 
-00a5 da200000 arg 0 ,rega 
-00a6 6848c992 fetcht 1 ,mem_mouse_dpi 
-00a7 18408402 increase 2 ,temp 
-00a8 18467c03 sub temp ,3 ,null 
-00a9 204100ac call p_mouse_dpi_led_blink_init_level_4 ,positive 
-00aa 244100b0 ncall p_mouse_dpi_led_blink_count_clean ,positive 
-00ab 202048ff branch mouse_dpi_led_blink_init_end 
+00dc 6fe0c927 fetch 1 ,mem_config_sensor_type 
+00dd c001c8f2 beq p3212 ,mouse_dpi_led_blink_init 
+00de c005c8f2 beq ka8g2 ,mouse_dpi_led_blink_init 
+00df 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
+00e0 67e0c92f store 1 ,mem_mouse_struct_led_gpio 
+00e1 6fe14bc2 fetch 2 ,mem_mouse_dpi_led_blink_time 
+00e2 67e14930 store 2 ,mem_mouse_on_time 
+00e3 67e14932 store 2 ,mem_mouse_off_time 
+00e4 da200000 arg 0 ,rega 
+00e5 6848c992 fetcht 1 ,mem_mouse_dpi 
+00e6 18408402 increase 2 ,temp 
+00e7 18467c03 sub temp ,3 ,null 
+00e8 204100eb call p_mouse_dpi_led_blink_init_level_4 ,positive 
+00e9 244100ef ncall p_mouse_dpi_led_blink_count_clean ,positive 
+00ea 202048ff branch mouse_dpi_led_blink_init_end 
 
 p_mouse_dpi_led_blink_init_level_4:
-00ac 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-00ad c40e0000 rtnbit0 mouse_enable_dpi_level_4 
-00ae 18408401 increase 1 ,temp 
-00af 20600000 rtn 
+00eb 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+00ec c40e0000 rtnbit0 mouse_enable_dpi_level_4 
+00ed 18408401 increase 1 ,temp 
+00ee 20600000 rtn 
 
 p_mouse_dpi_led_blink_count_clean:
-00b0 184085fd increase -3 ,temp 
-00b1 20600000 rtn 
+00ef 184085fd increase -3 ,temp 
+00f0 20600000 rtn 
 
 p_mouse_dpi_key_check_long_press:
-00b2 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-00b3 c2944080 bbit1 mouse_enable_select_device_by_dpi_button ,mouse_select_device_by_dpi_button 
-00b4 c29b00b6 bbit1 mouse_enable_dpi_key_long_press_disconvery ,p_mouse_discovery_by_dpi_button 
-00b5 20600000 rtn 
+00f1 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+00f2 c2944080 bbit1 mouse_enable_select_device_by_dpi_button ,mouse_select_device_by_dpi_button 
+00f3 c29b00f5 bbit1 mouse_enable_dpi_key_long_press_disconvery ,p_mouse_discovery_by_dpi_button 
+00f4 20600000 rtn 
 
 p_mouse_discovery_by_dpi_button:
-00b6 6fe0c9dd fetch 1 ,mem_mouse_dpi_button_state 
-00b7 c1808000 rtnne dpi_button_state_down 
-00b8 da604b9b arg mem_bt_discovery_count ,regc 
-00b9 da4000bb arg p_mouse_long_dpi_button_bt_discovery ,regb 
-00ba 2020318a branch timer_single_step 
+00f5 6fe0c9dd fetch 1 ,mem_mouse_dpi_button_state 
+00f6 c1808000 rtnne dpi_button_state_down 
+00f7 da604b9b arg mem_bt_discovery_count ,regc 
+00f8 da4000fa arg p_mouse_long_dpi_button_bt_discovery ,regb 
+00f9 2020318a branch timer_single_step 
 
 p_mouse_long_dpi_button_bt_discovery:
-00bb 7049de01 jam 1 ,mem_mouse_dpi_long_press_flag 
-00bc 202000cf branch p_mouse_long_button_bt_discovery 
+00fa 7049de01 jam 1 ,mem_mouse_dpi_long_press_flag 
+00fb 2020010e branch p_mouse_long_button_bt_discovery 
 
 p_mouse_commbination_key_process:
-00bd 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-00be c41a8000 rtnbit0 mouse_enable_commbination_key_by_bt_discovery 
-00bf 6848cbca fetcht 1 ,mem_mouse_commbination_key_bt 
-00c0 6048cb9d storet 1 ,mem_mouse_commbination_key 
-00c1 20404115 call mouse_check_key_gpio 
-00c2 1fe17e07 and pdata ,0x07 ,pdata 
-00c3 6848cb9d fetcht 1 ,mem_mouse_commbination_key 
-00c4 98467c00 isub temp ,null 
-00c5 202280c7 branch p_mouse_commbination_key_down ,zero 
-00c6 202044eb branch mouse_commbination_key_up 
+00fc 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+00fd c41a8000 rtnbit0 mouse_enable_commbination_key_by_bt_discovery 
+00fe 6848cbca fetcht 1 ,mem_mouse_commbination_key_bt 
+00ff 6048cb9d storet 1 ,mem_mouse_commbination_key 
+0100 20404115 call mouse_check_key_gpio 
+0101 1fe17e07 and pdata ,0x07 ,pdata 
+0102 6848cb9d fetcht 1 ,mem_mouse_commbination_key 
+0103 98467c00 isub temp ,null 
+0104 20228106 branch p_mouse_commbination_key_down ,zero 
+0105 202044eb branch mouse_commbination_key_up 
 
 p_mouse_commbination_key_down:
-00c7 204000c9 call p_mouse_combination_ui_timer 
-00c8 202044f2 branch mouse_commbination_key_down + 1 
+0106 20400108 call p_mouse_combination_ui_timer 
+0107 202044f2 branch mouse_commbination_key_down + 1 
 
 p_mouse_combination_ui_timer:
-00c9 da604ba0 arg mem_combination_ui_button_count ,regc 
-00ca da4000cf arg p_mouse_long_button_bt_discovery ,regb 
-00cb 2040318a call timer_single_step 
-00cc 6fe0cba0 fetch 1 ,mem_combination_ui_button_count 
-00cd c000c6e2 beq 1 ,mouse_bt_discovery_button_down_enable 
-00ce 20600000 rtn 
+0108 da604ba0 arg mem_combination_ui_button_count ,regc 
+0109 da40010e arg p_mouse_long_button_bt_discovery ,regb 
+010a 2040318a call timer_single_step 
+010b 6fe0cba0 fetch 1 ,mem_combination_ui_button_count 
+010c c000c6e2 beq 1 ,mouse_bt_discovery_button_down_enable 
+010d 20600000 rtn 
 
 p_mouse_long_button_bt_discovery:
-00cf 70493801 jam mode_bt_device1 ,mem_device_flag 
-00d0 704b7700 jam 0 ,mem_mouse_direct_timer 
-00d1 2040423c call mouse_sensor_powerdown 
-00d2 204078f4 call check_51cmd_stop_adv 
-00d3 7041ca00 jam 0 ,mem_link_key_exists 
-00d4 20404316 call mouse_stop_bluetooth_mode 
-00d5 204045ee call mouse_store_device_info_delay 
-00d6 202044d4 branch mouse_long_button_bt_discovery 
+010e 70493801 jam mode_bt_device1 ,mem_device_flag 
+010f 704b7700 jam 0 ,mem_mouse_direct_timer 
+0110 2040423c call mouse_sensor_powerdown 
+0111 204078f4 call check_51cmd_stop_adv 
+0112 7041ca00 jam 0 ,mem_link_key_exists 
+0113 20404316 call mouse_stop_bluetooth_mode 
+0114 204045ee call mouse_store_device_info_delay 
+0115 202044d4 branch mouse_long_button_bt_discovery 
 
 p_hid_rx_process:
-00d7 6fe10315 fetch 2 ,mem_l2cap_payload_ptr 
-00d8 1fe20c00 copy pdata ,contr 
-00d9 efe08006 ifetch 1 ,contr 
-00da 67e0c5f5 store 1 ,mem_l2cap_rcv_hidtype 
-00db 1fe1040f and pdata ,0x0f ,temp 
-00dc 1ff1fe00 rshift4 pdata ,pdata 
-00dd c00480df beq hid_type_set_idle ,p_hid_rx_process_handshake 
-00de 20204d93 branch hid_rx_process + 7 
+0116 6fe10315 fetch 2 ,mem_l2cap_payload_ptr 
+0117 1fe20c00 copy pdata ,contr 
+0118 efe08006 ifetch 1 ,contr 
+0119 67e0c5f5 store 1 ,mem_l2cap_rcv_hidtype 
+011a 1fe1040f and pdata ,0x0f ,temp 
+011b 1ff1fe00 rshift4 pdata ,pdata 
+011c c004811e beq hid_type_set_idle ,p_hid_rx_process_handshake 
+011d 20204d93 branch hid_rx_process + 7 
 
 p_hid_rx_process_handshake:
-00df da200001 arg 1 ,rega 
-00e0 20404dc0 call hid_malloc_tx_buff 
-00e1 6fe144dc fetch 2 ,mem_hid_ctrl_remote_cid 
-00e2 e7e10005 istore 2 ,contw 
-00e3 58000000 setarg 0 
-00e4 e7e08005 istore 1 ,contw 
-00e5 70095001 jam 1 ,mem_ui_data_txbuff_length 
-00e6 6fe0c4e2 fetch 1 ,mem_hid_control_state 
-00e7 79207e06 set1 l2cap_channel_hid_handshake_done ,pdata 
-00e8 67e0c4e2 store 1 ,mem_hid_control_state 
-00e9 70095b12 jam bt_evt_hid_handshake ,mem_fifo_temp 
-00ea 20207871 branch ui_ipc_send_event 
+011e da200001 arg 1 ,rega 
+011f 20404dc0 call hid_malloc_tx_buff 
+0120 6fe144dc fetch 2 ,mem_hid_ctrl_remote_cid 
+0121 e7e10005 istore 2 ,contw 
+0122 58000000 setarg 0 
+0123 e7e08005 istore 1 ,contw 
+0124 70095001 jam 1 ,mem_ui_data_txbuff_length 
+0125 6fe0c4e2 fetch 1 ,mem_hid_control_state 
+0126 79207e06 set1 l2cap_channel_hid_handshake_done ,pdata 
+0127 67e0c4e2 store 1 ,mem_hid_control_state 
+0128 70095b12 jam bt_evt_hid_handshake ,mem_fifo_temp 
+0129 20207871 branch ui_ipc_send_event 
 
 p_le_slave_match:
-00eb 6fe0c3dd fetch 1 ,mem_le_md_count 
-00ec 1fe0fe01 pincrease 1 
-00ed 67e0c3dd store 1 ,mem_le_md_count 
-00ee c006165a beq le_md_max_count ,le_slave_cont 
-00ef 2040191b call le_acknowledge 
-00f0 2040196a call le_prepare_tx 
-00f1 6fe082bd fetch 1 ,mem_le_tx_phy 
-00f2 2040168b call le_enable_phy_by_pdata 
-00f3 20401838 call le_transmit 
-00f4 20201655 branch le_slave_match + 10 
+012a 6fe0c3dd fetch 1 ,mem_le_md_count 
+012b 1fe0fe01 pincrease 1 
+012c 67e0c3dd store 1 ,mem_le_md_count 
+012d c006165a beq le_md_max_count ,le_slave_cont 
+012e 2040191b call le_acknowledge 
+012f 2040196a call le_prepare_tx 
+0130 6fe082bd fetch 1 ,mem_le_tx_phy 
+0131 2040168b call le_enable_phy_by_pdata 
+0132 20401838 call le_transmit 
+0133 20201655 branch le_slave_match + 10 
 
 p_le_parse_l2cap:
-00f5 efe10006 ifetch 2 ,contr 
-00f6 c00200f8 beq le_l2cap_cid_att ,p_le_parse_att 
-00f7 202019e4 branch le_parse_l2cap2 + 3 
+0134 efe10006 ifetch 2 ,contr 
+0135 c0020137 beq le_l2cap_cid_att ,p_le_parse_att 
+0136 202019e4 branch le_parse_l2cap2 + 3 
 
 p_le_parse_att:
-00f8 efe18006 ifetch 3 ,contr 
-00f9 67e1c436 store 3 ,mem_le_att_opcode 
-00fa c00500fd beq attop_read_request ,p_le_parse_att_read_request 
-00fb c009010a beq attop_write_request ,p_le_parse_att_write_request 
-00fc 20201cd3 branch le_parse_att + 2 
+0137 efe18006 ifetch 3 ,contr 
+0138 67e1c436 store 3 ,mem_le_att_opcode 
+0139 c005013c beq attop_read_request ,p_le_parse_att_read_request 
+013a c0090149 beq attop_write_request ,p_le_parse_att_write_request 
+013b 20201cd3 branch le_parse_att + 2 
 
 p_le_parse_att_read_request:
-00fd 20401e8d call le_check_encrypt_state 
-00fe 68494437 fetcht 2 ,mem_le_att_handle 
-00ff 6fe0c3c0 fetch 1 ,mem_le_configuration 
-0100 c2818105 bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
+013c 20401e8d call le_check_encrypt_state 
+013d 68494437 fetcht 2 ,mem_le_att_handle 
+013e 6fe0c3c0 fetch 1 ,mem_le_configuration 
+013f c2818144 bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
 
 p_le_send_att_read_response:
-0101 6fe14437 fetch 2 ,mem_le_att_handle 
-0102 c0181ec8 beq 0x30 ,le_send_att_error_response_notfound 
-0103 68494437 fetcht 2 ,mem_le_att_handle 
-0104 20201deb branch le_send_att_read_response 
+0140 6fe14437 fetch 2 ,mem_le_att_handle 
+0141 c0181ec8 beq 0x30 ,le_send_att_error_response_notfound 
+0142 68494437 fetcht 2 ,mem_le_att_handle 
+0143 20201deb branch le_send_att_read_response 
 
 p_le_send_att_read_response_check_auth:
-0105 6fe143d1 fetch 2 ,mem_le_pairing_handle 
-0106 98467c00 isub temp ,null 
-0107 24228101 nbranch p_le_send_att_read_response ,zero 
-0108 24340101 nbranch p_le_send_att_read_response ,user 
-0109 20201e10 branch le_send_att_read_response_error_insufficient_auth 
+0144 6fe143d1 fetch 2 ,mem_le_pairing_handle 
+0145 98467c00 isub temp ,null 
+0146 24228140 nbranch p_le_send_att_read_response ,zero 
+0147 24340140 nbranch p_le_send_att_read_response ,user 
+0148 20201e10 branch le_send_att_read_response_error_insufficient_auth 
 
 p_le_parse_att_write_request:
-010a 18c22200 copy contr ,rega 
-010b 6fe143d4 fetch 2 ,mem_le_l2cap_size 
-010c 1fe0a5fd add pdata ,-3 ,regb 
-010d 20401a25 call le_writeatt_cb 
-010e 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
-010f c07f9e73 beq 0xff ,le_send_att_write_response_check_auth 
-0110 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
-0111 203a1e73 branch le_send_att_write_response_check_auth ,blank 
-0112 6fe0cb75 fetch 1 ,mem_le_connect_status_flag 
-0113 c2809e73 bbit1 ll_start_enc_flag ,le_send_att_write_response_check_auth 
-0114 5800001a setarg 0x001a 
-0115 68494437 fetcht 2 ,mem_le_att_handle 
-0116 98467c00 isub temp ,null 
-0117 24229e73 nbranch le_send_att_write_response_check_auth ,zero 
-0118 7002d805 jam att_err_insufficient_authentication ,mem_le_err_code 
-0119 20201ec9 branch le_send_att_error_response 
+0149 18c22200 copy contr ,rega 
+014a 6fe143d4 fetch 2 ,mem_le_l2cap_size 
+014b 1fe0a5fd add pdata ,-3 ,regb 
+014c 20401a25 call le_writeatt_cb 
+014d 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
+014e c07f9e73 beq 0xff ,le_send_att_write_response_check_auth 
+014f 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
+0150 203a1e73 branch le_send_att_write_response_check_auth ,blank 
+0151 6fe0cb75 fetch 1 ,mem_le_connect_status_flag 
+0152 c2809e73 bbit1 ll_start_enc_flag ,le_send_att_write_response_check_auth 
+0153 5800001a setarg 0x001a 
+0154 68494437 fetcht 2 ,mem_le_att_handle 
+0155 98467c00 isub temp ,null 
+0156 24229e73 nbranch le_send_att_write_response_check_auth ,zero 
+0157 7002d805 jam att_err_insufficient_authentication ,mem_le_err_code 
+0158 20201ec9 branch le_send_att_error_response 
 
 p_mouse_motion:
-011a 78547c00 disable user 
-011b 58000000 setarg 0 
-011c 67e348d1 store 6 ,mem_mouse_x 
-011d 20404240 call mouse_check_sensor_data 
-011e 2040408e call mouse_dpi_config 
-011f 20203f75 branch mouse_motion + 5 
+0159 78547c00 disable user 
+015a 58000000 setarg 0 
+015b 67e348d1 store 6 ,mem_mouse_x 
+015c 20404240 call mouse_check_sensor_data 
+015d 2040408e call mouse_dpi_config 
+015e 20203f75 branch mouse_motion + 5 
 
 p_mouse_check_key_gpio:
-0120 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
-0121 245a4121 ncall mouse_check_key_gpio_once ,blank 
-0122 da200000 arg 0 ,rega 
-0123 20400129 call p_mouse_check_lkey_gpio 
-0124 2040012e call p_mouse_check_rkey_gpio 
-0125 20400133 call p_mouse_check_mkey_gpio 
-0126 20400138 call p_mouse_check_bkkey_gpio 
-0127 20400145 call p_mouse_check_fwkey_gpio 
-0128 2020411e branch mouse_check_key_gpio_next 
+015f 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+0160 245a4121 ncall mouse_check_key_gpio_once ,blank 
+0161 da200000 arg 0 ,rega 
+0162 20400168 call p_mouse_check_lkey_gpio 
+0163 2040016d call p_mouse_check_rkey_gpio 
+0164 20400172 call p_mouse_check_mkey_gpio 
+0165 20400177 call p_mouse_check_bkkey_gpio 
+0166 20400184 call p_mouse_check_fwkey_gpio 
+0167 2020411e branch mouse_check_key_gpio_next 
 
 p_mouse_check_lkey_gpio:
-0129 6fe0c918 fetch 1 ,mem_lbutton_gpio 
-012a 20400152 call p_mouse_gpio_config_output_high 
-012b 20404124 call mouse_check_lkey_gpio 
-012c 6848c918 fetcht 1 ,mem_lbutton_gpio 
-012d 20203f56 branch mouse_gpio_config_input_pu 
+0168 6fe0c918 fetch 1 ,mem_lbutton_gpio 
+0169 20400191 call p_mouse_gpio_config_output_high 
+016a 20404124 call mouse_check_lkey_gpio 
+016b 6848c918 fetcht 1 ,mem_lbutton_gpio 
+016c 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_rkey_gpio:
-012e 6fe0c919 fetch 1 ,mem_rbutton_gpio 
-012f 20400152 call p_mouse_gpio_config_output_high 
-0130 2040412a call mouse_check_rkey_gpio 
-0131 6848c919 fetcht 1 ,mem_rbutton_gpio 
-0132 20203f56 branch mouse_gpio_config_input_pu 
+016d 6fe0c919 fetch 1 ,mem_rbutton_gpio 
+016e 20400191 call p_mouse_gpio_config_output_high 
+016f 2040412a call mouse_check_rkey_gpio 
+0170 6848c919 fetcht 1 ,mem_rbutton_gpio 
+0171 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_mkey_gpio:
-0133 6fe0c91a fetch 1 ,mem_mbutton_gpio 
-0134 20400152 call p_mouse_gpio_config_output_high 
-0135 20404130 call mouse_check_mkey_gpio 
-0136 6848c91a fetcht 1 ,mem_mbutton_gpio 
-0137 20203f56 branch mouse_gpio_config_input_pu 
+0172 6fe0c91a fetch 1 ,mem_mbutton_gpio 
+0173 20400191 call p_mouse_gpio_config_output_high 
+0174 20404130 call mouse_check_mkey_gpio 
+0175 6848c91a fetcht 1 ,mem_mbutton_gpio 
+0176 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_bkkey_gpio:
-0138 6fe0c90d fetch 1 ,mem_bk_button_gpio 
-0139 c17f8000 rtneq gpio_disable 
-013a 704b9603 jam mouse_bk_key ,mem_mouse_key_temp 
-013b 6fe0cb91 fetch 1 ,mem_mouse_bkkey_press_status 
-013c 1fe22600 copy pdata ,regc 
-013d 6848c90d fetcht 1 ,mem_bk_button_gpio 
-013e 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
-013f c07f8141 beq gpio_disable ,p_mouse_3io6key_bk_check 
-0140 2020413e branch mouse_check_bkkey_gpio_next 
+0177 6fe0c90d fetch 1 ,mem_bk_button_gpio 
+0178 c17f8000 rtneq gpio_disable 
+0179 704b9603 jam mouse_bk_key ,mem_mouse_key_temp 
+017a 6fe0cb91 fetch 1 ,mem_mouse_bkkey_press_status 
+017b 1fe22600 copy pdata ,regc 
+017c 6848c90d fetcht 1 ,mem_bk_button_gpio 
+017d 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+017e c07f8180 beq gpio_disable ,p_mouse_3io6key_bk_check 
+017f 2020413e branch mouse_check_bkkey_gpio_next 
 
 p_mouse_3io6key_bk_check:
-0141 6fe0c90d fetch 1 ,mem_bk_button_gpio 
-0142 20400155 call p_mouse_gpio_config_output_low 
-0143 6848c90d fetcht 1 ,mem_bk_button_gpio 
-0144 2020414b branch mouse_3io6key_bk_check 
+0180 6fe0c90d fetch 1 ,mem_bk_button_gpio 
+0181 20400194 call p_mouse_gpio_config_output_low 
+0182 6848c90d fetcht 1 ,mem_bk_button_gpio 
+0183 2020414b branch mouse_3io6key_bk_check 
 
 p_mouse_check_fwkey_gpio:
-0145 6fe0c90e fetch 1 ,mem_fw_button_gpio 
-0146 c17f8000 rtneq gpio_disable 
-0147 704b9604 jam mouse_fw_key ,mem_mouse_key_temp 
-0148 6fe0cb92 fetch 1 ,mem_mouse_fwkey_press_status 
-0149 1fe22600 copy pdata ,regc 
-014a 6848c90e fetcht 1 ,mem_fw_button_gpio 
-014b 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
-014c c07f814e beq gpio_disable ,p_mouse_3io6key_fw_check 
-014d 20204157 branch mouse_check_fwkey_gpio_next 
+0184 6fe0c90e fetch 1 ,mem_fw_button_gpio 
+0185 c17f8000 rtneq gpio_disable 
+0186 704b9604 jam mouse_fw_key ,mem_mouse_key_temp 
+0187 6fe0cb92 fetch 1 ,mem_mouse_fwkey_press_status 
+0188 1fe22600 copy pdata ,regc 
+0189 6848c90e fetcht 1 ,mem_fw_button_gpio 
+018a 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+018b c07f818d beq gpio_disable ,p_mouse_3io6key_fw_check 
+018c 20204157 branch mouse_check_fwkey_gpio_next 
 
 p_mouse_3io6key_fw_check:
-014e 6fe0c90e fetch 1 ,mem_fw_button_gpio 
-014f 20400155 call p_mouse_gpio_config_output_low 
-0150 6848c90e fetcht 1 ,mem_fw_button_gpio 
-0151 20204164 branch mouse_3io6key_fw_check 
+018d 6fe0c90e fetch 1 ,mem_fw_button_gpio 
+018e 20400194 call p_mouse_gpio_config_output_low 
+018f 6848c90e fetcht 1 ,mem_fw_button_gpio 
+0190 20204164 branch mouse_3io6key_fw_check 
 
 p_mouse_gpio_config_output_high:
-0152 c17f8000 rtneq gpio_disable 
-0153 d840003f arg gpcfg_output_high ,temp 
-0154 20206093 branch gpio_config_function_int 
+0191 c17f8000 rtneq gpio_disable 
+0192 d840003f arg gpcfg_output_high ,temp 
+0193 20206093 branch gpio_config_function_int 
 
 p_mouse_gpio_config_output_low:
-0155 c17f8000 rtneq gpio_disable 
-0156 d840003e arg gpcfg_output_low ,temp 
-0157 20206093 branch gpio_config_function_int 
+0194 c17f8000 rtneq gpio_disable 
+0195 d840003e arg gpcfg_output_low ,temp 
+0196 20206093 branch gpio_config_function_int 
               org 0x800
 
 start:
Index: program/patch.prog
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/Standard_2.4G_First/program/patch.prog	(revision 3791)
+++ /YC1308AC/branch/mouse_project/XZR/Standard_2.4G_First/program/patch.prog	(working copy)
@@ -1,4 +1,6 @@
 
+//define MORE_POWER_CTRL
+
 	bbit1 8,pf_patch_ext
 	beq patch00_0,p_soft_reset
 	beq patch11_3,p_initialize_radio_cont	
@@ -19,6 +21,8 @@
 pf_patch_ext:
 	beq patch34_1,p_le_slave_match
 	beq patch38_0,p_le_parse_l2cap
+	beq patch3d_3,p_g24_transmit_hop_process
+	beq patch3d_5,p_power_ctrl_start
 	branch loop
 
 
@@ -28,6 +32,101 @@
 	call mouse_xtal_init		// 16M / 24M
 	branch soft_reset+3
 
+p_g24_transmit_hop_process:
+	fetcht 1,mem_24g_retry
+	fetch 1,mem_24g_fast_hop_count			// 125Hz=11  250Hz=5
+	isub temp,null
+	nbranch p_g24_tx_fast_hop,positive		// >= (6+6)or(3+3) hop fast    fail packet count >= 2
+	increase 1,temp
+	storet 1,mem_24g_retry
+	fetch 1,mem_24g_fast_hop_count
+	beq 5,g24_transmit_hop_process_4ms
+	fetch 1,mem_24g_retry
+	beq 6,g24_hop_ch_disable
+	beq 12,g24_hop_ch_disable
+	rtn
+
+p_g24_tx_fast_hop:
+	call p_power_ctrl_txpower_incrs
+	call power_ctrl_pac_succ_decrs
+	branch g24_ch
+
+p_power_ctrl_start:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_ADV
+	rtnbit1 UI_STATE_BT_RECONNECT
+	rtnbit1 UI_STATE_BT_DISCOVERY	
+	fetchr rega,2,mem_rssi_signal_buf_ptr
+	call rssi_average
+	storet 1,mem_rssi_avg_received
+
+	fetch 1,mem_rssi_dis_max_24g
+	bmark1 mark_24g,p_power_ctrl_start_next
+	fetch 1,mem_rssi_dis_max_ble
+p_power_ctrl_start_next:
+	isub temp,null
+	nbranch p_power_ctrl_txpower_incrs_force,positive
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	sub pdata,2,null
+	nbranch p_power_ctrl_txpower_decrs_check,positive
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	beq 0,p_power_ctrl_txpower_incrs
+	rtn
+
+p_power_ctrl_txpower_decrs_check:
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	fetcht 1,mem_power_ctrl_pac_succ_cnt_init
+	isub temp,null
+	nrtn zero
+	jam 0,mem_power_ctrl_pac_succ_cnt
+p_power_ctrl_txpower_decrs:
+	fetcht 1,mem_rssi_avg_received
+	fetch 1,mem_rssi_dis_min_24g
+	bmark1 mark_24g,p_power_ctrl_txpower_decrs_next
+	fetch 1,mem_rssi_dis_min_ble
+p_power_ctrl_txpower_decrs_next:	
+	isub temp,null
+	nrtn positive
+	fetch 1,mem_power_ctrl_level
+	beq 0,power_ctrl_decrs_level0
+	increase -1,pdata
+	store 1,mem_power_ctrl_level
+ifdef MORE_POWER_CTRL	
+	beq 3,p_power_ctrl_decrs_level3
+endif
+	beq 2,p_power_ctrl_decrs_level2				//3-->0-->-5
+	beq 1,power_ctrl_decrs_level1	//0dBm
+	branch power_ctrl_decrs_level0 //-5dBm
+
+p_power_ctrl_txpower_incrs_force:		//0-->3-->5
+	jam 0,mem_power_ctrl_pac_succ_cnt
+p_power_ctrl_txpower_incrs:
+	fetch 1,mem_power_ctrl_level
+ifdef MORE_POWER_CTRL		
+	beq 4,p_power_ctrl_incrs_level4
+else
+	beq 3,p_power_ctrl_incrs_level3
+endif
+	increase 1,pdata
+	store 1,mem_power_ctrl_level
+	beq 1,power_ctrl_incrs_level1	//0dBm
+	beq 2,p_power_ctrl_incrs_level2
+ifdef MORE_POWER_CTRL	
+	beq 3,p_power_ctrl_incrs_level3
+p_power_ctrl_incrs_level4:	//+7dBm
+	jam TX_POWER_7DB,mem_tx_power
+	rtn		
+p_power_ctrl_decrs_level3:	
+endif
+p_power_ctrl_incrs_level3:	//+5dBm
+	branch p_power_ctrl_incrs_level2	//+3db
+//	jam TX_POWER_5DB,mem_tx_power
+//	rtn	
+p_power_ctrl_decrs_level2:	
+p_power_ctrl_incrs_level2:	//+3dBm
+	jam TX_POWER_3DB,mem_tx_power
+	rtn	
+
 
 p_app_init:
 p_mouse_init:
Index: sched/mouse.dat
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/Standard_2.4G_First/sched/mouse.dat	(revision 3791)
+++ /YC1308AC/branch/mouse_project/XZR/Standard_2.4G_First/sched/mouse.dat	(working copy)
@@ -213,7 +213,7 @@
 mem_app_connection_options:06
 mem_lap:36 a4 c8 12 23 51
 mem_local_name_length:
-'BT3.0 Mouse
+'M825
 mem_sniff_param_interval:
 0e 00 
 01 00 ##mem_sniff_param_attempt:01 00
@@ -249,16 +249,16 @@
 #microsoft swift pair
 06 ff 06 00 03 00 80
 #name
-'\09BT5.2 Mouse
+'\09M825
 
 mem_le_scan_data_len:1f
 mem_le_scan_data:
 #name
-'\09BT5.2 Mouse
+'\09M825
 
 
 mem_le_name_len:
-'BT5.2 Mouse
+'M825
 
 
 mem_le_interval_min:
