Index: format/g24.format
===================================================================
--- /branch/USB/dongle_16M/format/g24.format	(revision 3197)
+++ /branch/USB/dongle_16M/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_16M/output/eeprom.dat	(revision 3197)
+++ /branch/USB/dongle_16M/output/eeprom.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-12
+ee
 13
 c2
 84
@@ -11,19 +11,19 @@
 c0
 42
 84
-05
+3c
 c0
 44
-83
-dd
+84
+14
 c0
 45
 04
-07
+3e
 c0
 00
-03
-fd
+04
+34
 c0
 47
 00
@@ -31,7 +31,7 @@
 c0
 62
 00
-74
+8c
 c0
 7b
 80
@@ -326,8 +326,8 @@
 00
 20
 3a
-49
-43
+00
+5b
 d8
 a0
 0c
@@ -340,6 +340,10 @@
 00
 8b
 24
+c0
+00
+80
+5e
 1f
 e6
 7c
@@ -359,13 +363,41 @@
 c0
 00
 00
-5a
+62
 20
 20
 49
 57
 68
 00
+8b
+22
+c2
+82
+00
+57
+20
+60
+00
+00
+68
+00
+8c
+6e
+c3
+83
+80
+00
+20
+40
+00
+88
+20
+20
+49
+88
+68
+00
 8c
 6e
 1f
@@ -382,8 +414,12 @@
 03
 c0
 00
+00
+69
+c0
+00
 80
-60
+77
 20
 20
 49
@@ -393,9 +429,65 @@
 8c
 6f
 c0
+01
+80
+6c
+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
+73
+20
+20
+4a
+7e
+68
+00
+8c
+70
+c0
+80
+c9
+84
+70
+49
+7c
+03
+20
+20
+4a
+84
+68
+00
+8c
+6f
+c0
 04
 80
-63
+7a
 20
 20
 49
@@ -427,7 +519,7 @@
 24
 5a
 00
-6d
+84
 68
 00
 8d
@@ -435,7 +527,7 @@
 24
 5a
 00
-70
+87
 20
 20
 4a
@@ -461,6 +553,10 @@
 c9
 7a
 70
+0d
+43
+00
+70
 48
 ba
 03
@@ -470,11 +566,11 @@
 00
 70
 49
-87
+89
 00
 70
 49
-7b
+7d
 07
 20
 40
@@ -499,19 +595,19 @@
 20
 40
 00
-9b
+b3
 20
 40
 01
-76
+94
 20
 40
 00
-86
+9e
 20
 40
 00
-84
+9c
 68
 00
 c8
@@ -519,15 +615,15 @@
 c0
 00
 01
-ca
+ea
 c0
 00
 80
-a5
+bd
 c0
 07
 80
-a1
+b9
 20
 60
 00
@@ -535,7 +631,7 @@
 20
 40
 00
-97
+af
 20
 20
 65
@@ -547,7 +643,7 @@
 20
 40
 00
-93
+ab
 20
 40
 65
@@ -575,7 +671,7 @@
 68
 0a
 49
-7d
+7f
 98
 46
 7c
@@ -651,39 +747,39 @@
 20
 40
 00
-aa
+c2
 20
 40
 00
-ae
+c6
 20
 40
 01
-94
+b2
 20
 20
 00
-a2
+ba
 20
 40
 00
-aa
+c2
 20
 40
 00
-ae
+c6
 20
 40
-00
-f9
+01
+17
 20
 40
 01
-94
+b2
 20
 20
 00
-a6
+be
 70
 48
 ba
@@ -711,19 +807,19 @@
 20
 40
 00
-b4
+cc
 20
 40
 00
-c2
+da
 20
 40
 03
-1a
+51
 20
 20
 00
-e1
+f9
 68
 00
 c8
@@ -771,15 +867,15 @@
 20
 40
 04
-1d
+54
 20
 40
 04
-3d
+74
 20
 20
 01
-15
+33
 68
 00
 c8
@@ -787,7 +883,7 @@
 c0
 00
 80
-db
+f3
 68
 00
 c8
@@ -795,7 +891,7 @@
 c0
 00
 80
-d5
+ed
 68
 0a
 48
@@ -855,7 +951,7 @@
 20
 20
 04
-3d
+74
 70
 48
 bb
@@ -863,7 +959,7 @@
 20
 20
 04
-3d
+74
 1c
 42
 7e
@@ -887,7 +983,7 @@
 20
 40
 04
-18
+4f
 60
 08
 c8
@@ -903,19 +999,19 @@
 20
 20
 04
-3d
+74
 20
 40
 00
-e4
+fc
 20
 40
-00
-eb
+01
+03
 20
 20
-00
-f2
+01
+0d
 68
 00
 c8
@@ -969,10 +1065,22 @@
 d5
 00
 20
-20
+40
 2f
 ac
 68
+04
+0d
+64
+60
+04
+48
+c7
+20
+60
+00
+00
+68
 00
 c8
 d6
@@ -997,10 +1105,22 @@
 d6
 00
 20
-20
+40
 2f
 b8
 68
+01
+8d
+74
+60
+01
+c8
+d2
+20
+60
+00
+00
+68
 00
 c8
 a6
@@ -1010,12 +1130,12 @@
 00
 20
 40
-00
-fd
+01
+1b
 20
 20
 01
-09
+27
 68
 00
 c8
@@ -1063,18 +1183,18 @@
 20
 20
 04
-1d
+54
 20
 40
 02
-4d
+6f
 24
 37
 81
-15
+33
 70
 49
-7c
+7e
 05
 d8
 c0
@@ -1099,19 +1219,19 @@
 c0
 55
 01
-33
+51
 c0
 2a
 81
-40
+5e
 c0
 11
 01
-50
+6e
 c0
 7f
 81
-6c
+8a
 d8
 a0
 47
@@ -1147,11 +1267,11 @@
 c0
 00
 81
-20
+3e
 c0
 01
 01
-24
+42
 20
 60
 00
@@ -1159,7 +1279,7 @@
 68
 00
 c9
-87
+89
 c4
 00
 00
@@ -1175,7 +1295,7 @@
 68
 00
 c9
-87
+89
 c4
 00
 80
@@ -1183,7 +1303,7 @@
 20
 20
 01
-22
+40
 68
 00
 c8
@@ -1195,7 +1315,7 @@
 68
 00
 c9
-87
+89
 1f
 e1
 fe
@@ -1203,7 +1323,7 @@
 60
 00
 c9
-87
+89
 20
 60
 00
@@ -1219,7 +1339,7 @@
 68
 00
 c9
-87
+89
 1f
 e1
 fe
@@ -1227,7 +1347,7 @@
 60
 00
 c9
-87
+89
 20
 60
 00
@@ -1239,11 +1359,11 @@
 c0
 00
 81
-37
+55
 c0
 01
 01
-3d
+5b
 20
 60
 00
@@ -1283,7 +1403,7 @@
 20
 20
 01
-39
+57
 68
 00
 c8
@@ -1291,11 +1411,11 @@
 c0
 00
 81
-44
+62
 c0
 01
 01
-4a
+68
 20
 60
 00
@@ -1303,7 +1423,7 @@
 20
 40
 01
-38
+56
 68
 00
 c8
@@ -1311,7 +1431,7 @@
 c0
 00
 81
-48
+66
 20
 60
 00
@@ -1327,7 +1447,7 @@
 20
 40
 01
-3e
+5c
 68
 00
 c8
@@ -1335,7 +1455,7 @@
 c0
 00
 81
-4e
+6c
 20
 60
 00
@@ -1355,11 +1475,11 @@
 c0
 00
 81
-54
+72
 c0
 01
 01
-5e
+7c
 20
 60
 00
@@ -1371,7 +1491,7 @@
 c0
 01
 01
-57
+75
 20
 60
 00
@@ -1379,7 +1499,7 @@
 20
 40
 01
-27
+45
 68
 00
 c8
@@ -1403,7 +1523,7 @@
 20
 20
 01
-15
+33
 68
 00
 c8
@@ -1411,7 +1531,7 @@
 c0
 80
 01
-61
+7f
 20
 60
 00
@@ -1419,7 +1539,7 @@
 20
 40
 01
-2d
+4b
 68
 00
 c8
@@ -1435,7 +1555,7 @@
 20
 40
 01
-5b
+79
 68
 00
 91
@@ -1451,7 +1571,7 @@
 20
 40
 00
-93
+ab
 20
 40
 65
@@ -1467,11 +1587,11 @@
 c0
 00
 81
-70
+8e
 c0
 01
 01
-73
+91
 20
 60
 00
@@ -1583,7 +1703,7 @@
 24
 21
 01
-8c
+aa
 58
 00
 49
@@ -1624,6 +1744,14 @@
 80
 04
 ff
+68
+00
+8d
+39
+20
+5a
+03
+21
 20
 40
 48
@@ -1671,11 +1799,11 @@
 c0
 50
 01
-b1
+d1
 c0
 50
 81
-a7
+c7
 c0
 53
 30
@@ -1683,15 +1811,15 @@
 c0
 53
 81
-b6
+d6
 c0
 54
 81
-bc
+dc
 c0
 58
 01
-be
+de
 20
 20
 30
@@ -1703,11 +1831,11 @@
 c0
 00
 81
-ac
+cc
 c0
 42
 01
-af
+cf
 c0
 53
 b0
@@ -1731,11 +1859,11 @@
 20
 40
 00
-ab
+c3
 20
 20
 01
-ac
+cc
 68
 00
 8c
@@ -1743,7 +1871,7 @@
 c0
 40
 81
-b4
+d4
 20
 20
 30
@@ -1751,7 +1879,7 @@
 20
 40
 02
-11
+31
 20
 20
 30
@@ -1763,7 +1891,7 @@
 c0
 00
 01
-ba
+da
 c0
 00
 b0
@@ -1807,11 +1935,11 @@
 c0
 01
 81
-c8
+e8
 20
 40
 01
-7b
+99
 68
 00
 c9
@@ -1819,7 +1947,7 @@
 c0
 01
 81
-c8
+e8
 70
 0c
 f7
@@ -1838,36 +1966,36 @@
 3f
 20
 40
-01
-ef
+02
+0f
 20
 40
-01
-f5
+02
+15
 20
 40
 02
-20
+40
 20
 40
 01
-d2
+f2
 20
 40
 01
-d6
+f6
 20
 40
 02
-51
+73
 20
 40
 01
-94
+b2
 20
 20
 01
-cb
+eb
 68
 00
 c8
@@ -1879,11 +2007,11 @@
 20
 40
 00
-b0
+c8
 20
 20
 02
-3f
+61
 68
 00
 c8
@@ -1894,12 +2022,12 @@
 00
 20
 40
-00
-fd
+01
+1b
 20
 40
 01
-09
+27
 68
 00
 c8
@@ -1915,15 +2043,15 @@
 20
 40
 00
-aa
+c2
 20
 40
 02
-3d
+5f
 20
 20
-01
-f2
+02
+12
 20
 40
 7f
@@ -2018,8 +2146,8 @@
 00
 20
 40
-01
-e0
+02
+00
 24
 74
 00
@@ -2027,11 +2155,11 @@
 20
 40
 02
-0a
+2a
 20
 40
 02
-02
+22
 68
 00
 c8
@@ -2051,11 +2179,11 @@
 c0
 00
 02
-07
+27
 c0
 00
 82
-0f
+2f
 20
 60
 00
@@ -2063,7 +2191,7 @@
 68
 00
 c9
-7c
+7e
 20
 7a
 00
@@ -2075,7 +2203,7 @@
 60
 00
 c9
-7c
+7e
 20
 60
 00
@@ -2083,19 +2211,19 @@
 68
 00
 c9
-7c
+7e
 24
 3a
 02
-11
+31
 20
 20
 00
-aa
+c2
 68
 00
 c9
-7b
+7d
 20
 7a
 00
@@ -2107,7 +2235,7 @@
 60
 00
 c9
-7b
+7d
 20
 60
 00
@@ -2115,11 +2243,11 @@
 68
 00
 c9
-7b
+7d
 24
 3a
 00
-aa
+c2
 70
 48
 a6
@@ -2135,15 +2263,15 @@
 68
 00
 c9
-85
+87
 20
 5a
 02
-3b
+5d
 68
 00
 c9
-82
+84
 c3
 80
 00
@@ -2155,14 +2283,14 @@
 60
 00
 c9
-82
+84
 70
 49
-81
+83
 01
 70
 49
-86
+88
 00
 58
 00
@@ -2171,19 +2299,27 @@
 60
 01
 49
-83
+85
 70
 48
 5d
 60
 20
 20
-01
-f2
+02
+12
+68
+00
+c8
+a6
+c1
+00
+00
+00
 68
 00
 c9
-85
+87
 24
 7a
 00
@@ -2191,15 +2327,15 @@
 68
 00
 c9
-81
+83
 20
 7a
 00
 00
 20
 40
-01
-e0
+02
+00
 24
 74
 00
@@ -2207,7 +2343,7 @@
 68
 01
 49
-83
+85
 1f
 e0
 fe
@@ -2215,7 +2351,7 @@
 60
 01
 49
-83
+85
 d8
 40
 07
@@ -2227,15 +2363,15 @@
 20
 21
 02
-37
+59
 20
 40
 02
-02
+22
 68
 00
 c9
-86
+88
 1f
 e0
 fe
@@ -2247,15 +2383,15 @@
 60
 00
 c9
-86
+88
 c0
 00
 02
-34
+56
 c0
 00
 82
-11
+31
 20
 60
 00
@@ -2263,26 +2399,26 @@
 68
 00
 c9
-7c
+7e
 24
 3a
 02
-11
+31
 20
 20
 02
-4a
+6c
 70
 49
-85
+87
 01
 20
 20
 02
-4a
+6c
 70
 49
-81
+83
 00
 20
 60
@@ -2290,7 +2426,7 @@
 00
 70
 49
-81
+83
 01
 20
 60
@@ -2338,16 +2474,16 @@
 00
 70
 49
-7b
+7d
 00
 70
 49
-7c
+7e
 00
 20
 40
 02
-14
+34
 70
 48
 a6
@@ -2359,23 +2495,23 @@
 20
 20
 01
-15
+33
 20
 40
 01
-15
+33
 20
 40
 04
-57
+8e
 24
 77
 80
 00
 20
 20
-02
-ee
+03
+10
 68
 00
 c8
@@ -2387,27 +2523,27 @@
 20
 40
 02
-78
+9a
 20
 40
 02
-8c
+ae
 20
 40
 02
-4d
+6f
 24
 37
 81
-15
+33
 20
 40
 02
-88
+aa
 20
 42
 83
-1d
+54
 68
 00
 c8
@@ -2415,7 +2551,7 @@
 20
 5a
 02
-39
+5b
 70
 48
 a6
@@ -2443,23 +2579,23 @@
 24
 42
 82
-6f
+91
 20
 40
 01
-15
+33
 20
 40
 02
-3d
+5f
 20
 40
 02
-88
+aa
 20
 22
 82
-71
+93
 68
 02
 48
@@ -2475,7 +2611,7 @@
 20
 22
 82
-74
+96
 68
 02
 48
@@ -2491,7 +2627,7 @@
 20
 22
 82
-76
+98
 20
 60
 00
@@ -2523,7 +2659,7 @@
 20
 20
 02
-72
+94
 68
 00
 c8
@@ -2531,7 +2667,7 @@
 20
 20
 02
-72
+94
 68
 00
 c8
@@ -2571,7 +2707,7 @@
 20
 40
 02
-88
+aa
 24
 62
 80
@@ -2631,19 +2767,19 @@
 c0
 00
 02
-af
+d1
 c0
 00
 82
-c9
+eb
 c0
 01
 02
-95
+b7
 c0
 01
 82
-c9
+eb
 20
 60
 00
@@ -2651,7 +2787,7 @@
 20
 40
 01
-38
+56
 68
 02
 48
@@ -2659,11 +2795,11 @@
 20
 3a
 02
-8c
+ae
 20
 40
 04
-1d
+54
 68
 00
 c8
@@ -2671,7 +2807,7 @@
 20
 5a
 02
-aa
+cc
 68
 00
 c8
@@ -2691,7 +2827,7 @@
 20
 40
 04
-11
+48
 60
 08
 c8
@@ -2699,7 +2835,7 @@
 20
 40
 04
-18
+4f
 60
 08
 c8
@@ -2719,7 +2855,7 @@
 20
 40
 04
-41
+78
 60
 08
 c8
@@ -2743,7 +2879,7 @@
 20
 40
 04
-45
+7c
 60
 00
 c8
@@ -2755,7 +2891,7 @@
 20
 40
 01
-3e
+5c
 68
 02
 48
@@ -2763,11 +2899,11 @@
 20
 3a
 02
-8c
+ae
 20
 40
 04
-1d
+54
 68
 00
 c8
@@ -2775,7 +2911,7 @@
 20
 5a
 02
-c4
+e6
 68
 00
 c8
@@ -2795,7 +2931,7 @@
 20
 40
 04
-11
+48
 60
 08
 c8
@@ -2803,7 +2939,7 @@
 20
 40
 04
-18
+4f
 60
 08
 c8
@@ -2823,7 +2959,7 @@
 20
 40
 04
-41
+78
 60
 08
 c8
@@ -2847,7 +2983,7 @@
 20
 40
 04
-45
+7c
 60
 00
 c8
@@ -2859,7 +2995,7 @@
 20
 40
 01
-38
+56
 68
 02
 48
@@ -2867,7 +3003,7 @@
 20
 40
 04
-1d
+54
 68
 00
 c8
@@ -2875,7 +3011,7 @@
 20
 5a
 02
-dd
+ff
 68
 00
 c8
@@ -2895,7 +3031,7 @@
 20
 40
 04
-11
+48
 60
 08
 c8
@@ -2903,7 +3039,7 @@
 20
 40
 04
-18
+4f
 60
 08
 c8
@@ -2923,7 +3059,7 @@
 20
 40
 04
-41
+78
 60
 08
 c8
@@ -3014,8 +3150,8 @@
 39
 20
 40
-02
-e1
+03
+03
 68
 00
 c7
@@ -3026,24 +3162,24 @@
 00
 20
 20
-82
-f7
+83
+19
 20
 40
-02
-f8
+03
+1a
 20
 40
 04
-2b
+62
 20
 40
 04
-a1
+d8
 20
 20
 04
-99
+d0
 70
 48
 38
@@ -3051,6 +3187,46 @@
 68
 00
 c8
+39
+c0
+00
+83
+1e
+c0
+01
+03
+23
+68
+00
+c9
+7c
+c2
+80
+03
+2b
+20
+20
+03
+25
+70
+49
+7c
+00
+20
+60
+00
+00
+68
+00
+c9
+7c
+c2
+80
+83
+2f
+68
+00
+c8
 ba
 20
 7a
@@ -3058,16 +3234,60 @@
 00
 c0
 00
-82
-ff
+83
+36
 c0
 01
 03
-07
+3e
 c0
 01
 83
-11
+48
+20
+60
+00
+00
+68
+00
+c9
+7c
+79
+3f
+fe
+00
+60
+00
+c9
+7c
+20
+20
+03
+32
+68
+00
+c9
+7c
+79
+3f
+fe
+01
+60
+00
+c9
+7c
+70
+48
+38
+01
+58
+00
+00
+ff
+60
+00
+c7
+d4
 20
 60
 00
@@ -3079,7 +3299,7 @@
 20
 40
 01
-18
+36
 24
 77
 80
@@ -3107,7 +3327,7 @@
 20
 40
 01
-8e
+ac
 24
 74
 00
@@ -3150,12 +3370,12 @@
 b4
 c0
 00
-82
-ff
+83
+36
 c0
 7f
-82
-ff
+83
+36
 70
 0d
 43
@@ -3183,23 +3403,23 @@
 20
 40
 02
-4d
+6f
 24
 37
 81
-15
+33
 20
 20
 03
-1d
+54
 20
 40
 03
-2e
+65
 24
 34
 01
-15
+33
 68
 00
 c8
@@ -3207,7 +3427,7 @@
 20
 3a
 01
-15
+33
 1f
 e0
 fe
@@ -3239,7 +3459,7 @@
 20
 5a
 02
-3d
+5f
 68
 00
 c8
@@ -3247,19 +3467,19 @@
 c0
 00
 83
-3c
+73
 c0
 01
 03
-5c
+93
 c0
 7f
 83
-b1
+e8
 20
 20
 01
-15
+33
 20
 40
 7f
@@ -3319,11 +3539,11 @@
 20
 40
 01
-27
+45
 20
 40
 00
-d7
+ef
 68
 00
 c8
@@ -3347,7 +3567,7 @@
 c0
 00
 83
-bb
+f2
 68
 00
 c8
@@ -3375,7 +3595,7 @@
 c0
 67
 83
-bf
+f6
 58
 00
 00
@@ -3399,7 +3619,7 @@
 24
 5a
 03
-54
+8b
 68
 00
 c8
@@ -3407,7 +3627,7 @@
 20
 5a
 03
-58
+8f
 20
 20
 31
@@ -3447,7 +3667,7 @@
 20
 40
 01
-2d
+4b
 68
 08
 c8
@@ -3459,7 +3679,7 @@
 20
 20
 83
-bd
+f4
 68
 00
 c8
@@ -3467,19 +3687,19 @@
 c0
 00
 03
-65
+9c
 c0
 01
 03
-9a
+d1
 c0
 01
 83
-81
+b8
 20
 20
 01
-15
+33
 68
 00
 c8
@@ -3499,7 +3719,7 @@
 20
 40
 03
-76
+ad
 68
 04
 0d
@@ -3507,7 +3727,7 @@
 24
 5a
 03
-79
+b0
 68
 04
 0d
@@ -3515,7 +3735,7 @@
 20
 5a
 03
-7d
+b4
 68
 04
 0d
@@ -3547,7 +3767,7 @@
 20
 20
 01
-15
+33
 d8
 c0
 48
@@ -3599,7 +3819,7 @@
 20
 40
 03
-8f
+c6
 68
 01
 0d
@@ -3607,7 +3827,7 @@
 24
 5a
 03
-92
+c9
 68
 01
 0d
@@ -3615,7 +3835,7 @@
 20
 5a
 03
-96
+cd
 68
 01
 8d
@@ -3647,7 +3867,7 @@
 20
 20
 01
-15
+33
 d8
 c0
 48
@@ -3699,7 +3919,7 @@
 20
 40
 03
-a4
+db
 68
 01
 13
@@ -3719,7 +3939,7 @@
 24
 42
 83
-af
+e6
 68
 01
 13
@@ -3731,7 +3951,7 @@
 20
 20
 01
-15
+33
 d8
 c0
 48
@@ -3791,11 +4011,11 @@
 c0
 00
 83
-b5
+ec
 c0
 01
 03
-b8
+ef
 20
 60
 00
@@ -3803,7 +4023,7 @@
 20
 40
 01
-27
+45
 68
 02
 48
@@ -3811,11 +4031,11 @@
 20
 20
 01
-71
+8f
 20
 40
 01
-2d
+4b
 68
 02
 48
@@ -3823,7 +4043,7 @@
 20
 20
 01
-74
+92
 68
 02
 48
@@ -3831,7 +4051,7 @@
 20
 20
 01
-71
+8f
 68
 02
 48
@@ -3839,7 +4059,7 @@
 20
 20
 01
-74
+92
 68
 01
 48
@@ -3855,7 +4075,7 @@
 20
 22
 83
-c4
+fb
 20
 60
 00
@@ -3866,8 +4086,8 @@
 83
 c0
 61
-03
-d1
+04
+08
 68
 00
 c9
@@ -3883,7 +4103,7 @@
 20
 40
 01
-85
+a3
 68
 00
 c9
@@ -3903,11 +4123,11 @@
 c0
 60
 81
-c6
+e6
 c0
 61
-03
-d1
+04
+08
 20
 60
 00
@@ -3927,19 +4147,19 @@
 20
 40
 01
-76
+94
 68
 00
 c8
 86
 c0
 2a
-83
-d9
+84
+10
 c0
 55
-03
-db
+04
+12
 20
 60
 00
@@ -4026,12 +4246,12 @@
 de
 c0
 02
-03
-f6
+04
+2d
 20
 20
-03
-ef
+04
+26
 70
 89
 4b
@@ -4159,7 +4379,7 @@
 20
 40
 04
-11
+48
 60
 08
 c8
@@ -4243,7 +4463,7 @@
 c2
 00
 04
-21
+58
 1a
 22
 7e
@@ -4351,7 +4571,7 @@
 20
 40
 04
-41
+78
 60
 08
 c8
@@ -4363,7 +4583,7 @@
 20
 40
 04
-45
+7c
 18
 40
 84
@@ -4487,7 +4707,7 @@
 20
 40
 04
-4e
+85
 78
 57
 fc
@@ -4523,7 +4743,7 @@
 24
 2c
 04
-9c
+d3
 78
 46
 fc
@@ -4563,7 +4783,7 @@
 24
 22
 84
-99
+d0
 09
 80
 00
@@ -4587,7 +4807,7 @@
 20
 22
 84
-7e
+b5
 68
 00
 c7
@@ -4603,7 +4823,7 @@
 24
 20
 84
-99
+d0
 09
 80
 00
@@ -4627,7 +4847,7 @@
 20
 22
 84
-88
+bf
 09
 80
 00
@@ -4643,7 +4863,7 @@
 c2
 00
 04
-84
+bb
 09
 80
 00
@@ -4679,7 +4899,7 @@
 20
 23
 04
-99
+d0
 78
 37
 fc
@@ -4727,11 +4947,11 @@
 20
 40
 04
-0a
+41
 20
 20
 04
-99
+d0
 20
 40
 29
@@ -4759,11 +4979,11 @@
 20
 40
 04
-4e
+85
 20
 40
 04
-9e
+d5
 79
 20
 2a
@@ -4843,7 +5063,7 @@
 c2
 00
 04
-b7
+ee
 68
 00
 c8
@@ -4884,8 +5104,8 @@
 60
 00
 00
-c9
-86
+70
+e9
 aa
 55
 01
@@ -5395,7 +5615,7 @@
 55
 04
 00
-7d
+7f
 49
 ff
 ff
@@ -5476,234 +5696,14 @@
 42
 00
 84
-79
-b8
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+55
+aa
+aa
+55
+eb
+97
+8a
+bd
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-15
-89
+a1
+29
Index: output/memmap.format
===================================================================
--- /branch/USB/dongle_16M/output/memmap.format	(revision 3197)
+++ /branch/USB/dongle_16M/output/memmap.format	(working copy)
@@ -1868,12 +1868,14 @@
 0x4978 mem_24g_txcnt
 0x4979 mem_24g_auto_paring_switch
 0x497a mem_24g_led_status
-0x497b mem_24g_bind_delay_count
-0x497c mem_24g_work_delay_count
-0x497d mem_24g_factory_addr
-0x4981 mem_24g_mode_switch_2
-0x4982 mem_24g_mode_switch_2_init
-0x4983 mem_24g_mode_switch_cnt_2
-0x4985 mem_24g_mode_switch_exit_2
-0x4986 mem_24g_time_slice_2
-0x4987 mem_dongle_bind_device_living
+0x497b mem_24g_pc_sleep
+0x497c mem_24g_pc_sleep_flag
+0x497d mem_24g_bind_delay_count
+0x497e mem_24g_work_delay_count
+0x497f mem_24g_factory_addr
+0x4983 mem_24g_mode_switch_2
+0x4984 mem_24g_mode_switch_2_init
+0x4985 mem_24g_mode_switch_cnt_2
+0x4987 mem_24g_mode_switch_exit_2
+0x4988 mem_24g_time_slice_2
+0x4989 mem_dongle_bind_device_living
Index: output/program.lis
===================================================================
--- /branch/USB/dongle_16M/output/program.lis	(revision 3197)
+++ /branch/USB/dongle_16M/output/program.lis	(working copy)
@@ -1,12 +1,12 @@
               include "bt_format "
               org 0x0000
 0000 c284000b bbit1 8 ,pf_patch_ext 
-0001 c0428405 beq patch10_5 ,p_shutdown_radio 
-0002 c04483dd beq patch11_1 ,p_set_freq_tx 
-0003 c0450407 beq patch11_2 ,p_initialize_radio_cont 
-0004 c00003fd beq patch00_0 ,p_soft_reset 
+0001 c042843c beq patch10_5 ,p_shutdown_radio 
+0002 c0448414 beq patch11_1 ,p_set_freq_tx 
+0003 c045043e beq patch11_2 ,p_initialize_radio_cont 
+0004 c0000434 beq patch00_0 ,p_soft_reset 
 0005 c047000c beq patch11_6 ,p_save_rssi 
-0006 c0620074 beq patch18_4 ,p_app_init 
+0006 c062008c beq patch18_4 ,p_app_init 
 0007 c07b8013 beq patch1e_7 ,p_usb_init 
 0008 c07c004c beq patch1f_0 ,p_usb_status1 
 0009 c07e002b beq patch1f_4 ,p_usb_tx 
@@ -104,1514 +104,1597 @@
 004d 68108a20 hfetch 1 ,core_usb_ep_len 
 004e 60008b24 store 1 ,mem_usb_read_len 
 004f 1fe27200 copy pdata ,loopcnt 
-0050 203a4943 branch usb_rx_no_data ,blank 
+0050 203a005b branch p_usb_rx_no_data ,blank 
 0051 d8a00c6e arg mem_usb_setup ,contw 
 0052 20404946 call usb_rx_read 
 0053 68008b24 fetch 1 ,mem_usb_read_len 
-0054 1fe67c07 sub pdata ,7 ,null 
-0055 20610000 rtn positive 
-0056 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
-0057 1fe17e80 and_into 0x80 ,pdata 
-0058 c000005a beq out_device ,p_usb_out_device 
-0059 20204957 branch usb_class_type + 2 
+0054 c000805e beq 0x01 ,p_usb_out_one_byte 
+0055 1fe67c07 sub pdata ,7 ,null 
+0056 20610000 rtn positive 
+
+p_usb_class_type:
+0057 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+0058 1fe17e80 and_into 0x80 ,pdata 
+0059 c0000062 beq out_device ,p_usb_out_device 
+005a 20204957 branch usb_class_type + 2 
+
+p_usb_rx_no_data:
+005b 68008b22 fetch 1 ,mem_usb_status 
+005c c2820057 bbit1 usb_status_setup ,p_usb_class_type 
+005d 20600000 rtn 
+
+p_usb_out_one_byte:
+005e 68008c6e fetch 1 ,mem_usb_setup 
+005f c3838000 rtnbit1 7 
+0060 20400088 call p_usb_get_led_status 
+0061 20204988 branch usb0_reply_zerolen 
 
 p_usb_out_device:
-005a 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
-005b 1ff1fe00 rshift4 pdata ,pdata 
-005c 1fe37e00 rshift pdata ,pdata 
-005d 1fe17e03 and_into 0x03 ,pdata 
-005e c0008060 beq class_req ,p_usb_out_class_req 
-005f 20204966 branch usb_out_device + 4 
+0062 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+0063 1ff1fe00 rshift4 pdata ,pdata 
+0064 1fe37e00 rshift pdata ,pdata 
+0065 1fe17e03 and_into 0x03 ,pdata 
+0066 c0000069 beq standard_req ,p_usb_out_standard_req 
+0067 c0008077 beq class_req ,p_usb_out_class_req 
+0068 20204966 branch usb_out_device + 4 
+
+p_usb_out_standard_req:
+0069 68008c6f fetch 1 ,mem_usb_setup_brequest 
+006a c001806c beq set_feature ,p_usb0_request_set_feature 
+006b 20204977 branch usb_out_standard_req + 1 
+
+p_usb0_request_set_feature:
+006c 68008c74 fetch 1 ,mem_usb_setup_blength 
+006d c0804984 bne 0 ,usb0_force_stall 
+006e 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+006f c0804984 bne 0 ,usb0_force_stall 
+0070 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+0071 c0000073 beq out_device ,p_usb0_request_set_feature_out_device 
+0072 20204a7e branch usb0_request_set_feature + 5 
+
+p_usb0_request_set_feature_out_device:
+0073 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+0074 c080c984 bne device_remote_wakeup ,usb0_force_stall 
+0075 70497c03 jam 3 ,mem_24g_pc_sleep_flag 
+0076 20204a84 branch usb0_request_set_feature_out_device + 2 
 
 p_usb_out_class_req:
-0060 68008c6f fetch 1 ,mem_usb_setup_brequest 
-0061 c0048063 beq set_report ,p_usb_set_report 
-0062 2020497f branch usb_out_class_req + 1 
+0077 68008c6f fetch 1 ,mem_usb_setup_brequest 
+0078 c004807a beq set_report ,p_usb_set_report 
+0079 2020497f branch usb_out_class_req + 1 
 
 p_usb_set_report:
-0063 700d5001 jam 1 ,mem_usb0_get_set_report 
-0064 20404b03 call usb_set_report_resume_judge 
-0065 68010c70 fetch 2 ,mem_usb_setup_bvalue 
-0066 60010d4e store 2 ,mem_usb_setup_bvalue_temp 
-0067 20003a98 nop 15000 
-0068 68108a20 hfetch 1 ,core_usb_ep_len 
-0069 245a006d ncall p_usb_set_report_rxdata ,blank 
-006a 68008d43 fetch 1 ,mem_usb_tx_win_enable 
-006b 245a0070 ncall p_usb_get_output_data ,blank 
-006c 20204afd branch usb_set_report + 4 
+007a 700d5001 jam 1 ,mem_usb0_get_set_report 
+007b 20404b03 call usb_set_report_resume_judge 
+007c 68010c70 fetch 2 ,mem_usb_setup_bvalue 
+007d 60010d4e store 2 ,mem_usb_setup_bvalue_temp 
+007e 20003a98 nop 15000 
+007f 68108a20 hfetch 1 ,core_usb_ep_len 
+0080 245a0084 ncall p_usb_set_report_rxdata ,blank 
+0081 68008d43 fetch 1 ,mem_usb_tx_win_enable 
+0082 245a0087 ncall p_usb_get_output_data ,blank 
+0083 20204afd branch usb_set_report + 4 
 
 p_usb_set_report_rxdata:
-006d 1fe27200 copy pdata ,loopcnt 
-006e d8a00c76 arg mem_usb0_setup ,contw 
-006f 20204946 branch usb_rx_read 
+0084 1fe27200 copy pdata ,loopcnt 
+0085 d8a00c76 arg mem_usb0_setup ,contw 
+0086 20204946 branch usb_rx_read 
 
 p_usb_get_output_data:
-0070 68008c76 fetch 1 ,mem_usb0_setup 
-0071 6000c97a store 1 ,mem_24g_led_status 
-0072 7048ba03 jam kb_led_ackpayload ,mem_24g_ackpayload_enable 
-0073 20600000 rtn 
+0087 68008c76 fetch 1 ,mem_usb0_setup 
+
+p_usb_get_led_status:
+0088 6000c97a store 1 ,mem_24g_led_status 
+0089 700d4300 jam 0 ,mem_usb_tx_win_enable 
+008a 7048ba03 jam kb_led_ackpayload ,mem_24g_ackpayload_enable 
+008b 20600000 rtn 
 
 p_app_init:
-0074 70498700 jam 0 ,mem_dongle_bind_device_living 
-0075 70497b07 jam g24_bind_mode_delay ,mem_24g_bind_delay_count 
-0076 204074b9 call enable_authrom 
-0077 680240a0 fetch 4 ,mem_lap 
-0078 600248a1 store 4 ,mem_24g_rx_addr 
-0079 6808c23a fetcht 1 ,mem_eeprom_wp_gpio 
-007a 2040680e call gpio_config_output 
-007b 2040009b call p_dongle_init 
-007c 20400176 call p_g24_queue_init 
-007d 20400086 call p_dongle_iic_init 
-007e 20400084 call p_dongle_firmware_version_store 
-007f 6800c8bc fetch 1 ,mem_24g_pair_mode 
-0080 c00001ca beq 0x00 ,p_dongle_auto_bind 
-0081 c00080a5 beq 0x01 ,p_dongle_pc_bind 
-0082 c00780a1 beq 0x0f ,p_dongle_all_powerful 
-0083 20600000 rtn 
+008c 70498900 jam 0 ,mem_dongle_bind_device_living 
+008d 70497d07 jam g24_bind_mode_delay ,mem_24g_bind_delay_count 
+008e 204074b9 call enable_authrom 
+008f 680240a0 fetch 4 ,mem_lap 
+0090 600248a1 store 4 ,mem_24g_rx_addr 
+0091 6808c23a fetcht 1 ,mem_eeprom_wp_gpio 
+0092 2040680e call gpio_config_output 
+0093 204000b3 call p_dongle_init 
+0094 20400194 call p_g24_queue_init 
+0095 2040009e call p_dongle_iic_init 
+0096 2040009c call p_dongle_firmware_version_store 
+0097 6800c8bc fetch 1 ,mem_24g_pair_mode 
+0098 c00001ea beq 0x00 ,p_dongle_auto_bind 
+0099 c00080bd beq 0x01 ,p_dongle_pc_bind 
+009a c00780b9 beq 0x0f ,p_dongle_all_powerful 
+009b 20600000 rtn 
 
 p_dongle_firmware_version_store:
-0084 20400097 call p_dongle_set_firmware_version_eeprom 
-0085 202065d1 branch iicd_write_protect_eep_data 
+009c 204000af call p_dongle_set_firmware_version_eeprom 
+009d 202065d1 branch iicd_write_protect_eep_data 
 
 p_dongle_iic_init:
-0086 2040659c call iic_init_390k 
-0087 20400093 call p_dongle_set_kb_bind_eeprom 
-0088 204065df call iicd_read_eep_data 
+009e 2040659c call iic_init_390k 
+009f 204000ab call p_dongle_set_kb_bind_eeprom 
+00a0 204065df call iicd_read_eep_data 
 
 p_dongle_update_24g_addr:
-0089 da200aae arg mem_rega ,rega 
-008a da400001 arg dongle_update_24g_addr ,regb 
-008b d8400004 arg 4 ,temp 
-008c 204065df call iicd_read_eep_data 
-008d 68020aae fetch 4 ,mem_rega 
-008e 680a497d fetcht 4 ,mem_24g_factory_addr 
-008f 98467c00 isub temp ,null 
-0090 20628000 rtn zero 
-0091 600248a1 store 4 ,mem_24g_rx_addr 
-0092 20600000 rtn 
+00a1 da200aae arg mem_rega ,rega 
+00a2 da400001 arg dongle_update_24g_addr ,regb 
+00a3 d8400004 arg 4 ,temp 
+00a4 204065df call iicd_read_eep_data 
+00a5 68020aae fetch 4 ,mem_rega 
+00a6 680a497f fetcht 4 ,mem_24g_factory_addr 
+00a7 98467c00 isub temp ,null 
+00a8 20628000 rtn zero 
+00a9 600248a1 store 4 ,mem_24g_rx_addr 
+00aa 20600000 rtn 
 
 p_dongle_set_kb_bind_eeprom:
-0093 da2011c7 arg mem_dongle_kb_bind_flag ,rega 
-0094 da400000 arg dongle_kb_bind_eeprom_offect ,regb 
-0095 d8400001 arg 1 ,temp 
-0096 20600000 rtn 
+00ab da2011c7 arg mem_dongle_kb_bind_flag ,rega 
+00ac da400000 arg dongle_kb_bind_eeprom_offect ,regb 
+00ad d8400001 arg 1 ,temp 
+00ae 20600000 rtn 
 
 p_dongle_set_firmware_version_eeprom:
-0097 da2013d2 arg mem_firmware_version ,rega 
-0098 da400070 arg dongle_firmware_version_offect ,regb 
-0099 d8400003 arg 3 ,temp 
-009a 20600000 rtn 
+00af da2013d2 arg mem_firmware_version ,rega 
+00b0 da400070 arg dongle_firmware_version_offect ,regb 
+00b1 d8400003 arg 3 ,temp 
+00b2 20600000 rtn 
 
 p_dongle_init:
-009b 6800c1de fetch 1 ,mem_tx_power 
-009c 6000c8ef store 1 ,mem_tx_power_temp 
-009d df200080 arg 0x80 ,loopcnt 
-009e d8a00d9e arg mem_rssi_noise_buffer ,contw 
-009f 20407ec6 call memset0 
-00a0 202048ea branch usb_init 
+00b3 6800c1de fetch 1 ,mem_tx_power 
+00b4 6000c8ef store 1 ,mem_tx_power_temp 
+00b5 df200080 arg 0x80 ,loopcnt 
+00b6 d8a00d9e arg mem_rssi_noise_buffer ,contw 
+00b7 20407ec6 call memset0 
+00b8 202048ea branch usb_init 
 
 p_dongle_all_powerful:
-00a1 204000aa call p_dongle_check_mode 
+00b9 204000c2 call p_dongle_check_mode 
 
 p_dongle_all_powerful_loop:
-00a2 204000ae call p_g24_dongle_work_mode 
-00a3 20400194 call p_dongle_usb_dispatch 
-00a4 202000a2 branch p_dongle_all_powerful_loop 
+00ba 204000c6 call p_g24_dongle_work_mode 
+00bb 204001b2 call p_dongle_usb_dispatch 
+00bc 202000ba branch p_dongle_all_powerful_loop 
 
 p_dongle_pc_bind:
-00a5 204000aa call p_dongle_check_mode 
+00bd 204000c2 call p_dongle_check_mode 
 
 p_dongle_pc_bind_loop:
-00a6 204000ae call p_g24_dongle_work_mode 
-00a7 204000f9 call p_g24_dongle_bind_mode 
-00a8 20400194 call p_dongle_usb_dispatch 
-00a9 202000a6 branch p_dongle_pc_bind_loop 
+00be 204000c6 call p_g24_dongle_work_mode 
+00bf 20400117 call p_g24_dongle_bind_mode 
+00c0 204001b2 call p_dongle_usb_dispatch 
+00c1 202000be branch p_dongle_pc_bind_loop 
 
 p_dongle_check_mode:
-00aa 7048ba00 jam 0 ,mem_24g_ackpayload_enable 
+00c2 7048ba00 jam 0 ,mem_24g_ackpayload_enable 
 
 p_dongle_work_mode_enable:
-00ab 7048a600 jam dongle_work ,mem_dongle_work_mode 
-00ac 7048a500 jam clear_init ,mem_dongle_mode_init 
-00ad 20600000 rtn 
+00c3 7048a600 jam dongle_work ,mem_dongle_work_mode 
+00c4 7048a500 jam clear_init ,mem_dongle_mode_init 
+00c5 20600000 rtn 
 
 p_g24_dongle_work_mode:
-00ae 6800c8a6 fetch 1 ,mem_dongle_work_mode 
-00af c1800000 rtnne dongle_work 
+00c6 6800c8a6 fetch 1 ,mem_dongle_work_mode 
+00c7 c1800000 rtnne dongle_work 
 
 p_g24_dongle_work_mode_start:
-00b0 204000b4 call p_g24_dongle_work_init 
-00b1 204000c2 call p_g24_ch_process 
-00b2 2040031a call p_g24_receive_packet_start 
-00b3 202000e1 branch p_g24_blank_data_process 
+00c8 204000cc call p_g24_dongle_work_init 
+00c9 204000da call p_g24_ch_process 
+00ca 20400351 call p_g24_receive_packet_start 
+00cb 202000f9 branch p_g24_blank_data_process 
 
 p_g24_dongle_work_init:
-00b4 6800c8a5 fetch 1 ,mem_dongle_mode_init 
-00b5 c3800000 rtnbit1 dongle_work 
-00b6 79207e00 set1 dongle_work ,pdata 
-00b7 6000c8a5 store 1 ,mem_dongle_mode_init 
-00b8 6800c8ef fetch 1 ,mem_tx_power_temp 
-00b9 6000c1de store 1 ,mem_tx_power 
-00ba 7048ba00 jam 0 ,mem_24g_ackpayload_enable 
-00bb 700d3800 jam 0 ,mem_usb_tx_enable 
-00bc 7048b201 jam 1 ,mem_24g_abort_packet 
-00bd 70483700 jam 0 ,mem_24g_pid 
-00be 680248a1 fetch 4 ,mem_24g_rx_addr 
-00bf 2040041d call p_g24_update_addr_and_synccrc8 
-00c0 2040043d call p_g24_ch 
-00c1 20200115 branch p_g24_rx_interrupt_clear 
+00cc 6800c8a5 fetch 1 ,mem_dongle_mode_init 
+00cd c3800000 rtnbit1 dongle_work 
+00ce 79207e00 set1 dongle_work ,pdata 
+00cf 6000c8a5 store 1 ,mem_dongle_mode_init 
+00d0 6800c8ef fetch 1 ,mem_tx_power_temp 
+00d1 6000c1de store 1 ,mem_tx_power 
+00d2 7048ba00 jam 0 ,mem_24g_ackpayload_enable 
+00d3 700d3800 jam 0 ,mem_usb_tx_enable 
+00d4 7048b201 jam 1 ,mem_24g_abort_packet 
+00d5 70483700 jam 0 ,mem_24g_pid 
+00d6 680248a1 fetch 4 ,mem_24g_rx_addr 
+00d7 20400454 call p_g24_update_addr_and_synccrc8 
+00d8 20400474 call p_g24_ch 
+00d9 20200133 branch p_g24_rx_interrupt_clear 
 
 p_g24_ch_process:
-00c2 6800c8b2 fetch 1 ,mem_24g_abort_packet 
-00c3 c00080db beq 1 ,p_g24_noise_rssi 
-00c4 6800c8bb fetch 1 ,mem_24g_hop_packet 
-00c5 c00080d5 beq 1 ,p_g24_ch_receive_hop_pac 
-00c6 680a48b4 fetcht 4 ,mem_24g_hop_btclk 
-00c7 1c427e00 copy clkn_bt ,pdata 
-00c8 98467c00 isub temp ,null 
-00c9 24412d18 ncall g24_timer_timeout ,positive 
-00ca 1fe22400 copy pdata ,regb 
-00cb 680248b4 fetch 4 ,mem_24g_hop_btclk 
-00cc 6808c8b8 fetcht 1 ,mem_24g_hop_interval 
-00cd 98408400 iadd temp ,temp 
-00ce 1a427e00 copy regb ,pdata 
-00cf 98467c00 isub temp ,null 
-00d0 24610000 nrtn positive 
-00d1 793ffe1c set0 28 ,pdata 
-00d2 600248b4 store 4 ,mem_24g_hop_btclk 
-00d3 7048b201 jam 1 ,mem_24g_abort_packet 
-00d4 2020043d branch p_g24_ch 
+00da 6800c8b2 fetch 1 ,mem_24g_abort_packet 
+00db c00080f3 beq 1 ,p_g24_noise_rssi 
+00dc 6800c8bb fetch 1 ,mem_24g_hop_packet 
+00dd c00080ed beq 1 ,p_g24_ch_receive_hop_pac 
+00de 680a48b4 fetcht 4 ,mem_24g_hop_btclk 
+00df 1c427e00 copy clkn_bt ,pdata 
+00e0 98467c00 isub temp ,null 
+00e1 24412d18 ncall g24_timer_timeout ,positive 
+00e2 1fe22400 copy pdata ,regb 
+00e3 680248b4 fetch 4 ,mem_24g_hop_btclk 
+00e4 6808c8b8 fetcht 1 ,mem_24g_hop_interval 
+00e5 98408400 iadd temp ,temp 
+00e6 1a427e00 copy regb ,pdata 
+00e7 98467c00 isub temp ,null 
+00e8 24610000 nrtn positive 
+00e9 793ffe1c set0 28 ,pdata 
+00ea 600248b4 store 4 ,mem_24g_hop_btclk 
+00eb 7048b201 jam 1 ,mem_24g_abort_packet 
+00ec 20200474 branch p_g24_ch 
 
 p_g24_ch_receive_hop_pac:
-00d5 7048bb00 jam 0 ,mem_24g_hop_packet 
-00d6 2020043d branch p_g24_ch 
+00ed 7048bb00 jam 0 ,mem_24g_hop_packet 
+00ee 20200474 branch p_g24_ch 
 
 p_g24_ch_timer_reinit:
-00d7 1c427e00 copy clkn_bt ,pdata 
-00d8 600248b4 store 4 ,mem_24g_hop_btclk 
-00d9 7048b300 jam 0 ,mem_24g_rf_laststa 
-00da 20600000 rtn 
+00ef 1c427e00 copy clkn_bt ,pdata 
+00f0 600248b4 store 4 ,mem_24g_hop_btclk 
+00f1 7048b300 jam 0 ,mem_24g_rf_laststa 
+00f2 20600000 rtn 
 
 p_g24_noise_rssi:
-00db da200d9e arg mem_rssi_noise_buffer ,rega 
-00dc 20400418 call p_rssi_average 
-00dd 6008c8f1 storet 1 ,mem_rssi_noise_avg 
-00de 18467c50 sub temp ,rssi_thresh_noise ,null 
-00df 24610000 nrtn positive 
-00e0 2020043d branch p_g24_ch 
+00f3 da200d9e arg mem_rssi_noise_buffer ,rega 
+00f4 2040044f call p_rssi_average 
+00f5 6008c8f1 storet 1 ,mem_rssi_noise_avg 
+00f6 18467c50 sub temp ,rssi_thresh_noise ,null 
+00f7 24610000 nrtn positive 
+00f8 20200474 branch p_g24_ch 
 
 p_g24_blank_data_process:
-00e1 204000e4 call p_g24_ms_blank_data 
-00e2 204000eb call p_g24_kb_blank_data 
-00e3 202000f2 branch p_g24_kb_mul_blank_data 
+00f9 204000fc call p_g24_ms_blank_data 
+00fa 20400103 call p_g24_kb_blank_data 
+00fb 2020010d branch p_g24_kb_mul_blank_data 
 
 p_g24_ms_blank_data:
-00e4 6800c8d7 fetch 1 ,mem_24g_ms_blank_data_enable 
-00e5 207a0000 rtn blank 
-00e6 d8e0000b arg timer_new_ms_blank ,queue 
-00e7 20407f16 call timer_check 
-00e8 247a0000 nrtn blank 
-00e9 7048d700 jam 0 ,mem_24g_ms_blank_data_enable 
-00ea 20202fa0 branch g24_ms_blank_data_2usb 
+00fc 6800c8d7 fetch 1 ,mem_24g_ms_blank_data_enable 
+00fd 207a0000 rtn blank 
+00fe d8e0000b arg timer_new_ms_blank ,queue 
+00ff 20407f16 call timer_check 
+0100 247a0000 nrtn blank 
+0101 7048d700 jam 0 ,mem_24g_ms_blank_data_enable 
+0102 20202fa0 branch g24_ms_blank_data_2usb 
 
 p_g24_kb_blank_data:
-00eb 6800c8d5 fetch 1 ,mem_24g_kb_blank_data_enable 
-00ec 207a0000 rtn blank 
-00ed d8e0000e arg timer_new_kb_blank ,queue 
-00ee 20407f16 call timer_check 
-00ef 247a0000 nrtn blank 
-00f0 7048d500 jam 0 ,mem_24g_kb_blank_data_enable 
-00f1 20202fac branch g24_kb_blank_data_2usb 
+0103 6800c8d5 fetch 1 ,mem_24g_kb_blank_data_enable 
+0104 207a0000 rtn blank 
+0105 d8e0000e arg timer_new_kb_blank ,queue 
+0106 20407f16 call timer_check 
+0107 247a0000 nrtn blank 
+0108 7048d500 jam 0 ,mem_24g_kb_blank_data_enable 
+0109 20402fac call g24_kb_blank_data_2usb 
+010a 68040d64 fetch 8 ,mem_usb_kb_data 
+010b 600448c7 store 8 ,mem_24g_kb_data_last_data 
+010c 20600000 rtn 
 
 p_g24_kb_mul_blank_data:
-00f2 6800c8d6 fetch 1 ,mem_24g_kb_mul_blank_data_enable 
-00f3 207a0000 rtn blank 
-00f4 d8e0000c arg timer_new_kb_mul_blank ,queue 
-00f5 20407f16 call timer_check 
-00f6 247a0000 nrtn blank 
-00f7 7048d600 jam 0 ,mem_24g_kb_mul_blank_data_enable 
-00f8 20202fb8 branch g24_kb_mul_blank_data_2usb 
+010d 6800c8d6 fetch 1 ,mem_24g_kb_mul_blank_data_enable 
+010e 207a0000 rtn blank 
+010f d8e0000c arg timer_new_kb_mul_blank ,queue 
+0110 20407f16 call timer_check 
+0111 247a0000 nrtn blank 
+0112 7048d600 jam 0 ,mem_24g_kb_mul_blank_data_enable 
+0113 20402fb8 call g24_kb_mul_blank_data_2usb 
+0114 68018d74 fetch 3 ,mem_usb_kb_multikey 
+0115 6001c8d2 store 3 ,mem_24g_kb_multikey_last_data 
+0116 20600000 rtn 
 
 p_g24_dongle_bind_mode:
-00f9 6800c8a6 fetch 1 ,mem_dongle_work_mode 
-00fa c1808000 rtnne dongle_bind 
-00fb 204000fd call p_g24_dongle_bind_init 
-00fc 20200109 branch p_g24_dongle_bind_data_process 
+0117 6800c8a6 fetch 1 ,mem_dongle_work_mode 
+0118 c1808000 rtnne dongle_bind 
+0119 2040011b call p_g24_dongle_bind_init 
+011a 20200127 branch p_g24_dongle_bind_data_process 
 
 p_g24_dongle_bind_init:
-00fd 6800c8a5 fetch 1 ,mem_dongle_mode_init 
-00fe c3808000 rtnbit1 dongle_bind 
-00ff 79207e01 set1 dongle_bind ,pdata 
-0100 6000c8a5 store 1 ,mem_dongle_mode_init 
-0101 58000000 setarg 0 
-0102 6001c8a7 store 3 ,mem_dongle_ms_bind_step 
-0103 7041de04 jam tx_power_f5db ,mem_tx_power 
-0104 7048ba01 jam 1 ,mem_24g_ackpayload_enable 
-0105 70483700 jam 0 ,mem_24g_pid 
-0106 7048424e jam g24_pair_ch ,mem_24g_ch 
-0107 68024844 fetch 4 ,mem_24g_paring_addr 
-0108 2020041d branch p_g24_update_addr_and_synccrc8 
+011b 6800c8a5 fetch 1 ,mem_dongle_mode_init 
+011c c3808000 rtnbit1 dongle_bind 
+011d 79207e01 set1 dongle_bind ,pdata 
+011e 6000c8a5 store 1 ,mem_dongle_mode_init 
+011f 58000000 setarg 0 
+0120 6001c8a7 store 3 ,mem_dongle_ms_bind_step 
+0121 7041de04 jam tx_power_f5db ,mem_tx_power 
+0122 7048ba01 jam 1 ,mem_24g_ackpayload_enable 
+0123 70483700 jam 0 ,mem_24g_pid 
+0124 7048424e jam g24_pair_ch ,mem_24g_ch 
+0125 68024844 fetch 4 ,mem_24g_paring_addr 
+0126 20200454 branch p_g24_update_addr_and_synccrc8 
 
 p_g24_dongle_bind_data_process:
-0109 2040024d call p_g24_receive_transmit_ack 
-010a 24378115 nbranch p_g24_rx_interrupt_clear ,user3 
-010b 70497c05 jam g24_work_mode_delay ,mem_24g_work_delay_count 
-010c d8c047b2 arg mem_24g_rxbuf ,contr 
-010d d8a0487f arg mem_24g_rxdata_temp ,contw 
-010e df200008 arg 8 ,loopcnt 
-010f 20407f01 call memcpy 
-0110 6800c881 fetch 1 ,mem_24g_rxdata_temp + 2 
-0111 c0550133 beq datatype_bind ,p_g24_dongle_bind_first_step 
-0112 c02a8140 beq datatype_config ,p_g24_dongle_bind_second_step 
-0113 c0110150 beq datatype_ok ,p_g24_dongle_bind_third_step 
-0114 c07f816c beq 0xff ,p_g24_data_attemp_bind 
+0127 2040026f call p_g24_receive_transmit_ack 
+0128 24378133 nbranch p_g24_rx_interrupt_clear ,user3 
+0129 70497e05 jam g24_work_mode_delay ,mem_24g_work_delay_count 
+012a d8c047b2 arg mem_24g_rxbuf ,contr 
+012b d8a0487f arg mem_24g_rxdata_temp ,contw 
+012c df200008 arg 8 ,loopcnt 
+012d 20407f01 call memcpy 
+012e 6800c881 fetch 1 ,mem_24g_rxdata_temp + 2 
+012f c0550151 beq datatype_bind ,p_g24_dongle_bind_first_step 
+0130 c02a815e beq datatype_config ,p_g24_dongle_bind_second_step 
+0131 c011016e beq datatype_ok ,p_g24_dongle_bind_third_step 
+0132 c07f818a beq 0xff ,p_g24_data_attemp_bind 
 
 p_g24_rx_interrupt_clear:
-0115 d8a047b2 arg mem_24g_rxbuf ,contw 
-0116 df200042 arg 66 ,loopcnt 
-0117 20207ed4 branch clear_mem 
+0133 d8a047b2 arg mem_24g_rxbuf ,contw 
+0134 df200042 arg 66 ,loopcnt 
+0135 20207ed4 branch clear_mem 
 
 p_g24_dongle_binding_device_check:
-0118 6800c8a6 fetch 1 ,mem_dongle_work_mode 
-0119 c1808000 rtnne dongle_bind 
-011a 6800c8bc fetch 1 ,mem_24g_pair_mode 
-011b 247a0000 nrtn blank 
-011c 6800c7b5 fetch 1 ,mem_24g_rxbuf + 3 
-011d c0008120 beq bind_mouse ,p_g24_dongle_binding_mouse_status 
-011e c0010124 beq bind_keyboard ,p_g24_dongle_binding_keyboard_status 
-011f 20600000 rtn 
+0136 6800c8a6 fetch 1 ,mem_dongle_work_mode 
+0137 c1808000 rtnne dongle_bind 
+0138 6800c8bc fetch 1 ,mem_24g_pair_mode 
+0139 247a0000 nrtn blank 
+013a 6800c7b5 fetch 1 ,mem_24g_rxbuf + 3 
+013b c000813e beq bind_mouse ,p_g24_dongle_binding_mouse_status 
+013c c0010142 beq bind_keyboard ,p_g24_dongle_binding_keyboard_status 
+013d 20600000 rtn 
 
 p_g24_dongle_binding_mouse_status:
-0120 6800c987 fetch 1 ,mem_dongle_bind_device_living 
-0121 c4000000 rtnbit0 0 
+013e 6800c989 fetch 1 ,mem_dongle_bind_device_living 
+013f c4000000 rtnbit0 0 
 
 disable_user3:
-0122 7857fc00 disable user3 
-0123 20600000 rtn 
+0140 7857fc00 disable user3 
+0141 20600000 rtn 
 
 p_g24_dongle_binding_keyboard_status:
-0124 6800c987 fetch 1 ,mem_dongle_bind_device_living 
-0125 c4008000 rtnbit0 1 
-0126 20200122 branch disable_user3 
+0142 6800c989 fetch 1 ,mem_dongle_bind_device_living 
+0143 c4008000 rtnbit0 1 
+0144 20200140 branch disable_user3 
 
 p_g24_dongle_binding_mouse_living:
-0127 6800c8bc fetch 1 ,mem_24g_pair_mode 
-0128 247a0000 nrtn blank 
-0129 6800c987 fetch 1 ,mem_dongle_bind_device_living 
-012a 1fe1fe01 or_into 0x01 ,pdata 
-012b 6000c987 store 1 ,mem_dongle_bind_device_living 
-012c 20600000 rtn 
+0145 6800c8bc fetch 1 ,mem_24g_pair_mode 
+0146 247a0000 nrtn blank 
+0147 6800c989 fetch 1 ,mem_dongle_bind_device_living 
+0148 1fe1fe01 or_into 0x01 ,pdata 
+0149 6000c989 store 1 ,mem_dongle_bind_device_living 
+014a 20600000 rtn 
 
 p_g24_dongle_binding_keyboard_living:
-012d 6800c8bc fetch 1 ,mem_24g_pair_mode 
-012e 247a0000 nrtn blank 
-012f 6800c987 fetch 1 ,mem_dongle_bind_device_living 
-0130 1fe1fe02 or_into 0x02 ,pdata 
-0131 6000c987 store 1 ,mem_dongle_bind_device_living 
-0132 20600000 rtn 
+014b 6800c8bc fetch 1 ,mem_24g_pair_mode 
+014c 247a0000 nrtn blank 
+014d 6800c989 fetch 1 ,mem_dongle_bind_device_living 
+014e 1fe1fe02 or_into 0x02 ,pdata 
+014f 6000c989 store 1 ,mem_dongle_bind_device_living 
+0150 20600000 rtn 
 
 p_g24_dongle_bind_first_step:
-0133 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-0134 c0008137 beq bind_mouse ,p_g24_dongle_bind_first_step_mouse 
-0135 c001013d beq bind_keyboard ,p_g24_dongle_bind_first_step_keyboard 
-0136 20600000 rtn 
+0151 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+0152 c0008155 beq bind_mouse ,p_g24_dongle_bind_first_step_mouse 
+0153 c001015b beq bind_keyboard ,p_g24_dongle_bind_first_step_keyboard 
+0154 20600000 rtn 
 
 p_g24_dongle_bind_first_step_mouse:
-0137 7048a701 jam 1 ,mem_dongle_ms_bind_step 
+0155 7048a701 jam 1 ,mem_dongle_ms_bind_step 
 
 p_g24_dongle_bind_ms_payload_cfg:
-0138 7048aa01 jam datatype_mouse ,mem_24g_bind_payload 
+0156 7048aa01 jam datatype_mouse ,mem_24g_bind_payload 
 
 p_g24_dongle_bind_payload_cfg:
-0139 7048ab80 jam 0x80 ,mem_24g_bind_payload + 1 
-013a 680348a1 fetch 6 ,mem_24g_rx_addr 
-013b 600348ac store 6 ,mem_24g_bind_payload + 2 
-013c 20600000 rtn 
+0157 7048ab80 jam 0x80 ,mem_24g_bind_payload + 1 
+0158 680348a1 fetch 6 ,mem_24g_rx_addr 
+0159 600348ac store 6 ,mem_24g_bind_payload + 2 
+015a 20600000 rtn 
 
 p_g24_dongle_bind_first_step_keyboard:
-013d 7048a801 jam 1 ,mem_dongle_kb_bind_step 
+015b 7048a801 jam 1 ,mem_dongle_kb_bind_step 
 
 p_g24_dongle_bind_kb_payload_cfg:
-013e 7048aa02 jam datatype_keyboard ,mem_24g_bind_payload 
-013f 20200139 branch p_g24_dongle_bind_payload_cfg 
+015c 7048aa02 jam datatype_keyboard ,mem_24g_bind_payload 
+015d 20200157 branch p_g24_dongle_bind_payload_cfg 
 
 p_g24_dongle_bind_second_step:
-0140 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-0141 c0008144 beq bind_mouse ,p_g24_dongle_bind_second_step_mouse 
-0142 c001014a beq bind_keyboard ,p_g24_dongle_bind_second_step_keyboard 
-0143 20600000 rtn 
+015e 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+015f c0008162 beq bind_mouse ,p_g24_dongle_bind_second_step_mouse 
+0160 c0010168 beq bind_keyboard ,p_g24_dongle_bind_second_step_keyboard 
+0161 20600000 rtn 
 
 p_g24_dongle_bind_second_step_mouse:
-0144 20400138 call p_g24_dongle_bind_ms_payload_cfg 
-0145 6800c8a7 fetch 1 ,mem_dongle_ms_bind_step 
-0146 c0008148 beq 1 ,p_g24_dongle_ms_bind_step_set2 
-0147 20600000 rtn 
+0162 20400156 call p_g24_dongle_bind_ms_payload_cfg 
+0163 6800c8a7 fetch 1 ,mem_dongle_ms_bind_step 
+0164 c0008166 beq 1 ,p_g24_dongle_ms_bind_step_set2 
+0165 20600000 rtn 
 
 p_g24_dongle_ms_bind_step_set2:
-0148 7048a702 jam 2 ,mem_dongle_ms_bind_step 
-0149 20600000 rtn 
+0166 7048a702 jam 2 ,mem_dongle_ms_bind_step 
+0167 20600000 rtn 
 
 p_g24_dongle_bind_second_step_keyboard:
-014a 2040013e call p_g24_dongle_bind_kb_payload_cfg 
-014b 6800c8a8 fetch 1 ,mem_dongle_kb_bind_step 
-014c c000814e beq 1 ,p_g24_dongle_kb_bind_step_set2 
-014d 20600000 rtn 
+0168 2040015c call p_g24_dongle_bind_kb_payload_cfg 
+0169 6800c8a8 fetch 1 ,mem_dongle_kb_bind_step 
+016a c000816c beq 1 ,p_g24_dongle_kb_bind_step_set2 
+016b 20600000 rtn 
 
 p_g24_dongle_kb_bind_step_set2:
-014e 7048a802 jam 2 ,mem_dongle_kb_bind_step 
-014f 20600000 rtn 
+016c 7048a802 jam 2 ,mem_dongle_kb_bind_step 
+016d 20600000 rtn 
 
 p_g24_dongle_bind_third_step:
-0150 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-0151 c0008154 beq bind_mouse ,p_g24_dongle_bind_third_step_mouse 
-0152 c001015e beq bind_keyboard ,p_g24_dongle_bind_third_step_keyboard 
-0153 20600000 rtn 
+016e 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+016f c0008172 beq bind_mouse ,p_g24_dongle_bind_third_step_mouse 
+0170 c001017c beq bind_keyboard ,p_g24_dongle_bind_third_step_keyboard 
+0171 20600000 rtn 
 
 p_g24_dongle_bind_third_step_mouse:
-0154 6800c8a7 fetch 1 ,mem_dongle_ms_bind_step 
-0155 c0010157 beq 2 ,p_g24_dongle_ms_bind_step_success 
-0156 20600000 rtn 
+0172 6800c8a7 fetch 1 ,mem_dongle_ms_bind_step 
+0173 c0010175 beq 2 ,p_g24_dongle_ms_bind_step_success 
+0174 20600000 rtn 
 
 p_g24_dongle_ms_bind_step_success:
-0157 20400127 call p_g24_dongle_binding_mouse_living 
-0158 6800c8a9 fetch 1 ,mem_dongle_bind_device_status 
-0159 1fe1fe01 or_into 0x01 ,pdata 
-015a 6000c8a9 store 1 ,mem_dongle_bind_device_status 
+0175 20400145 call p_g24_dongle_binding_mouse_living 
+0176 6800c8a9 fetch 1 ,mem_dongle_bind_device_status 
+0177 1fe1fe01 or_into 0x01 ,pdata 
+0178 6000c8a9 store 1 ,mem_dongle_bind_device_status 
 
 p_g24_dongle_bind_exit:
-015b 58000000 setarg 0 
-015c 600148a7 store 2 ,mem_dongle_ms_bind_step 
-015d 20200115 branch p_g24_rx_interrupt_clear 
+0179 58000000 setarg 0 
+017a 600148a7 store 2 ,mem_dongle_ms_bind_step 
+017b 20200133 branch p_g24_rx_interrupt_clear 
 
 p_g24_dongle_bind_third_step_keyboard:
-015e 6800c8a8 fetch 1 ,mem_dongle_kb_bind_step 
-015f c0800161 bne 0 ,p_g24_dongle_kb_bind_step_success 
-0160 20600000 rtn 
+017c 6800c8a8 fetch 1 ,mem_dongle_kb_bind_step 
+017d c080017f bne 0 ,p_g24_dongle_kb_bind_step_success 
+017e 20600000 rtn 
 
 p_g24_dongle_kb_bind_step_success:
-0161 2040012d call p_g24_dongle_binding_keyboard_living 
-0162 6800c8a9 fetch 1 ,mem_dongle_bind_device_status 
-0163 1fe1fe02 or_into 0x02 ,pdata 
-0164 6000c8a9 store 1 ,mem_dongle_bind_device_status 
-0165 2040015b call p_g24_dongle_bind_exit 
+017f 2040014b call p_g24_dongle_binding_keyboard_living 
+0180 6800c8a9 fetch 1 ,mem_dongle_bind_device_status 
+0181 1fe1fe02 or_into 0x02 ,pdata 
+0182 6000c8a9 store 1 ,mem_dongle_bind_device_status 
+0183 20400179 call p_g24_dongle_bind_exit 
 
 p_g24_dongle_store_kb_bind_flag:
-0166 680091c7 fetch 1 ,mem_dongle_kb_bind_flag 
-0167 c12d0000 rtneq dongle_kb_bind_success 
-0168 7011c75a jam dongle_kb_bind_success ,mem_dongle_kb_bind_flag 
-0169 20400093 call p_dongle_set_kb_bind_eeprom 
-016a 204065d1 call iicd_write_protect_eep_data 
-016b 2020659a branch soft_reset_chip 
+0184 680091c7 fetch 1 ,mem_dongle_kb_bind_flag 
+0185 c12d0000 rtneq dongle_kb_bind_success 
+0186 7011c75a jam dongle_kb_bind_success ,mem_dongle_kb_bind_flag 
+0187 204000ab call p_dongle_set_kb_bind_eeprom 
+0188 204065d1 call iicd_write_protect_eep_data 
+0189 2020659a branch soft_reset_chip 
 
 p_g24_data_attemp_bind:
-016c 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-016d c0008170 beq datatype_mouse ,p_g24_data_attemp_mouse_bind 
-016e c0010173 beq datatype_keyboard ,p_g24_data_attemp_kbd_bind 
-016f 20600000 rtn 
+018a 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+018b c000818e beq datatype_mouse ,p_g24_data_attemp_mouse_bind 
+018c c0010191 beq datatype_keyboard ,p_g24_data_attemp_kbd_bind 
+018d 20600000 rtn 
 
 p_g24_data_attemp_mouse_bind:
-0170 68024883 fetch 4 ,mem_24g_rxdata_temp + 4 
+018e 68024883 fetch 4 ,mem_24g_rxdata_temp + 4 
 
 p_g24_store_mouse_addr:
-0171 600248dc store 4 ,mem_24g_ms_addr 
-0172 20600000 rtn 
+018f 600248dc store 4 ,mem_24g_ms_addr 
+0190 20600000 rtn 
 
 p_g24_data_attemp_kbd_bind:
-0173 68024883 fetch 4 ,mem_24g_rxdata_temp + 4 
+0191 68024883 fetch 4 ,mem_24g_rxdata_temp + 4 
 
 p_g24_store_kbd_addr:
-0174 600248d8 store 4 ,mem_24g_kb_addr 
-0175 20600000 rtn 
+0192 600248d8 store 4 ,mem_24g_kb_addr 
+0193 20600000 rtn 
 
 p_g24_queue_init:
-0176 70490200 jam 0 ,mem_queue_ele_num 
-0177 58004907 setarg mem_queue_start 
-0178 60014903 store 2 ,mem_queue_read 
-0179 60014905 store 2 ,mem_queue_write 
-017a 20600000 rtn 
+0194 70490200 jam 0 ,mem_queue_ele_num 
+0195 58004907 setarg mem_queue_start 
+0196 60014903 store 2 ,mem_queue_read 
+0197 60014905 store 2 ,mem_queue_write 
+0198 20600000 rtn 
 
 p_g24_queue_put:
-017b df20001f arg 0x1f ,loopcnt 
-017c d8400cb6 arg mem_usb0_set_report_data ,temp 
-017d 68014905 fetch 2 ,mem_queue_write 
-017e 1fe20a00 copy pdata ,contw 
-017f 18420c00 copy temp ,contr 
-0180 20407f01 call memcpy 
-0181 6800c902 fetch 1 ,mem_queue_ele_num 
-0182 1fe0fe01 increase 1 ,pdata 
-0183 6000c902 store 1 ,mem_queue_ele_num 
-0184 58004905 setarg mem_queue_write 
+0199 df20001f arg 0x1f ,loopcnt 
+019a d8400cb6 arg mem_usb0_set_report_data ,temp 
+019b 68014905 fetch 2 ,mem_queue_write 
+019c 1fe20a00 copy pdata ,contw 
+019d 18420c00 copy temp ,contr 
+019e 20407f01 call memcpy 
+019f 6800c902 fetch 1 ,mem_queue_ele_num 
+01a0 1fe0fe01 increase 1 ,pdata 
+01a1 6000c902 store 1 ,mem_queue_ele_num 
+01a2 58004905 setarg mem_queue_write 
 
 p_g24_queue_increase:
-0185 1fe22200 copy pdata ,rega 
-0186 d8404967 arg mem_queue_end ,temp 
-0187 ea210000 ifetch 2 ,rega 
-0188 1fe0fe20 increase queue_ele_length ,pdata 
-0189 98467c00 isub temp ,null 
-018a 2421018c nbranch p_g24_queue_put_end ,positive 
-018b 58004907 setarg mem_queue_start 
+01a3 1fe22200 copy pdata ,rega 
+01a4 d8404967 arg mem_queue_end ,temp 
+01a5 ea210000 ifetch 2 ,rega 
+01a6 1fe0fe20 increase queue_ele_length ,pdata 
+01a7 98467c00 isub temp ,null 
+01a8 242101aa nbranch p_g24_queue_put_end ,positive 
+01a9 58004907 setarg mem_queue_start 
 
 p_g24_queue_put_end:
-018c e2210000 istore 2 ,rega 
-018d 20600000 rtn 
+01aa e2210000 istore 2 ,rega 
+01ab 20600000 rtn 
 
 p_g24_queue_read_point:
-018e 78547c00 disable user 
-018f 6800c902 fetch 1 ,mem_queue_ele_num 
-0190 207a0000 rtn blank 
-0191 78347c00 enable user 
-0192 68014903 fetch 2 ,mem_queue_read 
-0193 20600000 rtn 
+01ac 78547c00 disable user 
+01ad 6800c902 fetch 1 ,mem_queue_ele_num 
+01ae 207a0000 rtn blank 
+01af 78347c00 enable user 
+01b0 68014903 fetch 2 ,mem_queue_read 
+01b1 20600000 rtn 
 
 p_dongle_usb_dispatch:
-0194 708004ff jam 0xff ,core_write_watchdog 
-0195 204048d3 call usb_isr 
-0196 68008d50 fetch 1 ,mem_usb0_get_set_report 
-0197 207a0000 rtn blank 
-0198 700d5000 jam 0 ,mem_usb0_get_set_report 
-0199 68010d4e fetch 2 ,mem_usb_setup_bvalue_temp 
-019a d84002ba arg pc_set_report ,temp 
-019b 98467c00 isub temp ,null 
-019c 24628000 nrtn zero 
-019d 68008cb6 fetch 1 ,mem_usb0_set_report_data 
-019e c1dd0000 rtnne pc_report_id 
-019f 68008cb7 fetch 1 ,mem_usb0_set_report_data + 1 
-01a0 c05001b1 beq command_mode ,p_dongle_dispose_cmd_mode 
-01a1 c05081a7 beq command_bind ,p_dongle_dispose_cmd_bind 
-01a2 c0533041 beq command_current_project ,dongle_dispose_cmd_current_project 
-01a3 c05381b6 beq command_current_mode ,p_dongle_dispose_cmd_current_mode 
-01a4 c05481bc beq command_current_fw_version ,p_dongle_dispose_cmd_current_fw_version 
-01a5 c05801be beq command_user_defined ,p_dongle_dispose_cmd_user_defined 
-01a6 2020302a branch usb0_data_ready_report_set0 
+01b2 708004ff jam 0xff ,core_write_watchdog 
+01b3 68008d39 fetch 1 ,mem_usb_remote_wakeup 
+01b4 205a0321 call p_g24_clear_pc_sleep_flag ,blank 
+01b5 204048d3 call usb_isr 
+01b6 68008d50 fetch 1 ,mem_usb0_get_set_report 
+01b7 207a0000 rtn blank 
+01b8 700d5000 jam 0 ,mem_usb0_get_set_report 
+01b9 68010d4e fetch 2 ,mem_usb_setup_bvalue_temp 
+01ba d84002ba arg pc_set_report ,temp 
+01bb 98467c00 isub temp ,null 
+01bc 24628000 nrtn zero 
+01bd 68008cb6 fetch 1 ,mem_usb0_set_report_data 
+01be c1dd0000 rtnne pc_report_id 
+01bf 68008cb7 fetch 1 ,mem_usb0_set_report_data + 1 
+01c0 c05001d1 beq command_mode ,p_dongle_dispose_cmd_mode 
+01c1 c05081c7 beq command_bind ,p_dongle_dispose_cmd_bind 
+01c2 c0533041 beq command_current_project ,dongle_dispose_cmd_current_project 
+01c3 c05381d6 beq command_current_mode ,p_dongle_dispose_cmd_current_mode 
+01c4 c05481dc beq command_current_fw_version ,p_dongle_dispose_cmd_current_fw_version 
+01c5 c05801de beq command_user_defined ,p_dongle_dispose_cmd_user_defined 
+01c6 2020302a branch usb0_data_ready_report_set0 
 
 p_dongle_dispose_cmd_bind:
-01a7 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
-01a8 c00081ac beq com_bind_get ,p_dongle_dispose_cmd_get_bind 
-01a9 c04201af beq com_bind_exit ,p_dongle_dispose_cmd_exit_bind 
-01aa c053b039 beq com_read_mode ,dongle_dispose_cmd_read_mode 
-01ab 2020302a branch usb0_data_ready_report_set0 
+01c7 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+01c8 c00081cc beq com_bind_get ,p_dongle_dispose_cmd_get_bind 
+01c9 c04201cf beq com_bind_exit ,p_dongle_dispose_cmd_exit_bind 
+01ca c053b039 beq com_read_mode ,dongle_dispose_cmd_read_mode 
+01cb 2020302a branch usb0_data_ready_report_set0 
 
 p_dongle_dispose_cmd_get_bind:
-01ac 6800c8a9 fetch 1 ,mem_dongle_bind_device_status 
-01ad 60008cf7 store 1 ,mem_usb0_get_report_data + 1 
-01ae 2020303f branch usb0_data_ready_report_set1 
+01cc 6800c8a9 fetch 1 ,mem_dongle_bind_device_status 
+01cd 60008cf7 store 1 ,mem_usb0_get_report_data + 1 
+01ce 2020303f branch usb0_data_ready_report_set1 
 
 p_dongle_dispose_cmd_exit_bind:
-01af 204000ab call p_dongle_work_mode_enable 
-01b0 202001ac branch p_dongle_dispose_cmd_get_bind 
+01cf 204000c3 call p_dongle_work_mode_enable 
+01d0 202001cc branch p_dongle_dispose_cmd_get_bind 
 
 p_dongle_dispose_cmd_mode:
-01b1 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
-01b2 c04081b4 beq com_mode_bind ,p_dongle_enter_bind_mode 
-01b3 2020302a branch usb0_data_ready_report_set0 
+01d1 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+01d2 c04081d4 beq com_mode_bind ,p_dongle_enter_bind_mode 
+01d3 2020302a branch usb0_data_ready_report_set0 
 
 p_dongle_enter_bind_mode:
-01b4 20400211 call p_g24_bind_mode_enable 
-01b5 2020303f branch usb0_data_ready_report_set1 
+01d4 20400231 call p_g24_bind_mode_enable 
+01d5 2020303f branch usb0_data_ready_report_set1 
 
 p_dongle_dispose_cmd_current_mode:
-01b6 6800c8a6 fetch 1 ,mem_dongle_work_mode 
-01b7 c00001ba beq dongle_work ,p_dongle_dispose_in_work_mode 
-01b8 c000b039 beq dongle_bind ,dongle_dispose_in_bind_mode 
-01b9 20600000 rtn 
+01d6 6800c8a6 fetch 1 ,mem_dongle_work_mode 
+01d7 c00001da beq dongle_work ,p_dongle_dispose_in_work_mode 
+01d8 c000b039 beq dongle_bind ,dongle_dispose_in_bind_mode 
+01d9 20600000 rtn 
 
 p_dongle_dispose_in_work_mode:
-01ba 700cf7a0 jam command_mode ,mem_usb0_get_report_data + 1 
-01bb 2020303f branch usb0_data_ready_report_set1 
+01da 700cf7a0 jam command_mode ,mem_usb0_get_report_data + 1 
+01db 2020303f branch usb0_data_ready_report_set1 
 
 p_dongle_dispose_cmd_current_fw_version:
-01bc 700cfa07 jam fw_version3 ,mem_usb0_get_report_data + 4 
-01bd 20203049 branch dongle_dispose_cmd_current_fw_version 
+01dc 700cfa07 jam fw_version3 ,mem_usb0_get_report_data + 4 
+01dd 20203049 branch dongle_dispose_cmd_current_fw_version 
 
 p_dongle_dispose_cmd_user_defined:
-01be 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
-01bf c07fe59a beq 0xff ,soft_reset_chip 
+01de 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+01df c07fe59a beq 0xff ,soft_reset_chip 
 
 p_dongle_dispose_cmd_ota:
-01c0 7048ba02 jam 2 ,mem_24g_ackpayload_enable 
-01c1 6800c902 fetch 1 ,mem_queue_ele_num 
-01c2 c00181c8 beq queue_ele_count ,p_user_defined_queue_buff_full 
-01c3 2040017b call p_g24_queue_put 
-01c4 6800c902 fetch 1 ,mem_queue_ele_num 
-01c5 c00181c8 beq queue_ele_count ,p_user_defined_queue_buff_full 
+01e0 7048ba02 jam 2 ,mem_24g_ackpayload_enable 
+01e1 6800c902 fetch 1 ,mem_queue_ele_num 
+01e2 c00181e8 beq queue_ele_count ,p_user_defined_queue_buff_full 
+01e3 20400199 call p_g24_queue_put 
+01e4 6800c902 fetch 1 ,mem_queue_ele_num 
+01e5 c00181e8 beq queue_ele_count ,p_user_defined_queue_buff_full 
 
 p_user_defined_queue_buff_free:
-01c6 700cf700 jam 0 ,mem_usb0_get_report_data + 1 
-01c7 2020303f branch usb0_data_ready_report_set1 
+01e6 700cf700 jam 0 ,mem_usb0_get_report_data + 1 
+01e7 2020303f branch usb0_data_ready_report_set1 
 
 p_user_defined_queue_buff_full:
-01c8 700cf701 jam 1 ,mem_usb0_get_report_data + 1 
-01c9 2020303f branch usb0_data_ready_report_set1 
+01e8 700cf701 jam 1 ,mem_usb0_get_report_data + 1 
+01e9 2020303f branch usb0_data_ready_report_set1 
 
 p_dongle_auto_bind:
-01ca 204001ef call p_g24_mode_switch_init 
+01ea 2040020f call p_g24_mode_switch_init 
 
 p_dongle_auto_bind_loop:
-01cb 204001f5 call p_g24_mode_switch 
-01cc 20400220 call p_g24_mode_switch_2 
-01cd 204001d2 call p_g24_dongle_work_mode_auto 
-01ce 204001d6 call p_g24_dongle_bind_mode_auto 
-01cf 20400251 call p_g24_dongle_search_mode_auto 
-01d0 20400194 call p_dongle_usb_dispatch 
-01d1 202001cb branch p_dongle_auto_bind_loop 
+01eb 20400215 call p_g24_mode_switch 
+01ec 20400240 call p_g24_mode_switch_2 
+01ed 204001f2 call p_g24_dongle_work_mode_auto 
+01ee 204001f6 call p_g24_dongle_bind_mode_auto 
+01ef 20400273 call p_g24_dongle_search_mode_auto 
+01f0 204001b2 call p_dongle_usb_dispatch 
+01f1 202001eb branch p_dongle_auto_bind_loop 
 
 p_g24_dongle_work_mode_auto:
-01d2 6800c8a6 fetch 1 ,mem_dongle_work_mode 
-01d3 c1800000 rtnne dongle_work 
-01d4 204000b0 call p_g24_dongle_work_mode_start 
-01d5 2020023f branch p_g24_rx_nodata_process 
+01f2 6800c8a6 fetch 1 ,mem_dongle_work_mode 
+01f3 c1800000 rtnne dongle_work 
+01f4 204000c8 call p_g24_dongle_work_mode_start 
+01f5 20200261 branch p_g24_rx_nodata_process 
 
 p_g24_dongle_bind_mode_auto:
-01d6 6800c8a6 fetch 1 ,mem_dongle_work_mode 
-01d7 c1808000 rtnne dongle_bind 
-01d8 204000fd call p_g24_dongle_bind_init 
-01d9 20400109 call p_g24_dongle_bind_data_process 
-01da 6800c8a9 fetch 1 ,mem_dongle_bind_device_status 
-01db 207a0000 rtn blank 
-01dc 7048b900 jam 0 ,mem_24g_mode_switch 
-01dd 204000aa call p_dongle_check_mode 
-01de 2040023d call p_g24_enable_nodata_timer 
-01df 202001f2 branch p_g24_timer_init 
+01f6 6800c8a6 fetch 1 ,mem_dongle_work_mode 
+01f7 c1808000 rtnne dongle_bind 
+01f8 2040011b call p_g24_dongle_bind_init 
+01f9 20400127 call p_g24_dongle_bind_data_process 
+01fa 6800c8a9 fetch 1 ,mem_dongle_bind_device_status 
+01fb 207a0000 rtn blank 
+01fc 7048b900 jam 0 ,mem_24g_mode_switch 
+01fd 204000c2 call p_dongle_check_mode 
+01fe 2040025f call p_g24_enable_nodata_timer 
+01ff 20200212 branch p_g24_timer_init 
 
 p_g24_timer_check:
-01e0 20407fe9 call disable_user 
-01e1 680a4859 fetcht 4 ,mem_24g_tx_btclk 
-01e2 1c427e00 copy clkn_bt ,pdata 
-01e3 98467c00 isub temp ,null 
-01e4 24412d18 ncall g24_timer_timeout ,positive 
-01e5 1fe22400 copy pdata ,regb 
-01e6 68024859 fetch 4 ,mem_24g_tx_btclk 
-01e7 6808c85d fetcht 1 ,mem_24g_interval 
-01e8 98408400 iadd temp ,temp 
-01e9 1a427e00 copy regb ,pdata 
-01ea 98467c00 isub temp ,null 
-01eb 24610000 nrtn positive 
-01ec 793ffe1c set0 28 ,pdata 
-01ed 60024859 store 4 ,mem_24g_tx_btclk 
-01ee 20207fe7 branch enable_user 
+0200 20407fe9 call disable_user 
+0201 680a4859 fetcht 4 ,mem_24g_tx_btclk 
+0202 1c427e00 copy clkn_bt ,pdata 
+0203 98467c00 isub temp ,null 
+0204 24412d18 ncall g24_timer_timeout ,positive 
+0205 1fe22400 copy pdata ,regb 
+0206 68024859 fetch 4 ,mem_24g_tx_btclk 
+0207 6808c85d fetcht 1 ,mem_24g_interval 
+0208 98408400 iadd temp ,temp 
+0209 1a427e00 copy regb ,pdata 
+020a 98467c00 isub temp ,null 
+020b 24610000 nrtn positive 
+020c 793ffe1c set0 28 ,pdata 
+020d 60024859 store 4 ,mem_24g_tx_btclk 
+020e 20207fe7 branch enable_user 
 
 p_g24_mode_switch_init:
-01ef 7048b901 jam 1 ,mem_24g_mode_switch 
-01f0 7048be00 jam 0 ,mem_24g_time_slice 
-01f1 70485dff jam 0xff ,mem_24g_interval 
+020f 7048b901 jam 1 ,mem_24g_mode_switch 
+0210 7048be00 jam 0 ,mem_24g_time_slice 
+0211 70485dff jam 0xff ,mem_24g_interval 
 
 p_g24_timer_init:
-01f2 58000000 setarg 0 
-01f3 60024859 store 4 ,mem_24g_tx_btclk 
-01f4 20600000 rtn 
+0212 58000000 setarg 0 
+0213 60024859 store 4 ,mem_24g_tx_btclk 
+0214 20600000 rtn 
 
 p_g24_mode_switch:
-01f5 6800c8b9 fetch 1 ,mem_24g_mode_switch 
-01f6 207a0000 rtn blank 
-01f7 204001e0 call p_g24_timer_check 
-01f8 24740000 nrtn user 
-01f9 2040020a call p_g24_bind_mode_delay 
-01fa 20400202 call p_g24_work_mode_delay 
-01fb 6800c8be fetch 1 ,mem_24g_time_slice 
-01fc 1fe0fe01 increase 1 ,pdata 
-01fd 1fe17e01 and_into 1 ,pdata 
-01fe 6000c8be store 1 ,mem_24g_time_slice 
-01ff c0000207 beq 0 ,p_g24_mode_switch_work 
-0200 c000820f beq 1 ,p_g24_mode_switch_bind 
-0201 20600000 rtn 
+0215 6800c8b9 fetch 1 ,mem_24g_mode_switch 
+0216 207a0000 rtn blank 
+0217 20400200 call p_g24_timer_check 
+0218 24740000 nrtn user 
+0219 2040022a call p_g24_bind_mode_delay 
+021a 20400222 call p_g24_work_mode_delay 
+021b 6800c8be fetch 1 ,mem_24g_time_slice 
+021c 1fe0fe01 increase 1 ,pdata 
+021d 1fe17e01 and_into 1 ,pdata 
+021e 6000c8be store 1 ,mem_24g_time_slice 
+021f c0000227 beq 0 ,p_g24_mode_switch_work 
+0220 c000822f beq 1 ,p_g24_mode_switch_bind 
+0221 20600000 rtn 
 
 p_g24_work_mode_delay:
-0202 6800c97c fetch 1 ,mem_24g_work_delay_count 
-0203 207a0000 rtn blank 
-0204 1fe0ffff increase -1 ,pdata 
-0205 6000c97c store 1 ,mem_24g_work_delay_count 
-0206 20600000 rtn 
+0222 6800c97e fetch 1 ,mem_24g_work_delay_count 
+0223 207a0000 rtn blank 
+0224 1fe0ffff increase -1 ,pdata 
+0225 6000c97e store 1 ,mem_24g_work_delay_count 
+0226 20600000 rtn 
 
 p_g24_mode_switch_work:
-0207 6800c97c fetch 1 ,mem_24g_work_delay_count 
-0208 243a0211 nbranch p_g24_bind_mode_enable ,blank 
-0209 202000aa branch p_dongle_check_mode 
+0227 6800c97e fetch 1 ,mem_24g_work_delay_count 
+0228 243a0231 nbranch p_g24_bind_mode_enable ,blank 
+0229 202000c2 branch p_dongle_check_mode 
 
 p_g24_bind_mode_delay:
-020a 6800c97b fetch 1 ,mem_24g_bind_delay_count 
-020b 207a0000 rtn blank 
-020c 1fe0ffff increase -1 ,pdata 
-020d 6000c97b store 1 ,mem_24g_bind_delay_count 
-020e 20600000 rtn 
+022a 6800c97d fetch 1 ,mem_24g_bind_delay_count 
+022b 207a0000 rtn blank 
+022c 1fe0ffff increase -1 ,pdata 
+022d 6000c97d store 1 ,mem_24g_bind_delay_count 
+022e 20600000 rtn 
 
 p_g24_mode_switch_bind:
-020f 6800c97b fetch 1 ,mem_24g_bind_delay_count 
-0210 243a00aa nbranch p_dongle_check_mode ,blank 
+022f 6800c97d fetch 1 ,mem_24g_bind_delay_count 
+0230 243a00c2 nbranch p_dongle_check_mode ,blank 
 
 p_g24_bind_mode_enable:
-0211 7048a601 jam dongle_bind ,mem_dongle_work_mode 
-0212 7048a500 jam clear_init ,mem_dongle_mode_init 
-0213 20600000 rtn 
+0231 7048a601 jam dongle_bind ,mem_dongle_work_mode 
+0232 7048a500 jam clear_init ,mem_dongle_mode_init 
+0233 20600000 rtn 
 
 p_g24_mode_switch_init_2:
-0214 6800c985 fetch 1 ,mem_24g_mode_switch_exit_2 
-0215 205a023b call p_g24_mode_switch_start_2 ,blank 
-0216 6800c982 fetch 1 ,mem_24g_mode_switch_2_init 
-0217 c3800000 rtnbit1 0 
-0218 79207e00 set1 0 ,pdata 
-0219 6000c982 store 1 ,mem_24g_mode_switch_2_init 
-021a 70498101 jam 1 ,mem_24g_mode_switch_2 
-021b 70498600 jam 0 ,mem_24g_time_slice_2 
-021c 58000000 setarg 0 
-021d 60014983 store 2 ,mem_24g_mode_switch_cnt_2 
-021e 70485d60 jam 0x60 ,mem_24g_interval 
-021f 202001f2 branch p_g24_timer_init 
+0234 6800c987 fetch 1 ,mem_24g_mode_switch_exit_2 
+0235 205a025d call p_g24_mode_switch_start_2 ,blank 
+0236 6800c984 fetch 1 ,mem_24g_mode_switch_2_init 
+0237 c3800000 rtnbit1 0 
+0238 79207e00 set1 0 ,pdata 
+0239 6000c984 store 1 ,mem_24g_mode_switch_2_init 
+023a 70498301 jam 1 ,mem_24g_mode_switch_2 
+023b 70498800 jam 0 ,mem_24g_time_slice_2 
+023c 58000000 setarg 0 
+023d 60014985 store 2 ,mem_24g_mode_switch_cnt_2 
+023e 70485d60 jam 0x60 ,mem_24g_interval 
+023f 20200212 branch p_g24_timer_init 
 
 p_g24_mode_switch_2:
-0220 6800c985 fetch 1 ,mem_24g_mode_switch_exit_2 
-0221 247a0000 nrtn blank 
-0222 6800c981 fetch 1 ,mem_24g_mode_switch_2 
-0223 207a0000 rtn blank 
-0224 204001e0 call p_g24_timer_check 
-0225 24740000 nrtn user 
-0226 68014983 fetch 2 ,mem_24g_mode_switch_cnt_2 
-0227 1fe0fe01 increase 1 ,pdata 
-0228 60014983 store 2 ,mem_24g_mode_switch_cnt_2 
-0229 d84007d0 arg 0x7d0 ,temp 
-022a 98467c00 isub temp ,null 
-022b 20210237 branch p_g24_mode_switch_exit_2 ,positive 
-022c 20400202 call p_g24_work_mode_delay 
-022d 6800c986 fetch 1 ,mem_24g_time_slice_2 
-022e 1fe0fe01 increase 1 ,pdata 
-022f 1fe17e01 and_into 1 ,pdata 
-0230 6000c986 store 1 ,mem_24g_time_slice_2 
-0231 c0000234 beq 0 ,p_g24_mode_switch_search 
-0232 c0008211 beq 1 ,p_g24_bind_mode_enable 
-0233 20600000 rtn 
+0240 6800c8a6 fetch 1 ,mem_dongle_work_mode 
+0241 c1000000 rtneq dongle_work 
+0242 6800c987 fetch 1 ,mem_24g_mode_switch_exit_2 
+0243 247a0000 nrtn blank 
+0244 6800c983 fetch 1 ,mem_24g_mode_switch_2 
+0245 207a0000 rtn blank 
+0246 20400200 call p_g24_timer_check 
+0247 24740000 nrtn user 
+0248 68014985 fetch 2 ,mem_24g_mode_switch_cnt_2 
+0249 1fe0fe01 increase 1 ,pdata 
+024a 60014985 store 2 ,mem_24g_mode_switch_cnt_2 
+024b d84007d0 arg 0x7d0 ,temp 
+024c 98467c00 isub temp ,null 
+024d 20210259 branch p_g24_mode_switch_exit_2 ,positive 
+024e 20400222 call p_g24_work_mode_delay 
+024f 6800c988 fetch 1 ,mem_24g_time_slice_2 
+0250 1fe0fe01 increase 1 ,pdata 
+0251 1fe17e01 and_into 1 ,pdata 
+0252 6000c988 store 1 ,mem_24g_time_slice_2 
+0253 c0000256 beq 0 ,p_g24_mode_switch_search 
+0254 c0008231 beq 1 ,p_g24_bind_mode_enable 
+0255 20600000 rtn 
 
 p_g24_mode_switch_search:
-0234 6800c97c fetch 1 ,mem_24g_work_delay_count 
-0235 243a0211 nbranch p_g24_bind_mode_enable ,blank 
-0236 2020024a branch p_g24_search_mode_enable 
+0256 6800c97e fetch 1 ,mem_24g_work_delay_count 
+0257 243a0231 nbranch p_g24_bind_mode_enable ,blank 
+0258 2020026c branch p_g24_search_mode_enable 
 
 p_g24_mode_switch_exit_2:
-0237 70498501 jam 1 ,mem_24g_mode_switch_exit_2 
-0238 2020024a branch p_g24_search_mode_enable 
+0259 70498701 jam 1 ,mem_24g_mode_switch_exit_2 
+025a 2020026c branch p_g24_search_mode_enable 
 
 p_g24_mode_switch_stop_2:
-0239 70498100 jam 0 ,mem_24g_mode_switch_2 
-023a 20600000 rtn 
+025b 70498300 jam 0 ,mem_24g_mode_switch_2 
+025c 20600000 rtn 
 
 p_g24_mode_switch_start_2:
-023b 70498101 jam 1 ,mem_24g_mode_switch_2 
-023c 20600000 rtn 
+025d 70498301 jam 1 ,mem_24g_mode_switch_2 
+025e 20600000 rtn 
 
 p_g24_enable_nodata_timer:
-023d 7048bd01 jam 1 ,mem_24g_nodata_timer_enable 
-023e 20203095 branch g24_enable_nodata_timer_init 
+025f 7048bd01 jam 1 ,mem_24g_nodata_timer_enable 
+0260 20203095 branch g24_enable_nodata_timer_init 
 
 p_g24_rx_nodata_process:
-023f 6800c8ba fetch 1 ,mem_24g_ackpayload_enable 
-0240 c1010000 rtneq 2 
-0241 6800c8bd fetch 1 ,mem_24g_nodata_timer_enable 
-0242 207a0000 rtn blank 
-0243 d8e00008 arg timer_nodata ,queue 
-0244 20407f16 call timer_check 
-0245 247a0000 nrtn blank 
-0246 7048bd00 jam 0 ,mem_24g_nodata_timer_enable 
-0247 70497b00 jam 0 ,mem_24g_bind_delay_count 
-0248 70497c00 jam 0 ,mem_24g_work_delay_count 
-0249 20400214 call p_g24_mode_switch_init_2 
+0261 6800c8ba fetch 1 ,mem_24g_ackpayload_enable 
+0262 c1010000 rtneq 2 
+0263 6800c8bd fetch 1 ,mem_24g_nodata_timer_enable 
+0264 207a0000 rtn blank 
+0265 d8e00008 arg timer_nodata ,queue 
+0266 20407f16 call timer_check 
+0267 247a0000 nrtn blank 
+0268 7048bd00 jam 0 ,mem_24g_nodata_timer_enable 
+0269 70497d00 jam 0 ,mem_24g_bind_delay_count 
+026a 70497e00 jam 0 ,mem_24g_work_delay_count 
+026b 20400234 call p_g24_mode_switch_init_2 
 
 p_g24_search_mode_enable:
-024a 7048a607 jam dongle_search ,mem_dongle_work_mode 
-024b 7048a500 jam clear_init ,mem_dongle_mode_init 
-024c 20200115 branch p_g24_rx_interrupt_clear 
+026c 7048a607 jam dongle_search ,mem_dongle_work_mode 
+026d 7048a500 jam clear_init ,mem_dongle_mode_init 
+026e 20200133 branch p_g24_rx_interrupt_clear 
 
 p_g24_receive_transmit_ack:
-024d 20400115 call p_g24_rx_interrupt_clear 
-024e 20400457 call p_g24_receive_packet 
-024f 24778000 nrtn user3 
-0250 202002ee branch p_g24_transmit_ack 
+026f 20400133 call p_g24_rx_interrupt_clear 
+0270 2040048e call p_g24_receive_packet 
+0271 24778000 nrtn user3 
+0272 20200310 branch p_g24_transmit_ack 
 
 p_g24_dongle_search_mode_auto:
-0251 6800c8a6 fetch 1 ,mem_dongle_work_mode 
-0252 c1838000 rtnne dongle_search 
-0253 20400278 call p_g24_dongle_search_mode_init 
-0254 2040028c call p_g24_rx_auto_addr_ch_search 
-0255 2040024d call p_g24_receive_transmit_ack 
-0256 24378115 nbranch p_g24_rx_interrupt_clear ,user3 
-0257 20400288 call p_g24_rx_addr_check 
-0258 2042831d call p_g24_receive_packet_parse ,zero 
-0259 6800c8b2 fetch 1 ,mem_24g_abort_packet 
-025a 205a0239 call p_g24_mode_switch_stop_2 ,blank 
-025b 7048a600 jam dongle_work ,mem_dongle_work_mode 
-025c 6800c8a5 fetch 1 ,mem_dongle_mode_init 
-025d 79207e00 set1 dongle_work ,pdata 
-025e 6000c8a5 store 1 ,mem_dongle_mode_init 
-025f 6800c8ba fetch 1 ,mem_24g_ackpayload_enable 
-0260 1fe67c02 sub pdata ,2 ,null 
-0261 2442826f ncall p_g24_ackpayload_disable ,zero 
-0262 20400115 call p_g24_rx_interrupt_clear 
-0263 2040023d call p_g24_enable_nodata_timer 
-0264 20400288 call p_g24_rx_addr_check 
-0265 20228271 branch p_g24_dg_ch_num_reinit ,zero 
-0266 68024860 fetch 4 ,mem_24g_addr 
-0267 680a48d8 fetcht 4 ,mem_24g_kb_addr 
-0268 98467c00 isub temp ,null 
-0269 20228274 branch p_g24_kb_ch_num_reinit ,zero 
-026a 68024860 fetch 4 ,mem_24g_addr 
-026b 680a48dc fetcht 4 ,mem_24g_ms_addr 
-026c 98467c00 isub temp ,null 
-026d 20228276 branch p_g24_ms_ch_num_reinit ,zero 
-026e 20600000 rtn 
+0273 6800c8a6 fetch 1 ,mem_dongle_work_mode 
+0274 c1838000 rtnne dongle_search 
+0275 2040029a call p_g24_dongle_search_mode_init 
+0276 204002ae call p_g24_rx_auto_addr_ch_search 
+0277 2040026f call p_g24_receive_transmit_ack 
+0278 24378133 nbranch p_g24_rx_interrupt_clear ,user3 
+0279 204002aa call p_g24_rx_addr_check 
+027a 20428354 call p_g24_receive_packet_parse ,zero 
+027b 6800c8b2 fetch 1 ,mem_24g_abort_packet 
+027c 205a025b call p_g24_mode_switch_stop_2 ,blank 
+027d 7048a600 jam dongle_work ,mem_dongle_work_mode 
+027e 6800c8a5 fetch 1 ,mem_dongle_mode_init 
+027f 79207e00 set1 dongle_work ,pdata 
+0280 6000c8a5 store 1 ,mem_dongle_mode_init 
+0281 6800c8ba fetch 1 ,mem_24g_ackpayload_enable 
+0282 1fe67c02 sub pdata ,2 ,null 
+0283 24428291 ncall p_g24_ackpayload_disable ,zero 
+0284 20400133 call p_g24_rx_interrupt_clear 
+0285 2040025f call p_g24_enable_nodata_timer 
+0286 204002aa call p_g24_rx_addr_check 
+0287 20228293 branch p_g24_dg_ch_num_reinit ,zero 
+0288 68024860 fetch 4 ,mem_24g_addr 
+0289 680a48d8 fetcht 4 ,mem_24g_kb_addr 
+028a 98467c00 isub temp ,null 
+028b 20228296 branch p_g24_kb_ch_num_reinit ,zero 
+028c 68024860 fetch 4 ,mem_24g_addr 
+028d 680a48dc fetcht 4 ,mem_24g_ms_addr 
+028e 98467c00 isub temp ,null 
+028f 20228298 branch p_g24_ms_ch_num_reinit ,zero 
+0290 20600000 rtn 
 
 p_g24_ackpayload_disable:
-026f 7048ba00 jam 0 ,mem_24g_ackpayload_enable 
-0270 20600000 rtn 
+0291 7048ba00 jam 0 ,mem_24g_ackpayload_enable 
+0292 20600000 rtn 
 
 p_g24_dg_ch_num_reinit:
-0271 6800c8e1 fetch 1 ,mem_24g_dg_ch_number 
+0293 6800c8e1 fetch 1 ,mem_24g_dg_ch_number 
 
 p_g24_current_ch_num_reinit:
-0272 6000c843 store 1 ,mem_24g_current_ch_number 
-0273 20600000 rtn 
+0294 6000c843 store 1 ,mem_24g_current_ch_number 
+0295 20600000 rtn 
 
 p_g24_kb_ch_num_reinit:
-0274 6800c8e4 fetch 1 ,mem_24g_kb_ch_number 
-0275 20200272 branch p_g24_current_ch_num_reinit 
+0296 6800c8e4 fetch 1 ,mem_24g_kb_ch_number 
+0297 20200294 branch p_g24_current_ch_num_reinit 
 
 p_g24_ms_ch_num_reinit:
-0276 6800c8e7 fetch 1 ,mem_24g_ms_ch_number 
-0277 20200272 branch p_g24_current_ch_num_reinit 
+0298 6800c8e7 fetch 1 ,mem_24g_ms_ch_number 
+0299 20200294 branch p_g24_current_ch_num_reinit 
 
 p_g24_dongle_search_mode_init:
-0278 6800c8a5 fetch 1 ,mem_dongle_mode_init 
-0279 c3838000 rtnbit1 dongle_search 
-027a 79207e07 set1 dongle_search ,pdata 
-027b 6000c8a5 store 1 ,mem_dongle_mode_init 
-027c 7048be00 jam 0 ,mem_24g_time_slice 
-027d 7048ba01 jam 1 ,mem_24g_ackpayload_enable 
-027e 58000000 setarg 0 
-027f 6001c8f7 store 3 ,mem_rssi_noise_dg_index 
-0280 6003c8e2 store 7 ,mem_24g_dg_config_ch_once 
-0281 20400288 call p_g24_rx_addr_check 
-0282 24628000 nrtn zero 
-0283 6800c843 fetch 1 ,mem_24g_current_ch_number 
-0284 6000c8e1 store 1 ,mem_24g_dg_ch_number 
-0285 6800c842 fetch 1 ,mem_24g_ch 
-0286 6000c8e0 store 1 ,mem_24g_dg_last_ch 
-0287 20600000 rtn 
+029a 6800c8a5 fetch 1 ,mem_dongle_mode_init 
+029b c3838000 rtnbit1 dongle_search 
+029c 79207e07 set1 dongle_search ,pdata 
+029d 6000c8a5 store 1 ,mem_dongle_mode_init 
+029e 7048be00 jam 0 ,mem_24g_time_slice 
+029f 7048ba01 jam 1 ,mem_24g_ackpayload_enable 
+02a0 58000000 setarg 0 
+02a1 6001c8f7 store 3 ,mem_rssi_noise_dg_index 
+02a2 6003c8e2 store 7 ,mem_24g_dg_config_ch_once 
+02a3 204002aa call p_g24_rx_addr_check 
+02a4 24628000 nrtn zero 
+02a5 6800c843 fetch 1 ,mem_24g_current_ch_number 
+02a6 6000c8e1 store 1 ,mem_24g_dg_ch_number 
+02a7 6800c842 fetch 1 ,mem_24g_ch 
+02a8 6000c8e0 store 1 ,mem_24g_dg_last_ch 
+02a9 20600000 rtn 
 
 p_g24_rx_addr_check:
-0288 68024860 fetch 4 ,mem_24g_addr 
-0289 680a48a1 fetcht 4 ,mem_24g_rx_addr 
-028a 98467c00 isub temp ,null 
-028b 20600000 rtn 
+02aa 68024860 fetch 4 ,mem_24g_addr 
+02ab 680a48a1 fetcht 4 ,mem_24g_rx_addr 
+02ac 98467c00 isub temp ,null 
+02ad 20600000 rtn 
 
 p_g24_rx_auto_addr_ch_search:
-028c 6800c8be fetch 1 ,mem_24g_time_slice 
-028d 1fe0fe01 increase 1 ,pdata 
-028e 1fe17e03 and_into 3 ,pdata 
-028f 6000c8be store 1 ,mem_24g_time_slice 
-0290 c00002af beq 0 ,p_g24_rx_auto_bind_config_kb 
-0291 c00082c9 beq 1 ,p_g24_rx_auto_bind_config_dongle 
-0292 c0010295 beq 2 ,p_g24_rx_auto_bind_config_mouse 
-0293 c00182c9 beq 3 ,p_g24_rx_auto_bind_config_dongle 
-0294 20600000 rtn 
+02ae 6800c8be fetch 1 ,mem_24g_time_slice 
+02af 1fe0fe01 increase 1 ,pdata 
+02b0 1fe17e03 and_into 3 ,pdata 
+02b1 6000c8be store 1 ,mem_24g_time_slice 
+02b2 c00002d1 beq 0 ,p_g24_rx_auto_bind_config_kb 
+02b3 c00082eb beq 1 ,p_g24_rx_auto_bind_config_dongle 
+02b4 c00102b7 beq 2 ,p_g24_rx_auto_bind_config_mouse 
+02b5 c00182eb beq 3 ,p_g24_rx_auto_bind_config_dongle 
+02b6 20600000 rtn 
 
 p_g24_rx_auto_bind_config_mouse:
-0295 20400138 call p_g24_dongle_bind_ms_payload_cfg 
-0296 680248dc fetch 4 ,mem_24g_ms_addr 
-0297 203a028c branch p_g24_rx_auto_addr_ch_search ,blank 
-0298 2040041d call p_g24_update_addr_and_synccrc8 
-0299 6800c8e8 fetch 1 ,mem_24g_ms_config_ch_once 
-029a 205a02aa call p_g24_ms_config_ch_once ,blank 
-029b 6800c8e6 fetch 1 ,mem_24g_ms_last_ch 
-029c 6000c842 store 1 ,mem_24g_ch 
-029d 6808c8f9 fetcht 1 ,mem_rssi_noise_ms_index 
-029e da200f9e arg mem_rssi_noise_ms_buffer ,rega 
-029f 20400411 call p_rssi_store 
-02a0 6008c8f9 storet 1 ,mem_rssi_noise_ms_index 
-02a1 20400418 call p_rssi_average 
-02a2 6008c8f6 storet 1 ,mem_rssi_noise_ms_avg 
-02a3 18467c50 sub temp ,rssi_thresh_noise ,null 
-02a4 24610000 nrtn positive 
-02a5 6808c8e7 fetcht 1 ,mem_24g_ms_ch_number 
-02a6 20400441 call p_g24_ch_map_size 
-02a7 6008c8e7 storet 1 ,mem_24g_ms_ch_number 
-02a8 6000c8e6 store 1 ,mem_24g_ms_last_ch 
-02a9 20600000 rtn 
+02b7 20400156 call p_g24_dongle_bind_ms_payload_cfg 
+02b8 680248dc fetch 4 ,mem_24g_ms_addr 
+02b9 203a02ae branch p_g24_rx_auto_addr_ch_search ,blank 
+02ba 20400454 call p_g24_update_addr_and_synccrc8 
+02bb 6800c8e8 fetch 1 ,mem_24g_ms_config_ch_once 
+02bc 205a02cc call p_g24_ms_config_ch_once ,blank 
+02bd 6800c8e6 fetch 1 ,mem_24g_ms_last_ch 
+02be 6000c842 store 1 ,mem_24g_ch 
+02bf 6808c8f9 fetcht 1 ,mem_rssi_noise_ms_index 
+02c0 da200f9e arg mem_rssi_noise_ms_buffer ,rega 
+02c1 20400448 call p_rssi_store 
+02c2 6008c8f9 storet 1 ,mem_rssi_noise_ms_index 
+02c3 2040044f call p_rssi_average 
+02c4 6008c8f6 storet 1 ,mem_rssi_noise_ms_avg 
+02c5 18467c50 sub temp ,rssi_thresh_noise ,null 
+02c6 24610000 nrtn positive 
+02c7 6808c8e7 fetcht 1 ,mem_24g_ms_ch_number 
+02c8 20400478 call p_g24_ch_map_size 
+02c9 6008c8e7 storet 1 ,mem_24g_ms_ch_number 
+02ca 6000c8e6 store 1 ,mem_24g_ms_last_ch 
+02cb 20600000 rtn 
 
 p_g24_ms_config_ch_once:
-02aa 7048e801 jam 1 ,mem_24g_ms_config_ch_once 
-02ab d8400000 arg 0 ,temp 
-02ac 20400445 call p_g24_ch_calc 
-02ad 6000c8e6 store 1 ,mem_24g_ms_last_ch 
-02ae 20600000 rtn 
+02cc 7048e801 jam 1 ,mem_24g_ms_config_ch_once 
+02cd d8400000 arg 0 ,temp 
+02ce 2040047c call p_g24_ch_calc 
+02cf 6000c8e6 store 1 ,mem_24g_ms_last_ch 
+02d0 20600000 rtn 
 
 p_g24_rx_auto_bind_config_kb:
-02af 2040013e call p_g24_dongle_bind_kb_payload_cfg 
-02b0 680248d8 fetch 4 ,mem_24g_kb_addr 
-02b1 203a028c branch p_g24_rx_auto_addr_ch_search ,blank 
-02b2 2040041d call p_g24_update_addr_and_synccrc8 
-02b3 6800c8e5 fetch 1 ,mem_24g_kb_config_ch_once 
-02b4 205a02c4 call p_g24_kb_config_ch_once ,blank 
-02b5 6800c8e3 fetch 1 ,mem_24g_kb_last_ch 
-02b6 6000c842 store 1 ,mem_24g_ch 
-02b7 6808c8f8 fetcht 1 ,mem_rssi_noise_kb_index 
-02b8 da20109e arg mem_rssi_noise_kb_buffer ,rega 
-02b9 20400411 call p_rssi_store 
-02ba 6008c8f8 storet 1 ,mem_rssi_noise_kb_index 
-02bb 20400418 call p_rssi_average 
-02bc 6008c8f5 storet 1 ,mem_rssi_noise_kb_avg 
-02bd 18467c50 sub temp ,rssi_thresh_noise ,null 
-02be 24610000 nrtn positive 
-02bf 6808c8e4 fetcht 1 ,mem_24g_kb_ch_number 
-02c0 20400441 call p_g24_ch_map_size 
-02c1 6008c8e4 storet 1 ,mem_24g_kb_ch_number 
-02c2 6000c8e3 store 1 ,mem_24g_kb_last_ch 
-02c3 20600000 rtn 
+02d1 2040015c call p_g24_dongle_bind_kb_payload_cfg 
+02d2 680248d8 fetch 4 ,mem_24g_kb_addr 
+02d3 203a02ae branch p_g24_rx_auto_addr_ch_search ,blank 
+02d4 20400454 call p_g24_update_addr_and_synccrc8 
+02d5 6800c8e5 fetch 1 ,mem_24g_kb_config_ch_once 
+02d6 205a02e6 call p_g24_kb_config_ch_once ,blank 
+02d7 6800c8e3 fetch 1 ,mem_24g_kb_last_ch 
+02d8 6000c842 store 1 ,mem_24g_ch 
+02d9 6808c8f8 fetcht 1 ,mem_rssi_noise_kb_index 
+02da da20109e arg mem_rssi_noise_kb_buffer ,rega 
+02db 20400448 call p_rssi_store 
+02dc 6008c8f8 storet 1 ,mem_rssi_noise_kb_index 
+02dd 2040044f call p_rssi_average 
+02de 6008c8f5 storet 1 ,mem_rssi_noise_kb_avg 
+02df 18467c50 sub temp ,rssi_thresh_noise ,null 
+02e0 24610000 nrtn positive 
+02e1 6808c8e4 fetcht 1 ,mem_24g_kb_ch_number 
+02e2 20400478 call p_g24_ch_map_size 
+02e3 6008c8e4 storet 1 ,mem_24g_kb_ch_number 
+02e4 6000c8e3 store 1 ,mem_24g_kb_last_ch 
+02e5 20600000 rtn 
 
 p_g24_kb_config_ch_once:
-02c4 7048e501 jam 1 ,mem_24g_kb_config_ch_once 
-02c5 d8400000 arg 0 ,temp 
-02c6 20400445 call p_g24_ch_calc 
-02c7 6000c8e3 store 1 ,mem_24g_kb_last_ch 
-02c8 20600000 rtn 
+02e6 7048e501 jam 1 ,mem_24g_kb_config_ch_once 
+02e7 d8400000 arg 0 ,temp 
+02e8 2040047c call p_g24_ch_calc 
+02e9 6000c8e3 store 1 ,mem_24g_kb_last_ch 
+02ea 20600000 rtn 
 
 p_g24_rx_auto_bind_config_dongle:
-02c9 20400138 call p_g24_dongle_bind_ms_payload_cfg 
-02ca 680248a1 fetch 4 ,mem_24g_rx_addr 
-02cb 2040041d call p_g24_update_addr_and_synccrc8 
-02cc 6800c8e2 fetch 1 ,mem_24g_dg_config_ch_once 
-02cd 205a02dd call p_g24_dg_config_ch_once ,blank 
-02ce 6800c8e0 fetch 1 ,mem_24g_dg_last_ch 
-02cf 6000c842 store 1 ,mem_24g_ch 
-02d0 6808c8f7 fetcht 1 ,mem_rssi_noise_dg_index 
-02d1 da200e9e arg mem_rssi_noise_dg_buffer ,rega 
-02d2 20400411 call p_rssi_store 
-02d3 6008c8f7 storet 1 ,mem_rssi_noise_dg_index 
-02d4 20400418 call p_rssi_average 
-02d5 6008c8f4 storet 1 ,mem_rssi_noise_dg_avg 
-02d6 18467c50 sub temp ,rssi_thresh_noise ,null 
-02d7 24610000 nrtn positive 
-02d8 6808c8e1 fetcht 1 ,mem_24g_dg_ch_number 
-02d9 20400441 call p_g24_ch_map_size 
-02da 6008c8e1 storet 1 ,mem_24g_dg_ch_number 
-02db 6000c8e0 store 1 ,mem_24g_dg_last_ch 
-02dc 20600000 rtn 
+02eb 20400156 call p_g24_dongle_bind_ms_payload_cfg 
+02ec 680248a1 fetch 4 ,mem_24g_rx_addr 
+02ed 20400454 call p_g24_update_addr_and_synccrc8 
+02ee 6800c8e2 fetch 1 ,mem_24g_dg_config_ch_once 
+02ef 205a02ff call p_g24_dg_config_ch_once ,blank 
+02f0 6800c8e0 fetch 1 ,mem_24g_dg_last_ch 
+02f1 6000c842 store 1 ,mem_24g_ch 
+02f2 6808c8f7 fetcht 1 ,mem_rssi_noise_dg_index 
+02f3 da200e9e arg mem_rssi_noise_dg_buffer ,rega 
+02f4 20400448 call p_rssi_store 
+02f5 6008c8f7 storet 1 ,mem_rssi_noise_dg_index 
+02f6 2040044f call p_rssi_average 
+02f7 6008c8f4 storet 1 ,mem_rssi_noise_dg_avg 
+02f8 18467c50 sub temp ,rssi_thresh_noise ,null 
+02f9 24610000 nrtn positive 
+02fa 6808c8e1 fetcht 1 ,mem_24g_dg_ch_number 
+02fb 20400478 call p_g24_ch_map_size 
+02fc 6008c8e1 storet 1 ,mem_24g_dg_ch_number 
+02fd 6000c8e0 store 1 ,mem_24g_dg_last_ch 
+02fe 20600000 rtn 
 
 p_g24_dg_config_ch_once:
-02dd 7048e201 jam 1 ,mem_24g_dg_config_ch_once 
-02de 6800c8e0 fetch 1 ,mem_24g_dg_last_ch 
-02df 6000c842 store 1 ,mem_24g_ch 
-02e0 20600000 rtn 
+02ff 7048e201 jam 1 ,mem_24g_dg_config_ch_once 
+0300 6800c8e0 fetch 1 ,mem_24g_dg_last_ch 
+0301 6000c842 store 1 ,mem_24g_ch 
+0302 20600000 rtn 
 
 p_g24_read_len_pid_crc:
-02e1 6800c7b3 fetch 1 ,mem_24g_rxbuf + 1 
-02e2 1fe97e00 rshift3 pdata ,pdata 
-02e3 6000c836 store 1 ,mem_24g_rxdata_length 
-02e4 1fe0fe01 increase 1 ,pdata 
-02e5 d8c047b3 arg mem_24g_rxbuf + 1 ,contr 
-02e6 98c08c00 iadd contr ,contr 
-02e7 e8c18000 ifetch 3 ,contr 
-02e8 6001c875 store 3 ,mem_24g_sta_crc 
-02e9 6800c7b3 fetch 1 ,mem_24g_rxbuf + 1 
-02ea 1fe37e00 rshift pdata ,pdata 
-02eb 1fe17e03 and pdata ,0x03 ,pdata 
-02ec 6000c87b store 1 ,mem_24g_sta_pid 
-02ed 20600000 rtn 
+0303 6800c7b3 fetch 1 ,mem_24g_rxbuf + 1 
+0304 1fe97e00 rshift3 pdata ,pdata 
+0305 6000c836 store 1 ,mem_24g_rxdata_length 
+0306 1fe0fe01 increase 1 ,pdata 
+0307 d8c047b3 arg mem_24g_rxbuf + 1 ,contr 
+0308 98c08c00 iadd contr ,contr 
+0309 e8c18000 ifetch 3 ,contr 
+030a 6001c875 store 3 ,mem_24g_sta_crc 
+030b 6800c7b3 fetch 1 ,mem_24g_rxbuf + 1 
+030c 1fe37e00 rshift pdata ,pdata 
+030d 1fe17e03 and pdata ,0x03 ,pdata 
+030e 6000c87b store 1 ,mem_24g_sta_pid 
+030f 20600000 rtn 
 
 p_g24_transmit_ack:
-02ee 6800c7b2 fetch 1 ,mem_24g_rxbuf 
-02ef 6000c839 store 1 ,mem_24g_data_type 
-02f0 204002e1 call p_g24_read_len_pid_crc 
-02f1 6800c7b3 fetch 1 ,mem_24g_rxbuf + 1 
-02f2 2feffe00 isolate1 bit_ack_24g ,pdata 
-02f3 202082f7 branch p_g24tx_no_ack ,true 
+0310 6800c7b2 fetch 1 ,mem_24g_rxbuf 
+0311 6000c839 store 1 ,mem_24g_data_type 
+0312 20400303 call p_g24_read_len_pid_crc 
+0313 6800c7b3 fetch 1 ,mem_24g_rxbuf + 1 
+0314 2feffe00 isolate1 bit_ack_24g ,pdata 
+0315 20208319 branch p_g24tx_no_ack ,true 
 
 p_g24tx_with_ack:
-02f4 204002f8 call p_g24_ackpayload_prep 
-02f5 2040042b call p_g24_transmit_prep 
-02f6 204004a1 call p_g24_transmit 
+0316 2040031a call p_g24_ackpayload_prep 
+0317 20400462 call p_g24_transmit_prep 
+0318 204004d8 call p_g24_transmit 
 
 p_g24tx_no_ack:
-02f7 20200499 branch p_g24_end_of_packet 
+0319 202004d0 branch p_g24_end_of_packet 
 
 p_g24_ackpayload_prep:
-02f8 70483800 jam 0 ,mem_24g_datalen 
-02f9 6800c8ba fetch 1 ,mem_24g_ackpayload_enable 
-02fa 207a0000 rtn blank 
-02fb c00082ff beq bind_ackpayload ,p_g24_bind_ackpayload_prep 
-02fc c0010307 beq user_ackpayload ,p_g24_user_ackpayload_prep 
-02fd c0018311 beq kb_led_ackpayload ,p_g24_kb_led_ackpayload_prep 
-02fe 20600000 rtn 
+031a 70483800 jam 0 ,mem_24g_datalen 
+031b 6800c839 fetch 1 ,mem_24g_data_type 
+031c c000831e beq 0x01 ,p_g24_ackpayload_prep_mouse 
+031d c0010323 beq 0x02 ,p_g24_ackpayload_prep_keyboard 
+
+p_g24_ackpayload_prep_mouse:
+031e 6800c97c fetch 1 ,mem_24g_pc_sleep_flag 
+031f c280032b bbit1 0 ,p_g24_pc_sleep_ackpayload_prep_mouse 
+0320 20200325 branch p_g24_ackpayload_prep_end 
+
+p_g24_clear_pc_sleep_flag:
+0321 70497c00 jam 0 ,mem_24g_pc_sleep_flag 
+0322 20600000 rtn 
+
+p_g24_ackpayload_prep_keyboard:
+0323 6800c97c fetch 1 ,mem_24g_pc_sleep_flag 
+0324 c280832f bbit1 1 ,p_g24_pc_sleep_ackpayload_prep_keyboard 
+
+p_g24_ackpayload_prep_end:
+0325 6800c8ba fetch 1 ,mem_24g_ackpayload_enable 
+0326 207a0000 rtn blank 
+0327 c0008336 beq bind_ackpayload ,p_g24_bind_ackpayload_prep 
+0328 c001033e beq user_ackpayload ,p_g24_user_ackpayload_prep 
+0329 c0018348 beq kb_led_ackpayload ,p_g24_kb_led_ackpayload_prep 
+032a 20600000 rtn 
+
+p_g24_pc_sleep_ackpayload_prep_mouse:
+032b 6800c97c fetch 1 ,mem_24g_pc_sleep_flag 
+032c 793ffe00 set0 0 ,pdata 
+032d 6000c97c store 1 ,mem_24g_pc_sleep_flag 
+032e 20200332 branch p_g24_pc_sleep_ackpayload_prep 
+
+p_g24_pc_sleep_ackpayload_prep_keyboard:
+032f 6800c97c fetch 1 ,mem_24g_pc_sleep_flag 
+0330 793ffe01 set0 1 ,pdata 
+0331 6000c97c store 1 ,mem_24g_pc_sleep_flag 
+
+p_g24_pc_sleep_ackpayload_prep:
+0332 70483801 jam 0x01 ,mem_24g_datalen 
+0333 580000ff setarg 0xff 
+0334 6000c7d4 store 1 ,mem_24g_txbuf 
+0335 20600000 rtn 
 
 p_g24_bind_ackpayload_prep:
-02ff 7048ba01 jam 1 ,mem_24g_ackpayload_enable 
-0300 20400118 call p_g24_dongle_binding_device_check 
-0301 24778000 nrtn user3 
-0302 70483808 jam 0x08 ,mem_24g_datalen 
-0303 df200008 arg 0x08 ,loopcnt 
-0304 d8c048aa arg mem_24g_bind_payload ,contr 
-0305 d8a047d4 arg mem_24g_txbuf ,contw 
-0306 20207f01 branch memcpy 
+0336 7048ba01 jam 1 ,mem_24g_ackpayload_enable 
+0337 20400136 call p_g24_dongle_binding_device_check 
+0338 24778000 nrtn user3 
+0339 70483808 jam 0x08 ,mem_24g_datalen 
+033a df200008 arg 0x08 ,loopcnt 
+033b d8c048aa arg mem_24g_bind_payload ,contr 
+033c d8a047d4 arg mem_24g_txbuf ,contw 
+033d 20207f01 branch memcpy 
 
 p_g24_user_ackpayload_prep:
-0307 2040018e call p_g24_queue_read_point 
-0308 24740000 nrtn user 
-0309 7048381f jam 0x1f ,mem_24g_datalen 
-030a df20001f arg 0x1f ,loopcnt 
-030b 1fe20c00 copy pdata ,contr 
-030c d8a047d4 arg mem_24g_txbuf ,contw 
-030d 20407f01 call memcpy 
-030e 680147d7 fetch 2 ,mem_24g_txbuf + 3 
-030f 600148ed store 2 ,mem_24g_ota_sta_pid 
-0310 20600000 rtn 
+033e 204001ac call p_g24_queue_read_point 
+033f 24740000 nrtn user 
+0340 7048381f jam 0x1f ,mem_24g_datalen 
+0341 df20001f arg 0x1f ,loopcnt 
+0342 1fe20c00 copy pdata ,contr 
+0343 d8a047d4 arg mem_24g_txbuf ,contw 
+0344 20407f01 call memcpy 
+0345 680147d7 fetch 2 ,mem_24g_txbuf + 3 
+0346 600148ed store 2 ,mem_24g_ota_sta_pid 
+0347 20600000 rtn 
 
 p_g24_kb_led_ackpayload_prep:
-0311 6800c7b4 fetch 1 ,mem_24g_rxbuf + 2 
-0312 c00082ff beq 0x01 ,p_g24_bind_ackpayload_prep 
-0313 c07f82ff beq 0xff ,p_g24_bind_ackpayload_prep 
-0314 700d4300 jam 0 ,mem_usb_tx_win_enable 
-0315 70483801 jam 0x01 ,mem_24g_datalen 
-0316 df200001 arg 0x01 ,loopcnt 
-0317 d8c0497a arg mem_24g_led_status ,contr 
-0318 d8a047d4 arg mem_24g_txbuf ,contw 
-0319 20207f01 branch memcpy 
+0348 6800c7b4 fetch 1 ,mem_24g_rxbuf + 2 
+0349 c0008336 beq 0x01 ,p_g24_bind_ackpayload_prep 
+034a c07f8336 beq 0xff ,p_g24_bind_ackpayload_prep 
+034b 700d4300 jam 0 ,mem_usb_tx_win_enable 
+034c 70483801 jam 0x01 ,mem_24g_datalen 
+034d df200001 arg 0x01 ,loopcnt 
+034e d8c0497a arg mem_24g_led_status ,contr 
+034f d8a047d4 arg mem_24g_txbuf ,contw 
+0350 20207f01 branch memcpy 
 
 p_g24_receive_packet_start:
-031a 2040024d call p_g24_receive_transmit_ack 
-031b 24378115 nbranch p_g24_rx_interrupt_clear ,user3 
-031c 2020031d branch p_g24_receive_packet_parse 
+0351 2040026f call p_g24_receive_transmit_ack 
+0352 24378133 nbranch p_g24_rx_interrupt_clear ,user3 
+0353 20200354 branch p_g24_receive_packet_parse 
 
 p_g24_receive_packet_parse:
-031d 2040032e call p_g24_receive_packet_parse_pid_crc 
-031e 24340115 nbranch p_g24_rx_interrupt_clear ,user 
-031f 6800c836 fetch 1 ,mem_24g_rxdata_length 
-0320 203a0115 branch p_g24_rx_interrupt_clear ,blank 
-0321 1fe0fe02 increase 2 ,pdata 
-0322 98007200 iforce loopcnt 
-0323 d8c047b2 arg mem_24g_rxbuf ,contr 
-0324 d8a0487f arg mem_24g_rxdata_temp ,contw 
-0325 20407f01 call memcpy 
-0326 7048b900 jam 0 ,mem_24g_mode_switch 
-0327 6800c8bc fetch 1 ,mem_24g_pair_mode 
-0328 205a023d call p_g24_enable_nodata_timer ,blank 
-0329 6800c881 fetch 1 ,mem_24g_rxdata_temp + 2 
-032a c000833c beq 0x01 ,p_g24_data_type1 
-032b c001035c beq 0x02 ,p_g24_data_type2 
-032c c07f83b1 beq 0xff ,p_g24_data_attemp 
-032d 20200115 branch p_g24_rx_interrupt_clear 
+0354 20400365 call p_g24_receive_packet_parse_pid_crc 
+0355 24340133 nbranch p_g24_rx_interrupt_clear ,user 
+0356 6800c836 fetch 1 ,mem_24g_rxdata_length 
+0357 203a0133 branch p_g24_rx_interrupt_clear ,blank 
+0358 1fe0fe02 increase 2 ,pdata 
+0359 98007200 iforce loopcnt 
+035a d8c047b2 arg mem_24g_rxbuf ,contr 
+035b d8a0487f arg mem_24g_rxdata_temp ,contw 
+035c 20407f01 call memcpy 
+035d 7048b900 jam 0 ,mem_24g_mode_switch 
+035e 6800c8bc fetch 1 ,mem_24g_pair_mode 
+035f 205a025f call p_g24_enable_nodata_timer ,blank 
+0360 6800c881 fetch 1 ,mem_24g_rxdata_temp + 2 
+0361 c0008373 beq 0x01 ,p_g24_data_type1 
+0362 c0010393 beq 0x02 ,p_g24_data_type2 
+0363 c07f83e8 beq 0xff ,p_g24_data_attemp 
+0364 20200133 branch p_g24_rx_interrupt_clear 
 
 p_g24_receive_packet_parse_pid_crc:
-032e 20407fe9 call disable_user 
-032f 6800c87b fetch 1 ,mem_24g_sta_pid 
-0330 6808c87c fetcht 1 ,mem_24g_last_pid 
-0331 98467c00 isub temp ,null 
-0332 2442ffe7 ncall enable_user ,zero 
-0333 6800c87b fetch 1 ,mem_24g_sta_pid 
-0334 6000c87c store 1 ,mem_24g_last_pid 
-0335 6801c875 fetch 3 ,mem_24g_sta_crc 
-0336 6809c878 fetcht 3 ,mem_24g_last_crc 
-0337 98467c00 isub temp ,null 
-0338 2442ffe7 ncall enable_user ,zero 
-0339 6801c875 fetch 3 ,mem_24g_sta_crc 
-033a 6001c878 store 3 ,mem_24g_last_crc 
-033b 20600000 rtn 
+0365 20407fe9 call disable_user 
+0366 6800c87b fetch 1 ,mem_24g_sta_pid 
+0367 6808c87c fetcht 1 ,mem_24g_last_pid 
+0368 98467c00 isub temp ,null 
+0369 2442ffe7 ncall enable_user ,zero 
+036a 6800c87b fetch 1 ,mem_24g_sta_pid 
+036b 6000c87c store 1 ,mem_24g_last_pid 
+036c 6801c875 fetch 3 ,mem_24g_sta_crc 
+036d 6809c878 fetcht 3 ,mem_24g_last_crc 
+036e 98467c00 isub temp ,null 
+036f 2442ffe7 ncall enable_user ,zero 
+0370 6801c875 fetch 3 ,mem_24g_sta_crc 
+0371 6001c878 store 3 ,mem_24g_last_crc 
+0372 20600000 rtn 
 
 p_g24_data_type1:
-033c 20400127 call p_g24_dongle_binding_mouse_living 
-033d 204000d7 call p_g24_ch_timer_reinit 
-033e 6800c8b2 fetch 1 ,mem_24g_abort_packet 
-033f 6808c87f fetcht 1 ,mem_24g_rxdata_temp 
-0340 284ffe03 isolate1 bit_abort ,temp 
-0341 7920fe00 setflag true ,0 ,pdata 
-0342 6000c8b2 store 1 ,mem_24g_abort_packet 
-0343 c00083bb beq 1 ,p_g24_data_attemp_mouse_abort 
-0344 6800c8bb fetch 1 ,mem_24g_hop_packet 
-0345 6808c87f fetcht 1 ,mem_24g_rxdata_temp 
-0346 284ffe04 isolate1 bit_hop ,temp 
-0347 7920fe00 setflag true ,0 ,pdata 
-0348 6000c8bb store 1 ,mem_24g_hop_packet 
-0349 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-034a c06783bf beq cmd_ota ,p_g24_ota_process 
-034b 58000001 setarg ms_report_id 
-034c 60008d54 store 1 ,mem_usb_mouse_data 
-034d 6803c882 fetch 7 ,mem_24g_rxdata_temp + 3 
-034e e0a38000 istore 7 ,contw 
-034f 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-0350 245a0354 ncall p_g24_ms_enable_blank_data_forcibly ,blank 
-0351 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-0352 205a0358 call p_g24_ms_disable_blank_data_forcibly ,blank 
-0353 202031b8 branch g24_data_type1_usbtx_enable 
+0373 20400145 call p_g24_dongle_binding_mouse_living 
+0374 204000ef call p_g24_ch_timer_reinit 
+0375 6800c8b2 fetch 1 ,mem_24g_abort_packet 
+0376 6808c87f fetcht 1 ,mem_24g_rxdata_temp 
+0377 284ffe03 isolate1 bit_abort ,temp 
+0378 7920fe00 setflag true ,0 ,pdata 
+0379 6000c8b2 store 1 ,mem_24g_abort_packet 
+037a c00083f2 beq 1 ,p_g24_data_attemp_mouse_abort 
+037b 6800c8bb fetch 1 ,mem_24g_hop_packet 
+037c 6808c87f fetcht 1 ,mem_24g_rxdata_temp 
+037d 284ffe04 isolate1 bit_hop ,temp 
+037e 7920fe00 setflag true ,0 ,pdata 
+037f 6000c8bb store 1 ,mem_24g_hop_packet 
+0380 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+0381 c06783f6 beq cmd_ota ,p_g24_ota_process 
+0382 58000001 setarg ms_report_id 
+0383 60008d54 store 1 ,mem_usb_mouse_data 
+0384 6803c882 fetch 7 ,mem_24g_rxdata_temp + 3 
+0385 e0a38000 istore 7 ,contw 
+0386 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+0387 245a038b ncall p_g24_ms_enable_blank_data_forcibly ,blank 
+0388 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+0389 205a038f call p_g24_ms_disable_blank_data_forcibly ,blank 
+038a 202031b8 branch g24_data_type1_usbtx_enable 
 
 p_g24_ms_enable_blank_data_forcibly:
-0354 7048d701 jam 1 ,mem_24g_ms_blank_data_enable 
-0355 58000180 setarg timer_new_ms_blank_delay 
-0356 d8e0000b arg timer_new_ms_blank ,queue 
-0357 20207f08 branch timer_init 
+038b 7048d701 jam 1 ,mem_24g_ms_blank_data_enable 
+038c 58000180 setarg timer_new_ms_blank_delay 
+038d d8e0000b arg timer_new_ms_blank ,queue 
+038e 20207f08 branch timer_init 
 
 p_g24_ms_disable_blank_data_forcibly:
-0358 7048d700 jam 0 ,mem_24g_ms_blank_data_enable 
-0359 58000000 setarg 0 
-035a d8e0000b arg timer_new_ms_blank ,queue 
-035b 20207f08 branch timer_init 
+038f 7048d700 jam 0 ,mem_24g_ms_blank_data_enable 
+0390 58000000 setarg 0 
+0391 d8e0000b arg timer_new_ms_blank ,queue 
+0392 20207f08 branch timer_init 
 
 p_g24_data_type2:
-035c 2040012d call p_g24_dongle_binding_keyboard_living 
-035d 6808c87f fetcht 1 ,mem_24g_rxdata_temp 
-035e 284ffe03 isolate1 bit_abort ,temp 
-035f 202083bd branch p_g24_data_attemp_kbd_abort ,true 
-0360 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-0361 c0000365 beq 0 ,p_g24_data_type2_data1 
-0362 c001039a beq 2 ,p_g24_data_type2_data3 
-0363 c0018381 beq 3 ,p_g24_data_type2_data2 
-0364 20200115 branch p_g24_rx_interrupt_clear 
+0393 2040014b call p_g24_dongle_binding_keyboard_living 
+0394 6808c87f fetcht 1 ,mem_24g_rxdata_temp 
+0395 284ffe03 isolate1 bit_abort ,temp 
+0396 202083f4 branch p_g24_data_attemp_kbd_abort ,true 
+0397 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+0398 c000039c beq 0 ,p_g24_data_type2_data1 
+0399 c00103d1 beq 2 ,p_g24_data_type2_data3 
+039a c00183b8 beq 3 ,p_g24_data_type2_data2 
+039b 20200133 branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_data1:
-0365 6800c884 fetch 1 ,mem_24g_rxdata_temp + 5 
-0366 6000c8ba store 1 ,mem_24g_ackpayload_enable 
-0367 70488400 jam 0 ,mem_24g_rxdata_temp + 5 
-0368 d8a00d64 arg mem_usb_kb_data ,contw 
-0369 20400376 call p_g24_data_type2_copy_data1 
-036a 68040d64 fetch 8 ,mem_usb_kb_data 
-036b 245a0379 ncall p_g24_kb_enable_blank_data_forcibly ,blank 
-036c 68040d64 fetch 8 ,mem_usb_kb_data 
-036d 205a037d call p_g24_kb_disable_blank_data_forcibly ,blank 
-036e 68040d64 fetch 8 ,mem_usb_kb_data 
-036f 600448bf store 8 ,mem_24g_kb_data_sta_data 
-0370 680c48c7 fetcht 8 ,mem_24g_kb_data_last_data 
-0371 98467c00 isub temp ,null 
-0372 2442b1ed ncall g24_kb_data_into_ep1_fifo ,zero 
-0373 680448bf fetch 8 ,mem_24g_kb_data_sta_data 
-0374 600448c7 store 8 ,mem_24g_kb_data_last_data 
-0375 20200115 branch p_g24_rx_interrupt_clear 
+039c 6800c884 fetch 1 ,mem_24g_rxdata_temp + 5 
+039d 6000c8ba store 1 ,mem_24g_ackpayload_enable 
+039e 70488400 jam 0 ,mem_24g_rxdata_temp + 5 
+039f d8a00d64 arg mem_usb_kb_data ,contw 
+03a0 204003ad call p_g24_data_type2_copy_data1 
+03a1 68040d64 fetch 8 ,mem_usb_kb_data 
+03a2 245a03b0 ncall p_g24_kb_enable_blank_data_forcibly ,blank 
+03a3 68040d64 fetch 8 ,mem_usb_kb_data 
+03a4 205a03b4 call p_g24_kb_disable_blank_data_forcibly ,blank 
+03a5 68040d64 fetch 8 ,mem_usb_kb_data 
+03a6 600448bf store 8 ,mem_24g_kb_data_sta_data 
+03a7 680c48c7 fetcht 8 ,mem_24g_kb_data_last_data 
+03a8 98467c00 isub temp ,null 
+03a9 2442b1ed ncall g24_kb_data_into_ep1_fifo ,zero 
+03aa 680448bf fetch 8 ,mem_24g_kb_data_sta_data 
+03ab 600448c7 store 8 ,mem_24g_kb_data_last_data 
+03ac 20200133 branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_copy_data1:
-0376 d8c04883 arg mem_24g_rxdata_temp + 4 ,contr 
-0377 df200008 arg 8 ,loopcnt 
-0378 20207f01 branch memcpy 
+03ad d8c04883 arg mem_24g_rxdata_temp + 4 ,contr 
+03ae df200008 arg 8 ,loopcnt 
+03af 20207f01 branch memcpy 
 
 p_g24_kb_enable_blank_data_forcibly:
-0379 7048d501 jam 1 ,mem_24g_kb_blank_data_enable 
-037a 58000180 setarg timer_new_kb_blank_delay 
-037b d8e0000e arg timer_new_kb_blank ,queue 
-037c 20207f08 branch timer_init 
+03b0 7048d501 jam 1 ,mem_24g_kb_blank_data_enable 
+03b1 58000180 setarg timer_new_kb_blank_delay 
+03b2 d8e0000e arg timer_new_kb_blank ,queue 
+03b3 20207f08 branch timer_init 
 
 p_g24_kb_disable_blank_data_forcibly:
-037d 7048d500 jam 0 ,mem_24g_kb_blank_data_enable 
-037e 58000000 setarg 0 
-037f d8e0000e arg timer_new_kb_blank ,queue 
-0380 20207f08 branch timer_init 
+03b4 7048d500 jam 0 ,mem_24g_kb_blank_data_enable 
+03b5 58000000 setarg 0 
+03b6 d8e0000e arg timer_new_kb_blank ,queue 
+03b7 20207f08 branch timer_init 
 
 p_g24_data_type2_data2:
-0381 d8a00d74 arg mem_usb_kb_multikey ,contw 
-0382 2040038f call p_g24_data_type2_copy_data2 
-0383 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
-0384 245a0392 ncall p_g24_kb_mul_enable_blank_data_forcibly ,blank 
-0385 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
-0386 205a0396 call p_g24_kb_mul_disable_blank_data_forcibly ,blank 
-0387 68018d74 fetch 3 ,mem_usb_kb_multikey 
-0388 6001c8cf store 3 ,mem_24g_kb_multikey_sta_data 
-0389 6809c8d2 fetcht 3 ,mem_24g_kb_multikey_last_data 
-038a 98467c00 isub temp ,null 
-038b 2442b207 ncall g24_kb_mul_data_into_ep2_fifo ,zero 
-038c 6801c8cf fetch 3 ,mem_24g_kb_multikey_sta_data 
-038d 6001c8d2 store 3 ,mem_24g_kb_multikey_last_data 
-038e 20200115 branch p_g24_rx_interrupt_clear 
+03b8 d8a00d74 arg mem_usb_kb_multikey ,contw 
+03b9 204003c6 call p_g24_data_type2_copy_data2 
+03ba 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
+03bb 245a03c9 ncall p_g24_kb_mul_enable_blank_data_forcibly ,blank 
+03bc 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
+03bd 205a03cd call p_g24_kb_mul_disable_blank_data_forcibly ,blank 
+03be 68018d74 fetch 3 ,mem_usb_kb_multikey 
+03bf 6001c8cf store 3 ,mem_24g_kb_multikey_sta_data 
+03c0 6809c8d2 fetcht 3 ,mem_24g_kb_multikey_last_data 
+03c1 98467c00 isub temp ,null 
+03c2 2442b207 ncall g24_kb_mul_data_into_ep2_fifo ,zero 
+03c3 6801c8cf fetch 3 ,mem_24g_kb_multikey_sta_data 
+03c4 6001c8d2 store 3 ,mem_24g_kb_multikey_last_data 
+03c5 20200133 branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_copy_data2:
-038f d8c04882 arg mem_24g_rxdata_temp + 3 ,contr 
-0390 df200003 arg 3 ,loopcnt 
-0391 20207f01 branch memcpy 
+03c6 d8c04882 arg mem_24g_rxdata_temp + 3 ,contr 
+03c7 df200003 arg 3 ,loopcnt 
+03c8 20207f01 branch memcpy 
 
 p_g24_kb_mul_enable_blank_data_forcibly:
-0392 7048d601 jam 1 ,mem_24g_kb_mul_blank_data_enable 
-0393 58000180 setarg timer_new_kb_mul_blank_delay 
-0394 d8e0000c arg timer_new_kb_mul_blank ,queue 
-0395 20207f08 branch timer_init 
+03c9 7048d601 jam 1 ,mem_24g_kb_mul_blank_data_enable 
+03ca 58000180 setarg timer_new_kb_mul_blank_delay 
+03cb d8e0000c arg timer_new_kb_mul_blank ,queue 
+03cc 20207f08 branch timer_init 
 
 p_g24_kb_mul_disable_blank_data_forcibly:
-0396 7048d600 jam 0 ,mem_24g_kb_mul_blank_data_enable 
-0397 58000000 setarg 0 
-0398 d8e0000c arg timer_new_kb_mul_blank ,queue 
-0399 20207f08 branch timer_init 
+03cd 7048d600 jam 0 ,mem_24g_kb_mul_blank_data_enable 
+03ce 58000000 setarg 0 
+03cf d8e0000c arg timer_new_kb_mul_blank ,queue 
+03d0 20207f08 branch timer_init 
 
 p_g24_data_type2_data3:
-039a d8a013bc arg mem_usb_kb_system ,contw 
-039b 204003a4 call p_g24_data_type2_copy_data3 
-039c 680113bc fetch 2 ,mem_usb_kb_system 
-039d 600113cc store 2 ,mem_usb_kb_system_sta_data 
-039e 680913cf fetcht 2 ,mem_usb_kb_system_last_data 
-039f 98467c00 isub temp ,null 
-03a0 244283af ncall p_g24_kb_sys_data_into_ep2_fifo ,zero 
-03a1 680113cc fetch 2 ,mem_usb_kb_system_sta_data 
-03a2 600113cf store 2 ,mem_usb_kb_system_last_data 
-03a3 20200115 branch p_g24_rx_interrupt_clear 
+03d1 d8a013bc arg mem_usb_kb_system ,contw 
+03d2 204003db call p_g24_data_type2_copy_data3 
+03d3 680113bc fetch 2 ,mem_usb_kb_system 
+03d4 600113cc store 2 ,mem_usb_kb_system_sta_data 
+03d5 680913cf fetcht 2 ,mem_usb_kb_system_last_data 
+03d6 98467c00 isub temp ,null 
+03d7 244283e6 ncall p_g24_kb_sys_data_into_ep2_fifo ,zero 
+03d8 680113cc fetch 2 ,mem_usb_kb_system_sta_data 
+03d9 600113cf store 2 ,mem_usb_kb_system_last_data 
+03da 20200133 branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_copy_data3:
-03a4 d8c04882 arg mem_24g_rxdata_temp + 3 ,contr 
-03a5 df200002 arg 2 ,loopcnt 
-03a6 20207f01 branch memcpy 
+03db d8c04882 arg mem_24g_rxdata_temp + 3 ,contr 
+03dc df200002 arg 2 ,loopcnt 
+03dd 20207f01 branch memcpy 
 
 p_g24_kb_sys_enable_blank_data_forcibly:
-03a7 7048d601 jam 1 ,mem_24g_kb_mul_blank_data_enable 
-03a8 58000180 setarg timer_new_kb_mul_blank_delay 
-03a9 d8e0000c arg timer_new_kb_mul_blank ,queue 
-03aa 20207f08 branch timer_init 
+03de 7048d601 jam 1 ,mem_24g_kb_mul_blank_data_enable 
+03df 58000180 setarg timer_new_kb_mul_blank_delay 
+03e0 d8e0000c arg timer_new_kb_mul_blank ,queue 
+03e1 20207f08 branch timer_init 
 
 p_g24_kb_sys_disable_blank_data_forcibly:
-03ab 7048d600 jam 0 ,mem_24g_kb_mul_blank_data_enable 
-03ac 58000000 setarg 0 
-03ad d8e0000c arg timer_new_kb_mul_blank ,queue 
-03ae 20207f08 branch timer_init 
+03e2 7048d600 jam 0 ,mem_24g_kb_mul_blank_data_enable 
+03e3 58000000 setarg 0 
+03e4 d8e0000c arg timer_new_kb_mul_blank ,queue 
+03e5 20207f08 branch timer_init 
 
 p_g24_kb_sys_data_into_ep2_fifo:
-03af 700d5222 jam usb_ep2_systemkey ,mem_usb_ep2_data 
-03b0 202031b9 branch g24_data_type1_usbtx_enable_ep2 
+03e6 700d5222 jam usb_ep2_systemkey ,mem_usb_ep2_data 
+03e7 202031b9 branch g24_data_type1_usbtx_enable_ep2 
 
 p_g24_data_attemp:
-03b1 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-03b2 c00083b5 beq datatype_mouse ,p_g24_data_attemp_mouse 
-03b3 c00103b8 beq datatype_keyboard ,p_g24_data_attemp_kbd 
-03b4 20600000 rtn 
+03e8 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+03e9 c00083ec beq datatype_mouse ,p_g24_data_attemp_mouse 
+03ea c00103ef beq datatype_keyboard ,p_g24_data_attemp_kbd 
+03eb 20600000 rtn 
 
 p_g24_data_attemp_mouse:
-03b5 20400127 call p_g24_dongle_binding_mouse_living 
-03b6 68024883 fetch 4 ,mem_24g_rxdata_temp + 4 
-03b7 20200171 branch p_g24_store_mouse_addr 
+03ec 20400145 call p_g24_dongle_binding_mouse_living 
+03ed 68024883 fetch 4 ,mem_24g_rxdata_temp + 4 
+03ee 2020018f branch p_g24_store_mouse_addr 
 
 p_g24_data_attemp_kbd:
-03b8 2040012d call p_g24_dongle_binding_keyboard_living 
-03b9 68024883 fetch 4 ,mem_24g_rxdata_temp + 4 
-03ba 20200174 branch p_g24_store_kbd_addr 
+03ef 2040014b call p_g24_dongle_binding_keyboard_living 
+03f0 68024883 fetch 4 ,mem_24g_rxdata_temp + 4 
+03f1 20200192 branch p_g24_store_kbd_addr 
 
 p_g24_data_attemp_mouse_abort:
-03bb 68024889 fetch 4 ,mem_24g_rxdata_temp + 10 
-03bc 20200171 branch p_g24_store_mouse_addr 
+03f2 68024889 fetch 4 ,mem_24g_rxdata_temp + 10 
+03f3 2020018f branch p_g24_store_mouse_addr 
 
 p_g24_data_attemp_kbd_abort:
-03bd 68024889 fetch 4 ,mem_24g_rxdata_temp + 10 
-03be 20200174 branch p_g24_store_kbd_addr 
+03f4 68024889 fetch 4 ,mem_24g_rxdata_temp + 10 
+03f5 20200192 branch p_g24_store_kbd_addr 
 
 p_g24_ota_process:
-03bf 68014884 fetch 2 ,mem_24g_rxdata_temp + 5 
-03c0 680948ed fetcht 2 ,mem_24g_ota_sta_pid 
-03c1 98467c00 isub temp ,null 
-03c2 202283c4 branch p_g24_ota_next_pac ,zero 
-03c3 20600000 rtn 
+03f6 68014884 fetch 2 ,mem_24g_rxdata_temp + 5 
+03f7 680948ed fetcht 2 ,mem_24g_ota_sta_pid 
+03f8 98467c00 isub temp ,null 
+03f9 202283fb branch p_g24_ota_next_pac ,zero 
+03fa 20600000 rtn 
 
 p_g24_ota_next_pac:
-03c4 6800c883 fetch 1 ,mem_24g_rxdata_temp + 4 
-03c5 c06103d1 beq cmd_ota_exit ,p_g24_ota_exit_process 
-03c6 6800c902 fetch 1 ,mem_queue_ele_num 
-03c7 207a0000 rtn blank 
-03c8 58004903 setarg mem_queue_read 
-03c9 20400185 call p_g24_queue_increase 
-03ca 6800c902 fetch 1 ,mem_queue_ele_num 
-03cb 1fe0ffff increase -1 ,pdata 
-03cc 6000c902 store 1 ,mem_queue_ele_num 
-03cd 6800c883 fetch 1 ,mem_24g_rxdata_temp + 4 
-03ce c06081c6 beq cmd_ota_data ,p_user_defined_queue_buff_free 
-03cf c06103d1 beq cmd_ota_exit ,p_g24_ota_exit_process 
-03d0 20600000 rtn 
+03fb 6800c883 fetch 1 ,mem_24g_rxdata_temp + 4 
+03fc c0610408 beq cmd_ota_exit ,p_g24_ota_exit_process 
+03fd 6800c902 fetch 1 ,mem_queue_ele_num 
+03fe 207a0000 rtn blank 
+03ff 58004903 setarg mem_queue_read 
+0400 204001a3 call p_g24_queue_increase 
+0401 6800c902 fetch 1 ,mem_queue_ele_num 
+0402 1fe0ffff increase -1 ,pdata 
+0403 6000c902 store 1 ,mem_queue_ele_num 
+0404 6800c883 fetch 1 ,mem_24g_rxdata_temp + 4 
+0405 c06081e6 beq cmd_ota_data ,p_user_defined_queue_buff_free 
+0406 c0610408 beq cmd_ota_exit ,p_g24_ota_exit_process 
+0407 20600000 rtn 
 
 p_g24_ota_exit_process:
-03d1 58000000 setarg 0 
-03d2 600148ed store 2 ,mem_24g_ota_sta_pid 
-03d3 6000c8ba store 1 ,mem_24g_ackpayload_enable 
-03d4 20400176 call p_g24_queue_init 
-03d5 6800c886 fetch 1 ,mem_24g_rxdata_temp + 7 
-03d6 c02a83d9 beq ota_sta_success ,p_g24_ota_exit_success 
-03d7 c05503db beq ota_sta_fail ,p_g24_ota_exit_fail 
-03d8 20600000 rtn 
+0408 58000000 setarg 0 
+0409 600148ed store 2 ,mem_24g_ota_sta_pid 
+040a 6000c8ba store 1 ,mem_24g_ackpayload_enable 
+040b 20400194 call p_g24_queue_init 
+040c 6800c886 fetch 1 ,mem_24g_rxdata_temp + 7 
+040d c02a8410 beq ota_sta_success ,p_g24_ota_exit_success 
+040e c0550412 beq ota_sta_fail ,p_g24_ota_exit_fail 
+040f 20600000 rtn 
 
 p_g24_ota_exit_success:
-03d9 700cf702 jam 2 ,mem_usb0_get_report_data + 1 
-03da 2020303f branch usb0_data_ready_report_set1 
+0410 700cf702 jam 2 ,mem_usb0_get_report_data + 1 
+0411 2020303f branch usb0_data_ready_report_set1 
 
 p_g24_ota_exit_fail:
-03db 700cf703 jam 3 ,mem_usb0_get_report_data + 1 
-03dc 2020303f branch usb0_data_ready_report_set1 
+0412 700cf703 jam 3 ,mem_usb0_get_report_data + 1 
+0413 2020303f branch usb0_data_ready_report_set1 
 
 p_set_freq_tx:
-03dd 60088017 storet 1 ,mem_last_freq 
-03de 1840a200 add temp ,0 ,rega 
-03df 20402981 call rf_write_freq 
-03e0 58000500 setarg param_pll_setup 
-03e1 20402a8f call sleep 
+0414 60088017 storet 1 ,mem_last_freq 
+0415 1840a200 add temp ,0 ,rega 
+0416 20402981 call rf_write_freq 
+0417 58000500 setarg param_pll_setup 
+0418 20402a8f call sleep 
 
 p_rf_tx_enable:
-03e2 70890601 jam 0x1 ,rfen_adc 
-03e3 7089003c jam 0x3c ,rfen_rx 
-03e4 708901e0 jam 0xe0 ,rfen_tx 
-03e5 2000000a nop 10 
-03e6 70890201 jam 0x01 ,rfen_mdm 
-03e7 7089023d jam 0x3d ,rfen_mdm 
-03e8 2000000a nop 10 
-03e9 708903b7 jam 0xb7 ,rfen_sn 
-03ea 2000000a nop 10 
-03eb 7089027d jam 0x7d ,rfen_mdm 
-03ec 6800c1de fetch 1 ,mem_tx_power 
-03ed c00203f6 beq tx_power_f5db ,p_set_tx_power_f5db 
-03ee 202003ef branch p_set_tx_power_5db 
+0419 70890601 jam 0x1 ,rfen_adc 
+041a 7089003c jam 0x3c ,rfen_rx 
+041b 708901e0 jam 0xe0 ,rfen_tx 
+041c 2000000a nop 10 
+041d 70890201 jam 0x01 ,rfen_mdm 
+041e 7089023d jam 0x3d ,rfen_mdm 
+041f 2000000a nop 10 
+0420 708903b7 jam 0xb7 ,rfen_sn 
+0421 2000000a nop 10 
+0422 7089027d jam 0x7d ,rfen_mdm 
+0423 6800c1de fetch 1 ,mem_tx_power 
+0424 c002042d beq tx_power_f5db ,p_set_tx_power_f5db 
+0425 20200426 branch p_set_tx_power_5db 
 
 p_set_tx_power_5db:
-03ef 70894bba jam 0xba ,0x894b 
-03f0 708955d0 jam 0xd0 ,0x8955 
-03f1 708956e0 jam 0xe0 ,0x8956 
-03f2 70895788 jam 0x88 ,0x8957 
-03f3 7089583c jam 0x3c ,0x8958 
-03f4 70895910 jam 0x10 ,0x8959 
-03f5 20202953 branch set_tx_power_5db 
+0426 70894bba jam 0xba ,0x894b 
+0427 708955d0 jam 0xd0 ,0x8955 
+0428 708956e0 jam 0xe0 ,0x8956 
+0429 70895788 jam 0x88 ,0x8957 
+042a 7089583c jam 0x3c ,0x8958 
+042b 70895910 jam 0x10 ,0x8959 
+042c 20202953 branch set_tx_power_5db 
 
 p_set_tx_power_f5db:
-03f6 70894bba jam 0xba ,0x894b 
-03f7 708955d0 jam 0xd0 ,0x8955 
-03f8 708956c0 jam 0xc0 ,0x8956 
-03f9 70895788 jam 0x88 ,0x8957 
-03fa 7089586c jam 0x6c ,0x8958 
-03fb 70895910 jam 0x10 ,0x8959 
-03fc 2020295b branch set_tx_power_f5db 
+042d 70894bba jam 0xba ,0x894b 
+042e 708955d0 jam 0xd0 ,0x8955 
+042f 708956c0 jam 0xc0 ,0x8956 
+0430 70895788 jam 0x88 ,0x8957 
+0431 7089586c jam 0x6c ,0x8958 
+0432 70895910 jam 0x10 ,0x8959 
+0433 2020295b branch set_tx_power_f5db 
 
 p_soft_reset:
-03fd 20800000 clear_stack 
-03fe 68108043 hfetch 1 ,core_config 
-03ff 79207e03 set1 watchdog_bit ,pdata 
-0400 60108043 hstore 1 ,core_config 
-0401 2040640d call spi_ncs_gpio_init 
-0402 70895b86 jam 0x86 ,0x895b 
-0403 70895ca0 jam 0xa0 ,0x895c 
-0404 20202004 branch soft_reset + 3 
+0434 20800000 clear_stack 
+0435 68108043 hfetch 1 ,core_config 
+0436 79207e03 set1 watchdog_bit ,pdata 
+0437 60108043 hstore 1 ,core_config 
+0438 2040640d call spi_ncs_gpio_init 
+0439 70895b86 jam 0x86 ,0x895b 
+043a 70895ca0 jam 0xa0 ,0x895c 
+043b 20202004 branch soft_reset + 3 
 
 p_shutdown_radio:
-0405 18002a08 force 8 ,radio_ctrl 
-0406 202028fa branch shutdown_radio + 1 
+043c 18002a08 force 8 ,radio_ctrl 
+043d 202028fa branch shutdown_radio + 1 
 
 p_initialize_radio_cont:
-0407 20402978 call initialize_radio_cont + 1 
-0408 70804205 jam clksel_dpll ,core_clksel 
-0409 20600000 rtn 
+043e 20402978 call initialize_radio_cont + 1 
+043f 70804205 jam clksel_dpll ,core_clksel 
+0440 20600000 rtn 
 
 p_rssi_noise:
-040a 204029bb call save_rssi 
-040b 207a0000 rtn blank 
-040c 6808c8f2 fetcht 1 ,mem_rssi_noise_index 
-040d da200d9e arg mem_rssi_noise_buffer ,rega 
-040e 20400411 call p_rssi_store 
-040f 6008c8f2 storet 1 ,mem_rssi_noise_index 
-0410 20600000 rtn 
+0441 204029bb call save_rssi 
+0442 207a0000 rtn blank 
+0443 6808c8f2 fetcht 1 ,mem_rssi_noise_index 
+0444 da200d9e arg mem_rssi_noise_buffer ,rega 
+0445 20400448 call p_rssi_store 
+0446 6008c8f2 storet 1 ,mem_rssi_noise_index 
+0447 20600000 rtn 
 
 p_rssi_store:
-0411 1a227e00 copy rega ,pdata 
-0412 98408a00 iadd temp ,contw 
-0413 68008018 fetch 1 ,mem_rssi 
-0414 e0a08000 istore 1 ,contw 
-0415 18408401 increase 1 ,temp 
-0416 184104ff and_into rssi_buf_len_noise ,temp 
-0417 20600000 rtn 
+0448 1a227e00 copy rega ,pdata 
+0449 98408a00 iadd temp ,contw 
+044a 68008018 fetch 1 ,mem_rssi 
+044b e0a08000 istore 1 ,contw 
+044c 18408401 increase 1 ,temp 
+044d 184104ff and_into rssi_buf_len_noise ,temp 
+044e 20600000 rtn 
 
 p_rssi_average:
-0418 d8400000 arg 0 ,temp 
-0419 df200100 arg rssi_buf_len_noise + 1 ,loopcnt 
-041a 1a220c00 copy rega ,contr 
-041b 20202e64 branch rssi_average_loop 
-041c 20600000 rtn 
+044f d8400000 arg 0 ,temp 
+0450 df200100 arg rssi_buf_len_noise + 1 ,loopcnt 
+0451 1a220c00 copy rega ,contr 
+0452 20202e64 branch rssi_average_loop 
+0453 20600000 rtn 
 
 p_g24_update_addr_and_synccrc8:
-041d 60024860 store 4 ,mem_24g_addr 
+0454 60024860 store 4 ,mem_24g_addr 
 
 p_g24_syncword_crc8:
-041e da200000 arg 0 ,rega 
-041f df200004 arg 4 ,loopcnt 
-0420 d8c04860 arg mem_24g_addr ,contr 
+0455 da200000 arg 0 ,rega 
+0456 df200004 arg 4 ,loopcnt 
+0457 d8c04860 arg mem_24g_addr ,contr 
 
 p_g24_syncword_crc8_loop:
-0421 e8c08000 ifetch 1 ,contr 
-0422 9a20a200 iadd rega ,rega 
-0423 c2000421 loop p_g24_syncword_crc8_loop 
-0424 1a227e00 copy rega ,pdata 
-0425 600148e9 store 2 ,mem_24g_syncword 
-0426 6800c8e9 fetch 1 ,mem_24g_syncword 
-0427 6808c8ea fetcht 1 ,mem_24g_syncword + 1 
-0428 9840fe00 iadd temp ,pdata 
-0429 6000c8eb store 1 ,mem_24g_syncword_crc8 
-042a 20600000 rtn 
+0458 e8c08000 ifetch 1 ,contr 
+0459 9a20a200 iadd rega ,rega 
+045a c2000458 loop p_g24_syncword_crc8_loop 
+045b 1a227e00 copy rega ,pdata 
+045c 600148e9 store 2 ,mem_24g_syncword 
+045d 6800c8e9 fetch 1 ,mem_24g_syncword 
+045e 6808c8ea fetcht 1 ,mem_24g_syncword + 1 
+045f 9840fe00 iadd temp ,pdata 
+0460 6000c8eb store 1 ,mem_24g_syncword_crc8 
+0461 20600000 rtn 
 
 p_g24_transmit_prep:
-042b 6800c838 fetch 1 ,mem_24g_datalen 
-042c 1fe0fe02 increase 2 ,pdata 
-042d 6000c83a store 1 ,mem_24g_txlen 
-042e 6800c839 fetch 1 ,mem_24g_data_type 
-042f 6000c7f4 store 1 ,mem_24g_txpayload 
-0430 6800c838 fetch 1 ,mem_24g_datalen 
-0431 1fe9fe00 lshift3 pdata ,pdata 
-0432 6808c837 fetcht 1 ,mem_24g_pid 
-0433 18410403 and temp ,0x03 ,temp 
-0434 18438400 lshift temp ,temp 
-0435 9841fe00 ior temp ,pdata 
-0436 6808c874 fetcht 1 ,mem_24g_no_ack 
-0437 9840fe00 iadd temp ,pdata 
-0438 e0a08000 istore 1 ,contw 
-0439 6800c838 fetch 1 ,mem_24g_datalen 
-043a 98007200 iforce loopcnt 
-043b d8c047d4 arg mem_24g_txbuf ,contr 
-043c 20207f01 branch memcpy 
+0462 6800c838 fetch 1 ,mem_24g_datalen 
+0463 1fe0fe02 increase 2 ,pdata 
+0464 6000c83a store 1 ,mem_24g_txlen 
+0465 6800c839 fetch 1 ,mem_24g_data_type 
+0466 6000c7f4 store 1 ,mem_24g_txpayload 
+0467 6800c838 fetch 1 ,mem_24g_datalen 
+0468 1fe9fe00 lshift3 pdata ,pdata 
+0469 6808c837 fetcht 1 ,mem_24g_pid 
+046a 18410403 and temp ,0x03 ,temp 
+046b 18438400 lshift temp ,temp 
+046c 9841fe00 ior temp ,pdata 
+046d 6808c874 fetcht 1 ,mem_24g_no_ack 
+046e 9840fe00 iadd temp ,pdata 
+046f e0a08000 istore 1 ,contw 
+0470 6800c838 fetch 1 ,mem_24g_datalen 
+0471 98007200 iforce loopcnt 
+0472 d8c047d4 arg mem_24g_txbuf ,contr 
+0473 20207f01 branch memcpy 
 
 p_g24_ch:
-043d 6808c843 fetcht 1 ,mem_24g_current_ch_number 
-043e 20400441 call p_g24_ch_map_size 
-043f 6008c843 storet 1 ,mem_24g_current_ch_number 
-0440 20600000 rtn 
+0474 6808c843 fetcht 1 ,mem_24g_current_ch_number 
+0475 20400478 call p_g24_ch_map_size 
+0476 6008c843 storet 1 ,mem_24g_current_ch_number 
+0477 20600000 rtn 
 
 p_g24_ch_map_size:
-0441 20400445 call p_g24_ch_calc 
-0442 18408401 increase 1 ,temp 
-0443 18410403 and_into 3 ,temp 
-0444 20600000 rtn 
+0478 2040047c call p_g24_ch_calc 
+0479 18408401 increase 1 ,temp 
+047a 18410403 and_into 3 ,temp 
+047b 20600000 rtn 
 
 p_g24_ch_calc:
-0445 6800c860 fetch 1 ,mem_24g_addr 
-0446 1fe17e03 and_into 0x03 ,pdata 
-0447 1fefa204 mul32 pdata ,4 ,rega 
-0448 58004849 setarg mem_24g_ch_map1 
-0449 9a20fe00 iadd rega ,pdata 
-044a 98408c00 iadd temp ,contr 
-044b e8c08000 ifetch 1 ,contr 
-044c 6000c842 store 1 ,mem_24g_ch 
-044d 20600000 rtn 
+047c 6800c860 fetch 1 ,mem_24g_addr 
+047d 1fe17e03 and_into 0x03 ,pdata 
+047e 1fefa204 mul32 pdata ,4 ,rega 
+047f 58004849 setarg mem_24g_ch_map1 
+0480 9a20fe00 iadd rega ,pdata 
+0481 98408c00 iadd temp ,contr 
+0482 e8c08000 ifetch 1 ,contr 
+0483 6000c842 store 1 ,mem_24g_ch 
+0484 20600000 rtn 
 
 p_g24_prep:
-044e 7844fc00 disable enable_crc 
-044f 7843fc00 disable enable_white 
-0450 58555555 setarg 0x555555 
-0451 98001e00 iforce crc24_init 
-0452 6800c842 fetch 1 ,mem_24g_ch 
-0453 1fed8400 reverse pdata ,temp 
-0454 79200401 set1 1 ,temp 
-0455 18431c00 rshift temp ,white_init 
-0456 20600000 rtn 
+0485 7844fc00 disable enable_crc 
+0486 7843fc00 disable enable_white 
+0487 58555555 setarg 0x555555 
+0488 98001e00 iforce crc24_init 
+0489 6800c842 fetch 1 ,mem_24g_ch 
+048a 1fed8400 reverse pdata ,temp 
+048b 79200401 set1 1 ,temp 
+048c 18431c00 rshift temp ,white_init 
+048d 20600000 rtn 
 
 p_g24_receive_packet:
-0457 204053c4 call le_enable 
-0458 68024860 fetch 4 ,mem_24g_addr 
-0459 98001200 iforce access 
-045a 20402918 call set_sync_on 
-045b 6808c842 fetcht 1 ,mem_24g_ch 
-045c 2040291f call set_freq_rx 
-045d 58000500 setarg param_pll_setup 
-045e 20402a8f call sleep 
-045f 20402924 call rf_rx_enable 
+048e 204053c4 call le_enable 
+048f 68024860 fetch 4 ,mem_24g_addr 
+0490 98001200 iforce access 
+0491 20402918 call set_sync_on 
+0492 6808c842 fetcht 1 ,mem_24g_ch 
+0493 2040291f call set_freq_rx 
+0494 58000500 setarg param_pll_setup 
+0495 20402a8f call sleep 
+0496 20402924 call rf_rx_enable 
 
 p_g24_receive_rxon:
-0460 2040044e call p_g24_prep 
-0461 7857fc00 disable user3 
-0462 7826fc00 enable decode_fec0 
-0463 7830fc00 enable is_rx 
-0464 78507c00 disable is_tx 
-0465 78287c00 enable swfine 
-0466 6801483b fetch 2 ,mem_24g_rx_window 
-0467 98003600 iforce stop_watch 
-0468 37c18400 correlate null ,timeout 
-0469 242c049c nbranch p_g24_sync_timeout ,sync 
-046a 7846fc00 disable decode_fec0 
-046b 7825fc00 enable decode_fec1 
-046c 7823fc00 enable enable_white 
-046d 7824fc00 enable enable_crc 
-046e 09800008 parse demod ,bucket ,8 
-046f 19897e00 rshift3 pwindow ,pdata 
-0470 6000c8ec store 1 ,mem_24g_get_syncword_crc8 
-0471 6808c8eb fetcht 1 ,mem_24g_syncword_crc8 
-0472 98467c00 isub temp ,null 
-0473 24228499 nbranch p_g24_end_of_packet ,zero 
-0474 09800008 parse demod ,bucket ,8 
-0475 19897e00 rshift3 pwindow ,pdata 
-0476 6000c7b2 store 1 ,mem_24g_rxbuf 
-0477 6800c87e fetch 1 ,mem_24g_mode 
-0478 1fe67c02 sub pdata ,rx_24g ,null 
-0479 2022847e branch p_g24_receive_skip ,zero 
-047a 6800c7b2 fetch 1 ,mem_24g_rxbuf 
-047b 6808c839 fetcht 1 ,mem_24g_data_type 
-047c a8400e00 icompare bits_data ,temp 
-047d 24208499 nbranch p_g24_end_of_packet ,true 
+0497 20400485 call p_g24_prep 
+0498 7857fc00 disable user3 
+0499 7826fc00 enable decode_fec0 
+049a 7830fc00 enable is_rx 
+049b 78507c00 disable is_tx 
+049c 78287c00 enable swfine 
+049d 6801483b fetch 2 ,mem_24g_rx_window 
+049e 98003600 iforce stop_watch 
+049f 37c18400 correlate null ,timeout 
+04a0 242c04d3 nbranch p_g24_sync_timeout ,sync 
+04a1 7846fc00 disable decode_fec0 
+04a2 7825fc00 enable decode_fec1 
+04a3 7823fc00 enable enable_white 
+04a4 7824fc00 enable enable_crc 
+04a5 09800008 parse demod ,bucket ,8 
+04a6 19897e00 rshift3 pwindow ,pdata 
+04a7 6000c8ec store 1 ,mem_24g_get_syncword_crc8 
+04a8 6808c8eb fetcht 1 ,mem_24g_syncword_crc8 
+04a9 98467c00 isub temp ,null 
+04aa 242284d0 nbranch p_g24_end_of_packet ,zero 
+04ab 09800008 parse demod ,bucket ,8 
+04ac 19897e00 rshift3 pwindow ,pdata 
+04ad 6000c7b2 store 1 ,mem_24g_rxbuf 
+04ae 6800c87e fetch 1 ,mem_24g_mode 
+04af 1fe67c02 sub pdata ,rx_24g ,null 
+04b0 202284b5 branch p_g24_receive_skip ,zero 
+04b1 6800c7b2 fetch 1 ,mem_24g_rxbuf 
+04b2 6808c839 fetcht 1 ,mem_24g_data_type 
+04b3 a8400e00 icompare bits_data ,temp 
+04b4 242084d0 nbranch p_g24_end_of_packet ,true 
 
 p_g24_receive_skip:
-047e 09800008 parse demod ,bucket ,8 
-047f 19897e00 rshift3 pwindow ,pdata 
-0480 e0a08000 istore 1 ,contw 
-0481 1fe97e00 rshift3 pdata ,pdata 
-0482 1fe1721f and pdata ,0x1f ,loopcnt 
-0483 20228488 branch p_g24rx_nopayload ,zero 
+04b5 09800008 parse demod ,bucket ,8 
+04b6 19897e00 rshift3 pwindow ,pdata 
+04b7 e0a08000 istore 1 ,contw 
+04b8 1fe97e00 rshift3 pdata ,pdata 
+04b9 1fe1721f and pdata ,0x1f ,loopcnt 
+04ba 202284bf branch p_g24rx_nopayload ,zero 
 
 p_g24rx_loop:
-0484 09800008 parse demod ,bucket ,8 
-0485 19897e00 rshift3 pwindow ,pdata 
-0486 e0a08000 istore 1 ,contw 
-0487 c2000484 loop p_g24rx_loop 
+04bb 09800008 parse demod ,bucket ,8 
+04bc 19897e00 rshift3 pwindow ,pdata 
+04bd e0a08000 istore 1 ,contw 
+04be c20004bb loop p_g24rx_loop 
 
 p_g24rx_nopayload:
-0488 09800018 parse demod ,bucket ,24 
-0489 78287c00 enable swfine 
-048a db600664 arg param_sifs ,stop_watch 
-048b 1fef7e00 rshift32 pdata ,pdata 
-048c 1ff17e00 rshift16 pdata ,pdata 
-048d e0a18000 istore 3 ,contw 
-048e 7845fc00 disable decode_fec1 
-048f 204029bb call save_rssi 
-0490 20230499 branch p_g24_end_of_packet ,crc_failed 
-0491 7837fc00 enable user3 
-0492 68008017 fetch 1 ,mem_last_freq 
-0493 1fe0a200 add pdata ,0 ,rega 
-0494 20402981 call rf_write_freq 
-0495 7846fc00 disable decode_fec0 
-0496 20402918 call set_sync_on 
-0497 20600000 rtn 
-0498 20600000 rtn 
+04bf 09800018 parse demod ,bucket ,24 
+04c0 78287c00 enable swfine 
+04c1 db600664 arg param_sifs ,stop_watch 
+04c2 1fef7e00 rshift32 pdata ,pdata 
+04c3 1ff17e00 rshift16 pdata ,pdata 
+04c4 e0a18000 istore 3 ,contw 
+04c5 7845fc00 disable decode_fec1 
+04c6 204029bb call save_rssi 
+04c7 202304d0 branch p_g24_end_of_packet ,crc_failed 
+04c8 7837fc00 enable user3 
+04c9 68008017 fetch 1 ,mem_last_freq 
+04ca 1fe0a200 add pdata ,0 ,rega 
+04cb 20402981 call rf_write_freq 
+04cc 7846fc00 disable decode_fec0 
+04cd 20402918 call set_sync_on 
+04ce 20600000 rtn 
+04cf 20600000 rtn 
 
 p_g24_end_of_packet:
-0499 784dfc00 disable encode_fec1 
-049a 7845fc00 disable decode_fec1 
-049b 2020264d branch end_of_packet 
+04d0 784dfc00 disable encode_fec1 
+04d1 7845fc00 disable decode_fec1 
+04d2 2020264d branch end_of_packet 
 
 p_g24_sync_timeout:
-049c 2040040a call p_rssi_noise 
-049d 20200499 branch p_g24_end_of_packet 
+04d3 20400441 call p_rssi_noise 
+04d4 202004d0 branch p_g24_end_of_packet 
 
 p_g24_set_freq_tx:
-049e 20402918 call set_sync_on 
-049f 6808c842 fetcht 1 ,mem_24g_ch 
-04a0 20202933 branch set_freq_tx 
+04d5 20402918 call set_sync_on 
+04d6 6808c842 fetcht 1 ,mem_24g_ch 
+04d7 20202933 branch set_freq_tx 
 
 p_g24_transmit:
-04a1 204053c4 call le_enable 
-04a2 68024860 fetch 4 ,mem_24g_addr 
-04a3 98001200 iforce access 
-04a4 2040044e call p_g24_prep 
-04a5 2040049e call p_g24_set_freq_tx 
-04a6 79202a00 set1 txgfsk ,radio_ctrl 
-04a7 782efc00 enable encode_fec0 
-04a8 78307c00 enable is_tx 
-04a9 7850fc00 disable is_rx 
-04aa 19317e00 rshift16 access ,pdata 
-04ab 1fecfe00 rshift8 pdata ,pdata 
-04ac 1ff1fe00 rshift4 pdata ,pdata 
-04ad 08008628 inject mod ,40 
-04ae 784efc00 disable encode_fec0 
-04af 782dfc00 enable encode_fec1 
-04b0 7823fc00 enable enable_white 
-04b1 7824fc00 enable enable_crc 
-04b2 6800c8eb fetch 1 ,mem_24g_syncword_crc8 
-04b3 08008608 inject mod ,8 
-04b4 6800c83a fetch 1 ,mem_24g_txlen 
-04b5 98007200 iforce loopcnt 
-04b6 d8c047f4 arg mem_24g_txpayload ,contr 
+04d8 204053c4 call le_enable 
+04d9 68024860 fetch 4 ,mem_24g_addr 
+04da 98001200 iforce access 
+04db 20400485 call p_g24_prep 
+04dc 204004d5 call p_g24_set_freq_tx 
+04dd 79202a00 set1 txgfsk ,radio_ctrl 
+04de 782efc00 enable encode_fec0 
+04df 78307c00 enable is_tx 
+04e0 7850fc00 disable is_rx 
+04e1 19317e00 rshift16 access ,pdata 
+04e2 1fecfe00 rshift8 pdata ,pdata 
+04e3 1ff1fe00 rshift4 pdata ,pdata 
+04e4 08008628 inject mod ,40 
+04e5 784efc00 disable encode_fec0 
+04e6 782dfc00 enable encode_fec1 
+04e7 7823fc00 enable enable_white 
+04e8 7824fc00 enable enable_crc 
+04e9 6800c8eb fetch 1 ,mem_24g_syncword_crc8 
+04ea 08008608 inject mod ,8 
+04eb 6800c83a fetch 1 ,mem_24g_txlen 
+04ec 98007200 iforce loopcnt 
+04ed d8c047f4 arg mem_24g_txpayload ,contr 
 
 p_g24tr_loop:
-04b7 e8c08000 ifetch 1 ,contr 
-04b8 08008608 inject mod ,8 
-04b9 c20004b7 loop p_g24tr_loop 
-04ba 6800c8f0 fetch 1 ,mem_rssi_hex 
-04bb 08008608 inject mod ,8 
-04bc 78247c00 enable enable_parity 
-04bd 08008618 inject mod ,24 
-04be 78447c00 disable enable_parity 
-04bf 37d38200 until null ,tx_clear 
-04c0 20000064 nop 100 
-04c1 784efc00 disable encode_fec0 
-04c2 784dfc00 disable encode_fec1 
-04c3 20600000 rtn 
+04ee e8c08000 ifetch 1 ,contr 
+04ef 08008608 inject mod ,8 
+04f0 c20004ee loop p_g24tr_loop 
+04f1 6800c8f0 fetch 1 ,mem_rssi_hex 
+04f2 08008608 inject mod ,8 
+04f3 78247c00 enable enable_parity 
+04f4 08008618 inject mod ,24 
+04f5 78447c00 disable enable_parity 
+04f6 37d38200 until null ,tx_clear 
+04f7 20000064 nop 100 
+04f8 784efc00 disable encode_fec0 
+04f9 784dfc00 disable encode_fec1 
+04fa 20600000 rtn 
               org 0x2000
 
 start:
Index: program/patch.prog
===================================================================
--- /branch/USB/dongle_16M/program/patch.prog	(revision 3197)
+++ /branch/USB/dongle_16M/program/patch.prog	(working copy)
@@ -113,23 +113,61 @@
 	hfetch 1,core_usb_ep_len
 	store 1,mem_usb_read_len
 	copy pdata,loopcnt
-	branch usb_rx_no_data,blank
+	branch p_usb_rx_no_data,blank
 	arg mem_usb_setup,contw
 	call usb_rx_read
 	fetch 1,mem_usb_read_len
+	beq 0x01,p_usb_out_one_byte	// HUAWEI pad led status
 	sub pdata,7,null
-	rtn positive 
+	rtn positive
+p_usb_class_type:	
 	fetch 1,mem_usb_setup_bmRequestType
 	and_into 0x80,pdata
 	beq OUT_DEVICE,p_usb_out_device
 	branch usb_class_type+2
+
+p_usb_rx_no_data:
+	fetch 1,mem_usb_status
+	bbit1 USB_STATUS_SETUP,p_usb_class_type
+	rtn
+
+p_usb_out_one_byte:
+	fetch 1,mem_usb_setup
+	rtnbit1 7	// OUT_DEVICE
+	call p_usb_get_led_status
+	branch usb0_reply_zerolen
+
+	
 p_usb_out_device:
 	fetch 1,mem_usb_setup_bmRequestType
 	rshift4 pdata,pdata
 	rshift pdata,pdata
 	and_into 0x03,pdata
-	beq CLASS_REQ,p_usb_out_class_req	
+	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
@@ -152,7 +190,9 @@
 
 p_usb_get_output_data:
 	fetch 1,mem_usb0_setup
+p_usb_get_led_status:
 	store 1,mem_24g_led_status
+	jam 0,mem_usb_tx_win_enable
 	jam KB_LED_ACKPAYLOAD,mem_24g_ackpayload_enable
 	rtn
 
@@ -321,7 +361,10 @@
 	call timer_check
 	nrtn blank
 	jam 0,mem_24g_kb_blank_data_enable
-	branch g24_kb_blank_data_2usb
+	call g24_kb_blank_data_2usb
+	fetch 8,mem_usb_kb_data
+	store 8,mem_24g_kb_data_last_data
+	rtn
 
 p_g24_kb_mul_blank_data:
 	fetch 1,mem_24g_kb_mul_blank_data_enable
@@ -330,7 +373,10 @@
 	call timer_check
 	nrtn blank
 	jam 0,mem_24g_kb_mul_blank_data_enable
-	branch g24_kb_mul_blank_data_2usb
+	call g24_kb_mul_blank_data_2usb
+	fetch 3,mem_usb_kb_multikey
+	store 3,mem_24g_kb_multikey_last_data
+	rtn
 
 p_g24_dongle_bind_mode:
 	fetch 1,mem_dongle_work_mode
@@ -543,7 +589,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
@@ -733,6 +780,8 @@
 	branch p_g24_timer_init
 
 p_g24_mode_switch_2:
+	fetch 1,mem_dongle_work_mode
+	rtneq DONGLE_WORK
 	fetch 1,mem_24g_mode_switch_exit_2
 	nrtn blank
 	fetch 1,mem_24g_mode_switch_2
@@ -748,7 +797,7 @@
 	branch p_g24_mode_switch_exit_2,positive
 
 	call p_g24_work_mode_delay
-
+	
 	fetch 1,mem_24g_time_slice_2
 	increase 1,pdata
 	and_into 1,pdata
@@ -1022,6 +1071,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
@@ -1029,6 +1095,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
