Index: format/app_mouse.format
===================================================================
--- /YC1308AC/branch/mouse_project/YDN_Project/G-117-3_Only24g/format/app_mouse.format	(revision 642)
+++ /YC1308AC/branch/mouse_project/YDN_Project/G-117-3_Only24g/format/app_mouse.format	(working copy)
@@ -335,7 +335,20 @@
 
 8 mem_ka8g2_sensor_poweron_init
 
-1 mem_config_device_24g_led_gpio_patch
+//patch led start
+1 mem_mouse_multi_led_blink_enable
+1 mem_mouse_multi_led_gpio
+1 mem_mouse_multi_led_state
+1 mem_mouse_multi_led_type
+1 mem_mouse_multi_led_on_timer
+1 mem_mouse_multi_led_on_timer_init
+1 mem_mouse_multi_led_blink_timer_init
+1 mem_mouse_multi_led_blink_timer
+1 mem_mouse_multi_led_blink_count
+1 mem_mouse_multi_led_blink_count_limited
+1 mem_mouse_multi_led_on_poweron2s_flag
+//patch led end
+
 )
 
 
@@ -621,3 +634,8 @@
 0x03 ICE_REUSE_GPIO
 )
 
+(
+0 MULTI_LED_ON
+1 MULTI_LED_BLINK
+)
+
Index: output/eeprom.dat
===================================================================
--- /YC1308AC/branch/mouse_project/YDN_Project/G-117-3_Only24g/output/eeprom.dat	(revision 642)
+++ /YC1308AC/branch/mouse_project/YDN_Project/G-117-3_Only24g/output/eeprom.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-0e
+96
 0d
 c2
 84
@@ -43,55 +43,55 @@
 c0
 61
 81
-e2
+e6
 c0
 63
 81
-99
+75
 c0
 64
 81
-9f
+7b
 c0
 65
 01
-aa
+86
 c0
 66
 03
-11
+2d
 c0
 67
-02
-f1
+03
+0d
 c0
 68
 01
-f6
+f8
 c0
 69
 82
-15
+13
 c0
 6a
 02
-2e
+2c
 c0
 6b
 01
-c5
+a1
 c0
 6c
 82
-48
+46
 c0
 6d
 02
-ae
+ca
 c0
 74
 02
-b9
+d5
 20
 20
 13
@@ -107,11 +107,11 @@
 c0
 43
 82
-b5
+d1
 c0
 50
 82
-cd
+e9
 c0
 54
 80
@@ -119,19 +119,19 @@
 c0
 71
 01
-35
+11
 c0
 74
 81
-3c
+18
 c0
 75
 01
-56
+32
 c0
 76
-02
-ee
+03
+0a
 20
 20
 13
@@ -607,11 +607,11 @@
 20
 40
 00
-a0
+a1
 20
 40
 00
-a8
+a9
 20
 40
 41
@@ -623,7 +623,7 @@
 20
 40
 01
-f8
+fa
 20
 40
 3d
@@ -635,11 +635,15 @@
 20
 40
 00
-ee
+ca
 20
 40
 02
+3e
+20
 40
+02
+8f
 20
 20
 3b
@@ -690,16 +694,16 @@
 ff
 20
 40
-00
-b5
+3f
+1e
 20
 40
 3d
 13
 58
 00
-48
-44
+3c
+8c
 67
 e1
 c8
@@ -723,159 +727,11 @@
 20
 40
 00
-da
+b6
 20
 20
 3b
 f5
-68
-48
-c4
-c1
-20
-40
-60
-69
-20
-40
-79
-b4
-68
-48
-c9
-18
-20
-40
-3f
-56
-68
-48
-c9
-19
-20
-40
-3f
-56
-68
-48
-c9
-1a
-20
-40
-3f
-56
-68
-48
-c9
-0d
-20
-40
-3f
-56
-68
-48
-c9
-0e
-20
-40
-3f
-56
-68
-48
-c9
-0f
-20
-40
-3f
-56
-68
-48
-c9
-10
-20
-40
-3f
-56
-68
-48
-c9
-1b
-20
-40
-3f
-56
-68
-48
-c9
-12
-20
-40
-3f
-56
-68
-48
-c9
-13
-20
-40
-3f
-56
-68
-48
-c9
-14
-20
-40
-3f
-56
-68
-48
-c9
-1c
-20
-40
-3f
-56
-68
-48
-c9
-1d
-20
-40
-3f
-56
-68
-48
-c9
-11
-20
-40
-3f
-56
-68
-48
-c9
-1e
-20
-40
-3f
-56
-68
-48
-ca
-ab
-20
-40
-60
-69
-68
-48
-c9
-17
-20
-20
-3f
-56
 6f
 e0
 cb
@@ -911,7 +767,7 @@
 24
 20
 80
-e4
+c0
 20
 20
 3f
@@ -939,7 +795,7 @@
 20
 20
 80
-eb
+c7
 20
 20
 3f
@@ -959,15 +815,15 @@
 58
 00
 00
-f3
+cf
 67
 e1
 48
 9b
 58
 00
-01
-0f
+00
+eb
 67
 e1
 48
@@ -995,7 +851,7 @@
 c3
 0a
 80
-fa
+d6
 6f
 e0
 cb
@@ -1014,8 +870,8 @@
 36
 c2
 80
-81
-09
+80
+e5
 68
 48
 c7
@@ -1155,7 +1011,7 @@
 24
 21
 01
-25
+01
 20
 40
 25
@@ -1167,11 +1023,11 @@
 24
 2c
 01
-2b
+07
 24
 37
 81
-2b
+07
 20
 40
 48
@@ -1195,7 +1051,7 @@
 c0
 08
 01
-2d
+09
 20
 60
 00
@@ -1206,8 +1062,8 @@
 cb
 20
 20
-01
-1b
+00
+f7
 70
 4b
 a3
@@ -1239,7 +1095,7 @@
 20
 20
 02
-40
+3e
 6f
 e1
 4c
@@ -1279,7 +1135,7 @@
 c0
 00
 01
-43
+1f
 6f
 e1
 48
@@ -1307,11 +1163,11 @@
 24
 2c
 01
-49
+25
 24
 37
 81
-49
+25
 20
 40
 26
@@ -1379,11 +1235,11 @@
 24
 34
 01
-65
+41
 20
 40
 01
-79
+55
 20
 40
 26
@@ -1395,7 +1251,7 @@
 24
 3a
 01
-60
+3c
 6f
 e4
 48
@@ -1439,7 +1295,7 @@
 20
 5a
 01
-6b
+47
 6f
 e0
 c8
@@ -1511,7 +1367,7 @@
 20
 20
 01
-58
+34
 70
 48
 a6
@@ -1539,11 +1395,11 @@
 24
 2c
 01
-88
+64
 24
 37
 81
-88
+64
 20
 40
 26
@@ -1551,7 +1407,7 @@
 20
 40
 01
-84
+60
 20
 20
 26
@@ -1563,7 +1419,7 @@
 24
 5a
 02
-17
+15
 70
 4b
 e1
@@ -1607,11 +1463,11 @@
 20
 40
 01
-92
+6e
 20
 20
 01
-7a
+56
 6f
 e0
 c8
@@ -1655,11 +1511,11 @@
 20
 40
 02
-39
+37
 20
 40
 02
-40
+3e
 20
 20
 3e
@@ -1807,7 +1663,7 @@
 20
 40
 02
-40
+3e
 20
 40
 3e
@@ -1821,17 +1677,25 @@
 7e
 00
 c0
+1c
+81
+bb
+c0
 1e
 01
-dd
+bd
+c0
+1d
+01
+c3
 c0
 19
 01
-ca
+a8
 c0
 22
 01
-d1
+af
 20
 20
 43
@@ -1843,7 +1707,7 @@
 c0
 00
 81
-ce
+ac
 70
 4b
 76
@@ -1912,6 +1776,18 @@
 20
 43
 86
+20
+40
+02
+81
+20
+20
+48
+57
+20
+40
+02
+81
 6f
 e2
 48
@@ -1933,6 +1809,146 @@
 48
 4e
 6f
+e0
+c8
+a5
+24
+3a
+01
+97
+6f
+e0
+c8
+8b
+c0
+01
+01
+cb
+c0
+02
+01
+da
+c0
+01
+81
+e1
+20
+40
+02
+81
+20
+20
+48
+3a
+6f
+e4
+4b
+ab
+c2
+97
+81
+d8
+c2
+98
+01
+d8
+20
+20
+48
+06
+70
+41
+e8
+9e
+d8
+e0
+00
+01
+20
+40
+46
+f0
+58
+00
+00
+00
+67
+e1
+48
+87
+20
+40
+45
+76
+20
+40
+49
+8e
+20
+40
+02
+6a
+20
+20
+48
+2e
+20
+40
+02
+6a
+20
+20
+48
+12
+6f
+e4
+4b
+ab
+c3
+17
+81
+df
+6f
+e0
+cb
+b4
+c0
+00
+81
+df
+20
+20
+48
+1a
+20
+40
+02
+81
+20
+20
+48
+3a
+6f
+e4
+4b
+ab
+c3
+17
+81
+df
+c2
+89
+81
+df
+c2
+89
+01
+df
+20
+20
+48
+12
+6f
 e4
 4b
 ab
@@ -1947,7 +1963,7 @@
 c0
 00
 01
-e7
+eb
 20
 20
 3d
@@ -1999,19 +2015,11 @@
 20
 22
 81
-f4
+cf
 20
 20
 48
 0c
-70
-41
-e8
-9e
-20
-20
-48
-27
 20
 40
 40
@@ -2019,7 +2027,7 @@
 20
 40
 02
-07
+09
 6f
 e0
 c9
@@ -2031,7 +2039,7 @@
 c0
 05
 82
-02
+04
 c0
 00
 40
@@ -2081,14 +2089,6 @@
 40
 d4
 6f
-e0
-c9
-23
-c1
-7f
-80
-00
-6f
 e1
 4a
 c2
@@ -2115,19 +2115,11 @@
 6f
 e0
 cb
-a7
-24
-7a
-00
-00
-6f
-e0
-cb
 c1
 20
 3a
 02
-69
+a2
 67
 e0
 cb
@@ -2155,7 +2147,7 @@
 c0
 18
 02
-1f
+1d
 c0
 18
 c2
@@ -2175,7 +2167,7 @@
 20
 20
 02
-18
+16
 6f
 e0
 c9
@@ -2183,7 +2175,7 @@
 c0
 2d
 02
-28
+26
 c0
 6c
 41
@@ -2211,7 +2203,7 @@
 20
 20
 02
-18
+16
 70
 49
 27
@@ -2235,7 +2227,7 @@
 20
 20
 01
-f8
+fa
 20
 40
 3f
@@ -2247,7 +2239,7 @@
 c0
 05
 82
-35
+33
 20
 40
 42
@@ -2263,11 +2255,11 @@
 20
 20
 01
-f8
+fa
 20
 40
 02
-3c
+3a
 da
 60
 4c
@@ -2279,7 +2271,7 @@
 20
 20
 01
-f8
+fa
 6f
 e0
 c9
@@ -2287,7 +2279,7 @@
 c0
 05
 82
-3c
+3a
 20
 20
 42
@@ -2323,7 +2315,7 @@
 c0
 05
 82
-46
+44
 58
 00
 08
@@ -2342,16 +2334,12 @@
 0c
 20
 40
-02
-7e
-20
-40
 3e
 9b
 20
 40
 03
-2c
+4e
 20
 40
 23
@@ -2367,7 +2355,11 @@
 20
 40
 02
-66
+9f
+20
+40
+02
+5c
 20
 40
 40
@@ -2379,7 +2371,7 @@
 20
 40
 02
-99
+b5
 20
 40
 44
@@ -2427,243 +2419,363 @@
 20
 20
 02
-5e
+97
 6f
 e0
-c9
-2a
-c3
-83
-80
-00
-da
-60
-4a
-b2
-da
-40
-02
-63
-20
+cc
+16
 20
-31
-91
+7a
+00
+00
 6f
 e0
-c9
-38
+cc
+19
 c0
 00
-01
-bb
-20
+82
+71
 20
-43
-1b
-da
-60
-4b
-a8
-da
 40
 02
-69
-20
-20
-31
-8a
+7e
 6f
 e0
-c9
-27
-c0
-01
-c8
-f2
-c0
-05
-c8
-f2
-6f
+cc
+1a
+1f
 e0
-c9
-23
+fe
+01
 67
 e0
-c9
-2f
-6f
-e1
-4b
-c2
-67
-e1
-49
-30
-67
-e1
-49
-32
-da
-20
-00
-00
+cc
+1a
 68
 48
-c9
-92
-18
-40
-84
-02
-18
+cc
+1b
+98
 46
 7c
-03
+00
 20
-41
-02
-78
-24
-41
-02
-7c
+42
+82
+68
 20
+60
+00
+00
+70
+4c
 20
-48
-ff
-6f
-e4
-4b
-ab
-c4
-0e
 00
+20
+20
+02
+83
+70
+4c
+1c
+05
+70
+4c
+1f
 00
-18
-40
-84
+70
+4c
+1e
+01
+70
+4c
+1d
+05
+70
+4c
+16
+01
+70
+4c
+19
 01
 20
 60
 00
 00
-18
+da
+60
+4c
+1d
+da
 40
-85
-fd
+02
+74
 20
-60
-00
-00
+20
+31
+8a
 6f
-e4
-4b
-ab
-c4
-10
-00
-00
+e0
+cc
+1c
+67
+e0
+cc
+1d
 6f
 e0
-cb
-a7
+cc
+1f
 20
-7a
-00
-00
+3a
+02
+7c
+6f
+e0
+cc
+1e
+20
+3a
+02
+81
 1f
 e0
 ff
 ff
 67
 e0
-cb
-a7
-20
-3a
-02
-8b
+cc
+1e
 6f
 e0
 cc
-16
+18
 c0
-81
-c9
-20
-68
-48
-cc
-16
-20
-40
-60
-69
+00
+82
+83
+70
+4c
+18
+01
 68
 48
 cc
-16
+17
 20
 20
 60
 69
+58
+00
+00
+00
+67
+e1
+cc
+1d
 6f
 e0
 cc
+1e
+24
+3a
+02
+87
+70
+4c
 16
+00
+70
+4c
+19
+00
+70
+4c
+1a
+00
+70
+4c
+18
+00
+6f
+e0
+cc
+17
 c0
-81
-c9
-12
+01
+82
+8d
 68
 48
 cc
-16
+17
 20
 20
-3f
-56
+60
+65
 68
 48
-c9
-21
+cc
+17
+20
+20
+3f
+56
+70
+4c
+20
+01
+70
+4c
+16
+01
+70
+4c
+19
+00
+70
+4c
+1a
+00
 20
-40
 60
-69
-68
-48
-c9
-15
+00
+00
+70
+4c
+1c
+02
+70
+4c
+1f
+01
 20
-40
+20
+02
+6d
+6f
+e0
+c9
+2a
+c3
+83
+80
+00
+da
 60
-69
-68
-48
+4a
+b2
+da
+40
+02
+9c
+20
+20
+31
+91
+6f
+e0
 c9
-16
+38
+c0
+00
+01
+97
 20
-40
+20
+43
+1b
+da
 60
-69
-68
-48
+4b
+a8
+da
+40
+02
+a2
+20
+20
+31
+8a
+6f
+e4
+4b
+ab
+c2
+8e
+02
+a8
+6f
+e0
 c9
-22
+92
+c0
+00
+02
+af
+c0
+00
+82
+b1
 20
-40
-60
-69
-68
-48
+20
+02
+ad
+6f
+e0
 c9
-23
+92
+c0
+00
+02
+b1
+c0
+00
+82
+b3
+c0
+01
+02
+ad
 20
 20
-60
-69
+02
+af
+70
+4c
+1e
+01
+20
+20
+02
+94
+70
+4c
+1e
+03
+20
+20
+02
+94
+70
+4c
+1e
+05
+20
+20
+02
+94
+70
+4c
+1e
+07
+20
+20
+02
+94
 6f
 e0
 c9
@@ -2671,7 +2783,7 @@
 c0
 00
 02
-9f
+bb
 6f
 e4
 4b
@@ -2687,7 +2799,7 @@
 20
 20
 02
-a2
+be
 6f
 e4
 4b
@@ -2723,7 +2835,7 @@
 20
 22
 82
-a9
+c5
 20
 20
 44
@@ -2819,7 +2931,7 @@
 c0
 04
 82
-c1
+dd
 20
 20
 4d
@@ -2919,7 +3031,7 @@
 c0
 02
 02
-da
+f6
 20
 20
 19
@@ -2935,7 +3047,7 @@
 c0
 09
 02
-de
+fa
 20
 20
 1c
@@ -3035,7 +3147,7 @@
 20
 40
 01
-f8
+fa
 20
 40
 3f
@@ -3066,8 +3178,8 @@
 28
 20
 40
-02
-ff
+03
+1b
 20
 20
 45
@@ -3179,7 +3291,7 @@
 24
 21
 03
-2a
+46
 6f
 e0
 c4
@@ -3187,7 +3299,7 @@
 c0
 81
 03
-22
+3e
 68
 49
 48
@@ -3234,8 +3346,8 @@
 1c
 c3
 00
-3e
-d0
+03
+48
 70
 48
 fa
@@ -3252,6 +3364,30 @@
 40
 3f
 54
+d8
+e0
+00
+04
+20
+40
+46
+f4
+6f
+e0
+c8
+fa
+20
+7a
+00
+00
+70
+48
+fa
+00
+20
+20
+02
+83
 6f
 e1
 4a
@@ -3276,14 +3412,6 @@
 7a
 00
 00
-6f
-e0
-cb
-a7
-24
-7a
-00
-00
 20
 40
 49
@@ -3326,26 +3454,34 @@
 08
 24
 41
-49
-6e
+03
+63
 c0
 01
-c9
-70
+82
+7e
 c0
 02
-c9
-76
+82
+83
 c0
 03
-c9
-70
+82
+7e
 20
 60
 00
 00
-e0
-ee
+70
+48
+f8
+01
+20
+20
+02
+83
+da
+ce
 aa
 55
 40
@@ -3516,7 +3652,7 @@
 80
 aa
 55
-09
+17
 00
 0d
 49
@@ -3529,19 +3665,6 @@
 05
 04
 ff
-aa
-55
-01
-00
-16
-4c
-03
-aa
-55
-0e
-00
-16
-49
 ff
 08
 0b
@@ -3576,6 +3699,21 @@
 55
 01
 00
+17
+4c
+03
+aa
+55
+02
+00
+1b
+4c
+14
+05
+aa
+55
+01
+00
 58
 0b
 ff
@@ -4622,148 +4760,10 @@
 aa
 aa
 55
-c7
+eb
 85
-ea
-74
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+15
+e2
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-e8
-96
+3c
+50
Index: output/memmap.format
===================================================================
--- /YC1308AC/branch/mouse_project/YDN_Project/G-117-3_Only24g/output/memmap.format	(revision 642)
+++ /YC1308AC/branch/mouse_project/YDN_Project/G-117-3_Only24g/output/memmap.format	(working copy)
@@ -2210,7 +2210,17 @@
 0x4be6 mem_sensor_8650_init_new
 0x4c0c mem_24g_pair_count
 0x4c0e mem_ka8g2_sensor_poweron_init
-0x4c16 mem_config_device_24g_led_gpio_patch
+0x4c16 mem_mouse_multi_led_blink_enable
+0x4c17 mem_mouse_multi_led_gpio
+0x4c18 mem_mouse_multi_led_state
+0x4c19 mem_mouse_multi_led_type
+0x4c1a mem_mouse_multi_led_on_timer
+0x4c1b mem_mouse_multi_led_on_timer_init
+0x4c1c mem_mouse_multi_led_blink_timer_init
+0x4c1d mem_mouse_multi_led_blink_timer
+0x4c1e mem_mouse_multi_led_blink_count
+0x4c1f mem_mouse_multi_led_blink_count_limited
+0x4c20 mem_mouse_multi_led_on_poweron2s_flag
 0x48d0 mem_remote_car_hard_soft_switch
 0x48d1 mem_remote_car_queue_each_size
 0x48d2 mem_remote_car_queue_length
Index: output/program.lis
===================================================================
--- /YC1308AC/branch/mouse_project/YDN_Project/G-117-3_Only24g/output/program.lis	(revision 642)
+++ /YC1308AC/branch/mouse_project/YDN_Project/G-117-3_Only24g/output/program.lis	(working copy)
@@ -9,31 +9,31 @@
 0006 c04f8093 beq patch13_7 ,p_init_param 
 0007 c0570095 beq patch15_6 ,p_app_init 
 0008 c0580072 beq patch16_0 ,p_app_evt_100ms_loop 
-0009 c06181e2 beq patch18_3 ,p_mouse_start_work 
-000a c0638199 beq patch18_7 ,p_mouse_app_enter_hibernate 
-000b c064819f beq patch19_1 ,p_mouse_setgpio_hibernate 
-000c c06501aa beq patch19_2 ,p_mouse_lpm_before_common 
-000d c0660311 beq patch19_4 ,p_mouse_adc_read_start 
-000e c06702f1 beq patch19_6 ,p_mouse_motion 
-000f c06801f6 beq patch1a_0 ,p_mouse_seting_dpi 
-0010 c0698215 beq patch1a_3 ,p_mouse_init_sunt 
-0011 c06a022e beq patch1a_4 ,p_mouse_sensor_poweron 
-0012 c06b01c5 beq patch1a_6 ,p_mouse_priority_bb_event 
-0013 c06c8248 beq patch1b_1 ,p_mouse_bb_event_timer 
-0014 c06d02ae beq patch1b_2 ,p_mouse_start_discovery 
-0015 c07402b9 beq patch1d_0 ,p_hid_rx_process 
+0009 c06181e6 beq patch18_3 ,p_mouse_start_work 
+000a c0638175 beq patch18_7 ,p_mouse_app_enter_hibernate 
+000b c064817b beq patch19_1 ,p_mouse_setgpio_hibernate 
+000c c0650186 beq patch19_2 ,p_mouse_lpm_before_common 
+000d c066032d beq patch19_4 ,p_mouse_adc_read_start 
+000e c067030d beq patch19_6 ,p_mouse_motion 
+000f c06801f8 beq patch1a_0 ,p_mouse_seting_dpi 
+0010 c0698213 beq patch1a_3 ,p_mouse_init_sunt 
+0011 c06a022c beq patch1a_4 ,p_mouse_sensor_poweron 
+0012 c06b01a1 beq patch1a_6 ,p_mouse_priority_bb_event 
+0013 c06c8246 beq patch1b_1 ,p_mouse_bb_event_timer 
+0014 c06d02ca beq patch1b_2 ,p_mouse_start_discovery 
+0015 c07402d5 beq patch1d_0 ,p_hid_rx_process 
 0016 2020137c branch loop 
 
 pf_patch_ext:
 0017 c0198052 beq patch26_3 ,p_adc_init_data 
 0018 c01a0057 beq patch26_4 ,p_enable_adc 
-0019 c04382b5 beq patch30_7 ,p_ui_timer_check 
-001a c05082cd beq patch34_1 ,p_le_slave_match 
+0019 c04382d1 beq patch30_7 ,p_ui_timer_check 
+001a c05082e9 beq patch34_1 ,p_le_slave_match 
 001b c054808d beq patch35_1 ,p_le_enable 
-001c c0710135 beq patch3c_2 ,p_g24_pair_dispatch 
-001d c074813c beq patch3d_1 ,p_g24_reconn_dispatch 
-001e c0750156 beq patch3d_2 ,p_g24_transmit_no_interrupt 
-001f c07602ee beq patch3d_4 ,p_g24_lpm_wait 
+001c c0710111 beq patch3c_2 ,p_g24_pair_dispatch 
+001d c0748118 beq patch3d_1 ,p_g24_reconn_dispatch 
+001e c0750132 beq patch3d_2 ,p_g24_transmit_no_interrupt 
+001f c076030a beq patch3d_4 ,p_g24_lpm_wait 
 0020 2020137c branch loop 
 
 p_soft_reset:
@@ -182,869 +182,955 @@
 
 p_mouse_init:
 0095 20406df3 call enable_authrom 
-0096 204000a0 call p_mouse_wheel_set_wakeup 
-0097 204000a8 call p_mouse_setting_config 
+0096 204000a1 call p_mouse_wheel_set_wakeup 
+0097 204000a9 call p_mouse_setting_config 
 0098 204041a7 call mouse_init_sunt 
 0099 20758000 rtn wake 
-009a 204001f8 call p_mouse_dpi_config 
+009a 204001fa call p_mouse_dpi_config 
 009b 20403d8a call mouse_usb_check_enable 
 009c 20404728 call mouse_drawing_optima_init 
-009d 204000ee call p_mouse_cb_fuction 
-009e 20400240 call p_mouse_sensor_powerdown 
-009f 20203bc9 branch mouse_init + 8 
+009d 204000ca call p_mouse_cb_fuction 
+009e 2040023e call p_mouse_sensor_powerdown 
+009f 2040028f call p_mouse_mode_24g_device_multi_led_on 
+00a0 20203bc9 branch mouse_init + 8 
 
 p_mouse_wheel_set_wakeup:
-00a0 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
-00a1 207a0000 rtn blank 
-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 
+00a1 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+00a2 207a0000 rtn blank 
+00a3 6fe0c913 fetch 1 ,mem_whee_a_data_gpio 
+00a4 d8400040 arg gpcfg_pullup ,temp 
+00a5 20406093 call gpio_config_function_int 
+00a6 6fe0c914 fetch 1 ,mem_whee_b_data_gpio 
+00a7 d8400040 arg gpcfg_pullup ,temp 
+00a8 20206093 branch gpio_config_function_int 
 
 p_mouse_setting_config:
-00a8 20758000 rtn wake 
-00a9 20402607 call g24_transmit_init 
-00aa 204022ff call g24_chmap_param_init 
-00ab 204000b5 call p_mouse_gpio_init 
-00ac 20403d13 call mouse_param_init 
-00ad 58004844 setarg 18500 
-00ae 67e1c8ad store 3 ,mem_24g_short_sleep_set 
-00af 58000708 setarg 1800 
-00b0 67e14885 store 2 ,mem_24g_reconn_timeout_init 
-00b1 d8401e00 arg 0x1e00 ,temp 
-00b2 60494838 storet 2 ,mem_24g_rx_window 
-00b3 204000da call p_mouse_sensor_set_angle 
-00b4 20203bf5 branch mouse_setting_config + 5 
-
-p_mouse_gpio_init:
-00b5 6848c4c1 fetcht 1 ,mem_eeprom_wp_gpio 
-00b6 20406069 call gpio_config_output 
-00b7 204079b4 call usb_offline_check_init 
-00b8 6848c918 fetcht 1 ,mem_lbutton_gpio 
-00b9 20403f56 call mouse_gpio_config_input_pu 
-00ba 6848c919 fetcht 1 ,mem_rbutton_gpio 
-00bb 20403f56 call mouse_gpio_config_input_pu 
-00bc 6848c91a fetcht 1 ,mem_mbutton_gpio 
-00bd 20403f56 call mouse_gpio_config_input_pu 
-00be 6848c90d fetcht 1 ,mem_bk_button_gpio 
-00bf 20403f56 call mouse_gpio_config_input_pu 
-00c0 6848c90e fetcht 1 ,mem_fw_button_gpio 
-00c1 20403f56 call mouse_gpio_config_input_pu 
-00c2 6848c90f fetcht 1 ,mem_dpi_button_gpio 
-00c3 20403f56 call mouse_gpio_config_input_pu 
-00c4 6848c910 fetcht 1 ,mem_matrix_public_gpio 
-00c5 20403f56 call mouse_gpio_config_input_pu 
-00c6 6848c91b fetcht 1 ,mem_config_select_device_button_gpio 
-00c7 20403f56 call mouse_gpio_config_input_pu 
-00c8 6848c912 fetcht 1 ,mem_customer_key_gpio 
-00c9 20403f56 call mouse_gpio_config_input_pu 
-00ca 6848c913 fetcht 1 ,mem_whee_a_data_gpio 
-00cb 20403f56 call mouse_gpio_config_input_pu 
-00cc 6848c914 fetcht 1 ,mem_whee_b_data_gpio 
-00cd 20403f56 call mouse_gpio_config_input_pu 
-00ce 6848c91c fetcht 1 ,mem_whee_ta_data_gpio 
-00cf 20403f56 call mouse_gpio_config_input_pu 
-00d0 6848c91d fetcht 1 ,mem_whee_tb_data_gpio 
-00d1 20403f56 call mouse_gpio_config_input_pu 
-00d2 6848c911 fetcht 1 ,mem_sensor_motion_gpio 
-00d3 20403f56 call mouse_gpio_config_input_pu 
-00d4 6848c91e fetcht 1 ,mem_device_switch_gpio 
-00d5 20403f56 call mouse_gpio_config_input_pu 
-00d6 6848caab fetcht 1 ,mem_sensor_reset_gpio 
-00d7 20406069 call gpio_config_output 
-00d8 6848c917 fetcht 1 ,mem_select_sensor_angle_gpio 
-00d9 20203f56 branch mouse_gpio_config_input_pu 
+00a9 20758000 rtn wake 
+00aa 20402607 call g24_transmit_init 
+00ab 204022ff call g24_chmap_param_init 
+00ac 20403f1e call mouse_gpio_init 
+00ad 20403d13 call mouse_param_init 
+00ae 58003c8c setarg 15500 
+00af 67e1c8ad store 3 ,mem_24g_short_sleep_set 
+00b0 58000708 setarg 1800 
+00b1 67e14885 store 2 ,mem_24g_reconn_timeout_init 
+00b2 d8401e00 arg 0x1e00 ,temp 
+00b3 60494838 storet 2 ,mem_24g_rx_window 
+00b4 204000b6 call p_mouse_sensor_set_angle 
+00b5 20203bf5 branch mouse_setting_config + 5 
 
 p_mouse_sensor_set_angle:
-00da 6fe0cbe3 fetch 1 ,mem_sensor_angle_connect_gnd 
-00db 67e0c928 store 1 ,mem_config_sensor_angle 
-00dc 6fe0c917 fetch 1 ,mem_select_sensor_angle_gpio 
-00dd c17f8000 rtneq gpio_disable 
-00de 6848c917 fetcht 1 ,mem_select_sensor_angle_gpio 
-00df 20403f56 call mouse_gpio_config_input_pu 
-00e0 6848c917 fetcht 1 ,mem_select_sensor_angle_gpio 
-00e1 20406059 call gpio_get_bit 
-00e2 242080e4 nbranch p_mouse_sensor_switch_angle_next ,true 
-00e3 20203f54 branch mouse_gpio_config_input_pd 
+00b6 6fe0cbe3 fetch 1 ,mem_sensor_angle_connect_gnd 
+00b7 67e0c928 store 1 ,mem_config_sensor_angle 
+00b8 6fe0c917 fetch 1 ,mem_select_sensor_angle_gpio 
+00b9 c17f8000 rtneq gpio_disable 
+00ba 6848c917 fetcht 1 ,mem_select_sensor_angle_gpio 
+00bb 20403f56 call mouse_gpio_config_input_pu 
+00bc 6848c917 fetcht 1 ,mem_select_sensor_angle_gpio 
+00bd 20406059 call gpio_get_bit 
+00be 242080c0 nbranch p_mouse_sensor_switch_angle_next ,true 
+00bf 20203f54 branch mouse_gpio_config_input_pd 
 
 p_mouse_sensor_switch_angle_next:
-00e4 6fe0cbe5 fetch 1 ,mem_sensor_angle_connect_vin 
-00e5 67e0c928 store 1 ,mem_config_sensor_angle 
-00e6 20403f54 call mouse_gpio_config_input_pd 
-00e7 6848c917 fetcht 1 ,mem_select_sensor_angle_gpio 
-00e8 20406059 call gpio_get_bit 
-00e9 202080eb branch p_mouse_sensor_switch_angle_impedance ,true 
-00ea 20203f56 branch mouse_gpio_config_input_pu 
+00c0 6fe0cbe5 fetch 1 ,mem_sensor_angle_connect_vin 
+00c1 67e0c928 store 1 ,mem_config_sensor_angle 
+00c2 20403f54 call mouse_gpio_config_input_pd 
+00c3 6848c917 fetcht 1 ,mem_select_sensor_angle_gpio 
+00c4 20406059 call gpio_get_bit 
+00c5 202080c7 branch p_mouse_sensor_switch_angle_impedance ,true 
+00c6 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_sensor_switch_angle_impedance:
-00eb 6fe0cbe4 fetch 1 ,mem_sensor_angle_high_impedance 
-00ec 67e0c928 store 1 ,mem_config_sensor_angle 
-00ed 20203f58 branch mouse_gpio_set_high_impedance 
+00c7 6fe0cbe4 fetch 1 ,mem_sensor_angle_high_impedance 
+00c8 67e0c928 store 1 ,mem_config_sensor_angle 
+00c9 20203f58 branch mouse_gpio_set_high_impedance 
 
 p_mouse_cb_fuction:
-00ee 580000f3 setarg p_mouse_24g_package_data 
-00ef 67e1489b store 2 ,mem_cb_24g_transmit_data 
-00f0 5800010f setarg p_mouse_24g_search_dongle 
-00f1 67e1489d store 2 ,mem_cb_24g_search_receiver 
-00f2 20203bd3 branch mouse_cb_fuction + 4 
+00ca 580000cf setarg p_mouse_24g_package_data 
+00cb 67e1489b store 2 ,mem_cb_24g_transmit_data 
+00cc 580000eb setarg p_mouse_24g_search_dongle 
+00cd 67e1489d store 2 ,mem_cb_24g_search_receiver 
+00ce 20203bd3 branch mouse_cb_fuction + 4 
 
 p_mouse_24g_package_data:
-00f3 c6930000 rtnmark0 mark_24g 
-00f4 20403f70 call mouse_motion 
-00f5 24740000 nrtn user 
-00f6 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-00f7 c30a80fa bbit0 mouse_enable_keyboard ,p_mouse_24g_mouse_package_data 
-00f8 6fe0cb8b fetch 1 ,mem_customer_key 
-00f9 243a4884 nbranch mouse_24g_keyboard_package_data ,blank 
+00cf c6930000 rtnmark0 mark_24g 
+00d0 20403f70 call mouse_motion 
+00d1 24740000 nrtn user 
+00d2 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+00d3 c30a80d6 bbit0 mouse_enable_keyboard ,p_mouse_24g_mouse_package_data 
+00d4 6fe0cb8b fetch 1 ,mem_customer_key 
+00d5 243a4884 nbranch mouse_24g_keyboard_package_data ,blank 
 
 p_mouse_24g_mouse_package_data:
-00fa 204042cb call mouse_data_xy_release 
-00fb 6fe0c836 fetch 1 ,mem_24g_data_type 
-00fc c2808109 bbit1 1 ,p_mouse_24g_mouse_package_data_now 
-00fd 6848c7c7 fetcht 1 ,mem_24g_txbuf + 1 
-00fe 6fe0c8d0 fetch 1 ,mem_mouse_key 
-00ff 9841fe00 ior temp ,pdata 
-0100 67e0c8d0 store 1 ,mem_mouse_key 
-0101 6848c7cc fetcht 1 ,mem_24g_txbuf + 6 
-0102 6fe0c8d5 fetch 1 ,mem_mouse_z 
-0103 9840fe00 iadd temp ,pdata 
-0104 67e0c8d5 store 1 ,mem_mouse_z 
-0105 6848c7cd fetcht 1 ,mem_24g_txbuf + 7 
-0106 6fe0c8d6 fetch 1 ,mem_mouse_tz 
-0107 9840fe00 iadd temp ,pdata 
-0108 67e0c8d6 store 1 ,mem_mouse_tz 
+00d6 204042cb call mouse_data_xy_release 
+00d7 6fe0c836 fetch 1 ,mem_24g_data_type 
+00d8 c28080e5 bbit1 1 ,p_mouse_24g_mouse_package_data_now 
+00d9 6848c7c7 fetcht 1 ,mem_24g_txbuf + 1 
+00da 6fe0c8d0 fetch 1 ,mem_mouse_key 
+00db 9841fe00 ior temp ,pdata 
+00dc 67e0c8d0 store 1 ,mem_mouse_key 
+00dd 6848c7cc fetcht 1 ,mem_24g_txbuf + 6 
+00de 6fe0c8d5 fetch 1 ,mem_mouse_z 
+00df 9840fe00 iadd temp ,pdata 
+00e0 67e0c8d5 store 1 ,mem_mouse_z 
+00e1 6848c7cd fetcht 1 ,mem_24g_txbuf + 7 
+00e2 6fe0c8d6 fetch 1 ,mem_mouse_tz 
+00e3 9840fe00 iadd temp ,pdata 
+00e4 67e0c8d6 store 1 ,mem_mouse_tz 
 
 p_mouse_24g_mouse_package_data_now:
-0109 70483601 jam type_ms ,mem_24g_data_type 
-010a da200007 arg 7 ,rega 
-010b da4048d0 arg mem_mouse_key ,regb 
-010c 6fe148d5 fetch 2 ,mem_mouse_z 
-010d 207a0000 rtn blank 
-010e 202026e1 branch g24_transmit_by_interrupt_enable 
+00e5 70483601 jam type_ms ,mem_24g_data_type 
+00e6 da200007 arg 7 ,rega 
+00e7 da4048d0 arg mem_mouse_key ,regb 
+00e8 6fe148d5 fetch 2 ,mem_mouse_z 
+00e9 207a0000 rtn blank 
+00ea 202026e1 branch g24_transmit_by_interrupt_enable 
 
 p_mouse_24g_search_dongle:
-010f 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0110 c40b0000 rtnbit0 mouse_enable_24g_search_dongle 
-0111 6fe0caae fetch 1 ,mem_mouse_long_mult_flag 
-0112 207a0000 rtn blank 
-0113 6fe0c8a7 fetch 1 ,mem_24g_abort_pac 
-0114 207a0000 rtn blank 
-0115 6fe0cba1 fetch 1 ,mem_mouse_search_dongle_interval 
-0116 1fe0fe01 increase 1 ,pdata 
-0117 1fe17e03 and_into 3 ,pdata 
-0118 67e0cba1 store 1 ,mem_mouse_search_dongle_interval 
-0119 247a0000 nrtn blank 
-011a 704ba200 jam 0 ,mem_mouse_search_dongle_ch 
+00eb 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+00ec c40b0000 rtnbit0 mouse_enable_24g_search_dongle 
+00ed 6fe0caae fetch 1 ,mem_mouse_long_mult_flag 
+00ee 207a0000 rtn blank 
+00ef 6fe0c8a7 fetch 1 ,mem_24g_abort_pac 
+00f0 207a0000 rtn blank 
+00f1 6fe0cba1 fetch 1 ,mem_mouse_search_dongle_interval 
+00f2 1fe0fe01 increase 1 ,pdata 
+00f3 1fe17e03 and_into 3 ,pdata 
+00f4 67e0cba1 store 1 ,mem_mouse_search_dongle_interval 
+00f5 247a0000 nrtn blank 
+00f6 704ba200 jam 0 ,mem_mouse_search_dongle_ch 
 
 p_mouse_24g_search_dongle_loop:
-011b 6fe0cba2 fetch 1 ,mem_mouse_search_dongle_ch 
-011c 1fe0fe01 increase 1 ,pdata 
-011d 67e0cba2 store 1 ,mem_mouse_search_dongle_ch 
-011e 1fe67c08 sub pdata ,g24_ch_number ,null 
-011f 24210125 nbranch p_mouse_24g_search_dongle_loop_end ,positive 
-0120 2040259a call g24_reconn_data_prep 
-0121 2040265b call g24_transmit_receive_ack 
-0122 242c012b nbranch p_mouse_24g_search_dongle_loop_retry ,sync 
-0123 2437812b nbranch p_mouse_24g_search_dongle_loop_retry ,user3 
-0124 204048b5 call mouse_24g_search_dongle_success 
+00f7 6fe0cba2 fetch 1 ,mem_mouse_search_dongle_ch 
+00f8 1fe0fe01 increase 1 ,pdata 
+00f9 67e0cba2 store 1 ,mem_mouse_search_dongle_ch 
+00fa 1fe67c08 sub pdata ,g24_ch_number ,null 
+00fb 24210101 nbranch p_mouse_24g_search_dongle_loop_end ,positive 
+00fc 2040259a call g24_reconn_data_prep 
+00fd 2040265b call g24_transmit_receive_ack 
+00fe 242c0107 nbranch p_mouse_24g_search_dongle_loop_retry ,sync 
+00ff 24378107 nbranch p_mouse_24g_search_dongle_loop_retry ,user3 
+0100 204048b5 call mouse_24g_search_dongle_success 
 
 p_mouse_24g_search_dongle_loop_end:
-0125 20402597 call g24_txbuf_clear 
-0126 6fe0cba3 fetch 1 ,mem_mouse_search_dongle_count 
-0127 1fe0fe01 increase 1 ,pdata 
-0128 67e0cba3 store 1 ,mem_mouse_search_dongle_count 
-0129 c008012d beq g24_ch_poll_count ,p_mouse_24g_search_dongle_check 
-012a 20600000 rtn 
+0101 20402597 call g24_txbuf_clear 
+0102 6fe0cba3 fetch 1 ,mem_mouse_search_dongle_count 
+0103 1fe0fe01 increase 1 ,pdata 
+0104 67e0cba3 store 1 ,mem_mouse_search_dongle_count 
+0105 c0080109 beq g24_ch_poll_count ,p_mouse_24g_search_dongle_check 
+0106 20600000 rtn 
 
 p_mouse_24g_search_dongle_loop_retry:
-012b 204022cb call g24_ch 
-012c 2020011b branch p_mouse_24g_search_dongle_loop 
+0107 204022cb call g24_ch 
+0108 202000f7 branch p_mouse_24g_search_dongle_loop 
 
 p_mouse_24g_search_dongle_check:
-012d 704ba300 jam 0 ,mem_mouse_search_dongle_count 
-012e 6fe0cba4 fetch 1 ,mem_mouse_search_dongle_action 
-012f c3800000 rtnbit1 g24_disconn_state 
-0130 79207e00 set1 g24_disconn_state ,pdata 
-0131 67e0cba4 store 1 ,mem_mouse_search_dongle_action 
-0132 6fe14bbc fetch 2 ,mem_mouse_24g_search_dongle_time_init 
-0133 67e14ab2 store 2 ,mem_mouse_no_data_timer 
-0134 20200240 branch p_mouse_sensor_powerdown 
+0109 704ba300 jam 0 ,mem_mouse_search_dongle_count 
+010a 6fe0cba4 fetch 1 ,mem_mouse_search_dongle_action 
+010b c3800000 rtnbit1 g24_disconn_state 
+010c 79207e00 set1 g24_disconn_state ,pdata 
+010d 67e0cba4 store 1 ,mem_mouse_search_dongle_action 
+010e 6fe14bbc fetch 2 ,mem_mouse_24g_search_dongle_time_init 
+010f 67e14ab2 store 2 ,mem_mouse_no_data_timer 
+0110 2020023e branch p_mouse_sensor_powerdown 
 
 p_g24_pair_dispatch:
-0135 6fe14c0c fetch 2 ,mem_24g_pair_count 
-0136 1fe0fe01 increase 1 ,pdata 
-0137 67e14c0c store 2 ,mem_24g_pair_count 
-0138 6fe0cc0c fetch 1 ,mem_24g_pair_count 
-0139 1fe17eff and pdata ,0xff ,pdata 
-013a c0002341 beq 0 ,g24_pair_dispatch + 1 
-013b 20600000 rtn 
+0111 6fe14c0c fetch 2 ,mem_24g_pair_count 
+0112 1fe0fe01 increase 1 ,pdata 
+0113 67e14c0c store 2 ,mem_24g_pair_count 
+0114 6fe0cc0c fetch 1 ,mem_24g_pair_count 
+0115 1fe17eff and pdata ,0xff ,pdata 
+0116 c0002341 beq 0 ,g24_pair_dispatch + 1 
+0117 20600000 rtn 
 
 p_g24_reconn_dispatch:
-013c 6fe14889 fetch 2 ,mem_24g_reconn_count 
-013d 1fe17eff and pdata ,0xff ,pdata 
-013e c0000143 beq 0 ,p_g24_reconn_dispatch_next 
-013f 6fe14889 fetch 2 ,mem_24g_reconn_count 
-0140 1fe0fe01 increase 1 ,pdata 
-0141 67e14889 store 2 ,mem_24g_reconn_count 
-0142 20600000 rtn 
+0118 6fe14889 fetch 2 ,mem_24g_reconn_count 
+0119 1fe17eff and pdata ,0xff ,pdata 
+011a c000011f beq 0 ,p_g24_reconn_dispatch_next 
+011b 6fe14889 fetch 2 ,mem_24g_reconn_count 
+011c 1fe0fe01 increase 1 ,pdata 
+011d 67e14889 store 2 ,mem_24g_reconn_count 
+011e 20600000 rtn 
 
 p_g24_reconn_dispatch_next:
-0143 2040259a call g24_reconn_data_prep 
-0144 2040265b call g24_transmit_receive_ack 
-0145 242c0149 nbranch p_g24_reconn_device_fail ,sync 
-0146 24378149 nbranch p_g24_reconn_device_fail ,user3 
-0147 20402672 call g24_ackpayload_parse 
-0148 20202586 branch g24_reconn_receiver_succ 
+011f 2040259a call g24_reconn_data_prep 
+0120 2040265b call g24_transmit_receive_ack 
+0121 242c0125 nbranch p_g24_reconn_device_fail ,sync 
+0122 24378125 nbranch p_g24_reconn_device_fail ,user3 
+0123 20402672 call g24_ackpayload_parse 
+0124 20202586 branch g24_reconn_receiver_succ 
 
 p_g24_reconn_device_fail:
-0149 6fe0c88c fetch 1 ,mem_24g_fast_conn_enable 
-014a 203a22cb branch g24_ch ,blank 
-014b 6fe14889 fetch 2 ,mem_24g_reconn_count 
-014c 1fe0fe01 increase 1 ,pdata 
-014d 67e14889 store 2 ,mem_24g_reconn_count 
-014e 6fe0c88a fetch 1 ,mem_24g_reconn_count + 1 
-014f 2feffe00 isolate1 0 ,pdata 
-0150 6fe0c88b fetch 1 ,mem_24g_reconn_type 
-0151 c000a5ad beq fast_conn_and_receiver ,g24_reconn_fast_conn_and_receiver 
-0152 c00125af beq fast_conn_and_3_0_addr ,g24_reconn_fast_conn_and_3_0 
-0153 c001a5b1 beq receiver_and_3_0_addr ,g24_reconn_receiver_and_3_0 
-0154 c00225b3 beq pair_and_3_0_addr ,g24_reconn_pair_and_3_0 
-0155 2020256e branch g24_reconn_receiver_addr 
+0125 6fe0c88c fetch 1 ,mem_24g_fast_conn_enable 
+0126 203a22cb branch g24_ch ,blank 
+0127 6fe14889 fetch 2 ,mem_24g_reconn_count 
+0128 1fe0fe01 increase 1 ,pdata 
+0129 67e14889 store 2 ,mem_24g_reconn_count 
+012a 6fe0c88a fetch 1 ,mem_24g_reconn_count + 1 
+012b 2feffe00 isolate1 0 ,pdata 
+012c 6fe0c88b fetch 1 ,mem_24g_reconn_type 
+012d c000a5ad beq fast_conn_and_receiver ,g24_reconn_fast_conn_and_receiver 
+012e c00125af beq fast_conn_and_3_0_addr ,g24_reconn_fast_conn_and_3_0 
+012f c001a5b1 beq receiver_and_3_0_addr ,g24_reconn_receiver_and_3_0 
+0130 c00225b3 beq pair_and_3_0_addr ,g24_reconn_pair_and_3_0 
+0131 2020256e branch g24_reconn_receiver_addr 
 
 p_g24_transmit_no_interrupt:
-0156 20402631 call g24_txdata_prep 
-0157 24340165 nbranch p_g24_nodata_transmit ,user 
+0132 20402631 call g24_txdata_prep 
+0133 24340141 nbranch p_g24_nodata_transmit ,user 
 
 p_g24_transmit_start:
-0158 20400179 call p_g24_transmit_process 
-0159 204026ee call power_ctrl_start 
-015a 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
-015b 243a0160 nbranch p_g24_short_sleep ,blank 
-015c 6fe448b0 fetch 8 ,mem_24g_long_sleep_set 
-015d 67e4485c store 8 ,mem_24g_enter_hibernate 
-015e 6fe148c2 fetch 2 ,mem_24g_long_sleep_param_update_timer_init 
-015f 67e148c4 store 2 ,mem_24g_long_sleep_param_update_timer 
+0134 20400155 call p_g24_transmit_process 
+0135 204026ee call power_ctrl_start 
+0136 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+0137 243a013c nbranch p_g24_short_sleep ,blank 
+0138 6fe448b0 fetch 8 ,mem_24g_long_sleep_set 
+0139 67e4485c store 8 ,mem_24g_enter_hibernate 
+013a 6fe148c2 fetch 2 ,mem_24g_long_sleep_param_update_timer_init 
+013b 67e148c4 store 2 ,mem_24g_long_sleep_param_update_timer 
 
 p_g24_short_sleep:
-0160 204026bb call g24_lpm_wait 
-0161 24740000 nrtn user 
-0162 20407fdc call clear_wake 
-0163 6fe1c8ad fetch 3 ,mem_24g_short_sleep_set 
-0164 202026b8 branch g24_long_sleep2 
+013c 204026bb call g24_lpm_wait 
+013d 24740000 nrtn user 
+013e 20407fdc call clear_wake 
+013f 6fe1c8ad fetch 3 ,mem_24g_short_sleep_set 
+0140 202026b8 branch g24_long_sleep2 
 
 p_g24_nodata_transmit:
-0165 6fe0c8a7 fetch 1 ,mem_24g_abort_pac 
-0166 205a016b call p_g24_send_abort_packet ,blank 
-0167 6fe0c8bd fetch 1 ,mem_24g_transmit_by_interrupt 
-0168 c1008000 rtneq g24_tx_timer_int_enable 
-0169 2040269f call g24_search_receiver 
-016a 202026b5 branch g24_long_sleep 
+0141 6fe0c8a7 fetch 1 ,mem_24g_abort_pac 
+0142 205a0147 call p_g24_send_abort_packet ,blank 
+0143 6fe0c8bd fetch 1 ,mem_24g_transmit_by_interrupt 
+0144 c1008000 rtneq g24_tx_timer_int_enable 
+0145 2040269f call g24_search_receiver 
+0146 202026b5 branch g24_long_sleep 
 
 p_g24_send_abort_packet:
-016b 70483601 jam type_ms ,mem_24g_data_type 
-016c 7048a701 jam 1 ,mem_24g_abort_pac 
-016d 20402642 call g24_transmit_rf_ctrl_clear 
-016e 67e0c7c6 store 1 ,mem_24g_txbuf 
-016f 58000000 setarg 0 
-0170 67e3c7c7 store 7 ,mem_24g_txbuf + 1 
-0171 6fe248a9 fetch 4 ,mem_24g_device_addr 
-0172 67e247ce store 4 ,mem_24g_txbuf + 8 
-0173 7048350c jam 12 ,mem_24g_datalen 
-0174 6fe0c836 fetch 1 ,mem_24g_data_type 
-0175 79207e03 set1 bit_abort ,pdata 
-0176 67e0c836 store 1 ,mem_24g_data_type 
-0177 20402291 call g24_transmit_prep 
-0178 20200158 branch p_g24_transmit_start 
+0147 70483601 jam type_ms ,mem_24g_data_type 
+0148 7048a701 jam 1 ,mem_24g_abort_pac 
+0149 20402642 call g24_transmit_rf_ctrl_clear 
+014a 67e0c7c6 store 1 ,mem_24g_txbuf 
+014b 58000000 setarg 0 
+014c 67e3c7c7 store 7 ,mem_24g_txbuf + 1 
+014d 6fe248a9 fetch 4 ,mem_24g_device_addr 
+014e 67e247ce store 4 ,mem_24g_txbuf + 8 
+014f 7048350c jam 12 ,mem_24g_datalen 
+0150 6fe0c836 fetch 1 ,mem_24g_data_type 
+0151 79207e03 set1 bit_abort ,pdata 
+0152 67e0c836 store 1 ,mem_24g_data_type 
+0153 20402291 call g24_transmit_prep 
+0154 20200134 branch p_g24_transmit_start 
 
 p_g24_transmit_process:
-0179 7048a600 jam 0 ,mem_24g_retry 
+0155 7048a600 jam 0 ,mem_24g_retry 
 
 p_g24_transmit_loop:
-017a 6961015f fetchr timeup ,2 ,mem_param_rx_setup 
-017b 34730200 until clkn_rt ,meet 
-017c 2040265b call g24_transmit_receive_ack 
-017d 6fe0c82c fetch 1 ,mem_24g_no_ack 
-017e c000a651 beq no_ack_24g ,g24_transmit_no_ack 
-017f 242c0188 nbranch p_g24_retransmit ,sync 
-0180 24378188 nbranch p_g24_retransmit ,user3 
-0181 20402672 call g24_ackpayload_parse 
-0182 20400184 call p_mouse_wakeup_24g 
-0183 20202651 branch g24_transmit_no_ack 
+0156 6961015f fetchr timeup ,2 ,mem_param_rx_setup 
+0157 34730200 until clkn_rt ,meet 
+0158 2040265b call g24_transmit_receive_ack 
+0159 6fe0c82c fetch 1 ,mem_24g_no_ack 
+015a c000a651 beq no_ack_24g ,g24_transmit_no_ack 
+015b 242c0164 nbranch p_g24_retransmit ,sync 
+015c 24378164 nbranch p_g24_retransmit ,user3 
+015d 20402672 call g24_ackpayload_parse 
+015e 20400160 call p_mouse_wakeup_24g 
+015f 20202651 branch g24_transmit_no_ack 
 
 p_mouse_wakeup_24g:
-0184 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
-0185 245a0217 ncall p_mouse_init_sensor_wakeup ,blank 
-0186 704be100 jam 0 ,mem_sensor_shutdown_flag 
-0187 20600000 rtn 
+0160 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+0161 245a0215 ncall p_mouse_init_sensor_wakeup ,blank 
+0162 704be100 jam 0 ,mem_sensor_shutdown_flag 
+0163 20600000 rtn 
 
 p_g24_retransmit:
-0188 6fe0c8a7 fetch 1 ,mem_24g_abort_pac 
-0189 247a0000 nrtn blank 
-018a 6fe148a3 fetch 2 ,mem_24g_txfail_cnt 
-018b 1fe0fe01 increase 1 ,pdata 
-018c 67e148a3 store 2 ,mem_24g_txfail_cnt 
-018d 6fe0c8a4 fetch 1 ,mem_24g_txfail_cnt + 1 
-018e c280a679 bbit1 1 ,g24_tx_attempt_fail 
-018f 2040267e call g24_transmit_hop_process 
-0190 20400192 call p_delay_40ms 
-0191 2020017a branch p_g24_transmit_loop 
+0164 6fe0c8a7 fetch 1 ,mem_24g_abort_pac 
+0165 247a0000 nrtn blank 
+0166 6fe148a3 fetch 2 ,mem_24g_txfail_cnt 
+0167 1fe0fe01 increase 1 ,pdata 
+0168 67e148a3 store 2 ,mem_24g_txfail_cnt 
+0169 6fe0c8a4 fetch 1 ,mem_24g_txfail_cnt + 1 
+016a c280a679 bbit1 1 ,g24_tx_attempt_fail 
+016b 2040267e call g24_transmit_hop_process 
+016c 2040016e call p_delay_40ms 
+016d 20200156 branch p_g24_transmit_loop 
 
 p_delay_40ms:
-0192 6fe0c8a4 fetch 1 ,mem_24g_txfail_cnt + 1 
-0193 1fe67c00 sub pdata ,0x00 ,null 
-0194 20610000 rtn positive 
-0195 df200028 arg 40 ,loopcnt 
+016e 6fe0c8a4 fetch 1 ,mem_24g_txfail_cnt + 1 
+016f 1fe67c00 sub pdata ,0x00 ,null 
+0170 20610000 rtn positive 
+0171 df200028 arg 40 ,loopcnt 
 
 p_delay_ms_wait:
-0196 20002ee0 nop 12000 
-0197 c2007d13 loop delay_ms_wait 
-0198 20600000 rtn 
+0172 20002ee0 nop 12000 
+0173 c2007d13 loop delay_ms_wait 
+0174 20600000 rtn 
 
 p_mouse_app_enter_hibernate:
-0199 58000006 setarg pan_reg_config 
-019a 20405b0d call twspi_read 
-019b c281be23 bbit1 3 ,mouse_app_enter_hibernate + 3 
-019c 20400239 call p_mouse_sensor_reset 
-019d 20400240 call p_mouse_sensor_powerdown 
-019e 20203e23 branch mouse_app_enter_hibernate + 3 
+0175 58000006 setarg pan_reg_config 
+0176 20405b0d call twspi_read 
+0177 c281be23 bbit1 3 ,mouse_app_enter_hibernate + 3 
+0178 20400237 call p_mouse_sensor_reset 
+0179 2040023e call p_mouse_sensor_powerdown 
+017a 20203e23 branch mouse_app_enter_hibernate + 3 
 
 p_mouse_setgpio_hibernate:
-019f 204042e9 call mouse_set_sdio_high 
-01a0 20407fdc call clear_wake 
-01a1 20404015 call mouse_before_hibernate_wheel_gpio_set 
-01a2 6848c910 fetcht 1 ,mem_matrix_public_gpio 
-01a3 20406069 call gpio_out_active 
-01a4 6848c910 fetcht 1 ,mem_matrix_public_gpio 
-01a5 20406042 call gpio_clr_wake 
-01a6 6fe0c920 fetch 1 ,mem_mouse_sensor_sdio_gpio 
-01a7 d840003f arg gpcfg_output_high ,temp 
-01a8 20406093 call gpio_config_function_int 
-01a9 20203e36 branch mouse_setgpio_hibernate + 3 
+017b 204042e9 call mouse_set_sdio_high 
+017c 20407fdc call clear_wake 
+017d 20404015 call mouse_before_hibernate_wheel_gpio_set 
+017e 6848c910 fetcht 1 ,mem_matrix_public_gpio 
+017f 20406069 call gpio_out_active 
+0180 6848c910 fetcht 1 ,mem_matrix_public_gpio 
+0181 20406042 call gpio_clr_wake 
+0182 6fe0c920 fetch 1 ,mem_mouse_sensor_sdio_gpio 
+0183 d840003f arg gpcfg_output_high ,temp 
+0184 20406093 call gpio_config_function_int 
+0185 20203e36 branch mouse_setgpio_hibernate + 3 
 
 p_mouse_lpm_before_common:
-01aa 20403f88 call mouse_wheel_check 
-01ab 6fe0c91f fetch 1 ,mem_mouse_sensor_sclk_gpio 
-01ac d840003f arg gpcfg_output_high ,temp 
-01ad 20406093 call gpio_config_function_int 
-01ae 20405b04 call twspi_disable 
-01af 6848c918 fetcht 1 ,mem_lbutton_gpio 
-01b0 20406036 call gpio_set_wake 
-01b1 6848c919 fetcht 1 ,mem_rbutton_gpio 
-01b2 20406036 call gpio_set_wake 
-01b3 6848c91a fetcht 1 ,mem_mbutton_gpio 
-01b4 20406036 call gpio_set_wake 
-01b5 6848c90d fetcht 1 ,mem_bk_button_gpio 
-01b6 20406036 call gpio_set_wake 
-01b7 6848c90e fetcht 1 ,mem_fw_button_gpio 
-01b8 20406036 call gpio_set_wake 
-01b9 6848c90f fetcht 1 ,mem_dpi_button_gpio 
-01ba 20206036 branch gpio_set_wake 
+0186 20403f88 call mouse_wheel_check 
+0187 6fe0c91f fetch 1 ,mem_mouse_sensor_sclk_gpio 
+0188 d840003f arg gpcfg_output_high ,temp 
+0189 20406093 call gpio_config_function_int 
+018a 20405b04 call twspi_disable 
+018b 6848c918 fetcht 1 ,mem_lbutton_gpio 
+018c 20406036 call gpio_set_wake 
+018d 6848c919 fetcht 1 ,mem_rbutton_gpio 
+018e 20406036 call gpio_set_wake 
+018f 6848c91a fetcht 1 ,mem_mbutton_gpio 
+0190 20406036 call gpio_set_wake 
+0191 6848c90d fetcht 1 ,mem_bk_button_gpio 
+0192 20406036 call gpio_set_wake 
+0193 6848c90e fetcht 1 ,mem_fw_button_gpio 
+0194 20406036 call gpio_set_wake 
+0195 6848c90f fetcht 1 ,mem_dpi_button_gpio 
+0196 20206036 branch gpio_set_wake 
 
 p_mouse_24g_hibernate_set:
-01bb 7048a500 jam 0 ,mem_24g_attempt_fail_flag 
-01bc 20402652 call g24_transmit_next_packet 
-01bd 5fffffff setarg -1 
-01be 67e2485c store 4 ,mem_24g_enter_hibernate 
-01bf 58000000 setarg 0 
-01c0 67e3c8d0 store 7 ,mem_mouse_key 
-01c1 704be101 jam 1 ,mem_sensor_shutdown_flag 
-01c2 20400240 call p_mouse_sensor_powerdown 
-01c3 20403e33 call mouse_setgpio_hibernate 
-01c4 202026b5 branch g24_long_sleep 
+0197 7048a500 jam 0 ,mem_24g_attempt_fail_flag 
+0198 20402652 call g24_transmit_next_packet 
+0199 5fffffff setarg -1 
+019a 67e2485c store 4 ,mem_24g_enter_hibernate 
+019b 58000000 setarg 0 
+019c 67e3c8d0 store 7 ,mem_mouse_key 
+019d 704be101 jam 1 ,mem_sensor_shutdown_flag 
+019e 2040023e call p_mouse_sensor_powerdown 
+019f 20403e33 call mouse_setgpio_hibernate 
+01a0 202026b5 branch g24_long_sleep 
 
 p_mouse_priority_bb_event:
-01c5 1a627e00 copy regc ,pdata 
-01c6 c01e01dd beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
-01c7 c01901ca beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
-01c8 c02201d1 beq bt_evt_le_parse_conn_param_accepted ,p_mouse_le_parse_conn_param_accepted 
-01c9 20204336 branch mouse_priority_bb_event + 2 
+01a1 1a627e00 copy regc ,pdata 
+01a2 c01c81bb beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
+01a3 c01e01bd beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
+01a4 c01d01c3 beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
+01a5 c01901a8 beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
+01a6 c02201af beq bt_evt_le_parse_conn_param_accepted ,p_mouse_le_parse_conn_param_accepted 
+01a7 20204336 branch mouse_priority_bb_event + 2 
 
 p_mouse_le_ll_start_encryt:
-01ca 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
-01cb c00081ce beq 1 ,p_mouse_le_ll_reconn_start_encryt 
-01cc 704b7614 jam 20 ,mem_le_start_encrypt_timer 
-01cd 20204373 branch mouse_le_ll_enable_start_enc_flag 
+01a8 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
+01a9 c00081ac beq 1 ,p_mouse_le_ll_reconn_start_encryt 
+01aa 704b7614 jam 20 ,mem_le_start_encrypt_timer 
+01ab 20204373 branch mouse_le_ll_enable_start_enc_flag 
 
 p_mouse_le_ll_reconn_start_encryt:
-01ce 2040436c call mouse_updata_le_param 
-01cf 704b7605 jam 5 ,mem_le_start_encrypt_timer 
-01d0 20204373 branch mouse_le_ll_enable_start_enc_flag 
+01ac 2040436c call mouse_updata_le_param 
+01ad 704b7605 jam 5 ,mem_le_start_encrypt_timer 
+01ae 20204373 branch mouse_le_ll_enable_start_enc_flag 
 
 p_mouse_le_parse_conn_param_accepted:
-01d1 6fe082c1 fetch 1 ,mem_le_new_conninterval 
-01d2 1fe67c0c sub pdata ,le_interval_15ms ,null 
-01d3 24214384 nbranch mouse_le_conn_param_lpm_disable ,positive 
-01d4 67e14372 store 2 ,mem_le_interval_min 
-01d5 67e14374 store 2 ,mem_le_interval_min + 2 
-01d6 6fe082c3 fetch 1 ,mem_le_new_connslavelatency 
-01d7 6848cb8a fetcht 1 ,mem_lpm_mult_init 
-01d8 98467c00 isub temp ,null 
-01d9 2021439a branch mouse_le_lpm_mult_reinit ,positive 
-01da 6fe082c3 fetch 1 ,mem_le_new_connslavelatency 
-01db 67e0cb8a store 1 ,mem_lpm_mult_init 
-01dc 20204386 branch mouse_le_conn_param_lpm_enable 
+01af 6fe082c1 fetch 1 ,mem_le_new_conninterval 
+01b0 1fe67c0c sub pdata ,le_interval_15ms ,null 
+01b1 24214384 nbranch mouse_le_conn_param_lpm_disable ,positive 
+01b2 67e14372 store 2 ,mem_le_interval_min 
+01b3 67e14374 store 2 ,mem_le_interval_min + 2 
+01b4 6fe082c3 fetch 1 ,mem_le_new_connslavelatency 
+01b5 6848cb8a fetcht 1 ,mem_lpm_mult_init 
+01b6 98467c00 isub temp ,null 
+01b7 2021439a branch mouse_le_lpm_mult_reinit ,positive 
+01b8 6fe082c3 fetch 1 ,mem_le_new_connslavelatency 
+01b9 67e0cb8a store 1 ,mem_lpm_mult_init 
+01ba 20204386 branch mouse_le_conn_param_lpm_enable 
+
+p_mouse_24g_pairing_complete:
+01bb 20400281 call p_mouse_discovey_led_blink_off 
+01bc 20204857 branch mouse_24g_pairing_complete 
 
 p_mouse_24g_attempt_success:
-01dd 6fe2483c fetch 4 ,mem_24g_addr 
-01de 67e24891 store 4 ,mem_24g_receiver_addr 
-01df 67e24993 store 4 ,mem_mouse_24g_addr 
-01e0 204048c6 call mouse_device_poweron_timer_init 
-01e1 2020484e branch mouse_24g_attempt_success 
+01bd 20400281 call p_mouse_discovey_led_blink_off 
+01be 6fe2483c fetch 4 ,mem_24g_addr 
+01bf 67e24891 store 4 ,mem_24g_receiver_addr 
+01c0 67e24993 store 4 ,mem_mouse_24g_addr 
+01c1 204048c6 call mouse_device_poweron_timer_init 
+01c2 2020484e branch mouse_24g_attempt_success 
+
+p_mouse_24g_attempt_fail:
+01c3 6fe0c8a5 fetch 1 ,mem_24g_attempt_fail_flag 
+01c4 243a0197 nbranch p_mouse_24g_hibernate_set ,blank 
+01c5 6fe0c88b fetch 1 ,mem_24g_reconn_type 
+01c6 c00101cb beq fast_conn_and_3_0_addr ,p_mouse_24g_fast_conn_attempt_fail 
+01c7 c00201da beq pair_and_3_0_addr ,p_mouse_24g_auto_pair_attempt_fail 
+01c8 c00181e1 beq receiver_and_3_0_addr ,p_mouse_reconn_dongle_attempt_fail 
+01c9 20400281 call p_mouse_multi_led_blink_off 
+01ca 2020483a branch mouse_24g_attempt_fail_enter_hibernate + 1 
+
+p_mouse_24g_fast_conn_attempt_fail:
+01cb 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+01cc c29781d8 bbit1 mouse_enable_24g_first_auto_pairing ,p_mouse_24g_start_auto_pair 
+01cd c29801d8 bbit1 mouse_enable_auto_24g_paring ,p_mouse_24g_start_auto_pair 
+01ce 20204806 branch mouse_24g_reconn_dongle_start 
+
+p_mouse_24g_start_pair_mode:
+01cf 7041e89e jam tx_power_f30db ,mem_tx_power 
+01d0 d8e00001 arg mouse_24g_pairing_flag ,queue 
+01d1 204046f0 call mouse_enable_function_flag 
+01d2 58000000 setarg 0 
+01d3 67e14887 store 2 ,mem_24g_reconn_timeout 
+01d4 20404576 call mouse_stop_discovery 
+01d5 2040498e call mouse_low_voltage_led_blink_disable 
+01d6 2040026a call p_mouse_discovery_multi_led_blink 
+01d7 2020482e branch mouse_24g_start_pair_mode + 7 
+
+p_mouse_24g_start_auto_pair:
+01d8 2040026a call p_mouse_discovery_multi_led_blink 
+01d9 20204812 branch mouse_24g_start_auto_pair + 1 
+
+p_mouse_24g_auto_pair_attempt_fail:
+01da 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+01db c31781df bbit0 mouse_enable_24g_first_auto_pairing ,p_mouse_24g_attempt_fail_enter_hibernate 
+01dc 6fe0cbb4 fetch 1 ,mem_device_number 
+01dd c00081df beq 1 ,p_mouse_24g_attempt_fail_enter_hibernate 
+01de 2020481a branch mouse_24g_first_bluetooth_reconnect 
+
+p_mouse_24g_attempt_fail_enter_hibernate:
+01df 20400281 call p_mouse_multi_led_blink_off 
+01e0 2020483a branch mouse_24g_attempt_fail_enter_hibernate + 1 
+
+p_mouse_reconn_dongle_attempt_fail:
+01e1 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+01e2 c31781df bbit0 mouse_enable_24g_first_auto_pairing ,p_mouse_24g_attempt_fail_enter_hibernate 
+01e3 c28981df bbit1 mouse_enable_eeprom ,p_mouse_24g_attempt_fail_enter_hibernate 
+01e4 c28901df bbit1 mouse_enable_flash ,p_mouse_24g_attempt_fail_enter_hibernate 
+01e5 20204812 branch mouse_24g_start_auto_pair + 1 
 
 p_mouse_start_work:
-01e2 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-01e3 c297c80a bbit1 mouse_enable_24g_first_auto_pairing ,mouse_24g_first_start_auto_pair_mode 
-01e4 6fe0c938 fetch 1 ,mem_device_flag 
-01e5 c00001e7 beq mode_24g_device ,p_mouse_24g_start_mode 
-01e6 20203d57 branch mouse_start_work + 5 
+01e6 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+01e7 c297c80a bbit1 mouse_enable_24g_first_auto_pairing ,mouse_24g_first_start_auto_pair_mode 
+01e8 6fe0c938 fetch 1 ,mem_device_flag 
+01e9 c00001eb beq mode_24g_device ,p_mouse_24g_start_mode 
+01ea 20203d57 branch mouse_start_work + 5 
 
 p_mouse_24g_start_mode:
-01e7 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-01e8 c308c803 bbit0 mouse_enable_24g ,mouse_24g_mode_setup_error 
-01e9 20403d65 call mouse_wakeup_from_power_check 
-01ea 20344806 branch mouse_24g_reconn_dongle_start ,user 
 01eb 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-01ec c298480c bbit1 mouse_enable_auto_24g_paring ,mouse_24g_reconn_general_dongle 
-01ed c318c80c bbit0 mouse_enable_24g_power_on_pairing ,mouse_24g_reconn_general_dongle 
-01ee 20404110 call mouse_key_check_once 
-01ef 1a217e07 and rega ,0x07 ,pdata 
-01f0 6848cbcb fetcht 1 ,mem_mouse_commbination_key_24g 
-01f1 98467c00 isub temp ,null 
-01f2 202281f4 branch p_mouse_24g_start_pair_mode ,zero 
-01f3 2020480c branch mouse_24g_reconn_general_dongle 
-
-p_mouse_24g_start_pair_mode:
-01f4 7041e89e jam tx_power_f30db ,mem_tx_power 
-01f5 20204827 branch mouse_24g_start_pair_mode 
+01ec c308c803 bbit0 mouse_enable_24g ,mouse_24g_mode_setup_error 
+01ed 20403d65 call mouse_wakeup_from_power_check 
+01ee 20344806 branch mouse_24g_reconn_dongle_start ,user 
+01ef 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+01f0 c298480c bbit1 mouse_enable_auto_24g_paring ,mouse_24g_reconn_general_dongle 
+01f1 c318c80c bbit0 mouse_enable_24g_power_on_pairing ,mouse_24g_reconn_general_dongle 
+01f2 20404110 call mouse_key_check_once 
+01f3 1a217e07 and rega ,0x07 ,pdata 
+01f4 6848cbcb fetcht 1 ,mem_mouse_commbination_key_24g 
+01f5 98467c00 isub temp ,null 
+01f6 202281cf branch p_mouse_24g_start_pair_mode ,zero 
+01f7 2020480c branch mouse_24g_reconn_general_dongle 
 
 p_mouse_seting_dpi:
-01f6 2040408f call mouse_setting_dpi_4_level 
-01f7 20400207 call p_mouse_dpi_led_blink_delay 
+01f8 2040408f call mouse_setting_dpi_4_level 
+01f9 20400209 call p_mouse_dpi_led_blink_delay 
 
 p_mouse_dpi_config:
 
 p_mouse_seting_sensor_type:
-01f8 6fe0c927 fetch 1 ,mem_config_sensor_type 
-01f9 c001c0bb beq p3212 ,mouse_seting_3212_dpi 
-01fa c0058202 beq ka8g2 ,p_mouse_seting_ka8g2_dpi 
-01fb c000409b beq p3205 ,mouse_seting_sensor_type + 3 
-01fc c000c09b beq p3065 ,mouse_seting_sensor_type + 3 
-01fd 6fe0c992 fetch 1 ,mem_mouse_dpi 
-01fe c00040a2 beq mouse_dpi_level1 ,mouse_set_cpi0 
-01ff c000c0a0 beq mouse_dpi_level2 ,mouse_set_cpi1 
-0200 c00140a6 beq mouse_dpi_level3 ,mouse_set_cpi3 
-0201 202040a0 branch mouse_set_cpi1 
+01fa 6fe0c927 fetch 1 ,mem_config_sensor_type 
+01fb c001c0bb beq p3212 ,mouse_seting_3212_dpi 
+01fc c0058204 beq ka8g2 ,p_mouse_seting_ka8g2_dpi 
+01fd c000409b beq p3205 ,mouse_seting_sensor_type + 3 
+01fe c000c09b beq p3065 ,mouse_seting_sensor_type + 3 
+01ff 6fe0c992 fetch 1 ,mem_mouse_dpi 
+0200 c00040a2 beq mouse_dpi_level1 ,mouse_set_cpi0 
+0201 c000c0a0 beq mouse_dpi_level2 ,mouse_set_cpi1 
+0202 c00140a6 beq mouse_dpi_level3 ,mouse_set_cpi3 
+0203 202040a0 branch mouse_set_cpi1 
 
 p_mouse_seting_ka8g2_dpi:
-0202 6fe0c992 fetch 1 ,mem_mouse_dpi 
-0203 c00040d6 beq mouse_dpi_level1 ,mouse_set_pka8g2_cpi0 
-0204 c000c0d4 beq mouse_dpi_level2 ,mouse_set_pka8g2_cpi1 
-0205 c00140d8 beq mouse_dpi_level3 ,mouse_set_pka8g2_cpi2 
-0206 202040d4 branch mouse_set_pka8g2_cpi1 
+0204 6fe0c992 fetch 1 ,mem_mouse_dpi 
+0205 c00040d6 beq mouse_dpi_level1 ,mouse_set_pka8g2_cpi0 
+0206 c000c0d4 beq mouse_dpi_level2 ,mouse_set_pka8g2_cpi1 
+0207 c00140d8 beq mouse_dpi_level3 ,mouse_set_pka8g2_cpi2 
+0208 202040d4 branch mouse_set_pka8g2_cpi1 
 
 p_mouse_dpi_led_blink_delay:
-0207 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
-0208 c17f8000 rtneq gpio_disable 
 0209 6fe14ac2 fetch 2 ,mem_mouse_discovery_timer 
 020a 247a0000 nrtn blank 
 020b 6fe14883 fetch 2 ,mem_24g_pair_timeout 
 020c 247a0000 nrtn blank 
 020d 6fe14887 fetch 2 ,mem_24g_reconn_timeout 
 020e 247a0000 nrtn blank 
-020f 6fe0cba7 fetch 1 ,mem_mouse_device_poweron_timer_count 
-0210 247a0000 nrtn blank 
-0211 6fe0cbc1 fetch 1 ,mem_mouse_dpi_led_delay_count_init 
-0212 203a0269 branch p_mouse_dpi_led_blink_init ,blank 
-0213 67e0cba8 store 1 ,mem_mouse_dpi_led_delay_count 
-0214 20600000 rtn 
+020f 6fe0cbc1 fetch 1 ,mem_mouse_dpi_led_delay_count_init 
+0210 203a02a2 branch p_mouse_dpi_led_blink_init ,blank 
+0211 67e0cba8 store 1 ,mem_mouse_dpi_led_delay_count 
+0212 20600000 rtn 
 
 p_mouse_init_sunt:
-0215 20403f65 call mouse_sensor_spi_init 
-0216 20758000 rtn wake 
+0213 20403f65 call mouse_sensor_spi_init 
+0214 20758000 rtn wake 
 
 p_mouse_init_sensor_wakeup:
-0217 20404236 call mouse_sensor_poweron 
+0215 20404236 call mouse_sensor_poweron 
 
 p_mouse_init_sensor:
-0218 204041b5 call mouse_read_sensor_id 
-0219 c018021f beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
-021a c018c217 beq p3065_id1 ,mouse_init_p3065 
-021b c02c4220 beq pka8g2_id1 ,mouse_ka8g2_id2_judge 
-021c 204041b2 call mouse_twspi_reset 
-021d 20001af4 nop 6900 
-021e 20200218 branch p_mouse_init_sensor 
+0216 204041b5 call mouse_read_sensor_id 
+0217 c018021d beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
+0218 c018c217 beq p3065_id1 ,mouse_init_p3065 
+0219 c02c4220 beq pka8g2_id1 ,mouse_ka8g2_id2_judge 
+021a 204041b2 call mouse_twspi_reset 
+021b 20001af4 nop 6900 
+021c 20200216 branch p_mouse_init_sensor 
 
 p_mouse_init_p32xx_id2_judge:
-021f 6fe0c9c2 fetch 1 ,mem_sensor_id2 
-0220 c02d0228 beq p_mx8650 ,p_mouse_mx8650_init_param 
-0221 c06c41cb beq p8009_id2 ,mouse_8009_init_param 
-0222 c068c1da beq p3205_tj3t_id2 ,mouse_3205_3t_init_param 
-0223 c06941e3 beq p3204_tj3l_id2 ,mouse_3204_3l_init_param 
-0224 c00141ea beq p3212_id2 ,mouse_3212_init_param 
-0225 c02a41ed beq pka8_id2 ,mouse_ka8_init_param_check 
-0226 c0284214 beq p6520a_id2 ,mouse_p6520_init_param 
-0227 20200218 branch p_mouse_init_sensor 
+021d 6fe0c9c2 fetch 1 ,mem_sensor_id2 
+021e c02d0226 beq p_mx8650 ,p_mouse_mx8650_init_param 
+021f c06c41cb beq p8009_id2 ,mouse_8009_init_param 
+0220 c068c1da beq p3205_tj3t_id2 ,mouse_3205_3t_init_param 
+0221 c06941e3 beq p3204_tj3l_id2 ,mouse_3204_3l_init_param 
+0222 c00141ea beq p3212_id2 ,mouse_3212_init_param 
+0223 c02a41ed beq pka8_id2 ,mouse_ka8_init_param_check 
+0224 c0284214 beq p6520a_id2 ,mouse_p6520_init_param 
+0225 20200216 branch p_mouse_init_sensor 
 
 p_mouse_mx8650_init_param:
-0228 70492705 jam mx8650 ,mem_config_sensor_type 
-0229 20404232 call mouse_sensor_reset 
-022a 20407d12 call delay_10ms 
-022b da604be6 arg mem_sensor_8650_init_new ,regc 
-022c 2040422b call mouse_sensor_wr_seq 
-022d 202001f8 branch p_mouse_dpi_config 
+0226 70492705 jam mx8650 ,mem_config_sensor_type 
+0227 20404232 call mouse_sensor_reset 
+0228 20407d12 call delay_10ms 
+0229 da604be6 arg mem_sensor_8650_init_new ,regc 
+022a 2040422b call mouse_sensor_wr_seq 
+022b 202001fa branch p_mouse_dpi_config 
 
 p_mouse_sensor_poweron:
-022e 20403f65 call mouse_sensor_spi_init 
-022f 6fe0c927 fetch 1 ,mem_config_sensor_type 
-0230 c0058235 beq ka8g2 ,p_mouse_ka8g2_sensor_init 
-0231 20404232 call mouse_sensor_reset 
-0232 da604aa3 arg mem_sensor_poweron_init ,regc 
-0233 2040422b call mouse_sensor_wr_seq 
-0234 202001f8 branch p_mouse_dpi_config 
+022c 20403f65 call mouse_sensor_spi_init 
+022d 6fe0c927 fetch 1 ,mem_config_sensor_type 
+022e c0058233 beq ka8g2 ,p_mouse_ka8g2_sensor_init 
+022f 20404232 call mouse_sensor_reset 
+0230 da604aa3 arg mem_sensor_poweron_init ,regc 
+0231 2040422b call mouse_sensor_wr_seq 
+0232 202001fa branch p_mouse_dpi_config 
 
 p_mouse_ka8g2_sensor_init:
-0235 2040023c call p_mouse_ka8g2_sensor_reset 
-0236 da604c0e arg mem_ka8g2_sensor_poweron_init ,regc 
-0237 2040422b call mouse_sensor_wr_seq 
-0238 202001f8 branch p_mouse_dpi_config 
+0233 2040023a call p_mouse_ka8g2_sensor_reset 
+0234 da604c0e arg mem_ka8g2_sensor_poweron_init ,regc 
+0235 2040422b call mouse_sensor_wr_seq 
+0236 202001fa branch p_mouse_dpi_config 
 
 p_mouse_sensor_reset:
-0239 6fe0c927 fetch 1 ,mem_config_sensor_type 
-023a c005823c beq ka8g2 ,p_mouse_ka8g2_sensor_reset 
-023b 20204232 branch mouse_sensor_reset 
+0237 6fe0c927 fetch 1 ,mem_config_sensor_type 
+0238 c005823a beq ka8g2 ,p_mouse_ka8g2_sensor_reset 
+0239 20204232 branch mouse_sensor_reset 
 
 p_mouse_ka8g2_sensor_reset:
-023c 58009706 setarg 0x9706 
-023d 20405b0c call twspi_write 
-023e 20002ee0 nop 12000 
-023f 20600000 rtn 
+023a 58009706 setarg 0x9706 
+023b 20405b0c call twspi_write 
+023c 20002ee0 nop 12000 
+023d 20600000 rtn 
 
 p_mouse_sensor_powerdown:
-0240 204041a7 call mouse_init_sunt 
-0241 20403f65 call mouse_sensor_spi_init 
-0242 6fe0c927 fetch 1 ,mem_config_sensor_type 
-0243 c0058246 beq ka8g2 ,p_mouse_ka8g2_sensor_powerdown 
-0244 58000806 setarg 0x0806 
-0245 20205b0c branch twspi_write 
+023e 204041a7 call mouse_init_sunt 
+023f 20403f65 call mouse_sensor_spi_init 
+0240 6fe0c927 fetch 1 ,mem_config_sensor_type 
+0241 c0058244 beq ka8g2 ,p_mouse_ka8g2_sensor_powerdown 
+0242 58000806 setarg 0x0806 
+0243 20205b0c branch twspi_write 
 
 p_mouse_ka8g2_sensor_powerdown:
-0246 58001f06 setarg 0x1f06 
-0247 20205b0c branch twspi_write 
+0244 58001f06 setarg 0x1f06 
+0245 20205b0c branch twspi_write 
 
 p_mouse_bb_event_timer:
-0248 2040027e call p_mouse_device_poweron_timer 
-0249 20403e9b call mouse_adc_read 
-024a 2040032c call p_mouse_low_voltage_led_timer 
-024b 2040232b call g24_pair_timeout_timer 
-024c 20402556 call g24_reconn_timeout_timer 
-024d 204047cd call mouse_24g_long_sleep_param_update_timer 
-024e 20400266 call p_mouse_dpi_led_blink_delay_timer 
-024f 2040407c call mouse_dpi_key_check_long_press 
-0250 204044cc call mouse_bt_discovery_check 
-0251 20400299 call p_mouse_commbination_key_process 
-0252 204044ff call mouse_check_discovery_timeout_timer 
-0253 20404504 call mouse_check_direct_timeout_timer 
-0254 20404512 call mouse_le_enable_att_list_timer 
-0255 2040451f call mouse_le_battery_updata_timer 
-0256 20404515 call mouse_le_send_smp_security_request_timer 
-0257 2040452a call mouse_check_hid_handshake_timer 
-0258 2040452d call mouse_bt_check_sniff_req_timeout_timer 
-0259 20404532 call mouse_check_reconnect_delay_long_sleep 
-025a 20404535 call mouse_current_mult_update_timer 
-025b 20404022 call mouse_wheel_trigger_timer 
-025c 20404547 call mouse_store_information_delay_timer 
-025d 2020025e branch p_mouse_check_no_data_timeout_timer 
+0246 20403e9b call mouse_adc_read 
+0247 2040034e call p_mouse_low_voltage_led_timer 
+0248 2040232b call g24_pair_timeout_timer 
+0249 20402556 call g24_reconn_timeout_timer 
+024a 204047cd call mouse_24g_long_sleep_param_update_timer 
+024b 2040029f call p_mouse_dpi_led_blink_delay_timer 
+024c 2040025c call p_mouse_multi_led_blink_timer 
+024d 2040407c call mouse_dpi_key_check_long_press 
+024e 204044cc call mouse_bt_discovery_check 
+024f 204002b5 call p_mouse_commbination_key_process 
+0250 204044ff call mouse_check_discovery_timeout_timer 
+0251 20404504 call mouse_check_direct_timeout_timer 
+0252 20404512 call mouse_le_enable_att_list_timer 
+0253 2040451f call mouse_le_battery_updata_timer 
+0254 20404515 call mouse_le_send_smp_security_request_timer 
+0255 2040452a call mouse_check_hid_handshake_timer 
+0256 2040452d call mouse_bt_check_sniff_req_timeout_timer 
+0257 20404532 call mouse_check_reconnect_delay_long_sleep 
+0258 20404535 call mouse_current_mult_update_timer 
+0259 20404022 call mouse_wheel_trigger_timer 
+025a 20404547 call mouse_store_information_delay_timer 
+025b 20200297 branch p_mouse_check_no_data_timeout_timer 
+
+p_mouse_multi_led_blink_timer:
+025c 6fe0cc16 fetch 1 ,mem_mouse_multi_led_blink_enable 
+025d 207a0000 rtn blank 
+025e 6fe0cc19 fetch 1 ,mem_mouse_multi_led_type 
+025f c0008271 beq multi_led_blink ,p_mouse_multi_led_type_blink 
+
+p_mouse_multi_led_type_on:
+0260 2040027e call p_mouse_multi_led_on 
+0261 6fe0cc1a fetch 1 ,mem_mouse_multi_led_on_timer 
+0262 1fe0fe01 increase 1 ,pdata 
+0263 67e0cc1a store 1 ,mem_mouse_multi_led_on_timer 
+0264 6848cc1b fetcht 1 ,mem_mouse_multi_led_on_timer_init 
+0265 98467c00 isub temp ,null 
+0266 20428268 call p_mouse_multi_led_off_poweron2s ,zero 
+0267 20600000 rtn 
+
+p_mouse_multi_led_off_poweron2s:
+0268 704c2000 jam 0 ,mem_mouse_multi_led_on_poweron2s_flag 
+0269 20200283 branch p_mouse_multi_led_off 
+
+p_mouse_discovery_multi_led_blink:
+026a 704c1c05 jam 5 ,mem_mouse_multi_led_blink_timer_init 
+
+p_mouse_discovery_multi_led_blink1:
+026b 704c1f00 jam 0 ,mem_mouse_multi_led_blink_count_limited 
+026c 704c1e01 jam 1 ,mem_mouse_multi_led_blink_count 
+
+p_mouse_multi_led_blink_enable:
+026d 704c1d05 jam 5 ,mem_mouse_multi_led_blink_timer 
+026e 704c1601 jam on ,mem_mouse_multi_led_blink_enable 
+026f 704c1901 jam multi_led_blink ,mem_mouse_multi_led_type 
+0270 20600000 rtn 
+
+p_mouse_multi_led_type_blink:
+0271 da604c1d arg mem_mouse_multi_led_blink_timer ,regc 
+0272 da400274 arg p_mouse_multi_led_type_blink_timeout ,regb 
+0273 2020318a branch timer_single_step 
+
+p_mouse_multi_led_type_blink_timeout:
+0274 6fe0cc1c fetch 1 ,mem_mouse_multi_led_blink_timer_init 
+0275 67e0cc1d store 1 ,mem_mouse_multi_led_blink_timer 
+0276 6fe0cc1f fetch 1 ,mem_mouse_multi_led_blink_count_limited 
+0277 203a027c branch p_mouse_multi_led_blink_count_no_limited ,blank 
+0278 6fe0cc1e fetch 1 ,mem_mouse_multi_led_blink_count 
+0279 203a0281 branch p_mouse_multi_led_blink_off ,blank 
+027a 1fe0ffff increase -1 ,pdata 
+027b 67e0cc1e store 1 ,mem_mouse_multi_led_blink_count 
+
+p_mouse_multi_led_blink_count_no_limited:
+027c 6fe0cc18 fetch 1 ,mem_mouse_multi_led_state 
+027d c0008283 beq on ,p_mouse_multi_led_off 
+
+p_mouse_multi_led_on:
+027e 704c1801 jam on ,mem_mouse_multi_led_state 
+027f 6848cc17 fetcht 1 ,mem_mouse_multi_led_gpio 
+0280 20206069 branch gpio_out_active 
+
+p_mouse_discovey_led_blink_off:
+
+p_mouse_multi_led_blink_off:
+0281 58000000 setarg 0 
+0282 67e1cc1d store 3 ,mem_mouse_multi_led_blink_timer 
+
+p_mouse_multi_led_off:
+0283 6fe0cc1e fetch 1 ,mem_mouse_multi_led_blink_count 
+0284 243a0287 nbranch p_mouse_multi_led_off_wait_blink_over ,blank 
+0285 704c1600 jam 0 ,mem_mouse_multi_led_blink_enable 
+0286 704c1900 jam 0 ,mem_mouse_multi_led_type 
+
+p_mouse_multi_led_off_wait_blink_over:
+0287 704c1a00 jam 0 ,mem_mouse_multi_led_on_timer 
+0288 704c1800 jam off ,mem_mouse_multi_led_state 
+
+p_mouse_multi_led_gpio_set_high:
+0289 6fe0cc17 fetch 1 ,mem_mouse_multi_led_gpio 
+028a c001828d beq ice_reuse_gpio ,p_mouse_multi_led_gpio_config_input 
+028b 6848cc17 fetcht 1 ,mem_mouse_multi_led_gpio 
+028c 20206065 branch gpio_out_inactive 
+
+p_mouse_multi_led_gpio_config_input:
+028d 6848cc17 fetcht 1 ,mem_mouse_multi_led_gpio 
+028e 20203f56 branch mouse_gpio_config_input_pu 
+
+p_mouse_mode_bt_device1_multi_led_on:
+
+p_mouse_mode_24g_device_multi_led_on:
+028f 704c2001 jam 1 ,mem_mouse_multi_led_on_poweron2s_flag 
+0290 704c1601 jam on ,mem_mouse_multi_led_blink_enable 
+0291 704c1900 jam multi_led_on ,mem_mouse_multi_led_type 
+0292 704c1a00 jam 0 ,mem_mouse_multi_led_on_timer 
+0293 20600000 rtn 
+
+p_mouse_dpi_multi_led_blink:
+0294 704c1c02 jam 2 ,mem_mouse_multi_led_blink_timer_init 
+0295 704c1f01 jam 1 ,mem_mouse_multi_led_blink_count_limited 
+0296 2020026d branch p_mouse_multi_led_blink_enable 
 
 p_mouse_check_no_data_timeout_timer:
-025e 6fe0c92a fetch 1 ,mem_usb_addr 
-025f c3838000 rtnbit1 7 
-0260 da604ab2 arg mem_mouse_no_data_timer ,regc 
-0261 da400263 arg p_mouse_check_no_data_timeout ,regb 
-0262 20203191 branch timer_single_step_2b 
+0297 6fe0c92a fetch 1 ,mem_usb_addr 
+0298 c3838000 rtnbit1 7 
+0299 da604ab2 arg mem_mouse_no_data_timer ,regc 
+029a da40029c arg p_mouse_check_no_data_timeout ,regb 
+029b 20203191 branch timer_single_step_2b 
 
 p_mouse_check_no_data_timeout:
-0263 6fe0c938 fetch 1 ,mem_device_flag 
-0264 c00001bb beq mode_24g_device ,p_mouse_24g_hibernate_set 
-0265 2020431b branch mouse_disconnect 
+029c 6fe0c938 fetch 1 ,mem_device_flag 
+029d c0000197 beq mode_24g_device ,p_mouse_24g_hibernate_set 
+029e 2020431b branch mouse_disconnect 
 
 p_mouse_dpi_led_blink_delay_timer:
-0266 da604ba8 arg mem_mouse_dpi_led_delay_count ,regc 
-0267 da400269 arg p_mouse_dpi_led_blink_init ,regb 
-0268 2020318a branch timer_single_step 
+029f da604ba8 arg mem_mouse_dpi_led_delay_count ,regc 
+02a0 da4002a2 arg p_mouse_dpi_led_blink_init ,regb 
+02a1 2020318a branch timer_single_step 
 
 p_mouse_dpi_led_blink_init:
-0269 6fe0c927 fetch 1 ,mem_config_sensor_type 
-026a c001c8f2 beq p3212 ,mouse_dpi_led_blink_init 
-026b c005c8f2 beq ka8g2 ,mouse_dpi_led_blink_init 
-026c 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
-026d 67e0c92f store 1 ,mem_mouse_struct_led_gpio 
-026e 6fe14bc2 fetch 2 ,mem_mouse_dpi_led_blink_time 
-026f 67e14930 store 2 ,mem_mouse_on_time 
-0270 67e14932 store 2 ,mem_mouse_off_time 
-0271 da200000 arg 0 ,rega 
-0272 6848c992 fetcht 1 ,mem_mouse_dpi 
-0273 18408402 increase 2 ,temp 
-0274 18467c03 sub temp ,3 ,null 
-0275 20410278 call p_mouse_dpi_led_blink_init_level_4 ,positive 
-0276 2441027c ncall p_mouse_dpi_led_blink_count_clean ,positive 
-0277 202048ff branch mouse_dpi_led_blink_init_end 
-
-p_mouse_dpi_led_blink_init_level_4:
-0278 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0279 c40e0000 rtnbit0 mouse_enable_dpi_level_4 
-027a 18408401 increase 1 ,temp 
-027b 20600000 rtn 
-
-p_mouse_dpi_led_blink_count_clean:
-027c 184085fd increase -3 ,temp 
-027d 20600000 rtn 
-
-p_mouse_device_poweron_timer:
-027e 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-027f c4100000 rtnbit0 mouse_enable_power_on_led 
-0280 6fe0cba7 fetch 1 ,mem_mouse_device_poweron_timer_count 
-0281 207a0000 rtn blank 
-0282 1fe0ffff increase -1 ,pdata 
-0283 67e0cba7 store 1 ,mem_mouse_device_poweron_timer_count 
-0284 203a028b branch p_mouse_device_led_off ,blank 
-
-p_mouse_device_led_on:
-0285 6fe0cc16 fetch 1 ,mem_config_device_24g_led_gpio_patch 
-0286 c081c920 bne ice_reuse_gpio ,mouse_device_led_on 
-0287 6848cc16 fetcht 1 ,mem_config_device_24g_led_gpio_patch 
-0288 20406069 call gpio_config_output 
-0289 6848cc16 fetcht 1 ,mem_config_device_24g_led_gpio_patch 
-028a 20206069 branch gpio_out_active 
-
-p_mouse_device_led_off:
-028b 6fe0cc16 fetch 1 ,mem_config_device_24g_led_gpio_patch 
-028c c081c912 bne ice_reuse_gpio ,mouse_device_led_off 
-
-p_mouse_reuse_ice_gpio_config_input:
-028d 6848cc16 fetcht 1 ,mem_config_device_24g_led_gpio_patch 
-028e 20203f56 branch mouse_gpio_config_input_pu 
+02a2 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+02a3 c28e02a8 bbit1 mouse_enable_dpi_level_4 ,p_mouse_dpi_led_blink_four_level 
 
-p_mouse_led_config_ouput:
-028f 6848c921 fetcht 1 ,mem_config_low_voltage_alarm_gpio 
-0290 20406069 call gpio_config_output 
-0291 6848c915 fetcht 1 ,mem_config_device_24g_led_gpio 
-0292 20406069 call gpio_config_output 
-0293 6848c916 fetcht 1 ,mem_config_device_bt1_led_gpio 
-0294 20406069 call gpio_config_output 
-0295 6848c922 fetcht 1 ,mem_config_device_bt2_led_gpio 
-0296 20406069 call gpio_config_output 
-0297 6848c923 fetcht 1 ,mem_dpi_led_gpio 
-0298 20206069 branch gpio_config_output 
+p_mouse_dpi_led_blink_three_level:
+02a4 6fe0c992 fetch 1 ,mem_mouse_dpi 
+02a5 c00002af beq 0 ,p_mouse_dpi_led_blink_twice 
+02a6 c00082b1 beq 1 ,p_mouse_dpi_led_blink_thrice 
+02a7 202002ad branch p_mouse_dpi_led_blink_once 
+
+p_mouse_dpi_led_blink_four_level:
+02a8 6fe0c992 fetch 1 ,mem_mouse_dpi 
+02a9 c00002b1 beq 0 ,p_mouse_dpi_led_blink_thrice 
+02aa c00082b3 beq 1 ,p_mouse_dpi_led_blink_quartic 
+02ab c00102ad beq 2 ,p_mouse_dpi_led_blink_once 
+02ac 202002af branch p_mouse_dpi_led_blink_twice 
+
+p_mouse_dpi_led_blink_once:
+02ad 704c1e01 jam 1 ,mem_mouse_multi_led_blink_count 
+02ae 20200294 branch p_mouse_dpi_multi_led_blink 
+
+p_mouse_dpi_led_blink_twice:
+02af 704c1e03 jam 3 ,mem_mouse_multi_led_blink_count 
+02b0 20200294 branch p_mouse_dpi_multi_led_blink 
+
+p_mouse_dpi_led_blink_thrice:
+02b1 704c1e05 jam 5 ,mem_mouse_multi_led_blink_count 
+02b2 20200294 branch p_mouse_dpi_multi_led_blink 
+
+p_mouse_dpi_led_blink_quartic:
+02b3 704c1e07 jam 7 ,mem_mouse_multi_led_blink_count 
+02b4 20200294 branch p_mouse_dpi_multi_led_blink 
 
 p_mouse_commbination_key_process:
-0299 6fe0c938 fetch 1 ,mem_device_flag 
-029a c000029f beq mode_24g_device ,p_mouse_24g_commbination_key_process 
-029b 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-029c c41a8000 rtnbit0 mouse_enable_commbination_key_by_bt_discovery 
-029d 6848cbca fetcht 1 ,mem_mouse_commbination_key_bt 
-029e 202002a2 branch p_mouse_commbination_key_start 
+02b5 6fe0c938 fetch 1 ,mem_device_flag 
+02b6 c00002bb beq mode_24g_device ,p_mouse_24g_commbination_key_process 
+02b7 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+02b8 c41a8000 rtnbit0 mouse_enable_commbination_key_by_bt_discovery 
+02b9 6848cbca fetcht 1 ,mem_mouse_commbination_key_bt 
+02ba 202002be branch p_mouse_commbination_key_start 
 
 p_mouse_24g_commbination_key_process:
-029f 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-02a0 c4190000 rtnbit0 mouse_enable_commbination_key_by_24g_pairing 
-02a1 6848cbcb fetcht 1 ,mem_mouse_commbination_key_24g 
+02bb 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+02bc c4190000 rtnbit0 mouse_enable_commbination_key_by_24g_pairing 
+02bd 6848cbcb fetcht 1 ,mem_mouse_commbination_key_24g 
 
 p_mouse_commbination_key_start:
-02a2 6048cb9d storet 1 ,mem_mouse_commbination_key 
-02a3 20404115 call mouse_check_key_gpio 
-02a4 1fe17e07 and pdata ,0x07 ,pdata 
-02a5 6848cb9d fetcht 1 ,mem_mouse_commbination_key 
-02a6 98467c00 isub temp ,null 
-02a7 202282a9 branch p_mouse_commbination_key_down ,zero 
-02a8 202044eb branch mouse_commbination_key_up 
+02be 6048cb9d storet 1 ,mem_mouse_commbination_key 
+02bf 20404115 call mouse_check_key_gpio 
+02c0 1fe17e07 and pdata ,0x07 ,pdata 
+02c1 6848cb9d fetcht 1 ,mem_mouse_commbination_key 
+02c2 98467c00 isub temp ,null 
+02c3 202282c5 branch p_mouse_commbination_key_down ,zero 
+02c4 202044eb branch mouse_commbination_key_up 
 
 p_mouse_commbination_key_down:
-02a9 204044f6 call mouse_combination_ui_timer 
-02aa 6fe0cb9f fetch 1 ,mem_commbination_key_statue 
-02ab c1008000 rtneq commbination_key_state_down 
-02ac 704b9f01 jam commbination_key_state_down ,mem_commbination_key_statue 
-02ad 20600000 rtn 
+02c5 204044f6 call mouse_combination_ui_timer 
+02c6 6fe0cb9f fetch 1 ,mem_commbination_key_statue 
+02c7 c1008000 rtneq commbination_key_state_down 
+02c8 704b9f01 jam commbination_key_state_down ,mem_commbination_key_statue 
+02c9 20600000 rtn 
 
 p_mouse_start_discovery:
-02ae 6fe1478c fetch 2 ,mem_ui_state_map 
-02af 2feffe0b isolate1 ui_state_ble_adv ,pdata 
-02b0 2040c581 call mouse_stop_le_adv ,true 
-02b1 6fe1478c fetch 2 ,mem_ui_state_map 
-02b2 2feffe07 isolate1 ui_state_bt_reconnect ,pdata 
-02b3 2040c322 call mouse_cancel_reconnect ,true 
-02b4 20204554 branch mouse_start_discovery + 1 
+02ca 6fe1478c fetch 2 ,mem_ui_state_map 
+02cb 2feffe0b isolate1 ui_state_ble_adv ,pdata 
+02cc 2040c581 call mouse_stop_le_adv ,true 
+02cd 6fe1478c fetch 2 ,mem_ui_state_map 
+02ce 2feffe07 isolate1 ui_state_bt_reconnect ,pdata 
+02cf 2040c322 call mouse_cancel_reconnect ,true 
+02d0 20204554 branch mouse_start_discovery + 1 
 
 p_ui_timer_check:
-02b5 6fe0cbe2 fetch 1 ,mem_power_on_flag 
-02b6 245a7861 ncall ui_timer_init ,blank 
-02b7 704be200 jam 0 ,mem_power_on_flag 
-02b8 20207851 branch ui_timer_check + 1 
+02d1 6fe0cbe2 fetch 1 ,mem_power_on_flag 
+02d2 245a7861 ncall ui_timer_init ,blank 
+02d3 704be200 jam 0 ,mem_power_on_flag 
+02d4 20207851 branch ui_timer_check + 1 
 
 p_hid_rx_process:
-02b9 6fe10315 fetch 2 ,mem_l2cap_payload_ptr 
-02ba 1fe20c00 copy pdata ,contr 
-02bb efe08006 ifetch 1 ,contr 
-02bc 67e0c5f5 store 1 ,mem_l2cap_rcv_hidtype 
-02bd 1fe1040f and pdata ,0x0f ,temp 
-02be 1ff1fe00 rshift4 pdata ,pdata 
-02bf c00482c1 beq hid_type_set_idle ,p_hid_rx_process_handshake 
-02c0 20204d93 branch hid_rx_process + 7 
+02d5 6fe10315 fetch 2 ,mem_l2cap_payload_ptr 
+02d6 1fe20c00 copy pdata ,contr 
+02d7 efe08006 ifetch 1 ,contr 
+02d8 67e0c5f5 store 1 ,mem_l2cap_rcv_hidtype 
+02d9 1fe1040f and pdata ,0x0f ,temp 
+02da 1ff1fe00 rshift4 pdata ,pdata 
+02db c00482dd beq hid_type_set_idle ,p_hid_rx_process_handshake 
+02dc 20204d93 branch hid_rx_process + 7 
 
 p_hid_rx_process_handshake:
-02c1 da200001 arg 1 ,rega 
-02c2 20404dc0 call hid_malloc_tx_buff 
-02c3 6fe144dc fetch 2 ,mem_hid_ctrl_remote_cid 
-02c4 e7e10005 istore 2 ,contw 
-02c5 58000000 setarg 0 
-02c6 e7e08005 istore 1 ,contw 
-02c7 70095001 jam 1 ,mem_ui_data_txbuff_length 
-02c8 6fe0c4e2 fetch 1 ,mem_hid_control_state 
-02c9 79207e06 set1 l2cap_channel_hid_handshake_done ,pdata 
-02ca 67e0c4e2 store 1 ,mem_hid_control_state 
-02cb 70095b12 jam bt_evt_hid_handshake ,mem_fifo_temp 
-02cc 20207871 branch ui_ipc_send_event 
+02dd da200001 arg 1 ,rega 
+02de 20404dc0 call hid_malloc_tx_buff 
+02df 6fe144dc fetch 2 ,mem_hid_ctrl_remote_cid 
+02e0 e7e10005 istore 2 ,contw 
+02e1 58000000 setarg 0 
+02e2 e7e08005 istore 1 ,contw 
+02e3 70095001 jam 1 ,mem_ui_data_txbuff_length 
+02e4 6fe0c4e2 fetch 1 ,mem_hid_control_state 
+02e5 79207e06 set1 l2cap_channel_hid_handshake_done ,pdata 
+02e6 67e0c4e2 store 1 ,mem_hid_control_state 
+02e7 70095b12 jam bt_evt_hid_handshake ,mem_fifo_temp 
+02e8 20207871 branch ui_ipc_send_event 
 
 p_le_slave_match:
-02cd 6fe0c3dd fetch 1 ,mem_le_md_count 
-02ce 1fe0fe01 pincrease 1 
-02cf 67e0c3dd store 1 ,mem_le_md_count 
-02d0 c006165a beq le_md_max_count ,le_slave_cont 
-02d1 2040191b call le_acknowledge 
-02d2 2040196a call le_prepare_tx 
-02d3 6fe082bd fetch 1 ,mem_le_tx_phy 
-02d4 2040168b call le_enable_phy_by_pdata 
-02d5 20401838 call le_transmit 
-02d6 20201655 branch le_slave_match + 10 
+02e9 6fe0c3dd fetch 1 ,mem_le_md_count 
+02ea 1fe0fe01 pincrease 1 
+02eb 67e0c3dd store 1 ,mem_le_md_count 
+02ec c006165a beq le_md_max_count ,le_slave_cont 
+02ed 2040191b call le_acknowledge 
+02ee 2040196a call le_prepare_tx 
+02ef 6fe082bd fetch 1 ,mem_le_tx_phy 
+02f0 2040168b call le_enable_phy_by_pdata 
+02f1 20401838 call le_transmit 
+02f2 20201655 branch le_slave_match + 10 
 
 p_le_parse_l2cap:
-02d7 efe10006 ifetch 2 ,contr 
-02d8 c00202da beq le_l2cap_cid_att ,p_le_parse_att 
-02d9 202019e4 branch le_parse_l2cap + 10 
+02f3 efe10006 ifetch 2 ,contr 
+02f4 c00202f6 beq le_l2cap_cid_att ,p_le_parse_att 
+02f5 202019e4 branch le_parse_l2cap + 10 
 
 p_le_parse_att:
-02da efe18006 ifetch 3 ,contr 
-02db 67e1c436 store 3 ,mem_le_att_opcode 
-02dc c00902de beq attop_write_request ,p_le_parse_att_write_request 
-02dd 20201cd3 branch le_parse_att + 2 
+02f6 efe18006 ifetch 3 ,contr 
+02f7 67e1c436 store 3 ,mem_le_att_opcode 
+02f8 c00902fa beq attop_write_request ,p_le_parse_att_write_request 
+02f9 20201cd3 branch le_parse_att + 2 
 
 p_le_parse_att_write_request:
-02de 18c22200 copy contr ,rega 
-02df 6fe143d4 fetch 2 ,mem_le_l2cap_size 
-02e0 1fe0a5fd add pdata ,-3 ,regb 
-02e1 20401a25 call le_writeatt_cb 
-02e2 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
-02e3 c07f9e73 beq 0xff ,le_send_att_write_response_check_auth 
-02e4 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
-02e5 203a1e73 branch le_send_att_write_response_check_auth ,blank 
-02e6 6fe0cb75 fetch 1 ,mem_le_connect_status_flag 
-02e7 c2809e73 bbit1 ll_start_enc_flag ,le_send_att_write_response_check_auth 
-02e8 5800001a setarg 0x001a 
-02e9 68494437 fetcht 2 ,mem_le_att_handle 
-02ea 98467c00 isub temp ,null 
-02eb 24229e73 nbranch le_send_att_write_response_check_auth ,zero 
-02ec 7002d805 jam att_err_insufficient_authentication ,mem_le_err_code 
-02ed 20201ec9 branch le_send_att_error_response 
+02fa 18c22200 copy contr ,rega 
+02fb 6fe143d4 fetch 2 ,mem_le_l2cap_size 
+02fc 1fe0a5fd add pdata ,-3 ,regb 
+02fd 20401a25 call le_writeatt_cb 
+02fe 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
+02ff c07f9e73 beq 0xff ,le_send_att_write_response_check_auth 
+0300 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
+0301 203a1e73 branch le_send_att_write_response_check_auth ,blank 
+0302 6fe0cb75 fetch 1 ,mem_le_connect_status_flag 
+0303 c2809e73 bbit1 ll_start_enc_flag ,le_send_att_write_response_check_auth 
+0304 5800001a setarg 0x001a 
+0305 68494437 fetcht 2 ,mem_le_att_handle 
+0306 98467c00 isub temp ,null 
+0307 24229e73 nbranch le_send_att_write_response_check_auth ,zero 
+0308 7002d805 jam att_err_insufficient_authentication ,mem_le_err_code 
+0309 20201ec9 branch le_send_att_error_response 
 
 p_g24_lpm_wait:
-02ee 6fe0cbaa fetch 1 ,mem_24g_device_led_status 
-02ef 245a26e1 ncall g24_transmit_by_interrupt_enable ,blank 
-02f0 202026bc branch g24_lpm_wait + 1 
+030a 6fe0cbaa fetch 1 ,mem_24g_device_led_status 
+030b 245a26e1 ncall g24_transmit_by_interrupt_enable ,blank 
+030c 202026bc branch g24_lpm_wait + 1 
 
 p_mouse_motion:
-02f1 78547c00 disable user 
-02f2 58000000 setarg 0 
-02f3 67e348d1 store 6 ,mem_mouse_x 
-02f4 20404240 call mouse_check_sensor_data 
-02f5 204001f8 call p_mouse_dpi_config 
-02f6 20403f7e call mouse_zwheel 
-02f7 20403f83 call mouse_t_zwheel 
-02f8 204040dc call mouse_key 
-02f9 6fe0c8d0 fetch 1 ,mem_mouse_key 
-02fa 1fe17e1f and_into 0x1f ,pdata 
-02fb 67e0c8d0 store 1 ,mem_mouse_key 
-02fc 24344728 nbranch mouse_drawing_optima_init ,user 
-02fd 204002ff call p_mouse_drawing_optima 
-02fe 20204544 branch mouse_no_data_timer_init 
+030d 78547c00 disable user 
+030e 58000000 setarg 0 
+030f 67e348d1 store 6 ,mem_mouse_x 
+0310 20404240 call mouse_check_sensor_data 
+0311 204001fa call p_mouse_dpi_config 
+0312 20403f7e call mouse_zwheel 
+0313 20403f83 call mouse_t_zwheel 
+0314 204040dc call mouse_key 
+0315 6fe0c8d0 fetch 1 ,mem_mouse_key 
+0316 1fe17e1f and_into 0x1f ,pdata 
+0317 67e0c8d0 store 1 ,mem_mouse_key 
+0318 24344728 nbranch mouse_drawing_optima_init ,user 
+0319 2040031b call p_mouse_drawing_optima 
+031a 20204544 branch mouse_no_data_timer_init 
 
 p_mouse_drawing_optima:
-02ff 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0300 c41c0000 rtnbit0 mouse_enable_smoother 
-0301 6fe0c927 fetch 1 ,mem_config_sensor_type 
-0302 c1018000 rtneq p3212 
-0303 c1000000 rtneq p3205 
-0304 6fe248d1 fetch 4 ,mem_mouse_x 
-0305 207a0000 rtn blank 
-0306 204047bd call mouse_data_abs_check 
-0307 58000006 setarg 0x06 
-0308 204047b3 call mouse_pdata_greater_than_check 
-0309 205a47af call mouse_disable_asm ,blank 
-030a 245a47b1 ncall mouse_enable_asm ,blank 
-030b 58000004 setarg 0x04 
-030c 204047b8 call mouse_data_less_than_check 
-030d 205a47af call mouse_disable_asm ,blank 
-030e 6fe0c9c9 fetch 1 ,mem_mouse_asm_flag 
-030f c000c72d beq 1 ,mouse_drawing_optima_modify 
-0310 20204728 branch mouse_drawing_optima_init 
+031b 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+031c c41c0000 rtnbit0 mouse_enable_smoother 
+031d 6fe0c927 fetch 1 ,mem_config_sensor_type 
+031e c1018000 rtneq p3212 
+031f c1000000 rtneq p3205 
+0320 6fe248d1 fetch 4 ,mem_mouse_x 
+0321 207a0000 rtn blank 
+0322 204047bd call mouse_data_abs_check 
+0323 58000006 setarg 0x06 
+0324 204047b3 call mouse_pdata_greater_than_check 
+0325 205a47af call mouse_disable_asm ,blank 
+0326 245a47b1 ncall mouse_enable_asm ,blank 
+0327 58000004 setarg 0x04 
+0328 204047b8 call mouse_data_less_than_check 
+0329 205a47af call mouse_disable_asm ,blank 
+032a 6fe0c9c9 fetch 1 ,mem_mouse_asm_flag 
+032b c000c72d beq 1 ,mouse_drawing_optima_modify 
+032c 20204728 branch mouse_drawing_optima_init 
 
 p_mouse_adc_read_start:
-0311 6fe0cbaa fetch 1 ,mem_24g_device_led_status 
-0312 247a0000 nrtn blank 
-0313 20400057 call p_enable_adc 
-0314 7048f600 jam 0 ,mem_adc_read_timer 
-0315 20406125 call vdd_calculate_by_mode 
-0316 67e148e9 store 2 ,mem_mouse_vdd_now_vol 
-0317 d8400012 arg 0x0012 ,temp 
-0318 98467c00 isub temp ,null 
-0319 2421032a nbranch p_mouse_adc_gpio_connect_gnd ,positive 
-031a 6fe0c4a0 fetch 1 ,mem_adc_config_flag 
-031b c0810322 bne adc_config_gpio ,p_mouse_adc_data_process 
-031c 684948e9 fetcht 2 ,mem_mouse_vdd_now_vol 
-031d 184ffe08 mul32 temp ,8 ,pdata 
-031e 1fe6fc0a div pdata ,10 
-031f 20407dec call get_div_result 
-0320 9840fe00 iadd temp ,pdata 
-0321 67e148e9 store 2 ,mem_mouse_vdd_now_vol 
+032d 6fe0cbaa fetch 1 ,mem_24g_device_led_status 
+032e 247a0000 nrtn blank 
+032f 20400057 call p_enable_adc 
+0330 7048f600 jam 0 ,mem_adc_read_timer 
+0331 20406125 call vdd_calculate_by_mode 
+0332 67e148e9 store 2 ,mem_mouse_vdd_now_vol 
+0333 d8400012 arg 0x0012 ,temp 
+0334 98467c00 isub temp ,null 
+0335 24210346 nbranch p_mouse_adc_gpio_connect_gnd ,positive 
+0336 6fe0c4a0 fetch 1 ,mem_adc_config_flag 
+0337 c081033e bne adc_config_gpio ,p_mouse_adc_data_process 
+0338 684948e9 fetcht 2 ,mem_mouse_vdd_now_vol 
+0339 184ffe08 mul32 temp ,8 ,pdata 
+033a 1fe6fc0a div pdata ,10 
+033b 20407dec call get_div_result 
+033c 9840fe00 iadd temp ,pdata 
+033d 67e148e9 store 2 ,mem_mouse_vdd_now_vol 
 
 p_mouse_adc_data_process:
-0322 da2048e3 arg mem_mouse_vdd_calculate_set ,rega 
-0323 20403ed8 call mouse_adc_bat_percent_lowpower_out 
-0324 6fe0c4a4 fetch 1 ,mem_adc_power_flag 
-0325 c2813f1a bbit1 2 ,mouse_adc_button_press 
-0326 c280bf1c bbit1 1 ,mouse_power_down 
-0327 c3003ed0 bbit0 0 ,mouse_adc_no_low_voltage 
-0328 7048fa01 jam 1 ,mem_mouse_adc_last_low_voltage_flag 
-0329 20203ece branch mouse_adc_low_voltage 
+033e da2048e3 arg mem_mouse_vdd_calculate_set ,rega 
+033f 20403ed8 call mouse_adc_bat_percent_lowpower_out 
+0340 6fe0c4a4 fetch 1 ,mem_adc_power_flag 
+0341 c2813f1a bbit1 2 ,mouse_adc_button_press 
+0342 c280bf1c bbit1 1 ,mouse_power_down 
+0343 c3000348 bbit0 0 ,p_mouse_adc_no_low_voltage 
+0344 7048fa01 jam 1 ,mem_mouse_adc_last_low_voltage_flag 
+0345 20203ece branch mouse_adc_low_voltage 
 
 p_mouse_adc_gpio_connect_gnd:
-032a 6848c8fc fetcht 1 ,mem_adc_channel_gpio 
-032b 20403f54 call mouse_gpio_config_input_pd 
+0346 6848c8fc fetcht 1 ,mem_adc_channel_gpio 
+0347 20403f54 call mouse_gpio_config_input_pd 
+
+p_mouse_adc_no_low_voltage:
+0348 d8e00004 arg mouse_low_voltage_flag ,queue 
+0349 204046f4 call mouse_disable_function_flag 
+034a 6fe0c8fa fetch 1 ,mem_mouse_adc_last_low_voltage_flag 
+034b 207a0000 rtn blank 
+034c 7048fa00 jam 0 ,mem_mouse_adc_last_low_voltage_flag 
+034d 20200283 branch p_mouse_multi_led_off 
 
 p_mouse_low_voltage_led_timer:
-032c 6fe14ac2 fetch 2 ,mem_mouse_discovery_timer 
-032d 247a0000 nrtn blank 
-032e 6fe14883 fetch 2 ,mem_24g_pair_timeout 
-032f 247a0000 nrtn blank 
-0330 6fe14887 fetch 2 ,mem_24g_reconn_timeout 
-0331 247a0000 nrtn blank 
-0332 6fe0cba7 fetch 1 ,mem_mouse_device_poweron_timer_count 
-0333 247a0000 nrtn blank 
-0334 20404904 call mouse_check_dpi_blink 
-0335 20740000 rtn user 
-0336 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0337 c4108000 rtnbit0 mouse_enable_low_voltage_led 
-0338 c4020000 rtnbit0 mouse_low_voltage_flag 
-0339 c291c97c bbit1 mouse_enable_low_voltage_led_blink_n_second ,mouse_low_voltage_led_blink_new_data 
-033a 6fe0c8f8 fetch 1 ,mem_adc_low_volatage_led_timer_count 
-033b 1fe0fe01 increase 1 ,pdata 
-033c 67e0c8f8 store 1 ,mem_adc_low_volatage_led_timer_count 
-033d 1fe67c08 sub pdata ,8 ,null 
-033e 2441496e ncall mouse_adc_low_volatage_led_timer_count_clean ,positive 
-033f c001c970 beq 3 ,mouse_low_voltage_led_on 
-0340 c002c976 beq 5 ,mouse_low_voltage_led_off 
-0341 c003c970 beq 7 ,mouse_low_voltage_led_on 
-0342 20600000 rtn 
+034e 6fe14ac2 fetch 2 ,mem_mouse_discovery_timer 
+034f 247a0000 nrtn blank 
+0350 6fe14883 fetch 2 ,mem_24g_pair_timeout 
+0351 247a0000 nrtn blank 
+0352 6fe14887 fetch 2 ,mem_24g_reconn_timeout 
+0353 247a0000 nrtn blank 
+0354 20404904 call mouse_check_dpi_blink 
+0355 20740000 rtn user 
+0356 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0357 c4108000 rtnbit0 mouse_enable_low_voltage_led 
+0358 c4020000 rtnbit0 mouse_low_voltage_flag 
+0359 c291c97c bbit1 mouse_enable_low_voltage_led_blink_n_second ,mouse_low_voltage_led_blink_new_data 
+035a 6fe0c8f8 fetch 1 ,mem_adc_low_volatage_led_timer_count 
+035b 1fe0fe01 increase 1 ,pdata 
+035c 67e0c8f8 store 1 ,mem_adc_low_volatage_led_timer_count 
+035d 1fe67c08 sub pdata ,8 ,null 
+035e 24410363 ncall p_mouse_adc_low_volatage_led_timer_count_clean ,positive 
+035f c001827e beq 3 ,p_mouse_multi_led_on 
+0360 c0028283 beq 5 ,p_mouse_multi_led_off 
+0361 c003827e beq 7 ,p_mouse_multi_led_on 
+0362 20600000 rtn 
+
+p_mouse_adc_low_volatage_led_timer_count_clean:
+0363 7048f801 jam 1 ,mem_adc_low_volatage_led_timer_count 
+0364 20200283 branch p_mouse_multi_led_off 
               org 0x800
 
 start:
Index: program/patch.prog
===================================================================
--- /YC1308AC/branch/mouse_project/YDN_Project/G-117-3_Only24g/program/patch.prog	(revision 642)
+++ /YC1308AC/branch/mouse_project/YDN_Project/G-117-3_Only24g/program/patch.prog	(working copy)
@@ -35,7 +35,7 @@
 	
 //ifdef BATTERY_SERVICE_CANCEL
 //	beq patch38_0,p_le_parse_l2cap
-//endif
+//endif	
 	beq patch3c_2,p_g24_pair_dispatch
 	beq patch3d_1,p_g24_reconn_dispatch
 	beq patch3d_2,p_g24_transmit_no_interrupt
@@ -210,7 +210,7 @@
 
 /////////////////////////////////// g24 250Hz use lpm//////////////////////////////////////
 p_app_init:
-p_mouse_init:
+p_mouse_init:	
 	call enable_authrom
 	call p_mouse_wheel_set_wakeup
 	call p_mouse_setting_config
@@ -221,8 +221,9 @@
 	call mouse_drawing_optima_init
 	call p_mouse_cb_fuction
 	call p_mouse_sensor_powerdown
+	call p_mouse_mode_24g_device_multi_led_on
 	branch mouse_init+8
-	
+
 p_mouse_wheel_set_wakeup:
 	fetch 1,mem_sensor_shutdown_flag
 	rtn blank
@@ -237,9 +238,9 @@
 	rtn wake
 	call g24_transmit_init
 	call g24_chmap_param_init
-	call p_mouse_gpio_init
+	call mouse_gpio_init
 	call mouse_param_init
-	setarg 18500
+	setarg 15500
 	store 3,mem_24g_short_sleep_set
 	setarg 1800
 	store 2,mem_24g_reconn_timeout_init
@@ -248,55 +249,6 @@
 	call p_mouse_sensor_set_angle
 	branch mouse_setting_config+5
 
-p_mouse_gpio_init:
-	fetcht 1,mem_eeprom_wp_gpio
-	call gpio_config_output
-	call usb_offline_check_init
-	fetcht 1,mem_lbutton_gpio
-	call mouse_gpio_config_input_pu
-	fetcht 1,mem_rbutton_gpio
-	call mouse_gpio_config_input_pu
-	fetcht 1,mem_mbutton_gpio
-	call mouse_gpio_config_input_pu
-	fetcht 1,mem_bk_button_gpio
-	call mouse_gpio_config_input_pu
-	fetcht 1,mem_fw_button_gpio
-	call mouse_gpio_config_input_pu
-	fetcht 1,mem_dpi_button_gpio
-	call mouse_gpio_config_input_pu
-
-	fetcht 1,mem_matrix_public_gpio
-	call mouse_gpio_config_input_pu
-
-	fetcht 1,mem_config_select_device_button_gpio
-	call mouse_gpio_config_input_pu
-
-	fetcht 1,mem_customer_key_gpio
-	call mouse_gpio_config_input_pu
-
-	fetcht 1,mem_whee_a_data_gpio
-	call mouse_gpio_config_input_pu
-
-	fetcht 1,mem_whee_b_data_gpio
-	call mouse_gpio_config_input_pu
-
-	fetcht 1,mem_whee_ta_data_gpio
-	call mouse_gpio_config_input_pu
-	fetcht 1,mem_whee_tb_data_gpio
-	call mouse_gpio_config_input_pu
-
-	fetcht 1,mem_sensor_motion_gpio
-	call mouse_gpio_config_input_pu
-
-	fetcht 1,mem_device_switch_gpio
-	call mouse_gpio_config_input_pu
-	
-	fetcht 1,mem_sensor_reset_gpio
-	call gpio_config_output
-
-	fetcht 1,mem_select_sensor_angle_gpio
-	branch mouse_gpio_config_input_pu
-
 p_mouse_sensor_set_angle:
 	fetch 1,mem_sensor_angle_connect_gnd
 	store 1,mem_config_sensor_angle
@@ -395,9 +347,11 @@
 	store 1,mem_mouse_search_dongle_count
 	beq G24_CH_POLL_COUNT,p_mouse_24g_search_dongle_check
 	rtn
+
 p_mouse_24g_search_dongle_loop_retry:
 	call g24_ch
 	branch p_mouse_24g_search_dongle_loop
+
 p_mouse_24g_search_dongle_check:
 	jam 0,mem_mouse_search_dongle_count
 	fetch 1,mem_mouse_search_dongle_action
@@ -447,7 +401,6 @@
 	beq RECEIVER_AND_3_0_ADDR,g24_reconn_receiver_and_3_0
 	beq PAIR_AND_3_0_ADDR,g24_reconn_pair_and_3_0
 	branch g24_reconn_receiver_addr
-
 p_g24_transmit_no_interrupt:
 	call g24_txdata_prep
 	nbranch p_g24_nodata_transmit,user
@@ -490,7 +443,7 @@
 	store 1,mem_24g_data_type
 	call g24_transmit_prep
 	branch p_g24_transmit_start
-	
+
 p_g24_transmit_process:
 	jam 0,mem_24g_retry
 p_g24_transmit_loop:
@@ -598,10 +551,11 @@
 
 p_mouse_priority_bb_event:
 	copy regc,pdata
+	beq BT_EVT_24G_PAIRING_COMPLETE,p_mouse_24g_pairing_complete
 	beq BT_EVT_24G_ATTEMPT_SUCCESS,p_mouse_24g_attempt_success
-ifdef define G24_AUTO_PAIR_NERVER_BEEN_PAIRED	
+//ifdef define G24_AUTO_PAIR_NERVER_BEEN_PAIRED	
 	beq BT_EVT_24G_ATTEMPT_FAIL,p_mouse_24g_attempt_fail
-endif
+//endif
 	beq BT_EVT_LE_START_ENC,p_mouse_le_ll_start_encryt
 	beq BT_EVT_LE_PARSE_CONN_PARAM_ACCEPTED,p_mouse_le_parse_conn_param_accepted
 	branch mouse_priority_bb_event+2
@@ -630,34 +584,74 @@
 	store 1,mem_lpm_mult_init						// mouse_le_lpm_mult_reinit function will reinit mem_lpm_mult
 	branch mouse_le_conn_param_lpm_enable
 
-
+p_mouse_24g_pairing_complete:
+	call p_mouse_discovey_led_blink_off
+	branch mouse_24g_pairing_complete
 
 p_mouse_24g_attempt_success:
+	call p_mouse_discovey_led_blink_off
 	fetch 4,mem_24g_addr
 	store 4,mem_24g_receiver_addr
 	store 4,mem_mouse_24g_addr		// if need store 24g address to eeprom/flash,need get mem_24g_addr
 	call mouse_device_poweron_timer_init
 	branch mouse_24g_attempt_success
 
-ifdef define G24_AUTO_PAIR_NERVER_BEEN_PAIRED
+//ifdef define G24_AUTO_PAIR_NERVER_BEEN_PAIRED
 p_mouse_24g_attempt_fail:
 	fetch 1,mem_24g_attempt_fail_flag
 	nbranch p_mouse_24g_hibernate_set,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
