Index: format/app_dongle.format
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/format/app_dongle.format	(revision 5278)
+++ /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/format/app_dongle.format	(working copy)
@@ -117,6 +117,11 @@
 0x08 OPCODE_CONNECT_STATE
 
 0x10 OPCODE_GET_DEVICE_INFO
+0x11 OPCODE_GET_DPI
+0x12 OPCODE_SET_DPI
+0x13 OPCODE_GET_BATTERY
+
+0x16 OPCODE_GET_DEVICE_TYPE
 
 0x20 OPCODE_VOICE_KEY
 0x21 OPCODE_ASK_KEY
Index: output/eeprom.dat
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/output/eeprom.dat	(revision 5278)
+++ /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/output/eeprom.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-52
+62
 11
 c2
 84
@@ -63,11 +63,11 @@
 c0
 1f
 03
-8d
+91
 c0
 58
 82
-f3
+f7
 c0
 62
 80
@@ -111,7 +111,7 @@
 c0
 37
 03
-53
+57
 c0
 37
 82
@@ -119,23 +119,23 @@
 c0
 39
 03
-48
+4c
 c0
 39
 83
-33
+37
 c0
 3a
 83
-62
+66
 c0
 3f
 02
-ef
+f3
 c0
 40
 83
-72
+76
 c0
 41
 02
@@ -143,11 +143,11 @@
 c0
 42
 03
-b3
+b7
 c0
 42
 83
-b8
+bc
 c0
 44
 02
@@ -2471,7 +2471,7 @@
 20
 40
 03
-7e
+82
 24
 37
 b3
@@ -2483,7 +2483,7 @@
 20
 42
 83
-a7
+ab
 6f
 e0
 c6
@@ -2955,15 +2955,31 @@
 c0
 03
 02
-e5
+e9
 c0
 03
 82
-e5
+e9
 c0
 08
 02
-e5
+e9
+c0
+08
+82
+e9
+c0
+09
+02
+e9
+c0
+09
+82
+e9
+c0
+0b
+02
+e9
 20
 20
 48
@@ -3035,7 +3051,7 @@
 58
 00
 03
-da
+de
 67
 e1
 45
@@ -3043,15 +3059,15 @@
 58
 00
 04
-43
+47
 67
 e1
 45
 e6
 58
 00
+03
 02
-fe
 67
 e1
 45
@@ -3075,11 +3091,11 @@
 c0
 00
 83
-01
+05
 c0
 01
 03
-08
+0c
 6f
 e0
 c6
@@ -3087,11 +3103,11 @@
 c2
 80
 03
-04
+08
 20
 20
 03
-0a
+0e
 6f
 e0
 c6
@@ -3107,7 +3123,7 @@
 20
 20
 03
-1a
+1e
 6f
 e0
 c6
@@ -3115,7 +3131,7 @@
 c2
 80
 83
-17
+1b
 6f
 e0
 c6
@@ -3123,15 +3139,15 @@
 c0
 00
 83
-1e
+22
 c0
 01
 83
-26
+2a
 c0
 04
 03
-0f
+13
 20
 60
 00
@@ -3203,7 +3219,7 @@
 20
 40
 03
-2d
+31
 24
 77
 80
@@ -3235,11 +3251,11 @@
 c0
 00
 83
-1e
+22
 c0
 7f
 83
-1e
+22
 70
 08
 f9
@@ -3255,7 +3271,7 @@
 20
 20
 03
-1c
+20
 6f
 e0
 c6
@@ -3367,7 +3383,7 @@
 c5
 17
 83
-4d
+51
 6f
 e0
 c5
@@ -3375,7 +3391,7 @@
 24
 3a
 03
-4d
+51
 78
 4e
 fc
@@ -3419,7 +3435,7 @@
 c5
 13
 83
-5b
+5f
 6f
 e0
 c8
@@ -3547,15 +3563,15 @@
 20
 40
 03
-79
+7d
 20
 40
 03
-81
+85
 20
 40
 03
-89
+8d
 20
 20
 33
@@ -3607,7 +3623,7 @@
 20
 40
 03
-62
+66
 6f
 e0
 c9
@@ -3651,7 +3667,7 @@
 20
 40
 03
-a1
+a5
 20
 40
 48
@@ -3735,11 +3751,11 @@
 20
 40
 03
-9c
+a0
 20
 40
 03
-7e
+82
 24
 37
 b3
@@ -3791,7 +3807,7 @@
 20
 5a
 03
-bb
+bf
 6f
 e0
 c9
@@ -3799,7 +3815,7 @@
 c0
 7f
 83
-c1
+c5
 1f
 e1
 7e
@@ -3807,11 +3823,11 @@
 c0
 00
 83
-c3
+c7
 c0
 01
 03
-d3
+d7
 d8
 a0
 48
@@ -3851,7 +3867,7 @@
 20
 40
 03
-8b
+8f
 20
 20
 02
@@ -3887,7 +3903,7 @@
 c0
 00
 83
-ce
+d2
 6f
 e0
 c6
@@ -3935,7 +3951,7 @@
 20
 20
 83
-d8
+dc
 20
 20
 33
@@ -3959,23 +3975,23 @@
 c2
 83
 04
-03
+07
 c2
 83
 84
-0d
+11
 c2
 82
 84
-18
+1c
 c2
 82
 04
-17
+1b
 c2
 81
 84
-35
+39
 6f
 e0
 c5
@@ -3987,11 +4003,11 @@
 20
 22
 83
-f3
+f7
 20
 40
 03
-f3
+f7
 6f
 e0
 c5
@@ -4027,23 +4043,23 @@
 c2
 83
 04
-03
+07
 c2
 83
 84
-0d
+11
 c2
 82
 84
-18
+1c
 c2
 82
 04
-17
+1b
 c2
 81
 84
-35
+39
 20
 60
 00
@@ -4143,7 +4159,7 @@
 20
 40
 03
-b8
+bc
 70
 4a
 c2
@@ -4151,7 +4167,7 @@
 20
 20
 04
-3a
+3e
 70
 4a
 40
@@ -4183,7 +4199,7 @@
 20
 40
 03
-b8
+bc
 70
 4a
 c2
@@ -4191,7 +4207,7 @@
 20
 20
 04
-3a
+3e
 20
 60
 00
@@ -4239,7 +4255,7 @@
 24
 42
 84
-28
+2c
 6f
 20
 c5
@@ -4303,7 +4319,7 @@
 20
 40
 03
-b8
+bc
 70
 4a
 c2
@@ -4311,7 +4327,7 @@
 20
 20
 04
-3a
+3e
 6f
 e0
 c7
@@ -4375,15 +4391,15 @@
 c0
 00
 04
-48
+4c
 c0
 01
 04
-4e
+52
 c0
 01
 84
-51
+55
 20
 20
 33
@@ -4436,8 +4452,8 @@
 20
 49
 07
-f7
-c0
+2f
+93
 aa
 55
 40
@@ -5052,24 +5068,8 @@
 55
 b1
 7c
-29
-29
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+90
+f3
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-b4
-11
+82
+a5
Index: output/otp.dat
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/output/otp.dat	(revision 5278)
+++ /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/output/otp.dat	(working copy)
@@ -11,7 +11,7 @@
 00
 aa
 55
-52
+62
 11
 c2
 84
@@ -72,11 +72,11 @@
 c0
 1f
 03
-8d
+91
 c0
 58
 82
-f3
+f7
 c0
 62
 80
@@ -120,7 +120,7 @@
 c0
 37
 03
-53
+57
 c0
 37
 82
@@ -128,23 +128,23 @@
 c0
 39
 03
-48
+4c
 c0
 39
 83
-33
+37
 c0
 3a
 83
-62
+66
 c0
 3f
 02
-ef
+f3
 c0
 40
 83
-72
+76
 c0
 41
 02
@@ -152,11 +152,11 @@
 c0
 42
 03
-b3
+b7
 c0
 42
 83
-b8
+bc
 c0
 44
 02
@@ -2480,7 +2480,7 @@
 20
 40
 03
-7e
+82
 24
 37
 b3
@@ -2492,7 +2492,7 @@
 20
 42
 83
-a7
+ab
 6f
 e0
 c6
@@ -2964,15 +2964,31 @@
 c0
 03
 02
-e5
+e9
 c0
 03
 82
-e5
+e9
 c0
 08
 02
