Index: format/g24.format
===================================================================
--- /branch/USB/dongle_16M/format/g24.format	(revision 3137)
+++ /branch/USB/dongle_16M/format/g24.format	(working copy)
@@ -131,6 +131,14 @@
 1 mem_24g_work_delay_count
 
 4 mem_24g_factory_addr
+
+1 mem_24g_mode_switch_2
+1 mem_24g_mode_switch_2_init
+2 mem_24g_mode_switch_cnt_2
+1 mem_24g_mode_switch_exit_2
+1 mem_24g_time_slice_2
+
+1 mem_dongle_bind_device_living
 )
 
 (
Index: output/eeprom.dat
===================================================================
--- /branch/USB/dongle_16M/output/eeprom.dat	(revision 3137)
+++ /branch/USB/dongle_16M/output/eeprom.dat	(working copy)
@@ -2,8 +2,8 @@
 02
 aa
 55
-b2
-11
+f6
+12
 c2
 84
 00
@@ -11,19 +11,19 @@
 c0
 42
 83
-ad
+fe
 c0
 44
 83
-85
+d6
 c0
 45
-03
-af
+04
+00
 c0
 00
 03
-a5
+f6
 c0
 47
 00
@@ -470,6 +470,10 @@
 00
 70
 49
+87
+00
+70
+49
 7b
 07
 20
@@ -495,15 +499,15 @@
 20
 40
 00
-93
+94
 20
 40
 01
-51
+6f
 20
 40
 00
-82
+83
 68
 00
 c8
@@ -511,15 +515,15 @@
 c0
 00
 01
-a5
+c3
 c0
 00
 80
-9d
+9e
 c0
 07
 80
-99
+9a
 20
 60
 00
@@ -531,7 +535,7 @@
 20
 40
 00
-8f
+90
 20
 40
 65
@@ -619,39 +623,39 @@
 20
 40
 00
-a2
+a3
 20
 40
 00
-a6
+a7
 20
 40
 01
-6f
+8d
 20
 20
 00
-9a
+9b
 20
 40
 00
-a2
+a3
 20
 40
 00
-a6
+a7
 20
 40
 00
-f1
+f2
 20
 40
 01
-6f
+8d
 20
 20
 00
-9e
+9f
 70
 48
 ba
@@ -679,19 +683,19 @@
 20
 40
 00
-ac
+ad
 20
 40
 00
-ba
+bb
 20
 40
-02
-c6
+03
+13
 20
 20
 00
-d9
+da
 68
 00
 c8
@@ -738,16 +742,16 @@
 a1
 20
 40
-03
-c5
+04
+16
 20
 40
-03
-e5
+04
+36
 20
 20
 01
-0d
+0e
 68
 00
 c8
@@ -755,7 +759,7 @@
 c0
 00
 80
-d3
+d4
 68
 00
 c8
@@ -763,7 +767,7 @@
 c0
 00
 80
-cd
+ce
 68
 0a
 48
@@ -822,16 +826,16 @@
 01
 20
 20
-03
-e5
+04
+36
 70
 48
 bb
 00
 20
 20
-03
-e5
+04
+36
 1c
 42
 7e
@@ -854,8 +858,8 @@
 9e
 20
 40
-03
-c0
+04
+11
 60
 08
 c8
@@ -870,20 +874,20 @@
 00
 20
 20
-03
-e5
+04
+36
 20
 40
 00
-dc
+dd
 20
 40
 00
-e3
+e4
 20
 20
 00
-ea
+eb
 68
 00
 c8
@@ -979,11 +983,11 @@
 20
 40
 00
-f5
+f6
 20
 20
 01
-01
+02
 68
 00
 c8
@@ -1030,16 +1034,16 @@
 44
 20
 20
-03
-c5
+04
+16
 20
 40
-01
-fd
+02
+46
 24
 37
 81
-0d
+0e
 70
 49
 7c
@@ -1067,19 +1071,19 @@
 c0
 55
 01
-10
+2c
 c0
 2a
 81
-1d
+39
 c0
 11
 01
-2d
+49
 c0
 7f
 81
-47
+65
 d8
 a0
 47
@@ -1095,15 +1099,123 @@
 68
 00
 c8
+a6
+c1
+80
+80
+00
+68
+00
+c8
+bc
+24
+7a
+00
+00
+68
+00
+c7
+b5
+c0
+00
+81
+19
+c0
+01
+01
+1d
+20
+60
+00
+00
+68
+00
+c9
+87
+c4
+00
+00
+00
+78
+57
+fc
+00
+20
+60
+00
+00
+68
+00
+c9
+87
+c4
+00
+80
+00
+20
+20
+01
+1b
+68
+00
+c8
+bc
+24
+7a
+00
+00
+68
+00
+c9
+87
+1f
+e1
+fe
+01
+60
+00
+c9
+87
+20
+60
+00
+00
+68
+00
+c8
+bc
+24
+7a
+00
+00
+68
+00
+c9
+87
+1f
+e1
+fe
+02
+60
+00
+c9
+87
+20
+60
+00
+00
+68
+00
+c8
 82
 c0
 00
 81
-14
+30
 c0
 01
 01
-1a
+36
 20
 60
 00
@@ -1143,7 +1255,7 @@
 20
 20
 01
-16
+32
 68
 00
 c8
@@ -1151,11 +1263,11 @@
 c0
 00
 81
-21
+3d
 c0
 01
 01
-27
+43
 20
 60
 00
@@ -1163,7 +1275,7 @@
 20
 40
 01
-15
+31
 68
 00
 c8
@@ -1171,7 +1283,7 @@
 c0
 00
 81
-25
+41
 20
 60
 00
@@ -1187,7 +1299,7 @@
 20
 40
 01
-1b
+37
 68
 00
 c8
@@ -1195,7 +1307,7 @@
 c0
 00
 81
-2b
+47
 20
 60
 00
@@ -1215,11 +1327,11 @@
 c0
 00
 81
-31
+4d
 c0
 01
 01
-3a
+57
 20
 60
 00
@@ -1231,11 +1343,15 @@
 c0
 01
 01
-34
+50
 20
 60
 00
 00
+20
+40
+01
+20
 68
 00
 c8
@@ -1259,7 +1375,7 @@
 20
 20
 01
-0d
+0e
 68
 00
 c8
@@ -1267,11 +1383,15 @@
 c0
 80
 01
-3d
+5a
 20
 60
 00
 00
+20
+40
+01
+26
 68
 00
 c8
@@ -1287,7 +1407,7 @@
 20
 40
 01
-37
+54
 68
 00
 91
@@ -1303,7 +1423,7 @@
 20
 40
 00
-8f
+90
 20
 40
 65
@@ -1319,11 +1439,11 @@
 c0
 00
 81
-4b
+69
 c0
 01
 01
-4e
+6c
 20
 60
 00
@@ -1435,7 +1555,7 @@
 24
 21
 01
-67
+85
 58
 00
 49
@@ -1523,11 +1643,11 @@
 c0
 50
 01
-8c
+aa
 c0
 50
 81
-82
+a0
 c0
 53
 30
@@ -1535,15 +1655,15 @@
 c0
 53
 81
-91
+af
 c0
 54
 81
-97
+b5
 c0
 58
 01
-99
+b7
 20
 20
 30
@@ -1555,11 +1675,11 @@
 c0
 00
 81
-87
+a5
 c0
 42
 01
-8a
+a8
 c0
 53
 b0
@@ -1583,11 +1703,11 @@
 20
 40
 00
-a3
+a4
 20
 20
 01
-87
+a5
 68
 00
 8c
@@ -1595,15 +1715,15 @@
 c0
 40
 81
-8f
+ad
 20
 20
 30
 2a
 20
 40
-01
-eb
+02
+0a
 20
 20
 30
@@ -1615,7 +1735,7 @@
 c0
 00
 01
-95
+b3
 c0
 00
 b0
@@ -1659,11 +1779,11 @@
 c0
 01
 81
-a3
+c1
 20
 40
 01
-56
+74
 68
 00
 c9
@@ -1671,7 +1791,7 @@
 c0
 01
 81
-a3
+c1
 70
 0c
 f7
@@ -1691,31 +1811,35 @@
 20
 40
 01
-c9
+e8
 20
 40
 01
-cf
+ee
+20
+40
+02
+19
 20
 40
 01
-ac
+cb
 20
 40
 01
-b0
+cf
 20
 40
 02
-01
+4a
 20
 40
 01
-6f
+8d
 20
 20
 01
-a6
+c4
 68
 00
 c8
@@ -1727,11 +1851,11 @@
 20
 40
 00
-a8
+a9
 20
 20
-01
-f0
+02
+38
 68
 00
 c8
@@ -1743,11 +1867,11 @@
 20
 40
 00
-f5
+f6
 20
 40
 01
-01
+02
 68
 00
 c8
@@ -1763,15 +1887,15 @@
 20
 40
 00
-a2
+a3
 20
 40
-01
-ee
+02
+36
 20
 20
 01
-cc
+eb
 20
 40
 7f
@@ -1867,19 +1991,19 @@
 20
 40
 01
-ba
+d9
 24
 74
 00
 00
 20
 40
-01
-e4
+02
+03
 20
 40
 01
-dc
+fb
 68
 00
 c8
@@ -1898,12 +2022,12 @@
 be
 c0
 00
-01
-e1
+02
+00
 c0
 00
-81
-e9
+82
+08
 20
 60
 00
@@ -1934,12 +2058,12 @@
 7c
 24
 3a
-01
-eb
+02
+0a
 20
 20
 00
-a2
+a3
 68
 00
 c9
@@ -1967,7 +2091,7 @@
 24
 3a
 00
-a2
+a3
 70
 48
 a6
@@ -1980,126 +2104,302 @@
 60
 00
 00
-70
-48
-bd
-01
-20
-20
-30
-95
-68
-00
-c8
-ba
-c1
-01
-00
-00
 68
 00
-c8
-bd
+c9
+85
 20
-7a
+5a
+02
+34
+68
 00
+c9
+82
+c3
+80
 00
-d8
-e0
 00
-08
+79
 20
-40
-7f
-16
-24
-7a
-00
+7e
 00
-70
-48
-bd
+60
 00
+c9
+82
 70
 49
-7b
-00
+81
+01
 70
 49
-7c
+86
 00
+58
+00
+00
+00
+60
+01
+49
+83
 70
 48
-a6
-07
-70
-48
-a5
-00
+5d
+60
 20
 20
 01
-0d
+eb
+68
+00
+c9
+85
+24
+7a
+00
+00
+68
+00
+c9
+81
 20
-40
-01
-0d
+7a
+00
+00
 20
 40
-03
-ff
+01
+d9
 24
-77
-80
+74
 00
-20
-20
-02
-9c
-68
 00
-c8
-a6
-c1
+68
+01
+49
 83
-80
-00
-20
+1f
+e0
+fe
+01
+60
+01
+49
+83
+d8
 40
-02
-26
+07
+d0
+98
+46
+7c
+00
 20
-40
+21
 02
-3a
+30
 20
 40
 01
-fd
-24
-37
-81
-0d
-20
-40
-02
-36
-20
-42
-82
-c9
-70
-48
-a6
-00
+fb
 68
 00
-c8
-a5
-79
-20
+c9
+86
+1f
+e0
+fe
+01
+1f
+e1
 7e
-00
+01
+60
+00
+c9
+86
+c0
+00
+02
+2d
+c0
+00
+82
+0a
+20
+60
+00
+00
+68
+00
+c9
+7c
+24
+3a
+02
+0a
+20
+20
+02
+43
+70
+49
+85
+01
+20
+20
+02
+43
+70
+49
+81
+00
+20
+60
+00
+00
+70
+49
+81
+01
+20
+60
+00
+00
+70
+48
+bd
+01
+20
+20
+30
+95
+68
+00
+c8
+ba
+c1
+01
+00
+00
+68
+00
+c8
+bd
+20
+7a
+00
+00
+d8
+e0
+00
+08
+20
+40
+7f
+16
+24
+7a
+00
+00
+70
+48
+bd
+00
+70
+49
+7b
+00
+70
+49
+7c
+00
+20
+40
+02
+0d
+70
+48
+a6
+07
+70
+48
+a5
+00
+20
+20
+01
+0e
+20
+40
+01
+0e
+20
+40
+04
+50
+24
+77
+80
+00
+20
+20
+02
+e7
+68
+00
+c8
+a6
+c1
+83
+80
+00
+20
+40
+02
+71
+20
+40
+02
+85
+20
+40
+02
+46
+24
+37
+81
+0e
+20
+40
+02
+81
+20
+42
+83
+16
+68
+00
+c8
+b2
+20
+5a
+02
+32
+70
+48
+a6
+00
+68
+00
+c8
+a5
+79
+20
+7e
+00
 60
 00
 c8
@@ -2115,23 +2415,23 @@
 24
 42
 82
-1d
+68
 20
 40
 01
-0d
+0e
 20
 40
-01
-ee
+02
+36
 20
 40
 02
-36
+81
 20
 22
 82
-1f
+6a
 68
 02
 48
@@ -2147,7 +2447,7 @@
 20
 22
 82
-22
+6d
 68
 02
 48
@@ -2163,7 +2463,7 @@
 20
 22
 82
-24
+6f
 20
 60
 00
@@ -2195,7 +2495,7 @@
 20
 20
 02
-20
+6b
 68
 00
 c8
@@ -2203,7 +2503,7 @@
 20
 20
 02
-20
+6b
 68
 00
 c8
@@ -2243,7 +2543,7 @@
 20
 40
 02
-36
+81
 24
 62
 80
@@ -2303,19 +2603,19 @@
 c0
 00
 02
-5d
+a8
 c0
 00
 82
-77
+c2
 c0
 01
 02
-43
+8e
 c0
 01
 82
-77
+c2
 20
 60
 00
@@ -2323,7 +2623,7 @@
 20
 40
 01
-15
+31
 68
 02
 48
@@ -2331,11 +2631,11 @@
 20
 3a
 02
-3a
+85
 20
 40
-03
-c5
+04
+16
 68
 00
 c8
@@ -2343,7 +2643,7 @@
 20
 5a
 02
-58
+a3
 68
 00
 c8
@@ -2362,16 +2662,16 @@
 9e
 20
 40
-03
-b9
+04
+0a
 60
 08
 c8
 f9
 20
 40
-03
-c0
+04
+11
 60
 08
 c8
@@ -2390,8 +2690,8 @@
 e7
 20
 40
-03
-e9
+04
+3a
 60
 08
 c8
@@ -2414,8 +2714,8 @@
 00
 20
 40
-03
-ed
+04
+3e
 60
 00
 c8
@@ -2427,7 +2727,7 @@
 20
 40
 01
-1b
+37
 68
 02
 48
@@ -2435,11 +2735,11 @@
 20
 3a
 02
-3a
+85
 20
 40
-03
-c5
+04
+16
 68
 00
 c8
@@ -2447,7 +2747,7 @@
 20
 5a
 02
-72
+bd
 68
 00
 c8
@@ -2466,16 +2766,16 @@
 9e
 20
 40
-03
-b9
+04
+0a
 60
 08
 c8
 f8
 20
 40
-03
-c0
+04
+11
 60
 08
 c8
@@ -2494,9 +2794,9 @@
 e4
 20
 40
-03
-e9
-60
+04
+3a
+60
 08
 c8
 e4
@@ -2518,8 +2818,8 @@
 00
 20
 40
-03
-ed
+04
+3e
 60
 00
 c8
@@ -2531,15 +2831,15 @@
 20
 40
 01
-15
+31
 68
 02
 48
 a1
 20
 40
-03
-c5
+04
+16
 68
 00
 c8
@@ -2547,7 +2847,7 @@
 20
 5a
 02
-8b
+d6
 68
 00
 c8
@@ -2566,16 +2866,16 @@
 9e
 20
 40
-03
-b9
+04
+0a
 60
 08
 c8
 f7
 20
 40
-03
-c0
+04
+11
 60
 08
 c8
@@ -2594,8 +2894,8 @@
 e1
 20
 40
-03
-e9
+04
+3a
 60
 08
 c8
@@ -2687,7 +2987,7 @@
 20
 40
 02
-8f
+da
 68
 00
 c7
@@ -2699,23 +2999,23 @@
 20
 20
 82
-a5
+f0
 20
 40
 02
-a6
+f1
 20
 40
-03
-d3
+04
+24
 20
 40
 04
-49
+9a
 20
 20
 04
-41
+92
 70
 48
 38
@@ -2731,15 +3031,15 @@
 c0
 00
 82
-ad
+f8
 c0
 01
-02
-b3
+03
+00
 c0
 01
-82
-bd
+83
+0a
 20
 60
 00
@@ -2748,6 +3048,14 @@
 48
 ba
 01
+20
+40
+01
+11
+24
+77
+80
+00
 70
 48
 38
@@ -2771,7 +3079,7 @@
 20
 40
 01
-69
+87
 24
 74
 00
@@ -2815,11 +3123,11 @@
 c0
 00
 82
-ad
+f8
 c0
 7f
 82
-ad
+f8
 70
 0d
 43
@@ -2846,24 +3154,24 @@
 01
 20
 40
-01
-fd
+02
+46
 24
 37
 81
-0d
+0e
 20
 20
-02
-c9
+03
+16
 20
 40
-02
-da
+03
+27
 24
 34
 01
-0d
+0e
 68
 00
 c8
@@ -2871,7 +3179,7 @@
 20
 3a
 01
-0d
+0e
 1f
 e0
 fe
@@ -2902,28 +3210,28 @@
 bc
 20
 5a
-01
-ee
+02
+36
 68
 00
 c8
 81
 c0
 00
-82
-e8
+83
+35
 c0
 01
 03
-07
+55
 c0
 7f
 83
-5b
+aa
 20
 20
 01
-0d
+0e
 20
 40
 7f
@@ -2982,8 +3290,12 @@
 00
 20
 40
+01
+20
+20
+40
 00
-cf
+d0
 68
 00
 c8
@@ -3007,7 +3319,7 @@
 c0
 00
 83
-63
+b4
 68
 00
 c8
@@ -3035,7 +3347,7 @@
 c0
 67
 83
-67
+b8
 58
 00
 00
@@ -3058,8 +3370,8 @@
 82
 24
 5a
-02
-ff
+03
+4d
 68
 00
 c8
@@ -3067,7 +3379,7 @@
 20
 5a
 03
-03
+51
 20
 20
 31
@@ -3104,6 +3416,10 @@
 20
 7f
 08
+20
+40
+01
+26
 68
 08
 c8
@@ -3115,7 +3431,7 @@
 20
 20
 83
-65
+b6
 68
 00
 c8
@@ -3123,19 +3439,19 @@
 c0
 00
 03
-0f
+5e
 c0
 01
 03
-44
+93
 c0
 01
 83
-2b
+7a
 20
 20
 01
-0d
+0e
 68
 00
 c8
@@ -3155,7 +3471,7 @@
 20
 40
 03
-20
+6f
 68
 04
 0d
@@ -3163,7 +3479,7 @@
 24
 5a
 03
-23
+72
 68
 04
 0d
@@ -3171,7 +3487,7 @@
 20
 5a
 03
-27
+76
 68
 04
 0d
@@ -3203,7 +3519,7 @@
 20
 20
 01
-0d
+0e
 d8
 c0
 48
@@ -3255,7 +3571,7 @@
 20
 40
 03
-39
+88
 68
 01
 0d
@@ -3263,7 +3579,7 @@
 24
 5a
 03
-3c
+8b
 68
 01
 0d
@@ -3271,7 +3587,7 @@
 20
 5a
 03
-40
+8f
 68
 01
 8d
@@ -3303,7 +3619,7 @@
 20
 20
 01
-0d
+0e
 d8
 c0
 48
@@ -3355,7 +3671,7 @@
 20
 40
 03
-4e
+9d
 68
 01
 13
@@ -3375,7 +3691,7 @@
 24
 42
 83
-59
+a8
 68
 01
 13
@@ -3387,7 +3703,7 @@
 20
 20
 01
-0d
+0e
 d8
 c0
 48
@@ -3447,15 +3763,19 @@
 c0
 00
 83
-5f
+ae
 c0
 01
 03
-61
+b1
 20
 60
 00
 00
+20
+40
+01
+20
 68
 02
 48
@@ -3463,7 +3783,11 @@
 20
 20
 01
-4c
+6a
+20
+40
+01
+26
 68
 02
 48
@@ -3471,7 +3795,7 @@
 20
 20
 01
-4f
+6d
 68
 02
 48
@@ -3479,7 +3803,7 @@
 20
 20
 01
-4c
+6a
 68
 02
 48
@@ -3487,7 +3811,7 @@
 20
 20
 01
-4f
+6d
 68
 01
 48
@@ -3503,7 +3827,7 @@
 20
 22
 83
-6c
+bd
 20
 60
 00
@@ -3515,7 +3839,7 @@
 c0
 61
 03
-79
+ca
 68
 00
 c9
@@ -3531,7 +3855,7 @@
 20
 40
 01
-60
+7e
 68
 00
 c9
@@ -3551,11 +3875,11 @@
 c0
 60
 81
-a1
+bf
 c0
 61
 03
-79
+ca
 20
 60
 00
@@ -3575,7 +3899,7 @@
 20
 40
 01
-51
+6f
 68
 00
 c8
@@ -3583,11 +3907,11 @@
 c0
 2a
 83
-81
+d2
 c0
 55
 03
-83
+d4
 20
 60
 00
@@ -3675,11 +3999,11 @@
 c0
 02
 03
-9e
+ef
 20
 20
 03
-97
+e8
 70
 89
 4b
@@ -3806,8 +4130,8 @@
 9e
 20
 40
-03
-b9
+04
+0a
 60
 08
 c8
@@ -3890,8 +4214,8 @@
 00
 c2
 00
-03
-c9
+04
+1a
 1a
 22
 7e
@@ -3998,8 +4322,8 @@
 43
 20
 40
-03
-e9
+04
+3a
 60
 08
 c8
@@ -4010,8 +4334,8 @@
 00
 20
 40
-03
-ed
+04
+3e
 18
 40
 84
@@ -4134,8 +4458,8 @@
 24
 20
 40
-03
-f6
+04
+47
 78
 57
 fc
@@ -4171,7 +4495,7 @@
 24
 2c
 04
-44
+95
 78
 46
 fc
@@ -4211,7 +4535,7 @@
 24
 22
 84
-41
+92
 09
 80
 00
@@ -4235,7 +4559,7 @@
 20
 22
 84
-26
+77
 68
 00
 c7
@@ -4251,7 +4575,7 @@
 24
 20
 84
-41
+92
 09
 80
 00
@@ -4275,7 +4599,7 @@
 20
 22
 84
-30
+81
 09
 80
 00
@@ -4291,7 +4615,7 @@
 c2
 00
 04
-2c
+7d
 09
 80
 00
@@ -4327,7 +4651,7 @@
 20
 23
 04
-41
+92
 78
 37
 fc
@@ -4374,12 +4698,12 @@
 4d
 20
 40
+04
 03
-b2
 20
 20
 04
-41
+92
 20
 40
 29
@@ -4406,12 +4730,12 @@
 00
 20
 40
-03
-f6
+04
+47
 20
 40
 04
-46
+97
 79
 20
 2a
@@ -4491,7 +4815,7 @@
 c2
 00
 04
-5f
+b0
 68
 00
 c8
@@ -4532,8 +4856,8 @@
 60
 00
 00
-44
-c9
+04
+00
 aa
 55
 01
@@ -4858,589 +5182,265 @@
 c0
 c0
 05
-01
-09
-80
-a1
-01
-85
-02
-05
-01
-19
-81
-29
-88
-15
-00
-25
-01
-95
-08
-75
-01
-81
-06
-c0
-05
-0c
-09
-01
-a1
-01
-85
-03
-15
-00
-26
-80
-03
-19
-00
-2a
-80
-03
-75
-10
-95
-01
-81
-00
-c0
-06
-00
-ff
-09
-0e
-a1
-01
-85
-ba
-95
-1f
-75
-08
-26
-ff
-00
-15
-00
-09
-01
-91
-02
-85
-ba
-95
-1f
-75
-08
-26
-ff
-00
-15
-00
-09
-01
-81
-02
-c0
-aa
-55
-01
-00
-de
-41
-02
-aa
-55
-01
-00
-7e
-48
-02
-aa
-55
-01
-00
-bc
-48
-00
-aa
-55
-01
-00
-74
-48
-00
-aa
-55
-02
-00
-3b
-48
-30
-75
-aa
-55
-01
-00
-b8
-48
-1e
-aa
-55
-01
-00
-ba
-48
-00
-aa
-55
-10
-00
-49
-48
-00
-13
-2c
-42
-06
-15
-36
-48
-0f
-1a
-3a
-4c
-11
-23
-31
-4d
-aa
-55
-04
-00
-44
-48
-20
-15
-10
-05
-aa
-55
-06
-00
-a0
-40
-36
-26
-10
-09
-07
-2b
-aa
-55
-04
-00
-7d
-49
-ff
-ff
-ff
-ff
-aa
-55
-02
-00
-03
-42
-80
-1f
-aa
-55
-01
-00
-11
-42
-20
-aa
-55
-01
-00
-3a
-42
-14
-aa
-55
-08
-00
-75
-41
-8f
-1e
-ca
-00
-0a
-0b
-ef
-07
-aa
-55
-01
-00
-57
-41
-00
-aa
-55
-02
-00
-bd
-40
-02
-18
-aa
-55
-01
-00
-77
-49
-00
-aa
-55
-02
-00
-41
-42
-00
-84
-29
-0f
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+01
+09
+80
+a1
+01
+85
+02
+05
+01
+19
+81
+29
+88
+15
+00
+25
+01
+95
+08
+75
+01
+81
+06
+c0
+05
+0c
+09
+01
+a1
+01
+85
+03
+15
+00
+26
+80
+03
+19
+00
+2a
+80
+03
+75
+10
+95
+01
+81
+00
+c0
+06
+00
 ff
+09
+0e
+a1
+01
+85
+ba
+95
+1f
+75
+08
+26
 ff
+00
+15
+00
+09
+01
+91
+02
+85
+ba
+95
+1f
+75
+08
+26
 ff
+00
+15
+00
+09
+01
+81
+02
+c0
+aa
+55
+01
+00
+de
+41
+02
+aa
+55
+01
+00
+7e
+48
+02
+aa
+55
+01
+00
+bc
+48
+00
+aa
+55
+01
+00
+74
+48
+00
+aa
+55
+02
+00
+3b
+48
+30
+75
+aa
+55
+01
+00
+b8
+48
+1e
+aa
+55
+01
+00
+ba
+48
+00
+aa
+55
+10
+00
+49
+48
+00
+13
+2c
+42
+06
+15
+36
+48
+0f
+1a
+3a
+4c
+11
+23
+31
+4d
+aa
+55
+04
+00
+44
+48
+20
+15
+10
+05
+aa
+55
+06
+00
+a0
+40
+36
+26
+10
+09
+07
+2b
+aa
+55
+04
+00
+7d
+49
 ff
 ff
 ff
 ff
+aa
+55
+02
+00
+03
+42
+80
+1f
+aa
+55
+01
+00
+11
+42
+20
+aa
+55
+01
+00
+3a
+42
+14
+aa
+55
+08
+00
+75
+41
+8f
+1e
+ca
+00
+0a
+0b
+ef
+07
+aa
+55
+01
+00
+57
+41
+00
+aa
+55
+02
+00
+bd
+40
+02
+18
+aa
+55
+01
+00
+77
+49
+00
+aa
+55
+02
+00
+41
+42
+00
+84
+e7
+ba
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-b6
-c1
+72
+90
Index: output/memmap.format
===================================================================
--- /branch/USB/dongle_16M/output/memmap.format	(revision 3137)
+++ /branch/USB/dongle_16M/output/memmap.format	(working copy)
@@ -1870,3 +1870,9 @@
 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
Index: output/program.lis
===================================================================
--- /branch/USB/dongle_16M/output/program.lis	(revision 3137)
+++ /branch/USB/dongle_16M/output/program.lis	(working copy)
@@ -1,10 +1,10 @@
               include "bt_format "
               org 0x0000
 0000 c284000b bbit1 8 ,pf_patch_ext 
-0001 c04283ad beq patch10_5 ,p_shutdown_radio 
-0002 c0448385 beq patch11_1 ,p_set_freq_tx 
-0003 c04503af beq patch11_2 ,p_initialize_radio_cont 
-0004 c00003a5 beq patch00_0 ,p_soft_reset 
+0001 c04283fe beq patch10_5 ,p_shutdown_radio 
+0002 c04483d6 beq patch11_1 ,p_set_freq_tx 
+0003 c0450400 beq patch11_2 ,p_initialize_radio_cont 
+0004 c00003f6 beq patch00_0 ,p_soft_reset 
 0005 c047000c beq patch11_6 ,p_save_rssi 
 0006 c0620074 beq patch18_4 ,p_app_init 
 0007 c07b8013 beq patch1e_7 ,p_usb_init 
@@ -152,1348 +152,1455 @@
 0073 20600000 rtn 
 
 p_app_init:
-0074 70497b07 jam g24_bind_mode_delay ,mem_24g_bind_delay_count 
-0075 204074b9 call enable_authrom 
-0076 680240a0 fetch 4 ,mem_lap 
-0077 600248a1 store 4 ,mem_24g_rx_addr 
-0078 6808c23a fetcht 1 ,mem_eeprom_wp_gpio 
-0079 2040680e call gpio_config_output 
-007a 20400093 call p_dongle_init 
-007b 20400151 call p_g24_queue_init 
-007c 20400082 call p_dongle_iic_init 
-007d 6800c8bc fetch 1 ,mem_24g_pair_mode 
-007e c00001a5 beq 0x00 ,p_dongle_auto_bind 
-007f c000809d beq 0x01 ,p_dongle_pc_bind 
-0080 c0078099 beq 0x0f ,p_dongle_all_powerful 
-0081 20600000 rtn 
+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 20400094 call p_dongle_init 
+007c 2040016f call p_g24_queue_init 
+007d 20400083 call p_dongle_iic_init 
+007e 6800c8bc fetch 1 ,mem_24g_pair_mode 
+007f c00001c3 beq 0x00 ,p_dongle_auto_bind 
+0080 c000809e beq 0x01 ,p_dongle_pc_bind 
+0081 c007809a beq 0x0f ,p_dongle_all_powerful 
+0082 20600000 rtn 
 
 p_dongle_iic_init:
-0082 2040659c call iic_init_390k 
-0083 2040008f call p_dongle_set_kb_bind_eeprom 
-0084 204065df call iicd_read_eep_data 
+0083 2040659c call iic_init_390k 
+0084 20400090 call p_dongle_set_kb_bind_eeprom 
+0085 204065df call iicd_read_eep_data 
 
 p_dongle_update_24g_addr:
-0085 da200aae arg mem_rega ,rega 
-0086 da400001 arg dongle_update_24g_addr ,regb 
-0087 d8400004 arg 4 ,temp 
-0088 204065df call iicd_read_eep_data 
-0089 68020aae fetch 4 ,mem_rega 
-008a 680a497d fetcht 4 ,mem_24g_factory_addr 
-008b 98467c00 isub temp ,null 
-008c 20628000 rtn zero 
-008d 600248a1 store 4 ,mem_24g_rx_addr 
-008e 20600000 rtn 
+0086 da200aae arg mem_rega ,rega 
+0087 da400001 arg dongle_update_24g_addr ,regb 
+0088 d8400004 arg 4 ,temp 
+0089 204065df call iicd_read_eep_data 
+008a 68020aae fetch 4 ,mem_rega 
+008b 680a497d fetcht 4 ,mem_24g_factory_addr 
+008c 98467c00 isub temp ,null 
+008d 20628000 rtn zero 
+008e 600248a1 store 4 ,mem_24g_rx_addr 
+008f 20600000 rtn 
 
 p_dongle_set_kb_bind_eeprom:
-008f da2011c7 arg mem_dongle_kb_bind_flag ,rega 
-0090 da400000 arg dongle_kb_bind_eeprom_offect ,regb 
-0091 d8400001 arg 1 ,temp 
-0092 20600000 rtn 
+0090 da2011c7 arg mem_dongle_kb_bind_flag ,rega 
+0091 da400000 arg dongle_kb_bind_eeprom_offect ,regb 
+0092 d8400001 arg 1 ,temp 
+0093 20600000 rtn 
 
 p_dongle_init:
-0093 6800c1de fetch 1 ,mem_tx_power 
-0094 6000c8ef store 1 ,mem_tx_power_temp 
-0095 df200080 arg 0x80 ,loopcnt 
-0096 d8a00d9e arg mem_rssi_noise_buffer ,contw 
-0097 20407ec6 call memset0 
-0098 202048ea branch usb_init 
+0094 6800c1de fetch 1 ,mem_tx_power 
+0095 6000c8ef store 1 ,mem_tx_power_temp 
+0096 df200080 arg 0x80 ,loopcnt 
+0097 d8a00d9e arg mem_rssi_noise_buffer ,contw 
+0098 20407ec6 call memset0 
+0099 202048ea branch usb_init 
 
 p_dongle_all_powerful:
-0099 204000a2 call p_dongle_check_mode 
+009a 204000a3 call p_dongle_check_mode 
 
 p_dongle_all_powerful_loop:
-009a 204000a6 call p_g24_dongle_work_mode 
-009b 2040016f call p_dongle_usb_dispatch 
-009c 2020009a branch p_dongle_all_powerful_loop 
+009b 204000a7 call p_g24_dongle_work_mode 
+009c 2040018d call p_dongle_usb_dispatch 
+009d 2020009b branch p_dongle_all_powerful_loop 
 
 p_dongle_pc_bind:
-009d 204000a2 call p_dongle_check_mode 
+009e 204000a3 call p_dongle_check_mode 
 
 p_dongle_pc_bind_loop:
-009e 204000a6 call p_g24_dongle_work_mode 
-009f 204000f1 call p_g24_dongle_bind_mode 
-00a0 2040016f call p_dongle_usb_dispatch 
-00a1 2020009e branch p_dongle_pc_bind_loop 
+009f 204000a7 call p_g24_dongle_work_mode 
+00a0 204000f2 call p_g24_dongle_bind_mode 
+00a1 2040018d call p_dongle_usb_dispatch 
+00a2 2020009f branch p_dongle_pc_bind_loop 
 
 p_dongle_check_mode:
-00a2 7048ba00 jam 0 ,mem_24g_ackpayload_enable 
+00a3 7048ba00 jam 0 ,mem_24g_ackpayload_enable 
 
 p_dongle_work_mode_enable:
-00a3 7048a600 jam dongle_work ,mem_dongle_work_mode 
-00a4 7048a500 jam clear_init ,mem_dongle_mode_init 
-00a5 20600000 rtn 
+00a4 7048a600 jam dongle_work ,mem_dongle_work_mode 
+00a5 7048a500 jam clear_init ,mem_dongle_mode_init 
+00a6 20600000 rtn 
 
 p_g24_dongle_work_mode:
-00a6 6800c8a6 fetch 1 ,mem_dongle_work_mode 
-00a7 c1800000 rtnne dongle_work 
+00a7 6800c8a6 fetch 1 ,mem_dongle_work_mode 
+00a8 c1800000 rtnne dongle_work 
 
 p_g24_dongle_work_mode_start:
-00a8 204000ac call p_g24_dongle_work_init 
-00a9 204000ba call p_g24_ch_process 
-00aa 204002c6 call p_g24_receive_packet_start 
-00ab 202000d9 branch p_g24_blank_data_process 
+00a9 204000ad call p_g24_dongle_work_init 
+00aa 204000bb call p_g24_ch_process 
+00ab 20400313 call p_g24_receive_packet_start 
+00ac 202000da branch p_g24_blank_data_process 
 
 p_g24_dongle_work_init:
-00ac 6800c8a5 fetch 1 ,mem_dongle_mode_init 
-00ad c3800000 rtnbit1 dongle_work 
-00ae 79207e00 set1 dongle_work ,pdata 
-00af 6000c8a5 store 1 ,mem_dongle_mode_init 
-00b0 6800c8ef fetch 1 ,mem_tx_power_temp 
-00b1 6000c1de store 1 ,mem_tx_power 
-00b2 7048ba00 jam 0 ,mem_24g_ackpayload_enable 
-00b3 700d3800 jam 0 ,mem_usb_tx_enable 
-00b4 7048b201 jam 1 ,mem_24g_abort_packet 
-00b5 70483700 jam 0 ,mem_24g_pid 
-00b6 680248a1 fetch 4 ,mem_24g_rx_addr 
-00b7 204003c5 call p_g24_update_addr_and_synccrc8 
-00b8 204003e5 call p_g24_ch 
-00b9 2020010d branch p_g24_rx_interrupt_clear 
+00ad 6800c8a5 fetch 1 ,mem_dongle_mode_init 
+00ae c3800000 rtnbit1 dongle_work 
+00af 79207e00 set1 dongle_work ,pdata 
+00b0 6000c8a5 store 1 ,mem_dongle_mode_init 
+00b1 6800c8ef fetch 1 ,mem_tx_power_temp 
+00b2 6000c1de store 1 ,mem_tx_power 
+00b3 7048ba00 jam 0 ,mem_24g_ackpayload_enable 
+00b4 700d3800 jam 0 ,mem_usb_tx_enable 
+00b5 7048b201 jam 1 ,mem_24g_abort_packet 
+00b6 70483700 jam 0 ,mem_24g_pid 
+00b7 680248a1 fetch 4 ,mem_24g_rx_addr 
+00b8 20400416 call p_g24_update_addr_and_synccrc8 
+00b9 20400436 call p_g24_ch 
+00ba 2020010e branch p_g24_rx_interrupt_clear 
 
 p_g24_ch_process:
-00ba 6800c8b2 fetch 1 ,mem_24g_abort_packet 
-00bb c00080d3 beq 1 ,p_g24_noise_rssi 
-00bc 6800c8bb fetch 1 ,mem_24g_hop_packet 
-00bd c00080cd beq 1 ,p_g24_ch_receive_hop_pac 
-00be 680a48b4 fetcht 4 ,mem_24g_hop_btclk 
-00bf 1c427e00 copy clkn_bt ,pdata 
-00c0 98467c00 isub temp ,null 
-00c1 24412d18 ncall g24_timer_timeout ,positive 
-00c2 1fe22400 copy pdata ,regb 
-00c3 680248b4 fetch 4 ,mem_24g_hop_btclk 
-00c4 6808c8b8 fetcht 1 ,mem_24g_hop_interval 
-00c5 98408400 iadd temp ,temp 
-00c6 1a427e00 copy regb ,pdata 
-00c7 98467c00 isub temp ,null 
-00c8 24610000 nrtn positive 
-00c9 793ffe1c set0 28 ,pdata 
-00ca 600248b4 store 4 ,mem_24g_hop_btclk 
-00cb 7048b201 jam 1 ,mem_24g_abort_packet 
-00cc 202003e5 branch p_g24_ch 
+00bb 6800c8b2 fetch 1 ,mem_24g_abort_packet 
+00bc c00080d4 beq 1 ,p_g24_noise_rssi 
+00bd 6800c8bb fetch 1 ,mem_24g_hop_packet 
+00be c00080ce beq 1 ,p_g24_ch_receive_hop_pac 
+00bf 680a48b4 fetcht 4 ,mem_24g_hop_btclk 
+00c0 1c427e00 copy clkn_bt ,pdata 
+00c1 98467c00 isub temp ,null 
+00c2 24412d18 ncall g24_timer_timeout ,positive 
+00c3 1fe22400 copy pdata ,regb 
+00c4 680248b4 fetch 4 ,mem_24g_hop_btclk 
+00c5 6808c8b8 fetcht 1 ,mem_24g_hop_interval 
+00c6 98408400 iadd temp ,temp 
+00c7 1a427e00 copy regb ,pdata 
+00c8 98467c00 isub temp ,null 
+00c9 24610000 nrtn positive 
+00ca 793ffe1c set0 28 ,pdata 
+00cb 600248b4 store 4 ,mem_24g_hop_btclk 
+00cc 7048b201 jam 1 ,mem_24g_abort_packet 
+00cd 20200436 branch p_g24_ch 
 
 p_g24_ch_receive_hop_pac:
-00cd 7048bb00 jam 0 ,mem_24g_hop_packet 
-00ce 202003e5 branch p_g24_ch 
+00ce 7048bb00 jam 0 ,mem_24g_hop_packet 
+00cf 20200436 branch p_g24_ch 
 
 p_g24_ch_timer_reinit:
-00cf 1c427e00 copy clkn_bt ,pdata 
-00d0 600248b4 store 4 ,mem_24g_hop_btclk 
-00d1 7048b300 jam 0 ,mem_24g_rf_laststa 
-00d2 20600000 rtn 
+00d0 1c427e00 copy clkn_bt ,pdata 
+00d1 600248b4 store 4 ,mem_24g_hop_btclk 
+00d2 7048b300 jam 0 ,mem_24g_rf_laststa 
+00d3 20600000 rtn 
 
 p_g24_noise_rssi:
-00d3 da200d9e arg mem_rssi_noise_buffer ,rega 
-00d4 204003c0 call p_rssi_average 
-00d5 6008c8f1 storet 1 ,mem_rssi_noise_avg 
-00d6 18467c50 sub temp ,rssi_thresh_noise ,null 
-00d7 24610000 nrtn positive 
-00d8 202003e5 branch p_g24_ch 
+00d4 da200d9e arg mem_rssi_noise_buffer ,rega 
+00d5 20400411 call p_rssi_average 
+00d6 6008c8f1 storet 1 ,mem_rssi_noise_avg 
+00d7 18467c50 sub temp ,rssi_thresh_noise ,null 
+00d8 24610000 nrtn positive 
+00d9 20200436 branch p_g24_ch 
 
 p_g24_blank_data_process:
-00d9 204000dc call p_g24_ms_blank_data 
-00da 204000e3 call p_g24_kb_blank_data 
-00db 202000ea branch p_g24_kb_mul_blank_data 
+00da 204000dd call p_g24_ms_blank_data 
+00db 204000e4 call p_g24_kb_blank_data 
+00dc 202000eb branch p_g24_kb_mul_blank_data 
 
 p_g24_ms_blank_data:
-00dc 6800c8d7 fetch 1 ,mem_24g_ms_blank_data_enable 
-00dd 207a0000 rtn blank 
-00de d8e0000b arg timer_new_ms_blank ,queue 
-00df 20407f16 call timer_check 
-00e0 247a0000 nrtn blank 
-00e1 7048d700 jam 0 ,mem_24g_ms_blank_data_enable 
-00e2 20202fa0 branch g24_ms_blank_data_2usb 
+00dd 6800c8d7 fetch 1 ,mem_24g_ms_blank_data_enable 
+00de 207a0000 rtn blank 
+00df d8e0000b arg timer_new_ms_blank ,queue 
+00e0 20407f16 call timer_check 
+00e1 247a0000 nrtn blank 
+00e2 7048d700 jam 0 ,mem_24g_ms_blank_data_enable 
+00e3 20202fa0 branch g24_ms_blank_data_2usb 
 
 p_g24_kb_blank_data:
-00e3 6800c8d5 fetch 1 ,mem_24g_kb_blank_data_enable 
-00e4 207a0000 rtn blank 
-00e5 d8e0000e arg timer_new_kb_blank ,queue 
-00e6 20407f16 call timer_check 
-00e7 247a0000 nrtn blank 
-00e8 7048d500 jam 0 ,mem_24g_kb_blank_data_enable 
-00e9 20202fac branch g24_kb_blank_data_2usb 
+00e4 6800c8d5 fetch 1 ,mem_24g_kb_blank_data_enable 
+00e5 207a0000 rtn blank 
+00e6 d8e0000e arg timer_new_kb_blank ,queue 
+00e7 20407f16 call timer_check 
+00e8 247a0000 nrtn blank 
+00e9 7048d500 jam 0 ,mem_24g_kb_blank_data_enable 
+00ea 20202fac branch g24_kb_blank_data_2usb 
 
 p_g24_kb_mul_blank_data:
-00ea 6800c8d6 fetch 1 ,mem_24g_kb_mul_blank_data_enable 
-00eb 207a0000 rtn blank 
-00ec d8e0000c arg timer_new_kb_mul_blank ,queue 
-00ed 20407f16 call timer_check 
-00ee 247a0000 nrtn blank 
-00ef 7048d600 jam 0 ,mem_24g_kb_mul_blank_data_enable 
-00f0 20202fb8 branch g24_kb_mul_blank_data_2usb 
+00eb 6800c8d6 fetch 1 ,mem_24g_kb_mul_blank_data_enable 
+00ec 207a0000 rtn blank 
+00ed d8e0000c arg timer_new_kb_mul_blank ,queue 
+00ee 20407f16 call timer_check 
+00ef 247a0000 nrtn blank 
+00f0 7048d600 jam 0 ,mem_24g_kb_mul_blank_data_enable 
+00f1 20202fb8 branch g24_kb_mul_blank_data_2usb 
 
 p_g24_dongle_bind_mode:
-00f1 6800c8a6 fetch 1 ,mem_dongle_work_mode 
-00f2 c1808000 rtnne dongle_bind 
-00f3 204000f5 call p_g24_dongle_bind_init 
-00f4 20200101 branch p_g24_dongle_bind_data_process 
+00f2 6800c8a6 fetch 1 ,mem_dongle_work_mode 
+00f3 c1808000 rtnne dongle_bind 
+00f4 204000f6 call p_g24_dongle_bind_init 
+00f5 20200102 branch p_g24_dongle_bind_data_process 
 
 p_g24_dongle_bind_init:
-00f5 6800c8a5 fetch 1 ,mem_dongle_mode_init 
-00f6 c3808000 rtnbit1 dongle_bind 
-00f7 79207e01 set1 dongle_bind ,pdata 
-00f8 6000c8a5 store 1 ,mem_dongle_mode_init 
-00f9 58000000 setarg 0 
-00fa 6001c8a7 store 3 ,mem_dongle_ms_bind_step 
-00fb 7041de04 jam tx_power_f5db ,mem_tx_power 
-00fc 7048ba01 jam 1 ,mem_24g_ackpayload_enable 
-00fd 70483700 jam 0 ,mem_24g_pid 
-00fe 7048424e jam g24_pair_ch ,mem_24g_ch 
-00ff 68024844 fetch 4 ,mem_24g_paring_addr 
-0100 202003c5 branch p_g24_update_addr_and_synccrc8 
+00f6 6800c8a5 fetch 1 ,mem_dongle_mode_init 
+00f7 c3808000 rtnbit1 dongle_bind 
+00f8 79207e01 set1 dongle_bind ,pdata 
+00f9 6000c8a5 store 1 ,mem_dongle_mode_init 
+00fa 58000000 setarg 0 
+00fb 6001c8a7 store 3 ,mem_dongle_ms_bind_step 
+00fc 7041de04 jam tx_power_f5db ,mem_tx_power 
+00fd 7048ba01 jam 1 ,mem_24g_ackpayload_enable 
+00fe 70483700 jam 0 ,mem_24g_pid 
+00ff 7048424e jam g24_pair_ch ,mem_24g_ch 
+0100 68024844 fetch 4 ,mem_24g_paring_addr 
+0101 20200416 branch p_g24_update_addr_and_synccrc8 
 
 p_g24_dongle_bind_data_process:
-0101 204001fd call p_g24_receive_transmit_ack 
-0102 2437810d nbranch p_g24_rx_interrupt_clear ,user3 
-0103 70497c05 jam g24_work_mode_delay ,mem_24g_work_delay_count 
-0104 d8c047b2 arg mem_24g_rxbuf ,contr 
-0105 d8a0487f arg mem_24g_rxdata_temp ,contw 
-0106 df200008 arg 8 ,loopcnt 
-0107 20407f01 call memcpy 
-0108 6800c881 fetch 1 ,mem_24g_rxdata_temp + 2 
-0109 c0550110 beq datatype_bind ,p_g24_dongle_bind_first_step 
-010a c02a811d beq datatype_config ,p_g24_dongle_bind_second_step 
-010b c011012d beq datatype_ok ,p_g24_dongle_bind_third_step 
-010c c07f8147 beq 0xff ,p_g24_data_attemp_bind 
+0102 20400246 call p_g24_receive_transmit_ack 
+0103 2437810e nbranch p_g24_rx_interrupt_clear ,user3 
+0104 70497c05 jam g24_work_mode_delay ,mem_24g_work_delay_count 
+0105 d8c047b2 arg mem_24g_rxbuf ,contr 
+0106 d8a0487f arg mem_24g_rxdata_temp ,contw 
+0107 df200008 arg 8 ,loopcnt 
+0108 20407f01 call memcpy 
+0109 6800c881 fetch 1 ,mem_24g_rxdata_temp + 2 
+010a c055012c beq datatype_bind ,p_g24_dongle_bind_first_step 
+010b c02a8139 beq datatype_config ,p_g24_dongle_bind_second_step 
+010c c0110149 beq datatype_ok ,p_g24_dongle_bind_third_step 
+010d c07f8165 beq 0xff ,p_g24_data_attemp_bind 
 
 p_g24_rx_interrupt_clear:
-010d d8a047b2 arg mem_24g_rxbuf ,contw 
-010e df200042 arg 66 ,loopcnt 
-010f 20207ed4 branch clear_mem 
+010e d8a047b2 arg mem_24g_rxbuf ,contw 
+010f df200042 arg 66 ,loopcnt 
+0110 20207ed4 branch clear_mem 
+
+p_g24_dongle_binding_device_check:
+0111 6800c8a6 fetch 1 ,mem_dongle_work_mode 
+0112 c1808000 rtnne dongle_bind 
+0113 6800c8bc fetch 1 ,mem_24g_pair_mode 
+0114 247a0000 nrtn blank 
+0115 6800c7b5 fetch 1 ,mem_24g_rxbuf + 3 
+0116 c0008119 beq bind_mouse ,p_g24_dongle_binding_mouse_status 
+0117 c001011d beq bind_keyboard ,p_g24_dongle_binding_keyboard_status 
+0118 20600000 rtn 
+
+p_g24_dongle_binding_mouse_status:
+0119 6800c987 fetch 1 ,mem_dongle_bind_device_living 
+011a c4000000 rtnbit0 0 
+
+disable_user3:
+011b 7857fc00 disable user3 
+011c 20600000 rtn 
+
+p_g24_dongle_binding_keyboard_status:
+011d 6800c987 fetch 1 ,mem_dongle_bind_device_living 
+011e c4008000 rtnbit0 1 
+011f 2020011b branch disable_user3 
+
+p_g24_dongle_binding_mouse_living:
+0120 6800c8bc fetch 1 ,mem_24g_pair_mode 
+0121 247a0000 nrtn blank 
+0122 6800c987 fetch 1 ,mem_dongle_bind_device_living 
+0123 1fe1fe01 or_into 0x01 ,pdata 
+0124 6000c987 store 1 ,mem_dongle_bind_device_living 
+0125 20600000 rtn 
+
+p_g24_dongle_binding_keyboard_living:
+0126 6800c8bc fetch 1 ,mem_24g_pair_mode 
+0127 247a0000 nrtn blank 
+0128 6800c987 fetch 1 ,mem_dongle_bind_device_living 
+0129 1fe1fe02 or_into 0x02 ,pdata 
+012a 6000c987 store 1 ,mem_dongle_bind_device_living 
+012b 20600000 rtn 
 
 p_g24_dongle_bind_first_step:
-0110 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-0111 c0008114 beq bind_mouse ,p_g24_dongle_bind_first_step_mouse 
-0112 c001011a beq bind_keyboard ,p_g24_dongle_bind_first_step_keyboard 
-0113 20600000 rtn 
+012c 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+012d c0008130 beq bind_mouse ,p_g24_dongle_bind_first_step_mouse 
+012e c0010136 beq bind_keyboard ,p_g24_dongle_bind_first_step_keyboard 
+012f 20600000 rtn 
 
 p_g24_dongle_bind_first_step_mouse:
-0114 7048a701 jam 1 ,mem_dongle_ms_bind_step 
+0130 7048a701 jam 1 ,mem_dongle_ms_bind_step 
 
 p_g24_dongle_bind_ms_payload_cfg:
-0115 7048aa01 jam datatype_mouse ,mem_24g_bind_payload 
+0131 7048aa01 jam datatype_mouse ,mem_24g_bind_payload 
 
 p_g24_dongle_bind_payload_cfg:
-0116 7048ab80 jam 0x80 ,mem_24g_bind_payload + 1 
-0117 680348a1 fetch 6 ,mem_24g_rx_addr 
-0118 600348ac store 6 ,mem_24g_bind_payload + 2 
-0119 20600000 rtn 
+0132 7048ab80 jam 0x80 ,mem_24g_bind_payload + 1 
+0133 680348a1 fetch 6 ,mem_24g_rx_addr 
+0134 600348ac store 6 ,mem_24g_bind_payload + 2 
+0135 20600000 rtn 
 
 p_g24_dongle_bind_first_step_keyboard:
-011a 7048a801 jam 1 ,mem_dongle_kb_bind_step 
+0136 7048a801 jam 1 ,mem_dongle_kb_bind_step 
 
 p_g24_dongle_bind_kb_payload_cfg:
-011b 7048aa02 jam datatype_keyboard ,mem_24g_bind_payload 
-011c 20200116 branch p_g24_dongle_bind_payload_cfg 
+0137 7048aa02 jam datatype_keyboard ,mem_24g_bind_payload 
+0138 20200132 branch p_g24_dongle_bind_payload_cfg 
 
 p_g24_dongle_bind_second_step:
-011d 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-011e c0008121 beq bind_mouse ,p_g24_dongle_bind_second_step_mouse 
-011f c0010127 beq bind_keyboard ,p_g24_dongle_bind_second_step_keyboard 
-0120 20600000 rtn 
+0139 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+013a c000813d beq bind_mouse ,p_g24_dongle_bind_second_step_mouse 
+013b c0010143 beq bind_keyboard ,p_g24_dongle_bind_second_step_keyboard 
+013c 20600000 rtn 
 
 p_g24_dongle_bind_second_step_mouse:
-0121 20400115 call p_g24_dongle_bind_ms_payload_cfg 
-0122 6800c8a7 fetch 1 ,mem_dongle_ms_bind_step 
-0123 c0008125 beq 1 ,p_g24_dongle_ms_bind_step_set2 
-0124 20600000 rtn 
+013d 20400131 call p_g24_dongle_bind_ms_payload_cfg 
+013e 6800c8a7 fetch 1 ,mem_dongle_ms_bind_step 
+013f c0008141 beq 1 ,p_g24_dongle_ms_bind_step_set2 
+0140 20600000 rtn 
 
 p_g24_dongle_ms_bind_step_set2:
-0125 7048a702 jam 2 ,mem_dongle_ms_bind_step 
-0126 20600000 rtn 
+0141 7048a702 jam 2 ,mem_dongle_ms_bind_step 
+0142 20600000 rtn 
 
 p_g24_dongle_bind_second_step_keyboard:
-0127 2040011b call p_g24_dongle_bind_kb_payload_cfg 
-0128 6800c8a8 fetch 1 ,mem_dongle_kb_bind_step 
-0129 c000812b beq 1 ,p_g24_dongle_kb_bind_step_set2 
-012a 20600000 rtn 
+0143 20400137 call p_g24_dongle_bind_kb_payload_cfg 
+0144 6800c8a8 fetch 1 ,mem_dongle_kb_bind_step 
+0145 c0008147 beq 1 ,p_g24_dongle_kb_bind_step_set2 
+0146 20600000 rtn 
 
 p_g24_dongle_kb_bind_step_set2:
-012b 7048a802 jam 2 ,mem_dongle_kb_bind_step 
-012c 20600000 rtn 
+0147 7048a802 jam 2 ,mem_dongle_kb_bind_step 
+0148 20600000 rtn 
 
 p_g24_dongle_bind_third_step:
-012d 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-012e c0008131 beq bind_mouse ,p_g24_dongle_bind_third_step_mouse 
-012f c001013a beq bind_keyboard ,p_g24_dongle_bind_third_step_keyboard 
-0130 20600000 rtn 
+0149 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+014a c000814d beq bind_mouse ,p_g24_dongle_bind_third_step_mouse 
+014b c0010157 beq bind_keyboard ,p_g24_dongle_bind_third_step_keyboard 
+014c 20600000 rtn 
 
 p_g24_dongle_bind_third_step_mouse:
-0131 6800c8a7 fetch 1 ,mem_dongle_ms_bind_step 
-0132 c0010134 beq 2 ,p_g24_dongle_ms_bind_step_success 
-0133 20600000 rtn 
+014d 6800c8a7 fetch 1 ,mem_dongle_ms_bind_step 
+014e c0010150 beq 2 ,p_g24_dongle_ms_bind_step_success 
+014f 20600000 rtn 
 
 p_g24_dongle_ms_bind_step_success:
-0134 6800c8a9 fetch 1 ,mem_dongle_bind_device_status 
-0135 1fe1fe01 or_into 0x01 ,pdata 
-0136 6000c8a9 store 1 ,mem_dongle_bind_device_status 
+0150 20400120 call p_g24_dongle_binding_mouse_living 
+0151 6800c8a9 fetch 1 ,mem_dongle_bind_device_status 
+0152 1fe1fe01 or_into 0x01 ,pdata 
+0153 6000c8a9 store 1 ,mem_dongle_bind_device_status 
 
 p_g24_dongle_bind_exit:
-0137 58000000 setarg 0 
-0138 600148a7 store 2 ,mem_dongle_ms_bind_step 
-0139 2020010d branch p_g24_rx_interrupt_clear 
+0154 58000000 setarg 0 
+0155 600148a7 store 2 ,mem_dongle_ms_bind_step 
+0156 2020010e branch p_g24_rx_interrupt_clear 
 
 p_g24_dongle_bind_third_step_keyboard:
-013a 6800c8a8 fetch 1 ,mem_dongle_kb_bind_step 
-013b c080013d bne 0 ,p_g24_dongle_kb_bind_step_success 
-013c 20600000 rtn 
+0157 6800c8a8 fetch 1 ,mem_dongle_kb_bind_step 
+0158 c080015a bne 0 ,p_g24_dongle_kb_bind_step_success 
+0159 20600000 rtn 
 
 p_g24_dongle_kb_bind_step_success:
-013d 6800c8a9 fetch 1 ,mem_dongle_bind_device_status 
-013e 1fe1fe02 or_into 0x02 ,pdata 
-013f 6000c8a9 store 1 ,mem_dongle_bind_device_status 
-0140 20400137 call p_g24_dongle_bind_exit 
+015a 20400126 call p_g24_dongle_binding_keyboard_living 
+015b 6800c8a9 fetch 1 ,mem_dongle_bind_device_status 
+015c 1fe1fe02 or_into 0x02 ,pdata 
+015d 6000c8a9 store 1 ,mem_dongle_bind_device_status 
+015e 20400154 call p_g24_dongle_bind_exit 
 
 p_g24_dongle_store_kb_bind_flag:
-0141 680091c7 fetch 1 ,mem_dongle_kb_bind_flag 
-0142 c12d0000 rtneq dongle_kb_bind_success 
-0143 7011c75a jam dongle_kb_bind_success ,mem_dongle_kb_bind_flag 
-0144 2040008f call p_dongle_set_kb_bind_eeprom 
-0145 204065d1 call iicd_write_protect_eep_data 
-0146 2020659a branch soft_reset_chip 
+015f 680091c7 fetch 1 ,mem_dongle_kb_bind_flag 
+0160 c12d0000 rtneq dongle_kb_bind_success 
+0161 7011c75a jam dongle_kb_bind_success ,mem_dongle_kb_bind_flag 
+0162 20400090 call p_dongle_set_kb_bind_eeprom 
+0163 204065d1 call iicd_write_protect_eep_data 
+0164 2020659a branch soft_reset_chip 
 
 p_g24_data_attemp_bind:
-0147 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-0148 c000814b beq datatype_mouse ,p_g24_data_attemp_mouse_bind 
-0149 c001014e beq datatype_keyboard ,p_g24_data_attemp_kbd_bind 
-014a 20600000 rtn 
+0165 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+0166 c0008169 beq datatype_mouse ,p_g24_data_attemp_mouse_bind 
+0167 c001016c beq datatype_keyboard ,p_g24_data_attemp_kbd_bind 
+0168 20600000 rtn 
 
 p_g24_data_attemp_mouse_bind:
-014b 68024883 fetch 4 ,mem_24g_rxdata_temp + 4 
+0169 68024883 fetch 4 ,mem_24g_rxdata_temp + 4 
 
 p_g24_store_mouse_addr:
-014c 600248dc store 4 ,mem_24g_ms_addr 
-014d 20600000 rtn 
+016a 600248dc store 4 ,mem_24g_ms_addr 
+016b 20600000 rtn 
 
 p_g24_data_attemp_kbd_bind:
-014e 68024883 fetch 4 ,mem_24g_rxdata_temp + 4 
+016c 68024883 fetch 4 ,mem_24g_rxdata_temp + 4 
 
 p_g24_store_kbd_addr:
-014f 600248d8 store 4 ,mem_24g_kb_addr 
-0150 20600000 rtn 
+016d 600248d8 store 4 ,mem_24g_kb_addr 
+016e 20600000 rtn 
 
 p_g24_queue_init:
-0151 70490200 jam 0 ,mem_queue_ele_num 
-0152 58004907 setarg mem_queue_start 
-0153 60014903 store 2 ,mem_queue_read 
-0154 60014905 store 2 ,mem_queue_write 
-0155 20600000 rtn 
+016f 70490200 jam 0 ,mem_queue_ele_num 
+0170 58004907 setarg mem_queue_start 
+0171 60014903 store 2 ,mem_queue_read 
+0172 60014905 store 2 ,mem_queue_write 
+0173 20600000 rtn 
 
 p_g24_queue_put:
-0156 df20001f arg 0x1f ,loopcnt 
-0157 d8400cb6 arg mem_usb0_set_report_data ,temp 
-0158 68014905 fetch 2 ,mem_queue_write 
-0159 1fe20a00 copy pdata ,contw 
-015a 18420c00 copy temp ,contr 
-015b 20407f01 call memcpy 
-015c 6800c902 fetch 1 ,mem_queue_ele_num 
-015d 1fe0fe01 increase 1 ,pdata 
-015e 6000c902 store 1 ,mem_queue_ele_num 
-015f 58004905 setarg mem_queue_write 
+0174 df20001f arg 0x1f ,loopcnt 
+0175 d8400cb6 arg mem_usb0_set_report_data ,temp 
+0176 68014905 fetch 2 ,mem_queue_write 
+0177 1fe20a00 copy pdata ,contw 
+0178 18420c00 copy temp ,contr 
+0179 20407f01 call memcpy 
+017a 6800c902 fetch 1 ,mem_queue_ele_num 
+017b 1fe0fe01 increase 1 ,pdata 
+017c 6000c902 store 1 ,mem_queue_ele_num 
+017d 58004905 setarg mem_queue_write 
 
 p_g24_queue_increase:
-0160 1fe22200 copy pdata ,rega 
-0161 d8404967 arg mem_queue_end ,temp 
-0162 ea210000 ifetch 2 ,rega 
-0163 1fe0fe20 increase queue_ele_length ,pdata 
-0164 98467c00 isub temp ,null 
-0165 24210167 nbranch p_g24_queue_put_end ,positive 
-0166 58004907 setarg mem_queue_start 
+017e 1fe22200 copy pdata ,rega 
+017f d8404967 arg mem_queue_end ,temp 
+0180 ea210000 ifetch 2 ,rega 
+0181 1fe0fe20 increase queue_ele_length ,pdata 
+0182 98467c00 isub temp ,null 
+0183 24210185 nbranch p_g24_queue_put_end ,positive 
+0184 58004907 setarg mem_queue_start 
 
 p_g24_queue_put_end:
-0167 e2210000 istore 2 ,rega 
-0168 20600000 rtn 
+0185 e2210000 istore 2 ,rega 
+0186 20600000 rtn 
 
 p_g24_queue_read_point:
-0169 78547c00 disable user 
-016a 6800c902 fetch 1 ,mem_queue_ele_num 
-016b 207a0000 rtn blank 
-016c 78347c00 enable user 
-016d 68014903 fetch 2 ,mem_queue_read 
-016e 20600000 rtn 
+0187 78547c00 disable user 
+0188 6800c902 fetch 1 ,mem_queue_ele_num 
+0189 207a0000 rtn blank 
+018a 78347c00 enable user 
+018b 68014903 fetch 2 ,mem_queue_read 
+018c 20600000 rtn 
 
 p_dongle_usb_dispatch:
-016f 708004ff jam 0xff ,core_write_watchdog 
-0170 204048d3 call usb_isr 
-0171 68008d50 fetch 1 ,mem_usb0_get_set_report 
-0172 207a0000 rtn blank 
-0173 700d5000 jam 0 ,mem_usb0_get_set_report 
-0174 68010d4e fetch 2 ,mem_usb_setup_bvalue_temp 
-0175 d84002ba arg pc_set_report ,temp 
-0176 98467c00 isub temp ,null 
-0177 24628000 nrtn zero 
-0178 68008cb6 fetch 1 ,mem_usb0_set_report_data 
-0179 c1dd0000 rtnne pc_report_id 
-017a 68008cb7 fetch 1 ,mem_usb0_set_report_data + 1 
-017b c050018c beq command_mode ,p_dongle_dispose_cmd_mode 
-017c c0508182 beq command_bind ,p_dongle_dispose_cmd_bind 
-017d c0533041 beq command_current_project ,dongle_dispose_cmd_current_project 
-017e c0538191 beq command_current_mode ,p_dongle_dispose_cmd_current_mode 
-017f c0548197 beq command_current_fw_version ,p_dongle_dispose_cmd_current_fw_version 
-0180 c0580199 beq command_user_defined ,p_dongle_dispose_cmd_user_defined 
-0181 2020302a branch usb0_data_ready_report_set0 
+018d 708004ff jam 0xff ,core_write_watchdog 
+018e 204048d3 call usb_isr 
+018f 68008d50 fetch 1 ,mem_usb0_get_set_report 
+0190 207a0000 rtn blank 
+0191 700d5000 jam 0 ,mem_usb0_get_set_report 
+0192 68010d4e fetch 2 ,mem_usb_setup_bvalue_temp 
+0193 d84002ba arg pc_set_report ,temp 
+0194 98467c00 isub temp ,null 
+0195 24628000 nrtn zero 
+0196 68008cb6 fetch 1 ,mem_usb0_set_report_data 
+0197 c1dd0000 rtnne pc_report_id 
+0198 68008cb7 fetch 1 ,mem_usb0_set_report_data + 1 
+0199 c05001aa beq command_mode ,p_dongle_dispose_cmd_mode 
+019a c05081a0 beq command_bind ,p_dongle_dispose_cmd_bind 
+019b c0533041 beq command_current_project ,dongle_dispose_cmd_current_project 
+019c c05381af beq command_current_mode ,p_dongle_dispose_cmd_current_mode 
+019d c05481b5 beq command_current_fw_version ,p_dongle_dispose_cmd_current_fw_version 
+019e c05801b7 beq command_user_defined ,p_dongle_dispose_cmd_user_defined 
+019f 2020302a branch usb0_data_ready_report_set0 
 
 p_dongle_dispose_cmd_bind:
-0182 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
-0183 c0008187 beq com_bind_get ,p_dongle_dispose_cmd_get_bind 
-0184 c042018a beq com_bind_exit ,p_dongle_dispose_cmd_exit_bind 
-0185 c053b039 beq com_read_mode ,dongle_dispose_cmd_read_mode 
-0186 2020302a branch usb0_data_ready_report_set0 
+01a0 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+01a1 c00081a5 beq com_bind_get ,p_dongle_dispose_cmd_get_bind 
+01a2 c04201a8 beq com_bind_exit ,p_dongle_dispose_cmd_exit_bind 
+01a3 c053b039 beq com_read_mode ,dongle_dispose_cmd_read_mode 
+01a4 2020302a branch usb0_data_ready_report_set0 
 
 p_dongle_dispose_cmd_get_bind:
-0187 6800c8a9 fetch 1 ,mem_dongle_bind_device_status 
-0188 60008cf7 store 1 ,mem_usb0_get_report_data + 1 
-0189 2020303f branch usb0_data_ready_report_set1 
+01a5 6800c8a9 fetch 1 ,mem_dongle_bind_device_status 
+01a6 60008cf7 store 1 ,mem_usb0_get_report_data + 1 
+01a7 2020303f branch usb0_data_ready_report_set1 
 
 p_dongle_dispose_cmd_exit_bind:
-018a 204000a3 call p_dongle_work_mode_enable 
-018b 20200187 branch p_dongle_dispose_cmd_get_bind 
+01a8 204000a4 call p_dongle_work_mode_enable 
+01a9 202001a5 branch p_dongle_dispose_cmd_get_bind 
 
 p_dongle_dispose_cmd_mode:
-018c 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
-018d c040818f beq com_mode_bind ,p_dongle_enter_bind_mode 
-018e 2020302a branch usb0_data_ready_report_set0 
+01aa 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+01ab c04081ad beq com_mode_bind ,p_dongle_enter_bind_mode 
+01ac 2020302a branch usb0_data_ready_report_set0 
 
 p_dongle_enter_bind_mode:
-018f 204001eb call p_g24_bind_mode_enable 
-0190 2020303f branch usb0_data_ready_report_set1 
+01ad 2040020a call p_g24_bind_mode_enable 
+01ae 2020303f branch usb0_data_ready_report_set1 
 
 p_dongle_dispose_cmd_current_mode:
-0191 6800c8a6 fetch 1 ,mem_dongle_work_mode 
-0192 c0000195 beq dongle_work ,p_dongle_dispose_in_work_mode 
-0193 c000b039 beq dongle_bind ,dongle_dispose_in_bind_mode 
-0194 20600000 rtn 
+01af 6800c8a6 fetch 1 ,mem_dongle_work_mode 
+01b0 c00001b3 beq dongle_work ,p_dongle_dispose_in_work_mode 
+01b1 c000b039 beq dongle_bind ,dongle_dispose_in_bind_mode 
+01b2 20600000 rtn 
 
 p_dongle_dispose_in_work_mode:
-0195 700cf7a0 jam command_mode ,mem_usb0_get_report_data + 1 
-0196 2020303f branch usb0_data_ready_report_set1 
+01b3 700cf7a0 jam command_mode ,mem_usb0_get_report_data + 1 
+01b4 2020303f branch usb0_data_ready_report_set1 
 
 p_dongle_dispose_cmd_current_fw_version:
-0197 700cfa07 jam fw_version3 ,mem_usb0_get_report_data + 4 
-0198 20203049 branch dongle_dispose_cmd_current_fw_version 
+01b5 700cfa07 jam fw_version3 ,mem_usb0_get_report_data + 4 
+01b6 20203049 branch dongle_dispose_cmd_current_fw_version 
 
 p_dongle_dispose_cmd_user_defined:
-0199 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
-019a c07fe59a beq 0xff ,soft_reset_chip 
+01b7 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+01b8 c07fe59a beq 0xff ,soft_reset_chip 
 
 p_dongle_dispose_cmd_ota:
-019b 7048ba02 jam 2 ,mem_24g_ackpayload_enable 
-019c 6800c902 fetch 1 ,mem_queue_ele_num 
-019d c00181a3 beq queue_ele_count ,p_user_defined_queue_buff_full 
-019e 20400156 call p_g24_queue_put 
-019f 6800c902 fetch 1 ,mem_queue_ele_num 
-01a0 c00181a3 beq queue_ele_count ,p_user_defined_queue_buff_full 
+01b9 7048ba02 jam 2 ,mem_24g_ackpayload_enable 
+01ba 6800c902 fetch 1 ,mem_queue_ele_num 
+01bb c00181c1 beq queue_ele_count ,p_user_defined_queue_buff_full 
+01bc 20400174 call p_g24_queue_put 
+01bd 6800c902 fetch 1 ,mem_queue_ele_num 
+01be c00181c1 beq queue_ele_count ,p_user_defined_queue_buff_full 
 
 p_user_defined_queue_buff_free:
-01a1 700cf700 jam 0 ,mem_usb0_get_report_data + 1 
-01a2 2020303f branch usb0_data_ready_report_set1 
+01bf 700cf700 jam 0 ,mem_usb0_get_report_data + 1 
+01c0 2020303f branch usb0_data_ready_report_set1 
 
 p_user_defined_queue_buff_full:
-01a3 700cf701 jam 1 ,mem_usb0_get_report_data + 1 
-01a4 2020303f branch usb0_data_ready_report_set1 
+01c1 700cf701 jam 1 ,mem_usb0_get_report_data + 1 
+01c2 2020303f branch usb0_data_ready_report_set1 
 
 p_dongle_auto_bind:
-01a5 204001c9 call p_g24_mode_switch_init 
+01c3 204001e8 call p_g24_mode_switch_init 
 
 p_dongle_auto_bind_loop:
-01a6 204001cf call p_g24_mode_switch 
-01a7 204001ac call p_g24_dongle_work_mode_auto 
-01a8 204001b0 call p_g24_dongle_bind_mode_auto 
-01a9 20400201 call p_g24_dongle_search_mode_auto 
-01aa 2040016f call p_dongle_usb_dispatch 
-01ab 202001a6 branch p_dongle_auto_bind_loop 
+01c4 204001ee call p_g24_mode_switch 
+01c5 20400219 call p_g24_mode_switch_2 
+01c6 204001cb call p_g24_dongle_work_mode_auto 
+01c7 204001cf call p_g24_dongle_bind_mode_auto 
+01c8 2040024a call p_g24_dongle_search_mode_auto 
+01c9 2040018d call p_dongle_usb_dispatch 
+01ca 202001c4 branch p_dongle_auto_bind_loop 
 
 p_g24_dongle_work_mode_auto:
-01ac 6800c8a6 fetch 1 ,mem_dongle_work_mode 
-01ad c1800000 rtnne dongle_work 
-01ae 204000a8 call p_g24_dongle_work_mode_start 
-01af 202001f0 branch p_g24_rx_nodata_process 
+01cb 6800c8a6 fetch 1 ,mem_dongle_work_mode 
+01cc c1800000 rtnne dongle_work 
+01cd 204000a9 call p_g24_dongle_work_mode_start 
+01ce 20200238 branch p_g24_rx_nodata_process 
 
 p_g24_dongle_bind_mode_auto:
-01b0 6800c8a6 fetch 1 ,mem_dongle_work_mode 
-01b1 c1808000 rtnne dongle_bind 
-01b2 204000f5 call p_g24_dongle_bind_init 
-01b3 20400101 call p_g24_dongle_bind_data_process 
-01b4 6800c8a9 fetch 1 ,mem_dongle_bind_device_status 
-01b5 207a0000 rtn blank 
-01b6 7048b900 jam 0 ,mem_24g_mode_switch 
-01b7 204000a2 call p_dongle_check_mode 
-01b8 204001ee call p_g24_enable_nodata_timer 
-01b9 202001cc branch p_g24_timer_init 
+01cf 6800c8a6 fetch 1 ,mem_dongle_work_mode 
+01d0 c1808000 rtnne dongle_bind 
+01d1 204000f6 call p_g24_dongle_bind_init 
+01d2 20400102 call p_g24_dongle_bind_data_process 
+01d3 6800c8a9 fetch 1 ,mem_dongle_bind_device_status 
+01d4 207a0000 rtn blank 
+01d5 7048b900 jam 0 ,mem_24g_mode_switch 
+01d6 204000a3 call p_dongle_check_mode 
+01d7 20400236 call p_g24_enable_nodata_timer 
+01d8 202001eb branch p_g24_timer_init 
 
 p_g24_timer_check:
-01ba 20407fe9 call disable_user 
-01bb 680a4859 fetcht 4 ,mem_24g_tx_btclk 
-01bc 1c427e00 copy clkn_bt ,pdata 
-01bd 98467c00 isub temp ,null 
-01be 24412d18 ncall g24_timer_timeout ,positive 
-01bf 1fe22400 copy pdata ,regb 
-01c0 68024859 fetch 4 ,mem_24g_tx_btclk 
-01c1 6808c85d fetcht 1 ,mem_24g_interval 
-01c2 98408400 iadd temp ,temp 
-01c3 1a427e00 copy regb ,pdata 
-01c4 98467c00 isub temp ,null 
-01c5 24610000 nrtn positive 
-01c6 793ffe1c set0 28 ,pdata 
-01c7 60024859 store 4 ,mem_24g_tx_btclk 
-01c8 20207fe7 branch enable_user 
+01d9 20407fe9 call disable_user 
+01da 680a4859 fetcht 4 ,mem_24g_tx_btclk 
+01db 1c427e00 copy clkn_bt ,pdata 
+01dc 98467c00 isub temp ,null 
+01dd 24412d18 ncall g24_timer_timeout ,positive 
+01de 1fe22400 copy pdata ,regb 
+01df 68024859 fetch 4 ,mem_24g_tx_btclk 
+01e0 6808c85d fetcht 1 ,mem_24g_interval 
+01e1 98408400 iadd temp ,temp 
+01e2 1a427e00 copy regb ,pdata 
+01e3 98467c00 isub temp ,null 
+01e4 24610000 nrtn positive 
+01e5 793ffe1c set0 28 ,pdata 
+01e6 60024859 store 4 ,mem_24g_tx_btclk 
+01e7 20207fe7 branch enable_user 
 
 p_g24_mode_switch_init:
-01c9 7048b901 jam 1 ,mem_24g_mode_switch 
-01ca 7048be00 jam 0 ,mem_24g_time_slice 
-01cb 70485dff jam 0xff ,mem_24g_interval 
+01e8 7048b901 jam 1 ,mem_24g_mode_switch 
+01e9 7048be00 jam 0 ,mem_24g_time_slice 
+01ea 70485dff jam 0xff ,mem_24g_interval 
 
 p_g24_timer_init:
-01cc 58000000 setarg 0 
-01cd 60024859 store 4 ,mem_24g_tx_btclk 
-01ce 20600000 rtn 
+01eb 58000000 setarg 0 
+01ec 60024859 store 4 ,mem_24g_tx_btclk 
+01ed 20600000 rtn 
 
 p_g24_mode_switch:
-01cf 6800c8b9 fetch 1 ,mem_24g_mode_switch 
-01d0 207a0000 rtn blank 
-01d1 204001ba call p_g24_timer_check 
-01d2 24740000 nrtn user 
-01d3 204001e4 call p_g24_bind_mode_delay 
-01d4 204001dc call p_g24_work_mode_delay 
-01d5 6800c8be fetch 1 ,mem_24g_time_slice 
-01d6 1fe0fe01 increase 1 ,pdata 
-01d7 1fe17e01 and_into 1 ,pdata 
-01d8 6000c8be store 1 ,mem_24g_time_slice 
-01d9 c00001e1 beq 0 ,p_g24_mode_switch_work 
-01da c00081e9 beq 1 ,p_g24_mode_switch_bind 
-01db 20600000 rtn 
+01ee 6800c8b9 fetch 1 ,mem_24g_mode_switch 
+01ef 207a0000 rtn blank 
+01f0 204001d9 call p_g24_timer_check 
+01f1 24740000 nrtn user 
+01f2 20400203 call p_g24_bind_mode_delay 
+01f3 204001fb call p_g24_work_mode_delay 
+01f4 6800c8be fetch 1 ,mem_24g_time_slice 
+01f5 1fe0fe01 increase 1 ,pdata 
+01f6 1fe17e01 and_into 1 ,pdata 
+01f7 6000c8be store 1 ,mem_24g_time_slice 
+01f8 c0000200 beq 0 ,p_g24_mode_switch_work 
+01f9 c0008208 beq 1 ,p_g24_mode_switch_bind 
+01fa 20600000 rtn 
 
 p_g24_work_mode_delay:
-01dc 6800c97c fetch 1 ,mem_24g_work_delay_count 
-01dd 207a0000 rtn blank 
-01de 1fe0ffff increase -1 ,pdata 
-01df 6000c97c store 1 ,mem_24g_work_delay_count 
-01e0 20600000 rtn 
+01fb 6800c97c fetch 1 ,mem_24g_work_delay_count 
+01fc 207a0000 rtn blank 
+01fd 1fe0ffff increase -1 ,pdata 
+01fe 6000c97c store 1 ,mem_24g_work_delay_count 
+01ff 20600000 rtn 
 
 p_g24_mode_switch_work:
-01e1 6800c97c fetch 1 ,mem_24g_work_delay_count 
-01e2 243a01eb nbranch p_g24_bind_mode_enable ,blank 
-01e3 202000a2 branch p_dongle_check_mode 
+0200 6800c97c fetch 1 ,mem_24g_work_delay_count 
+0201 243a020a nbranch p_g24_bind_mode_enable ,blank 
+0202 202000a3 branch p_dongle_check_mode 
 
 p_g24_bind_mode_delay:
-01e4 6800c97b fetch 1 ,mem_24g_bind_delay_count 
-01e5 207a0000 rtn blank 
-01e6 1fe0ffff increase -1 ,pdata 
-01e7 6000c97b store 1 ,mem_24g_bind_delay_count 
-01e8 20600000 rtn 
+0203 6800c97b fetch 1 ,mem_24g_bind_delay_count 
+0204 207a0000 rtn blank 
+0205 1fe0ffff increase -1 ,pdata 
+0206 6000c97b store 1 ,mem_24g_bind_delay_count 
+0207 20600000 rtn 
 
 p_g24_mode_switch_bind:
-01e9 6800c97b fetch 1 ,mem_24g_bind_delay_count 
-01ea 243a00a2 nbranch p_dongle_check_mode ,blank 
+0208 6800c97b fetch 1 ,mem_24g_bind_delay_count 
+0209 243a00a3 nbranch p_dongle_check_mode ,blank 
 
 p_g24_bind_mode_enable:
-01eb 7048a601 jam dongle_bind ,mem_dongle_work_mode 
-01ec 7048a500 jam clear_init ,mem_dongle_mode_init 
-01ed 20600000 rtn 
+020a 7048a601 jam dongle_bind ,mem_dongle_work_mode 
+020b 7048a500 jam clear_init ,mem_dongle_mode_init 
+020c 20600000 rtn 
+
+p_g24_mode_switch_init_2:
+020d 6800c985 fetch 1 ,mem_24g_mode_switch_exit_2 
+020e 205a0234 call p_g24_mode_switch_start_2 ,blank 
+020f 6800c982 fetch 1 ,mem_24g_mode_switch_2_init 
+0210 c3800000 rtnbit1 0 
+0211 79207e00 set1 0 ,pdata 
+0212 6000c982 store 1 ,mem_24g_mode_switch_2_init 
+0213 70498101 jam 1 ,mem_24g_mode_switch_2 
+0214 70498600 jam 0 ,mem_24g_time_slice_2 
+0215 58000000 setarg 0 
+0216 60014983 store 2 ,mem_24g_mode_switch_cnt_2 
+0217 70485d60 jam 0x60 ,mem_24g_interval 
+0218 202001eb branch p_g24_timer_init 
+
+p_g24_mode_switch_2:
+0219 6800c985 fetch 1 ,mem_24g_mode_switch_exit_2 
+021a 247a0000 nrtn blank 
+021b 6800c981 fetch 1 ,mem_24g_mode_switch_2 
+021c 207a0000 rtn blank 
+021d 204001d9 call p_g24_timer_check 
+021e 24740000 nrtn user 
+021f 68014983 fetch 2 ,mem_24g_mode_switch_cnt_2 
+0220 1fe0fe01 increase 1 ,pdata 
+0221 60014983 store 2 ,mem_24g_mode_switch_cnt_2 
+0222 d84007d0 arg 0x7d0 ,temp 
+0223 98467c00 isub temp ,null 
+0224 20210230 branch p_g24_mode_switch_exit_2 ,positive 
+0225 204001fb call p_g24_work_mode_delay 
+0226 6800c986 fetch 1 ,mem_24g_time_slice_2 
+0227 1fe0fe01 increase 1 ,pdata 
+0228 1fe17e01 and_into 1 ,pdata 
+0229 6000c986 store 1 ,mem_24g_time_slice_2 
+022a c000022d beq 0 ,p_g24_mode_switch_search 
+022b c000820a beq 1 ,p_g24_bind_mode_enable 
+022c 20600000 rtn 
+
+p_g24_mode_switch_search:
+022d 6800c97c fetch 1 ,mem_24g_work_delay_count 
+022e 243a020a nbranch p_g24_bind_mode_enable ,blank 
+022f 20200243 branch p_g24_search_mode_enable 
+
+p_g24_mode_switch_exit_2:
+0230 70498501 jam 1 ,mem_24g_mode_switch_exit_2 
+0231 20200243 branch p_g24_search_mode_enable 
+
+p_g24_mode_switch_stop_2:
+0232 70498100 jam 0 ,mem_24g_mode_switch_2 
+0233 20600000 rtn 
+
+p_g24_mode_switch_start_2:
+0234 70498101 jam 1 ,mem_24g_mode_switch_2 
+0235 20600000 rtn 
 
 p_g24_enable_nodata_timer:
-01ee 7048bd01 jam 1 ,mem_24g_nodata_timer_enable 
-01ef 20203095 branch g24_enable_nodata_timer_init 
+0236 7048bd01 jam 1 ,mem_24g_nodata_timer_enable 
+0237 20203095 branch g24_enable_nodata_timer_init 
 
 p_g24_rx_nodata_process:
-01f0 6800c8ba fetch 1 ,mem_24g_ackpayload_enable 
-01f1 c1010000 rtneq 2 
-01f2 6800c8bd fetch 1 ,mem_24g_nodata_timer_enable 
-01f3 207a0000 rtn blank 
-01f4 d8e00008 arg timer_nodata ,queue 
-01f5 20407f16 call timer_check 
-01f6 247a0000 nrtn blank 
-01f7 7048bd00 jam 0 ,mem_24g_nodata_timer_enable 
-01f8 70497b00 jam 0 ,mem_24g_bind_delay_count 
-01f9 70497c00 jam 0 ,mem_24g_work_delay_count 
-01fa 7048a607 jam dongle_search ,mem_dongle_work_mode 
-01fb 7048a500 jam clear_init ,mem_dongle_mode_init 
-01fc 2020010d branch p_g24_rx_interrupt_clear 
+0238 6800c8ba fetch 1 ,mem_24g_ackpayload_enable 
+0239 c1010000 rtneq 2 
+023a 6800c8bd fetch 1 ,mem_24g_nodata_timer_enable 
+023b 207a0000 rtn blank 
+023c d8e00008 arg timer_nodata ,queue 
+023d 20407f16 call timer_check 
+023e 247a0000 nrtn blank 
+023f 7048bd00 jam 0 ,mem_24g_nodata_timer_enable 
+0240 70497b00 jam 0 ,mem_24g_bind_delay_count 
+0241 70497c00 jam 0 ,mem_24g_work_delay_count 
+0242 2040020d call p_g24_mode_switch_init_2 
+
+p_g24_search_mode_enable:
+0243 7048a607 jam dongle_search ,mem_dongle_work_mode 
+0244 7048a500 jam clear_init ,mem_dongle_mode_init 
+0245 2020010e branch p_g24_rx_interrupt_clear 
 
 p_g24_receive_transmit_ack:
-01fd 2040010d call p_g24_rx_interrupt_clear 
-01fe 204003ff call p_g24_receive_packet 
-01ff 24778000 nrtn user3 
-0200 2020029c branch p_g24_transmit_ack 
+0246 2040010e call p_g24_rx_interrupt_clear 
+0247 20400450 call p_g24_receive_packet 
+0248 24778000 nrtn user3 
+0249 202002e7 branch p_g24_transmit_ack 
 
 p_g24_dongle_search_mode_auto:
-0201 6800c8a6 fetch 1 ,mem_dongle_work_mode 
-0202 c1838000 rtnne dongle_search 
-0203 20400226 call p_g24_dongle_search_mode_init 
-0204 2040023a call p_g24_rx_auto_addr_ch_search 
-0205 204001fd call p_g24_receive_transmit_ack 
-0206 2437810d nbranch p_g24_rx_interrupt_clear ,user3 
-0207 20400236 call p_g24_rx_addr_check 
-0208 204282c9 call p_g24_receive_packet_parse ,zero 
-0209 7048a600 jam dongle_work ,mem_dongle_work_mode 
-020a 6800c8a5 fetch 1 ,mem_dongle_mode_init 
-020b 79207e00 set1 dongle_work ,pdata 
-020c 6000c8a5 store 1 ,mem_dongle_mode_init 
-020d 6800c8ba fetch 1 ,mem_24g_ackpayload_enable 
-020e 1fe67c02 sub pdata ,2 ,null 
-020f 2442821d ncall p_g24_ackpayload_disable ,zero 
-0210 2040010d call p_g24_rx_interrupt_clear 
-0211 204001ee call p_g24_enable_nodata_timer 
-0212 20400236 call p_g24_rx_addr_check 
-0213 2022821f branch p_g24_dg_ch_num_reinit ,zero 
-0214 68024860 fetch 4 ,mem_24g_addr 
-0215 680a48d8 fetcht 4 ,mem_24g_kb_addr 
-0216 98467c00 isub temp ,null 
-0217 20228222 branch p_g24_kb_ch_num_reinit ,zero 
-0218 68024860 fetch 4 ,mem_24g_addr 
-0219 680a48dc fetcht 4 ,mem_24g_ms_addr 
-021a 98467c00 isub temp ,null 
-021b 20228224 branch p_g24_ms_ch_num_reinit ,zero 
-021c 20600000 rtn 
+024a 6800c8a6 fetch 1 ,mem_dongle_work_mode 
+024b c1838000 rtnne dongle_search 
+024c 20400271 call p_g24_dongle_search_mode_init 
+024d 20400285 call p_g24_rx_auto_addr_ch_search 
+024e 20400246 call p_g24_receive_transmit_ack 
+024f 2437810e nbranch p_g24_rx_interrupt_clear ,user3 
+0250 20400281 call p_g24_rx_addr_check 
+0251 20428316 call p_g24_receive_packet_parse ,zero 
+0252 6800c8b2 fetch 1 ,mem_24g_abort_packet 
+0253 205a0232 call p_g24_mode_switch_stop_2 ,blank 
+0254 7048a600 jam dongle_work ,mem_dongle_work_mode 
+0255 6800c8a5 fetch 1 ,mem_dongle_mode_init 
+0256 79207e00 set1 dongle_work ,pdata 
+0257 6000c8a5 store 1 ,mem_dongle_mode_init 
+0258 6800c8ba fetch 1 ,mem_24g_ackpayload_enable 
+0259 1fe67c02 sub pdata ,2 ,null 
+025a 24428268 ncall p_g24_ackpayload_disable ,zero 
+025b 2040010e call p_g24_rx_interrupt_clear 
+025c 20400236 call p_g24_enable_nodata_timer 
+025d 20400281 call p_g24_rx_addr_check 
+025e 2022826a branch p_g24_dg_ch_num_reinit ,zero 
+025f 68024860 fetch 4 ,mem_24g_addr 
+0260 680a48d8 fetcht 4 ,mem_24g_kb_addr 
+0261 98467c00 isub temp ,null 
+0262 2022826d branch p_g24_kb_ch_num_reinit ,zero 
+0263 68024860 fetch 4 ,mem_24g_addr 
+0264 680a48dc fetcht 4 ,mem_24g_ms_addr 
+0265 98467c00 isub temp ,null 
+0266 2022826f branch p_g24_ms_ch_num_reinit ,zero 
+0267 20600000 rtn 
 
 p_g24_ackpayload_disable:
-021d 7048ba00 jam 0 ,mem_24g_ackpayload_enable 
-021e 20600000 rtn 
+0268 7048ba00 jam 0 ,mem_24g_ackpayload_enable 
+0269 20600000 rtn 
 
 p_g24_dg_ch_num_reinit:
-021f 6800c8e1 fetch 1 ,mem_24g_dg_ch_number 
+026a 6800c8e1 fetch 1 ,mem_24g_dg_ch_number 
 
 p_g24_current_ch_num_reinit:
-0220 6000c843 store 1 ,mem_24g_current_ch_number 
-0221 20600000 rtn 
+026b 6000c843 store 1 ,mem_24g_current_ch_number 
+026c 20600000 rtn 
 
 p_g24_kb_ch_num_reinit:
-0222 6800c8e4 fetch 1 ,mem_24g_kb_ch_number 
-0223 20200220 branch p_g24_current_ch_num_reinit 
+026d 6800c8e4 fetch 1 ,mem_24g_kb_ch_number 
+026e 2020026b branch p_g24_current_ch_num_reinit 
 
 p_g24_ms_ch_num_reinit:
-0224 6800c8e7 fetch 1 ,mem_24g_ms_ch_number 
-0225 20200220 branch p_g24_current_ch_num_reinit 
+026f 6800c8e7 fetch 1 ,mem_24g_ms_ch_number 
+0270 2020026b branch p_g24_current_ch_num_reinit 
 
 p_g24_dongle_search_mode_init:
-0226 6800c8a5 fetch 1 ,mem_dongle_mode_init 
-0227 c3838000 rtnbit1 dongle_search 
-0228 79207e07 set1 dongle_search ,pdata 
-0229 6000c8a5 store 1 ,mem_dongle_mode_init 
-022a 7048be00 jam 0 ,mem_24g_time_slice 
-022b 7048ba01 jam 1 ,mem_24g_ackpayload_enable 
-022c 58000000 setarg 0 
-022d 6001c8f7 store 3 ,mem_rssi_noise_dg_index 
-022e 6003c8e2 store 7 ,mem_24g_dg_config_ch_once 
-022f 20400236 call p_g24_rx_addr_check 
-0230 24628000 nrtn zero 
-0231 6800c843 fetch 1 ,mem_24g_current_ch_number 
-0232 6000c8e1 store 1 ,mem_24g_dg_ch_number 
-0233 6800c842 fetch 1 ,mem_24g_ch 
-0234 6000c8e0 store 1 ,mem_24g_dg_last_ch 
-0235 20600000 rtn 
+0271 6800c8a5 fetch 1 ,mem_dongle_mode_init 
+0272 c3838000 rtnbit1 dongle_search 
+0273 79207e07 set1 dongle_search ,pdata 
+0274 6000c8a5 store 1 ,mem_dongle_mode_init 
+0275 7048be00 jam 0 ,mem_24g_time_slice 
+0276 7048ba01 jam 1 ,mem_24g_ackpayload_enable 
+0277 58000000 setarg 0 
+0278 6001c8f7 store 3 ,mem_rssi_noise_dg_index 
+0279 6003c8e2 store 7 ,mem_24g_dg_config_ch_once 
+027a 20400281 call p_g24_rx_addr_check 
+027b 24628000 nrtn zero 
+027c 6800c843 fetch 1 ,mem_24g_current_ch_number 
+027d 6000c8e1 store 1 ,mem_24g_dg_ch_number 
+027e 6800c842 fetch 1 ,mem_24g_ch 
+027f 6000c8e0 store 1 ,mem_24g_dg_last_ch 
+0280 20600000 rtn 
 
 p_g24_rx_addr_check:
-0236 68024860 fetch 4 ,mem_24g_addr 
-0237 680a48a1 fetcht 4 ,mem_24g_rx_addr 
-0238 98467c00 isub temp ,null 
-0239 20600000 rtn 
+0281 68024860 fetch 4 ,mem_24g_addr 
+0282 680a48a1 fetcht 4 ,mem_24g_rx_addr 
+0283 98467c00 isub temp ,null 
+0284 20600000 rtn 
 
 p_g24_rx_auto_addr_ch_search:
-023a 6800c8be fetch 1 ,mem_24g_time_slice 
-023b 1fe0fe01 increase 1 ,pdata 
-023c 1fe17e03 and_into 3 ,pdata 
-023d 6000c8be store 1 ,mem_24g_time_slice 
-023e c000025d beq 0 ,p_g24_rx_auto_bind_config_kb 
-023f c0008277 beq 1 ,p_g24_rx_auto_bind_config_dongle 
-0240 c0010243 beq 2 ,p_g24_rx_auto_bind_config_mouse 
-0241 c0018277 beq 3 ,p_g24_rx_auto_bind_config_dongle 
-0242 20600000 rtn 
+0285 6800c8be fetch 1 ,mem_24g_time_slice 
+0286 1fe0fe01 increase 1 ,pdata 
+0287 1fe17e03 and_into 3 ,pdata 
+0288 6000c8be store 1 ,mem_24g_time_slice 
+0289 c00002a8 beq 0 ,p_g24_rx_auto_bind_config_kb 
+028a c00082c2 beq 1 ,p_g24_rx_auto_bind_config_dongle 
+028b c001028e beq 2 ,p_g24_rx_auto_bind_config_mouse 
+028c c00182c2 beq 3 ,p_g24_rx_auto_bind_config_dongle 
+028d 20600000 rtn 
 
 p_g24_rx_auto_bind_config_mouse:
-0243 20400115 call p_g24_dongle_bind_ms_payload_cfg 
-0244 680248dc fetch 4 ,mem_24g_ms_addr 
-0245 203a023a branch p_g24_rx_auto_addr_ch_search ,blank 
-0246 204003c5 call p_g24_update_addr_and_synccrc8 
-0247 6800c8e8 fetch 1 ,mem_24g_ms_config_ch_once 
-0248 205a0258 call p_g24_ms_config_ch_once ,blank 
-0249 6800c8e6 fetch 1 ,mem_24g_ms_last_ch 
-024a 6000c842 store 1 ,mem_24g_ch 
-024b 6808c8f9 fetcht 1 ,mem_rssi_noise_ms_index 
-024c da200f9e arg mem_rssi_noise_ms_buffer ,rega 
-024d 204003b9 call p_rssi_store 
-024e 6008c8f9 storet 1 ,mem_rssi_noise_ms_index 
-024f 204003c0 call p_rssi_average 
-0250 6008c8f6 storet 1 ,mem_rssi_noise_ms_avg 
-0251 18467c50 sub temp ,rssi_thresh_noise ,null 
-0252 24610000 nrtn positive 
-0253 6808c8e7 fetcht 1 ,mem_24g_ms_ch_number 
-0254 204003e9 call p_g24_ch_map_size 
-0255 6008c8e7 storet 1 ,mem_24g_ms_ch_number 
-0256 6000c8e6 store 1 ,mem_24g_ms_last_ch 
-0257 20600000 rtn 
+028e 20400131 call p_g24_dongle_bind_ms_payload_cfg 
+028f 680248dc fetch 4 ,mem_24g_ms_addr 
+0290 203a0285 branch p_g24_rx_auto_addr_ch_search ,blank 
+0291 20400416 call p_g24_update_addr_and_synccrc8 
+0292 6800c8e8 fetch 1 ,mem_24g_ms_config_ch_once 
+0293 205a02a3 call p_g24_ms_config_ch_once ,blank 
+0294 6800c8e6 fetch 1 ,mem_24g_ms_last_ch 
+0295 6000c842 store 1 ,mem_24g_ch 
+0296 6808c8f9 fetcht 1 ,mem_rssi_noise_ms_index 
+0297 da200f9e arg mem_rssi_noise_ms_buffer ,rega 
+0298 2040040a call p_rssi_store 
+0299 6008c8f9 storet 1 ,mem_rssi_noise_ms_index 
+029a 20400411 call p_rssi_average 
+029b 6008c8f6 storet 1 ,mem_rssi_noise_ms_avg 
+029c 18467c50 sub temp ,rssi_thresh_noise ,null 
+029d 24610000 nrtn positive 
+029e 6808c8e7 fetcht 1 ,mem_24g_ms_ch_number 
+029f 2040043a call p_g24_ch_map_size 
+02a0 6008c8e7 storet 1 ,mem_24g_ms_ch_number 
+02a1 6000c8e6 store 1 ,mem_24g_ms_last_ch 
+02a2 20600000 rtn 
 
 p_g24_ms_config_ch_once:
-0258 7048e801 jam 1 ,mem_24g_ms_config_ch_once 
-0259 d8400000 arg 0 ,temp 
-025a 204003ed call p_g24_ch_calc 
-025b 6000c8e6 store 1 ,mem_24g_ms_last_ch 
-025c 20600000 rtn 
+02a3 7048e801 jam 1 ,mem_24g_ms_config_ch_once 
+02a4 d8400000 arg 0 ,temp 
+02a5 2040043e call p_g24_ch_calc 
+02a6 6000c8e6 store 1 ,mem_24g_ms_last_ch 
+02a7 20600000 rtn 
 
 p_g24_rx_auto_bind_config_kb:
-025d 2040011b call p_g24_dongle_bind_kb_payload_cfg 
-025e 680248d8 fetch 4 ,mem_24g_kb_addr 
-025f 203a023a branch p_g24_rx_auto_addr_ch_search ,blank 
-0260 204003c5 call p_g24_update_addr_and_synccrc8 
-0261 6800c8e5 fetch 1 ,mem_24g_kb_config_ch_once 
-0262 205a0272 call p_g24_kb_config_ch_once ,blank 
-0263 6800c8e3 fetch 1 ,mem_24g_kb_last_ch 
-0264 6000c842 store 1 ,mem_24g_ch 
-0265 6808c8f8 fetcht 1 ,mem_rssi_noise_kb_index 
-0266 da20109e arg mem_rssi_noise_kb_buffer ,rega 
-0267 204003b9 call p_rssi_store 
-0268 6008c8f8 storet 1 ,mem_rssi_noise_kb_index 
-0269 204003c0 call p_rssi_average 
-026a 6008c8f5 storet 1 ,mem_rssi_noise_kb_avg 
-026b 18467c50 sub temp ,rssi_thresh_noise ,null 
-026c 24610000 nrtn positive 
-026d 6808c8e4 fetcht 1 ,mem_24g_kb_ch_number 
-026e 204003e9 call p_g24_ch_map_size 
-026f 6008c8e4 storet 1 ,mem_24g_kb_ch_number 
-0270 6000c8e3 store 1 ,mem_24g_kb_last_ch 
-0271 20600000 rtn 
+02a8 20400137 call p_g24_dongle_bind_kb_payload_cfg 
+02a9 680248d8 fetch 4 ,mem_24g_kb_addr 
+02aa 203a0285 branch p_g24_rx_auto_addr_ch_search ,blank 
+02ab 20400416 call p_g24_update_addr_and_synccrc8 
+02ac 6800c8e5 fetch 1 ,mem_24g_kb_config_ch_once 
+02ad 205a02bd call p_g24_kb_config_ch_once ,blank 
+02ae 6800c8e3 fetch 1 ,mem_24g_kb_last_ch 
+02af 6000c842 store 1 ,mem_24g_ch 
+02b0 6808c8f8 fetcht 1 ,mem_rssi_noise_kb_index 
+02b1 da20109e arg mem_rssi_noise_kb_buffer ,rega 
+02b2 2040040a call p_rssi_store 
+02b3 6008c8f8 storet 1 ,mem_rssi_noise_kb_index 
+02b4 20400411 call p_rssi_average 
+02b5 6008c8f5 storet 1 ,mem_rssi_noise_kb_avg 
+02b6 18467c50 sub temp ,rssi_thresh_noise ,null 
+02b7 24610000 nrtn positive 
+02b8 6808c8e4 fetcht 1 ,mem_24g_kb_ch_number 
+02b9 2040043a call p_g24_ch_map_size 
+02ba 6008c8e4 storet 1 ,mem_24g_kb_ch_number 
+02bb 6000c8e3 store 1 ,mem_24g_kb_last_ch 
+02bc 20600000 rtn 
 
 p_g24_kb_config_ch_once:
-0272 7048e501 jam 1 ,mem_24g_kb_config_ch_once 
-0273 d8400000 arg 0 ,temp 
-0274 204003ed call p_g24_ch_calc 
-0275 6000c8e3 store 1 ,mem_24g_kb_last_ch 
-0276 20600000 rtn 
+02bd 7048e501 jam 1 ,mem_24g_kb_config_ch_once 
+02be d8400000 arg 0 ,temp 
+02bf 2040043e call p_g24_ch_calc 
+02c0 6000c8e3 store 1 ,mem_24g_kb_last_ch 
+02c1 20600000 rtn 
 
 p_g24_rx_auto_bind_config_dongle:
-0277 20400115 call p_g24_dongle_bind_ms_payload_cfg 
-0278 680248a1 fetch 4 ,mem_24g_rx_addr 
-0279 204003c5 call p_g24_update_addr_and_synccrc8 
-027a 6800c8e2 fetch 1 ,mem_24g_dg_config_ch_once 
-027b 205a028b call p_g24_dg_config_ch_once ,blank 
-027c 6800c8e0 fetch 1 ,mem_24g_dg_last_ch 
-027d 6000c842 store 1 ,mem_24g_ch 
-027e 6808c8f7 fetcht 1 ,mem_rssi_noise_dg_index 
-027f da200e9e arg mem_rssi_noise_dg_buffer ,rega 
-0280 204003b9 call p_rssi_store 
-0281 6008c8f7 storet 1 ,mem_rssi_noise_dg_index 
-0282 204003c0 call p_rssi_average 
-0283 6008c8f4 storet 1 ,mem_rssi_noise_dg_avg 
-0284 18467c50 sub temp ,rssi_thresh_noise ,null 
-0285 24610000 nrtn positive 
-0286 6808c8e1 fetcht 1 ,mem_24g_dg_ch_number 
-0287 204003e9 call p_g24_ch_map_size 
-0288 6008c8e1 storet 1 ,mem_24g_dg_ch_number 
-0289 6000c8e0 store 1 ,mem_24g_dg_last_ch 
-028a 20600000 rtn 
+02c2 20400131 call p_g24_dongle_bind_ms_payload_cfg 
+02c3 680248a1 fetch 4 ,mem_24g_rx_addr 
+02c4 20400416 call p_g24_update_addr_and_synccrc8 
+02c5 6800c8e2 fetch 1 ,mem_24g_dg_config_ch_once 
+02c6 205a02d6 call p_g24_dg_config_ch_once ,blank 
+02c7 6800c8e0 fetch 1 ,mem_24g_dg_last_ch 
+02c8 6000c842 store 1 ,mem_24g_ch 
+02c9 6808c8f7 fetcht 1 ,mem_rssi_noise_dg_index 
+02ca da200e9e arg mem_rssi_noise_dg_buffer ,rega 
+02cb 2040040a call p_rssi_store 
+02cc 6008c8f7 storet 1 ,mem_rssi_noise_dg_index 
+02cd 20400411 call p_rssi_average 
+02ce 6008c8f4 storet 1 ,mem_rssi_noise_dg_avg 
+02cf 18467c50 sub temp ,rssi_thresh_noise ,null 
+02d0 24610000 nrtn positive 
+02d1 6808c8e1 fetcht 1 ,mem_24g_dg_ch_number 
+02d2 2040043a call p_g24_ch_map_size 
+02d3 6008c8e1 storet 1 ,mem_24g_dg_ch_number 
+02d4 6000c8e0 store 1 ,mem_24g_dg_last_ch 
+02d5 20600000 rtn 
 
 p_g24_dg_config_ch_once:
-028b 7048e201 jam 1 ,mem_24g_dg_config_ch_once 
-028c 6800c8e0 fetch 1 ,mem_24g_dg_last_ch 
-028d 6000c842 store 1 ,mem_24g_ch 
-028e 20600000 rtn 
+02d6 7048e201 jam 1 ,mem_24g_dg_config_ch_once 
+02d7 6800c8e0 fetch 1 ,mem_24g_dg_last_ch 
+02d8 6000c842 store 1 ,mem_24g_ch 
+02d9 20600000 rtn 
 
 p_g24_read_len_pid_crc:
-028f 6800c7b3 fetch 1 ,mem_24g_rxbuf + 1 
-0290 1fe97e00 rshift3 pdata ,pdata 
-0291 6000c836 store 1 ,mem_24g_rxdata_length 
-0292 1fe0fe01 increase 1 ,pdata 
-0293 d8c047b3 arg mem_24g_rxbuf + 1 ,contr 
-0294 98c08c00 iadd contr ,contr 
-0295 e8c18000 ifetch 3 ,contr 
-0296 6001c875 store 3 ,mem_24g_sta_crc 
-0297 6800c7b3 fetch 1 ,mem_24g_rxbuf + 1 
-0298 1fe37e00 rshift pdata ,pdata 
-0299 1fe17e03 and pdata ,0x03 ,pdata 
-029a 6000c87b store 1 ,mem_24g_sta_pid 
-029b 20600000 rtn 
+02da 6800c7b3 fetch 1 ,mem_24g_rxbuf + 1 
+02db 1fe97e00 rshift3 pdata ,pdata 
+02dc 6000c836 store 1 ,mem_24g_rxdata_length 
+02dd 1fe0fe01 increase 1 ,pdata 
+02de d8c047b3 arg mem_24g_rxbuf + 1 ,contr 
+02df 98c08c00 iadd contr ,contr 
+02e0 e8c18000 ifetch 3 ,contr 
+02e1 6001c875 store 3 ,mem_24g_sta_crc 
+02e2 6800c7b3 fetch 1 ,mem_24g_rxbuf + 1 
+02e3 1fe37e00 rshift pdata ,pdata 
+02e4 1fe17e03 and pdata ,0x03 ,pdata 
+02e5 6000c87b store 1 ,mem_24g_sta_pid 
+02e6 20600000 rtn 
 
 p_g24_transmit_ack:
-029c 6800c7b2 fetch 1 ,mem_24g_rxbuf 
-029d 6000c839 store 1 ,mem_24g_data_type 
-029e 2040028f call p_g24_read_len_pid_crc 
-029f 6800c7b3 fetch 1 ,mem_24g_rxbuf + 1 
-02a0 2feffe00 isolate1 bit_ack_24g ,pdata 
-02a1 202082a5 branch p_g24tx_no_ack ,true 
+02e7 6800c7b2 fetch 1 ,mem_24g_rxbuf 
+02e8 6000c839 store 1 ,mem_24g_data_type 
+02e9 204002da call p_g24_read_len_pid_crc 
+02ea 6800c7b3 fetch 1 ,mem_24g_rxbuf + 1 
+02eb 2feffe00 isolate1 bit_ack_24g ,pdata 
+02ec 202082f0 branch p_g24tx_no_ack ,true 
 
 p_g24tx_with_ack:
-02a2 204002a6 call p_g24_ackpayload_prep 
-02a3 204003d3 call p_g24_transmit_prep 
-02a4 20400449 call p_g24_transmit 
+02ed 204002f1 call p_g24_ackpayload_prep 
+02ee 20400424 call p_g24_transmit_prep 
+02ef 2040049a call p_g24_transmit 
 
 p_g24tx_no_ack:
-02a5 20200441 branch p_g24_end_of_packet 
+02f0 20200492 branch p_g24_end_of_packet 
 
 p_g24_ackpayload_prep:
-02a6 70483800 jam 0 ,mem_24g_datalen 
-02a7 6800c8ba fetch 1 ,mem_24g_ackpayload_enable 
-02a8 207a0000 rtn blank 
-02a9 c00082ad beq bind_ackpayload ,p_g24_bind_ackpayload_prep 
-02aa c00102b3 beq user_ackpayload ,p_g24_user_ackpayload_prep 
-02ab c00182bd beq kb_led_ackpayload ,p_g24_kb_led_ackpayload_prep 
-02ac 20600000 rtn 
+02f1 70483800 jam 0 ,mem_24g_datalen 
+02f2 6800c8ba fetch 1 ,mem_24g_ackpayload_enable 
+02f3 207a0000 rtn blank 
+02f4 c00082f8 beq bind_ackpayload ,p_g24_bind_ackpayload_prep 
+02f5 c0010300 beq user_ackpayload ,p_g24_user_ackpayload_prep 
+02f6 c001830a beq kb_led_ackpayload ,p_g24_kb_led_ackpayload_prep 
+02f7 20600000 rtn 
 
 p_g24_bind_ackpayload_prep:
-02ad 7048ba01 jam 1 ,mem_24g_ackpayload_enable 
-02ae 70483808 jam 0x08 ,mem_24g_datalen 
-02af df200008 arg 0x08 ,loopcnt 
-02b0 d8c048aa arg mem_24g_bind_payload ,contr 
-02b1 d8a047d4 arg mem_24g_txbuf ,contw 
-02b2 20207f01 branch memcpy 
+02f8 7048ba01 jam 1 ,mem_24g_ackpayload_enable 
+02f9 20400111 call p_g24_dongle_binding_device_check 
+02fa 24778000 nrtn user3 
+02fb 70483808 jam 0x08 ,mem_24g_datalen 
+02fc df200008 arg 0x08 ,loopcnt 
+02fd d8c048aa arg mem_24g_bind_payload ,contr 
+02fe d8a047d4 arg mem_24g_txbuf ,contw 
+02ff 20207f01 branch memcpy 
 
 p_g24_user_ackpayload_prep:
-02b3 20400169 call p_g24_queue_read_point 
-02b4 24740000 nrtn user 
-02b5 7048381f jam 0x1f ,mem_24g_datalen 
-02b6 df20001f arg 0x1f ,loopcnt 
-02b7 1fe20c00 copy pdata ,contr 
-02b8 d8a047d4 arg mem_24g_txbuf ,contw 
-02b9 20407f01 call memcpy 
-02ba 680147d7 fetch 2 ,mem_24g_txbuf + 3 
-02bb 600148ed store 2 ,mem_24g_ota_sta_pid 
-02bc 20600000 rtn 
+0300 20400187 call p_g24_queue_read_point 
+0301 24740000 nrtn user 
+0302 7048381f jam 0x1f ,mem_24g_datalen 
+0303 df20001f arg 0x1f ,loopcnt 
+0304 1fe20c00 copy pdata ,contr 
+0305 d8a047d4 arg mem_24g_txbuf ,contw 
+0306 20407f01 call memcpy 
+0307 680147d7 fetch 2 ,mem_24g_txbuf + 3 
+0308 600148ed store 2 ,mem_24g_ota_sta_pid 
+0309 20600000 rtn 
 
 p_g24_kb_led_ackpayload_prep:
-02bd 6800c7b4 fetch 1 ,mem_24g_rxbuf + 2 
-02be c00082ad beq 0x01 ,p_g24_bind_ackpayload_prep 
-02bf c07f82ad beq 0xff ,p_g24_bind_ackpayload_prep 
-02c0 700d4300 jam 0 ,mem_usb_tx_win_enable 
-02c1 70483801 jam 0x01 ,mem_24g_datalen 
-02c2 df200001 arg 0x01 ,loopcnt 
-02c3 d8c0497a arg mem_24g_led_status ,contr 
-02c4 d8a047d4 arg mem_24g_txbuf ,contw 
-02c5 20207f01 branch memcpy 
+030a 6800c7b4 fetch 1 ,mem_24g_rxbuf + 2 
+030b c00082f8 beq 0x01 ,p_g24_bind_ackpayload_prep 
+030c c07f82f8 beq 0xff ,p_g24_bind_ackpayload_prep 
+030d 700d4300 jam 0 ,mem_usb_tx_win_enable 
+030e 70483801 jam 0x01 ,mem_24g_datalen 
+030f df200001 arg 0x01 ,loopcnt 
+0310 d8c0497a arg mem_24g_led_status ,contr 
+0311 d8a047d4 arg mem_24g_txbuf ,contw 
+0312 20207f01 branch memcpy 
 
 p_g24_receive_packet_start:
-02c6 204001fd call p_g24_receive_transmit_ack 
-02c7 2437810d nbranch p_g24_rx_interrupt_clear ,user3 
-02c8 202002c9 branch p_g24_receive_packet_parse 
+0313 20400246 call p_g24_receive_transmit_ack 
+0314 2437810e nbranch p_g24_rx_interrupt_clear ,user3 
+0315 20200316 branch p_g24_receive_packet_parse 
 
 p_g24_receive_packet_parse:
-02c9 204002da call p_g24_receive_packet_parse_pid_crc 
-02ca 2434010d nbranch p_g24_rx_interrupt_clear ,user 
-02cb 6800c836 fetch 1 ,mem_24g_rxdata_length 
-02cc 203a010d branch p_g24_rx_interrupt_clear ,blank 
-02cd 1fe0fe02 increase 2 ,pdata 
-02ce 98007200 iforce loopcnt 
-02cf d8c047b2 arg mem_24g_rxbuf ,contr 
-02d0 d8a0487f arg mem_24g_rxdata_temp ,contw 
-02d1 20407f01 call memcpy 
-02d2 7048b900 jam 0 ,mem_24g_mode_switch 
-02d3 6800c8bc fetch 1 ,mem_24g_pair_mode 
-02d4 205a01ee call p_g24_enable_nodata_timer ,blank 
-02d5 6800c881 fetch 1 ,mem_24g_rxdata_temp + 2 
-02d6 c00082e8 beq 0x01 ,p_g24_data_type1 
-02d7 c0010307 beq 0x02 ,p_g24_data_type2 
-02d8 c07f835b beq 0xff ,p_g24_data_attemp 
-02d9 2020010d branch p_g24_rx_interrupt_clear 
+0316 20400327 call p_g24_receive_packet_parse_pid_crc 
+0317 2434010e nbranch p_g24_rx_interrupt_clear ,user 
+0318 6800c836 fetch 1 ,mem_24g_rxdata_length 
+0319 203a010e branch p_g24_rx_interrupt_clear ,blank 
+031a 1fe0fe02 increase 2 ,pdata 
+031b 98007200 iforce loopcnt 
+031c d8c047b2 arg mem_24g_rxbuf ,contr 
+031d d8a0487f arg mem_24g_rxdata_temp ,contw 
+031e 20407f01 call memcpy 
+031f 7048b900 jam 0 ,mem_24g_mode_switch 
+0320 6800c8bc fetch 1 ,mem_24g_pair_mode 
+0321 205a0236 call p_g24_enable_nodata_timer ,blank 
+0322 6800c881 fetch 1 ,mem_24g_rxdata_temp + 2 
+0323 c0008335 beq 0x01 ,p_g24_data_type1 
+0324 c0010355 beq 0x02 ,p_g24_data_type2 
+0325 c07f83aa beq 0xff ,p_g24_data_attemp 
+0326 2020010e branch p_g24_rx_interrupt_clear 
 
 p_g24_receive_packet_parse_pid_crc:
-02da 20407fe9 call disable_user 
-02db 6800c87b fetch 1 ,mem_24g_sta_pid 
-02dc 6808c87c fetcht 1 ,mem_24g_last_pid 
-02dd 98467c00 isub temp ,null 
-02de 2442ffe7 ncall enable_user ,zero 
-02df 6800c87b fetch 1 ,mem_24g_sta_pid 
-02e0 6000c87c store 1 ,mem_24g_last_pid 
-02e1 6801c875 fetch 3 ,mem_24g_sta_crc 
-02e2 6809c878 fetcht 3 ,mem_24g_last_crc 
-02e3 98467c00 isub temp ,null 
-02e4 2442ffe7 ncall enable_user ,zero 
-02e5 6801c875 fetch 3 ,mem_24g_sta_crc 
-02e6 6001c878 store 3 ,mem_24g_last_crc 
-02e7 20600000 rtn 
+0327 20407fe9 call disable_user 
+0328 6800c87b fetch 1 ,mem_24g_sta_pid 
+0329 6808c87c fetcht 1 ,mem_24g_last_pid 
+032a 98467c00 isub temp ,null 
+032b 2442ffe7 ncall enable_user ,zero 
+032c 6800c87b fetch 1 ,mem_24g_sta_pid 
+032d 6000c87c store 1 ,mem_24g_last_pid 
+032e 6801c875 fetch 3 ,mem_24g_sta_crc 
+032f 6809c878 fetcht 3 ,mem_24g_last_crc 
+0330 98467c00 isub temp ,null 
+0331 2442ffe7 ncall enable_user ,zero 
+0332 6801c875 fetch 3 ,mem_24g_sta_crc 
+0333 6001c878 store 3 ,mem_24g_last_crc 
+0334 20600000 rtn 
 
 p_g24_data_type1:
-02e8 204000cf call p_g24_ch_timer_reinit 
-02e9 6800c8b2 fetch 1 ,mem_24g_abort_packet 
-02ea 6808c87f fetcht 1 ,mem_24g_rxdata_temp 
-02eb 284ffe03 isolate1 bit_abort ,temp 
-02ec 7920fe00 setflag true ,0 ,pdata 
-02ed 6000c8b2 store 1 ,mem_24g_abort_packet 
-02ee c0008363 beq 1 ,p_g24_data_attemp_mouse_abort 
-02ef 6800c8bb fetch 1 ,mem_24g_hop_packet 
-02f0 6808c87f fetcht 1 ,mem_24g_rxdata_temp 
-02f1 284ffe04 isolate1 bit_hop ,temp 
-02f2 7920fe00 setflag true ,0 ,pdata 
-02f3 6000c8bb store 1 ,mem_24g_hop_packet 
-02f4 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-02f5 c0678367 beq cmd_ota ,p_g24_ota_process 
-02f6 58000001 setarg ms_report_id 
-02f7 60008d54 store 1 ,mem_usb_mouse_data 
-02f8 6803c882 fetch 7 ,mem_24g_rxdata_temp + 3 
-02f9 e0a38000 istore 7 ,contw 
-02fa 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-02fb 245a02ff ncall p_g24_ms_enable_blank_data_forcibly ,blank 
-02fc 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-02fd 205a0303 call p_g24_ms_disable_blank_data_forcibly ,blank 
-02fe 202031b8 branch g24_data_type1_usbtx_enable 
+0335 20400120 call p_g24_dongle_binding_mouse_living 
+0336 204000d0 call p_g24_ch_timer_reinit 
+0337 6800c8b2 fetch 1 ,mem_24g_abort_packet 
+0338 6808c87f fetcht 1 ,mem_24g_rxdata_temp 
+0339 284ffe03 isolate1 bit_abort ,temp 
+033a 7920fe00 setflag true ,0 ,pdata 
+033b 6000c8b2 store 1 ,mem_24g_abort_packet 
+033c c00083b4 beq 1 ,p_g24_data_attemp_mouse_abort 
+033d 6800c8bb fetch 1 ,mem_24g_hop_packet 
+033e 6808c87f fetcht 1 ,mem_24g_rxdata_temp 
+033f 284ffe04 isolate1 bit_hop ,temp 
+0340 7920fe00 setflag true ,0 ,pdata 
+0341 6000c8bb store 1 ,mem_24g_hop_packet 
+0342 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+0343 c06783b8 beq cmd_ota ,p_g24_ota_process 
+0344 58000001 setarg ms_report_id 
+0345 60008d54 store 1 ,mem_usb_mouse_data 
+0346 6803c882 fetch 7 ,mem_24g_rxdata_temp + 3 
+0347 e0a38000 istore 7 ,contw 
+0348 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+0349 245a034d ncall p_g24_ms_enable_blank_data_forcibly ,blank 
+034a 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+034b 205a0351 call p_g24_ms_disable_blank_data_forcibly ,blank 
+034c 202031b8 branch g24_data_type1_usbtx_enable 
 
 p_g24_ms_enable_blank_data_forcibly:
-02ff 7048d701 jam 1 ,mem_24g_ms_blank_data_enable 
-0300 58000180 setarg timer_new_ms_blank_delay 
-0301 d8e0000b arg timer_new_ms_blank ,queue 
-0302 20207f08 branch timer_init 
+034d 7048d701 jam 1 ,mem_24g_ms_blank_data_enable 
+034e 58000180 setarg timer_new_ms_blank_delay 
+034f d8e0000b arg timer_new_ms_blank ,queue 
+0350 20207f08 branch timer_init 
 
 p_g24_ms_disable_blank_data_forcibly:
-0303 7048d700 jam 0 ,mem_24g_ms_blank_data_enable 
-0304 58000000 setarg 0 
-0305 d8e0000b arg timer_new_ms_blank ,queue 
-0306 20207f08 branch timer_init 
+0351 7048d700 jam 0 ,mem_24g_ms_blank_data_enable 
+0352 58000000 setarg 0 
+0353 d8e0000b arg timer_new_ms_blank ,queue 
+0354 20207f08 branch timer_init 
 
 p_g24_data_type2:
-0307 6808c87f fetcht 1 ,mem_24g_rxdata_temp 
-0308 284ffe03 isolate1 bit_abort ,temp 
-0309 20208365 branch p_g24_data_attemp_kbd_abort ,true 
-030a 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-030b c000030f beq 0 ,p_g24_data_type2_data1 
-030c c0010344 beq 2 ,p_g24_data_type2_data3 
-030d c001832b beq 3 ,p_g24_data_type2_data2 
-030e 2020010d branch p_g24_rx_interrupt_clear 
+0355 20400126 call p_g24_dongle_binding_keyboard_living 
+0356 6808c87f fetcht 1 ,mem_24g_rxdata_temp 
+0357 284ffe03 isolate1 bit_abort ,temp 
+0358 202083b6 branch p_g24_data_attemp_kbd_abort ,true 
+0359 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+035a c000035e beq 0 ,p_g24_data_type2_data1 
+035b c0010393 beq 2 ,p_g24_data_type2_data3 
+035c c001837a beq 3 ,p_g24_data_type2_data2 
+035d 2020010e branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_data1:
-030f 6800c884 fetch 1 ,mem_24g_rxdata_temp + 5 
-0310 6000c8ba store 1 ,mem_24g_ackpayload_enable 
-0311 70488400 jam 0 ,mem_24g_rxdata_temp + 5 
-0312 d8a00d64 arg mem_usb_kb_data ,contw 
-0313 20400320 call p_g24_data_type2_copy_data1 
-0314 68040d64 fetch 8 ,mem_usb_kb_data 
-0315 245a0323 ncall p_g24_kb_enable_blank_data_forcibly ,blank 
-0316 68040d64 fetch 8 ,mem_usb_kb_data 
-0317 205a0327 call p_g24_kb_disable_blank_data_forcibly ,blank 
-0318 68040d64 fetch 8 ,mem_usb_kb_data 
-0319 600448bf store 8 ,mem_24g_kb_data_sta_data 
-031a 680c48c7 fetcht 8 ,mem_24g_kb_data_last_data 
-031b 98467c00 isub temp ,null 
-031c 2442b1ed ncall g24_kb_data_into_ep1_fifo ,zero 
-031d 680448bf fetch 8 ,mem_24g_kb_data_sta_data 
-031e 600448c7 store 8 ,mem_24g_kb_data_last_data 
-031f 2020010d branch p_g24_rx_interrupt_clear 
+035e 6800c884 fetch 1 ,mem_24g_rxdata_temp + 5 
+035f 6000c8ba store 1 ,mem_24g_ackpayload_enable 
+0360 70488400 jam 0 ,mem_24g_rxdata_temp + 5 
+0361 d8a00d64 arg mem_usb_kb_data ,contw 
+0362 2040036f call p_g24_data_type2_copy_data1 
+0363 68040d64 fetch 8 ,mem_usb_kb_data 
+0364 245a0372 ncall p_g24_kb_enable_blank_data_forcibly ,blank 
+0365 68040d64 fetch 8 ,mem_usb_kb_data 
+0366 205a0376 call p_g24_kb_disable_blank_data_forcibly ,blank 
+0367 68040d64 fetch 8 ,mem_usb_kb_data 
+0368 600448bf store 8 ,mem_24g_kb_data_sta_data 
+0369 680c48c7 fetcht 8 ,mem_24g_kb_data_last_data 
+036a 98467c00 isub temp ,null 
+036b 2442b1ed ncall g24_kb_data_into_ep1_fifo ,zero 
+036c 680448bf fetch 8 ,mem_24g_kb_data_sta_data 
+036d 600448c7 store 8 ,mem_24g_kb_data_last_data 
+036e 2020010e branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_copy_data1:
-0320 d8c04883 arg mem_24g_rxdata_temp + 4 ,contr 
-0321 df200008 arg 8 ,loopcnt 
-0322 20207f01 branch memcpy 
+036f d8c04883 arg mem_24g_rxdata_temp + 4 ,contr 
+0370 df200008 arg 8 ,loopcnt 
+0371 20207f01 branch memcpy 
 
 p_g24_kb_enable_blank_data_forcibly:
-0323 7048d501 jam 1 ,mem_24g_kb_blank_data_enable 
-0324 58000180 setarg timer_new_kb_blank_delay 
-0325 d8e0000e arg timer_new_kb_blank ,queue 
-0326 20207f08 branch timer_init 
+0372 7048d501 jam 1 ,mem_24g_kb_blank_data_enable 
+0373 58000180 setarg timer_new_kb_blank_delay 
+0374 d8e0000e arg timer_new_kb_blank ,queue 
+0375 20207f08 branch timer_init 
 
 p_g24_kb_disable_blank_data_forcibly:
-0327 7048d500 jam 0 ,mem_24g_kb_blank_data_enable 
-0328 58000000 setarg 0 
-0329 d8e0000e arg timer_new_kb_blank ,queue 
-032a 20207f08 branch timer_init 
+0376 7048d500 jam 0 ,mem_24g_kb_blank_data_enable 
+0377 58000000 setarg 0 
+0378 d8e0000e arg timer_new_kb_blank ,queue 
+0379 20207f08 branch timer_init 
 
 p_g24_data_type2_data2:
-032b d8a00d74 arg mem_usb_kb_multikey ,contw 
-032c 20400339 call p_g24_data_type2_copy_data2 
-032d 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
-032e 245a033c ncall p_g24_kb_mul_enable_blank_data_forcibly ,blank 
-032f 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
-0330 205a0340 call p_g24_kb_mul_disable_blank_data_forcibly ,blank 
-0331 68018d74 fetch 3 ,mem_usb_kb_multikey 
-0332 6001c8cf store 3 ,mem_24g_kb_multikey_sta_data 
-0333 6809c8d2 fetcht 3 ,mem_24g_kb_multikey_last_data 
-0334 98467c00 isub temp ,null 
-0335 2442b207 ncall g24_kb_mul_data_into_ep2_fifo ,zero 
-0336 6801c8cf fetch 3 ,mem_24g_kb_multikey_sta_data 
-0337 6001c8d2 store 3 ,mem_24g_kb_multikey_last_data 
-0338 2020010d branch p_g24_rx_interrupt_clear 
+037a d8a00d74 arg mem_usb_kb_multikey ,contw 
+037b 20400388 call p_g24_data_type2_copy_data2 
+037c 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
+037d 245a038b ncall p_g24_kb_mul_enable_blank_data_forcibly ,blank 
+037e 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
+037f 205a038f call p_g24_kb_mul_disable_blank_data_forcibly ,blank 
+0380 68018d74 fetch 3 ,mem_usb_kb_multikey 
+0381 6001c8cf store 3 ,mem_24g_kb_multikey_sta_data 
+0382 6809c8d2 fetcht 3 ,mem_24g_kb_multikey_last_data 
+0383 98467c00 isub temp ,null 
+0384 2442b207 ncall g24_kb_mul_data_into_ep2_fifo ,zero 
+0385 6801c8cf fetch 3 ,mem_24g_kb_multikey_sta_data 
+0386 6001c8d2 store 3 ,mem_24g_kb_multikey_last_data 
+0387 2020010e branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_copy_data2:
-0339 d8c04882 arg mem_24g_rxdata_temp + 3 ,contr 
-033a df200003 arg 3 ,loopcnt 
-033b 20207f01 branch memcpy 
+0388 d8c04882 arg mem_24g_rxdata_temp + 3 ,contr 
+0389 df200003 arg 3 ,loopcnt 
+038a 20207f01 branch memcpy 
 
 p_g24_kb_mul_enable_blank_data_forcibly:
-033c 7048d601 jam 1 ,mem_24g_kb_mul_blank_data_enable 
-033d 58000180 setarg timer_new_kb_mul_blank_delay 
-033e d8e0000c arg timer_new_kb_mul_blank ,queue 
-033f 20207f08 branch timer_init 
+038b 7048d601 jam 1 ,mem_24g_kb_mul_blank_data_enable 
+038c 58000180 setarg timer_new_kb_mul_blank_delay 
+038d d8e0000c arg timer_new_kb_mul_blank ,queue 
+038e 20207f08 branch timer_init 
 
 p_g24_kb_mul_disable_blank_data_forcibly:
-0340 7048d600 jam 0 ,mem_24g_kb_mul_blank_data_enable 
-0341 58000000 setarg 0 
-0342 d8e0000c arg timer_new_kb_mul_blank ,queue 
-0343 20207f08 branch timer_init 
+038f 7048d600 jam 0 ,mem_24g_kb_mul_blank_data_enable 
+0390 58000000 setarg 0 
+0391 d8e0000c arg timer_new_kb_mul_blank ,queue 
+0392 20207f08 branch timer_init 
 
 p_g24_data_type2_data3:
-0344 d8a013bc arg mem_usb_kb_system ,contw 
-0345 2040034e call p_g24_data_type2_copy_data3 
-0346 680113bc fetch 2 ,mem_usb_kb_system 
-0347 600113cc store 2 ,mem_usb_kb_system_sta_data 
-0348 680913cf fetcht 2 ,mem_usb_kb_system_last_data 
-0349 98467c00 isub temp ,null 
-034a 24428359 ncall p_g24_kb_sys_data_into_ep2_fifo ,zero 
-034b 680113cc fetch 2 ,mem_usb_kb_system_sta_data 
-034c 600113cf store 2 ,mem_usb_kb_system_last_data 
-034d 2020010d branch p_g24_rx_interrupt_clear 
+0393 d8a013bc arg mem_usb_kb_system ,contw 
+0394 2040039d call p_g24_data_type2_copy_data3 
+0395 680113bc fetch 2 ,mem_usb_kb_system 
+0396 600113cc store 2 ,mem_usb_kb_system_sta_data 
+0397 680913cf fetcht 2 ,mem_usb_kb_system_last_data 
+0398 98467c00 isub temp ,null 
+0399 244283a8 ncall p_g24_kb_sys_data_into_ep2_fifo ,zero 
+039a 680113cc fetch 2 ,mem_usb_kb_system_sta_data 
+039b 600113cf store 2 ,mem_usb_kb_system_last_data 
+039c 2020010e branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_copy_data3:
-034e d8c04882 arg mem_24g_rxdata_temp + 3 ,contr 
-034f df200002 arg 2 ,loopcnt 
-0350 20207f01 branch memcpy 
+039d d8c04882 arg mem_24g_rxdata_temp + 3 ,contr 
+039e df200002 arg 2 ,loopcnt 
+039f 20207f01 branch memcpy 
 
 p_g24_kb_sys_enable_blank_data_forcibly:
-0351 7048d601 jam 1 ,mem_24g_kb_mul_blank_data_enable 
-0352 58000180 setarg timer_new_kb_mul_blank_delay 
-0353 d8e0000c arg timer_new_kb_mul_blank ,queue 
-0354 20207f08 branch timer_init 
+03a0 7048d601 jam 1 ,mem_24g_kb_mul_blank_data_enable 
+03a1 58000180 setarg timer_new_kb_mul_blank_delay 
+03a2 d8e0000c arg timer_new_kb_mul_blank ,queue 
+03a3 20207f08 branch timer_init 
 
 p_g24_kb_sys_disable_blank_data_forcibly:
-0355 7048d600 jam 0 ,mem_24g_kb_mul_blank_data_enable 
-0356 58000000 setarg 0 
-0357 d8e0000c arg timer_new_kb_mul_blank ,queue 
-0358 20207f08 branch timer_init 
+03a4 7048d600 jam 0 ,mem_24g_kb_mul_blank_data_enable 
+03a5 58000000 setarg 0 
+03a6 d8e0000c arg timer_new_kb_mul_blank ,queue 
+03a7 20207f08 branch timer_init 
 
 p_g24_kb_sys_data_into_ep2_fifo:
-0359 700d5222 jam usb_ep2_systemkey ,mem_usb_ep2_data 
-035a 202031b9 branch g24_data_type1_usbtx_enable_ep2 
+03a8 700d5222 jam usb_ep2_systemkey ,mem_usb_ep2_data 
+03a9 202031b9 branch g24_data_type1_usbtx_enable_ep2 
 
 p_g24_data_attemp:
-035b 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-035c c000835f beq datatype_mouse ,p_g24_data_attemp_mouse 
-035d c0010361 beq datatype_keyboard ,p_g24_data_attemp_kbd 
-035e 20600000 rtn 
+03aa 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+03ab c00083ae beq datatype_mouse ,p_g24_data_attemp_mouse 
+03ac c00103b1 beq datatype_keyboard ,p_g24_data_attemp_kbd 
+03ad 20600000 rtn 
 
 p_g24_data_attemp_mouse:
-035f 68024883 fetch 4 ,mem_24g_rxdata_temp + 4 
-0360 2020014c branch p_g24_store_mouse_addr 
+03ae 20400120 call p_g24_dongle_binding_mouse_living 
+03af 68024883 fetch 4 ,mem_24g_rxdata_temp + 4 
+03b0 2020016a branch p_g24_store_mouse_addr 
 
 p_g24_data_attemp_kbd:
-0361 68024883 fetch 4 ,mem_24g_rxdata_temp + 4 
-0362 2020014f branch p_g24_store_kbd_addr 
+03b1 20400126 call p_g24_dongle_binding_keyboard_living 
+03b2 68024883 fetch 4 ,mem_24g_rxdata_temp + 4 
+03b3 2020016d branch p_g24_store_kbd_addr 
 
 p_g24_data_attemp_mouse_abort:
-0363 68024889 fetch 4 ,mem_24g_rxdata_temp + 10 
-0364 2020014c branch p_g24_store_mouse_addr 
+03b4 68024889 fetch 4 ,mem_24g_rxdata_temp + 10 
+03b5 2020016a branch p_g24_store_mouse_addr 
 
 p_g24_data_attemp_kbd_abort:
-0365 68024889 fetch 4 ,mem_24g_rxdata_temp + 10 
-0366 2020014f branch p_g24_store_kbd_addr 
+03b6 68024889 fetch 4 ,mem_24g_rxdata_temp + 10 
+03b7 2020016d branch p_g24_store_kbd_addr 
 
 p_g24_ota_process:
-0367 68014884 fetch 2 ,mem_24g_rxdata_temp + 5 
-0368 680948ed fetcht 2 ,mem_24g_ota_sta_pid 
-0369 98467c00 isub temp ,null 
-036a 2022836c branch p_g24_ota_next_pac ,zero 
-036b 20600000 rtn 
+03b8 68014884 fetch 2 ,mem_24g_rxdata_temp + 5 
+03b9 680948ed fetcht 2 ,mem_24g_ota_sta_pid 
+03ba 98467c00 isub temp ,null 
+03bb 202283bd branch p_g24_ota_next_pac ,zero 
+03bc 20600000 rtn 
 
 p_g24_ota_next_pac:
-036c 6800c883 fetch 1 ,mem_24g_rxdata_temp + 4 
-036d c0610379 beq cmd_ota_exit ,p_g24_ota_exit_process 
-036e 6800c902 fetch 1 ,mem_queue_ele_num 
-036f 207a0000 rtn blank 
-0370 58004903 setarg mem_queue_read 
-0371 20400160 call p_g24_queue_increase 
-0372 6800c902 fetch 1 ,mem_queue_ele_num 
-0373 1fe0ffff increase -1 ,pdata 
-0374 6000c902 store 1 ,mem_queue_ele_num 
-0375 6800c883 fetch 1 ,mem_24g_rxdata_temp + 4 
-0376 c06081a1 beq cmd_ota_data ,p_user_defined_queue_buff_free 
-0377 c0610379 beq cmd_ota_exit ,p_g24_ota_exit_process 
-0378 20600000 rtn 
+03bd 6800c883 fetch 1 ,mem_24g_rxdata_temp + 4 
+03be c06103ca beq cmd_ota_exit ,p_g24_ota_exit_process 
+03bf 6800c902 fetch 1 ,mem_queue_ele_num 
+03c0 207a0000 rtn blank 
+03c1 58004903 setarg mem_queue_read 
+03c2 2040017e call p_g24_queue_increase 
+03c3 6800c902 fetch 1 ,mem_queue_ele_num 
+03c4 1fe0ffff increase -1 ,pdata 
+03c5 6000c902 store 1 ,mem_queue_ele_num 
+03c6 6800c883 fetch 1 ,mem_24g_rxdata_temp + 4 
+03c7 c06081bf beq cmd_ota_data ,p_user_defined_queue_buff_free 
+03c8 c06103ca beq cmd_ota_exit ,p_g24_ota_exit_process 
+03c9 20600000 rtn 
 
 p_g24_ota_exit_process:
-0379 58000000 setarg 0 
-037a 600148ed store 2 ,mem_24g_ota_sta_pid 
-037b 6000c8ba store 1 ,mem_24g_ackpayload_enable 
-037c 20400151 call p_g24_queue_init 
-037d 6800c886 fetch 1 ,mem_24g_rxdata_temp + 7 
-037e c02a8381 beq ota_sta_success ,p_g24_ota_exit_success 
-037f c0550383 beq ota_sta_fail ,p_g24_ota_exit_fail 
-0380 20600000 rtn 
+03ca 58000000 setarg 0 
+03cb 600148ed store 2 ,mem_24g_ota_sta_pid 
+03cc 6000c8ba store 1 ,mem_24g_ackpayload_enable 
+03cd 2040016f call p_g24_queue_init 
+03ce 6800c886 fetch 1 ,mem_24g_rxdata_temp + 7 
+03cf c02a83d2 beq ota_sta_success ,p_g24_ota_exit_success 
+03d0 c05503d4 beq ota_sta_fail ,p_g24_ota_exit_fail 
+03d1 20600000 rtn 
 
 p_g24_ota_exit_success:
-0381 700cf702 jam 2 ,mem_usb0_get_report_data + 1 
-0382 2020303f branch usb0_data_ready_report_set1 
+03d2 700cf702 jam 2 ,mem_usb0_get_report_data + 1 
+03d3 2020303f branch usb0_data_ready_report_set1 
 
 p_g24_ota_exit_fail:
-0383 700cf703 jam 3 ,mem_usb0_get_report_data + 1 
-0384 2020303f branch usb0_data_ready_report_set1 
+03d4 700cf703 jam 3 ,mem_usb0_get_report_data + 1 
+03d5 2020303f branch usb0_data_ready_report_set1 
 
 p_set_freq_tx:
-0385 60088017 storet 1 ,mem_last_freq 
-0386 1840a200 add temp ,0 ,rega 
-0387 20402981 call rf_write_freq 
-0388 58000500 setarg param_pll_setup 
-0389 20402a8f call sleep 
+03d6 60088017 storet 1 ,mem_last_freq 
+03d7 1840a200 add temp ,0 ,rega 
+03d8 20402981 call rf_write_freq 
+03d9 58000500 setarg param_pll_setup 
+03da 20402a8f call sleep 
 
 p_rf_tx_enable:
-038a 70890601 jam 0x1 ,rfen_adc 
-038b 7089003c jam 0x3c ,rfen_rx 
-038c 708901e0 jam 0xe0 ,rfen_tx 
-038d 2000000a nop 10 
-038e 70890201 jam 0x01 ,rfen_mdm 
-038f 7089023d jam 0x3d ,rfen_mdm 
-0390 2000000a nop 10 
-0391 708903b7 jam 0xb7 ,rfen_sn 
-0392 2000000a nop 10 
-0393 7089027d jam 0x7d ,rfen_mdm 
-0394 6800c1de fetch 1 ,mem_tx_power 
-0395 c002039e beq tx_power_f5db ,p_set_tx_power_f5db 
-0396 20200397 branch p_set_tx_power_5db 
+03db 70890601 jam 0x1 ,rfen_adc 
+03dc 7089003c jam 0x3c ,rfen_rx 
+03dd 708901e0 jam 0xe0 ,rfen_tx 
+03de 2000000a nop 10 
+03df 70890201 jam 0x01 ,rfen_mdm 
+03e0 7089023d jam 0x3d ,rfen_mdm 
+03e1 2000000a nop 10 
+03e2 708903b7 jam 0xb7 ,rfen_sn 
+03e3 2000000a nop 10 
+03e4 7089027d jam 0x7d ,rfen_mdm 
+03e5 6800c1de fetch 1 ,mem_tx_power 
+03e6 c00203ef beq tx_power_f5db ,p_set_tx_power_f5db 
+03e7 202003e8 branch p_set_tx_power_5db 
 
 p_set_tx_power_5db:
-0397 70894bba jam 0xba ,0x894b 
-0398 708955d0 jam 0xd0 ,0x8955 
-0399 708956e0 jam 0xe0 ,0x8956 
-039a 70895788 jam 0x88 ,0x8957 
-039b 7089583c jam 0x3c ,0x8958 
-039c 70895910 jam 0x10 ,0x8959 
-039d 20202953 branch set_tx_power_5db 
+03e8 70894bba jam 0xba ,0x894b 
+03e9 708955d0 jam 0xd0 ,0x8955 
+03ea 708956e0 jam 0xe0 ,0x8956 
+03eb 70895788 jam 0x88 ,0x8957 
+03ec 7089583c jam 0x3c ,0x8958 
+03ed 70895910 jam 0x10 ,0x8959 
+03ee 20202953 branch set_tx_power_5db 
 
 p_set_tx_power_f5db:
-039e 70894bba jam 0xba ,0x894b 
-039f 708955d0 jam 0xd0 ,0x8955 
-03a0 708956c0 jam 0xc0 ,0x8956 
-03a1 70895788 jam 0x88 ,0x8957 
-03a2 7089586c jam 0x6c ,0x8958 
-03a3 70895910 jam 0x10 ,0x8959 
-03a4 2020295b branch set_tx_power_f5db 
+03ef 70894bba jam 0xba ,0x894b 
+03f0 708955d0 jam 0xd0 ,0x8955 
+03f1 708956c0 jam 0xc0 ,0x8956 
+03f2 70895788 jam 0x88 ,0x8957 
+03f3 7089586c jam 0x6c ,0x8958 
+03f4 70895910 jam 0x10 ,0x8959 
+03f5 2020295b branch set_tx_power_f5db 
 
 p_soft_reset:
-03a5 20800000 clear_stack 
-03a6 68108043 hfetch 1 ,core_config 
-03a7 79207e03 set1 watchdog_bit ,pdata 
-03a8 60108043 hstore 1 ,core_config 
-03a9 2040640d call spi_ncs_gpio_init 
-03aa 70895b86 jam 0x86 ,0x895b 
-03ab 70895ca0 jam 0xa0 ,0x895c 
-03ac 20202004 branch soft_reset + 3 
+03f6 20800000 clear_stack 
+03f7 68108043 hfetch 1 ,core_config 
+03f8 79207e03 set1 watchdog_bit ,pdata 
+03f9 60108043 hstore 1 ,core_config 
+03fa 2040640d call spi_ncs_gpio_init 
+03fb 70895b86 jam 0x86 ,0x895b 
+03fc 70895ca0 jam 0xa0 ,0x895c 
+03fd 20202004 branch soft_reset + 3 
 
 p_shutdown_radio:
-03ad 18002a08 force 8 ,radio_ctrl 
-03ae 202028fa branch shutdown_radio + 1 
+03fe 18002a08 force 8 ,radio_ctrl 
+03ff 202028fa branch shutdown_radio + 1 
 
 p_initialize_radio_cont:
-03af 20402978 call initialize_radio_cont + 1 
-03b0 70804205 jam clksel_dpll ,core_clksel 
-03b1 20600000 rtn 
+0400 20402978 call initialize_radio_cont + 1 
+0401 70804205 jam clksel_dpll ,core_clksel 
+0402 20600000 rtn 
 
 p_rssi_noise:
-03b2 204029bb call save_rssi 
-03b3 207a0000 rtn blank 
-03b4 6808c8f2 fetcht 1 ,mem_rssi_noise_index 
-03b5 da200d9e arg mem_rssi_noise_buffer ,rega 
-03b6 204003b9 call p_rssi_store 
-03b7 6008c8f2 storet 1 ,mem_rssi_noise_index 
-03b8 20600000 rtn 
+0403 204029bb call save_rssi 
+0404 207a0000 rtn blank 
+0405 6808c8f2 fetcht 1 ,mem_rssi_noise_index 
+0406 da200d9e arg mem_rssi_noise_buffer ,rega 
+0407 2040040a call p_rssi_store 
+0408 6008c8f2 storet 1 ,mem_rssi_noise_index 
+0409 20600000 rtn 
 
 p_rssi_store:
-03b9 1a227e00 copy rega ,pdata 
-03ba 98408a00 iadd temp ,contw 
-03bb 68008018 fetch 1 ,mem_rssi 
-03bc e0a08000 istore 1 ,contw 
-03bd 18408401 increase 1 ,temp 
-03be 184104ff and_into rssi_buf_len_noise ,temp 
-03bf 20600000 rtn 
+040a 1a227e00 copy rega ,pdata 
+040b 98408a00 iadd temp ,contw 
+040c 68008018 fetch 1 ,mem_rssi 
+040d e0a08000 istore 1 ,contw 
+040e 18408401 increase 1 ,temp 
+040f 184104ff and_into rssi_buf_len_noise ,temp 
+0410 20600000 rtn 
 
 p_rssi_average:
-03c0 d8400000 arg 0 ,temp 
-03c1 df200100 arg rssi_buf_len_noise + 1 ,loopcnt 
-03c2 1a220c00 copy rega ,contr 
-03c3 20202e64 branch rssi_average_loop 
-03c4 20600000 rtn 
+0411 d8400000 arg 0 ,temp 
+0412 df200100 arg rssi_buf_len_noise + 1 ,loopcnt 
+0413 1a220c00 copy rega ,contr 
+0414 20202e64 branch rssi_average_loop 
+0415 20600000 rtn 
 
 p_g24_update_addr_and_synccrc8:
-03c5 60024860 store 4 ,mem_24g_addr 
+0416 60024860 store 4 ,mem_24g_addr 
 
 p_g24_syncword_crc8:
-03c6 da200000 arg 0 ,rega 
-03c7 df200004 arg 4 ,loopcnt 
-03c8 d8c04860 arg mem_24g_addr ,contr 
+0417 da200000 arg 0 ,rega 
+0418 df200004 arg 4 ,loopcnt 
+0419 d8c04860 arg mem_24g_addr ,contr 
 
 p_g24_syncword_crc8_loop:
-03c9 e8c08000 ifetch 1 ,contr 
-03ca 9a20a200 iadd rega ,rega 
-03cb c20003c9 loop p_g24_syncword_crc8_loop 
-03cc 1a227e00 copy rega ,pdata 
-03cd 600148e9 store 2 ,mem_24g_syncword 
-03ce 6800c8e9 fetch 1 ,mem_24g_syncword 
-03cf 6808c8ea fetcht 1 ,mem_24g_syncword + 1 
-03d0 9840fe00 iadd temp ,pdata 
-03d1 6000c8eb store 1 ,mem_24g_syncword_crc8 
-03d2 20600000 rtn 
+041a e8c08000 ifetch 1 ,contr 
+041b 9a20a200 iadd rega ,rega 
+041c c200041a loop p_g24_syncword_crc8_loop 
+041d 1a227e00 copy rega ,pdata 
+041e 600148e9 store 2 ,mem_24g_syncword 
+041f 6800c8e9 fetch 1 ,mem_24g_syncword 
+0420 6808c8ea fetcht 1 ,mem_24g_syncword + 1 
+0421 9840fe00 iadd temp ,pdata 
+0422 6000c8eb store 1 ,mem_24g_syncword_crc8 
+0423 20600000 rtn 
 
 p_g24_transmit_prep:
-03d3 6800c838 fetch 1 ,mem_24g_datalen 
-03d4 1fe0fe02 increase 2 ,pdata 
-03d5 6000c83a store 1 ,mem_24g_txlen 
-03d6 6800c839 fetch 1 ,mem_24g_data_type 
-03d7 6000c7f4 store 1 ,mem_24g_txpayload 
-03d8 6800c838 fetch 1 ,mem_24g_datalen 
-03d9 1fe9fe00 lshift3 pdata ,pdata 
-03da 6808c837 fetcht 1 ,mem_24g_pid 
-03db 18410403 and temp ,0x03 ,temp 
-03dc 18438400 lshift temp ,temp 
-03dd 9841fe00 ior temp ,pdata 
-03de 6808c874 fetcht 1 ,mem_24g_no_ack 
-03df 9840fe00 iadd temp ,pdata 
-03e0 e0a08000 istore 1 ,contw 
-03e1 6800c838 fetch 1 ,mem_24g_datalen 
-03e2 98007200 iforce loopcnt 
-03e3 d8c047d4 arg mem_24g_txbuf ,contr 
-03e4 20207f01 branch memcpy 
+0424 6800c838 fetch 1 ,mem_24g_datalen 
+0425 1fe0fe02 increase 2 ,pdata 
+0426 6000c83a store 1 ,mem_24g_txlen 
+0427 6800c839 fetch 1 ,mem_24g_data_type 
+0428 6000c7f4 store 1 ,mem_24g_txpayload 
+0429 6800c838 fetch 1 ,mem_24g_datalen 
+042a 1fe9fe00 lshift3 pdata ,pdata 
+042b 6808c837 fetcht 1 ,mem_24g_pid 
+042c 18410403 and temp ,0x03 ,temp 
+042d 18438400 lshift temp ,temp 
+042e 9841fe00 ior temp ,pdata 
+042f 6808c874 fetcht 1 ,mem_24g_no_ack 
+0430 9840fe00 iadd temp ,pdata 
+0431 e0a08000 istore 1 ,contw 
+0432 6800c838 fetch 1 ,mem_24g_datalen 
+0433 98007200 iforce loopcnt 
+0434 d8c047d4 arg mem_24g_txbuf ,contr 
+0435 20207f01 branch memcpy 
 
 p_g24_ch:
-03e5 6808c843 fetcht 1 ,mem_24g_current_ch_number 
-03e6 204003e9 call p_g24_ch_map_size 
-03e7 6008c843 storet 1 ,mem_24g_current_ch_number 
-03e8 20600000 rtn 
+0436 6808c843 fetcht 1 ,mem_24g_current_ch_number 
+0437 2040043a call p_g24_ch_map_size 
+0438 6008c843 storet 1 ,mem_24g_current_ch_number 
+0439 20600000 rtn 
 
 p_g24_ch_map_size:
-03e9 204003ed call p_g24_ch_calc 
-03ea 18408401 increase 1 ,temp 
-03eb 18410403 and_into 3 ,temp 
-03ec 20600000 rtn 
+043a 2040043e call p_g24_ch_calc 
+043b 18408401 increase 1 ,temp 
+043c 18410403 and_into 3 ,temp 
+043d 20600000 rtn 
 
 p_g24_ch_calc:
-03ed 6800c860 fetch 1 ,mem_24g_addr 
-03ee 1fe17e03 and_into 0x03 ,pdata 
-03ef 1fefa204 mul32 pdata ,4 ,rega 
-03f0 58004849 setarg mem_24g_ch_map1 
-03f1 9a20fe00 iadd rega ,pdata 
-03f2 98408c00 iadd temp ,contr 
-03f3 e8c08000 ifetch 1 ,contr 
-03f4 6000c842 store 1 ,mem_24g_ch 
-03f5 20600000 rtn 
+043e 6800c860 fetch 1 ,mem_24g_addr 
+043f 1fe17e03 and_into 0x03 ,pdata 
+0440 1fefa204 mul32 pdata ,4 ,rega 
+0441 58004849 setarg mem_24g_ch_map1 
+0442 9a20fe00 iadd rega ,pdata 
+0443 98408c00 iadd temp ,contr 
+0444 e8c08000 ifetch 1 ,contr 
+0445 6000c842 store 1 ,mem_24g_ch 
+0446 20600000 rtn 
 
 p_g24_prep:
-03f6 7844fc00 disable enable_crc 
-03f7 7843fc00 disable enable_white 
-03f8 58555555 setarg 0x555555 
-03f9 98001e00 iforce crc24_init 
-03fa 6800c842 fetch 1 ,mem_24g_ch 
-03fb 1fed8400 reverse pdata ,temp 
-03fc 79200401 set1 1 ,temp 
-03fd 18431c00 rshift temp ,white_init 
-03fe 20600000 rtn 
+0447 7844fc00 disable enable_crc 
+0448 7843fc00 disable enable_white 
+0449 58555555 setarg 0x555555 
+044a 98001e00 iforce crc24_init 
+044b 6800c842 fetch 1 ,mem_24g_ch 
+044c 1fed8400 reverse pdata ,temp 
+044d 79200401 set1 1 ,temp 
+044e 18431c00 rshift temp ,white_init 
+044f 20600000 rtn 
 
 p_g24_receive_packet:
-03ff 204053c4 call le_enable 
-0400 68024860 fetch 4 ,mem_24g_addr 
-0401 98001200 iforce access 
-0402 20402918 call set_sync_on 
-0403 6808c842 fetcht 1 ,mem_24g_ch 
-0404 2040291f call set_freq_rx 
-0405 58000500 setarg param_pll_setup 
-0406 20402a8f call sleep 
-0407 20402924 call rf_rx_enable 
+0450 204053c4 call le_enable 
+0451 68024860 fetch 4 ,mem_24g_addr 
+0452 98001200 iforce access 
+0453 20402918 call set_sync_on 
+0454 6808c842 fetcht 1 ,mem_24g_ch 
+0455 2040291f call set_freq_rx 
+0456 58000500 setarg param_pll_setup 
+0457 20402a8f call sleep 
+0458 20402924 call rf_rx_enable 
 
 p_g24_receive_rxon:
-0408 204003f6 call p_g24_prep 
-0409 7857fc00 disable user3 
-040a 7826fc00 enable decode_fec0 
-040b 7830fc00 enable is_rx 
-040c 78507c00 disable is_tx 
-040d 78287c00 enable swfine 
-040e 6801483b fetch 2 ,mem_24g_rx_window 
-040f 98003600 iforce stop_watch 
-0410 37c18400 correlate null ,timeout 
-0411 242c0444 nbranch p_g24_sync_timeout ,sync 
-0412 7846fc00 disable decode_fec0 
-0413 7825fc00 enable decode_fec1 
-0414 7823fc00 enable enable_white 
-0415 7824fc00 enable enable_crc 
-0416 09800008 parse demod ,bucket ,8 
-0417 19897e00 rshift3 pwindow ,pdata 
-0418 6000c8ec store 1 ,mem_24g_get_syncword_crc8 
-0419 6808c8eb fetcht 1 ,mem_24g_syncword_crc8 
-041a 98467c00 isub temp ,null 
-041b 24228441 nbranch p_g24_end_of_packet ,zero 
-041c 09800008 parse demod ,bucket ,8 
-041d 19897e00 rshift3 pwindow ,pdata 
-041e 6000c7b2 store 1 ,mem_24g_rxbuf 
-041f 6800c87e fetch 1 ,mem_24g_mode 
-0420 1fe67c02 sub pdata ,rx_24g ,null 
-0421 20228426 branch p_g24_receive_skip ,zero 
-0422 6800c7b2 fetch 1 ,mem_24g_rxbuf 
-0423 6808c839 fetcht 1 ,mem_24g_data_type 
-0424 a8400e00 icompare bits_data ,temp 
-0425 24208441 nbranch p_g24_end_of_packet ,true 
+0459 20400447 call p_g24_prep 
+045a 7857fc00 disable user3 
+045b 7826fc00 enable decode_fec0 
+045c 7830fc00 enable is_rx 
+045d 78507c00 disable is_tx 
+045e 78287c00 enable swfine 
+045f 6801483b fetch 2 ,mem_24g_rx_window 
+0460 98003600 iforce stop_watch 
+0461 37c18400 correlate null ,timeout 
+0462 242c0495 nbranch p_g24_sync_timeout ,sync 
+0463 7846fc00 disable decode_fec0 
+0464 7825fc00 enable decode_fec1 
+0465 7823fc00 enable enable_white 
+0466 7824fc00 enable enable_crc 
+0467 09800008 parse demod ,bucket ,8 
+0468 19897e00 rshift3 pwindow ,pdata 
+0469 6000c8ec store 1 ,mem_24g_get_syncword_crc8 
+046a 6808c8eb fetcht 1 ,mem_24g_syncword_crc8 
+046b 98467c00 isub temp ,null 
+046c 24228492 nbranch p_g24_end_of_packet ,zero 
+046d 09800008 parse demod ,bucket ,8 
+046e 19897e00 rshift3 pwindow ,pdata 
+046f 6000c7b2 store 1 ,mem_24g_rxbuf 
+0470 6800c87e fetch 1 ,mem_24g_mode 
+0471 1fe67c02 sub pdata ,rx_24g ,null 
+0472 20228477 branch p_g24_receive_skip ,zero 
+0473 6800c7b2 fetch 1 ,mem_24g_rxbuf 
+0474 6808c839 fetcht 1 ,mem_24g_data_type 
+0475 a8400e00 icompare bits_data ,temp 
+0476 24208492 nbranch p_g24_end_of_packet ,true 
 
 p_g24_receive_skip:
-0426 09800008 parse demod ,bucket ,8 
-0427 19897e00 rshift3 pwindow ,pdata 
-0428 e0a08000 istore 1 ,contw 
-0429 1fe97e00 rshift3 pdata ,pdata 
-042a 1fe1721f and pdata ,0x1f ,loopcnt 
-042b 20228430 branch p_g24rx_nopayload ,zero 
+0477 09800008 parse demod ,bucket ,8 
+0478 19897e00 rshift3 pwindow ,pdata 
+0479 e0a08000 istore 1 ,contw 
+047a 1fe97e00 rshift3 pdata ,pdata 
+047b 1fe1721f and pdata ,0x1f ,loopcnt 
+047c 20228481 branch p_g24rx_nopayload ,zero 
 
 p_g24rx_loop:
-042c 09800008 parse demod ,bucket ,8 
-042d 19897e00 rshift3 pwindow ,pdata 
-042e e0a08000 istore 1 ,contw 
-042f c200042c loop p_g24rx_loop 
+047d 09800008 parse demod ,bucket ,8 
+047e 19897e00 rshift3 pwindow ,pdata 
+047f e0a08000 istore 1 ,contw 
+0480 c200047d loop p_g24rx_loop 
 
 p_g24rx_nopayload:
-0430 09800018 parse demod ,bucket ,24 
-0431 78287c00 enable swfine 
-0432 db600664 arg param_sifs ,stop_watch 
-0433 1fef7e00 rshift32 pdata ,pdata 
-0434 1ff17e00 rshift16 pdata ,pdata 
-0435 e0a18000 istore 3 ,contw 
-0436 7845fc00 disable decode_fec1 
-0437 204029bb call save_rssi 
-0438 20230441 branch p_g24_end_of_packet ,crc_failed 
-0439 7837fc00 enable user3 
-043a 68008017 fetch 1 ,mem_last_freq 
-043b 1fe0a200 add pdata ,0 ,rega 
-043c 20402981 call rf_write_freq 
-043d 7846fc00 disable decode_fec0 
-043e 20402918 call set_sync_on 
-043f 20600000 rtn 
-0440 20600000 rtn 
+0481 09800018 parse demod ,bucket ,24 
+0482 78287c00 enable swfine 
+0483 db600664 arg param_sifs ,stop_watch 
+0484 1fef7e00 rshift32 pdata ,pdata 
+0485 1ff17e00 rshift16 pdata ,pdata 
+0486 e0a18000 istore 3 ,contw 
+0487 7845fc00 disable decode_fec1 
+0488 204029bb call save_rssi 
+0489 20230492 branch p_g24_end_of_packet ,crc_failed 
+048a 7837fc00 enable user3 
+048b 68008017 fetch 1 ,mem_last_freq 
+048c 1fe0a200 add pdata ,0 ,rega 
+048d 20402981 call rf_write_freq 
+048e 7846fc00 disable decode_fec0 
+048f 20402918 call set_sync_on 
+0490 20600000 rtn 
+0491 20600000 rtn 
 
 p_g24_end_of_packet:
-0441 784dfc00 disable encode_fec1 
-0442 7845fc00 disable decode_fec1 
-0443 2020264d branch end_of_packet 
+0492 784dfc00 disable encode_fec1 
+0493 7845fc00 disable decode_fec1 
+0494 2020264d branch end_of_packet 
 
 p_g24_sync_timeout:
-0444 204003b2 call p_rssi_noise 
-0445 20200441 branch p_g24_end_of_packet 
+0495 20400403 call p_rssi_noise 
+0496 20200492 branch p_g24_end_of_packet 
 
 p_g24_set_freq_tx:
-0446 20402918 call set_sync_on 
-0447 6808c842 fetcht 1 ,mem_24g_ch 
-0448 20202933 branch set_freq_tx 
+0497 20402918 call set_sync_on 
+0498 6808c842 fetcht 1 ,mem_24g_ch 
+0499 20202933 branch set_freq_tx 
 
 p_g24_transmit:
-0449 204053c4 call le_enable 
-044a 68024860 fetch 4 ,mem_24g_addr 
-044b 98001200 iforce access 
-044c 204003f6 call p_g24_prep 
-044d 20400446 call p_g24_set_freq_tx 
-044e 79202a00 set1 txgfsk ,radio_ctrl 
-044f 782efc00 enable encode_fec0 
-0450 78307c00 enable is_tx 
-0451 7850fc00 disable is_rx 
-0452 19317e00 rshift16 access ,pdata 
-0453 1fecfe00 rshift8 pdata ,pdata 
-0454 1ff1fe00 rshift4 pdata ,pdata 
-0455 08008628 inject mod ,40 
-0456 784efc00 disable encode_fec0 
-0457 782dfc00 enable encode_fec1 
-0458 7823fc00 enable enable_white 
-0459 7824fc00 enable enable_crc 
-045a 6800c8eb fetch 1 ,mem_24g_syncword_crc8 
-045b 08008608 inject mod ,8 
-045c 6800c83a fetch 1 ,mem_24g_txlen 
-045d 98007200 iforce loopcnt 
-045e d8c047f4 arg mem_24g_txpayload ,contr 
+049a 204053c4 call le_enable 
+049b 68024860 fetch 4 ,mem_24g_addr 
+049c 98001200 iforce access 
+049d 20400447 call p_g24_prep 
+049e 20400497 call p_g24_set_freq_tx 
+049f 79202a00 set1 txgfsk ,radio_ctrl 
+04a0 782efc00 enable encode_fec0 
+04a1 78307c00 enable is_tx 
+04a2 7850fc00 disable is_rx 
+04a3 19317e00 rshift16 access ,pdata 
+04a4 1fecfe00 rshift8 pdata ,pdata 
+04a5 1ff1fe00 rshift4 pdata ,pdata 
+04a6 08008628 inject mod ,40 
+04a7 784efc00 disable encode_fec0 
+04a8 782dfc00 enable encode_fec1 
+04a9 7823fc00 enable enable_white 
+04aa 7824fc00 enable enable_crc 
+04ab 6800c8eb fetch 1 ,mem_24g_syncword_crc8 
+04ac 08008608 inject mod ,8 
+04ad 6800c83a fetch 1 ,mem_24g_txlen 
+04ae 98007200 iforce loopcnt 
+04af d8c047f4 arg mem_24g_txpayload ,contr 
 
 p_g24tr_loop:
-045f e8c08000 ifetch 1 ,contr 
-0460 08008608 inject mod ,8 
-0461 c200045f loop p_g24tr_loop 
-0462 6800c8f0 fetch 1 ,mem_rssi_hex 
-0463 08008608 inject mod ,8 
-0464 78247c00 enable enable_parity 
-0465 08008618 inject mod ,24 
-0466 78447c00 disable enable_parity 
-0467 37d38200 until null ,tx_clear 
-0468 20000064 nop 100 
-0469 784efc00 disable encode_fec0 
-046a 784dfc00 disable encode_fec1 
-046b 20600000 rtn 
+04b0 e8c08000 ifetch 1 ,contr 
+04b1 08008608 inject mod ,8 
+04b2 c20004b0 loop p_g24tr_loop 
+04b3 6800c8f0 fetch 1 ,mem_rssi_hex 
+04b4 08008608 inject mod ,8 
+04b5 78247c00 enable enable_parity 
+04b6 08008618 inject mod ,24 
+04b7 78447c00 disable enable_parity 
+04b8 37d38200 until null ,tx_clear 
+04b9 20000064 nop 100 
+04ba 784efc00 disable encode_fec0 
+04bb 784dfc00 disable encode_fec1 
+04bc 20600000 rtn 
               org 0x2000
 
 start:
Index: program/patch.prog
===================================================================
--- /branch/USB/dongle_16M/program/patch.prog	(revision 3137)
+++ /branch/USB/dongle_16M/program/patch.prog	(working copy)
@@ -157,6 +157,7 @@
 	rtn
 
 p_app_init:
+	jam 0,mem_dongle_bind_device_living
 	jam G24_BIND_MODE_DELAY,mem_24g_bind_delay_count		//G24_BIND_MODE_DELAY*80ms
 	call enable_authrom
 	fetch 4,mem_lap
@@ -358,6 +359,43 @@
 	arg 66,loopcnt
 	branch clear_mem
 
+p_g24_dongle_binding_device_check:	//works on auto pair
+	fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_BIND
+	fetch 1,mem_24g_pair_mode
+	nrtn blank	
+	fetch 1,mem_24g_rxbuf+3
+	beq BIND_MOUSE,p_g24_dongle_binding_mouse_status	//bit0
+	beq BIND_KEYBOARD,p_g24_dongle_binding_keyboard_status	//bit1
+	rtn
+p_g24_dongle_binding_mouse_status:
+	fetch 1,mem_dongle_bind_device_living
+	rtnbit0 0
+disable_user3:
+	disable user3
+	rtn 
+p_g24_dongle_binding_keyboard_status:
+	fetch 1,mem_dongle_bind_device_living
+	rtnbit0 1
+	branch disable_user3
+
+p_g24_dongle_binding_mouse_living:
+	fetch 1,mem_24g_pair_mode
+	nrtn blank
+	fetch 1,mem_dongle_bind_device_living
+	or_into 0x01,pdata
+	store 1,mem_dongle_bind_device_living
+	rtn
+
+p_g24_dongle_binding_keyboard_living:
+	fetch 1,mem_24g_pair_mode
+	nrtn blank
+	fetch 1,mem_dongle_bind_device_living
+	or_into 0x02,pdata
+	store 1,mem_dongle_bind_device_living
+	rtn
+	
+
 p_g24_dongle_bind_first_step:
 	fetch 1,mem_24g_rxdata_temp+3
 	beq BIND_MOUSE,p_g24_dongle_bind_first_step_mouse
@@ -411,6 +449,7 @@
 	beq 2,p_g24_dongle_ms_bind_step_success
 	rtn
 p_g24_dongle_ms_bind_step_success:
+	call p_g24_dongle_binding_mouse_living		//works on auto pair only
 	fetch 1,mem_dongle_bind_device_status
 	or_into 0x01,pdata
 	store 1,mem_dongle_bind_device_status
@@ -424,6 +463,7 @@
 	bne 0,p_g24_dongle_kb_bind_step_success
 	rtn
 p_g24_dongle_kb_bind_step_success:
+	call p_g24_dongle_binding_keyboard_living	//works on auto pair only
 	fetch 1,mem_dongle_bind_device_status
 	or_into 0x02,pdata
 	store 1,mem_dongle_bind_device_status
@@ -569,7 +609,8 @@
 p_dongle_auto_bind:
 	call p_g24_mode_switch_init
 p_dongle_auto_bind_loop:
-	call p_g24_mode_switch
+	call p_g24_mode_switch		//work or bind
+	call p_g24_mode_switch_2	//search or bind
 	call p_g24_dongle_work_mode_auto
 	call p_g24_dongle_bind_mode_auto
 	call p_g24_dongle_search_mode_auto
@@ -665,6 +706,62 @@
 	jam CLEAR_INIT,mem_dongle_mode_init
 	rtn
 
+
+p_g24_mode_switch_init_2:
+	fetch 1,mem_24g_mode_switch_exit_2
+	call p_g24_mode_switch_start_2,blank
+	fetch 1,mem_24g_mode_switch_2_init
+	rtnbit1 0
+	set1 0,pdata
+	store 1,mem_24g_mode_switch_2_init
+	jam 1,mem_24g_mode_switch_2
+	jam 0,mem_24g_time_slice_2
+	setarg 0
+	store 2,mem_24g_mode_switch_cnt_2
+	jam 0x60,mem_24g_interval	//30ms
+	branch p_g24_timer_init
+
+p_g24_mode_switch_2:
+	fetch 1,mem_24g_mode_switch_exit_2
+	nrtn blank
+	fetch 1,mem_24g_mode_switch_2
+	rtn blank
+	call p_g24_timer_check
+	nrtn user
+
+	fetch 2,mem_24g_mode_switch_cnt_2
+	increase 1,pdata
+	store 2,mem_24g_mode_switch_cnt_2
+	arg 0x7d0,temp	//1min
+	isub temp,null
+	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
+	store 1,mem_24g_time_slice_2
+	beq 0,p_g24_mode_switch_search
+	beq 1,p_g24_bind_mode_enable
+	rtn
+
+p_g24_mode_switch_search:
+	fetch 1,mem_24g_work_delay_count
+	nbranch p_g24_bind_mode_enable,blank
+	branch p_g24_search_mode_enable
+
+p_g24_mode_switch_exit_2:
+	jam 1,mem_24g_mode_switch_exit_2
+	branch p_g24_search_mode_enable
+
+p_g24_mode_switch_stop_2:
+	jam 0,mem_24g_mode_switch_2
+	rtn
+p_g24_mode_switch_start_2:
+	jam 1,mem_24g_mode_switch_2
+	rtn	
+
 p_g24_enable_nodata_timer:
 	jam 1,mem_24g_nodata_timer_enable
 	branch g24_enable_nodata_timer_init
@@ -681,7 +778,10 @@
 
 	jam 0,mem_24g_bind_delay_count
 	jam 0,mem_24g_work_delay_count
-	
+
+	call p_g24_mode_switch_init_2	//works on auto pair only
+
+p_g24_search_mode_enable:
 	//no data for more than 100ms,then go to search
 	jam DONGLE_SEARCH,mem_dongle_work_mode
 	jam CLEAR_INIT,mem_dongle_mode_init
@@ -705,6 +805,10 @@
 	call p_g24_rx_addr_check
 	call p_g24_receive_packet_parse,zero
 	//receive data,then go to paired
+
+	fetch 1,mem_24g_abort_packet
+	call p_g24_mode_switch_stop_2,blank	//works on auto pair only
+	
 	jam DONGLE_WORK,mem_dongle_work_mode
 	fetch 1,mem_dongle_mode_init
 	set1 DONGLE_WORK,pdata
@@ -916,6 +1020,8 @@
 
 p_g24_bind_ackpayload_prep:
 	jam 1,mem_24g_ackpayload_enable
+	call p_g24_dongle_binding_device_check	//works on auto pair only
+	nrtn user3
 	jam 0x08,mem_24g_datalen
 	arg 0x08,loopcnt
 	arg mem_24g_bind_payload,contr
@@ -938,6 +1044,7 @@
 	fetch 1,mem_24g_rxbuf+2
 	beq 0x01,p_g24_bind_ackpayload_prep
 	beq 0xff,p_g24_bind_ackpayload_prep
+	
 	//jam 0,mem_24g_ackpayload_enable
 	jam 0,mem_usb_tx_win_enable
 	jam 0x01,mem_24g_datalen
@@ -988,6 +1095,7 @@
 	rtn
 
 p_g24_data_type1:
+	call p_g24_dongle_binding_mouse_living	//works on auto pair only
 	call p_g24_ch_timer_reinit
 	fetch 1,mem_24g_abort_packet
 	fetcht 1,mem_24g_rxdata_temp
@@ -1026,6 +1134,7 @@
 	branch timer_init
 
 p_g24_data_type2:
+	call p_g24_dongle_binding_keyboard_living
 	fetcht 1,mem_24g_rxdata_temp
 	isolate1 bit_abort,temp
 	branch p_g24_data_attemp_kbd_abort,true
@@ -1147,9 +1256,11 @@
 	beq DATATYPE_KEYBOARD,p_g24_data_attemp_kbd
 	rtn
 p_g24_data_attemp_mouse:
+	call p_g24_dongle_binding_mouse_living		//works on auto pair only
 	fetch 4,mem_24g_rxdata_temp+4
 	branch p_g24_store_mouse_addr
 p_g24_data_attemp_kbd:
+	call p_g24_dongle_binding_keyboard_living	//works on auto pair only
 	fetch 4,mem_24g_rxdata_temp+4
 	branch p_g24_store_kbd_addr
 p_g24_data_attemp_mouse_abort:
