Index: format/app_dongle.format
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle/format/app_dongle.format	(revision 1995)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle/format/app_dongle.format	(working copy)
@@ -203,6 +203,7 @@
 )
 
 (
+0xF2 CMD_SET_SLEEP_TIMER
 0xF3 CMD_GET_DPI
 0xF4 CMD_SET_REPORT
 0xF5 CMD_SET_DPI
Index: output/eeprom.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle/output/eeprom.dat	(revision 1995)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle/output/eeprom.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-ae
+da
 11
 c2
 84
@@ -43,7 +43,7 @@
 c0
 1b
 82
-41
+42
 c0
 1c
 00
@@ -59,11 +59,11 @@
 c0
 1f
 02
-a2
+a3
 c0
 58
 82
-54
+55
 c0
 62
 80
@@ -111,27 +111,27 @@
 c0
 37
 03
-0e
+0f
 c0
 37
 82
-4a
+4b
 c0
 39
 03
-55
+56
 c0
 39
 83
-40
+41
 c0
 3a
 83
-1d
+1e
 c0
 40
 82
-fd
+fe
 c0
 41
 01
@@ -139,11 +139,11 @@
 c0
 42
 02
-c8
+c9
 c0
 42
 83
-2d
+2e
 c0
 44
 02
@@ -155,11 +155,11 @@
 c0
 45
 83
-30
+31
 c0
 4d
 83
-39
+3a
 c1
 7f
 80
@@ -2301,9 +2301,13 @@
 33
 07
 20
+40
+02
+40
+20
 20
 03
-82
+83
 58
 00
 00
@@ -2391,15 +2395,15 @@
 58
 00
 03
-60
+61
 67
 e1
 45
 e0
 58
 00
-03
-f6
+04
+01
 67
 e1
 45
@@ -2407,7 +2411,7 @@
 58
 00
 04
-3c
+47
 67
 e1
 45
@@ -2415,7 +2419,7 @@
 58
 00
 02
-5f
+60
 67
 e1
 45
@@ -2439,11 +2443,11 @@
 c0
 00
 82
-62
+63
 c0
 01
 02
-65
+66
 6f
 e0
 c6
@@ -2451,11 +2455,11 @@
 c2
 80
 02
-98
+99
 20
 20
 02
-67
+68
 6f
 e0
 c6
@@ -2463,7 +2467,7 @@
 c2
 80
 82
-9c
+9d
 6f
 e0
 c6
@@ -2471,15 +2475,15 @@
 c0
 00
 82
-6c
+6d
 c0
 01
 82
-7c
+7d
 c0
 04
 02
-84
+85
 20
 60
 00
@@ -2491,7 +2495,7 @@
 20
 40
 02
-74
+75
 24
 77
 80
@@ -2555,11 +2559,11 @@
 c0
 00
 82
-6c
+6d
 c0
 7f
 82
-6c
+6d
 70
 08
 f9
@@ -2591,11 +2595,11 @@
 c0
 02
 82
-89
+8a
 c0
 05
 02
-90
+91
 20
 60
 00
@@ -2675,7 +2679,7 @@
 20
 20
 02
-9f
+a0
 6f
 e0
 c6
@@ -2699,7 +2703,7 @@
 20
 20
 02
-82
+83
 6f
 e0
 c6
@@ -2711,7 +2715,7 @@
 20
 40
 02
-b6
+b7
 20
 40
 48
@@ -2795,11 +2799,11 @@
 20
 40
 02
-b1
+b2
 20
 40
 02
-f2
+f3
 24
 37
 b3
@@ -2851,7 +2855,7 @@
 20
 5a
 02
-ce
+cf
 6f
 e0
 c7
@@ -2859,7 +2863,7 @@
 c0
 7f
 82
-ec
+ed
 1f
 e1
 7e
@@ -2867,11 +2871,11 @@
 c0
 00
 82
-d4
+d5
 c0
 01
 02
-e6
+e7
 20
 20
 33
@@ -2931,7 +2935,7 @@
 c0
 00
 82
-df
+e0
 6f
 e0
 c6
@@ -2987,7 +2991,7 @@
 20
 20
 82
-e4
+e5
 6f
 e1
 45
@@ -2999,7 +3003,7 @@
 20
 40
 02
-f0
+f1
 20
 20
 01
@@ -3047,7 +3051,7 @@
 20
 40
 03
-1d
+1e
 6f
 e0
 c7
@@ -3079,15 +3083,15 @@
 20
 40
 03
-09
+0a
 20
 40
 02
-f5
+f6
 20
 40
 02
-ee
+ef
 20
 40
 49
@@ -3143,7 +3147,7 @@
 c5
 13
 83
-16
+17
 6f
 e0
 c6
@@ -3287,7 +3291,7 @@
 20
 40
 02
-f2
+f3
 24
 37
 b3
@@ -3299,7 +3303,7 @@
 20
 42
 82
-bc
+bd
 20
 20
 34
@@ -3419,7 +3423,7 @@
 c5
 17
 83
-5a
+5b
 6f
 e0
 c5
@@ -3427,7 +3431,7 @@
 24
 3a
 03
-5a
+5b
 78
 4e
 fc
@@ -3491,15 +3495,15 @@
 20
 40
 03
-6a
+6b
 20
 40
 03
-76
+77
 20
 20
 03
-61
+62
 d8
 40
 ff
@@ -3627,43 +3631,47 @@
 c0
 7b
 83
-ae
+b9
 c0
 7b
 03
-bc
+c7
 c0
 7a
 83
-9c
+9e
 c0
 79
 83
-ac
+b7
 c0
 7a
 03
-a6
+a8
+c0
+79
+03
+ae
 c0
 7e
 03
-bf
+ca
 c0
 7f
 03
-c7
+d2
 c0
 3d
 03
-cd
+d8
 c0
 50
 03
-d4
+df
 c0
 50
 83
-ea
+f5
 20
 20
 48
@@ -3711,7 +3719,7 @@
 20
 40
 03
-94
+96
 6f
 e0
 88
@@ -3739,7 +3747,7 @@
 20
 20
 03
-97
+99
 6f
 e0
 88
@@ -3751,7 +3759,7 @@
 20
 40
 03
-94
+96
 6f
 e0
 88
@@ -3763,7 +3771,43 @@
 20
 20
 03
-a3
+a5
+6f
+e0
+88
+76
+c0
+02
+83
+b2
+c0
+05
+03
+b5
+20
+60
+00
+00
+20
+40
+03
+96
+70
+4a
+53
+05
+20
+20
+03
+a5
+70
+4a
+53
+0a
+20
+60
+00
+00
 70
 49
 50
@@ -3771,7 +3815,7 @@
 20
 20
 04
-24
+2f
 58
 00
 00
@@ -3827,7 +3871,7 @@
 20
 20
 04
-33
+3e
 6f
 e0
 88
@@ -3871,7 +3915,7 @@
 20
 20
 04
-33
+3e
 6f
 e0
 88
@@ -4059,7 +4103,7 @@
 20
 20
 04
-33
+3e
 70
 46
 11
@@ -4071,15 +4115,15 @@
 c2
 83
 04
-1e
+29
 c2
 83
 84
-2b
+36
 c2
 82
 84
-2e
+39
 6f
 e0
 c5
@@ -4091,11 +4135,11 @@
 20
 22
 84
-0b
+16
 20
 40
 04
-0b
+16
 6f
 e0
 c5
@@ -4131,15 +4175,15 @@
 c2
 83
 04
-1e
+29
 c2
 83
 84
-2b
+36
 c2
 82
 84
-2e
+39
 20
 60
 00
@@ -4203,7 +4247,7 @@
 24
 22
 84
-1c
+27
 6f
 e3
 49
@@ -4219,7 +4263,7 @@
 20
 20
 04
-33
+3e
 6f
 e0
 c7
@@ -4271,7 +4315,7 @@
 20
 20
 04
-33
+3e
 6f
 e0
 c7
@@ -4347,11 +4391,11 @@
 c2
 83
 04
-55
+60
 c2
 82
 84
-50
+5b
 6f
 e0
 c7
@@ -4359,15 +4403,15 @@
 c0
 00
 04
-44
+4f
 c0
 01
 04
-4a
+55
 c0
 01
 84
-4d
+58
 20
 20
 33
@@ -4459,11 +4503,11 @@
 20
 5a
 04
-60
+6b
 24
 5a
 04
-62
+6d
 d8
 c0
 47
@@ -4519,7 +4563,7 @@
 c2
 00
 04
-66
+71
 1a
 21
 22
@@ -4528,8 +4572,8 @@
 60
 00
 00
-1e
-60
+5a
+bf
 aa
 55
 40
@@ -5142,52 +5186,8 @@
 55
 52
 80
-64
-2a
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+af
+12
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-9d
-0e
+aa
+05
Index: output/flash.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle/output/flash.dat	(revision 1995)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle/output/flash.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-ae
+da
 11
 c2
 84
@@ -43,7 +43,7 @@
 c0
 1b
 82
-41
+42
 c0
 1c
 00
@@ -59,11 +59,11 @@
 c0
 1f
 02
-a2
+a3
 c0
 58
 82
-54
+55
 c0
 62
 80
@@ -111,27 +111,27 @@
 c0
 37
 03
-0e
+0f
 c0
 37
 82
-4a
+4b
 c0
 39
 03
-55
+56
 c0
 39
 83
-40
+41
 c0
 3a
 83
-1d
+1e
 c0
 40
 82
-fd
+fe
 c0
 41
 01
@@ -139,11 +139,11 @@
 c0
 42
 02
-c8
+c9
 c0
 42
 83
-2d
+2e
 c0
 44
 02
@@ -155,11 +155,11 @@
 c0
 45
 83
-30
+31
 c0
 4d
 83
-39
+3a
 c1
 7f
 80
@@ -2301,9 +2301,13 @@
 33
 07
 20
+40
+02
+40
+20
 20
 03
-82
+83
 58
 00
 00
@@ -2391,15 +2395,15 @@
 58
 00
 03
-60
+61
 67
 e1
 45
 e0
 58
 00
-03
-f6
+04
+01
 67
 e1
 45
@@ -2407,7 +2411,7 @@
 58
 00
 04
-3c
+47
 67
 e1
 45
@@ -2415,7 +2419,7 @@
 58
 00
 02
-5f
+60
 67
 e1
 45
@@ -2439,11 +2443,11 @@
 c0
 00
 82
-62
+63
 c0
 01
 02
-65
+66
 6f
 e0
 c6
@@ -2451,11 +2455,11 @@
 c2
 80
 02
-98
+99
 20
 20
 02
-67
+68
 6f
 e0
 c6
@@ -2463,7 +2467,7 @@
 c2
 80
 82
-9c
+9d
 6f
 e0
 c6
@@ -2471,15 +2475,15 @@
 c0
 00
 82
-6c
+6d
 c0
 01
 82
-7c
+7d
 c0
 04
 02
-84
+85
 20
 60
 00
@@ -2491,7 +2495,7 @@
 20
 40
 02
-74
+75
 24
 77
 80
@@ -2555,11 +2559,11 @@
 c0
 00
 82
-6c
+6d
 c0
 7f
 82
-6c
+6d
 70
 08
 f9
@@ -2591,11 +2595,11 @@
 c0
 02
 82
-89
+8a
 c0
 05
 02
-90
+91
 20
 60
 00
@@ -2675,7 +2679,7 @@
 20
 20
 02
-9f
+a0
 6f
 e0
 c6
@@ -2699,7 +2703,7 @@
 20
 20
 02
-82
+83
 6f
 e0
 c6
@@ -2711,7 +2715,7 @@
 20
 40
 02
-b6
+b7
 20
 40
 48
@@ -2795,11 +2799,11 @@
 20
 40
 02
-b1
+b2
 20
 40
 02
-f2
+f3
 24
 37
 b3
@@ -2851,7 +2855,7 @@
 20
 5a
 02
-ce
+cf
 6f
 e0
 c7
@@ -2859,7 +2863,7 @@
 c0
 7f
 82
-ec
+ed
 1f
 e1
 7e
@@ -2867,11 +2871,11 @@
 c0
 00
 82
-d4
+d5
 c0
 01
 02
-e6
+e7
 20
 20
 33
@@ -2931,7 +2935,7 @@
 c0
 00
 82
-df
+e0
 6f
 e0
 c6
@@ -2987,7 +2991,7 @@
 20
 20
 82
-e4
+e5
 6f
 e1
 45
@@ -2999,7 +3003,7 @@
 20
 40
 02
-f0
+f1
 20
 20
 01
@@ -3047,7 +3051,7 @@
 20
 40
 03
-1d
+1e
 6f
 e0
 c7
@@ -3079,15 +3083,15 @@
 20
 40
 03
-09
+0a
 20
 40
 02
-f5
+f6
 20
 40
 02
-ee
+ef
 20
 40
 49
@@ -3143,7 +3147,7 @@
 c5
 13
 83
-16
+17
 6f
 e0
 c6
@@ -3287,7 +3291,7 @@
 20
 40
 02
-f2
+f3
 24
 37
 b3
@@ -3299,7 +3303,7 @@
 20
 42
 82
-bc
+bd
 20
 20
 34
@@ -3419,7 +3423,7 @@
 c5
 17
 83
-5a
+5b
 6f
 e0
 c5
@@ -3427,7 +3431,7 @@
 24
 3a
 03
-5a
+5b
 78
 4e
 fc
@@ -3491,15 +3495,15 @@
 20
 40
 03
-6a
+6b
 20
 40
 03
-76
+77
 20
 20
 03
-61
+62
 d8
 40
 ff
@@ -3627,43 +3631,47 @@
 c0
 7b
 83
-ae
+b9
 c0
 7b
 03
-bc
+c7
 c0
 7a
 83
-9c
+9e
 c0
 79
 83
-ac
+b7
 c0
 7a
 03
-a6
+a8
+c0
+79
+03
+ae
 c0
 7e
 03
-bf
+ca
 c0
 7f
 03
-c7
+d2
 c0
 3d
 03
-cd
+d8
 c0
 50
 03
-d4
+df
 c0
 50
 83
-ea
+f5
 20
 20
 48
@@ -3711,7 +3719,7 @@
 20
 40
 03
-94
+96
 6f
 e0
 88
@@ -3739,7 +3747,7 @@
 20
 20
 03
-97
+99
 6f
 e0
 88
@@ -3751,7 +3759,7 @@
 20
 40
 03
-94
+96
 6f
 e0
 88
@@ -3763,7 +3771,43 @@
 20
 20
 03
-a3
+a5
+6f
+e0
+88
+76
+c0
+02
+83
+b2
+c0
+05
+03
+b5
+20
+60
+00
+00
+20
+40
+03
+96
+70
+4a
+53
+05
+20
+20
+03
+a5
+70
+4a
+53
+0a
+20
+60
+00
+00
 70
 49
 50
@@ -3771,7 +3815,7 @@
 20
 20
 04
-24
+2f
 58
 00
 00
@@ -3827,7 +3871,7 @@
 20
 20
 04
-33
+3e
 6f
 e0
 88
@@ -3871,7 +3915,7 @@
 20
 20
 04
-33
+3e
 6f
 e0
 88
@@ -4059,7 +4103,7 @@
 20
 20
 04
-33
+3e
 70
 46
 11
@@ -4071,15 +4115,15 @@
 c2
 83
 04
-1e
+29
 c2
 83
 84
-2b
+36
 c2
 82
 84
-2e
+39
 6f
 e0
 c5
@@ -4091,11 +4135,11 @@
 20
 22
 84
-0b
+16
 20
 40
 04
-0b
+16
 6f
 e0
 c5
@@ -4131,15 +4175,15 @@
 c2
 83
 04
-1e
+29
 c2
 83
 84
-2b
+36
 c2
 82
 84
-2e
+39
 20
 60
 00
@@ -4203,7 +4247,7 @@
 24
 22
 84
-1c
+27
 6f
 e3
 49
@@ -4219,7 +4263,7 @@
 20
 20
 04
-33
+3e
 6f
 e0
 c7
@@ -4271,7 +4315,7 @@
 20
 20
 04
-33
+3e
 6f
 e0
 c7
@@ -4347,11 +4391,11 @@
 c2
 83
 04
-55
+60
 c2
 82
 84
-50
+5b
 6f
 e0
 c7
@@ -4359,15 +4403,15 @@
 c0
 00
 04
-44
+4f
 c0
 01
 04
-4a
+55
 c0
 01
 84
-4d
+58
 20
 20
 33
@@ -4459,11 +4503,11 @@
 20
 5a
 04
-60
+6b
 24
 5a
 04
-62
+6d
 d8
 c0
 47
@@ -4519,7 +4563,7 @@
 c2
 00
 04
-66
+71
 1a
 21
 22
@@ -4528,8 +4572,8 @@
 60
 00
 00
-1e
-60
+5a
+bf
 aa
 55
 40
@@ -5142,52 +5186,8 @@
 55
 52
 80
-64
-2a
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+af
+12
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-9d
-0e
+aa
+05
Index: output/otp.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle/output/otp.dat	(revision 1995)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle/output/otp.dat	(working copy)
@@ -11,7 +11,7 @@
 00
 aa
 55
-ae
+da
 11
 c2
 84
@@ -52,7 +52,7 @@
 c0
 1b
 82
-41
+42
 c0
 1c
 00
@@ -68,11 +68,11 @@
 c0
 1f
 02
-a2
+a3
 c0
 58
 82
-54
+55
 c0
 62
 80
@@ -120,27 +120,27 @@
 c0
 37
 03
-0e
+0f
 c0
 37
 82
-4a
+4b
 c0
 39
 03
-55
+56
 c0
 39
 83
-40
+41
 c0
 3a
 83
-1d
+1e
 c0
 40
 82
-fd
+fe
 c0
 41
 01
@@ -148,11 +148,11 @@
 c0
 42
 02
-c8
+c9
 c0
 42
 83
-2d
+2e
 c0
 44
 02
@@ -164,11 +164,11 @@
 c0
 45
 83
-30
+31
 c0
 4d
 83
-39
+3a
 c1
 7f
 80
@@ -2310,9 +2310,13 @@
 33
 07
 20
+40
+02
+40
+20
 20
 03
-82
+83
 58
 00
 00
@@ -2400,15 +2404,15 @@
 58
 00
 03
-60
+61
 67
 e1
 45
 e0
 58
 00
-03
-f6
+04
+01
 67
 e1
 45
@@ -2416,7 +2420,7 @@
 58
 00
 04
-3c
+47
 67
 e1
 45
@@ -2424,7 +2428,7 @@
 58
 00
 02
-5f
+60
 67
 e1
 45
@@ -2448,11 +2452,11 @@
 c0
 00
 82
-62
+63
 c0
 01
 02
-65
+66
 6f
 e0
 c6
@@ -2460,11 +2464,11 @@
 c2
 80
 02
-98
+99
 20
 20
 02
-67
+68
 6f
 e0
 c6
@@ -2472,7 +2476,7 @@
 c2
 80
 82
-9c
+9d
 6f
 e0
 c6
@@ -2480,15 +2484,15 @@
 c0
 00
 82
-6c
+6d
 c0
 01
 82
-7c
+7d
 c0
 04
 02
-84
+85
 20
 60
 00
@@ -2500,7 +2504,7 @@
 20
 40
 02
-74
+75
 24
 77
 80
@@ -2564,11 +2568,11 @@
 c0
 00
 82
-6c
+6d
 c0
 7f
 82
-6c
+6d
 70
 08
 f9
@@ -2600,11 +2604,11 @@
 c0
 02
 82
-89
+8a
 c0
 05
 02
-90
+91
 20
 60
 00
@@ -2684,7 +2688,7 @@
 20
 20
 02
-9f
+a0
 6f
 e0
 c6
@@ -2708,7 +2712,7 @@
 20
 20
 02
-82
+83
 6f
 e0
 c6
@@ -2720,7 +2724,7 @@
 20
 40
 02
-b6
+b7
 20
 40
 48
@@ -2804,11 +2808,11 @@
 20
 40
 02
-b1
+b2
 20
 40
 02
-f2
+f3
 24
 37
 b3
@@ -2860,7 +2864,7 @@
 20
 5a
 02
-ce
+cf
 6f
 e0
 c7
@@ -2868,7 +2872,7 @@
 c0
 7f
 82
-ec
+ed
 1f
 e1
 7e
@@ -2876,11 +2880,11 @@
 c0
 00
 82
-d4
+d5
 c0
 01
 02
-e6
+e7
 20
 20
 33
@@ -2940,7 +2944,7 @@
 c0
 00
 82
-df
+e0
 6f
 e0
 c6
@@ -2996,7 +3000,7 @@
 20
 20
 82
-e4
+e5
 6f
 e1
 45
@@ -3008,7 +3012,7 @@
 20
 40
 02
-f0
+f1
 20
 20
 01
@@ -3056,7 +3060,7 @@
 20
 40
 03
-1d
+1e
 6f
 e0
 c7
@@ -3088,15 +3092,15 @@
 20
 40
 03
-09
+0a
 20
 40
 02
-f5
+f6
 20
 40
 02
-ee
+ef
 20
 40
 49
@@ -3152,7 +3156,7 @@
 c5
 13
 83
-16
+17
 6f
 e0
 c6
@@ -3296,7 +3300,7 @@
 20
 40
 02
-f2
+f3
 24
 37
 b3
@@ -3308,7 +3312,7 @@
 20
 42
 82
-bc
+bd
 20
 20
 34
@@ -3428,7 +3432,7 @@
 c5
 17
 83
-5a
+5b
 6f
 e0
 c5
@@ -3436,7 +3440,7 @@
 24
 3a
 03
-5a
+5b
 78
 4e
 fc
@@ -3500,15 +3504,15 @@
 20
 40
 03
-6a
+6b
 20
 40
 03
-76
+77
 20
 20
 03
-61
+62
 d8
 40
 ff
@@ -3636,43 +3640,47 @@
 c0
 7b
 83
-ae
+b9
 c0
 7b
 03
-bc
+c7
 c0
 7a
 83
-9c
+9e
 c0
 79
 83
-ac
+b7
 c0
 7a
 03
-a6
+a8
+c0
+79
+03
+ae
 c0
 7e
 03
-bf
+ca
 c0
 7f
 03
-c7
+d2
 c0
 3d
 03
-cd
+d8
 c0
 50
 03
-d4
+df
 c0
 50
 83
-ea
+f5
 20
 20
 48
@@ -3720,7 +3728,7 @@
 20
 40
 03
-94
+96
 6f
 e0
 88
@@ -3748,7 +3756,7 @@
 20
 20
 03
-97
+99
 6f
 e0
 88
@@ -3760,7 +3768,7 @@
 20
 40
 03
-94
+96
 6f
 e0
 88
@@ -3772,7 +3780,43 @@
 20
 20
 03
-a3
+a5
+6f
+e0
+88
+76
+c0
+02
+83
+b2
+c0
+05
+03
+b5
+20
+60
+00
+00
+20
+40
+03
+96
+70
+4a
+53
+05
+20
+20
+03
+a5
+70
+4a
+53
+0a
+20
+60
+00
+00
 70
 49
 50
@@ -3780,7 +3824,7 @@
 20
 20
 04
-24
+2f
 58
 00
 00
@@ -3836,7 +3880,7 @@
 20
 20
 04
-33
+3e
 6f
 e0
 88
@@ -3880,7 +3924,7 @@
 20
 20
 04
-33
+3e
 6f
 e0
 88
@@ -4068,7 +4112,7 @@
 20
 20
 04
-33
+3e
 70
 46
 11
@@ -4080,15 +4124,15 @@
 c2
 83
 04
-1e
+29
 c2
 83
 84
-2b
+36
 c2
 82
 84
-2e
+39
 6f
 e0
 c5
@@ -4100,11 +4144,11 @@
 20
 22
 84
-0b
+16
 20
 40
 04
-0b
+16
 6f
 e0
 c5
@@ -4140,15 +4184,15 @@
 c2
 83
 04
-1e
+29
 c2
 83
 84
-2b
+36
 c2
 82
 84
-2e
+39
 20
 60
 00
@@ -4212,7 +4256,7 @@
 24
 22
 84
-1c
+27
 6f
 e3
 49
@@ -4228,7 +4272,7 @@
 20
 20
 04
-33
+3e
 6f
 e0
 c7
@@ -4280,7 +4324,7 @@
 20
 20
 04
-33
+3e
 6f
 e0
 c7
@@ -4356,11 +4400,11 @@
 c2
 83
 04
-55
+60
 c2
 82
 84
-50
+5b
 6f
 e0
 c7
@@ -4368,15 +4412,15 @@
 c0
 00
 04
-44
+4f
 c0
 01
 04
-4a
+55
 c0
 01
 84
-4d
+58
 20
 20
 33
@@ -4468,11 +4512,11 @@
 20
 5a
 04
-60
+6b
 24
 5a
 04
-62
+6d
 d8
 c0
 47
@@ -4528,7 +4572,7 @@
 c2
 00
 04
-66
+71
 1a
 21
 22
@@ -4537,8 +4581,8 @@
 60
 00
 00
-1e
-60
+5a
+bf
 aa
 55
 40
@@ -5151,6 +5195,6 @@
 55
 52
 80
-64
-2a
+af
+12
 21
Index: output/program.lis
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle/output/program.lis	(revision 1995)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle/output/program.lis	(working copy)
@@ -9,12 +9,12 @@
 0006 c00c00e7 beq patch03_0 ,p_txon 
 0007 c00c808d beq patch03_1 ,p_set_tx_power 
 0008 c00d0049 beq patch03_2 ,p_initialize_radio_cont 
-0009 c01b8241 beq patch06_7 ,p_dongle_default_init 
+0009 c01b8242 beq patch06_7 ,p_dongle_default_init 
 000a c01c00ac beq patch07_0 ,p_dongle_read_kb_bind_status 
 000b c01c80a8 beq patch07_1 ,p_dongle_write_kb_bind_status 
 000c c01e823e beq patch07_5 ,p_dongle_usb_dispatch 
-000d c01f02a2 beq patch07_6 ,p_dongle_work_mode_auto 
-000e c0588254 beq patch16_1 ,p_app_init 
+000d c01f02a3 beq patch07_6 ,p_dongle_work_mode_auto 
+000e c0588255 beq patch16_1 ,p_app_init 
 000f c06280a5 beq patch18_5 ,p_otp_read_data 
 0010 c06d019e beq patch1b_2 ,p_sadc_calibration 
 0011 c06e01ae beq patch1b_4 ,p_enable_adc 
@@ -28,19 +28,19 @@
 0017 c003013d beq patch20_6 ,p_usb_tx 
 0018 c01c81e8 beq patch27_1 ,p_le_parse 
 0019 c02681ec beq patch29_5 ,p_le_init_adv 
-001a c037030e beq patch2d_6 ,p_g24_receive_update_rxbuff 
-001b c037824a beq patch2d_7 ,p_g24_receive_skip_end 
-001c c0390355 beq patch2e_2 ,p_g24_transmit_packet 
-001d c0398340 beq patch2e_3 ,p_g24_transmit_prep 
-001e c03a831d beq patch2e_5 ,p_g24_read_len_pid_crc 
-001f c04082fd beq patch30_1 ,p_g24_bind_data_process 
+001a c037030f beq patch2d_6 ,p_g24_receive_update_rxbuff 
+001b c037824b beq patch2d_7 ,p_g24_receive_skip_end 
+001c c0390356 beq patch2e_2 ,p_g24_transmit_packet 
+001d c0398341 beq patch2e_3 ,p_g24_transmit_prep 
+001e c03a831e beq patch2e_5 ,p_g24_read_len_pid_crc 
+001f c04082fe beq patch30_1 ,p_g24_bind_data_process 
 0020 c04101ee beq patch30_2 ,p_g24_bind_data_parse_next 
-0021 c04202c8 beq patch30_4 ,p_g24_receive_packet_parse_end 
-0022 c042832d beq patch30_5 ,p_g24_rx_interrupt_clear 
+0021 c04202c9 beq patch30_4 ,p_g24_receive_packet_parse_end 
+0022 c042832e beq patch30_5 ,p_g24_rx_interrupt_clear 
 0023 c0440226 beq patch31_0 ,p_g24_mode_switch_bind_search 
 0024 c0450233 beq patch31_2 ,p_g24_bind_mode_auto 
-0025 c0458330 beq patch31_3 ,p_g24_search_mode_auto 
-0026 c04d8339 beq patch33_3 ,p_g24_ackpayload_parse 
+0025 c0458331 beq patch31_3 ,p_g24_search_mode_auto 
+0026 c04d833a beq patch33_3 ,p_g24_ackpayload_parse 
 0027 c17f8000 rtneq patch3f_7 
 0028 2020235a branch assert 
 
@@ -726,737 +726,754 @@
 023d 20203307 branch g24_bind_init + 8 
 
 p_dongle_usb_dispatch:
-023e 20200382 branch p_dongle_usb_dispatch_analysis 
+023e 20400240 call p_wdt_kick 
+023f 20200383 branch p_dongle_usb_dispatch_analysis 
 
 p_wdt_kick:
-023f 58000010 setarg 16 
-0240 202070c8 branch wdt_init_config 
+0240 58000010 setarg 16 
+0241 202070c8 branch wdt_init_config 
 
 p_dongle_default_init:
-0241 204047c3 call dongle_default_init + 1 
-0242 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
-0243 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
-0244 7045ca01 jam on ,mem_24g_disable_fec1 
-0245 20403281 call g24_enable_1m 
-0246 6fe0c669 fetch 1 ,mem_dg_sys_config 
-0247 c4000000 rtnbit0 dg_enable_new_revision 
-0248 7045ca01 jam on ,mem_24g_disable_fec1 
-0249 20203284 branch g24_enable_2m 
+0242 204047c3 call dongle_default_init + 1 
+0243 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
+0244 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
+0245 7045ca01 jam on ,mem_24g_disable_fec1 
+0246 20403281 call g24_enable_1m 
+0247 6fe0c669 fetch 1 ,mem_dg_sys_config 
+0248 c4000000 rtnbit0 dg_enable_new_revision 
+0249 7045ca01 jam on ,mem_24g_disable_fec1 
+024a 20203284 branch g24_enable_2m 
 
 p_g24_receive_skip_end:
-024a 6fe0c669 fetch 1 ,mem_dg_sys_config 
-024b c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
-024c 7837fc00 enable user3 
-024d 20000018 nop 24 
-024e 6fe0c6dd fetch 1 ,mem_24g_txbuf_new 
-024f 79207e00 set1 bit_ack_24g ,pdata 
-0250 67e0c6dd store 1 ,mem_24g_txbuf_new 
-0251 204033a5 call g24_ackpayload_prep 
-0252 204031e5 call g24_transmit_prep 
-0253 20203195 branch g24_transmit 
+024b 6fe0c669 fetch 1 ,mem_dg_sys_config 
+024c c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
+024d 7837fc00 enable user3 
+024e 20000018 nop 24 
+024f 6fe0c6dd fetch 1 ,mem_24g_txbuf_new 
+0250 79207e00 set1 bit_ack_24g ,pdata 
+0251 67e0c6dd store 1 ,mem_24g_txbuf_new 
+0252 204033a5 call g24_ackpayload_prep 
+0253 204031e5 call g24_transmit_prep 
+0254 20203195 branch g24_transmit 
 
 p_app_init:
-0254 58000360 setarg p_dongle_dispatch 
-0255 67e145e0 store 2 ,mem_cb_24g_receive_process 
-0256 580003f6 setarg p_dongle_g24_mouse 
-0257 67e145e4 store 2 ,mem_cb_24g_data_device1 
-0258 5800043c setarg p_dongle_g24_kb 
-0259 67e145e6 store 2 ,mem_cb_24g_data_device2 
-025a 5800025f setarg p_dongle_ackpayload_prep 
-025b 67e145e2 store 2 ,mem_cb_24g_ackpayload 
-025c 580047f9 setarg dongle_usb_config 
-025d 67e10859 store 2 ,mem_cb_usb_config 
-025e 20207912 branch usb_init 
+0255 58000361 setarg p_dongle_dispatch 
+0256 67e145e0 store 2 ,mem_cb_24g_receive_process 
+0257 58000401 setarg p_dongle_g24_mouse 
+0258 67e145e4 store 2 ,mem_cb_24g_data_device1 
+0259 58000447 setarg p_dongle_g24_kb 
+025a 67e145e6 store 2 ,mem_cb_24g_data_device2 
+025b 58000260 setarg p_dongle_ackpayload_prep 
+025c 67e145e2 store 2 ,mem_cb_24g_ackpayload 
+025d 580047f9 setarg dongle_usb_config 
+025e 67e10859 store 2 ,mem_cb_usb_config 
+025f 20207912 branch usb_init 
 
 p_dongle_ackpayload_prep:
-025f 6fe0c589 fetch 1 ,mem_24g_data_type 
-0260 c0008262 beq datatype_device1 ,p_dongle_ackpayload_prep_mouse 
-0261 c0010265 beq datatype_device2 ,p_dongle_ackpayload_prep_keyboard 
+0260 6fe0c589 fetch 1 ,mem_24g_data_type 
+0261 c0008263 beq datatype_device1 ,p_dongle_ackpayload_prep_mouse 
+0262 c0010266 beq datatype_device2 ,p_dongle_ackpayload_prep_keyboard 
 
 p_dongle_ackpayload_prep_mouse:
-0262 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
-0263 c2800298 bbit1 0 ,p_dongle_pc_sleep_ackpayload_prep_mouse 
-0264 20200267 branch p_dongle_ackpayload_prep_end 
+0263 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+0264 c2800299 bbit1 0 ,p_dongle_pc_sleep_ackpayload_prep_mouse 
+0265 20200268 branch p_dongle_ackpayload_prep_end 
 
 p_dongle_ackpayload_prep_keyboard:
-0265 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
-0266 c280829c bbit1 1 ,p_dongle_pc_sleep_ackpayload_prep_keyboard 
+0266 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+0267 c280829d bbit1 1 ,p_dongle_pc_sleep_ackpayload_prep_keyboard 
 
 p_dongle_ackpayload_prep_end:
-0267 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
-0268 c000826c beq bind_ackpayload ,p_dongle_g24_bind_ackpayload_prep 
-0269 c001827c beq kb_led_ackpayload ,p_dongle_g24_kb_led_ackpayload_prep 
-026a c0040284 beq protocol_ackpayload ,p_dongle_g24_protocol_ackpayload_prep 
-026b 20600000 rtn 
+0268 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
+0269 c000826d beq bind_ackpayload ,p_dongle_g24_bind_ackpayload_prep 
+026a c001827d beq kb_led_ackpayload ,p_dongle_g24_kb_led_ackpayload_prep 
+026b c0040285 beq protocol_ackpayload ,p_dongle_g24_protocol_ackpayload_prep 
+026c 20600000 rtn 
 
 p_dongle_g24_bind_ackpayload_prep:
-026c 70461101 jam 1 ,mem_24g_ackpayload_enable 
-026d 20400274 call p_g24_binding_device_check 
-026e 24778000 nrtn user3 
+026d 70461101 jam 1 ,mem_24g_ackpayload_enable 
+026e 20400275 call p_g24_binding_device_check 
+026f 24778000 nrtn user3 
 
 p_g24_bind_ackpayload_prep:
-026f 70461101 jam 1 ,mem_24g_ackpayload_enable 
-0270 70458808 jam 0x08 ,mem_24g_datalen 
-0271 d8c045d6 arg mem_24g_bind_payload ,contr 
-0272 d8a046dd arg mem_24g_txbuf_new ,contw 
-0273 20207c89 branch memcpy8 
+0270 70461101 jam 1 ,mem_24g_ackpayload_enable 
+0271 70458808 jam 0x08 ,mem_24g_datalen 
+0272 d8c045d6 arg mem_24g_bind_payload ,contr 
+0273 d8a046dd arg mem_24g_txbuf_new ,contw 
+0274 20207c89 branch memcpy8 
 
 p_g24_binding_device_check:
-0274 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0275 c1808000 rtnne dongle_bind 
-0276 6fe0c610 fetch 1 ,mem_24g_pair_mode 
-0277 247a0000 nrtn blank 
-0278 6fe0c69a fetch 1 ,mem_24g_rxbuf_new + 3 
-0279 c000b386 beq datatype_device1 ,g24_binding_dvc1_status 
-027a c001338a beq datatype_device2 ,g24_binding_dvc2_status 
-027b 20600000 rtn 
+0275 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0276 c1808000 rtnne dongle_bind 
+0277 6fe0c610 fetch 1 ,mem_24g_pair_mode 
+0278 247a0000 nrtn blank 
+0279 6fe0c69a fetch 1 ,mem_24g_rxbuf_new + 3 
+027a c000b386 beq datatype_device1 ,g24_binding_dvc1_status 
+027b c001338a beq datatype_device2 ,g24_binding_dvc2_status 
+027c 20600000 rtn 
 
 p_dongle_g24_kb_led_ackpayload_prep:
-027c 6fe0c699 fetch 1 ,mem_24g_rxbuf_new + 2 
-027d c000826c beq datatype_device1 ,p_dongle_g24_bind_ackpayload_prep 
-027e c07f826c beq datatype_attemp ,p_dongle_g24_bind_ackpayload_prep 
-027f 7008f900 jam 0 ,mem_usb_tx_win_enable 
-0280 70458801 jam 0x01 ,mem_24g_datalen 
-0281 6fe0c621 fetch 1 ,mem_24g_led_status 
+027d 6fe0c699 fetch 1 ,mem_24g_rxbuf_new + 2 
+027e c000826d beq datatype_device1 ,p_dongle_g24_bind_ackpayload_prep 
+027f c07f826d beq datatype_attemp ,p_dongle_g24_bind_ackpayload_prep 
+0280 7008f900 jam 0 ,mem_usb_tx_win_enable 
+0281 70458801 jam 0x01 ,mem_24g_datalen 
+0282 6fe0c621 fetch 1 ,mem_24g_led_status 
 
 p_dongle_g24_txbuf_store:
-0282 67e0c6dd store 1 ,mem_24g_txbuf_new 
-0283 20600000 rtn 
+0283 67e0c6dd store 1 ,mem_24g_txbuf_new 
+0284 20600000 rtn 
 
 p_dongle_g24_protocol_ackpayload_prep:
-0284 70461100 jam 0 ,mem_24g_ackpayload_enable 
-0285 6fe0ca53 fetch 1 ,mem_24g_device_type 
-0286 c0028289 beq ms_type ,p_dongle_g24_protocol_ms_ackpayload_prep 
-0287 c0050290 beq kb_type ,p_dongle_g24_protocol_kb_ackpayload_prep 
-0288 20600000 rtn 
+0285 70461100 jam 0 ,mem_24g_ackpayload_enable 
+0286 6fe0ca53 fetch 1 ,mem_24g_device_type 
+0287 c002828a beq ms_type ,p_dongle_g24_protocol_ms_ackpayload_prep 
+0288 c0050291 beq kb_type ,p_dongle_g24_protocol_kb_ackpayload_prep 
+0289 20600000 rtn 
 
 p_dongle_g24_protocol_ms_ackpayload_prep:
-0289 70458901 jam type_ms ,mem_24g_data_type 
-028a 6fe0ca55 fetch 1 ,mem_dg_ms_ep2_ack_data 
-028b 67e0c588 store 1 ,mem_24g_datalen 
-028c 1fe27200 copy pdata ,loopcnt 
-028d d8c04a56 arg mem_dg_ms_ep2_ack_data + 1 ,contr 
-028e d8a046dd arg mem_24g_txbuf_new ,contw 
-028f 20207cda branch memcpy 
+028a 70458901 jam type_ms ,mem_24g_data_type 
+028b 6fe0ca55 fetch 1 ,mem_dg_ms_ep2_ack_data 
+028c 67e0c588 store 1 ,mem_24g_datalen 
+028d 1fe27200 copy pdata ,loopcnt 
+028e d8c04a56 arg mem_dg_ms_ep2_ack_data + 1 ,contr 
+028f d8a046dd arg mem_24g_txbuf_new ,contw 
+0290 20207cda branch memcpy 
 
 p_dongle_g24_protocol_kb_ackpayload_prep:
-0290 70458902 jam type_kb ,mem_24g_data_type 
-0291 6fe0ca99 fetch 1 ,mem_dg_kb_ep2_ack_data + 2 
-0292 1fe0fe03 increase 3 ,pdata 
-0293 67e0c588 store 1 ,mem_24g_datalen 
-0294 1fe27200 copy pdata ,loopcnt 
-0295 d8c04a97 arg mem_dg_kb_ep2_ack_data ,contr 
-0296 d8a046dd arg mem_24g_txbuf_new ,contw 
-0297 20207cda branch memcpy 
+0291 70458902 jam type_kb ,mem_24g_data_type 
+0292 6fe0ca99 fetch 1 ,mem_dg_kb_ep2_ack_data + 2 
+0293 1fe0fe03 increase 3 ,pdata 
+0294 67e0c588 store 1 ,mem_24g_datalen 
+0295 1fe27200 copy pdata ,loopcnt 
+0296 d8c04a97 arg mem_dg_kb_ep2_ack_data ,contr 
+0297 d8a046dd arg mem_24g_txbuf_new ,contw 
+0298 20207cda branch memcpy 
 
 p_dongle_pc_sleep_ackpayload_prep_mouse:
-0298 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
-0299 793ffe00 set0 0 ,pdata 
-029a 67e0c693 store 1 ,mem_dg_pc_sleep_flag 
-029b 2020029f branch p_dongle_pc_sleep_ackpayload_prep 
+0299 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+029a 793ffe00 set0 0 ,pdata 
+029b 67e0c693 store 1 ,mem_dg_pc_sleep_flag 
+029c 202002a0 branch p_dongle_pc_sleep_ackpayload_prep 
 
 p_dongle_pc_sleep_ackpayload_prep_keyboard:
-029c 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
-029d 793ffe01 set0 1 ,pdata 
-029e 67e0c693 store 1 ,mem_dg_pc_sleep_flag 
+029d 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+029e 793ffe01 set0 1 ,pdata 
+029f 67e0c693 store 1 ,mem_dg_pc_sleep_flag 
 
 p_dongle_pc_sleep_ackpayload_prep:
-029f 70458801 jam 0x01 ,mem_24g_datalen 
-02a0 580000ff setarg 0xff 
-02a1 20200282 branch p_dongle_g24_txbuf_store 
+02a0 70458801 jam 0x01 ,mem_24g_datalen 
+02a1 580000ff setarg 0xff 
+02a2 20200283 branch p_dongle_g24_txbuf_store 
 
 p_dongle_work_mode_auto:
-02a2 6fe0c616 fetch 1 ,mem_24g_work_mode 
-02a3 c1800000 rtnne dongle_work 
-02a4 204002b6 call p_g24_work_mode_start 
-02a5 20404827 call dongle_g24_blank_data_process 
-02a6 6fe0c610 fetch 1 ,mem_24g_pair_mode 
-02a7 247a0000 nrtn blank 
-02a8 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
-02a9 c1800000 rtnne 0 
-02aa 6fe0c614 fetch 1 ,mem_24g_nodata_timer_enable 
-02ab 207a0000 rtn blank 
-02ac d8e00008 arg g24_timer_nodata ,queue 
-02ad 20407cef call timer_check 
-02ae 247a0000 nrtn blank 
-02af 2040351b call g24_ch_process + 3 
-02b0 20203511 branch g24_nodata_timer_over 
+02a3 6fe0c616 fetch 1 ,mem_24g_work_mode 
+02a4 c1800000 rtnne dongle_work 
+02a5 204002b7 call p_g24_work_mode_start 
+02a6 20404827 call dongle_g24_blank_data_process 
+02a7 6fe0c610 fetch 1 ,mem_24g_pair_mode 
+02a8 247a0000 nrtn blank 
+02a9 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
+02aa c1800000 rtnne 0 
+02ab 6fe0c614 fetch 1 ,mem_24g_nodata_timer_enable 
+02ac 207a0000 rtn blank 
+02ad d8e00008 arg g24_timer_nodata ,queue 
+02ae 20407cef call timer_check 
+02af 247a0000 nrtn blank 
+02b0 2040351b call g24_ch_process + 3 
+02b1 20203511 branch g24_nodata_timer_over 
 
 p_g24_ch_process:
-02b1 6fe0c60a fetch 1 ,mem_24g_abort_packet 
-02b2 c000b5ea beq 1 ,rssi_noise_monitor 
-02b3 6fe0c612 fetch 1 ,mem_24g_hop_packet 
-02b4 c000b52c beq 1 ,g24_ch_receive_hop_pac 
-02b5 20600000 rtn 
+02b2 6fe0c60a fetch 1 ,mem_24g_abort_packet 
+02b3 c000b5ea beq 1 ,rssi_noise_monitor 
+02b4 6fe0c612 fetch 1 ,mem_24g_hop_packet 
+02b5 c000b52c beq 1 ,g24_ch_receive_hop_pac 
+02b6 20600000 rtn 
 
 p_g24_work_mode_start:
-02b6 6fe0c616 fetch 1 ,mem_24g_work_mode 
-02b7 c1800000 rtnne dongle_work 
-02b8 20403451 call g24_work_init 
-02b9 204002b1 call p_g24_ch_process 
+02b7 6fe0c616 fetch 1 ,mem_24g_work_mode 
+02b8 c1800000 rtnne dongle_work 
+02b9 20403451 call g24_work_init 
+02ba 204002b2 call p_g24_ch_process 
 
 p_g24_receive_packet_start:
-02ba 204002f2 call p_g24_receive_transmit_ack 
-02bb 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+02bb 204002f3 call p_g24_receive_transmit_ack 
+02bc 2437b3be nbranch g24_rx_interrupt_clear ,user3 
 
 p_g24_receive_packet_parse:
-02bc 204033e3 call g24_receive_packet_parse_pid_crc 
-02bd 243433be nbranch g24_rx_interrupt_clear ,user 
-02be 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-02bf 203a33be branch g24_rx_interrupt_clear ,blank 
-02c0 1fe0fe02 increase 2 ,pdata 
-02c1 98007200 iforce loopcnt 
-02c2 d8c04697 arg mem_24g_rxbuf_new ,contr 
-02c3 d8a047af arg mem_24g_rxdata_temp_new ,contw 
-02c4 20407cda call memcpy 
-02c5 70461300 jam 0 ,mem_24g_mode_switch 
-02c6 6fe0c610 fetch 1 ,mem_24g_pair_mode 
-02c7 205a02ce call p_g24_enable_nodata_timer ,blank 
+02bd 204033e3 call g24_receive_packet_parse_pid_crc 
+02be 243433be nbranch g24_rx_interrupt_clear ,user 
+02bf 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+02c0 203a33be branch g24_rx_interrupt_clear ,blank 
+02c1 1fe0fe02 increase 2 ,pdata 
+02c2 98007200 iforce loopcnt 
+02c3 d8c04697 arg mem_24g_rxbuf_new ,contr 
+02c4 d8a047af arg mem_24g_rxdata_temp_new ,contw 
+02c5 20407cda call memcpy 
+02c6 70461300 jam 0 ,mem_24g_mode_switch 
+02c7 6fe0c610 fetch 1 ,mem_24g_pair_mode 
+02c8 205a02cf call p_g24_enable_nodata_timer ,blank 
 
 p_g24_receive_packet_parse_end:
-02c8 6fe0c7b1 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-02c9 c07f82ec beq datatype_attemp ,p_g24_data_receive_attemp 
-02ca 1fe17e03 and pdata ,0x03 ,pdata 
-02cb c00082d4 beq datatype_device1 ,p_g24_data_device1 
-02cc c00102e6 beq datatype_device2 ,p_g24_data_device2 
-02cd 202033be branch g24_rx_interrupt_clear 
+02c9 6fe0c7b1 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+02ca c07f82ed beq datatype_attemp ,p_g24_data_receive_attemp 
+02cb 1fe17e03 and pdata ,0x03 ,pdata 
+02cc c00082d5 beq datatype_device1 ,p_g24_data_device1 
+02cd c00102e7 beq datatype_device2 ,p_g24_data_device2 
+02ce 202033be branch g24_rx_interrupt_clear 
 
 p_g24_enable_nodata_timer:
-02ce 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
-02cf 203a33fe branch g24_enable_nodata_timer ,blank 
-02d0 70461401 jam 1 ,mem_24g_nodata_timer_enable 
-02d1 58000640 setarg 1600 
-02d2 d8e00008 arg g24_timer_nodata ,queue 
-02d3 20207ce1 branch timer_init 
+02cf 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
+02d0 203a33fe branch g24_enable_nodata_timer ,blank 
+02d1 70461401 jam 1 ,mem_24g_nodata_timer_enable 
+02d2 58000640 setarg 1600 
+02d3 d8e00008 arg g24_timer_nodata ,queue 
+02d4 20207ce1 branch timer_init 
 
 p_g24_data_device1:
-02d4 2040338d call g24_binding_dvc1_living 
-02d5 2040352e call g24_ch_timer_reinit 
-02d6 6fe0c60a fetch 1 ,mem_24g_abort_packet 
-02d7 6848c7af fetcht 1 ,mem_24g_rxdata_temp_new 
-02d8 284ffe03 isolate1 bit_abort ,temp 
-02d9 7920fe00 setflag true ,0 ,pdata 
-02da 67e0c60a store 1 ,mem_24g_abort_packet 
-02db c00082df beq 1 ,p_g24_data_attemp_device1_abort 
-02dc 6fe0c612 fetch 1 ,mem_24g_hop_packet 
-02dd 6848c7af fetcht 1 ,mem_24g_rxdata_temp_new 
-02de 202033ce branch g24_data_device1_next 
+02d5 2040338d call g24_binding_dvc1_living 
+02d6 2040352e call g24_ch_timer_reinit 
+02d7 6fe0c60a fetch 1 ,mem_24g_abort_packet 
+02d8 6848c7af fetcht 1 ,mem_24g_rxdata_temp_new 
+02d9 284ffe03 isolate1 bit_abort ,temp 
+02da 7920fe00 setflag true ,0 ,pdata 
+02db 67e0c60a store 1 ,mem_24g_abort_packet 
+02dc c00082e0 beq 1 ,p_g24_data_attemp_device1_abort 
+02dd 6fe0c612 fetch 1 ,mem_24g_hop_packet 
+02de 6848c7af fetcht 1 ,mem_24g_rxdata_temp_new 
+02df 202033ce branch g24_data_device1_next 
 
 p_g24_data_attemp_device1_abort:
-02df 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-02e0 247a0000 nrtn blank 
-02e1 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-02e2 6fe247b9 fetch 4 ,mem_24g_rxdata_temp_new + 10 
-02e3 202035a3 branch g24_store_device1_addr 
+02e0 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+02e1 247a0000 nrtn blank 
+02e2 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+02e3 6fe247b9 fetch 4 ,mem_24g_rxdata_temp_new + 10 
+02e4 202035a3 branch g24_store_device1_addr 
 
 p_g24_data_attemp_device2_abort:
-02e4 6fe247b9 fetch 4 ,mem_24g_rxdata_temp_new + 10 
-02e5 202035a9 branch g24_store_device2_addr 
+02e5 6fe247b9 fetch 4 ,mem_24g_rxdata_temp_new + 10 
+02e6 202035a9 branch g24_store_device2_addr 
 
 p_g24_data_device2:
-02e6 20403393 call g24_binding_dvc2_living 
-02e7 6848c7af fetcht 1 ,mem_24g_rxdata_temp_new 
-02e8 284ffe03 isolate1 bit_abort ,temp 
-02e9 202082e4 branch p_g24_data_attemp_device2_abort ,true 
-02ea 6fe145e6 fetch 2 ,mem_cb_24g_data_device2 
-02eb 20207d79 branch callback_func 
+02e7 20403393 call g24_binding_dvc2_living 
+02e8 6848c7af fetcht 1 ,mem_24g_rxdata_temp_new 
+02e9 284ffe03 isolate1 bit_abort ,temp 
+02ea 202082e5 branch p_g24_data_attemp_device2_abort ,true 
+02eb 6fe145e6 fetch 2 ,mem_cb_24g_data_device2 
+02ec 20207d79 branch callback_func 
 
 p_g24_data_receive_attemp:
-02ec 204002f0 call p_g24_bind_device_status 
-02ed 202001fe branch p_g24_data_attemp 
+02ed 204002f1 call p_g24_bind_device_status 
+02ee 202001fe branch p_g24_data_attemp 
 
 p_g24_bind_device_status_check:
-02ee 6fe0c5d5 fetch 1 ,mem_24g_bind_device_status 
-02ef 207a0000 rtn blank 
+02ef 6fe0c5d5 fetch 1 ,mem_24g_bind_device_status 
+02f0 207a0000 rtn blank 
 
 p_g24_bind_device_status:
-02f0 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-02f1 2020339c branch g24_bind_device_status + 1 
+02f1 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+02f2 2020339c branch g24_bind_device_status + 1 
 
 p_g24_receive_transmit_ack:
-02f2 204033be call g24_rx_interrupt_clear 
-02f3 20403119 call g24_receive_packet 
-02f4 24778000 nrtn user3 
+02f3 204033be call g24_rx_interrupt_clear 
+02f4 20403119 call g24_receive_packet 
+02f5 24778000 nrtn user3 
 
 p_g24_transmit_ack:
-02f5 6fe0c697 fetch 1 ,mem_24g_rxbuf_new 
-02f6 1fe97e00 rshift3 pdata ,pdata 
-02f7 67e0c589 store 1 ,mem_24g_data_type 
-02f8 2040031d call p_g24_read_len_pid_crc 
-02f9 6fe0c7f5 fetch 1 ,mem_24g_rxdata_ack_flag 
-02fa 2feffe00 isolate1 bit_ack_24g ,pdata 
-02fb 2020b3fd branch g24tx_no_ack ,true 
-02fc 202033fa branch g24tx_with_ack 
+02f6 6fe0c697 fetch 1 ,mem_24g_rxbuf_new 
+02f7 1fe97e00 rshift3 pdata ,pdata 
+02f8 67e0c589 store 1 ,mem_24g_data_type 
+02f9 2040031e call p_g24_read_len_pid_crc 
+02fa 6fe0c7f5 fetch 1 ,mem_24g_rxdata_ack_flag 
+02fb 2feffe00 isolate1 bit_ack_24g ,pdata 
+02fc 2020b3fd branch g24tx_no_ack ,true 
+02fd 202033fa branch g24tx_with_ack 
 
 p_g24_bind_data_process:
-02fd 204033be call g24_rx_interrupt_clear 
-02fe 20403119 call g24_receive_packet 
-02ff 2437b3be nbranch g24_rx_interrupt_clear ,user3 
-0300 20400309 call p_g24_bind_data_parse 
-0301 204002f5 call p_g24_transmit_ack 
-0302 204002ee call p_g24_bind_device_status_check 
-0303 2040493d call dongle_kb_bind_soft_reset 
-0304 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-0305 207a0000 rtn blank 
-0306 6fe2462c fetch 4 ,mem_24g_transmitter_addr 
-0307 207a0000 rtn blank 
-0308 20203236 branch g24_update_addr_and_synccrc8 
+02fe 204033be call g24_rx_interrupt_clear 
+02ff 20403119 call g24_receive_packet 
+0300 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+0301 2040030a call p_g24_bind_data_parse 
+0302 204002f6 call p_g24_transmit_ack 
+0303 204002ef call p_g24_bind_device_status_check 
+0304 2040493d call dongle_kb_bind_soft_reset 
+0305 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+0306 207a0000 rtn blank 
+0307 6fe2462c fetch 4 ,mem_24g_transmitter_addr 
+0308 207a0000 rtn blank 
+0309 20203236 branch g24_update_addr_and_synccrc8 
 
 p_g24_bind_data_parse:
-0309 70462205 jam bind_mode_continue ,mem_24g_bind_mode_continue 
-030a d8c04697 arg mem_24g_rxbuf_new ,contr 
-030b d8a047af arg mem_24g_rxdata_temp_new ,contw 
-030c 20407c89 call memcpy8 
-030d 20203322 branch g24_bind_data_parse_next 
+030a 70462205 jam bind_mode_continue ,mem_24g_bind_mode_continue 
+030b d8c04697 arg mem_24g_rxbuf_new ,contr 
+030c d8a047af arg mem_24g_rxdata_temp_new ,contw 
+030d 20407c89 call memcpy8 
+030e 20203322 branch g24_bind_data_parse_next 
 
 p_g24_receive_update_rxbuff:
-030e 2040317d call g24_receive_byte 
-030f 67e0c697 store 1 ,mem_24g_rxbuf_new 
-0310 c5138316 bmark1 mark_24g_rxmode ,p_g24_receive_skip 
-0311 6fe0c697 fetch 1 ,mem_24g_rxbuf_new 
-0312 1fe97e00 rshift3 pdata ,pdata 
-0313 6848c589 fetcht 1 ,mem_24g_data_type 
-0314 a8400e00 icompare bits_data ,temp 
-0315 2420b18c nbranch g24_type_error ,true 
+030f 2040317d call g24_receive_byte 
+0310 67e0c697 store 1 ,mem_24g_rxbuf_new 
+0311 c5138317 bmark1 mark_24g_rxmode ,p_g24_receive_skip 
+0312 6fe0c697 fetch 1 ,mem_24g_rxbuf_new 
+0313 1fe97e00 rshift3 pdata ,pdata 
+0314 6848c589 fetcht 1 ,mem_24g_data_type 
+0315 a8400e00 icompare bits_data ,temp 
+0316 2420b18c nbranch g24_type_error ,true 
 
 p_g24_receive_skip:
-0316 2040317d call g24_receive_byte 
-0317 e7e08005 istore 1 ,contw 
-0318 1fe67c44 sub pdata ,68 ,null 
-0319 2421318e nbranch g24_len_over_error ,positive 
-031a 1fe27200 copy pdata ,loopcnt 
-031b 2022b154 branch g24rx_nopayload ,zero 
-031c 20203151 branch g24rx_loop 
+0317 2040317d call g24_receive_byte 
+0318 e7e08005 istore 1 ,contw 
+0319 1fe67c44 sub pdata ,68 ,null 
+031a 2421318e nbranch g24_len_over_error ,positive 
+031b 1fe27200 copy pdata ,loopcnt 
+031c 2022b154 branch g24rx_nopayload ,zero 
+031d 20203151 branch g24rx_loop 
 
 p_g24_read_len_pid_crc:
-031d 6fe0c698 fetch 1 ,mem_24g_rxbuf_new + 1 
-031e 67e0c57d store 1 ,mem_24g_rxdata_length 
-031f 1fe0fe01 increase 1 ,pdata 
-0320 d8c04698 arg mem_24g_rxbuf_new + 1 ,contr 
-0321 98c08c00 iadd contr ,contr 
-0322 efe18006 ifetch 3 ,contr 
-0323 67e1c580 store 3 ,mem_24g_sta_crc 
-0324 6fe0c697 fetch 1 ,mem_24g_rxbuf_new 
-0325 1fe10401 and pdata ,0x01 ,temp 
-0326 6048c7f5 storet 1 ,mem_24g_rxdata_ack_flag 
-0327 1fe30400 rshift pdata ,temp 
-0328 18410403 and temp ,0x03 ,temp 
-0329 6048c586 storet 1 ,mem_24g_sta_pid 
-032a 1fe97e00 rshift3 pdata ,pdata 
-032b 67e0c697 store 1 ,mem_24g_rxbuf_new 
-032c 20600000 rtn 
+031e 6fe0c698 fetch 1 ,mem_24g_rxbuf_new + 1 
+031f 67e0c57d store 1 ,mem_24g_rxdata_length 
+0320 1fe0fe01 increase 1 ,pdata 
+0321 d8c04698 arg mem_24g_rxbuf_new + 1 ,contr 
+0322 98c08c00 iadd contr ,contr 
+0323 efe18006 ifetch 3 ,contr 
+0324 67e1c580 store 3 ,mem_24g_sta_crc 
+0325 6fe0c697 fetch 1 ,mem_24g_rxbuf_new 
+0326 1fe10401 and pdata ,0x01 ,temp 
+0327 6048c7f5 storet 1 ,mem_24g_rxdata_ack_flag 
+0328 1fe30400 rshift pdata ,temp 
+0329 18410403 and temp ,0x03 ,temp 
+032a 6048c586 storet 1 ,mem_24g_sta_pid 
+032b 1fe97e00 rshift3 pdata ,pdata 
+032c 67e0c697 store 1 ,mem_24g_rxbuf_new 
+032d 20600000 rtn 
 
 p_g24_rx_interrupt_clear:
-032d d8a04697 arg mem_24g_rxbuf_new ,contw 
-032e df200046 arg 70 ,loopcnt 
-032f 20207ca1 branch clear_mem 
+032e d8a04697 arg mem_24g_rxbuf_new ,contw 
+032f df200046 arg 70 ,loopcnt 
+0330 20207ca1 branch clear_mem 
 
 p_g24_search_mode_auto:
-0330 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0331 c1838000 rtnne dongle_search 
-0332 20403476 call g24_search_mode_init 
-0333 204034ae call g24_auto_addr_ch_search 
-0334 204002f2 call p_g24_receive_transmit_ack 
-0335 2437b3be nbranch g24_rx_interrupt_clear ,user3 
-0336 20403506 call g24_receiver_addr_check 
-0337 204282bc call p_g24_receive_packet_parse ,zero 
-0338 20203491 branch g24_search_mode_auto + 9 
+0331 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0332 c1838000 rtnne dongle_search 
+0333 20403476 call g24_search_mode_init 
+0334 204034ae call g24_auto_addr_ch_search 
+0335 204002f3 call p_g24_receive_transmit_ack 
+0336 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+0337 20403506 call g24_receiver_addr_check 
+0338 204282bd call p_g24_receive_packet_parse ,zero 
+0339 20203491 branch g24_search_mode_auto + 9 
 
 p_g24_ackpayload_parse:
-0339 20403214 call g24_read_len_pid_crc 
-033a 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-033b 207a0000 rtn blank 
-033c 98007200 iforce loopcnt 
-033d d8c04699 arg mem_24g_rxbuf_new + 2 ,contr 
-033e d8a04769 arg mem_24g_rxpayload_new ,contw 
-033f 20207cda branch memcpy 
+033a 20403214 call g24_read_len_pid_crc 
+033b 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+033c 207a0000 rtn blank 
+033d 98007200 iforce loopcnt 
+033e d8c04699 arg mem_24g_rxbuf_new + 2 ,contr 
+033f d8a04769 arg mem_24g_rxpayload_new ,contw 
+0340 20207cda branch memcpy 
 
 p_g24_transmit_prep:
-0340 6fe0c588 fetch 1 ,mem_24g_datalen 
-0341 1fe0fe03 increase 3 ,pdata 
-0342 67e0c58a store 1 ,mem_24g_txlen 
-0343 6fe0c5ac fetch 1 ,mem_24g_syncword_crc8 
-0344 67e0c723 store 1 ,mem_24g_txpayload_new 
-0345 6fe0c589 fetch 1 ,mem_24g_data_type 
-0346 1fe9fe00 lshift3 pdata ,pdata 
-0347 6848c57e fetcht 1 ,mem_24g_pid 
-0348 18410403 and temp ,0x03 ,temp 
-0349 18438400 lshift temp ,temp 
-034a 9841fe00 ior temp ,pdata 
-034b 6848c57f fetcht 1 ,mem_24g_no_ack 
-034c 9840fe00 iadd temp ,pdata 
-034d e7e08005 istore 1 ,contw 
-034e 6fe0c588 fetch 1 ,mem_24g_datalen 
-034f e7e08005 istore 1 ,contw 
-0350 6fe0c588 fetch 1 ,mem_24g_datalen 
-0351 98007200 iforce loopcnt 
-0352 d8c046dd arg mem_24g_txbuf_new ,contr 
-0353 20407cda call memcpy 
-0354 202031fc branch g24_transmit_prep_pdu_end 
+0341 6fe0c588 fetch 1 ,mem_24g_datalen 
+0342 1fe0fe03 increase 3 ,pdata 
+0343 67e0c58a store 1 ,mem_24g_txlen 
+0344 6fe0c5ac fetch 1 ,mem_24g_syncword_crc8 
+0345 67e0c723 store 1 ,mem_24g_txpayload_new 
+0346 6fe0c589 fetch 1 ,mem_24g_data_type 
+0347 1fe9fe00 lshift3 pdata ,pdata 
+0348 6848c57e fetcht 1 ,mem_24g_pid 
+0349 18410403 and temp ,0x03 ,temp 
+034a 18438400 lshift temp ,temp 
+034b 9841fe00 ior temp ,pdata 
+034c 6848c57f fetcht 1 ,mem_24g_no_ack 
+034d 9840fe00 iadd temp ,pdata 
+034e e7e08005 istore 1 ,contw 
+034f 6fe0c588 fetch 1 ,mem_24g_datalen 
+0350 e7e08005 istore 1 ,contw 
+0351 6fe0c588 fetch 1 ,mem_24g_datalen 
+0352 98007200 iforce loopcnt 
+0353 d8c046dd arg mem_24g_txbuf_new ,contr 
+0354 20407cda call memcpy 
+0355 202031fc branch g24_transmit_prep_pdu_end 
 
 p_g24_transmit_packet:
-0355 c517835a bmark1 mark_ble_lr ,p_g24_transmit_nolr 
-0356 6fe0c5ca fetch 1 ,mem_24g_disable_fec1 
-0357 243a035a nbranch p_g24_transmit_nolr ,blank 
-0358 784efc00 disable encode_fec0 
-0359 782dfc00 enable encode_fec1 
+0356 c517835b bmark1 mark_ble_lr ,p_g24_transmit_nolr 
+0357 6fe0c5ca fetch 1 ,mem_24g_disable_fec1 
+0358 243a035b nbranch p_g24_transmit_nolr ,blank 
+0359 784efc00 disable encode_fec0 
+035a 782dfc00 enable encode_fec1 
 
 p_g24_transmit_nolr:
-035a 7823fc00 enable enable_white 
-035b 7824fc00 enable enable_crc 
-035c 6fe0c58a fetch 1 ,mem_24g_txlen 
-035d 98007200 iforce loopcnt 
-035e d8c04723 arg mem_24g_txpayload_new ,contr 
-035f 202031b3 branch g24tr_loop 
+035b 7823fc00 enable enable_white 
+035c 7824fc00 enable enable_crc 
+035d 6fe0c58a fetch 1 ,mem_24g_txlen 
+035e 98007200 iforce loopcnt 
+035f d8c04723 arg mem_24g_txpayload_new ,contr 
+0360 202031b3 branch g24tr_loop 
 
 p_dongle_dispatch:
 
 p_dongle_auto_bind:
-0360 20403402 call g24_mode_switch_init 
+0361 20403402 call g24_mode_switch_init 
 
 p_dongle_auto_bind_loop:
-0361 20403407 call g24_mode_switch_bind_work 
-0362 2040342d call g24_mode_switch_bind_search 
-0363 204048a3 call dongle_work_mode_auto 
-0364 20403469 call g24_bind_mode_auto 
-0365 20403488 call g24_search_mode_auto 
-0366 20404867 call dongle_usb_dispatch 
-0367 2040036a call p_dongle_keyboard_heart_tick_timer 
-0368 20400376 call p_dongle_mouse_heart_tick_timer 
-0369 20200361 branch p_dongle_auto_bind_loop 
+0362 20403407 call g24_mode_switch_bind_work 
+0363 2040342d call g24_mode_switch_bind_search 
+0364 204048a3 call dongle_work_mode_auto 
+0365 20403469 call g24_bind_mode_auto 
+0366 20403488 call g24_search_mode_auto 
+0367 20404867 call dongle_usb_dispatch 
+0368 2040036b call p_dongle_keyboard_heart_tick_timer 
+0369 20400377 call p_dongle_mouse_heart_tick_timer 
+036a 20200362 branch p_dongle_auto_bind_loop 
 
 p_dongle_keyboard_heart_tick_timer:
-036a d840fffe arg 0xfffe ,temp 
-036b 6fe147f8 fetch 2 ,mem_dg_keyboard_heart_tick_timer 
-036c 98467c00 isub temp ,null 
-036d 20610000 rtn positive 
-036e 1fe0fe01 increase 1 ,pdata 
-036f 67e147f8 store 2 ,mem_dg_keyboard_heart_tick_timer 
-0370 d8400000 arg 0 ,temp 
-0371 da6005dc arg 1500 ,regc 
-0372 9a667c00 isub regc ,null 
-0373 79210400 setflag positive ,0 ,temp 
-0374 6048c7fc storet 1 ,mem_dg_keyboard_connected_status 
-0375 20600000 rtn 
+036b d840fffe arg 0xfffe ,temp 
+036c 6fe147f8 fetch 2 ,mem_dg_keyboard_heart_tick_timer 
+036d 98467c00 isub temp ,null 
+036e 20610000 rtn positive 
+036f 1fe0fe01 increase 1 ,pdata 
+0370 67e147f8 store 2 ,mem_dg_keyboard_heart_tick_timer 
+0371 d8400000 arg 0 ,temp 
+0372 da6005dc arg 1500 ,regc 
+0373 9a667c00 isub regc ,null 
+0374 79210400 setflag positive ,0 ,temp 
+0375 6048c7fc storet 1 ,mem_dg_keyboard_connected_status 
+0376 20600000 rtn 
 
 p_dongle_mouse_heart_tick_timer:
-0376 d840fffe arg 0xfffe ,temp 
-0377 6fe147fa fetch 2 ,mem_dg_mouse_heart_tick_timer 
-0378 98467c00 isub temp ,null 
-0379 20610000 rtn positive 
-037a 1fe0fe01 increase 1 ,pdata 
-037b 67e147fa store 2 ,mem_dg_mouse_heart_tick_timer 
-037c d8400000 arg 0 ,temp 
-037d da6005dc arg 1500 ,regc 
-037e 9a667c00 isub regc ,null 
-037f 79210400 setflag positive ,0 ,temp 
-0380 6048c7fd storet 1 ,mem_dg_mouse_connected_status 
-0381 20600000 rtn 
+0377 d840fffe arg 0xfffe ,temp 
+0378 6fe147fa fetch 2 ,mem_dg_mouse_heart_tick_timer 
+0379 98467c00 isub temp ,null 
+037a 20610000 rtn positive 
+037b 1fe0fe01 increase 1 ,pdata 
+037c 67e147fa store 2 ,mem_dg_mouse_heart_tick_timer 
+037d d8400000 arg 0 ,temp 
+037e da6005dc arg 1500 ,regc 
+037f 9a667c00 isub regc ,null 
+0380 79210400 setflag positive ,0 ,temp 
+0381 6048c7fd storet 1 ,mem_dg_mouse_connected_status 
+0382 20600000 rtn 
 
 p_dongle_usb_dispatch_analysis:
-0382 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
-0383 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
-0384 20407906 call usb_isr 
-0385 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
-0386 207a0000 rtn blank 
-0387 7008f700 jam 0 ,mem_usb0_get_set_report 
-0388 6fe08875 fetch 1 ,mem_usb0_set_report_data 
-0389 c07b83ae beq cmd_check_status ,p_dongle_dispose_cmd_check_status 
-038a c07b03bc beq cmd_set ,p_dongle_dispose_cmd_set 
-038b c07a839c beq cmd_set_dpi ,p_dongle_dispose_ms_cmd_set_dpi 
-038c c07983ac beq cmd_get_dpi ,p_dongle_dispose_cmd_get_dpi 
-038d c07a03a6 beq cmd_set_report ,p_dongle_dispose_ms_cmd_set_report 
-038e c07e03bf beq cmd_get_in_data ,p_dongle_dispose_cmd_get_in_data 
-038f c07f03c7 beq cmd_get_translen ,p_dongle_dispose_cmd_get_translen 
-0390 c03d03cd beq cmd_set_test ,p_dongle_dispose_cmd_set_test 
-0391 c05003d4 beq cmd_set_key_matrix ,p_dongle_dispose_cmd_set_key_matrix 
-0392 c05083ea beq cmd_get_key_matrix ,p_dongle_dispose_cmd_get_key_matrix 
-0393 20204875 branch dongle_usb_dispatch_next 
+0383 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
+0384 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
+0385 20407906 call usb_isr 
+0386 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
+0387 207a0000 rtn blank 
+0388 7008f700 jam 0 ,mem_usb0_get_set_report 
+0389 6fe08875 fetch 1 ,mem_usb0_set_report_data 
+038a c07b83b9 beq cmd_check_status ,p_dongle_dispose_cmd_check_status 
+038b c07b03c7 beq cmd_set ,p_dongle_dispose_cmd_set 
+038c c07a839e beq cmd_set_dpi ,p_dongle_dispose_ms_cmd_set_dpi 
+038d c07983b7 beq cmd_get_dpi ,p_dongle_dispose_cmd_get_dpi 
+038e c07a03a8 beq cmd_set_report ,p_dongle_dispose_ms_cmd_set_report 
+038f c07903ae beq cmd_set_sleep_timer ,p_dongle_dispose_set_sleep_timer 
+0390 c07e03ca beq cmd_get_in_data ,p_dongle_dispose_cmd_get_in_data 
+0391 c07f03d2 beq cmd_get_translen ,p_dongle_dispose_cmd_get_translen 
+0392 c03d03d8 beq cmd_set_test ,p_dongle_dispose_cmd_set_test 
+0393 c05003df beq cmd_set_key_matrix ,p_dongle_dispose_cmd_set_key_matrix 
+0394 c05083f5 beq cmd_get_key_matrix ,p_dongle_dispose_cmd_get_key_matrix 
+0395 20204875 branch dongle_usb_dispatch_next 
 
 p_dongle_ms_ep2_ack_data_clr:
-0394 df200041 arg 65 ,loopcnt 
-0395 d8a04a55 arg mem_dg_ms_ep2_ack_data ,contw 
-0396 20207ca1 branch clear_mem 
+0396 df200041 arg 65 ,loopcnt 
+0397 d8a04a55 arg mem_dg_ms_ep2_ack_data ,contw 
+0398 20207ca1 branch clear_mem 
 
 p_dongle_ms_ep2_ack_data_copy:
-0397 704a5401 jam 1 ,mem_dg_ms_ep2_ack_data_flag 
-0398 70461108 jam protocol_ackpayload ,mem_24g_ackpayload_enable 
-0399 d8c00875 arg mem_usb0_set_report_data ,contr 
-039a d8a04a56 arg mem_dg_ms_ep2_ack_data + 1 ,contw 
-039b 20207cda branch memcpy 
+0399 704a5401 jam 1 ,mem_dg_ms_ep2_ack_data_flag 
+039a 70461108 jam protocol_ackpayload ,mem_24g_ackpayload_enable 
+039b d8c00875 arg mem_usb0_set_report_data ,contr 
+039c d8a04a56 arg mem_dg_ms_ep2_ack_data + 1 ,contw 
+039d 20207cda branch memcpy 
 
 p_dongle_dispose_ms_cmd_set_dpi:
-039c 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
-039d c1828000 rtnne ms_type 
-039e 20400394 call p_dongle_ms_ep2_ack_data_clr 
-039f 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
-03a0 67e0ca53 store 1 ,mem_24g_device_type 
-03a1 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
-03a2 67e0c94b store 1 ,mem_dg_mouse_dpi_level 
+039e 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
+039f c1828000 rtnne ms_type 
+03a0 20400396 call p_dongle_ms_ep2_ack_data_clr 
+03a1 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
+03a2 67e0ca53 store 1 ,mem_24g_device_type 
+03a3 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
+03a4 67e0c94b store 1 ,mem_dg_mouse_dpi_level 
 
 p_dongle_ms_ack_data_copy:
-03a3 704a5504 jam 4 ,mem_dg_ms_ep2_ack_data 
-03a4 df200004 arg 4 ,loopcnt 
-03a5 20200397 branch p_dongle_ms_ep2_ack_data_copy 
+03a5 704a5504 jam 4 ,mem_dg_ms_ep2_ack_data 
+03a6 df200004 arg 4 ,loopcnt 
+03a7 20200399 branch p_dongle_ms_ep2_ack_data_copy 
 
 p_dongle_dispose_ms_cmd_set_report:
-03a6 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
-03a7 c1828000 rtnne ms_type 
-03a8 20400394 call p_dongle_ms_ep2_ack_data_clr 
-03a9 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
-03aa 67e0ca53 store 1 ,mem_24g_device_type 
-03ab 202003a3 branch p_dongle_ms_ack_data_copy 
+03a8 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
+03a9 c1828000 rtnne ms_type 
+03aa 20400396 call p_dongle_ms_ep2_ack_data_clr 
+03ab 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
+03ac 67e0ca53 store 1 ,mem_24g_device_type 
+03ad 202003a5 branch p_dongle_ms_ack_data_copy 
+
+p_dongle_dispose_set_sleep_timer:
+03ae 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
+03af c00283b2 beq ms_type ,p_dongle_dispose_ms_sleep_timer 
+03b0 c00503b5 beq kb_type ,p_dongle_dispose_kb_sleep_timer 
+03b1 20600000 rtn 
+
+p_dongle_dispose_ms_sleep_timer:
+03b2 20400396 call p_dongle_ms_ep2_ack_data_clr 
+03b3 704a5305 jam ms_type ,mem_24g_device_type 
+03b4 202003a5 branch p_dongle_ms_ack_data_copy 
+
+p_dongle_dispose_kb_sleep_timer:
+03b5 704a530a jam kb_type ,mem_24g_device_type 
+03b6 20600000 rtn 
 
 p_dongle_dispose_cmd_get_dpi:
-03ac 70495001 jam 1 ,mem_usb_dpi_info_data + 4 
-03ad 20200424 branch p_dongle_usb_tx_dpi_level_enable 
+03b7 70495001 jam 1 ,mem_usb_dpi_info_data + 4 
+03b8 2020042f branch p_dongle_usb_tx_dpi_level_enable 
 
 p_dongle_dispose_cmd_check_status:
-03ae 58000064 setarg 0x64 
-03af 67e0c9d1 store 1 ,mem_dg_protocol_usb_in_data_buff 
-03b0 58000064 setarg 0x64 
-03b1 67e0c9d2 store 1 ,mem_dg_protocol_usb_in_data_buff + 1 
-03b2 58000000 setarg 0x00 
-03b3 67e0c9d3 store 1 ,mem_dg_protocol_usb_in_data_buff + 2 
-03b4 58000000 setarg 0x00 
-03b5 67e0c9d4 store 1 ,mem_dg_protocol_usb_in_data_buff + 3 
-03b6 58000001 setarg 0x01 
-03b7 67e0c9d5 store 1 ,mem_dg_protocol_usb_in_data_buff + 4 
-03b8 6fe2458f fetch 4 ,mem_24g_addr 
-03b9 67e249d8 store 4 ,mem_dg_protocol_usb_in_data_buff + 7 
-03ba 70090c24 jam usb_ep2_protocol ,mem_usb_ep2_data 
-03bb 20200433 branch p_dongle_usb_tx_enable_ep2 
+03b9 58000064 setarg 0x64 
+03ba 67e0c9d1 store 1 ,mem_dg_protocol_usb_in_data_buff 
+03bb 58000064 setarg 0x64 
+03bc 67e0c9d2 store 1 ,mem_dg_protocol_usb_in_data_buff + 1 
+03bd 58000000 setarg 0x00 
+03be 67e0c9d3 store 1 ,mem_dg_protocol_usb_in_data_buff + 2 
+03bf 58000000 setarg 0x00 
+03c0 67e0c9d4 store 1 ,mem_dg_protocol_usb_in_data_buff + 3 
+03c1 58000001 setarg 0x01 
+03c2 67e0c9d5 store 1 ,mem_dg_protocol_usb_in_data_buff + 4 
+03c3 6fe2458f fetch 4 ,mem_24g_addr 
+03c4 67e249d8 store 4 ,mem_dg_protocol_usb_in_data_buff + 7 
+03c5 70090c24 jam usb_ep2_protocol ,mem_usb_ep2_data 
+03c6 2020043e branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_dispose_cmd_set:
-03bc 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
-03bd 67e0ca53 store 1 ,mem_24g_device_type 
-03be 20600000 rtn 
+03c7 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
+03c8 67e0ca53 store 1 ,mem_24g_device_type 
+03c9 20600000 rtn 
 
 p_dongle_dispose_cmd_get_in_data:
-03bf 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
-03c0 67e0ca53 store 1 ,mem_24g_device_type 
-03c1 df200040 arg 64 ,loopcnt 
-03c2 d8c008b5 arg mem_usb0_get_report_data ,contr 
-03c3 d8a049d1 arg mem_dg_protocol_usb_in_data_buff ,contw 
-03c4 20407ccc call memcpy_fast 
-03c5 70090c24 jam usb_ep2_protocol ,mem_usb_ep2_data 
-03c6 20200433 branch p_dongle_usb_tx_enable_ep2 
+03ca 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
+03cb 67e0ca53 store 1 ,mem_24g_device_type 
+03cc df200040 arg 64 ,loopcnt 
+03cd d8c008b5 arg mem_usb0_get_report_data ,contr 
+03ce d8a049d1 arg mem_dg_protocol_usb_in_data_buff ,contw 
+03cf 20407ccc call memcpy_fast 
+03d0 70090c24 jam usb_ep2_protocol ,mem_usb_ep2_data 
+03d1 2020043e branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_dispose_cmd_get_translen:
-03c7 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
-03c8 67e0ca12 store 1 ,mem_dg_protocol_usb_out_data_buff 
-03c9 1fe27200 copy pdata ,loopcnt 
-03ca d8c00877 arg mem_usb0_set_report_data + 2 ,contr 
-03cb d8a04a13 arg mem_dg_protocol_usb_out_data_buff + 1 ,contw 
-03cc 20207ccc branch memcpy_fast 
+03d2 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
+03d3 67e0ca12 store 1 ,mem_dg_protocol_usb_out_data_buff 
+03d4 1fe27200 copy pdata ,loopcnt 
+03d5 d8c00877 arg mem_usb0_set_report_data + 2 ,contr 
+03d6 d8a04a13 arg mem_dg_protocol_usb_out_data_buff + 1 ,contw 
+03d7 20207ccc branch memcpy_fast 
 
 p_dongle_dispose_cmd_set_test:
-03cd 70461602 jam dongle_test ,mem_24g_work_mode 
-03ce 70461500 jam clear_init ,mem_24g_mode_init 
-03cf 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
-03d0 67e0c7ff store 1 ,mem_dg_test_mode 
-03d1 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
-03d2 67e0c800 store 1 ,mem_dg_test_ch 
-03d3 20600000 rtn 
+03d8 70461602 jam dongle_test ,mem_24g_work_mode 
+03d9 70461500 jam clear_init ,mem_24g_mode_init 
+03da 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
+03db 67e0c7ff store 1 ,mem_dg_test_mode 
+03dc 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
+03dd 67e0c800 store 1 ,mem_dg_test_ch 
+03de 20600000 rtn 
 
 p_dongle_dispose_cmd_set_key_matrix:
-03d4 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
-03d5 67e0c98d store 1 ,mem_dg_keyboard_keymatrix_profile 
-03d6 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
-03d7 67e0c98e store 1 ,mem_dg_keyboard_keymatrix_type 
-03d8 6fe08878 fetch 1 ,mem_usb0_set_report_data + 3 
-03d9 67e0c98f store 1 ,mem_dg_keyboard_keymatrix_page 
-03da 6fe08879 fetch 1 ,mem_usb0_set_report_data + 4 
-03db 67e0c990 store 1 ,mem_dg_keyboard_keymatrix_len 
-03dc 1fe27200 copy pdata ,loopcnt 
-03dd d8c0087d arg mem_usb0_set_report_data + 8 ,contr 
-03de d8a04991 arg mem_dg_keyboard_keymatrix_setup_keyvalue ,contw 
-03df 20407ccc call memcpy_fast 
-03e0 704a530a jam kb_type ,mem_24g_device_type 
-03e1 704a9601 jam 1 ,mem_dg_kb_ep2_ack_data_flag 
-03e2 704a97a2 jam report_id_data_out ,mem_dg_kb_ep2_ack_data 
-03e3 704a980a jam kb_type ,mem_dg_kb_ep2_ack_data + 1 
-03e4 6fe0c990 fetch 1 ,mem_dg_keyboard_keymatrix_len 
-03e5 67e0ca99 store 1 ,mem_dg_kb_ep2_ack_data + 2 
-03e6 1fe27200 copy pdata ,loopcnt 
-03e7 d8c0087d arg mem_usb0_set_report_data + 8 ,contr 
-03e8 d8a04a9a arg mem_dg_kb_ep2_ack_data + 3 ,contw 
-03e9 20207cda branch memcpy 
+03df 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
+03e0 67e0c98d store 1 ,mem_dg_keyboard_keymatrix_profile 
+03e1 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
+03e2 67e0c98e store 1 ,mem_dg_keyboard_keymatrix_type 
+03e3 6fe08878 fetch 1 ,mem_usb0_set_report_data + 3 
+03e4 67e0c98f store 1 ,mem_dg_keyboard_keymatrix_page 
+03e5 6fe08879 fetch 1 ,mem_usb0_set_report_data + 4 
+03e6 67e0c990 store 1 ,mem_dg_keyboard_keymatrix_len 
+03e7 1fe27200 copy pdata ,loopcnt 
+03e8 d8c0087d arg mem_usb0_set_report_data + 8 ,contr 
+03e9 d8a04991 arg mem_dg_keyboard_keymatrix_setup_keyvalue ,contw 
+03ea 20407ccc call memcpy_fast 
+03eb 704a530a jam kb_type ,mem_24g_device_type 
+03ec 704a9601 jam 1 ,mem_dg_kb_ep2_ack_data_flag 
+03ed 704a97a2 jam report_id_data_out ,mem_dg_kb_ep2_ack_data 
+03ee 704a980a jam kb_type ,mem_dg_kb_ep2_ack_data + 1 
+03ef 6fe0c990 fetch 1 ,mem_dg_keyboard_keymatrix_len 
+03f0 67e0ca99 store 1 ,mem_dg_kb_ep2_ack_data + 2 
+03f1 1fe27200 copy pdata ,loopcnt 
+03f2 d8c0087d arg mem_usb0_set_report_data + 8 ,contr 
+03f3 d8a04a9a arg mem_dg_kb_ep2_ack_data + 3 ,contw 
+03f4 20207cda branch memcpy 
 
 p_dongle_dispose_cmd_get_key_matrix:
-03ea 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
-03eb 67e0c98d store 1 ,mem_dg_keyboard_keymatrix_profile 
-03ec 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
-03ed 67e0c98e store 1 ,mem_dg_keyboard_keymatrix_type 
-03ee 6fe08878 fetch 1 ,mem_usb0_set_report_data + 3 
-03ef 67e0c98f store 1 ,mem_dg_keyboard_keymatrix_page 
-03f0 df200040 arg 64 ,loopcnt 
-03f1 d8c04ad8 arg mem_dg_kb_keymatrix_buff ,contr 
-03f2 d8a049d1 arg mem_dg_protocol_usb_in_data_buff ,contw 
-03f3 20407ccc call memcpy_fast 
-03f4 70090c24 jam usb_ep2_protocol ,mem_usb_ep2_data 
-03f5 20200433 branch p_dongle_usb_tx_enable_ep2 
+03f5 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
+03f6 67e0c98d store 1 ,mem_dg_keyboard_keymatrix_profile 
+03f7 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
+03f8 67e0c98e store 1 ,mem_dg_keyboard_keymatrix_type 
+03f9 6fe08878 fetch 1 ,mem_usb0_set_report_data + 3 
+03fa 67e0c98f store 1 ,mem_dg_keyboard_keymatrix_page 
+03fb df200040 arg 64 ,loopcnt 
+03fc d8c04ad8 arg mem_dg_kb_keymatrix_buff ,contr 
+03fd d8a049d1 arg mem_dg_protocol_usb_in_data_buff ,contw 
+03fe 20407ccc call memcpy_fast 
+03ff 70090c24 jam usb_ep2_protocol ,mem_usb_ep2_data 
+0400 2020043e branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_g24_mouse:
-03f6 70461100 jam 0 ,mem_24g_ackpayload_enable 
-03f7 6fe0c7b1 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-03f8 c283041e bbit1 data_dpi ,p_dongle_receive_ms_dpi_info 
-03f9 c283842b bbit1 data_battery ,p_dongle_receive_ms_battery_info 
-03fa c282842e bbit1 data_heart ,p_dongle_receive_ms_heart_info 
+0401 70461100 jam 0 ,mem_24g_ackpayload_enable 
+0402 6fe0c7b1 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+0403 c2830429 bbit1 data_dpi ,p_dongle_receive_ms_dpi_info 
+0404 c2838436 bbit1 data_battery ,p_dongle_receive_ms_battery_info 
+0405 c2828439 bbit1 data_heart ,p_dongle_receive_ms_heart_info 
 
 p_dongle_g24_mouse_next:
-03fb 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-03fc 1fe67c09 sub pdata ,0x09 ,null 
-03fd 2022840b branch p_dongle_g24_mouse_data ,zero 
-03fe 2040040b call p_dongle_g24_mouse_data 
-03ff 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0400 1fe0fff8 add pdata ,-8 ,pdata 
-0401 67e0c57d store 1 ,mem_24g_rxdata_length 
-0402 1fe27200 copy pdata ,loopcnt 
-0403 d8a047b1 arg mem_24g_rxdata_temp_new + 2 ,contw 
-0404 d8c047b9 arg mem_24g_rxdata_temp_new + 10 ,contr 
-0405 20407cda call memcpy 
-0406 6fe0c7b1 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-0407 c283041e bbit1 data_dpi ,p_dongle_receive_ms_dpi_info 
-0408 c283842b bbit1 data_battery ,p_dongle_receive_ms_battery_info 
-0409 c282842e bbit1 data_heart ,p_dongle_receive_ms_heart_info 
-040a 20600000 rtn 
+0406 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0407 1fe67c09 sub pdata ,0x09 ,null 
+0408 20228416 branch p_dongle_g24_mouse_data ,zero 
+0409 20400416 call p_dongle_g24_mouse_data 
+040a 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+040b 1fe0fff8 add pdata ,-8 ,pdata 
+040c 67e0c57d store 1 ,mem_24g_rxdata_length 
+040d 1fe27200 copy pdata ,loopcnt 
+040e d8a047b1 arg mem_24g_rxdata_temp_new + 2 ,contw 
+040f d8c047b9 arg mem_24g_rxdata_temp_new + 10 ,contr 
+0410 20407cda call memcpy 
+0411 6fe0c7b1 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+0412 c2830429 bbit1 data_dpi ,p_dongle_receive_ms_dpi_info 
+0413 c2838436 bbit1 data_battery ,p_dongle_receive_ms_battery_info 
+0414 c2828439 bbit1 data_heart ,p_dongle_receive_ms_heart_info 
+0415 20600000 rtn 
 
 p_dongle_g24_mouse_data:
-040b 58000001 setarg ms_report_id 
-040c 67e08913 store 1 ,mem_usb_mouse_data 
-040d 6fe3c7b2 fetch 7 ,mem_24g_rxdata_temp_new + 3 
-040e e7e38005 istore 7 ,contw 
-040f 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0410 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
-0411 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0412 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
-0413 6fe38914 fetch 7 ,mem_usb_mouse_data + 1 
-0414 67e3c943 store 7 ,mem_dg_mouse_data 
-0415 6fe0c943 fetch 1 ,mem_dg_mouse_data 
-0416 6848c94a fetcht 1 ,mem_dg_mouse_key_data_last 
-0417 67e0c94a store 1 ,mem_dg_mouse_key_data_last 
-0418 98467c00 isub temp ,null 
-0419 2422841c nbranch p_dongle_mouse_data_tx_enable ,zero 
+0416 58000001 setarg ms_report_id 
+0417 67e08913 store 1 ,mem_usb_mouse_data 
+0418 6fe3c7b2 fetch 7 ,mem_24g_rxdata_temp_new + 3 
+0419 e7e38005 istore 7 ,contw 
+041a 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+041b 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
+041c 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+041d 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
+041e 6fe38914 fetch 7 ,mem_usb_mouse_data + 1 
+041f 67e3c943 store 7 ,mem_dg_mouse_data 
+0420 6fe0c943 fetch 1 ,mem_dg_mouse_data 
+0421 6848c94a fetcht 1 ,mem_dg_mouse_key_data_last 
+0422 67e0c94a store 1 ,mem_dg_mouse_key_data_last 
+0423 98467c00 isub temp ,null 
+0424 24228427 nbranch p_dongle_mouse_data_tx_enable ,zero 
 
 p_dongle_receive_mouse_data_check:
-041a 6fe34944 fetch 6 ,mem_dg_mouse_data + 1 
-041b 207a0000 rtn blank 
+0425 6fe34944 fetch 6 ,mem_dg_mouse_data + 1 
+0426 207a0000 rtn blank 
 
 p_dongle_mouse_data_tx_enable:
-041c 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
-041d 20200433 branch p_dongle_usb_tx_enable_ep2 
+0427 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
+0428 2020043e branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_receive_ms_dpi_info:
-041e 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-041f 6848c94b fetcht 1 ,mem_dg_mouse_dpi_level 
-0420 67e0c94b store 1 ,mem_dg_mouse_dpi_level 
-0421 98467c00 isub temp ,null 
-0422 20628000 rtn zero 
-0423 70495000 jam 0 ,mem_usb_dpi_info_data + 4 
+0429 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+042a 6848c94b fetcht 1 ,mem_dg_mouse_dpi_level 
+042b 67e0c94b store 1 ,mem_dg_mouse_dpi_level 
+042c 98467c00 isub temp ,null 
+042d 20628000 rtn zero 
+042e 70495000 jam 0 ,mem_usb_dpi_info_data + 4 
 
 p_dongle_usb_tx_dpi_level_enable:
-0424 70494c40 jam 0x40 ,mem_usb_dpi_info_data 
-0425 70494da1 jam report_id_data_in ,mem_usb_dpi_info_data + 1 
-0426 70494e05 jam ms_type ,mem_usb_dpi_info_data + 2 
-0427 6fe0c94b fetch 1 ,mem_dg_mouse_dpi_level 
-0428 67e0c94f store 1 ,mem_usb_dpi_info_data + 3 
-0429 70090c23 jam usb_ep2_dpi ,mem_usb_ep2_data 
-042a 20200433 branch p_dongle_usb_tx_enable_ep2 
+042f 70494c40 jam 0x40 ,mem_usb_dpi_info_data 
+0430 70494da1 jam report_id_data_in ,mem_usb_dpi_info_data + 1 
+0431 70494e05 jam ms_type ,mem_usb_dpi_info_data + 2 
+0432 6fe0c94b fetch 1 ,mem_dg_mouse_dpi_level 
+0433 67e0c94f store 1 ,mem_usb_dpi_info_data + 3 
+0434 70090c23 jam usb_ep2_dpi ,mem_usb_ep2_data 
+0435 2020043e branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_receive_ms_battery_info:
-042b 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-042c 67e0c7f7 store 1 ,mem_dg_mouse_battery_level 
-042d 20600000 rtn 
+0436 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0437 67e0c7f7 store 1 ,mem_dg_mouse_battery_level 
+0438 20600000 rtn 
 
 p_dongle_receive_ms_heart_info:
-042e 6fe0ca54 fetch 1 ,mem_dg_ms_ep2_ack_data_flag 
-042f 207a0000 rtn blank 
-0430 704a5400 jam 0 ,mem_dg_ms_ep2_ack_data_flag 
+0439 6fe0ca54 fetch 1 ,mem_dg_ms_ep2_ack_data_flag 
+043a 207a0000 rtn blank 
+043b 704a5400 jam 0 ,mem_dg_ms_ep2_ack_data_flag 
 
 p_24g_ackpayload_enable_set:
-0431 70461108 jam protocol_ackpayload ,mem_24g_ackpayload_enable 
-0432 20600000 rtn 
+043c 70461108 jam protocol_ackpayload ,mem_24g_ackpayload_enable 
+043d 20600000 rtn 
 
 p_dongle_usb_tx_enable_ep2:
-0433 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-0434 207a0000 rtn blank 
-0435 da20493b arg mem_usb_ep2_fifo ,rega 
-0436 20407da5 call fifo_is_full 
-0437 247a0000 nrtn blank 
-0438 6fe0890c fetch 1 ,mem_usb_ep2_data 
-0439 67e0866f store 1 ,mem_fifo_temp 
-043a da20493b arg mem_usb_ep2_fifo ,rega 
-043b 20207d8b branch fifo_in 
+043e 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+043f 207a0000 rtn blank 
+0440 da20493b arg mem_usb_ep2_fifo ,rega 
+0441 20407da5 call fifo_is_full 
+0442 247a0000 nrtn blank 
+0443 6fe0890c fetch 1 ,mem_usb_ep2_data 
+0444 67e0866f store 1 ,mem_fifo_temp 
+0445 da20493b arg mem_usb_ep2_fifo ,rega 
+0446 20207d8b branch fifo_in 
 
 p_dongle_g24_kb:
-043c 6fe0c7b1 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-043d c2830455 bbit1 data_key_matrix ,p_dongle_receive_kb_key_matrix_data 
-043e c2828450 bbit1 data_heart ,p_dongle_receive_kb_heart_info 
-043f 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0440 c0000444 beq 0 ,p_dongle_g24_kb_type0 
-0441 c001044a beq 2 ,p_dongle_g24_kb_type2 
-0442 c001844d beq 3 ,p_dongle_g24_kb_type3 
-0443 202033be branch g24_rx_interrupt_clear 
+0447 6fe0c7b1 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+0448 c2830460 bbit1 data_key_matrix ,p_dongle_receive_kb_key_matrix_data 
+0449 c282845b bbit1 data_heart ,p_dongle_receive_kb_heart_info 
+044a 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+044b c000044f beq 0 ,p_dongle_g24_kb_type0 
+044c c0010455 beq 2 ,p_dongle_g24_kb_type2 
+044d c0018458 beq 3 ,p_dongle_g24_kb_type3 
+044e 202033be branch g24_rx_interrupt_clear 
 
 p_dongle_g24_kb_type0:
-0444 6fe0c7b4 fetch 1 ,mem_24g_rxdata_temp_new + 5 
-0445 67e0c611 store 1 ,mem_24g_ackpayload_enable 
-0446 7047b400 jam 0 ,mem_24g_rxdata_temp_new + 5 
-0447 d8a00923 arg mem_usb_kb_data ,contw 
-0448 d8c047b3 arg mem_24g_rxdata_temp_new + 4 ,contr 
-0449 202048ef branch dongle_g24_kb_type0 + 5 
+044f 6fe0c7b4 fetch 1 ,mem_24g_rxdata_temp_new + 5 
+0450 67e0c611 store 1 ,mem_24g_ackpayload_enable 
+0451 7047b400 jam 0 ,mem_24g_rxdata_temp_new + 5 
+0452 d8a00923 arg mem_usb_kb_data ,contw 
+0453 d8c047b3 arg mem_24g_rxdata_temp_new + 4 ,contr 
+0454 202048ef branch dongle_g24_kb_type0 + 5 
 
 p_dongle_g24_kb_type2:
-044a d8a00943 arg mem_usb_kb_system ,contw 
-044b d8c047b2 arg mem_24g_rxdata_temp_new + 3 ,contr 
-044c 2020491f branch dongle_g24_kb_type2 + 2 
+0455 d8a00943 arg mem_usb_kb_system ,contw 
+0456 d8c047b2 arg mem_24g_rxdata_temp_new + 3 ,contr 
+0457 2020491f branch dongle_g24_kb_type2 + 2 
 
 p_dongle_g24_kb_type3:
-044d d8a00933 arg mem_usb_kb_multikey ,contw 
-044e d8c047b2 arg mem_24g_rxdata_temp_new + 3 ,contr 
-044f 20204907 branch dongle_g24_kb_type3 + 2 
+0458 d8a00933 arg mem_usb_kb_multikey ,contw 
+0459 d8c047b2 arg mem_24g_rxdata_temp_new + 3 ,contr 
+045a 20204907 branch dongle_g24_kb_type3 + 2 
 
 p_dongle_receive_kb_heart_info:
-0450 6fe0ca96 fetch 1 ,mem_dg_kb_ep2_ack_data_flag 
-0451 207a0000 rtn blank 
-0452 704a9600 jam 0 ,mem_dg_kb_ep2_ack_data_flag 
+045b 6fe0ca96 fetch 1 ,mem_dg_kb_ep2_ack_data_flag 
+045c 207a0000 rtn blank 
+045d 704a9600 jam 0 ,mem_dg_kb_ep2_ack_data_flag 
 
 p_24g_ackpayload_kb_enable_set:
-0453 70461108 jam protocol_ackpayload ,mem_24g_ackpayload_enable 
-0454 20600000 rtn 
+045e 70461108 jam protocol_ackpayload ,mem_24g_ackpayload_enable 
+045f 20600000 rtn 
 
 p_dongle_receive_kb_key_matrix_data:
-0455 6fe0c7b0 fetch 1 ,mem_24g_rxdata_temp_new + 1 
-0456 1fe0ffff increase -1 ,pdata 
-0457 1fe27200 copy pdata ,loopcnt 
-0458 6fe14b79 fetch 2 ,mem_keymatrix_wptr 
-0459 205a0460 call p_dongle_write_from_head ,blank 
-045a 245a0462 ncall p_dongle_write_from_last ,blank 
-045b d8c047b2 arg mem_24g_rxdata_temp_new + 3 ,contr 
-045c 20407ccc call memcpy_fast 
-045d 18a27e00 copy contw ,pdata 
-045e 67e14b79 store 2 ,mem_keymatrix_wptr 
-045f 20600000 rtn 
+0460 6fe0c7b0 fetch 1 ,mem_24g_rxdata_temp_new + 1 
+0461 1fe0ffff increase -1 ,pdata 
+0462 1fe27200 copy pdata ,loopcnt 
+0463 6fe14b79 fetch 2 ,mem_keymatrix_wptr 
+0464 205a046b call p_dongle_write_from_head ,blank 
+0465 245a046d ncall p_dongle_write_from_last ,blank 
+0466 d8c047b2 arg mem_24g_rxdata_temp_new + 3 ,contr 
+0467 20407ccc call memcpy_fast 
+0468 18a27e00 copy contw ,pdata 
+0469 67e14b79 store 2 ,mem_keymatrix_wptr 
+046a 20600000 rtn 
 
 p_dongle_write_from_head:
-0460 d8a04ad8 arg mem_dg_kb_keymatrix_buff ,contw 
-0461 20600000 rtn 
+046b d8a04ad8 arg mem_dg_kb_keymatrix_buff ,contw 
+046c 20600000 rtn 
 
 p_dongle_write_from_last:
-0462 6fe14b79 fetch 2 ,mem_keymatrix_wptr 
-0463 1fe20a00 copy pdata ,contw 
-0464 20600000 rtn 
+046d 6fe14b79 fetch 2 ,mem_keymatrix_wptr 
+046e 1fe20a00 copy pdata ,contw 
+046f 20600000 rtn 
 
 p_checksum_calcu:
-0465 da200000 arg 0 ,rega 
+0470 da200000 arg 0 ,rega 
 
 p_dongle_data_checksum:
-0466 efe08006 ifetch 1 ,contr 
-0467 9a20a200 iadd rega ,rega 
-0468 c2000466 loop p_dongle_data_checksum 
-0469 1a2122ff and_into 0xff ,rega 
-046a 20600000 rtn 
+0471 efe08006 ifetch 1 ,contr 
+0472 9a20a200 iadd rega ,rega 
+0473 c2000471 loop p_dongle_data_checksum 
+0474 1a2122ff and_into 0xff ,rega 
+0475 20600000 rtn 
               org 0x2000
 
 start:
Index: program/patch.prog
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle/program/patch.prog	(revision 1995)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle/program/patch.prog	(working copy)
@@ -733,7 +733,7 @@
 	branch g24_bind_init+8
 
 p_dongle_usb_dispatch:
-//	call p_wdt_kick
+	call p_wdt_kick
 	branch p_dongle_usb_dispatch_analysis
 
 p_wdt_kick:
@@ -1194,6 +1194,7 @@
 	beq CMD_SET_DPI,p_dongle_dispose_ms_cmd_set_dpi
 	beq CMD_GET_DPI,p_dongle_dispose_cmd_get_dpi
 	beq CMD_SET_REPORT,p_dongle_dispose_ms_cmd_set_report
+	beq CMD_SET_SLEEP_TIMER,p_dongle_dispose_set_sleep_timer
 	beq CMD_GET_IN_DATA,p_dongle_dispose_cmd_get_in_data
 	beq CMD_GET_TRANSLEN,p_dongle_dispose_cmd_get_translen
 	beq CMD_SET_TEST,p_dongle_dispose_cmd_set_test
@@ -1240,6 +1241,23 @@
 	store 1,mem_24g_device_type
 	branch p_dongle_ms_ack_data_copy
 
+//1byte opcode + 1byte type +2byte data +1byte checksum
+p_dongle_dispose_set_sleep_timer:
+	fetch 1,mem_usb0_set_report_data+1
+	beq MS_TYPE,p_dongle_dispose_ms_sleep_timer
+	beq KB_TYPE,p_dongle_dispose_kb_sleep_timer
+	rtn
+
+p_dongle_dispose_ms_sleep_timer:
+	call p_dongle_ms_ep2_ack_data_clr
+	jam MS_TYPE,mem_24g_device_type
+	branch p_dongle_ms_ack_data_copy
+
+p_dongle_dispose_kb_sleep_timer:
+	jam KB_TYPE,mem_24g_device_type
+	rtn
+	
+
 p_dongle_dispose_cmd_get_dpi:
 	jam 1,mem_usb_dpi_info_data+4
 	branch p_dongle_usb_tx_dpi_level_enable