-e5
+e9
+c0
+08
+82
+e9
+c0
+09
+02
+e9
+c0
+09
+82
+e9
+c0
+0b
+02
+e9
 20
 20
 48
@@ -3044,7 +3060,7 @@
 58
 00
 03
-da
+de
 67
 e1
 45
@@ -3052,15 +3068,15 @@
 58
 00
 04
-43
+47
 67
 e1
 45
 e6
 58
 00
+03
 02
-fe
 67
 e1
 45
@@ -3084,11 +3100,11 @@
 c0
 00
 83
-01
+05
 c0
 01
 03
-08
+0c
 6f
 e0
 c6
@@ -3096,11 +3112,11 @@
 c2
 80
 03
-04
+08
 20
 20
 03
-0a
+0e
 6f
 e0
 c6
@@ -3116,7 +3132,7 @@
 20
 20
 03
-1a
+1e
 6f
 e0
 c6
@@ -3124,7 +3140,7 @@
 c2
 80
 83
-17
+1b
 6f
 e0
 c6
@@ -3132,15 +3148,15 @@
 c0
 00
 83
-1e
+22
 c0
 01
 83
-26
+2a
 c0
 04
 03
-0f
+13
 20
 60
 00
@@ -3212,7 +3228,7 @@
 20
 40
 03
-2d
+31
 24
 77
 80
@@ -3244,11 +3260,11 @@
 c0
 00
 83
-1e
+22
 c0
 7f
 83
-1e
+22
 70
 08
 f9
@@ -3264,7 +3280,7 @@
 20
 20
 03
-1c
+20
 6f
 e0
 c6
@@ -3376,7 +3392,7 @@
 c5
 17
 83
-4d
+51
 6f
 e0
 c5
@@ -3384,7 +3400,7 @@
 24
 3a
 03
-4d
+51
 78
 4e
 fc
@@ -3428,7 +3444,7 @@
 c5
 13
 83
-5b
+5f
 6f
 e0
 c8
@@ -3556,15 +3572,15 @@
 20
 40
 03
-79
+7d
 20
 40
 03
-81
+85
 20
 40
 03
-89
+8d
 20
 20
 33
@@ -3616,7 +3632,7 @@
 20
 40
 03
-62
+66
 6f
 e0
 c9
@@ -3660,7 +3676,7 @@
 20
 40
 03
-a1
+a5
 20
 40
 48
@@ -3744,11 +3760,11 @@
 20
 40
 03
-9c
+a0
 20
 40
 03
-7e
+82
 24
 37
 b3
@@ -3800,7 +3816,7 @@
 20
 5a
 03
-bb
+bf
 6f
 e0
 c9
@@ -3808,7 +3824,7 @@
 c0
 7f
 83
-c1
+c5
 1f
 e1
 7e
@@ -3816,11 +3832,11 @@
 c0
 00
 83
-c3
+c7
 c0
 01
 03
-d3
+d7
 d8
 a0
 48
@@ -3860,7 +3876,7 @@
 20
 40
 03
-8b
+8f
 20
 20
 02
@@ -3896,7 +3912,7 @@
 c0
 00
 83
-ce
+d2
 6f
 e0
 c6
@@ -3944,7 +3960,7 @@
 20
 20
 83
-d8
+dc
 20
 20
 33
@@ -3968,23 +3984,23 @@
 c2
 83
 04
-03
+07
 c2
 83
 84
-0d
+11
 c2
 82
 84
-18
+1c
 c2
 82
 04
-17
+1b
 c2
 81
 84
-35
+39
 6f
 e0
 c5
@@ -3996,11 +4012,11 @@
 20
 22
 83
-f3
+f7
 20
 40
 03
-f3
+f7
 6f
 e0
 c5
@@ -4036,23 +4052,23 @@
 c2
 83
 04
-03
+07
 c2
 83
 84
-0d
+11
 c2
 82
 84
-18
+1c
 c2
 82
 04
-17
+1b
 c2
 81
 84
-35
+39
 20
 60
 00
@@ -4152,7 +4168,7 @@
 20
 40
 03
-b8
+bc
 70
 4a
 c2
@@ -4160,7 +4176,7 @@
 20
 20
 04
-3a
+3e
 70
 4a
 40
@@ -4192,7 +4208,7 @@
 20
 40
 03
-b8
+bc
 70
 4a
 c2
@@ -4200,7 +4216,7 @@
 20
 20
 04
-3a
+3e
 20
 60
 00
@@ -4248,7 +4264,7 @@
 24
 42
 84
-28
+2c
 6f
 20
 c5
@@ -4312,7 +4328,7 @@
 20
 40
 03
-b8
+bc
 70
 4a
 c2
@@ -4320,7 +4336,7 @@
 20
 20
 04
-3a
+3e
 6f
 e0
 c7
@@ -4384,15 +4400,15 @@
 c0
 00
 04
-48
+4c
 c0
 01
 04
-4e
+52
 c0
 01
 84
-51
+55
 20
 20
 33
@@ -4445,8 +4461,8 @@
 20
 49
 07
-f7
-c0
+2f
+93
 aa
 55
 40
@@ -5061,6 +5077,6 @@
 55
 b1
 7c
-29
-29
+90
+f3
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/output/program.lis	(revision 5278)
+++ /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/output/program.lis	(working copy)
@@ -14,8 +14,8 @@
 000b c01c009c beq patch07_0 ,p_dongle_read_kb_bind_status 
 000c c01c8098 beq patch07_1 ,p_dongle_write_kb_bind_status 
 000d c01e82d4 beq patch07_5 ,p_dongle_usb_dispatch 
-000e c01f038d beq patch07_6 ,p_dongle_work_mode_auto 
-000f c05882f3 beq patch16_1 ,p_app_init 
+000e c01f0391 beq patch07_6 ,p_dongle_work_mode_auto 
+000f c05882f7 beq patch16_1 ,p_app_init 
 0010 c0628095 beq patch18_5 ,p_otp_read_data 
 0011 c06d01d9 beq patch1b_2 ,p_sadc_calibration 
 0012 c06e01e9 beq patch1b_4 ,p_enable_adc 
@@ -28,16 +28,16 @@
 0017 c00000fe beq patch20_0 ,p_usb_class_type 
 0018 c001021a beq patch20_2 ,p_usb0_request_get_descriptor 
 0019 c003016f beq patch20_6 ,p_usb_tx 
-001a c0370353 beq patch2d_6 ,p_g24_receive_update_rxbuff 
+001a c0370357 beq patch2d_6 ,p_g24_receive_update_rxbuff 
 001b c03782c8 beq patch2d_7 ,p_g24_receive_skip_end 
-001c c0390348 beq patch2e_2 ,p_g24_transmit_packet 
-001d c0398333 beq patch2e_3 ,p_g24_transmit_prep 
-001e c03a8362 beq patch2e_5 ,p_g24_read_len_pid_crc 
-001f c03f02ef beq patch2f_6 ,p_g24_pair_param_init 
-0020 c0408372 beq patch30_1 ,p_g24_bind_data_process 
+001c c039034c beq patch2e_2 ,p_g24_transmit_packet 
+001d c0398337 beq patch2e_3 ,p_g24_transmit_prep 
+001e c03a8366 beq patch2e_5 ,p_g24_read_len_pid_crc 
+001f c03f02f3 beq patch2f_6 ,p_g24_pair_param_init 
+0020 c0408376 beq patch30_1 ,p_g24_bind_data_process 
 0021 c041026f beq patch30_2 ,p_g24_bind_data_parse_next 
-0022 c04203b3 beq patch30_4 ,p_g24_receive_packet_parse_end 
-0023 c04283b8 beq patch30_5 ,p_g24_rx_interrupt_clear 
+0022 c04203b7 beq patch30_4 ,p_g24_receive_packet_parse_end 
+0023 c04283bc beq patch30_5 ,p_g24_rx_interrupt_clear 
 0024 c04402a7 beq patch31_0 ,p_g24_mode_switch_bind_search 
 0025 c04502b4 beq patch31_2 ,p_g24_bind_mode_auto 
 0026 c0458264 beq patch31_3 ,p_g24_search_mode_auto 
@@ -778,10 +778,10 @@
 0265 c1838000 rtnne dongle_search 
 0266 20403476 call g24_search_mode_init 
 0267 204034ae call g24_auto_addr_ch_search 
-0268 2040037e call p_g24_receive_transmit_ack 
+0268 20400382 call p_g24_receive_transmit_ack 
 0269 2437b3be nbranch g24_rx_interrupt_clear ,user3 
 026a 20403506 call g24_receiver_addr_check 
