Index: format/app_dongle.format
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/format/app_dongle.format	(revision 3174)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/format/app_dongle.format	(working copy)
@@ -53,6 +53,9 @@
 1 mem_usb_buff_new_end
 170 mem_usb_ep2_config
 1 mem_24g_ackpayload_enable_temp
+
+65 mem_24g_rxdata_temp_new
+65 mem_24g_txbuf_new
 )
 (
 0xA0 REPORT_ID_AUDIO_DATA_IN
Index: output/memmap.format
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/output/memmap.format	(revision 3174)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/output/memmap.format	(working copy)
@@ -1506,6 +1506,8 @@
 0x4999 mem_usb_buff_new_end
 0x499a mem_usb_ep2_config
 0x4a44 mem_24g_ackpayload_enable_temp
+0x4a45 mem_24g_rxdata_temp_new
+0x4a86 mem_24g_txbuf_new
 0x45d3 mem_rssi_hex_received
 0x45d4 mem_24g_pair_sm
 0x45d5 mem_24g_pair_no_ack
Index: output/otp.dat
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/output/otp.dat	(revision 3174)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/output/otp.dat	(working copy)
@@ -11,88 +11,92 @@
 00
 aa
 55
-a6
-0d
+da
+0f
 c2
 84
 00
-15
+16
 c0
 00
 00
-24
+27
 c0
 01
 00
-32
+5d
 c0
 08
 80
-3b
+66
 c0
 0a
-02
-c5
+03
+1f
 c0
 0a
-80
-d7
+81
+02
 c0
 0c
-00
-e5
+01
+10
 c0
 0c
 80
-8b
+b6
 c0
 0d
 00
-49
+74
 c0
 1b
 83
-2c
+96
 c0
 1c
 00
-aa
+d5
 c0
 1c
 80
-a6
+d1
 c0
 1e
 83
-1e
+88
 c0
 1f
 00
-2a
+41
+c0
+58
+80
+2d
 c0
 62
 80
-a3
+ce
 c0
 6d
 02
-96
+f0
 c0
 6e
-02
-a6
+03
+00
 c0
 7f
-00
-f0
+01
+1b
 c0
 7f
 81
-52
+7d
 c0
 7e
-80
-ec
+81
+17
 20
 20
 23
@@ -100,51 +104,59 @@
 c0
 00
 01
-7b
+a6
 c0
 01
 01
-a5
+d0
 c0
 03
 01
-c3
+ee
 c0
 1c
-82
-e1
+83
+3b
 c0
 26
-82
-e5
+83
+3f
 c0
 37
 03
-35
+9f
 c0
 37
 83
-4f
+b9
 c0
 3a
 83
-59
+c3
+c0
+40
+83
+d3
 c0
 41
-02
-e7
+03
+41
 c0
 42
 01
-d1
+fc
 c0
 44
 03
-06
+70
 c0
 45
 03
-13
+7d
+c0
+45
+80
+38
 c1
 46
 80
@@ -181,6 +193,86 @@
 20
 20
 03
+58
+00
+47
+ea
+67
+e1
+45
+e0
+58
+00
+02
+2a
+67
+e1
+45
+e4
+58
+00
+02
+7e
+67
+e1
+45
+e6
+58
+00
+48
+ab
+67
+e1
+45
+e2
+58
+00
+47
+f9
+67
+e1
+08
+59
+20
+20
+79
+12
+6f
+e0
+c6
+16
+c1
+83
+80
+00
+20
+40
+34
+76
+20
+40
+34
+ae
+20
+40
+33
+f1
+24
+37
+b3
+be
+20
+40
+35
+06
+20
+42
+80
+4d
+20
+20
+34
+91
 6f
 e0
 c6
@@ -192,17 +284,97 @@
 20
 40
 00
-2f
+5a
 20
 40
-34
-64
+00
+46
 20
 20
 48
 27
 6f
 e0
+c6
+16
+c1
+80
+00
+00
+20
+40
+34
+51
+20
+40
+35
+18
+20
+20
+00
+4b
+20
+40
+33
+f1
+24
+37
+b3
+be
+20
+40
+33
+e3
+24
+34
+33
+be
+20
+40
+00
+57
+6f
+e0
+c5
+7d
+20
+3a
+33
+be
+1f
+e0
+fe
+02
+98
+00
+72
+00
+d8
+c0
+44
+f7
+d8
+a0
+4a
+45
+20
+20
+33
+b5
+d8
+a0
+4a
+45
+df
+20
+00
+41
+20
+20
+7c
+a1
+6f
+e0
 ca
 44
 67
@@ -248,7 +420,7 @@
 20
 20
 00
-32
+5d
 70
 8a
 0f
@@ -332,7 +504,7 @@
 20
 40
 00
-ac
+d7
 6f
 e0
 c4
@@ -356,7 +528,7 @@
 c0
 08
 00
-80
+ab
 6f
 e0
 c4
@@ -400,7 +572,7 @@
 20
 40
 00
-72
+9d
 70
 80
 43
@@ -424,15 +596,15 @@
 20
 40
 02
-68
+c2
 20
 40
 02
-93
+ed
 20
 40
 00
-6c
+97
 70
 41
 48
@@ -444,7 +616,7 @@
 20
 20
 02
-95
+ef
 20
 75
 80
@@ -476,7 +648,7 @@
 c0
 0c
 00
-78
+a3
 6f
 e0
 c4
@@ -568,7 +740,7 @@
 20
 20
 00
-5e
+89
 6f
 e0
 c1
@@ -580,19 +752,19 @@
 c0
 05
 00
-92
+bd
 c0
 4f
 00
-97
+c2
 c0
 4f
 80
-9b
+c6
 c0
 50
 00
-9f
+ca
 20
 20
 22
@@ -704,7 +876,7 @@
 20
 35
 80
-d3
+fe
 6f
 e2
 02
@@ -872,7 +1044,7 @@
 20
 20
 00
-bd
+e8
 20
 40
 68
@@ -967,8 +1139,8 @@
 03
 20
 40
-80
-fa
+81
+25
 20
 20
 79
@@ -991,8 +1163,8 @@
 a9
 58
 00
-01
-de
+02
+2a
 67
 e1
 45
@@ -1000,7 +1172,7 @@
 58
 00
 02
-31
+7a
 67
 e1
 45
@@ -1008,7 +1180,7 @@
 58
 00
 02
-35
+8f
 67
 e1
 45
@@ -1136,7 +1308,7 @@
 20
 21
 01
-2f
+5a
 6f
 e0
 88
@@ -1144,7 +1316,7 @@
 c0
 80
 81
-2f
+5a
 ef
 e0
 80
@@ -1180,11 +1352,11 @@
 24
 21
 01
-2f
+5a
 20
 20
 01
-25
+50
 6f
 e0
 c8
@@ -1192,15 +1364,15 @@
 c0
 00
 01
-29
+54
 c0
 01
 81
-2c
+57
 20
 20
 01
-2f
+5a
 70
 48
 96
@@ -1208,11 +1380,11 @@
 20
 40
 01
-69
+94
 20
 20
 01
-4a
+75
 70
 48
 96
@@ -1220,11 +1392,11 @@
 20
 40
 01
-4a
+75
 20
 20
 01
-69
+94
 70
 48
 61
@@ -1324,7 +1496,7 @@
 20
 20
 01
-67
+92
 70
 48
 96
@@ -1332,7 +1504,7 @@
 20
 20
 01
-4a
+75
 70
 46
 11
@@ -1396,7 +1568,7 @@
 c0
 00
 81
-6b
+96
 d8
 a0
 08
@@ -1408,7 +1580,7 @@
 20
 20
 01
-5d
+88
 6f
 e0
 87
@@ -1432,7 +1604,7 @@
 20
 20
 01
-7b
+a6
 6f
 e0
 88
@@ -1440,11 +1612,11 @@
 c0
 51
 01
-16
+41
 c0
 52
 01
-48
+73
 20
 60
 00
@@ -1484,7 +1656,7 @@
 c0
 00
 81
-75
+a0
 70
 08
 f7
@@ -1544,11 +1716,11 @@
 c0
 40
 01
-81
+ac
 c0
 00
 01
-9d
+c8
 20
 20
 23
@@ -1576,7 +1748,7 @@
 c0
 00
 81
-89
+b4
 c0
 01
 79
@@ -1596,7 +1768,7 @@
 c0
 00
 81
-8e
+b9
 c0
 01
 fa
@@ -1620,7 +1792,7 @@
 20
 22
 81
-97
+c2
 6f
 e1
 08
@@ -1636,7 +1808,7 @@
 20
 22
 81
-97
+c2
 20
 20
 79
@@ -1648,7 +1820,7 @@
 24
 3a
 01
-9b
+c6
 70
 08
 b5
@@ -1688,7 +1860,7 @@
 c0
 00
 81
-af
+da
 c0
 01
 79
@@ -1708,7 +1880,7 @@
 c0
 01
 01
-ac
+d7
 c0
 01
 fa
@@ -1748,7 +1920,7 @@
 c0
 04
 81
-b4
+df
 c0
 05
 fb
@@ -1768,11 +1940,11 @@
 20
 40
 01
-0f
+3a
 20
 34
 01
-be
+e9
 70
 08
 f7
@@ -1868,47 +2040,47 @@
 20
 40
 02
-49
+a3
 20
 20
 02
-4d
+a7
 6f
 e0
-c5
-ea
+ca
+47
 c0
 00
-b3
-c4
+82
+0b
 c0
 01
-33
-d3
+02
+24
 c0
 7f
-b3
-c2
+82
+09
 c2
 83
-81
-d9
+82
+04
 c2
 83
-01
-d9
+02
+04
 c2
 82
-81
-d9
+82
+04
 20
 20
 33
 be
 6f
 e0
-c5
-ea
+ca
+47
 1f
 e1
 7e
@@ -1925,74 +2097,194 @@
 20
 33
 be
+20
+40
+03
+f2
+20
+20
+03
+47
+20
+40
+33
+8d
+20
+40
+35
+2e
+6f
+e0
+c6
+0a
+68
+48
+ca
+45
+28
+4f
+fe
+03
+79
+20
+fe
+00
+67
+e0
+c6
+0a
+c0
+00
+82
+1a
+6f
+e0
+c6
+12
+68
+48
+ca
+45
+28
+4f
+fe
+04
+79
+20
+fe
+00
+67
+e0
+c6
+12
+6f
+e1
+45
+e4
+20
+20
+7d
+79
+6f
+e0
+c3
+cb
+1f
+e6
+7c
+0e
+20
+42
+c4
+69
 6f
 e0
 c5
-ea
+de
+24
+7a
+00
+00
+70
+45
+de
+01
+6f
+e2
+4a
+4f
+20
+20
+35
+a3
+6f
+e2
+4a
+4f
+20
+20
+35
+a9
+20
+40
+33
+93
+68
+48
+ca
+45
+28
+4f
+fe
+03
+20
+20
+82
+22
+6f
+e1
+45
+e6
+20
+20
+7d
+79
+6f
+e0
+ca
+47
 c2
 83
-81
-ef
+82
+38
 c2
 83
 02
-05
+4e
 c2
 82
-81
-e3
+82
+38
 20
 20
+02
+2f
+58
+00
+00
+01
+67
+e0
+89
+13
+6f
+e3
+ca
 48
-d4
+e7
+e3
+80
+05
 6f
 e0
-c8
-96
-20
-7a
-00
-00
-70
+ca
 48
-96
-00
-70
-46
-11
-a2
-70
-4a
-44
-a2
+24
+5a
+48
+dd
 6f
 e0
-c8
-99
-1f
-e0
-fe
-02
-67
-e0
-c8
-97
-1f
-e2
-72
-00
-d8
-c0
+ca
 48
-98
-d8
-a0
-45
-19
+20
+5a
+48
+e1
 20
 20
-7c
-da
+48
+36
 6f
 20
 c5
@@ -2007,8 +2299,8 @@
 a4
 d8
 c0
-45
-eb
+4a
+48
 20
 40
 7c
@@ -2056,7 +2348,7 @@
 24
 42
 82
-1b
+64
 6f
 20
 c5
@@ -2095,8 +2387,8 @@
 e0
 d8
 c0
-45
-eb
+4a
+48
 20
 40
 7c
@@ -2144,7 +2436,7 @@
 24
 42
 82
-24
+6d
 6f
 20
 c5
@@ -2204,7 +2496,7 @@
 20
 20
 01
-67
+92
 58
 00
 00
@@ -2259,20 +2551,88 @@
 37
 6f
 e0
-c5
-ea
+ca
+47
 c2
 83
-81
-ef
+82
+38
 c2
 83
 02
-05
+4e
 20
 20
+02
+7e
+6f
+e0
+ca
 48
-e5
+c0
+00
+02
+83
+c0
+01
+02
+89
+c0
+01
+82
+8c
+20
+20
+33
+be
+6f
+e0
+ca
+4a
+67
+e0
+c6
+11
+70
+4a
+4a
+00
+d8
+a0
+09
+23
+d8
+c0
+4a
+49
+20
+20
+48
+ef
+d8
+a0
+09
+43
+d8
+c0
+4a
+48
+20
+20
+49
+1f
+d8
+a0
+09
+33
+d8
+c0
+4a
+48
+20
+20
+49
+07
 6f
 e0
 c5
@@ -2280,7 +2640,7 @@
 c0
 00
 82
-39
+93
 c0
 01
 48
@@ -2288,7 +2648,7 @@
 20
 20
 02
-39
+93
 6f
 e0
 c6
@@ -2300,7 +2660,7 @@
 20
 20
 02
-3c
+96
 6f
 e0
 c6
@@ -2316,7 +2676,7 @@
 c0
 51
 02
-41
+9b
 20
 60
 00
@@ -2416,7 +2776,7 @@
 c0
 13
 02
-5c
+b6
 c0
 10
 fc
@@ -2464,7 +2824,7 @@
 20
 20
 02
-65
+bf
 d8
 a0
 46
@@ -2528,7 +2888,7 @@
 20
 40
 02
-85
+df
 2a
 2f
 fe
@@ -2560,7 +2920,7 @@
 20
 40
 02
-85
+df
 d8
 a0
 8a
@@ -2588,7 +2948,7 @@
 20
 21
 02
-7a
+d4
 20
 20
 21
@@ -2691,8 +3051,8 @@
 b8
 20
 40
-02
-be
+03
+18
 70
 8a
 08
@@ -2727,8 +3087,8 @@
 00
 20
 40
-02
-b4
+03
+0e
 6f
 f0
 8a
@@ -2771,8 +3131,8 @@
 b8
 20
 40
-02
-be
+03
+18
 70
 80
 cd
@@ -2831,8 +3191,8 @@
 29
 c3
 02
-82
-bf
+83
+19
 68
 59
 01
@@ -2867,8 +3227,8 @@
 99
 c0
 08
-02
-de
+03
+38
 58
 00
 57
@@ -2911,8 +3271,8 @@
 99
 c0
 08
-02
-db
+03
+35
 58
 00
 2b
@@ -2947,8 +3307,8 @@
 07
 20
 20
-02
-d7
+03
+31
 58
 00
 83
@@ -2959,8 +3319,8 @@
 07
 20
 20
-02
-cc
+03
+26
 6f
 e0
 c3
@@ -2969,42 +3329,106 @@
 00
 00
 00
-c0
-01
-b0
+c0
+01
+b0
+4a
+20
+20
+28
+e1
+79
+3f
+80
+30
+20
+20
+2a
+f6
+6f
+e0
+ca
+47
+c0
+55
+33
+29
+c0
+2a
+b3
+3a
+c0
+11
+03
+57
+c0
+7f
+83
+47
+20
+60
+00
+00
+6f
+e0
+ca
+48
+c0
+00
+83
+4b
+c0
+01
+03
+51
+20
+60
+00
+00
+6f
+e0
+c5
+de
+24
+7a
+00
+00
+6f
+e2
 4a
-20
-20
-28
-e1
-79
-3f
-80
+49
+67
+e2
+46
+2c
+67
+e2
+46
 30
 20
-20
-2a
-f6
+60
+00
+00
 6f
 e0
 c5
-ea
-c0
-55
-33
-29
-c0
-2a
-b3
-3a
-c0
-11
-02
-ed
-c0
-7f
-b5
-9b
+df
+24
+7a
+00
+00
+6f
+e2
+4a
+49
+67
+e2
+46
+2c
+67
+e2
+46
+34
 20
 60
 00
@@ -3015,12 +3439,12 @@
 ae
 20
 3a
-02
-f3
+03
+5d
 6f
 e2
-45
-ec
+4a
+49
 68
 4a
 46
@@ -3035,16 +3459,16 @@
 00
 6f
 e0
-c5
-eb
+ca
+48
 c0
 00
-82
-f7
+83
+61
 c0
 01
-02
-fe
+03
+68
 20
 60
 00
@@ -3063,8 +3487,8 @@
 d3
 c0
 01
-02
-fc
+03
+66
 20
 60
 00
@@ -3092,7 +3516,7 @@
 c0
 80
 03
-03
+6d
 20
 60
 00
@@ -3172,7 +3596,7 @@
 20
 40
 03
-17
+81
 20
 20
 34
@@ -3252,7 +3676,7 @@
 20
 20
 01
-63
+8e
 58
 00
 00
@@ -3324,7 +3748,7 @@
 c5
 13
 83
-40
+aa
 6f
 e0
 c4
@@ -3368,7 +3792,7 @@
 20
 40
 83
-4d
+b7
 18
 42
 7e
@@ -3456,7 +3880,7 @@
 20
 40
 83
-4d
+b7
 18
 42
 7e
@@ -3505,8 +3929,148 @@
 60
 00
 00
-b2
-1f
+20
+40
+33
+be
+20
+40
+31
+19
+24
+37
+b3
+be
+20
+40
+03
+da
+20
+40
+33
+f4
+20
+40
+03
+f0
+20
+20
+33
+16
+70
+46
+22
+05
+d8
+c0
+44
+f7
+d8
+a0
+4a
+45
+20
+40
+7c
+89
+6f
+e0
+ca
+47
+c0
+55
+03
+e4
+c0
+2a
+83
+e6
+c0
+11
+03
+57
+c0
+7f
+b5
+9b
+20
+60
+00
+00
+6f
+e0
+ca
+48
+20
+20
+33
+2a
+6f
+e0
+c5
+ae
+20
+3a
+03
+ec
+6f
+e2
+4a
+49
+68
+4a
+44
+f1
+98
+46
+7c
+00
+24
+62
+80
+00
+6f
+e0
+ca
+48
+c0
+00
+b3
+44
+c0
+01
+33
+51
+20
+60
+00
+00
+6f
+e0
+c5
+d5
+20
+7a
+00
+00
+6f
+e0
+ca
+48
+c0
+00
+b3
+8d
+c0
+01
+33
+93
+20
+60
+00
+00
+1d
+7e
 aa
 55
 40
@@ -3535,7 +4099,7 @@
 00
 00
 00
-00
+02
 00
 20
 00
@@ -3561,8 +4125,8 @@
 c0
 20
 00
-14
-05
+16
+0d
 00
 00
 00
@@ -4176,8 +4740,8 @@
 aa
 aa
 55
-67
+73
 93
-e6
-34
+32
+3a
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/output/program.lis	(revision 3174)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/output/program.lis	(working copy)
@@ -1,1100 +1,1297 @@
               include "bt_format "
               org 0x0000
-0000 c2840015 bbit1 8 ,pf_patch_ext 
-0001 c0000024 beq patch00_0 ,p_soft_reset 
-0002 c0010032 beq patch00_2 ,p_main_loop 
-0003 c008803b beq patch02_1 ,p_set_sync_on 
-0004 c00a02c5 beq patch02_4 ,p_set_lemode 
-0005 c00a80d7 beq patch02_5 ,p_rf_rx_enable 
-0006 c00c00e5 beq patch03_0 ,p_txon 
-0007 c00c808b beq patch03_1 ,p_set_tx_power 
-0008 c00d0049 beq patch03_2 ,p_initialize_radio_cont 
-0009 c01b832c beq patch06_7 ,p_dongle_default_init 
-000a c01c00aa beq patch07_0 ,p_dongle_read_kb_bind_status 
-000b c01c80a6 beq patch07_1 ,p_dongle_write_kb_bind_status 
-000c c01e831e beq patch07_5 ,p_dongle_usb_dispatch 
-000d c01f002a beq patch07_6 ,p_dongle_work_mode_auto 
-000e c06280a3 beq patch18_5 ,p_otp_read_data 
-000f c06d0296 beq patch1b_2 ,p_sadc_calibration 
-0010 c06e02a6 beq patch1b_4 ,p_enable_adc 
-0011 c07f00f0 beq patch1f_6 ,p_usb_init 
-0012 c07f8152 beq patch1f_7 ,p_usb_rx 
-0013 c07e80ec beq patch1f_5 ,p_usb_isr 
-0014 2020235a branch assert 
+0000 c2840016 bbit1 8 ,pf_patch_ext 
+0001 c0000027 beq patch00_0 ,p_soft_reset 
+0002 c001005d beq patch00_2 ,p_main_loop 
+0003 c0088066 beq patch02_1 ,p_set_sync_on 
+0004 c00a031f beq patch02_4 ,p_set_lemode 
+0005 c00a8102 beq patch02_5 ,p_rf_rx_enable 
+0006 c00c0110 beq patch03_0 ,p_txon 
+0007 c00c80b6 beq patch03_1 ,p_set_tx_power 
+0008 c00d0074 beq patch03_2 ,p_initialize_radio_cont 
+0009 c01b8396 beq patch06_7 ,p_dongle_default_init 
+000a c01c00d5 beq patch07_0 ,p_dongle_read_kb_bind_status 
+000b c01c80d1 beq patch07_1 ,p_dongle_write_kb_bind_status 
+000c c01e8388 beq patch07_5 ,p_dongle_usb_dispatch 
+000d c01f0041 beq patch07_6 ,p_dongle_work_mode_auto 
+000e c058802d beq patch16_1 ,p_usb_init2 
+000f c06280ce beq patch18_5 ,p_otp_read_data 
+0010 c06d02f0 beq patch1b_2 ,p_sadc_calibration 
+0011 c06e0300 beq patch1b_4 ,p_enable_adc 
+0012 c07f011b beq patch1f_6 ,p_usb_init 
+0013 c07f817d beq patch1f_7 ,p_usb_rx 
+0014 c07e8117 beq patch1f_5 ,p_usb_isr 
+0015 2020235a branch assert 
 
 pf_patch_ext:
-0015 c000017b beq patch20_0 ,p_usb_class_type 
-0016 c00101a5 beq patch20_2 ,p_usb0_request_get_descriptor 
-0017 c00301c3 beq patch20_6 ,p_usb_tx 
-0018 c01c82e1 beq patch27_1 ,p_le_parse 
-0019 c02682e5 beq patch29_5 ,p_le_init_adv 
-001a c0370335 beq patch2d_6 ,p_g24_receive_skip_fec1 
-001b c037834f beq patch2d_7 ,p_g24_receive_skip_end 
-001c c03a8359 beq patch2e_5 ,p_g24_read_len_pid_crc 
-001d c04102e7 beq patch30_2 ,p_g24_bind_data_parse_next 
-001e c04201d1 beq patch30_4 ,p_g24_receive_packet_start1 
-001f c0440306 beq patch31_0 ,p_g24_mode_switch_bind_search 
-0020 c0450313 beq patch31_2 ,p_g24_bind_mode_auto 
-0021 c1468000 rtneq patch31_5 
-0022 c17f8000 rtneq patch3f_7 
-0023 2020235a branch assert 
+0016 c00001a6 beq patch20_0 ,p_usb_class_type 
+0017 c00101d0 beq patch20_2 ,p_usb0_request_get_descriptor 
+0018 c00301ee beq patch20_6 ,p_usb_tx 
+0019 c01c833b beq patch27_1 ,p_le_parse 
+001a c026833f beq patch29_5 ,p_le_init_adv 
+001b c037039f beq patch2d_6 ,p_g24_receive_skip_fec1 
+001c c03783b9 beq patch2d_7 ,p_g24_receive_skip_end 
+001d c03a83c3 beq patch2e_5 ,p_g24_read_len_pid_crc 
+001e c04083d3 beq patch30_1 ,p_g24_bind_data_process 
+001f c0410341 beq patch30_2 ,p_g24_bind_data_parse_next 
+0020 c04201fc beq patch30_4 ,p_g24_receive_packet_start1 
+0021 c0440370 beq patch31_0 ,p_g24_mode_switch_bind_search 
+0022 c045037d beq patch31_2 ,p_g24_bind_mode_auto 
+0023 c0458038 beq patch31_3 ,p_g24_search_mode_auto 
+0024 c1468000 rtneq patch31_5 
+0025 c17f8000 rtneq patch3f_7 
+0026 2020235a branch assert 
 
 p_soft_reset:
-0024 20800000 clear_stack 
-0025 37d98200 until null ,lpo_edge 
-0026 6fe0c0cb fetch 1 ,mem_lpm_hv_sel 
-0027 204023e1 call lpm_write_sel_hv 
-0028 20007530 nop 30000 
-0029 20202003 branch soft_reset + 2 
+0027 20800000 clear_stack 
+0028 37d98200 until null ,lpo_edge 
+0029 6fe0c0cb fetch 1 ,mem_lpm_hv_sel 
+002a 204023e1 call lpm_write_sel_hv 
+002b 20007530 nop 30000 
+002c 20202003 branch soft_reset + 2 
+
+p_usb_init2:
+002d 580047ea setarg dongle_dispatch 
+002e 67e145e0 store 2 ,mem_cb_24g_receive_process 
+002f 5800022a setarg p_dongle_g24_mouse 
+0030 67e145e4 store 2 ,mem_cb_24g_data_device1 
+0031 5800027e setarg p_dongle_g24_kb 
+0032 67e145e6 store 2 ,mem_cb_24g_data_device2 
+0033 580048ab setarg dongle_ackpayload_prep 
+0034 67e145e2 store 2 ,mem_cb_24g_ackpayload 
+0035 580047f9 setarg dongle_usb_config 
+0036 67e10859 store 2 ,mem_cb_usb_config 
+0037 20207912 branch usb_init 
+
+p_g24_search_mode_auto:
+0038 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0039 c1838000 rtnne dongle_search 
+003a 20403476 call g24_search_mode_init 
+003b 204034ae call g24_auto_addr_ch_search 
+003c 204033f1 call g24_receive_transmit_ack 
+003d 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+003e 20403506 call g24_receiver_addr_check 
+003f 2042804d call p_g24_receive_packet_parse2 ,zero 
+0040 20203491 branch g24_search_mode_auto + 9 
 
 p_dongle_work_mode_auto:
-002a 6fe0c616 fetch 1 ,mem_24g_work_mode 
-002b c1800000 rtnne dongle_work 
-002c 2040002f call p_mouse_ackpayload_set 
-002d 20403464 call g24_work_mode_start 
-002e 20204827 branch dongle_g24_blank_data_process 
+0041 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0042 c1800000 rtnne dongle_work 
+0043 2040005a call p_mouse_ackpayload_set 
+0044 20400046 call p_g24_work_mode_start 
+0045 20204827 branch dongle_g24_blank_data_process 
+
+p_g24_work_mode_start:
+0046 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0047 c1800000 rtnne dongle_work 
+0048 20403451 call g24_work_init 
+0049 20403518 call g24_ch_process 
+004a 2020004b branch p_g24_receive_packet_start 
+
+p_g24_receive_packet_start:
+004b 204033f1 call g24_receive_transmit_ack 
+004c 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+
+p_g24_receive_packet_parse2:
+004d 204033e3 call g24_receive_packet_parse_pid_crc 
+004e 243433be nbranch g24_rx_interrupt_clear ,user 
+004f 20400057 call p_usb_rx_temp_clear 
+0050 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0051 203a33be branch g24_rx_interrupt_clear ,blank 
+0052 1fe0fe02 increase 2 ,pdata 
+0053 98007200 iforce loopcnt 
+0054 d8c044f7 arg mem_24g_rxbuf ,contr 
+0055 d8a04a45 arg mem_24g_rxdata_temp_new ,contw 
+0056 202033b5 branch g24_receive_packet_parse + 8 
+
+p_usb_rx_temp_clear:
+0057 d8a04a45 arg mem_24g_rxdata_temp_new ,contw 
+0058 df200041 arg 65 ,loopcnt 
+0059 20207ca1 branch clear_mem 
 
 p_mouse_ackpayload_set:
-002f 6fe0ca44 fetch 1 ,mem_24g_ackpayload_enable_temp 
-0030 67e0c611 store 1 ,mem_24g_ackpayload_enable 
-0031 20600000 rtn 
+005a 6fe0ca44 fetch 1 ,mem_24g_ackpayload_enable_temp 
+005b 67e0c611 store 1 ,mem_24g_ackpayload_enable 
+005c 20600000 rtn 
 
 p_main_loop:
-0032 20407552 call sp_calc_sequence_256 
-0033 20407448 call sp_calc_sequence_256_check 
-0034 20402a45 call le_advertising_dispatch 
-0035 2040202a call idle_dispatch 
-0036 204042ad call app_process_idle 
-0037 20402018 call connection_dispatch 
-0038 2040310f call g24_dispatch 
-0039 2040248c call lpm_dispatch 
-003a 20200032 branch p_main_loop 
+005d 20407552 call sp_calc_sequence_256 
+005e 20407448 call sp_calc_sequence_256_check 
+005f 20402a45 call le_advertising_dispatch 
+0060 2040202a call idle_dispatch 
+0061 204042ad call app_process_idle 
+0062 20402018 call connection_dispatch 
+0063 2040310f call g24_dispatch 
+0064 2040248c call lpm_dispatch 
+0065 2020005d branch p_main_loop 
 
 p_set_sync_on:
-003b 708a0f60 jam 0x60 ,0x8a0f 
-003c 708a10aa jam 0xaa ,0x8a10 
-003d 708a127a jam 0x7a ,0x8a12 
-003e 708a2500 jam 0x00 ,0x8a25 
-003f 708a2600 jam 0x00 ,0x8a26 
-0040 2000003c nop 60 
-0041 708a2020 jam 0x20 ,0x8a20 
-0042 708a23f5 jam 0xf5 ,0x8a23 
-0043 708a2412 jam 0x12 ,0x8a24 
-0044 708a2410 jam 0x10 ,0x8a24 
-0045 2000003c nop 60 
-0046 708a1260 jam 0x60 ,0x8a12 
-0047 708a23dd jam 0xdd ,0x8a23 
-0048 20600000 rtn 
+0066 708a0f60 jam 0x60 ,0x8a0f 
+0067 708a10aa jam 0xaa ,0x8a10 
+0068 708a127a jam 0x7a ,0x8a12 
+0069 708a2500 jam 0x00 ,0x8a25 
+006a 708a2600 jam 0x00 ,0x8a26 
+006b 2000003c nop 60 
+006c 708a2020 jam 0x20 ,0x8a20 
+006d 708a23f5 jam 0xf5 ,0x8a23 
+006e 708a2412 jam 0x12 ,0x8a24 
+006f 708a2410 jam 0x10 ,0x8a24 
+0070 2000003c nop 60 
+0071 708a1260 jam 0x60 ,0x8a12 
+0072 708a23dd jam 0xdd ,0x8a23 
+0073 20600000 rtn 
 
 p_initialize_radio_cont:
-0049 7089460d jam 0x0d ,0x8946 
-004a 70896f10 jam 0x10 ,0x896f 
-004b 708a0610 jam 0x10 ,0x8a06 
-004c 708a844a jam 0x4a ,0x8a84 
-004d 708a8540 jam 0x40 ,0x8a85 
-004e 708a16fe jam 0xfe ,0x8a16 
-004f 204000ac call p_set_otp_config 
-0050 6fe0c436 fetch 1 ,mem_wdt_always_work 
-0051 205a70d7 call wdt_set_disable ,blank 
-0052 37d98200 until null ,lpo_edge 
-0053 70813b5f jam 0x5f ,0x813b 
-0054 6fe0c099 fetch 1 ,mem_fcomp_div 
-0055 c0080080 beq xtal_16m ,p_initialize_radio_16m 
-0056 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
-0057 1fe1fe04 or_into 0x04 ,pdata 
-0058 67f08a02 store 1 ,0x8a02 
-0059 70890f01 jam 0x01 ,0x890f 
-005a 708a8024 jam 0x24 ,0x8a80 
-005b 708a8162 jam 0x62 ,0x8a81 
-005c 58e61212 setarg 0xe61212 
-005d 67f18a73 store 3 ,0x8a73 
+0074 7089460d jam 0x0d ,0x8946 
+0075 70896f10 jam 0x10 ,0x896f 
+0076 708a0610 jam 0x10 ,0x8a06 
+0077 708a844a jam 0x4a ,0x8a84 
+0078 708a8540 jam 0x40 ,0x8a85 
+0079 708a16fe jam 0xfe ,0x8a16 
+007a 204000d7 call p_set_otp_config 
+007b 6fe0c436 fetch 1 ,mem_wdt_always_work 
+007c 205a70d7 call wdt_set_disable ,blank 
+007d 37d98200 until null ,lpo_edge 
+007e 70813b5f jam 0x5f ,0x813b 
+007f 6fe0c099 fetch 1 ,mem_fcomp_div 
+0080 c00800ab beq xtal_16m ,p_initialize_radio_16m 
+0081 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
+0082 1fe1fe04 or_into 0x04 ,pdata 
+0083 67f08a02 store 1 ,0x8a02 
+0084 70890f01 jam 0x01 ,0x890f 
+0085 708a8024 jam 0x24 ,0x8a80 
+0086 708a8162 jam 0x62 ,0x8a81 
+0087 58e61212 setarg 0xe61212 
+0088 67f18a73 store 3 ,0x8a73 
 
 p_initialize_radio2:
-005e 708a8660 jam 0x60 ,0x8a86 
-005f 708a8b3b jam 0x3b ,0x8a8b 
-0060 20400072 call p_dpll_on 
-0061 70804300 jam 0 ,core_config 
-0062 70804205 jam clksel_dpll ,core_clksel 
-0063 58557474 setarg 0x557474 
-0064 67f18968 store 3 ,0x8968 
-0065 7089606e jam 0x6e ,0x8960 
-0066 20400268 call p_rx_dcoc 
-0067 20400293 call p_rfpll_aac_ghpc 
-0068 2040006c call p_set_xtal_cap 
-0069 7041480c jam system_clk_12m ,mem_system_clk 
-006a 20406f4e call sadc_calibration 
-006b 20200295 branch p_dpll_ring_ibias_calc 
+0089 708a8660 jam 0x60 ,0x8a86 
+008a 708a8b3b jam 0x3b ,0x8a8b 
+008b 2040009d call p_dpll_on 
+008c 70804300 jam 0 ,core_config 
+008d 70804205 jam clksel_dpll ,core_clksel 
+008e 58557474 setarg 0x557474 
+008f 67f18968 store 3 ,0x8968 
+0090 7089606e jam 0x6e ,0x8960 
+0091 204002c2 call p_rx_dcoc 
+0092 204002ed call p_rfpll_aac_ghpc 
+0093 20400097 call p_set_xtal_cap 
+0094 7041480c jam system_clk_12m ,mem_system_clk 
+0095 20406f4e call sadc_calibration 
+0096 202002ef branch p_dpll_ring_ibias_calc 
 
 p_set_xtal_cap:
-006c 20758000 rtn wake 
-006d 37d98200 until null ,lpo_edge 
-006e 6fe0c11c fetch 1 ,mem_xtal_c_sel 
-006f 67f0813a store 1 ,core_xtal_cap 
-0070 37d98200 until null ,lpo_edge 
-0071 20600000 rtn 
+0097 20758000 rtn wake 
+0098 37d98200 until null ,lpo_edge 
+0099 6fe0c11c fetch 1 ,mem_xtal_c_sel 
+009a 67f0813a store 1 ,core_xtal_cap 
+009b 37d98200 until null ,lpo_edge 
+009c 20600000 rtn 
 
 p_dpll_on:
-0072 6fe0c099 fetch 1 ,mem_fcomp_div 
-0073 c00c0078 beq xtal_24m ,p_dpll_on_24m 
-0074 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
-0075 1fe1fe06 or_into 0x06 ,pdata 
-0076 67f08a02 store 1 ,0x8a02 
-0077 708a05e0 jam 0xe0 ,0x8a05 
+009d 6fe0c099 fetch 1 ,mem_fcomp_div 
+009e c00c00a3 beq xtal_24m ,p_dpll_on_24m 
+009f 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
+00a0 1fe1fe06 or_into 0x06 ,pdata 
+00a1 67f08a02 store 1 ,0x8a02 
+00a2 708a05e0 jam 0xe0 ,0x8a05 
 
 p_dpll_on_24m:
-0078 708a00d8 jam 0xd8 ,0x8a00 
-0079 2000003c nop 60 
-007a 708a01a0 jam 0xa0 ,0x8a01 
-007b 708a00df jam 0xdf ,0x8a00 
-007c 708a01fa jam 0xfa ,0x8a01 
-007d 20000014 nop 20 
-007e 708a009f jam 0x9f ,0x8a00 
-007f 20600000 rtn 
+00a3 708a00d8 jam 0xd8 ,0x8a00 
+00a4 2000003c nop 60 
+00a5 708a01a0 jam 0xa0 ,0x8a01 
+00a6 708a00df jam 0xdf ,0x8a00 
+00a7 708a01fa jam 0xfa ,0x8a01 
+00a8 20000014 nop 20 
+00a9 708a009f jam 0x9f ,0x8a00 
+00aa 20600000 rtn 
 
 p_initialize_radio_16m:
-0080 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
-0081 1fe1fe06 or_into 0x06 ,pdata 
-0082 67f08a02 store 1 ,0x8a02 
-0083 70890f00 jam 0x00 ,0x890f 
-0084 708a8023 jam 0x23 ,0x8a80 
-0085 708a81b0 jam 0xb0 ,0x8a81 
-0086 58e40909 setarg 0xe40909 
-0087 67f18a73 store 3 ,0x8a73 
-0088 708a762a jam 0x2a ,0x8a76 
-0089 70890204 jam 0x04 ,0x8902 
-008a 2020005e branch p_initialize_radio2 
+00ab 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
+00ac 1fe1fe06 or_into 0x06 ,pdata 
+00ad 67f08a02 store 1 ,0x8a02 
+00ae 70890f00 jam 0x00 ,0x890f 
+00af 708a8023 jam 0x23 ,0x8a80 
+00b0 708a81b0 jam 0xb0 ,0x8a81 
+00b1 58e40909 setarg 0xe40909 
+00b2 67f18a73 store 3 ,0x8a73 
+00b3 708a762a jam 0x2a ,0x8a76 
+00b4 70890204 jam 0x04 ,0x8902 
+00b5 20200089 branch p_initialize_radio2 
 
 p_set_tx_power:
-008b 6fe0c141 fetch 1 ,mem_tx_power 
-008c c0032225 beq tx_power_6db ,set_tx_power_7db 
-008d c0050092 beq tx_power_10db ,p_set_tx_power_10db 
-008e c04f0097 beq tx_power_f30db ,p_set_tx_power_f30db 
-008f c04f809b beq tx_power_f35db ,p_set_tx_power_f35db 
-0090 c050009f beq tx_power_f40db ,p_set_tx_power_f40db 
-0091 2020220e branch set_tx_power + 2 
+00b6 6fe0c141 fetch 1 ,mem_tx_power 
+00b7 c0032225 beq tx_power_6db ,set_tx_power_7db 
+00b8 c00500bd beq tx_power_10db ,p_set_tx_power_10db 
+00b9 c04f00c2 beq tx_power_f30db ,p_set_tx_power_f30db 
+00ba c04f80c6 beq tx_power_f35db ,p_set_tx_power_f35db 
+00bb c05000ca beq tx_power_f40db ,p_set_tx_power_f40db 
+00bc 2020220e branch set_tx_power + 2 
 
 p_set_tx_power_10db:
-0092 708a1425 jam 0x25 ,0x8a14 
-0093 58a93f3f setarg 0xa93f3f 
-0094 67f18a60 store 3 ,0x8a60 
-0095 708a631f jam 0x1f ,0x8a63 
-0096 20600000 rtn 
+00bd 708a1425 jam 0x25 ,0x8a14 
+00be 58a93f3f setarg 0xa93f3f 
+00bf 67f18a60 store 3 ,0x8a60 
+00c0 708a631f jam 0x1f ,0x8a63 
+00c1 20600000 rtn 
 
 p_set_tx_power_f30db:
-0097 708a1417 jam 0x17 ,0x8a14 
-0098 58250300 setarg 0x250300 
-0099 67f18a60 store 3 ,0x8a60 
-009a 2020221a branch set_tx_power_8a63_28 
+00c2 708a1417 jam 0x17 ,0x8a14 
+00c3 58250300 setarg 0x250300 
+00c4 67f18a60 store 3 ,0x8a60 
+00c5 2020221a branch set_tx_power_8a63_28 
 
 p_set_tx_power_f35db:
-009b 708a1417 jam 0x17 ,0x8a14 
-009c 58250100 setarg 0x250100 
-009d 67f18a60 store 3 ,0x8a60 
-009e 2020221a branch set_tx_power_8a63_28 
+00c6 708a1417 jam 0x17 ,0x8a14 
+00c7 58250100 setarg 0x250100 
+00c8 67f18a60 store 3 ,0x8a60 
+00c9 2020221a branch set_tx_power_8a63_28 
 
 p_set_tx_power_f40db:
-009f 708a1417 jam 0x17 ,0x8a14 
-00a0 58250000 setarg 0x250000 
-00a1 67f18a60 store 3 ,0x8a60 
-00a2 2020221a branch set_tx_power_8a63_28 
+00ca 708a1417 jam 0x17 ,0x8a14 
+00cb 58250000 setarg 0x250000 
+00cc 67f18a60 store 3 ,0x8a60 
+00cd 2020221a branch set_tx_power_8a63_28 
 
 p_otp_read_data:
-00a3 20406b3a call enable_otp_read 
-00a4 20406b75 call otp_read_data + 1 
-00a5 20206b38 branch otp_disable_chgpump 
+00ce 20406b3a call enable_otp_read 
+00cf 20406b75 call otp_read_data + 1 
+00d0 20206b38 branch otp_disable_chgpump 
 
 p_dongle_write_kb_bind_status:
-00a6 df200001 arg 1 ,loopcnt 
-00a7 da204648 arg mem_dg_kb_bind_flag ,rega 
-00a8 da401f00 arg dongle_kb_bind_otp_offect ,regb 
-00a9 20206b45 branch otp_write 
+00d1 df200001 arg 1 ,loopcnt 
+00d2 da204648 arg mem_dg_kb_bind_flag ,rega 
+00d3 da401f00 arg dongle_kb_bind_otp_offect ,regb 
+00d4 20206b45 branch otp_write 
 
 p_dongle_read_kb_bind_status:
-00aa da401f00 arg dongle_kb_bind_otp_offect ,regb 
-00ab 202047f1 branch dongle_read_kb_bind_status + 2 
+00d5 da401f00 arg dongle_kb_bind_otp_offect ,regb 
+00d6 202047f1 branch dongle_read_kb_bind_status + 2 
 
 p_set_otp_config:
-00ac 203580d3 branch p_set_otp_config_wake ,wake 
-00ad 6fe2020d fetch 4 ,mem_otp_core_ldo 
-00ae 207a0000 rtn blank 
-00af 37d98200 until null ,lpo_edge 
-00b0 6ff08136 fetch 1 ,0x8136 
-00b1 1fe17ef0 and pdata ,0xf0 ,pdata 
-00b2 6848820d fetcht 1 ,mem_otp_core_ldo 
-00b3 9841fe00 ior temp ,pdata 
-00b4 67f08136 store 1 ,0x8136 
-00b5 37d98200 until null ,lpo_edge 
-00b6 6ff08138 fetch 1 ,0x8138 
-00b7 1fe17e07 and pdata ,0x7 ,pdata 
-00b8 6848820e fetcht 1 ,mem_otp_verf_bg 
-00b9 18498400 lshift3 temp ,temp 
-00ba 9841fe00 ior temp ,pdata 
-00bb 67f08138 store 1 ,0x8138 
-00bc 37d98200 until null ,lpo_edge 
+00d7 203580fe branch p_set_otp_config_wake ,wake 
+00d8 6fe2020d fetch 4 ,mem_otp_core_ldo 
+00d9 207a0000 rtn blank 
+00da 37d98200 until null ,lpo_edge 
+00db 6ff08136 fetch 1 ,0x8136 
+00dc 1fe17ef0 and pdata ,0xf0 ,pdata 
+00dd 6848820d fetcht 1 ,mem_otp_core_ldo 
+00de 9841fe00 ior temp ,pdata 
+00df 67f08136 store 1 ,0x8136 
+00e0 37d98200 until null ,lpo_edge 
+00e1 6ff08138 fetch 1 ,0x8138 
+00e2 1fe17e07 and pdata ,0x7 ,pdata 
+00e3 6848820e fetcht 1 ,mem_otp_verf_bg 
+00e4 18498400 lshift3 temp ,temp 
+00e5 9841fe00 ior temp ,pdata 
+00e6 67f08138 store 1 ,0x8138 
+00e7 37d98200 until null ,lpo_edge 
 
 p_set_otp_config2:
-00bd 6ff08acb fetch 1 ,0x8acb 
-00be 1fe17ef0 and pdata ,0xf0 ,pdata 
-00bf 6848820f fetcht 1 ,mem_otp_charge_pump 
-00c0 6048c15b storet 1 ,mem_otp_charge_pump_x 
-00c1 9841fe00 ior temp ,pdata 
-00c2 67f08acb store 1 ,0x8acb 
-00c3 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
-00c4 67e0c15c store 1 ,mem_otp_dpll_ibais_x 
-00c5 2feffe03 isolate1 3 ,pdata 
-00c6 6ff08a06 fetch 1 ,0x8a06 
-00c7 7920fe07 setflag true ,7 ,pdata 
-00c8 67f08a06 store 1 ,0x8a06 
-00c9 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
-00ca 1fe10407 and pdata ,7 ,temp 
-00cb 18520400 lshift4 temp ,temp 
-00cc 18438400 lshift temp ,temp 
-00cd 6048c438 storet 1 ,mem_ring_ibias_trim 
-00ce 6ff08a02 fetch 1 ,0x8a02 
-00cf 1fe17e1f and pdata ,0x1f ,pdata 
-00d0 9841fe00 ior temp ,pdata 
-00d1 67f08a02 store 1 ,0x8a02 
-00d2 20600000 rtn 
+00e8 6ff08acb fetch 1 ,0x8acb 
+00e9 1fe17ef0 and pdata ,0xf0 ,pdata 
+00ea 6848820f fetcht 1 ,mem_otp_charge_pump 
+00eb 6048c15b storet 1 ,mem_otp_charge_pump_x 
+00ec 9841fe00 ior temp ,pdata 
+00ed 67f08acb store 1 ,0x8acb 
+00ee 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
+00ef 67e0c15c store 1 ,mem_otp_dpll_ibais_x 
+00f0 2feffe03 isolate1 3 ,pdata 
+00f1 6ff08a06 fetch 1 ,0x8a06 
+00f2 7920fe07 setflag true ,7 ,pdata 
+00f3 67f08a06 store 1 ,0x8a06 
+00f4 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
+00f5 1fe10407 and pdata ,7 ,temp 
+00f6 18520400 lshift4 temp ,temp 
+00f7 18438400 lshift temp ,temp 
+00f8 6048c438 storet 1 ,mem_ring_ibias_trim 
+00f9 6ff08a02 fetch 1 ,0x8a02 
+00fa 1fe17e1f and pdata ,0x1f ,pdata 
+00fb 9841fe00 ior temp ,pdata 
+00fc 67f08a02 store 1 ,0x8a02 
+00fd 20600000 rtn 
 
 p_set_otp_config_wake:
-00d3 6fe1415b fetch 2 ,mem_otp_charge_pump_x 
-00d4 207a0000 rtn blank 
-00d5 67e1020f store 2 ,mem_otp_charge_pump 
-00d6 202000bd branch p_set_otp_config2 
+00fe 6fe1415b fetch 2 ,mem_otp_charge_pump_x 
+00ff 207a0000 rtn blank 
+0100 67e1020f store 2 ,mem_otp_charge_pump 
+0101 202000e8 branch p_set_otp_config2 
 
 p_rf_rx_enable:
-00d7 2040686f call rf_debug_rx_gpio_high 
-00d8 204021ba call rf_rx_agc_set 
-00d9 18002a08 force 8 ,radio_ctrl 
-00da 18002a00 force 0 ,radio_ctrl 
-00db 580aaada setarg 0x0aaada 
-00dc 67f18a0f store 3 ,0x8a0f 
-00dd 708a2540 jam 0x40 ,0x8a25 
-00de 708a2610 jam 0x10 ,0x8a26 
-00df 2000003c nop 60 
-00e0 708a01fb jam 0xfb ,0x8a01 
-00e1 708a25ff jam 0xff ,0x8a25 
-00e2 708a2630 jam 0x30 ,0x8a26 
-00e3 708a16fe jam 0xfe ,0x8a16 
-00e4 202021b4 branch rf_rx_enable + 14 
+0102 2040686f call rf_debug_rx_gpio_high 
+0103 204021ba call rf_rx_agc_set 
+0104 18002a08 force 8 ,radio_ctrl 
+0105 18002a00 force 0 ,radio_ctrl 
+0106 580aaada setarg 0x0aaada 
+0107 67f18a0f store 3 ,0x8a0f 
+0108 708a2540 jam 0x40 ,0x8a25 
+0109 708a2610 jam 0x10 ,0x8a26 
+010a 2000003c nop 60 
+010b 708a01fb jam 0xfb ,0x8a01 
+010c 708a25ff jam 0xff ,0x8a25 
+010d 708a2630 jam 0x30 ,0x8a26 
+010e 708a16fe jam 0xfe ,0x8a16 
+010f 202021b4 branch rf_rx_enable + 14 
 
 p_txon:
-00e5 580aaa7e setarg 0x0aaa7e 
-00e6 67f18a0f store 3 ,0x8a0f 
-00e7 2000003c nop 60 
-00e8 708a2500 jam 0x00 ,0x8a25 
-00e9 708a260d jam 0x0d ,0x8a26 
-00ea 708a16f6 jam 0xf6 ,0x8a16 
-00eb 20202203 branch txon + 7 
+0110 580aaa7e setarg 0x0aaa7e 
+0111 67f18a0f store 3 ,0x8a0f 
+0112 2000003c nop 60 
+0113 708a2500 jam 0x00 ,0x8a25 
+0114 708a260d jam 0x0d ,0x8a26 
+0115 708a16f6 jam 0xf6 ,0x8a16 
+0116 20202203 branch txon + 7 
 
 p_usb_isr:
-00ec 6ff08c22 fetch 1 ,core_usb_status 
-00ed 2feffe03 isolate1 usb_status_reset ,pdata 
-00ee 204080fa call p_usb_init_restart ,true 
-00ef 2020790a branch usb_isr + 4 
+0117 6ff08c22 fetch 1 ,core_usb_status 
+0118 2feffe03 isolate1 usb_status_reset ,pdata 
+0119 20408125 call p_usb_init_restart ,true 
+011a 2020790a branch usb_isr + 4 
 
 p_usb_init:
-00f0 20407396 call enable_authrom 
-00f1 20407932 call usb_init_param 
-00f2 5800499a setarg mem_usb_ep2_config 
-00f3 67e107a9 store 2 ,mem_hidreportdesc_m 
-00f4 580001de setarg p_dongle_g24_mouse 
-00f5 67e145e4 store 2 ,mem_cb_24g_data_device1 
-00f6 58000231 setarg p_dongle_g24_keyboard 
-00f7 67e145e6 store 2 ,mem_cb_24g_data_device2 
-00f8 58000235 setarg p_dongle_ackpayload_prep 
-00f9 67e145e2 store 2 ,mem_cb_24g_ackpayload 
+011b 20407396 call enable_authrom 
+011c 20407932 call usb_init_param 
+011d 5800499a setarg mem_usb_ep2_config 
+011e 67e107a9 store 2 ,mem_hidreportdesc_m 
+011f 5800022a setarg p_dongle_g24_mouse 
+0120 67e145e4 store 2 ,mem_cb_24g_data_device1 
+0121 5800027a setarg p_dongle_g24_keyboard 
+0122 67e145e6 store 2 ,mem_cb_24g_data_device2 
+0123 5800028f setarg p_dongle_ackpayload_prep 
+0124 67e145e2 store 2 ,mem_cb_24g_ackpayload 
 
 p_usb_init_restart:
-00fa 708c0000 jam 0x00 ,core_usb_config 
-00fb 20002710 nop 10000 
-00fc 708c1200 jam 0x0 ,core_usb_hmode 
-00fd 6ff10050 fetch 2 ,core_clkoff 
-00fe 793ffe0a set0 clock_off_usb ,pdata 
-00ff 67f10050 store 2 ,core_clkoff 
-0100 708c1021 jam 0x21 ,core_usb_epmap 
-0101 708c119d jam 0x9d ,core_usb_pupd 
-0102 708c003c jam 0x3c ,core_usb_config 
-0103 58004919 setarg mem_usb_buff_new 
-0104 67f10c02 store 2 ,core_usb_rx_saddr 
-0105 67f10c06 store 2 ,core_usb_rxptr 
-0106 58004999 setarg mem_usb_buff_new_end 
-0107 67f10c04 store 2 ,core_usb_rx_eaddr 
-0108 708c1280 jam 0x80 ,core_usb_hmode 
-0109 708c0100 jam 0 ,core_usb_addr 
-010a 708c22ff jam 0xff ,core_usb_status 
-010b 5800095f setarg mem_usb_clear_mem_end 
-010c d8a0086d arg mem_usb_clear_mem_start ,contw 
-010d 98a67200 isub contw ,loopcnt 
-010e 20207ca1 branch clear_mem 
+0125 708c0000 jam 0x00 ,core_usb_config 
+0126 20002710 nop 10000 
+0127 708c1200 jam 0x0 ,core_usb_hmode 
+0128 6ff10050 fetch 2 ,core_clkoff 
+0129 793ffe0a set0 clock_off_usb ,pdata 
+012a 67f10050 store 2 ,core_clkoff 
+012b 708c1021 jam 0x21 ,core_usb_epmap 
+012c 708c119d jam 0x9d ,core_usb_pupd 
+012d 708c003c jam 0x3c ,core_usb_config 
+012e 58004919 setarg mem_usb_buff_new 
+012f 67f10c02 store 2 ,core_usb_rx_saddr 
+0130 67f10c06 store 2 ,core_usb_rxptr 
+0131 58004999 setarg mem_usb_buff_new_end 
+0132 67f10c04 store 2 ,core_usb_rx_eaddr 
+0133 708c1280 jam 0x80 ,core_usb_hmode 
+0134 708c0100 jam 0 ,core_usb_addr 
+0135 708c22ff jam 0xff ,core_usb_status 
+0136 5800095f setarg mem_usb_clear_mem_end 
+0137 d8a0086d arg mem_usb_clear_mem_start ,contw 
+0138 98a67200 isub contw ,loopcnt 
+0139 20207ca1 branch clear_mem 
 
 p_usb_rx_data:
-010f 78547c00 disable user 
-0110 6ff08c25 fetch 1 ,core_usb_txbusy 
-0111 c2837dba bbit1 usb_status_rxfull ,enable_user 
-0112 18a22200 copy contw ,rega 
-0113 20407989 call usb_rx_len 
-0114 1a220a00 copy rega ,contw 
-0115 20207994 branch usb_rx_read 
+013a 78547c00 disable user 
+013b 6ff08c25 fetch 1 ,core_usb_txbusy 
+013c c2837dba bbit1 usb_status_rxfull ,enable_user 
+013d 18a22200 copy contw ,rega 
+013e 20407989 call usb_rx_len 
+013f 1a220a00 copy rega ,contw 
+0140 20207994 branch usb_rx_read 
 
 p_usb_rx_data_out:
-0116 6fe0870c fetch 1 ,mem_usb_read_len 
-0117 1fe67c02 sub pdata ,2 ,null 
-0118 2021012f branch p_dongle_hci_event_invalid_packet ,positive 
-0119 6fe0886e fetch 1 ,mem_usb_setup + 1 
-011a c080812f bne 0x01 ,p_dongle_hci_event_invalid_packet 
-011b efe08006 ifetch 1 ,contr 
-011c 67e0c894 store 1 ,mem_dongle_usb_opcode 
-011d e8408006 ifetcht 1 ,contr 
-011e 18c22200 copy contr ,rega 
-011f 6048c895 storet 1 ,mem_dongle_usb_len 
-0120 18408403 add temp ,3 ,temp 
-0121 6fe1070c fetch 2 ,mem_usb_read_len 
-0122 98460400 isub temp ,temp 
-0123 2421012f nbranch p_dongle_hci_event_invalid_packet ,positive 
-0124 20200125 branch p_dongle_usb_hci_cmd_control 
+0141 6fe0870c fetch 1 ,mem_usb_read_len 
+0142 1fe67c02 sub pdata ,2 ,null 
+0143 2021015a branch p_dongle_hci_event_invalid_packet ,positive 
+0144 6fe0886e fetch 1 ,mem_usb_setup + 1 
+0145 c080815a bne 0x01 ,p_dongle_hci_event_invalid_packet 
+0146 efe08006 ifetch 1 ,contr 
+0147 67e0c894 store 1 ,mem_dongle_usb_opcode 
+0148 e8408006 ifetcht 1 ,contr 
+0149 18c22200 copy contr ,rega 
+014a 6048c895 storet 1 ,mem_dongle_usb_len 
+014b 18408403 add temp ,3 ,temp 
+014c 6fe1070c fetch 2 ,mem_usb_read_len 
+014d 98460400 isub temp ,temp 
+014e 2421015a nbranch p_dongle_hci_event_invalid_packet ,positive 
+014f 20200150 branch p_dongle_usb_hci_cmd_control 
 
 p_dongle_usb_hci_cmd_control:
-0125 6fe0c894 fetch 1 ,mem_dongle_usb_opcode 
-0126 c0000129 beq hci_cmd_get_device_info ,p_dongle_usb_hci_cmd_get_deivce_info 
-0127 c001812c beq hci_cmd_voice_contral ,p_dongle_usb_hci_cmd_voice_control 
-0128 2020012f branch p_dongle_hci_event_invalid_packet 
+0150 6fe0c894 fetch 1 ,mem_dongle_usb_opcode 
+0151 c0000154 beq hci_cmd_get_device_info ,p_dongle_usb_hci_cmd_get_deivce_info 
+0152 c0018157 beq hci_cmd_voice_contral ,p_dongle_usb_hci_cmd_voice_control 
+0153 2020015a branch p_dongle_hci_event_invalid_packet 
 
 p_dongle_usb_hci_cmd_get_deivce_info:
-0129 704896a2 jam report_id_data_out ,mem_dongle_usb_ep2_data_flag 
-012a 20400169 call p_usb_get_report_disable 
-012b 2020014a branch p_dongle_usb_ack_prep 
+0154 704896a2 jam report_id_data_out ,mem_dongle_usb_ep2_data_flag 
+0155 20400194 call p_usb_get_report_disable 
+0156 20200175 branch p_dongle_usb_ack_prep 
 
 p_dongle_usb_hci_cmd_voice_control:
-012c 704896a2 jam report_id_data_out ,mem_dongle_usb_ep2_data_flag 
-012d 2040014a call p_dongle_usb_ack_prep 
-012e 20200169 branch p_usb_get_report_disable 
+0157 704896a2 jam report_id_data_out ,mem_dongle_usb_ep2_data_flag 
+0158 20400175 call p_dongle_usb_ack_prep 
+0159 20200194 branch p_usb_get_report_disable 
 
 p_dongle_hci_event_invalid_packet:
-012f 70486106 jam 0x06 ,mem_usb_device_info_data 
-0130 704862a3 jam 0xA3 ,mem_usb_device_info_data + 1 
-0131 d8400001 arg 1 ,temp 
+015a 70486106 jam 0x06 ,mem_usb_device_info_data 
+015b 704862a3 jam 0xA3 ,mem_usb_device_info_data + 1 
+015c d8400001 arg 1 ,temp 
 
 p_dongle_hci_event_ack_packet:
-0132 da200000 arg 0 ,rega 
-0133 6fe0c894 fetch 1 ,mem_dongle_usb_opcode 
-0134 1fe22600 copy pdata ,regc 
+015d da200000 arg 0 ,rega 
+015e 6fe0c894 fetch 1 ,mem_dongle_usb_opcode 
+015f 1fe22600 copy pdata ,regc 
 
 p_dongle_hci_event_packet:
-0135 70489406 jam hci_event_cmd_res ,mem_dongle_usb_opcode 
-0136 58000002 setarg 2 
-0137 9a20fe00 iadd rega ,pdata 
-0138 70489302 jam 0x02 ,mem_dongle_usb_header 
-0139 67e0c895 store 1 ,mem_dongle_usb_len 
-013a 604c0678 storet 8 ,mem_temp 
-013b 684c0678 fetcht 8 ,mem_temp 
-013c d8a008b6 arg mem_usb0_get_report_data + 1 ,contw 
-013d 6fe1c893 fetch 3 ,mem_dongle_usb_header 
-013e e7e18005 istore 3 ,contw 
-013f 1a627e00 copy regc ,pdata 
-0140 e7e08005 istore 1 ,contw 
-0141 e0408005 istoret 1 ,contw 
-0142 1a227200 copy rega ,loopcnt 
-0143 1a420c00 copy regb ,contr 
-0144 20407cda call memcpy 
-0145 6fe0c896 fetch 1 ,mem_dongle_usb_ep2_data_flag 
-0146 67e088b5 store 1 ,mem_usb0_get_report_data 
-0147 20200167 branch p_usb_get_report_enable 
+0160 70489406 jam hci_event_cmd_res ,mem_dongle_usb_opcode 
+0161 58000002 setarg 2 
+0162 9a20fe00 iadd rega ,pdata 
+0163 70489302 jam 0x02 ,mem_dongle_usb_header 
+0164 67e0c895 store 1 ,mem_dongle_usb_len 
+0165 604c0678 storet 8 ,mem_temp 
+0166 684c0678 fetcht 8 ,mem_temp 
+0167 d8a008b6 arg mem_usb0_get_report_data + 1 ,contw 
+0168 6fe1c893 fetch 3 ,mem_dongle_usb_header 
+0169 e7e18005 istore 3 ,contw 
+016a 1a627e00 copy regc ,pdata 
+016b e7e08005 istore 1 ,contw 
+016c e0408005 istoret 1 ,contw 
+016d 1a227200 copy rega ,loopcnt 
+016e 1a420c00 copy regb ,contr 
+016f 20407cda call memcpy 
+0170 6fe0c896 fetch 1 ,mem_dongle_usb_ep2_data_flag 
+0171 67e088b5 store 1 ,mem_usb0_get_report_data 
+0172 20200192 branch p_usb_get_report_enable 
 
 p_usb_rx_data_authca_out:
-0148 704896a4 jam report_id_authca_data_out ,mem_dongle_usb_ep2_data_flag 
-0149 2020014a branch p_dongle_usb_ack_prep 
+0173 704896a4 jam report_id_authca_data_out ,mem_dongle_usb_ep2_data_flag 
+0174 20200175 branch p_dongle_usb_ack_prep 
 
 p_dongle_usb_ack_prep:
-014a 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
-014b 704a44a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
-014c 6f208876 fetchr loopcnt ,1 ,mem_usb0_set_report_data + 1 
-014d 1f20f202 increase 2 ,loopcnt 
-014e 6720c897 storer loopcnt ,1 ,mem_dongle_usb_ep2_data_len 
-014f d8c00875 arg mem_usb0_set_report_data ,contr 
-0150 d8a04898 arg mem_dongle_g24_usb_ep2_ack_data ,contw 
-0151 20207cda branch memcpy 
+0175 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
+0176 704a44a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
+0177 6f208876 fetchr loopcnt ,1 ,mem_usb0_set_report_data + 1 
+0178 1f20f202 increase 2 ,loopcnt 
+0179 6720c897 storer loopcnt ,1 ,mem_dongle_usb_ep2_data_len 
+017a d8c00875 arg mem_usb0_set_report_data ,contr 
+017b d8a04898 arg mem_dongle_g24_usb_ep2_ack_data ,contw 
+017c 20207cda branch memcpy 
 
 p_usb_rx:
-0152 6fe08709 fetch 1 ,mem_usb_status 
-0153 c4028000 rtnbit0 usb_status_rxready 
-0154 20407989 call usb_rx_len 
-0155 6048c697 storet 1 ,mem_usb_rx_endpoint 
-0156 2841fe0d compare 13 ,temp ,0xff 
-0157 2020f999 branch usb_rx_ep13 ,true 
-0158 6fe0c696 fetch 1 ,mem_setreport_count 
-0159 c000816b beq 1 ,p_setreport_next_page_data 
-015a d8a0086d arg mem_usb_setup ,contw 
-015b 20407994 call usb_rx_read 
-015c 2020015d branch p_usb_rx_next 
+017d 6fe08709 fetch 1 ,mem_usb_status 
+017e c4028000 rtnbit0 usb_status_rxready 
+017f 20407989 call usb_rx_len 
+0180 6048c697 storet 1 ,mem_usb_rx_endpoint 
+0181 2841fe0d compare 13 ,temp ,0xff 
+0182 2020f999 branch usb_rx_ep13 ,true 
+0183 6fe0c696 fetch 1 ,mem_setreport_count 
+0184 c0008196 beq 1 ,p_setreport_next_page_data 
+0185 d8a0086d arg mem_usb_setup ,contw 
+0186 20407994 call usb_rx_read 
+0187 20200188 branch p_usb_rx_next 
 
 p_usb_rx_next:
-015d 6fe0870c fetch 1 ,mem_usb_read_len 
-015e c0007986 beq 0x00 ,usb_rx_no_data 
-015f c000f9b6 beq 0x01 ,usb_out_one_byte 
-0160 1fe67c07 sub pdata ,7 ,null 
-0161 20610000 rtn positive 
-0162 2020017b branch p_usb_class_type 
+0188 6fe0870c fetch 1 ,mem_usb_read_len 
+0189 c0007986 beq 0x00 ,usb_rx_no_data 
+018a c000f9b6 beq 0x01 ,usb_out_one_byte 
+018b 1fe67c07 sub pdata ,7 ,null 
+018c 20610000 rtn positive 
+018d 202001a6 branch p_usb_class_type 
 
 p_dongle_usb_data_received_analysis:
-0163 6fe08875 fetch 1 ,mem_usb0_set_report_data 
-0164 c0510116 beq report_id_data_out ,p_usb_rx_data_out 
-0165 c0520148 beq report_id_authca_data_out ,p_usb_rx_data_authca_out 
-0166 20600000 rtn 
+018e 6fe08875 fetch 1 ,mem_usb0_set_report_data 
+018f c0510141 beq report_id_data_out ,p_usb_rx_data_out 
+0190 c0520173 beq report_id_authca_data_out ,p_usb_rx_data_authca_out 
+0191 20600000 rtn 
 
 p_usb_get_report_enable:
-0167 7008f801 jam 1 ,mem_usb0_data_ready_report 
-0168 20600000 rtn 
+0192 7008f801 jam 1 ,mem_usb0_data_ready_report 
+0193 20600000 rtn 
 
 p_usb_get_report_disable:
-0169 7008f800 jam 0 ,mem_usb0_data_ready_report 
-016a 20600000 rtn 
+0194 7008f800 jam 0 ,mem_usb0_data_ready_report 
+0195 20600000 rtn 
 
 p_setreport_next_page_data:
-016b d8a00875 arg mem_usb0_set_report_data ,contw 
-016c 20407994 call usb_rx_read 
-016d 70469600 jam 0 ,mem_setreport_count 
-016e 6fe0870c fetch 1 ,mem_usb_read_len 
-016f c0008175 beq 0x01 ,p_usb_out_one_byte 
-0170 7008f701 jam 1 ,mem_usb0_get_set_report 
-0171 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
-0172 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
-0173 708c1b03 jam 0x03 ,core_usb_clear_nak 
-0174 20600000 rtn 
+0196 d8a00875 arg mem_usb0_set_report_data ,contw 
+0197 20407994 call usb_rx_read 
+0198 70469600 jam 0 ,mem_setreport_count 
+0199 6fe0870c fetch 1 ,mem_usb_read_len 
+019a c00081a0 beq 0x01 ,p_usb_out_one_byte 
+019b 7008f701 jam 1 ,mem_usb0_get_set_report 
+019c 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
+019d 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
+019e 708c1b03 jam 0x03 ,core_usb_clear_nak 
+019f 20600000 rtn 
 
 p_usb_out_one_byte:
-0175 6fe0886d fetch 1 ,mem_usb_setup 
-0176 c3838000 rtnbit1 7 
-0177 6fe08875 fetch 1 ,mem_usb0_set_report_data 
-0178 20407b6a call usb_get_led_status 
-0179 708c1b01 jam 0x1 ,core_usb_clear_nak 
-017a 20600000 rtn 
+01a0 6fe0886d fetch 1 ,mem_usb_setup 
+01a1 c3838000 rtnbit1 7 
+01a2 6fe08875 fetch 1 ,mem_usb0_set_report_data 
+01a3 20407b6a call usb_get_led_status 
+01a4 708c1b01 jam 0x1 ,core_usb_clear_nak 
+01a5 20600000 rtn 
 
 p_usb_class_type:
-017b 793f8023 set0 mark_isstr ,mark 
-017c 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-017d 1fe17e80 and_into 0x80 ,pdata 
-017e c0400181 beq in_device ,p_usb_in_device 
-017f c000019d beq out_device ,p_usb_out_device 
-0180 2020235a branch assert 
+01a6 793f8023 set0 mark_isstr ,mark 
+01a7 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+01a8 1fe17e80 and_into 0x80 ,pdata 
+01a9 c04001ac beq in_device ,p_usb_in_device 
+01aa c00001c8 beq out_device ,p_usb_out_device 
+01ab 2020235a branch assert 
 
 p_usb_in_device:
-0181 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-0182 1ff1fe00 rshift4 pdata ,pdata 
-0183 1fe37e00 rshift pdata ,pdata 
-0184 1fe17e03 and_into 0x03 ,pdata 
-0185 c00079ca beq standard_req ,usb_in_standard_req 
-0186 c0008189 beq class_req ,p_usb_in_class_req 
-0187 c00179d5 beq manufacturer_req ,usb_in_manufacturer_req 
-0188 2020235a branch assert 
+01ac 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+01ad 1ff1fe00 rshift4 pdata ,pdata 
+01ae 1fe37e00 rshift pdata ,pdata 
+01af 1fe17e03 and_into 0x03 ,pdata 
+01b0 c00079ca beq standard_req ,usb_in_standard_req 
+01b1 c00081b4 beq class_req ,p_usb_in_class_req 
+01b2 c00179d5 beq manufacturer_req ,usb_in_manufacturer_req 
+01b3 2020235a branch assert 
 
 p_usb_in_class_req:
-0189 6fe0886e fetch 1 ,mem_usb_setup_brequest 
-018a c0017a8d beq get_idle ,usb_get_idle 
-018b c000818e beq get_report ,p_usb_get_report 
-018c c001faa2 beq get_protocol ,usb_get_protocol_req 
-018d 202079e4 branch usb0_force_stall 
+01b4 6fe0886e fetch 1 ,mem_usb_setup_brequest 
+01b5 c0017a8d beq get_idle ,usb_get_idle 
+01b6 c00081b9 beq get_report ,p_usb_get_report 
+01b7 c001faa2 beq get_protocol ,usb_get_protocol_req 
+01b8 202079e4 branch usb0_force_stall 
 
 p_usb_get_report:
-018e 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
-018f d84002a3 arg pc_get_report_new ,temp 
-0190 98467c00 isub temp ,null 
-0191 20228197 branch p_usb_get_report_dispose ,zero 
-0192 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
-0193 d84002a1 arg pc_get_report_new2 ,temp 
-0194 98467c00 isub temp ,null 
-0195 20228197 branch p_usb_get_report_dispose ,zero 
-0196 202079e4 branch usb0_force_stall 
+01b9 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
+01ba d84002a3 arg pc_get_report_new ,temp 
+01bb 98467c00 isub temp ,null 
+01bc 202281c2 branch p_usb_get_report_dispose ,zero 
+01bd 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
+01be d84002a1 arg pc_get_report_new2 ,temp 
+01bf 98467c00 isub temp ,null 
+01c0 202281c2 branch p_usb_get_report_dispose ,zero 
+01c1 202079e4 branch usb0_force_stall 
 
 p_usb_get_report_dispose:
-0197 6fe088f8 fetch 1 ,mem_usb0_data_ready_report 
-0198 243a019b nbranch p_usb_get_report_data_success ,blank 
-0199 7008b500 jam pc_get_nondata ,mem_usb0_get_report_data 
-019a 20207a98 branch usb_get_report_send_data 
+01c2 6fe088f8 fetch 1 ,mem_usb0_data_ready_report 
+01c3 243a01c6 nbranch p_usb_get_report_data_success ,blank 
+01c4 7008b500 jam pc_get_nondata ,mem_usb0_get_report_data 
+01c5 20207a98 branch usb_get_report_send_data 
 
 p_usb_get_report_data_success:
-019b 7008f800 jam 0 ,mem_usb0_data_ready_report 
-019c 20207a98 branch usb_get_report_send_data 
+01c6 7008f800 jam 0 ,mem_usb0_data_ready_report 
+01c7 20207a98 branch usb_get_report_send_data 
 
 p_usb_out_device:
-019d 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-019e 1ff1fe00 rshift4 pdata ,pdata 
-019f 1fe37e00 rshift pdata ,pdata 
-01a0 1fe17e03 and_into 0x03 ,pdata 
-01a1 c00079d6 beq standard_req ,usb_out_standard_req 
-01a2 c00081af beq class_req ,p_usb_out_class_req 
-01a3 c00179e3 beq manufacturer_req ,usb_out_manufacturer_req 
-01a4 2020235a branch assert 
+01c8 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+01c9 1ff1fe00 rshift4 pdata ,pdata 
+01ca 1fe37e00 rshift pdata ,pdata 
+01cb 1fe17e03 and_into 0x03 ,pdata 
+01cc c00079d6 beq standard_req ,usb_out_standard_req 
+01cd c00081da beq class_req ,p_usb_out_class_req 
+01ce c00179e3 beq manufacturer_req ,usb_out_manufacturer_req 
+01cf 2020235a branch assert 
 
 p_usb0_request_get_descriptor:
-01a5 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
-01a6 c000fa14 beq dsc_device ,dsc_device_info 
-01a7 c00101ac beq dsc_config ,p_dsc_config_info 
-01a8 c001fa30 beq dsc_string ,dsc_string_info 
-01a9 c010fa09 beq dsc_hid ,dsc_hid_info 
-01aa c0117a3e beq dsc_hid_report ,dsc_hid_report_info 
-01ab 202079e4 branch usb0_force_stall 
+01d0 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+01d1 c000fa14 beq dsc_device ,dsc_device_info 
+01d2 c00101d7 beq dsc_config ,p_dsc_config_info 
+01d3 c001fa30 beq dsc_string ,dsc_string_info 
+01d4 c010fa09 beq dsc_hid ,dsc_hid_info 
+01d5 c0117a3e beq dsc_hid_report ,dsc_hid_report_info 
+01d6 202079e4 branch usb0_force_stall 
 
 p_dsc_config_info:
-01ac 58004698 setarg mem_config_new 
-01ad 6848c698 fetcht 1 ,mem_config_new 
-01ae 20207a18 branch dsc_info_set_data_len 
+01d7 58004698 setarg mem_config_new 
+01d8 6848c698 fetcht 1 ,mem_config_new 
+01d9 20207a18 branch dsc_info_set_data_len 
 
 p_usb_out_class_req:
-01af 6fe0886e fetch 1 ,mem_usb_setup_brequest 
-01b0 c0057b4b beq set_idle ,usb_set_idle 
-01b1 c00481b4 beq set_report ,p_usb_set_report 
-01b2 c005fb7c beq set_protocol ,usb_set_protocol_req 
-01b3 202079e4 branch usb0_force_stall 
+01da 6fe0886e fetch 1 ,mem_usb_setup_brequest 
+01db c0057b4b beq set_idle ,usb_set_idle 
+01dc c00481df beq set_report ,p_usb_set_report 
+01dd c005fb7c beq set_protocol ,usb_set_protocol_req 
+01de 202079e4 branch usb0_force_stall 
 
 p_usb_set_report:
-01b4 20003a98 nop 15000 
-01b5 d8a00875 arg mem_usb0_set_report_data ,contw 
-01b6 2040010f call p_usb_rx_data 
-01b7 203401be branch p_usb_set_report_delay ,user 
-01b8 7008f701 jam 1 ,mem_usb0_get_set_report 
-01b9 20407b6e call usb_set_report_resume_judge 
-01ba 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
-01bb 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
-01bc 708c1b03 jam 0x3 ,core_usb_clear_nak 
-01bd 20207b65 branch usb_set_report_next 
+01df 20003a98 nop 15000 
+01e0 d8a00875 arg mem_usb0_set_report_data ,contw 
+01e1 2040013a call p_usb_rx_data 
+01e2 203401e9 branch p_usb_set_report_delay ,user 
+01e3 7008f701 jam 1 ,mem_usb0_get_set_report 
+01e4 20407b6e call usb_set_report_resume_judge 
+01e5 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
+01e6 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
+01e7 708c1b03 jam 0x3 ,core_usb_clear_nak 
+01e8 20207b65 branch usb_set_report_next 
 
 p_usb_set_report_delay:
-01be 6fe0c696 fetch 1 ,mem_setreport_count 
-01bf 1fe0fe01 pincrease 1 
-01c0 67e0c696 store 1 ,mem_setreport_count 
-01c1 708c1b02 jam 0x2 ,core_usb_clear_nak 
-01c2 20600000 rtn 
+01e9 6fe0c696 fetch 1 ,mem_setreport_count 
+01ea 1fe0fe01 pincrease 1 
+01eb 67e0c696 store 1 ,mem_setreport_count 
+01ec 708c1b02 jam 0x2 ,core_usb_clear_nak 
+01ed 20600000 rtn 
 
 p_usb_tx:
-01c3 6fe0890d fetch 1 ,mem_usb_tx_enable 
-01c4 207a0000 rtn blank 
-01c5 6ff08c25 fetch 1 ,core_usb_txbusy 
-01c6 1fe17e0f and_into 0x0f ,pdata 
-01c7 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
-01c8 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-01c9 203a7c06 branch usb_tx_fifo_release ,blank 
-01ca 6fe08900 fetch 1 ,mem_usb_state 
-01cb c001fc40 beq usb_sleep ,usb_windows_wakeup 
-01cc c0817c06 bne usb_connected ,usb_tx_fifo_release 
-01cd 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
-01ce 243a7c06 nbranch usb_tx_fifo_release ,blank 
-01cf 20400249 call p_usb_tx_data_ep1 
-01d0 2020024d branch p_usb_tx_data_ep2 
+01ee 6fe0890d fetch 1 ,mem_usb_tx_enable 
+01ef 207a0000 rtn blank 
+01f0 6ff08c25 fetch 1 ,core_usb_txbusy 
+01f1 1fe17e0f and_into 0x0f ,pdata 
+01f2 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
+01f3 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+01f4 203a7c06 branch usb_tx_fifo_release ,blank 
+01f5 6fe08900 fetch 1 ,mem_usb_state 
+01f6 c001fc40 beq usb_sleep ,usb_windows_wakeup 
+01f7 c0817c06 bne usb_connected ,usb_tx_fifo_release 
+01f8 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
+01f9 243a7c06 nbranch usb_tx_fifo_release ,blank 
+01fa 204002a3 call p_usb_tx_data_ep1 
+01fb 202002a7 branch p_usb_tx_data_ep2 
 
 p_g24_receive_packet_start1:
-01d1 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-01d2 c000b3c4 beq datatype_device1 ,g24_data_device1 
-01d3 c00133d3 beq datatype_device2 ,g24_data_device2 
-01d4 c07fb3c2 beq datatype_attemp ,g24_data_receive_attemp 
-01d5 c28381d9 bbit1 datatype_audio ,p_g24_data_receive_heart_authca_audio 
-01d6 c28301d9 bbit1 datatype_authca ,p_g24_data_receive_heart_authca_audio 
-01d7 c28281d9 bbit1 datatype_heart ,p_g24_data_receive_heart_authca_audio 
-01d8 202033be branch g24_rx_interrupt_clear 
+01fc 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+01fd c000820b beq datatype_device1 ,p_g24_data_device1 
+01fe c0010224 beq datatype_device2 ,p_g24_data_device2 
+01ff c07f8209 beq datatype_attemp ,p_g24_data_receive_attemp 
+0200 c2838204 bbit1 datatype_audio ,p_g24_data_receive_heart_authca_audio 
+0201 c2830204 bbit1 datatype_authca ,p_g24_data_receive_heart_authca_audio 
+0202 c2828204 bbit1 datatype_heart ,p_g24_data_receive_heart_authca_audio 
+0203 202033be branch g24_rx_interrupt_clear 
 
 p_g24_data_receive_heart_authca_audio:
-01d9 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-01da 1fe17e0f and pdata ,0x0f ,pdata 
-01db c000b3c4 beq datatype_device1 ,g24_data_device1 
-01dc c00133d3 beq datatype_device2 ,g24_data_device2 
-01dd 202033be branch g24_rx_interrupt_clear 
+0204 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+0205 1fe17e0f and pdata ,0x0f ,pdata 
+0206 c000b3c4 beq datatype_device1 ,g24_data_device1 
+0207 c00133d3 beq datatype_device2 ,g24_data_device2 
+0208 202033be branch g24_rx_interrupt_clear 
+
+p_g24_data_receive_attemp:
+0209 204003f2 call p_g24_bind_device_status 
+020a 20200347 branch p_g24_data_attemp 
+
+p_g24_data_device1:
+020b 2040338d call g24_binding_dvc1_living 
+020c 2040352e call g24_ch_timer_reinit 
+020d 6fe0c60a fetch 1 ,mem_24g_abort_packet 
+020e 6848ca45 fetcht 1 ,mem_24g_rxdata_temp_new 
+020f 284ffe03 isolate1 bit_abort ,temp 
+0210 7920fe00 setflag true ,0 ,pdata 
+0211 67e0c60a store 1 ,mem_24g_abort_packet 
+0212 c000821a beq 1 ,p_g24_data_attemp_device1_abort 
+0213 6fe0c612 fetch 1 ,mem_24g_hop_packet 
+0214 6848ca45 fetcht 1 ,mem_24g_rxdata_temp_new 
+0215 284ffe04 isolate1 bit_hop ,temp 
+0216 7920fe00 setflag true ,0 ,pdata 
+0217 67e0c612 store 1 ,mem_24g_hop_packet 
+0218 6fe145e4 fetch 2 ,mem_cb_24g_data_device1 
+0219 20207d79 branch callback_func 
+
+p_g24_data_attemp_device1_abort:
+021a 6fe0c3cb fetch 1 ,mem_device_option 
+021b 1fe67c0e sub pdata ,dvc_op_car ,null 
+021c 2042c469 call car_stop_blink ,zero 
+021d 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+021e 247a0000 nrtn blank 
+021f 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+0220 6fe24a4f fetch 4 ,mem_24g_rxdata_temp_new + 10 
+0221 202035a3 branch g24_store_device1_addr 
+
+p_g24_data_attemp_device2_abort:
+0222 6fe24a4f fetch 4 ,mem_24g_rxdata_temp_new + 10 
+0223 202035a9 branch g24_store_device2_addr 
+
+p_g24_data_device2:
+0224 20403393 call g24_binding_dvc2_living 
+0225 6848ca45 fetcht 1 ,mem_24g_rxdata_temp_new 
+0226 284ffe03 isolate1 bit_abort ,temp 
+0227 20208222 branch p_g24_data_attemp_device2_abort ,true 
+0228 6fe145e6 fetch 2 ,mem_cb_24g_data_device2 
+0229 20207d79 branch callback_func 
 
 p_dongle_g24_mouse:
-01de 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-01df c28381ef bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
-01e0 c2830205 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
-01e1 c28281e3 bbit1 datatype_heart ,p_dongle_g24_mouse_heart_data 
-01e2 202048d4 branch dongle_g24_mouse 
+022a 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+022b c2838238 bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
+022c c283024e bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
+022d c2828238 bbit1 datatype_heart ,p_dongle_g24_mouse_heart_data 
+022e 2020022f branch p_dongle_g24_mouse_next 
+
+p_dongle_g24_mouse_next:
+022f 58000001 setarg ms_report_id 
+0230 67e08913 store 1 ,mem_usb_mouse_data 
+0231 6fe3ca48 fetch 7 ,mem_24g_rxdata_temp_new + 3 
+0232 e7e38005 istore 7 ,contw 
+0233 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0234 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
+0235 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0236 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
+0237 20204836 branch dongle_usb_tx_ms_data 
 
 p_dongle_g24_mouse_heart_data:
-01e3 6fe0c896 fetch 1 ,mem_dongle_usb_ep2_data_flag 
-01e4 207a0000 rtn blank 
-01e5 70489600 jam 0 ,mem_dongle_usb_ep2_data_flag 
-01e6 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
-01e7 704a44a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
-01e8 6fe0c899 fetch 1 ,mem_dongle_g24_usb_ep2_ack_data + 1 
-01e9 1fe0fe02 increase 2 ,pdata 
-01ea 67e0c897 store 1 ,mem_dongle_usb_ep2_data_len 
-01eb 1fe27200 copy pdata ,loopcnt 
-01ec d8c04898 arg mem_dongle_g24_usb_ep2_ack_data ,contr 
-01ed d8a04519 arg mem_24g_txbuf ,contw 
-01ee 20207cda branch memcpy 
 
 p_dongle_g24_mouse_audio_data:
-01ef 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-01f0 1fe0ffff increase -1 ,pdata 
-01f1 d8a047a4 arg mem_usb_audio_data + 3 ,contw 
-01f2 d8c045eb arg mem_24g_rxdata_temp + 3 ,contr 
-01f3 20407cda call memcpy 
-01f4 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-01f5 1fe0ffff increase -1 ,pdata 
-01f6 d8a047e1 arg mem_usb_audio_data_sta ,contw 
-01f7 d8c047a4 arg mem_usb_audio_data + 3 ,contr 
-01f8 20407cda call memcpy 
-01f9 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-01fa 1fe0ffff increase -1 ,pdata 
-01fb da4047e1 arg mem_usb_audio_data_sta ,regb 
-01fc da204821 arg mem_usb_audio_data_last ,rega 
-01fd 20407d64 call compare_loop 
-01fe 2442821b ncall p_dongle_usb_tx_audio_data ,zero 
-01ff 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0200 1fe0ffff increase -1 ,pdata 
-0201 d8c047e1 arg mem_usb_audio_data_sta ,contr 
-0202 d8a04821 arg mem_usb_audio_data_last ,contw 
-0203 20407cda call memcpy 
-0204 202033be branch g24_rx_interrupt_clear 
+0238 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0239 1fe0ffff increase -1 ,pdata 
+023a d8a047a4 arg mem_usb_audio_data + 3 ,contw 
+023b d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
+023c 20407cda call memcpy 
+023d 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+023e 1fe0ffff increase -1 ,pdata 
+023f d8a047e1 arg mem_usb_audio_data_sta ,contw 
+0240 d8c047a4 arg mem_usb_audio_data + 3 ,contr 
+0241 20407cda call memcpy 
+0242 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0243 1fe0ffff increase -1 ,pdata 
+0244 da4047e1 arg mem_usb_audio_data_sta ,regb 
+0245 da204821 arg mem_usb_audio_data_last ,rega 
+0246 20407d64 call compare_loop 
+0247 24428264 ncall p_dongle_usb_tx_audio_data ,zero 
+0248 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0249 1fe0ffff increase -1 ,pdata 
+024a d8c047e1 arg mem_usb_audio_data_sta ,contr 
+024b d8a04821 arg mem_usb_audio_data_last ,contw 
+024c 20407cda call memcpy 
+024d 202033be branch g24_rx_interrupt_clear 
 
 p_dongle_g24_mouse_authca_data:
-0205 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0206 1f20f3ff increase -1 ,loopcnt 
-0207 d8a046e0 arg mem_usb_authca_data + 2 ,contw 
-0208 d8c045eb arg mem_24g_rxdata_temp + 3 ,contr 
-0209 20407cda call memcpy 
-020a 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-020b 1fe0ffff increase -1 ,pdata 
-020c d8a0471f arg mem_usb_authca_data_sta ,contw 
-020d d8c046e0 arg mem_usb_authca_data + 2 ,contr 
-020e 20407cda call memcpy 
-020f 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0210 1fe0ffff increase -1 ,pdata 
-0211 da40471f arg mem_usb_authca_data_sta ,regb 
-0212 da204760 arg mem_usb_authca_data_last ,rega 
-0213 20407d64 call compare_loop 
-0214 24428224 ncall p_dongle_usb_tx_authca_data ,zero 
-0215 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0216 1fe0ffff increase -1 ,pdata 
-0217 d8c0471f arg mem_usb_authca_data_sta ,contr 
-0218 d8a04760 arg mem_usb_authca_data_last ,contw 
-0219 20407cda call memcpy 
-021a 202033be branch g24_rx_interrupt_clear 
+024e 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+024f 1f20f3ff increase -1 ,loopcnt 
+0250 d8a046e0 arg mem_usb_authca_data + 2 ,contw 
+0251 d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
+0252 20407cda call memcpy 
+0253 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0254 1fe0ffff increase -1 ,pdata 
+0255 d8a0471f arg mem_usb_authca_data_sta ,contw 
+0256 d8c046e0 arg mem_usb_authca_data + 2 ,contr 
+0257 20407cda call memcpy 
+0258 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0259 1fe0ffff increase -1 ,pdata 
+025a da40471f arg mem_usb_authca_data_sta ,regb 
+025b da204760 arg mem_usb_authca_data_last ,rega 
+025c 20407d64 call compare_loop 
+025d 2442826d ncall p_dongle_usb_tx_authca_data ,zero 
+025e 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+025f 1fe0ffff increase -1 ,pdata 
+0260 d8c0471f arg mem_usb_authca_data_sta ,contr 
+0261 d8a04760 arg mem_usb_authca_data_last ,contw 
+0262 20407cda call memcpy 
+0263 202033be branch g24_rx_interrupt_clear 
 
 p_dongle_usb_tx_audio_data:
-021b 7047a2a0 jam report_id_audio_data_in ,mem_usb_audio_data + 1 
-021c 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-021d 1fe0ffff increase -1 ,pdata 
-021e 67e0c7a1 store 1 ,mem_usb_audio_data 
-021f 1fe27200 copy pdata ,loopcnt 
-0220 d8c047a2 arg mem_usb_audio_data + 1 ,contr 
-0221 d8a008b5 arg mem_usb0_get_report_data ,contw 
-0222 20407cda call memcpy 
-0223 20200167 branch p_usb_get_report_enable 
+0264 7047a2a0 jam report_id_audio_data_in ,mem_usb_audio_data + 1 
+0265 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0266 1fe0ffff increase -1 ,pdata 
+0267 67e0c7a1 store 1 ,mem_usb_audio_data 
+0268 1fe27200 copy pdata ,loopcnt 
+0269 d8c047a2 arg mem_usb_audio_data + 1 ,contr 
+026a d8a008b5 arg mem_usb0_get_report_data ,contw 
+026b 20407cda call memcpy 
+026c 20200192 branch p_usb_get_report_enable 
 
 p_dongle_usb_tx_authca_data:
-0224 58000040 setarg 0x40 
-0225 67e0c6de store 1 ,mem_usb_authca_data 
-0226 7046dfa3 jam report_id_authca_data_in ,mem_usb_authca_data + 1 
-0227 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0228 1fe0ffff increase -1 ,pdata 
-0229 67e0c6e0 store 1 ,mem_usb_authca_data + 2 
-022a 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-022b 1fe0ffff increase -1 ,pdata 
-022c d8a046e1 arg mem_usb_authca_data + 3 ,contw 
-022d d8c0471f arg mem_usb_authca_data_sta ,contr 
-022e 20407cda call memcpy 
-022f 70090c26 jam usb_ep2_authca ,mem_usb_ep2_data 
-0230 20204837 branch dongle_usb_tx_enable_ep2 
+026d 58000040 setarg 0x40 
+026e 67e0c6de store 1 ,mem_usb_authca_data 
+026f 7046dfa3 jam report_id_authca_data_in ,mem_usb_authca_data + 1 
+0270 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0271 1fe0ffff increase -1 ,pdata 
+0272 67e0c6e0 store 1 ,mem_usb_authca_data + 2 
+0273 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0274 1fe0ffff increase -1 ,pdata 
+0275 d8a046e1 arg mem_usb_authca_data + 3 ,contw 
+0276 d8c0471f arg mem_usb_authca_data_sta ,contr 
+0277 20407cda call memcpy 
+0278 70090c26 jam usb_ep2_authca ,mem_usb_ep2_data 
+0279 20204837 branch dongle_usb_tx_enable_ep2 
 
 p_dongle_g24_keyboard:
-0231 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0232 c28381ef bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
-0233 c2830205 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
-0234 202048e5 branch dongle_g24_kb 
+027a 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+027b c2838238 bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
+027c c283024e bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
+027d 2020027e branch p_dongle_g24_kb 
+
+p_dongle_g24_kb:
+027e 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+027f c0000283 beq 0 ,p_dongle_g24_kb_type0 
+0280 c0010289 beq 2 ,p_dongle_g24_kb_type2 
+0281 c001828c beq 3 ,p_dongle_g24_kb_type3 
+0282 202033be branch g24_rx_interrupt_clear 
+
+p_dongle_g24_kb_type0:
+0283 6fe0ca4a fetch 1 ,mem_24g_rxdata_temp_new + 5 
+0284 67e0c611 store 1 ,mem_24g_ackpayload_enable 
+0285 704a4a00 jam 0 ,mem_24g_rxdata_temp_new + 5 
+0286 d8a00923 arg mem_usb_kb_data ,contw 
+0287 d8c04a49 arg mem_24g_rxdata_temp_new + 4 ,contr 
+0288 202048ef branch dongle_g24_kb_type0 + 5 
+
+p_dongle_g24_kb_type2:
+0289 d8a00943 arg mem_usb_kb_system ,contw 
+028a d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
+028b 2020491f branch dongle_g24_kb_type2 + 2 
+
+p_dongle_g24_kb_type3:
+028c d8a00933 arg mem_usb_kb_multikey ,contw 
+028d d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
+028e 20204907 branch dongle_g24_kb_type3 + 2 
 
 p_dongle_ackpayload_prep:
-0235 6fe0c589 fetch 1 ,mem_24g_data_type 
-0236 c0008239 beq datatype_device1 ,p_dongle_ackpayload_prep_mouse 
-0237 c00148b7 beq datatype_device2 ,dongle_ackpayload_prep_keyboard 
-0238 20200239 branch p_dongle_ackpayload_prep_mouse 
+028f 6fe0c589 fetch 1 ,mem_24g_data_type 
+0290 c0008293 beq datatype_device1 ,p_dongle_ackpayload_prep_mouse 
+0291 c00148b7 beq datatype_device2 ,dongle_ackpayload_prep_keyboard 
+0292 20200293 branch p_dongle_ackpayload_prep_mouse 
 
 p_dongle_ackpayload_prep_mouse:
-0239 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
-023a c28048bd bbit1 0 ,dongle_pc_sleep_ackpayload_prep_mouse 
-023b 2020023c branch p_dongle_ackpayload_prep_end 
+0293 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+0294 c28048bd bbit1 0 ,dongle_pc_sleep_ackpayload_prep_mouse 
+0295 20200296 branch p_dongle_ackpayload_prep_end 
 
 p_dongle_ackpayload_prep_end:
-023c 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
-023d c000c8c8 beq bind_ackpayload ,dongle_g24_bind_ackpayload_prep 
-023e c001c8cc beq kb_led_ackpayload ,dongle_g24_kb_led_ackpayload_prep 
-023f c0510241 beq report_id_data_out ,p_dongle_ep2_ackpayload_prep 
-0240 20600000 rtn 
+0296 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
+0297 c000c8c8 beq bind_ackpayload ,dongle_g24_bind_ackpayload_prep 
+0298 c001c8cc beq kb_led_ackpayload ,dongle_g24_kb_led_ackpayload_prep 
+0299 c051029b beq report_id_data_out ,p_dongle_ep2_ackpayload_prep 
+029a 20600000 rtn 
 
 p_dongle_ep2_ackpayload_prep:
-0241 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
-0242 704a44a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
-0243 6fe0c897 fetch 1 ,mem_dongle_usb_ep2_data_len 
-0244 67e0c588 store 1 ,mem_24g_datalen 
-0245 1fe27200 copy pdata ,loopcnt 
-0246 d8c04898 arg mem_dongle_g24_usb_ep2_ack_data ,contr 
-0247 d8a04519 arg mem_24g_txbuf ,contw 
-0248 20207cda branch memcpy 
+029b 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
+029c 704a44a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
+029d 6fe0c897 fetch 1 ,mem_dongle_usb_ep2_data_len 
+029e 67e0c588 store 1 ,mem_24g_datalen 
+029f 1fe27200 copy pdata ,loopcnt 
+02a0 d8c04898 arg mem_dongle_g24_usb_ep2_ack_data ,contr 
+02a1 d8a04519 arg mem_24g_txbuf ,contw 
+02a2 20207cda branch memcpy 
 
 p_usb_tx_data_ep1:
-0249 6ff08c25 fetch 1 ,core_usb_txbusy 
-024a 1fe17e0f and_into 0x0f ,pdata 
-024b 247a0000 nrtn blank 
-024c 20207bf0 branch usb_tx_data_ep1 + 2 
+02a3 6ff08c25 fetch 1 ,core_usb_txbusy 
+02a4 1fe17e0f and_into 0x0f ,pdata 
+02a5 247a0000 nrtn blank 
+02a6 20207bf0 branch usb_tx_data_ep1 + 2 
 
 p_usb_tx_data_ep2:
-024d 6ff08c25 fetch 1 ,core_usb_txbusy 
-024e 1fe17e0f and_into 0x0f ,pdata 
-024f 247a0000 nrtn blank 
-0250 6fe0890d fetch 1 ,mem_usb_tx_enable 
-0251 c4010000 rtnbit0 2 
-0252 6fe0890d fetch 1 ,mem_usb_tx_enable 
-0253 793ffe02 set0 2 ,pdata 
-0254 67e0890d store 1 ,mem_usb_tx_enable 
-0255 6fe0890c fetch 1 ,mem_usb_ep2_data 
-0256 207a0000 rtn blank 
-0257 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
-0258 c013025c beq usb_ep2_authca ,p_usb_tx_authca_data 
-0259 c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
-025a c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
-025b 2020235a branch assert 
+02a7 6ff08c25 fetch 1 ,core_usb_txbusy 
+02a8 1fe17e0f and_into 0x0f ,pdata 
+02a9 247a0000 nrtn blank 
+02aa 6fe0890d fetch 1 ,mem_usb_tx_enable 
+02ab c4010000 rtnbit0 2 
+02ac 6fe0890d fetch 1 ,mem_usb_tx_enable 
+02ad 793ffe02 set0 2 ,pdata 
+02ae 67e0890d store 1 ,mem_usb_tx_enable 
+02af 6fe0890c fetch 1 ,mem_usb_ep2_data 
+02b0 207a0000 rtn blank 
+02b1 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
+02b2 c01302b6 beq usb_ep2_authca ,p_usb_tx_authca_data 
+02b3 c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
+02b4 c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
+02b5 2020235a branch assert 
 
 p_usb_tx_authca_data:
-025c 70090c00 jam 0 ,mem_usb_ep2_data 
-025d 6f20c6de fetchr loopcnt ,1 ,mem_usb_authca_data 
-025e d8c046df arg mem_usb_authca_data + 1 ,contr 
+02b6 70090c00 jam 0 ,mem_usb_ep2_data 
+02b7 6f20c6de fetchr loopcnt ,1 ,mem_usb_authca_data 
+02b8 d8c046df arg mem_usb_authca_data + 1 ,contr 
 
 p_usb_tx_ep2:
-025f d8e00002 arg 2 ,queue 
-0260 da200759 arg mem_usb_txbuf2 ,rega 
-0261 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-0262 20407bd2 call usb_tx_buf 
-0263 704a4400 jam 0 ,mem_24g_ackpayload_enable_temp 
-0264 20200265 branch p_usb_release_authca_buf 
+02b9 d8e00002 arg 2 ,queue 
+02ba da200759 arg mem_usb_txbuf2 ,rega 
+02bb 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+02bc 20407bd2 call usb_tx_buf 
+02bd 704a4400 jam 0 ,mem_24g_ackpayload_enable_temp 
+02be 202002bf branch p_usb_release_authca_buf 
 
 p_usb_release_authca_buf:
-0265 d8a046de arg mem_usb_authca_data ,contw 
-0266 df200040 arg 64 ,loopcnt 
-0267 20207ca1 branch clear_mem 
+02bf d8a046de arg mem_usb_authca_data ,contw 
+02c0 df200040 arg 64 ,loopcnt 
+02c1 20207ca1 branch clear_mem 
 
 p_rx_dcoc:
-0268 20758000 rtn wake 
-0269 20402160 call set_sync_on 
-026a d8400027 arg 39 ,temp 
-026b 2040216f call set_freq_rx 
-026c 204021a6 call rf_rx_enable 
-026d 708a257f jam 0x7f ,0x8a25 
-026e 708a301a jam 0x1a ,0x8a30 
-026f 708a3178 jam 0x78 ,0x8a31 
-0270 708a8fb2 jam 0xb2 ,0x8a8f 
-0271 708ac200 jam 0 ,0x8ac2 
-0272 708ac300 jam 0 ,0x8ac3 
-0273 d8e00006 arg 6 ,queue 
-0274 20400285 call p_rx_dcoc_avg 
-0275 2a2ffe0d isolate1 13 ,rega 
-0276 2040211d call qset_start 
-0277 2a4ffe0d isolate1 13 ,regb 
-0278 2040211e call qset_p 
-0279 d8e00005 arg 5 ,queue 
+02c2 20758000 rtn wake 
+02c3 20402160 call set_sync_on 
+02c4 d8400027 arg 39 ,temp 
+02c5 2040216f call set_freq_rx 
+02c6 204021a6 call rf_rx_enable 
+02c7 708a257f jam 0x7f ,0x8a25 
+02c8 708a301a jam 0x1a ,0x8a30 
+02c9 708a3178 jam 0x78 ,0x8a31 
+02ca 708a8fb2 jam 0xb2 ,0x8a8f 
+02cb 708ac200 jam 0 ,0x8ac2 
+02cc 708ac300 jam 0 ,0x8ac3 
+02cd d8e00006 arg 6 ,queue 
+02ce 204002df call p_rx_dcoc_avg 
+02cf 2a2ffe0d isolate1 13 ,rega 
+02d0 2040211d call qset_start 
+02d1 2a4ffe0d isolate1 13 ,regb 
+02d2 2040211e call qset_p 
+02d3 d8e00005 arg 5 ,queue 
 
 p_rx_dcoc_loop2:
-027a 2040211c call qset1_p 
-027b 2040211e call qset_p 
-027c 20400285 call p_rx_dcoc_avg 
-027d d8a08ac2 arg 0x8ac2 ,contw 
-027e 1a31fe00 rshift4 rega ,pdata 
-027f 20402117 call qsetxor 
-0280 1a51fe00 rshift4 regb ,pdata 
-0281 20402117 call qsetxor 
-0282 18e08fff increase -1 ,queue 
-0283 2021027a branch p_rx_dcoc_loop2 ,positive 
-0284 2020214f branch rx_dcoc_loop2 + 10 
+02d4 2040211c call qset1_p 
+02d5 2040211e call qset_p 
+02d6 204002df call p_rx_dcoc_avg 
+02d7 d8a08ac2 arg 0x8ac2 ,contw 
+02d8 1a31fe00 rshift4 rega ,pdata 
+02d9 20402117 call qsetxor 
+02da 1a51fe00 rshift4 regb ,pdata 
+02db 20402117 call qsetxor 
+02dc 18e08fff increase -1 ,queue 
+02dd 202102d4 branch p_rx_dcoc_loop2 ,positive 
+02de 2020214f branch rx_dcoc_loop2 + 10 
 
 p_rx_dcoc_avg:
-0285 2000003c nop 60 
-0286 58000f00 setarg mem_dcoc_buf 
-0287 67f10982 store 2 ,0x8982 
-0288 58000ff0 setarg mem_dcoc_buf_end 
-0289 67f10984 store 2 ,0x8984 
-028a 70898109 jam 0x9 ,0x8981 
-028b 70898103 jam 0x3 ,0x8981 
-028c 70898006 jam 0x6 ,0x8980 
-028d 2000003c nop 60 
-028e da200000 arg 0 ,rega 
-028f da400000 arg 0 ,regb 
-0290 df200010 arg 16 ,loopcnt 
-0291 d8c00f00 arg mem_dcoc_buf ,contr 
-0292 2020212d branch rx_dcoc_loop 
+02df 2000003c nop 60 
+02e0 58000f00 setarg mem_dcoc_buf 
+02e1 67f10982 store 2 ,0x8982 
+02e2 58000ff0 setarg mem_dcoc_buf_end 
+02e3 67f10984 store 2 ,0x8984 
+02e4 70898109 jam 0x9 ,0x8981 
+02e5 70898103 jam 0x3 ,0x8981 
+02e6 70898006 jam 0x6 ,0x8980 
+02e7 2000003c nop 60 
+02e8 da200000 arg 0 ,rega 
+02e9 da400000 arg 0 ,regb 
+02ea df200010 arg 16 ,loopcnt 
+02eb d8c00f00 arg mem_dcoc_buf ,contr 
+02ec 2020212d branch rx_dcoc_loop 
 
 p_rfpll_aac_ghpc:
-0293 20758000 rtn wake 
-0294 20202272 branch rfpll_aac_ghpc + 1 
+02ed 20758000 rtn wake 
+02ee 20202272 branch rfpll_aac_ghpc + 1 
 
 p_dpll_ring_ibias_calc:
-0295 20600000 rtn 
+02ef 20600000 rtn 
 
 p_sadc_calibration:
-0296 20758000 rtn wake 
-0297 708a0777 jam 0x77 ,core_gpadc_ctrl 
-0298 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
-0299 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-029a 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-029b 67f080cd store 1 ,core_sadc_clkdiv 
-029c 20000bb8 nop 3000 
-029d 204002be call p_sadc_read 
-029e 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-029f 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-02a0 df200008 arg 8 ,loopcnt 
-02a1 20406f58 call sadc_cal_read + 1 
-02a2 6fe0c419 fetch 1 ,mem_spi_write_addr 
-02a3 67e0c433 store 1 ,mem_adc_cal_c7 
-02a4 6240c419 storer regb ,1 ,mem_spi_write_addr 
-02a5 20600000 rtn 
+02f0 20758000 rtn wake 
+02f1 708a0777 jam 0x77 ,core_gpadc_ctrl 
+02f2 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
+02f3 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+02f4 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+02f5 67f080cd store 1 ,core_sadc_clkdiv 
+02f6 20000bb8 nop 3000 
+02f7 20400318 call p_sadc_read 
+02f8 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+02f9 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+02fa df200008 arg 8 ,loopcnt 
+02fb 20406f58 call sadc_cal_read + 1 
+02fc 6fe0c419 fetch 1 ,mem_spi_write_addr 
+02fd 67e0c433 store 1 ,mem_adc_cal_c7 
+02fe 6240c419 storer regb ,1 ,mem_spi_write_addr 
+02ff 20600000 rtn 
 
 p_enable_adc:
-02a6 204002b4 call p_sadc_cal_write 
-02a7 6ff08a09 fetch 1 ,core_gpadc_cfg1 
-02a8 793ffe07 set0 7 ,pdata 
-02a9 67f08a09 store 1 ,core_gpadc_cfg1 
-02aa 708a0777 jam 0x77 ,core_gpadc_ctrl 
-02ab 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-02ac 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-02ad 20406f90 call sadc_channel 
-02ae 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-02af 67f080cd store 1 ,core_sadc_clkdiv 
-02b0 20000bb8 nop 3000 
-02b1 204002be call p_sadc_read 
-02b2 7080cd00 jam 0 ,core_sadc_clkdiv 
-02b3 20206fa1 branch sadc_dma 
+0300 2040030e call p_sadc_cal_write 
+0301 6ff08a09 fetch 1 ,core_gpadc_cfg1 
+0302 793ffe07 set0 7 ,pdata 
+0303 67f08a09 store 1 ,core_gpadc_cfg1 
+0304 708a0777 jam 0x77 ,core_gpadc_ctrl 
+0305 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+0306 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+0307 20406f90 call sadc_channel 
+0308 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+0309 67f080cd store 1 ,core_sadc_clkdiv 
+030a 20000bb8 nop 3000 
+030b 20400318 call p_sadc_read 
+030c 7080cd00 jam 0 ,core_sadc_clkdiv 
+030d 20206fa1 branch sadc_dma 
 
 p_sadc_cal_write:
-02b4 6ff080cc fetch 1 ,core_sadc_ctrl 
-02b5 79207e01 set1 1 ,pdata 
-02b6 67f080cc store 1 ,core_sadc_ctrl 
-02b7 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-02b8 6fe0c433 fetch 1 ,mem_adc_cal_c7 
-02b9 67e0c419 store 1 ,mem_spi_write_addr 
-02ba df200008 arg 8 ,loopcnt 
-02bb 20406f67 call sadc_cal_write + 4 
-02bc 6240c419 storer regb ,1 ,mem_spi_write_addr 
-02bd 20600000 rtn 
+030e 6ff080cc fetch 1 ,core_sadc_ctrl 
+030f 79207e01 set1 1 ,pdata 
+0310 67f080cc store 1 ,core_sadc_ctrl 
+0311 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+0312 6fe0c433 fetch 1 ,mem_adc_cal_c7 
+0313 67e0c419 store 1 ,mem_spi_write_addr 
+0314 df200008 arg 8 ,loopcnt 
+0315 20406f67 call sadc_cal_write + 4 
+0316 6240c419 storer regb ,1 ,mem_spi_write_addr 
+0317 20600000 rtn 
 
 p_sadc_read:
-02be 7080cc03 jam 0x03 ,core_sadc_ctrl 
+0318 7080cc03 jam 0x03 ,core_sadc_ctrl 
 
 p_sadc_read_wait:
-02bf 6ff08129 fetch 1 ,core_perf_status 
-02c0 c30282bf bbit0 saradc_done ,p_sadc_read_wait 
-02c1 68590164 fetcht 2 ,core_sadc_data 
-02c2 6049440a storet 2 ,mem_adc_current_value 
-02c3 7080cc00 jam 0x00 ,core_sadc_ctrl 
-02c4 20600000 rtn 
+0319 6ff08129 fetch 1 ,core_perf_status 
+031a c3028319 bbit0 saradc_done ,p_sadc_read_wait 
+031b 68590164 fetcht 2 ,core_sadc_data 
+031c 6049440a storet 2 ,mem_adc_current_value 
+031d 7080cc00 jam 0x00 ,core_sadc_ctrl 
+031e 20600000 rtn 
 
 p_set_lemode:
-02c5 708a8211 jam 0x11 ,0x8a82 
-02c6 708a8d12 jam 0x12 ,0x8a8d 
-02c7 708a8e0a jam 0x0a ,0x8a8e 
-02c8 6fe0c099 fetch 1 ,mem_fcomp_div 
-02c9 c00802de beq xtal_16m ,p_set_lemode_2m_16m 
-02ca 58005762 setarg 0x5762 
-02cb 67f10907 store 2 ,0x8907 
+031f 708a8211 jam 0x11 ,0x8a82 
+0320 708a8d12 jam 0x12 ,0x8a8d 
+0321 708a8e0a jam 0x0a ,0x8a8e 
+0322 6fe0c099 fetch 1 ,mem_fcomp_div 
+0323 c0080338 beq xtal_16m ,p_set_lemode_2m_16m 
+0324 58005762 setarg 0x5762 
+0325 67f10907 store 2 ,0x8907 
 
 p_set_lemode_2m:
-02cc 70890103 jam 3 ,0x8901 
-02cd 70893003 jam 3 ,0x8930 
-02ce c6168000 rtnmark1 mark_ble_2m 
-02cf 70890101 jam 1 ,0x8901 
-02d0 708a8207 jam 0x07 ,0x8a82 
-02d1 708a8d44 jam 0x44 ,0x8a8d 
-02d2 708a8e0a jam 0x0a ,0x8a8e 
-02d3 6fe0c099 fetch 1 ,mem_fcomp_div 
-02d4 c00802db beq xtal_16m ,p_set_lemode_1m_16m 
-02d5 58002bb1 setarg 0x2bb1 
-02d6 67f10907 store 2 ,0x8907 
+0326 70890103 jam 3 ,0x8901 
+0327 70893003 jam 3 ,0x8930 
+0328 c6168000 rtnmark1 mark_ble_2m 
+0329 70890101 jam 1 ,0x8901 
+032a 708a8207 jam 0x07 ,0x8a82 
+032b 708a8d44 jam 0x44 ,0x8a8d 
+032c 708a8e0a jam 0x0a ,0x8a8e 
+032d 6fe0c099 fetch 1 ,mem_fcomp_div 
+032e c0080335 beq xtal_16m ,p_set_lemode_1m_16m 
+032f 58002bb1 setarg 0x2bb1 
+0330 67f10907 store 2 ,0x8907 
 
 p_set_lemode_1m:
-02d7 c6978000 rtnmark0 mark_ble_lr 
-02d8 70893024 jam 0x24 ,0x8930 
-02d9 70890105 jam 5 ,0x8901 
-02da 20600000 rtn 
+0331 c6978000 rtnmark0 mark_ble_lr 
+0332 70893024 jam 0x24 ,0x8930 
+0333 70890105 jam 5 ,0x8901 
+0334 20600000 rtn 
 
 p_set_lemode_1m_16m:
-02db 58004189 setarg 0x4189 
-02dc 67f10907 store 2 ,0x8907 
-02dd 202002d7 branch p_set_lemode_1m 
+0335 58004189 setarg 0x4189 
+0336 67f10907 store 2 ,0x8907 
+0337 20200331 branch p_set_lemode_1m 
 
 p_set_lemode_2m_16m:
-02de 58008312 setarg 0x8312 
-02df 67f10907 store 2 ,0x8907 
-02e0 202002cc branch p_set_lemode_2m 
+0338 58008312 setarg 0x8312 
+0339 67f10907 store 2 ,0x8907 
+033a 20200326 branch p_set_lemode_2m 
 
 p_le_parse:
-02e1 6fe0c334 fetch 1 ,mem_le_packet_llid 
-02e2 c1000000 rtneq llid_reserved 
-02e3 c001b04a beq llid_le_ll ,le_parse_ll 
-02e4 202028e1 branch le_parse_l2cap 
+033b 6fe0c334 fetch 1 ,mem_le_packet_llid 
+033c c1000000 rtneq llid_reserved 
+033d c001b04a beq llid_le_ll ,le_parse_ll 
+033e 202028e1 branch le_parse_l2cap 
 
 p_le_init_adv:
-02e5 793f8030 set0 mark_ble_crc_fail ,mark 
-02e6 20202af6 branch le_init_adv + 1 
+033f 793f8030 set0 mark_ble_crc_fail ,mark 
+0340 20202af6 branch le_init_adv + 1 
 
 p_g24_bind_data_parse_next:
-02e7 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-02e8 c0553329 beq datatype_bind ,g24_bind_first_step 
-02e9 c02ab33a beq datatype_config ,g24_bind_second_step 
-02ea c01102ed beq datatype_ok ,p_g24_bind_third_step 
-02eb c07fb59b beq datatype_attemp ,g24_data_attemp 
-02ec 20600000 rtn 
+0341 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+0342 c0553329 beq datatype_bind ,g24_bind_first_step 
+0343 c02ab33a beq datatype_config ,g24_bind_second_step 
+0344 c0110357 beq datatype_ok ,p_g24_bind_third_step 
+0345 c07f8347 beq datatype_attemp ,p_g24_data_attemp 
+0346 20600000 rtn 
+
+p_g24_data_attemp:
+0347 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0348 c000834b beq datatype_device1 ,p_g24_data_attemp_device1 
+0349 c0010351 beq datatype_device2 ,p_g24_data_attemp_device2 
+034a 20600000 rtn 
+
+p_g24_data_attemp_device1:
+034b 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+034c 247a0000 nrtn blank 
+034d 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
+034e 67e2462c store 4 ,mem_24g_transmitter_addr 
+
+p_g24_store_device1_addr:
+034f 67e24630 store 4 ,mem_24g_device1_addr 
+0350 20600000 rtn 
+
+p_g24_data_attemp_device2:
+0351 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+0352 247a0000 nrtn blank 
+0353 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
+0354 67e2462c store 4 ,mem_24g_transmitter_addr 
+
+p_g24_store_device2_addr:
+0355 67e24634 store 4 ,mem_24g_device2_addr 
+0356 20600000 rtn 
 
 p_g24_bind_third_step:
-02ed 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-02ee 203a02f3 branch p_g24_bind_third_step_skip ,blank 
-02ef 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
-02f0 684a462c fetcht 4 ,mem_24g_transmitter_addr 
-02f1 98467c00 isub temp ,null 
-02f2 24628000 nrtn zero 
+0357 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+0358 203a035d branch p_g24_bind_third_step_skip ,blank 
+0359 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
+035a 684a462c fetcht 4 ,mem_24g_transmitter_addr 
+035b 98467c00 isub temp ,null 
+035c 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-02f3 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-02f4 c00082f7 beq datatype_device1 ,p_g24_bind_third_step_device1 
-02f5 c00102fe beq datatype_device2 ,p_g24_bind_third_step_device2 
-02f6 20600000 rtn 
+035d 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+035e c0008361 beq datatype_device1 ,p_g24_bind_third_step_device1 
+035f c0010368 beq datatype_device2 ,p_g24_bind_third_step_device2 
+0360 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-02f7 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-02f8 247a0000 nrtn blank 
-02f9 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-02fa c00102fc beq 2 ,p_g24_bind_dvc1_step_success 
-02fb 20600000 rtn 
+0361 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+0362 247a0000 nrtn blank 
+0363 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+0364 c0010366 beq 2 ,p_g24_bind_dvc1_step_success 
+0365 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-02fc 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-02fd 2020336b branch g24_bind_dvc1_step_success + 1 
+0366 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+0367 2020336b branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-02fe 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-02ff 247a0000 nrtn blank 
-0300 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-0301 c0800303 bne 0 ,p_g24_bind_dvc2_step_success 
-0302 20600000 rtn 
+0368 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+0369 247a0000 nrtn blank 
+036a 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+036b c080036d bne 0 ,p_g24_bind_dvc2_step_success 
+036c 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-0303 7045df01 jam 1 ,mem_24g_device2_bind_disable 
-0304 20403393 call g24_binding_dvc2_living 
-0305 20203378 branch g24_bind_dvc2_step_success + 1 
+036d 7045df01 jam 1 ,mem_24g_device2_bind_disable 
+036e 20403393 call g24_binding_dvc2_living 
+036f 20203378 branch g24_bind_dvc2_step_success + 1 
 
 p_g24_mode_switch_bind_search:
-0306 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0307 c1000000 rtneq dongle_work 
-0308 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
-0309 247a0000 nrtn blank 
-030a 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
-030b 247a0000 nrtn blank 
-030c 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
-030d 207a0000 rtn blank 
-030e 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-030f c1800000 rtnne 0 
-0310 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-0311 c1800000 rtnne 0 
-0312 20203436 branch g24_mode_switch_bind_search + 9 
+0370 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0371 c1000000 rtneq dongle_work 
+0372 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
+0373 247a0000 nrtn blank 
+0374 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
+0375 247a0000 nrtn blank 
+0376 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
+0377 207a0000 rtn blank 
+0378 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+0379 c1800000 rtnne 0 
+037a 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+037b c1800000 rtnne 0 
+037c 20203436 branch g24_mode_switch_bind_search + 9 
 
 p_g24_bind_mode_auto:
-0313 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0314 c1808000 rtnne dongle_bind 
-0315 20400317 call p_g24_bind_init 
-0316 2020346d branch g24_bind_mode_auto + 4 
+037d 6fe0c616 fetch 1 ,mem_24g_work_mode 
+037e c1808000 rtnne dongle_bind 
+037f 20400381 call p_g24_bind_init 
+0380 2020346d branch g24_bind_mode_auto + 4 
 
 p_g24_bind_init:
-0317 6fe0c615 fetch 1 ,mem_24g_mode_init 
-0318 c3808000 rtnbit1 dongle_bind 
-0319 79207e01 set1 dongle_bind ,pdata 
-031a 67e0c615 store 1 ,mem_24g_mode_init 
-031b 58000000 setarg 0 
-031c 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
-031d 20203307 branch g24_bind_init + 8 
+0381 6fe0c615 fetch 1 ,mem_24g_mode_init 
+0382 c3808000 rtnbit1 dongle_bind 
+0383 79207e01 set1 dongle_bind ,pdata 
+0384 67e0c615 store 1 ,mem_24g_mode_init 
+0385 58000000 setarg 0 
+0386 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
+0387 20203307 branch g24_bind_init + 8 
 
 p_dongle_usb_dispatch:
-031e 70804300 jam 0 ,0x8043 
-031f 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
-0320 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
-0321 20407906 call usb_isr 
-0322 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
-0323 207a0000 rtn blank 
-0324 7008f700 jam 0 ,mem_usb0_get_set_report 
-0325 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
-0326 d84002a4 arg pc_set_report ,temp 
-0327 98467c00 isub temp ,null 
-0328 24628000 nrtn zero 
-0329 20200163 branch p_dongle_usb_data_received_analysis 
+0388 70804300 jam 0 ,0x8043 
+0389 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
+038a 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
+038b 20407906 call usb_isr 
+038c 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
+038d 207a0000 rtn blank 
+038e 7008f700 jam 0 ,mem_usb0_get_set_report 
+038f 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
+0390 d84002a4 arg pc_set_report ,temp 
+0391 98467c00 isub temp ,null 
+0392 24628000 nrtn zero 
+0393 2020018e branch p_dongle_usb_data_received_analysis 
 
 p_wdt_kick:
-032a 58000010 setarg 16 
-032b 202070c8 branch wdt_init_config 
+0394 58000010 setarg 16 
+0395 202070c8 branch wdt_init_config 
 
 p_dongle_default_init:
-032c 204047c3 call dongle_default_init + 1 
-032d 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
-032e 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
-032f 7045ca00 jam off ,mem_24g_disable_fec1 
-0330 20403281 call g24_enable_1m 
-0331 6fe0c669 fetch 1 ,mem_dg_sys_config 
-0332 c4000000 rtnbit0 dg_enable_new_revision 
-0333 7045ca01 jam on ,mem_24g_disable_fec1 
-0334 20203284 branch g24_enable_2m 
+0396 204047c3 call dongle_default_init + 1 
+0397 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
+0398 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
+0399 7045ca00 jam off ,mem_24g_disable_fec1 
+039a 20403281 call g24_enable_1m 
+039b 6fe0c669 fetch 1 ,mem_dg_sys_config 
+039c c4000000 rtnbit0 dg_enable_new_revision 
+039d 7045ca01 jam on ,mem_24g_disable_fec1 
+039e 20203284 branch g24_enable_2m 
 
 p_g24_receive_skip_fec1:
-0335 7858fc00 disable user7 
-0336 280ffe2f isolate1 mark_ble_lr ,mark 
-0337 2040b16f call g24_lr_receive_pdu_len ,true 
-0338 2038b18a branch g24_lr_len_error ,user7 
-0339 2040317d call g24_receive_byte 
-033a 67e0c4f7 store 1 ,mem_24g_rxbuf 
-033b c5138340 bmark1 mark_24g_rxmode ,p_g24_receive_skip 
-033c 6fe0c4f7 fetch 1 ,mem_24g_rxbuf 
-033d 6848c589 fetcht 1 ,mem_24g_data_type 
-033e a8400e00 icompare bits_data ,temp 
-033f 2420b18c nbranch g24_type_error ,true 
+039f 7858fc00 disable user7 
+03a0 280ffe2f isolate1 mark_ble_lr ,mark 
+03a1 2040b16f call g24_lr_receive_pdu_len ,true 
+03a2 2038b18a branch g24_lr_len_error ,user7 
+03a3 2040317d call g24_receive_byte 
+03a4 67e0c4f7 store 1 ,mem_24g_rxbuf 
+03a5 c51383aa bmark1 mark_24g_rxmode ,p_g24_receive_skip 
+03a6 6fe0c4f7 fetch 1 ,mem_24g_rxbuf 
+03a7 6848c589 fetcht 1 ,mem_24g_data_type 
+03a8 a8400e00 icompare bits_data ,temp 
+03a9 2420b18c nbranch g24_type_error ,true 
 
 p_g24_receive_skip:
-0340 2040317d call g24_receive_byte 
-0341 280ffe2f isolate1 mark_ble_lr ,mark 
-0342 2040b178 call g24_lr_receive_payload_len ,true 
-0343 e7e08005 istore 1 ,contw 
-0344 1fe90400 rshift3 pdata ,temp 
-0345 2feffe00 isolate1 0 ,pdata 
-0346 2040834d call p_g24_receive_payload_len_ext ,true 
-0347 18427e00 copy temp ,pdata 
-0348 1fe67c3f sub pdata ,0x3f ,null 
-0349 2421318e nbranch g24_len_over_error ,positive 
-034a 1fe27200 copy pdata ,loopcnt 
-034b 2022b154 branch g24rx_nopayload ,zero 
-034c 20203151 branch g24rx_loop 
+03aa 2040317d call g24_receive_byte 
+03ab 280ffe2f isolate1 mark_ble_lr ,mark 
+03ac 2040b178 call g24_lr_receive_payload_len ,true 
+03ad e7e08005 istore 1 ,contw 
+03ae 1fe90400 rshift3 pdata ,temp 
+03af 2feffe00 isolate1 0 ,pdata 
+03b0 204083b7 call p_g24_receive_payload_len_ext ,true 
+03b1 18427e00 copy temp ,pdata 
+03b2 1fe67c3f sub pdata ,0x3f ,null 
+03b3 2421318e nbranch g24_len_over_error ,positive 
+03b4 1fe27200 copy pdata ,loopcnt 
+03b5 2022b154 branch g24rx_nopayload ,zero 
+03b6 20203151 branch g24rx_loop 
 
 p_g24_receive_payload_len_ext:
-034d 79200405 set1 5 ,temp 
-034e 20600000 rtn 
+03b7 79200405 set1 5 ,temp 
+03b8 20600000 rtn 
 
 p_g24_receive_skip_end:
-034f 6fe0c669 fetch 1 ,mem_dg_sys_config 
-0350 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
-0351 7837fc00 enable user3 
-0352 20000018 nop 24 
-0353 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-0354 79207e00 set1 bit_ack_24g ,pdata 
-0355 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
-0356 204033a5 call g24_ackpayload_prep 
-0357 204031e5 call g24_transmit_prep 
-0358 20203195 branch g24_transmit 
+03b9 6fe0c669 fetch 1 ,mem_dg_sys_config 
+03ba c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
+03bb 7837fc00 enable user3 
+03bc 20000018 nop 24 
+03bd 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+03be 79207e00 set1 bit_ack_24g ,pdata 
+03bf 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
+03c0 204033a5 call g24_ackpayload_prep 
+03c1 204031e5 call g24_transmit_prep 
+03c2 20203195 branch g24_transmit 
 
 p_g24_read_len_pid_crc:
-0359 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-035a 1fe90400 rshift3 pdata ,temp 
-035b 2feffe00 isolate1 0 ,pdata 
-035c 2040834d call p_g24_receive_payload_len_ext ,true 
-035d 18427e00 copy temp ,pdata 
-035e 67e0c57d store 1 ,mem_24g_rxdata_length 
-035f 1fe0fe01 increase 1 ,pdata 
-0360 d8c044f8 arg mem_24g_rxbuf + 1 ,contr 
-0361 98c08c00 iadd contr ,contr 
-0362 efe18006 ifetch 3 ,contr 
-0363 67e1c580 store 3 ,mem_24g_sta_crc 
-0364 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-0365 1fe37e00 rshift pdata ,pdata 
-0366 1fe17e03 and pdata ,0x03 ,pdata 
-0367 67e0c586 store 1 ,mem_24g_sta_pid 
-0368 20600000 rtn 
+03c3 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+03c4 1fe90400 rshift3 pdata ,temp 
+03c5 2feffe00 isolate1 0 ,pdata 
+03c6 204083b7 call p_g24_receive_payload_len_ext ,true 
+03c7 18427e00 copy temp ,pdata 
+03c8 67e0c57d store 1 ,mem_24g_rxdata_length 
+03c9 1fe0fe01 increase 1 ,pdata 
+03ca d8c044f8 arg mem_24g_rxbuf + 1 ,contr 
+03cb 98c08c00 iadd contr ,contr 
+03cc efe18006 ifetch 3 ,contr 
+03cd 67e1c580 store 3 ,mem_24g_sta_crc 
+03ce 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+03cf 1fe37e00 rshift pdata ,pdata 
+03d0 1fe17e03 and pdata ,0x03 ,pdata 
+03d1 67e0c586 store 1 ,mem_24g_sta_pid 
+03d2 20600000 rtn 
+
+p_g24_bind_data_process:
+03d3 204033be call g24_rx_interrupt_clear 
+03d4 20403119 call g24_receive_packet 
+03d5 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+03d6 204003da call p_g24_bind_data_parse 
+03d7 204033f4 call g24_transmit_ack 
+03d8 204003f0 call p_g24_bind_device_status_check 
+03d9 20203316 branch g24_bind_data_process + 7 
+
+p_g24_bind_data_parse:
+03da 70462205 jam bind_mode_continue ,mem_24g_bind_mode_continue 
+03db d8c044f7 arg mem_24g_rxbuf ,contr 
+03dc d8a04a45 arg mem_24g_rxdata_temp_new ,contw 
+03dd 20407c89 call memcpy8 
+03de 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+03df c05503e4 beq datatype_bind ,p_g24_bind_first_step 
+03e0 c02a83e6 beq datatype_config ,p_g24_bind_second_step 
+03e1 c0110357 beq datatype_ok ,p_g24_bind_third_step 
+03e2 c07fb59b beq datatype_attemp ,g24_data_attemp 
+03e3 20600000 rtn 
+
+p_g24_bind_first_step:
+03e4 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+03e5 2020332a branch g24_bind_first_step + 1 
+
+p_g24_bind_second_step:
+03e6 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+03e7 203a03ec branch p_g24_bind_second_step_skip ,blank 
+03e8 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
+03e9 684a44f1 fetcht 4 ,mem_24g_lap 
+03ea 98467c00 isub temp ,null 
+03eb 24628000 nrtn zero 
+
+p_g24_bind_second_step_skip:
+03ec 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+03ed c000b344 beq datatype_device1 ,g24_bind_second_step_device1 
+03ee c0013351 beq datatype_device2 ,g24_bind_second_step_device2 
+03ef 20600000 rtn 
+
+p_g24_bind_device_status_check:
+03f0 6fe0c5d5 fetch 1 ,mem_24g_bind_device_status 
+03f1 207a0000 rtn blank 
+
+p_g24_bind_device_status:
+03f2 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+03f3 c000b38d beq datatype_device1 ,g24_binding_dvc1_living 
+03f4 c0013393 beq datatype_device2 ,g24_binding_dvc2_living 
+03f5 20600000 rtn 
               org 0x2000
 
 start:
Index: program/app_car.prog
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/program/app_car.prog	(revision 3174)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/program/app_car.prog	(working copy)
@@ -7,34 +7,34 @@
 	rtn wake
 	setarg car_g24_receive_process
 	store 2,mem_cb_24g_receive_process
-	
+
 	setarg g24_bind_ackpayload_prep
 	store 2,mem_cb_24g_ackpayload
-	
+
 	setarg car_g24_cb_data_device1
 	store 2,mem_cb_24g_data_device1
 
 	setarg car_le_before_hibernate
 	store 2,mem_cb_before_hibernate
-	
+
 	setarg car_le_process_lpm_before
-	store 2,mem_cb_before_lpm	
-		
-	setarg car_scale_process_idle	
-	store 2,mem_cb_idle_process	
-	
-	setarg car_scale_process_bb_event 
-	store 2,mem_cb_bb_event_process	
-	
+	store 2,mem_cb_before_lpm
+
+	setarg car_scale_process_idle
+	store 2,mem_cb_idle_process
+
+	setarg car_scale_process_bb_event
+	store 2,mem_cb_bb_event_process
+
 	setarg app_get_lpm_wake_lock
 	store 2,mem_cb_check_wakelock
-	
+
 	setarg car_le_receive_data
 	store 2,mem_cb_att_write
-	
+
 	setarg car_le_bb_event_timer
 	store 2,mem_cb_event_timer
-	
+
 	bpatch patch05_6,mem_patch05
 	call car_init_environment
 	call car_lpm_timer_enable
@@ -54,11 +54,11 @@
 	fetch 2,mem_ui_state_map
 	rtnbit1 UI_STATE_BTN_DOWN
  	branch app_enter_hibernate
- 	
 
-car_power_off_signal:	
+
+car_power_off_signal:
 	branch car_ui_led_init
-	
+
 car_hard_switch_power_on_signal:
 	jam POWER_STANDBY,mem_car_power_state
 car_soft_switch_power_on_signal:
@@ -93,7 +93,7 @@
 	branch car_hex_num,positive
 	add temp,55,temp
 	rtn
-car_hex_num:	
+car_hex_num:
 	add temp,48,temp
 	rtn
 
@@ -134,7 +134,7 @@
 	branch car_ui_led_init_3
 
 car_init_environment:
-	
+
 	call car_g24_init
 	call car_g24_load_commom_addr
 	arg 0,rega
@@ -169,11 +169,11 @@
 	iforce temp
 	branch gpio_config_output
 
-	
+
 car_init_adc_hvin:
 	jam 100,mem_car_notify_vdd_value_last
 	rtn
-	
+
 car_le_before_hibernate:
 	call car_gpio_set_before_hibernate
 	call clear_wake
@@ -212,9 +212,9 @@
 	branch car_setgpio_loop_end
 car_setgpio_pulldown:
 	setarg gpcfg_pulldown
-	istore 1,contw	
+	istore 1,contw
 	branch car_setgpio_loop_end
-car_motor_setgpio:	
+car_motor_setgpio:
 	fetch 1,mem_car_motor_gpio_num
 	copy pdata,loopcnt
 	arg mem_car_motor_gpio_map,contr
@@ -225,7 +225,7 @@
 	call gpio_config_function
 	loop car_motor_setgpio_loop
 	rtn
-	 
+
 car_key_scan_process:
 	branch keyscan_key_process
 
@@ -249,12 +249,12 @@
 	branch car_g24_connected
 
 car_lpm_timer_enable:
-	fetch 2,mem_car_enter_lpm_timer_count	
+	fetch 2,mem_car_enter_lpm_timer_count
 	store 2,mem_car_enter_lpm_timer
 	jam 0,mem_car_enter_lpm_flag
 	rtn
 
-	
+
 car_lpm_timer_disable:
 	setarg 0
 	branch car_lpm_timer_enable+1
@@ -263,12 +263,12 @@
 car_stop_blink:
 	arg 0,rega
 	branch ui_led_blink_stop_global
-	
-	
+
+
 car_start_blink:
 	arg 0,rega
 	branch ui_led_blink_start_global
-	
+
 
 
 
@@ -283,7 +283,7 @@
 	nrtn user
 	arg mem_car_pop_queue_buff,contr
 	branch le_send_notify_from_list
- 
+
 car_scale_process_bb_event:
 	copy regc,pdata
 	beq BT_EVT_BUTTON_UP,app_event_button_up
@@ -359,7 +359,7 @@
 car_enter_lpm_enable:
 	jam 1,mem_car_enter_lpm_flag
 	rtn
-	
+
 car_24g_no_data_timeout_timer:
 	arg mem_car_24g_no_data_timeout_timer,regc
 	arg car_24g_no_data_timer_timeout,regb
@@ -395,7 +395,7 @@
 	fetch 1,mem_car_config_low_voltage_percent
 	isub temp,null
 	call car_enter_low_bat,positive
-	storet 1,mem_notify_bat_payload 
+	storet 1,mem_notify_bat_payload
 	arg 6,loopcnt
 	arg mem_notify_bat_head,contr
 	call calc_check_sum_start
@@ -424,7 +424,7 @@
 	and rega,0xff,pdata
 	rtn
 
-car_le_receive_data:	
+car_le_receive_data:
 	fetch 1,mem_le_att_opcode
 	beq ATTOP_WRITE_REQUEST,car_le_parse_att_write_request
 	rtn
@@ -515,11 +515,11 @@
 	arg mem_car_moto1_blank_timer,regc
 	arg car_moto1_blank_data,regb
 	branch timer_single_step
-car_moto2_blank_data_timer:	
+car_moto2_blank_data_timer:
 	arg mem_car_moto2_blank_timer,regc
 	arg car_moto2_blank_data,regb
 	branch timer_single_step
-car_moto3_blank_data_timer:		
+car_moto3_blank_data_timer:
 	arg mem_car_moto3_blank_timer,regc
 	arg car_moto3_blank_data,regb
 	branch timer_single_step
@@ -533,11 +533,11 @@
 car_moto3_blank_data:
 	jam 0,mem_le_receive_payload+4
 	branch car_motor_control
-	
-	
+
+
 ///////////////////////Motor//////////////////////////////////////////
 
-car_drive_old:	
+car_drive_old:
 	fetch 1,mem_le_receive_payload
 	store 1,mem_motor1_status
 	fetch 1,mem_le_receive_payload+1
@@ -545,7 +545,7 @@
 	branch car_motor_control_common
 
 
-	
+
 car_left_right_control_old:
 	fetch 1,mem_le_receive_payload
 	store 1,mem_motor2_status
@@ -586,7 +586,7 @@
 	iand temp,pdata
 	fetcht 1,mem_motor3_speed
 	iand temp,pdata
-	call car_motor_working_flag,blank	
+	call car_motor_working_flag,blank
 car_motor_control_common:
 	bpatch patch06_1,mem_patch06
 	fetch 2,mem_ui_state_map
@@ -601,7 +601,7 @@
 	fetcht 1,mem_motor2_status
 	iadd temp,pdata
 	nbranch check_51cmd_led_on,blank
-	branch check_51cmd_led_off	
+	branch check_51cmd_led_off
 
 car_motor1_control:
 	arg mem_motor1_status,contr
@@ -660,7 +660,7 @@
 	fetcht 1,mem_car_motor_back_gpio
 	branch gpio_out_active
 
-	
+
 
 
 car_motor_status_select:
@@ -809,7 +809,7 @@
 	//fetch 4,mem_lap
 	fetch 4,mem_car_24g_commom_addr
 	branch g24_work_init+12
-car_g24_receive_packet_start:	
+car_g24_receive_packet_start:
 	call g24_receive_transmit_ack
 	nbranch g24_rx_interrupt_clear,user3
 p_g24_receive_packet_parse:
@@ -835,7 +835,7 @@
 	fetch 1,mem_24g_bind_device_status
 	rtn blank
 	//call check_51cmd_led_on
-	branch g24_data_attemp	
+	branch g24_data_attemp
 car_g24_data_device1:
 	call g24_ch_timer_reinit
 	fetch 1,mem_24g_abort_packet
@@ -851,7 +851,7 @@
 	call check_51cmd_led_on,zero
 	fetch 4,mem_24g_rxdata_temp+10
 	branch g24_store_device1_addr
-	
+
 car_g24_bind_mode:
 	fetch 1,mem_24g_work_mode
 	rtnne DONGLE_BIND
@@ -885,7 +885,7 @@
         store 4,mem_car_24g_commom_addr
         fetch 1,mem_car_save_addr_flag
         ncall car_g24_save_commom_addr,blank
-		
+
 	fetch 4,mem_car_24g_commom_addr
 	branch g24_update_addr_and_synccrc8
 
@@ -906,17 +906,17 @@
 	store 1,mem_car_24g_commom_addr
 ifdef CAR_TEST_FUNCTION
         rtn
-endif // CAR_TEST_FUNCTION  	
+endif // CAR_TEST_FUNCTION
 	call car_g24_search_commom_addr
 	fetch 4,mem_car_24g_commom_addr
-	fetcht 4,mem_car_24g_commom_addr_temp 
+	fetcht 4,mem_car_24g_commom_addr_temp
 	isub temp,null
-	rtn zero        
+	rtn zero
         copy regc,regb
         arg mem_car_24g_commom_addr,rega
-        arg 4,loopcnt        
+        arg 4,loopcnt
         branch otp_write
-        
+
 car_g24_load_commom_addr:
 
         fetch 4,mem_24g_lap
@@ -925,18 +925,18 @@
         rtn blank
 ifdef CAR_TEST_FUNCTION
         rtn
-endif // CAR_TEST_FUNCTION         
+endif // CAR_TEST_FUNCTION
         call car_g24_search_commom_addr
         fetch 4,mem_car_24g_commom_addr_temp
         rtn blank
         store 4,mem_car_24g_commom_addr
         rtn
 
-/* regc=otp start address and output */        
+/* regc=otp start address and output */
 car_g24_search_commom_addr:
 ifdef CAR_TEST_FUNCTION
         rtn
-endif // CAR_TEST_FUNCTION 
+endif // CAR_TEST_FUNCTION
         fetch 1,mem_car_save_addr_flag
         rtn blank
         arg OTP_OFFSET_CAR_COMMOM_START_ADDR,regc
@@ -946,15 +946,15 @@
         arg 4,loopcnt
         call otp_read_data
         fetch 4,mem_car_24g_commom_addr_read
-        rtn blank    
+        rtn blank
         store 4,mem_car_24g_commom_addr_temp
         copy regc,pdata
         arg OTP_OFFSET_CAR_COMMOM_END_ADDR,temp
         isub temp,null
-        rtn positive        
+        rtn positive
         increase 4,regc
         branch car_g24_search_commom_addr_loop
-        
+
 car_g24_bind_device_addr:
 	fetch 4,mem_24g_device1_addr
 	rtn blank
Index: program/g24_protocol_stack/24g.prog
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/program/g24_protocol_stack/24g.prog	(revision 3174)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/program/g24_protocol_stack/24g.prog	(working copy)
@@ -46,7 +46,7 @@
 	bmark1 mark_ble_lr,g24_receive_skip_fec1
 	fetch 1,mem_24g_disable_fec1
 	nbranch g24_receive_skip_fec1,blank
-	disable decode_fec0	
+	disable decode_fec0
 	enable decode_fec1	//lr do not use fec1
 g24_receive_skip_fec1:
 	enable enable_white
@@ -101,7 +101,7 @@
 	call save_rssi_dec,true
 	branch g24_crc_error,crc_failed
 	call rf_debug_rx_crc_line	//L
-g24_receive_skip_end:	
+g24_receive_skip_end:
 	bpatchx patch2d_7,mem_patch2d
 	enable user3
 	call le_match_set_txfreq
@@ -115,7 +115,7 @@
 g24_receive_skip_disable_fec1:
 	disable decode_fec0
 	branch g24_receive_skip_next
-	
+
 
 g24_lr_receive_pdu_len:
 	call g24_receive_byte
@@ -135,7 +135,7 @@
 	lshift3 temp,temp
 	ior temp,pdata
 	rtn
-	
+
 g24_receive_byte:
 	parse demod,bucket,8
 	rshift3 pwindow,pdata
@@ -202,7 +202,7 @@
 	bmark1 mark_ble_lr,g24_transmit_nolr
 	fetch 1,mem_24g_disable_fec1
 	nbranch g24_transmit_nolr,blank
-	disable encode_fec0	
+	disable encode_fec0
 	enable encode_fec1	////lr use encode_fec3
 g24_transmit_nolr:
 	enable enable_white
@@ -221,7 +221,7 @@
 	disable enable_white
 	setarg 0
 	inject mod,3
-g24_transmit_skip:	
+g24_transmit_skip:
 	until null,tx_clear
 	nop 100
 	disable lr_s2en
@@ -264,7 +264,7 @@
 g24_transmit_2M_dealy:
 	nop 2
 	loop g24_transmit_2M_dealy
-//	nop 36	//2M Ç°¶Ë·¢ËÍ±È1M¿ì3us×óÓÒ
+//	nop 36	//2M Ç°ï¿½Ë·ï¿½ï¿½Í±ï¿½1Mï¿½ï¿½3usï¿½ï¿½ï¿½ï¿½
 	rshift16 access,pdata
 	rshift8 pdata,pdata
 	rshift4 pdata,temp
@@ -311,7 +311,7 @@
 	arg mem_24g_txbuf,contr
 	call memcpy
 	bpatchx patch2e_4,mem_patch2e
-//rssi hex	
+//rssi hex
 	rtnmark0 mark_24g_rxmode
 	fetch 1,mem_rssi_hex
 	istore 1,contw
@@ -321,7 +321,7 @@
 	increase 1,pdata	//plus rssi_hex length
 	store 1,mem_24g_txlen
 	rtn
-	
+
 g24_lr_transmit_prep:
 // total length
 	fetch 1,mem_24g_datalen
@@ -362,7 +362,7 @@
 	store 1,mem_24g_sta_pid
 	rtn
 
-	
+
 g24_ch:
 	bpatchx patch2e_6,mem_patch2e
 	fetcht 1,mem_24g_current_ch_number
@@ -376,10 +376,10 @@
 	increase 1,temp
 	and_into 3,temp //map size =4
 	rtn
-	
+
 g24_ch_calc:
 	bpatchx patch2f_0,mem_patch2f
-	fetch 1,mem_24g_addr	
+	fetch 1,mem_24g_addr
 	and_into 0x03,pdata
 	mul32 pdata,4,rega			//24addr low bit0 bit1 ,00-map1,01-map2,10-map3,11-map4
 	setarg mem_24g_ch_map1
@@ -428,12 +428,12 @@
 	set0 28,pdata
 	store 4,mem_24g_tx_btclk
 	branch enable_user
-	
+
 g24_timer_timeout:
 	rtn zero
 	set1 28,pdata
 	rtn
-	
+
 g24_timer_init:
 	setarg 0
 	store 4,mem_24g_tx_btclk
@@ -493,7 +493,7 @@
 	fetch 1,mem_24g_rx_phy
 	bbit0 2,g24_rx_window_store	//uncoded phy
 	arg 0x2ee0,temp
-g24_rx_window_store:	
+g24_rx_window_store:
 	storet 2,mem_24g_rx_window
 	rtn
 
@@ -506,7 +506,7 @@
 	jam 0x02,mem_24g_rx_phy
 	jam 0x02,mem_24g_tx_phy
 	rtn
-	
+
 //g24_enable_coded_s2:
 //	jam 0x04,mem_24g_rx_phy
 //	jam 0x04,mem_24g_tx_phy
@@ -564,4 +564,4 @@
 
 /****************************g24 sim end********************************/
 
-	
+
Index: program/g24_protocol_stack/24g_pair.prog
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/program/g24_protocol_stack/24g_pair.prog	(revision 3174)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/program/g24_protocol_stack/24g_pair.prog	(working copy)
@@ -67,11 +67,11 @@
 	fetch 4,mem_24g_device_addr
 	call g24_update_addr_and_synccrc8	//use transmitter addr
 g24_pair_sm_2_skip:
-	jam DATATYPE_BIND,mem_24g_txbuf	
+	jam DATATYPE_BIND,mem_24g_txbuf
 	branch g24_pair_sm_prep
 
 g24_pair_sm_3:
-	jam DATATYPE_CONFIG,mem_24g_txbuf	
+	jam DATATYPE_CONFIG,mem_24g_txbuf
 	fetch 1,mem_24g_pair_switch
 	branch g24_pair_sm_prep,blank
 	fetch 4,mem_24g_receiver_addr		//prep receiver addr
@@ -104,7 +104,7 @@
 	beq STATE_24G_PAIRING_4,g24_pair_sm_4_waiting_ack
 	rtn
 
-g24_pair_sm_reinit:	
+g24_pair_sm_reinit:
 	jam STATE_24G_PAIRING_2,mem_24g_pair_sm
 	fetch 1,mem_24g_pair_switch
 	rtn blank
@@ -114,13 +114,13 @@
 g24_pair_sm_1_waiting_ack:
 	jam STATE_24G_PAIRING_2,mem_24g_pair_sm
 	branch g24_transmit_abandon
-	
+
 g24_pair_sm_2_waiting_ack:
 	fetch 1,mem_24g_pair_switch
 	branch g24_pair_sm_2_waiting_ack_skip,blank
 	fetch 4,mem_24g_rxpayload+2
 	store 4,mem_24g_receiver_addr
-g24_pair_sm_2_waiting_ack_skip:	
+g24_pair_sm_2_waiting_ack_skip:
 	jam STATE_24G_PAIRING_3,mem_24g_pair_sm
 	branch g24_transmit_abandon
 
@@ -131,10 +131,10 @@
 	fetcht 4,mem_24g_device_addr
 	isub temp,null
 	nrtn zero
-g24_pair_sm_3_waiting_ack_skip:	
+g24_pair_sm_3_waiting_ack_skip:
 	jam STATE_24G_PAIRING_4,mem_24g_pair_sm
-	branch g24_transmit_abandon	
-	
+	branch g24_transmit_abandon
+
 g24_pair_sm_4_waiting_ack:
 	fetch 1,mem_24g_pair_switch
 	branch g24_pair_sm_4_waiting_ack_skip,blank
@@ -142,7 +142,7 @@
 	fetcht 4,mem_24g_receiver_addr
 	isub temp,null
 	nrtn zero
-g24_pair_sm_4_waiting_ack_skip:	
+g24_pair_sm_4_waiting_ack_skip:
 	jam STATE_24G_PAIRING_SUCCESS,mem_24g_pair_sm
 	jam BT_EVT_24G_PAIRING_COMPLETE,mem_fifo_temp
 	call ui_ipc_send_event
@@ -274,7 +274,7 @@
 	fetcht 4,mem_24g_lap
 	isub temp,null
 	nrtn zero
-g24_bind_second_step_skip:	
+g24_bind_second_step_skip:
 	fetch 1,mem_24g_rxdata_temp+3
 	beq DATATYPE_DEVICE1,g24_bind_second_step_device1
 	beq DATATYPE_DEVICE2,g24_bind_second_step_device2
@@ -307,7 +307,7 @@
 g24_bind_dvc2_step_set2:
 	jam 2,mem_24g_device2_bind_step
 	fetch 1,mem_24g_pair_switch
-	branch g24_bind_dvc2_payload_cfg,blank	
+	branch g24_bind_dvc2_payload_cfg,blank
 	jam DATATYPE_DEVICE2,mem_24g_bind_payload
 	branch g24_bind_payload_cfg_transmitter_addr
 
@@ -342,7 +342,7 @@
 	setarg 0
 	store 2,mem_24g_device1_bind_step
 	rtn
-	
+
 g24_bind_third_step_device2:
 	fetch 1,mem_24g_device2_bind_disable
 	nrtn blank
@@ -373,7 +373,7 @@
 	rtnbit0 0
 disable_user3:
 	disable user3
-	rtn 
+	rtn
 g24_binding_dvc2_status:
 	fetch 1,mem_24g_bind_device_living
 	rtnbit0 1
Index: program/g24_protocol_stack/24g_transmitter.prog
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/program/g24_protocol_stack/24g_transmitter.prog	(revision 3174)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/program/g24_protocol_stack/24g_transmitter.prog	(working copy)
@@ -42,7 +42,7 @@
 	call power_ctrl_start
 	fetch 1,mem_device_option
 	beq DVC_OP_MOUSE,mouse_24g_transmit_start
-g24_transmit_start_next:	
+g24_transmit_start_next:
 	fetch 8,mem_24g_long_sleep_set
 	store 8,mem_24g_enter_hibernate
 	fetch 2,mem_24g_long_sleep_param_update_timer_init
@@ -69,7 +69,7 @@
 	call clk2lpo
 	storet 4,mem_sleep_counter
 	branch lpm_sleep
-	
+
 /****************************g24 transmitter data prep start********************************/
 
 g24_txdata_prep:
@@ -85,7 +85,7 @@
 	fetch 7,mem_24g_txbuf+1	//mouse data
 	rtn blank
 	branch enable_user	// retransmit
-	
+
 g24_accumulate_data:
 	jam 0,mem_24g_abort_pac
 	add rega,1,pdata
@@ -96,7 +96,7 @@
 	copy rega,loopcnt
 	branch memcpy
 
-g24_transmit_rf_ctrl_clear:	
+g24_transmit_rf_ctrl_clear:
 	fetch 1,mem_24g_data_type
 	and_into bits_data,pdata
 	store 1,mem_24g_data_type
@@ -158,28 +158,28 @@
 	bpatchx patch33_2,mem_patch33
 	fetch 1,mem_device_option
 	beq DVC_OP_MOUSE,mouse_g24_retransmit
-g24_retransmit0:	
+g24_retransmit0:
 	fetch 1,mem_24g_abort_pac
 	nrtn blank
 	fetch 2,mem_24g_txfail_cnt
 	increase 1,pdata
-	store 2,mem_24g_txfail_cnt	
+	store 2,mem_24g_txfail_cnt
 	fetch 1,mem_24g_txfail_cnt+1
 	bbit1 4,g24_tx_attempt_fail
 	call g24_transmit_hop_process
 	fetch 2,mem_24g_retransmit
 	increase 1,pdata
-	store 2,mem_24g_retransmit	
+	store 2,mem_24g_retransmit
 	branch g24_transmit_loop
 
 g24_ackpayload_parse:
 	bpatchx patch33_3,mem_patch33
 	call g24_read_len_pid_crc
-	fetch 1,mem_24g_rxdata_length	//ack payload length 
+	fetch 1,mem_24g_rxdata_length	//ack payload length
 	rtn blank
 	iforce loopcnt
 	arg mem_24g_rxbuf+2,contr
-	arg mem_24g_rxpayload,contw	//ack payload buffer 
+	arg mem_24g_rxpayload,contw	//ack payload buffer
 	branch memcpy
 
 
@@ -188,7 +188,7 @@
 	setarg 0
 	store 2,mem_24g_txfail_cnt
 	jam 1,mem_24g_attempt_fail_flag
-g24_stop_24g_mode:	
+g24_stop_24g_mode:
 	jam BT_EVT_24G_ATTEMPT_FAIL,mem_fifo_temp
 	branch ui_ipc_send_event
 
@@ -213,14 +213,14 @@
 	fetch 1,mem_24g_retry
 	beq 6,g24_hop_ch_disable
 	beq 12,g24_hop_ch_disable
-	rtn	
+	rtn
 
 
 g24_transmit_hop_process_4ms:
 	fetch 1,mem_24g_retry
 	beq 3,g24_hop_ch_disable
 	beq 6,g24_hop_ch_disable
-	rtn	
+	rtn
 
 
 
@@ -229,7 +229,7 @@
 	//set1 bit_hop,pdata
 	//store 1,mem_24g_data_type
 	//update txpayload
-g24_txpayload_type_update:	
+g24_txpayload_type_update:
 	bmark1 mark_ble_lr,g24_lr_type_update
 	store 1,mem_24g_txpayload+OFFSET_DATA_TYPE
 	rtn
@@ -252,7 +252,7 @@
 	call power_ctrl_txpower_incrs
 	call power_ctrl_pac_succ_decrs
 	branch g24_ch
-	
+
 /****************************g24 transmitter hop end********************************/
 
 
@@ -297,7 +297,7 @@
 	store 1,mem_24g_data_type
 	call g24_transmit_prep
 	branch g24_transmit_start
-	
+
 
 
 g24_lpm_wait:
@@ -339,7 +339,7 @@
 	call g24_transmit_by_interrupt_exit,zero
 	branch g24_transmit_no_interrupt
 
-	
+
 g24_transmit_by_interrupt_exit:
 	jam G24_TX_TIMER_INT_DISABLE,mem_24g_transmit_by_interrupt
 	setarg 0
@@ -355,7 +355,7 @@
 g24_interval_max:
 	fetch 1,mem_24g_interval_max
 	branch g24_interval_store
-	
+
 g24_interval_calibrate:
 	fetch 1,mem_24g_pac_index
 	increase 1,pdata
@@ -395,4 +395,4 @@
 
 
 
-	
+
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/program/patch.prog	(revision 3174)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/program/patch.prog	(working copy)
@@ -18,6 +18,7 @@
 	beq patch07_1,p_dongle_write_kb_bind_status
 	beq patch07_5,p_dongle_usb_dispatch
 	beq patch07_6,p_dongle_work_mode_auto
+	beq patch16_1,p_usb_init2
 	beq patch18_5,p_otp_read_data
 	beq patch1b_2,p_sadc_calibration
 	beq patch1b_4,p_enable_adc
@@ -35,11 +36,12 @@
 	beq patch2d_6,p_g24_receive_skip_fec1
 	beq patch2d_7,p_g24_receive_skip_end
 	beq patch2e_5,p_g24_read_len_pid_crc
-	//beq patch30_1,p_g24_bind_data_process
+	beq patch30_1,p_g24_bind_data_process
 	beq patch30_2,p_g24_bind_data_parse_next
 	beq patch30_4,p_g24_receive_packet_start1
 	beq patch31_0,p_g24_mode_switch_bind_search
 	beq patch31_2,p_g24_bind_mode_auto
+	beq patch31_3,p_g24_search_mode_auto
 	rtneq patch31_5
 	rtneq patch3f_7
 	branch assert
@@ -52,13 +54,69 @@
 	nop 30000
 	branch soft_reset+2
 
+
+
+
+p_usb_init2:
+	setarg dongle_dispatch
+	store 2,mem_cb_24g_receive_process
+	setarg p_dongle_g24_mouse
+	store 2,mem_cb_24g_data_device1
+	setarg p_dongle_g24_kb
+	store 2,mem_cb_24g_data_device2
+	setarg dongle_ackpayload_prep
+	store 2,mem_cb_24g_ackpayload
+	setarg dongle_usb_config
+	store 2,mem_cb_usb_config
+	branch usb_init
+
+p_g24_search_mode_auto:
+	fetch 1,mem_24g_work_mode
+	rtnne DONGLE_SEARCH
+	call g24_search_mode_init
+	call g24_auto_addr_ch_search
+	call g24_receive_transmit_ack
+	nbranch g24_rx_interrupt_clear,user3
+	//dongle addr,then parse rxdata
+	call g24_receiver_addr_check
+	call p_g24_receive_packet_parse2,zero
+	branch g24_search_mode_auto+9
+
+
 p_dongle_work_mode_auto:
 	fetch 1,mem_24g_work_mode
 	rtnne DONGLE_WORK
 	call p_mouse_ackpayload_set
-	call g24_work_mode_start
+	call p_g24_work_mode_start
 	branch dongle_g24_blank_data_process
 
+p_g24_work_mode_start:
+	fetch 1,mem_24g_work_mode
+	rtnne DONGLE_WORK
+	call g24_work_init
+	call g24_ch_process
+	branch p_g24_receive_packet_start
+
+p_g24_receive_packet_start:
+	call g24_receive_transmit_ack
+	nbranch g24_rx_interrupt_clear,user3
+p_g24_receive_packet_parse2:
+	call g24_receive_packet_parse_pid_crc
+	nbranch g24_rx_interrupt_clear,user
+	call p_usb_rx_temp_clear
+	fetch 1,mem_24g_rxdata_length
+	branch g24_rx_interrupt_clear,blank
+	increase 2,pdata
+	iforce loopcnt
+	arg mem_24g_rxbuf,contr
+	arg mem_24g_rxdata_temp_new,contw
+	branch g24_receive_packet_parse+8
+
+p_usb_rx_temp_clear:
+	arg mem_24g_rxdata_temp_new,contw
+	arg 65,loopcnt
+	branch clear_mem
+
 p_mouse_ackpayload_set:
 	fetch 1,mem_24g_ackpayload_enable_temp
 	store 1,mem_24g_ackpayload_enable
@@ -602,46 +660,102 @@
 	branch p_usb_tx_data_ep2
 
 p_g24_receive_packet_start1:
-	fetch 1,mem_24g_rxdata_temp+2
-	beq DATATYPE_DEVICE1,g24_data_device1	//mouse
-	beq DATATYPE_DEVICE2,g24_data_device2	//keyboard
-	beq DATATYPE_ATTEMP,g24_data_receive_attemp	//reconn packet
+	fetch 1,mem_24g_rxdata_temp_new+2
+	beq DATATYPE_DEVICE1,p_g24_data_device1	//mouse
+	beq DATATYPE_DEVICE2,p_g24_data_device2	//keyboard
+	beq DATATYPE_ATTEMP,p_g24_data_receive_attemp	//reconn packet
 	bbit1 DATATYPE_AUDIO,p_g24_data_receive_heart_authca_audio
 	bbit1 DATATYPE_AUTHCA,p_g24_data_receive_heart_authca_audio
 	bbit1 DATATYPE_HEART,p_g24_data_receive_heart_authca_audio
 	branch g24_rx_interrupt_clear
 p_g24_data_receive_heart_authca_audio:
-	fetch 1,mem_24g_rxdata_temp+2
+	fetch 1,mem_24g_rxdata_temp_new+2
 	and pdata,0x0f,pdata
 	beq DATATYPE_DEVICE1,g24_data_device1
 	beq DATATYPE_DEVICE2,g24_data_device2
 	branch g24_rx_interrupt_clear
 
+p_g24_data_receive_attemp:
+	call p_g24_bind_device_status		//works on auto pair only
+	branch p_g24_data_attemp
+
+
+p_g24_data_device1:
+	call g24_binding_dvc1_living	//works on auto pair only
+	call g24_ch_timer_reinit
+	fetch 1,mem_24g_abort_packet
+	fetcht 1,mem_24g_rxdata_temp_new
+	isolate1 bit_abort,temp
+	setflag true,0,pdata
+	store 1,mem_24g_abort_packet
+	beq 1,p_g24_data_attemp_device1_abort
+	fetch 1,mem_24g_hop_packet
+	fetcht 1,mem_24g_rxdata_temp_new
+	isolate1 bit_hop,temp
+	setflag true,0,pdata
+	store 1,mem_24g_hop_packet
+	fetch 2,mem_cb_24g_data_device1
+	branch callback_func
+
+p_g24_data_attemp_device1_abort:
+	fetch 1,mem_device_option
+	sub pdata,DVC_OP_CAR,null
+	call car_stop_blink,zero
+	fetch 1,mem_24g_device1_bind_disable
+	nrtn blank
+	jam 1,mem_24g_device1_bind_disable
+	fetch 4,mem_24g_rxdata_temp_new+10
+	branch g24_store_device1_addr
+p_g24_data_attemp_device2_abort:
+	fetch 4,mem_24g_rxdata_temp_new+10
+	branch g24_store_device2_addr
+
+p_g24_data_device2:
+	call g24_binding_dvc2_living	//works on auto pair only
+	fetcht 1,mem_24g_rxdata_temp_new
+	isolate1 bit_abort,temp
+	branch p_g24_data_attemp_device2_abort,true
+	fetch 2,mem_cb_24g_data_device2
+	branch callback_func
+
 p_dongle_g24_mouse:
-	fetch 1,mem_24g_rxdata_temp+2
+	fetch 1,mem_24g_rxdata_temp_new+2
 	bbit1 DATATYPE_AUDIO,p_dongle_g24_mouse_audio_data
 	bbit1 DATATYPE_AUTHCA,p_dongle_g24_mouse_authca_data
 	bbit1 DATATYPE_HEART,p_dongle_g24_mouse_heart_data
-	branch dongle_g24_mouse
+	branch p_dongle_g24_mouse_next
+
+p_dongle_g24_mouse_next:
+	setarg MS_REPORT_ID
+	store 1,mem_usb_mouse_data	//report id
+	fetch 7,mem_24g_rxdata_temp_new+3	//key
+	istore 7,contw
+	fetch 1,mem_24g_rxdata_temp_new+3	//key
+	ncall dongle_g24_ms_enable_blank_data_forcibly,blank//get kb data
+	fetch 1,mem_24g_rxdata_temp_new+3	//key
+	call dongle_g24_ms_disable_blank_data_forcibly,blank
+	branch dongle_usb_tx_ms_data
+
 p_dongle_g24_mouse_heart_data:
-	fetch 1,mem_dongle_usb_ep2_data_flag
-	rtn blank
-	jam 0,mem_dongle_usb_ep2_data_flag
-	jam REPORT_ID_DATA_OUT,mem_24g_ackpayload_enable
-	jam REPORT_ID_DATA_OUT,mem_24g_ackpayload_enable_temp
-	fetch 1,mem_dongle_g24_usb_ep2_ack_data+1
-	increase 2,pdata
-	store 1,mem_dongle_usb_ep2_data_len
-	copy pdata,loopcnt
-	arg mem_dongle_g24_usb_ep2_ack_data,contr
-	arg mem_24g_txbuf,contw
-	branch memcpy
+
+	// fetch 1,mem_dongle_usb_ep2_data_flag
+	// rtn blank
+	// jam 0,mem_dongle_usb_ep2_data_flag
+	// jam REPORT_ID_DATA_OUT,mem_24g_ackpayload_enable
+	// jam REPORT_ID_DATA_OUT,mem_24g_ackpayload_enable_temp
+	// fetch 1,mem_dongle_g24_usb_ep2_ack_data+1
+	// increase 2,pdata
+	// store 1,mem_dongle_usb_ep2_data_len
+	// copy pdata,loopcnt
+	// arg mem_dongle_g24_usb_ep2_ack_data,contr
+	// arg mem_24g_txbuf,contw
+	// branch memcpy
 
 p_dongle_g24_mouse_audio_data:
 	fetchr loopcnt,1,mem_24g_rxdata_length
 	increase -1,pdata
 	arg mem_usb_audio_data+3,contw
-	arg mem_24g_rxdata_temp+3,contr
+	arg mem_24g_rxdata_temp_new+3,contr
 	call memcpy
 	fetchr loopcnt,1,mem_24g_rxdata_length
 	increase -1,pdata
@@ -665,7 +779,7 @@
 	fetchr loopcnt,1,mem_24g_rxdata_length
 	increase -1,loopcnt
 	arg mem_usb_authca_data+2,contw
-	arg mem_24g_rxdata_temp+3,contr
+	arg mem_24g_rxdata_temp_new+3,contr
 	call memcpy
 	fetchr loopcnt,1,mem_24g_rxdata_length
 	increase -1,pdata
@@ -721,11 +835,35 @@
 	// branch p_usb_get_report_enable
 	//branch p_usb_get_report_data_self
 p_dongle_g24_keyboard:
-	fetch 1,mem_24g_rxdata_temp+2
+	fetch 1,mem_24g_rxdata_temp_new+2
 	bbit1 DATATYPE_AUDIO,p_dongle_g24_mouse_audio_data		//reserve
 	bbit1 DATATYPE_AUTHCA,p_dongle_g24_mouse_authca_data
-	branch dongle_g24_kb
+	branch p_dongle_g24_kb
 
+p_dongle_g24_kb:
+	fetch 1,mem_24g_rxdata_temp_new+3
+	beq 0,p_dongle_g24_kb_type0	//normal key
+	beq 2,p_dongle_g24_kb_type2	//system key
+	beq 3,p_dongle_g24_kb_type3	//multikey
+	branch g24_rx_interrupt_clear
+
+p_dongle_g24_kb_type0:
+	fetch 1,mem_24g_rxdata_temp_new+5
+	store 1,mem_24g_ackpayload_enable
+	jam 0,mem_24g_rxdata_temp_new+5
+	arg mem_usb_kb_data,contw
+	arg mem_24g_rxdata_temp_new+4,contr
+	branch dongle_g24_kb_type0+5
+
+p_dongle_g24_kb_type2:
+	arg mem_usb_kb_system,contw
+	arg mem_24g_rxdata_temp_new+3,contr
+	branch dongle_g24_kb_type2+2
+
+p_dongle_g24_kb_type3:
+	arg mem_usb_kb_multikey,contw
+	arg mem_24g_rxdata_temp_new+3,contr
+	branch dongle_g24_kb_type3+2
 
 p_dongle_ackpayload_prep:
 	fetch 1,mem_24g_data_type
@@ -950,22 +1088,44 @@
 	branch le_init_adv+1
 
 p_g24_bind_data_parse_next:
-	fetch 1,mem_24g_rxdata_temp+2
+	fetch 1,mem_24g_rxdata_temp_new+2
 	beq DATATYPE_BIND,g24_bind_first_step	//bind step 1
 	beq DATATYPE_CONFIG,g24_bind_second_step
 	beq DATATYPE_OK,p_g24_bind_third_step
-	beq DATATYPE_ATTEMP,g24_data_attemp
+	beq DATATYPE_ATTEMP,p_g24_data_attemp
+	rtn
+
+p_g24_data_attemp:
+	fetch 1,mem_24g_rxdata_temp_new+3
+	beq DATATYPE_DEVICE1,p_g24_data_attemp_device1
+	beq DATATYPE_DEVICE2,p_g24_data_attemp_device2
+	rtn
+p_g24_data_attemp_device1:
+	fetch 1,mem_24g_device1_bind_disable
+	nrtn blank
+	fetch 4,mem_24g_rxdata_temp_new+4
+	store 4,mem_24g_transmitter_addr
+p_g24_store_device1_addr:
+	store 4,mem_24g_device1_addr
+	rtn
+p_g24_data_attemp_device2:
+	fetch 1,mem_24g_device2_bind_disable
+	nrtn blank
+	fetch 4,mem_24g_rxdata_temp_new+4
+	store 4,mem_24g_transmitter_addr
+p_g24_store_device2_addr:
+	store 4,mem_24g_device2_addr
 	rtn
 
 p_g24_bind_third_step:
 	fetch 1,mem_24g_pair_switch
 	branch p_g24_bind_third_step_skip,blank
-	fetch 4,mem_24g_rxdata_temp+4
+	fetch 4,mem_24g_rxdata_temp_new+4
 	fetcht 4,mem_24g_transmitter_addr
 	isub temp,null
 	nrtn zero
 p_g24_bind_third_step_skip:
-	fetch 1,mem_24g_rxdata_temp+3
+	fetch 1,mem_24g_rxdata_temp_new+3
 	beq DATATYPE_DEVICE1,p_g24_bind_third_step_device1
 	beq DATATYPE_DEVICE2,p_g24_bind_third_step_device2
 	rtn
@@ -1117,40 +1277,53 @@
 	store 1,mem_24g_sta_pid
 	rtn
 
-
-
-/*
 p_g24_bind_data_process:
 	call g24_rx_interrupt_clear
 	call g24_receive_packet
 	nbranch g24_rx_interrupt_clear,user3
-ifdef UART_LOG
-	call p_24g_rxpayload_print
-endif
-	call g24_bind_data_parse
-	call p_g24_bind_transmit_ack
-	call g24_bind_device_status_check
-	call dongle_kb_bind_soft_reset
+	call p_g24_bind_data_parse
+	call g24_transmit_ack
+	call p_g24_bind_device_status_check
+	branch g24_bind_data_process+7
+
+p_g24_bind_data_parse:
+	jam BIND_MODE_CONTINUE,mem_24g_bind_mode_continue	//about 400ms
+	arg mem_24g_rxbuf,contr
+	arg mem_24g_rxdata_temp_new,contw
+	call memcpy8
+	fetch 1,mem_24g_rxdata_temp_new+2
+	beq DATATYPE_BIND,p_g24_bind_first_step	//bind step 1
+	beq DATATYPE_CONFIG,p_g24_bind_second_step
+	beq DATATYPE_OK,p_g24_bind_third_step
+	beq DATATYPE_ATTEMP,g24_data_attemp
+	rtn
+
+p_g24_bind_first_step:
+	fetch 1,mem_24g_rxdata_temp_new+3
+	branch g24_bind_first_step+1
+
+p_g24_bind_second_step:
 	fetch 1,mem_24g_pair_switch
-	rtn blank
-	fetch 4,mem_24g_transmitter_addr
-	rtn blank
-	branch g24_update_addr_and_synccrc8
+	branch p_g24_bind_second_step_skip,blank
+	fetch 4,mem_24g_rxdata_temp_new+4
+	fetcht 4,mem_24g_lap
+	isub temp,null
+	nrtn zero
+p_g24_bind_second_step_skip:
+	fetch 1,mem_24g_rxdata_temp_new+3
+	beq DATATYPE_DEVICE1,g24_bind_second_step_device1
+	beq DATATYPE_DEVICE2,g24_bind_second_step_device2
+	rtn
 
 
-p_g24_bind_transmit_ack:
-	fetch 1,mem_24g_rxbuf
-	store 1,mem_24g_data_type
-	call g24_read_len_pid_crc
-	call g24_ackpayload_prep
-	nbranch g24_end_of_packet,user3
-	call g24_transmit_prep
-	call g24_transmit
-ifdef UART_LOG
-	call p_24g_txpayload_print
-endif
-	branch g24_end_of_packet
-*/
+p_g24_bind_device_status_check:
+	fetch 1,mem_24g_bind_device_status
+	rtn blank
+p_g24_bind_device_status:
+	fetch 1,mem_24g_rxdata_temp_new+3
+	beq DATATYPE_DEVICE1,g24_binding_dvc1_living
+	beq DATATYPE_DEVICE2,g24_binding_dvc2_living
+	rtn
 
 ifdef UART_LOG
 p_device_hardware_init:
