Index: output/eeprom.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle/output/eeprom.dat	(revision 1980)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle/output/eeprom.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-62
+aa
 0f
 c2
 84
@@ -111,7 +111,7 @@
 c0
 37
 02
-da
+ed
 c0
 37
 82
@@ -119,19 +119,19 @@
 c0
 39
 03
-21
+34
 c0
 39
 83
-0c
+1f
 c0
 3a
 82
-e9
+fc
 c0
 40
 82
-c9
+dc
 c0
 41
 01
@@ -139,11 +139,11 @@
 c0
 42
 02
-9a
+a7
 c0
 42
-82
-f9
+83
+0c
 c0
 44
 02
@@ -154,12 +154,12 @@
 27
 c0
 45
-82
-fc
+83
+0f
 c0
 4d
 83
-05
+18
 c1
 7f
 80
@@ -2255,7 +2255,7 @@
 20
 20
 03
-4e
+61
 58
 00
 00
@@ -2343,7 +2343,7 @@
 58
 00
 03
-2c
+3f
 67
 e1
 45
@@ -2351,7 +2351,7 @@
 58
 00
 03
-82
+95
 67
 e1
 45
@@ -2359,7 +2359,7 @@
 58
 00
 03
-c7
+d9
 67
 e1
 45
@@ -2579,7 +2579,7 @@
 20
 40
 02
-88
+95
 20
 40
 48
@@ -2592,10 +2592,62 @@
 7a
 00
 00
+6f
+e0
+c6
+11
+c1
+80
+00
+00
+6f
+e0
+c6
+14
 20
+7a
+00
+00
+d8
+e0
+00
+08
 20
+40
+7c
+ef
+24
+7a
+00
+00
+20
+40
 35
+1b
+20
+20
+35
+11
+6f
+e0
+c6
 0a
+c0
+00
+b5
+ea
+6f
+e0
+c6
+12
+c0
+00
+b5
+2c
+20
+60
+00
+00
 6f
 e0
 c6
@@ -2610,12 +2662,12 @@
 51
 20
 40
-35
-18
+02
+90
 20
 40
 02
-be
+d1
 24
 37
 b3
@@ -2666,8 +2718,8 @@
 10
 20
 5a
-33
-fe
+02
+ad
 6f
 e0
 c7
@@ -2675,7 +2727,7 @@
 c0
 7f
 82
-b8
+cb
 1f
 e1
 7e
@@ -2683,15 +2735,39 @@
 c0
 00
 82
-a0
+b3
 c0
 01
 02
-b2
+c5
 20
 20
 33
 be
+6f
+e0
+c6
+2b
+20
+3a
+33
+fe
+70
+46
+14
+01
+58
+00
+06
+40
+d8
+e0
+00
+08
+20
+20
+7c
+e1
 20
 40
 33
@@ -2723,7 +2799,7 @@
 c0
 00
 82
-ab
+be
 6f
 e0
 c6
@@ -2779,7 +2855,7 @@
 20
 20
 82
-b0
+c3
 6f
 e1
 45
@@ -2791,7 +2867,7 @@
 20
 40
 02
-bc
+cf
 20
 20
 01
@@ -2839,7 +2915,7 @@
 20
 40
 02
-e9
+fc
 6f
 e0
 c7
@@ -2871,15 +2947,15 @@
 20
 40
 02
-d5
+e8
 20
 40
 02
-c1
+d4
 20
 40
 02
-ba
+cd
 20
 40
 49
@@ -2935,7 +3011,7 @@
 c5
 13
 82
-e2
+f5
 6f
 e0
 c6
@@ -3079,11 +3155,11 @@
 20
 40
 02
-be
+d1
 24
 37
-b3
-be
+83
+0c
 20
 40
 35
@@ -3091,7 +3167,7 @@
 20
 42
 82
-8e
+9b
 20
 20
 34
@@ -3211,7 +3287,7 @@
 c5
 17
 83
-26
+39
 6f
 e0
 c5
@@ -3219,7 +3295,7 @@
 24
 3a
 03
-26
+39
 78
 4e
 fc
@@ -3283,15 +3359,15 @@
 20
 40
 03
-36
+49
 20
 40
 03
-42
+55
 20
 20
 03
-2d
+40
 d8
 40
 ff
@@ -3443,23 +3519,23 @@
 c0
 7b
 83
-61
+74
 c0
 7b
 03
-6e
+81
 c0
 7e
 03
-71
+84
 c0
 7f
 03
-77
+8a
 c0
 3d
 03
-7a
+8d
 20
 20
 48
@@ -3603,15 +3679,15 @@
 c2
 83
 03
-a9
+bc
 c2
 83
 83
-b6
+c9
 c2
 82
 83
-b9
+cc
 6f
 e0
 c5
@@ -3623,11 +3699,11 @@
 20
 22
 83
-96
+a9
 20
 40
 03
-96
+a9
 6f
 e0
 c5
@@ -3663,15 +3739,15 @@
 c2
 83
 03
-a9
+bc
 c2
 83
 83
-b6
+c9
 c2
 82
 83
-b9
+cc
 20
 60
 00
@@ -3735,7 +3811,7 @@
 24
 22
 83
-a7
+ba
 6f
 e3
 49
@@ -3751,7 +3827,7 @@
 20
 20
 03
-be
+d0
 6f
 e0
 c7
@@ -3803,7 +3879,7 @@
 20
 20
 03
-be
+d0
 6f
 e0
 c7
@@ -3828,10 +3904,6 @@
 49
 4e
 00
-70
-46
-11
-a2
 20
 60
 00
@@ -3879,15 +3951,15 @@
 c0
 00
 03
-cc
+de
 c0
 01
 03
-d2
+e4
 c0
 01
 83
-d5
+e7
 20
 20
 33
@@ -3940,8 +4012,8 @@
 20
 49
 07
-5c
-96
+1a
+51
 aa
 55
 40
@@ -4554,80 +4626,8 @@
 55
 5b
 80
-a0
-be
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+e0
+e1
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-aa
-44
+31
+94
Index: output/flash.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle/output/flash.dat	(revision 1980)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle/output/flash.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-62
+aa
 0f
 c2
 84
@@ -111,7 +111,7 @@
 c0
 37
 02
-da
+ed
 c0
 37
 82
@@ -119,19 +119,19 @@
 c0
 39
 03
-21
+34
 c0
 39
 83
-0c
+1f
 c0
 3a
 82
-e9
+fc
 c0
 40
 82
-c9
+dc
 c0
 41
 01
@@ -139,11 +139,11 @@
 c0
 42
 02
-9a
+a7
 c0
 42
-82
-f9
+83
+0c
 c0
 44
 02
@@ -154,12 +154,12 @@
 27
 c0
 45
-82
-fc
+83
+0f
 c0
 4d
 83
-05
+18
 c1
 7f
 80
@@ -2255,7 +2255,7 @@
 20
 20
 03
-4e
+61
 58
 00
 00
@@ -2343,7 +2343,7 @@
 58
 00
 03
-2c
+3f
 67
 e1
 45
@@ -2351,7 +2351,7 @@
 58
 00
 03
-82
+95
 67
 e1
 45
@@ -2359,7 +2359,7 @@
 58
 00
 03
-c7
+d9
 67
 e1
 45
@@ -2579,7 +2579,7 @@
 20
 40
 02
-88
+95
 20
 40
 48
@@ -2592,10 +2592,62 @@
 7a
 00
 00
+6f
+e0
+c6
+11
+c1
+80
+00
+00
+6f
+e0
+c6
+14
 20
+7a
+00
+00
+d8
+e0
+00
+08
 20
+40
+7c
+ef
+24
+7a
+00
+00
+20
+40
 35
+1b
+20
+20
+35
+11
+6f
+e0
+c6
 0a
+c0
+00
+b5
+ea
+6f
+e0
+c6
+12
+c0
+00
+b5
+2c
+20
+60
+00
+00
 6f
 e0
 c6
@@ -2610,12 +2662,12 @@
 51
 20
 40
-35
-18
+02
+90
 20
 40
 02
-be
+d1
 24
 37
 b3
@@ -2666,8 +2718,8 @@
 10
 20
 5a
-33
-fe
+02
+ad
 6f
 e0
 c7
@@ -2675,7 +2727,7 @@
 c0
 7f
 82
-b8
+cb
 1f
 e1
 7e
@@ -2683,15 +2735,39 @@
 c0
 00
 82
-a0
+b3
 c0
 01
 02
-b2
+c5
 20
 20
 33
 be
+6f
+e0
+c6
+2b
+20
+3a
+33
+fe
+70
+46
+14
+01
+58
+00
+06
+40
+d8
+e0
+00
+08
+20
+20
+7c
+e1
 20
 40
 33
@@ -2723,7 +2799,7 @@
 c0
 00
 82
-ab
+be
 6f
 e0
 c6
@@ -2779,7 +2855,7 @@
 20
 20
 82
-b0
+c3
 6f
 e1
 45
@@ -2791,7 +2867,7 @@
 20
 40
 02
-bc
+cf
 20
 20
 01
@@ -2839,7 +2915,7 @@
 20
 40
 02
-e9
+fc
 6f
 e0
 c7
@@ -2871,15 +2947,15 @@
 20
 40
 02
-d5
+e8
 20
 40
 02
-c1
+d4
 20
 40
 02
-ba
+cd
 20
 40
 49
@@ -2935,7 +3011,7 @@
 c5
 13
 82
-e2
+f5
 6f
 e0
 c6
@@ -3079,11 +3155,11 @@
 20
 40
 02
-be
+d1
 24
 37
-b3
-be
+83
+0c
 20
 40
 35
@@ -3091,7 +3167,7 @@
 20
 42
 82
-8e
+9b
 20
 20
 34
@@ -3211,7 +3287,7 @@
 c5
 17
 83
-26
+39
 6f
 e0
 c5
@@ -3219,7 +3295,7 @@
 24
 3a
 03
-26
+39
 78
 4e
 fc
@@ -3283,15 +3359,15 @@
 20
 40
 03
-36
+49
 20
 40
 03
-42
+55
 20
 20
 03
-2d
+40
 d8
 40
 ff
@@ -3443,23 +3519,23 @@
 c0
 7b
 83
-61
+74
 c0
 7b
 03
-6e
+81
 c0
 7e
 03
-71
+84
 c0
 7f
 03
-77
+8a
 c0
 3d
 03
-7a
+8d
 20
 20
 48
@@ -3603,15 +3679,15 @@
 c2
 83
 03
-a9
+bc
 c2
 83
 83
-b6
+c9
 c2
 82
 83
-b9
+cc
 6f
 e0
 c5
@@ -3623,11 +3699,11 @@
 20
 22
 83
-96
+a9
 20
 40
 03
-96
+a9
 6f
 e0
 c5
@@ -3663,15 +3739,15 @@
 c2
 83
 03
-a9
+bc
 c2
 83
 83
-b6
+c9
 c2
 82
 83
-b9
+cc
 20
 60
 00
@@ -3735,7 +3811,7 @@
 24
 22
 83
-a7
+ba
 6f
 e3
 49
@@ -3751,7 +3827,7 @@
 20
 20
 03
-be
+d0
 6f
 e0
 c7
@@ -3803,7 +3879,7 @@
 20
 20
 03
-be
+d0
 6f
 e0
 c7
@@ -3828,10 +3904,6 @@
 49
 4e
 00
-70
-46
-11
-a2
 20
 60
 00
@@ -3879,15 +3951,15 @@
 c0
 00
 03
-cc
+de
 c0
 01
 03
-d2
+e4
 c0
 01
 83
-d5
+e7
 20
 20
 33
@@ -3940,8 +4012,8 @@
 20
 49
 07
-5c
-96
+1a
+51
 aa
 55
 40
@@ -4554,80 +4626,8 @@
 55
 5b
 80
-a0
-be
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+e0
+e1
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-aa
-44
+31
+94
Index: output/otp.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle/output/otp.dat	(revision 1980)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle/output/otp.dat	(working copy)
@@ -11,7 +11,7 @@
 00
 aa
 55
-62
+aa
 0f
 c2
 84
@@ -120,7 +120,7 @@
 c0
 37
 02
-da
+ed
 c0
 37
 82
@@ -128,19 +128,19 @@
 c0
 39
 03
-21
+34
 c0
 39
 83
-0c
+1f
 c0
 3a
 82
-e9
+fc
 c0
 40
 82
-c9
+dc
 c0
 41
 01
@@ -148,11 +148,11 @@
 c0
 42
 02
-9a
+a7
 c0
 42
-82
-f9
+83
+0c
 c0
 44
 02
@@ -163,12 +163,12 @@
 27
 c0
 45
-82
-fc
+83
+0f
 c0
 4d
 83
-05
+18
 c1
 7f
 80
@@ -2264,7 +2264,7 @@
 20
 20
 03
-4e
+61
 58
 00
 00
@@ -2352,7 +2352,7 @@
 58
 00
 03
-2c
+3f
 67
 e1
 45
@@ -2360,7 +2360,7 @@
 58
 00
 03
-82
+95
 67
 e1
 45
@@ -2368,7 +2368,7 @@
 58
 00
 03
-c7
+d9
 67
 e1
 45
@@ -2588,7 +2588,7 @@
 20
 40
 02
-88
+95
 20
 40
 48
@@ -2601,10 +2601,62 @@
 7a
 00
 00
+6f
+e0
+c6
+11
+c1
+80
+00
+00
+6f
+e0
+c6
+14
+20
+7a
+00
+00
+d8
+e0
+00
+08
+20
+40
+7c
+ef
+24
+7a
+00
+00
+20
+40
+35
+1b
 20
 20
 35
+11
+6f
+e0
+c6
 0a
+c0
+00
+b5
+ea
+6f
+e0
+c6
+12
+c0
+00
+b5
+2c
+20
+60
+00
+00
 6f
 e0
 c6
@@ -2619,12 +2671,12 @@
 51
 20
 40
-35
-18
+02
+90
 20
 40
 02
-be
+d1
 24
 37
 b3
@@ -2675,8 +2727,8 @@
 10
 20
 5a
-33
-fe
+02
+ad
 6f
 e0
 c7
@@ -2684,7 +2736,7 @@
 c0
 7f
 82
-b8
+cb
 1f
 e1
 7e
@@ -2692,15 +2744,39 @@
 c0
 00
 82
-a0
+b3
 c0
 01
 02
-b2
+c5
 20
 20
 33
 be
+6f
+e0
+c6
+2b
+20
+3a
+33
+fe
+70
+46
+14
+01
+58
+00
+06
+40
+d8
+e0
+00
+08
+20
+20
+7c
+e1
 20
 40
 33
@@ -2732,7 +2808,7 @@
 c0
 00
 82
-ab
+be
 6f
 e0
 c6
@@ -2788,7 +2864,7 @@
 20
 20
 82
-b0
+c3
 6f
 e1
 45
@@ -2800,7 +2876,7 @@
 20
 40
 02
-bc
+cf
 20
 20
 01
@@ -2848,7 +2924,7 @@
 20
 40
 02
-e9
+fc
 6f
 e0
 c7
@@ -2880,15 +2956,15 @@
 20
 40
 02
-d5
+e8
 20
 40
 02
-c1
+d4
 20
 40
 02
-ba
+cd
 20
 40
 49
@@ -2944,7 +3020,7 @@
 c5
 13
 82
-e2
+f5
 6f
 e0
 c6
@@ -3088,11 +3164,11 @@
 20
 40
 02
-be
+d1
 24
 37
-b3
-be
+83
+0c
 20
 40
 35
@@ -3100,7 +3176,7 @@
 20
 42
 82
-8e
+9b
 20
 20
 34
@@ -3220,7 +3296,7 @@
 c5
 17
 83
-26
+39
 6f
 e0
 c5
@@ -3228,7 +3304,7 @@
 24
 3a
 03
-26
+39
 78
 4e
 fc
@@ -3292,15 +3368,15 @@
 20
 40
 03
-36
+49
 20
 40
 03
-42
+55
 20
 20
 03
-2d
+40
 d8
 40
 ff
@@ -3452,23 +3528,23 @@
 c0
 7b
 83
-61
+74
 c0
 7b
 03
-6e
+81
 c0
 7e
 03
-71
+84
 c0
 7f
 03
-77
+8a
 c0
 3d
 03
-7a
+8d
 20
 20
 48
@@ -3612,15 +3688,15 @@
 c2
 83
 03
-a9
+bc
 c2
 83
 83
-b6
+c9
 c2
 82
 83
-b9
+cc
 6f
 e0
 c5
@@ -3632,11 +3708,11 @@
 20
 22
 83
-96
+a9
 20
 40
 03
-96
+a9
 6f
 e0
 c5
@@ -3672,15 +3748,15 @@
 c2
 83
 03
-a9
+bc
 c2
 83
 83
-b6
+c9
 c2
 82
 83
-b9
+cc
 20
 60
 00
@@ -3744,7 +3820,7 @@
 24
 22
 83
-a7
+ba
 6f
 e3
 49
@@ -3760,7 +3836,7 @@
 20
 20
 03
-be
+d0
 6f
 e0
 c7
@@ -3812,7 +3888,7 @@
 20
 20
 03
-be
+d0
 6f
 e0
 c7
@@ -3837,10 +3913,6 @@
 49
 4e
 00
-70
-46
-11
-a2
 20
 60
 00
@@ -3888,15 +3960,15 @@
 c0
 00
 03
-cc
+de
 c0
 01
 03
-d2
+e4
 c0
 01
 83
-d5
+e7
 20
 20
 33
@@ -3949,8 +4021,8 @@
 20
 49
 07
-5c
-96
+1a
+51
 aa
 55
 40
@@ -4563,6 +4635,6 @@
 55
 5b
 80
-a0
-be
+e0
+e1
 21
Index: output/program.lis
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle/output/program.lis	(revision 1980)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle/output/program.lis	(working copy)
@@ -28,19 +28,19 @@
 0017 c0030137 beq patch20_6 ,p_usb_tx 
 0018 c01c81dc beq patch27_1 ,p_le_parse 
 0019 c02681e0 beq patch29_5 ,p_le_init_adv 
-001a c03702da beq patch2d_6 ,p_g24_receive_update_rxbuff 
+001a c03702ed beq patch2d_6 ,p_g24_receive_update_rxbuff 
 001b c037823e beq patch2d_7 ,p_g24_receive_skip_end 
-001c c0390321 beq patch2e_2 ,p_g24_transmit_packet 
-001d c039830c beq patch2e_3 ,p_g24_transmit_prep 
-001e c03a82e9 beq patch2e_5 ,p_g24_read_len_pid_crc 
-001f c04082c9 beq patch30_1 ,p_g24_bind_data_process 
+001c c0390334 beq patch2e_2 ,p_g24_transmit_packet 
+001d c039831f beq patch2e_3 ,p_g24_transmit_prep 
+001e c03a82fc beq patch2e_5 ,p_g24_read_len_pid_crc 
+001f c04082dc beq patch30_1 ,p_g24_bind_data_process 
 0020 c04101e2 beq patch30_2 ,p_g24_bind_data_parse_next 
-0021 c042029a beq patch30_4 ,p_g24_receive_packet_parse_end 
-0022 c04282f9 beq patch30_5 ,p_g24_rx_interrupt_clear 
+0021 c04202a7 beq patch30_4 ,p_g24_receive_packet_parse_end 
+0022 c042830c beq patch30_5 ,p_g24_rx_interrupt_clear 
 0023 c044021a beq patch31_0 ,p_g24_mode_switch_bind_search 
 0024 c0450227 beq patch31_2 ,p_g24_bind_mode_auto 
-0025 c04582fc beq patch31_3 ,p_g24_search_mode_auto 
-0026 c04d8305 beq patch33_3 ,p_g24_ackpayload_parse 
+0025 c045830f beq patch31_3 ,p_g24_search_mode_auto 
+0026 c04d8318 beq patch33_3 ,p_g24_ackpayload_parse 
 0027 c17f8000 rtneq patch3f_7 
 0028 2020235a branch assert 
 
@@ -710,7 +710,7 @@
 0231 20203307 branch g24_bind_init + 8 
 
 p_dongle_usb_dispatch:
-0232 2020034e branch p_dongle_usb_dispatch_analysis 
+0232 20200361 branch p_dongle_usb_dispatch_analysis 
 
 p_wdt_kick:
 0233 58000010 setarg 16 
@@ -740,11 +740,11 @@
 0247 20203195 branch g24_transmit 
 
 p_app_init:
-0248 5800032c setarg p_dongle_dispatch 
+0248 5800033f setarg p_dongle_dispatch 
 0249 67e145e0 store 2 ,mem_cb_24g_receive_process 
-024a 58000382 setarg p_dongle_g24_mouse 
+024a 58000395 setarg p_dongle_g24_mouse 
 024b 67e145e4 store 2 ,mem_cb_24g_data_device1 
-024c 580003c7 setarg p_dongle_g24_kb 
+024c 580003d9 setarg p_dongle_g24_kb 
 024d 67e145e6 store 2 ,mem_cb_24g_data_device2 
 024e 58000253 setarg p_dongle_ackpayload_prep 
 024f 67e145e2 store 2 ,mem_cb_24g_ackpayload 
@@ -825,447 +825,469 @@
 p_dongle_work_mode_auto:
 0281 6fe0c616 fetch 1 ,mem_24g_work_mode 
 0282 c1800000 rtnne dongle_work 
-0283 20400288 call p_g24_work_mode_start 
+0283 20400295 call p_g24_work_mode_start 
 0284 20404827 call dongle_g24_blank_data_process 
 0285 6fe0c610 fetch 1 ,mem_24g_pair_mode 
 0286 247a0000 nrtn blank 
-0287 2020350a branch g24_nodata_process 
+0287 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
+0288 c1800000 rtnne 0 
+0289 6fe0c614 fetch 1 ,mem_24g_nodata_timer_enable 
+028a 207a0000 rtn blank 
+028b d8e00008 arg g24_timer_nodata ,queue 
+028c 20407cef call timer_check 
+028d 247a0000 nrtn blank 
+028e 2040351b call g24_ch_process + 3 
+028f 20203511 branch g24_nodata_timer_over 
+
+p_g24_ch_process:
+0290 6fe0c60a fetch 1 ,mem_24g_abort_packet 
+0291 c000b5ea beq 1 ,rssi_noise_monitor 
+0292 6fe0c612 fetch 1 ,mem_24g_hop_packet 
+0293 c000b52c beq 1 ,g24_ch_receive_hop_pac 
+0294 20600000 rtn 
 
 p_g24_work_mode_start:
-0288 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0289 c1800000 rtnne dongle_work 
-028a 20403451 call g24_work_init 
-028b 20403518 call g24_ch_process 
+0295 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0296 c1800000 rtnne dongle_work 
+0297 20403451 call g24_work_init 
+0298 20400290 call p_g24_ch_process 
 
 p_g24_receive_packet_start:
-028c 204002be call p_g24_receive_transmit_ack 
-028d 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+0299 204002d1 call p_g24_receive_transmit_ack 
+029a 2437b3be nbranch g24_rx_interrupt_clear ,user3 
 
 p_g24_receive_packet_parse:
-028e 204033e3 call g24_receive_packet_parse_pid_crc 
-028f 243433be nbranch g24_rx_interrupt_clear ,user 
-0290 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0291 203a33be branch g24_rx_interrupt_clear ,blank 
-0292 1fe0fe02 increase 2 ,pdata 
-0293 98007200 iforce loopcnt 
-0294 d8c04697 arg mem_24g_rxbuf_new ,contr 
-0295 d8a047af arg mem_24g_rxdata_temp_new ,contw 
-0296 20407cda call memcpy 
-0297 70461300 jam 0 ,mem_24g_mode_switch 
-0298 6fe0c610 fetch 1 ,mem_24g_pair_mode 
-0299 205a33fe call g24_enable_nodata_timer ,blank 
+029b 204033e3 call g24_receive_packet_parse_pid_crc 
+029c 243433be nbranch g24_rx_interrupt_clear ,user 
+029d 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+029e 203a33be branch g24_rx_interrupt_clear ,blank 
+029f 1fe0fe02 increase 2 ,pdata 
+02a0 98007200 iforce loopcnt 
+02a1 d8c04697 arg mem_24g_rxbuf_new ,contr 
+02a2 d8a047af arg mem_24g_rxdata_temp_new ,contw 
+02a3 20407cda call memcpy 
+02a4 70461300 jam 0 ,mem_24g_mode_switch 
+02a5 6fe0c610 fetch 1 ,mem_24g_pair_mode 
+02a6 205a02ad call p_g24_enable_nodata_timer ,blank 
 
 p_g24_receive_packet_parse_end:
-029a 6fe0c7b1 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-029b c07f82b8 beq datatype_attemp ,p_g24_data_receive_attemp 
-029c 1fe17e03 and pdata ,0x03 ,pdata 
-029d c00082a0 beq datatype_device1 ,p_g24_data_device1 
-029e c00102b2 beq datatype_device2 ,p_g24_data_device2 
-029f 202033be branch g24_rx_interrupt_clear 
+02a7 6fe0c7b1 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+02a8 c07f82cb beq datatype_attemp ,p_g24_data_receive_attemp 
+02a9 1fe17e03 and pdata ,0x03 ,pdata 
+02aa c00082b3 beq datatype_device1 ,p_g24_data_device1 
+02ab c00102c5 beq datatype_device2 ,p_g24_data_device2 
+02ac 202033be branch g24_rx_interrupt_clear 
+
+p_g24_enable_nodata_timer:
+02ad 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
+02ae 203a33fe branch g24_enable_nodata_timer ,blank 
+02af 70461401 jam 1 ,mem_24g_nodata_timer_enable 
+02b0 58000640 setarg 1600 
+02b1 d8e00008 arg g24_timer_nodata ,queue 
+02b2 20207ce1 branch timer_init 
 
 p_g24_data_device1:
-02a0 2040338d call g24_binding_dvc1_living 
-02a1 2040352e call g24_ch_timer_reinit 
-02a2 6fe0c60a fetch 1 ,mem_24g_abort_packet 
-02a3 6848c7af fetcht 1 ,mem_24g_rxdata_temp_new 
-02a4 284ffe03 isolate1 bit_abort ,temp 
-02a5 7920fe00 setflag true ,0 ,pdata 
-02a6 67e0c60a store 1 ,mem_24g_abort_packet 
-02a7 c00082ab beq 1 ,p_g24_data_attemp_device1_abort 
-02a8 6fe0c612 fetch 1 ,mem_24g_hop_packet 
-02a9 6848c7af fetcht 1 ,mem_24g_rxdata_temp_new 
-02aa 202033ce branch g24_data_device1_next 
+02b3 2040338d call g24_binding_dvc1_living 
+02b4 2040352e call g24_ch_timer_reinit 
+02b5 6fe0c60a fetch 1 ,mem_24g_abort_packet 
+02b6 6848c7af fetcht 1 ,mem_24g_rxdata_temp_new 
+02b7 284ffe03 isolate1 bit_abort ,temp 
+02b8 7920fe00 setflag true ,0 ,pdata 
+02b9 67e0c60a store 1 ,mem_24g_abort_packet 
+02ba c00082be beq 1 ,p_g24_data_attemp_device1_abort 
+02bb 6fe0c612 fetch 1 ,mem_24g_hop_packet 
+02bc 6848c7af fetcht 1 ,mem_24g_rxdata_temp_new 
+02bd 202033ce branch g24_data_device1_next 
 
 p_g24_data_attemp_device1_abort:
-02ab 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-02ac 247a0000 nrtn blank 
-02ad 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-02ae 6fe247b9 fetch 4 ,mem_24g_rxdata_temp_new + 10 
-02af 202035a3 branch g24_store_device1_addr 
+02be 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+02bf 247a0000 nrtn blank 
+02c0 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+02c1 6fe247b9 fetch 4 ,mem_24g_rxdata_temp_new + 10 
+02c2 202035a3 branch g24_store_device1_addr 
 
 p_g24_data_attemp_device2_abort:
-02b0 6fe247b9 fetch 4 ,mem_24g_rxdata_temp_new + 10 
-02b1 202035a9 branch g24_store_device2_addr 
+02c3 6fe247b9 fetch 4 ,mem_24g_rxdata_temp_new + 10 
+02c4 202035a9 branch g24_store_device2_addr 
 
 p_g24_data_device2:
-02b2 20403393 call g24_binding_dvc2_living 
-02b3 6848c7af fetcht 1 ,mem_24g_rxdata_temp_new 
-02b4 284ffe03 isolate1 bit_abort ,temp 
-02b5 202082b0 branch p_g24_data_attemp_device2_abort ,true 
-02b6 6fe145e6 fetch 2 ,mem_cb_24g_data_device2 
-02b7 20207d79 branch callback_func 
+02c5 20403393 call g24_binding_dvc2_living 
+02c6 6848c7af fetcht 1 ,mem_24g_rxdata_temp_new 
+02c7 284ffe03 isolate1 bit_abort ,temp 
+02c8 202082c3 branch p_g24_data_attemp_device2_abort ,true 
+02c9 6fe145e6 fetch 2 ,mem_cb_24g_data_device2 
+02ca 20207d79 branch callback_func 
 
 p_g24_data_receive_attemp:
-02b8 204002bc call p_g24_bind_device_status 
-02b9 202001f2 branch p_g24_data_attemp 
+02cb 204002cf call p_g24_bind_device_status 
+02cc 202001f2 branch p_g24_data_attemp 
 
 p_g24_bind_device_status_check:
-02ba 6fe0c5d5 fetch 1 ,mem_24g_bind_device_status 
-02bb 207a0000 rtn blank 
+02cd 6fe0c5d5 fetch 1 ,mem_24g_bind_device_status 
+02ce 207a0000 rtn blank 
 
 p_g24_bind_device_status:
-02bc 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-02bd 2020339c branch g24_bind_device_status + 1 
+02cf 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+02d0 2020339c branch g24_bind_device_status + 1 
 
 p_g24_receive_transmit_ack:
-02be 204033be call g24_rx_interrupt_clear 
-02bf 20403119 call g24_receive_packet 
-02c0 24778000 nrtn user3 
+02d1 204033be call g24_rx_interrupt_clear 
+02d2 20403119 call g24_receive_packet 
+02d3 24778000 nrtn user3 
 
 p_g24_transmit_ack:
-02c1 6fe0c697 fetch 1 ,mem_24g_rxbuf_new 
-02c2 1fe97e00 rshift3 pdata ,pdata 
-02c3 67e0c589 store 1 ,mem_24g_data_type 
-02c4 204002e9 call p_g24_read_len_pid_crc 
-02c5 6fe0c7f5 fetch 1 ,mem_24g_rxdata_ack_flag 
-02c6 2feffe00 isolate1 bit_ack_24g ,pdata 
-02c7 2020b3fd branch g24tx_no_ack ,true 
-02c8 202033fa branch g24tx_with_ack 
+02d4 6fe0c697 fetch 1 ,mem_24g_rxbuf_new 
+02d5 1fe97e00 rshift3 pdata ,pdata 
+02d6 67e0c589 store 1 ,mem_24g_data_type 
+02d7 204002fc call p_g24_read_len_pid_crc 
+02d8 6fe0c7f5 fetch 1 ,mem_24g_rxdata_ack_flag 
+02d9 2feffe00 isolate1 bit_ack_24g ,pdata 
+02da 2020b3fd branch g24tx_no_ack ,true 
+02db 202033fa branch g24tx_with_ack 
 
 p_g24_bind_data_process:
-02c9 204033be call g24_rx_interrupt_clear 
-02ca 20403119 call g24_receive_packet 
-02cb 2437b3be nbranch g24_rx_interrupt_clear ,user3 
-02cc 204002d5 call p_g24_bind_data_parse 
-02cd 204002c1 call p_g24_transmit_ack 
-02ce 204002ba call p_g24_bind_device_status_check 
-02cf 2040493d call dongle_kb_bind_soft_reset 
-02d0 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-02d1 207a0000 rtn blank 
-02d2 6fe2462c fetch 4 ,mem_24g_transmitter_addr 
-02d3 207a0000 rtn blank 
-02d4 20203236 branch g24_update_addr_and_synccrc8 
+02dc 204033be call g24_rx_interrupt_clear 
+02dd 20403119 call g24_receive_packet 
+02de 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+02df 204002e8 call p_g24_bind_data_parse 
+02e0 204002d4 call p_g24_transmit_ack 
+02e1 204002cd call p_g24_bind_device_status_check 
+02e2 2040493d call dongle_kb_bind_soft_reset 
+02e3 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+02e4 207a0000 rtn blank 
+02e5 6fe2462c fetch 4 ,mem_24g_transmitter_addr 
+02e6 207a0000 rtn blank 
+02e7 20203236 branch g24_update_addr_and_synccrc8 
 
 p_g24_bind_data_parse:
-02d5 70462205 jam bind_mode_continue ,mem_24g_bind_mode_continue 
-02d6 d8c04697 arg mem_24g_rxbuf_new ,contr 
-02d7 d8a047af arg mem_24g_rxdata_temp_new ,contw 
-02d8 20407c89 call memcpy8 
-02d9 20203322 branch g24_bind_data_parse_next 
+02e8 70462205 jam bind_mode_continue ,mem_24g_bind_mode_continue 
+02e9 d8c04697 arg mem_24g_rxbuf_new ,contr 
+02ea d8a047af arg mem_24g_rxdata_temp_new ,contw 
+02eb 20407c89 call memcpy8 
+02ec 20203322 branch g24_bind_data_parse_next 
 
 p_g24_receive_update_rxbuff:
-02da 2040317d call g24_receive_byte 
-02db 67e0c697 store 1 ,mem_24g_rxbuf_new 
-02dc c51382e2 bmark1 mark_24g_rxmode ,p_g24_receive_skip 
-02dd 6fe0c697 fetch 1 ,mem_24g_rxbuf_new 
-02de 1fe97e00 rshift3 pdata ,pdata 
-02df 6848c589 fetcht 1 ,mem_24g_data_type 
-02e0 a8400e00 icompare bits_data ,temp 
-02e1 2420b18c nbranch g24_type_error ,true 
+02ed 2040317d call g24_receive_byte 
+02ee 67e0c697 store 1 ,mem_24g_rxbuf_new 
+02ef c51382f5 bmark1 mark_24g_rxmode ,p_g24_receive_skip 
+02f0 6fe0c697 fetch 1 ,mem_24g_rxbuf_new 
+02f1 1fe97e00 rshift3 pdata ,pdata 
+02f2 6848c589 fetcht 1 ,mem_24g_data_type 
+02f3 a8400e00 icompare bits_data ,temp 
+02f4 2420b18c nbranch g24_type_error ,true 
 
 p_g24_receive_skip:
-02e2 2040317d call g24_receive_byte 
-02e3 e7e08005 istore 1 ,contw 
-02e4 1fe67c44 sub pdata ,68 ,null 
-02e5 2421318e nbranch g24_len_over_error ,positive 
-02e6 1fe27200 copy pdata ,loopcnt 
-02e7 2022b154 branch g24rx_nopayload ,zero 
-02e8 20203151 branch g24rx_loop 
+02f5 2040317d call g24_receive_byte 
+02f6 e7e08005 istore 1 ,contw 
+02f7 1fe67c44 sub pdata ,68 ,null 
+02f8 2421318e nbranch g24_len_over_error ,positive 
+02f9 1fe27200 copy pdata ,loopcnt 
+02fa 2022b154 branch g24rx_nopayload ,zero 
+02fb 20203151 branch g24rx_loop 
 
 p_g24_read_len_pid_crc:
-02e9 6fe0c698 fetch 1 ,mem_24g_rxbuf_new + 1 
-02ea 67e0c57d store 1 ,mem_24g_rxdata_length 
-02eb 1fe0fe01 increase 1 ,pdata 
-02ec d8c04698 arg mem_24g_rxbuf_new + 1 ,contr 
-02ed 98c08c00 iadd contr ,contr 
-02ee efe18006 ifetch 3 ,contr 
-02ef 67e1c580 store 3 ,mem_24g_sta_crc 
-02f0 6fe0c697 fetch 1 ,mem_24g_rxbuf_new 
-02f1 1fe10401 and pdata ,0x01 ,temp 
-02f2 6048c7f5 storet 1 ,mem_24g_rxdata_ack_flag 
-02f3 1fe30400 rshift pdata ,temp 
-02f4 18410403 and temp ,0x03 ,temp 
-02f5 6048c586 storet 1 ,mem_24g_sta_pid 
-02f6 1fe97e00 rshift3 pdata ,pdata 
-02f7 67e0c697 store 1 ,mem_24g_rxbuf_new 
-02f8 20600000 rtn 
+02fc 6fe0c698 fetch 1 ,mem_24g_rxbuf_new + 1 
+02fd 67e0c57d store 1 ,mem_24g_rxdata_length 
+02fe 1fe0fe01 increase 1 ,pdata 
+02ff d8c04698 arg mem_24g_rxbuf_new + 1 ,contr 
+0300 98c08c00 iadd contr ,contr 
+0301 efe18006 ifetch 3 ,contr 
+0302 67e1c580 store 3 ,mem_24g_sta_crc 
+0303 6fe0c697 fetch 1 ,mem_24g_rxbuf_new 
+0304 1fe10401 and pdata ,0x01 ,temp 
+0305 6048c7f5 storet 1 ,mem_24g_rxdata_ack_flag 
+0306 1fe30400 rshift pdata ,temp 
+0307 18410403 and temp ,0x03 ,temp 
+0308 6048c586 storet 1 ,mem_24g_sta_pid 
+0309 1fe97e00 rshift3 pdata ,pdata 
+030a 67e0c697 store 1 ,mem_24g_rxbuf_new 
+030b 20600000 rtn 
 
 p_g24_rx_interrupt_clear:
-02f9 d8a04697 arg mem_24g_rxbuf_new ,contw 
-02fa df200046 arg 70 ,loopcnt 
-02fb 20207ca1 branch clear_mem 
+030c d8a04697 arg mem_24g_rxbuf_new ,contw 
+030d df200046 arg 70 ,loopcnt 
+030e 20207ca1 branch clear_mem 
 
 p_g24_search_mode_auto:
-02fc 6fe0c616 fetch 1 ,mem_24g_work_mode 
-02fd c1838000 rtnne dongle_search 
-02fe 20403476 call g24_search_mode_init 
-02ff 204034ae call g24_auto_addr_ch_search 
-0300 204002be call p_g24_receive_transmit_ack 
-0301 2437b3be nbranch g24_rx_interrupt_clear ,user3 
-0302 20403506 call g24_receiver_addr_check 
-0303 2042828e call p_g24_receive_packet_parse ,zero 
-0304 20203491 branch g24_search_mode_auto + 9 
+030f 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0310 c1838000 rtnne dongle_search 
+0311 20403476 call g24_search_mode_init 
+0312 204034ae call g24_auto_addr_ch_search 
+0313 204002d1 call p_g24_receive_transmit_ack 
+0314 2437830c nbranch p_g24_rx_interrupt_clear ,user3 
+0315 20403506 call g24_receiver_addr_check 
+0316 2042829b call p_g24_receive_packet_parse ,zero 
+0317 20203491 branch g24_search_mode_auto + 9 
 
 p_g24_ackpayload_parse:
-0305 20403214 call g24_read_len_pid_crc 
-0306 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0307 207a0000 rtn blank 
-0308 98007200 iforce loopcnt 
-0309 d8c04699 arg mem_24g_rxbuf_new + 2 ,contr 
-030a d8a04769 arg mem_24g_rxpayload_new ,contw 
-030b 20207cda branch memcpy 
+0318 20403214 call g24_read_len_pid_crc 
+0319 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+031a 207a0000 rtn blank 
+031b 98007200 iforce loopcnt 
+031c d8c04699 arg mem_24g_rxbuf_new + 2 ,contr 
+031d d8a04769 arg mem_24g_rxpayload_new ,contw 
+031e 20207cda branch memcpy 
 
 p_g24_transmit_prep:
-030c 6fe0c588 fetch 1 ,mem_24g_datalen 
-030d 1fe0fe03 increase 3 ,pdata 
-030e 67e0c58a store 1 ,mem_24g_txlen 
-030f 6fe0c5ac fetch 1 ,mem_24g_syncword_crc8 
-0310 67e0c723 store 1 ,mem_24g_txpayload_new 
-0311 6fe0c589 fetch 1 ,mem_24g_data_type 
-0312 1fe9fe00 lshift3 pdata ,pdata 
-0313 6848c57e fetcht 1 ,mem_24g_pid 
-0314 18410403 and temp ,0x03 ,temp 
-0315 18438400 lshift temp ,temp 
-0316 9841fe00 ior temp ,pdata 
-0317 6848c57f fetcht 1 ,mem_24g_no_ack 
-0318 9840fe00 iadd temp ,pdata 
-0319 e7e08005 istore 1 ,contw 
-031a 6fe0c588 fetch 1 ,mem_24g_datalen 
-031b e7e08005 istore 1 ,contw 
-031c 6fe0c588 fetch 1 ,mem_24g_datalen 
-031d 98007200 iforce loopcnt 
-031e d8c046dd arg mem_24g_txbuf_new ,contr 
-031f 20407cda call memcpy 
-0320 202031fc branch g24_transmit_prep_pdu_end 
+031f 6fe0c588 fetch 1 ,mem_24g_datalen 
+0320 1fe0fe03 increase 3 ,pdata 
+0321 67e0c58a store 1 ,mem_24g_txlen 
+0322 6fe0c5ac fetch 1 ,mem_24g_syncword_crc8 
+0323 67e0c723 store 1 ,mem_24g_txpayload_new 
+0324 6fe0c589 fetch 1 ,mem_24g_data_type 
+0325 1fe9fe00 lshift3 pdata ,pdata 
+0326 6848c57e fetcht 1 ,mem_24g_pid 
+0327 18410403 and temp ,0x03 ,temp 
+0328 18438400 lshift temp ,temp 
+0329 9841fe00 ior temp ,pdata 
+032a 6848c57f fetcht 1 ,mem_24g_no_ack 
+032b 9840fe00 iadd temp ,pdata 
+032c e7e08005 istore 1 ,contw 
+032d 6fe0c588 fetch 1 ,mem_24g_datalen 
+032e e7e08005 istore 1 ,contw 
+032f 6fe0c588 fetch 1 ,mem_24g_datalen 
+0330 98007200 iforce loopcnt 
+0331 d8c046dd arg mem_24g_txbuf_new ,contr 
+0332 20407cda call memcpy 
+0333 202031fc branch g24_transmit_prep_pdu_end 
 
 p_g24_transmit_packet:
-0321 c5178326 bmark1 mark_ble_lr ,p_g24_transmit_nolr 
-0322 6fe0c5ca fetch 1 ,mem_24g_disable_fec1 
-0323 243a0326 nbranch p_g24_transmit_nolr ,blank 
-0324 784efc00 disable encode_fec0 
-0325 782dfc00 enable encode_fec1 
+0334 c5178339 bmark1 mark_ble_lr ,p_g24_transmit_nolr 
+0335 6fe0c5ca fetch 1 ,mem_24g_disable_fec1 
+0336 243a0339 nbranch p_g24_transmit_nolr ,blank 
+0337 784efc00 disable encode_fec0 
+0338 782dfc00 enable encode_fec1 
 
 p_g24_transmit_nolr:
-0326 7823fc00 enable enable_white 
-0327 7824fc00 enable enable_crc 
-0328 6fe0c58a fetch 1 ,mem_24g_txlen 
-0329 98007200 iforce loopcnt 
-032a d8c04723 arg mem_24g_txpayload_new ,contr 
-032b 202031b3 branch g24tr_loop 
+0339 7823fc00 enable enable_white 
+033a 7824fc00 enable enable_crc 
+033b 6fe0c58a fetch 1 ,mem_24g_txlen 
+033c 98007200 iforce loopcnt 
+033d d8c04723 arg mem_24g_txpayload_new ,contr 
+033e 202031b3 branch g24tr_loop 
 
 p_dongle_dispatch:
 
 p_dongle_auto_bind:
-032c 20403402 call g24_mode_switch_init 
+033f 20403402 call g24_mode_switch_init 
 
 p_dongle_auto_bind_loop:
-032d 20403407 call g24_mode_switch_bind_work 
-032e 2040342d call g24_mode_switch_bind_search 
-032f 204048a3 call dongle_work_mode_auto 
-0330 20403469 call g24_bind_mode_auto 
-0331 20403488 call g24_search_mode_auto 
-0332 20404867 call dongle_usb_dispatch 
-0333 20400336 call p_dongle_keyboard_heart_tick_timer 
-0334 20400342 call p_dongle_mouse_heart_tick_timer 
-0335 2020032d branch p_dongle_auto_bind_loop 
+0340 20403407 call g24_mode_switch_bind_work 
+0341 2040342d call g24_mode_switch_bind_search 
+0342 204048a3 call dongle_work_mode_auto 
+0343 20403469 call g24_bind_mode_auto 
+0344 20403488 call g24_search_mode_auto 
+0345 20404867 call dongle_usb_dispatch 
+0346 20400349 call p_dongle_keyboard_heart_tick_timer 
+0347 20400355 call p_dongle_mouse_heart_tick_timer 
+0348 20200340 branch p_dongle_auto_bind_loop 
 
 p_dongle_keyboard_heart_tick_timer:
-0336 d840fffe arg 0xfffe ,temp 
-0337 6fe147f8 fetch 2 ,mem_dg_keyboard_heart_tick_timer 
-0338 98467c00 isub temp ,null 
-0339 20610000 rtn positive 
-033a 1fe0fe01 increase 1 ,pdata 
-033b 67e147f8 store 2 ,mem_dg_keyboard_heart_tick_timer 
-033c d8400000 arg 0 ,temp 
-033d da6005dc arg 1500 ,regc 
-033e 9a667c00 isub regc ,null 
-033f 79210400 setflag positive ,0 ,temp 
-0340 6048c7fc storet 1 ,mem_dg_keyboard_connected_status 
-0341 20600000 rtn 
+0349 d840fffe arg 0xfffe ,temp 
+034a 6fe147f8 fetch 2 ,mem_dg_keyboard_heart_tick_timer 
+034b 98467c00 isub temp ,null 
+034c 20610000 rtn positive 
+034d 1fe0fe01 increase 1 ,pdata 
+034e 67e147f8 store 2 ,mem_dg_keyboard_heart_tick_timer 
+034f d8400000 arg 0 ,temp 
+0350 da6005dc arg 1500 ,regc 
+0351 9a667c00 isub regc ,null 
+0352 79210400 setflag positive ,0 ,temp 
+0353 6048c7fc storet 1 ,mem_dg_keyboard_connected_status 
+0354 20600000 rtn 
 
 p_dongle_mouse_heart_tick_timer:
-0342 d840fffe arg 0xfffe ,temp 
-0343 6fe147fa fetch 2 ,mem_dg_mouse_heart_tick_timer 
-0344 98467c00 isub temp ,null 
-0345 20610000 rtn positive 
-0346 1fe0fe01 increase 1 ,pdata 
-0347 67e147fa store 2 ,mem_dg_mouse_heart_tick_timer 
-0348 d8400000 arg 0 ,temp 
-0349 da6005dc arg 1500 ,regc 
-034a 9a667c00 isub regc ,null 
-034b 79210400 setflag positive ,0 ,temp 
-034c 6048c7fd storet 1 ,mem_dg_mouse_connected_status 
-034d 20600000 rtn 
+0355 d840fffe arg 0xfffe ,temp 
+0356 6fe147fa fetch 2 ,mem_dg_mouse_heart_tick_timer 
+0357 98467c00 isub temp ,null 
+0358 20610000 rtn positive 
+0359 1fe0fe01 increase 1 ,pdata 
+035a 67e147fa store 2 ,mem_dg_mouse_heart_tick_timer 
+035b d8400000 arg 0 ,temp 
+035c da6005dc arg 1500 ,regc 
+035d 9a667c00 isub regc ,null 
+035e 79210400 setflag positive ,0 ,temp 
+035f 6048c7fd storet 1 ,mem_dg_mouse_connected_status 
+0360 20600000 rtn 
 
 p_dongle_usb_dispatch_analysis:
-034e 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
-034f 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
-0350 20407906 call usb_isr 
-0351 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
-0352 207a0000 rtn blank 
-0353 7008f700 jam 0 ,mem_usb0_get_set_report 
-0354 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
-0355 d84002ba arg pc_set_report ,temp 
-0356 98467c00 isub temp ,null 
-0357 24628000 nrtn zero 
-0358 6fe08875 fetch 1 ,mem_usb0_set_report_data 
-0359 c1dd0000 rtnne pc_report_id 
-035a 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
-035b c07b8361 beq cmd_check_status ,p_dongle_dispose_cmd_check_status 
-035c c07b036e beq cmd_set ,p_dongle_dispose_cmd_set 
-035d c07e0371 beq cmd_get_in_data ,p_dongle_dispose_cmd_get_in_data 
-035e c07f0377 beq cmd_get_translen ,p_dongle_dispose_cmd_get_translen 
-035f c03d037a beq cmd_set_test ,p_dongle_dispose_cmd_set_test 
-0360 20204875 branch dongle_usb_dispatch_next 
+0361 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
+0362 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
+0363 20407906 call usb_isr 
+0364 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
+0365 207a0000 rtn blank 
+0366 7008f700 jam 0 ,mem_usb0_get_set_report 
+0367 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
+0368 d84002ba arg pc_set_report ,temp 
+0369 98467c00 isub temp ,null 
+036a 24628000 nrtn zero 
+036b 6fe08875 fetch 1 ,mem_usb0_set_report_data 
+036c c1dd0000 rtnne pc_report_id 
+036d 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
+036e c07b8374 beq cmd_check_status ,p_dongle_dispose_cmd_check_status 
+036f c07b0381 beq cmd_set ,p_dongle_dispose_cmd_set 
+0370 c07e0384 beq cmd_get_in_data ,p_dongle_dispose_cmd_get_in_data 
+0371 c07f038a beq cmd_get_translen ,p_dongle_dispose_cmd_get_translen 
+0372 c03d038d beq cmd_set_test ,p_dongle_dispose_cmd_set_test 
+0373 20204875 branch dongle_usb_dispatch_next 
 
 p_dongle_dispose_cmd_check_status:
-0361 6fe0c7f6 fetch 1 ,mem_dg_keyboard_battery_level 
-0362 67e088b6 store 1 ,mem_usb0_get_report_data + 1 
-0363 6fe0c7f7 fetch 1 ,mem_dg_mouse_battery_level 
-0364 67e088b7 store 1 ,mem_usb0_get_report_data + 2 
-0365 6fe0c7fc fetch 1 ,mem_dg_keyboard_connected_status 
-0366 67e088b8 store 1 ,mem_usb0_get_report_data + 3 
-0367 6fe0c7fd fetch 1 ,mem_dg_mouse_connected_status 
-0368 67e088b9 store 1 ,mem_usb0_get_report_data + 4 
-0369 6fe0c7fe fetch 1 ,mem_dg_usb_driver_set_end 
-036a 67e088ba store 1 ,mem_usb0_get_report_data + 5 
-036b 6fe2458f fetch 4 ,mem_24g_addr 
-036c 67e208bd store 4 ,mem_usb0_get_report_data + 8 
-036d 20204880 branch dongle_usb0_data_ready_report_set1 
+0374 6fe0c7f6 fetch 1 ,mem_dg_keyboard_battery_level 
+0375 67e088b6 store 1 ,mem_usb0_get_report_data + 1 
+0376 6fe0c7f7 fetch 1 ,mem_dg_mouse_battery_level 
+0377 67e088b7 store 1 ,mem_usb0_get_report_data + 2 
+0378 6fe0c7fc fetch 1 ,mem_dg_keyboard_connected_status 
+0379 67e088b8 store 1 ,mem_usb0_get_report_data + 3 
+037a 6fe0c7fd fetch 1 ,mem_dg_mouse_connected_status 
+037b 67e088b9 store 1 ,mem_usb0_get_report_data + 4 
+037c 6fe0c7fe fetch 1 ,mem_dg_usb_driver_set_end 
+037d 67e088ba store 1 ,mem_usb0_get_report_data + 5 
+037e 6fe2458f fetch 4 ,mem_24g_addr 
+037f 67e208bd store 4 ,mem_usb0_get_report_data + 8 
+0380 20204880 branch dongle_usb0_data_ready_report_set1 
 
 p_dongle_dispose_cmd_set:
-036e 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
-036f 67e0c7ff store 1 ,mem_dg_data_type 
-0370 2020487a branch dongle_usb0_data_ready_report_set0 
+0381 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
+0382 67e0c7ff store 1 ,mem_dg_data_type 
+0383 2020487a branch dongle_usb0_data_ready_report_set0 
 
 p_dongle_dispose_cmd_get_in_data:
-0371 70087500 jam 0 ,mem_usb0_set_report_data 
-0372 d8c04803 arg mem_dg_usb_get_buff ,contr 
-0373 d8a008b5 arg mem_usb0_get_report_data ,contw 
-0374 df200040 arg 64 ,loopcnt 
-0375 20407ccc call memcpy_fast 
-0376 2020487a branch dongle_usb0_data_ready_report_set0 
+0384 70087500 jam 0 ,mem_usb0_set_report_data 
+0385 d8c04803 arg mem_dg_usb_get_buff ,contr 
+0386 d8a008b5 arg mem_usb0_get_report_data ,contw 
+0387 df200040 arg 64 ,loopcnt 
+0388 20407ccc call memcpy_fast 
+0389 2020487a branch dongle_usb0_data_ready_report_set0 
 
 p_dongle_dispose_cmd_get_translen:
-0377 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
-0378 67e0c800 store 1 ,mem_dg_data_len 
-0379 2020487a branch dongle_usb0_data_ready_report_set0 
+038a 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
+038b 67e0c800 store 1 ,mem_dg_data_len 
+038c 2020487a branch dongle_usb0_data_ready_report_set0 
 
 p_dongle_dispose_cmd_set_test:
-037a 70461602 jam dongle_test ,mem_24g_work_mode 
-037b 70461500 jam clear_init ,mem_24g_mode_init 
-037c 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
-037d 67e0c801 store 1 ,mem_dg_test_mode 
-037e 6fe08878 fetch 1 ,mem_usb0_set_report_data + 3 
-037f 67e0c802 store 1 ,mem_dg_test_ch 
-0380 7008b601 jam 0x01 ,mem_usb0_get_report_data + 1 
-0381 20204880 branch dongle_usb0_data_ready_report_set1 
+038d 70461602 jam dongle_test ,mem_24g_work_mode 
+038e 70461500 jam clear_init ,mem_24g_mode_init 
+038f 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
+0390 67e0c801 store 1 ,mem_dg_test_mode 
+0391 6fe08878 fetch 1 ,mem_usb0_set_report_data + 3 
+0392 67e0c802 store 1 ,mem_dg_test_ch 
+0393 7008b601 jam 0x01 ,mem_usb0_get_report_data + 1 
+0394 20204880 branch dongle_usb0_data_ready_report_set1 
 
 p_dongle_g24_mouse:
-0382 6fe0c7b1 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-0383 c28303a9 bbit1 data_dpi ,p_dongle_receive_ms_dpi_info 
-0384 c28383b6 bbit1 data_battery ,p_dongle_receive_ms_battery_info 
-0385 c28283b9 bbit1 data_heart ,p_dongle_receive_ms_heart_info 
+0395 6fe0c7b1 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+0396 c28303bc bbit1 data_dpi ,p_dongle_receive_ms_dpi_info 
+0397 c28383c9 bbit1 data_battery ,p_dongle_receive_ms_battery_info 
+0398 c28283cc bbit1 data_heart ,p_dongle_receive_ms_heart_info 
 
 p_dongle_g24_mouse_next:
-0386 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0387 1fe67c09 sub pdata ,0x09 ,null 
-0388 20228396 branch p_dongle_g24_mouse_data ,zero 
-0389 20400396 call p_dongle_g24_mouse_data 
-038a 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-038b 1fe0fff8 add pdata ,-8 ,pdata 
-038c 67e0c57d store 1 ,mem_24g_rxdata_length 
-038d 1fe27200 copy pdata ,loopcnt 
-038e d8a047b1 arg mem_24g_rxdata_temp_new + 2 ,contw 
-038f d8c047b9 arg mem_24g_rxdata_temp_new + 10 ,contr 
-0390 20407cda call memcpy 
-0391 6fe0c7b1 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-0392 c28303a9 bbit1 data_dpi ,p_dongle_receive_ms_dpi_info 
-0393 c28383b6 bbit1 data_battery ,p_dongle_receive_ms_battery_info 
-0394 c28283b9 bbit1 data_heart ,p_dongle_receive_ms_heart_info 
-0395 20600000 rtn 
+0399 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+039a 1fe67c09 sub pdata ,0x09 ,null 
+039b 202283a9 branch p_dongle_g24_mouse_data ,zero 
+039c 204003a9 call p_dongle_g24_mouse_data 
+039d 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+039e 1fe0fff8 add pdata ,-8 ,pdata 
+039f 67e0c57d store 1 ,mem_24g_rxdata_length 
+03a0 1fe27200 copy pdata ,loopcnt 
+03a1 d8a047b1 arg mem_24g_rxdata_temp_new + 2 ,contw 
+03a2 d8c047b9 arg mem_24g_rxdata_temp_new + 10 ,contr 
+03a3 20407cda call memcpy 
+03a4 6fe0c7b1 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+03a5 c28303bc bbit1 data_dpi ,p_dongle_receive_ms_dpi_info 
+03a6 c28383c9 bbit1 data_battery ,p_dongle_receive_ms_battery_info 
+03a7 c28283cc bbit1 data_heart ,p_dongle_receive_ms_heart_info 
+03a8 20600000 rtn 
 
 p_dongle_g24_mouse_data:
-0396 58000001 setarg ms_report_id 
-0397 67e08913 store 1 ,mem_usb_mouse_data 
-0398 6fe3c7b2 fetch 7 ,mem_24g_rxdata_temp_new + 3 
-0399 e7e38005 istore 7 ,contw 
-039a 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-039b 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
-039c 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-039d 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
-039e 6fe38914 fetch 7 ,mem_usb_mouse_data + 1 
-039f 67e3c945 store 7 ,mem_dg_mouse_data 
-03a0 6fe0c945 fetch 1 ,mem_dg_mouse_data 
-03a1 6848c94c fetcht 1 ,mem_dg_mouse_key_data_last 
-03a2 67e0c94c store 1 ,mem_dg_mouse_key_data_last 
-03a3 98467c00 isub temp ,null 
-03a4 242283a7 nbranch p_dongle_mouse_data_tx_enable ,zero 
+03a9 58000001 setarg ms_report_id 
+03aa 67e08913 store 1 ,mem_usb_mouse_data 
+03ab 6fe3c7b2 fetch 7 ,mem_24g_rxdata_temp_new + 3 
+03ac e7e38005 istore 7 ,contw 
+03ad 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+03ae 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
+03af 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+03b0 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
+03b1 6fe38914 fetch 7 ,mem_usb_mouse_data + 1 
+03b2 67e3c945 store 7 ,mem_dg_mouse_data 
+03b3 6fe0c945 fetch 1 ,mem_dg_mouse_data 
+03b4 6848c94c fetcht 1 ,mem_dg_mouse_key_data_last 
+03b5 67e0c94c store 1 ,mem_dg_mouse_key_data_last 
+03b6 98467c00 isub temp ,null 
+03b7 242283ba nbranch p_dongle_mouse_data_tx_enable ,zero 
 
 p_dongle_receive_mouse_data_check:
-03a5 6fe34946 fetch 6 ,mem_dg_mouse_data + 1 
-03a6 207a0000 rtn blank 
+03b8 6fe34946 fetch 6 ,mem_dg_mouse_data + 1 
+03b9 207a0000 rtn blank 
 
 p_dongle_mouse_data_tx_enable:
-03a7 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
-03a8 202003be branch p_dongle_usb_tx_enable_ep2 
+03ba 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
+03bb 202003d0 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_receive_ms_dpi_info:
-03a9 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-03aa 6848c94d fetcht 1 ,mem_dg_mouse_dpi_level 
-03ab 67e0c94d store 1 ,mem_dg_mouse_dpi_level 
-03ac 98467c00 isub temp ,null 
-03ad 20628000 rtn zero 
+03bc 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+03bd 6848c94d fetcht 1 ,mem_dg_mouse_dpi_level 
+03be 67e0c94d store 1 ,mem_dg_mouse_dpi_level 
+03bf 98467c00 isub temp ,null 
+03c0 20628000 rtn zero 
 
 p_dongle_usb_tx_dpi_level_enable:
-03ae 70494f40 jam 0x40 ,mem_usb_dpi_info_data 
-03af 704950a1 jam report_id_data_in ,mem_usb_dpi_info_data + 1 
-03b0 70495105 jam ms_type ,mem_usb_dpi_info_data + 2 
-03b1 6fe0c94d fetch 1 ,mem_dg_mouse_dpi_level 
-03b2 67e0c952 store 1 ,mem_usb_dpi_info_data + 3 
-03b3 70495300 jam 0 ,mem_usb_dpi_info_data + 4 
-03b4 70090c23 jam usb_ep2_dpi ,mem_usb_ep2_data 
-03b5 202003be branch p_dongle_usb_tx_enable_ep2 
+03c1 70494f40 jam 0x40 ,mem_usb_dpi_info_data 
+03c2 704950a1 jam report_id_data_in ,mem_usb_dpi_info_data + 1 
+03c3 70495105 jam ms_type ,mem_usb_dpi_info_data + 2 
+03c4 6fe0c94d fetch 1 ,mem_dg_mouse_dpi_level 
+03c5 67e0c952 store 1 ,mem_usb_dpi_info_data + 3 
+03c6 70495300 jam 0 ,mem_usb_dpi_info_data + 4 
+03c7 70090c23 jam usb_ep2_dpi ,mem_usb_ep2_data 
+03c8 202003d0 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_receive_ms_battery_info:
-03b6 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-03b7 67e0c7f7 store 1 ,mem_dg_mouse_battery_level 
-03b8 20600000 rtn 
+03c9 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+03ca 67e0c7f7 store 1 ,mem_dg_mouse_battery_level 
+03cb 20600000 rtn 
 
 p_dongle_receive_ms_heart_info:
-03b9 6fe0c94e fetch 1 ,mem_dg_usb_ep2_data_flag 
-03ba 207a0000 rtn blank 
-03bb 70494e00 jam 0 ,mem_dg_usb_ep2_data_flag 
+03cc 6fe0c94e fetch 1 ,mem_dg_usb_ep2_data_flag 
+03cd 207a0000 rtn blank 
+03ce 70494e00 jam 0 ,mem_dg_usb_ep2_data_flag 
 
 p_24g_ackpayload_enable_set:
-03bc 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
-03bd 20600000 rtn 
+03cf 20600000 rtn 
 
 p_dongle_usb_tx_enable_ep2:
-03be 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-03bf 207a0000 rtn blank 
-03c0 da20493d arg mem_usb_ep2_fifo ,rega 
-03c1 20407da5 call fifo_is_full 
-03c2 247a0000 nrtn blank 
-03c3 6fe0890c fetch 1 ,mem_usb_ep2_data 
-03c4 67e0866f store 1 ,mem_fifo_temp 
-03c5 da20493d arg mem_usb_ep2_fifo ,rega 
-03c6 20207d8b branch fifo_in 
+03d0 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+03d1 207a0000 rtn blank 
+03d2 da20493d arg mem_usb_ep2_fifo ,rega 
+03d3 20407da5 call fifo_is_full 
+03d4 247a0000 nrtn blank 
+03d5 6fe0890c fetch 1 ,mem_usb_ep2_data 
+03d6 67e0866f store 1 ,mem_fifo_temp 
+03d7 da20493d arg mem_usb_ep2_fifo ,rega 
+03d8 20207d8b branch fifo_in 
 
 p_dongle_g24_kb:
-03c7 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-03c8 c00003cc beq 0 ,p_dongle_g24_kb_type0 
-03c9 c00103d2 beq 2 ,p_dongle_g24_kb_type2 
-03ca c00183d5 beq 3 ,p_dongle_g24_kb_type3 
-03cb 202033be branch g24_rx_interrupt_clear 
+03d9 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+03da c00003de beq 0 ,p_dongle_g24_kb_type0 
+03db c00103e4 beq 2 ,p_dongle_g24_kb_type2 
+03dc c00183e7 beq 3 ,p_dongle_g24_kb_type3 
+03dd 202033be branch g24_rx_interrupt_clear 
 
 p_dongle_g24_kb_type0:
-03cc 6fe0c7b4 fetch 1 ,mem_24g_rxdata_temp_new + 5 
-03cd 67e0c611 store 1 ,mem_24g_ackpayload_enable 
-03ce 7047b400 jam 0 ,mem_24g_rxdata_temp_new + 5 
-03cf d8a00923 arg mem_usb_kb_data ,contw 
-03d0 d8c047b3 arg mem_24g_rxdata_temp_new + 4 ,contr 
-03d1 202048ef branch dongle_g24_kb_type0 + 5 
+03de 6fe0c7b4 fetch 1 ,mem_24g_rxdata_temp_new + 5 
+03df 67e0c611 store 1 ,mem_24g_ackpayload_enable 
+03e0 7047b400 jam 0 ,mem_24g_rxdata_temp_new + 5 
+03e1 d8a00923 arg mem_usb_kb_data ,contw 
+03e2 d8c047b3 arg mem_24g_rxdata_temp_new + 4 ,contr 
+03e3 202048ef branch dongle_g24_kb_type0 + 5 
 
 p_dongle_g24_kb_type2:
-03d2 d8a00943 arg mem_usb_kb_system ,contw 
-03d3 d8c047b2 arg mem_24g_rxdata_temp_new + 3 ,contr 
-03d4 2020491f branch dongle_g24_kb_type2 + 2 
+03e4 d8a00943 arg mem_usb_kb_system ,contw 
+03e5 d8c047b2 arg mem_24g_rxdata_temp_new + 3 ,contr 
+03e6 2020491f branch dongle_g24_kb_type2 + 2 
 
 p_dongle_g24_kb_type3:
-03d5 d8a00933 arg mem_usb_kb_multikey ,contw 
-03d6 d8c047b2 arg mem_24g_rxdata_temp_new + 3 ,contr 
-03d7 20204907 branch dongle_g24_kb_type3 + 2 
+03e7 d8a00933 arg mem_usb_kb_multikey ,contw 
+03e8 d8c047b2 arg mem_24g_rxdata_temp_new + 3 ,contr 
+03e9 20204907 branch dongle_g24_kb_type3 + 2 
               org 0x2000
 
 start:
@@ -8352,6 +8374,8 @@
 350e d8e00008 arg g24_timer_nodata ,queue 
 350f 20407cef call timer_check 
 3510 247a0000 nrtn blank 
+
+g24_nodata_timer_over:
 3511 70461400 jam 0 ,mem_24g_nodata_timer_enable 
 3512 70462200 jam 0 ,mem_24g_bind_mode_continue 
 3513 2040341f call g24_mode_b_s_switch_init 
Index: program/g24_protocol_stack/24g_receiver.prog
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle/program/g24_protocol_stack/24g_receiver.prog	(revision 1975)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle/program/g24_protocol_stack/24g_receiver.prog	(working copy)
@@ -526,6 +526,7 @@
 	arg G24_TIMER_NODATA,queue
 	call timer_check
 	nrtn blank
+g24_nodata_timer_over:
 	jam 0,mem_24g_nodata_timer_enable
 	jam 0,mem_24g_bind_mode_continue
 	call g24_mode_B_S_switch_init	//works on auto pair only	
Index: program/patch.prog
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle/program/patch.prog	(revision 1980)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle/program/patch.prog	(working copy)
@@ -841,13 +841,29 @@
 	call dongle_g24_blank_data_process
 	fetch 1,mem_24g_pair_mode
 	nrtn blank
-	branch g24_nodata_process
+	//branch g24_nodata_process
+	fetch 1,mem_24g_ackpayload_enable
+	rtnne 0
+	fetch 1,mem_24g_nodata_timer_enable
+	rtn blank
+	arg G24_TIMER_NODATA,queue
+	call timer_check
+	nrtn blank
+	call g24_ch_process+3
+	branch g24_nodata_timer_over
+
+p_g24_ch_process:	
+	fetch 1,mem_24g_abort_packet
+	beq 1,rssi_noise_monitor
+	fetch 1,mem_24g_hop_packet
+	beq 1,g24_ch_receive_hop_pac
+	rtn
 
 p_g24_work_mode_start:
 	fetch 1,mem_24g_work_mode
 	rtnne DONGLE_WORK
 	call g24_work_init
-	call g24_ch_process
+	call p_g24_ch_process
 p_g24_receive_packet_start:
 	call p_g24_receive_transmit_ack
 	nbranch g24_rx_interrupt_clear,user3
@@ -863,7 +879,7 @@
 	call memcpy
 	jam 0,mem_24g_mode_switch
 	fetch 1,mem_24g_pair_mode
-	call g24_enable_nodata_timer,blank
+	call p_g24_enable_nodata_timer,blank
 p_g24_receive_packet_parse_end:
 	fetch 1,mem_24g_rxdata_temp_new+2
 	beq DATATYPE_ATTEMP,p_g24_data_receive_attemp	//reconn packet
@@ -872,6 +888,14 @@
 	beq DATATYPE_DEVICE2,p_g24_data_device2	//keyboard
 	branch g24_rx_interrupt_clear
 
+p_g24_enable_nodata_timer:
+	fetch 1,mem_24g_bind_device_living
+	branch g24_enable_nodata_timer,blank
+	jam 1,mem_24g_nodata_timer_enable
+	setarg 1600
+	arg G24_TIMER_NODATA,queue
+	branch timer_init
+
 p_g24_data_device1:
 	call g24_binding_dvc1_living	//works on auto pair only
 	call g24_ch_timer_reinit
@@ -1009,7 +1033,7 @@
 	call g24_search_mode_init
 	call g24_auto_addr_ch_search
 	call p_g24_receive_transmit_ack
-	nbranch g24_rx_interrupt_clear,user3
+	nbranch p_g24_rx_interrupt_clear,user3
 	call g24_receiver_addr_check
 	call p_g24_receive_packet_parse,zero
 	branch g24_search_mode_auto+9
@@ -1272,7 +1296,7 @@
 	rtn blank
 	jam 0,mem_dg_usb_ep2_data_flag
 p_24g_ackpayload_enable_set:
-	jam REPORT_ID_DATA_OUT,mem_24g_ackpayload_enable
+//	jam REPORT_ID_DATA_OUT,mem_24g_ackpayload_enable
 //	jam REPORT_ID_DATA_OUT,mem_24g_ackpayload_enable_temp
 	rtn
 
