Index: format/app_dongle.format
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/format/app_dongle.format	(revision 4991)
+++ /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/format/app_dongle.format	(working copy)
@@ -34,13 +34,14 @@
 
 //usb config
 70 mem_hidreportdesc_Interface0_kb
-//200 mem_hidreportdesc_Interface1_ms
 50 mem_hidreportdesc_Interface2_pc
 100 mem_confdesc_all
 0 mem_usb_clear_mem0_start
-64 mem_usb_out_data_temp
-64 mem_usb_out_data
-2 mem_usb_out_data_len
+1 mem_dg_rep_ms_ack_data_flag
+64 mem_dg_rep_ms_ack_data
+64 mem_usb_ep3_out_data
+2 mem_usb_ep3_out_data_len
+1 mem_usb_ep3_out_data_flag
 65 mem_usb_txbuf3
 0 mem_usb_clear_mem0_end
 //g24 buff
@@ -56,8 +57,6 @@
 //diff pack type set
 1 mem_dg_ms_rf_key_last
 1 mem_dg_version
-1 mem_dg_rep_ms_ack_data_flag
-65 mem_dg_rep_ms_ack_data
 64 mem_dg_ms_audio_data_sta
 64 mem_dg_ms_audio_data_last
 65 mem_dg_ms_audio_data
