Index: format/app_mouse.format
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Only2.4G/TW-CM622_Only2.4G/format/app_mouse.format	(revision 1592)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Only2.4G/TW-CM622_Only2.4G/format/app_mouse.format	(working copy)
@@ -455,7 +455,7 @@
 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
 0x01 MOUSE_DPI_LEVEL2
Index: output/eeprom.dat
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Only2.4G/TW-CM622_Only2.4G/output/eeprom.dat	(revision 1592)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Only2.4G/TW-CM622_Only2.4G/output/eeprom.dat	(working copy)
@@ -2,8 +2,8 @@
 02
 aa
 55
-3e
-07
+32
+08
 c2
 84
 00
@@ -15,75 +15,75 @@
 c0
 45
 80
-4d
+44
 c0
 4f
 80
-4b
+42
 c0
 57
 00
 19
 c0
 61
-80
-c8
+81
+05
 c0
 63
 80
-67
+71
 c0
 64
 80
-6b
+75
 c0
 65
 00
-7a
+a8
 c0
 67
-00
-d7
+01
+14
 c0
 68
 01
-3d
+7a
 c0
 68
 81
-05
+42
 c0
 6b
 00
-a7
+d5
 c0
 6c
 81
-5a
+97
 20
 20
 13
 7c
 c0
 10
-81
-cd
+82
+0a
 c0
 43
-81
-c6
+82
+03
 c0
 6e
 81
-bf
+fc
 c0
 75
 00
-58
+4f
 c0
 71
-00
-c6
+01
+03
 20
 20
 13
@@ -111,15 +111,11 @@
 20
 40
 00
-21
+24
 20
 40
 00
-2d
 20
-40
-00
-29
 20
 40
 41
@@ -137,38 +133,6 @@
 3b
 c5
 6f
-e0
-cb
-e1
-20
-7a
-00
-00
-6f
-e0
-c9
-13
-d8
-40
-00
-40
-20
-40
-60
-93
-6f
-e0
-c9
-14
-d8
-40
-00
-40
-20
-20
-60
-93
-6f
 f1
 01
 20
@@ -207,7 +171,7 @@
 20
 40
 00
-37
+2e
 68
 48
 c9
@@ -219,7 +183,7 @@
 20
 40
 00
-47
+3e
 20
 20
 3b
@@ -363,11 +327,11 @@
 24
 34
 00
-99
+c7
 20
 40
-26
-46
+00
+5e
 20
 40
 26
@@ -379,7 +343,7 @@
 24
 3a
 00
-62
+59
 6f
 e4
 48
@@ -416,6 +380,82 @@
 20
 26
 b8
+70
+48
+a6
+00
+69
+61
+01
+5f
+34
+73
+02
+00
+20
+40
+26
+5b
+6f
+e0
+c8
+2c
+c0
+00
+a6
+51
+24
+2c
+26
+69
+24
+37
+a6
+69
+20
+40
+26
+72
+20
+40
+00
+69
+20
+20
+26
+51
+6f
+e0
+cb
+e1
+24
+5a
+00
+6d
+70
+4b
+e1
+00
+20
+60
+00
+00
+20
+40
+41
+aa
+6f
+e4
+4b
+ab
+c4
+1e
+00
+00
+20
+20
+00
+a2
 58
 00
 00
@@ -451,7 +491,7 @@
 c0
 7f
 80
-74
+7e
 68
 48
 c9
@@ -489,9 +529,153 @@
 60
 93
 20
-20
+40
 3e
-36
+40
+20
+40
+60
+82
+d8
+40
+00
+13
+20
+40
+3f
+56
+20
+40
+00
+8b
+6f
+e4
+4b
+ab
+c4
+1e
+00
+00
+20
+20
+00
+98
+6f
+e1
+cb
+de
+67
+e1
+89
+5c
+df
+20
+00
+14
+d8
+40
+00
+00
+6f
+e1
+89
+5c
+2f
+ef
+fe
+00
+20
+40
+e0
+7f
+6f
+e1
+89
+5c
+1f
+e3
+7e
+00
+67
+e1
+89
+5c
+18
+40
+84
+01
+c2
+00
+00
+8f
+20
+60
+00
+00
+68
+48
+c9
+13
+20
+40
+60
+42
+68
+48
+c9
+14
+20
+40
+60
+42
+6f
+e0
+c9
+13
+d8
+40
+00
+80
+20
+40
+60
+93
+6f
+e0
+c9
+14
+d8
+40
+00
+80
+20
+20
+60
+93
+6f
+e0
+c9
+13
+d8
+40
+00
+40
+20
+40
+60
+93
+6f
+e0
+c9
+14
+d8
+40
+00
+40
+20
+20
+60
+93
 20
 40
 3f
@@ -615,7 +799,7 @@
 20
 20
 00
-9f
+cd
 6f
 e0
 c8
@@ -639,7 +823,7 @@
 20
 20
 00
-9f
+cd
 20
 40
 26
@@ -679,15 +863,15 @@
 c0
 1e
 00
-ae
+dc
 c0
 1c
 80
-ac
+da
 c0
 1d
 00
-b5
+e3
 20
 20
 43
@@ -734,8 +918,8 @@
 a5
 24
 3a
+01
 00
-c3
 6f
 e0
 c8
@@ -743,11 +927,19 @@
 c0
 01
 00
-ba
+ea
+c0
+02
+00
+f3
+c0
+01
+80
+f8
 20
 20
 48
-37
+39
 6f
 e4
 4b
@@ -784,6 +976,58 @@
 20
 48
 06
+6f
+e4
+4b
+ab
+c3
+17
+80
+fd
+6f
+e0
+cb
+b4
+c0
+00
+80
+fd
+20
+20
+48
+1a
+6f
+e4
+4b
+ab
+c3
+17
+80
+fd
+c2
+89
+80
+fd
+c2
+89
+00
+fd
+20
+20
+48
+12
+6f
+e4
+4b
+ab
+c3
+1e
+48
+39
+20
+20
+00
+be
 79
 3f
 80
@@ -795,7 +1039,7 @@
 20
 20
 01
-7d
+ba
 70
 48
 8b
@@ -818,8 +1062,8 @@
 38
 c0
 00
-00
-cd
+01
+0a
 20
 20
 3d
@@ -895,7 +1139,7 @@
 20
 40
 01
-01
+3e
 6f
 e0
 c8
@@ -910,16 +1154,16 @@
 d0
 24
 34
-00
-e6
+01
+23
 20
 40
 47
 1a
 20
 40
-00
-f1
+01
+2e
 20
 20
 45
@@ -1039,7 +1283,7 @@
 20
 40
 01
-0c
+49
 1a
 22
 7e
@@ -1103,7 +1347,7 @@
 20
 20
 81
-18
+55
 6f
 e0
 cb
@@ -1111,7 +1355,7 @@
 24
 3a
 01
-16
+53
 20
 60
 00
@@ -1119,15 +1363,15 @@
 c0
 02
 01
-32
+6f
 20
 20
 01
-18
+55
 20
 40
 01
-35
+72
 6f
 e2
 4b
@@ -1163,19 +1407,19 @@
 c0
 00
 01
-26
+63
 c0
 00
 81
-29
+66
 c0
 01
 01
-2c
+69
 c0
 01
 81
-2f
+6c
 20
 60
 00
@@ -1255,7 +1499,7 @@
 24
 41
 01
-3a
+77
 20
 60
 00
@@ -1279,7 +1523,7 @@
 20
 40
 01
-4c
+89
 6f
 e0
 c9
@@ -1287,7 +1531,7 @@
 c0
 01
 81
-47
+84
 c0
 05
 c0
@@ -1379,7 +1623,7 @@
 20
 3a
 01
-aa
+e7
 67
 e0
 cb
@@ -1415,19 +1659,19 @@
 20
 40
 01
-a7
+e4
 20
 40
 01
-73
+b0
 20
 40
 01
-83
+c0
 20
 40
 01
-91
+ce
 20
 40
 40
@@ -1487,7 +1731,7 @@
 20
 20
 01
-9f
+dc
 6f
 e0
 cb
@@ -1503,7 +1747,7 @@
 da
 40
 01
-78
+b5
 20
 20
 31
@@ -1511,7 +1755,7 @@
 20
 40
 01
-8c
+c9
 6f
 e0
 cb
@@ -1571,7 +1815,7 @@
 c0
 00
 81
-8b
+c8
 1f
 e0
 ff
@@ -1583,7 +1827,7 @@
 20
 20
 01
-7f
+bc
 70
 4b
 ec
@@ -1647,7 +1891,7 @@
 20
 42
 81
-9c
+d9
 20
 60
 00
@@ -1658,12 +1902,12 @@
 01
 20
 40
-00
-fe
+01
+3b
 20
 20
 01
-7d
+ba
 6f
 e0
 c9
@@ -1679,7 +1923,7 @@
 da
 40
 01
-a4
+e1
 20
 20
 31
@@ -1690,8 +1934,8 @@
 38
 c0
 00
+01
 00
-c3
 20
 20
 43
@@ -1703,7 +1947,7 @@
 da
 40
 01
-aa
+e7
 20
 20
 31
@@ -1759,11 +2003,11 @@
 20
 41
 01
-b9
+f6
 24
 41
 01
-bd
+fa
 20
 20
 48
@@ -1799,7 +2043,7 @@
 24
 5a
 01
-c2
+ff
 20
 20
 21
@@ -1810,8 +2054,8 @@
 01
 20
 40
-01
-ca
+02
+07
 79
 20
 00
@@ -1856,8 +2100,8 @@
 20
 5c
 b6
-24
-6c
+1a
+dc
 aa
 55
 40
@@ -2007,7 +2251,7 @@
 00
 10
 02
-07
+1b
 aa
 55
 0c
@@ -3057,254 +3301,10 @@
 aa
 aa
 55
-5e
+72
 6a
-ba
-00
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+81
+9b
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-dc
-6b
+90
+06
Index: output/program.lis
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Only2.4G/TW-CM622_Only2.4G/output/program.lis	(revision 1592)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Only2.4G/TW-CM622_Only2.4G/output/program.lis	(working copy)
@@ -2,26 +2,26 @@
               org 0x0000
 0000 c284000f bbit1 8 ,pf_patch_ext 
 0001 c0000015 beq patch00_0 ,p_soft_reset 
-0002 c045804d beq patch11_3 ,p_initialize_radio_cont 
-0003 c04f804b beq patch13_7 ,p_init_param 
+0002 c0458044 beq patch11_3 ,p_initialize_radio_cont 
+0003 c04f8042 beq patch13_7 ,p_init_param 
 0004 c0570019 beq patch15_6 ,p_app_init 
