Index: format/g24.format
===================================================================
--- /branch/USB/dongle/format/g24.format	(revision 3436)
+++ /branch/USB/dongle/format/g24.format	(working copy)
@@ -126,6 +126,8 @@
 1 mem_24g_txcnt
 1 mem_24g_auto_paring_switch
 1 mem_24g_led_status
+1 mem_24g_pc_sleep
+1 mem_24g_pc_sleep_flag
 
 1 mem_24g_bind_delay_count
 1 mem_24g_work_delay_count
Index: output/eeprom.dat
===================================================================
--- /branch/USB/dongle/output/eeprom.dat	(revision 3436)
+++ /branch/USB/dongle/output/eeprom.dat	(working copy)
@@ -2,24 +2,24 @@
 02
 aa
 55
-da
-12
+72
+13
 c2
 84
 00
 0a
 c0
 42
-83
-fa
+84
+20
 c0
 44
 83
-d2
+f8
 c0
 00
-03
-f2
+04
+18
 c0
 47
 00
@@ -27,7 +27,7 @@
 c0
 62
 00
-73
+82
 c0
 7b
 80
@@ -378,8 +378,12 @@
 03
 c0
 00
+00
+60
+c0
+00
 80
-5f
+6e
 20
 20
 49
@@ -389,9 +393,65 @@
 8c
 6f
 c0
+01
+80
+63
+20
+20
+49
+77
+68
+00
+8c
+74
+c0
+80
+49
+84
+68
+00
+8c
+75
+c0
+80
+49
+84
+68
+00
+8c
+6e
+c0
+00
+00
+6a
+20
+20
+4a
+7e
+68
+00
+8c
+70
+c0
+80
+c9
+84
+70
+49
+7a
+03
+20
+20
+4a
+84
+68
+00
+8c
+6f
+c0
 04
 80
-62
+71
 20
 20
 49
@@ -423,7 +483,7 @@
 24
 5a
 00
-6c
+7b
 68
 00
 8d
@@ -431,7 +491,7 @@
 24
 5a
 00
-6f
+7e
 20
 20
 4a
@@ -466,11 +526,11 @@
 00
 70
 49
-81
+83
 00
 70
 49
-79
+7b
 07
 20
 40
@@ -495,19 +555,19 @@
 20
 40
 00
-90
+9f
 20
 40
 01
-6b
+7a
 20
 40
 00
-85
+94
 20
 40
 00
-83
+92
 68
 00
 c8
@@ -515,15 +575,15 @@
 c0
 00
 01
-bf
+d0
 c0
 00
 80
-9a
+a9
 c0
 07
 80
-96
+a5
 20
 60
 00
@@ -531,7 +591,7 @@
 20
 40
 00
-8c
+9b
 20
 20
 65
@@ -543,7 +603,7 @@
 20
 40
 00
-88
+97
 20
 20
 65
@@ -607,39 +667,39 @@
 20
 40
 00
-9f
+ae
 20
 40
 00
-a3
+b2
 20
 40
 01
-89
+98
 20
 20
 00
-97
+a6
 20
 40
 00
-9f
+ae
 20
 40
 00
-a3
+b2
 20
 40
 00
-ee
+fd
 20
 40
 01
-89
+98
 20
 20
 00
-9b
+aa
 70
 48
 b8
@@ -667,19 +727,19 @@
 20
 40
 00
-a9
+b8
 20
 40
 00
-b7
+c6
 20
 40
 03
-0f
+35
 20
 20
 00
-d6
+e5
 68
 00
 c8
@@ -727,15 +787,15 @@
 20
 40
 04
-0f
+35
 20
 40
 04
-2f
+55
 20
 20
 01
-0a
+19
 68
 00
 c8
@@ -743,7 +803,7 @@
 c0
 00
 80
-d0
+df
 68
 00
 c8
@@ -751,7 +811,7 @@
 c0
 00
 80
-ca
+d9
 68
 0a
 48
@@ -811,7 +871,7 @@
 20
 20
 04
-2f
+55
 70
 48
 b9
@@ -819,7 +879,7 @@
 20
 20
 04
-2f
+55
 1c
 42
 7e
@@ -843,7 +903,7 @@
 20
 40
 04
-0a
+30
 60
 08
 c8
@@ -859,19 +919,19 @@
 20
 20
 04
-2f
+55
 20
 40
 00
-d9
+e8
 20
 40
 00
-e0
+ef
 20
 20
 00
-e7
+f6
 68
 00
 c8
@@ -966,12 +1026,12 @@
 00
 20
 40
-00
-f2
+01
+01
 20
 20
-00
-fe
+01
+0d
 68
 00
 c8
@@ -1019,18 +1079,18 @@
 20
 20
 04
-0f
+35
 20
 40
 02
-42
+53
 24
 37
 81
-0a
+19
 70
 49
-7a
+7c
 05
 d8
 c0
@@ -1055,19 +1115,19 @@
 c0
 55
 01
-28
+37
 c0
 2a
 81
-35
+44
 c0
 11
 01
-45
+54
 c0
 7f
 81
-61
+70
 d8
 a0
 47
@@ -1103,11 +1163,11 @@
 c0
 00
 81
-15
+24
 c0
 01
 01
-19
+28
 20
 60
 00
@@ -1115,7 +1175,7 @@
 68
 00
 c9
-81
+83
 c4
 00
 00
@@ -1131,7 +1191,7 @@
 68
 00
 c9
-81
+83
 c4
 00
 80
@@ -1139,7 +1199,7 @@
 20
 20
 01
-17
+26
 68
 00
 c8
@@ -1151,7 +1211,7 @@
 68
 00
 c9
-81
+83
 1f
 e1
 fe
@@ -1159,7 +1219,7 @@
 60
 00
 c9
-81
+83
 20
 60
 00
@@ -1175,7 +1235,7 @@
 68
 00
 c9
-81
+83
 1f
 e1
 fe
@@ -1183,7 +1243,7 @@
 60
 00
 c9
-81
+83
 20
 60
 00
@@ -1195,11 +1255,11 @@
 c0
 00
 81
-2c
+3b
 c0
 01
 01
-32
+41
 20
 60
 00
@@ -1239,7 +1299,7 @@
 20
 20
 01
-2e
+3d
 68
 00
 c8
@@ -1247,11 +1307,11 @@
 c0
 00
 81
-39
+48
 c0
 01
 01
-3f
+4e
 20
 60
 00
@@ -1259,7 +1319,7 @@
 20
 40
 01
-2d
+3c
 68
 00
 c8
@@ -1267,7 +1327,7 @@
 c0
 00
 81
-3d
+4c
 20
 60
 00
@@ -1283,7 +1343,7 @@
 20
 40
 01
-33
+42
 68
 00
 c8
@@ -1291,7 +1351,7 @@
 c0
 00
 81
-43
+52
 20
 60
 00
@@ -1311,11 +1371,11 @@
 c0
 00
 81
-49
+58
 c0
 01
 01
-53
+62
 20
 60
 00
@@ -1327,7 +1387,7 @@
 c0
 01
 01
-4c
+5b
 20
 60
 00
@@ -1335,7 +1395,7 @@
 20
 40
 01
-1c
+2b
 68
 00
 c8
@@ -1359,7 +1419,7 @@
 20
 20
 01
-0a
+19
 68
 00
 c8
@@ -1367,7 +1427,7 @@
 c0
 80
 01
-56
+65
 20
 60
 00
@@ -1375,7 +1435,7 @@
 20
 40
 01
-22
+31
 68
 00
 c8
@@ -1391,7 +1451,7 @@
 20
 40
 01
-50
+5f
 68
 00
 91
@@ -1407,7 +1467,7 @@
 20
 40
 00
-88
+97
 20
 40
 65
@@ -1423,11 +1483,11 @@
 c0
 00
 81
-65
+74
 c0
 01
 01
-68
+77
 20
 60
 00
@@ -1539,7 +1599,7 @@
 24
 21
 01
-81
+90
 58
 00
 49
@@ -1580,6 +1640,14 @@
 80
 04
 ff
+68
+00
+8d
+39
+20
+5a
+03
+05
 20
 40
 48
@@ -1627,11 +1695,11 @@
 c0
 50
 01
-a6
+b7
 c0
 50
 81
-9c
+ad
 c0
 53
 30
@@ -1639,15 +1707,15 @@
 c0
 53
 81
-ab
+bc
 c0
 54
 81
-b1
+c2
 c0
 58
 01
-b3
+c4
 20
 20
 30
@@ -1659,11 +1727,11 @@
 c0
 00
 81
-a1
+b2
 c0
 42
 01
-a4
+b5
 c0
 53
 b0
@@ -1687,11 +1755,11 @@
 20
 40
 00
-a0
+af
 20
 20
 01
-a1
+b2
 68
 00
 8c
@@ -1699,7 +1767,7 @@
 c0
 40
 81
-a9
+ba
 20
 20
 30
@@ -1707,7 +1775,7 @@
 20
 40
 02
-06
+17
 20
 20
 30
@@ -1719,7 +1787,7 @@
 c0
 00
 01
-af
+c0
 c0
 00
 b0
@@ -1763,11 +1831,11 @@
 c0
 01
 81
-bd
+ce
 20
 40
 01
-70
+7f
 68
 00
 c9
@@ -1775,7 +1843,7 @@
 c0
 01
 81
-bd
+ce
 70
 0c
 f7
@@ -1795,35 +1863,35 @@
 20
 40
 01
-e4
+f5
 20
 40
 01
-ea
+fb
 20
 40
 02
-15
+26
 20
 40
 01
-c7
+d8
 20
 40
 01
-cb
+dc
 20
 40
 02
-46
+57
 20
 40
 01
-89
+98
 20
 20
 01
-c0
+d1
 68
 00
 c8
@@ -1835,11 +1903,11 @@
 20
 40
 00
-a5
+b4
 20
 20
 02
-34
+45
 68
 00
 c8
@@ -1850,12 +1918,12 @@
 00
 20
 40
-00
-f2
+01
+01
 20
 40
-00
-fe
+01
+0d
 68
 00
 c8
@@ -1871,15 +1939,15 @@
 20
 40
 00
-9f
+ae
 20
 40
 02
-32
+43
 20
 20
 01
-e7
+f8
 20
 40
 7f
@@ -1975,19 +2043,19 @@
 20
 40
 01
-d5
+e6
 24
 74
 00
 00
 20
 40
-01
-ff
+02
+10
 20
 40
-01
-f7
+02
+08
 68
 00
 c8
@@ -2006,12 +2074,12 @@
 bc
 c0
 00
-01
-fc
+02
+0d
 c0
 00
 82
-04
+15
 20
 60
 00
@@ -2019,7 +2087,7 @@
 68
 00
 c9
-7a
+7c
 20
 7a
 00
@@ -2031,7 +2099,7 @@
 60
 00
 c9
-7a
+7c
 20
 60
 00
@@ -2039,19 +2107,19 @@
 68
 00
 c9
-7a
+7c
 24
 3a
 02
-06
+17
 20
 20
 00
-9f
+ae
 68
 00
 c9
-79
+7b
 20
 7a
 00
@@ -2063,7 +2131,7 @@
 60
 00
 c9
-79
+7b
 20
 60
 00
@@ -2071,11 +2139,11 @@
 68
 00
 c9
-79
+7b
 24
 3a
 00
-9f
+ae
 70
 48
 a4
@@ -2091,15 +2159,15 @@
 68
 00
 c9
-7f
+81
 20
 5a
 02
-30
+41
 68
 00
 c9
-7c
+7e
 c3
 80
 00
@@ -2111,14 +2179,14 @@
 60
 00
 c9
-7c
+7e
 70
 49
-7b
+7d
 01
 70
 49
-80
+82
 00
 58
 00
@@ -2127,7 +2195,7 @@
 60
 01
 49
-7d
+7f
 70
 48
 5b
@@ -2135,11 +2203,11 @@
 20
 20
 01
-e7
+f8
 68
 00
 c9
-7f
+81
 24
 7a
 00
@@ -2147,7 +2215,7 @@
 68
 00
 c9
-7b
+7d
 20
 7a
 00
@@ -2155,7 +2223,7 @@
 20
 40
 01
-d5
+e6
 24
 74
 00
@@ -2163,7 +2231,7 @@
 68
 01
 49
-7d
+7f
 1f
 e0
 fe
@@ -2171,7 +2239,7 @@
 60
 01
 49
-7d
+7f
 d8
 40
 07
@@ -2183,15 +2251,15 @@
 20
 21
 02
-2c
+3d
 20
 40
-01
-f7
+02
+08
 68
 00
 c9
-80
+82
 1f
 e0
 fe
@@ -2203,15 +2271,15 @@
 60
 00
 c9
-80
+82
 c0
 00
 02
-29
+3a
 c0
 00
 82
-06
+17
 20
 60
 00
@@ -2219,26 +2287,26 @@
 68
 00
 c9
-7a
+7c
 24
 3a
 02
-06
+17
 20
 20
 02
-3f
+50
 70
 49
-7f
+81
 01
 20
 20
 02
-3f
+50
 70
 49
-7b
+7d
 00
 20
 60
@@ -2246,7 +2314,7 @@
 00
 70
 49
-7b
+7d
 01
 20
 60
@@ -2294,16 +2362,16 @@
 00
 70
 49
-79
+7b
 00
 70
 49
-7a
+7c
 00
 20
 40
 02
-09
+1a
 70
 48
 a4
@@ -2315,15 +2383,15 @@
 20
 20
 01
-0a
+19
 20
 40
 01
-0a
+19
 20
 40
 04
-49
+6f
 24
 77
 80
@@ -2331,7 +2399,7 @@
 20
 20
 02
-e3
+f4
 68
 00
 c8
@@ -2343,27 +2411,27 @@
 20
 40
 02
-6d
+7e
 20
 40
 02
-81
+92
 20
 40
 02
-42
+53
 24
 37
 81
-0a
+19
 20
 40
 02
-7d
+8e
 20
 42
 83
-12
+38
 68
 00
 c8
@@ -2371,7 +2439,7 @@
 20
 5a
 02
-2e
+3f
 70
 48
 a4
@@ -2399,23 +2467,23 @@
 24
 42
 82
-64
+75
 20
 40
 01
-0a
+19
 20
 40
 02
-32
+43
 20
 40
 02
-7d
+8e
 20
 22
 82
-66
+77
 68
 02
 48
@@ -2431,7 +2499,7 @@
 20
 22
 82
-69
+7a
 68
 02
 48
@@ -2447,7 +2515,7 @@
 20
 22
 82
-6b
+7c
 20
 60
 00
@@ -2479,7 +2547,7 @@
 20
 20
 02
-67
+78
 68
 00
 c8
@@ -2487,7 +2555,7 @@
 20
 20
 02
-67
+78
 68
 00
 c8
@@ -2527,7 +2595,7 @@
 20
 40
 02
-7d
+8e
 24
 62
 80
@@ -2587,19 +2655,19 @@
 c0
 00
 02
-a4
+b5
 c0
 00
 82
-be
+cf
 c0
 01
 02
-8a
+9b
 c0
 01
 82
-be
+cf
 20
 60
 00
@@ -2607,7 +2675,7 @@
 20
 40
 01
-2d
+3c
 68
 02
 48
@@ -2615,11 +2683,11 @@
 20
 3a
 02
-81
+92
 20
 40
 04
-0f
+35
 68
 00
 c8
@@ -2627,7 +2695,7 @@
 20
 5a
 02
-9f
+b0
 68
 00
 c8
@@ -2647,7 +2715,7 @@
 20
 40
 04
-03
+29
 60
 08
 c8
@@ -2655,7 +2723,7 @@
 20
 40
 04
-0a
+30
 60
 08
 c8
@@ -2675,7 +2743,7 @@
 20
 40
 04
-33
+59
 60
 08
 c8
@@ -2699,7 +2767,7 @@
 20
 40
 04
-37
+5d
 60
 00
 c8
@@ -2711,7 +2779,7 @@
 20
 40
 01
-33
+42
 68
 02
 48
@@ -2719,11 +2787,11 @@
 20
 3a
 02
-81
+92
 20
 40
 04
-0f
+35
 68
 00
 c8
@@ -2731,7 +2799,7 @@
 20
 5a
 02
-b9
+ca
 68
 00
 c8
@@ -2751,7 +2819,7 @@
 20
 40
 04
-03
+29
 60
 08
 c8
@@ -2759,7 +2827,7 @@
 20
 40
 04
-0a
+30
 60
 08
 c8
@@ -2779,7 +2847,7 @@
 20
 40
 04
-33
+59
 60
 08
 c8
@@ -2803,7 +2871,7 @@
 20
 40
 04
-37
+5d
 60
 00
 c8
@@ -2815,7 +2883,7 @@
 20
 40
 01
-2d
+3c
 68
 02
 48
@@ -2823,7 +2891,7 @@
 20
 40
 04
-0f
+35
 68
 00
 c8
@@ -2831,7 +2899,7 @@
 20
 5a
 02
-d2
+e3
 68
 00
 c8
@@ -2851,7 +2919,7 @@
 20
 40
 04
-03
+29
 60
 08
 c8
@@ -2859,7 +2927,7 @@
 20
 40
 04
-0a
+30
 60
 08
 c8
@@ -2879,7 +2947,7 @@
 20
 40
 04
-33
+59
 60
 08
 c8
@@ -2971,7 +3039,7 @@
 20
 40
 02
-d6
+e7
 68
 00
 c7
@@ -2983,23 +3051,23 @@
 20
 20
 82
-ec
+fd
 20
 40
 02
-ed
+fe
 20
 40
 04
-1d
+43
 20
 40
 04
-93
+b9
 20
 20
 04
-8b
+b1
 70
 48
 36
@@ -3007,6 +3075,46 @@
 68
 00
 c8
+37
+c0
+00
+83
+02
+c0
+01
+03
+07
+68
+00
+c9
+7a
+c2
+80
+03
+0f
+20
+20
+03
+09
+70
+49
+7a
+00
+20
+60
+00
+00
+68
+00
+c9
+7a
+c2
+80
+83
+13
+68
+00
+c8
 b8
 20
 7a
@@ -3014,16 +3122,60 @@
 00
 c0
 00
-82
-f4
+83
+1a
 c0
 01
-02
-fc
+03
+22
 c0
 01
 83
-06
+2c
+20
+60
+00
+00
+68
+00
+c9
+7a
+79
+3f
+fe
+00
+60
+00
+c9
+7a
+20
+20
+03
+16
+68
+00
+c9
+7a
+79
+3f
+fe
+01
+60
+00
+c9
+7a
+70
+48
+36
+01
+58
+00
+00
+ff
+60
+00
+c7
+d2
 20
 60
 00
@@ -3035,7 +3187,7 @@
 20
 40
 01
-0d
+1c
 24
 77
 80
@@ -3063,7 +3215,7 @@
 20
 40
 01
-83
+92
 24
 74
 00
@@ -3106,12 +3258,12 @@
 b2
 c0
 00
-82
-f4
+83
+1a
 c0
 7f
-82
-f4
+83
+1a
 70
 0d
 43
@@ -3139,23 +3291,23 @@
 20
 40
 02
-42
+53
 24
 37
 81
-0a
+19
 20
 20
 03
-12
+38
 20
 40
 03
-23
+49
 24
 34
 01
-0a
+19
 68
 00
 c8
@@ -3163,7 +3315,7 @@
 20
 3a
 01
-0a
+19
 1f
 e0
 fe
@@ -3195,7 +3347,7 @@
 20
 5a
 02
-32
+43
 68
 00
 c8
@@ -3203,19 +3355,19 @@
 c0
 00
 83
-31
+57
 c0
 01
 03
-51
+77
 c0
 7f
 83
-a6
+cc
 20
 20
 01
-0a
+19
 20
 40
 7f
@@ -3275,11 +3427,11 @@
 20
 40
 01
-1c
+2b
 20
 40
 00
-cc
+db
 68
 00
 c8
@@ -3303,7 +3455,7 @@
 c0
 00
 83
-b0
+d6
 68
 00
 c8
@@ -3331,7 +3483,7 @@
 c0
 67
 83
-b4
+da
 58
 00
 00
@@ -3355,7 +3507,7 @@
 24
 5a
 03
-49
+6f
 68
 00
 c8
@@ -3363,7 +3515,7 @@
 20
 5a
 03
-4d
+73
 20
 20
 31
@@ -3403,7 +3555,7 @@
 20
 40
 01
-22
+31
 68
 08
 c8
@@ -3415,7 +3567,7 @@
 20
 20
 83
-b2
+d8
 68
 00
 c8
@@ -3423,19 +3575,19 @@
 c0
 00
 03
-5a
+80
 c0
 01
 03
-8f
+b5
 c0
 01
 83
-76
+9c
 20
 20
 01
-0a
+19
 68
 00
 c8
@@ -3455,7 +3607,7 @@
 20
 40
 03
-6b
+91
 68
 04
 0d
@@ -3463,7 +3615,7 @@
 24
 5a
 03
-6e
+94
 68
 04
 0d
@@ -3471,7 +3623,7 @@
 20
 5a
 03
-72
+98
 68
 04
 0d
@@ -3503,7 +3655,7 @@
 20
 20
 01
-0a
+19
 d8
 c0
 48
@@ -3555,7 +3707,7 @@
 20
 40
 03
-84
+aa
 68
 01
 0d
@@ -3563,7 +3715,7 @@
 24
 5a
 03
-87
+ad
 68
 01
 0d
@@ -3571,7 +3723,7 @@
 20
 5a
 03
-8b
+b1
 68
 01
 8d
@@ -3603,7 +3755,7 @@
 20
 20
 01
-0a
+19
 d8
 c0
 48
@@ -3655,7 +3807,7 @@
 20
 40
 03
-99
+bf
 68
 01
 13
@@ -3675,7 +3827,7 @@
 24
 42
 83
-a4
+ca
 68
 01
 13
@@ -3687,7 +3839,7 @@
 20
 20
 01
-0a
+19
 d8
 c0
 48
@@ -3747,11 +3899,11 @@
 c0
 00
 83
-aa
+d0
 c0
 01
 03
-ad
+d3
 20
 60
 00
@@ -3759,7 +3911,7 @@
 20
 40
 01
-1c
+2b
 68
 02
 48
@@ -3767,11 +3919,11 @@
 20
 20
 01
-66
+75
 20
 40
 01
-22
+31
 68
 02
 48
@@ -3779,7 +3931,7 @@
 20
 20
 01
-69
+78
 68
 02
 48
@@ -3787,7 +3939,7 @@
 20
 20
 01
-66
+75
 68
 02
 48
@@ -3795,7 +3947,7 @@
 20
 20
 01
-69
+78
 68
 01
 48
@@ -3811,7 +3963,7 @@
 20
 22
 83
-b9
+df
 20
 60
 00
@@ -3823,7 +3975,7 @@
 c0
 61
 03
-c6
+ec
 68
 00
 c9
@@ -3839,7 +3991,7 @@
 20
 40
 01
-7a
+89
 68
 00
 c9
@@ -3859,11 +4011,11 @@
 c0
 60
 81
-bb
+cc
 c0
 61
 03
-c6
+ec
 20
 60
 00
@@ -3883,7 +4035,7 @@
 20
 40
 01
-6b
+7a
 68
 00
 c8
@@ -3891,11 +4043,11 @@
 c0
 2a
 83
-ce
+f4
 c0
 55
 03
-d0
+f6
 20
 60
 00
@@ -3982,12 +4134,12 @@
 de
 c0
 02
-03
-eb
+04
+11
 20
 20
-03
-e4
+04
+0a
 70
 89
 4b
@@ -4103,7 +4255,7 @@
 20
 40
 04
-03
+29
 60
 08
 c8
@@ -4187,7 +4339,7 @@
 c2
 00
 04
-13
+39
 1a
 22
 7e
@@ -4295,7 +4447,7 @@
 20
 40
 04
-33
+59
 60
 08
 c8
@@ -4307,7 +4459,7 @@
 20
 40
 04
-37
+5d
 18
 40
 84
@@ -4431,7 +4583,7 @@
 20
 40
 04
-40
+66
 78
 57
 fc
@@ -4467,7 +4619,7 @@
 24
 2c
 04
-8e
+b4
 78
 46
 fc
@@ -4507,7 +4659,7 @@
 24
 22
 84
-8b
+b1
 09
 80
 00
@@ -4531,7 +4683,7 @@
 20
 22
 84
-70
+96
 68
 00
 c7
@@ -4547,7 +4699,7 @@
 24
 20
 84
-8b
+b1
 09
 80
 00
@@ -4571,7 +4723,7 @@
 20
 22
 84
-7a
+a0
 09
 80
 00
@@ -4587,7 +4739,7 @@
 c2
 00
 04
-76
+9c
 09
 80
 00
@@ -4623,7 +4775,7 @@
 20
 23
 04
-8b
+b1
 78
 37
 fc
@@ -4670,12 +4822,12 @@
 4d
 20
 40
-03
-fc
+04
+22
 20
 20
 04
-8b
+b1
 20
 40
 29
@@ -4703,11 +4855,11 @@
 20
 40
 04
-40
+66
 20
 40
 04
-90
+b6
 79
 20
 2a
@@ -4787,7 +4939,7 @@
 c2
 00
 04
-a9
+cf
 68
 00
 c8
@@ -4828,8 +4980,8 @@
 60
 00
 00
-fd
-32
+98
+08
 aa
 55
 01
@@ -5408,160 +5560,8 @@
 42
 00
 84
-b4
-69
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+28
+c9
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-a0
-ac
+18
+3c
Index: output/memmap.format
===================================================================
--- /branch/USB/dongle/output/memmap.format	(revision 3436)
+++ /branch/USB/dongle/output/memmap.format	(working copy)
@@ -1868,11 +1868,13 @@
 0x4976 mem_24g_txcnt
 0x4977 mem_24g_auto_paring_switch
 0x4978 mem_24g_led_status
-0x4979 mem_24g_bind_delay_count
-0x497a mem_24g_work_delay_count
-0x497b mem_24g_mode_switch_2
-0x497c mem_24g_mode_switch_2_init
-0x497d mem_24g_mode_switch_cnt_2
-0x497f mem_24g_mode_switch_exit_2
-0x4980 mem_24g_time_slice_2
-0x4981 mem_dongle_bind_device_living
+0x4979 mem_24g_pc_sleep
+0x497a mem_24g_pc_sleep_flag
+0x497b mem_24g_bind_delay_count
+0x497c mem_24g_work_delay_count
+0x497d mem_24g_mode_switch_2
+0x497e mem_24g_mode_switch_2_init
+0x497f mem_24g_mode_switch_cnt_2
+0x4981 mem_24g_mode_switch_exit_2
+0x4982 mem_24g_time_slice_2
+0x4983 mem_dongle_bind_device_living
Index: output/program.lis
===================================================================
--- /branch/USB/dongle/output/program.lis	(revision 3436)
+++ /branch/USB/dongle/output/program.lis	(working copy)
@@ -1,11 +1,11 @@
               include "bt_format "
               org 0x0000
 0000 c284000a bbit1 8 ,pf_patch_ext 
-0001 c04283fa beq patch10_5 ,p_shutdown_radio 
-0002 c04483d2 beq patch11_1 ,p_set_freq_tx 
-0003 c00003f2 beq patch00_0 ,p_soft_reset 
+0001 c0428420 beq patch10_5 ,p_shutdown_radio 
+0002 c04483f8 beq patch11_1 ,p_set_freq_tx 
+0003 c0000418 beq patch00_0 ,p_soft_reset 
 0004 c047000b beq patch11_6 ,p_save_rssi 
-0005 c0620073 beq patch18_4 ,p_app_init 
+0005 c0620082 beq patch18_4 ,p_app_init 
 0006 c07b8012 beq patch1e_7 ,p_usb_init 
 0007 c07c004b beq patch1f_0 ,p_usb_status1 
 0008 c07e002a beq patch1f_4 ,p_usb_tx 
@@ -119,1481 +119,1539 @@
 005a 1ff1fe00 rshift4 pdata ,pdata 
 005b 1fe37e00 rshift pdata ,pdata 
 005c 1fe17e03 and_into 0x03 ,pdata 
-005d c000805f beq class_req ,p_usb_out_class_req 
-005e 20204966 branch usb_out_device + 4 
+005d c0000060 beq standard_req ,p_usb_out_standard_req 
+005e c000806e beq class_req ,p_usb_out_class_req 
+005f 20204966 branch usb_out_device + 4 
+
+p_usb_out_standard_req:
+0060 68008c6f fetch 1 ,mem_usb_setup_brequest 
+0061 c0018063 beq set_feature ,p_usb0_request_set_feature 
+0062 20204977 branch usb_out_standard_req + 1 
+
+p_usb0_request_set_feature:
+0063 68008c74 fetch 1 ,mem_usb_setup_blength 
+0064 c0804984 bne 0 ,usb0_force_stall 
+0065 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+0066 c0804984 bne 0 ,usb0_force_stall 
+0067 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+0068 c000006a beq out_device ,p_usb0_request_set_feature_out_device 
+0069 20204a7e branch usb0_request_set_feature + 5 
+
+p_usb0_request_set_feature_out_device:
+006a 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+006b c080c984 bne device_remote_wakeup ,usb0_force_stall 
+006c 70497a03 jam 3 ,mem_24g_pc_sleep_flag 
+006d 20204a84 branch usb0_request_set_feature_out_device + 2 
 
 p_usb_out_class_req:
-005f 68008c6f fetch 1 ,mem_usb_setup_brequest 
-0060 c0048062 beq set_report ,p_usb_set_report 
-0061 2020497f branch usb_out_class_req + 1 
+006e 68008c6f fetch 1 ,mem_usb_setup_brequest 
+006f c0048071 beq set_report ,p_usb_set_report 
+0070 2020497f branch usb_out_class_req + 1 
 
 p_usb_set_report:
-0062 700d5001 jam 1 ,mem_usb0_get_set_report 
-0063 20404b03 call usb_set_report_resume_judge 
-0064 68010c70 fetch 2 ,mem_usb_setup_bvalue 
-0065 60010d4e store 2 ,mem_usb_setup_bvalue_temp 
-0066 20003a98 nop 15000 
-0067 68108a20 hfetch 1 ,core_usb_ep_len 
-0068 245a006c ncall p_usb_set_report_rxdata ,blank 
-0069 68008d43 fetch 1 ,mem_usb_tx_win_enable 
-006a 245a006f ncall p_usb_get_output_data ,blank 
-006b 20204afd branch usb_set_report + 4 
+0071 700d5001 jam 1 ,mem_usb0_get_set_report 
+0072 20404b03 call usb_set_report_resume_judge 
+0073 68010c70 fetch 2 ,mem_usb_setup_bvalue 
+0074 60010d4e store 2 ,mem_usb_setup_bvalue_temp 
+0075 20003a98 nop 15000 
+0076 68108a20 hfetch 1 ,core_usb_ep_len 
+0077 245a007b ncall p_usb_set_report_rxdata ,blank 
+0078 68008d43 fetch 1 ,mem_usb_tx_win_enable 
+0079 245a007e ncall p_usb_get_output_data ,blank 
+007a 20204afd branch usb_set_report + 4 
 
 p_usb_set_report_rxdata:
-006c 1fe27200 copy pdata ,loopcnt 
-006d d8a00c76 arg mem_usb0_setup ,contw 
-006e 20204946 branch usb_rx_read 
+007b 1fe27200 copy pdata ,loopcnt 
+007c d8a00c76 arg mem_usb0_setup ,contw 
+007d 20204946 branch usb_rx_read 
 
 p_usb_get_output_data:
-006f 68008c76 fetch 1 ,mem_usb0_setup 
-0070 6000c978 store 1 ,mem_24g_led_status 
-0071 7048b803 jam kb_led_ackpayload ,mem_24g_ackpayload_enable 
-0072 20600000 rtn 
+007e 68008c76 fetch 1 ,mem_usb0_setup 
+007f 6000c978 store 1 ,mem_24g_led_status 
+0080 7048b803 jam kb_led_ackpayload ,mem_24g_ackpayload_enable 
+0081 20600000 rtn 
 
 p_app_init:
-0073 70498100 jam 0 ,mem_dongle_bind_device_living 
-0074 70497907 jam g24_bind_mode_delay ,mem_24g_bind_delay_count 
-0075 204074b9 call enable_authrom 
-0076 680240a0 fetch 4 ,mem_lap 
-0077 6002489f store 4 ,mem_24g_rx_addr 
-0078 6808c23a fetcht 1 ,mem_eeprom_wp_gpio 
-0079 2040680e call gpio_config_output 
-007a 20400090 call p_dongle_init 
-007b 2040016b call p_g24_queue_init 
-007c 20400085 call p_dongle_iic_init 
-007d 20400083 call p_dongle_firmware_version_store 
-007e 6800c8ba fetch 1 ,mem_24g_pair_mode 
-007f c00001bf beq 0x00 ,p_dongle_auto_bind 
-0080 c000809a beq 0x01 ,p_dongle_pc_bind 
-0081 c0078096 beq 0x0f ,p_dongle_all_powerful 
-0082 20600000 rtn 
+0082 70498300 jam 0 ,mem_dongle_bind_device_living 
+0083 70497b07 jam g24_bind_mode_delay ,mem_24g_bind_delay_count 
+0084 204074b9 call enable_authrom 
+0085 680240a0 fetch 4 ,mem_lap 
+0086 6002489f store 4 ,mem_24g_rx_addr 
+0087 6808c23a fetcht 1 ,mem_eeprom_wp_gpio 
+0088 2040680e call gpio_config_output 
+0089 2040009f call p_dongle_init 
+008a 2040017a call p_g24_queue_init 
+008b 20400094 call p_dongle_iic_init 
+008c 20400092 call p_dongle_firmware_version_store 
+008d 6800c8ba fetch 1 ,mem_24g_pair_mode 
+008e c00001d0 beq 0x00 ,p_dongle_auto_bind 
+008f c00080a9 beq 0x01 ,p_dongle_pc_bind 
+0090 c00780a5 beq 0x0f ,p_dongle_all_powerful 
+0091 20600000 rtn 
 
 p_dongle_firmware_version_store:
-0083 2040008c call p_dongle_set_firmware_version_eeprom 
-0084 202065d1 branch iicd_write_protect_eep_data 
+0092 2040009b call p_dongle_set_firmware_version_eeprom 
+0093 202065d1 branch iicd_write_protect_eep_data 
 
 p_dongle_iic_init:
-0085 2040659c call iic_init_390k 
-0086 20400088 call p_dongle_set_kb_bind_eeprom 
-0087 202065df branch iicd_read_eep_data 
+0094 2040659c call iic_init_390k 
+0095 20400097 call p_dongle_set_kb_bind_eeprom 
+0096 202065df branch iicd_read_eep_data 
 
 p_dongle_set_kb_bind_eeprom:
-0088 da2011c7 arg mem_dongle_kb_bind_flag ,rega 
-0089 da400000 arg dongle_kb_bind_eeprom_offect ,regb 
-008a d8400001 arg 1 ,temp 
-008b 20600000 rtn 
+0097 da2011c7 arg mem_dongle_kb_bind_flag ,rega 
+0098 da400000 arg dongle_kb_bind_eeprom_offect ,regb 
+0099 d8400001 arg 1 ,temp 
+009a 20600000 rtn 
 
 p_dongle_set_firmware_version_eeprom:
-008c da2013d2 arg mem_firmware_version ,rega 
-008d da400070 arg dongle_firmware_version_offect ,regb 
-008e d8400003 arg 3 ,temp 
-008f 20600000 rtn 
+009b da2013d2 arg mem_firmware_version ,rega 
+009c da400070 arg dongle_firmware_version_offect ,regb 
+009d d8400003 arg 3 ,temp 
+009e 20600000 rtn 
 
 p_dongle_init:
-0090 6800c1de fetch 1 ,mem_tx_power 
-0091 6000c8ed store 1 ,mem_tx_power_temp 
-0092 df200080 arg 0x80 ,loopcnt 
-0093 d8a00d9e arg mem_rssi_noise_buffer ,contw 
-0094 20407ec6 call memset0 
-0095 202048ea branch usb_init 
+009f 6800c1de fetch 1 ,mem_tx_power 
+00a0 6000c8ed store 1 ,mem_tx_power_temp 
+00a1 df200080 arg 0x80 ,loopcnt 
+00a2 d8a00d9e arg mem_rssi_noise_buffer ,contw 
+00a3 20407ec6 call memset0 
+00a4 202048ea branch usb_init 
 
 p_dongle_all_powerful:
-0096 2040009f call p_dongle_check_mode 
+00a5 204000ae call p_dongle_check_mode 
 
 p_dongle_all_powerful_loop:
-0097 204000a3 call p_g24_dongle_work_mode 
-0098 20400189 call p_dongle_usb_dispatch 
-0099 20200097 branch p_dongle_all_powerful_loop 
+00a6 204000b2 call p_g24_dongle_work_mode 
+00a7 20400198 call p_dongle_usb_dispatch 
+00a8 202000a6 branch p_dongle_all_powerful_loop 
 
 p_dongle_pc_bind:
-009a 2040009f call p_dongle_check_mode 
+00a9 204000ae call p_dongle_check_mode 
 
 p_dongle_pc_bind_loop:
-009b 204000a3 call p_g24_dongle_work_mode 
-009c 204000ee call p_g24_dongle_bind_mode 
-009d 20400189 call p_dongle_usb_dispatch 
-009e 2020009b branch p_dongle_pc_bind_loop 
+00aa 204000b2 call p_g24_dongle_work_mode 
+00ab 204000fd call p_g24_dongle_bind_mode 
+00ac 20400198 call p_dongle_usb_dispatch 
+00ad 202000aa branch p_dongle_pc_bind_loop 
 
 p_dongle_check_mode:
-009f 7048b800 jam 0 ,mem_24g_ackpayload_enable 
+00ae 7048b800 jam 0 ,mem_24g_ackpayload_enable 
 
 p_dongle_work_mode_enable:
-00a0 7048a400 jam dongle_work ,mem_dongle_work_mode 
-00a1 7048a300 jam clear_init ,mem_dongle_mode_init 
-00a2 20600000 rtn 
+00af 7048a400 jam dongle_work ,mem_dongle_work_mode 
+00b0 7048a300 jam clear_init ,mem_dongle_mode_init 
+00b1 20600000 rtn 
 
 p_g24_dongle_work_mode:
-00a3 6800c8a4 fetch 1 ,mem_dongle_work_mode 
-00a4 c1800000 rtnne dongle_work 
+00b2 6800c8a4 fetch 1 ,mem_dongle_work_mode 
+00b3 c1800000 rtnne dongle_work 
 
 p_g24_dongle_work_mode_start:
-00a5 204000a9 call p_g24_dongle_work_init 
-00a6 204000b7 call p_g24_ch_process 
-00a7 2040030f call p_g24_receive_packet_start 
-00a8 202000d6 branch p_g24_blank_data_process 
+00b4 204000b8 call p_g24_dongle_work_init 
+00b5 204000c6 call p_g24_ch_process 
+00b6 20400335 call p_g24_receive_packet_start 
+00b7 202000e5 branch p_g24_blank_data_process 
 
 p_g24_dongle_work_init:
-00a9 6800c8a3 fetch 1 ,mem_dongle_mode_init 
-00aa c3800000 rtnbit1 dongle_work 
-00ab 79207e00 set1 dongle_work ,pdata 
-00ac 6000c8a3 store 1 ,mem_dongle_mode_init 
-00ad 6800c8ed fetch 1 ,mem_tx_power_temp 
-00ae 6000c1de store 1 ,mem_tx_power 
-00af 7048b800 jam 0 ,mem_24g_ackpayload_enable 
-00b0 700d3800 jam 0 ,mem_usb_tx_enable 
-00b1 7048b001 jam 1 ,mem_24g_abort_packet 
-00b2 70483500 jam 0 ,mem_24g_pid 
-00b3 6802489f fetch 4 ,mem_24g_rx_addr 
-00b4 2040040f call p_g24_update_addr_and_synccrc8 
-00b5 2040042f call p_g24_ch 
-00b6 2020010a branch p_g24_rx_interrupt_clear 
+00b8 6800c8a3 fetch 1 ,mem_dongle_mode_init 
+00b9 c3800000 rtnbit1 dongle_work 
+00ba 79207e00 set1 dongle_work ,pdata 
+00bb 6000c8a3 store 1 ,mem_dongle_mode_init 
+00bc 6800c8ed fetch 1 ,mem_tx_power_temp 
+00bd 6000c1de store 1 ,mem_tx_power 
+00be 7048b800 jam 0 ,mem_24g_ackpayload_enable 
+00bf 700d3800 jam 0 ,mem_usb_tx_enable 
+00c0 7048b001 jam 1 ,mem_24g_abort_packet 
+00c1 70483500 jam 0 ,mem_24g_pid 
+00c2 6802489f fetch 4 ,mem_24g_rx_addr 
+00c3 20400435 call p_g24_update_addr_and_synccrc8 
+00c4 20400455 call p_g24_ch 
+00c5 20200119 branch p_g24_rx_interrupt_clear 
 
 p_g24_ch_process:
-00b7 6800c8b0 fetch 1 ,mem_24g_abort_packet 
-00b8 c00080d0 beq 1 ,p_g24_noise_rssi 
-00b9 6800c8b9 fetch 1 ,mem_24g_hop_packet 
-00ba c00080ca beq 1 ,p_g24_ch_receive_hop_pac 
-00bb 680a48b2 fetcht 4 ,mem_24g_hop_btclk 
-00bc 1c427e00 copy clkn_bt ,pdata 
-00bd 98467c00 isub temp ,null 
-00be 24412d18 ncall g24_timer_timeout ,positive 
-00bf 1fe22400 copy pdata ,regb 
-00c0 680248b2 fetch 4 ,mem_24g_hop_btclk 
-00c1 6808c8b6 fetcht 1 ,mem_24g_hop_interval 
-00c2 98408400 iadd temp ,temp 
-00c3 1a427e00 copy regb ,pdata 
-00c4 98467c00 isub temp ,null 
-00c5 24610000 nrtn positive 
-00c6 793ffe1c set0 28 ,pdata 
-00c7 600248b2 store 4 ,mem_24g_hop_btclk 
-00c8 7048b001 jam 1 ,mem_24g_abort_packet 
-00c9 2020042f branch p_g24_ch 
+00c6 6800c8b0 fetch 1 ,mem_24g_abort_packet 
+00c7 c00080df beq 1 ,p_g24_noise_rssi 
+00c8 6800c8b9 fetch 1 ,mem_24g_hop_packet 
+00c9 c00080d9 beq 1 ,p_g24_ch_receive_hop_pac 
+00ca 680a48b2 fetcht 4 ,mem_24g_hop_btclk 
+00cb 1c427e00 copy clkn_bt ,pdata 
+00cc 98467c00 isub temp ,null 
+00cd 24412d18 ncall g24_timer_timeout ,positive 
+00ce 1fe22400 copy pdata ,regb 
+00cf 680248b2 fetch 4 ,mem_24g_hop_btclk 
+00d0 6808c8b6 fetcht 1 ,mem_24g_hop_interval 
+00d1 98408400 iadd temp ,temp 
+00d2 1a427e00 copy regb ,pdata 
+00d3 98467c00 isub temp ,null 
+00d4 24610000 nrtn positive 
+00d5 793ffe1c set0 28 ,pdata 
+00d6 600248b2 store 4 ,mem_24g_hop_btclk 
+00d7 7048b001 jam 1 ,mem_24g_abort_packet 
+00d8 20200455 branch p_g24_ch 
 
 p_g24_ch_receive_hop_pac:
-00ca 7048b900 jam 0 ,mem_24g_hop_packet 
-00cb 2020042f branch p_g24_ch 
+00d9 7048b900 jam 0 ,mem_24g_hop_packet 
+00da 20200455 branch p_g24_ch 
 
 p_g24_ch_timer_reinit:
-00cc 1c427e00 copy clkn_bt ,pdata 
-00cd 600248b2 store 4 ,mem_24g_hop_btclk 
-00ce 7048b100 jam 0 ,mem_24g_rf_laststa 
-00cf 20600000 rtn 
+00db 1c427e00 copy clkn_bt ,pdata 
+00dc 600248b2 store 4 ,mem_24g_hop_btclk 
+00dd 7048b100 jam 0 ,mem_24g_rf_laststa 
+00de 20600000 rtn 
 
 p_g24_noise_rssi:
-00d0 da200d9e arg mem_rssi_noise_buffer ,rega 
-00d1 2040040a call p_rssi_average 
-00d2 6008c8ef storet 1 ,mem_rssi_noise_avg 
-00d3 18467c50 sub temp ,rssi_thresh_noise ,null 
-00d4 24610000 nrtn positive 
-00d5 2020042f branch p_g24_ch 
+00df da200d9e arg mem_rssi_noise_buffer ,rega 
+00e0 20400430 call p_rssi_average 
+00e1 6008c8ef storet 1 ,mem_rssi_noise_avg 
+00e2 18467c50 sub temp ,rssi_thresh_noise ,null 
+00e3 24610000 nrtn positive 
+00e4 20200455 branch p_g24_ch 
 
 p_g24_blank_data_process:
-00d6 204000d9 call p_g24_ms_blank_data 
-00d7 204000e0 call p_g24_kb_blank_data 
-00d8 202000e7 branch p_g24_kb_mul_blank_data 
+00e5 204000e8 call p_g24_ms_blank_data 
+00e6 204000ef call p_g24_kb_blank_data 
+00e7 202000f6 branch p_g24_kb_mul_blank_data 
 
 p_g24_ms_blank_data:
-00d9 6800c8d5 fetch 1 ,mem_24g_ms_blank_data_enable 
-00da 207a0000 rtn blank 
-00db d8e0000b arg timer_new_ms_blank ,queue 
-00dc 20407f16 call timer_check 
-00dd 247a0000 nrtn blank 
-00de 7048d500 jam 0 ,mem_24g_ms_blank_data_enable 
-00df 20202fa0 branch g24_ms_blank_data_2usb 
+00e8 6800c8d5 fetch 1 ,mem_24g_ms_blank_data_enable 
+00e9 207a0000 rtn blank 
+00ea d8e0000b arg timer_new_ms_blank ,queue 
+00eb 20407f16 call timer_check 
+00ec 247a0000 nrtn blank 
+00ed 7048d500 jam 0 ,mem_24g_ms_blank_data_enable 
+00ee 20202fa0 branch g24_ms_blank_data_2usb 
 
 p_g24_kb_blank_data:
-00e0 6800c8d3 fetch 1 ,mem_24g_kb_blank_data_enable 
-00e1 207a0000 rtn blank 
-00e2 d8e0000e arg timer_new_kb_blank ,queue 
-00e3 20407f16 call timer_check 
-00e4 247a0000 nrtn blank 
-00e5 7048d300 jam 0 ,mem_24g_kb_blank_data_enable 
-00e6 20202fac branch g24_kb_blank_data_2usb 
+00ef 6800c8d3 fetch 1 ,mem_24g_kb_blank_data_enable 
+00f0 207a0000 rtn blank 
+00f1 d8e0000e arg timer_new_kb_blank ,queue 
+00f2 20407f16 call timer_check 
+00f3 247a0000 nrtn blank 
+00f4 7048d300 jam 0 ,mem_24g_kb_blank_data_enable 
+00f5 20202fac branch g24_kb_blank_data_2usb 
 
 p_g24_kb_mul_blank_data:
-00e7 6800c8d4 fetch 1 ,mem_24g_kb_mul_blank_data_enable 
-00e8 207a0000 rtn blank 
-00e9 d8e0000c arg timer_new_kb_mul_blank ,queue 
-00ea 20407f16 call timer_check 
-00eb 247a0000 nrtn blank 
-00ec 7048d400 jam 0 ,mem_24g_kb_mul_blank_data_enable 
-00ed 20202fb8 branch g24_kb_mul_blank_data_2usb 
+00f6 6800c8d4 fetch 1 ,mem_24g_kb_mul_blank_data_enable 
+00f7 207a0000 rtn blank 
+00f8 d8e0000c arg timer_new_kb_mul_blank ,queue 
+00f9 20407f16 call timer_check 
+00fa 247a0000 nrtn blank 
+00fb 7048d400 jam 0 ,mem_24g_kb_mul_blank_data_enable 
+00fc 20202fb8 branch g24_kb_mul_blank_data_2usb 
 
 p_g24_dongle_bind_mode:
-00ee 6800c8a4 fetch 1 ,mem_dongle_work_mode 
-00ef c1808000 rtnne dongle_bind 
-00f0 204000f2 call p_g24_dongle_bind_init 
-00f1 202000fe branch p_g24_dongle_bind_data_process 
+00fd 6800c8a4 fetch 1 ,mem_dongle_work_mode 
+00fe c1808000 rtnne dongle_bind 
+00ff 20400101 call p_g24_dongle_bind_init 
+0100 2020010d branch p_g24_dongle_bind_data_process 
 
 p_g24_dongle_bind_init:
-00f2 6800c8a3 fetch 1 ,mem_dongle_mode_init 
-00f3 c3808000 rtnbit1 dongle_bind 
-00f4 79207e01 set1 dongle_bind ,pdata 
-00f5 6000c8a3 store 1 ,mem_dongle_mode_init 
-00f6 58000000 setarg 0 
-00f7 6001c8a5 store 3 ,mem_dongle_ms_bind_step 
-00f8 7041de04 jam tx_power_f5db ,mem_tx_power 
-00f9 7048b801 jam 1 ,mem_24g_ackpayload_enable 
-00fa 70483500 jam 0 ,mem_24g_pid 
-00fb 7048404e jam g24_pair_ch ,mem_24g_ch 
-00fc 68024842 fetch 4 ,mem_24g_paring_addr 
-00fd 2020040f branch p_g24_update_addr_and_synccrc8 
+0101 6800c8a3 fetch 1 ,mem_dongle_mode_init 
+0102 c3808000 rtnbit1 dongle_bind 
+0103 79207e01 set1 dongle_bind ,pdata 
+0104 6000c8a3 store 1 ,mem_dongle_mode_init 
+0105 58000000 setarg 0 
+0106 6001c8a5 store 3 ,mem_dongle_ms_bind_step 
+0107 7041de04 jam tx_power_f5db ,mem_tx_power 
+0108 7048b801 jam 1 ,mem_24g_ackpayload_enable 
+0109 70483500 jam 0 ,mem_24g_pid 
+010a 7048404e jam g24_pair_ch ,mem_24g_ch 
+010b 68024842 fetch 4 ,mem_24g_paring_addr 
+010c 20200435 branch p_g24_update_addr_and_synccrc8 
 
 p_g24_dongle_bind_data_process:
-00fe 20400242 call p_g24_receive_transmit_ack 
-00ff 2437810a nbranch p_g24_rx_interrupt_clear ,user3 
-0100 70497a05 jam g24_work_mode_delay ,mem_24g_work_delay_count 
-0101 d8c047b0 arg mem_24g_rxbuf ,contr 
-0102 d8a0487d arg mem_24g_rxdata_temp ,contw 
-0103 df200008 arg 8 ,loopcnt 
-0104 20407f01 call memcpy 
-0105 6800c87f fetch 1 ,mem_24g_rxdata_temp + 2 
-0106 c0550128 beq datatype_bind ,p_g24_dongle_bind_first_step 
-0107 c02a8135 beq datatype_config ,p_g24_dongle_bind_second_step 
-0108 c0110145 beq datatype_ok ,p_g24_dongle_bind_third_step 
-0109 c07f8161 beq 0xff ,p_g24_data_attemp_bind 
+010d 20400253 call p_g24_receive_transmit_ack 
+010e 24378119 nbranch p_g24_rx_interrupt_clear ,user3 
+010f 70497c05 jam g24_work_mode_delay ,mem_24g_work_delay_count 
+0110 d8c047b0 arg mem_24g_rxbuf ,contr 
+0111 d8a0487d arg mem_24g_rxdata_temp ,contw 
+0112 df200008 arg 8 ,loopcnt 
+0113 20407f01 call memcpy 
+0114 6800c87f fetch 1 ,mem_24g_rxdata_temp + 2 
+0115 c0550137 beq datatype_bind ,p_g24_dongle_bind_first_step 
+0116 c02a8144 beq datatype_config ,p_g24_dongle_bind_second_step 
+0117 c0110154 beq datatype_ok ,p_g24_dongle_bind_third_step 
+0118 c07f8170 beq 0xff ,p_g24_data_attemp_bind 
 
 p_g24_rx_interrupt_clear:
-010a d8a047b0 arg mem_24g_rxbuf ,contw 
-010b df200042 arg 66 ,loopcnt 
-010c 20207ed4 branch clear_mem 
+0119 d8a047b0 arg mem_24g_rxbuf ,contw 
+011a df200042 arg 66 ,loopcnt 
+011b 20207ed4 branch clear_mem 
 
 p_g24_dongle_binding_device_check:
-010d 6800c8a4 fetch 1 ,mem_dongle_work_mode 
-010e c1808000 rtnne dongle_bind 
-010f 6800c8ba fetch 1 ,mem_24g_pair_mode 
-0110 247a0000 nrtn blank 
-0111 6800c7b3 fetch 1 ,mem_24g_rxbuf + 3 
-0112 c0008115 beq bind_mouse ,p_g24_dongle_binding_mouse_status 
-0113 c0010119 beq bind_keyboard ,p_g24_dongle_binding_keyboard_status 
-0114 20600000 rtn 
+011c 6800c8a4 fetch 1 ,mem_dongle_work_mode 
+011d c1808000 rtnne dongle_bind 
+011e 6800c8ba fetch 1 ,mem_24g_pair_mode 
+011f 247a0000 nrtn blank 
+0120 6800c7b3 fetch 1 ,mem_24g_rxbuf + 3 
+0121 c0008124 beq bind_mouse ,p_g24_dongle_binding_mouse_status 
+0122 c0010128 beq bind_keyboard ,p_g24_dongle_binding_keyboard_status 
+0123 20600000 rtn 
 
 p_g24_dongle_binding_mouse_status:
-0115 6800c981 fetch 1 ,mem_dongle_bind_device_living 
-0116 c4000000 rtnbit0 0 
+0124 6800c983 fetch 1 ,mem_dongle_bind_device_living 
+0125 c4000000 rtnbit0 0 
 
 disable_user3:
-0117 7857fc00 disable user3 
-0118 20600000 rtn 
+0126 7857fc00 disable user3 
+0127 20600000 rtn 
 
 p_g24_dongle_binding_keyboard_status:
-0119 6800c981 fetch 1 ,mem_dongle_bind_device_living 
-011a c4008000 rtnbit0 1 
-011b 20200117 branch disable_user3 
+0128 6800c983 fetch 1 ,mem_dongle_bind_device_living 
+0129 c4008000 rtnbit0 1 
+012a 20200126 branch disable_user3 
 
 p_g24_dongle_binding_mouse_living:
-011c 6800c8ba fetch 1 ,mem_24g_pair_mode 
-011d 247a0000 nrtn blank 
-011e 6800c981 fetch 1 ,mem_dongle_bind_device_living 
-011f 1fe1fe01 or_into 0x01 ,pdata 
-0120 6000c981 store 1 ,mem_dongle_bind_device_living 
-0121 20600000 rtn 
+012b 6800c8ba fetch 1 ,mem_24g_pair_mode 
+012c 247a0000 nrtn blank 
+012d 6800c983 fetch 1 ,mem_dongle_bind_device_living 
+012e 1fe1fe01 or_into 0x01 ,pdata 
+012f 6000c983 store 1 ,mem_dongle_bind_device_living 
+0130 20600000 rtn 
 
 p_g24_dongle_binding_keyboard_living:
-0122 6800c8ba fetch 1 ,mem_24g_pair_mode 
-0123 247a0000 nrtn blank 
-0124 6800c981 fetch 1 ,mem_dongle_bind_device_living 
-0125 1fe1fe02 or_into 0x02 ,pdata 
-0126 6000c981 store 1 ,mem_dongle_bind_device_living 
-0127 20600000 rtn 
+0131 6800c8ba fetch 1 ,mem_24g_pair_mode 
+0132 247a0000 nrtn blank 
+0133 6800c983 fetch 1 ,mem_dongle_bind_device_living 
+0134 1fe1fe02 or_into 0x02 ,pdata 
+0135 6000c983 store 1 ,mem_dongle_bind_device_living 
+0136 20600000 rtn 
 
 p_g24_dongle_bind_first_step:
-0128 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-0129 c000812c beq bind_mouse ,p_g24_dongle_bind_first_step_mouse 
-012a c0010132 beq bind_keyboard ,p_g24_dongle_bind_first_step_keyboard 
-012b 20600000 rtn 
+0137 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+0138 c000813b beq bind_mouse ,p_g24_dongle_bind_first_step_mouse 
+0139 c0010141 beq bind_keyboard ,p_g24_dongle_bind_first_step_keyboard 
+013a 20600000 rtn 
 
 p_g24_dongle_bind_first_step_mouse:
-012c 7048a501 jam 1 ,mem_dongle_ms_bind_step 
+013b 7048a501 jam 1 ,mem_dongle_ms_bind_step 
 
 p_g24_dongle_bind_ms_payload_cfg:
-012d 7048a801 jam datatype_mouse ,mem_24g_bind_payload 
+013c 7048a801 jam datatype_mouse ,mem_24g_bind_payload 
 
 p_g24_dongle_bind_payload_cfg:
-012e 7048a980 jam 0x80 ,mem_24g_bind_payload + 1 
-012f 6803489f fetch 6 ,mem_24g_rx_addr 
-0130 600348aa store 6 ,mem_24g_bind_payload + 2 
-0131 20600000 rtn 
+013d 7048a980 jam 0x80 ,mem_24g_bind_payload + 1 
+013e 6803489f fetch 6 ,mem_24g_rx_addr 
+013f 600348aa store 6 ,mem_24g_bind_payload + 2 
+0140 20600000 rtn 
 
 p_g24_dongle_bind_first_step_keyboard:
-0132 7048a601 jam 1 ,mem_dongle_kb_bind_step 
+0141 7048a601 jam 1 ,mem_dongle_kb_bind_step 
 
 p_g24_dongle_bind_kb_payload_cfg:
-0133 7048a802 jam datatype_keyboard ,mem_24g_bind_payload 
-0134 2020012e branch p_g24_dongle_bind_payload_cfg 
+0142 7048a802 jam datatype_keyboard ,mem_24g_bind_payload 
+0143 2020013d branch p_g24_dongle_bind_payload_cfg 
 
 p_g24_dongle_bind_second_step:
-0135 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-0136 c0008139 beq bind_mouse ,p_g24_dongle_bind_second_step_mouse 
-0137 c001013f beq bind_keyboard ,p_g24_dongle_bind_second_step_keyboard 
-0138 20600000 rtn 
+0144 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+0145 c0008148 beq bind_mouse ,p_g24_dongle_bind_second_step_mouse 
+0146 c001014e beq bind_keyboard ,p_g24_dongle_bind_second_step_keyboard 
+0147 20600000 rtn 
 
 p_g24_dongle_bind_second_step_mouse:
-0139 2040012d call p_g24_dongle_bind_ms_payload_cfg 
-013a 6800c8a5 fetch 1 ,mem_dongle_ms_bind_step 
-013b c000813d beq 1 ,p_g24_dongle_ms_bind_step_set2 
-013c 20600000 rtn 
+0148 2040013c call p_g24_dongle_bind_ms_payload_cfg 
+0149 6800c8a5 fetch 1 ,mem_dongle_ms_bind_step 
+014a c000814c beq 1 ,p_g24_dongle_ms_bind_step_set2 
+014b 20600000 rtn 
 
 p_g24_dongle_ms_bind_step_set2:
-013d 7048a502 jam 2 ,mem_dongle_ms_bind_step 
-013e 20600000 rtn 
+014c 7048a502 jam 2 ,mem_dongle_ms_bind_step 
+014d 20600000 rtn 
 
 p_g24_dongle_bind_second_step_keyboard:
-013f 20400133 call p_g24_dongle_bind_kb_payload_cfg 
-0140 6800c8a6 fetch 1 ,mem_dongle_kb_bind_step 
-0141 c0008143 beq 1 ,p_g24_dongle_kb_bind_step_set2 
-0142 20600000 rtn 
+014e 20400142 call p_g24_dongle_bind_kb_payload_cfg 
+014f 6800c8a6 fetch 1 ,mem_dongle_kb_bind_step 
+0150 c0008152 beq 1 ,p_g24_dongle_kb_bind_step_set2 
+0151 20600000 rtn 
 
 p_g24_dongle_kb_bind_step_set2:
-0143 7048a602 jam 2 ,mem_dongle_kb_bind_step 
-0144 20600000 rtn 
+0152 7048a602 jam 2 ,mem_dongle_kb_bind_step 
+0153 20600000 rtn 
 
 p_g24_dongle_bind_third_step:
-0145 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-0146 c0008149 beq bind_mouse ,p_g24_dongle_bind_third_step_mouse 
-0147 c0010153 beq bind_keyboard ,p_g24_dongle_bind_third_step_keyboard 
-0148 20600000 rtn 
+0154 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+0155 c0008158 beq bind_mouse ,p_g24_dongle_bind_third_step_mouse 
+0156 c0010162 beq bind_keyboard ,p_g24_dongle_bind_third_step_keyboard 
+0157 20600000 rtn 
 
 p_g24_dongle_bind_third_step_mouse:
-0149 6800c8a5 fetch 1 ,mem_dongle_ms_bind_step 
-014a c001014c beq 2 ,p_g24_dongle_ms_bind_step_success 
-014b 20600000 rtn 
+0158 6800c8a5 fetch 1 ,mem_dongle_ms_bind_step 
+0159 c001015b beq 2 ,p_g24_dongle_ms_bind_step_success 
+015a 20600000 rtn 
 
 p_g24_dongle_ms_bind_step_success:
-014c 2040011c call p_g24_dongle_binding_mouse_living 
-014d 6800c8a7 fetch 1 ,mem_dongle_bind_device_status 
-014e 1fe1fe01 or_into 0x01 ,pdata 
-014f 6000c8a7 store 1 ,mem_dongle_bind_device_status 
+015b 2040012b call p_g24_dongle_binding_mouse_living 
+015c 6800c8a7 fetch 1 ,mem_dongle_bind_device_status 
+015d 1fe1fe01 or_into 0x01 ,pdata 
+015e 6000c8a7 store 1 ,mem_dongle_bind_device_status 
 
 p_g24_dongle_bind_exit:
-0150 58000000 setarg 0 
-0151 600148a5 store 2 ,mem_dongle_ms_bind_step 
-0152 2020010a branch p_g24_rx_interrupt_clear 
+015f 58000000 setarg 0 
+0160 600148a5 store 2 ,mem_dongle_ms_bind_step 
+0161 20200119 branch p_g24_rx_interrupt_clear 
 
 p_g24_dongle_bind_third_step_keyboard:
-0153 6800c8a6 fetch 1 ,mem_dongle_kb_bind_step 
-0154 c0800156 bne 0 ,p_g24_dongle_kb_bind_step_success 
-0155 20600000 rtn 
+0162 6800c8a6 fetch 1 ,mem_dongle_kb_bind_step 
+0163 c0800165 bne 0 ,p_g24_dongle_kb_bind_step_success 
+0164 20600000 rtn 
 
 p_g24_dongle_kb_bind_step_success:
-0156 20400122 call p_g24_dongle_binding_keyboard_living 
-0157 6800c8a7 fetch 1 ,mem_dongle_bind_device_status 
-0158 1fe1fe02 or_into 0x02 ,pdata 
-0159 6000c8a7 store 1 ,mem_dongle_bind_device_status 
-015a 20400150 call p_g24_dongle_bind_exit 
+0165 20400131 call p_g24_dongle_binding_keyboard_living 
+0166 6800c8a7 fetch 1 ,mem_dongle_bind_device_status 
+0167 1fe1fe02 or_into 0x02 ,pdata 
+0168 6000c8a7 store 1 ,mem_dongle_bind_device_status 
+0169 2040015f call p_g24_dongle_bind_exit 
 
 p_g24_dongle_store_kb_bind_flag:
-015b 680091c7 fetch 1 ,mem_dongle_kb_bind_flag 
-015c c12d0000 rtneq dongle_kb_bind_success 
-015d 7011c75a jam dongle_kb_bind_success ,mem_dongle_kb_bind_flag 
-015e 20400088 call p_dongle_set_kb_bind_eeprom 
-015f 204065d1 call iicd_write_protect_eep_data 
-0160 2020659a branch soft_reset_chip 
+016a 680091c7 fetch 1 ,mem_dongle_kb_bind_flag 
+016b c12d0000 rtneq dongle_kb_bind_success 
+016c 7011c75a jam dongle_kb_bind_success ,mem_dongle_kb_bind_flag 
+016d 20400097 call p_dongle_set_kb_bind_eeprom 
+016e 204065d1 call iicd_write_protect_eep_data 
+016f 2020659a branch soft_reset_chip 
 
 p_g24_data_attemp_bind:
-0161 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-0162 c0008165 beq datatype_mouse ,p_g24_data_attemp_mouse_bind 
-0163 c0010168 beq datatype_keyboard ,p_g24_data_attemp_kbd_bind 
-0164 20600000 rtn 
+0170 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+0171 c0008174 beq datatype_mouse ,p_g24_data_attemp_mouse_bind 
+0172 c0010177 beq datatype_keyboard ,p_g24_data_attemp_kbd_bind 
+0173 20600000 rtn 
 
 p_g24_data_attemp_mouse_bind:
-0165 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
+0174 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
 
 p_g24_store_mouse_addr:
-0166 600248da store 4 ,mem_24g_ms_addr 
-0167 20600000 rtn 
+0175 600248da store 4 ,mem_24g_ms_addr 
+0176 20600000 rtn 
 
 p_g24_data_attemp_kbd_bind:
-0168 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
+0177 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
 
 p_g24_store_kbd_addr:
-0169 600248d6 store 4 ,mem_24g_kb_addr 
-016a 20600000 rtn 
+0178 600248d6 store 4 ,mem_24g_kb_addr 
+0179 20600000 rtn 
 
 p_g24_queue_init:
-016b 70490000 jam 0 ,mem_queue_ele_num 
-016c 58004905 setarg mem_queue_start 
-016d 60014901 store 2 ,mem_queue_read 
-016e 60014903 store 2 ,mem_queue_write 
-016f 20600000 rtn 
+017a 70490000 jam 0 ,mem_queue_ele_num 
+017b 58004905 setarg mem_queue_start 
+017c 60014901 store 2 ,mem_queue_read 
+017d 60014903 store 2 ,mem_queue_write 
+017e 20600000 rtn 
 
 p_g24_queue_put:
-0170 df20001f arg 0x1f ,loopcnt 
-0171 d8400cb6 arg mem_usb0_set_report_data ,temp 
-0172 68014903 fetch 2 ,mem_queue_write 
-0173 1fe20a00 copy pdata ,contw 
-0174 18420c00 copy temp ,contr 
-0175 20407f01 call memcpy 
-0176 6800c900 fetch 1 ,mem_queue_ele_num 
-0177 1fe0fe01 increase 1 ,pdata 
-0178 6000c900 store 1 ,mem_queue_ele_num 
-0179 58004903 setarg mem_queue_write 
+017f df20001f arg 0x1f ,loopcnt 
+0180 d8400cb6 arg mem_usb0_set_report_data ,temp 
+0181 68014903 fetch 2 ,mem_queue_write 
+0182 1fe20a00 copy pdata ,contw 
+0183 18420c00 copy temp ,contr 
+0184 20407f01 call memcpy 
+0185 6800c900 fetch 1 ,mem_queue_ele_num 
+0186 1fe0fe01 increase 1 ,pdata 
+0187 6000c900 store 1 ,mem_queue_ele_num 
+0188 58004903 setarg mem_queue_write 
 
 p_g24_queue_increase:
-017a 1fe22200 copy pdata ,rega 
-017b d8404965 arg mem_queue_end ,temp 
-017c ea210000 ifetch 2 ,rega 
-017d 1fe0fe20 increase queue_ele_length ,pdata 
-017e 98467c00 isub temp ,null 
-017f 24210181 nbranch p_g24_queue_put_end ,positive 
-0180 58004905 setarg mem_queue_start 
+0189 1fe22200 copy pdata ,rega 
+018a d8404965 arg mem_queue_end ,temp 
+018b ea210000 ifetch 2 ,rega 
+018c 1fe0fe20 increase queue_ele_length ,pdata 
+018d 98467c00 isub temp ,null 
+018e 24210190 nbranch p_g24_queue_put_end ,positive 
+018f 58004905 setarg mem_queue_start 
 
 p_g24_queue_put_end:
-0181 e2210000 istore 2 ,rega 
-0182 20600000 rtn 
+0190 e2210000 istore 2 ,rega 
+0191 20600000 rtn 
 
 p_g24_queue_read_point:
-0183 78547c00 disable user 
-0184 6800c900 fetch 1 ,mem_queue_ele_num 
-0185 207a0000 rtn blank 
-0186 78347c00 enable user 
-0187 68014901 fetch 2 ,mem_queue_read 
-0188 20600000 rtn 
+0192 78547c00 disable user 
+0193 6800c900 fetch 1 ,mem_queue_ele_num 
+0194 207a0000 rtn blank 
+0195 78347c00 enable user 
+0196 68014901 fetch 2 ,mem_queue_read 
+0197 20600000 rtn 
 
 p_dongle_usb_dispatch:
-0189 708004ff jam 0xff ,core_write_watchdog 
-018a 204048d3 call usb_isr 
-018b 68008d50 fetch 1 ,mem_usb0_get_set_report 
-018c 207a0000 rtn blank 
-018d 700d5000 jam 0 ,mem_usb0_get_set_report 
-018e 68010d4e fetch 2 ,mem_usb_setup_bvalue_temp 
-018f d84002ba arg pc_set_report ,temp 
-0190 98467c00 isub temp ,null 
-0191 24628000 nrtn zero 
-0192 68008cb6 fetch 1 ,mem_usb0_set_report_data 
-0193 c1dd0000 rtnne pc_report_id 
-0194 68008cb7 fetch 1 ,mem_usb0_set_report_data + 1 
-0195 c05001a6 beq command_mode ,p_dongle_dispose_cmd_mode 
-0196 c050819c beq command_bind ,p_dongle_dispose_cmd_bind 
-0197 c0533041 beq command_current_project ,dongle_dispose_cmd_current_project 
-0198 c05381ab beq command_current_mode ,p_dongle_dispose_cmd_current_mode 
-0199 c05481b1 beq command_current_fw_version ,p_dongle_dispose_cmd_current_fw_version 
-019a c05801b3 beq command_user_defined ,p_dongle_dispose_cmd_user_defined 
-019b 2020302a branch usb0_data_ready_report_set0 
+0198 708004ff jam 0xff ,core_write_watchdog 
+0199 68008d39 fetch 1 ,mem_usb_remote_wakeup 
+019a 205a0305 call p_g24_clear_pc_sleep_flag ,blank 
+019b 204048d3 call usb_isr 
+019c 68008d50 fetch 1 ,mem_usb0_get_set_report 
+019d 207a0000 rtn blank 
+019e 700d5000 jam 0 ,mem_usb0_get_set_report 
+019f 68010d4e fetch 2 ,mem_usb_setup_bvalue_temp 
+01a0 d84002ba arg pc_set_report ,temp 
+01a1 98467c00 isub temp ,null 
+01a2 24628000 nrtn zero 
+01a3 68008cb6 fetch 1 ,mem_usb0_set_report_data 
+01a4 c1dd0000 rtnne pc_report_id 
+01a5 68008cb7 fetch 1 ,mem_usb0_set_report_data + 1 
+01a6 c05001b7 beq command_mode ,p_dongle_dispose_cmd_mode 
+01a7 c05081ad beq command_bind ,p_dongle_dispose_cmd_bind 
+01a8 c0533041 beq command_current_project ,dongle_dispose_cmd_current_project 
+01a9 c05381bc beq command_current_mode ,p_dongle_dispose_cmd_current_mode 
+01aa c05481c2 beq command_current_fw_version ,p_dongle_dispose_cmd_current_fw_version 
+01ab c05801c4 beq command_user_defined ,p_dongle_dispose_cmd_user_defined 
+01ac 2020302a branch usb0_data_ready_report_set0 
 
 p_dongle_dispose_cmd_bind:
-019c 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
-019d c00081a1 beq com_bind_get ,p_dongle_dispose_cmd_get_bind 
-019e c04201a4 beq com_bind_exit ,p_dongle_dispose_cmd_exit_bind 
-019f c053b039 beq com_read_mode ,dongle_dispose_cmd_read_mode 
-01a0 2020302a branch usb0_data_ready_report_set0 
+01ad 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+01ae c00081b2 beq com_bind_get ,p_dongle_dispose_cmd_get_bind 
+01af c04201b5 beq com_bind_exit ,p_dongle_dispose_cmd_exit_bind 
+01b0 c053b039 beq com_read_mode ,dongle_dispose_cmd_read_mode 
+01b1 2020302a branch usb0_data_ready_report_set0 
 
 p_dongle_dispose_cmd_get_bind:
-01a1 6800c8a7 fetch 1 ,mem_dongle_bind_device_status 
-01a2 60008cf7 store 1 ,mem_usb0_get_report_data + 1 
-01a3 2020303f branch usb0_data_ready_report_set1 
+01b2 6800c8a7 fetch 1 ,mem_dongle_bind_device_status 
+01b3 60008cf7 store 1 ,mem_usb0_get_report_data + 1 
+01b4 2020303f branch usb0_data_ready_report_set1 
 
 p_dongle_dispose_cmd_exit_bind:
-01a4 204000a0 call p_dongle_work_mode_enable 
-01a5 202001a1 branch p_dongle_dispose_cmd_get_bind 
+01b5 204000af call p_dongle_work_mode_enable 
+01b6 202001b2 branch p_dongle_dispose_cmd_get_bind 
 
 p_dongle_dispose_cmd_mode:
-01a6 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
-01a7 c04081a9 beq com_mode_bind ,p_dongle_enter_bind_mode 
-01a8 2020302a branch usb0_data_ready_report_set0 
+01b7 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+01b8 c04081ba beq com_mode_bind ,p_dongle_enter_bind_mode 
+01b9 2020302a branch usb0_data_ready_report_set0 
 
 p_dongle_enter_bind_mode:
-01a9 20400206 call p_g24_bind_mode_enable 
-01aa 2020303f branch usb0_data_ready_report_set1 
+01ba 20400217 call p_g24_bind_mode_enable 
+01bb 2020303f branch usb0_data_ready_report_set1 
 
 p_dongle_dispose_cmd_current_mode:
-01ab 6800c8a4 fetch 1 ,mem_dongle_work_mode 
-01ac c00001af beq dongle_work ,p_dongle_dispose_in_work_mode 
-01ad c000b039 beq dongle_bind ,dongle_dispose_in_bind_mode 
-01ae 20600000 rtn 
+01bc 6800c8a4 fetch 1 ,mem_dongle_work_mode 
+01bd c00001c0 beq dongle_work ,p_dongle_dispose_in_work_mode 
+01be c000b039 beq dongle_bind ,dongle_dispose_in_bind_mode 
+01bf 20600000 rtn 
 
 p_dongle_dispose_in_work_mode:
-01af 700cf7a0 jam command_mode ,mem_usb0_get_report_data + 1 
-01b0 2020303f branch usb0_data_ready_report_set1 
+01c0 700cf7a0 jam command_mode ,mem_usb0_get_report_data + 1 
+01c1 2020303f branch usb0_data_ready_report_set1 
 
 p_dongle_dispose_cmd_current_fw_version:
-01b1 700cfa07 jam fw_version3 ,mem_usb0_get_report_data + 4 
-01b2 20203049 branch dongle_dispose_cmd_current_fw_version 
+01c2 700cfa07 jam fw_version3 ,mem_usb0_get_report_data + 4 
+01c3 20203049 branch dongle_dispose_cmd_current_fw_version 
 
 p_dongle_dispose_cmd_user_defined:
-01b3 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
-01b4 c07fe59a beq 0xff ,soft_reset_chip 
+01c4 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+01c5 c07fe59a beq 0xff ,soft_reset_chip 
 
 p_dongle_dispose_cmd_ota:
-01b5 7048b802 jam 2 ,mem_24g_ackpayload_enable 
-01b6 6800c900 fetch 1 ,mem_queue_ele_num 
-01b7 c00181bd beq queue_ele_count ,p_user_defined_queue_buff_full 
-01b8 20400170 call p_g24_queue_put 
-01b9 6800c900 fetch 1 ,mem_queue_ele_num 
-01ba c00181bd beq queue_ele_count ,p_user_defined_queue_buff_full 
+01c6 7048b802 jam 2 ,mem_24g_ackpayload_enable 
+01c7 6800c900 fetch 1 ,mem_queue_ele_num 
+01c8 c00181ce beq queue_ele_count ,p_user_defined_queue_buff_full 
+01c9 2040017f call p_g24_queue_put 
+01ca 6800c900 fetch 1 ,mem_queue_ele_num 
+01cb c00181ce beq queue_ele_count ,p_user_defined_queue_buff_full 
 
 p_user_defined_queue_buff_free:
-01bb 700cf700 jam 0 ,mem_usb0_get_report_data + 1 
-01bc 2020303f branch usb0_data_ready_report_set1 
+01cc 700cf700 jam 0 ,mem_usb0_get_report_data + 1 
+01cd 2020303f branch usb0_data_ready_report_set1 
 
 p_user_defined_queue_buff_full:
-01bd 700cf701 jam 1 ,mem_usb0_get_report_data + 1 
-01be 2020303f branch usb0_data_ready_report_set1 
+01ce 700cf701 jam 1 ,mem_usb0_get_report_data + 1 
+01cf 2020303f branch usb0_data_ready_report_set1 
 
 p_dongle_auto_bind:
-01bf 204001e4 call p_g24_mode_switch_init 
+01d0 204001f5 call p_g24_mode_switch_init 
 
 p_dongle_auto_bind_loop:
-01c0 204001ea call p_g24_mode_switch 
-01c1 20400215 call p_g24_mode_switch_2 
-01c2 204001c7 call p_g24_dongle_work_mode_auto 
-01c3 204001cb call p_g24_dongle_bind_mode_auto 
-01c4 20400246 call p_g24_dongle_search_mode_auto 
-01c5 20400189 call p_dongle_usb_dispatch 
-01c6 202001c0 branch p_dongle_auto_bind_loop 
+01d1 204001fb call p_g24_mode_switch 
+01d2 20400226 call p_g24_mode_switch_2 
+01d3 204001d8 call p_g24_dongle_work_mode_auto 
+01d4 204001dc call p_g24_dongle_bind_mode_auto 
+01d5 20400257 call p_g24_dongle_search_mode_auto 
+01d6 20400198 call p_dongle_usb_dispatch 
+01d7 202001d1 branch p_dongle_auto_bind_loop 
 
 p_g24_dongle_work_mode_auto:
-01c7 6800c8a4 fetch 1 ,mem_dongle_work_mode 
-01c8 c1800000 rtnne dongle_work 
-01c9 204000a5 call p_g24_dongle_work_mode_start 
-01ca 20200234 branch p_g24_rx_nodata_process 
+01d8 6800c8a4 fetch 1 ,mem_dongle_work_mode 
+01d9 c1800000 rtnne dongle_work 
+01da 204000b4 call p_g24_dongle_work_mode_start 
+01db 20200245 branch p_g24_rx_nodata_process 
 
 p_g24_dongle_bind_mode_auto:
-01cb 6800c8a4 fetch 1 ,mem_dongle_work_mode 
-01cc c1808000 rtnne dongle_bind 
-01cd 204000f2 call p_g24_dongle_bind_init 
-01ce 204000fe call p_g24_dongle_bind_data_process 
-01cf 6800c8a7 fetch 1 ,mem_dongle_bind_device_status 
-01d0 207a0000 rtn blank 
-01d1 7048b700 jam 0 ,mem_24g_mode_switch 
-01d2 2040009f call p_dongle_check_mode 
-01d3 20400232 call p_g24_enable_nodata_timer 
-01d4 202001e7 branch p_g24_timer_init 
+01dc 6800c8a4 fetch 1 ,mem_dongle_work_mode 
+01dd c1808000 rtnne dongle_bind 
+01de 20400101 call p_g24_dongle_bind_init 
+01df 2040010d call p_g24_dongle_bind_data_process 
+01e0 6800c8a7 fetch 1 ,mem_dongle_bind_device_status 
+01e1 207a0000 rtn blank 
+01e2 7048b700 jam 0 ,mem_24g_mode_switch 
+01e3 204000ae call p_dongle_check_mode 
+01e4 20400243 call p_g24_enable_nodata_timer 
+01e5 202001f8 branch p_g24_timer_init 
 
 p_g24_timer_check:
-01d5 20407fe9 call disable_user 
-01d6 680a4857 fetcht 4 ,mem_24g_tx_btclk 
-01d7 1c427e00 copy clkn_bt ,pdata 
-01d8 98467c00 isub temp ,null 
-01d9 24412d18 ncall g24_timer_timeout ,positive 
-01da 1fe22400 copy pdata ,regb 
-01db 68024857 fetch 4 ,mem_24g_tx_btclk 
-01dc 6808c85b fetcht 1 ,mem_24g_interval 
-01dd 98408400 iadd temp ,temp 
-01de 1a427e00 copy regb ,pdata 
-01df 98467c00 isub temp ,null 
-01e0 24610000 nrtn positive 
-01e1 793ffe1c set0 28 ,pdata 
-01e2 60024857 store 4 ,mem_24g_tx_btclk 
-01e3 20207fe7 branch enable_user 
+01e6 20407fe9 call disable_user 
+01e7 680a4857 fetcht 4 ,mem_24g_tx_btclk 
+01e8 1c427e00 copy clkn_bt ,pdata 
+01e9 98467c00 isub temp ,null 
+01ea 24412d18 ncall g24_timer_timeout ,positive 
+01eb 1fe22400 copy pdata ,regb 
+01ec 68024857 fetch 4 ,mem_24g_tx_btclk 
+01ed 6808c85b fetcht 1 ,mem_24g_interval 
+01ee 98408400 iadd temp ,temp 
+01ef 1a427e00 copy regb ,pdata 
+01f0 98467c00 isub temp ,null 
+01f1 24610000 nrtn positive 
+01f2 793ffe1c set0 28 ,pdata 
+01f3 60024857 store 4 ,mem_24g_tx_btclk 
+01f4 20207fe7 branch enable_user 
 
 p_g24_mode_switch_init:
-01e4 7048b701 jam 1 ,mem_24g_mode_switch 
-01e5 7048bc00 jam 0 ,mem_24g_time_slice 
-01e6 70485bff jam 0xff ,mem_24g_interval 
+01f5 7048b701 jam 1 ,mem_24g_mode_switch 
+01f6 7048bc00 jam 0 ,mem_24g_time_slice 
+01f7 70485bff jam 0xff ,mem_24g_interval 
 
 p_g24_timer_init:
-01e7 58000000 setarg 0 
-01e8 60024857 store 4 ,mem_24g_tx_btclk 
-01e9 20600000 rtn 
+01f8 58000000 setarg 0 
+01f9 60024857 store 4 ,mem_24g_tx_btclk 
+01fa 20600000 rtn 
 
 p_g24_mode_switch:
-01ea 6800c8b7 fetch 1 ,mem_24g_mode_switch 
-01eb 207a0000 rtn blank 
-01ec 204001d5 call p_g24_timer_check 
-01ed 24740000 nrtn user 
-01ee 204001ff call p_g24_bind_mode_delay 
-01ef 204001f7 call p_g24_work_mode_delay 
-01f0 6800c8bc fetch 1 ,mem_24g_time_slice 
-01f1 1fe0fe01 increase 1 ,pdata 
-01f2 1fe17e01 and_into 1 ,pdata 
-01f3 6000c8bc store 1 ,mem_24g_time_slice 
-01f4 c00001fc beq 0 ,p_g24_mode_switch_work 
-01f5 c0008204 beq 1 ,p_g24_mode_switch_bind 
-01f6 20600000 rtn 
+01fb 6800c8b7 fetch 1 ,mem_24g_mode_switch 
+01fc 207a0000 rtn blank 
+01fd 204001e6 call p_g24_timer_check 
+01fe 24740000 nrtn user 
+01ff 20400210 call p_g24_bind_mode_delay 
+0200 20400208 call p_g24_work_mode_delay 
+0201 6800c8bc fetch 1 ,mem_24g_time_slice 
+0202 1fe0fe01 increase 1 ,pdata 
+0203 1fe17e01 and_into 1 ,pdata 
+0204 6000c8bc store 1 ,mem_24g_time_slice 
+0205 c000020d beq 0 ,p_g24_mode_switch_work 
+0206 c0008215 beq 1 ,p_g24_mode_switch_bind 
+0207 20600000 rtn 
 
 p_g24_work_mode_delay:
-01f7 6800c97a fetch 1 ,mem_24g_work_delay_count 
-01f8 207a0000 rtn blank 
-01f9 1fe0ffff increase -1 ,pdata 
-01fa 6000c97a store 1 ,mem_24g_work_delay_count 
-01fb 20600000 rtn 
+0208 6800c97c fetch 1 ,mem_24g_work_delay_count 
+0209 207a0000 rtn blank 
+020a 1fe0ffff increase -1 ,pdata 
+020b 6000c97c store 1 ,mem_24g_work_delay_count 
+020c 20600000 rtn 
 
 p_g24_mode_switch_work:
-01fc 6800c97a fetch 1 ,mem_24g_work_delay_count 
-01fd 243a0206 nbranch p_g24_bind_mode_enable ,blank 
-01fe 2020009f branch p_dongle_check_mode 
+020d 6800c97c fetch 1 ,mem_24g_work_delay_count 
+020e 243a0217 nbranch p_g24_bind_mode_enable ,blank 
+020f 202000ae branch p_dongle_check_mode 
 
 p_g24_bind_mode_delay:
-01ff 6800c979 fetch 1 ,mem_24g_bind_delay_count 
-0200 207a0000 rtn blank 
-0201 1fe0ffff increase -1 ,pdata 
-0202 6000c979 store 1 ,mem_24g_bind_delay_count 
-0203 20600000 rtn 
+0210 6800c97b fetch 1 ,mem_24g_bind_delay_count 
+0211 207a0000 rtn blank 
+0212 1fe0ffff increase -1 ,pdata 
+0213 6000c97b store 1 ,mem_24g_bind_delay_count 
+0214 20600000 rtn 
 
 p_g24_mode_switch_bind:
-0204 6800c979 fetch 1 ,mem_24g_bind_delay_count 
-0205 243a009f nbranch p_dongle_check_mode ,blank 
+0215 6800c97b fetch 1 ,mem_24g_bind_delay_count 
+0216 243a00ae nbranch p_dongle_check_mode ,blank 
 
 p_g24_bind_mode_enable:
-0206 7048a401 jam dongle_bind ,mem_dongle_work_mode 
-0207 7048a300 jam clear_init ,mem_dongle_mode_init 
-0208 20600000 rtn 
+0217 7048a401 jam dongle_bind ,mem_dongle_work_mode 
+0218 7048a300 jam clear_init ,mem_dongle_mode_init 
+0219 20600000 rtn 
 
 p_g24_mode_switch_init_2:
-0209 6800c97f fetch 1 ,mem_24g_mode_switch_exit_2 
-020a 205a0230 call p_g24_mode_switch_start_2 ,blank 
-020b 6800c97c fetch 1 ,mem_24g_mode_switch_2_init 
-020c c3800000 rtnbit1 0 
-020d 79207e00 set1 0 ,pdata 
-020e 6000c97c store 1 ,mem_24g_mode_switch_2_init 
-020f 70497b01 jam 1 ,mem_24g_mode_switch_2 
-0210 70498000 jam 0 ,mem_24g_time_slice_2 
-0211 58000000 setarg 0 
-0212 6001497d store 2 ,mem_24g_mode_switch_cnt_2 
-0213 70485b60 jam 0x60 ,mem_24g_interval 
-0214 202001e7 branch p_g24_timer_init 
+021a 6800c981 fetch 1 ,mem_24g_mode_switch_exit_2 
+021b 205a0241 call p_g24_mode_switch_start_2 ,blank 
+021c 6800c97e fetch 1 ,mem_24g_mode_switch_2_init 
+021d c3800000 rtnbit1 0 
+021e 79207e00 set1 0 ,pdata 
+021f 6000c97e store 1 ,mem_24g_mode_switch_2_init 
+0220 70497d01 jam 1 ,mem_24g_mode_switch_2 
+0221 70498200 jam 0 ,mem_24g_time_slice_2 
+0222 58000000 setarg 0 
+0223 6001497f store 2 ,mem_24g_mode_switch_cnt_2 
+0224 70485b60 jam 0x60 ,mem_24g_interval 
+0225 202001f8 branch p_g24_timer_init 
 
 p_g24_mode_switch_2:
-0215 6800c97f fetch 1 ,mem_24g_mode_switch_exit_2 
-0216 247a0000 nrtn blank 
-0217 6800c97b fetch 1 ,mem_24g_mode_switch_2 
-0218 207a0000 rtn blank 
-0219 204001d5 call p_g24_timer_check 
-021a 24740000 nrtn user 
-021b 6801497d fetch 2 ,mem_24g_mode_switch_cnt_2 
-021c 1fe0fe01 increase 1 ,pdata 
-021d 6001497d store 2 ,mem_24g_mode_switch_cnt_2 
-021e d84007d0 arg 0x7d0 ,temp 
-021f 98467c00 isub temp ,null 
-0220 2021022c branch p_g24_mode_switch_exit_2 ,positive 
-0221 204001f7 call p_g24_work_mode_delay 
-0222 6800c980 fetch 1 ,mem_24g_time_slice_2 
-0223 1fe0fe01 increase 1 ,pdata 
-0224 1fe17e01 and_into 1 ,pdata 
-0225 6000c980 store 1 ,mem_24g_time_slice_2 
-0226 c0000229 beq 0 ,p_g24_mode_switch_search 
-0227 c0008206 beq 1 ,p_g24_bind_mode_enable 
-0228 20600000 rtn 
+0226 6800c981 fetch 1 ,mem_24g_mode_switch_exit_2 
+0227 247a0000 nrtn blank 
+0228 6800c97d fetch 1 ,mem_24g_mode_switch_2 
+0229 207a0000 rtn blank 
+022a 204001e6 call p_g24_timer_check 
+022b 24740000 nrtn user 
+022c 6801497f fetch 2 ,mem_24g_mode_switch_cnt_2 
+022d 1fe0fe01 increase 1 ,pdata 
+022e 6001497f store 2 ,mem_24g_mode_switch_cnt_2 
+022f d84007d0 arg 0x7d0 ,temp 
+0230 98467c00 isub temp ,null 
+0231 2021023d branch p_g24_mode_switch_exit_2 ,positive 
+0232 20400208 call p_g24_work_mode_delay 
+0233 6800c982 fetch 1 ,mem_24g_time_slice_2 
+0234 1fe0fe01 increase 1 ,pdata 
+0235 1fe17e01 and_into 1 ,pdata 
+0236 6000c982 store 1 ,mem_24g_time_slice_2 
+0237 c000023a beq 0 ,p_g24_mode_switch_search 
+0238 c0008217 beq 1 ,p_g24_bind_mode_enable 
+0239 20600000 rtn 
 
 p_g24_mode_switch_search:
-0229 6800c97a fetch 1 ,mem_24g_work_delay_count 
-022a 243a0206 nbranch p_g24_bind_mode_enable ,blank 
-022b 2020023f branch p_g24_search_mode_enable 
+023a 6800c97c fetch 1 ,mem_24g_work_delay_count 
+023b 243a0217 nbranch p_g24_bind_mode_enable ,blank 
+023c 20200250 branch p_g24_search_mode_enable 
 
 p_g24_mode_switch_exit_2:
-022c 70497f01 jam 1 ,mem_24g_mode_switch_exit_2 
-022d 2020023f branch p_g24_search_mode_enable 
+023d 70498101 jam 1 ,mem_24g_mode_switch_exit_2 
+023e 20200250 branch p_g24_search_mode_enable 
 
 p_g24_mode_switch_stop_2:
-022e 70497b00 jam 0 ,mem_24g_mode_switch_2 
-022f 20600000 rtn 
+023f 70497d00 jam 0 ,mem_24g_mode_switch_2 
+0240 20600000 rtn 
 
 p_g24_mode_switch_start_2:
-0230 70497b01 jam 1 ,mem_24g_mode_switch_2 
-0231 20600000 rtn 
+0241 70497d01 jam 1 ,mem_24g_mode_switch_2 
+0242 20600000 rtn 
 
 p_g24_enable_nodata_timer:
-0232 7048bb01 jam 1 ,mem_24g_nodata_timer_enable 
-0233 20203095 branch g24_enable_nodata_timer_init 
+0243 7048bb01 jam 1 ,mem_24g_nodata_timer_enable 
+0244 20203095 branch g24_enable_nodata_timer_init 
 
 p_g24_rx_nodata_process:
-0234 6800c8b8 fetch 1 ,mem_24g_ackpayload_enable 
-0235 c1010000 rtneq 2 
-0236 6800c8bb fetch 1 ,mem_24g_nodata_timer_enable 
-0237 207a0000 rtn blank 
-0238 d8e00008 arg timer_nodata ,queue 
-0239 20407f16 call timer_check 
-023a 247a0000 nrtn blank 
-023b 7048bb00 jam 0 ,mem_24g_nodata_timer_enable 
-023c 70497900 jam 0 ,mem_24g_bind_delay_count 
-023d 70497a00 jam 0 ,mem_24g_work_delay_count 
-023e 20400209 call p_g24_mode_switch_init_2 
+0245 6800c8b8 fetch 1 ,mem_24g_ackpayload_enable 
+0246 c1010000 rtneq 2 
+0247 6800c8bb fetch 1 ,mem_24g_nodata_timer_enable 
+0248 207a0000 rtn blank 
+0249 d8e00008 arg timer_nodata ,queue 
+024a 20407f16 call timer_check 
+024b 247a0000 nrtn blank 
+024c 7048bb00 jam 0 ,mem_24g_nodata_timer_enable 
+024d 70497b00 jam 0 ,mem_24g_bind_delay_count 
+024e 70497c00 jam 0 ,mem_24g_work_delay_count 
+024f 2040021a call p_g24_mode_switch_init_2 
 
 p_g24_search_mode_enable:
-023f 7048a407 jam dongle_search ,mem_dongle_work_mode 
-0240 7048a300 jam clear_init ,mem_dongle_mode_init 
-0241 2020010a branch p_g24_rx_interrupt_clear 
+0250 7048a407 jam dongle_search ,mem_dongle_work_mode 
+0251 7048a300 jam clear_init ,mem_dongle_mode_init 
+0252 20200119 branch p_g24_rx_interrupt_clear 
 
 p_g24_receive_transmit_ack:
-0242 2040010a call p_g24_rx_interrupt_clear 
-0243 20400449 call p_g24_receive_packet 
-0244 24778000 nrtn user3 
-0245 202002e3 branch p_g24_transmit_ack 
+0253 20400119 call p_g24_rx_interrupt_clear 
+0254 2040046f call p_g24_receive_packet 
+0255 24778000 nrtn user3 
+0256 202002f4 branch p_g24_transmit_ack 
 
 p_g24_dongle_search_mode_auto:
-0246 6800c8a4 fetch 1 ,mem_dongle_work_mode 
-0247 c1838000 rtnne dongle_search 
-0248 2040026d call p_g24_dongle_search_mode_init 
-0249 20400281 call p_g24_rx_auto_addr_ch_search 
-024a 20400242 call p_g24_receive_transmit_ack 
-024b 2437810a nbranch p_g24_rx_interrupt_clear ,user3 
-024c 2040027d call p_g24_rx_addr_check 
-024d 20428312 call p_g24_receive_packet_parse ,zero 
-024e 6800c8b0 fetch 1 ,mem_24g_abort_packet 
-024f 205a022e call p_g24_mode_switch_stop_2 ,blank 
-0250 7048a400 jam dongle_work ,mem_dongle_work_mode 
-0251 6800c8a3 fetch 1 ,mem_dongle_mode_init 
-0252 79207e00 set1 dongle_work ,pdata 
-0253 6000c8a3 store 1 ,mem_dongle_mode_init 
-0254 6800c8b8 fetch 1 ,mem_24g_ackpayload_enable 
-0255 1fe67c02 sub pdata ,2 ,null 
-0256 24428264 ncall p_g24_ackpayload_disable ,zero 
-0257 2040010a call p_g24_rx_interrupt_clear 
-0258 20400232 call p_g24_enable_nodata_timer 
-0259 2040027d call p_g24_rx_addr_check 
-025a 20228266 branch p_g24_dg_ch_num_reinit ,zero 
-025b 6802485e fetch 4 ,mem_24g_addr 
-025c 680a48d6 fetcht 4 ,mem_24g_kb_addr 
-025d 98467c00 isub temp ,null 
-025e 20228269 branch p_g24_kb_ch_num_reinit ,zero 
-025f 6802485e fetch 4 ,mem_24g_addr 
-0260 680a48da fetcht 4 ,mem_24g_ms_addr 
-0261 98467c00 isub temp ,null 
-0262 2022826b branch p_g24_ms_ch_num_reinit ,zero 
-0263 20600000 rtn 
+0257 6800c8a4 fetch 1 ,mem_dongle_work_mode 
+0258 c1838000 rtnne dongle_search 
+0259 2040027e call p_g24_dongle_search_mode_init 
+025a 20400292 call p_g24_rx_auto_addr_ch_search 
+025b 20400253 call p_g24_receive_transmit_ack 
+025c 24378119 nbranch p_g24_rx_interrupt_clear ,user3 
+025d 2040028e call p_g24_rx_addr_check 
+025e 20428338 call p_g24_receive_packet_parse ,zero 
+025f 6800c8b0 fetch 1 ,mem_24g_abort_packet 
+0260 205a023f call p_g24_mode_switch_stop_2 ,blank 
+0261 7048a400 jam dongle_work ,mem_dongle_work_mode 
+0262 6800c8a3 fetch 1 ,mem_dongle_mode_init 
+0263 79207e00 set1 dongle_work ,pdata 
+0264 6000c8a3 store 1 ,mem_dongle_mode_init 
+0265 6800c8b8 fetch 1 ,mem_24g_ackpayload_enable 
+0266 1fe67c02 sub pdata ,2 ,null 
+0267 24428275 ncall p_g24_ackpayload_disable ,zero 
+0268 20400119 call p_g24_rx_interrupt_clear 
+0269 20400243 call p_g24_enable_nodata_timer 
+026a 2040028e call p_g24_rx_addr_check 
+026b 20228277 branch p_g24_dg_ch_num_reinit ,zero 
+026c 6802485e fetch 4 ,mem_24g_addr 
+026d 680a48d6 fetcht 4 ,mem_24g_kb_addr 
+026e 98467c00 isub temp ,null 
+026f 2022827a branch p_g24_kb_ch_num_reinit ,zero 
+0270 6802485e fetch 4 ,mem_24g_addr 
+0271 680a48da fetcht 4 ,mem_24g_ms_addr 
+0272 98467c00 isub temp ,null 
+0273 2022827c branch p_g24_ms_ch_num_reinit ,zero 
+0274 20600000 rtn 
 
 p_g24_ackpayload_disable:
-0264 7048b800 jam 0 ,mem_24g_ackpayload_enable 
-0265 20600000 rtn 
+0275 7048b800 jam 0 ,mem_24g_ackpayload_enable 
+0276 20600000 rtn 
 
 p_g24_dg_ch_num_reinit:
-0266 6800c8df fetch 1 ,mem_24g_dg_ch_number 
+0277 6800c8df fetch 1 ,mem_24g_dg_ch_number 
 
 p_g24_current_ch_num_reinit:
-0267 6000c841 store 1 ,mem_24g_current_ch_number 
-0268 20600000 rtn 
+0278 6000c841 store 1 ,mem_24g_current_ch_number 
+0279 20600000 rtn 
 
 p_g24_kb_ch_num_reinit:
-0269 6800c8e2 fetch 1 ,mem_24g_kb_ch_number 
-026a 20200267 branch p_g24_current_ch_num_reinit 
+027a 6800c8e2 fetch 1 ,mem_24g_kb_ch_number 
+027b 20200278 branch p_g24_current_ch_num_reinit 
 
 p_g24_ms_ch_num_reinit:
-026b 6800c8e5 fetch 1 ,mem_24g_ms_ch_number 
-026c 20200267 branch p_g24_current_ch_num_reinit 
+027c 6800c8e5 fetch 1 ,mem_24g_ms_ch_number 
+027d 20200278 branch p_g24_current_ch_num_reinit 
 
 p_g24_dongle_search_mode_init:
-026d 6800c8a3 fetch 1 ,mem_dongle_mode_init 
-026e c3838000 rtnbit1 dongle_search 
-026f 79207e07 set1 dongle_search ,pdata 
-0270 6000c8a3 store 1 ,mem_dongle_mode_init 
-0271 7048bc00 jam 0 ,mem_24g_time_slice 
-0272 7048b801 jam 1 ,mem_24g_ackpayload_enable 
-0273 58000000 setarg 0 
-0274 6001c8f5 store 3 ,mem_rssi_noise_dg_index 
-0275 6003c8e0 store 7 ,mem_24g_dg_config_ch_once 
-0276 2040027d call p_g24_rx_addr_check 
-0277 24628000 nrtn zero 
-0278 6800c841 fetch 1 ,mem_24g_current_ch_number 
-0279 6000c8df store 1 ,mem_24g_dg_ch_number 
-027a 6800c840 fetch 1 ,mem_24g_ch 
-027b 6000c8de store 1 ,mem_24g_dg_last_ch 
-027c 20600000 rtn 
+027e 6800c8a3 fetch 1 ,mem_dongle_mode_init 
+027f c3838000 rtnbit1 dongle_search 
+0280 79207e07 set1 dongle_search ,pdata 
+0281 6000c8a3 store 1 ,mem_dongle_mode_init 
+0282 7048bc00 jam 0 ,mem_24g_time_slice 
+0283 7048b801 jam 1 ,mem_24g_ackpayload_enable 
+0284 58000000 setarg 0 
+0285 6001c8f5 store 3 ,mem_rssi_noise_dg_index 
+0286 6003c8e0 store 7 ,mem_24g_dg_config_ch_once 
+0287 2040028e call p_g24_rx_addr_check 
+0288 24628000 nrtn zero 
+0289 6800c841 fetch 1 ,mem_24g_current_ch_number 
+028a 6000c8df store 1 ,mem_24g_dg_ch_number 
+028b 6800c840 fetch 1 ,mem_24g_ch 
+028c 6000c8de store 1 ,mem_24g_dg_last_ch 
+028d 20600000 rtn 
 
 p_g24_rx_addr_check:
-027d 6802485e fetch 4 ,mem_24g_addr 
-027e 680a489f fetcht 4 ,mem_24g_rx_addr 
-027f 98467c00 isub temp ,null 
-0280 20600000 rtn 
+028e 6802485e fetch 4 ,mem_24g_addr 
+028f 680a489f fetcht 4 ,mem_24g_rx_addr 
+0290 98467c00 isub temp ,null 
+0291 20600000 rtn 
 
 p_g24_rx_auto_addr_ch_search:
-0281 6800c8bc fetch 1 ,mem_24g_time_slice 
-0282 1fe0fe01 increase 1 ,pdata 
-0283 1fe17e03 and_into 3 ,pdata 
-0284 6000c8bc store 1 ,mem_24g_time_slice 
-0285 c00002a4 beq 0 ,p_g24_rx_auto_bind_config_kb 
-0286 c00082be beq 1 ,p_g24_rx_auto_bind_config_dongle 
-0287 c001028a beq 2 ,p_g24_rx_auto_bind_config_mouse 
-0288 c00182be beq 3 ,p_g24_rx_auto_bind_config_dongle 
-0289 20600000 rtn 
+0292 6800c8bc fetch 1 ,mem_24g_time_slice 
+0293 1fe0fe01 increase 1 ,pdata 
+0294 1fe17e03 and_into 3 ,pdata 
+0295 6000c8bc store 1 ,mem_24g_time_slice 
+0296 c00002b5 beq 0 ,p_g24_rx_auto_bind_config_kb 
+0297 c00082cf beq 1 ,p_g24_rx_auto_bind_config_dongle 
+0298 c001029b beq 2 ,p_g24_rx_auto_bind_config_mouse 
+0299 c00182cf beq 3 ,p_g24_rx_auto_bind_config_dongle 
+029a 20600000 rtn 
 
 p_g24_rx_auto_bind_config_mouse:
-028a 2040012d call p_g24_dongle_bind_ms_payload_cfg 
-028b 680248da fetch 4 ,mem_24g_ms_addr 
-028c 203a0281 branch p_g24_rx_auto_addr_ch_search ,blank 
-028d 2040040f call p_g24_update_addr_and_synccrc8 
-028e 6800c8e6 fetch 1 ,mem_24g_ms_config_ch_once 
-028f 205a029f call p_g24_ms_config_ch_once ,blank 
-0290 6800c8e4 fetch 1 ,mem_24g_ms_last_ch 
-0291 6000c840 store 1 ,mem_24g_ch 
-0292 6808c8f7 fetcht 1 ,mem_rssi_noise_ms_index 
-0293 da200f9e arg mem_rssi_noise_ms_buffer ,rega 
-0294 20400403 call p_rssi_store 
-0295 6008c8f7 storet 1 ,mem_rssi_noise_ms_index 
-0296 2040040a call p_rssi_average 
-0297 6008c8f4 storet 1 ,mem_rssi_noise_ms_avg 
-0298 18467c50 sub temp ,rssi_thresh_noise ,null 
-0299 24610000 nrtn positive 
-029a 6808c8e5 fetcht 1 ,mem_24g_ms_ch_number 
-029b 20400433 call p_g24_ch_map_size 
-029c 6008c8e5 storet 1 ,mem_24g_ms_ch_number 
-029d 6000c8e4 store 1 ,mem_24g_ms_last_ch 
-029e 20600000 rtn 
+029b 2040013c call p_g24_dongle_bind_ms_payload_cfg 
+029c 680248da fetch 4 ,mem_24g_ms_addr 
+029d 203a0292 branch p_g24_rx_auto_addr_ch_search ,blank 
+029e 20400435 call p_g24_update_addr_and_synccrc8 
+029f 6800c8e6 fetch 1 ,mem_24g_ms_config_ch_once 
+02a0 205a02b0 call p_g24_ms_config_ch_once ,blank 
+02a1 6800c8e4 fetch 1 ,mem_24g_ms_last_ch 
+02a2 6000c840 store 1 ,mem_24g_ch 
+02a3 6808c8f7 fetcht 1 ,mem_rssi_noise_ms_index 
+02a4 da200f9e arg mem_rssi_noise_ms_buffer ,rega 
+02a5 20400429 call p_rssi_store 
+02a6 6008c8f7 storet 1 ,mem_rssi_noise_ms_index 
+02a7 20400430 call p_rssi_average 
+02a8 6008c8f4 storet 1 ,mem_rssi_noise_ms_avg 
+02a9 18467c50 sub temp ,rssi_thresh_noise ,null 
+02aa 24610000 nrtn positive 
+02ab 6808c8e5 fetcht 1 ,mem_24g_ms_ch_number 
+02ac 20400459 call p_g24_ch_map_size 
+02ad 6008c8e5 storet 1 ,mem_24g_ms_ch_number 
+02ae 6000c8e4 store 1 ,mem_24g_ms_last_ch 
+02af 20600000 rtn 
 
 p_g24_ms_config_ch_once:
-029f 7048e601 jam 1 ,mem_24g_ms_config_ch_once 
-02a0 d8400000 arg 0 ,temp 
-02a1 20400437 call p_g24_ch_calc 
-02a2 6000c8e4 store 1 ,mem_24g_ms_last_ch 
-02a3 20600000 rtn 
+02b0 7048e601 jam 1 ,mem_24g_ms_config_ch_once 
+02b1 d8400000 arg 0 ,temp 
+02b2 2040045d call p_g24_ch_calc 
+02b3 6000c8e4 store 1 ,mem_24g_ms_last_ch 
+02b4 20600000 rtn 
 
 p_g24_rx_auto_bind_config_kb:
-02a4 20400133 call p_g24_dongle_bind_kb_payload_cfg 
-02a5 680248d6 fetch 4 ,mem_24g_kb_addr 
-02a6 203a0281 branch p_g24_rx_auto_addr_ch_search ,blank 
-02a7 2040040f call p_g24_update_addr_and_synccrc8 
-02a8 6800c8e3 fetch 1 ,mem_24g_kb_config_ch_once 
-02a9 205a02b9 call p_g24_kb_config_ch_once ,blank 
-02aa 6800c8e1 fetch 1 ,mem_24g_kb_last_ch 
-02ab 6000c840 store 1 ,mem_24g_ch 
-02ac 6808c8f6 fetcht 1 ,mem_rssi_noise_kb_index 
-02ad da20109e arg mem_rssi_noise_kb_buffer ,rega 
-02ae 20400403 call p_rssi_store 
-02af 6008c8f6 storet 1 ,mem_rssi_noise_kb_index 
-02b0 2040040a call p_rssi_average 
-02b1 6008c8f3 storet 1 ,mem_rssi_noise_kb_avg 
-02b2 18467c50 sub temp ,rssi_thresh_noise ,null 
-02b3 24610000 nrtn positive 
-02b4 6808c8e2 fetcht 1 ,mem_24g_kb_ch_number 
-02b5 20400433 call p_g24_ch_map_size 
-02b6 6008c8e2 storet 1 ,mem_24g_kb_ch_number 
-02b7 6000c8e1 store 1 ,mem_24g_kb_last_ch 
-02b8 20600000 rtn 
+02b5 20400142 call p_g24_dongle_bind_kb_payload_cfg 
+02b6 680248d6 fetch 4 ,mem_24g_kb_addr 
+02b7 203a0292 branch p_g24_rx_auto_addr_ch_search ,blank 
+02b8 20400435 call p_g24_update_addr_and_synccrc8 
+02b9 6800c8e3 fetch 1 ,mem_24g_kb_config_ch_once 
+02ba 205a02ca call p_g24_kb_config_ch_once ,blank 
+02bb 6800c8e1 fetch 1 ,mem_24g_kb_last_ch 
+02bc 6000c840 store 1 ,mem_24g_ch 
+02bd 6808c8f6 fetcht 1 ,mem_rssi_noise_kb_index 
+02be da20109e arg mem_rssi_noise_kb_buffer ,rega 
+02bf 20400429 call p_rssi_store 
+02c0 6008c8f6 storet 1 ,mem_rssi_noise_kb_index 
+02c1 20400430 call p_rssi_average 
+02c2 6008c8f3 storet 1 ,mem_rssi_noise_kb_avg 
+02c3 18467c50 sub temp ,rssi_thresh_noise ,null 
+02c4 24610000 nrtn positive 
+02c5 6808c8e2 fetcht 1 ,mem_24g_kb_ch_number 
+02c6 20400459 call p_g24_ch_map_size 
+02c7 6008c8e2 storet 1 ,mem_24g_kb_ch_number 
+02c8 6000c8e1 store 1 ,mem_24g_kb_last_ch 
+02c9 20600000 rtn 
 
 p_g24_kb_config_ch_once:
-02b9 7048e301 jam 1 ,mem_24g_kb_config_ch_once 
-02ba d8400000 arg 0 ,temp 
-02bb 20400437 call p_g24_ch_calc 
-02bc 6000c8e1 store 1 ,mem_24g_kb_last_ch 
-02bd 20600000 rtn 
+02ca 7048e301 jam 1 ,mem_24g_kb_config_ch_once 
+02cb d8400000 arg 0 ,temp 
+02cc 2040045d call p_g24_ch_calc 
+02cd 6000c8e1 store 1 ,mem_24g_kb_last_ch 
+02ce 20600000 rtn 
 
 p_g24_rx_auto_bind_config_dongle:
-02be 2040012d call p_g24_dongle_bind_ms_payload_cfg 
-02bf 6802489f fetch 4 ,mem_24g_rx_addr 
-02c0 2040040f call p_g24_update_addr_and_synccrc8 
-02c1 6800c8e0 fetch 1 ,mem_24g_dg_config_ch_once 
-02c2 205a02d2 call p_g24_dg_config_ch_once ,blank 
-02c3 6800c8de fetch 1 ,mem_24g_dg_last_ch 
-02c4 6000c840 store 1 ,mem_24g_ch 
-02c5 6808c8f5 fetcht 1 ,mem_rssi_noise_dg_index 
-02c6 da200e9e arg mem_rssi_noise_dg_buffer ,rega 
-02c7 20400403 call p_rssi_store 
-02c8 6008c8f5 storet 1 ,mem_rssi_noise_dg_index 
-02c9 2040040a call p_rssi_average 
-02ca 6008c8f2 storet 1 ,mem_rssi_noise_dg_avg 
-02cb 18467c50 sub temp ,rssi_thresh_noise ,null 
-02cc 24610000 nrtn positive 
-02cd 6808c8df fetcht 1 ,mem_24g_dg_ch_number 
-02ce 20400433 call p_g24_ch_map_size 
-02cf 6008c8df storet 1 ,mem_24g_dg_ch_number 
-02d0 6000c8de store 1 ,mem_24g_dg_last_ch 
-02d1 20600000 rtn 
+02cf 2040013c call p_g24_dongle_bind_ms_payload_cfg 
+02d0 6802489f fetch 4 ,mem_24g_rx_addr 
+02d1 20400435 call p_g24_update_addr_and_synccrc8 
+02d2 6800c8e0 fetch 1 ,mem_24g_dg_config_ch_once 
+02d3 205a02e3 call p_g24_dg_config_ch_once ,blank 
+02d4 6800c8de fetch 1 ,mem_24g_dg_last_ch 
+02d5 6000c840 store 1 ,mem_24g_ch 
+02d6 6808c8f5 fetcht 1 ,mem_rssi_noise_dg_index 
+02d7 da200e9e arg mem_rssi_noise_dg_buffer ,rega 
+02d8 20400429 call p_rssi_store 
+02d9 6008c8f5 storet 1 ,mem_rssi_noise_dg_index 
+02da 20400430 call p_rssi_average 
+02db 6008c8f2 storet 1 ,mem_rssi_noise_dg_avg 
+02dc 18467c50 sub temp ,rssi_thresh_noise ,null 
+02dd 24610000 nrtn positive 
+02de 6808c8df fetcht 1 ,mem_24g_dg_ch_number 
+02df 20400459 call p_g24_ch_map_size 
+02e0 6008c8df storet 1 ,mem_24g_dg_ch_number 
+02e1 6000c8de store 1 ,mem_24g_dg_last_ch 
+02e2 20600000 rtn 
 
 p_g24_dg_config_ch_once:
-02d2 7048e001 jam 1 ,mem_24g_dg_config_ch_once 
-02d3 6800c8de fetch 1 ,mem_24g_dg_last_ch 
-02d4 6000c840 store 1 ,mem_24g_ch 
-02d5 20600000 rtn 
+02e3 7048e001 jam 1 ,mem_24g_dg_config_ch_once 
+02e4 6800c8de fetch 1 ,mem_24g_dg_last_ch 
+02e5 6000c840 store 1 ,mem_24g_ch 
+02e6 20600000 rtn 
 
 p_g24_read_len_pid_crc:
-02d6 6800c7b1 fetch 1 ,mem_24g_rxbuf + 1 
-02d7 1fe97e00 rshift3 pdata ,pdata 
-02d8 6000c834 store 1 ,mem_24g_rxdata_length 
-02d9 1fe0fe01 increase 1 ,pdata 
-02da d8c047b1 arg mem_24g_rxbuf + 1 ,contr 
-02db 98c08c00 iadd contr ,contr 
-02dc e8c18000 ifetch 3 ,contr 
-02dd 6001c873 store 3 ,mem_24g_sta_crc 
-02de 6800c7b1 fetch 1 ,mem_24g_rxbuf + 1 
-02df 1fe37e00 rshift pdata ,pdata 
-02e0 1fe17e03 and pdata ,0x03 ,pdata 
-02e1 6000c879 store 1 ,mem_24g_sta_pid 
-02e2 20600000 rtn 
+02e7 6800c7b1 fetch 1 ,mem_24g_rxbuf + 1 
+02e8 1fe97e00 rshift3 pdata ,pdata 
+02e9 6000c834 store 1 ,mem_24g_rxdata_length 
+02ea 1fe0fe01 increase 1 ,pdata 
+02eb d8c047b1 arg mem_24g_rxbuf + 1 ,contr 
+02ec 98c08c00 iadd contr ,contr 
+02ed e8c18000 ifetch 3 ,contr 
+02ee 6001c873 store 3 ,mem_24g_sta_crc 
+02ef 6800c7b1 fetch 1 ,mem_24g_rxbuf + 1 
+02f0 1fe37e00 rshift pdata ,pdata 
+02f1 1fe17e03 and pdata ,0x03 ,pdata 
+02f2 6000c879 store 1 ,mem_24g_sta_pid 
+02f3 20600000 rtn 
 
 p_g24_transmit_ack:
-02e3 6800c7b0 fetch 1 ,mem_24g_rxbuf 
-02e4 6000c837 store 1 ,mem_24g_data_type 
-02e5 204002d6 call p_g24_read_len_pid_crc 
-02e6 6800c7b1 fetch 1 ,mem_24g_rxbuf + 1 
-02e7 2feffe00 isolate1 bit_ack_24g ,pdata 
-02e8 202082ec branch p_g24tx_no_ack ,true 
+02f4 6800c7b0 fetch 1 ,mem_24g_rxbuf 
+02f5 6000c837 store 1 ,mem_24g_data_type 
+02f6 204002e7 call p_g24_read_len_pid_crc 
+02f7 6800c7b1 fetch 1 ,mem_24g_rxbuf + 1 
+02f8 2feffe00 isolate1 bit_ack_24g ,pdata 
+02f9 202082fd branch p_g24tx_no_ack ,true 
 
 p_g24tx_with_ack:
-02e9 204002ed call p_g24_ackpayload_prep 
-02ea 2040041d call p_g24_transmit_prep 
-02eb 20400493 call p_g24_transmit 
+02fa 204002fe call p_g24_ackpayload_prep 
+02fb 20400443 call p_g24_transmit_prep 
+02fc 204004b9 call p_g24_transmit 
 
 p_g24tx_no_ack:
-02ec 2020048b branch p_g24_end_of_packet 
+02fd 202004b1 branch p_g24_end_of_packet 
 
 p_g24_ackpayload_prep:
-02ed 70483600 jam 0 ,mem_24g_datalen 
-02ee 6800c8b8 fetch 1 ,mem_24g_ackpayload_enable 
-02ef 207a0000 rtn blank 
-02f0 c00082f4 beq bind_ackpayload ,p_g24_bind_ackpayload_prep 
-02f1 c00102fc beq user_ackpayload ,p_g24_user_ackpayload_prep 
-02f2 c0018306 beq kb_led_ackpayload ,p_g24_kb_led_ackpayload_prep 
-02f3 20600000 rtn 
+02fe 70483600 jam 0 ,mem_24g_datalen 
+02ff 6800c837 fetch 1 ,mem_24g_data_type 
+0300 c0008302 beq 0x01 ,p_g24_ackpayload_prep_mouse 
+0301 c0010307 beq 0x02 ,p_g24_ackpayload_prep_keyboard 
+
+p_g24_ackpayload_prep_mouse:
+0302 6800c97a fetch 1 ,mem_24g_pc_sleep_flag 
+0303 c280030f bbit1 0 ,p_g24_pc_sleep_ackpayload_prep_mouse 
+0304 20200309 branch p_g24_ackpayload_prep_end 
+
+p_g24_clear_pc_sleep_flag:
+0305 70497a00 jam 0 ,mem_24g_pc_sleep_flag 
+0306 20600000 rtn 
+
+p_g24_ackpayload_prep_keyboard:
+0307 6800c97a fetch 1 ,mem_24g_pc_sleep_flag 
+0308 c2808313 bbit1 1 ,p_g24_pc_sleep_ackpayload_prep_keyboard 
+
+p_g24_ackpayload_prep_end:
+0309 6800c8b8 fetch 1 ,mem_24g_ackpayload_enable 
+030a 207a0000 rtn blank 
+030b c000831a beq bind_ackpayload ,p_g24_bind_ackpayload_prep 
+030c c0010322 beq user_ackpayload ,p_g24_user_ackpayload_prep 
+030d c001832c beq kb_led_ackpayload ,p_g24_kb_led_ackpayload_prep 
+030e 20600000 rtn 
+
+p_g24_pc_sleep_ackpayload_prep_mouse:
+030f 6800c97a fetch 1 ,mem_24g_pc_sleep_flag 
+0310 793ffe00 set0 0 ,pdata 
+0311 6000c97a store 1 ,mem_24g_pc_sleep_flag 
+0312 20200316 branch p_g24_pc_sleep_ackpayload_prep 
+
+p_g24_pc_sleep_ackpayload_prep_keyboard:
+0313 6800c97a fetch 1 ,mem_24g_pc_sleep_flag 
+0314 793ffe01 set0 1 ,pdata 
+0315 6000c97a store 1 ,mem_24g_pc_sleep_flag 
+
+p_g24_pc_sleep_ackpayload_prep:
+0316 70483601 jam 0x01 ,mem_24g_datalen 
+0317 580000ff setarg 0xff 
+0318 6000c7d2 store 1 ,mem_24g_txbuf 
+0319 20600000 rtn 
 
 p_g24_bind_ackpayload_prep:
-02f4 7048b801 jam 1 ,mem_24g_ackpayload_enable 
-02f5 2040010d call p_g24_dongle_binding_device_check 
-02f6 24778000 nrtn user3 
-02f7 70483608 jam 0x08 ,mem_24g_datalen 
-02f8 df200008 arg 0x08 ,loopcnt 
-02f9 d8c048a8 arg mem_24g_bind_payload ,contr 
-02fa d8a047d2 arg mem_24g_txbuf ,contw 
-02fb 20207f01 branch memcpy 
+031a 7048b801 jam 1 ,mem_24g_ackpayload_enable 
+031b 2040011c call p_g24_dongle_binding_device_check 
+031c 24778000 nrtn user3 
+031d 70483608 jam 0x08 ,mem_24g_datalen 
+031e df200008 arg 0x08 ,loopcnt 
+031f d8c048a8 arg mem_24g_bind_payload ,contr 
+0320 d8a047d2 arg mem_24g_txbuf ,contw 
+0321 20207f01 branch memcpy 
 
 p_g24_user_ackpayload_prep:
-02fc 20400183 call p_g24_queue_read_point 
-02fd 24740000 nrtn user 
-02fe 7048361f jam 0x1f ,mem_24g_datalen 
-02ff df20001f arg 0x1f ,loopcnt 
-0300 1fe20c00 copy pdata ,contr 
-0301 d8a047d2 arg mem_24g_txbuf ,contw 
-0302 20407f01 call memcpy 
-0303 680147d5 fetch 2 ,mem_24g_txbuf + 3 
-0304 600148eb store 2 ,mem_24g_ota_sta_pid 
-0305 20600000 rtn 
+0322 20400192 call p_g24_queue_read_point 
+0323 24740000 nrtn user 
+0324 7048361f jam 0x1f ,mem_24g_datalen 
+0325 df20001f arg 0x1f ,loopcnt 
+0326 1fe20c00 copy pdata ,contr 
+0327 d8a047d2 arg mem_24g_txbuf ,contw 
+0328 20407f01 call memcpy 
+0329 680147d5 fetch 2 ,mem_24g_txbuf + 3 
+032a 600148eb store 2 ,mem_24g_ota_sta_pid 
+032b 20600000 rtn 
 
 p_g24_kb_led_ackpayload_prep:
-0306 6800c7b2 fetch 1 ,mem_24g_rxbuf + 2 
-0307 c00082f4 beq 0x01 ,p_g24_bind_ackpayload_prep 
-0308 c07f82f4 beq 0xff ,p_g24_bind_ackpayload_prep 
-0309 700d4300 jam 0 ,mem_usb_tx_win_enable 
-030a 70483601 jam 0x01 ,mem_24g_datalen 
-030b df200001 arg 0x01 ,loopcnt 
-030c d8c04978 arg mem_24g_led_status ,contr 
-030d d8a047d2 arg mem_24g_txbuf ,contw 
-030e 20207f01 branch memcpy 
+032c 6800c7b2 fetch 1 ,mem_24g_rxbuf + 2 
+032d c000831a beq 0x01 ,p_g24_bind_ackpayload_prep 
+032e c07f831a beq 0xff ,p_g24_bind_ackpayload_prep 
+032f 700d4300 jam 0 ,mem_usb_tx_win_enable 
+0330 70483601 jam 0x01 ,mem_24g_datalen 
+0331 df200001 arg 0x01 ,loopcnt 
+0332 d8c04978 arg mem_24g_led_status ,contr 
+0333 d8a047d2 arg mem_24g_txbuf ,contw 
+0334 20207f01 branch memcpy 
 
 p_g24_receive_packet_start:
-030f 20400242 call p_g24_receive_transmit_ack 
-0310 2437810a nbranch p_g24_rx_interrupt_clear ,user3 
-0311 20200312 branch p_g24_receive_packet_parse 
+0335 20400253 call p_g24_receive_transmit_ack 
+0336 24378119 nbranch p_g24_rx_interrupt_clear ,user3 
+0337 20200338 branch p_g24_receive_packet_parse 
 
 p_g24_receive_packet_parse:
-0312 20400323 call p_g24_receive_packet_parse_pid_crc 
-0313 2434010a nbranch p_g24_rx_interrupt_clear ,user 
-0314 6800c834 fetch 1 ,mem_24g_rxdata_length 
-0315 203a010a branch p_g24_rx_interrupt_clear ,blank 
-0316 1fe0fe02 increase 2 ,pdata 
-0317 98007200 iforce loopcnt 
-0318 d8c047b0 arg mem_24g_rxbuf ,contr 
-0319 d8a0487d arg mem_24g_rxdata_temp ,contw 
-031a 20407f01 call memcpy 
-031b 7048b700 jam 0 ,mem_24g_mode_switch 
-031c 6800c8ba fetch 1 ,mem_24g_pair_mode 
-031d 205a0232 call p_g24_enable_nodata_timer ,blank 
-031e 6800c87f fetch 1 ,mem_24g_rxdata_temp + 2 
-031f c0008331 beq 0x01 ,p_g24_data_type1 
-0320 c0010351 beq 0x02 ,p_g24_data_type2 
-0321 c07f83a6 beq 0xff ,p_g24_data_attemp 
-0322 2020010a branch p_g24_rx_interrupt_clear 
+0338 20400349 call p_g24_receive_packet_parse_pid_crc 
+0339 24340119 nbranch p_g24_rx_interrupt_clear ,user 
+033a 6800c834 fetch 1 ,mem_24g_rxdata_length 
+033b 203a0119 branch p_g24_rx_interrupt_clear ,blank 
+033c 1fe0fe02 increase 2 ,pdata 
+033d 98007200 iforce loopcnt 
+033e d8c047b0 arg mem_24g_rxbuf ,contr 
+033f d8a0487d arg mem_24g_rxdata_temp ,contw 
+0340 20407f01 call memcpy 
+0341 7048b700 jam 0 ,mem_24g_mode_switch 
+0342 6800c8ba fetch 1 ,mem_24g_pair_mode 
+0343 205a0243 call p_g24_enable_nodata_timer ,blank 
+0344 6800c87f fetch 1 ,mem_24g_rxdata_temp + 2 
+0345 c0008357 beq 0x01 ,p_g24_data_type1 
+0346 c0010377 beq 0x02 ,p_g24_data_type2 
+0347 c07f83cc beq 0xff ,p_g24_data_attemp 
+0348 20200119 branch p_g24_rx_interrupt_clear 
 
 p_g24_receive_packet_parse_pid_crc:
-0323 20407fe9 call disable_user 
-0324 6800c879 fetch 1 ,mem_24g_sta_pid 
-0325 6808c87a fetcht 1 ,mem_24g_last_pid 
-0326 98467c00 isub temp ,null 
-0327 2442ffe7 ncall enable_user ,zero 
-0328 6800c879 fetch 1 ,mem_24g_sta_pid 
-0329 6000c87a store 1 ,mem_24g_last_pid 
-032a 6801c873 fetch 3 ,mem_24g_sta_crc 
-032b 6809c876 fetcht 3 ,mem_24g_last_crc 
-032c 98467c00 isub temp ,null 
-032d 2442ffe7 ncall enable_user ,zero 
-032e 6801c873 fetch 3 ,mem_24g_sta_crc 
-032f 6001c876 store 3 ,mem_24g_last_crc 
-0330 20600000 rtn 
+0349 20407fe9 call disable_user 
+034a 6800c879 fetch 1 ,mem_24g_sta_pid 
+034b 6808c87a fetcht 1 ,mem_24g_last_pid 
+034c 98467c00 isub temp ,null 
+034d 2442ffe7 ncall enable_user ,zero 
+034e 6800c879 fetch 1 ,mem_24g_sta_pid 
+034f 6000c87a store 1 ,mem_24g_last_pid 
+0350 6801c873 fetch 3 ,mem_24g_sta_crc 
+0351 6809c876 fetcht 3 ,mem_24g_last_crc 
+0352 98467c00 isub temp ,null 
+0353 2442ffe7 ncall enable_user ,zero 
+0354 6801c873 fetch 3 ,mem_24g_sta_crc 
+0355 6001c876 store 3 ,mem_24g_last_crc 
+0356 20600000 rtn 
 
 p_g24_data_type1:
-0331 2040011c call p_g24_dongle_binding_mouse_living 
-0332 204000cc call p_g24_ch_timer_reinit 
-0333 6800c8b0 fetch 1 ,mem_24g_abort_packet 
-0334 6808c87d fetcht 1 ,mem_24g_rxdata_temp 
-0335 284ffe03 isolate1 bit_abort ,temp 
-0336 7920fe00 setflag true ,0 ,pdata 
-0337 6000c8b0 store 1 ,mem_24g_abort_packet 
-0338 c00083b0 beq 1 ,p_g24_data_attemp_mouse_abort 
-0339 6800c8b9 fetch 1 ,mem_24g_hop_packet 
-033a 6808c87d fetcht 1 ,mem_24g_rxdata_temp 
-033b 284ffe04 isolate1 bit_hop ,temp 
-033c 7920fe00 setflag true ,0 ,pdata 
-033d 6000c8b9 store 1 ,mem_24g_hop_packet 
-033e 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-033f c06783b4 beq cmd_ota ,p_g24_ota_process 
-0340 58000001 setarg ms_report_id 
-0341 60008d54 store 1 ,mem_usb_mouse_data 
-0342 6803c880 fetch 7 ,mem_24g_rxdata_temp + 3 
-0343 e0a38000 istore 7 ,contw 
-0344 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-0345 245a0349 ncall p_g24_ms_enable_blank_data_forcibly ,blank 
-0346 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-0347 205a034d call p_g24_ms_disable_blank_data_forcibly ,blank 
-0348 202031b8 branch g24_data_type1_usbtx_enable 
+0357 2040012b call p_g24_dongle_binding_mouse_living 
+0358 204000db call p_g24_ch_timer_reinit 
+0359 6800c8b0 fetch 1 ,mem_24g_abort_packet 
+035a 6808c87d fetcht 1 ,mem_24g_rxdata_temp 
+035b 284ffe03 isolate1 bit_abort ,temp 
+035c 7920fe00 setflag true ,0 ,pdata 
+035d 6000c8b0 store 1 ,mem_24g_abort_packet 
+035e c00083d6 beq 1 ,p_g24_data_attemp_mouse_abort 
+035f 6800c8b9 fetch 1 ,mem_24g_hop_packet 
+0360 6808c87d fetcht 1 ,mem_24g_rxdata_temp 
+0361 284ffe04 isolate1 bit_hop ,temp 
+0362 7920fe00 setflag true ,0 ,pdata 
+0363 6000c8b9 store 1 ,mem_24g_hop_packet 
+0364 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+0365 c06783da beq cmd_ota ,p_g24_ota_process 
+0366 58000001 setarg ms_report_id 
+0367 60008d54 store 1 ,mem_usb_mouse_data 
+0368 6803c880 fetch 7 ,mem_24g_rxdata_temp + 3 
+0369 e0a38000 istore 7 ,contw 
+036a 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+036b 245a036f ncall p_g24_ms_enable_blank_data_forcibly ,blank 
+036c 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+036d 205a0373 call p_g24_ms_disable_blank_data_forcibly ,blank 
+036e 202031b8 branch g24_data_type1_usbtx_enable 
 
 p_g24_ms_enable_blank_data_forcibly:
-0349 7048d501 jam 1 ,mem_24g_ms_blank_data_enable 
-034a 58000180 setarg timer_new_ms_blank_delay 
-034b d8e0000b arg timer_new_ms_blank ,queue 
-034c 20207f08 branch timer_init 
+036f 7048d501 jam 1 ,mem_24g_ms_blank_data_enable 
+0370 58000180 setarg timer_new_ms_blank_delay 
+0371 d8e0000b arg timer_new_ms_blank ,queue 
+0372 20207f08 branch timer_init 
 
 p_g24_ms_disable_blank_data_forcibly:
-034d 7048d500 jam 0 ,mem_24g_ms_blank_data_enable 
-034e 58000000 setarg 0 
-034f d8e0000b arg timer_new_ms_blank ,queue 
-0350 20207f08 branch timer_init 
+0373 7048d500 jam 0 ,mem_24g_ms_blank_data_enable 
+0374 58000000 setarg 0 
+0375 d8e0000b arg timer_new_ms_blank ,queue 
+0376 20207f08 branch timer_init 
 
 p_g24_data_type2:
-0351 20400122 call p_g24_dongle_binding_keyboard_living 
-0352 6808c87d fetcht 1 ,mem_24g_rxdata_temp 
-0353 284ffe03 isolate1 bit_abort ,temp 
-0354 202083b2 branch p_g24_data_attemp_kbd_abort ,true 
-0355 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-0356 c000035a beq 0 ,p_g24_data_type2_data1 
-0357 c001038f beq 2 ,p_g24_data_type2_data3 
-0358 c0018376 beq 3 ,p_g24_data_type2_data2 
-0359 2020010a branch p_g24_rx_interrupt_clear 
+0377 20400131 call p_g24_dongle_binding_keyboard_living 
+0378 6808c87d fetcht 1 ,mem_24g_rxdata_temp 
+0379 284ffe03 isolate1 bit_abort ,temp 
+037a 202083d8 branch p_g24_data_attemp_kbd_abort ,true 
+037b 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+037c c0000380 beq 0 ,p_g24_data_type2_data1 
+037d c00103b5 beq 2 ,p_g24_data_type2_data3 
+037e c001839c beq 3 ,p_g24_data_type2_data2 
+037f 20200119 branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_data1:
-035a 6800c882 fetch 1 ,mem_24g_rxdata_temp + 5 
-035b 6000c8b8 store 1 ,mem_24g_ackpayload_enable 
-035c 70488200 jam 0 ,mem_24g_rxdata_temp + 5 
-035d d8a00d64 arg mem_usb_kb_data ,contw 
-035e 2040036b call p_g24_data_type2_copy_data1 
-035f 68040d64 fetch 8 ,mem_usb_kb_data 
-0360 245a036e ncall p_g24_kb_enable_blank_data_forcibly ,blank 
-0361 68040d64 fetch 8 ,mem_usb_kb_data 
-0362 205a0372 call p_g24_kb_disable_blank_data_forcibly ,blank 
-0363 68040d64 fetch 8 ,mem_usb_kb_data 
-0364 600448bd store 8 ,mem_24g_kb_data_sta_data 
-0365 680c48c5 fetcht 8 ,mem_24g_kb_data_last_data 
-0366 98467c00 isub temp ,null 
-0367 2442b1ed ncall g24_kb_data_into_ep1_fifo ,zero 
-0368 680448bd fetch 8 ,mem_24g_kb_data_sta_data 
-0369 600448c5 store 8 ,mem_24g_kb_data_last_data 
-036a 2020010a branch p_g24_rx_interrupt_clear 
+0380 6800c882 fetch 1 ,mem_24g_rxdata_temp + 5 
+0381 6000c8b8 store 1 ,mem_24g_ackpayload_enable 
+0382 70488200 jam 0 ,mem_24g_rxdata_temp + 5 
+0383 d8a00d64 arg mem_usb_kb_data ,contw 
+0384 20400391 call p_g24_data_type2_copy_data1 
+0385 68040d64 fetch 8 ,mem_usb_kb_data 
+0386 245a0394 ncall p_g24_kb_enable_blank_data_forcibly ,blank 
+0387 68040d64 fetch 8 ,mem_usb_kb_data 
+0388 205a0398 call p_g24_kb_disable_blank_data_forcibly ,blank 
+0389 68040d64 fetch 8 ,mem_usb_kb_data 
+038a 600448bd store 8 ,mem_24g_kb_data_sta_data 
+038b 680c48c5 fetcht 8 ,mem_24g_kb_data_last_data 
+038c 98467c00 isub temp ,null 
+038d 2442b1ed ncall g24_kb_data_into_ep1_fifo ,zero 
+038e 680448bd fetch 8 ,mem_24g_kb_data_sta_data 
+038f 600448c5 store 8 ,mem_24g_kb_data_last_data 
+0390 20200119 branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_copy_data1:
-036b d8c04881 arg mem_24g_rxdata_temp + 4 ,contr 
-036c df200008 arg 8 ,loopcnt 
-036d 20207f01 branch memcpy 
+0391 d8c04881 arg mem_24g_rxdata_temp + 4 ,contr 
+0392 df200008 arg 8 ,loopcnt 
+0393 20207f01 branch memcpy 
 
 p_g24_kb_enable_blank_data_forcibly:
-036e 7048d301 jam 1 ,mem_24g_kb_blank_data_enable 
-036f 58000180 setarg timer_new_kb_blank_delay 
-0370 d8e0000e arg timer_new_kb_blank ,queue 
-0371 20207f08 branch timer_init 
+0394 7048d301 jam 1 ,mem_24g_kb_blank_data_enable 
+0395 58000180 setarg timer_new_kb_blank_delay 
+0396 d8e0000e arg timer_new_kb_blank ,queue 
+0397 20207f08 branch timer_init 
 
 p_g24_kb_disable_blank_data_forcibly:
-0372 7048d300 jam 0 ,mem_24g_kb_blank_data_enable 
-0373 58000000 setarg 0 
-0374 d8e0000e arg timer_new_kb_blank ,queue 
-0375 20207f08 branch timer_init 
+0398 7048d300 jam 0 ,mem_24g_kb_blank_data_enable 
+0399 58000000 setarg 0 
+039a d8e0000e arg timer_new_kb_blank ,queue 
+039b 20207f08 branch timer_init 
 
 p_g24_data_type2_data2:
-0376 d8a00d74 arg mem_usb_kb_multikey ,contw 
-0377 20400384 call p_g24_data_type2_copy_data2 
-0378 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
-0379 245a0387 ncall p_g24_kb_mul_enable_blank_data_forcibly ,blank 
-037a 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
-037b 205a038b call p_g24_kb_mul_disable_blank_data_forcibly ,blank 
-037c 68018d74 fetch 3 ,mem_usb_kb_multikey 
-037d 6001c8cd store 3 ,mem_24g_kb_multikey_sta_data 
-037e 6809c8d0 fetcht 3 ,mem_24g_kb_multikey_last_data 
-037f 98467c00 isub temp ,null 
-0380 2442b207 ncall g24_kb_mul_data_into_ep2_fifo ,zero 
-0381 6801c8cd fetch 3 ,mem_24g_kb_multikey_sta_data 
-0382 6001c8d0 store 3 ,mem_24g_kb_multikey_last_data 
-0383 2020010a branch p_g24_rx_interrupt_clear 
+039c d8a00d74 arg mem_usb_kb_multikey ,contw 
+039d 204003aa call p_g24_data_type2_copy_data2 
+039e 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
+039f 245a03ad ncall p_g24_kb_mul_enable_blank_data_forcibly ,blank 
+03a0 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
+03a1 205a03b1 call p_g24_kb_mul_disable_blank_data_forcibly ,blank 
+03a2 68018d74 fetch 3 ,mem_usb_kb_multikey 
+03a3 6001c8cd store 3 ,mem_24g_kb_multikey_sta_data 
+03a4 6809c8d0 fetcht 3 ,mem_24g_kb_multikey_last_data 
+03a5 98467c00 isub temp ,null 
+03a6 2442b207 ncall g24_kb_mul_data_into_ep2_fifo ,zero 
+03a7 6801c8cd fetch 3 ,mem_24g_kb_multikey_sta_data 
+03a8 6001c8d0 store 3 ,mem_24g_kb_multikey_last_data 
+03a9 20200119 branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_copy_data2:
-0384 d8c04880 arg mem_24g_rxdata_temp + 3 ,contr 
-0385 df200003 arg 3 ,loopcnt 
-0386 20207f01 branch memcpy 
+03aa d8c04880 arg mem_24g_rxdata_temp + 3 ,contr 
+03ab df200003 arg 3 ,loopcnt 
+03ac 20207f01 branch memcpy 
 
 p_g24_kb_mul_enable_blank_data_forcibly:
-0387 7048d401 jam 1 ,mem_24g_kb_mul_blank_data_enable 
-0388 58000180 setarg timer_new_kb_mul_blank_delay 
-0389 d8e0000c arg timer_new_kb_mul_blank ,queue 
-038a 20207f08 branch timer_init 
+03ad 7048d401 jam 1 ,mem_24g_kb_mul_blank_data_enable 
+03ae 58000180 setarg timer_new_kb_mul_blank_delay 
+03af d8e0000c arg timer_new_kb_mul_blank ,queue 
+03b0 20207f08 branch timer_init 
 
 p_g24_kb_mul_disable_blank_data_forcibly:
-038b 7048d400 jam 0 ,mem_24g_kb_mul_blank_data_enable 
-038c 58000000 setarg 0 
-038d d8e0000c arg timer_new_kb_mul_blank ,queue 
-038e 20207f08 branch timer_init 
+03b1 7048d400 jam 0 ,mem_24g_kb_mul_blank_data_enable 
+03b2 58000000 setarg 0 
+03b3 d8e0000c arg timer_new_kb_mul_blank ,queue 
+03b4 20207f08 branch timer_init 
 
 p_g24_data_type2_data3:
-038f d8a013bc arg mem_usb_kb_system ,contw 
-0390 20400399 call p_g24_data_type2_copy_data3 
-0391 680113bc fetch 2 ,mem_usb_kb_system 
-0392 600113cc store 2 ,mem_usb_kb_system_sta_data 
-0393 680913cf fetcht 2 ,mem_usb_kb_system_last_data 
-0394 98467c00 isub temp ,null 
-0395 244283a4 ncall p_g24_kb_sys_data_into_ep2_fifo ,zero 
-0396 680113cc fetch 2 ,mem_usb_kb_system_sta_data 
-0397 600113cf store 2 ,mem_usb_kb_system_last_data 
-0398 2020010a branch p_g24_rx_interrupt_clear 
+03b5 d8a013bc arg mem_usb_kb_system ,contw 
+03b6 204003bf call p_g24_data_type2_copy_data3 
+03b7 680113bc fetch 2 ,mem_usb_kb_system 
+03b8 600113cc store 2 ,mem_usb_kb_system_sta_data 
+03b9 680913cf fetcht 2 ,mem_usb_kb_system_last_data 
+03ba 98467c00 isub temp ,null 
+03bb 244283ca ncall p_g24_kb_sys_data_into_ep2_fifo ,zero 
+03bc 680113cc fetch 2 ,mem_usb_kb_system_sta_data 
+03bd 600113cf store 2 ,mem_usb_kb_system_last_data 
+03be 20200119 branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_copy_data3:
-0399 d8c04880 arg mem_24g_rxdata_temp + 3 ,contr 
-039a df200002 arg 2 ,loopcnt 
-039b 20207f01 branch memcpy 
+03bf d8c04880 arg mem_24g_rxdata_temp + 3 ,contr 
+03c0 df200002 arg 2 ,loopcnt 
+03c1 20207f01 branch memcpy 
 
 p_g24_kb_sys_enable_blank_data_forcibly:
-039c 7048d401 jam 1 ,mem_24g_kb_mul_blank_data_enable 
-039d 58000180 setarg timer_new_kb_mul_blank_delay 
-039e d8e0000c arg timer_new_kb_mul_blank ,queue 
-039f 20207f08 branch timer_init 
+03c2 7048d401 jam 1 ,mem_24g_kb_mul_blank_data_enable 
+03c3 58000180 setarg timer_new_kb_mul_blank_delay 
+03c4 d8e0000c arg timer_new_kb_mul_blank ,queue 
+03c5 20207f08 branch timer_init 
 
 p_g24_kb_sys_disable_blank_data_forcibly:
-03a0 7048d400 jam 0 ,mem_24g_kb_mul_blank_data_enable 
-03a1 58000000 setarg 0 
-03a2 d8e0000c arg timer_new_kb_mul_blank ,queue 
-03a3 20207f08 branch timer_init 
+03c6 7048d400 jam 0 ,mem_24g_kb_mul_blank_data_enable 
+03c7 58000000 setarg 0 
+03c8 d8e0000c arg timer_new_kb_mul_blank ,queue 
+03c9 20207f08 branch timer_init 
 
 p_g24_kb_sys_data_into_ep2_fifo:
-03a4 700d5222 jam usb_ep2_systemkey ,mem_usb_ep2_data 
-03a5 202031b9 branch g24_data_type1_usbtx_enable_ep2 
+03ca 700d5222 jam usb_ep2_systemkey ,mem_usb_ep2_data 
+03cb 202031b9 branch g24_data_type1_usbtx_enable_ep2 
 
 p_g24_data_attemp:
-03a6 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-03a7 c00083aa beq datatype_mouse ,p_g24_data_attemp_mouse 
-03a8 c00103ad beq datatype_keyboard ,p_g24_data_attemp_kbd 
-03a9 20600000 rtn 
+03cc 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+03cd c00083d0 beq datatype_mouse ,p_g24_data_attemp_mouse 
+03ce c00103d3 beq datatype_keyboard ,p_g24_data_attemp_kbd 
+03cf 20600000 rtn 
 
 p_g24_data_attemp_mouse:
-03aa 2040011c call p_g24_dongle_binding_mouse_living 
-03ab 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
-03ac 20200166 branch p_g24_store_mouse_addr 
+03d0 2040012b call p_g24_dongle_binding_mouse_living 
+03d1 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
+03d2 20200175 branch p_g24_store_mouse_addr 
 
 p_g24_data_attemp_kbd:
-03ad 20400122 call p_g24_dongle_binding_keyboard_living 
-03ae 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
-03af 20200169 branch p_g24_store_kbd_addr 
+03d3 20400131 call p_g24_dongle_binding_keyboard_living 
+03d4 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
+03d5 20200178 branch p_g24_store_kbd_addr 
 
 p_g24_data_attemp_mouse_abort:
-03b0 68024887 fetch 4 ,mem_24g_rxdata_temp + 10 
-03b1 20200166 branch p_g24_store_mouse_addr 
+03d6 68024887 fetch 4 ,mem_24g_rxdata_temp + 10 
+03d7 20200175 branch p_g24_store_mouse_addr 
 
 p_g24_data_attemp_kbd_abort:
-03b2 68024887 fetch 4 ,mem_24g_rxdata_temp + 10 
-03b3 20200169 branch p_g24_store_kbd_addr 
+03d8 68024887 fetch 4 ,mem_24g_rxdata_temp + 10 
+03d9 20200178 branch p_g24_store_kbd_addr 
 
 p_g24_ota_process:
-03b4 68014882 fetch 2 ,mem_24g_rxdata_temp + 5 
-03b5 680948eb fetcht 2 ,mem_24g_ota_sta_pid 
-03b6 98467c00 isub temp ,null 
-03b7 202283b9 branch p_g24_ota_next_pac ,zero 
-03b8 20600000 rtn 
+03da 68014882 fetch 2 ,mem_24g_rxdata_temp + 5 
+03db 680948eb fetcht 2 ,mem_24g_ota_sta_pid 
+03dc 98467c00 isub temp ,null 
+03dd 202283df branch p_g24_ota_next_pac ,zero 
+03de 20600000 rtn 
 
 p_g24_ota_next_pac:
-03b9 6800c881 fetch 1 ,mem_24g_rxdata_temp + 4 
-03ba c06103c6 beq cmd_ota_exit ,p_g24_ota_exit_process 
-03bb 6800c900 fetch 1 ,mem_queue_ele_num 
-03bc 207a0000 rtn blank 
-03bd 58004901 setarg mem_queue_read 
-03be 2040017a call p_g24_queue_increase 
-03bf 6800c900 fetch 1 ,mem_queue_ele_num 
-03c0 1fe0ffff increase -1 ,pdata 
-03c1 6000c900 store 1 ,mem_queue_ele_num 
-03c2 6800c881 fetch 1 ,mem_24g_rxdata_temp + 4 
-03c3 c06081bb beq cmd_ota_data ,p_user_defined_queue_buff_free 
-03c4 c06103c6 beq cmd_ota_exit ,p_g24_ota_exit_process 
-03c5 20600000 rtn 
+03df 6800c881 fetch 1 ,mem_24g_rxdata_temp + 4 
+03e0 c06103ec beq cmd_ota_exit ,p_g24_ota_exit_process 
+03e1 6800c900 fetch 1 ,mem_queue_ele_num 
+03e2 207a0000 rtn blank 
+03e3 58004901 setarg mem_queue_read 
+03e4 20400189 call p_g24_queue_increase 
+03e5 6800c900 fetch 1 ,mem_queue_ele_num 
+03e6 1fe0ffff increase -1 ,pdata 
+03e7 6000c900 store 1 ,mem_queue_ele_num 
+03e8 6800c881 fetch 1 ,mem_24g_rxdata_temp + 4 
+03e9 c06081cc beq cmd_ota_data ,p_user_defined_queue_buff_free 
+03ea c06103ec beq cmd_ota_exit ,p_g24_ota_exit_process 
+03eb 20600000 rtn 
 
 p_g24_ota_exit_process:
-03c6 58000000 setarg 0 
-03c7 600148eb store 2 ,mem_24g_ota_sta_pid 
-03c8 6000c8b8 store 1 ,mem_24g_ackpayload_enable 
-03c9 2040016b call p_g24_queue_init 
-03ca 6800c884 fetch 1 ,mem_24g_rxdata_temp + 7 
-03cb c02a83ce beq ota_sta_success ,p_g24_ota_exit_success 
-03cc c05503d0 beq ota_sta_fail ,p_g24_ota_exit_fail 
-03cd 20600000 rtn 
+03ec 58000000 setarg 0 
+03ed 600148eb store 2 ,mem_24g_ota_sta_pid 
+03ee 6000c8b8 store 1 ,mem_24g_ackpayload_enable 
+03ef 2040017a call p_g24_queue_init 
+03f0 6800c884 fetch 1 ,mem_24g_rxdata_temp + 7 
+03f1 c02a83f4 beq ota_sta_success ,p_g24_ota_exit_success 
+03f2 c05503f6 beq ota_sta_fail ,p_g24_ota_exit_fail 
+03f3 20600000 rtn 
 
 p_g24_ota_exit_success:
-03ce 700cf702 jam 2 ,mem_usb0_get_report_data + 1 
-03cf 2020303f branch usb0_data_ready_report_set1 
+03f4 700cf702 jam 2 ,mem_usb0_get_report_data + 1 
+03f5 2020303f branch usb0_data_ready_report_set1 
 
 p_g24_ota_exit_fail:
-03d0 700cf703 jam 3 ,mem_usb0_get_report_data + 1 
-03d1 2020303f branch usb0_data_ready_report_set1 
+03f6 700cf703 jam 3 ,mem_usb0_get_report_data + 1 
+03f7 2020303f branch usb0_data_ready_report_set1 
 
 p_set_freq_tx:
-03d2 60088017 storet 1 ,mem_last_freq 
-03d3 1840a200 add temp ,0 ,rega 
-03d4 20402981 call rf_write_freq 
-03d5 58000500 setarg param_pll_setup 
-03d6 20402a8f call sleep 
+03f8 60088017 storet 1 ,mem_last_freq 
+03f9 1840a200 add temp ,0 ,rega 
+03fa 20402981 call rf_write_freq 
+03fb 58000500 setarg param_pll_setup 
+03fc 20402a8f call sleep 
 
 p_rf_tx_enable:
-03d7 70890601 jam 0x1 ,rfen_adc 
-03d8 7089003c jam 0x3c ,rfen_rx 
-03d9 708901e0 jam 0xe0 ,rfen_tx 
-03da 2000000a nop 10 
-03db 70890201 jam 0x01 ,rfen_mdm 
-03dc 7089023d jam 0x3d ,rfen_mdm 
-03dd 2000000a nop 10 
-03de 708903b7 jam 0xb7 ,rfen_sn 
-03df 2000000a nop 10 
-03e0 7089027d jam 0x7d ,rfen_mdm 
-03e1 6800c1de fetch 1 ,mem_tx_power 
-03e2 c00203eb beq tx_power_f5db ,p_set_tx_power_f5db 
-03e3 202003e4 branch p_set_tx_power_5db 
+03fd 70890601 jam 0x1 ,rfen_adc 
+03fe 7089003c jam 0x3c ,rfen_rx 
+03ff 708901e0 jam 0xe0 ,rfen_tx 
+0400 2000000a nop 10 
+0401 70890201 jam 0x01 ,rfen_mdm 
+0402 7089023d jam 0x3d ,rfen_mdm 
+0403 2000000a nop 10 
+0404 708903b7 jam 0xb7 ,rfen_sn 
+0405 2000000a nop 10 
+0406 7089027d jam 0x7d ,rfen_mdm 
+0407 6800c1de fetch 1 ,mem_tx_power 
+0408 c0020411 beq tx_power_f5db ,p_set_tx_power_f5db 
+0409 2020040a branch p_set_tx_power_5db 
 
 p_set_tx_power_5db:
-03e4 70894bba jam 0xba ,0x894b 
-03e5 708955d0 jam 0xd0 ,0x8955 
-03e6 708956e0 jam 0xe0 ,0x8956 
-03e7 70895788 jam 0x88 ,0x8957 
-03e8 7089583c jam 0x3c ,0x8958 
-03e9 70895910 jam 0x10 ,0x8959 
-03ea 20202953 branch set_tx_power_5db 
+040a 70894bba jam 0xba ,0x894b 
+040b 708955d0 jam 0xd0 ,0x8955 
+040c 708956e0 jam 0xe0 ,0x8956 
+040d 70895788 jam 0x88 ,0x8957 
+040e 7089583c jam 0x3c ,0x8958 
+040f 70895910 jam 0x10 ,0x8959 
+0410 20202953 branch set_tx_power_5db 
 
 p_set_tx_power_f5db:
-03eb 70894bba jam 0xba ,0x894b 
-03ec 708955d0 jam 0xd0 ,0x8955 
-03ed 708956c0 jam 0xc0 ,0x8956 
-03ee 70895788 jam 0x88 ,0x8957 
-03ef 7089586c jam 0x6c ,0x8958 
-03f0 70895910 jam 0x10 ,0x8959 
-03f1 2020295b branch set_tx_power_f5db 
+0411 70894bba jam 0xba ,0x894b 
+0412 708955d0 jam 0xd0 ,0x8955 
+0413 708956c0 jam 0xc0 ,0x8956 
+0414 70895788 jam 0x88 ,0x8957 
+0415 7089586c jam 0x6c ,0x8958 
+0416 70895910 jam 0x10 ,0x8959 
+0417 2020295b branch set_tx_power_f5db 
 
 p_soft_reset:
-03f2 20800000 clear_stack 
-03f3 68108043 hfetch 1 ,core_config 
-03f4 79207e03 set1 watchdog_bit ,pdata 
-03f5 60108043 hstore 1 ,core_config 
-03f6 2040640d call spi_ncs_gpio_init 
-03f7 70895b86 jam 0x86 ,0x895b 
-03f8 70895ca0 jam 0xa0 ,0x895c 
-03f9 20202004 branch soft_reset + 3 
+0418 20800000 clear_stack 
+0419 68108043 hfetch 1 ,core_config 
+041a 79207e03 set1 watchdog_bit ,pdata 
+041b 60108043 hstore 1 ,core_config 
+041c 2040640d call spi_ncs_gpio_init 
+041d 70895b86 jam 0x86 ,0x895b 
+041e 70895ca0 jam 0xa0 ,0x895c 
+041f 20202004 branch soft_reset + 3 
 
 p_shutdown_radio:
-03fa 18002a08 force 8 ,radio_ctrl 
-03fb 202028fa branch shutdown_radio + 1 
+0420 18002a08 force 8 ,radio_ctrl 
+0421 202028fa branch shutdown_radio + 1 
 
 p_rssi_noise:
-03fc 204029bb call save_rssi 
-03fd 207a0000 rtn blank 
-03fe 6808c8f0 fetcht 1 ,mem_rssi_noise_index 
-03ff da200d9e arg mem_rssi_noise_buffer ,rega 
-0400 20400403 call p_rssi_store 
-0401 6008c8f0 storet 1 ,mem_rssi_noise_index 
-0402 20600000 rtn 
+0422 204029bb call save_rssi 
+0423 207a0000 rtn blank 
+0424 6808c8f0 fetcht 1 ,mem_rssi_noise_index 
+0425 da200d9e arg mem_rssi_noise_buffer ,rega 
+0426 20400429 call p_rssi_store 
+0427 6008c8f0 storet 1 ,mem_rssi_noise_index 
+0428 20600000 rtn 
 
 p_rssi_store:
-0403 1a227e00 copy rega ,pdata 
-0404 98408a00 iadd temp ,contw 
-0405 68008018 fetch 1 ,mem_rssi 
-0406 e0a08000 istore 1 ,contw 
-0407 18408401 increase 1 ,temp 
-0408 184104ff and_into rssi_buf_len_noise ,temp 
-0409 20600000 rtn 
+0429 1a227e00 copy rega ,pdata 
+042a 98408a00 iadd temp ,contw 
+042b 68008018 fetch 1 ,mem_rssi 
+042c e0a08000 istore 1 ,contw 
+042d 18408401 increase 1 ,temp 
+042e 184104ff and_into rssi_buf_len_noise ,temp 
+042f 20600000 rtn 
 
 p_rssi_average:
-040a d8400000 arg 0 ,temp 
-040b df200100 arg rssi_buf_len_noise + 1 ,loopcnt 
-040c 1a220c00 copy rega ,contr 
-040d 20202e64 branch rssi_average_loop 
-040e 20600000 rtn 
+0430 d8400000 arg 0 ,temp 
+0431 df200100 arg rssi_buf_len_noise + 1 ,loopcnt 
+0432 1a220c00 copy rega ,contr 
+0433 20202e64 branch rssi_average_loop 
+0434 20600000 rtn 
 
 p_g24_update_addr_and_synccrc8:
-040f 6002485e store 4 ,mem_24g_addr 
+0435 6002485e store 4 ,mem_24g_addr 
 
 p_g24_syncword_crc8:
-0410 da200000 arg 0 ,rega 
-0411 df200004 arg 4 ,loopcnt 
-0412 d8c0485e arg mem_24g_addr ,contr 
+0436 da200000 arg 0 ,rega 
+0437 df200004 arg 4 ,loopcnt 
+0438 d8c0485e arg mem_24g_addr ,contr 
 
 p_g24_syncword_crc8_loop:
-0413 e8c08000 ifetch 1 ,contr 
-0414 9a20a200 iadd rega ,rega 
-0415 c2000413 loop p_g24_syncword_crc8_loop 
-0416 1a227e00 copy rega ,pdata 
-0417 600148e7 store 2 ,mem_24g_syncword 
-0418 6800c8e7 fetch 1 ,mem_24g_syncword 
-0419 6808c8e8 fetcht 1 ,mem_24g_syncword + 1 
-041a 9840fe00 iadd temp ,pdata 
-041b 6000c8e9 store 1 ,mem_24g_syncword_crc8 
-041c 20600000 rtn 
+0439 e8c08000 ifetch 1 ,contr 
+043a 9a20a200 iadd rega ,rega 
+043b c2000439 loop p_g24_syncword_crc8_loop 
+043c 1a227e00 copy rega ,pdata 
+043d 600148e7 store 2 ,mem_24g_syncword 
+043e 6800c8e7 fetch 1 ,mem_24g_syncword 
+043f 6808c8e8 fetcht 1 ,mem_24g_syncword + 1 
+0440 9840fe00 iadd temp ,pdata 
+0441 6000c8e9 store 1 ,mem_24g_syncword_crc8 
+0442 20600000 rtn 
 
 p_g24_transmit_prep:
-041d 6800c836 fetch 1 ,mem_24g_datalen 
-041e 1fe0fe02 increase 2 ,pdata 
-041f 6000c838 store 1 ,mem_24g_txlen 
-0420 6800c837 fetch 1 ,mem_24g_data_type 
-0421 6000c7f2 store 1 ,mem_24g_txpayload 
-0422 6800c836 fetch 1 ,mem_24g_datalen 
-0423 1fe9fe00 lshift3 pdata ,pdata 
-0424 6808c835 fetcht 1 ,mem_24g_pid 
-0425 18410403 and temp ,0x03 ,temp 
-0426 18438400 lshift temp ,temp 
-0427 9841fe00 ior temp ,pdata 
-0428 6808c872 fetcht 1 ,mem_24g_no_ack 
-0429 9840fe00 iadd temp ,pdata 
-042a e0a08000 istore 1 ,contw 
-042b 6800c836 fetch 1 ,mem_24g_datalen 
-042c 98007200 iforce loopcnt 
-042d d8c047d2 arg mem_24g_txbuf ,contr 
-042e 20207f01 branch memcpy 
+0443 6800c836 fetch 1 ,mem_24g_datalen 
+0444 1fe0fe02 increase 2 ,pdata 
+0445 6000c838 store 1 ,mem_24g_txlen 
+0446 6800c837 fetch 1 ,mem_24g_data_type 
+0447 6000c7f2 store 1 ,mem_24g_txpayload 
+0448 6800c836 fetch 1 ,mem_24g_datalen 
+0449 1fe9fe00 lshift3 pdata ,pdata 
+044a 6808c835 fetcht 1 ,mem_24g_pid 
+044b 18410403 and temp ,0x03 ,temp 
+044c 18438400 lshift temp ,temp 
+044d 9841fe00 ior temp ,pdata 
+044e 6808c872 fetcht 1 ,mem_24g_no_ack 
+044f 9840fe00 iadd temp ,pdata 
+0450 e0a08000 istore 1 ,contw 
+0451 6800c836 fetch 1 ,mem_24g_datalen 
+0452 98007200 iforce loopcnt 
+0453 d8c047d2 arg mem_24g_txbuf ,contr 
+0454 20207f01 branch memcpy 
 
 p_g24_ch:
-042f 6808c841 fetcht 1 ,mem_24g_current_ch_number 
-0430 20400433 call p_g24_ch_map_size 
-0431 6008c841 storet 1 ,mem_24g_current_ch_number 
-0432 20600000 rtn 
+0455 6808c841 fetcht 1 ,mem_24g_current_ch_number 
+0456 20400459 call p_g24_ch_map_size 
+0457 6008c841 storet 1 ,mem_24g_current_ch_number 
+0458 20600000 rtn 
 
 p_g24_ch_map_size:
-0433 20400437 call p_g24_ch_calc 
-0434 18408401 increase 1 ,temp 
-0435 18410403 and_into 3 ,temp 
-0436 20600000 rtn 
+0459 2040045d call p_g24_ch_calc 
+045a 18408401 increase 1 ,temp 
+045b 18410403 and_into 3 ,temp 
+045c 20600000 rtn 
 
 p_g24_ch_calc:
-0437 6800c85e fetch 1 ,mem_24g_addr 
-0438 1fe17e03 and_into 0x03 ,pdata 
-0439 1fefa204 mul32 pdata ,4 ,rega 
-043a 58004847 setarg mem_24g_ch_map1 
-043b 9a20fe00 iadd rega ,pdata 
-043c 98408c00 iadd temp ,contr 
-043d e8c08000 ifetch 1 ,contr 
-043e 6000c840 store 1 ,mem_24g_ch 
-043f 20600000 rtn 
+045d 6800c85e fetch 1 ,mem_24g_addr 
+045e 1fe17e03 and_into 0x03 ,pdata 
+045f 1fefa204 mul32 pdata ,4 ,rega 
+0460 58004847 setarg mem_24g_ch_map1 
+0461 9a20fe00 iadd rega ,pdata 
+0462 98408c00 iadd temp ,contr 
+0463 e8c08000 ifetch 1 ,contr 
+0464 6000c840 store 1 ,mem_24g_ch 
+0465 20600000 rtn 
 
 p_g24_prep:
-0440 7844fc00 disable enable_crc 
-0441 7843fc00 disable enable_white 
-0442 58555555 setarg 0x555555 
-0443 98001e00 iforce crc24_init 
-0444 6800c840 fetch 1 ,mem_24g_ch 
-0445 1fed8400 reverse pdata ,temp 
-0446 79200401 set1 1 ,temp 
-0447 18431c00 rshift temp ,white_init 
-0448 20600000 rtn 
+0466 7844fc00 disable enable_crc 
+0467 7843fc00 disable enable_white 
+0468 58555555 setarg 0x555555 
+0469 98001e00 iforce crc24_init 
+046a 6800c840 fetch 1 ,mem_24g_ch 
+046b 1fed8400 reverse pdata ,temp 
+046c 79200401 set1 1 ,temp 
+046d 18431c00 rshift temp ,white_init 
+046e 20600000 rtn 
 
 p_g24_receive_packet:
-0449 204053c4 call le_enable 
-044a 6802485e fetch 4 ,mem_24g_addr 
-044b 98001200 iforce access 
-044c 20402918 call set_sync_on 
-044d 6808c840 fetcht 1 ,mem_24g_ch 
-044e 2040291f call set_freq_rx 
-044f 58000500 setarg param_pll_setup 
-0450 20402a8f call sleep 
-0451 20402924 call rf_rx_enable 
+046f 204053c4 call le_enable 
+0470 6802485e fetch 4 ,mem_24g_addr 
+0471 98001200 iforce access 
+0472 20402918 call set_sync_on 
+0473 6808c840 fetcht 1 ,mem_24g_ch 
+0474 2040291f call set_freq_rx 
+0475 58000500 setarg param_pll_setup 
+0476 20402a8f call sleep 
+0477 20402924 call rf_rx_enable 
 
 p_g24_receive_rxon:
-0452 20400440 call p_g24_prep 
-0453 7857fc00 disable user3 
-0454 7826fc00 enable decode_fec0 
-0455 7830fc00 enable is_rx 
-0456 78507c00 disable is_tx 
-0457 78287c00 enable swfine 
-0458 68014839 fetch 2 ,mem_24g_rx_window 
-0459 98003600 iforce stop_watch 
-045a 37c18400 correlate null ,timeout 
-045b 242c048e nbranch p_g24_sync_timeout ,sync 
-045c 7846fc00 disable decode_fec0 
-045d 7825fc00 enable decode_fec1 
-045e 7823fc00 enable enable_white 
-045f 7824fc00 enable enable_crc 
-0460 09800008 parse demod ,bucket ,8 
-0461 19897e00 rshift3 pwindow ,pdata 
-0462 6000c8ea store 1 ,mem_24g_get_syncword_crc8 
-0463 6808c8e9 fetcht 1 ,mem_24g_syncword_crc8 
-0464 98467c00 isub temp ,null 
-0465 2422848b nbranch p_g24_end_of_packet ,zero 
-0466 09800008 parse demod ,bucket ,8 
-0467 19897e00 rshift3 pwindow ,pdata 
-0468 6000c7b0 store 1 ,mem_24g_rxbuf 
-0469 6800c87c fetch 1 ,mem_24g_mode 
-046a 1fe67c02 sub pdata ,rx_24g ,null 
-046b 20228470 branch p_g24_receive_skip ,zero 
-046c 6800c7b0 fetch 1 ,mem_24g_rxbuf 
-046d 6808c837 fetcht 1 ,mem_24g_data_type 
-046e a8400e00 icompare bits_data ,temp 
-046f 2420848b nbranch p_g24_end_of_packet ,true 
+0478 20400466 call p_g24_prep 
+0479 7857fc00 disable user3 
+047a 7826fc00 enable decode_fec0 
+047b 7830fc00 enable is_rx 
+047c 78507c00 disable is_tx 
+047d 78287c00 enable swfine 
+047e 68014839 fetch 2 ,mem_24g_rx_window 
+047f 98003600 iforce stop_watch 
+0480 37c18400 correlate null ,timeout 
+0481 242c04b4 nbranch p_g24_sync_timeout ,sync 
+0482 7846fc00 disable decode_fec0 
+0483 7825fc00 enable decode_fec1 
+0484 7823fc00 enable enable_white 
+0485 7824fc00 enable enable_crc 
+0486 09800008 parse demod ,bucket ,8 
+0487 19897e00 rshift3 pwindow ,pdata 
+0488 6000c8ea store 1 ,mem_24g_get_syncword_crc8 
+0489 6808c8e9 fetcht 1 ,mem_24g_syncword_crc8 
+048a 98467c00 isub temp ,null 
+048b 242284b1 nbranch p_g24_end_of_packet ,zero 
+048c 09800008 parse demod ,bucket ,8 
+048d 19897e00 rshift3 pwindow ,pdata 
+048e 6000c7b0 store 1 ,mem_24g_rxbuf 
+048f 6800c87c fetch 1 ,mem_24g_mode 
+0490 1fe67c02 sub pdata ,rx_24g ,null 
+0491 20228496 branch p_g24_receive_skip ,zero 
+0492 6800c7b0 fetch 1 ,mem_24g_rxbuf 
+0493 6808c837 fetcht 1 ,mem_24g_data_type 
+0494 a8400e00 icompare bits_data ,temp 
+0495 242084b1 nbranch p_g24_end_of_packet ,true 
 
 p_g24_receive_skip:
-0470 09800008 parse demod ,bucket ,8 
-0471 19897e00 rshift3 pwindow ,pdata 
-0472 e0a08000 istore 1 ,contw 
-0473 1fe97e00 rshift3 pdata ,pdata 
-0474 1fe1721f and pdata ,0x1f ,loopcnt 
-0475 2022847a branch p_g24rx_nopayload ,zero 
+0496 09800008 parse demod ,bucket ,8 
+0497 19897e00 rshift3 pwindow ,pdata 
+0498 e0a08000 istore 1 ,contw 
+0499 1fe97e00 rshift3 pdata ,pdata 
+049a 1fe1721f and pdata ,0x1f ,loopcnt 
+049b 202284a0 branch p_g24rx_nopayload ,zero 
 
 p_g24rx_loop:
-0476 09800008 parse demod ,bucket ,8 
-0477 19897e00 rshift3 pwindow ,pdata 
-0478 e0a08000 istore 1 ,contw 
-0479 c2000476 loop p_g24rx_loop 
+049c 09800008 parse demod ,bucket ,8 
+049d 19897e00 rshift3 pwindow ,pdata 
+049e e0a08000 istore 1 ,contw 
+049f c200049c loop p_g24rx_loop 
 
 p_g24rx_nopayload:
-047a 09800018 parse demod ,bucket ,24 
-047b 78287c00 enable swfine 
-047c db600664 arg param_sifs ,stop_watch 
-047d 1fef7e00 rshift32 pdata ,pdata 
-047e 1ff17e00 rshift16 pdata ,pdata 
-047f e0a18000 istore 3 ,contw 
-0480 7845fc00 disable decode_fec1 
-0481 204029bb call save_rssi 
-0482 2023048b branch p_g24_end_of_packet ,crc_failed 
-0483 7837fc00 enable user3 
-0484 68008017 fetch 1 ,mem_last_freq 
-0485 1fe0a200 add pdata ,0 ,rega 
-0486 20402981 call rf_write_freq 
-0487 7846fc00 disable decode_fec0 
-0488 20402918 call set_sync_on 
-0489 20600000 rtn 
-048a 20600000 rtn 
+04a0 09800018 parse demod ,bucket ,24 
+04a1 78287c00 enable swfine 
+04a2 db600664 arg param_sifs ,stop_watch 
+04a3 1fef7e00 rshift32 pdata ,pdata 
+04a4 1ff17e00 rshift16 pdata ,pdata 
+04a5 e0a18000 istore 3 ,contw 
+04a6 7845fc00 disable decode_fec1 
+04a7 204029bb call save_rssi 
+04a8 202304b1 branch p_g24_end_of_packet ,crc_failed 
+04a9 7837fc00 enable user3 
+04aa 68008017 fetch 1 ,mem_last_freq 
+04ab 1fe0a200 add pdata ,0 ,rega 
+04ac 20402981 call rf_write_freq 
+04ad 7846fc00 disable decode_fec0 
+04ae 20402918 call set_sync_on 
+04af 20600000 rtn 
+04b0 20600000 rtn 
 
 p_g24_end_of_packet:
-048b 784dfc00 disable encode_fec1 
-048c 7845fc00 disable decode_fec1 
-048d 2020264d branch end_of_packet 
+04b1 784dfc00 disable encode_fec1 
+04b2 7845fc00 disable decode_fec1 
+04b3 2020264d branch end_of_packet 
 
 p_g24_sync_timeout:
-048e 204003fc call p_rssi_noise 
-048f 2020048b branch p_g24_end_of_packet 
+04b4 20400422 call p_rssi_noise 
+04b5 202004b1 branch p_g24_end_of_packet 
 
 p_g24_set_freq_tx:
-0490 20402918 call set_sync_on 
-0491 6808c840 fetcht 1 ,mem_24g_ch 
-0492 20202933 branch set_freq_tx 
+04b6 20402918 call set_sync_on 
+04b7 6808c840 fetcht 1 ,mem_24g_ch 
+04b8 20202933 branch set_freq_tx 
 
 p_g24_transmit:
-0493 204053c4 call le_enable 
-0494 6802485e fetch 4 ,mem_24g_addr 
-0495 98001200 iforce access 
-0496 20400440 call p_g24_prep 
-0497 20400490 call p_g24_set_freq_tx 
-0498 79202a00 set1 txgfsk ,radio_ctrl 
-0499 782efc00 enable encode_fec0 
-049a 78307c00 enable is_tx 
-049b 7850fc00 disable is_rx 
-049c 19317e00 rshift16 access ,pdata 
-049d 1fecfe00 rshift8 pdata ,pdata 
-049e 1ff1fe00 rshift4 pdata ,pdata 
-049f 08008628 inject mod ,40 
-04a0 784efc00 disable encode_fec0 
-04a1 782dfc00 enable encode_fec1 
-04a2 7823fc00 enable enable_white 
-04a3 7824fc00 enable enable_crc 
-04a4 6800c8e9 fetch 1 ,mem_24g_syncword_crc8 
-04a5 08008608 inject mod ,8 
-04a6 6800c838 fetch 1 ,mem_24g_txlen 
-04a7 98007200 iforce loopcnt 
-04a8 d8c047f2 arg mem_24g_txpayload ,contr 
+04b9 204053c4 call le_enable 
+04ba 6802485e fetch 4 ,mem_24g_addr 
+04bb 98001200 iforce access 
+04bc 20400466 call p_g24_prep 
+04bd 204004b6 call p_g24_set_freq_tx 
+04be 79202a00 set1 txgfsk ,radio_ctrl 
+04bf 782efc00 enable encode_fec0 
+04c0 78307c00 enable is_tx 
+04c1 7850fc00 disable is_rx 
+04c2 19317e00 rshift16 access ,pdata 
+04c3 1fecfe00 rshift8 pdata ,pdata 
+04c4 1ff1fe00 rshift4 pdata ,pdata 
+04c5 08008628 inject mod ,40 
+04c6 784efc00 disable encode_fec0 
+04c7 782dfc00 enable encode_fec1 
+04c8 7823fc00 enable enable_white 
+04c9 7824fc00 enable enable_crc 
+04ca 6800c8e9 fetch 1 ,mem_24g_syncword_crc8 
+04cb 08008608 inject mod ,8 
+04cc 6800c838 fetch 1 ,mem_24g_txlen 
+04cd 98007200 iforce loopcnt 
+04ce d8c047f2 arg mem_24g_txpayload ,contr 
 
 p_g24tr_loop:
-04a9 e8c08000 ifetch 1 ,contr 
-04aa 08008608 inject mod ,8 
-04ab c20004a9 loop p_g24tr_loop 
-04ac 6800c8ee fetch 1 ,mem_rssi_hex 
-04ad 08008608 inject mod ,8 
-04ae 78247c00 enable enable_parity 
-04af 08008618 inject mod ,24 
-04b0 78447c00 disable enable_parity 
-04b1 37d38200 until null ,tx_clear 
-04b2 20000064 nop 100 
-04b3 784efc00 disable encode_fec0 
-04b4 784dfc00 disable encode_fec1 
-04b5 20600000 rtn 
+04cf e8c08000 ifetch 1 ,contr 
+04d0 08008608 inject mod ,8 
+04d1 c20004cf loop p_g24tr_loop 
+04d2 6800c8ee fetch 1 ,mem_rssi_hex 
+04d3 08008608 inject mod ,8 
+04d4 78247c00 enable enable_parity 
+04d5 08008618 inject mod ,24 
+04d6 78447c00 disable enable_parity 
+04d7 37d38200 until null ,tx_clear 
+04d8 20000064 nop 100 
+04d9 784efc00 disable encode_fec0 
+04da 784dfc00 disable encode_fec1 
+04db 20600000 rtn 
               org 0x2000
 
 start:
Index: program/patch.prog
===================================================================
--- /branch/USB/dongle/program/patch.prog	(revision 3436)
+++ /branch/USB/dongle/program/patch.prog	(working copy)
@@ -126,8 +126,31 @@
 	rshift4 pdata,pdata
 	rshift pdata,pdata
 	and_into 0x03,pdata
+	beq STANDARD_REQ,p_usb_out_standard_req
 	beq CLASS_REQ,p_usb_out_class_req	
 	branch usb_out_device+4
+
+p_usb_out_standard_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq SET_FEATURE,p_usb0_request_set_feature
+	branch usb_out_standard_req+1
+
+p_usb0_request_set_feature:
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	beq OUT_DEVICE,p_usb0_request_set_feature_out_device
+	branch usb0_request_set_feature+5
+
+
+p_usb0_request_set_feature_out_device:
+	fetch 1,mem_usb_setup_bValue
+	bne DEVICE_REMOTE_WAKEUP,usb0_force_stall
+	jam 3,mem_24g_pc_sleep_flag
+	branch usb0_request_set_feature_out_device+2
+	
 p_usb_out_class_req:
 	fetch 1,mem_usb_setup_bRequest
 	beq SET_REPORT,p_usb_set_report
@@ -530,7 +553,8 @@
 
 p_dongle_usb_dispatch:
 	jam 0xff,core_write_watchdog
-
+	fetch 1,mem_usb_remote_wakeup
+	call p_g24_clear_pc_sleep_flag,blank
 	call usb_isr
 	fetch 1,mem_usb0_get_set_report
 	rtn blank
@@ -1009,6 +1033,23 @@
 
 p_g24_ackpayload_prep:
 	jam 0,mem_24g_datalen
+	fetch 1,mem_24g_data_type
+	beq 0x01,p_g24_ackpayload_prep_mouse
+	beq 0x02,p_g24_ackpayload_prep_keyboard
+p_g24_ackpayload_prep_mouse:
+	fetch 1,mem_24g_pc_sleep_flag
+	bbit1 0,p_g24_pc_sleep_ackpayload_prep_mouse
+	branch p_g24_ackpayload_prep_end
+
+p_g24_clear_pc_sleep_flag:
+	jam 0,mem_24g_pc_sleep_flag
+	rtn
+
+
+p_g24_ackpayload_prep_keyboard:
+	fetch 1,mem_24g_pc_sleep_flag
+	bbit1 1,p_g24_pc_sleep_ackpayload_prep_keyboard
+p_g24_ackpayload_prep_end:
 	fetch 1,mem_24g_ackpayload_enable
 	rtn blank
 	beq BIND_ACKPAYLOAD,p_g24_bind_ackpayload_prep
@@ -1016,6 +1057,22 @@
 	beq KB_LED_ACKPAYLOAD,p_g24_kb_led_ackpayload_prep
 	rtn
 
+p_g24_pc_sleep_ackpayload_prep_mouse:
+	fetch 1,mem_24g_pc_sleep_flag
+	set0 0,pdata
+	store 1,mem_24g_pc_sleep_flag
+	branch p_g24_pc_sleep_ackpayload_prep
+
+p_g24_pc_sleep_ackpayload_prep_keyboard:
+	fetch 1,mem_24g_pc_sleep_flag
+	set0 1,pdata
+	store 1,mem_24g_pc_sleep_flag
+p_g24_pc_sleep_ackpayload_prep:
+	jam 0x01,mem_24g_datalen
+	setarg 0xff
+	store 1,mem_24g_txbuf
+	rtn
+
 p_g24_bind_ackpayload_prep:
 	jam 1,mem_24g_ackpayload_enable
 	call p_g24_dongle_binding_device_check	//works on auto pair only
