Index: format/app_mouse.format
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/Only2.4G/TW-GY05_Only2.4G/format/app_mouse.format	(revision 385)
+++ /YC1308AC/branch/mouse_project/YJX_Project/Only2.4G/TW-GY05_Only2.4G/format/app_mouse.format	(working copy)
@@ -328,8 +328,15 @@
 4 mem_fire_key_delay
 
 1 mem_rgb_led_off_enable
-1 mem_rgb_led_off_timer
-1 mem_rgb_led_on_timer
+1 mem_rgb_led_on_enable
+1 mem_rgb_led_off_enable_timer
+1 mem_rgb_led_on_enable_timer
+2 mem_rgb_led_on_timer
+
+2 mem_rgb_led_off_check_count
+2 mem_rgb_led_on_check_count
+1 mem_rgb_led_on_continue_1min_timeout_flag
+1 mem_mbutton_function_disable
 )
 
 
Index: output/eeprom.dat
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/Only2.4G/TW-GY05_Only2.4G/output/eeprom.dat	(revision 385)
+++ /YC1308AC/branch/mouse_project/YJX_Project/Only2.4G/TW-GY05_Only2.4G/output/eeprom.dat	(working copy)
@@ -2,76 +2,148 @@
 02
 aa
 55
-a2
-05
+ee
+07
 c2
 84
 00
-0f
+11
 c0
 00
 00
-11
+23
 c0
 45
 80
-4b
+9d
+c0
+4f
+80
+7b
 c0
 57
 00
-15
+27
+c0
+61
+80
+33
 c0
 63
 81
-3e
+d1
 c0
 64
 80
-56
+a8
 c0
 65
 00
-63
+b5
 c0
 67
 00
-78
+d2
 c0
 68
-00
-ba
+01
+3a
 c0
 68
 80
-84
+ff
 c0
 69
 81
-2f
+c2
 c0
 6a
 01
-31
+c4
 c0
 6b
 00
-6c
+c3
 c0
 6c
-80
-cb
+81
+4b
 20
 20
 13
 7c
 c0
+11
+00
+15
+c0
+11
+80
+1b
+c0
 6e
 81
-2a
+b8
 20
 20
 13
 7c
+1f
+e2
+22
+00
+6f
+e0
+c9
+17
+d8
+40
+00
+3e
+20
+40
+60
+93
+1a
+22
+7e
+00
+20
+20
+5c
+c2
+1f
+e2
+22
+00
+18
+42
+24
+00
+6f
+e0
+c9
+17
+d8
+40
+00
+3e
+20
+40
+60
+93
+1a
+22
+7e
+00
+1a
+42
+04
+00
+20
+20
+5c
+c9
 20
 80
 00
@@ -95,15 +167,7 @@
 20
 40
 00
-2b
-6f
-e0
-cb
-e1
-24
-5a
-00
-23
+5b
 20
 40
 41
@@ -127,11 +191,11 @@
 20
 40
 00
-26
+56
 20
 40
 01
-33
+c6
 6f
 e0
 c9
@@ -144,97 +208,225 @@
 20
 3b
 cb
-70
-4b
-e8
-00
-70
+6f
+e4
 4b
-ea
-0b
-20
-60
-00
-00
-58
+ab
+c2
+97
+c8
+0a
+6f
+e0
+c9
+38
+c0
 00
-48
-66
-67
-e1
-48
-9b
-58
 00
-01
-42
-67
-e1
-48
-9d
+3a
 20
+40
+3d
+65
+24
+34
+42
+eb
 20
-3b
-d3
 20
-75
-80
-00
+3d
+59
+6f
+e4
+4b
+ab
+c3
+08
+c8
+03
+6f
+e4
+4b
+ab
+c2
+98
+48
+0c
+c3
+18
+c8
+0c
 20
 40
-26
+00
+51
+1f
+e1
+7e
 07
+68
+48
+cb
+cb
+98
+46
+7c
+00
 20
-40
 22
-ff
+c8
+27
 20
-40
-3f
-1e
 20
-40
-3d
-13
+48
+0c
 20
 40
 00
-35
-68
 48
-c9
-20
 20
-40
-60
-50
+34
+48
+12
 20
-40
-00
-45
 20
+48
+06
+df
 20
-3b
-f5
-6f
-e0
-c9
-24
-67
-e0
-c9
-28
-6f
-e0
-c9
-17
-c1
-7f
-80
 00
-6f
-e0
-c9
+02
+d8
+c0
+49
+93
+20
+40
+7e
+54
+58
+00
+ff
+ff
+e8
+41
+00
+06
+98
+46
+7c
+00
+24
+42
+fe
+56
+c2
+00
+00
+4c
+20
+60
+00
+00
+20
+40
+41
+21
+20
+40
+41
+15
+d8
+40
+00
+00
+60
+49
+cb
+8e
+20
+60
+00
+00
+58
+00
+48
+66
+67
+e1
+48
+9b
+58
+00
+01
+d5
+67
+e1
+48
+9d
+20
+20
+3b
+d3
+20
+75
+80
+00
+20
+40
+26
+07
+20
+40
+22
+ff
+20
+40
+3f
+1e
+20
+40
+3d
+13
+20
+40
+00
+65
+68
+48
+c9
+20
+20
+40
+60
+50
+20
+40
+00
+75
+20
+20
+3b
+f5
+6f
+e0
+c9
+24
+67
+e0
+c9
+28
+6f
+e0
+c9
+17
+c1
+7f
+80
+00
+6f
+e0
+c9
 17
 d8
 40
@@ -304,99 +496,235 @@
 20
 60
 93
-70
-8a
-8b
-e6
-20
-40
-12
-6a
-20
-40
-12
-71
 20
-40
-12
-77
+75
+80
+00
 70
-8a
-6d
+45
+f7
 09
-70
-8a
-03
+58
+00
 05
-70
-8a
-7a
-94
-70
-8a
 0e
-0b
-70
-8a
-0f
-05
+67
+e1
+45
+f8
+58
+00
+00
+08
+67
+e1
+45
+fa
 70
-8a
-83
-90
-20
-20
-12
-5d
-20
-40
-42
-e9
-20
-40
+44
+cf
 7f
-dc
-20
+58
+00
+00
+24
+67
+e1
 40
+b5
+67
+e1
 40
-15
-68
-48
-c9
-10
-20
+b9
+58
+00
+02
+00
+67
+e1
 40
-60
-69
-68
-48
-c9
-10
-20
+b7
+67
+e1
 40
-60
-42
+bb
+58
+00
+00
 20
+67
+e1
 40
-3e
-40
-d8
+c3
+67
+e1
 40
+bf
+58
 00
-13
-20
-40
-3f
-56
-6f
-e0
-c9
 20
-d8
+00
+67
+e1
 40
+c1
+58
 00
-3f
-20
+04
+80
+67
+e1
+40
+c6
+58
+00
+0c
+00
+67
+e1
+40
+c8
+58
+00
+0c
+3f
+67
+e1
+41
+7e
+58
+00
+03
+33
+e7
+e1
+00
+05
+58
+04
+10
+9d
+67
+e1
+c1
+83
+20
+40
+7f
+dc
+58
+00
+00
+00
+67
+e1
+41
+e6
+1c
+43
+7e
+00
+67
+e2
+40
+9c
+20
+60
+00
+00
+70
+8a
+8b
+e6
+20
+40
+12
+6a
+20
+40
+12
+71
+20
+40
+12
+77
+70
+8a
+6d
+09
+70
+8a
+03
+05
+70
+8a
+7a
+94
+70
+8a
+0e
+0b
+70
+8a
+0f
+05
+70
+8a
+83
+90
+20
+20
+12
+5d
+20
+40
+42
+e9
+20
+40
+7f
+dc
+20
+40
+40
+15
+68
+48
+c9
+10
+20
+40
+60
+69
+68
+48
+c9
+10
+20
+40
+60
+42
+20
+40
+3e
+40
+d8
+40
+00
+13
+20
+40
+3f
+56
+6f
+e0
+c9
+20
+d8
+40
+00
+3f
+20
 20
 60
 93
@@ -433,9 +761,29 @@
 60
 93
 20
+40
+00
+bf
+20
 20
 3e
 44
+d8
+40
+00
+13
+20
+40
+3f
+56
+d8
+40
+00
+03
+20
+20
+3f
+56
 1a
 62
 7e
@@ -443,11 +791,11 @@
 c0
 1e
 00
-70
+c7
 c0
 1d
 00
-75
+cc
 20
 20
 43
@@ -479,11 +827,23 @@
 24
 3a
 00
-f4
+cf
 20
 20
 48
 35
+79
+3f
+80
+26
+70
+4b
+f2
+00
+20
+20
+01
+77
 78
 54
 7c
@@ -511,47 +871,199 @@
 20
 40
 00
-80
-20
-20
-3f
-78
+fb
+6f
+e0
+c8
+d0
+1f
+e1
+7e
+1f
+67
+e0
+c8
+d0
+24
+34
+00
+e0
 20
 40
-41
-15
+47
+1a
 20
 40
 00
-89
-1a
-22
-7e
-00
+eb
 20
 20
+45
+44
+20
 40
-dd
+47
+28
 6f
+e1
+4b
+ee
+1f
 e0
-cb
-e8
+fe
+01
+67
+e1
+4b
+ee
+d8
+40
+02
+58
+98
+46
+7c
+00
 24
-7a
+62
+80
 00
+58
 00
-6f
-e0
-cb
-ea
-24
-7a
+00
+00
+67
+e1
+4b
+ee
+70
+4b
+e9
+00
+20
+60
+00
+00
+6f
+e1
+4b
+f0
+1f
+e0
+fe
+01
+67
+e1
+4b
+f0
+d8
+40
+02
+58
+98
+46
+7c
+00
+24
+62
+80
+00
+58
+00
+00
+00
+67
+e1
+4b
+f0
+6f
+e0
+cb
+e9
+c1
+00
+80
+00
+70
+4b
+e9
+01
+70
+4b
+e8
+00
+70
+4b
+eb
+0b
+58
+00
+00
+00
+67
+e1
+4b
+ec
+20
+60
+00
+00
+20
+40
+41
+15
+20
+40
+01
+09
+1a
+22
+7e
+00
+20
+20
+40
+dd
+6f
+e0
+cb
+e1
+24
+5a
+41
+21
+da
+20
+00
+00
+20
+40
+41
+24
+20
+40
+41
+2a
+20
+40
+01
+06
+20
+20
+41
+1c
+6f
+e0
+cb
+f3
+24
+7a
 00
 00
 20
 20
 41
-16
+30
 1a
 22
 7e
@@ -578,32 +1090,32 @@
 59
 20
 20
-80
-95
+81
+15
 6f
 e0
 cb
 e3
 24
 3a
-00
-93
+01
+13
 20
 60
 00
 00
 c0
 02
-00
-af
+01
+2f
 20
 20
-00
-95
+01
+15
 20
 40
-00
-b2
+01
+32
 6f
 e2
 4b
@@ -638,20 +1150,20 @@
 e3
 c0
 00
-00
-a3
+01
+23
 c0
 00
-80
-a6
+81
+26
 c0
 01
-00
-a9
+01
+29
 c0
 01
-80
-ac
+81
+2c
 20
 60
 00
@@ -730,8 +1242,8 @@
 00
 24
 41
-00
-b7
+01
+37
 20
 60
 00
@@ -754,8 +1266,8 @@
 8f
 20
 40
-00
-bd
+01
+3d
 20
 20
 40
@@ -807,7 +1319,7 @@
 20
 3a
 01
-15
+a3
 67
 e0
 cb
@@ -843,15 +1355,19 @@
 20
 40
 01
-12
+a0
 20
 40
-00
-e3
+01
+64
 20
 40
-00
-fb
+01
+7e
+20
+40
+01
+8a
 20
 40
 40
@@ -911,7 +1427,7 @@
 20
 20
 01
-0a
+98
 6f
 e0
 cb
@@ -923,23 +1439,31 @@
 da
 60
 4b
-e9
+ea
 da
 40
-00
-e8
+01
+69
 20
 20
 31
 8a
-68
-48
-c9
-1a
 20
 40
-3f
-56
+01
+87
+6f
+e0
+cb
+f2
+24
+7a
+00
+00
+70
+4b
+f2
+00
 70
 48
 a5
@@ -971,7 +1495,7 @@
 20
 40
 01
-33
+c6
 20
 40
 3e
@@ -980,18 +1504,18 @@
 20
 26
 b5
-79
-3f
-80
-26
 70
 4b
-e9
+ea
 1e
 70
 4b
 e8
 01
+70
+4b
+f3
+01
 68
 48
 c9
@@ -1019,7 +1543,7 @@
 6f
 e0
 cb
-ea
+eb
 20
 7a
 00
@@ -1027,7 +1551,7 @@
 c0
 00
 81
-06
+86
 1f
 e0
 ff
@@ -1035,39 +1559,83 @@
 67
 e0
 cb
-ea
-68
-48
-c9
-1a
-20
-40
-60
-69
-68
-48
-c9
-1a
+eb
 20
 20
-60
-69
+01
+79
+70
+4b
+eb
+00
+70
+4b
+f3
+00
 68
 48
 c9
 1a
 20
-40
+20
 3f
 56
-70
+6f
+e0
+cb
+e9
+24
+7a
+00
+00
+6f
+e0
+cb
+e8
+24
+7a
+00
+00
+6f
+e1
 4b
-ea
+ec
+1f
+e0
+fe
+01
+67
+e1
+4b
+ec
+d8
+40
+02
+58
+98
+46
+7c
 00
 20
+42
+81
+95
+20
 60
 00
 00
+70
+4b
+f2
+01
+20
+40
+00
+f8
+20
+20
+01
+77
 6f
 e0
 c9
@@ -1083,7 +1651,7 @@
 da
 40
 01
-0f
+9d
 20
 20
 31
@@ -1095,7 +1663,7 @@
 c0
 00
 00
-f4
+cf
 20
 20
 43
@@ -1107,7 +1675,7 @@
 da
 40
 01
-15
+a3
 20
 20
 31
@@ -1163,11 +1731,11 @@
 20
 41
 01
-24
+b2
 24
 41
 01
-28
+b6
 20
 20
 48
@@ -1203,11 +1771,19 @@
 24
 5a
 01
-2d
+bb
 20
 20
 21
 d2
+70
+4b
+e9
+01
+20
+40
+01
+bf
 79
 20
 00
@@ -1216,10 +1792,22 @@
 60
 00
 00
+70
+4b
+e8
+00
+70
+4b
+eb
+0b
+20
+60
+00
+00
 20
 40
 01
-37
+ca
 20
 20
 41
@@ -1227,7 +1815,7 @@
 20
 40
 01
-37
+ca
 20
 20
 42
@@ -1239,7 +1827,7 @@
 20
 40
 01
-37
+ca
 58
 00
 08
@@ -1267,7 +1855,7 @@
 70
 44
 84
-76
+77
 20
 40
 3f
@@ -1283,7 +1871,7 @@
 20
 40
 01
-33
+c6
 20
 40
 3e
@@ -1359,7 +1947,7 @@
 24
 21
 01
-58
+eb
 20
 40
 25
@@ -1371,11 +1959,11 @@
 24
 2c
 01
-5e
+f1
 24
 37
 81
-5e
+f1
 20
 40
 48
@@ -1399,7 +1987,7 @@
 c0
 08
 01
-60
+f3
 20
 60
 00
@@ -1411,7 +1999,7 @@
 20
 20
 01
-4e
+e1
 70
 4b
 a3
@@ -1443,9 +2031,9 @@
 20
 20
 01
-33
-b3
-cb
+c6
+e6
+93
 aa
 55
 40
@@ -1471,12 +2059,12 @@
 00
 08
 00
-00
+80
 00
 40
 00
 00
-80
+88
 46
 5b
 02
@@ -1488,7 +2076,7 @@
 00
 00
 00
-00
+0c
 00
 00
 00
@@ -1530,7 +2118,7 @@
 7a
 41
 88
-1f
+13
 ce
 aa
 55
@@ -1607,7 +2195,7 @@
 4a
 00
 00
-80
+00
 03
 03
 aa
@@ -1780,7 +2368,7 @@
 0a
 60
 06
-05
+0a
 00
 64
 00
@@ -2359,853 +2947,265 @@
 ff
 ff
 09
-5a
-0d
-10
-0e
-c5
-5b
-9a
-10
-38
-11
-42
-28
-28
-41
-23
-49
-39
-4a
-b0
-4b
-a0
-4c
-90
-4d
-70
-09
-00
-ff
-ff
-09
-5a
-06
-02
-09
-69
-0d
-48
-0e
-9f
-0f
-ba
-09
-00
-ff
-ff
-aa
-55
-08
-00
-a3
-4a
-09
-5a
-0b
-f3
-09
-00
-ff
-ff
-aa
-55
-02
-00
-8d
-44
-2d
-49
-aa
-55
-01
-00
-8c
-44
-01
-aa
-55
-01
-00
-65
-48
-01
-aa
-55
-01
-00
-64
-48
-01
-aa
-55
-01
-00
-36
-48
-01
-aa
-55
-01
-00
-a8
-48
-06
-aa
-55
-02
-00
-38
-48
-c0
-12
-aa
-55
-03
-00
-54
-48
-19
-19
-1c
-aa
-55
-10
-00
-40
-48
-00
-13
-2c
-42
-06
-15
-36
-48
-0f
-1a
-3a
-4c
-11
-23
-31
-4d
-aa
-55
-01
-00
-5b
-48
-00
-aa
-55
-05
-00
-77
-48
-20
-15
-10
-05
-4e
-aa
-55
-05
-00
-8c
-48
-01
-0f
-0f
-0f
-0f
-aa
-55
-03
-00
-5c
-48
-00
-48
-60
-aa
-55
-01
-00
-7d
-48
-07
-aa
-55
-02
-00
-99
-48
-b5
-4a
-aa
-55
-01
-00
-ca
-48
-32
-aa
-55
-02
-00
-c2
-48
-14
-00
-aa
-55
-02
-00
-c0
-48
-50
-00
-aa
-55
-03
-00
-b8
-48
-00
-a6
-0e
-aa
-55
-03
-00
-b8
-49
-00
-50
-00
-aa
-55
-02
-00
-79
-44
-80
-1f
-aa
-55
-01
-00
-83
-44
-80
-aa
-55
-01
-00
-e8
-41
-01
-7c
-52
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+5a
+0d
+10
+0e
+c5
+5b
+9a
+10
+38
+11
+42
+28
+28
+41
+23
+49
+39
+4a
+b0
+4b
+a0
+4c
+90
+4d
+70
+09
+00
 ff
 ff
+09
+5a
+06
+02
+09
+69
+0d
+48
+0e
+9f
+0f
+ba
+09
+00
 ff
 ff
+aa
+55
+08
+00
+a3
+4a
+09
+5a
+0b
+f3
+09
+00
 ff
 ff
+aa
+55
+02
+00
+8d
+44
+2d
+49
+aa
+55
+01
+00
+8c
+44
+01
+aa
+55
+01
+00
+65
+48
+01
+aa
+55
+01
+00
+64
+48
+01
+aa
+55
+01
+00
+36
+48
+01
+aa
+55
+01
+00
+a8
+48
+06
+aa
+55
+02
+00
+38
+48
+c0
+12
+aa
+55
+03
+00
+54
+48
+19
+19
+1c
+aa
+55
+10
+00
+40
+48
+00
+13
+2c
+42
+06
+15
+36
+48
+0f
+1a
+3a
+4c
+11
+23
+31
+4d
+aa
+55
+01
+00
+5b
+48
+00
+aa
+55
+05
+00
+77
+48
+20
+15
+10
+05
+4e
+aa
+55
+05
+00
+8c
+48
+01
+0f
+0f
+0f
+0f
+aa
+55
+03
+00
+5c
+48
+00
+48
+60
+aa
+55
+01
+00
+7d
+48
+07
+aa
+55
+02
+00
+99
+48
+b5
+4a
+aa
+55
+01
+00
+ca
+48
+32
+aa
+55
+02
+00
+c2
+48
+14
+00
+aa
+55
+02
+00
+c0
+48
+50
+00
+aa
+55
+03
+00
+b8
+48
+00
+a6
+0e
+aa
+55
+03
+00
+b8
+49
+00
+50
+00
+aa
+55
+02
+00
+79
+44
+80
+1f
+aa
+55
+01
+00
+83
+44
+80
+aa
+55
+01
+00
+e8
+41
+01
+d8
+57
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-53
-e1
+6c
+18
Index: output/memmap.format
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/Only2.4G/TW-GY05_Only2.4G/output/memmap.format	(revision 385)
+++ /YC1308AC/branch/mouse_project/YJX_Project/Only2.4G/TW-GY05_Only2.4G/output/memmap.format	(working copy)
@@ -2207,8 +2207,14 @@
 0x4be3 mem_fire_key_status
 0x4be4 mem_fire_key_delay
 0x4be8 mem_rgb_led_off_enable
-0x4be9 mem_rgb_led_off_timer
-0x4bea mem_rgb_led_on_timer
+0x4be9 mem_rgb_led_on_enable
+0x4bea mem_rgb_led_off_enable_timer
+0x4beb mem_rgb_led_on_enable_timer
+0x4bec mem_rgb_led_on_timer
+0x4bee mem_rgb_led_off_check_count
+0x4bf0 mem_rgb_led_on_check_count
+0x4bf2 mem_rgb_led_on_continue_1min_timeout_flag
+0x4bf3 mem_mbutton_function_disable
 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/YJX_Project/Only2.4G/TW-GY05_Only2.4G/output/program.lis	(revision 385)
+++ /YC1308AC/branch/mouse_project/YJX_Project/Only2.4G/TW-GY05_Only2.4G/output/program.lis	(working copy)
@@ -1,475 +1,664 @@
               include "bt_format "
               org 0x0000
-0000 c284000f bbit1 8 ,pf_patch_ext 
-0001 c0000011 beq patch00_0 ,p_soft_reset 
-0002 c045804b beq patch11_3 ,p_initialize_radio_cont 
-0003 c0570015 beq patch15_6 ,p_app_init 
-0004 c063813e beq patch18_7 ,p_mouse_app_enter_hibernate 
-0005 c0648056 beq patch19_1 ,p_mouse_setgpio_hibernate 
-0006 c0650063 beq patch19_2 ,p_mouse_lpm_before_common 
-0007 c0670078 beq patch19_6 ,p_mouse_motion 
-0008 c06800ba beq patch1a_0 ,p_mouse_seting_dpi 
-0009 c0688084 beq patch1a_1 ,p_mouse_check_key_gpio 
-000a c069812f beq patch1a_3 ,p_mouse_init_sunt 
-000b c06a0131 beq patch1a_4 ,p_mouse_sensor_poweron 
-000c c06b006c beq patch1a_6 ,p_mouse_priority_bb_event 
-000d c06c80cb beq patch1b_1 ,p_mouse_bb_event_timer 
-000e 2020137c branch loop 
+0000 c2840011 bbit1 8 ,pf_patch_ext 
+0001 c0000023 beq patch00_0 ,p_soft_reset 
+0002 c045809d beq patch11_3 ,p_initialize_radio_cont 
+0003 c04f807b beq patch13_7 ,p_init_param 
+0004 c0570027 beq patch15_6 ,p_app_init 
+0005 c0618033 beq patch18_3 ,p_mouse_start_work 
+0006 c06381d1 beq patch18_7 ,p_mouse_app_enter_hibernate 
+0007 c06480a8 beq patch19_1 ,p_mouse_setgpio_hibernate 
+0008 c06500b5 beq patch19_2 ,p_mouse_lpm_before_common 
+0009 c06700d2 beq patch19_6 ,p_mouse_motion 
+000a c068013a beq patch1a_0 ,p_mouse_seting_dpi 
+000b c06880ff beq patch1a_1 ,p_mouse_check_key_gpio 
+000c c06981c2 beq patch1a_3 ,p_mouse_init_sunt 
+000d c06a01c4 beq patch1a_4 ,p_mouse_sensor_poweron 
+000e c06b00c3 beq patch1a_6 ,p_mouse_priority_bb_event 
+000f c06c814b beq patch1b_1 ,p_mouse_bb_event_timer 
+0010 2020137c branch loop 
 
 pf_patch_ext:
-000f c06e812a beq patch3b_5 ,p_g24_dispatch 
-0010 2020137c branch loop 
+0011 c0110015 beq patch24_2 ,p_spid_write_reg 
+0012 c011801b beq patch24_3 ,p_spid_read_reg 
+0013 c06e81b8 beq patch3b_5 ,p_g24_dispatch 
+0014 2020137c branch loop 
+
+p_spid_write_reg:
+0015 1fe22200 copy pdata ,rega 
+0016 6fe0c917 fetch 1 ,mem_select_sensor_angle_gpio 
+0017 d840003e arg gpcfg_output_low ,temp 
+0018 20406093 call gpio_config_function_int 
+0019 1a227e00 copy rega ,pdata 
+001a 20205cc2 branch spid_write_reg + 3 
+
+p_spid_read_reg:
+001b 1fe22200 copy pdata ,rega 
+001c 18422400 copy temp ,regb 
+001d 6fe0c917 fetch 1 ,mem_select_sensor_angle_gpio 
+001e d840003e arg gpcfg_output_low ,temp 
+001f 20406093 call gpio_config_function_int 
+0020 1a227e00 copy rega ,pdata 
+0021 1a420400 copy regb ,temp 
+0022 20205cc9 branch spid_read_reg + 3 
 
 p_soft_reset:
-0011 20800000 clear_stack 
-0012 204030f3 call app_param_init 
-0013 20403bfd call mouse_xtal_init 
-0014 20200804 branch soft_reset + 3 
+0023 20800000 clear_stack 
+0024 204030f3 call app_param_init 
+0025 20403bfd call mouse_xtal_init 
+0026 20200804 branch soft_reset + 3 
 
 p_app_init:
 
 p_mouse_init:
-0015 20406df3 call enable_authrom 
-0016 2040002b call p_mouse_setting_config 
-0017 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
-0018 245a0023 ncall p_mouse_rgb_led_on ,blank 
-0019 204041a7 call mouse_init_sunt 
-001a 2040408e call mouse_dpi_config 
-001b 20758000 rtn wake 
-001c 20403d8a call mouse_usb_check_enable 
-001d 20404728 call mouse_drawing_optima_init 
-001e 20400026 call p_mouse_cb_fuction 
-001f 20400133 call p_mouse_sensor_powerdown 
-0020 6fe0c92a fetch 1 ,mem_usb_addr 
-0021 c3838000 rtnbit1 7 
-0022 20203bcb branch mouse_init_wireless 
-
-p_mouse_rgb_led_on:
-0023 704be800 jam off ,mem_rgb_led_off_enable 
-0024 704bea0b jam 11 ,mem_rgb_led_on_timer 
-0025 20600000 rtn 
+0027 20406df3 call enable_authrom 
+0028 2040005b call p_mouse_setting_config 
+0029 204041a7 call mouse_init_sunt 
+002a 2040408e call mouse_dpi_config 
+002b 20758000 rtn wake 
+002c 20403d8a call mouse_usb_check_enable 
+002d 20404728 call mouse_drawing_optima_init 
+002e 20400056 call p_mouse_cb_fuction 
+002f 204001c6 call p_mouse_sensor_powerdown 
+0030 6fe0c92a fetch 1 ,mem_usb_addr 
+0031 c3838000 rtnbit1 7 
+0032 20203bcb branch mouse_init_wireless 
+
+p_mouse_start_work:
+0033 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0034 c297c80a bbit1 mouse_enable_24g_first_auto_pairing ,mouse_24g_first_start_auto_pair_mode 
+0035 6fe0c938 fetch 1 ,mem_device_flag 
+0036 c000003a beq mode_24g_device ,p_mouse_24g_start_mode 
+0037 20403d65 call mouse_wakeup_from_power_check 
+0038 243442eb nbranch mouse_buletooth_fast_conn_init ,user 
+0039 20203d59 branch mouse_start_reconnect_device 
+
+p_mouse_24g_start_mode:
+003a 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+003b c308c803 bbit0 mouse_enable_24g ,mouse_24g_mode_setup_error 
+003c 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+003d c298480c bbit1 mouse_enable_auto_24g_paring ,mouse_24g_reconn_general_dongle 
+003e c318c80c bbit0 mouse_enable_24g_power_on_pairing ,mouse_24g_reconn_general_dongle 
+003f 20400051 call p_mouse_key_check_once 
+0040 1fe17e07 and pdata ,0x07 ,pdata 
+0041 6848cbcb fetcht 1 ,mem_mouse_commbination_key_24g 
+0042 98467c00 isub temp ,null 
+0043 2022c827 branch mouse_24g_start_pair_mode ,zero 
+0044 2020480c branch mouse_24g_reconn_general_dongle 
+
+p_mouse_24g_reconn_dongle_start:
+0045 20400048 call p_g24_factory_check 
+0046 20344812 branch mouse_24g_start_auto_pair_next ,user 
+0047 20204806 branch mouse_24g_reconn_dongle_start 
+
+p_g24_factory_check:
+0048 df200002 arg 2 ,loopcnt 
+0049 d8c04993 arg mem_mouse_24g_addr ,contr 
+
+p_pdata_0xff_check:
+004a 20407e54 call enable_user 
+004b 5800ffff setarg 0xffff 
+
+p_pdata_0xff_check_loop:
+004c e8410006 ifetcht 2 ,contr 
+004d 98467c00 isub temp ,null 
+004e 2442fe56 ncall disable_user ,zero 
+004f c200004c loop p_pdata_0xff_check_loop 
+0050 20600000 rtn 
+
+p_mouse_key_check_once:
+0051 20404121 call mouse_check_key_gpio_once 
+0052 20404115 call mouse_check_key_gpio 
+0053 d8400000 arg 0 ,temp 
+0054 6049cb8e storet 3 ,mem_mouse_lkey_press_status 
+0055 20600000 rtn 
 
 p_mouse_cb_fuction:
-0026 58004866 setarg mouse_24g_package_data 
-0027 67e1489b store 2 ,mem_cb_24g_transmit_data 
-0028 58000142 setarg p_mouse_24g_search_dongle 
-0029 67e1489d store 2 ,mem_cb_24g_search_receiver 
-002a 20203bd3 branch mouse_cb_fuction_next 
+0056 58004866 setarg mouse_24g_package_data 
+0057 67e1489b store 2 ,mem_cb_24g_transmit_data 
+0058 580001d5 setarg p_mouse_24g_search_dongle 
+0059 67e1489d store 2 ,mem_cb_24g_search_receiver 
+005a 20203bd3 branch mouse_cb_fuction_next 
 
 p_mouse_setting_config:
-002b 20758000 rtn wake 
-002c 20402607 call g24_transmit_init 
-002d 204022ff call g24_chmap_param_init 
-002e 20403f1e call mouse_gpio_init 
-002f 20403d13 call mouse_param_init 
-0030 20400035 call p_mouse_sensor_set_angle 
-0031 6848c920 fetcht 1 ,mem_mouse_sensor_sdio_gpio 
-0032 20406050 call gpio_config_input 
-0033 20400045 call p_ice_gpio_set_float 
-0034 20203bf5 branch mouse_setting_config_next 
+005b 20758000 rtn wake 
+005c 20402607 call g24_transmit_init 
+005d 204022ff call g24_chmap_param_init 
+005e 20403f1e call mouse_gpio_init 
+005f 20403d13 call mouse_param_init 
+0060 20400065 call p_mouse_sensor_set_angle 
+0061 6848c920 fetcht 1 ,mem_mouse_sensor_sdio_gpio 
+0062 20406050 call gpio_config_input 
+0063 20400075 call p_ice_gpio_set_float 
+0064 20203bf5 branch mouse_setting_config_next 
 
 p_mouse_sensor_set_angle:
-0035 6fe0c924 fetch 1 ,mem_sensor_angle_default 
-0036 67e0c928 store 1 ,mem_config_sensor_angle 
-0037 6fe0c917 fetch 1 ,mem_select_sensor_angle_gpio 
-0038 c17f8000 rtneq gpio_disable 
-0039 6fe0c917 fetch 1 ,mem_select_sensor_angle_gpio 
-003a d840003e arg gpcfg_output_low ,temp 
-003b 20406093 call gpio_config_function_int 
-003c dfe00003 arg 3 ,pdata 
-003d d840003e arg gpcfg_output_low ,temp 
-003e 20406093 call gpio_config_function_int 
-003f 6848c920 fetcht 1 ,mem_mouse_sensor_sdio_gpio 
-0040 20403f56 call mouse_gpio_config_input_pu 
-0041 6848c920 fetcht 1 ,mem_mouse_sensor_sdio_gpio 
-0042 20406059 call gpio_get_bit 
-0043 2440c2aa ncall mouse_sensor_switch_angle ,true 
-0044 20203f54 branch mouse_gpio_config_input_pd 
+0065 6fe0c924 fetch 1 ,mem_sensor_angle_default 
+0066 67e0c928 store 1 ,mem_config_sensor_angle 
+0067 6fe0c917 fetch 1 ,mem_select_sensor_angle_gpio 
+0068 c17f8000 rtneq gpio_disable 
+0069 6fe0c917 fetch 1 ,mem_select_sensor_angle_gpio 
+006a d840003e arg gpcfg_output_low ,temp 
+006b 20406093 call gpio_config_function_int 
+006c dfe00003 arg 3 ,pdata 
+006d d840003e arg gpcfg_output_low ,temp 
+006e 20406093 call gpio_config_function_int 
+006f 6848c920 fetcht 1 ,mem_mouse_sensor_sdio_gpio 
+0070 20403f56 call mouse_gpio_config_input_pu 
+0071 6848c920 fetcht 1 ,mem_mouse_sensor_sdio_gpio 
+0072 20406059 call gpio_get_bit 
+0073 2440c2aa ncall mouse_sensor_switch_angle ,true 
+0074 20203f54 branch mouse_gpio_config_input_pd 
 
 p_ice_gpio_set_float:
-0045 6fe0c917 fetch 1 ,mem_select_sensor_angle_gpio 
-0046 d8400000 arg gpcfg_high_impedance ,temp 
-0047 20406093 call gpio_config_function_int 
-0048 dfe00003 arg 3 ,pdata 
-0049 d8400000 arg gpcfg_high_impedance ,temp 
-004a 20206093 branch gpio_config_function_int 
+0075 6fe0c917 fetch 1 ,mem_select_sensor_angle_gpio 
+0076 d8400000 arg gpcfg_high_impedance ,temp 
+0077 20406093 call gpio_config_function_int 
+0078 dfe00003 arg 3 ,pdata 
+0079 d8400000 arg gpcfg_high_impedance ,temp 
+007a 20206093 branch gpio_config_function_int 
+
+p_init_param:
+007b 20758000 rtn wake 
+007c 7045f709 jam bluetooth_core_specification_5_0 ,mem_lmp_version 
+007d 5800050e setarg company_id_yichip 
+007e 67e145f8 store 2 ,mem_lmp_compid 
+007f 58000008 setarg 0x08 
+0080 67e145fa store 2 ,mem_lmp_subversion 
+0081 7044cf7f jam 0x7f ,mem_seqi 
+0082 58000024 setarg 0x24 
+0083 67e140b5 store 2 ,mem_iscan_window 
+0084 67e140b9 store 2 ,mem_pscan_window 
+0085 58000200 setarg 0x200 
+0086 67e140b7 store 2 ,mem_iscan_interval 
+0087 67e140bb store 2 ,mem_pscan_interval 
+0088 58000020 setarg 0x20 
+0089 67e140c3 store 2 ,mem_inq_window 
+008a 67e140bf store 2 ,mem_page_window 
+008b 58002000 setarg 0x2000 
+008c 67e140c1 store 2 ,mem_page_to 
+008d 58000480 setarg 0x480 
+008e 67e140c6 store 2 ,mem_rx_window_init 
+008f 58000c00 setarg 0xc00 
+0090 67e140c8 store 2 ,mem_rx_window_sniff 
+0091 58000c3f setarg 0xc3f 
+0092 67e1417e store 2 ,mem_lpm_xtalcnt + 1 
+0093 58000333 setarg 0x333 
+0094 e7e10005 istore 2 ,contw 
+0095 5804109d setarg 0x04109d 
+0096 67e1c183 store 3 ,mem_lpm_ctrl3 + 1 
+0097 20407fdc call clear_wake 
+0098 58000000 setarg 0 
+0099 67e141e6 store 2 ,mem_tx_len 
+009a 1c437e00 rshift clkn_bt ,pdata 
+009b 67e2409c store 4 ,mem_last_clkn 
+009c 20600000 rtn 
 
 p_initialize_radio_cont:
-004b 708a8be6 jam 0xe6 ,core_syn_aac_cfg1 
-004c 2040126a call initialize_syn_afc_cfg1 
-004d 20401271 call initialize_rf_ldo_cfg1 
-004e 20401277 call initialize_rc_cal 
-004f 708a6d09 jam 0x09 ,core_rx_bq_cfg0 
-0050 708a0305 jam 5 ,core_clkpll_cfg0 
-0051 708a7a94 jam 0x94 ,core_rx_iqadc_cfg 
-0052 708a0e0b jam 0x0b ,core_rf_ldo_cfg2 
-0053 708a0f05 jam 0x05 ,core_rf_ldo_cfg3 
-0054 708a8390 jam 0x90 ,core_syn_pfd_lkd_cfg 
-0055 2020125d branch initialize_radio_cont + 8 
+009d 708a8be6 jam 0xe6 ,core_syn_aac_cfg1 
+009e 2040126a call initialize_syn_afc_cfg1 
+009f 20401271 call initialize_rf_ldo_cfg1 
+00a0 20401277 call initialize_rc_cal 
+00a1 708a6d09 jam 0x09 ,core_rx_bq_cfg0 
+00a2 708a0305 jam 5 ,core_clkpll_cfg0 
+00a3 708a7a94 jam 0x94 ,core_rx_iqadc_cfg 
+00a4 708a0e0b jam 0x0b ,core_rf_ldo_cfg2 
+00a5 708a0f05 jam 0x05 ,core_rf_ldo_cfg3 
+00a6 708a8390 jam 0x90 ,core_syn_pfd_lkd_cfg 
+00a7 2020125d branch initialize_radio_cont + 8 
 
 p_mouse_setgpio_hibernate:
-0056 204042e9 call mouse_set_sdio_high 
-0057 20407fdc call clear_wake 
-0058 20404015 call mouse_before_hibernate_wheel_gpio_set 
-0059 6848c910 fetcht 1 ,mem_matrix_public_gpio 
-005a 20406069 call gpio_out_active 
-005b 6848c910 fetcht 1 ,mem_matrix_public_gpio 
-005c 20406042 call gpio_clr_wake 
-005d 20403e40 call mouse_lpm_before_common 
-005e d8400013 arg 19 ,temp 
-005f 20403f56 call mouse_gpio_config_input_pu 
-0060 6fe0c920 fetch 1 ,mem_mouse_sensor_sdio_gpio 
-0061 d840003f arg gpcfg_output_high ,temp 
-0062 20206093 branch gpio_config_function_int 
+00a8 204042e9 call mouse_set_sdio_high 
+00a9 20407fdc call clear_wake 
+00aa 20404015 call mouse_before_hibernate_wheel_gpio_set 
+00ab 6848c910 fetcht 1 ,mem_matrix_public_gpio 
+00ac 20406069 call gpio_out_active 
+00ad 6848c910 fetcht 1 ,mem_matrix_public_gpio 
+00ae 20406042 call gpio_clr_wake 
+00af 20403e40 call mouse_lpm_before_common 
+00b0 d8400013 arg 19 ,temp 
+00b1 20403f56 call mouse_gpio_config_input_pu 
+00b2 6fe0c920 fetch 1 ,mem_mouse_sensor_sdio_gpio 
+00b3 d840003f arg gpcfg_output_high ,temp 
+00b4 20206093 branch gpio_config_function_int 
 
 p_mouse_lpm_before_common:
-0063 6848c913 fetcht 1 ,mem_whee_a_data_gpio 
-0064 20406050 call gpio_config_input 
-0065 6848c914 fetcht 1 ,mem_whee_b_data_gpio 
-0066 20406050 call gpio_config_input 
-0067 20403f88 call mouse_wheel_check 
-0068 6fe0c91f fetch 1 ,mem_mouse_sensor_sclk_gpio 
-0069 d840003f arg gpcfg_output_high ,temp 
-006a 20406093 call gpio_config_function_int 
-006b 20203e44 branch mouse_lpm_before_common_next 
+00b5 6848c913 fetcht 1 ,mem_whee_a_data_gpio 
+00b6 20406050 call gpio_config_input 
+00b7 6848c914 fetcht 1 ,mem_whee_b_data_gpio 
+00b8 20406050 call gpio_config_input 
+00b9 20403f88 call mouse_wheel_check 
+00ba 6fe0c91f fetch 1 ,mem_mouse_sensor_sclk_gpio 
+00bb d840003f arg gpcfg_output_high ,temp 
+00bc 20406093 call gpio_config_function_int 
+00bd 204000bf call p_ice_gpio_set_input_pu 
+00be 20203e44 branch mouse_lpm_before_common_next 
+
+p_ice_gpio_set_input_pu:
+00bf d8400013 arg 19 ,temp 
+00c0 20403f56 call mouse_gpio_config_input_pu 
+00c1 d8400003 arg 3 ,temp 
+00c2 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_priority_bb_event:
-006c 1a627e00 copy regc ,pdata 
-006d c01e0070 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
-006e c01d0075 beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
-006f 20204336 branch mouse_priority_bb_event + 2 
+00c3 1a627e00 copy regc ,pdata 
+00c4 c01e00c7 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
+00c5 c01d00cc beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
+00c6 20204336 branch mouse_priority_bb_event + 2 
 
 p_mouse_24g_attempt_success:
-0070 6fe2483c fetch 4 ,mem_24g_addr 
-0071 67e24891 store 4 ,mem_24g_receiver_addr 
-0072 67e24993 store 4 ,mem_mouse_24g_addr 
-0073 204048c6 call mouse_device_poweron_timer_init 
-0074 2020484e branch mouse_24g_attempt_success 
+00c7 6fe2483c fetch 4 ,mem_24g_addr 
+00c8 67e24891 store 4 ,mem_24g_receiver_addr 
+00c9 67e24993 store 4 ,mem_mouse_24g_addr 
+00ca 204048c6 call mouse_device_poweron_timer_init 
+00cb 2020484e branch mouse_24g_attempt_success 
 
 p_mouse_24g_attempt_fail:
-0075 6fe0c8a5 fetch 1 ,mem_24g_attempt_fail_flag 
-0076 243a00f4 nbranch p_mouse_rgb_led_off_time_init ,blank 
-0077 20204835 branch mouse_24g_attempt_fail_next 
+00cc 6fe0c8a5 fetch 1 ,mem_24g_attempt_fail_flag 
+00cd 243a00cf nbranch p_mouse_24g_enter_hibernate ,blank 
+00ce 20204835 branch mouse_24g_attempt_fail_next 
+
+p_mouse_24g_enter_hibernate:
+00cf 793f8026 set0 mark_24g ,mark 
+00d0 704bf200 jam 0 ,mem_rgb_led_on_continue_1min_timeout_flag 
+00d1 20200177 branch p_mouse_rgb_led_off_time_init 
 
 p_mouse_motion:
-0078 78547c00 disable user 
-0079 58000000 setarg 0 
-007a 67e348d1 store 6 ,mem_mouse_x 
-007b 20404240 call mouse_check_sensor_data 
-007c 20403f7e call mouse_zwheel 
-007d 20403f83 call mouse_t_zwheel 
-007e 20400080 call p_mouse_key 
-007f 20203f78 branch mouse_motion + 8 
+00d2 78547c00 disable user 
+00d3 58000000 setarg 0 
+00d4 67e348d1 store 6 ,mem_mouse_x 
+00d5 20404240 call mouse_check_sensor_data 
+00d6 20403f7e call mouse_zwheel 
+00d7 20403f83 call mouse_t_zwheel 
+00d8 204000fb call p_mouse_key 
+00d9 6fe0c8d0 fetch 1 ,mem_mouse_key 
+00da 1fe17e1f and_into 0x1f ,pdata 
+00db 67e0c8d0 store 1 ,mem_mouse_key 
+00dc 243400e0 nbranch p_mouse_motion_nodata ,user 
+00dd 2040471a call mouse_drawing_optima 
+00de 204000eb call p_mouse_rgb_led_on_check 
+00df 20204544 branch mouse_no_data_timer_init 
+
+p_mouse_motion_nodata:
+00e0 20404728 call mouse_drawing_optima_init 
+00e1 6fe14bee fetch 2 ,mem_rgb_led_off_check_count 
+00e2 1fe0fe01 increase 1 ,pdata 
+00e3 67e14bee store 2 ,mem_rgb_led_off_check_count 
+00e4 d8400258 arg 0x0258 ,temp 
+00e5 98467c00 isub temp ,null 
+00e6 24628000 nrtn zero 
+00e7 58000000 setarg 0 
+00e8 67e14bee store 2 ,mem_rgb_led_off_check_count 
+00e9 704be900 jam off ,mem_rgb_led_on_enable 
+00ea 20600000 rtn 
+
+p_mouse_rgb_led_on_check:
+00eb 6fe14bf0 fetch 2 ,mem_rgb_led_on_check_count 
+00ec 1fe0fe01 increase 1 ,pdata 
+00ed 67e14bf0 store 2 ,mem_rgb_led_on_check_count 
+00ee d8400258 arg 0x0258 ,temp 
+00ef 98467c00 isub temp ,null 
+00f0 24628000 nrtn zero 
+00f1 58000000 setarg 0 
+00f2 67e14bf0 store 2 ,mem_rgb_led_on_check_count 
+00f3 6fe0cbe9 fetch 1 ,mem_rgb_led_on_enable 
+00f4 c1008000 rtneq on 
+00f5 704be901 jam on ,mem_rgb_led_on_enable 
+00f6 704be800 jam off ,mem_rgb_led_off_enable 
+00f7 704beb0b jam 11 ,mem_rgb_led_on_enable_timer 
+
+p_mouse_rgb_led_on_timer_init:
+00f8 58000000 setarg 0 
+00f9 67e14bec store 2 ,mem_rgb_led_on_timer 
+00fa 20600000 rtn 
 
 p_mouse_key:
-0080 20404115 call mouse_check_key_gpio 
-0081 20400089 call p_mouse_check_firekey_gpio 
-0082 1a227e00 copy rega ,pdata 
-0083 202040dd branch mouse_key + 1 
+00fb 20404115 call mouse_check_key_gpio 
+00fc 20400109 call p_mouse_check_firekey_gpio 
+00fd 1a227e00 copy rega ,pdata 
+00fe 202040dd branch mouse_key + 1 
 
 p_mouse_check_key_gpio:
-0084 6fe0cbe8 fetch 1 ,mem_rgb_led_off_enable 
-0085 247a0000 nrtn blank 
-0086 6fe0cbea fetch 1 ,mem_rgb_led_on_timer 
-0087 247a0000 nrtn blank 
-0088 20204116 branch mouse_check_key_gpio + 1 
+00ff 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+0100 245a4121 ncall mouse_check_key_gpio_once ,blank 
+0101 da200000 arg 0 ,rega 
+0102 20404124 call mouse_check_lkey_gpio 
+0103 2040412a call mouse_check_rkey_gpio 
+0104 20400106 call p_mouse_check_mkey_gpio 
+0105 2020411c branch mouse_check_key_gpio_next 
+
+p_mouse_check_mkey_gpio:
+0106 6fe0cbf3 fetch 1 ,mem_mbutton_function_disable 
+0107 247a0000 nrtn blank 
+0108 20204130 branch mouse_check_mkey_gpio 
 
 p_mouse_check_firekey_gpio:
-0089 1a227e00 copy rega ,pdata 
-008a c3800000 rtnbit1 0 
-008b 6848cbe2 fetcht 1 ,mem_firebutton_gpio 
-008c 20406050 call gpio_config_input 
-008d 6848cbe2 fetcht 1 ,mem_firebutton_gpio 
-008e 20406059 call gpio_get_bit 
-008f 20208095 branch p_fire_key_press ,true 
-0090 6fe0cbe3 fetch 1 ,mem_fire_key_status 
-0091 243a0093 nbranch p_fire_key_process ,blank 
-0092 20600000 rtn 
+0109 1a227e00 copy rega ,pdata 
+010a c3800000 rtnbit1 0 
+010b 6848cbe2 fetcht 1 ,mem_firebutton_gpio 
+010c 20406050 call gpio_config_input 
+010d 6848cbe2 fetcht 1 ,mem_firebutton_gpio 
+010e 20406059 call gpio_get_bit 
+010f 20208115 branch p_fire_key_press ,true 
+0110 6fe0cbe3 fetch 1 ,mem_fire_key_status 
+0111 243a0113 nbranch p_fire_key_process ,blank 
+0112 20600000 rtn 
 
 p_fire_key_process:
-0093 c00200af beq 4 ,p_fire_key_process_end 
-0094 20200095 branch p_fire_key_press 
+0113 c002012f beq 4 ,p_fire_key_process_end 
+0114 20200115 branch p_fire_key_press 
 
 p_fire_key_press:
-0095 204000b2 call p_firekey_clkn_bt_timer_check 
-0096 6fe24be4 fetch 4 ,mem_fire_key_delay 
-0097 d8400080 arg 0x80 ,temp 
-0098 98408400 iadd temp ,temp 
-0099 1c427e00 copy clkn_bt ,pdata 
-009a 98467c00 isub temp ,null 
-009b 24610000 nrtn positive 
-009c 67e24be4 store 4 ,mem_fire_key_delay 
-009d 6fe0cbe3 fetch 1 ,mem_fire_key_status 
-009e c00000a3 beq 0 ,p_fire_key_process_start 
-009f c00080a6 beq 1 ,p_fire_key_process_release1 
-00a0 c00100a9 beq 2 ,p_fire_key_process_start2 
-00a1 c00180ac beq 3 ,p_fire_key_process_release2 
-00a2 20600000 rtn 
+0115 20400132 call p_firekey_clkn_bt_timer_check 
+0116 6fe24be4 fetch 4 ,mem_fire_key_delay 
+0117 d8400080 arg 0x80 ,temp 
+0118 98408400 iadd temp ,temp 
+0119 1c427e00 copy clkn_bt ,pdata 
+011a 98467c00 isub temp ,null 
+011b 24610000 nrtn positive 
+011c 67e24be4 store 4 ,mem_fire_key_delay 
+011d 6fe0cbe3 fetch 1 ,mem_fire_key_status 
+011e c0000123 beq 0 ,p_fire_key_process_start 
+011f c0008126 beq 1 ,p_fire_key_process_release1 
+0120 c0010129 beq 2 ,p_fire_key_process_start2 
+0121 c001812c beq 3 ,p_fire_key_process_release2 
+0122 20600000 rtn 
 
 p_fire_key_process_start:
-00a3 704be301 jam 1 ,mem_fire_key_status 
-00a4 79202200 set1 0 ,rega 
-00a5 20600000 rtn 
+0123 704be301 jam 1 ,mem_fire_key_status 
+0124 79202200 set1 0 ,rega 
+0125 20600000 rtn 
 
 p_fire_key_process_release1:
-00a6 704be302 jam 2 ,mem_fire_key_status 
-00a7 793fa200 set0 0 ,rega 
-00a8 20600000 rtn 
+0126 704be302 jam 2 ,mem_fire_key_status 
+0127 793fa200 set0 0 ,rega 
+0128 20600000 rtn 
 
 p_fire_key_process_start2:
-00a9 704be303 jam 3 ,mem_fire_key_status 
-00aa 79202200 set1 0 ,rega 
-00ab 20600000 rtn 
+0129 704be303 jam 3 ,mem_fire_key_status 
+012a 79202200 set1 0 ,rega 
+012b 20600000 rtn 
 
 p_fire_key_process_release2:
-00ac 704be304 jam 4 ,mem_fire_key_status 
-00ad 793fa200 set0 0 ,rega 
-00ae 20600000 rtn 
+012c 704be304 jam 4 ,mem_fire_key_status 
+012d 793fa200 set0 0 ,rega 
+012e 20600000 rtn 
 
 p_fire_key_process_end:
-00af 704be300 jam 0 ,mem_fire_key_status 
-00b0 793fa200 set0 0 ,rega 
-00b1 20600000 rtn 
+012f 704be300 jam 0 ,mem_fire_key_status 
+0130 793fa200 set0 0 ,rega 
+0131 20600000 rtn 
 
 p_firekey_clkn_bt_timer_check:
-00b2 684a4be4 fetcht 4 ,mem_fire_key_delay 
-00b3 1c427e00 copy clkn_bt ,pdata 
-00b4 98467c00 isub temp ,null 
-00b5 244100b7 ncall p_firekey_clkn_bt_timer_timeout ,positive 
-00b6 20600000 rtn 
+0132 684a4be4 fetcht 4 ,mem_fire_key_delay 
+0133 1c427e00 copy clkn_bt ,pdata 
+0134 98467c00 isub temp ,null 
+0135 24410137 ncall p_firekey_clkn_bt_timer_timeout ,positive 
+0136 20600000 rtn 
 
 p_firekey_clkn_bt_timer_timeout:
-00b7 58000000 setarg 0 
-00b8 67e24be4 store 4 ,mem_fire_key_delay 
-00b9 20600000 rtn 
+0137 58000000 setarg 0 
+0138 67e24be4 store 4 ,mem_fire_key_delay 
+0139 20600000 rtn 
 
 p_mouse_seting_dpi:
-00ba 2040408f call mouse_setting_dpi_4_level 
-00bb 204000bd call p_mouse_dpi_led_blink_delay 
-00bc 20204098 branch mouse_seting_sensor_type 
+013a 2040408f call mouse_setting_dpi_4_level 
+013b 2040013d call p_mouse_dpi_led_blink_delay 
+013c 20204098 branch mouse_seting_sensor_type 
 
 p_mouse_dpi_led_blink_delay:
-00bd 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
-00be c17f8000 rtneq gpio_disable 
-00bf 6fe14ac2 fetch 2 ,mem_mouse_discovery_timer 
-00c0 247a0000 nrtn blank 
-00c1 6fe14883 fetch 2 ,mem_24g_pair_timeout 
-00c2 247a0000 nrtn blank 
-00c3 6fe14887 fetch 2 ,mem_24g_reconn_timeout 
-00c4 247a0000 nrtn blank 
-00c5 6fe0cba7 fetch 1 ,mem_mouse_device_poweron_timer_count 
-00c6 247a0000 nrtn blank 
-00c7 6fe0cbc1 fetch 1 ,mem_mouse_dpi_led_delay_count_init 
-00c8 203a0115 branch p_mouse_dpi_led_blink_init ,blank 
-00c9 67e0cba8 store 1 ,mem_mouse_dpi_led_delay_count 
-00ca 20600000 rtn 
+013d 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
+013e c17f8000 rtneq gpio_disable 
+013f 6fe14ac2 fetch 2 ,mem_mouse_discovery_timer 
+0140 247a0000 nrtn blank 
+0141 6fe14883 fetch 2 ,mem_24g_pair_timeout 
+0142 247a0000 nrtn blank 
+0143 6fe14887 fetch 2 ,mem_24g_reconn_timeout 
+0144 247a0000 nrtn blank 
+0145 6fe0cba7 fetch 1 ,mem_mouse_device_poweron_timer_count 
+0146 247a0000 nrtn blank 
+0147 6fe0cbc1 fetch 1 ,mem_mouse_dpi_led_delay_count_init 
+0148 203a01a3 branch p_mouse_dpi_led_blink_init ,blank 
+0149 67e0cba8 store 1 ,mem_mouse_dpi_led_delay_count 
+014a 20600000 rtn 
 
 p_mouse_bb_event_timer:
-00cb 20403e9b call mouse_adc_read 
-00cc 20404956 call mouse_low_voltage_led_timer 
-00cd 2040232b call g24_pair_timeout_timer 
-00ce 20402556 call g24_reconn_timeout_timer 
-00cf 204047cd call mouse_24g_long_sleep_param_update_timer 
-00d0 204048be call mouse_device_poweron_timer 
-00d1 20400112 call p_mouse_dpi_led_blink_delay_timer 
-00d2 204000e3 call p_mouse_rgb_led_off_timer 
-00d3 204000fb call p_mouse_rgb_led_on_timer 
-00d4 2040407c call mouse_dpi_key_check_long_press 
-00d5 204044cc call mouse_bt_discovery_check 
-00d6 204044dc call mouse_commbination_key_process 
-00d7 204044ff call mouse_check_discovery_timeout_timer 
-00d8 20404504 call mouse_check_direct_timeout_timer 
-00d9 20404512 call mouse_le_enable_att_list_timer 
-00da 2040451f call mouse_le_battery_updata_timer 
-00db 20404515 call mouse_le_send_smp_security_request_timer 
-00dc 2040452a call mouse_check_hid_handshake_timer 
-00dd 2040452d call mouse_bt_check_sniff_req_timeout_timer 
-00de 20404532 call mouse_check_reconnect_delay_long_sleep 
-00df 20404535 call mouse_current_mult_update_timer 
-00e0 20404022 call mouse_wheel_trigger_timer 
-00e1 20404547 call mouse_store_information_delay_timer 
-00e2 2020010a branch p_mouse_check_no_data_timeout_timer 
-
-p_mouse_rgb_led_off_timer:
-00e3 6fe0cbe8 fetch 1 ,mem_rgb_led_off_enable 
-00e4 207a0000 rtn blank 
-00e5 da604be9 arg mem_rgb_led_off_timer ,regc 
-00e6 da4000e8 arg p_mouse_rgb_led_off_timeout ,regb 
-00e7 2020318a branch timer_single_step 
+014b 20403e9b call mouse_adc_read 
+014c 20404956 call mouse_low_voltage_led_timer 
+014d 2040232b call g24_pair_timeout_timer 
+014e 20402556 call g24_reconn_timeout_timer 
+014f 204047cd call mouse_24g_long_sleep_param_update_timer 
+0150 204048be call mouse_device_poweron_timer 
+0151 204001a0 call p_mouse_dpi_led_blink_delay_timer 
+0152 20400164 call p_mouse_rgb_led_off_enable_timer 
+0153 2040017e call p_mouse_rgb_led_on_enable_timer 
+0154 2040018a call p_mouse_rgb_led_on_timer 
+0155 2040407c call mouse_dpi_key_check_long_press 
+0156 204044cc call mouse_bt_discovery_check 
+0157 204044dc call mouse_commbination_key_process 
+0158 204044ff call mouse_check_discovery_timeout_timer 
+0159 20404504 call mouse_check_direct_timeout_timer 
+015a 20404512 call mouse_le_enable_att_list_timer 
+015b 2040451f call mouse_le_battery_updata_timer 
+015c 20404515 call mouse_le_send_smp_security_request_timer 
+015d 2040452a call mouse_check_hid_handshake_timer 
+015e 2040452d call mouse_bt_check_sniff_req_timeout_timer 
+015f 20404532 call mouse_check_reconnect_delay_long_sleep 
+0160 20404535 call mouse_current_mult_update_timer 
+0161 20404022 call mouse_wheel_trigger_timer 
+0162 20404547 call mouse_store_information_delay_timer 
+0163 20200198 branch p_mouse_check_no_data_timeout_timer 
+
+p_mouse_rgb_led_off_enable_timer:
+0164 6fe0cbe8 fetch 1 ,mem_rgb_led_off_enable 
+0165 207a0000 rtn blank 
+0166 da604bea arg mem_rgb_led_off_enable_timer ,regc 
+0167 da400169 arg p_mouse_rgb_led_off_timeout ,regb 
+0168 2020318a branch timer_single_step 
 
 p_mouse_rgb_led_off_timeout:
-00e8 6848c91a fetcht 1 ,mem_mbutton_gpio 
-00e9 20403f56 call mouse_gpio_config_input_pu 
+0169 20400187 call p_mouse_mbutton_function_enable 
+016a 6fe0cbf2 fetch 1 ,mem_rgb_led_on_continue_1min_timeout_flag 
+016b 247a0000 nrtn blank 
+016c 704bf200 jam 0 ,mem_rgb_led_on_continue_1min_timeout_flag 
 
 p_mouse_24g_hibernate_set:
-00ea 7048a500 jam 0 ,mem_24g_attempt_fail_flag 
-00eb 20402652 call g24_transmit_next_packet 
-00ec 5fffffff setarg -1 
-00ed 67e2485c store 4 ,mem_24g_enter_hibernate 
-00ee 58000000 setarg 0 
-00ef 67e3c8d0 store 7 ,mem_mouse_key 
-00f0 704be101 jam 1 ,mem_sensor_shutdown_flag 
-00f1 20400133 call p_mouse_sensor_powerdown 
-00f2 20403e33 call mouse_setgpio_hibernate 
-00f3 202026b5 branch g24_long_sleep 
+016d 7048a500 jam 0 ,mem_24g_attempt_fail_flag 
+016e 20402652 call g24_transmit_next_packet 
+016f 5fffffff setarg -1 
+0170 67e2485c store 4 ,mem_24g_enter_hibernate 
+0171 58000000 setarg 0 
+0172 67e3c8d0 store 7 ,mem_mouse_key 
+0173 704be101 jam 1 ,mem_sensor_shutdown_flag 
+0174 204001c6 call p_mouse_sensor_powerdown 
+0175 20403e33 call mouse_setgpio_hibernate 
+0176 202026b5 branch g24_long_sleep 
 
 p_mouse_rgb_led_off_time_init:
-00f4 793f8026 set0 mark_24g ,mark 
-00f5 704be91e jam 0x1e ,mem_rgb_led_off_timer 
-00f6 704be801 jam on ,mem_rgb_led_off_enable 
-00f7 6848c91a fetcht 1 ,mem_mbutton_gpio 
-00f8 20406069 call gpio_config_output 
-00f9 6848c91a fetcht 1 ,mem_mbutton_gpio 
-00fa 20206069 branch gpio_out_active 
+0177 704bea1e jam 0x1e ,mem_rgb_led_off_enable_timer 
+0178 704be801 jam on ,mem_rgb_led_off_enable 
 
-p_mouse_rgb_led_on_timer:
-00fb 6fe0cbe8 fetch 1 ,mem_rgb_led_off_enable 
-00fc 247a0000 nrtn blank 
-00fd 6fe0cbea fetch 1 ,mem_rgb_led_on_timer 
-00fe 207a0000 rtn blank 
-00ff c0008106 beq 1 ,p_mouse_rgb_led_enable_timeout 
-0100 1fe0ffff increase -1 ,pdata 
-0101 67e0cbea store 1 ,mem_rgb_led_on_timer 
-0102 6848c91a fetcht 1 ,mem_mbutton_gpio 
-0103 20406069 call gpio_config_output 
-0104 6848c91a fetcht 1 ,mem_mbutton_gpio 
-0105 20206069 branch gpio_out_active 
+p_mouse_mbutton_function_disable:
+0179 704bf301 jam on ,mem_mbutton_function_disable 
+017a 6848c91a fetcht 1 ,mem_mbutton_gpio 
+017b 20406069 call gpio_config_output 
+017c 6848c91a fetcht 1 ,mem_mbutton_gpio 
+017d 20206069 branch gpio_out_active 
+
+p_mouse_rgb_led_on_enable_timer:
+017e 6fe0cbe8 fetch 1 ,mem_rgb_led_off_enable 
+017f 247a0000 nrtn blank 
+0180 6fe0cbeb fetch 1 ,mem_rgb_led_on_enable_timer 
+0181 207a0000 rtn blank 
+0182 c0008186 beq 1 ,p_mouse_rgb_led_enable_timeout 
+0183 1fe0ffff increase -1 ,pdata 
+0184 67e0cbeb store 1 ,mem_rgb_led_on_enable_timer 
+0185 20200179 branch p_mouse_mbutton_function_disable 
 
 p_mouse_rgb_led_enable_timeout:
-0106 6848c91a fetcht 1 ,mem_mbutton_gpio 
-0107 20403f56 call mouse_gpio_config_input_pu 
-0108 704bea00 jam 0 ,mem_rgb_led_on_timer 
-0109 20600000 rtn 
+0186 704beb00 jam 0 ,mem_rgb_led_on_enable_timer 
+
+p_mouse_mbutton_function_enable:
+0187 704bf300 jam off ,mem_mbutton_function_disable 
+0188 6848c91a fetcht 1 ,mem_mbutton_gpio 
+0189 20203f56 branch mouse_gpio_config_input_pu 
+
+p_mouse_rgb_led_on_timer:
+018a 6fe0cbe9 fetch 1 ,mem_rgb_led_on_enable 
+018b 247a0000 nrtn blank 
+018c 6fe0cbe8 fetch 1 ,mem_rgb_led_off_enable 
+018d 247a0000 nrtn blank 
+
+p_mouse_rgb_led_on:
+018e 6fe14bec fetch 2 ,mem_rgb_led_on_timer 
+018f 1fe0fe01 increase 1 ,pdata 
+0190 67e14bec store 2 ,mem_rgb_led_on_timer 
+0191 d8400258 arg 0x0258 ,temp 
+0192 98467c00 isub temp ,null 
+0193 20428195 call p_mouse_rgb_led_on_continue_1min ,zero 
+0194 20600000 rtn 
+
+p_mouse_rgb_led_on_continue_1min:
+0195 704bf201 jam 1 ,mem_rgb_led_on_continue_1min_timeout_flag 
+0196 204000f8 call p_mouse_rgb_led_on_timer_init 
+0197 20200177 branch p_mouse_rgb_led_off_time_init 
 
 p_mouse_check_no_data_timeout_timer:
-010a 6fe0c92a fetch 1 ,mem_usb_addr 
-010b c3838000 rtnbit1 7 
-010c da604ab2 arg mem_mouse_no_data_timer ,regc 
-010d da40010f arg p_mouse_check_no_data_timeout ,regb 
-010e 20203191 branch timer_single_step_2b 
+0198 6fe0c92a fetch 1 ,mem_usb_addr 
+0199 c3838000 rtnbit1 7 
+019a da604ab2 arg mem_mouse_no_data_timer ,regc 
+019b da40019d arg p_mouse_check_no_data_timeout ,regb 
+019c 20203191 branch timer_single_step_2b 
 
 p_mouse_check_no_data_timeout:
-010f 6fe0c938 fetch 1 ,mem_device_flag 
-0110 c00000f4 beq mode_24g_device ,p_mouse_rgb_led_off_time_init 
-0111 2020431b branch mouse_disconnect 
+019d 6fe0c938 fetch 1 ,mem_device_flag 
+019e c00000cf beq mode_24g_device ,p_mouse_24g_enter_hibernate 
+019f 2020431b branch mouse_disconnect 
 
 p_mouse_dpi_led_blink_delay_timer:
-0112 da604ba8 arg mem_mouse_dpi_led_delay_count ,regc 
-0113 da400115 arg p_mouse_dpi_led_blink_init ,regb 
-0114 2020318a branch timer_single_step 
+01a0 da604ba8 arg mem_mouse_dpi_led_delay_count ,regc 
+01a1 da4001a3 arg p_mouse_dpi_led_blink_init ,regb 
+01a2 2020318a branch timer_single_step 
 
 p_mouse_dpi_led_blink_init:
-0115 6fe0c927 fetch 1 ,mem_config_sensor_type 
-0116 c001c8f2 beq p3212 ,mouse_dpi_led_blink_init 
-0117 c005c8f2 beq ka8g2 ,mouse_dpi_led_blink_init 
-0118 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
-0119 67e0c92f store 1 ,mem_mouse_struct_led_gpio 
-011a 6fe14bc2 fetch 2 ,mem_mouse_dpi_led_blink_time 
-011b 67e14930 store 2 ,mem_mouse_on_time 
-011c 67e14932 store 2 ,mem_mouse_off_time 
-011d da200000 arg 0 ,rega 
-011e 6848c992 fetcht 1 ,mem_mouse_dpi 
-011f 18408402 increase 2 ,temp 
-0120 18467c03 sub temp ,3 ,null 
-0121 20410124 call p_mouse_dpi_led_blink_init_level_4 ,positive 
-0122 24410128 ncall p_mouse_dpi_led_blink_count_clean ,positive 
-0123 202048ff branch mouse_dpi_led_blink_init_end 
+01a3 6fe0c927 fetch 1 ,mem_config_sensor_type 
+01a4 c001c8f2 beq p3212 ,mouse_dpi_led_blink_init 
+01a5 c005c8f2 beq ka8g2 ,mouse_dpi_led_blink_init 
+01a6 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
+01a7 67e0c92f store 1 ,mem_mouse_struct_led_gpio 
+01a8 6fe14bc2 fetch 2 ,mem_mouse_dpi_led_blink_time 
+01a9 67e14930 store 2 ,mem_mouse_on_time 
+01aa 67e14932 store 2 ,mem_mouse_off_time 
+01ab da200000 arg 0 ,rega 
+01ac 6848c992 fetcht 1 ,mem_mouse_dpi 
+01ad 18408402 increase 2 ,temp 
+01ae 18467c03 sub temp ,3 ,null 
+01af 204101b2 call p_mouse_dpi_led_blink_init_level_4 ,positive 
+01b0 244101b6 ncall p_mouse_dpi_led_blink_count_clean ,positive 
+01b1 202048ff branch mouse_dpi_led_blink_init_end 
 
 p_mouse_dpi_led_blink_init_level_4:
-0124 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0125 c40e0000 rtnbit0 mouse_enable_dpi_level_4 
-0126 18408401 increase 1 ,temp 
-0127 20600000 rtn 
+01b2 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+01b3 c40e0000 rtnbit0 mouse_enable_dpi_level_4 
+01b4 18408401 increase 1 ,temp 
+01b5 20600000 rtn 
 
 p_mouse_dpi_led_blink_count_clean:
-0128 184085fd increase -3 ,temp 
-0129 20600000 rtn 
+01b6 184085fd increase -3 ,temp 
+01b7 20600000 rtn 
 
 p_g24_dispatch:
-012a 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
-012b 245a012d ncall p_mouse_enable_g24_mark ,blank 
-012c 202021d2 branch g24_dispatch + 1 
+01b8 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+01b9 245a01bb ncall p_mouse_enable_g24_mark ,blank 
+01ba 202021d2 branch g24_dispatch + 1 
 
 p_mouse_enable_g24_mark:
-012d 79200026 set1 mark_24g ,mark 
-012e 20600000 rtn 
+01bb 704be901 jam on ,mem_rgb_led_on_enable 
+01bc 204001bf call p_mouse_rgb_led_on_enable_timer_init 
+01bd 79200026 set1 mark_24g ,mark 
+01be 20600000 rtn 
+
+p_mouse_rgb_led_on_enable_timer_init:
+01bf 704be800 jam off ,mem_rgb_led_off_enable 
+01c0 704beb0b jam 11 ,mem_rgb_led_on_enable_timer 
+01c1 20600000 rtn 
 
 p_mouse_init_sunt:
-012f 20400137 call p_mouse_sensor_spi_init 
-0130 202041a9 branch mouse_init_sunt + 2 
+01c2 204001ca call p_mouse_sensor_spi_init 
+01c3 202041a9 branch mouse_init_sunt + 2 
 
 p_mouse_sensor_poweron:
-0131 20400137 call p_mouse_sensor_spi_init 
-0132 20204238 branch mouse_sensor_poweron + 2 
+01c4 204001ca call p_mouse_sensor_spi_init 
+01c5 20204238 branch mouse_sensor_poweron + 2 
 
 p_mouse_sensor_powerdown:
-0133 204041a7 call mouse_init_sunt 
-0134 20400137 call p_mouse_sensor_spi_init 
-0135 58000806 setarg 0x0806 
-0136 20205b0c branch twspi_write 
+01c6 204041a7 call mouse_init_sunt 
+01c7 204001ca call p_mouse_sensor_spi_init 
+01c8 58000806 setarg 0x0806 
+01c9 20205b0c branch twspi_write 
 
 p_mouse_sensor_spi_init:
-0137 20403f6a call mouse_spid_init_pin 
-0138 6ff10050 fetch 2 ,core_clkoff 
-0139 79207e02 set1 clock_off_debug_uart ,pdata 
-013a 67f10050 store 2 ,core_clkoff 
-013b 70448476 jam 0x76 ,mem_spi_init_clk 
-013c 20403f69 call mouse_spi_init 
-013d 20205b08 branch twspi_enable 
+01ca 20403f6a call mouse_spid_init_pin 
+01cb 6ff10050 fetch 2 ,core_clkoff 
+01cc 79207e02 set1 clock_off_debug_uart ,pdata 
+01cd 67f10050 store 2 ,core_clkoff 
+01ce 70448477 jam 0x77 ,mem_spi_init_clk 
+01cf 20403f69 call mouse_spi_init 
+01d0 20205b08 branch twspi_enable 
 
 p_mouse_app_enter_hibernate:
-013e 20404232 call mouse_sensor_reset 
-013f 20400133 call p_mouse_sensor_powerdown 
-0140 20403e33 call mouse_setgpio_hibernate 
-0141 20203217 branch app_enter_hibernate 
+01d1 20404232 call mouse_sensor_reset 
+01d2 204001c6 call p_mouse_sensor_powerdown 
+01d3 20403e33 call mouse_setgpio_hibernate 
+01d4 20203217 branch app_enter_hibernate 
 
 p_mouse_24g_search_dongle:
-0142 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0143 c40b0000 rtnbit0 mouse_enable_24g_search_dongle 
-0144 6fe0caae fetch 1 ,mem_mouse_long_mult_flag 
-0145 207a0000 rtn blank 
-0146 6fe0c8a7 fetch 1 ,mem_24g_abort_pac 
-0147 207a0000 rtn blank 
-0148 6fe0cba1 fetch 1 ,mem_mouse_search_dongle_interval 
-0149 1fe0fe01 increase 1 ,pdata 
-014a 1fe17e03 and_into 3 ,pdata 
-014b 67e0cba1 store 1 ,mem_mouse_search_dongle_interval 
-014c 247a0000 nrtn blank 
-014d 704ba200 jam 0 ,mem_mouse_search_dongle_ch 
+01d5 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+01d6 c40b0000 rtnbit0 mouse_enable_24g_search_dongle 
+01d7 6fe0caae fetch 1 ,mem_mouse_long_mult_flag 
+01d8 207a0000 rtn blank 
+01d9 6fe0c8a7 fetch 1 ,mem_24g_abort_pac 
+01da 207a0000 rtn blank 
+01db 6fe0cba1 fetch 1 ,mem_mouse_search_dongle_interval 
+01dc 1fe0fe01 increase 1 ,pdata 
+01dd 1fe17e03 and_into 3 ,pdata 
+01de 67e0cba1 store 1 ,mem_mouse_search_dongle_interval 
+01df 247a0000 nrtn blank 
+01e0 704ba200 jam 0 ,mem_mouse_search_dongle_ch 
 
 p_mouse_24g_search_dongle_loop:
-014e 6fe0cba2 fetch 1 ,mem_mouse_search_dongle_ch 
-014f 1fe0fe01 increase 1 ,pdata 
-0150 67e0cba2 store 1 ,mem_mouse_search_dongle_ch 
-0151 1fe67c08 sub pdata ,g24_ch_number ,null 
-0152 24210158 nbranch p_mouse_24g_search_dongle_loop_end ,positive 
-0153 2040259a call g24_reconn_data_prep 
-0154 2040265b call g24_transmit_receive_ack 
-0155 242c015e nbranch p_mouse_24g_search_dongle_loop_retry ,sync 
-0156 2437815e nbranch p_mouse_24g_search_dongle_loop_retry ,user3 
-0157 204048b5 call mouse_24g_search_dongle_success 
+01e1 6fe0cba2 fetch 1 ,mem_mouse_search_dongle_ch 
+01e2 1fe0fe01 increase 1 ,pdata 
+01e3 67e0cba2 store 1 ,mem_mouse_search_dongle_ch 
+01e4 1fe67c08 sub pdata ,g24_ch_number ,null 
+01e5 242101eb nbranch p_mouse_24g_search_dongle_loop_end ,positive 
+01e6 2040259a call g24_reconn_data_prep 
+01e7 2040265b call g24_transmit_receive_ack 
+01e8 242c01f1 nbranch p_mouse_24g_search_dongle_loop_retry ,sync 
+01e9 243781f1 nbranch p_mouse_24g_search_dongle_loop_retry ,user3 
+01ea 204048b5 call mouse_24g_search_dongle_success 
 
 p_mouse_24g_search_dongle_loop_end:
-0158 20402597 call g24_txbuf_clear 
-0159 6fe0cba3 fetch 1 ,mem_mouse_search_dongle_count 
-015a 1fe0fe01 increase 1 ,pdata 
-015b 67e0cba3 store 1 ,mem_mouse_search_dongle_count 
-015c c0080160 beq g24_ch_poll_count ,p_mouse_24g_search_dongle_check 
-015d 20600000 rtn 
+01eb 20402597 call g24_txbuf_clear 
+01ec 6fe0cba3 fetch 1 ,mem_mouse_search_dongle_count 
+01ed 1fe0fe01 increase 1 ,pdata 
+01ee 67e0cba3 store 1 ,mem_mouse_search_dongle_count 
+01ef c00801f3 beq g24_ch_poll_count ,p_mouse_24g_search_dongle_check 
+01f0 20600000 rtn 
 
 p_mouse_24g_search_dongle_loop_retry:
-015e 204022cb call g24_ch 
-015f 2020014e branch p_mouse_24g_search_dongle_loop 
+01f1 204022cb call g24_ch 
+01f2 202001e1 branch p_mouse_24g_search_dongle_loop 
 
 p_mouse_24g_search_dongle_check:
-0160 704ba300 jam 0 ,mem_mouse_search_dongle_count 
-0161 6fe0cba4 fetch 1 ,mem_mouse_search_dongle_action 
-0162 c3800000 rtnbit1 g24_disconn_state 
-0163 79207e00 set1 g24_disconn_state ,pdata 
-0164 67e0cba4 store 1 ,mem_mouse_search_dongle_action 
-0165 6fe14bbc fetch 2 ,mem_mouse_24g_search_dongle_time_init 
-0166 67e14ab2 store 2 ,mem_mouse_no_data_timer 
-0167 20200133 branch p_mouse_sensor_powerdown 
+01f3 704ba300 jam 0 ,mem_mouse_search_dongle_count 
+01f4 6fe0cba4 fetch 1 ,mem_mouse_search_dongle_action 
+01f5 c3800000 rtnbit1 g24_disconn_state 
+01f6 79207e00 set1 g24_disconn_state ,pdata 
+01f7 67e0cba4 store 1 ,mem_mouse_search_dongle_action 
+01f8 6fe14bbc fetch 2 ,mem_mouse_24g_search_dongle_time_init 
+01f9 67e14ab2 store 2 ,mem_mouse_no_data_timer 
+01fa 202001c6 branch p_mouse_sensor_powerdown 
               org 0x800
 
 start:
@@ -19783,6 +19972,8 @@
 4119 20404124 call mouse_check_lkey_gpio 
 411a 2040412a call mouse_check_rkey_gpio 
 411b 20404130 call mouse_check_mkey_gpio 
+
+mouse_check_key_gpio_next:
 411c 20404136 call mouse_check_bkkey_gpio 
 411d 2040414f call mouse_check_fwkey_gpio 
 411e 2040416a call mouse_check_customerkey_gpio 
@@ -22239,6 +22430,8 @@
 
 mouse_24g_start_auto_pair:
 4811 204048cc call mouse_discover_setting_led_gpio 
+
+mouse_24g_start_auto_pair_next:
 4812 6fe14881 fetch 2 ,mem_24g_pair_timeout_init 
 4813 67e14887 store 2 ,mem_24g_reconn_timeout 
 4814 70488b04 jam pair_and_3_0_addr ,mem_24g_reconn_type 
Index: program/app_mouse.prog
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/Only2.4G/TW-GY05_Only2.4G/program/app_mouse.prog	(revision 385)
+++ /YC1308AC/branch/mouse_project/YJX_Project/Only2.4G/TW-GY05_Only2.4G/program/app_mouse.prog	(working copy)
@@ -1861,6 +1861,7 @@
 	call mouse_check_lkey_gpio
 	call mouse_check_rkey_gpio
 	call mouse_check_mkey_gpio
+mouse_check_key_gpio_next:
 	call mouse_check_bkkey_gpio
 	call mouse_check_fwkey_gpio
 	call mouse_check_customerkey_gpio
@@ -4336,6 +4337,7 @@
 
 mouse_24g_start_auto_pair:
 	call mouse_discover_setting_led_gpio
+mouse_24g_start_auto_pair_next:
 	fetch 2,mem_24g_pair_timeout_init
 	store 2,mem_24g_reconn_timeout
 	jam PAIR_AND_3_0_ADDR,mem_24g_reconn_type
Index: program/patch.prog
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/Only2.4G/TW-GY05_Only2.4G/program/patch.prog	(revision 385)
+++ /YC1308AC/branch/mouse_project/YJX_Project/Only2.4G/TW-GY05_Only2.4G/program/patch.prog	(working copy)
@@ -2,7 +2,9 @@
 	bbit1 8,pf_patch_ext
 	beq patch00_0,p_soft_reset
 	beq patch11_3,p_initialize_radio_cont	
+	beq patch13_7,p_init_param
 	beq patch15_6,p_app_init
+	beq patch18_3,p_mouse_start_work
 	beq patch18_7,p_mouse_app_enter_hibernate
 	beq patch19_1,p_mouse_setgpio_hibernate
 	beq patch19_2,p_mouse_lpm_before_common
@@ -16,9 +18,29 @@
 	branch loop
 
 pf_patch_ext:
+	beq patch24_2,p_spid_write_reg
+	beq patch24_3,p_spid_read_reg
 	beq patch3b_5,p_g24_dispatch
 	branch loop
 
+p_spid_write_reg:
+	copy pdata,rega
+	fetch 1,mem_select_sensor_angle_gpio
+	arg gpcfg_output_low,temp
+ 	call gpio_config_function_int
+	copy rega,pdata
+ 	branch spid_write_reg+3
+
+p_spid_read_reg:
+	copy pdata,rega
+	copy temp,regb
+	fetch 1,mem_select_sensor_angle_gpio
+	arg gpcfg_output_low,temp
+ 	call gpio_config_function_int
+ 	copy rega,pdata
+ 	copy regb,temp
+	branch spid_read_reg+3
+
 
 p_soft_reset:
 	clear_stack
@@ -31,8 +53,6 @@
 p_mouse_init:
 	call enable_authrom
 	call p_mouse_setting_config
-	fetch 1,mem_sensor_shutdown_flag
-	ncall p_mouse_rgb_led_on,blank
 	call mouse_init_sunt
 	call mouse_dpi_config
 	rtn wake
@@ -44,9 +64,53 @@
 	rtnbit1 7
 	branch mouse_init_wireless
 
-p_mouse_rgb_led_on:	//gpio ouput active 1s enable rgb led
-	jam OFF,mem_rgb_led_off_enable
-	jam 11,mem_rgb_led_on_timer
+p_mouse_start_work:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_24G_FIRST_AUTO_PAIRING, mouse_24g_first_start_auto_pair_mode
+	fetch 1,mem_device_flag
+	beq MODE_24G_DEVICE,p_mouse_24g_start_mode
+	call mouse_wakeup_from_power_check	// wake from hibernate :enble user
+	nbranch mouse_buletooth_fast_conn_init,user
+	branch mouse_start_reconnect_device
+
+p_mouse_24g_start_mode:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_24G,mouse_24g_mode_setup_error
+//	call mouse_wakeup_from_power_check	// wake from hibernate :enble user
+//	branch p_mouse_24g_reconn_dongle_start,user
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_AUTO_24G_PARING,mouse_24g_reconn_general_dongle
+	bbit0 MOUSE_ENABLE_24G_POWER_ON_PAIRING,mouse_24g_reconn_general_dongle
+	call p_mouse_key_check_once
+	and pdata,0x07,pdata
+	fetcht 1,mem_mouse_commbination_key_24g
+	isub temp,null
+	branch mouse_24g_start_pair_mode,zero
+	branch mouse_24g_reconn_general_dongle
+
+p_mouse_24g_reconn_dongle_start:
+	call p_g24_factory_check
+	branch mouse_24g_start_auto_pair_next,user
+	branch mouse_24g_reconn_dongle_start
+
+p_g24_factory_check:
+	arg 2,loopcnt
+	arg mem_mouse_24g_addr,contr
+p_pdata_0xff_check:
+	call enable_user
+	setarg 0xffff
+p_pdata_0xff_check_loop:
+	ifetcht 2,contr
+	isub temp,null
+	ncall disable_user,zero
+	loop p_pdata_0xff_check_loop
+	rtn
+	
+p_mouse_key_check_once:
+	call mouse_check_key_gpio_once
+	call mouse_check_key_gpio
+	arg 0,temp
+	storet 3,mem_mouse_lkey_press_status
 	rtn
 
 p_mouse_cb_fuction:
@@ -56,7 +120,6 @@
 	store 2,mem_cb_24g_search_receiver
 	branch mouse_cb_fuction_next
 
-
 p_mouse_setting_config:
 	rtn wake
 	call g24_transmit_init
@@ -100,6 +163,47 @@
 	arg gpcfg_high_impedance,temp
  	branch gpio_config_function_int
 
+p_init_param:
+	rtn wake
+	jam BLUETOOTH_CORE_SPECIFICATION_5_0,mem_lmp_version
+	setarg COMPANY_ID_YICHIP
+	store 2,mem_lmp_compid
+	setarg 0x08
+	store 2,mem_lmp_subversion	
+	jam 0x7f ,mem_seqi
+	
+	setarg 0x24
+	store 2,mem_iscan_window
+	store 2,mem_pscan_window
+	setarg 0x200
+	store 2,mem_iscan_interval
+	store 2,mem_pscan_interval
+	setarg 0x20
+	store 2,mem_inq_window
+	store 2,mem_page_window
+	setarg 0x2000
+	store 2,mem_page_to
+	setarg 0x480
+	store 2,mem_rx_window_init
+	setarg 0xc00
+	store 2,mem_rx_window_sniff
+
+	setarg 0xc3f
+	store 2,mem_lpm_xtalcnt+1
+	setarg 0x333
+	istore 2,contw
+	setarg 0x04109d
+	store 3,mem_lpm_ctrl3+1
+	
+	call clear_wake
+	setarg 0
+	store 2,mem_tx_len
+	rshift clkn_bt,pdata
+	store 4,mem_last_clkn
+	rtn
+
+ 	
+
 p_initialize_radio_cont:
 	jam 0xe6,core_syn_aac_cfg1
 
@@ -145,8 +249,17 @@
 	fetch 1,mem_mouse_sensor_sclk_gpio	// set sclk high
 	arg gpcfg_output_high,temp
  	call gpio_config_function_int
+
+ 	call p_ice_gpio_set_input_pu
 	branch mouse_lpm_before_common_next
 
+p_ice_gpio_set_input_pu: 
+	arg 19,temp
+	call mouse_gpio_config_input_pu
+	arg 3,temp
+	branch mouse_gpio_config_input_pu
+
+
 p_mouse_priority_bb_event:
 	copy regc,pdata
 	beq BT_EVT_24G_ATTEMPT_SUCCESS,p_mouse_24g_attempt_success
@@ -162,9 +275,14 @@
 
 p_mouse_24g_attempt_fail:
 	fetch 1,mem_24g_attempt_fail_flag
-	nbranch p_mouse_rgb_led_off_time_init,blank
+	nbranch p_mouse_24g_enter_hibernate,blank
 	branch mouse_24g_attempt_fail_next
 
+p_mouse_24g_enter_hibernate:
+	set0 mark_24g,mark
+	jam 0,mem_rgb_led_on_continue_1min_timeout_flag
+	branch p_mouse_rgb_led_off_time_init
+	
 p_mouse_motion:
 	disable user
 	setarg 0
@@ -173,7 +291,45 @@
 	call mouse_zwheel
 	call mouse_t_zwheel
 	call p_mouse_key
-	branch mouse_motion+8
+	fetch 1,mem_mouse_key
+	and_into 0x1f,pdata
+	store 1,mem_mouse_key
+	nbranch p_mouse_motion_nodata,user
+	call mouse_drawing_optima
+	call p_mouse_rgb_led_on_check
+	branch mouse_no_data_timer_init
+
+p_mouse_motion_nodata:	
+	call mouse_drawing_optima_init	
+	fetch 2,mem_rgb_led_off_check_count
+	increase 1,pdata
+	store 2,mem_rgb_led_off_check_count
+	arg 0x0258,temp
+	isub temp,null
+	nrtn zero
+	setarg 0
+	store 2,mem_rgb_led_off_check_count
+	jam OFF,mem_rgb_led_on_enable
+	rtn
+
+p_mouse_rgb_led_on_check:
+	fetch 2,mem_rgb_led_on_check_count
+	increase 1,pdata
+	store 2,mem_rgb_led_on_check_count
+	arg 0x0258,temp
+	isub temp,null
+	nrtn zero
+	setarg 0
+	store 2,mem_rgb_led_on_check_count
+	fetch 1,mem_rgb_led_on_enable
+	rtneq ON
+	jam ON,mem_rgb_led_on_enable
+	jam OFF,mem_rgb_led_off_enable
+	jam 11,mem_rgb_led_on_enable_timer
+p_mouse_rgb_led_on_timer_init:
+	setarg 0
+	store 2,mem_rgb_led_on_timer
+	rtn
 	
 p_mouse_key:
 	call mouse_check_key_gpio
@@ -182,11 +338,18 @@
 	branch mouse_key+1
 
 p_mouse_check_key_gpio:
-	fetch 1,mem_rgb_led_off_enable
-	nrtn blank
-	fetch 1,mem_rgb_led_on_timer
+	fetch 1,mem_sensor_shutdown_flag
+	ncall mouse_check_key_gpio_once,blank
+	arg 0,rega
+	call mouse_check_lkey_gpio
+	call mouse_check_rkey_gpio
+	call p_mouse_check_mkey_gpio
+	branch mouse_check_key_gpio_next
+
+p_mouse_check_mkey_gpio:
+	fetch 1,mem_mbutton_function_disable
 	nrtn blank
-	branch mouse_check_key_gpio+1
+	branch mouse_check_mkey_gpio
 
 p_mouse_check_firekey_gpio:
 	copy rega,pdata
@@ -289,7 +452,8 @@
 	//led
 	call mouse_device_poweron_timer
 	call p_mouse_dpi_led_blink_delay_timer
-	call p_mouse_rgb_led_off_timer
+	call p_mouse_rgb_led_off_enable_timer
+	call p_mouse_rgb_led_on_enable_timer
 	call p_mouse_rgb_led_on_timer
 	
 	call mouse_dpi_key_check_long_press
@@ -310,16 +474,24 @@
 	call mouse_store_information_delay_timer
 	branch p_mouse_check_no_data_timeout_timer
 
-p_mouse_rgb_led_off_timer:
+
+/**************************rgb led start************************/
+/*********************
+****rgb on--mbutton output active 1s****
+****rgb off--mbutton output active 3s****
+**********************/
+p_mouse_rgb_led_off_enable_timer:
 	fetch 1,mem_rgb_led_off_enable
 	rtn blank
-	arg mem_rgb_led_off_timer,regc
+	arg mem_rgb_led_off_enable_timer,regc
 	arg p_mouse_rgb_led_off_timeout,regb
 	branch timer_single_step
 
 p_mouse_rgb_led_off_timeout:
-	fetcht 1,mem_mbutton_gpio
-	call mouse_gpio_config_input_pu
+	call p_mouse_mbutton_function_enable
+	fetch 1,mem_rgb_led_on_continue_1min_timeout_flag
+	nrtn blank
+	jam 0,mem_rgb_led_on_continue_1min_timeout_flag
 p_mouse_24g_hibernate_set:
 	jam 0,mem_24g_attempt_fail_flag
 	call g24_transmit_next_packet
@@ -332,38 +504,53 @@
 	call mouse_setgpio_hibernate
 	branch g24_long_sleep
 
-
 p_mouse_rgb_led_off_time_init:
-	set0 mark_24g,mark
-	
-	jam 0x1e,mem_rgb_led_off_timer
+	jam 0x1e,mem_rgb_led_off_enable_timer
 	jam ON,mem_rgb_led_off_enable
-
+p_mouse_mbutton_function_disable:
+	jam ON,mem_mbutton_function_disable
 	fetcht 1,mem_mbutton_gpio
 	call gpio_config_output
 	fetcht 1,mem_mbutton_gpio
 	branch gpio_out_active
 
-p_mouse_rgb_led_on_timer:
+p_mouse_rgb_led_on_enable_timer:
 	fetch 1,mem_rgb_led_off_enable
 	nrtn blank
-
-	fetch 1,mem_rgb_led_on_timer
+	fetch 1,mem_rgb_led_on_enable_timer
 	rtn blank
 	beq 1,p_mouse_rgb_led_enable_timeout
 	increase -1,pdata
-	store 1,mem_rgb_led_on_timer
-
-	fetcht 1,mem_mbutton_gpio
-	call gpio_config_output
-	fetcht 1,mem_mbutton_gpio
-	branch gpio_out_active
+	store 1,mem_rgb_led_on_enable_timer
+	branch p_mouse_mbutton_function_disable
 
 p_mouse_rgb_led_enable_timeout:
+	jam 0,mem_rgb_led_on_enable_timer
+p_mouse_mbutton_function_enable:
+	jam OFF,mem_mbutton_function_disable
 	fetcht 1,mem_mbutton_gpio
-	call mouse_gpio_config_input_pu
-	jam 0,mem_rgb_led_on_timer
+	branch mouse_gpio_config_input_pu
+
+p_mouse_rgb_led_on_timer:
+	fetch 1,mem_rgb_led_on_enable
+	nrtn blank
+	fetch 1,mem_rgb_led_off_enable
+	nrtn blank
+p_mouse_rgb_led_on:
+	fetch 2,mem_rgb_led_on_timer
+	increase 1,pdata
+	store 2,mem_rgb_led_on_timer
+	arg 0x0258,temp	//1min
+	isub temp,null
+	call p_mouse_rgb_led_on_continue_1min,zero
 	rtn
+
+p_mouse_rgb_led_on_continue_1min:
+	jam 1,mem_rgb_led_on_continue_1min_timeout_flag
+	call p_mouse_rgb_led_on_timer_init
+	branch p_mouse_rgb_led_off_time_init
+
+/**************************rgb led end************************/
 	
 p_mouse_check_no_data_timeout_timer:
 	fetch 1,mem_usb_addr
@@ -374,7 +561,7 @@
 
 p_mouse_check_no_data_timeout:
 	fetch 1,mem_device_flag
-	beq MODE_24G_DEVICE,p_mouse_rgb_led_off_time_init
+	beq MODE_24G_DEVICE,p_mouse_24g_enter_hibernate
 	branch mouse_disconnect
 
 	
@@ -418,9 +605,15 @@
 	branch g24_dispatch+1
 
 p_mouse_enable_g24_mark:
+	jam ON,mem_rgb_led_on_enable
+	call p_mouse_rgb_led_on_enable_timer_init
 	set1 mark_24g,mark
 	rtn
 
+p_mouse_rgb_led_on_enable_timer_init:	
+	jam OFF,mem_rgb_led_off_enable	//gpio ouput active 1s enable rgb led
+	jam 11,mem_rgb_led_on_enable_timer
+	rtn
 
 ////////////////////////////////////modify spi sclk start///////////////////////////////////
 p_mouse_init_sunt:
@@ -444,7 +637,7 @@
 	set1 CLOCK_OFF_DEBUG_UART,pdata
 	store 2,core_clkoff	//after select sensor angle,before tw_spi enable
 	
-	jam 0x76,mem_spi_init_clk
+	jam 0x77,mem_spi_init_clk
 	call mouse_spi_init
 	branch twspi_enable
 
Index: sched/mouse.dat
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/Only2.4G/TW-GY05_Only2.4G/sched/mouse.dat	(revision 385)
+++ /YC1308AC/branch/mouse_project/YJX_Project/Only2.4G/TW-GY05_Only2.4G/sched/mouse.dat	(working copy)
@@ -1,6 +1,6 @@
 mem_device_option:08	#08 mouse
 
-mem_lpm_config:88 1f ce	#4khz
+mem_lpm_config:88 13 ce	#4khz
 mem_fcomp_div:18
 
 mem_rf_init_data:ff
@@ -106,7 +106,7 @@
 00 #poweron
 
 #mode switch+pair/discovery  2byte 
-80 03 #dip(matrix)+2.4 first
+00 03 #dip(matrix)+2.4 first
 
 #updata 1byte
 03
@@ -190,7 +190,7 @@
 mem_mouse_page_to:00 40		# 16384*0.625ms=10s
 mem_mouse_fast_direct_timeout:0a #1s
 mem_mouse_fast_page_to:60 06	# 1600*0.625ms = 1s
-mem_mouse_24g_power_on_fast_conn_timer:05 00 #500ms
+mem_mouse_24g_power_on_fast_conn_timer:0a 00 #1s
 mem_mouse_24g_search_dongle_time_init: 64 00
 mem_mouse_no_data_timeout:70 17 #10min
 