-0005 c06180c8 beq patch18_3 ,p_mouse_start_work 
-0006 c0638067 beq patch18_7 ,p_mouse_app_enter_hibernate 
-0007 c064806b beq patch19_1 ,p_mouse_setgpio_hibernate 
-0008 c065007a beq patch19_2 ,p_mouse_lpm_before_common 
-0009 c06700d7 beq patch19_6 ,p_mouse_motion 
-000a c068013d beq patch1a_0 ,p_mouse_seting_dpi 
-000b c0688105 beq patch1a_1 ,p_mouse_check_key_gpio 
-000c c06b00a7 beq patch1a_6 ,p_mouse_priority_bb_event 
-000d c06c815a beq patch1b_1 ,p_mouse_bb_event_timer 
+0005 c0618105 beq patch18_3 ,p_mouse_start_work 
+0006 c0638071 beq patch18_7 ,p_mouse_app_enter_hibernate 
+0007 c0648075 beq patch19_1 ,p_mouse_setgpio_hibernate 
+0008 c06500a8 beq patch19_2 ,p_mouse_lpm_before_common 
+0009 c0670114 beq patch19_6 ,p_mouse_motion 
+000a c068017a beq patch1a_0 ,p_mouse_seting_dpi 
+000b c0688142 beq patch1a_1 ,p_mouse_check_key_gpio 
+000c c06b00d5 beq patch1a_6 ,p_mouse_priority_bb_event 
+000d c06c8197 beq patch1b_1 ,p_mouse_bb_event_timer 
 000e 2020137c branch loop 
 
 pf_patch_ext:
-000f c01081cd beq patch24_1 ,p_spid_init 
-0010 c04381c6 beq patch30_7 ,p_ui_timer_check 
-0011 c06e81bf beq patch3b_5 ,p_g24_dispatch 
-0012 c0750058 beq patch3d_2 ,p_g24_transmit_no_interrupt 
-0013 c07100c6 beq patch3c_2 ,p_g24_pair_dispatch 
+000f c010820a beq patch24_1 ,p_spid_init 
+0010 c0438203 beq patch30_7 ,p_ui_timer_check 
+0011 c06e81fc beq patch3b_5 ,p_g24_dispatch 
+0012 c075004f beq patch3d_2 ,p_g24_transmit_no_interrupt 
+0013 c0710103 beq patch3c_2 ,p_g24_pair_dispatch 
 0014 2020137c branch loop 
 
 p_soft_reset:
@@ -34,579 +34,660 @@
 
 p_mouse_init:
 0019 20406df3 call enable_authrom 
-001a 20400021 call p_mouse_wheel_set_wakeup 
-001b 2040002d call p_mouse_setting_config 
-001c 20400029 call p_lpm_write_ice_disable 
-001d 204041a7 call mouse_init_sunt 
-001e 20758000 rtn wake 
-001f 2040408e call mouse_dpi_config 
-0020 20203bc5 branch mouse_init + 4 
-
-p_mouse_wheel_set_wakeup:
-0021 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
-0022 207a0000 rtn blank 
-0023 6fe0c913 fetch 1 ,mem_whee_a_data_gpio 
-0024 d8400040 arg gpcfg_pullup ,temp 
-0025 20406093 call gpio_config_function_int 
-0026 6fe0c914 fetch 1 ,mem_whee_b_data_gpio 
-0027 d8400040 arg gpcfg_pullup ,temp 
-0028 20206093 branch gpio_config_function_int 
+001a 20400024 call p_mouse_setting_config 
+001b 20400020 call p_lpm_write_ice_disable 
+001c 204041a7 call mouse_init_sunt 
+001d 20758000 rtn wake 
+001e 2040408e call mouse_dpi_config 
+001f 20203bc5 branch mouse_init + 4 
 
 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 
+0020 6ff10120 fetch 2 ,core_ucode_flag 
+0021 793ffe0e set0 lpmreg_ice_mode_bit ,pdata 
+0022 67f2004c store 4 ,core_lpm_reg 
+0023 20205caf branch lpm_write2_ctrl_option 
 
 p_mouse_setting_config:
-002d 20758000 rtn wake 
-002e 20402607 call g24_transmit_init 
-002f 204022ff call g24_chmap_param_init 
-0030 20403f1e call mouse_gpio_init 
-0031 20403d13 call mouse_param_init 
-0032 20400037 call p_mouse_sensor_set_angle 
-0033 6848c920 fetcht 1 ,mem_mouse_sensor_sdio_gpio 
-0034 20406050 call gpio_config_input 
-0035 20400047 call p_ice_gpio_set_float 
-0036 20203bf5 branch mouse_setting_config_next 
+0024 20758000 rtn wake 
+0025 20402607 call g24_transmit_init 
+0026 204022ff call g24_chmap_param_init 
+0027 20403f1e call mouse_gpio_init 
+0028 20403d13 call mouse_param_init 
+0029 2040002e call p_mouse_sensor_set_angle 
+002a 6848c920 fetcht 1 ,mem_mouse_sensor_sdio_gpio 
+002b 20406050 call gpio_config_input 
+002c 2040003e call p_ice_gpio_set_float 
+002d 20203bf5 branch mouse_setting_config_next 
 
 p_mouse_sensor_set_angle:
-0037 6fe0c924 fetch 1 ,mem_sensor_angle_default 
-0038 67e0c928 store 1 ,mem_config_sensor_angle 
-0039 6fe0c917 fetch 1 ,mem_select_sensor_angle_gpio 
-003a c17f8000 rtneq gpio_disable 
-003b 6fe0c917 fetch 1 ,mem_select_sensor_angle_gpio 
-003c d840003e arg gpcfg_output_low ,temp 
-003d 20406093 call gpio_config_function_int 
-003e 6fe0cbf5 fetch 1 ,mem_mouse_reuse_2ice_gpio 
-003f d840003e arg gpcfg_output_low ,temp 
-0040 20406093 call gpio_config_function_int 
-0041 6848c920 fetcht 1 ,mem_mouse_sensor_sdio_gpio 
-0042 20403f56 call mouse_gpio_config_input_pu 
-0043 6848c920 fetcht 1 ,mem_mouse_sensor_sdio_gpio 
-0044 20406059 call gpio_get_bit 
-0045 2440c2aa ncall mouse_sensor_switch_angle ,true 
-0046 20203f54 branch mouse_gpio_config_input_pd 
+002e 6fe0c924 fetch 1 ,mem_sensor_angle_default 
+002f 67e0c928 store 1 ,mem_config_sensor_angle 
+0030 6fe0c917 fetch 1 ,mem_select_sensor_angle_gpio 
+0031 c17f8000 rtneq gpio_disable 
+0032 6fe0c917 fetch 1 ,mem_select_sensor_angle_gpio 
+0033 d840003e arg gpcfg_output_low ,temp 
+0034 20406093 call gpio_config_function_int 
+0035 6fe0cbf5 fetch 1 ,mem_mouse_reuse_2ice_gpio 
+0036 d840003e arg gpcfg_output_low ,temp 
+0037 20406093 call gpio_config_function_int 
+0038 6848c920 fetcht 1 ,mem_mouse_sensor_sdio_gpio 
+0039 20403f56 call mouse_gpio_config_input_pu 
+003a 6848c920 fetcht 1 ,mem_mouse_sensor_sdio_gpio 
+003b 20406059 call gpio_get_bit 
+003c 2440c2aa ncall mouse_sensor_switch_angle ,true 
+003d 20203f54 branch mouse_gpio_config_input_pd 
 
 p_ice_gpio_set_float:
-0047 6848c917 fetcht 1 ,mem_select_sensor_angle_gpio 
-0048 2040607f call gpio_set_high_impedance 
-0049 6848cbf5 fetcht 1 ,mem_mouse_reuse_2ice_gpio 
-004a 2020607f branch gpio_set_high_impedance 
+003e 6848c917 fetcht 1 ,mem_select_sensor_angle_gpio 
+003f 2040607f call gpio_set_high_impedance 
+0040 6848cbf5 fetcht 1 ,mem_mouse_reuse_2ice_gpio 
+0041 2020607f branch gpio_set_high_impedance 
 
 p_init_param:
-004b 70008000 jam 0 ,mem_lmo_tid2 
-004c 202013b7 branch init_param_next + 1 
+0042 70008000 jam 0 ,mem_lmo_tid2 
+0043 202013b7 branch init_param_next + 1 
 
 p_initialize_radio_cont:
-004d 708a8be6 jam 0xe6 ,core_syn_aac_cfg1 
-004e 2040126a call initialize_syn_afc_cfg1 
-004f 20401271 call initialize_rf_ldo_cfg1 
-0050 20401277 call initialize_rc_cal 
-0051 708a6d09 jam 0x09 ,core_rx_bq_cfg0 
-0052 708a0305 jam 5 ,core_clkpll_cfg0 
-0053 708a7a94 jam 0x94 ,core_rx_iqadc_cfg 
-0054 708a0e0b jam 0x0b ,core_rf_ldo_cfg2 
-0055 708a0f05 jam 0x05 ,core_rf_ldo_cfg3 
-0056 708a8390 jam 0x90 ,core_syn_pfd_lkd_cfg 
-0057 2020125d branch initialize_radio_cont + 8 
+0044 708a8be6 jam 0xe6 ,core_syn_aac_cfg1 
+0045 2040126a call initialize_syn_afc_cfg1 
+0046 20401271 call initialize_rf_ldo_cfg1 
+0047 20401277 call initialize_rc_cal 
+0048 708a6d09 jam 0x09 ,core_rx_bq_cfg0 
+0049 708a0305 jam 5 ,core_clkpll_cfg0 
+004a 708a7a94 jam 0x94 ,core_rx_iqadc_cfg 
+004b 708a0e0b jam 0x0b ,core_rf_ldo_cfg2 
+004c 708a0f05 jam 0x05 ,core_rf_ldo_cfg3 
+004d 708a8390 jam 0x90 ,core_syn_pfd_lkd_cfg 
+004e 2020125d branch initialize_radio_cont + 8 
 
 p_g24_transmit_no_interrupt:
-0058 20402631 call g24_txdata_prep 
-0059 24340099 nbranch p_g24_nodata_transmit ,user 
+004f 20402631 call g24_txdata_prep 
+0050 243400c7 nbranch p_g24_nodata_transmit ,user 
 
 p_g24_transmit_start:
-005a 20402646 call g24_transmit_process 
-005b 204026ee call power_ctrl_start 
-005c 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
-005d 243a0062 nbranch p_g24_short_sleep ,blank 
-005e 6fe448b0 fetch 8 ,mem_24g_long_sleep_set 
-005f 67e4485c store 8 ,mem_24g_enter_hibernate 
-0060 6fe148c2 fetch 2 ,mem_24g_long_sleep_param_update_timer_init 
-0061 67e148c4 store 2 ,mem_24g_long_sleep_param_update_timer 
+0051 2040005e call p_g24_transmit_process 
+0052 204026ee call power_ctrl_start 
+0053 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+0054 243a0059 nbranch p_g24_short_sleep ,blank 
+0055 6fe448b0 fetch 8 ,mem_24g_long_sleep_set 
+0056 67e4485c store 8 ,mem_24g_enter_hibernate 
+0057 6fe148c2 fetch 2 ,mem_24g_long_sleep_param_update_timer_init 
+0058 67e148c4 store 2 ,mem_24g_long_sleep_param_update_timer 
 
 p_g24_short_sleep:
-0062 204026bb call g24_lpm_wait 
-0063 24740000 nrtn user 
-0064 20407fdc call clear_wake 
-0065 6fe1c8ad fetch 3 ,mem_24g_short_sleep_set 
-0066 202026b8 branch g24_long_sleep2 
+0059 204026bb call g24_lpm_wait 
+005a 24740000 nrtn user 
+005b 20407fdc call clear_wake 
+005c 6fe1c8ad fetch 3 ,mem_24g_short_sleep_set 
+005d 202026b8 branch g24_long_sleep2 
+
+p_g24_transmit_process:
+005e 7048a600 jam 0 ,mem_24g_retry 
+
+p_g24_transmit_loop:
+005f 6961015f fetchr timeup ,2 ,mem_param_rx_setup 
+0060 34730200 until clkn_rt ,meet 
+0061 2040265b call g24_transmit_receive_ack 
+0062 6fe0c82c fetch 1 ,mem_24g_no_ack 
+0063 c000a651 beq no_ack_24g ,g24_transmit_no_ack 
+0064 242c2669 nbranch g24_retransmit ,sync 
+0065 2437a669 nbranch g24_retransmit ,user3 
+0066 20402672 call g24_ackpayload_parse 
+0067 20400069 call p_mouse_wakeup_24g 
+0068 20202651 branch g24_transmit_no_ack 
+
+p_mouse_wakeup_24g:
+0069 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+006a 245a006d ncall p_mouse_wakeup_24g_from_long_sleep ,blank 
+006b 704be100 jam 0 ,mem_sensor_shutdown_flag 
+006c 20600000 rtn 
+
+p_mouse_wakeup_24g_from_long_sleep:
+006d 204041aa call mouse_init_sensor_wakeup 
+006e 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+006f c41e0000 rtnbit0 mouse_enable_wheel_wake_up_cancel 
+0070 202000a2 branch p_mouse_wheel_set_wakeup 
 
 p_mouse_app_enter_hibernate:
-0067 58000006 setarg pan_reg_config 
-0068 20405b0d call twspi_read 
-0069 c281be23 bbit1 3 ,mouse_app_enter_hibernate + 3 
-006a 20203e21 branch mouse_app_enter_hibernate + 1 
+0071 58000006 setarg pan_reg_config 
+0072 20405b0d call twspi_read 
+0073 c281be23 bbit1 3 ,mouse_app_enter_hibernate + 3 
+0074 20203e21 branch mouse_app_enter_hibernate + 1 
 
 p_mouse_setgpio_hibernate:
-006b 204042e9 call mouse_set_sdio_high 
-006c 20407fdc call clear_wake 
-006d 20404015 call mouse_before_hibernate_wheel_gpio_set 
-006e 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
-006f c07f8074 beq gpio_disable ,p_mouse_setgpio_hibernate_skip_public_gpio 
-0070 6848c910 fetcht 1 ,mem_matrix_public_gpio 
-0071 20406069 call gpio_out_active 
-0072 6848c910 fetcht 1 ,mem_matrix_public_gpio 
-0073 20406042 call gpio_clr_wake 
+0075 204042e9 call mouse_set_sdio_high 
+0076 20407fdc call clear_wake 
+0077 20404015 call mouse_before_hibernate_wheel_gpio_set 
+0078 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+0079 c07f807e beq gpio_disable ,p_mouse_setgpio_hibernate_skip_public_gpio 
+007a 6848c910 fetcht 1 ,mem_matrix_public_gpio 
+007b 20406069 call gpio_out_active 
+007c 6848c910 fetcht 1 ,mem_matrix_public_gpio 
+007d 20406042 call gpio_clr_wake 
 
 p_mouse_setgpio_hibernate_skip_public_gpio:
-0074 6848cbf5 fetcht 1 ,mem_mouse_reuse_2ice_gpio 
-0075 20403f56 call mouse_gpio_config_input_pu 
-0076 6fe0c920 fetch 1 ,mem_mouse_sensor_sdio_gpio 
-0077 d840003f arg gpcfg_output_high ,temp 
-0078 20406093 call gpio_config_function_int 
-0079 20203e36 branch mouse_setgpio_hibernate + 3 
+007e 6848cbf5 fetcht 1 ,mem_mouse_reuse_2ice_gpio 
+007f 20403f56 call mouse_gpio_config_input_pu 
+0080 6fe0c920 fetch 1 ,mem_mouse_sensor_sdio_gpio 
+0081 d840003f arg gpcfg_output_high ,temp 
+0082 20406093 call gpio_config_function_int 
+0083 20403e40 call mouse_lpm_before_common 
+0084 20406082 call gpio_pd_idle 
+0085 d8400013 arg 19 ,temp 
+0086 20403f56 call mouse_gpio_config_input_pu 
+0087 2040008b call p_mouse_gpio_set_high_impedance 
+0088 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0089 c41e0000 rtnbit0 mouse_enable_wheel_wake_up_cancel 
+008a 20200098 branch p_mouse_wheel_clr_wakeup 
+
+p_mouse_gpio_set_high_impedance:
+008b 6fe1cbde fetch 3 ,mem_mouse_set_high_impedance_bit_set 
+008c 67e1895c store 3 ,mem_pdatatemp 
+008d df200014 arg 20 ,loopcnt 
+008e d8400000 arg 0 ,temp 
+
+p_mouse_gpio_set_high_impedance_bit_loop:
+008f 6fe1895c fetch 3 ,mem_pdatatemp 
+0090 2feffe00 isolate1 0 ,pdata 
+0091 2040e07f call gpio_set_high_impedance ,true 
+0092 6fe1895c fetch 3 ,mem_pdatatemp 
+0093 1fe37e00 rshift pdata ,pdata 
+0094 67e1895c store 3 ,mem_pdatatemp 
+0095 18408401 increase 1 ,temp 
+0096 c200008f loop p_mouse_gpio_set_high_impedance_bit_loop 
+0097 20600000 rtn 
+
+p_mouse_wheel_clr_wakeup:
+0098 6848c913 fetcht 1 ,mem_whee_a_data_gpio 
+0099 20406042 call gpio_clr_wake 
+009a 6848c914 fetcht 1 ,mem_whee_b_data_gpio 
+009b 20406042 call gpio_clr_wake 
+009c 6fe0c913 fetch 1 ,mem_whee_a_data_gpio 
+009d d8400080 arg gpcfg_pulldown ,temp 
+009e 20406093 call gpio_config_function_int 
+009f 6fe0c914 fetch 1 ,mem_whee_b_data_gpio 
+00a0 d8400080 arg gpcfg_pulldown ,temp 
+00a1 20206093 branch gpio_config_function_int 
+
+p_mouse_wheel_set_wakeup:
+00a2 6fe0c913 fetch 1 ,mem_whee_a_data_gpio 
+00a3 d8400040 arg gpcfg_pullup ,temp 
+00a4 20406093 call gpio_config_function_int 
+00a5 6fe0c914 fetch 1 ,mem_whee_b_data_gpio 
+00a6 d8400040 arg gpcfg_pullup ,temp 
+00a7 20206093 branch gpio_config_function_int 
 
 p_mouse_lpm_before_common:
-007a 20403f88 call mouse_wheel_check 
-007b 6fe0c91f fetch 1 ,mem_mouse_sensor_sclk_gpio 
-007c d840003f arg gpcfg_output_high ,temp 
-007d 20406093 call gpio_config_function_int 
-007e 6fe080a1 fetch 1 ,mem_gpio_wakeup_low + 2 
-007f 793ffe03 set0 3 ,pdata 
-0080 67e080a1 store 1 ,mem_gpio_wakeup_low + 2 
-0081 6848c920 fetcht 1 ,mem_mouse_sensor_sdio_gpio 
-0082 20406042 call gpio_clr_wake 
-0083 20405b04 call twspi_disable 
-0084 6848c918 fetcht 1 ,mem_lbutton_gpio 
-0085 20406036 call gpio_set_wake 
-0086 6848c919 fetcht 1 ,mem_rbutton_gpio 
-0087 20406036 call gpio_set_wake 
-0088 6848c91a fetcht 1 ,mem_mbutton_gpio 
-0089 20406036 call gpio_set_wake 
-008a 6848c90d fetcht 1 ,mem_bk_button_gpio 
-008b 20406036 call gpio_set_wake 
-008c 6848c90e fetcht 1 ,mem_fw_button_gpio 
-008d 20406036 call gpio_set_wake 
-008e 6848c90f fetcht 1 ,mem_dpi_button_gpio 
-008f 20206036 branch gpio_set_wake 
+00a8 20403f88 call mouse_wheel_check 
+00a9 6fe0c91f fetch 1 ,mem_mouse_sensor_sclk_gpio 
+00aa d840003f arg gpcfg_output_high ,temp 
+00ab 20406093 call gpio_config_function_int 
+00ac 6fe080a1 fetch 1 ,mem_gpio_wakeup_low + 2 
+00ad 793ffe03 set0 3 ,pdata 
+00ae 67e080a1 store 1 ,mem_gpio_wakeup_low + 2 
+00af 6848c920 fetcht 1 ,mem_mouse_sensor_sdio_gpio 
+00b0 20406042 call gpio_clr_wake 
+00b1 20405b04 call twspi_disable 
+00b2 6848c918 fetcht 1 ,mem_lbutton_gpio 
+00b3 20406036 call gpio_set_wake 
+00b4 6848c919 fetcht 1 ,mem_rbutton_gpio 
+00b5 20406036 call gpio_set_wake 
+00b6 6848c91a fetcht 1 ,mem_mbutton_gpio 
+00b7 20406036 call gpio_set_wake 
+00b8 6848c90d fetcht 1 ,mem_bk_button_gpio 
+00b9 20406036 call gpio_set_wake 
+00ba 6848c90e fetcht 1 ,mem_fw_button_gpio 
+00bb 20406036 call gpio_set_wake 
+00bc 6848c90f fetcht 1 ,mem_dpi_button_gpio 
+00bd 20206036 branch gpio_set_wake 
 
 p_mouse_24g_hibernate_set:
-0090 7048a500 jam 0 ,mem_24g_attempt_fail_flag 
-0091 20402652 call g24_transmit_next_packet 
-0092 5fffffff setarg -1 
-0093 67e2485c store 4 ,mem_24g_enter_hibernate 
-0094 58000000 setarg 0 
-0095 67e3c8d0 store 7 ,mem_mouse_key 
-0096 704be101 jam 1 ,mem_sensor_shutdown_flag 
-0097 2040423c call mouse_sensor_powerdown 
-0098 2020009f branch p_g24_long_sleep 
+00be 7048a500 jam 0 ,mem_24g_attempt_fail_flag 
+00bf 20402652 call g24_transmit_next_packet 
+00c0 5fffffff setarg -1 
+00c1 67e2485c store 4 ,mem_24g_enter_hibernate 
+00c2 58000000 setarg 0 
+00c3 67e3c8d0 store 7 ,mem_mouse_key 
+00c4 704be101 jam 1 ,mem_sensor_shutdown_flag 
+00c5 2040423c call mouse_sensor_powerdown 
+00c6 202000cd branch p_g24_long_sleep 
 
 p_g24_nodata_transmit:
-0099 6fe0c8a7 fetch 1 ,mem_24g_abort_pac 
-009a 205a26a7 call g24_send_abort_packet ,blank 
-009b 6fe0c8bd fetch 1 ,mem_24g_transmit_by_interrupt 
-009c c1008000 rtneq g24_tx_timer_int_enable 
-009d 2040269f call g24_search_receiver 
-009e 2020009f branch p_g24_long_sleep 
+00c7 6fe0c8a7 fetch 1 ,mem_24g_abort_pac 
+00c8 205a26a7 call g24_send_abort_packet ,blank 
+00c9 6fe0c8bd fetch 1 ,mem_24g_transmit_by_interrupt 
+00ca c1008000 rtneq g24_tx_timer_int_enable 
+00cb 2040269f call g24_search_receiver 
+00cc 202000cd branch p_g24_long_sleep 
 
 p_g24_long_sleep:
-009f 204026bb call g24_lpm_wait 
-00a0 24740000 nrtn user 
-00a1 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
-00a2 245a3e33 ncall mouse_setgpio_hibernate ,blank 
-00a3 6fe2485c fetch 4 ,mem_24g_enter_hibernate 
-00a4 20407daa call clk2lpo 
-00a5 604a4160 storet 4 ,mem_sleep_counter 
-00a6 20201497 branch lpm_sleep 
+00cd 204026bb call g24_lpm_wait 
+00ce 24740000 nrtn user 
+00cf 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+00d0 245a3e33 ncall mouse_setgpio_hibernate ,blank 
+00d1 6fe2485c fetch 4 ,mem_24g_enter_hibernate 
+00d2 20407daa call clk2lpo 
+00d3 604a4160 storet 4 ,mem_sleep_counter 
+00d4 20201497 branch lpm_sleep 
 
 p_mouse_priority_bb_event:
-00a7 1a627e00 copy regc ,pdata 
-00a8 c01e00ae beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
-00a9 c01c80ac beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
-00aa c01d00b5 beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
-00ab 20204336 branch mouse_priority_bb_event + 2 
+00d5 1a627e00 copy regc ,pdata 
+00d6 c01e00dc beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
+00d7 c01c80da beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
+00d8 c01d00e3 beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
+00d9 20204336 branch mouse_priority_bb_event + 2 
 
 p_mouse_24g_pairing_complete:
-00ac 20404544 call mouse_no_data_timer_init 
-00ad 20204857 branch mouse_24g_pairing_complete 
+00da 20404544 call mouse_no_data_timer_init 
+00db 20204857 branch mouse_24g_pairing_complete 
 
 p_mouse_24g_attempt_success:
-00ae 6fe2483c fetch 4 ,mem_24g_addr 
-00af 67e24891 store 4 ,mem_24g_receiver_addr 
-00b0 67e24993 store 4 ,mem_mouse_24g_addr 
-00b1 2040257e call g24_ch_syncword_crc8_init 
-00b2 204048c6 call mouse_device_poweron_timer_init 
-00b3 20404544 call mouse_no_data_timer_init 
-00b4 2020484e branch mouse_24g_attempt_success 
+00dc 6fe2483c fetch 4 ,mem_24g_addr 
+00dd 67e24891 store 4 ,mem_24g_receiver_addr 
+00de 67e24993 store 4 ,mem_mouse_24g_addr 
+00df 2040257e call g24_ch_syncword_crc8_init 
+00e0 204048c6 call mouse_device_poweron_timer_init 
+00e1 20404544 call mouse_no_data_timer_init 
+00e2 2020484e branch mouse_24g_attempt_success 
 
 p_mouse_24g_attempt_fail:
-00b5 6fe0c8a5 fetch 1 ,mem_24g_attempt_fail_flag 
-00b6 243a00c3 nbranch p_mouse_24g_enter_hibernate ,blank 
-00b7 6fe0c88b fetch 1 ,mem_24g_reconn_type 
-00b8 c00100ba beq fast_conn_and_3_0_addr ,p_mouse_24g_fast_conn_attempt_fail 
-00b9 20204837 branch mouse_24g_attempt_fail + 4 
+00e3 6fe0c8a5 fetch 1 ,mem_24g_attempt_fail_flag 
+00e4 243a0100 nbranch p_mouse_24g_enter_hibernate ,blank 
+00e5 6fe0c88b fetch 1 ,mem_24g_reconn_type 
+00e6 c00100ea beq fast_conn_and_3_0_addr ,p_mouse_24g_fast_conn_attempt_fail 
+00e7 c00200f3 beq pair_and_3_0_addr ,p_mouse_24g_auto_pair_attempt_fail 
+00e8 c00180f8 beq receiver_and_3_0_addr ,p_mouse_reconn_dongle_attempt_fail 
+00e9 20204839 branch mouse_24g_attempt_fail_enter_hibernate 
 
 p_mouse_24g_fast_conn_attempt_fail:
-00ba 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-00bb c297c811 bbit1 mouse_enable_24g_first_auto_pairing ,mouse_24g_start_auto_pair 
-00bc c2984811 bbit1 mouse_enable_auto_24g_paring ,mouse_24g_start_auto_pair 
-00bd c31d4806 bbit0 mouse_enable_24g_auto_pair_nerver_been_paired ,mouse_24g_reconn_dongle_start 
-00be 6fe24993 fetch 4 ,mem_mouse_24g_addr 
-00bf 684a4974 fetcht 4 ,mem_mouse_compare_addr_ff 
-00c0 98467c00 isub temp ,null 
-00c1 2022c827 branch mouse_24g_start_pair_mode ,zero 
-00c2 20204806 branch mouse_24g_reconn_dongle_start 
+00ea 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+00eb c297c811 bbit1 mouse_enable_24g_first_auto_pairing ,mouse_24g_start_auto_pair 
+00ec c2984811 bbit1 mouse_enable_auto_24g_paring ,mouse_24g_start_auto_pair 
+00ed c31d4806 bbit0 mouse_enable_24g_auto_pair_nerver_been_paired ,mouse_24g_reconn_dongle_start 
+00ee 6fe24993 fetch 4 ,mem_mouse_24g_addr 
+00ef 684a4974 fetcht 4 ,mem_mouse_compare_addr_ff 
+00f0 98467c00 isub temp ,null 
+00f1 2022c827 branch mouse_24g_start_pair_mode ,zero 
+00f2 20204806 branch mouse_24g_reconn_dongle_start 
+
+p_mouse_24g_auto_pair_attempt_fail:
+00f3 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+00f4 c31780fd bbit0 mouse_enable_24g_first_auto_pairing ,p_mouse_24g_attempt_fail_enter_hibernate 
+00f5 6fe0cbb4 fetch 1 ,mem_device_number 
+00f6 c00080fd beq 1 ,p_mouse_24g_attempt_fail_enter_hibernate 
+00f7 2020481a branch mouse_24g_first_bluetooth_reconnect 
+
+p_mouse_reconn_dongle_attempt_fail:
+00f8 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+00f9 c31780fd bbit0 mouse_enable_24g_first_auto_pairing ,p_mouse_24g_attempt_fail_enter_hibernate 
+00fa c28980fd bbit1 mouse_enable_eeprom ,p_mouse_24g_attempt_fail_enter_hibernate 
+00fb c28900fd bbit1 mouse_enable_flash ,p_mouse_24g_attempt_fail_enter_hibernate 
+00fc 20204812 branch mouse_24g_start_auto_pair + 1 
+
+p_mouse_24g_attempt_fail_enter_hibernate:
+00fd 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+00fe c31e4839 bbit0 mouse_enable_wheel_wake_up_cancel ,mouse_24g_attempt_fail_enter_hibernate 
+00ff 202000be branch p_mouse_24g_hibernate_set 
 
 p_mouse_24g_enter_hibernate:
-00c3 793f8026 set0 mark_24g ,mark 
-00c4 704bf300 jam 0 ,mem_rgb_led_on_continue_1min_timeout_flag 
-00c5 2020017d branch p_mouse_rgb_led_off_time_init 
+0100 793f8026 set0 mark_24g ,mark 
+0101 704bf300 jam 0 ,mem_rgb_led_on_continue_1min_timeout_flag 
+0102 202001ba branch p_mouse_rgb_led_off_time_init 
 
 p_g24_pair_dispatch:
-00c6 70488b00 jam default_24g_device ,mem_24g_reconn_type 
-00c7 20202341 branch g24_pair_dispatch + 1 
+0103 70488b00 jam default_24g_device ,mem_24g_reconn_type 
+0104 20202341 branch g24_pair_dispatch + 1 
 
 p_mouse_start_work:
-00c8 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-00c9 c297c80a bbit1 mouse_enable_24g_first_auto_pairing ,mouse_24g_first_start_auto_pair_mode 
-00ca 6fe0c938 fetch 1 ,mem_device_flag 
-00cb c00000cd beq mode_24g_device ,p_mouse_24g_start_mode 
-00cc 20203d57 branch mouse_start_work + 5 
+0105 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0106 c297c80a bbit1 mouse_enable_24g_first_auto_pairing ,mouse_24g_first_start_auto_pair_mode 
+0107 6fe0c938 fetch 1 ,mem_device_flag 
+0108 c000010a beq mode_24g_device ,p_mouse_24g_start_mode 
+0109 20203d57 branch mouse_start_work + 5 
 
 p_mouse_24g_start_mode:
-00cd 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-00ce c308c803 bbit0 mouse_enable_24g ,mouse_24g_mode_setup_error 
-00cf 20403d65 call mouse_wakeup_from_power_check 
-00d0 20344806 branch mouse_24g_reconn_dongle_start ,user 
-00d1 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-00d2 c298480c bbit1 mouse_enable_auto_24g_paring ,mouse_24g_reconn_general_dongle 
-00d3 c318c80c bbit0 mouse_enable_24g_power_on_pairing ,mouse_24g_reconn_general_dongle 
-00d4 20404110 call mouse_key_check_once 
-00d5 1a217e07 and rega ,0x07 ,pdata 
-00d6 202047ff branch mouse_24g_start_mode + 9 
+010a 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+010b c308c803 bbit0 mouse_enable_24g ,mouse_24g_mode_setup_error 
+010c 20403d65 call mouse_wakeup_from_power_check 
+010d 20344806 branch mouse_24g_reconn_dongle_start ,user 
+010e 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+010f c298480c bbit1 mouse_enable_auto_24g_paring ,mouse_24g_reconn_general_dongle 
+0110 c318c80c bbit0 mouse_enable_24g_power_on_pairing ,mouse_24g_reconn_general_dongle 
+0111 20404110 call mouse_key_check_once 
+0112 1a217e07 and rega ,0x07 ,pdata 
+0113 202047ff branch mouse_24g_start_mode + 9 
 
 p_mouse_motion:
-00d7 78547c00 disable user 
-00d8 58000000 setarg 0 
-00d9 67e348d1 store 6 ,mem_mouse_x 
-00da 20404240 call mouse_check_sensor_data 
-00db 2040408e call mouse_dpi_config 
-00dc 20403f7e call mouse_zwheel 
-00dd 20403f83 call mouse_t_zwheel 
-00de 20400101 call p_mouse_key 
-00df 6fe0c8d0 fetch 1 ,mem_mouse_key 
-00e0 1fe17e1f and_into 0x1f ,pdata 
-00e1 67e0c8d0 store 1 ,mem_mouse_key 
-00e2 243400e6 nbranch p_mouse_motion_nodata ,user 
-00e3 2040471a call mouse_drawing_optima 
-00e4 204000f1 call p_mouse_rgb_led_on_check 
-00e5 20204544 branch mouse_no_data_timer_init 
+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 20403f7e call mouse_zwheel 
+011a 20403f83 call mouse_t_zwheel 
+011b 2040013e call p_mouse_key 
+011c 6fe0c8d0 fetch 1 ,mem_mouse_key 
+011d 1fe17e1f and_into 0x1f ,pdata 
+011e 67e0c8d0 store 1 ,mem_mouse_key 
+011f 24340123 nbranch p_mouse_motion_nodata ,user 
+0120 2040471a call mouse_drawing_optima 
+0121 2040012e call p_mouse_rgb_led_on_check 
+0122 20204544 branch mouse_no_data_timer_init 
 
 p_mouse_motion_nodata:
-00e6 20404728 call mouse_drawing_optima_init 
-00e7 6fe14bef fetch 2 ,mem_rgb_led_off_check_count 
-00e8 1fe0fe01 increase 1 ,pdata 
-00e9 67e14bef store 2 ,mem_rgb_led_off_check_count 
-00ea d8400258 arg 0x0258 ,temp 
-00eb 98467c00 isub temp ,null 
-00ec 24628000 nrtn zero 
-00ed 58000000 setarg 0 
-00ee 67e14bef store 2 ,mem_rgb_led_off_check_count 
-00ef 704bea00 jam off ,mem_rgb_led_on_enable 
-00f0 20600000 rtn 
+0123 20404728 call mouse_drawing_optima_init 
+0124 6fe14bef fetch 2 ,mem_rgb_led_off_check_count 
+0125 1fe0fe01 increase 1 ,pdata 
+0126 67e14bef store 2 ,mem_rgb_led_off_check_count 
+0127 d8400258 arg 0x0258 ,temp 
+0128 98467c00 isub temp ,null 
+0129 24628000 nrtn zero 
+012a 58000000 setarg 0 
+012b 67e14bef store 2 ,mem_rgb_led_off_check_count 
+012c 704bea00 jam off ,mem_rgb_led_on_enable 
+012d 20600000 rtn 
 
 p_mouse_rgb_led_on_check:
-00f1 6fe14bf1 fetch 2 ,mem_rgb_led_on_check_count 
-00f2 1fe0fe01 increase 1 ,pdata 
-00f3 67e14bf1 store 2 ,mem_rgb_led_on_check_count 
-00f4 d8400258 arg 0x0258 ,temp 
-00f5 98467c00 isub temp ,null 
-00f6 24628000 nrtn zero 
-00f7 58000000 setarg 0 
-00f8 67e14bf1 store 2 ,mem_rgb_led_on_check_count 
-00f9 6fe0cbea fetch 1 ,mem_rgb_led_on_enable 
-00fa c1008000 rtneq on 
-00fb 704bea01 jam on ,mem_rgb_led_on_enable 
-00fc 704be900 jam off ,mem_rgb_led_off_enable 
-00fd 704bec0b jam 11 ,mem_rgb_led_on_enable_timer 
+012e 6fe14bf1 fetch 2 ,mem_rgb_led_on_check_count 
+012f 1fe0fe01 increase 1 ,pdata 
+0130 67e14bf1 store 2 ,mem_rgb_led_on_check_count 
+0131 d8400258 arg 0x0258 ,temp 
+0132 98467c00 isub temp ,null 
+0133 24628000 nrtn zero 
+0134 58000000 setarg 0 
+0135 67e14bf1 store 2 ,mem_rgb_led_on_check_count 
+0136 6fe0cbea fetch 1 ,mem_rgb_led_on_enable 
+0137 c1008000 rtneq on 
+0138 704bea01 jam on ,mem_rgb_led_on_enable 
+0139 704be900 jam off ,mem_rgb_led_off_enable 
+013a 704bec0b jam 11 ,mem_rgb_led_on_enable_timer 
 
 p_mouse_rgb_led_on_timer_init:
-00fe 58000000 setarg 0 
-00ff 67e14bed store 2 ,mem_rgb_led_on_timer 
-0100 20600000 rtn 
+013b 58000000 setarg 0 
+013c 67e14bed store 2 ,mem_rgb_led_on_timer 
+013d 20600000 rtn 
 
 p_mouse_key:
-0101 20404115 call mouse_check_key_gpio 
-0102 2040010c call p_mouse_check_firekey_gpio 
-0103 1a227e00 copy rega ,pdata 
-0104 202040dd branch mouse_key + 1 
+013e 20404115 call mouse_check_key_gpio 
+013f 20400149 call p_mouse_check_firekey_gpio 
+0140 1a227e00 copy rega ,pdata 
+0141 202040dd branch mouse_key + 1 
 
 p_mouse_check_key_gpio:
-0105 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
-0106 245a4121 ncall mouse_check_key_gpio_once ,blank 
-0107 da200000 arg 0 ,rega 
-0108 20404124 call mouse_check_lkey_gpio 
-0109 2040412a call mouse_check_rkey_gpio 
-010a 20404130 call mouse_check_mkey_gpio 
-010b 2020411c branch mouse_check_key_gpio_next 
+0142 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+0143 245a4121 ncall mouse_check_key_gpio_once ,blank 
+0144 da200000 arg 0 ,rega 
+0145 20404124 call mouse_check_lkey_gpio 
+0146 2040412a call mouse_check_rkey_gpio 
+0147 20404130 call mouse_check_mkey_gpio 
+0148 2020411c branch mouse_check_key_gpio_next 
 
 p_mouse_check_firekey_gpio:
-010c 1a227e00 copy rega ,pdata 
-010d c3800000 rtnbit1 0 
-010e 6848cbe2 fetcht 1 ,mem_firebutton_gpio 
-010f 20406050 call gpio_config_input 
-0110 6848cbe2 fetcht 1 ,mem_firebutton_gpio 
-0111 20406059 call gpio_get_bit 
-0112 20208118 branch p_fire_key_press ,true 
-0113 6fe0cbe3 fetch 1 ,mem_fire_key_status 
-0114 243a0116 nbranch p_fire_key_process ,blank 
-0115 20600000 rtn 
+0149 1a227e00 copy rega ,pdata 
+014a c3800000 rtnbit1 0 
+014b 6848cbe2 fetcht 1 ,mem_firebutton_gpio 
+014c 20406050 call gpio_config_input 
+014d 6848cbe2 fetcht 1 ,mem_firebutton_gpio 
+014e 20406059 call gpio_get_bit 
+014f 20208155 branch p_fire_key_press ,true 
+0150 6fe0cbe3 fetch 1 ,mem_fire_key_status 
+0151 243a0153 nbranch p_fire_key_process ,blank 
+0152 20600000 rtn 
 
 p_fire_key_process:
-0116 c0020132 beq 4 ,p_fire_key_process_end 
-0117 20200118 branch p_fire_key_press 
+0153 c002016f beq 4 ,p_fire_key_process_end 
+0154 20200155 branch p_fire_key_press 
 
 p_fire_key_press:
-0118 20400135 call p_firekey_clkn_bt_timer_check 
-0119 6fe24be4 fetch 4 ,mem_fire_key_delay 
-011a d8400080 arg 0x80 ,temp 
-011b 98408400 iadd temp ,temp 
-011c 1c427e00 copy clkn_bt ,pdata 
-011d 98467c00 isub temp ,null 
-011e 24610000 nrtn positive 
-011f 67e24be4 store 4 ,mem_fire_key_delay 
-0120 6fe0cbe3 fetch 1 ,mem_fire_key_status 
-0121 c0000126 beq 0 ,p_fire_key_process_start 
-0122 c0008129 beq 1 ,p_fire_key_process_release1 
-0123 c001012c beq 2 ,p_fire_key_process_start2 
-0124 c001812f beq 3 ,p_fire_key_process_release2 
-0125 20600000 rtn 
+0155 20400172 call p_firekey_clkn_bt_timer_check 
+0156 6fe24be4 fetch 4 ,mem_fire_key_delay 
+0157 d8400080 arg 0x80 ,temp 
+0158 98408400 iadd temp ,temp 
+0159 1c427e00 copy clkn_bt ,pdata 
+015a 98467c00 isub temp ,null 
+015b 24610000 nrtn positive 
+015c 67e24be4 store 4 ,mem_fire_key_delay 
+015d 6fe0cbe3 fetch 1 ,mem_fire_key_status 
+015e c0000163 beq 0 ,p_fire_key_process_start 
+015f c0008166 beq 1 ,p_fire_key_process_release1 
+0160 c0010169 beq 2 ,p_fire_key_process_start2 
+0161 c001816c beq 3 ,p_fire_key_process_release2 
+0162 20600000 rtn 
 
 p_fire_key_process_start:
-0126 704be301 jam 1 ,mem_fire_key_status 
-0127 79202200 set1 0 ,rega 
-0128 20600000 rtn 
+0163 704be301 jam 1 ,mem_fire_key_status 
+0164 79202200 set1 0 ,rega 
+0165 20600000 rtn 
 
 p_fire_key_process_release1:
-0129 704be302 jam 2 ,mem_fire_key_status 
-012a 793fa200 set0 0 ,rega 
-012b 20600000 rtn 
+0166 704be302 jam 2 ,mem_fire_key_status 
+0167 793fa200 set0 0 ,rega 
+0168 20600000 rtn 
 
 p_fire_key_process_start2:
-012c 704be303 jam 3 ,mem_fire_key_status 
-012d 79202200 set1 0 ,rega 
-012e 20600000 rtn 
+0169 704be303 jam 3 ,mem_fire_key_status 
+016a 79202200 set1 0 ,rega 
+016b 20600000 rtn 
 
 p_fire_key_process_release2:
-012f 704be304 jam 4 ,mem_fire_key_status 
-0130 793fa200 set0 0 ,rega 
-0131 20600000 rtn 
+016c 704be304 jam 4 ,mem_fire_key_status 
+016d 793fa200 set0 0 ,rega 
+016e 20600000 rtn 
 
 p_fire_key_process_end:
-0132 704be300 jam 0 ,mem_fire_key_status 
-0133 793fa200 set0 0 ,rega 
-0134 20600000 rtn 
+016f 704be300 jam 0 ,mem_fire_key_status 
+0170 793fa200 set0 0 ,rega 
+0171 20600000 rtn 
 
 p_firekey_clkn_bt_timer_check:
-0135 684a4be4 fetcht 4 ,mem_fire_key_delay 
-0136 1c427e00 copy clkn_bt ,pdata 
-0137 98467c00 isub temp ,null 
-0138 2441013a ncall p_firekey_clkn_bt_timer_timeout ,positive 
-0139 20600000 rtn 
+0172 684a4be4 fetcht 4 ,mem_fire_key_delay 
+0173 1c427e00 copy clkn_bt ,pdata 
+0174 98467c00 isub temp ,null 
+0175 24410177 ncall p_firekey_clkn_bt_timer_timeout ,positive 
+0176 20600000 rtn 
 
 p_firekey_clkn_bt_timer_timeout:
-013a 58000000 setarg 0 
-013b 67e24be4 store 4 ,mem_fire_key_delay 
-013c 20600000 rtn 
+0177 58000000 setarg 0 
+0178 67e24be4 store 4 ,mem_fire_key_delay 
+0179 20600000 rtn 
 
 p_mouse_seting_dpi:
-013d 2040408f call mouse_setting_dpi_4_level 
-013e 2040014c call p_mouse_dpi_led_blink_delay 
+017a 2040408f call mouse_setting_dpi_4_level 
+017b 20400189 call p_mouse_dpi_led_blink_delay 
 
 p_mouse_seting_sensor_type:
-013f 6fe0c927 fetch 1 ,mem_config_sensor_type 
-0140 c0018147 beq p3212 ,p_mouse_seting_3212_dpi 
-0141 c005c0cf beq ka8g2 ,mouse_seting_ka8g2_dpi 
-0142 6fe0c992 fetch 1 ,mem_mouse_dpi 
-0143 c00040a4 beq mouse_dpi_level1 ,mouse_set_cpi2 
-0144 c000c0a2 beq mouse_dpi_level2 ,mouse_set_cpi0 
-0145 c00140a0 beq mouse_dpi_level3 ,mouse_set_cpi1 
-0146 202040a2 branch mouse_set_cpi0 
+017c 6fe0c927 fetch 1 ,mem_config_sensor_type 
+017d c0018184 beq p3212 ,p_mouse_seting_3212_dpi 
+017e c005c0cf beq ka8g2 ,mouse_seting_ka8g2_dpi 
+017f 6fe0c992 fetch 1 ,mem_mouse_dpi 
+0180 c00040a4 beq mouse_dpi_level1 ,mouse_set_cpi2 
+0181 c000c0a2 beq mouse_dpi_level2 ,mouse_set_cpi0 
+0182 c00140a0 beq mouse_dpi_level3 ,mouse_set_cpi1 
+0183 202040a2 branch mouse_set_cpi0 
 
 p_mouse_seting_3212_dpi:
-0147 6fe0c992 fetch 1 ,mem_mouse_dpi 
-0148 c00040c6 beq mouse_dpi_level1 ,mouse_set_p3212_cpi3 
-0149 c000c0c0 beq mouse_dpi_level2 ,mouse_set_p3212_cpi1 
-014a c00140c4 beq mouse_dpi_level3 ,mouse_set_p3212_cpi2 
-014b 202040c0 branch mouse_set_p3212_cpi1 
+0184 6fe0c992 fetch 1 ,mem_mouse_dpi 
+0185 c00040c6 beq mouse_dpi_level1 ,mouse_set_p3212_cpi3 
+0186 c000c0c0 beq mouse_dpi_level2 ,mouse_set_p3212_cpi1 
+0187 c00140c4 beq mouse_dpi_level3 ,mouse_set_p3212_cpi2 
+0188 202040c0 branch mouse_set_p3212_cpi1 
 
 p_mouse_dpi_led_blink_delay:
-014c 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
-014d c17f8000 rtneq gpio_disable 
-014e 6fe14ac2 fetch 2 ,mem_mouse_discovery_timer 
-014f 247a0000 nrtn blank 
-0150 6fe14883 fetch 2 ,mem_24g_pair_timeout 
-0151 247a0000 nrtn blank 
-0152 6fe14887 fetch 2 ,mem_24g_reconn_timeout 
-0153 247a0000 nrtn blank 
-0154 6fe0cba7 fetch 1 ,mem_mouse_device_poweron_timer_count 
-0155 247a0000 nrtn blank 
-0156 6fe0cbc1 fetch 1 ,mem_mouse_dpi_led_delay_count_init 
-0157 203a01aa branch p_mouse_dpi_led_blink_init ,blank 
-0158 67e0cba8 store 1 ,mem_mouse_dpi_led_delay_count 
-0159 20600000 rtn 
+0189 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
+018a c17f8000 rtneq gpio_disable 
+018b 6fe14ac2 fetch 2 ,mem_mouse_discovery_timer 
+018c 247a0000 nrtn blank 
+018d 6fe14883 fetch 2 ,mem_24g_pair_timeout 
+018e 247a0000 nrtn blank 
+018f 6fe14887 fetch 2 ,mem_24g_reconn_timeout 
+0190 247a0000 nrtn blank 
+0191 6fe0cba7 fetch 1 ,mem_mouse_device_poweron_timer_count 
+0192 247a0000 nrtn blank 
+0193 6fe0cbc1 fetch 1 ,mem_mouse_dpi_led_delay_count_init 
+0194 203a01e7 branch p_mouse_dpi_led_blink_init ,blank 
+0195 67e0cba8 store 1 ,mem_mouse_dpi_led_delay_count 
+0196 20600000 rtn 
 
 p_mouse_bb_event_timer:
-015a 20403e9b call mouse_adc_read 
-015b 20404956 call mouse_low_voltage_led_timer 
-015c 2040232b call g24_pair_timeout_timer 
-015d 20402556 call g24_reconn_timeout_timer 
-015e 204047cd call mouse_24g_long_sleep_param_update_timer 
-015f 204048be call mouse_device_poweron_timer 
-0160 204001a7 call p_mouse_dpi_led_blink_delay_timer 
-0161 20400173 call p_mouse_rgb_led_off_enable_timer 
-0162 20400183 call p_mouse_rgb_led_on_enable_timer 
-0163 20400191 call p_mouse_rgb_led_on_timer 
-0164 2040407c call mouse_dpi_key_check_long_press 
-0165 204044cc call mouse_bt_discovery_check 
-0166 204044dc call mouse_commbination_key_process 
-0167 204044ff call mouse_check_discovery_timeout_timer 
-0168 20404504 call mouse_check_direct_timeout_timer 
-0169 20404512 call mouse_le_enable_att_list_timer 
-016a 2040451f call mouse_le_battery_updata_timer 
-016b 20404515 call mouse_le_send_smp_security_request_timer 
-016c 2040452a call mouse_check_hid_handshake_timer 
-016d 2040452d call mouse_bt_check_sniff_req_timeout_timer 
-016e 20404532 call mouse_check_reconnect_delay_long_sleep 
-016f 20404535 call mouse_current_mult_update_timer 
-0170 20404022 call mouse_wheel_trigger_timer 
-0171 20404547 call mouse_store_information_delay_timer 
-0172 2020019f branch p_mouse_check_no_data_timeout_timer 
+0197 20403e9b call mouse_adc_read 
+0198 20404956 call mouse_low_voltage_led_timer 
+0199 2040232b call g24_pair_timeout_timer 
+019a 20402556 call g24_reconn_timeout_timer 
+019b 204047cd call mouse_24g_long_sleep_param_update_timer 
+019c 204048be call mouse_device_poweron_timer 
+019d 204001e4 call p_mouse_dpi_led_blink_delay_timer 
+019e 204001b0 call p_mouse_rgb_led_off_enable_timer 
+019f 204001c0 call p_mouse_rgb_led_on_enable_timer 
+01a0 204001ce call p_mouse_rgb_led_on_timer 
+01a1 2040407c call mouse_dpi_key_check_long_press 
+01a2 204044cc call mouse_bt_discovery_check 
+01a3 204044dc call mouse_commbination_key_process 
+01a4 204044ff call mouse_check_discovery_timeout_timer 
+01a5 20404504 call mouse_check_direct_timeout_timer 
+01a6 20404512 call mouse_le_enable_att_list_timer 
+01a7 2040451f call mouse_le_battery_updata_timer 
+01a8 20404515 call mouse_le_send_smp_security_request_timer 
+01a9 2040452a call mouse_check_hid_handshake_timer 
+01aa 2040452d call mouse_bt_check_sniff_req_timeout_timer 
+01ab 20404532 call mouse_check_reconnect_delay_long_sleep 
+01ac 20404535 call mouse_current_mult_update_timer 
+01ad 20404022 call mouse_wheel_trigger_timer 
+01ae 20404547 call mouse_store_information_delay_timer 
+01af 202001dc branch p_mouse_check_no_data_timeout_timer 
 
 p_mouse_rgb_led_off_enable_timer:
-0173 6fe0cbe9 fetch 1 ,mem_rgb_led_off_enable 
-0174 207a0000 rtn blank 
-0175 da604beb arg mem_rgb_led_off_enable_timer ,regc 
-0176 da400178 arg p_mouse_rgb_led_off_timeout ,regb 
-0177 2020318a branch timer_single_step 
+01b0 6fe0cbe9 fetch 1 ,mem_rgb_led_off_enable 
+01b1 207a0000 rtn blank 
+01b2 da604beb arg mem_rgb_led_off_enable_timer ,regc 
+01b3 da4001b5 arg p_mouse_rgb_led_off_timeout ,regb 
+01b4 2020318a branch timer_single_step 
 
 p_mouse_rgb_led_off_timeout:
-0178 2040018c call p_mouse_mbutton_function_enable 
-0179 6fe0cbf3 fetch 1 ,mem_rgb_led_on_continue_1min_timeout_flag 
-017a 247a0000 nrtn blank 
-017b 704bf300 jam 0 ,mem_rgb_led_on_continue_1min_timeout_flag 
-017c 202047e1 branch mouse_24g_hibernate_set 
+01b5 204001c9 call p_mouse_mbutton_function_enable 
+01b6 6fe0cbf3 fetch 1 ,mem_rgb_led_on_continue_1min_timeout_flag 
+01b7 247a0000 nrtn blank 
+01b8 704bf300 jam 0 ,mem_rgb_led_on_continue_1min_timeout_flag 
+01b9 202047e1 branch mouse_24g_hibernate_set 
 
 p_mouse_rgb_led_off_time_init:
-017d 704beb1e jam 0x1e ,mem_rgb_led_off_enable_timer 
-017e 704be901 jam on ,mem_rgb_led_off_enable 
+01ba 704beb1e jam 0x1e ,mem_rgb_led_off_enable_timer 
+01bb 704be901 jam on ,mem_rgb_led_off_enable 
 
 p_mouse_mbutton_function_disable:
-017f 6848cbf9 fetcht 1 ,mem_mouse_rgb_ctrl_gpio 
-0180 20406069 call gpio_config_output 
-0181 6848cbf9 fetcht 1 ,mem_mouse_rgb_ctrl_gpio 
-0182 20206069 branch gpio_out_active 
+01bc 6848cbf9 fetcht 1 ,mem_mouse_rgb_ctrl_gpio 
+01bd 20406069 call gpio_config_output 
+01be 6848cbf9 fetcht 1 ,mem_mouse_rgb_ctrl_gpio 
+01bf 20206069 branch gpio_out_active 
 
 p_mouse_rgb_led_on_enable_timer:
-0183 6fe0cbe9 fetch 1 ,mem_rgb_led_off_enable 
-0184 247a0000 nrtn blank 
-0185 6fe0cbec fetch 1 ,mem_rgb_led_on_enable_timer 
-0186 207a0000 rtn blank 
-0187 c000818b beq 1 ,p_mouse_rgb_led_enable_timeout 
-0188 1fe0ffff increase -1 ,pdata 
-0189 67e0cbec store 1 ,mem_rgb_led_on_enable_timer 
-018a 2020017f branch p_mouse_mbutton_function_disable 
+01c0 6fe0cbe9 fetch 1 ,mem_rgb_led_off_enable 
+01c1 247a0000 nrtn blank 
+01c2 6fe0cbec fetch 1 ,mem_rgb_led_on_enable_timer 
+01c3 207a0000 rtn blank 
+01c4 c00081c8 beq 1 ,p_mouse_rgb_led_enable_timeout 
+01c5 1fe0ffff increase -1 ,pdata 
+01c6 67e0cbec store 1 ,mem_rgb_led_on_enable_timer 
+01c7 202001bc branch p_mouse_mbutton_function_disable 
 
 p_mouse_rgb_led_enable_timeout:
-018b 704bec00 jam 0 ,mem_rgb_led_on_enable_timer 
+01c8 704bec00 jam 0 ,mem_rgb_led_on_enable_timer 
 
 p_mouse_mbutton_function_enable:
-018c 6848cbf9 fetcht 1 ,mem_mouse_rgb_ctrl_gpio 
-018d 20406065 call gpio_out_inactive 
-018e 20002ee0 nop 12000 
-018f 6848cbf9 fetcht 1 ,mem_mouse_rgb_ctrl_gpio 
-0190 20203f56 branch mouse_gpio_config_input_pu 
+01c9 6848cbf9 fetcht 1 ,mem_mouse_rgb_ctrl_gpio 
+01ca 20406065 call gpio_out_inactive 
+01cb 20002ee0 nop 12000 
+01cc 6848cbf9 fetcht 1 ,mem_mouse_rgb_ctrl_gpio 
+01cd 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_rgb_led_on_timer:
-0191 6fe0cbea fetch 1 ,mem_rgb_led_on_enable 
-0192 247a0000 nrtn blank 
-0193 6fe0cbe9 fetch 1 ,mem_rgb_led_off_enable 
-0194 247a0000 nrtn blank 
+01ce 6fe0cbea fetch 1 ,mem_rgb_led_on_enable 
+01cf 247a0000 nrtn blank 
+01d0 6fe0cbe9 fetch 1 ,mem_rgb_led_off_enable 
+01d1 247a0000 nrtn blank 
 
 p_mouse_rgb_led_on:
-0195 6fe14bed fetch 2 ,mem_rgb_led_on_timer 
-0196 1fe0fe01 increase 1 ,pdata 
-0197 67e14bed store 2 ,mem_rgb_led_on_timer 
-0198 d8400258 arg 0x0258 ,temp 
-0199 98467c00 isub temp ,null 
-019a 2042819c call p_mouse_rgb_led_on_continue_1min ,zero 
-019b 20600000 rtn 
+01d2 6fe14bed fetch 2 ,mem_rgb_led_on_timer 
+01d3 1fe0fe01 increase 1 ,pdata 
+01d4 67e14bed store 2 ,mem_rgb_led_on_timer 
+01d5 d8400258 arg 0x0258 ,temp 
+01d6 98467c00 isub temp ,null 
+01d7 204281d9 call p_mouse_rgb_led_on_continue_1min ,zero 
+01d8 20600000 rtn 
 
 p_mouse_rgb_led_on_continue_1min:
-019c 704bf301 jam 1 ,mem_rgb_led_on_continue_1min_timeout_flag 
-019d 204000fe call p_mouse_rgb_led_on_timer_init 
-019e 2020017d branch p_mouse_rgb_led_off_time_init 
+01d9 704bf301 jam 1 ,mem_rgb_led_on_continue_1min_timeout_flag 
+01da 2040013b call p_mouse_rgb_led_on_timer_init 
+01db 202001ba branch p_mouse_rgb_led_off_time_init 
 
 p_mouse_check_no_data_timeout_timer:
-019f 6fe0c92a fetch 1 ,mem_usb_addr 
-01a0 c3838000 rtnbit1 7 
-01a1 da604ab2 arg mem_mouse_no_data_timer ,regc 
-01a2 da4001a4 arg p_mouse_check_no_data_timeout ,regb 
-01a3 20203191 branch timer_single_step_2b 
+01dc 6fe0c92a fetch 1 ,mem_usb_addr 
+01dd c3838000 rtnbit1 7 
+01de da604ab2 arg mem_mouse_no_data_timer ,regc 
+01df da4001e1 arg p_mouse_check_no_data_timeout ,regb 
+01e0 20203191 branch timer_single_step_2b 
 
 p_mouse_check_no_data_timeout:
-01a4 6fe0c938 fetch 1 ,mem_device_flag 
-01a5 c00000c3 beq mode_24g_device ,p_mouse_24g_enter_hibernate 
-01a6 2020431b branch mouse_disconnect 
+01e1 6fe0c938 fetch 1 ,mem_device_flag 
+01e2 c0000100 beq mode_24g_device ,p_mouse_24g_enter_hibernate 
+01e3 2020431b branch mouse_disconnect 
 
 p_mouse_dpi_led_blink_delay_timer:
-01a7 da604ba8 arg mem_mouse_dpi_led_delay_count ,regc 
-01a8 da4001aa arg p_mouse_dpi_led_blink_init ,regb 
-01a9 2020318a branch timer_single_step 
+01e4 da604ba8 arg mem_mouse_dpi_led_delay_count ,regc 
+01e5 da4001e7 arg p_mouse_dpi_led_blink_init ,regb 
+01e6 2020318a branch timer_single_step 
 
 p_mouse_dpi_led_blink_init:
-01aa 6fe0c927 fetch 1 ,mem_config_sensor_type 
-01ab c001c8f2 beq p3212 ,mouse_dpi_led_blink_init 
-01ac c005c8f2 beq ka8g2 ,mouse_dpi_led_blink_init 
-01ad 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
-01ae 67e0c92f store 1 ,mem_mouse_struct_led_gpio 
-01af 6fe14bc2 fetch 2 ,mem_mouse_dpi_led_blink_time 
-01b0 67e14930 store 2 ,mem_mouse_on_time 
-01b1 67e14932 store 2 ,mem_mouse_off_time 
-01b2 da200000 arg 0 ,rega 
-01b3 6848c992 fetcht 1 ,mem_mouse_dpi 
-01b4 18408402 increase 2 ,temp 
-01b5 18467c03 sub temp ,3 ,null 
-01b6 204101b9 call p_mouse_dpi_led_blink_init_level_4 ,positive 
-01b7 244101bd ncall p_mouse_dpi_led_blink_count_clean ,positive 
-01b8 202048ff branch mouse_dpi_led_blink_init_end 
+01e7 6fe0c927 fetch 1 ,mem_config_sensor_type 
+01e8 c001c8f2 beq p3212 ,mouse_dpi_led_blink_init 
+01e9 c005c8f2 beq ka8g2 ,mouse_dpi_led_blink_init 
+01ea 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
+01eb 67e0c92f store 1 ,mem_mouse_struct_led_gpio 
+01ec 6fe14bc2 fetch 2 ,mem_mouse_dpi_led_blink_time 
+01ed 67e14930 store 2 ,mem_mouse_on_time 
+01ee 67e14932 store 2 ,mem_mouse_off_time 
+01ef da200000 arg 0 ,rega 
+01f0 6848c992 fetcht 1 ,mem_mouse_dpi 
+01f1 18408402 increase 2 ,temp 
+01f2 18467c03 sub temp ,3 ,null 
+01f3 204101f6 call p_mouse_dpi_led_blink_init_level_4 ,positive 
+01f4 244101fa ncall p_mouse_dpi_led_blink_count_clean ,positive 
+01f5 202048ff branch mouse_dpi_led_blink_init_end 
 
 p_mouse_dpi_led_blink_init_level_4:
-01b9 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-01ba c40e0000 rtnbit0 mouse_enable_dpi_level_4 
-01bb 18408401 increase 1 ,temp 
-01bc 20600000 rtn 
+01f6 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+01f7 c40e0000 rtnbit0 mouse_enable_dpi_level_4 
+01f8 18408401 increase 1 ,temp 
+01f9 20600000 rtn 
 
 p_mouse_dpi_led_blink_count_clean:
-01bd 184085fd increase -3 ,temp 
-01be 20600000 rtn 
+01fa 184085fd increase -3 ,temp 
+01fb 20600000 rtn 
 
 p_g24_dispatch:
-01bf 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
-01c0 245a01c2 ncall p_mouse_enable_g24_mark ,blank 
-01c1 202021d2 branch g24_dispatch + 1 
+01fc 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+01fd 245a01ff ncall p_mouse_enable_g24_mark ,blank 
+01fe 202021d2 branch g24_dispatch + 1 
 
 p_mouse_enable_g24_mark:
-01c2 704bea01 jam on ,mem_rgb_led_on_enable 
-01c3 204001ca call p_mouse_rgb_led_on_enable_timer_init 
-01c4 79200026 set1 mark_24g ,mark 
-01c5 20600000 rtn 
+01ff 704bea01 jam on ,mem_rgb_led_on_enable 
+0200 20400207 call p_mouse_rgb_led_on_enable_timer_init 
+0201 79200026 set1 mark_24g ,mark 
+0202 20600000 rtn 
 
 p_ui_timer_check:
-01c6 6fe0cbe8 fetch 1 ,mem_power_on_flag 
-01c7 245a7861 ncall ui_timer_init ,blank 
-01c8 704be800 jam 0 ,mem_power_on_flag 
-01c9 20207851 branch ui_timer_check + 1 
+0203 6fe0cbe8 fetch 1 ,mem_power_on_flag 
+0204 245a7861 ncall ui_timer_init ,blank 
+0205 704be800 jam 0 ,mem_power_on_flag 
+0206 20207851 branch ui_timer_check + 1 
 
 p_mouse_rgb_led_on_enable_timer_init:
-01ca 704be900 jam off ,mem_rgb_led_off_enable 
-01cb 704bec0b jam 11 ,mem_rgb_led_on_enable_timer 
-01cc 20600000 rtn 
+0207 704be900 jam off ,mem_rgb_led_off_enable 
+0208 704bec0b jam 11 ,mem_rgb_led_on_enable_timer 
+0209 20600000 rtn 
 
 p_spid_init:
-01cd 70448477 jam 0x77 ,mem_spi_init_clk 
-01ce 20205cb6 branch spid_init_common 
+020a 70448477 jam 0x77 ,mem_spi_init_clk 
+020b 20205cb6 branch spid_init_common 
               org 0x800
 
 start:
Index: program/patch.prog
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Only2.4G/TW-CM622_Only2.4G/program/patch.prog	(revision 1592)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Only2.4G/TW-CM622_Only2.4G/program/patch.prog	(working copy)
@@ -34,7 +34,6 @@
 p_app_init:
 p_mouse_init:
 	call enable_authrom
-	call p_mouse_wheel_set_wakeup
 	call p_mouse_setting_config
 	call p_lpm_write_ice_disable
 	call mouse_init_sunt
@@ -42,23 +41,12 @@
 	call mouse_dpi_config
 	branch mouse_init+4
 
-p_mouse_wheel_set_wakeup:
-	fetch 1,mem_sensor_shutdown_flag
-	rtn blank
-	fetch 1,mem_whee_a_data_gpio
-	arg gpcfg_pullup,temp
- 	call gpio_config_function_int
-	fetch 1,mem_whee_b_data_gpio
-	arg gpcfg_pullup,temp
- 	branch gpio_config_function_int
-
 p_lpm_write_ice_disable:
 	fetch 2,core_ucode_flag
 	set0 lpmreg_ice_mode_bit,pdata
 	store 4,core_lpm_reg
 	branch lpm_write2_ctrl_option
 
-
 p_mouse_setting_config:
 	rtn wake
 	call g24_transmit_init
@@ -123,7 +111,7 @@
 	call g24_txdata_prep
 	nbranch p_g24_nodata_transmit,user
 p_g24_transmit_start:
-	call g24_transmit_process
+	call p_g24_transmit_process
 	call power_ctrl_start
 	fetch 1,mem_sensor_shutdown_flag
 	nbranch p_g24_short_sleep,blank
@@ -137,6 +125,32 @@
 	call clear_wake
 	fetch 3,mem_24g_short_sleep_set
 	branch g24_long_sleep2
+
+p_g24_transmit_process:
+	jam 0,mem_24g_retry
+p_g24_transmit_loop:
+	fetchr timeup,2,mem_param_rx_setup
+	until clkn_rt,meet
+	call g24_transmit_receive_ack
+	fetch 1,mem_24g_no_ack	//tx noack
+	beq no_ack_24g,g24_transmit_no_ack
+	nbranch g24_retransmit,sync
+	nbranch g24_retransmit,user3
+	call g24_ackpayload_parse
+	call p_mouse_wakeup_24g
+	branch g24_transmit_no_ack
+
+p_mouse_wakeup_24g:
+	fetch 1,mem_sensor_shutdown_flag
+	ncall p_mouse_wakeup_24g_from_long_sleep,blank
+	jam 0,mem_sensor_shutdown_flag
+	rtn	
+	
+p_mouse_wakeup_24g_from_long_sleep:
+	call mouse_init_sensor_wakeup
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_WHEEL_WAKE_UP_CANCEL
+	branch p_mouse_wheel_set_wakeup
 	
 p_mouse_app_enter_hibernate:	// 1.3mA hibernate after sensroe reset
 	setarg PAN_REG_CONFIG
@@ -160,7 +174,51 @@
 	fetch 1,mem_mouse_sensor_sdio_gpio
 	arg gpcfg_output_high,temp
 	call gpio_config_function_int
-	branch mouse_setgpio_hibernate+3
+	call mouse_lpm_before_common
+	call gpio_pd_idle
+	arg 19,temp
+	call mouse_gpio_config_input_pu
+	call p_mouse_gpio_set_high_impedance
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_WHEEL_WAKE_UP_CANCEL
+	branch p_mouse_wheel_clr_wakeup
+
+p_mouse_gpio_set_high_impedance:
+	fetch 3,mem_mouse_set_high_impedance_bit_set
+	store 3,mem_pdatatemp
+	arg 20,loopcnt
+	arg 0,temp
+p_mouse_gpio_set_high_impedance_bit_loop:	
+	fetch 3,mem_pdatatemp
+	isolate1 0,pdata
+	call gpio_set_high_impedance,true
+	fetch 3,mem_pdatatemp
+	rshift pdata,pdata
+	store 3,mem_pdatatemp
+	increase 1,temp
+	loop p_mouse_gpio_set_high_impedance_bit_loop
+	rtn
+
+p_mouse_wheel_clr_wakeup:
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_clr_wake
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_clr_wake
+		
+	fetch 1,mem_whee_a_data_gpio
+	arg gpcfg_pulldown,temp
+	call gpio_config_function_int
+	fetch 1,mem_whee_b_data_gpio
+	arg gpcfg_pulldown,temp
+	branch gpio_config_function_int
+
+p_mouse_wheel_set_wakeup:
+	fetch 1,mem_whee_a_data_gpio
+	arg gpcfg_pullup,temp
+ 	call gpio_config_function_int
+	fetch 1,mem_whee_b_data_gpio
+	arg gpcfg_pullup,temp
+ 	branch gpio_config_function_int
 
 p_mouse_lpm_before_common:
 //	fetcht 1,mem_whee_a_data_gpio		//reinit gpio pu after disable wheel wakeup
@@ -252,7 +310,9 @@
 	nbranch p_mouse_24g_enter_hibernate,blank
 	fetch 1,mem_24g_reconn_type
 	beq FAST_CONN_AND_3_0_ADDR,p_mouse_24g_fast_conn_attempt_fail
-	branch mouse_24g_attempt_fail+4
+	beq PAIR_AND_3_0_ADDR,p_mouse_24g_auto_pair_attempt_fail
+	beq RECEIVER_AND_3_0_ADDR,p_mouse_reconn_dongle_attempt_fail
+	branch mouse_24g_attempt_fail_enter_hibernate
 
 p_mouse_24g_fast_conn_attempt_fail:
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag 
@@ -265,6 +325,25 @@
 	branch mouse_24g_start_pair_mode,zero
 	branch mouse_24g_reconn_dongle_start
 
+p_mouse_24g_auto_pair_attempt_fail:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag 
+	bbit0 MOUSE_ENABLE_24G_FIRST_AUTO_PAIRING,p_mouse_24g_attempt_fail_enter_hibernate
+	fetch 1,mem_device_number
+	beq 1,p_mouse_24g_attempt_fail_enter_hibernate		//24g first mode and only 2.4g device
+	branch mouse_24g_first_bluetooth_reconnect
+
+p_mouse_reconn_dongle_attempt_fail:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_24G_FIRST_AUTO_PAIRING,p_mouse_24g_attempt_fail_enter_hibernate
+	bbit1 MOUSE_ENABLE_EEPROM,p_mouse_24g_attempt_fail_enter_hibernate
+	bbit1 MOUSE_ENABLE_FLASH,p_mouse_24g_attempt_fail_enter_hibernate
+	branch mouse_24g_start_auto_pair+1
+
+p_mouse_24g_attempt_fail_enter_hibernate:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_WHEEL_WAKE_UP_CANCEL,mouse_24g_attempt_fail_enter_hibernate
+	branch p_mouse_24g_hibernate_set
+
 p_mouse_24g_enter_hibernate:
 	set0 mark_24g,mark
 	jam 0,mem_rgb_led_on_continue_1min_timeout_flag
Index: sched/mouse.dat
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Only2.4G/TW-CM622_Only2.4G/sched/mouse.dat	(revision 1592)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Only2.4G/TW-CM622_Only2.4G/sched/mouse.dat	(working copy)
@@ -91,7 +91,8 @@
 #bit1 MOUSE_ENABLE_XY_OFFSET
 #bit2 MOUSE_ENABLE_24G_AUTO_PAIR_NERVER_BEEN_PAIRED
 #bit3 MOUSE_ENABLE_LE_BATTERY_SERVICE_CANCEL
-07
+#bit4 MOUSE_ENABLE_WHEEL_WAKE_UP_CANCEL
+1b
 
 
 mem_mouse_discovery_timeout:b0 04	#2min