+	call p_mouse_multi_led_blink_off
+	branch mouse_24g_attempt_fail_enter_hibernate+1
 
 p_mouse_24g_fast_conn_attempt_fail:
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag 
-	bbit1 MOUSE_ENABLE_24G_FIRST_AUTO_PAIRING,mouse_24g_start_auto_pair
-	bbit1 MOUSE_ENABLE_AUTO_24G_PARING,mouse_24g_start_auto_pair
-	fetch 4,mem_mouse_24g_addr		// auto pair first time
-	fetcht 4,mem_mouse_compare_addr_ff
-	isub temp,null
-	branch mouse_24g_start_pair_mode,zero
+	bbit1 MOUSE_ENABLE_24G_FIRST_AUTO_PAIRING,p_mouse_24g_start_auto_pair
+	bbit1 MOUSE_ENABLE_AUTO_24G_PARING,p_mouse_24g_start_auto_pair
+//	fetch 4,mem_mouse_24g_addr		// auto pair first time
+//	fetcht 4,mem_mouse_compare_addr_ff
+//	isub temp,null
+//	branch p_mouse_24g_start_pair_mode,zero
 	branch mouse_24g_reconn_dongle_start
 
-endif	
+p_mouse_24g_start_pair_mode:
+	jam TX_POWER_F30DB,mem_tx_power
+	arg MOUSE_24G_PAIRING_FLAG,queue
+	call mouse_enable_function_flag
+	setarg 0
+	store 2,mem_24g_reconn_timeout	
+	call mouse_stop_discovery
+	call mouse_low_voltage_led_blink_disable
+	call p_mouse_discovery_multi_led_blink
+	branch mouse_24g_start_pair_mode+7
+	
+p_mouse_24g_start_auto_pair:
+	call p_mouse_discovery_multi_led_blink
+	branch mouse_24g_start_auto_pair+1
+		
+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_24g_attempt_fail_enter_hibernate:
+	call p_mouse_multi_led_blink_off	
+	branch mouse_24g_attempt_fail_enter_hibernate+1
+
+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
+	
+
+//endif	
 
 p_mouse_start_work:
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
@@ -681,11 +675,6 @@
 	branch p_mouse_24g_start_pair_mode,zero
 	branch mouse_24g_reconn_general_dongle
 
-p_mouse_24g_start_pair_mode:
-	jam TX_POWER_F30DB,mem_tx_power
-	branch mouse_24g_start_pair_mode
-
-
 ///////////////////dpi led adjust////////////////////////////////////////////////////////////////////
 p_mouse_seting_dpi:
 	call mouse_setting_dpi_4_level
@@ -712,16 +701,12 @@
 	branch mouse_set_pka8g2_cpi1
 
 p_mouse_dpi_led_blink_delay:
-	fetch 1,mem_dpi_led_gpio
-	rtneq GPIO_DISABLE
 	fetch 2,mem_mouse_discovery_timer
 	nrtn blank
 	fetch 2,mem_24g_pair_timeout
 	nrtn blank
 	fetch 2,mem_24g_reconn_timeout
 	nrtn blank
-	fetch 1,mem_mouse_device_poweron_timer_count
-	nrtn blank
 	fetch 1,mem_mouse_dpi_led_delay_count_init
 	branch p_mouse_dpi_led_blink_init,blank
 	store 1,mem_mouse_dpi_led_delay_count  //delay 1s led blink
@@ -739,7 +724,6 @@
 	call mouse_twspi_reset
 	nop 6900
 	branch p_mouse_init_sensor
-	
 p_mouse_init_p32xx_id2_judge:
 	fetch 1,mem_sensor_id2
 	beq P_MX8650,p_mouse_mx8650_init_param
@@ -759,6 +743,7 @@
 	call mouse_sensor_wr_seq
 	branch p_mouse_dpi_config
 
+
 p_mouse_sensor_poweron:
 	call mouse_sensor_spi_init
 	fetch 1,mem_config_sensor_type
@@ -782,6 +767,7 @@
 	call twspi_write
 	nop 12000
 	rtn
+	
 p_mouse_sensor_powerdown:
 	call mouse_init_sunt
 	call mouse_sensor_spi_init
@@ -792,8 +778,8 @@
 p_mouse_ka8g2_sensor_powerdown:
 	setarg 0x1f06		// reset to factory settings
 	branch twspi_write
+
 p_mouse_bb_event_timer:
-	call p_mouse_device_poweron_timer
 	call mouse_adc_read
 	call p_mouse_low_voltage_led_timer
 	//24g
@@ -802,6 +788,8 @@
 	call mouse_24g_long_sleep_param_update_timer
 	//led	
 	call p_mouse_dpi_led_blink_delay_timer
+	call p_mouse_multi_led_blink_timer
+
 	call mouse_dpi_key_check_long_press
 	call mouse_bt_discovery_check
 	call p_mouse_commbination_key_process
@@ -820,6 +808,96 @@
 	call mouse_store_information_delay_timer
 	branch p_mouse_check_no_data_timeout_timer
 
+p_mouse_multi_led_blink_timer:
+	fetch 1,mem_mouse_multi_led_blink_enable
+	rtn blank
+	fetch 1,mem_mouse_multi_led_type
+	beq MULTI_LED_BLINK,p_mouse_multi_led_type_blink
+p_mouse_multi_led_type_on:
+	call p_mouse_multi_led_on
+	fetch 1,mem_mouse_multi_led_on_timer
+	increase 1,pdata
+	store 1,mem_mouse_multi_led_on_timer
+	fetcht 1,mem_mouse_multi_led_on_timer_init
+	isub temp,null
+	call p_mouse_multi_led_off_poweron2s,zero
+	rtn
+
+p_mouse_multi_led_off_poweron2s:
+	jam 0,mem_mouse_multi_led_on_poweron2s_flag
+	branch p_mouse_multi_led_off
+
+p_mouse_discovery_multi_led_blink:
+	jam 5,mem_mouse_multi_led_blink_timer_init	//300ms
+p_mouse_discovery_multi_led_blink1:	
+	jam 0,mem_mouse_multi_led_blink_count_limited
+	jam 1,mem_mouse_multi_led_blink_count//0 will clear mem_mouse_multi_led_blink_enable/mem_mouse_multi_led_type
+p_mouse_multi_led_blink_enable:
+	jam 5,mem_mouse_multi_led_blink_timer
+	jam ON,mem_mouse_multi_led_blink_enable
+	jam MULTI_LED_BLINK,mem_mouse_multi_led_type
+	rtn
+
+p_mouse_multi_led_type_blink:
+	arg mem_mouse_multi_led_blink_timer,regc
+	arg p_mouse_multi_led_type_blink_timeout,regb
+	branch timer_single_step
+p_mouse_multi_led_type_blink_timeout:
+	fetch 1,mem_mouse_multi_led_blink_timer_init
+	store 1,mem_mouse_multi_led_blink_timer
+	fetch 1,mem_mouse_multi_led_blink_count_limited
+	branch p_mouse_multi_led_blink_count_no_limited,blank
+	fetch 1,mem_mouse_multi_led_blink_count
+	branch p_mouse_multi_led_blink_off,blank
+	increase -1,pdata
+	store 1,mem_mouse_multi_led_blink_count
+p_mouse_multi_led_blink_count_no_limited:
+	fetch 1,mem_mouse_multi_led_state
+	beq ON,p_mouse_multi_led_off
+p_mouse_multi_led_on:
+	jam ON,mem_mouse_multi_led_state	
+	fetcht 1,mem_mouse_multi_led_gpio
+	branch gpio_out_active
+
+p_mouse_discovey_led_blink_off:
+//	fetch 1,mem_mouse_multi_led_on_timer
+//	nrtn blank
+//	fetch 1,mem_mouse_multi_led_on_poweron2s_flag
+//	nrtn blank
+p_mouse_multi_led_blink_off:
+	setarg 0
+	store 3,mem_mouse_multi_led_blink_timer
+p_mouse_multi_led_off:
+	fetch 1,mem_mouse_multi_led_blink_count
+	nbranch p_mouse_multi_led_off_wait_blink_over,blank
+	jam 0,mem_mouse_multi_led_blink_enable
+	jam 0,mem_mouse_multi_led_type
+p_mouse_multi_led_off_wait_blink_over:
+	jam 0,mem_mouse_multi_led_on_timer
+	jam OFF,mem_mouse_multi_led_state
+p_mouse_multi_led_gpio_set_high:
+	fetch 1,mem_mouse_multi_led_gpio
+	beq ICE_REUSE_GPIO,p_mouse_multi_led_gpio_config_input
+	fetcht 1,mem_mouse_multi_led_gpio
+	branch gpio_out_inactive
+
+p_mouse_multi_led_gpio_config_input:
+	fetcht 1,mem_mouse_multi_led_gpio
+	branch mouse_gpio_config_input_pu
+
+p_mouse_mode_bt_device1_multi_led_on:
+p_mouse_mode_24g_device_multi_led_on:
+	jam 1,mem_mouse_multi_led_on_poweron2s_flag
+	jam ON,mem_mouse_multi_led_blink_enable
+	jam MULTI_LED_ON,mem_mouse_multi_led_type
+	jam 0,mem_mouse_multi_led_on_timer
+	rtn
+
+p_mouse_dpi_multi_led_blink:
+	jam 2,mem_mouse_multi_led_blink_timer_init	//200ms
+	jam 1,mem_mouse_multi_led_blink_count_limited
+	branch p_mouse_multi_led_blink_enable
+
 p_mouse_check_no_data_timeout_timer:
 	fetch 1,mem_usb_addr
 	rtnbit1 7
@@ -837,72 +915,61 @@
 	arg p_mouse_dpi_led_blink_init,regb
 	branch timer_single_step	
 	
-p_mouse_dpi_led_blink_init:	//result:    level3: 2  3  1     level4: 3  4  1  2
-	fetch 1,mem_config_sensor_type
-	beq P3212,mouse_dpi_led_blink_init		//result:    level3: 1  2  3     level4: 2  3  4  1
-	beq KA8G2,mouse_dpi_led_blink_init	//result:    level3: 1  2  3     level4: 2  3  4  1
-	fetch 1,mem_dpi_led_gpio
-	store 1,mem_mouse_struct_led_gpio
-	fetch 2,mem_mouse_dpi_led_blink_time
-	store 2,mem_mouse_on_time
-	store 2,mem_mouse_off_time
-	arg 0,rega
-	fetcht 1,mem_mouse_dpi
-	increase 2,temp	// 2 3 4 (5)
-	sub temp,3,null
-	call p_mouse_dpi_led_blink_init_level_4,positive
-	ncall p_mouse_dpi_led_blink_count_clean,positive
-	branch mouse_dpi_led_blink_init_end
+//p_mouse_dpi_led_blink_init:	//result:    level3: 2  3  1     level4: 3  4  1  2
+//	fetch 1,mem_config_sensor_type
+//	beq P3212,p_mouse_3212_and_ka8g2_dpi_led_blink_init		//result:    level3: 1  2  3     level4: 2  3  4  1
+//	beq KA8G2,p_mouse_3212_and_ka8g2_dpi_led_blink_init	//result:    level3: 1  2  3     level4: 2  3  4  1
+//	fetch 1,mem_dpi_led_gpio
+//	store 1,mem_mouse_struct_led_gpio
+//	fetch 2,mem_mouse_dpi_led_blink_time
+//	store 2,mem_mouse_on_time
+//	store 2,mem_mouse_off_time
+//	arg 0,rega
+//	fetcht 1,mem_mouse_dpi
+//	increase 2,temp	// 2 3 4 (5)
+//	sub temp,3,null
+//	call p_mouse_dpi_led_blink_init_level_4,positive
+//	ncall p_mouse_dpi_led_blink_count_clean,positive
+//	storet 1,mem_mouse_multi_led_blink_count
+//	branch p_mouse_dpi_multi_led_blink
 
-p_mouse_dpi_led_blink_init_level_4:
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	rtnbit0 MOUSE_ENABLE_DPI_LEVEL_4
-	increase 1,temp  	// 2-->3   3-->4
-	rtn
+//p_mouse_dpi_led_blink_init_level_4:
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	rtnbit0 MOUSE_ENABLE_DPI_LEVEL_4
+//	increase 1,temp  	// 2-->3   3-->4
+//	rtn
 
-p_mouse_dpi_led_blink_count_clean:
-	increase -3,temp		// 4-->1  5-->2
-	rtn
+//p_mouse_dpi_led_blink_count_clean:
+//	increase -3,temp		// 4-->1  5-->2
+//	rtn
 
-p_mouse_device_poweron_timer:
+p_mouse_dpi_led_blink_init:
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	rtnbit0 MOUSE_ENABLE_POWER_ON_LED
-	fetch 1,mem_mouse_device_poweron_timer_count
-	rtn blank
-	increase -1,pdata
-	store 1,mem_mouse_device_poweron_timer_count
-	branch p_mouse_device_led_off,blank
-p_mouse_device_led_on:
-	fetch 1,mem_config_device_24g_led_gpio_patch
-	bne ICE_REUSE_GPIO,mouse_device_led_on
-	fetcht 1,mem_config_device_24g_led_gpio_patch
-	call gpio_config_output
-	fetcht 1,mem_config_device_24g_led_gpio_patch
-	branch gpio_out_active
-
-p_mouse_device_led_off:
-	fetch 1,mem_config_device_24g_led_gpio_patch
-	bne ICE_REUSE_GPIO,mouse_device_led_off
-p_mouse_reuse_ice_gpio_config_input:	//ice gpio config led
-	fetcht 1,mem_config_device_24g_led_gpio_patch
-	branch mouse_gpio_config_input_pu
-
-p_mouse_led_config_ouput:
-	fetcht 1,mem_config_low_voltage_alarm_gpio
-	call gpio_config_output
-
-	fetcht 1,mem_config_device_24g_led_gpio
-	call gpio_config_output
-
-	fetcht 1,mem_config_device_bt1_led_gpio
-	call gpio_config_output
-	
-	fetcht 1,mem_config_device_bt2_led_gpio
-	call gpio_config_output
-
-	fetcht 1,mem_dpi_led_gpio
-	branch gpio_config_output
-
+	bbit1 MOUSE_ENABLE_DPI_LEVEL_4,p_mouse_dpi_led_blink_four_level
+p_mouse_dpi_led_blink_three_level:	
+	fetch 1,mem_mouse_dpi
+	beq 0,p_mouse_dpi_led_blink_twice
+	beq 1,p_mouse_dpi_led_blink_thrice
+	branch p_mouse_dpi_led_blink_once
+p_mouse_dpi_led_blink_four_level:
+	fetch 1,mem_mouse_dpi
+	beq 0,p_mouse_dpi_led_blink_thrice
+	beq 1,p_mouse_dpi_led_blink_quartic
+	beq 2,p_mouse_dpi_led_blink_once
+	branch p_mouse_dpi_led_blink_twice
+
+p_mouse_dpi_led_blink_once:
+	jam 1,mem_mouse_multi_led_blink_count
+	branch p_mouse_dpi_multi_led_blink
+p_mouse_dpi_led_blink_twice:
+	jam 3,mem_mouse_multi_led_blink_count
+	branch p_mouse_dpi_multi_led_blink
+p_mouse_dpi_led_blink_thrice:
+	jam 5,mem_mouse_multi_led_blink_count
+	branch p_mouse_dpi_multi_led_blink
+p_mouse_dpi_led_blink_quartic:	
+	jam 7,mem_mouse_multi_led_blink_count
+	branch p_mouse_dpi_multi_led_blink
 	
 /////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -1122,13 +1189,21 @@
 	fetch 1,mem_adc_power_flag
 	bbit1 2,mouse_adc_button_press
 	bbit1 1,mouse_power_down
-	bbit0 0,mouse_adc_no_low_voltage
+	bbit0 0,p_mouse_adc_no_low_voltage
 	jam 1,mem_mouse_adc_last_low_voltage_flag
 	branch mouse_adc_low_voltage
 p_mouse_adc_gpio_connect_gnd:
 	fetcht 1,mem_adc_channel_gpio
 	call mouse_gpio_config_input_pd
 
+p_mouse_adc_no_low_voltage:
+	arg MOUSE_LOW_VOLTAGE_FLAG,queue
+	call mouse_disable_function_flag
+	fetch 1,mem_mouse_adc_last_low_voltage_flag
+	rtn blank
+	jam 0,mem_mouse_adc_last_low_voltage_flag
+	branch p_mouse_multi_led_off
+
 p_mouse_low_voltage_led_timer:
 	fetch 2,mem_mouse_discovery_timer
 	nrtn blank
@@ -1136,8 +1211,8 @@
 	nrtn blank
 	fetch 2,mem_24g_reconn_timeout
 	nrtn blank
-	fetch 1,mem_mouse_device_poweron_timer_count
-	nrtn blank
+//	fetch 1,mem_mouse_device_poweron_timer_count
+//	nrtn blank
 	call mouse_check_dpi_blink
 	rtn user
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
@@ -1148,9 +1223,12 @@
 	increase 1,pdata
 	store 1,mem_adc_low_volatage_led_timer_count
 	sub pdata,8,null
-	ncall mouse_adc_low_volatage_led_timer_count_clean,positive
-	beq 3,mouse_low_voltage_led_on
-	beq 5,mouse_low_voltage_led_off
-	beq 7,mouse_low_voltage_led_on
+	ncall p_mouse_adc_low_volatage_led_timer_count_clean,positive
+	beq 3,p_mouse_multi_led_on
+	beq 5,p_mouse_multi_led_off
+	beq 7,p_mouse_multi_led_on
 	rtn
+p_mouse_adc_low_volatage_led_timer_count_clean:
+	jam 1,mem_adc_low_volatage_led_timer_count
+	branch p_mouse_multi_led_off
 
Index: sched/mouse.dat
===================================================================
--- /YC1308AC/branch/mouse_project/YDN_Project/G-117-3_Only24g/sched/mouse.dat	(revision 642)
+++ /YC1308AC/branch/mouse_project/YDN_Project/G-117-3_Only24g/sched/mouse.dat	(working copy)
@@ -114,7 +114,6 @@
 mem_whee_a_data_gpio:05
 mem_whee_b_data_gpio:04
 mem_config_device_24g_led_gpio:ff
-mem_config_device_24g_led_gpio_patch:03
 mem_config_device_bt1_led_gpio:ff
 mem_select_sensor_angle_gpio:08
 
@@ -141,6 +140,10 @@
 mem_sensor_angle_connect_vin:02	#00--6CLK   01--9CLK   02--12CLK   03--3CLK
 
 
+mem_mouse_multi_led_gpio:03
+mem_mouse_multi_led_on_timer_init:14
+mem_mouse_multi_led_blink_timer_init:05
+
 mem_usb_offline_check_gpio:ff
 
 
@@ -307,7 +310,7 @@
 mem_mouse_dpi_seting:
 03##mem_320x_dpi_0  	1200/1300
 04##mem_320x_dpi_1  	1600
-01##mem_320x_dpi_2   	800
+01##mem_320x_dpi_2   800
 02##mem_320x_dpi_3  	1000
 
 20##mem_3212_dpi_0	1200
@@ -410,7 +413,6 @@
 ff 00
 09 00
 ff ff
-
 mem_sensor_ka8ul_init:
 09 5a
 0d 10