@@ -69,6 +68,12 @@
 )
 
 (
+3 EP3_OUT_MIN_LEN
+1 EP3_OUT_PAYLOAD_MIN_LEN
+7 OPCODE_1_7
+
+
+
 //data type
 3 HEART_BIT
 4 HTTP_BIT
Index: output/eeprom.dat
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/output/eeprom.dat	(revision 4991)
+++ /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/output/eeprom.dat	(working copy)
@@ -2,8 +2,8 @@
 02
 aa
 55
-da
-10
+62
+11
 c2
 84
 00
@@ -47,7 +47,7 @@
 c0
 1b
 82
-d3
+d0
 c0
 1c
 00
@@ -59,15 +59,15 @@
 c0
 1e
 82
-d0
+e5
 c0
 1f
 03
-7b
+9d
 c0
 58
-82
-ea
+83
+03
 c0
 62
 80
@@ -111,31 +111,31 @@
 c0
 37
 03
-41
+63
 c0
 37
 82
-dc
+d9
 c0
 39
 03
-36
+58
 c0
 39
 83
-21
+43
 c0
 3a
 83
-50
+72
 c0
 3f
 02
-e6
+ff
 c0
 40
 83
-60
+82
 c0
 41
 02
@@ -143,11 +143,11 @@
 c0
 42
 03
-a1
+c3
 c0
 42
 83
-a6
+c8
 c0
 44
 02
@@ -1131,27 +1131,27 @@
 d8
 a0
 47
-73
+b4
 20
 40
 79
 94
 6f
-21
+e1
 07
 0c
-d8
-c0
+67
+e1
 47
-73
-d8
-a0
+f4
+70
 47
-b3
-20
+f6
+01
 20
-7c
-da
+60
+00
+00
 6f
 e0
 88
@@ -1527,7 +1527,7 @@
 da
 20
 4a
-c2
+82
 20
 40
 7d
@@ -1647,7 +1647,7 @@
 da
 20
 4a
-c2
+82
 20
 40
 7d
@@ -1687,7 +1687,7 @@
 da
 20
 4a
-c2
+82
 20
 40
 7d
@@ -1698,7 +1698,7 @@
 00
 70
 4a
-c1
+81
 00
 c0
 18
@@ -1714,8 +1714,8 @@
 5a
 6f
 e0
-ca
-3f
+c9
+ff
 20
 7a
 00
@@ -1727,15 +1727,15 @@
 d8
 c0
 4a
-40
+00
 20
 40
 01
 ba
 d8
 a0
-4a
-3f
+49
+ff
 df
 20
 00
@@ -1747,7 +1747,7 @@
 6f
 e0
 ca
-80
+40
 20
 7a
 00
@@ -1759,7 +1759,7 @@
 d8
 c0
 4a
-81
+41
 20
 40
 01
@@ -1767,7 +1767,7 @@
 d8
 a0
 4a
-80
+40
 20
 20
 01
@@ -1779,7 +1779,7 @@
 da
 20
 47
-f5
+f7
 62
 31
 0c
@@ -2451,7 +2451,7 @@
 58
 00
 48
-36
+38
 d8
 a0
 47
@@ -2539,7 +2539,7 @@
 20
 40
 03
-6c
+8e
 24
 37
 b3
@@ -2551,7 +2551,7 @@
 20
 42
 83
-95
+b7
 6f
 e0
 c6
@@ -2567,7 +2567,7 @@
 6f
 e0
 c9
-28
+2a
 c0
 55
 02
@@ -2591,7 +2591,7 @@
 6f
 e0
 c9
-29
+2b
 20
 20
 33
@@ -2607,7 +2607,7 @@
 6f
 e2
 49
-2a
+2c
 68
 4a
 44
@@ -2623,7 +2623,7 @@
 6f
 e0
 c9
-29
+2b
 20
 20
 33
@@ -2631,7 +2631,7 @@
 6f
 e0
 c9
-29
+2b
 c0
 00
 82
@@ -2655,7 +2655,7 @@
 6f
 e2
 49
-2a
+2c
 67
 e2
 46
@@ -2675,7 +2675,7 @@
 6f
 e2
 49
-2a
+2c
 67
 e2
 46
@@ -2695,7 +2695,7 @@
 6f
 e2
 49
-2a
+2c
 68
 4a
 46
@@ -2711,7 +2711,7 @@
 6f
 e0
 c9
-29
+2b
 c0
 00
 82
@@ -2885,18 +2885,6 @@
 33
 07
 20
-20
-48
-68
-58
-00
-00
-10
-20
-20
-70
-c8
-20
 40
 47
 c3
@@ -2951,7 +2939,7 @@
 6f
 e0
 c8
-37
+39
 79
 20
 7e
@@ -2959,7 +2947,7 @@
 67
 e0
 c8
-37
+39
 20
 40
 33
@@ -2972,6 +2960,118 @@
 20
 31
 95
+58
+00
+00
+10
+20
+20
+70
+c8
+6f
+e0
+89
+01
+20
+5a
+48
+b5
+20
+40
+79
+06
+6f
+e0
+c7
+f6
+20
+7a
+00
+00
+70
+47
+f6
+00
+6f
+e0
+87
+0c
+1f
+e6
+7c
+03
+20
+61
+00
+00
+6f
+e0
+c7
+b5
+1f
+e6
+7c
+01
+20
+61
+00
+00
+6f
+e0
+c7
+b6
+1f
+e6
+7c
+07
+20
+21
+02
+f5
+20
+20
+48
+75
+df
+20
+00
+40
+d8
+a0
+47
+74
+20
+40
+7c
+a1
+70
+47
+73
+01
+70
+46
+11
+08
+6f
+20
+c7
+b4
+1f
+20
+f2
+02
+d8
+c0
+47
+b4
+d8
+a0
+47
+74
+20
+20
+7c
+da
 70
 45
 d0
@@ -2979,7 +3079,7 @@
 6f
 e2
 49
-77
+79
 67
 e2
 45
@@ -2999,7 +3099,7 @@
 58
 00
 03
-c8
+ea
 67
 e1
 45
@@ -3007,15 +3107,15 @@
 58
 00
 04
-25
+47
 67
 e1
 45
 e6
 58
 00
-02
-f5
+03
+0e
 67
 e1
 45
@@ -3038,24 +3138,24 @@
 89
 c0
 00
-82
-f8
+83
+11
 c0
 01
-02
-ff
+03
+18
 6f
 e0
 c6
 93
 c2
 80
-02
-fb
+03
+14
 20
 20
 03
-01
+1a
 6f
 e0
 c6
@@ -3071,7 +3171,7 @@
 20
 20
 03
-08
+2a
 6f
 e0
 c6
@@ -3079,7 +3179,7 @@
 c2
 80
 83
-05
+27
 6f
 e0
 c6
@@ -3087,15 +3187,51 @@
 c0
 00
 83
-0c
+2e
 c0
 01
 83
-14
+36
+c0
+04
+03
+1f
 20
 60
 00
 00
+70
+45
+89
+01
+6f
+e0
+c7
+75
+1f
+e0
+fe
+02
+67
+e0
+c5
+88
+1f
+e2
+72
+00
+d8
+c0
+47
+74
+d8
+a0
+48
+88
+20
+20
+7c
+da
 6f
 e0
 c6
@@ -3119,7 +3255,7 @@
 67
 e0
 c8
-86
+88
 20
 60
 00
@@ -3131,7 +3267,7 @@
 20
 40
 03
-1b
+3d
 24
 77
 80
@@ -3151,7 +3287,7 @@
 d8
 a0
 48
-86
+88
 20
 20
 7c
@@ -3159,15 +3295,15 @@
 6f
 e0
 c8
-38
+3a
 c0
 00
 83
-0c
+2e
 c0
 7f
 83
-0c
+2e
 70
 08
 f9
@@ -3183,7 +3319,7 @@
 20
 20
 03
-0a
+2c
 6f
 e0
 c6
@@ -3203,7 +3339,7 @@
 6f
 e0
 c8
-39
+3b
 20
 20
 33
@@ -3227,7 +3363,7 @@
 67
 e0
 c8
-d6
+d8
 6f
 e0
 c5
@@ -3283,7 +3419,7 @@
 d8
 c0
 48
-86
+88
 20
 40
 7c
@@ -3295,7 +3431,7 @@
 c5
 17
 83
-3b
+5d
 6f
 e0
 c5
@@ -3303,7 +3439,7 @@
 24
 3a
 03
-3b
+5d
 78
 4e
 fc
@@ -3331,7 +3467,7 @@
 d8
 c0
 48
-d6
+d8
 20
 20
 31
@@ -3343,15 +3479,15 @@
 67
 e0
 c8
-36
+38
 c5
 13
 83
-49
+6b
 6f
 e0
 c8
-36
+38
 1f
 e9
 7e
@@ -3399,7 +3535,7 @@
 6f
 e0
 c8
-37
+39
 67
 e0
 c5
@@ -3411,7 +3547,7 @@
 d8
 c0
 48
-37
+39
 98
 c0
 8c
@@ -3427,7 +3563,7 @@
 6f
 e0
 c8
-36
+38
 1f
 e1
 04
@@ -3435,7 +3571,7 @@
 60
 48
 c9
-76
+78
 1f
 e3
 04
@@ -3455,7 +3591,7 @@
 67
 e0
 c8
-36
+38
 20
 60
 00
@@ -3475,15 +3611,15 @@
 20
 40
 03
-67
+89
 20
 40
 03
-6f
+91
 20
 40
 03
-77
+99
 20
 20
 33
@@ -3495,11 +3631,11 @@
 d8
 c0
 48
-36
+38
 d8
 a0
 49
-26
+28
 20
 40
 7c
@@ -3523,7 +3659,7 @@
 6f
 e0
 c8
-36
+38
 1f
 e9
 7e
@@ -3535,11 +3671,11 @@
 20
 40
 03
-50
+72
 6f
 e0
 c9
-76
+78
 2f
 ef
 fe
@@ -3563,7 +3699,7 @@
 6f
 e0
 c9
-29
+2b
 20
 20
 33
@@ -3579,7 +3715,7 @@
 20
 40
 03
-8f
+b1
 20
 40
 48
@@ -3663,11 +3799,11 @@
 20
 40
 03
-8a
+ac
 20
 40
 03
-6c
+8e
 24
 37
 b3
@@ -3699,11 +3835,11 @@
 d8
 c0
 48
-36
+38
 d8
 a0
 49
-26
+28
 20
 40
 7c
@@ -3719,15 +3855,15 @@
 20
 5a
 03
-a9
+cb
 6f
 e0
 c9
-28
+2a
 c0
 7f
 83
-af
+d1
 1f
 e1
 7e
@@ -3735,15 +3871,15 @@
 c0
 00
 83
-b1
+d3
 c0
 01
 03
-c1
+e3
 d8
 a0
 48
-36
+38
 df
 20
 00
@@ -3779,7 +3915,7 @@
 20
 40
 03
-79
+9b
 20
 20
 02
@@ -3799,7 +3935,7 @@
 68
 48
 c9
-26
+28
 28
 4f
 fe
@@ -3815,7 +3951,7 @@
 c0
 00
 83
-bc
+de
 6f
 e0
 c6
@@ -3823,7 +3959,7 @@
 68
 48
 c9
-26
+28
 20
 20
 33
@@ -3843,7 +3979,7 @@
 6f
 e2
 49
-30
+32
 20
 20
 35
@@ -3855,7 +3991,7 @@
 68
 48
 c9
-26
+28
 28
 4f
 fe
@@ -3863,7 +3999,7 @@
 20
 20
 83
-c6
+e8
 20
 20
 33
@@ -3871,7 +4007,7 @@
 6f
 e2
 49
-30
+32
 20
 20
 35
@@ -3879,27 +4015,27 @@
 6f
 e0
 c9
-28
+2a
 c2
 83
-03
-ef
+04
+11
 c2
 83
-83
-ef
+84
+11
 c2
 82
-83
-fa
+84
+1c
 c2
 82
-03
-f9
+04
+1b
 c2
 81
 84
-17
+39
 6f
 e0
 c5
@@ -3910,12 +4046,12 @@
 09
 20
 22
-83
-df
+84
+01
 20
 40
-03
-df
+04
+01
 6f
 e0
 c5
@@ -3935,11 +4071,11 @@
 d8
 a0
 49
-28
+2a
 d8
 c0
 49
-30
+32
 20
 40
 7c
@@ -3947,23 +4083,23 @@
 6f
 e0
 c9
-28
+2a
 c2
 83
-03
-ef
+04
+11
 c2
 82
-83
-fa
+84
+1c
 c2
 82
-03
-f9
+04
+1b
 c2
 81
 84
-17
+39
 20
 60
 00
@@ -3979,7 +4115,7 @@
 6f
 e3
 c9
-29
+2b
 e7
 e3
 80
@@ -3987,7 +4123,7 @@
 6f
 e0
 c9
-29
+2b
 24
 5a
 48
@@ -3995,7 +4131,7 @@
 6f
 e0
 c9
-29
+2b
 20
 5a
 48
@@ -4003,15 +4139,15 @@
 6f
 e0
 c9
-29
+2b
 68
 48
 c9
-7b
+7d
 67
 e0
 c9
-7b
+7d
 98
 46
 7c
@@ -4023,7 +4159,7 @@
 6f
 e3
 49
-2a
+2c
 20
 7a
 00
@@ -4034,11 +4170,11 @@
 36
 70
 4a
-80
+40
 40
 70
 4a
-81
+41
 c0
 6f
 20
@@ -4051,11 +4187,11 @@
 d8
 c0
 49
-29
+2b
 d8
 a0
 4a
-82
+42
 20
 40
 7c
@@ -4063,15 +4199,15 @@
 20
 40
 03
-a6
+c8
 70
 4a
-c1
+81
 31
 20
 20
 04
-1c
+3e
 20
 60
 00
@@ -4087,11 +4223,11 @@
 d8
 c0
 49
-29
+2b
 d8
 a0
 49
-bf
+7f
 20
 40
 7c
@@ -4107,11 +4243,11 @@
 da
 40
 49
-ff
+bf
 da
 20
 49
-bf
+7f
 20
 40
 7d
@@ -4119,7 +4255,7 @@
 24
 42
 84
-0a
+2c
 6f
 20
 c5
@@ -4131,22 +4267,22 @@
 d8
 c0
 49
-bf
+7f
 d8
 a0
 49
-ff
+bf
 20
 20
 7c
 da
 70
-4a
-3f
+49
+ff
 40
 70
 4a
-40
+00
 cc
 6f
 e0
@@ -4159,7 +4295,7 @@
 67
 e0
 ca
-41
+01
 6f
 20
 c5
@@ -4171,11 +4307,11 @@
 d8
 c0
 49
-bf
+7f
 d8
 a0
 4a
-42
+02
 20
 40
 7c
@@ -4183,26 +4319,26 @@
 20
 40
 03
-a6
+c8
 70
 4a
-c1
+81
 30
 20
 20
 04
-1c
+3e
 6f
 e0
-c9
-7d
+c7
+73
 20
 7a
 00
 00
 70
-49
-7d
+47
+73
 00
 70
 46
@@ -4223,7 +4359,7 @@
 da
 20
 4a
-c2
+82
 20
 40
 7d
@@ -4235,7 +4371,7 @@
 6f
 e0
 ca
-c1
+81
 67
 e0
 86
@@ -4243,7 +4379,7 @@
 da
 20
 4a
-c2
+82
 20
 20
 7d
@@ -4251,19 +4387,19 @@
 6f
 e0
 c9
-29
+2b
 c0
 00
 04
-2a
+4c
 c0
 01
 04
-30
+52
 c0
 01
 84
-33
+55
 20
 20
 33
@@ -4271,14 +4407,14 @@
 6f
 e0
 c9
-2b
+2d
 67
 e0
 c6
 11
 70
 49
-2b
+2d
 00
 d8
 a0
@@ -4287,7 +4423,7 @@
 d8
 c0
 49
-2a
+2c
 20
 20
 48
@@ -4299,7 +4435,7 @@
 d8
 c0
 49
-29
+2b
 20
 20
 49
@@ -4311,13 +4447,13 @@
 d8
 c0
 49
-29
+2b
 20
 20
 49
 07
-44
-a3
+2a
+a4
 aa
 55
 40
@@ -4513,7 +4649,7 @@
 55
 04
 00
-77
+79
 49
 25
 20
@@ -4523,7 +4659,7 @@
 55
 01
 00
-7c
+7e
 49
 01
 aa
@@ -4937,146 +5073,10 @@
 aa
 aa
 55
-d4
+d8
 7e
-d0
-2c
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+5a
+3b
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-23
-62
+0a
+96
Index: output/memmap.format
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/output/memmap.format	(revision 4991)
+++ /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/output/memmap.format	(working copy)
@@ -1487,27 +1487,27 @@
 0x46dd mem_hidreportdesc_Interface2_pc
 0x470f mem_confdesc_all
 0x4773 mem_usb_clear_mem0_start
-0x4773 mem_usb_out_data_temp
-0x47b3 mem_usb_out_data
-0x47f3 mem_usb_out_data_len
-0x47f5 mem_usb_txbuf3
-0x4836 mem_usb_clear_mem0_end
-0x4836 mem_24g_rxbuf_new
-0x4886 mem_24g_txbuf_new
-0x48d6 mem_24g_txpayload_new
-0x4926 mem_24g_rxdata_temp_new
-0x4976 mem_24g_rxdata_ack_flag
-0x4977 mem_24g_pair_addr_new
-0x497b mem_dg_ms_rf_key_last
-0x497c mem_dg_version
-0x497d mem_dg_rep_ms_ack_data_flag
-0x497e mem_dg_rep_ms_ack_data
-0x49bf mem_dg_ms_audio_data_sta
-0x49ff mem_dg_ms_audio_data_last
-0x4a3f mem_dg_ms_audio_data
-0x4a80 mem_dg_ms_protocol_data
-0x4ac1 mem_usb_ep3_data
-0x4ac2 mem_usb_ep3_fifo
+0x4773 mem_dg_rep_ms_ack_data_flag
+0x4774 mem_dg_rep_ms_ack_data
+0x47b4 mem_usb_ep3_out_data
+0x47f4 mem_usb_ep3_out_data_len
+0x47f6 mem_usb_ep3_out_data_flag
+0x47f7 mem_usb_txbuf3
+0x4838 mem_usb_clear_mem0_end
+0x4838 mem_24g_rxbuf_new
+0x4888 mem_24g_txbuf_new
+0x48d8 mem_24g_txpayload_new
+0x4928 mem_24g_rxdata_temp_new
+0x4978 mem_24g_rxdata_ack_flag
+0x4979 mem_24g_pair_addr_new
+0x497d mem_dg_ms_rf_key_last
+0x497e mem_dg_version
+0x497f mem_dg_ms_audio_data_sta
+0x49bf mem_dg_ms_audio_data_last
+0x49ff mem_dg_ms_audio_data
+0x4a40 mem_dg_ms_protocol_data
+0x4a81 mem_usb_ep3_data
+0x4a82 mem_usb_ep3_fifo
 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_pc/baidu_project/usb_ai_voice_baidu/output/otp.dat	(revision 4991)
+++ /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/output/otp.dat	(working copy)
@@ -11,8 +11,8 @@
 00
 aa
 55
-da
-10
+62
+11
 c2
 84
 00
@@ -56,7 +56,7 @@
 c0
 1b
 82
-d3
+d0
 c0
 1c
 00
@@ -68,15 +68,15 @@
 c0
 1e
 82
-d0
+e5
 c0
 1f
 03
-7b
+9d
 c0
 58
-82
-ea
+83
+03
 c0
 62
 80
@@ -120,31 +120,31 @@
 c0
 37
 03
-41
+63
 c0
 37
 82
-dc
+d9
 c0
 39
 03
-36
+58
 c0
 39
 83
-21
+43
 c0
 3a
 83
-50
+72
 c0
 3f
 02
-e6
+ff
 c0
 40
 83
-60
+82
 c0
 41
 02
@@ -152,11 +152,11 @@
 c0
 42
 03
-a1
+c3
 c0
 42
 83
-a6
+c8
 c0
 44
 02
@@ -1140,27 +1140,27 @@
 d8
 a0
 47
-73
+b4
 20
 40
 79
 94
 6f
-21
+e1
 07
 0c
-d8
-c0
+67
+e1
 47
-73
-d8
-a0
+f4
+70
 47
-b3
-20
+f6
+01
 20
-7c
-da
+60
+00
+00
 6f
 e0
 88
@@ -1536,7 +1536,7 @@
 da
 20
 4a
-c2
+82
 20
 40
 7d
@@ -1656,7 +1656,7 @@
 da
 20
 4a
-c2
+82
 20
 40
 7d
@@ -1696,7 +1696,7 @@
 da
 20
 4a
-c2
+82
 20
 40
 7d
@@ -1707,7 +1707,7 @@
 00
 70
 4a
-c1
+81
 00
 c0
 18
@@ -1723,8 +1723,8 @@
 5a
 6f
 e0
-ca
-3f
+c9
+ff
 20
 7a
 00
@@ -1736,15 +1736,15 @@
 d8
 c0
 4a
-40
+00
 20
 40
 01
 ba
 d8
 a0
-4a
-3f
+49
+ff
 df
 20
 00
@@ -1756,7 +1756,7 @@
 6f
 e0
 ca
-80
+40
 20
 7a
 00
@@ -1768,7 +1768,7 @@
 d8
 c0
 4a
-81
+41
 20
 40
 01
@@ -1776,7 +1776,7 @@
 d8
 a0
 4a
-80
+40
 20
 20
 01
@@ -1788,7 +1788,7 @@
 da
 20
 47
-f5
+f7
 62
 31
 0c
@@ -2460,7 +2460,7 @@
 58
 00
 48
-36
+38
 d8
 a0
 47
@@ -2548,7 +2548,7 @@
 20
 40
 03
-6c
+8e
 24
 37
 b3
@@ -2560,7 +2560,7 @@
 20
 42
 83
-95
+b7
 6f
 e0
 c6
@@ -2576,7 +2576,7 @@
 6f
 e0
 c9
-28
+2a
 c0
 55
 02
@@ -2600,7 +2600,7 @@
 6f
 e0
 c9
-29
+2b
 20
 20
 33
@@ -2616,7 +2616,7 @@
 6f
 e2
 49
-2a
+2c
 68
 4a
 44
@@ -2632,7 +2632,7 @@
 6f
 e0
 c9
-29
+2b
 20
 20
 33
@@ -2640,7 +2640,7 @@
 6f
 e0
 c9
-29
+2b
 c0
 00
 82
@@ -2664,7 +2664,7 @@
 6f
 e2
 49
-2a
+2c
 67
 e2
 46
@@ -2684,7 +2684,7 @@
 6f
 e2
 49
-2a
+2c
 67
 e2
 46
@@ -2704,7 +2704,7 @@
 6f
 e2
 49
-2a
+2c
 68
 4a
 46
@@ -2720,7 +2720,7 @@
 6f
 e0
 c9
-29
+2b
 c0
 00
 82
@@ -2894,18 +2894,6 @@
 33
 07
 20
-20
-48
-68
-58
-00
-00
-10
-20
-20
-70
-c8
-20
 40
 47
 c3
@@ -2960,7 +2948,7 @@
 6f
 e0
 c8
-37
+39
 79
 20
 7e
@@ -2968,7 +2956,7 @@
 67
 e0
 c8
-37
+39
 20
 40
 33
@@ -2981,6 +2969,118 @@
 20
 31
 95
+58
+00
+00
+10
+20
+20
+70
+c8
+6f
+e0
+89
+01
+20
+5a
+48
+b5
+20
+40
+79
+06
+6f
+e0
+c7
+f6
+20
+7a
+00
+00
+70
+47
+f6
+00
+6f
+e0
+87
+0c
+1f
+e6
+7c
+03
+20
+61
+00
+00
+6f
+e0
+c7
+b5
+1f
+e6
+7c
+01
+20
+61
+00
+00
+6f
+e0
+c7
+b6
+1f
+e6
+7c
+07
+20
+21
+02
+f5
+20
+20
+48
+75
+df
+20
+00
+40
+d8
+a0
+47
+74
+20
+40
+7c
+a1
+70
+47
+73
+01
+70
+46
+11
+08
+6f
+20
+c7
+b4
+1f
+20
+f2
+02
+d8
+c0
+47
+b4
+d8
+a0
+47
+74
+20
+20
+7c
+da
 70
 45
 d0
@@ -2988,7 +3088,7 @@
 6f
 e2
 49
-77
+79
 67
 e2
 45
@@ -3008,7 +3108,7 @@
 58
 00
 03
-c8
+ea
 67
 e1
 45
@@ -3016,15 +3116,15 @@
 58
 00
 04
-25
+47
 67
 e1
 45
 e6
 58
 00
-02
-f5
+03
+0e
 67
 e1
 45
@@ -3047,24 +3147,24 @@
 89
 c0
 00
-82
-f8
+83
+11
 c0
 01
-02
-ff
+03
+18
 6f
 e0
 c6
 93
 c2
 80
-02
-fb
+03
+14
 20
 20
 03
-01
+1a
 6f
 e0
 c6
@@ -3080,7 +3180,7 @@
 20
 20
 03
-08
+2a
 6f
 e0
 c6
@@ -3088,7 +3188,7 @@
 c2
 80
 83
-05
+27
 6f
 e0
 c6
@@ -3096,15 +3196,51 @@
 c0
 00
 83
-0c
+2e
 c0
 01
 83
-14
+36
+c0
+04
+03
+1f
 20
 60
 00
 00
+70
+45
+89
+01
+6f
+e0
+c7
+75
+1f
+e0
+fe
+02
+67
+e0
+c5
+88
+1f
+e2
+72
+00
+d8
+c0
+47
+74
+d8
+a0
+48
+88
+20
+20
+7c
+da
 6f
 e0
 c6
@@ -3128,7 +3264,7 @@
 67
 e0
 c8
-86
+88
 20
 60
 00
@@ -3140,7 +3276,7 @@
 20
 40
 03
-1b
+3d
 24
 77
 80
@@ -3160,7 +3296,7 @@
 d8
 a0
 48
-86
+88
 20
 20
 7c
@@ -3168,15 +3304,15 @@
 6f
 e0
 c8
-38
+3a
 c0
 00
 83
-0c
+2e
 c0
 7f
 83
-0c
+2e
 70
 08
 f9
@@ -3192,7 +3328,7 @@
 20
 20
 03
-0a
+2c
 6f
 e0
 c6
@@ -3212,7 +3348,7 @@
 6f
 e0
 c8
-39
+3b
 20
 20
 33
@@ -3236,7 +3372,7 @@
 67
 e0
 c8
-d6
+d8
 6f
 e0
 c5
@@ -3292,7 +3428,7 @@
 d8
 c0
 48
-86
+88
 20
 40
 7c
@@ -3304,7 +3440,7 @@
 c5
 17
 83
-3b
+5d
 6f
 e0
 c5
@@ -3312,7 +3448,7 @@
 24
 3a
 03
-3b
+5d
 78
 4e
 fc
@@ -3340,7 +3476,7 @@
 d8
 c0
 48
-d6
+d8
 20
 20
 31
@@ -3352,15 +3488,15 @@
 67
 e0
 c8
-36
+38
 c5
 13
 83
-49
+6b
 6f
 e0
 c8
-36
+38
 1f
 e9
 7e
@@ -3408,7 +3544,7 @@
 6f
 e0
 c8
-37
+39
 67
 e0
 c5
@@ -3420,7 +3556,7 @@
 d8
 c0
 48
-37
+39
 98
 c0
 8c
@@ -3436,7 +3572,7 @@
 6f
 e0
 c8
-36
+38
 1f
 e1
 04
@@ -3444,7 +3580,7 @@
 60
 48
 c9
-76
+78
 1f
 e3
 04
@@ -3464,7 +3600,7 @@
 67
 e0
 c8
-36
+38
 20
 60
 00
@@ -3484,15 +3620,15 @@
 20
 40
 03
-67
+89
 20
 40
 03
-6f
+91
 20
 40
 03
-77
+99
 20
 20
 33
@@ -3504,11 +3640,11 @@
 d8
 c0
 48
-36
+38
 d8
 a0
 49
-26
+28
 20
 40
 7c
@@ -3532,7 +3668,7 @@
 6f
 e0
 c8
-36
+38
 1f
 e9
 7e
@@ -3544,11 +3680,11 @@
 20
 40
 03
-50
+72
 6f
 e0
 c9
-76
+78
 2f
 ef
 fe
@@ -3572,7 +3708,7 @@
 6f
 e0
 c9
-29
+2b
 20
 20
 33
@@ -3588,7 +3724,7 @@
 20
 40
 03
-8f
+b1
 20
 40
 48
@@ -3672,11 +3808,11 @@
 20
 40
 03
-8a
+ac
 20
 40
 03
-6c
+8e
 24
 37
 b3
@@ -3708,11 +3844,11 @@
 d8
 c0
 48
-36
+38
 d8
 a0
 49
-26
+28
 20
 40
 7c
@@ -3728,15 +3864,15 @@
 20
 5a
 03
-a9
+cb
 6f
 e0
 c9
-28
+2a
 c0
 7f
 83
-af
+d1
 1f
 e1
 7e
@@ -3744,15 +3880,15 @@
 c0
 00
 83
-b1
+d3
 c0
 01
 03
-c1
+e3
 d8
 a0
 48
-36
+38
 df
 20
 00
@@ -3788,7 +3924,7 @@
 20
 40
 03
-79
+9b
 20
 20
 02
@@ -3808,7 +3944,7 @@
 68
 48
 c9
-26
+28
 28
 4f
 fe
@@ -3824,7 +3960,7 @@
 c0
 00
 83
-bc
+de
 6f
 e0
 c6
@@ -3832,7 +3968,7 @@
 68
 48
 c9
-26
+28
 20
 20
 33
@@ -3852,7 +3988,7 @@
 6f
 e2
 49
-30
+32
 20
 20
 35
@@ -3864,7 +4000,7 @@
 68
 48
 c9
-26
+28
 28
 4f
 fe
@@ -3872,7 +4008,7 @@
 20
 20
 83
-c6
+e8
 20
 20
 33
@@ -3880,7 +4016,7 @@
 6f
 e2
 49
-30
+32
 20
 20
 35
@@ -3888,27 +4024,27 @@
 6f
 e0
 c9
-28
+2a
 c2
 83
-03
-ef
+04
+11
 c2
 83
-83
-ef
+84
+11
 c2
 82
-83
-fa
+84
+1c
 c2
 82
-03
-f9
+04
+1b
 c2
 81
 84
-17
+39
 6f
 e0
 c5
@@ -3919,12 +4055,12 @@
 09
 20
 22
-83
-df
+84
+01
 20
 40
-03
-df
+04
+01
 6f
 e0
 c5
@@ -3944,11 +4080,11 @@
 d8
 a0
 49
-28
+2a
 d8
 c0
 49
-30
+32
 20
 40
 7c
@@ -3956,23 +4092,23 @@
 6f
 e0
 c9
-28
+2a
 c2
 83
-03
-ef
+04
+11
 c2
 82
-83
-fa
+84
+1c
 c2
 82
-03
-f9
+04
+1b
 c2
 81
 84
-17
+39
 20
 60
 00
@@ -3988,7 +4124,7 @@
 6f
 e3
 c9
-29
+2b
 e7
 e3
 80
@@ -3996,7 +4132,7 @@
 6f
 e0
 c9
-29
+2b
 24
 5a
 48
@@ -4004,7 +4140,7 @@
 6f
 e0
 c9
-29
+2b
 20
 5a
 48
@@ -4012,15 +4148,15 @@
 6f
 e0
 c9
-29
+2b
 68
 48
 c9
-7b
+7d
 67
 e0
 c9
-7b
+7d
 98
 46
 7c
@@ -4032,7 +4168,7 @@
 6f
 e3
 49
-2a
+2c
 20
 7a
 00
@@ -4043,11 +4179,11 @@
 36
 70
 4a
-80
+40
 40
 70
 4a
-81
+41
 c0
 6f
 20
@@ -4060,11 +4196,11 @@
 d8
 c0
 49
-29
+2b
 d8
 a0
 4a
-82
+42
 20
 40
 7c
@@ -4072,15 +4208,15 @@
 20
 40
 03
-a6
+c8
 70
 4a
-c1
+81
 31
 20
 20
 04
-1c
+3e
 20
 60
 00
@@ -4096,11 +4232,11 @@
 d8
 c0
 49
-29
+2b
 d8
 a0
 49
-bf
+7f
 20
 40
 7c
@@ -4116,11 +4252,11 @@
 da
 40
 49
-ff
+bf
 da
 20
 49
-bf
+7f
 20
 40
 7d
@@ -4128,7 +4264,7 @@
 24
 42
 84
-0a
+2c
 6f
 20
 c5
@@ -4140,22 +4276,22 @@
 d8
 c0
 49
-bf
+7f
 d8
 a0
 49
-ff
+bf
 20
 20
 7c
 da
 70
-4a
-3f
+49
+ff
 40
 70
 4a
-40
+00
 cc
 6f
 e0
@@ -4168,7 +4304,7 @@
 67
 e0
 ca
-41
+01
 6f
 20
 c5
@@ -4180,11 +4316,11 @@
 d8
 c0
 49
-bf
+7f
 d8
 a0
 4a
-42
+02
 20
 40
 7c
@@ -4192,26 +4328,26 @@
 20
 40
 03
-a6
+c8
 70
 4a
-c1
+81
 30
 20
 20
 04
-1c
+3e
 6f
 e0
-c9
-7d
+c7
+73
 20
 7a
 00
 00
 70
-49
-7d
+47
+73
 00
 70
 46
@@ -4232,7 +4368,7 @@
 da
 20
 4a
-c2
+82
 20
 40
 7d
@@ -4244,7 +4380,7 @@
 6f
 e0
 ca
-c1
+81
 67
 e0
 86
@@ -4252,7 +4388,7 @@
 da
 20
 4a
-c2
+82
 20
 20
 7d
@@ -4260,19 +4396,19 @@
 6f
 e0
 c9
-29
+2b
 c0
 00
 04
-2a
+4c
 c0
 01
 04
-30
+52
 c0
 01
 84
-33
+55
 20
 20
 33
@@ -4280,14 +4416,14 @@
 6f
 e0
 c9
-2b
+2d
 67
 e0
 c6
 11
 70
 49
-2b
+2d
 00
 d8
 a0
@@ -4296,7 +4432,7 @@
 d8
 c0
 49
-2a
+2c
 20
 20
 48
@@ -4308,7 +4444,7 @@
 d8
 c0
 49
-29
+2b
 20
 20
 49
@@ -4320,13 +4456,13 @@
 d8
 c0
 49
-29
+2b
 20
 20
 49
 07
-44
-a3
+2a
+a4
 aa
 55
 40
@@ -4522,7 +4658,7 @@
 55
 04
 00
-77
+79
 49
 25
 20
@@ -4532,7 +4668,7 @@
 55
 01
 00
-7c
+7e
 49
 01
 aa
@@ -4946,8 +5082,8 @@
 aa
 aa
 55
-d4
+d8
 7e
-d0
-2c
+5a
+3b
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/output/program.lis	(revision 4991)
+++ /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/output/program.lis	(working copy)
@@ -10,12 +10,12 @@
 0007 c00c8096 beq patch03_1 ,p_set_tx_power 
 0008 c00d0052 beq patch03_2 ,p_initialize_radio_cont 
 0009 c00e0041 beq patch03_4 ,p_aac_ghpc 
-000a c01b82d3 beq patch06_7 ,p_dongle_default_init 
+000a c01b82d0 beq patch06_7 ,p_dongle_default_init 
 000b c01c00af beq patch07_0 ,p_dongle_read_kb_bind_status 
 000c c01c80ab beq patch07_1 ,p_dongle_write_kb_bind_status 
-000d c01e82d0 beq patch07_5 ,p_dongle_usb_dispatch 
-000e c01f037b beq patch07_6 ,p_dongle_work_mode_auto 
-000f c05882ea beq patch16_1 ,p_app_init 
+000d c01e82e5 beq patch07_5 ,p_dongle_usb_dispatch 
+000e c01f039d beq patch07_6 ,p_dongle_work_mode_auto 
+000f c0588303 beq patch16_1 ,p_app_init 
 0010 c06280a8 beq patch18_5 ,p_otp_read_data 
 0011 c06d01ec beq patch1b_2 ,p_sadc_calibration 
 0012 c06e01fc beq patch1b_4 ,p_enable_adc 
@@ -28,16 +28,16 @@
 0017 c0000111 beq patch20_0 ,p_usb_class_type 
 0018 c0010237 beq patch20_2 ,p_usb0_request_get_descriptor 
 0019 c0030182 beq patch20_6 ,p_usb_tx 
-001a c0370341 beq patch2d_6 ,p_g24_receive_update_rxbuff 
-001b c03782dc beq patch2d_7 ,p_g24_receive_skip_end 
-001c c0390336 beq patch2e_2 ,p_g24_transmit_packet 
-001d c0398321 beq patch2e_3 ,p_g24_transmit_prep 
-001e c03a8350 beq patch2e_5 ,p_g24_read_len_pid_crc 
-001f c03f02e6 beq patch2f_6 ,p_g24_pair_param_init 
-0020 c0408360 beq patch30_1 ,p_g24_bind_data_process 
+001a c0370363 beq patch2d_6 ,p_g24_receive_update_rxbuff 
+001b c03782d9 beq patch2d_7 ,p_g24_receive_skip_end 
+001c c0390358 beq patch2e_2 ,p_g24_transmit_packet 
+001d c0398343 beq patch2e_3 ,p_g24_transmit_prep 
+001e c03a8372 beq patch2e_5 ,p_g24_read_len_pid_crc 
+001f c03f02ff beq patch2f_6 ,p_g24_pair_param_init 
+0020 c0408382 beq patch30_1 ,p_g24_bind_data_process 
 0021 c0410280 beq patch30_2 ,p_g24_bind_data_parse_next 
-0022 c04203a1 beq patch30_4 ,p_g24_receive_packet_parse_end 
-0023 c04283a6 beq patch30_5 ,p_g24_rx_interrupt_clear 
+0022 c04203c3 beq patch30_4 ,p_g24_receive_packet_parse_end 
+0023 c04283c8 beq patch30_5 ,p_g24_rx_interrupt_clear 
 0024 c04402b8 beq patch31_0 ,p_g24_mode_switch_bind_search 
 0025 c04502c5 beq patch31_2 ,p_g24_bind_mode_auto 
 0026 c0458275 beq patch31_3 ,p_g24_search_mode_auto 
@@ -345,12 +345,12 @@
 p_usb_rx_ep3:
 0117 6fe1070c fetch 2 ,mem_usb_read_len 
 0118 207a0000 rtn blank 
-0119 d8a04773 arg mem_usb_out_data_temp ,contw 
+0119 d8a047b4 arg mem_usb_ep3_out_data ,contw 
 011a 20407994 call usb_rx_read 
-011b 6f21070c fetchr loopcnt ,2 ,mem_usb_read_len 
-011c d8c04773 arg mem_usb_out_data_temp ,contr 
-011d d8a047b3 arg mem_usb_out_data ,contw 
-011e 20207cda branch memcpy 
+011b 6fe1070c fetch 2 ,mem_usb_read_len 
+011c 67e147f4 store 2 ,mem_usb_ep3_out_data_len 
+011d 7047f601 jam 1 ,mem_usb_ep3_out_data_flag 
+011e 20600000 rtn 
 
 p_usb_in_device:
 011f 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
@@ -470,7 +470,7 @@
 017b 20207b65 branch usb_set_report_next 
 
 p_usb_tx_ep3_queue_buff_check:
-017c da204ac2 arg mem_usb_ep3_fifo ,rega 
+017c da204a82 arg mem_usb_ep3_fifo ,rega 
 017d 20407da3 call fifo_is_empty 
 017e 207a0000 rtn blank 
 
@@ -510,7 +510,7 @@
 0199 20207bfb branch usb_tx_data_ep2 + 2 
 
 p_usb_tx_data_ep3:
-019a da204ac2 arg mem_usb_ep3_fifo ,rega 
+019a da204a82 arg mem_usb_ep3_fifo ,rega 
 019b 20407da3 call fifo_is_empty 
 019c 207a0000 rtn blank 
 019d 6ff08c25 fetch 1 ,core_usb_txbusy 
@@ -520,38 +520,38 @@
 01a1 c4018000 rtnbit0 3 
 01a2 793ffe03 set0 3 ,pdata 
 01a3 67e0890d store 1 ,mem_usb_tx_enable 
-01a4 da204ac2 arg mem_usb_ep3_fifo ,rega 
+01a4 da204a82 arg mem_usb_ep3_fifo ,rega 
 01a5 20407d97 call fifo_out 
 01a6 207a0000 rtn blank 
-01a7 704ac100 jam 0 ,mem_usb_ep3_data 
+01a7 704a8100 jam 0 ,mem_usb_ep3_data 
 01a8 c01801ab beq usb_ep3_audio ,p_usb_tx_audio_data 
 01a9 c01881b3 beq usb_ep3_protocol ,p_usb_tx_protocol_data 
 01aa 2020235a branch assert 
 
 p_usb_tx_audio_data:
-01ab 6fe0ca3f fetch 1 ,mem_dg_ms_audio_data 
+01ab 6fe0c9ff fetch 1 ,mem_dg_ms_audio_data 
 01ac 207a0000 rtn blank 
 01ad 1fe27200 copy pdata ,loopcnt 
-01ae d8c04a40 arg mem_dg_ms_audio_data + 1 ,contr 
+01ae d8c04a00 arg mem_dg_ms_audio_data + 1 ,contr 
 01af 204001ba call p_usb_tx_ep3 
-01b0 d8a04a3f arg mem_dg_ms_audio_data ,contw 
+01b0 d8a049ff arg mem_dg_ms_audio_data ,contw 
 
 p_usb_tx_buff_realease:
 01b1 df200041 arg 65 ,loopcnt 
 01b2 20207ca1 branch clear_mem 
 
 p_usb_tx_protocol_data:
-01b3 6fe0ca80 fetch 1 ,mem_dg_ms_protocol_data 
+01b3 6fe0ca40 fetch 1 ,mem_dg_ms_protocol_data 
 01b4 207a0000 rtn blank 
 01b5 1fe27200 copy pdata ,loopcnt 
-01b6 d8c04a81 arg mem_dg_ms_protocol_data + 1 ,contr 
+01b6 d8c04a41 arg mem_dg_ms_protocol_data + 1 ,contr 
 01b7 204001ba call p_usb_tx_ep3 
-01b8 d8a04a80 arg mem_dg_ms_protocol_data ,contw 
+01b8 d8a04a40 arg mem_dg_ms_protocol_data ,contw 
 01b9 202001b1 branch p_usb_tx_buff_realease 
 
 p_usb_tx_ep3:
 01ba d8e00003 arg 3 ,queue 
-01bb da2047f5 arg mem_usb_txbuf3 ,rega 
+01bb da2047f7 arg mem_usb_txbuf3 ,rega 
 01bc 62310c0e storer rega ,2 ,core_usb_tx_saddr3 
 01bd 20207bd2 branch usb_tx_buf 
 
@@ -775,7 +775,7 @@
 0262 20407932 call usb_init_param 
 
 p_usb_init_restart:
-0263 58004836 setarg mem_usb_clear_mem0_end 
+0263 58004838 setarg mem_usb_clear_mem0_end 
 0264 d8a04773 arg mem_usb_clear_mem0_start ,contw 
 0265 98a67200 isub contw ,loopcnt 
 0266 20407ca1 call clear_mem 
@@ -801,16 +801,16 @@
 0276 c1838000 rtnne dongle_search 
 0277 20403476 call g24_search_mode_init 
 0278 204034ae call g24_auto_addr_ch_search 
-0279 2040036c call p_g24_receive_transmit_ack 
+0279 2040038e call p_g24_receive_transmit_ack 
 027a 2437b3be nbranch g24_rx_interrupt_clear ,user3 
 027b 20403506 call g24_receiver_addr_check 
-027c 20428395 call p_g24_receive_packet_parse ,zero 
+027c 204283b7 call p_g24_receive_packet_parse ,zero 
 027d 6fe0c60a fetch 1 ,mem_24g_abort_packet 
 027e 205a344d call g24_mode_b_s_switch_stop ,blank 
 027f 20203493 branch g24_search_mode_auto + 11 
 
 p_g24_bind_data_parse_next:
-0280 6fe0c928 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+0280 6fe0c92a fetch 1 ,mem_24g_rxdata_temp_new + 2 
 0281 c0550286 beq datatype_bind ,p_g24_bind_first_step 
 0282 c02a8288 beq datatype_config ,p_g24_bind_second_step 
 0283 c011029e beq datatype_ok ,p_g24_bind_third_step 
@@ -818,23 +818,23 @@
 0285 20600000 rtn 
 
 p_g24_bind_first_step:
-0286 6fe0c929 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0286 6fe0c92b fetch 1 ,mem_24g_rxdata_temp_new + 3 
 0287 2020332a branch g24_bind_first_step + 1 
 
 p_g24_bind_second_step:
 0288 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
 0289 203a028e branch p_g24_bind_second_step_skip ,blank 
-028a 6fe2492a fetch 4 ,mem_24g_rxdata_temp_new + 4 
+028a 6fe2492c fetch 4 ,mem_24g_rxdata_temp_new + 4 
 028b 684a44f1 fetcht 4 ,mem_24g_lap 
 028c 98467c00 isub temp ,null 
 028d 24628000 nrtn zero 
 
 p_g24_bind_second_step_skip:
-028e 6fe0c929 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+028e 6fe0c92b fetch 1 ,mem_24g_rxdata_temp_new + 3 
 028f 20203341 branch g24_bind_second_step_skip + 1 
 
 p_g24_data_attemp:
-0290 6fe0c929 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0290 6fe0c92b fetch 1 ,mem_24g_rxdata_temp_new + 3 
 0291 c0008294 beq datatype_device1 ,p_g24_data_attemp_device1 
 0292 c0010299 beq datatype_device2 ,p_g24_data_attemp_device2 
 0293 20600000 rtn 
@@ -842,27 +842,27 @@
 p_g24_data_attemp_device1:
 0294 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
 0295 247a0000 nrtn blank 
-0296 6fe2492a fetch 4 ,mem_24g_rxdata_temp_new + 4 
+0296 6fe2492c fetch 4 ,mem_24g_rxdata_temp_new + 4 
 0297 67e2462c store 4 ,mem_24g_transmitter_addr 
 0298 202035a3 branch g24_store_device1_addr 
 
 p_g24_data_attemp_device2:
 0299 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
 029a 247a0000 nrtn blank 
-029b 6fe2492a fetch 4 ,mem_24g_rxdata_temp_new + 4 
+029b 6fe2492c fetch 4 ,mem_24g_rxdata_temp_new + 4 
 029c 67e2462c store 4 ,mem_24g_transmitter_addr 
 029d 202035a9 branch g24_store_device2_addr 
 
 p_g24_bind_third_step:
 029e 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
 029f 203a02a4 branch p_g24_bind_third_step_skip ,blank 
-02a0 6fe2492a fetch 4 ,mem_24g_rxdata_temp_new + 4 
+02a0 6fe2492c fetch 4 ,mem_24g_rxdata_temp_new + 4 
 02a1 684a462c fetcht 4 ,mem_24g_transmitter_addr 
 02a2 98467c00 isub temp ,null 
 02a3 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-02a4 6fe0c929 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+02a4 6fe0c92b fetch 1 ,mem_24g_rxdata_temp_new + 3 
 02a5 c00082a8 beq datatype_device1 ,p_g24_bind_third_step_device1 
 02a6 c00102b0 beq datatype_device2 ,p_g24_bind_third_step_device2 
 02a7 20600000 rtn 
@@ -921,477 +921,519 @@
 02ce 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
 02cf 20203307 branch g24_bind_init + 8 
 
-p_dongle_usb_dispatch:
-02d0 20204868 branch dongle_usb_dispatch + 1 
+p_dongle_default_init:
+02d0 204047c3 call dongle_default_init + 1 
+02d1 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
+02d2 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
+02d3 7045ca01 jam on ,mem_24g_disable_fec1 
+02d4 20403281 call g24_enable_1m 
+02d5 6fe0c669 fetch 1 ,mem_dg_sys_config 
+02d6 c4000000 rtnbit0 dg_enable_new_revision 
+02d7 7045ca01 jam on ,mem_24g_disable_fec1 
+02d8 20203284 branch g24_enable_2m 
+
+p_g24_receive_skip_end:
+02d9 6fe0c669 fetch 1 ,mem_dg_sys_config 
+02da c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
+02db 7837fc00 enable user3 
+02dc 20000018 nop 24 
+02dd 6fe0c839 fetch 1 ,mem_24g_rxbuf_new + 1 
+02de 79207e00 set1 bit_ack_24g ,pdata 
+02df 67e0c839 store 1 ,mem_24g_rxbuf_new + 1 
+02e0 204033a5 call g24_ackpayload_prep 
+02e1 204031e5 call g24_transmit_prep 
+02e2 20203195 branch g24_transmit 
 
 p_wdt_kick:
-02d1 58000010 setarg 16 
-02d2 202070c8 branch wdt_init_config 
+02e3 58000010 setarg 16 
+02e4 202070c8 branch wdt_init_config 
 
-p_dongle_default_init:
-02d3 204047c3 call dongle_default_init + 1 
-02d4 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
-02d5 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
-02d6 7045ca01 jam on ,mem_24g_disable_fec1 
-02d7 20403281 call g24_enable_1m 
-02d8 6fe0c669 fetch 1 ,mem_dg_sys_config 
-02d9 c4000000 rtnbit0 dg_enable_new_revision 
-02da 7045ca01 jam on ,mem_24g_disable_fec1 
-02db 20203284 branch g24_enable_2m 
+p_dongle_usb_dispatch:
 
-p_g24_receive_skip_end:
-02dc 6fe0c669 fetch 1 ,mem_dg_sys_config 
-02dd c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
-02de 7837fc00 enable user3 
-02df 20000018 nop 24 
-02e0 6fe0c837 fetch 1 ,mem_24g_rxbuf_new + 1 
-02e1 79207e00 set1 bit_ack_24g ,pdata 
-02e2 67e0c837 store 1 ,mem_24g_rxbuf_new + 1 
-02e3 204033a5 call g24_ackpayload_prep 
-02e4 204031e5 call g24_transmit_prep 
-02e5 20203195 branch g24_transmit 
+p_dongle_usb_dispatch_analysis:
+02e5 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
+02e6 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
+02e7 20407906 call usb_isr 
+02e8 6fe0c7f6 fetch 1 ,mem_usb_ep3_out_data_flag 
+02e9 207a0000 rtn blank 
+
+p_test:
+02ea 7047f600 jam 0 ,mem_usb_ep3_out_data_flag 
+02eb 6fe0870c fetch 1 ,mem_usb_read_len 
+02ec 1fe67c03 sub pdata ,ep3_out_min_len ,null 
+02ed 20610000 rtn positive 
+02ee 6fe0c7b5 fetch 1 ,mem_usb_ep3_out_data + 1 
+02ef 1fe67c01 sub pdata ,ep3_out_payload_min_len ,null 
+02f0 20610000 rtn positive 
+02f1 6fe0c7b6 fetch 1 ,mem_usb_ep3_out_data + 2 
+02f2 1fe67c07 sub pdata ,opcode_1_7 ,null 
+02f3 202102f5 branch p_dongle_tx_pre_ackpayload_mouse ,positive 
+02f4 20204875 branch dongle_usb_dispatch_next 
+
+p_dongle_tx_pre_ackpayload_mouse:
+02f5 df200040 arg 64 ,loopcnt 
+02f6 d8a04774 arg mem_dg_rep_ms_ack_data ,contw 
+02f7 20407ca1 call clear_mem 
+02f8 70477301 jam 1 ,mem_dg_rep_ms_ack_data_flag 
+02f9 70461108 jam protocol_ackpayload ,mem_24g_ackpayload_enable 
+02fa 6f20c7b4 fetchr loopcnt ,1 ,mem_usb_ep3_out_data 
+02fb 1f20f202 increase 2 ,loopcnt 
+02fc d8c047b4 arg mem_usb_ep3_out_data ,contr 
+02fd d8a04774 arg mem_dg_rep_ms_ack_data ,contw 
+02fe 20207cda branch memcpy 
 
 p_g24_pair_param_init:
-02e6 7045d04a jam 0x4a ,mem_24g_pair_ch 
-02e7 6fe24977 fetch 4 ,mem_24g_pair_addr_new 
-02e8 67e245cc store 4 ,mem_24g_pair_addr 
-02e9 20600000 rtn 
+02ff 7045d04a jam 0x4a ,mem_24g_pair_ch 
+0300 6fe24979 fetch 4 ,mem_24g_pair_addr_new 
+0301 67e245cc store 4 ,mem_24g_pair_addr 
+0302 20600000 rtn 
 
 p_app_init:
-02ea 580047ea setarg dongle_dispatch 
-02eb 67e145e0 store 2 ,mem_cb_24g_receive_process 
-02ec 580003c8 setarg p_dongle_g24_mouse 
-02ed 67e145e4 store 2 ,mem_cb_24g_data_device1 
-02ee 58000425 setarg p_dongle_g24_kb 
-02ef 67e145e6 store 2 ,mem_cb_24g_data_device2 
-02f0 580002f5 setarg p_dongle_ackpayload_prep 
-02f1 67e145e2 store 2 ,mem_cb_24g_ackpayload 
-02f2 580047f9 setarg dongle_usb_config 
-02f3 67e10859 store 2 ,mem_cb_usb_config 
-02f4 20207912 branch usb_init 
+0303 580047ea setarg dongle_dispatch 
+0304 67e145e0 store 2 ,mem_cb_24g_receive_process 
+0305 580003ea setarg p_dongle_g24_mouse 
+0306 67e145e4 store 2 ,mem_cb_24g_data_device1 
+0307 58000447 setarg p_dongle_g24_kb 
+0308 67e145e6 store 2 ,mem_cb_24g_data_device2 
+0309 5800030e setarg p_dongle_ackpayload_prep 
+030a 67e145e2 store 2 ,mem_cb_24g_ackpayload 
+030b 580047f9 setarg dongle_usb_config 
+030c 67e10859 store 2 ,mem_cb_usb_config 
+030d 20207912 branch usb_init 
 
 p_dongle_ackpayload_prep:
-02f5 6fe0c589 fetch 1 ,mem_24g_data_type 
-02f6 c00082f8 beq datatype_device1 ,p_dongle_ackpayload_prep_mouse 
-02f7 c00102ff beq datatype_device2 ,p_dongle_ackpayload_prep_keyboard 
+030e 6fe0c589 fetch 1 ,mem_24g_data_type 
+030f c0008311 beq datatype_device1 ,p_dongle_ackpayload_prep_mouse 
+0310 c0010318 beq datatype_device2 ,p_dongle_ackpayload_prep_keyboard 
 
 p_dongle_ackpayload_prep_mouse:
-02f8 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
-02f9 c28002fb bbit1 0 ,p_dongle_pc_sleep_ackpayload_prep_mouse 
-02fa 20200301 branch p_dongle_ackpayload_prep_end 
+0311 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+0312 c2800314 bbit1 0 ,p_dongle_pc_sleep_ackpayload_prep_mouse 
+0313 2020031a branch p_dongle_ackpayload_prep_end 
 
 p_dongle_pc_sleep_ackpayload_prep_mouse:
-02fb 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
-02fc 793ffe00 set0 0 ,pdata 
-02fd 67e0c693 store 1 ,mem_dg_pc_sleep_flag 
-02fe 20200308 branch p_dongle_pc_sleep_ackpayload_prep 
+0314 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+0315 793ffe00 set0 0 ,pdata 
+0316 67e0c693 store 1 ,mem_dg_pc_sleep_flag 
+0317 2020032a branch p_dongle_pc_sleep_ackpayload_prep 
 
 p_dongle_ackpayload_prep_keyboard:
-02ff 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
-0300 c2808305 bbit1 1 ,p_dongle_pc_sleep_ackpayload_prep_keyboard 
+0318 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+0319 c2808327 bbit1 1 ,p_dongle_pc_sleep_ackpayload_prep_keyboard 
 
 p_dongle_ackpayload_prep_end:
-0301 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
-0302 c000830c beq bind_ackpayload ,p_dongle_g24_bind_ackpayload_prep 
-0303 c0018314 beq kb_led_ackpayload ,p_dongle_g24_kb_led_ackpayload_prep 
-0304 20600000 rtn 
+031a 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
+031b c000832e beq bind_ackpayload ,p_dongle_g24_bind_ackpayload_prep 
+031c c0018336 beq kb_led_ackpayload ,p_dongle_g24_kb_led_ackpayload_prep 
+031d c004031f beq protocol_ackpayload ,p_dongle_g24_protocol_ackpayload_prep 
+031e 20600000 rtn 
+
+p_dongle_g24_protocol_ackpayload_prep:
+031f 70458901 jam type_ms ,mem_24g_data_type 
+0320 6fe0c775 fetch 1 ,mem_dg_rep_ms_ack_data + 1 
+0321 1fe0fe02 increase 2 ,pdata 
+0322 67e0c588 store 1 ,mem_24g_datalen 
+0323 1fe27200 copy pdata ,loopcnt 
+0324 d8c04774 arg mem_dg_rep_ms_ack_data ,contr 
+0325 d8a04888 arg mem_24g_txbuf_new ,contw 
+0326 20207cda branch memcpy 
 
 p_dongle_pc_sleep_ackpayload_prep_keyboard:
-0305 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
-0306 793ffe01 set0 1 ,pdata 
-0307 67e0c693 store 1 ,mem_dg_pc_sleep_flag 
+0327 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+0328 793ffe01 set0 1 ,pdata 
+0329 67e0c693 store 1 ,mem_dg_pc_sleep_flag 
 
 p_dongle_pc_sleep_ackpayload_prep:
-0308 70458801 jam 0x01 ,mem_24g_datalen 
-0309 580000ff setarg 0xff 
+032a 70458801 jam 0x01 ,mem_24g_datalen 
+032b 580000ff setarg 0xff 
 
 p_dongle_24g_txbuf_new_store:
-030a 67e0c886 store 1 ,mem_24g_txbuf_new 
-030b 20600000 rtn 
+032c 67e0c888 store 1 ,mem_24g_txbuf_new 
+032d 20600000 rtn 
 
 p_dongle_g24_bind_ackpayload_prep:
-030c 70461101 jam 1 ,mem_24g_ackpayload_enable 
-030d 2040031b call p_g24_binding_device_check 
-030e 24778000 nrtn user3 
+032e 70461101 jam 1 ,mem_24g_ackpayload_enable 
+032f 2040033d call p_g24_binding_device_check 
+0330 24778000 nrtn user3 
 
 p_g24_bind_ackpayload_prep:
-030f 70461101 jam 1 ,mem_24g_ackpayload_enable 
-0310 70458808 jam 0x08 ,mem_24g_datalen 
-0311 d8c045d6 arg mem_24g_bind_payload ,contr 
-0312 d8a04886 arg mem_24g_txbuf_new ,contw 
-0313 20207c89 branch memcpy8 
+0331 70461101 jam 1 ,mem_24g_ackpayload_enable 
+0332 70458808 jam 0x08 ,mem_24g_datalen 
+0333 d8c045d6 arg mem_24g_bind_payload ,contr 
+0334 d8a04888 arg mem_24g_txbuf_new ,contw 
+0335 20207c89 branch memcpy8 
 
 p_dongle_g24_kb_led_ackpayload_prep:
-0314 6fe0c838 fetch 1 ,mem_24g_rxbuf_new + 2 
-0315 c000830c beq datatype_device1 ,p_dongle_g24_bind_ackpayload_prep 
-0316 c07f830c beq datatype_attemp ,p_dongle_g24_bind_ackpayload_prep 
-0317 7008f900 jam 0 ,mem_usb_tx_win_enable 
-0318 70458801 jam 0x01 ,mem_24g_datalen 
-0319 6fe0c621 fetch 1 ,mem_24g_led_status 
-031a 2020030a branch p_dongle_24g_txbuf_new_store 
+0336 6fe0c83a fetch 1 ,mem_24g_rxbuf_new + 2 
+0337 c000832e beq datatype_device1 ,p_dongle_g24_bind_ackpayload_prep 
+0338 c07f832e beq datatype_attemp ,p_dongle_g24_bind_ackpayload_prep 
+0339 7008f900 jam 0 ,mem_usb_tx_win_enable 
+033a 70458801 jam 0x01 ,mem_24g_datalen 
+033b 6fe0c621 fetch 1 ,mem_24g_led_status 
+033c 2020032c branch p_dongle_24g_txbuf_new_store 
 
 p_g24_binding_device_check:
-031b 6fe0c616 fetch 1 ,mem_24g_work_mode 
-031c c1808000 rtnne dongle_bind 
-031d 6fe0c610 fetch 1 ,mem_24g_pair_mode 
-031e 247a0000 nrtn blank 
-031f 6fe0c839 fetch 1 ,mem_24g_rxbuf_new + 3 
-0320 20203383 branch g24_binding_device_check + 5 
+033d 6fe0c616 fetch 1 ,mem_24g_work_mode 
+033e c1808000 rtnne dongle_bind 
+033f 6fe0c610 fetch 1 ,mem_24g_pair_mode 
+0340 247a0000 nrtn blank 
+0341 6fe0c83b fetch 1 ,mem_24g_rxbuf_new + 3 
+0342 20203383 branch g24_binding_device_check + 5 
 
 p_g24_transmit_prep:
-0321 6fe0c588 fetch 1 ,mem_24g_datalen 
-0322 1fe0fe03 increase 3 ,pdata 
-0323 67e0c58a store 1 ,mem_24g_txlen 
-0324 6fe0c5ac fetch 1 ,mem_24g_syncword_crc8 
-0325 67e0c8d6 store 1 ,mem_24g_txpayload_new 
-0326 6fe0c589 fetch 1 ,mem_24g_data_type 
-0327 1fe9fe00 lshift3 pdata ,pdata 
-0328 6848c57e fetcht 1 ,mem_24g_pid 
-0329 18410403 and temp ,0x03 ,temp 
-032a 18438400 lshift temp ,temp 
-032b 9841fe00 ior temp ,pdata 
-032c 6848c57f fetcht 1 ,mem_24g_no_ack 
-032d 9840fe00 iadd temp ,pdata 
-032e e7e08005 istore 1 ,contw 
-032f 6fe0c588 fetch 1 ,mem_24g_datalen 
-0330 e7e08005 istore 1 ,contw 
-0331 6fe0c588 fetch 1 ,mem_24g_datalen 
-0332 98007200 iforce loopcnt 
-0333 d8c04886 arg mem_24g_txbuf_new ,contr 
-0334 20407cda call memcpy 
-0335 202031fc branch g24_transmit_prep_pdu_end 
+0343 6fe0c588 fetch 1 ,mem_24g_datalen 
+0344 1fe0fe03 increase 3 ,pdata 
+0345 67e0c58a store 1 ,mem_24g_txlen 
+0346 6fe0c5ac fetch 1 ,mem_24g_syncword_crc8 
+0347 67e0c8d8 store 1 ,mem_24g_txpayload_new 
+0348 6fe0c589 fetch 1 ,mem_24g_data_type 
+0349 1fe9fe00 lshift3 pdata ,pdata 
+034a 6848c57e fetcht 1 ,mem_24g_pid 
+034b 18410403 and temp ,0x03 ,temp 
+034c 18438400 lshift temp ,temp 
+034d 9841fe00 ior temp ,pdata 
+034e 6848c57f fetcht 1 ,mem_24g_no_ack 
+034f 9840fe00 iadd temp ,pdata 
+0350 e7e08005 istore 1 ,contw 
+0351 6fe0c588 fetch 1 ,mem_24g_datalen 
+0352 e7e08005 istore 1 ,contw 
+0353 6fe0c588 fetch 1 ,mem_24g_datalen 
+0354 98007200 iforce loopcnt 
+0355 d8c04888 arg mem_24g_txbuf_new ,contr 
+0356 20407cda call memcpy 
+0357 202031fc branch g24_transmit_prep_pdu_end 
 
 p_g24_transmit_packet:
-0336 c517833b bmark1 mark_ble_lr ,p_g24_transmit_nolr 
-0337 6fe0c5ca fetch 1 ,mem_24g_disable_fec1 
-0338 243a033b nbranch p_g24_transmit_nolr ,blank 
-0339 784efc00 disable encode_fec0 
-033a 782dfc00 enable encode_fec1 
+0358 c517835d bmark1 mark_ble_lr ,p_g24_transmit_nolr 
+0359 6fe0c5ca fetch 1 ,mem_24g_disable_fec1 
+035a 243a035d nbranch p_g24_transmit_nolr ,blank 
+035b 784efc00 disable encode_fec0 
+035c 782dfc00 enable encode_fec1 
 
 p_g24_transmit_nolr:
-033b 7823fc00 enable enable_white 
-033c 7824fc00 enable enable_crc 
-033d 6fe0c58a fetch 1 ,mem_24g_txlen 
-033e 98007200 iforce loopcnt 
-033f d8c048d6 arg mem_24g_txpayload_new ,contr 
-0340 202031b3 branch g24tr_loop 
+035d 7823fc00 enable enable_white 
+035e 7824fc00 enable enable_crc 
+035f 6fe0c58a fetch 1 ,mem_24g_txlen 
+0360 98007200 iforce loopcnt 
+0361 d8c048d8 arg mem_24g_txpayload_new ,contr 
+0362 202031b3 branch g24tr_loop 
 
 p_g24_receive_update_rxbuff:
-0341 2040317d call g24_receive_byte 
-0342 67e0c836 store 1 ,mem_24g_rxbuf_new 
-0343 c5138349 bmark1 mark_24g_rxmode ,p_g24_receive_skip 
-0344 6fe0c836 fetch 1 ,mem_24g_rxbuf_new 
-0345 1fe97e00 rshift3 pdata ,pdata 
-0346 6848c589 fetcht 1 ,mem_24g_data_type 
-0347 a8400e00 icompare bits_data ,temp 
-0348 2420b18c nbranch g24_type_error ,true 
+0363 2040317d call g24_receive_byte 
+0364 67e0c838 store 1 ,mem_24g_rxbuf_new 
+0365 c513836b bmark1 mark_24g_rxmode ,p_g24_receive_skip 
+0366 6fe0c838 fetch 1 ,mem_24g_rxbuf_new 
+0367 1fe97e00 rshift3 pdata ,pdata 
+0368 6848c589 fetcht 1 ,mem_24g_data_type 
+0369 a8400e00 icompare bits_data ,temp 
+036a 2420b18c nbranch g24_type_error ,true 
 
 p_g24_receive_skip:
-0349 2040317d call g24_receive_byte 
-034a e7e08005 istore 1 ,contw 
-034b 1fe67c4e sub pdata ,78 ,null 
-034c 2421318e nbranch g24_len_over_error ,positive 
-034d 1fe27200 copy pdata ,loopcnt 
-034e 2022b154 branch g24rx_nopayload ,zero 
-034f 20203151 branch g24rx_loop 
+036b 2040317d call g24_receive_byte 
+036c e7e08005 istore 1 ,contw 
+036d 1fe67c4e sub pdata ,78 ,null 
+036e 2421318e nbranch g24_len_over_error ,positive 
+036f 1fe27200 copy pdata ,loopcnt 
+0370 2022b154 branch g24rx_nopayload ,zero 
+0371 20203151 branch g24rx_loop 
 
 p_g24_read_len_pid_crc:
-0350 6fe0c837 fetch 1 ,mem_24g_rxbuf_new + 1 
-0351 67e0c57d store 1 ,mem_24g_rxdata_length 
-0352 1fe0fe01 increase 1 ,pdata 
-0353 d8c04837 arg mem_24g_rxbuf_new + 1 ,contr 
-0354 98c08c00 iadd contr ,contr 
-0355 efe18006 ifetch 3 ,contr 
-0356 67e1c580 store 3 ,mem_24g_sta_crc 
-0357 6fe0c836 fetch 1 ,mem_24g_rxbuf_new 
-0358 1fe10401 and pdata ,0x01 ,temp 
-0359 6048c976 storet 1 ,mem_24g_rxdata_ack_flag 
-035a 1fe30400 rshift pdata ,temp 
-035b 18410403 and temp ,0x03 ,temp 
-035c 6048c586 storet 1 ,mem_24g_sta_pid 
-035d 1fe97e00 rshift3 pdata ,pdata 
-035e 67e0c836 store 1 ,mem_24g_rxbuf_new 
-035f 20600000 rtn 
+0372 6fe0c839 fetch 1 ,mem_24g_rxbuf_new + 1 
+0373 67e0c57d store 1 ,mem_24g_rxdata_length 
+0374 1fe0fe01 increase 1 ,pdata 
+0375 d8c04839 arg mem_24g_rxbuf_new + 1 ,contr 
+0376 98c08c00 iadd contr ,contr 
+0377 efe18006 ifetch 3 ,contr 
+0378 67e1c580 store 3 ,mem_24g_sta_crc 
+0379 6fe0c838 fetch 1 ,mem_24g_rxbuf_new 
+037a 1fe10401 and pdata ,0x01 ,temp 
+037b 6048c978 storet 1 ,mem_24g_rxdata_ack_flag 
+037c 1fe30400 rshift pdata ,temp 
+037d 18410403 and temp ,0x03 ,temp 
+037e 6048c586 storet 1 ,mem_24g_sta_pid 
+037f 1fe97e00 rshift3 pdata ,pdata 
+0380 67e0c838 store 1 ,mem_24g_rxbuf_new 
+0381 20600000 rtn 
 
 p_g24_bind_data_process:
-0360 204033be call g24_rx_interrupt_clear 
-0361 20403119 call g24_receive_packet 
-0362 2437b3be nbranch g24_rx_interrupt_clear ,user3 
-0363 20400367 call p_g24_bind_data_parse 
-0364 2040036f call p_g24_transmit_ack 
-0365 20400377 call p_g24_bind_device_status_check 
-0366 20203316 branch g24_bind_data_process + 7 
+0382 204033be call g24_rx_interrupt_clear 
+0383 20403119 call g24_receive_packet 
+0384 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+0385 20400389 call p_g24_bind_data_parse 
+0386 20400391 call p_g24_transmit_ack 
+0387 20400399 call p_g24_bind_device_status_check 
+0388 20203316 branch g24_bind_data_process + 7 
 
 p_g24_bind_data_parse:
-0367 70462205 jam bind_mode_continue ,mem_24g_bind_mode_continue 
-0368 d8c04836 arg mem_24g_rxbuf_new ,contr 
-0369 d8a04926 arg mem_24g_rxdata_temp_new ,contw 
-036a 20407c89 call memcpy8 
-036b 20203322 branch g24_bind_data_parse_next 
+0389 70462205 jam bind_mode_continue ,mem_24g_bind_mode_continue 
+038a d8c04838 arg mem_24g_rxbuf_new ,contr 
+038b d8a04928 arg mem_24g_rxdata_temp_new ,contw 
+038c 20407c89 call memcpy8 
+038d 20203322 branch g24_bind_data_parse_next 
 
 p_g24_receive_transmit_ack:
-036c 204033be call g24_rx_interrupt_clear 
-036d 20403119 call g24_receive_packet 
-036e 24778000 nrtn user3 
+038e 204033be call g24_rx_interrupt_clear 
+038f 20403119 call g24_receive_packet 
+0390 24778000 nrtn user3 
 
 p_g24_transmit_ack:
-036f 6fe0c836 fetch 1 ,mem_24g_rxbuf_new 
-0370 1fe97e00 rshift3 pdata ,pdata 
-0371 67e0c589 store 1 ,mem_24g_data_type 
-0372 20400350 call p_g24_read_len_pid_crc 
-0373 6fe0c976 fetch 1 ,mem_24g_rxdata_ack_flag 
-0374 2feffe00 isolate1 bit_ack_24g ,pdata 
-0375 2020b3fd branch g24tx_no_ack ,true 
-0376 202033fa branch g24tx_with_ack 
+0391 6fe0c838 fetch 1 ,mem_24g_rxbuf_new 
+0392 1fe97e00 rshift3 pdata ,pdata 
+0393 67e0c589 store 1 ,mem_24g_data_type 
+0394 20400372 call p_g24_read_len_pid_crc 
+0395 6fe0c978 fetch 1 ,mem_24g_rxdata_ack_flag 
+0396 2feffe00 isolate1 bit_ack_24g ,pdata 
+0397 2020b3fd branch g24tx_no_ack ,true 
+0398 202033fa branch g24tx_with_ack 
 
 p_g24_bind_device_status_check:
-0377 6fe0c5d5 fetch 1 ,mem_24g_bind_device_status 
-0378 207a0000 rtn blank 
+0399 6fe0c5d5 fetch 1 ,mem_24g_bind_device_status 
+039a 207a0000 rtn blank 
 
 p_g24_bind_device_status:
-0379 6fe0c929 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-037a 2020339c branch g24_bind_device_status + 1 
+039b 6fe0c92b fetch 1 ,mem_24g_rxdata_temp_new + 3 
+039c 2020339c branch g24_bind_device_status + 1 
 
 p_dongle_work_mode_auto:
-037b 6fe0c616 fetch 1 ,mem_24g_work_mode 
-037c c1800000 rtnne dongle_work 
-037d 2040038f call p_g24_work_mode_start 
-037e 20404827 call dongle_g24_blank_data_process 
-037f 6fe0c610 fetch 1 ,mem_24g_pair_mode 
-0380 247a0000 nrtn blank 
-0381 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
-0382 c1800000 rtnne 0 
-0383 6fe0c614 fetch 1 ,mem_24g_nodata_timer_enable 
-0384 207a0000 rtn blank 
-0385 d8e00008 arg g24_timer_nodata ,queue 
-0386 20407cef call timer_check 
-0387 247a0000 nrtn blank 
-0388 2040351b call g24_ch_process + 3 
-0389 20203511 branch g24_nodata_timer_over 
+039d 6fe0c616 fetch 1 ,mem_24g_work_mode 
+039e c1800000 rtnne dongle_work 
+039f 204003b1 call p_g24_work_mode_start 
+03a0 20404827 call dongle_g24_blank_data_process 
+03a1 6fe0c610 fetch 1 ,mem_24g_pair_mode 
+03a2 247a0000 nrtn blank 
+03a3 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
+03a4 c1800000 rtnne 0 
+03a5 6fe0c614 fetch 1 ,mem_24g_nodata_timer_enable 
+03a6 207a0000 rtn blank 
+03a7 d8e00008 arg g24_timer_nodata ,queue 
+03a8 20407cef call timer_check 
+03a9 247a0000 nrtn blank 
+03aa 2040351b call g24_ch_process + 3 
+03ab 20203511 branch g24_nodata_timer_over 
 
 p_g24_ch_process:
-038a 6fe0c60a fetch 1 ,mem_24g_abort_packet 
-038b c000b5ea beq 1 ,rssi_noise_monitor 
-038c 6fe0c612 fetch 1 ,mem_24g_hop_packet 
-038d c000b52c beq 1 ,g24_ch_receive_hop_pac 
-038e 20600000 rtn 
+03ac 6fe0c60a fetch 1 ,mem_24g_abort_packet 
+03ad c000b5ea beq 1 ,rssi_noise_monitor 
+03ae 6fe0c612 fetch 1 ,mem_24g_hop_packet 
+03af c000b52c beq 1 ,g24_ch_receive_hop_pac 
+03b0 20600000 rtn 
 
 p_g24_work_mode_start:
-038f 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0390 c1800000 rtnne dongle_work 
-0391 20403451 call g24_work_init 
-0392 2040038a call p_g24_ch_process 
+03b1 6fe0c616 fetch 1 ,mem_24g_work_mode 
+03b2 c1800000 rtnne dongle_work 
+03b3 20403451 call g24_work_init 
+03b4 204003ac call p_g24_ch_process 
 
 p_g24_receive_packet_start:
-0393 2040036c call p_g24_receive_transmit_ack 
-0394 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+03b5 2040038e call p_g24_receive_transmit_ack 
+03b6 2437b3be nbranch g24_rx_interrupt_clear ,user3 
 
 p_g24_receive_packet_parse:
-0395 204033e3 call g24_receive_packet_parse_pid_crc 
-0396 243433be nbranch g24_rx_interrupt_clear ,user 
-0397 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0398 203a33be branch g24_rx_interrupt_clear ,blank 
-0399 1fe0fe02 increase 2 ,pdata 
-039a 98007200 iforce loopcnt 
-039b d8c04836 arg mem_24g_rxbuf_new ,contr 
-039c d8a04926 arg mem_24g_rxdata_temp_new ,contw 
-039d 20407cda call memcpy 
-039e 70461300 jam 0 ,mem_24g_mode_switch 
-039f 6fe0c610 fetch 1 ,mem_24g_pair_mode 
-03a0 205a03a9 call p_g24_enable_nodata_timer ,blank 
+03b7 204033e3 call g24_receive_packet_parse_pid_crc 
+03b8 243433be nbranch g24_rx_interrupt_clear ,user 
+03b9 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+03ba 203a33be branch g24_rx_interrupt_clear ,blank 
+03bb 1fe0fe02 increase 2 ,pdata 
+03bc 98007200 iforce loopcnt 
+03bd d8c04838 arg mem_24g_rxbuf_new ,contr 
+03be d8a04928 arg mem_24g_rxdata_temp_new ,contw 
+03bf 20407cda call memcpy 
+03c0 70461300 jam 0 ,mem_24g_mode_switch 
+03c1 6fe0c610 fetch 1 ,mem_24g_pair_mode 
+03c2 205a03cb call p_g24_enable_nodata_timer ,blank 
 
 p_g24_receive_packet_parse_end:
-03a1 6fe0c928 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-03a2 c07f83af beq datatype_attemp ,p_g24_data_receive_attemp 
-03a3 1fe17e03 and pdata ,0x03 ,pdata 
-03a4 c00083b1 beq datatype_device1 ,p_g24_data_device1 
-03a5 c00103c1 beq datatype_device2 ,p_g24_data_device2 
+03c3 6fe0c92a fetch 1 ,mem_24g_rxdata_temp_new + 2 
+03c4 c07f83d1 beq datatype_attemp ,p_g24_data_receive_attemp 
+03c5 1fe17e03 and pdata ,0x03 ,pdata 
+03c6 c00083d3 beq datatype_device1 ,p_g24_data_device1 
+03c7 c00103e3 beq datatype_device2 ,p_g24_data_device2 
 
 p_g24_rx_interrupt_clear:
-03a6 d8a04836 arg mem_24g_rxbuf_new ,contw 
-03a7 df200046 arg 70 ,loopcnt 
-03a8 20207ca1 branch clear_mem 
+03c8 d8a04838 arg mem_24g_rxbuf_new ,contw 
+03c9 df200046 arg 70 ,loopcnt 
+03ca 20207ca1 branch clear_mem 
 
 p_g24_enable_nodata_timer:
-03a9 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
-03aa 203a33fe branch g24_enable_nodata_timer ,blank 
-03ab 70461401 jam 1 ,mem_24g_nodata_timer_enable 
-03ac 58000640 setarg 1600 
-03ad d8e00008 arg g24_timer_nodata ,queue 
-03ae 20207ce1 branch timer_init 
+03cb 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
+03cc 203a33fe branch g24_enable_nodata_timer ,blank 
+03cd 70461401 jam 1 ,mem_24g_nodata_timer_enable 
+03ce 58000640 setarg 1600 
+03cf d8e00008 arg g24_timer_nodata ,queue 
+03d0 20207ce1 branch timer_init 
 
 p_g24_data_receive_attemp:
-03af 20400379 call p_g24_bind_device_status 
-03b0 20200290 branch p_g24_data_attemp 
+03d1 2040039b call p_g24_bind_device_status 
+03d2 20200290 branch p_g24_data_attemp 
 
 p_g24_data_device1:
-03b1 2040338d call g24_binding_dvc1_living 
-03b2 2040352e call g24_ch_timer_reinit 
-03b3 6fe0c60a fetch 1 ,mem_24g_abort_packet 
-03b4 6848c926 fetcht 1 ,mem_24g_rxdata_temp_new 
-03b5 284ffe03 isolate1 bit_abort ,temp 
-03b6 7920fe00 setflag true ,0 ,pdata 
-03b7 67e0c60a store 1 ,mem_24g_abort_packet 
-03b8 c00083bc beq 1 ,p_g24_data_attemp_device1_abort 
-03b9 6fe0c612 fetch 1 ,mem_24g_hop_packet 
-03ba 6848c926 fetcht 1 ,mem_24g_rxdata_temp_new 
-03bb 202033ce branch g24_data_device1_next 
+03d3 2040338d call g24_binding_dvc1_living 
+03d4 2040352e call g24_ch_timer_reinit 
+03d5 6fe0c60a fetch 1 ,mem_24g_abort_packet 
+03d6 6848c928 fetcht 1 ,mem_24g_rxdata_temp_new 
+03d7 284ffe03 isolate1 bit_abort ,temp 
+03d8 7920fe00 setflag true ,0 ,pdata 
+03d9 67e0c60a store 1 ,mem_24g_abort_packet 
+03da c00083de beq 1 ,p_g24_data_attemp_device1_abort 
+03db 6fe0c612 fetch 1 ,mem_24g_hop_packet 
+03dc 6848c928 fetcht 1 ,mem_24g_rxdata_temp_new 
+03dd 202033ce branch g24_data_device1_next 
 
 p_g24_data_attemp_device1_abort:
-03bc 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-03bd 247a0000 nrtn blank 
-03be 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-03bf 6fe24930 fetch 4 ,mem_24g_rxdata_temp_new + 10 
-03c0 202035a3 branch g24_store_device1_addr 
+03de 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+03df 247a0000 nrtn blank 
+03e0 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+03e1 6fe24932 fetch 4 ,mem_24g_rxdata_temp_new + 10 
+03e2 202035a3 branch g24_store_device1_addr 
 
 p_g24_data_device2:
-03c1 20403393 call g24_binding_dvc2_living 
-03c2 6848c926 fetcht 1 ,mem_24g_rxdata_temp_new 
-03c3 284ffe03 isolate1 bit_abort ,temp 
-03c4 202083c6 branch p_g24_data_attemp_device2_abort ,true 
-03c5 202033d7 branch g24_data_device2 + 4 
+03e3 20403393 call g24_binding_dvc2_living 
+03e4 6848c928 fetcht 1 ,mem_24g_rxdata_temp_new 
+03e5 284ffe03 isolate1 bit_abort ,temp 
+03e6 202083e8 branch p_g24_data_attemp_device2_abort ,true 
+03e7 202033d7 branch g24_data_device2 + 4 
 
 p_g24_data_attemp_device2_abort:
-03c6 6fe24930 fetch 4 ,mem_24g_rxdata_temp_new + 10 
-03c7 202035a9 branch g24_store_device2_addr 
+03e8 6fe24932 fetch 4 ,mem_24g_rxdata_temp_new + 10 
+03e9 202035a9 branch g24_store_device2_addr 
 
 p_dongle_g24_mouse:
-03c8 6fe0c928 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-03c9 c28303ef bbit1 spec_pro_bit ,p_dongle_receive_ms_protocol_data 
-03ca c28383ef bbit1 nor_pro_bit ,p_dongle_receive_ms_protocol_data 
-03cb c28283fa bbit1 audio_bit ,p_dongle_receive_ms_audio_data 
-03cc c28203f9 bbit1 http_bit ,p_dongle_receive_ms_http_data 
-03cd c2818417 bbit1 heart_bit ,p_dongle_receive_ms_heart_data 
+03ea 6fe0c92a fetch 1 ,mem_24g_rxdata_temp_new + 2 
+03eb c2830411 bbit1 spec_pro_bit ,p_dongle_receive_ms_protocol_data 
+03ec c2838411 bbit1 nor_pro_bit ,p_dongle_receive_ms_protocol_data 
+03ed c282841c bbit1 audio_bit ,p_dongle_receive_ms_audio_data 
+03ee c282041b bbit1 http_bit ,p_dongle_receive_ms_http_data 
+03ef c2818439 bbit1 heart_bit ,p_dongle_receive_ms_heart_data 
 
 p_dongle_g24_mouse_next:
-03ce 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-03cf 1fe67c09 sub pdata ,0x09 ,null 
-03d0 202283df branch p_dongle_g24_mouse_data ,zero 
-03d1 204003df call p_dongle_g24_mouse_data 
-03d2 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-03d3 1fe0fff8 add pdata ,-8 ,pdata 
-03d4 67e0c57d store 1 ,mem_24g_rxdata_length 
-03d5 1fe27200 copy pdata ,loopcnt 
-03d6 d8a04928 arg mem_24g_rxdata_temp_new + 2 ,contw 
-03d7 d8c04930 arg mem_24g_rxdata_temp_new + 10 ,contr 
-03d8 20407cda call memcpy 
-03d9 6fe0c928 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-03da c28303ef bbit1 spec_pro_bit ,p_dongle_receive_ms_protocol_data 
-03db c28283fa bbit1 audio_bit ,p_dongle_receive_ms_audio_data 
-03dc c28203f9 bbit1 http_bit ,p_dongle_receive_ms_http_data 
-03dd c2818417 bbit1 heart_bit ,p_dongle_receive_ms_heart_data 
-03de 20600000 rtn 
+03f0 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+03f1 1fe67c09 sub pdata ,0x09 ,null 
+03f2 20228401 branch p_dongle_g24_mouse_data ,zero 
+03f3 20400401 call p_dongle_g24_mouse_data 
+03f4 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+03f5 1fe0fff8 add pdata ,-8 ,pdata 
+03f6 67e0c57d store 1 ,mem_24g_rxdata_length 
+03f7 1fe27200 copy pdata ,loopcnt 
+03f8 d8a0492a arg mem_24g_rxdata_temp_new + 2 ,contw 
+03f9 d8c04932 arg mem_24g_rxdata_temp_new + 10 ,contr 
+03fa 20407cda call memcpy 
+03fb 6fe0c92a fetch 1 ,mem_24g_rxdata_temp_new + 2 
+03fc c2830411 bbit1 spec_pro_bit ,p_dongle_receive_ms_protocol_data 
+03fd c282841c bbit1 audio_bit ,p_dongle_receive_ms_audio_data 
+03fe c282041b bbit1 http_bit ,p_dongle_receive_ms_http_data 
+03ff c2818439 bbit1 heart_bit ,p_dongle_receive_ms_heart_data 
+0400 20600000 rtn 
 
 p_dongle_g24_mouse_data:
-03df 58000001 setarg ms_report_id 
-03e0 67e08913 store 1 ,mem_usb_mouse_data 
-03e1 6fe3c929 fetch 7 ,mem_24g_rxdata_temp_new + 3 
-03e2 e7e38005 istore 7 ,contw 
-03e3 6fe0c929 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-03e4 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
-03e5 6fe0c929 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-03e6 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
-03e7 6fe0c929 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-03e8 6848c97b fetcht 1 ,mem_dg_ms_rf_key_last 
-03e9 67e0c97b store 1 ,mem_dg_ms_rf_key_last 
-03ea 98467c00 isub temp ,null 
-03eb 2422c836 nbranch dongle_usb_tx_ms_data ,zero 
-03ec 6fe3492a fetch 6 ,mem_24g_rxdata_temp_new + 4 
-03ed 207a0000 rtn blank 
-03ee 20204836 branch dongle_usb_tx_ms_data 
+0401 58000001 setarg ms_report_id 
+0402 67e08913 store 1 ,mem_usb_mouse_data 
+0403 6fe3c92b fetch 7 ,mem_24g_rxdata_temp_new + 3 
+0404 e7e38005 istore 7 ,contw 
+0405 6fe0c92b fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0406 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
+0407 6fe0c92b fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0408 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
+0409 6fe0c92b fetch 1 ,mem_24g_rxdata_temp_new + 3 
+040a 6848c97d fetcht 1 ,mem_dg_ms_rf_key_last 
+040b 67e0c97d store 1 ,mem_dg_ms_rf_key_last 
+040c 98467c00 isub temp ,null 
+040d 2422c836 nbranch dongle_usb_tx_ms_data ,zero 
+040e 6fe3492c fetch 6 ,mem_24g_rxdata_temp_new + 4 
+040f 207a0000 rtn blank 
+0410 20204836 branch dongle_usb_tx_ms_data 
 
 p_dongle_receive_ms_protocol_data:
-03ef 704a8040 jam 0x40 ,mem_dg_ms_protocol_data 
-03f0 704a81c0 jam report_id_pro_data ,mem_dg_ms_protocol_data + 1 
-03f1 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-03f2 1f20f3ff increase -1 ,loopcnt 
-03f3 d8c04929 arg mem_24g_rxdata_temp_new + 3 ,contr 
-03f4 d8a04a82 arg mem_dg_ms_protocol_data + 2 ,contw 
-03f5 20407cda call memcpy 
-03f6 204003a6 call p_g24_rx_interrupt_clear 
+0411 704a4040 jam 0x40 ,mem_dg_ms_protocol_data 
+0412 704a41c0 jam report_id_pro_data ,mem_dg_ms_protocol_data + 1 
+0413 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0414 1f20f3ff increase -1 ,loopcnt 
+0415 d8c0492b arg mem_24g_rxdata_temp_new + 3 ,contr 
+0416 d8a04a42 arg mem_dg_ms_protocol_data + 2 ,contw 
+0417 20407cda call memcpy 
+0418 204003c8 call p_g24_rx_interrupt_clear 
 
 p_dongle_usb_tx_protocol_data_enable:
-03f7 704ac131 jam usb_ep3_protocol ,mem_usb_ep3_data 
-03f8 2020041c branch p_dongle_usb_tx_enable_ep3 
+0419 704a8131 jam usb_ep3_protocol ,mem_usb_ep3_data 
+041a 2020043e branch p_dongle_usb_tx_enable_ep3 
 
 p_dongle_receive_ms_http_data:
-03f9 20600000 rtn 
+041b 20600000 rtn 
 
 p_dongle_receive_ms_audio_data:
-03fa 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-03fb 1f20f3ff increase -1 ,loopcnt 
-03fc d8c04929 arg mem_24g_rxdata_temp_new + 3 ,contr 
-03fd d8a049bf arg mem_dg_ms_audio_data_sta ,contw 
-03fe 20407cda call memcpy 
-03ff 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0400 1f20f3ff increase -1 ,loopcnt 
-0401 da4049ff arg mem_dg_ms_audio_data_last ,regb 
-0402 da2049bf arg mem_dg_ms_audio_data_sta ,rega 
-0403 20407d64 call compare_loop 
-0404 2442840a ncall p_dongle_usb_tx_audio_data ,zero 
-0405 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0406 1f20f3ff increase -1 ,loopcnt 
-0407 d8c049bf arg mem_dg_ms_audio_data_sta ,contr 
-0408 d8a049ff arg mem_dg_ms_audio_data_last ,contw 
-0409 20207cda branch memcpy 
+041c 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+041d 1f20f3ff increase -1 ,loopcnt 
+041e d8c0492b arg mem_24g_rxdata_temp_new + 3 ,contr 
+041f d8a0497f arg mem_dg_ms_audio_data_sta ,contw 
+0420 20407cda call memcpy 
+0421 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0422 1f20f3ff increase -1 ,loopcnt 
+0423 da4049bf arg mem_dg_ms_audio_data_last ,regb 
+0424 da20497f arg mem_dg_ms_audio_data_sta ,rega 
+0425 20407d64 call compare_loop 
+0426 2442842c ncall p_dongle_usb_tx_audio_data ,zero 
+0427 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0428 1f20f3ff increase -1 ,loopcnt 
+0429 d8c0497f arg mem_dg_ms_audio_data_sta ,contr 
+042a d8a049bf arg mem_dg_ms_audio_data_last ,contw 
+042b 20207cda branch memcpy 
 
 p_dongle_usb_tx_audio_data:
-040a 704a3f40 jam 0x40 ,mem_dg_ms_audio_data 
-040b 704a40cc jam report_id_audio_data ,mem_dg_ms_audio_data + 1 
-040c 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-040d 1fe0ffff increase -1 ,pdata 
-040e 67e0ca41 store 1 ,mem_dg_ms_audio_data + 2 
-040f 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0410 1f20f3ff increase -1 ,loopcnt 
-0411 d8c049bf arg mem_dg_ms_audio_data_sta ,contr 
-0412 d8a04a42 arg mem_dg_ms_audio_data + 3 ,contw 
-0413 20407cda call memcpy 
-0414 204003a6 call p_g24_rx_interrupt_clear 
-0415 704ac130 jam usb_ep3_audio ,mem_usb_ep3_data 
-0416 2020041c branch p_dongle_usb_tx_enable_ep3 
+042c 7049ff40 jam 0x40 ,mem_dg_ms_audio_data 
+042d 704a00cc jam report_id_audio_data ,mem_dg_ms_audio_data + 1 
+042e 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+042f 1fe0ffff increase -1 ,pdata 
+0430 67e0ca01 store 1 ,mem_dg_ms_audio_data + 2 
+0431 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0432 1f20f3ff increase -1 ,loopcnt 
+0433 d8c0497f arg mem_dg_ms_audio_data_sta ,contr 
+0434 d8a04a02 arg mem_dg_ms_audio_data + 3 ,contw 
+0435 20407cda call memcpy 
+0436 204003c8 call p_g24_rx_interrupt_clear 
+0437 704a8130 jam usb_ep3_audio ,mem_usb_ep3_data 
+0438 2020043e branch p_dongle_usb_tx_enable_ep3 
 
 p_dongle_receive_ms_heart_data:
-0417 6fe0c97d fetch 1 ,mem_dg_rep_ms_ack_data_flag 
-0418 207a0000 rtn blank 
-0419 70497d00 jam 0 ,mem_dg_rep_ms_ack_data_flag 
-041a 70461108 jam protocol_ackpayload ,mem_24g_ackpayload_enable 
-041b 20600000 rtn 
+0439 6fe0c773 fetch 1 ,mem_dg_rep_ms_ack_data_flag 
+043a 207a0000 rtn blank 
+043b 70477300 jam 0 ,mem_dg_rep_ms_ack_data_flag 
+043c 70461108 jam protocol_ackpayload ,mem_24g_ackpayload_enable 
+043d 20600000 rtn 
 
 p_dongle_usb_tx_enable_ep3:
-041c 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-041d 207a0000 rtn blank 
-041e da204ac2 arg mem_usb_ep3_fifo ,rega 
-041f 20407da5 call fifo_is_full 
-0420 247a0000 nrtn blank 
-0421 6fe0cac1 fetch 1 ,mem_usb_ep3_data 
-0422 67e0866f store 1 ,mem_fifo_temp 
-0423 da204ac2 arg mem_usb_ep3_fifo ,rega 
-0424 20207d8b branch fifo_in 
+043e 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+043f 207a0000 rtn blank 
+0440 da204a82 arg mem_usb_ep3_fifo ,rega 
+0441 20407da5 call fifo_is_full 
+0442 247a0000 nrtn blank 
+0443 6fe0ca81 fetch 1 ,mem_usb_ep3_data 
+0444 67e0866f store 1 ,mem_fifo_temp 
+0445 da204a82 arg mem_usb_ep3_fifo ,rega 
+0446 20207d8b branch fifo_in 
 
 p_dongle_g24_kb:
-0425 6fe0c929 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0426 c000042a beq 0 ,p_dongle_g24_kb_type0 
-0427 c0010430 beq 2 ,p_dongle_g24_kb_type2 
-0428 c0018433 beq 3 ,p_dongle_g24_kb_type3 
-0429 202033be branch g24_rx_interrupt_clear 
+0447 6fe0c92b fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0448 c000044c beq 0 ,p_dongle_g24_kb_type0 
+0449 c0010452 beq 2 ,p_dongle_g24_kb_type2 
+044a c0018455 beq 3 ,p_dongle_g24_kb_type3 
+044b 202033be branch g24_rx_interrupt_clear 
 
 p_dongle_g24_kb_type0:
-042a 6fe0c92b fetch 1 ,mem_24g_rxdata_temp_new + 5 
-042b 67e0c611 store 1 ,mem_24g_ackpayload_enable 
-042c 70492b00 jam 0 ,mem_24g_rxdata_temp_new + 5 
-042d d8a00923 arg mem_usb_kb_data ,contw 
-042e d8c0492a arg mem_24g_rxdata_temp_new + 4 ,contr 
-042f 202048ef branch dongle_g24_kb_type0 + 5 
+044c 6fe0c92d fetch 1 ,mem_24g_rxdata_temp_new + 5 
+044d 67e0c611 store 1 ,mem_24g_ackpayload_enable 
+044e 70492d00 jam 0 ,mem_24g_rxdata_temp_new + 5 
+044f d8a00923 arg mem_usb_kb_data ,contw 
+0450 d8c0492c arg mem_24g_rxdata_temp_new + 4 ,contr 
+0451 202048ef branch dongle_g24_kb_type0 + 5 
 
 p_dongle_g24_kb_type2:
-0430 d8a00943 arg mem_usb_kb_system ,contw 
-0431 d8c04929 arg mem_24g_rxdata_temp_new + 3 ,contr 
-0432 2020491f branch dongle_g24_kb_type2 + 2 
+0452 d8a00943 arg mem_usb_kb_system ,contw 
+0453 d8c0492b arg mem_24g_rxdata_temp_new + 3 ,contr 
+0454 2020491f branch dongle_g24_kb_type2 + 2 
 
 p_dongle_g24_kb_type3:
-0433 d8a00933 arg mem_usb_kb_multikey ,contw 
-0434 d8c04929 arg mem_24g_rxdata_temp_new + 3 ,contr 
-0435 20204907 branch dongle_g24_kb_type3 + 2 
+0455 d8a00933 arg mem_usb_kb_multikey ,contw 
+0456 d8c0492b arg mem_24g_rxdata_temp_new + 3 ,contr 
+0457 20204907 branch dongle_g24_kb_type3 + 2 
               org 0x2000
 
 start:
@@ -15118,6 +15160,8 @@
 4872 6fe08875 fetch 1 ,mem_usb0_set_report_data 
 4873 c1dd0000 rtnne pc_report_id 
 4874 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
+
+dongle_usb_dispatch_next:
 4875 c050487c beq command_mode ,dongle_dispose_cmd_mode 
 4876 c050c882 beq command_bind ,dongle_dispose_cmd_bind 
 4877 c053488e beq command_current_project ,dongle_dispose_cmd_current_project 
Index: program/app_dongle.prog
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/program/app_dongle.prog	(revision 4966)
+++ /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/program/app_dongle.prog	(working copy)
@@ -248,6 +248,7 @@
 	fetch 1,mem_usb0_set_report_data
 	rtnne PC_REPORT_ID
 	fetch 1,mem_usb0_set_report_data+1
+dongle_usb_dispatch_next:
 	beq COMMAND_MODE,dongle_dispose_cmd_mode
 	beq COMMAND_BIND,dongle_dispose_cmd_bind
 	beq COMMAND_CURRENT_PROJECT,dongle_dispose_cmd_current_project
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/program/patch.prog	(revision 4991)
+++ /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/program/patch.prog	(working copy)
@@ -367,12 +367,12 @@
 p_usb_rx_ep3:
 	fetch 2,mem_usb_read_len
 	rtn blank
-	arg mem_usb_out_data_temp,contw
+	arg mem_usb_ep3_out_data,contw
 	call usb_rx_read
-	fetchr loopcnt,2,mem_usb_read_len
-	arg mem_usb_out_data_temp,contr
-	arg mem_usb_out_data,contw
-	branch memcpy
+	fetch 2,mem_usb_read_len
+	store 2,mem_usb_ep3_out_data_len
+	jam 1,mem_usb_ep3_out_data_flag
+	rtn
 //=================================yichip usb-if  fixed=======================================//
 //fixed usb-if get endpoint stats->out no respond
 p_usb_in_device:
@@ -949,14 +949,6 @@
 	store 3,mem_24g_device1_bind_step
 	branch g24_bind_init+8
 
-p_dongle_usb_dispatch:
-//	call p_wdt_kick
-	branch dongle_usb_dispatch+1
-
-p_wdt_kick:
-	setarg 16	//about 125ms
-	branch wdt_init_config
-
 p_dongle_default_init:
 ifdef UART_LOG
 	call p_device_hardware_init
@@ -985,6 +977,45 @@
 	call g24_transmit_prep
 	branch g24_transmit
 
+//==============================================usb ep3 out data parase================================================//
+p_wdt_kick:
+	setarg 16	//about 125ms
+	branch wdt_init_config
+
+p_dongle_usb_dispatch:
+//	call p_wdt_kick
+p_dongle_usb_dispatch_analysis:
+	fetch 1,mem_usb_remote_wakeup
+	call dongle_clear_pc_sleep_flag,blank
+	call usb_isr
+	fetch 1,mem_usb_ep3_out_data_flag
+	rtn blank
+p_test:
+	jam 0,mem_usb_ep3_out_data_flag
+	fetch 1,mem_usb_read_len
+	sub pdata,EP3_OUT_MIN_LEN,null
+	rtn positive
+	fetch 1,mem_usb_ep3_out_data+1
+	sub pdata,EP3_OUT_PAYLOAD_MIN_LEN,null
+	rtn positive
+	fetch 1,mem_usb_ep3_out_data+2
+	sub pdata,OPCODE_1_7,null
+	branch p_dongle_tx_pre_ackpayload_mouse,positive
+	branch dongle_usb_dispatch_next
+	
+
+p_dongle_tx_pre_ackpayload_mouse:
+	arg 64,loopcnt
+	arg mem_dg_rep_ms_ack_data,contw
+	call clear_mem
+	jam 1,mem_dg_rep_ms_ack_data_flag
+	jam PROTOCOL_ACKPAYLOAD,mem_24g_ackpayload_enable
+	fetchr loopcnt,1,mem_usb_ep3_out_data
+	increase 2,loopcnt
+	arg mem_usb_ep3_out_data,contr
+	arg mem_dg_rep_ms_ack_data,contw
+	branch memcpy
+	
 //==============================================yichip 24g Interface================================================//
 p_g24_pair_param_init:
 	jam 0x4a,mem_24g_pair_ch
@@ -1027,8 +1058,20 @@
 	fetch 1,mem_24g_ackpayload_enable
 	beq BIND_ACKPAYLOAD,p_dongle_g24_bind_ackpayload_prep
 	beq KB_LED_ACKPAYLOAD,p_dongle_g24_kb_led_ackpayload_prep
+	beq PROTOCOL_ACKPAYLOAD,p_dongle_g24_protocol_ackpayload_prep
 	rtn
 
+p_dongle_g24_protocol_ackpayload_prep:
+	jam TYPE_MS,mem_24g_data_type
+	fetch 1,mem_dg_rep_ms_ack_data+1
+	increase 2,pdata
+	store 1,mem_24g_datalen
+	copy pdata,loopcnt
+	arg mem_dg_rep_ms_ack_data,contr
+	arg mem_24g_txbuf_new,contw
+	branch memcpy
+
+
 p_dongle_pc_sleep_ackpayload_prep_keyboard:
 	fetch 1,mem_dg_pc_sleep_flag
 	set0 1,pdata