-026b 204283a7 call p_g24_receive_packet_parse ,zero 
+026b 204283ab call p_g24_receive_packet_parse ,zero 
 026c 6fe0c60a fetch 1 ,mem_24g_abort_packet 
 026d 205a344d call g24_mode_b_s_switch_stop ,blank 
 026e 20203493 branch g24_search_mode_auto + 11 
@@ -941,491 +941,495 @@
 02de 6fe0c7b5 fetch 1 ,mem_usb_ep3_out_data + 1 
 02df c1800000 rtnne start_flag 
 02e0 6fe0c7b7 fetch 1 ,mem_usb_ep3_out_data + 3 
-02e1 c00302e5 beq opcode_voice_start ,p_dongle_tx_pre_ackpayload_mouse 
-02e2 c00382e5 beq opcode_voice_end ,p_dongle_tx_pre_ackpayload_mouse 
-02e3 c00802e5 beq opcode_get_device_info ,p_dongle_tx_pre_ackpayload_mouse 
-02e4 20204875 branch dongle_usb_dispatch_next 
+02e1 c00302e9 beq opcode_voice_start ,p_dongle_tx_pre_ackpayload_mouse 
+02e2 c00382e9 beq opcode_voice_end ,p_dongle_tx_pre_ackpayload_mouse 
+02e3 c00802e9 beq opcode_get_device_info ,p_dongle_tx_pre_ackpayload_mouse 
+02e4 c00882e9 beq opcode_get_dpi ,p_dongle_tx_pre_ackpayload_mouse 
+02e5 c00902e9 beq opcode_set_dpi ,p_dongle_tx_pre_ackpayload_mouse 
+02e6 c00982e9 beq opcode_get_battery ,p_dongle_tx_pre_ackpayload_mouse 
+02e7 c00b02e9 beq opcode_get_device_type ,p_dongle_tx_pre_ackpayload_mouse 
+02e8 20204875 branch dongle_usb_dispatch_next 
 
 p_dongle_tx_pre_ackpayload_mouse:
-02e5 df200040 arg 64 ,loopcnt 
-02e6 d8a04774 arg mem_dg_rep_ms_ack_data ,contw 
-02e7 20407ca1 call clear_mem 
-02e8 70477301 jam 1 ,mem_dg_rep_ms_ack_data_flag 
-02e9 70461108 jam protocol_ackpayload ,mem_24g_ackpayload_enable 
-02ea 6f20c7b6 fetchr loopcnt ,1 ,mem_usb_ep3_out_data + 2 
-02eb 1f20f203 increase 3 ,loopcnt 
-02ec d8c047b4 arg mem_usb_ep3_out_data ,contr 
-02ed d8a04774 arg mem_dg_rep_ms_ack_data ,contw 
-02ee 20207cda branch memcpy 
+02e9 df200040 arg 64 ,loopcnt 
+02ea d8a04774 arg mem_dg_rep_ms_ack_data ,contw 
+02eb 20407ca1 call clear_mem 
+02ec 70477301 jam 1 ,mem_dg_rep_ms_ack_data_flag 
+02ed 70461108 jam protocol_ackpayload ,mem_24g_ackpayload_enable 
+02ee 6f20c7b6 fetchr loopcnt ,1 ,mem_usb_ep3_out_data + 2 
+02ef 1f20f203 increase 3 ,loopcnt 
+02f0 d8c047b4 arg mem_usb_ep3_out_data ,contr 
+02f1 d8a04774 arg mem_dg_rep_ms_ack_data ,contw 
+02f2 20207cda branch memcpy 
 
 p_g24_pair_param_init:
-02ef 7045d04a jam 0x4a ,mem_24g_pair_ch 
-02f0 6fe24979 fetch 4 ,mem_24g_pair_addr_new 
-02f1 67e245cc store 4 ,mem_24g_pair_addr 
-02f2 20600000 rtn 
+02f3 7045d04a jam 0x4a ,mem_24g_pair_ch 
+02f4 6fe24979 fetch 4 ,mem_24g_pair_addr_new 
+02f5 67e245cc store 4 ,mem_24g_pair_addr 
+02f6 20600000 rtn 
 
 p_app_init:
-02f3 580047ea setarg dongle_dispatch 
-02f4 67e145e0 store 2 ,mem_cb_24g_receive_process 
-02f5 580003da setarg p_dongle_g24_mouse 
-02f6 67e145e4 store 2 ,mem_cb_24g_data_device1 
-02f7 58000443 setarg p_dongle_g24_kb 
-02f8 67e145e6 store 2 ,mem_cb_24g_data_device2 
-02f9 580002fe setarg p_dongle_ackpayload_prep 
-02fa 67e145e2 store 2 ,mem_cb_24g_ackpayload 
-02fb 580047f9 setarg dongle_usb_config 
-02fc 67e10859 store 2 ,mem_cb_usb_config 
-02fd 20207912 branch usb_init 
+02f7 580047ea setarg dongle_dispatch 
+02f8 67e145e0 store 2 ,mem_cb_24g_receive_process 
+02f9 580003de setarg p_dongle_g24_mouse 
+02fa 67e145e4 store 2 ,mem_cb_24g_data_device1 
+02fb 58000447 setarg p_dongle_g24_kb 
+02fc 67e145e6 store 2 ,mem_cb_24g_data_device2 
+02fd 58000302 setarg p_dongle_ackpayload_prep 
+02fe 67e145e2 store 2 ,mem_cb_24g_ackpayload 
+02ff 580047f9 setarg dongle_usb_config 
+0300 67e10859 store 2 ,mem_cb_usb_config 
+0301 20207912 branch usb_init 
 
 p_dongle_ackpayload_prep:
-02fe 6fe0c589 fetch 1 ,mem_24g_data_type 
-02ff c0008301 beq datatype_device1 ,p_dongle_ackpayload_prep_mouse 
-0300 c0010308 beq datatype_device2 ,p_dongle_ackpayload_prep_keyboard 
+0302 6fe0c589 fetch 1 ,mem_24g_data_type 
+0303 c0008305 beq datatype_device1 ,p_dongle_ackpayload_prep_mouse 
+0304 c001030c beq datatype_device2 ,p_dongle_ackpayload_prep_keyboard 
 
 p_dongle_ackpayload_prep_mouse:
-0301 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
-0302 c2800304 bbit1 0 ,p_dongle_pc_sleep_ackpayload_prep_mouse 
-0303 2020030a branch p_dongle_ackpayload_prep_end 
+0305 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+0306 c2800308 bbit1 0 ,p_dongle_pc_sleep_ackpayload_prep_mouse 
+0307 2020030e branch p_dongle_ackpayload_prep_end 
 
 p_dongle_pc_sleep_ackpayload_prep_mouse:
-0304 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
-0305 793ffe00 set0 0 ,pdata 
-0306 67e0c693 store 1 ,mem_dg_pc_sleep_flag 
-0307 2020031a branch p_dongle_pc_sleep_ackpayload_prep 
+0308 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+0309 793ffe00 set0 0 ,pdata 
+030a 67e0c693 store 1 ,mem_dg_pc_sleep_flag 
+030b 2020031e branch p_dongle_pc_sleep_ackpayload_prep 
 
 p_dongle_ackpayload_prep_keyboard:
-0308 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
-0309 c2808317 bbit1 1 ,p_dongle_pc_sleep_ackpayload_prep_keyboard 
+030c 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+030d c280831b bbit1 1 ,p_dongle_pc_sleep_ackpayload_prep_keyboard 
 
 p_dongle_ackpayload_prep_end:
-030a 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
-030b c000831e beq bind_ackpayload ,p_dongle_g24_bind_ackpayload_prep 
-030c c0018326 beq kb_led_ackpayload ,p_dongle_g24_kb_led_ackpayload_prep 
-030d c004030f beq protocol_ackpayload ,p_dongle_g24_protocol_ackpayload_prep 
-030e 20600000 rtn 
+030e 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
+030f c0008322 beq bind_ackpayload ,p_dongle_g24_bind_ackpayload_prep 
+0310 c001832a beq kb_led_ackpayload ,p_dongle_g24_kb_led_ackpayload_prep 
+0311 c0040313 beq protocol_ackpayload ,p_dongle_g24_protocol_ackpayload_prep 
+0312 20600000 rtn 
 
 p_dongle_g24_protocol_ackpayload_prep:
-030f 70458901 jam type_ms ,mem_24g_data_type 
-0310 6fe0c776 fetch 1 ,mem_dg_rep_ms_ack_data + 2 
-0311 1fe0fe03 increase 3 ,pdata 
-0312 67e0c588 store 1 ,mem_24g_datalen 
-0313 1fe27200 copy pdata ,loopcnt 
-0314 d8c04774 arg mem_dg_rep_ms_ack_data ,contr 
-0315 d8a04888 arg mem_24g_txbuf_new ,contw 
-0316 20207cda branch memcpy 
+0313 70458901 jam type_ms ,mem_24g_data_type 
+0314 6fe0c776 fetch 1 ,mem_dg_rep_ms_ack_data + 2 
+0315 1fe0fe03 increase 3 ,pdata 
+0316 67e0c588 store 1 ,mem_24g_datalen 
+0317 1fe27200 copy pdata ,loopcnt 
+0318 d8c04774 arg mem_dg_rep_ms_ack_data ,contr 
+0319 d8a04888 arg mem_24g_txbuf_new ,contw 
+031a 20207cda branch memcpy 
 
 p_dongle_pc_sleep_ackpayload_prep_keyboard:
-0317 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
-0318 793ffe01 set0 1 ,pdata 
-0319 67e0c693 store 1 ,mem_dg_pc_sleep_flag 
+031b 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+031c 793ffe01 set0 1 ,pdata 
+031d 67e0c693 store 1 ,mem_dg_pc_sleep_flag 
 
 p_dongle_pc_sleep_ackpayload_prep:
-031a 70458801 jam 0x01 ,mem_24g_datalen 
-031b 580000ff setarg 0xff 
+031e 70458801 jam 0x01 ,mem_24g_datalen 
+031f 580000ff setarg 0xff 
 
 p_dongle_24g_txbuf_new_store:
-031c 67e0c888 store 1 ,mem_24g_txbuf_new 
-031d 20600000 rtn 
+0320 67e0c888 store 1 ,mem_24g_txbuf_new 
+0321 20600000 rtn 
 
 p_dongle_g24_bind_ackpayload_prep:
-031e 70461101 jam 1 ,mem_24g_ackpayload_enable 
-031f 2040032d call p_g24_binding_device_check 
-0320 24778000 nrtn user3 
+0322 70461101 jam 1 ,mem_24g_ackpayload_enable 
+0323 20400331 call p_g24_binding_device_check 
+0324 24778000 nrtn user3 
 
 p_g24_bind_ackpayload_prep:
-0321 70461101 jam 1 ,mem_24g_ackpayload_enable 
-0322 70458808 jam 0x08 ,mem_24g_datalen 
-0323 d8c045d6 arg mem_24g_bind_payload ,contr 
-0324 d8a04888 arg mem_24g_txbuf_new ,contw 
-0325 20207c89 branch memcpy8 
+0325 70461101 jam 1 ,mem_24g_ackpayload_enable 
+0326 70458808 jam 0x08 ,mem_24g_datalen 
+0327 d8c045d6 arg mem_24g_bind_payload ,contr 
+0328 d8a04888 arg mem_24g_txbuf_new ,contw 
+0329 20207c89 branch memcpy8 
 
 p_dongle_g24_kb_led_ackpayload_prep:
-0326 6fe0c83a fetch 1 ,mem_24g_rxbuf_new + 2 
-0327 c000831e beq datatype_device1 ,p_dongle_g24_bind_ackpayload_prep 
-0328 c07f831e beq datatype_attemp ,p_dongle_g24_bind_ackpayload_prep 
-0329 7008f900 jam 0 ,mem_usb_tx_win_enable 
-032a 70458801 jam 0x01 ,mem_24g_datalen 
-032b 6fe0c621 fetch 1 ,mem_24g_led_status 
-032c 2020031c branch p_dongle_24g_txbuf_new_store 
+032a 6fe0c83a fetch 1 ,mem_24g_rxbuf_new + 2 
+032b c0008322 beq datatype_device1 ,p_dongle_g24_bind_ackpayload_prep 
+032c c07f8322 beq datatype_attemp ,p_dongle_g24_bind_ackpayload_prep 
+032d 7008f900 jam 0 ,mem_usb_tx_win_enable 
+032e 70458801 jam 0x01 ,mem_24g_datalen 
+032f 6fe0c621 fetch 1 ,mem_24g_led_status 
+0330 20200320 branch p_dongle_24g_txbuf_new_store 
 
 p_g24_binding_device_check:
-032d 6fe0c616 fetch 1 ,mem_24g_work_mode 
-032e c1808000 rtnne dongle_bind 
-032f 6fe0c610 fetch 1 ,mem_24g_pair_mode 
-0330 247a0000 nrtn blank 
-0331 6fe0c83b fetch 1 ,mem_24g_rxbuf_new + 3 
-0332 20203383 branch g24_binding_device_check + 5 
+0331 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0332 c1808000 rtnne dongle_bind 
+0333 6fe0c610 fetch 1 ,mem_24g_pair_mode 
+0334 247a0000 nrtn blank 
+0335 6fe0c83b fetch 1 ,mem_24g_rxbuf_new + 3 
+0336 20203383 branch g24_binding_device_check + 5 
 
 p_g24_transmit_prep:
-0333 6fe0c588 fetch 1 ,mem_24g_datalen 
-0334 1fe0fe03 increase 3 ,pdata 
-0335 67e0c58a store 1 ,mem_24g_txlen 
-0336 6fe0c5ac fetch 1 ,mem_24g_syncword_crc8 
-0337 67e0c8d8 store 1 ,mem_24g_txpayload_new 
-0338 6fe0c589 fetch 1 ,mem_24g_data_type 
-0339 1fe9fe00 lshift3 pdata ,pdata 
-033a 6848c57e fetcht 1 ,mem_24g_pid 
-033b 18410403 and temp ,0x03 ,temp 
-033c 18438400 lshift temp ,temp 
-033d 9841fe00 ior temp ,pdata 
-033e 6848c57f fetcht 1 ,mem_24g_no_ack 
-033f 9840fe00 iadd temp ,pdata 
-0340 e7e08005 istore 1 ,contw 
-0341 6fe0c588 fetch 1 ,mem_24g_datalen 
-0342 e7e08005 istore 1 ,contw 
-0343 6fe0c588 fetch 1 ,mem_24g_datalen 
-0344 98007200 iforce loopcnt 
-0345 d8c04888 arg mem_24g_txbuf_new ,contr 
-0346 20407cda call memcpy 
-0347 202031fc branch g24_transmit_prep_pdu_end 
+0337 6fe0c588 fetch 1 ,mem_24g_datalen 
+0338 1fe0fe03 increase 3 ,pdata 
+0339 67e0c58a store 1 ,mem_24g_txlen 
+033a 6fe0c5ac fetch 1 ,mem_24g_syncword_crc8 
+033b 67e0c8d8 store 1 ,mem_24g_txpayload_new 
+033c 6fe0c589 fetch 1 ,mem_24g_data_type 
+033d 1fe9fe00 lshift3 pdata ,pdata 
+033e 6848c57e fetcht 1 ,mem_24g_pid 
+033f 18410403 and temp ,0x03 ,temp 
+0340 18438400 lshift temp ,temp 
+0341 9841fe00 ior temp ,pdata 
+0342 6848c57f fetcht 1 ,mem_24g_no_ack 
+0343 9840fe00 iadd temp ,pdata 
+0344 e7e08005 istore 1 ,contw 
+0345 6fe0c588 fetch 1 ,mem_24g_datalen 
+0346 e7e08005 istore 1 ,contw 
+0347 6fe0c588 fetch 1 ,mem_24g_datalen 
+0348 98007200 iforce loopcnt 
+0349 d8c04888 arg mem_24g_txbuf_new ,contr 
+034a 20407cda call memcpy 
+034b 202031fc branch g24_transmit_prep_pdu_end 
 
 p_g24_transmit_packet:
-0348 c517834d bmark1 mark_ble_lr ,p_g24_transmit_nolr 
-0349 6fe0c5ca fetch 1 ,mem_24g_disable_fec1 
-034a 243a034d nbranch p_g24_transmit_nolr ,blank 
-034b 784efc00 disable encode_fec0 
-034c 782dfc00 enable encode_fec1 
+034c c5178351 bmark1 mark_ble_lr ,p_g24_transmit_nolr 
+034d 6fe0c5ca fetch 1 ,mem_24g_disable_fec1 
+034e 243a0351 nbranch p_g24_transmit_nolr ,blank 
+034f 784efc00 disable encode_fec0 
+0350 782dfc00 enable encode_fec1 
 
 p_g24_transmit_nolr:
-034d 7823fc00 enable enable_white 
-034e 7824fc00 enable enable_crc 
-034f 6fe0c58a fetch 1 ,mem_24g_txlen 
-0350 98007200 iforce loopcnt 
-0351 d8c048d8 arg mem_24g_txpayload_new ,contr 
-0352 202031b3 branch g24tr_loop 
+0351 7823fc00 enable enable_white 
+0352 7824fc00 enable enable_crc 
+0353 6fe0c58a fetch 1 ,mem_24g_txlen 
+0354 98007200 iforce loopcnt 
+0355 d8c048d8 arg mem_24g_txpayload_new ,contr 
+0356 202031b3 branch g24tr_loop 
 
 p_g24_receive_update_rxbuff:
-0353 2040317d call g24_receive_byte 
-0354 67e0c838 store 1 ,mem_24g_rxbuf_new 
-0355 c513835b bmark1 mark_24g_rxmode ,p_g24_receive_skip 
-0356 6fe0c838 fetch 1 ,mem_24g_rxbuf_new 
-0357 1fe97e00 rshift3 pdata ,pdata 
-0358 6848c589 fetcht 1 ,mem_24g_data_type 
-0359 a8400e00 icompare bits_data ,temp 
-035a 2420b18c nbranch g24_type_error ,true 
+0357 2040317d call g24_receive_byte 
+0358 67e0c838 store 1 ,mem_24g_rxbuf_new 
+0359 c513835f bmark1 mark_24g_rxmode ,p_g24_receive_skip 
+035a 6fe0c838 fetch 1 ,mem_24g_rxbuf_new 
+035b 1fe97e00 rshift3 pdata ,pdata 
+035c 6848c589 fetcht 1 ,mem_24g_data_type 
+035d a8400e00 icompare bits_data ,temp 
+035e 2420b18c nbranch g24_type_error ,true 
 
 p_g24_receive_skip:
-035b 2040317d call g24_receive_byte 
-035c e7e08005 istore 1 ,contw 
-035d 1fe67c4e sub pdata ,78 ,null 
-035e 2421318e nbranch g24_len_over_error ,positive 
-035f 1fe27200 copy pdata ,loopcnt 
-0360 2022b154 branch g24rx_nopayload ,zero 
-0361 20203151 branch g24rx_loop 
+035f 2040317d call g24_receive_byte 
+0360 e7e08005 istore 1 ,contw 
+0361 1fe67c4e sub pdata ,78 ,null 
+0362 2421318e nbranch g24_len_over_error ,positive 
+0363 1fe27200 copy pdata ,loopcnt 
+0364 2022b154 branch g24rx_nopayload ,zero 
+0365 20203151 branch g24rx_loop 
 
 p_g24_read_len_pid_crc:
-0362 6fe0c839 fetch 1 ,mem_24g_rxbuf_new + 1 
-0363 67e0c57d store 1 ,mem_24g_rxdata_length 
-0364 1fe0fe01 increase 1 ,pdata 
-0365 d8c04839 arg mem_24g_rxbuf_new + 1 ,contr 
-0366 98c08c00 iadd contr ,contr 
-0367 efe18006 ifetch 3 ,contr 
-0368 67e1c580 store 3 ,mem_24g_sta_crc 
-0369 6fe0c838 fetch 1 ,mem_24g_rxbuf_new 
-036a 1fe10401 and pdata ,0x01 ,temp 
-036b 6048c978 storet 1 ,mem_24g_rxdata_ack_flag 
-036c 1fe30400 rshift pdata ,temp 
-036d 18410403 and temp ,0x03 ,temp 
-036e 6048c586 storet 1 ,mem_24g_sta_pid 
-036f 1fe97e00 rshift3 pdata ,pdata 
-0370 67e0c838 store 1 ,mem_24g_rxbuf_new 
-0371 20600000 rtn 
+0366 6fe0c839 fetch 1 ,mem_24g_rxbuf_new + 1 
+0367 67e0c57d store 1 ,mem_24g_rxdata_length 
+0368 1fe0fe01 increase 1 ,pdata 
+0369 d8c04839 arg mem_24g_rxbuf_new + 1 ,contr 
+036a 98c08c00 iadd contr ,contr 
+036b efe18006 ifetch 3 ,contr 
+036c 67e1c580 store 3 ,mem_24g_sta_crc 
+036d 6fe0c838 fetch 1 ,mem_24g_rxbuf_new 
+036e 1fe10401 and pdata ,0x01 ,temp 
+036f 6048c978 storet 1 ,mem_24g_rxdata_ack_flag 
+0370 1fe30400 rshift pdata ,temp 
+0371 18410403 and temp ,0x03 ,temp 
+0372 6048c586 storet 1 ,mem_24g_sta_pid 
+0373 1fe97e00 rshift3 pdata ,pdata 
+0374 67e0c838 store 1 ,mem_24g_rxbuf_new 
+0375 20600000 rtn 
 
 p_g24_bind_data_process:
-0372 204033be call g24_rx_interrupt_clear 
-0373 20403119 call g24_receive_packet 
-0374 2437b3be nbranch g24_rx_interrupt_clear ,user3 
-0375 20400379 call p_g24_bind_data_parse 
-0376 20400381 call p_g24_transmit_ack 
-0377 20400389 call p_g24_bind_device_status_check 
-0378 20203316 branch g24_bind_data_process + 7 
+0376 204033be call g24_rx_interrupt_clear 
+0377 20403119 call g24_receive_packet 
+0378 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+0379 2040037d call p_g24_bind_data_parse 
+037a 20400385 call p_g24_transmit_ack 
+037b 2040038d call p_g24_bind_device_status_check 
+037c 20203316 branch g24_bind_data_process + 7 
 
 p_g24_bind_data_parse:
-0379 70462205 jam bind_mode_continue ,mem_24g_bind_mode_continue 
-037a d8c04838 arg mem_24g_rxbuf_new ,contr 
-037b d8a04928 arg mem_24g_rxdata_temp_new ,contw 
-037c 20407c89 call memcpy8 
-037d 20203322 branch g24_bind_data_parse_next 
+037d 70462205 jam bind_mode_continue ,mem_24g_bind_mode_continue 
+037e d8c04838 arg mem_24g_rxbuf_new ,contr 
+037f d8a04928 arg mem_24g_rxdata_temp_new ,contw 
+0380 20407c89 call memcpy8 
+0381 20203322 branch g24_bind_data_parse_next 
 
 p_g24_receive_transmit_ack:
-037e 204033be call g24_rx_interrupt_clear 
-037f 20403119 call g24_receive_packet 
-0380 24778000 nrtn user3 
+0382 204033be call g24_rx_interrupt_clear 
+0383 20403119 call g24_receive_packet 
+0384 24778000 nrtn user3 
 
 p_g24_transmit_ack:
-0381 6fe0c838 fetch 1 ,mem_24g_rxbuf_new 
-0382 1fe97e00 rshift3 pdata ,pdata 
-0383 67e0c589 store 1 ,mem_24g_data_type 
-0384 20400362 call p_g24_read_len_pid_crc 
-0385 6fe0c978 fetch 1 ,mem_24g_rxdata_ack_flag 
-0386 2feffe00 isolate1 bit_ack_24g ,pdata 
-0387 2020b3fd branch g24tx_no_ack ,true 
-0388 202033fa branch g24tx_with_ack 
+0385 6fe0c838 fetch 1 ,mem_24g_rxbuf_new 
+0386 1fe97e00 rshift3 pdata ,pdata 
+0387 67e0c589 store 1 ,mem_24g_data_type 
+0388 20400366 call p_g24_read_len_pid_crc 
+0389 6fe0c978 fetch 1 ,mem_24g_rxdata_ack_flag 
+038a 2feffe00 isolate1 bit_ack_24g ,pdata 
+038b 2020b3fd branch g24tx_no_ack ,true 
+038c 202033fa branch g24tx_with_ack 
 
 p_g24_bind_device_status_check:
-0389 6fe0c5d5 fetch 1 ,mem_24g_bind_device_status 
-038a 207a0000 rtn blank 
+038d 6fe0c5d5 fetch 1 ,mem_24g_bind_device_status 
+038e 207a0000 rtn blank 
 
 p_g24_bind_device_status:
-038b 6fe0c92b fetch 1 ,mem_24g_rxdata_temp_new + 3 
-038c 2020339c branch g24_bind_device_status + 1 
+038f 6fe0c92b fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0390 2020339c branch g24_bind_device_status + 1 
 
 p_dongle_work_mode_auto:
-038d 6fe0c616 fetch 1 ,mem_24g_work_mode 
-038e c1800000 rtnne dongle_work 
-038f 204003a1 call p_g24_work_mode_start 
-0390 20404827 call dongle_g24_blank_data_process 
-0391 6fe0c610 fetch 1 ,mem_24g_pair_mode 
-0392 247a0000 nrtn blank 
-0393 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
-0394 247a0000 nrtn blank 
-0395 6fe0c614 fetch 1 ,mem_24g_nodata_timer_enable 
-0396 207a0000 rtn blank 
-0397 d8e00008 arg g24_timer_nodata ,queue 
-0398 20407cef call timer_check 
-0399 247a0000 nrtn blank 
-039a 2040351b call g24_ch_process + 3 
-039b 20203511 branch g24_nodata_timer_over 
+0391 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0392 c1800000 rtnne dongle_work 
+0393 204003a5 call p_g24_work_mode_start 
+0394 20404827 call dongle_g24_blank_data_process 
+0395 6fe0c610 fetch 1 ,mem_24g_pair_mode 
+0396 247a0000 nrtn blank 
+0397 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
+0398 247a0000 nrtn blank 
+0399 6fe0c614 fetch 1 ,mem_24g_nodata_timer_enable 
+039a 207a0000 rtn blank 
+039b d8e00008 arg g24_timer_nodata ,queue 
+039c 20407cef call timer_check 
+039d 247a0000 nrtn blank 
+039e 2040351b call g24_ch_process + 3 
+039f 20203511 branch g24_nodata_timer_over 
 
 p_g24_ch_process:
-039c 6fe0c60a fetch 1 ,mem_24g_abort_packet 
-039d c000b5ea beq 1 ,rssi_noise_monitor 
-039e 6fe0c612 fetch 1 ,mem_24g_hop_packet 
-039f c000b52c beq 1 ,g24_ch_receive_hop_pac 
-03a0 20600000 rtn 
+03a0 6fe0c60a fetch 1 ,mem_24g_abort_packet 
+03a1 c000b5ea beq 1 ,rssi_noise_monitor 
+03a2 6fe0c612 fetch 1 ,mem_24g_hop_packet 
+03a3 c000b52c beq 1 ,g24_ch_receive_hop_pac 
+03a4 20600000 rtn 
 
 p_g24_work_mode_start:
-03a1 6fe0c616 fetch 1 ,mem_24g_work_mode 
-03a2 c1800000 rtnne dongle_work 
-03a3 20403451 call g24_work_init 
-03a4 2040039c call p_g24_ch_process 
+03a5 6fe0c616 fetch 1 ,mem_24g_work_mode 
+03a6 c1800000 rtnne dongle_work 
+03a7 20403451 call g24_work_init 
+03a8 204003a0 call p_g24_ch_process 
 
 p_g24_receive_packet_start:
-03a5 2040037e call p_g24_receive_transmit_ack 
-03a6 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+03a9 20400382 call p_g24_receive_transmit_ack 
+03aa 2437b3be nbranch g24_rx_interrupt_clear ,user3 
 
 p_g24_receive_packet_parse:
-03a7 204033e3 call g24_receive_packet_parse_pid_crc 
-03a8 243433be nbranch g24_rx_interrupt_clear ,user 
-03a9 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-03aa 203a33be branch g24_rx_interrupt_clear ,blank 
-03ab 1fe0fe02 increase 2 ,pdata 
-03ac 98007200 iforce loopcnt 
-03ad d8c04838 arg mem_24g_rxbuf_new ,contr 
-03ae d8a04928 arg mem_24g_rxdata_temp_new ,contw 
-03af 20407cda call memcpy 
-03b0 70461300 jam 0 ,mem_24g_mode_switch 
-03b1 6fe0c610 fetch 1 ,mem_24g_pair_mode 
-03b2 205a03bb call p_g24_enable_nodata_timer ,blank 
+03ab 204033e3 call g24_receive_packet_parse_pid_crc 
+03ac 243433be nbranch g24_rx_interrupt_clear ,user 
+03ad 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+03ae 203a33be branch g24_rx_interrupt_clear ,blank 
+03af 1fe0fe02 increase 2 ,pdata 
+03b0 98007200 iforce loopcnt 
+03b1 d8c04838 arg mem_24g_rxbuf_new ,contr 
+03b2 d8a04928 arg mem_24g_rxdata_temp_new ,contw 
+03b3 20407cda call memcpy 
+03b4 70461300 jam 0 ,mem_24g_mode_switch 
+03b5 6fe0c610 fetch 1 ,mem_24g_pair_mode 
+03b6 205a03bf call p_g24_enable_nodata_timer ,blank 
 
 p_g24_receive_packet_parse_end:
-03b3 6fe0c92a fetch 1 ,mem_24g_rxdata_temp_new + 2 
-03b4 c07f83c1 beq datatype_attemp ,p_g24_data_receive_attemp 
-03b5 1fe17e03 and pdata ,0x03 ,pdata 
-03b6 c00083c3 beq datatype_device1 ,p_g24_data_device1 
-03b7 c00103d3 beq datatype_device2 ,p_g24_data_device2 
+03b7 6fe0c92a fetch 1 ,mem_24g_rxdata_temp_new + 2 
+03b8 c07f83c5 beq datatype_attemp ,p_g24_data_receive_attemp 
+03b9 1fe17e03 and pdata ,0x03 ,pdata 
+03ba c00083c7 beq datatype_device1 ,p_g24_data_device1 
+03bb c00103d7 beq datatype_device2 ,p_g24_data_device2 
 
 p_g24_rx_interrupt_clear:
-03b8 d8a04838 arg mem_24g_rxbuf_new ,contw 
-03b9 df200046 arg 70 ,loopcnt 
-03ba 20207ca1 branch clear_mem 
+03bc d8a04838 arg mem_24g_rxbuf_new ,contw 
+03bd df200046 arg 70 ,loopcnt 
+03be 20207ca1 branch clear_mem 
 
 p_g24_enable_nodata_timer:
-03bb 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
-03bc 203a33fe branch g24_enable_nodata_timer ,blank 
-03bd 70461401 jam 1 ,mem_24g_nodata_timer_enable 
-03be 58000640 setarg 1600 
-03bf d8e00008 arg g24_timer_nodata ,queue 
-03c0 20207ce1 branch timer_init 
+03bf 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
+03c0 203a33fe branch g24_enable_nodata_timer ,blank 
+03c1 70461401 jam 1 ,mem_24g_nodata_timer_enable 
+03c2 58000640 setarg 1600 
+03c3 d8e00008 arg g24_timer_nodata ,queue 
+03c4 20207ce1 branch timer_init 
 
 p_g24_data_receive_attemp:
-03c1 2040038b call p_g24_bind_device_status 
-03c2 2020027f branch p_g24_data_attemp 
+03c5 2040038f call p_g24_bind_device_status 
+03c6 2020027f branch p_g24_data_attemp 
 
 p_g24_data_device1:
-03c3 2040338d call g24_binding_dvc1_living 
-03c4 2040352e call g24_ch_timer_reinit 
-03c5 6fe0c60a fetch 1 ,mem_24g_abort_packet 
-03c6 6848c928 fetcht 1 ,mem_24g_rxdata_temp_new 
-03c7 284ffe03 isolate1 bit_abort ,temp 
-03c8 7920fe00 setflag true ,0 ,pdata 
-03c9 67e0c60a store 1 ,mem_24g_abort_packet 
-03ca c00083ce beq 1 ,p_g24_data_attemp_device1_abort 
-03cb 6fe0c612 fetch 1 ,mem_24g_hop_packet 
-03cc 6848c928 fetcht 1 ,mem_24g_rxdata_temp_new 
-03cd 202033ce branch g24_data_device1_next 
+03c7 2040338d call g24_binding_dvc1_living 
+03c8 2040352e call g24_ch_timer_reinit 
+03c9 6fe0c60a fetch 1 ,mem_24g_abort_packet 
+03ca 6848c928 fetcht 1 ,mem_24g_rxdata_temp_new 
+03cb 284ffe03 isolate1 bit_abort ,temp 
+03cc 7920fe00 setflag true ,0 ,pdata 
+03cd 67e0c60a store 1 ,mem_24g_abort_packet 
+03ce c00083d2 beq 1 ,p_g24_data_attemp_device1_abort 
+03cf 6fe0c612 fetch 1 ,mem_24g_hop_packet 
+03d0 6848c928 fetcht 1 ,mem_24g_rxdata_temp_new 
+03d1 202033ce branch g24_data_device1_next 
 
 p_g24_data_attemp_device1_abort:
-03ce 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-03cf 247a0000 nrtn blank 
-03d0 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-03d1 6fe24932 fetch 4 ,mem_24g_rxdata_temp_new + 10 
-03d2 202035a3 branch g24_store_device1_addr 
+03d2 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+03d3 247a0000 nrtn blank 
+03d4 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+03d5 6fe24932 fetch 4 ,mem_24g_rxdata_temp_new + 10 
+03d6 202035a3 branch g24_store_device1_addr 
 
 p_g24_data_device2:
-03d3 20403393 call g24_binding_dvc2_living 
-03d4 6848c928 fetcht 1 ,mem_24g_rxdata_temp_new 
-03d5 284ffe03 isolate1 bit_abort ,temp 
-03d6 202083d8 branch p_g24_data_attemp_device2_abort ,true 
-03d7 202033d7 branch g24_data_device2 + 4 
+03d7 20403393 call g24_binding_dvc2_living 
+03d8 6848c928 fetcht 1 ,mem_24g_rxdata_temp_new 
+03d9 284ffe03 isolate1 bit_abort ,temp 
+03da 202083dc branch p_g24_data_attemp_device2_abort ,true 
+03db 202033d7 branch g24_data_device2 + 4 
 
 p_g24_data_attemp_device2_abort:
-03d8 6fe24932 fetch 4 ,mem_24g_rxdata_temp_new + 10 
-03d9 202035a9 branch g24_store_device2_addr 
+03dc 6fe24932 fetch 4 ,mem_24g_rxdata_temp_new + 10 
+03dd 202035a9 branch g24_store_device2_addr 
 
 p_dongle_g24_mouse:
-03da 70461100 jam 0 ,mem_24g_ackpayload_enable 
-03db 6fe0c92a fetch 1 ,mem_24g_rxdata_temp_new + 2 
-03dc c2830403 bbit1 spec_pro_bit ,p_dongle_receive_ms_spec_protocol_data 
-03dd c283840d bbit1 nor_pro_bit ,p_dongle_receive_ms_nor_protocol_data 
-03de c2828418 bbit1 audio_bit ,p_dongle_receive_ms_audio_data 
-03df c2820417 bbit1 http_bit ,p_dongle_receive_ms_http_data 
-03e0 c2818435 bbit1 heart_bit ,p_dongle_receive_ms_heart_data 
+03de 70461100 jam 0 ,mem_24g_ackpayload_enable 
+03df 6fe0c92a fetch 1 ,mem_24g_rxdata_temp_new + 2 
+03e0 c2830407 bbit1 spec_pro_bit ,p_dongle_receive_ms_spec_protocol_data 
+03e1 c2838411 bbit1 nor_pro_bit ,p_dongle_receive_ms_nor_protocol_data 
+03e2 c282841c bbit1 audio_bit ,p_dongle_receive_ms_audio_data 
+03e3 c282041b bbit1 http_bit ,p_dongle_receive_ms_http_data 
+03e4 c2818439 bbit1 heart_bit ,p_dongle_receive_ms_heart_data 
 
 p_dongle_g24_mouse_next:
-03e1 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-03e2 1fe67c09 sub pdata ,0x09 ,null 
-03e3 202283f3 branch p_dongle_g24_mouse_data ,zero 
-03e4 204003f3 call p_dongle_g24_mouse_data 
 03e5 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-03e6 1fe0fff8 add pdata ,-8 ,pdata 
-03e7 67e0c57d store 1 ,mem_24g_rxdata_length 
-03e8 1fe27200 copy pdata ,loopcnt 
-03e9 d8a0492a arg mem_24g_rxdata_temp_new + 2 ,contw 
-03ea d8c04932 arg mem_24g_rxdata_temp_new + 10 ,contr 
-03eb 20407cda call memcpy 
-03ec 6fe0c92a fetch 1 ,mem_24g_rxdata_temp_new + 2 
-03ed c2830403 bbit1 spec_pro_bit ,p_dongle_receive_ms_spec_protocol_data 
-03ee c283840d bbit1 nor_pro_bit ,p_dongle_receive_ms_nor_protocol_data 
-03ef c2828418 bbit1 audio_bit ,p_dongle_receive_ms_audio_data 
-03f0 c2820417 bbit1 http_bit ,p_dongle_receive_ms_http_data 
-03f1 c2818435 bbit1 heart_bit ,p_dongle_receive_ms_heart_data 
-03f2 20600000 rtn 
+03e6 1fe67c09 sub pdata ,0x09 ,null 
+03e7 202283f7 branch p_dongle_g24_mouse_data ,zero 
+03e8 204003f7 call p_dongle_g24_mouse_data 
+03e9 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+03ea 1fe0fff8 add pdata ,-8 ,pdata 
+03eb 67e0c57d store 1 ,mem_24g_rxdata_length 
+03ec 1fe27200 copy pdata ,loopcnt 
+03ed d8a0492a arg mem_24g_rxdata_temp_new + 2 ,contw 
+03ee d8c04932 arg mem_24g_rxdata_temp_new + 10 ,contr 
+03ef 20407cda call memcpy 
+03f0 6fe0c92a fetch 1 ,mem_24g_rxdata_temp_new + 2 
+03f1 c2830407 bbit1 spec_pro_bit ,p_dongle_receive_ms_spec_protocol_data 
+03f2 c2838411 bbit1 nor_pro_bit ,p_dongle_receive_ms_nor_protocol_data 
+03f3 c282841c bbit1 audio_bit ,p_dongle_receive_ms_audio_data 
+03f4 c282041b bbit1 http_bit ,p_dongle_receive_ms_http_data 
+03f5 c2818439 bbit1 heart_bit ,p_dongle_receive_ms_heart_data 
+03f6 20600000 rtn 
 
 p_dongle_g24_mouse_data:
-03f3 58000001 setarg ms_report_id 
-03f4 67e08913 store 1 ,mem_usb_mouse_data 
-03f5 6fe3c92b fetch 7 ,mem_24g_rxdata_temp_new + 3 
-03f6 e7e38005 istore 7 ,contw 
-03f7 6fe0c92b fetch 1 ,mem_24g_rxdata_temp_new + 3 
-03f8 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
-03f9 6fe0c92b fetch 1 ,mem_24g_rxdata_temp_new + 3 
-03fa 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
+03f7 58000001 setarg ms_report_id 
+03f8 67e08913 store 1 ,mem_usb_mouse_data 
+03f9 6fe3c92b fetch 7 ,mem_24g_rxdata_temp_new + 3 
+03fa e7e38005 istore 7 ,contw 
 03fb 6fe0c92b fetch 1 ,mem_24g_rxdata_temp_new + 3 
-03fc 6848c97d fetcht 1 ,mem_dg_ms_rf_key_last 
-03fd 67e0c97d store 1 ,mem_dg_ms_rf_key_last 
-03fe 98467c00 isub temp ,null 
-03ff 2422c836 nbranch dongle_usb_tx_ms_data ,zero 
-0400 6fe3492c fetch 6 ,mem_24g_rxdata_temp_new + 4 
-0401 207a0000 rtn blank 
-0402 20204836 branch dongle_usb_tx_ms_data 
+03fc 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
+03fd 6fe0c92b fetch 1 ,mem_24g_rxdata_temp_new + 3 
+03fe 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
+03ff 6fe0c92b fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0400 6848c97d fetcht 1 ,mem_dg_ms_rf_key_last 
+0401 67e0c97d store 1 ,mem_dg_ms_rf_key_last 
+0402 98467c00 isub temp ,null 
+0403 2422c836 nbranch dongle_usb_tx_ms_data ,zero 
+0404 6fe3492c fetch 6 ,mem_24g_rxdata_temp_new + 4 
+0405 207a0000 rtn blank 
+0406 20204836 branch dongle_usb_tx_ms_data 
 
 p_dongle_receive_ms_spec_protocol_data:
-0403 704a8140 jam ep3_in_len ,mem_dg_ms_protocol_data 
-0404 704a82c0 jam report_id_pro_data ,mem_dg_ms_protocol_data + 1 
-0405 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0406 1f20f3ff increase -1 ,loopcnt 
-0407 d8c0492b arg mem_24g_rxdata_temp_new + 3 ,contr 
-0408 d8a04a83 arg mem_dg_ms_protocol_data + 2 ,contw 
-0409 20407cda call memcpy 
-040a 204003b8 call p_g24_rx_interrupt_clear 
+0407 704a8140 jam ep3_in_len ,mem_dg_ms_protocol_data 
+0408 704a82c0 jam report_id_pro_data ,mem_dg_ms_protocol_data + 1 
+0409 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+040a 1f20f3ff increase -1 ,loopcnt 
+040b d8c0492b arg mem_24g_rxdata_temp_new + 3 ,contr 
+040c d8a04a83 arg mem_dg_ms_protocol_data + 2 ,contw 
+040d 20407cda call memcpy 
+040e 204003bc call p_g24_rx_interrupt_clear 
 
 p_dongle_usb_tx_protocol_data_enable:
-040b 704ac231 jam usb_ep3_protocol ,mem_usb_ep3_data 
-040c 2020043a branch p_dongle_usb_tx_enable_ep3 
+040f 704ac231 jam usb_ep3_protocol ,mem_usb_ep3_data 
+0410 2020043e branch p_dongle_usb_tx_enable_ep3 
 
 p_dongle_receive_ms_nor_protocol_data:
-040d 704a4040 jam ep3_in_len ,mem_dg_ms_nor_protocol_data 
-040e 704a41c0 jam report_id_pro_data ,mem_dg_ms_nor_protocol_data + 1 
-040f 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0410 1f20f3ff increase -1 ,loopcnt 
-0411 d8c0492b arg mem_24g_rxdata_temp_new + 3 ,contr 
-0412 d8a04a42 arg mem_dg_ms_nor_protocol_data + 2 ,contw 
-0413 20407cda call memcpy 
-0414 204003b8 call p_g24_rx_interrupt_clear 
+0411 704a4040 jam ep3_in_len ,mem_dg_ms_nor_protocol_data 
+0412 704a41c0 jam report_id_pro_data ,mem_dg_ms_nor_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_nor_protocol_data + 2 ,contw 
+0417 20407cda call memcpy 
+0418 204003bc call p_g24_rx_interrupt_clear 
 
 p_dongle_usb_tx_nor_protocol_data_enable:
-0415 704ac232 jam usb_ep3_nor_protocol ,mem_usb_ep3_data 
-0416 2020043a branch p_dongle_usb_tx_enable_ep3 
+0419 704ac232 jam usb_ep3_nor_protocol ,mem_usb_ep3_data 
+041a 2020043e branch p_dongle_usb_tx_enable_ep3 
 
 p_dongle_receive_ms_http_data:
-0417 20600000 rtn 
+041b 20600000 rtn 
 
 p_dongle_receive_ms_audio_data:
-0418 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0419 1f20f3ff increase -1 ,loopcnt 
-041a d8c0492b arg mem_24g_rxdata_temp_new + 3 ,contr 
-041b d8a0497f arg mem_dg_ms_audio_data_sta ,contw 
-041c 20407cda call memcpy 
-041d 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-041e 1f20f3ff increase -1 ,loopcnt 
-041f da4049bf arg mem_dg_ms_audio_data_last ,regb 
-0420 da20497f arg mem_dg_ms_audio_data_sta ,rega 
-0421 20407d64 call compare_loop 
-0422 24428428 ncall p_dongle_usb_tx_audio_data ,zero 
-0423 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0424 1f20f3ff increase -1 ,loopcnt 
-0425 d8c0497f arg mem_dg_ms_audio_data_sta ,contr 
-0426 d8a049bf arg mem_dg_ms_audio_data_last ,contw 
-0427 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:
-0428 7049ff40 jam ep3_in_len ,mem_dg_ms_audio_data 
-0429 704a00cc jam report_id_audio_data ,mem_dg_ms_audio_data + 1 
-042a 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-042b 1fe0ffff increase -1 ,pdata 
-042c 67e0ca01 store 1 ,mem_dg_ms_audio_data + 2 
-042d 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-042e 1f20f3ff increase -1 ,loopcnt 
-042f d8c0497f arg mem_dg_ms_audio_data_sta ,contr 
-0430 d8a04a02 arg mem_dg_ms_audio_data + 3 ,contw 
-0431 20407cda call memcpy 
-0432 204003b8 call p_g24_rx_interrupt_clear 
-0433 704ac230 jam usb_ep3_audio ,mem_usb_ep3_data 
-0434 2020043a branch p_dongle_usb_tx_enable_ep3 
+042c 7049ff40 jam ep3_in_len ,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 204003bc call p_g24_rx_interrupt_clear 
+0437 704ac230 jam usb_ep3_audio ,mem_usb_ep3_data 
+0438 2020043e branch p_dongle_usb_tx_enable_ep3 
 
 p_dongle_receive_ms_heart_data:
-0435 6fe0c773 fetch 1 ,mem_dg_rep_ms_ack_data_flag 
-0436 207a0000 rtn blank 
-0437 70477300 jam 0 ,mem_dg_rep_ms_ack_data_flag 
-0438 70461108 jam protocol_ackpayload ,mem_24g_ackpayload_enable 
-0439 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:
-043a 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-043b 207a0000 rtn blank 
-043c da204ac3 arg mem_usb_ep3_fifo ,rega 
-043d 20407da5 call fifo_is_full 
-043e 247a0000 nrtn blank 
-043f 6fe0cac2 fetch 1 ,mem_usb_ep3_data 
-0440 67e0866f store 1 ,mem_fifo_temp 
-0441 da204ac3 arg mem_usb_ep3_fifo ,rega 
-0442 20207d8b branch fifo_in 
+043e 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+043f 207a0000 rtn blank 
+0440 da204ac3 arg mem_usb_ep3_fifo ,rega 
+0441 20407da5 call fifo_is_full 
+0442 247a0000 nrtn blank 
+0443 6fe0cac2 fetch 1 ,mem_usb_ep3_data 
+0444 67e0866f store 1 ,mem_fifo_temp 
+0445 da204ac3 arg mem_usb_ep3_fifo ,rega 
+0446 20207d8b branch fifo_in 
 
 p_dongle_g24_kb:
-0443 6fe0c92b 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 
+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:
-0448 6fe0c92d fetch 1 ,mem_24g_rxdata_temp_new + 5 
-0449 67e0c611 store 1 ,mem_24g_ackpayload_enable 
-044a 70492d00 jam 0 ,mem_24g_rxdata_temp_new + 5 
-044b d8a00923 arg mem_usb_kb_data ,contw 
-044c d8c0492c arg mem_24g_rxdata_temp_new + 4 ,contr 
-044d 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:
-044e d8a00943 arg mem_usb_kb_system ,contw 
-044f d8c0492b arg mem_24g_rxdata_temp_new + 3 ,contr 
-0450 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:
-0451 d8a00933 arg mem_usb_kb_multikey ,contw 
-0452 d8c0492b arg mem_24g_rxdata_temp_new + 3 ,contr 
-0453 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:
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/program/patch.prog	(revision 5278)
+++ /1121s/branch/dongle/1m/usb_pc/baidu_project/usb_ai_voice_baidu/program/patch.prog	(working copy)
@@ -1035,6 +1035,10 @@
 	beq OPCODE_VOICE_START,p_dongle_tx_pre_ackpayload_mouse
 	beq OPCODE_VOICE_END,p_dongle_tx_pre_ackpayload_mouse
 	beq OPCODE_GET_DEVICE_INFO,p_dongle_tx_pre_ackpayload_mouse
+	beq OPCODE_GET_DPI,p_dongle_tx_pre_ackpayload_mouse
+	beq OPCODE_SET_DPI,p_dongle_tx_pre_ackpayload_mouse
+	beq OPCODE_GET_BATTERY,p_dongle_tx_pre_ackpayload_mouse
+	beq OPCODE_GET_DEVICE_TYPE,p_dongle_tx_pre_ackpayload_mouse
 	branch dongle_usb_dispatch_next
 	
 
