Index: format/app_dongle.format
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/format/app_dongle.format	(revision 4974)
+++ /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/format/app_dongle.format	(working copy)
@@ -55,20 +55,14 @@
 
 //diff pack type set
 1 mem_dg_ms_rf_key_last
-0 mem_dg_ms_battery_start
-1 mem_dg_ms_battery_event
-1 mem_dg_ms_battery_opcode
-1 mem_dg_ms_battery_len
-1 mem_dg_ms_battery_data
-1 mem_dg_ms_battery_data_in_type
-0 mem_dg_ms_battery_end
-2 mem_dg_version
+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
-64 mem_dg_ms_protocol_data_sta
+//64 mem_dg_ms_protocol_data_sta
+//64 mem_dg_ms_protocol_data_last
 65 mem_dg_ms_protocol_data
 1 mem_usb_ep3_data
 8 mem_usb_ep3_fifo
@@ -84,32 +78,26 @@
 )
 
 (
-//cmd opcode
-0x01 HCI_CMD_GET_DEVICE_INFO
-0x02 HCI_CMD_SET_DPI
-0x03 HCI_CMD_GET_DPI
-0x04 HCI_CMD_SET_SN
-0x05 HCI_CMD_GET_SN
-0x06 HCI_CMD_GET_BATTERY
-0x07 HCI_CMD_GET_CONNECT_STATE
-0x08 HCI_CMD_SET_B4_FUCTION
-0x09 HCI_CMD_SET_B5_FUCTION
-
-//rep opcode
-0x01 HCI_EVENT_DEVICE_INFO_REP
-0x02 HCI_EVENT_DPI_RSP
-0x03 HCI_EVENT_SN_RSP
-0x04 HCI_EVENT_KEY_REP
-0x05 HCI_EVENT_CONNECT_REP
-0x06 HCI_EVENT_BATTERY_REP
-0x07 HCI_EVENT_COMMAND_REP
-0x08 HCI_EVENT_OPEN_APP_REP
-0xff HCI_EVENT_ERROR_REP //cmd or opcode or len error
-
-//hci type
-0x01 HCI_CMD_HEADER
-0x02 HCI_EVT_HEADER
-0x010c DEVICE_INFO_REP
+// opcode
+0x01 OPCODE_APPKEY
+0x02 OPCODE_SECRET
+0x03 OPCODE_SN
+0x04 OPCODE_CHIP_ID
+0x06 OPCODE_VOICE_START
+0x07 OPCODE_VOICE_END
+0x08 OPCODE_CONNECT_STATE
+
+0x20 OPCODE_VOICE_KEY
+0x21 OPCODE_ASK_KEY
+0x22 OPCODE_TRANSMIT_KEY
+0x23 OPCODE_VOICE_CTRL_KEY
+0x24 OPCODE_WRITE_KEY
+0X25 OPCODE_SUMARY_KEY
+0X26 OPCODE_PPT_KEY
+0X27 OPCODE_DRAW_KEY
+0X28 OPCODE_PRSTCN_KEY
+0x29 OPCODE_AI_KEY
+0X30 OPCODE_ONE_PULLUP_KEY
 
 //report id
 0xC0 REPORT_ID_PRO_DATA
Index: output/eeprom.dat
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/output/eeprom.dat	(revision 4974)
+++ /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/output/eeprom.dat	(working copy)
@@ -2,8 +2,8 @@
 02
 aa
 55
-52
-11
+da
+10
 c2
 84
 00
@@ -1526,8 +1526,8 @@
 65
 da
 20
-4b
-08
+4a
+c2
 20
 40
 7d
@@ -1646,8 +1646,8 @@
 fb
 da
 20
-4b
-08
+4a
+c2
 20
 40
 7d
@@ -1686,8 +1686,8 @@
 0d
 da
 20
-4b
-08
+4a
+c2
 20
 40
 7d
@@ -1697,8 +1697,8 @@
 00
 00
 70
-4b
-07
+4a
+c1
 00
 c0
 18
@@ -1715,7 +1715,7 @@
 6f
 e0
 ca
-45
+3f
 20
 7a
 00
@@ -1727,7 +1727,7 @@
 d8
 c0
 4a
-46
+40
 20
 40
 01
@@ -1735,7 +1735,7 @@
 d8
 a0
 4a
-45
+3f
 df
 20
 00
@@ -1747,7 +1747,7 @@
 6f
 e0
 ca
-c6
+80
 20
 7a
 00
@@ -1759,7 +1759,7 @@
 d8
 c0
 4a
-c7
+81
 20
 40
 01
@@ -1767,7 +1767,7 @@
 d8
 a0
 4a
-c6
+80
 20
 20
 01
@@ -3007,7 +3007,7 @@
 58
 00
 04
-43
+25
 67
 e1
 45
@@ -3883,23 +3883,23 @@
 c2
 83
 03
-f0
+ef
 c2
 83
 83
-f0
+ef
 c2
 82
-84
-0f
+83
+fa
 c2
 82
-04
-0e
+03
+f9
 c2
 81
 84
-2c
+17
 6f
 e0
 c5
@@ -3911,11 +3911,11 @@
 20
 22
 83
-e0
+df
 20
 40
 03
-e0
+df
 6f
 e0
 c5
@@ -3951,23 +3951,19 @@
 c2
 83
 03
-f0
-c2
-83
-83
-f0
+ef
 c2
 82
-84
-0f
+83
+fa
 c2
 82
-04
-0e
+03
+f9
 c2
 81
 84
-2c
+17
 20
 60
 00
@@ -4036,65 +4032,13 @@
 20
 48
 36
-6f
-e0
-c9
-29
-c1
-81
-00
-00
-6f
-20
-c5
-7d
-1f
-20
-f3
-ff
-da
-40
-49
-29
-da
-20
-4a
-86
-20
-40
-7d
-64
-c1
-02
-80
-00
-6f
-20
-c5
-7d
-1f
-20
-f3
-ff
-d8
-c0
-49
-29
-d8
-a0
-4a
-86
-20
-40
-7c
-da
 70
 4a
-c6
+80
 40
 70
 4a
-c7
+81
 c0
 6f
 20
@@ -4106,56 +4050,28 @@
 ff
 d8
 c0
-4a
-86
+49
+29
 d8
 a0
 4a
-c8
+82
 20
 40
 7c
 da
-6f
-e1
-4a
-c9
-1f
-e6
-7d
-0c
 20
-42
-84
-09
+40
+03
+a6
 70
-4b
-07
+4a
+c1
 31
 20
 20
 04
-3a
-68
-49
-4a
-d3
-6f
-e1
-49
-81
-67
-e1
-4a
-d3
-60
-49
-00
-05
-20
-60
-00
-00
+1c
 20
 60
 00
@@ -4175,7 +4091,7 @@
 d8
 a0
 49
-c5
+bf
 20
 40
 7c
@@ -4190,12 +4106,12 @@
 ff
 da
 40
-4a
-05
+49
+ff
 da
 20
 49
-c5
+bf
 20
 40
 7d
@@ -4203,7 +4119,7 @@
 24
 42
 84
-1f
+0a
 6f
 20
 c5
@@ -4215,22 +4131,22 @@
 d8
 c0
 49
-c5
+bf
 d8
 a0
-4a
-05
+49
+ff
 20
 20
 7c
 da
 70
 4a
-45
+3f
 40
 70
 4a
-46
+40
 cc
 6f
 e0
@@ -4243,7 +4159,7 @@
 67
 e0
 ca
-47
+41
 6f
 20
 c5
@@ -4255,11 +4171,11 @@
 d8
 c0
 49
-c5
+bf
 d8
 a0
 4a
-48
+42
 20
 40
 7c
@@ -4269,24 +4185,24 @@
 03
 a6
 70
-4b
-07
+4a
+c1
 30
 20
 20
 04
-3a
+1c
 6f
 e0
 c9
-83
+7d
 20
 7a
 00
 00
 70
 49
-83
+7d
 00
 70
 46
@@ -4297,42 +4213,6 @@
 00
 00
 6f
-e2
-c9
-29
-68
-4a
-c9
-7c
-98
-46
-7c
-00
-24
-62
-80
-00
-67
-e2
-c9
-7c
-67
-e2
-ca
-c8
-70
-4a
-c6
-40
-70
-4a
-c7
-c0
-20
-20
-04
-07
-6f
 e0
 89
 0e
@@ -4342,8 +4222,8 @@
 00
 da
 20
-4b
-08
+4a
+c2
 20
 40
 7d
@@ -4354,16 +4234,16 @@
 00
 6f
 e0
-cb
-07
+ca
+c1
 67
 e0
 86
 6f
 da
 20
-4b
-08
+4a
+c2
 20
 20
 7d
@@ -4375,15 +4255,15 @@
 c0
 00
 04
-48
+2a
 c0
 01
 04
-4e
+30
 c0
 01
 84
-51
+33
 20
 20
 33
@@ -4436,8 +4316,8 @@
 20
 49
 07
-91
-39
+44
+a3
 aa
 55
 40
@@ -4545,7 +4425,7 @@
 03
 aa
 55
-18
+16
 00
 6a
 46
@@ -4558,12 +4438,10 @@
 24
 cb
 c0
-00
-0d
-32
-2e
-34
-47
+01
+0b
+41
+49
 20
 52
 65
@@ -4643,12 +4521,11 @@
 10
 aa
 55
-02
+01
 00
-81
+7c
 49
 01
-00
 aa
 55
 5c
@@ -5060,10 +4937,10 @@
 aa
 aa
 55
-2e
-7f
-e2
-cf
+d4
+7e
+d0
+2c
 ff
 ff
 ff
@@ -8188,5 +8065,128 @@
 ff
 ff
 ff
-c1
-8c
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+23
+62
Index: output/memmap.format
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/output/memmap.format	(revision 4974)
+++ /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/output/memmap.format	(working copy)
@@ -1499,23 +1499,15 @@
 0x4976 mem_24g_rxdata_ack_flag
 0x4977 mem_24g_pair_addr_new
 0x497b mem_dg_ms_rf_key_last
-0x497c mem_dg_ms_battery_start
-0x497c mem_dg_ms_battery_event
-0x497d mem_dg_ms_battery_opcode
-0x497e mem_dg_ms_battery_len
-0x497f mem_dg_ms_battery_data
-0x4980 mem_dg_ms_battery_data_in_type
-0x4981 mem_dg_ms_battery_end
-0x4981 mem_dg_version
-0x4983 mem_dg_rep_ms_ack_data_flag
-0x4984 mem_dg_rep_ms_ack_data
-0x49c5 mem_dg_ms_audio_data_sta
-0x4a05 mem_dg_ms_audio_data_last
-0x4a45 mem_dg_ms_audio_data
-0x4a86 mem_dg_ms_protocol_data_sta
-0x4ac6 mem_dg_ms_protocol_data
-0x4b07 mem_usb_ep3_data
-0x4b08 mem_usb_ep3_fifo
+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
 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 4974)
+++ /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/output/otp.dat	(working copy)
@@ -11,8 +11,8 @@
 00
 aa
 55
-52
-11
+da
+10
 c2
 84
 00
@@ -1535,8 +1535,8 @@
 65
 da
 20
-4b
-08
+4a
+c2
 20
 40
 7d
@@ -1655,8 +1655,8 @@
 fb
 da
 20
-4b
-08
+4a
+c2
 20
 40
 7d
@@ -1695,8 +1695,8 @@
 0d
 da
 20
-4b
-08
+4a
+c2
 20
 40
 7d
@@ -1706,8 +1706,8 @@
 00
 00
 70
-4b
-07
+4a
+c1
 00
 c0
 18
@@ -1724,7 +1724,7 @@
 6f
 e0
 ca
-45
+3f
 20
 7a
 00
@@ -1736,7 +1736,7 @@
 d8
 c0
 4a
-46
+40
 20
 40
 01
@@ -1744,7 +1744,7 @@
 d8
 a0
 4a
-45
+3f
 df
 20
 00
@@ -1756,7 +1756,7 @@
 6f
 e0
 ca
-c6
+80
 20
 7a
 00
@@ -1768,7 +1768,7 @@
 d8
 c0
 4a
-c7
+81
 20
 40
 01
@@ -1776,7 +1776,7 @@
 d8
 a0
 4a
-c6
+80
 20
 20
 01
@@ -3016,7 +3016,7 @@
 58
 00
 04
-43
+25
 67
 e1
 45
@@ -3892,23 +3892,23 @@
 c2
 83
 03
-f0
+ef
 c2
 83
 83
-f0
+ef
 c2
 82
-84
-0f
+83
+fa
 c2
 82
-04
-0e
+03
+f9
 c2
 81
 84
-2c
+17
 6f
 e0
 c5
@@ -3920,11 +3920,11 @@
 20
 22
 83
-e0
+df
 20
 40
 03
-e0
+df
 6f
 e0
 c5
@@ -3960,23 +3960,19 @@
 c2
 83
 03
-f0
-c2
-83
-83
-f0
+ef
 c2
 82
-84
-0f
+83
+fa
 c2
 82
-04
-0e
+03
+f9
 c2
 81
 84
-2c
+17
 20
 60
 00
@@ -4045,65 +4041,13 @@
 20
 48
 36
-6f
-e0
-c9
-29
-c1
-81
-00
-00
-6f
-20
-c5
-7d
-1f
-20
-f3
-ff
-da
-40
-49
-29
-da
-20
-4a
-86
-20
-40
-7d
-64
-c1
-02
-80
-00
-6f
-20
-c5
-7d
-1f
-20
-f3
-ff
-d8
-c0
-49
-29
-d8
-a0
-4a
-86
-20
-40
-7c
-da
 70
 4a
-c6
+80
 40
 70
 4a
-c7
+81
 c0
 6f
 20
@@ -4115,56 +4059,28 @@
 ff
 d8
 c0
-4a
-86
+49
+29
 d8
 a0
 4a
-c8
+82
 20
 40
 7c
 da
-6f
-e1
-4a
-c9
-1f
-e6
-7d
-0c
 20
-42
-84
-09
+40
+03
+a6
 70
-4b
-07
+4a
+c1
 31
 20
 20
 04
-3a
-68
-49
-4a
-d3
-6f
-e1
-49
-81
-67
-e1
-4a
-d3
-60
-49
-00
-05
-20
-60
-00
-00
+1c
 20
 60
 00
@@ -4184,7 +4100,7 @@
 d8
 a0
 49
-c5
+bf
 20
 40
 7c
@@ -4199,12 +4115,12 @@
 ff
 da
 40
-4a
-05
+49
+ff
 da
 20
 49
-c5
+bf
 20
 40
 7d
@@ -4212,7 +4128,7 @@
 24
 42
 84
-1f
+0a
 6f
 20
 c5
@@ -4224,22 +4140,22 @@
 d8
 c0
 49
-c5
+bf
 d8
 a0
-4a
-05
+49
+ff
 20
 20
 7c
 da
 70
 4a
-45
+3f
 40
 70
 4a
-46
+40
 cc
 6f
 e0
@@ -4252,7 +4168,7 @@
 67
 e0
 ca
-47
+41
 6f
 20
 c5
@@ -4264,11 +4180,11 @@
 d8
 c0
 49
-c5
+bf
 d8
 a0
 4a
-48
+42
 20
 40
 7c
@@ -4278,24 +4194,24 @@
 03
 a6
 70
-4b
-07
+4a
+c1
 30
 20
 20
 04
-3a
+1c
 6f
 e0
 c9
-83
+7d
 20
 7a
 00
 00
 70
 49
-83
+7d
 00
 70
 46
@@ -4306,42 +4222,6 @@
 00
 00
 6f
-e2
-c9
-29
-68
-4a
-c9
-7c
-98
-46
-7c
-00
-24
-62
-80
-00
-67
-e2
-c9
-7c
-67
-e2
-ca
-c8
-70
-4a
-c6
-40
-70
-4a
-c7
-c0
-20
-20
-04
-07
-6f
 e0
 89
 0e
@@ -4351,8 +4231,8 @@
 00
 da
 20
-4b
-08
+4a
+c2
 20
 40
 7d
@@ -4363,16 +4243,16 @@
 00
 6f
 e0
-cb
-07
+ca
+c1
 67
 e0
 86
 6f
 da
 20
-4b
-08
+4a
+c2
 20
 20
 7d
@@ -4384,15 +4264,15 @@
 c0
 00
 04
-48
+2a
 c0
 01
 04
-4e
+30
 c0
 01
 84
-51
+33
 20
 20
 33
@@ -4445,8 +4325,8 @@
 20
 49
 07
-91
-39
+44
+a3
 aa
 55
 40
@@ -4554,7 +4434,7 @@
 03
 aa
 55
-18
+16
 00
 6a
 46
@@ -4567,12 +4447,10 @@
 24
 cb
 c0
-00
-0d
-32
-2e
-34
-47
+01
+0b
+41
+49
 20
 52
 65
@@ -4652,12 +4530,11 @@
 10
 aa
 55
-02
+01
 00
-81
+7c
 49
 01
-00
 aa
 55
 5c
@@ -5069,8 +4946,8 @@
 aa
 aa
 55
-2e
-7f
-e2
-cf
+d4
+7e
+d0
+2c
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/output/program.lis	(revision 4974)
+++ /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/output/program.lis	(working copy)
@@ -470,7 +470,7 @@
 017b 20207b65 branch usb_set_report_next 
 
 p_usb_tx_ep3_queue_buff_check:
-017c da204b08 arg mem_usb_ep3_fifo ,rega 
+017c da204ac2 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 da204b08 arg mem_usb_ep3_fifo ,rega 
+019a da204ac2 arg mem_usb_ep3_fifo ,rega 
 019b 20407da3 call fifo_is_empty 
 019c 207a0000 rtn blank 
 019d 6ff08c25 fetch 1 ,core_usb_txbusy 
@@ -520,33 +520,33 @@
 01a1 c4018000 rtnbit0 3 
 01a2 793ffe03 set0 3 ,pdata 
 01a3 67e0890d store 1 ,mem_usb_tx_enable 
-01a4 da204b08 arg mem_usb_ep3_fifo ,rega 
+01a4 da204ac2 arg mem_usb_ep3_fifo ,rega 
 01a5 20407d97 call fifo_out 
 01a6 207a0000 rtn blank 
-01a7 704b0700 jam 0 ,mem_usb_ep3_data 
+01a7 704ac100 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 6fe0ca45 fetch 1 ,mem_dg_ms_audio_data 
+01ab 6fe0ca3f fetch 1 ,mem_dg_ms_audio_data 
 01ac 207a0000 rtn blank 
 01ad 1fe27200 copy pdata ,loopcnt 
-01ae d8c04a46 arg mem_dg_ms_audio_data + 1 ,contr 
+01ae d8c04a40 arg mem_dg_ms_audio_data + 1 ,contr 
 01af 204001ba call p_usb_tx_ep3 
-01b0 d8a04a45 arg mem_dg_ms_audio_data ,contw 
+01b0 d8a04a3f 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 6fe0cac6 fetch 1 ,mem_dg_ms_protocol_data 
+01b3 6fe0ca80 fetch 1 ,mem_dg_ms_protocol_data 
 01b4 207a0000 rtn blank 
 01b5 1fe27200 copy pdata ,loopcnt 
-01b6 d8c04ac7 arg mem_dg_ms_protocol_data + 1 ,contr 
+01b6 d8c04a81 arg mem_dg_ms_protocol_data + 1 ,contr 
 01b7 204001ba call p_usb_tx_ep3 
-01b8 d8a04ac6 arg mem_dg_ms_protocol_data ,contw 
+01b8 d8a04a80 arg mem_dg_ms_protocol_data ,contw 
 01b9 202001b1 branch p_usb_tx_buff_realease 
 
 p_usb_tx_ep3:
@@ -962,7 +962,7 @@
 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 58000443 setarg p_dongle_g24_kb 
+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 
@@ -1257,17 +1257,17 @@
 
 p_dongle_g24_mouse:
 03c8 6fe0c928 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-03c9 c28303f0 bbit1 spec_pro_bit ,p_dongle_receive_ms_protocol_data 
-03ca c28383f0 bbit1 nor_pro_bit ,p_dongle_receive_ms_protocol_data 
-03cb c282840f bbit1 audio_bit ,p_dongle_receive_ms_audio_data 
-03cc c282040e bbit1 http_bit ,p_dongle_receive_ms_http_data 
-03cd c281842c bbit1 heart_bit ,p_dongle_receive_ms_heart_data 
+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 
 
 p_dongle_g24_mouse_next:
 03ce 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
 03cf 1fe67c09 sub pdata ,0x09 ,null 
-03d0 202283e0 branch p_dongle_g24_mouse_data ,zero 
-03d1 204003e0 call p_dongle_g24_mouse_data 
+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 
@@ -1276,156 +1276,122 @@
 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 c28303f0 bbit1 spec_pro_bit ,p_dongle_receive_ms_protocol_data 
-03db c28383f0 bbit1 nor_pro_bit ,p_dongle_receive_ms_protocol_data 
-03dc c282840f bbit1 audio_bit ,p_dongle_receive_ms_audio_data 
-03dd c282040e bbit1 http_bit ,p_dongle_receive_ms_http_data 
-03de c281842c bbit1 heart_bit ,p_dongle_receive_ms_heart_data 
-03df 20600000 rtn 
+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 
 
 p_dongle_g24_mouse_data:
-03e0 58000001 setarg ms_report_id 
-03e1 67e08913 store 1 ,mem_usb_mouse_data 
-03e2 6fe3c929 fetch 7 ,mem_24g_rxdata_temp_new + 3 
-03e3 e7e38005 istore 7 ,contw 
-03e4 6fe0c929 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-03e5 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
-03e6 6fe0c929 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-03e7 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
-03e8 6fe0c929 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-03e9 6848c97b fetcht 1 ,mem_dg_ms_rf_key_last 
-03ea 67e0c97b store 1 ,mem_dg_ms_rf_key_last 
-03eb 98467c00 isub temp ,null 
-03ec 2422c836 nbranch dongle_usb_tx_ms_data ,zero 
-03ed 6fe3492a fetch 6 ,mem_24g_rxdata_temp_new + 4 
-03ee 207a0000 rtn blank 
-03ef 20204836 branch dongle_usb_tx_ms_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 
 
 p_dongle_receive_ms_protocol_data:
-03f0 6fe0c929 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-03f1 c1810000 rtnne hci_evt_header 
-03f2 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-03f3 1f20f3ff increase -1 ,loopcnt 
-03f4 da404929 arg mem_24g_rxdata_temp_new + 3 ,regb 
-03f5 da204a86 arg mem_dg_ms_protocol_data_sta ,rega 
-03f6 20407d64 call compare_loop 
-03f7 c1028000 rtneq zero 
-03f8 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-03f9 1f20f3ff increase -1 ,loopcnt 
-03fa d8c04929 arg mem_24g_rxdata_temp_new + 3 ,contr 
-03fb d8a04a86 arg mem_dg_ms_protocol_data_sta ,contw 
-03fc 20407cda call memcpy 
-03fd 704ac640 jam 0x40 ,mem_dg_ms_protocol_data 
-03fe 704ac7c0 jam report_id_pro_data ,mem_dg_ms_protocol_data + 1 
-03ff 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0400 1f20f3ff increase -1 ,loopcnt 
-0401 d8c04a86 arg mem_dg_ms_protocol_data_sta ,contr 
-0402 d8a04ac8 arg mem_dg_ms_protocol_data + 2 ,contw 
-0403 20407cda call memcpy 
-0404 6fe14ac9 fetch 2 ,mem_dg_ms_protocol_data + 3 
-0405 1fe67d0c sub pdata ,device_info_rep ,null 
-0406 20428409 call p_dongle_receive_ms_device_info_data ,zero 
+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 
 
 p_dongle_usb_tx_protocol_data_enable:
-0407 704b0731 jam usb_ep3_protocol ,mem_usb_ep3_data 
-0408 2020043a branch p_dongle_usb_tx_enable_ep3 
-
-p_dongle_receive_ms_device_info_data:
-0409 68494ad3 fetcht 2 ,mem_dg_ms_protocol_data + 13 
-040a 6fe14981 fetch 2 ,mem_dg_version 
-040b 67e14ad3 store 2 ,mem_dg_ms_protocol_data + 13 
-040c 60490005 storet 2 ,contw 
-040d 20600000 rtn 
+03f7 704ac131 jam usb_ep3_protocol ,mem_usb_ep3_data 
+03f8 2020041c branch p_dongle_usb_tx_enable_ep3 
 
 p_dongle_receive_ms_http_data:
-040e 20600000 rtn 
+03f9 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 
+
+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 d8c04929 arg mem_24g_rxdata_temp_new + 3 ,contr 
-0412 d8a049c5 arg mem_dg_ms_audio_data_sta ,contw 
+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 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0415 1f20f3ff increase -1 ,loopcnt 
-0416 da404a05 arg mem_dg_ms_audio_data_last ,regb 
-0417 da2049c5 arg mem_dg_ms_audio_data_sta ,rega 
-0418 20407d64 call compare_loop 
-0419 2442841f ncall p_dongle_usb_tx_audio_data ,zero 
-041a 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-041b 1f20f3ff increase -1 ,loopcnt 
-041c d8c049c5 arg mem_dg_ms_audio_data_sta ,contr 
-041d d8a04a05 arg mem_dg_ms_audio_data_last ,contw 
-041e 20207cda branch memcpy 
-
-p_dongle_usb_tx_audio_data:
-041f 704a4540 jam 0x40 ,mem_dg_ms_audio_data 
-0420 704a46cc jam report_id_audio_data ,mem_dg_ms_audio_data + 1 
-0421 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0422 1fe0ffff increase -1 ,pdata 
-0423 67e0ca47 store 1 ,mem_dg_ms_audio_data + 2 
-0424 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0425 1f20f3ff increase -1 ,loopcnt 
-0426 d8c049c5 arg mem_dg_ms_audio_data_sta ,contr 
-0427 d8a04a48 arg mem_dg_ms_audio_data + 3 ,contw 
-0428 20407cda call memcpy 
-0429 204003a6 call p_g24_rx_interrupt_clear 
-042a 704b0730 jam usb_ep3_audio ,mem_usb_ep3_data 
-042b 2020043a branch p_dongle_usb_tx_enable_ep3 
+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 
 
 p_dongle_receive_ms_heart_data:
-042c 6fe0c983 fetch 1 ,mem_dg_rep_ms_ack_data_flag 
-042d 207a0000 rtn blank 
-042e 70498300 jam 0 ,mem_dg_rep_ms_ack_data_flag 
-042f 70461108 jam protocol_ackpayload ,mem_24g_ackpayload_enable 
-0430 20600000 rtn 
-
-p_dongle_receive_ms_battery_data:
-0431 6fe2c929 fetch 5 ,mem_24g_rxdata_temp_new + 3 
-0432 684ac97c fetcht 5 ,mem_dg_ms_battery_start 
-0433 98467c00 isub temp ,null 
-0434 24628000 nrtn zero 
-0435 67e2c97c store 5 ,mem_dg_ms_battery_start 
-0436 67e2cac8 store 5 ,mem_dg_ms_protocol_data + 2 
-0437 704ac640 jam 0x40 ,mem_dg_ms_protocol_data 
-0438 704ac7c0 jam report_id_pro_data ,mem_dg_ms_protocol_data + 1 
-0439 20200407 branch p_dongle_usb_tx_protocol_data_enable 
+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 
 
 p_dongle_usb_tx_enable_ep3:
-043a 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-043b 207a0000 rtn blank 
-043c da204b08 arg mem_usb_ep3_fifo ,rega 
-043d 20407da5 call fifo_is_full 
-043e 247a0000 nrtn blank 
-043f 6fe0cb07 fetch 1 ,mem_usb_ep3_data 
-0440 67e0866f store 1 ,mem_fifo_temp 
-0441 da204b08 arg mem_usb_ep3_fifo ,rega 
-0442 20207d8b branch fifo_in 
+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 
 
 p_dongle_g24_kb:
-0443 6fe0c929 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0444 c0000448 beq 0 ,p_dongle_g24_kb_type0 
-0445 c001044e beq 2 ,p_dongle_g24_kb_type2 
-0446 c0018451 beq 3 ,p_dongle_g24_kb_type3 
-0447 202033be branch g24_rx_interrupt_clear 
+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 
 
 p_dongle_g24_kb_type0:
-0448 6fe0c92b fetch 1 ,mem_24g_rxdata_temp_new + 5 
-0449 67e0c611 store 1 ,mem_24g_ackpayload_enable 
-044a 70492b00 jam 0 ,mem_24g_rxdata_temp_new + 5 
-044b d8a00923 arg mem_usb_kb_data ,contw 
-044c d8c0492a arg mem_24g_rxdata_temp_new + 4 ,contr 
-044d 202048ef branch dongle_g24_kb_type0 + 5 
+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 
 
 p_dongle_g24_kb_type2:
-044e d8a00943 arg mem_usb_kb_system ,contw 
-044f d8c04929 arg mem_24g_rxdata_temp_new + 3 ,contr 
-0450 2020491f branch dongle_g24_kb_type2 + 2 
+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 
 
 p_dongle_g24_kb_type3:
-0451 d8a00933 arg mem_usb_kb_multikey ,contw 
-0452 d8c04929 arg mem_24g_rxdata_temp_new + 3 ,contr 
-0453 20204907 branch dongle_g24_kb_type3 + 2 
+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 
               org 0x2000
 
 start:
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/program/patch.prog	(revision 4974)
+++ /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/program/patch.prog	(working copy)
@@ -1310,7 +1310,7 @@
 	call memcpy
 	fetch 1,mem_24g_rxdata_temp_new+2
 	bbit1 SPEC_PRO_BIT,p_dongle_receive_ms_protocol_data
-	bbit1 NOR_PRO_BIT,p_dongle_receive_ms_protocol_data
+//	bbit1 NOR_PRO_BIT,p_dongle_receive_ms_nor_protocol_data
 	bbit1 AUDIO_BIT,p_dongle_receive_ms_audio_data
 	bbit1 HTTP_BIT,p_dongle_receive_ms_http_data
 	bbit1 HEART_BIT,p_dongle_receive_ms_heart_data
@@ -1335,56 +1335,24 @@
 	rtn blank
 	branch dongle_usb_tx_ms_data
 
-/**************************************************************************************
-* recv data:1byte event + 1byte opcode + 1byte len + nbyte payload
-* usb in pack:1byte len + 1byte report id +recv data
-**************************************************************************************/
+//======================receive ms protocol data==============================//
 p_dongle_receive_ms_protocol_data:
-	fetch 1,mem_24g_rxdata_temp_new+3
-	rtnne HCI_EVT_HEADER
-	fetchr loopcnt,1,mem_24g_rxdata_length
-	increase -1,loopcnt
-	arg mem_24g_rxdata_temp_new+3,regb
-	arg mem_dg_ms_protocol_data_sta,rega
-	call compare_loop
-	rtneq zero
-	fetchr loopcnt,1,mem_24g_rxdata_length
-	increase -1,loopcnt
-	arg mem_24g_rxdata_temp_new+3,contr
-	arg mem_dg_ms_protocol_data_sta,contw
-	call memcpy
 	jam 0x40,mem_dg_ms_protocol_data
 	jam REPORT_ID_PRO_DATA,mem_dg_ms_protocol_data+1
 	fetchr loopcnt,1,mem_24g_rxdata_length
 	increase -1,loopcnt
-	arg mem_dg_ms_protocol_data_sta,contr
+	arg mem_24g_rxdata_temp_new+3,contr
 	arg mem_dg_ms_protocol_data+2,contw
 	call memcpy
-	fetch 2,mem_dg_ms_protocol_data+3
-	sub pdata,DEVICE_INFO_REP,null
-	call p_dongle_receive_ms_device_info_data,zero
+	call p_g24_rx_interrupt_clear
 p_dongle_usb_tx_protocol_data_enable:
 	jam USB_EP3_PROTOCOL,mem_usb_ep3_data
 	branch p_dongle_usb_tx_enable_ep3
 	
-/**************************************************************************************
-* recv data:1byte event + 1byte opcode + 1byte len + 6byte addr + 2byte ms version + 2byte code
-* usb in pack:1byte len + 1byte report id +recv data + 2byte dg version
-**************************************************************************************/
-p_dongle_receive_ms_device_info_data:
-	fetcht 2,mem_dg_ms_protocol_data+13	//2byte code data
-	fetch 2,mem_dg_version
-	store 2,mem_dg_ms_protocol_data+13
-	storet 2,contw
-	rtn
-	
 p_dongle_receive_ms_http_data:
 	rtn
 
-/**************************************************************************************
-* recv data:1byte type + 60byte data
-* usb in pack:1byte len + 1byte report id +1 byte len + 60 byte audio data
-**************************************************************************************/
+//======================receive ms audio data==============================//
 p_dongle_receive_ms_audio_data:
 	fetchr loopcnt,1,mem_24g_rxdata_length
 	increase -1,loopcnt
@@ -1425,21 +1393,6 @@
 	jam PROTOCOL_ACKPAYLOAD,mem_24g_ackpayload_enable
 	rtn
 
-/**************************************************************************************
-* recv data:1byte event + 1byte opcode + 1byte len +1byte data +1byte data in type
-* usb in pack:1byte len + 1byte report id + recv data
-**************************************************************************************/
-p_dongle_receive_ms_battery_data:
-	fetch 5,mem_24g_rxdata_temp_new+3
-	fetcht 5,mem_dg_ms_battery_start
-	isub temp,null
-	nrtn zero
-	store 5,mem_dg_ms_battery_start
-	store 5,mem_dg_ms_protocol_data+2
-	jam 0x40,mem_dg_ms_protocol_data
-	jam REPORT_ID_PRO_DATA,mem_dg_ms_protocol_data+1
-	branch p_dongle_usb_tx_protocol_data_enable
-
 //pack data type header enter fifo
 p_dongle_usb_tx_enable_ep3:
 	fetch 1,mem_usb_device_enumeration_endflag
Index: sched/dongle.dat
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/sched/dongle.dat	(revision 4966)
+++ /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/sched/dongle.dat	(working copy)
@@ -25,9 +25,9 @@
 #mouse & keyboard
 8A 24#VID
 CB C0#PID
-mem_dg_usb_tx_interval:00
+mem_dg_usb_tx_interval:01
 mem_dg_usb_device_name:
-'2.4G Receiver
+'AI Receiver
 
 #pair tx
 mem_24g_pair_tx_power_init:94 #94: -20dBm  9e: -30dBm  9f: -35dBm a0: -40dBm
@@ -68,7 +68,7 @@
 
 mem_24g_pair_addr_new:25 20 15 10
 
-mem_dg_version:01 00
+mem_dg_version:01
 
 ################USB CONFIG##################
 #===================USB Configuration Descriptor=====================#
