Index: format/app_dongle.format
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/format/app_dongle.format	(revision 3392)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/format/app_dongle.format	(working copy)
@@ -63,17 +63,14 @@
 
 8 mem_usb_ep2_fifo
 1 mem_dongle_freq_hop_flag
-1 mem_usb_http_data_flag
 1 mem_usb_http_data_step
-1 mem_usb_in_http_end_pack_flag
-1 mem_usb_in_http_end_pack_delay_flag
-1 mem_usb_in_http_end_pack_count
 8 mem_usb_http_step1_data
 8 mem_usb_http_step2_data
 8 mem_usb_http_step3_data
 8 mem_usb_http_step4_data
 8 mem_usb_http_step5_data
 8 mem_usb_http_step6_data
+8 mem_usb_http_step7_data
 8 mem_usb_http_step_empty_data
 )
 (
Index: output/memmap.format
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/output/memmap.format	(revision 3392)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/output/memmap.format	(working copy)
@@ -1515,18 +1515,15 @@
 0x4c15 mem_usb_rf_state_report_flag1
 0x4c16 mem_usb_ep2_fifo
 0x4c1e mem_dongle_freq_hop_flag
-0x4c1f mem_usb_http_data_flag
-0x4c20 mem_usb_http_data_step
-0x4c21 mem_usb_in_http_end_pack_flag
-0x4c22 mem_usb_in_http_end_pack_delay_flag
-0x4c23 mem_usb_in_http_end_pack_count
-0x4c24 mem_usb_http_step1_data
-0x4c2c mem_usb_http_step2_data
-0x4c34 mem_usb_http_step3_data
-0x4c3c mem_usb_http_step4_data
-0x4c44 mem_usb_http_step5_data
-0x4c4c mem_usb_http_step6_data
-0x4c54 mem_usb_http_step_empty_data
+0x4c1f mem_usb_http_data_step
+0x4c20 mem_usb_http_step1_data
+0x4c28 mem_usb_http_step2_data
+0x4c30 mem_usb_http_step3_data
+0x4c38 mem_usb_http_step4_data
+0x4c40 mem_usb_http_step5_data
+0x4c48 mem_usb_http_step6_data
+0x4c50 mem_usb_http_step7_data
+0x4c58 mem_usb_http_step_empty_data
 0x45d3 mem_rssi_hex_received
 0x45d4 mem_24g_pair_sm
 0x45d5 mem_24g_pair_no_ack
Index: output/otp.dat
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/output/otp.dat	(revision 3392)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/output/otp.dat	(working copy)
@@ -11,7 +11,7 @@
 00
 aa
 55
-72
+42
 15
 c2
 84
@@ -32,7 +32,7 @@
 c0
 0a
 04
-80
+75
 c0
 0a
 81
@@ -52,7 +52,7 @@
 c0
 1b
 84
-fa
+ef
 c0
 1c
 01
@@ -64,7 +64,7 @@
 c0
 1e
 84
-e9
+de
 c0
 1f
 00
@@ -76,11 +76,11 @@
 c0
 6d
 04
-51
+46
 c0
 6e
 04
-61
+56
 c0
 7f
 01
@@ -112,19 +112,19 @@
 c0
 1c
 84
-9c
+91
 c0
 26
 84
-a0
+95
 c0
 37
-05
-05
+04
+f9
 c0
 37
 85
-1f
+13
 c0
 39
 00
@@ -136,7 +136,7 @@
 c0
 3a
 85
-29
+1d
 c0
 3f
 80
@@ -144,11 +144,11 @@
 c0
 40
 85
-39
+2d
 c0
 41
 04
-a2
+97
 c0
 42
 02
@@ -156,11 +156,11 @@
 c0
 44
 04
-d1
+c6
 c0
 45
 04
-de
+d3
 c0
 48
 80
@@ -416,7 +416,7 @@
 20
 40
 03
-a3
+a2
 20
 40
 00
@@ -984,7 +984,7 @@
 20
 20
 03
-96
+95
 6f
 e0
 c6
@@ -1212,11 +1212,11 @@
 20
 40
 04
-23
+18
 20
 40
 04
-4e
+43
 20
 40
 01
@@ -1232,7 +1232,7 @@
 20
 20
 04
-50
+45
 20
 75
 80
@@ -1788,7 +1788,7 @@
 58
 00
 03
-7a
+79
 67
 e1
 45
@@ -1796,7 +1796,7 @@
 58
 00
 03
-8f
+8e
 67
 e1
 45
@@ -2708,11 +2708,11 @@
 20
 40
 03
-b6
+ac
 20
 20
 03
-e9
+de
 6f
 e0
 cc
@@ -2808,11 +2808,11 @@
 20
 40
 05
-58
+4c
 20
 20
 04
-a8
+9d
 20
 40
 33
@@ -2952,19 +2952,19 @@
 c2
 83
 83
-22
+21
 c2
 83
 03
-38
+37
 c2
 82
 83
-05
+04
 c2
 82
 03
-0c
+0b
 c2
 81
 82
@@ -2972,7 +2972,7 @@
 20
 20
 02
-eb
+ea
 6f
 e1
 4a
@@ -2990,17 +2990,13 @@
 00
 00
 70
-4c
-1f
-01
-70
 09
 0b
 11
 20
-60
-00
-00
+20
+48
+48
 6f
 e0
 c5
@@ -3012,11 +3008,11 @@
 20
 22
 82
-fb
+fa
 20
 40
 02
-fb
+fa
 6f
 e0
 c5
@@ -3056,11 +3052,11 @@
 c2
 83
 03
-38
+37
 c2
 82
 03
-0c
+0b
 20
 60
 00
@@ -3104,7 +3100,7 @@
 20
 20
 03
-71
+70
 70
 4c
 1e
@@ -3196,7 +3192,7 @@
 24
 42
 83
-4f
+4e
 6f
 20
 c5
@@ -3284,7 +3280,7 @@
 24
 42
 83
-5a
+59
 6f
 20
 c5
@@ -3372,7 +3368,7 @@
 24
 42
 83
-64
+63
 6f
 20
 c5
@@ -3400,7 +3396,7 @@
 20
 20
 03
-05
+04
 58
 00
 00
@@ -3444,7 +3440,7 @@
 20
 20
 03
-71
+70
 70
 47
 a2
@@ -3484,7 +3480,7 @@
 20
 20
 03
-71
+70
 58
 00
 00
@@ -3536,7 +3532,7 @@
 20
 20
 03
-71
+70
 6f
 e0
 89
@@ -3580,15 +3576,15 @@
 c2
 83
 83
-22
+21
 c2
 83
 03
-38
+37
 20
 20
 03
-7e
+7d
 6f
 e0
 ca
@@ -3596,15 +3592,15 @@
 c0
 00
 03
-83
+82
 c0
 01
 03
-89
+88
 c0
 01
 83
-8c
+8b
 20
 20
 33
@@ -3664,7 +3660,7 @@
 c0
 00
 83
-93
+92
 c0
 01
 00
@@ -3672,7 +3668,7 @@
 20
 20
 03
-93
+92
 6f
 e0
 c6
@@ -3684,7 +3680,7 @@
 20
 20
 03
-96
+95
 6f
 e0
 c6
@@ -3700,7 +3696,7 @@
 c0
 51
 03
-9b
+9a
 20
 60
 00
@@ -3752,7 +3748,7 @@
 20
 40
 03
-aa
+a9
 d8
 e0
 00
@@ -3760,7 +3756,7 @@
 58
 00
 00
-a0
+08
 20
 20
 7c
@@ -3768,51 +3764,15 @@
 6f
 e0
 cc
-22
+1f
 20
 7a
 00
 00
-6f
-e0
-cc
-23
-1f
-e0
-fe
-01
-67
-e0
-cc
-23
-c1
-80
-80
-00
-70
-4c
-23
-00
-70
-4c
-22
-00
-70
-4c
-21
-01
-70
-4c
-1f
-01
-70
-4c
 20
-0b
 20
-60
-00
-00
+02
+e8
 6f
 f0
 8c
@@ -3827,16 +3787,24 @@
 00
 6f
 e0
-cc
-1f
-24
-3a
-03
-bc
-20
-20
-7b
-f0
+89
+0d
+c4
+00
+80
+00
+6f
+e0
+89
+0d
+79
+3f
+fe
+01
+67
+e0
+89
+0d
 6f
 e0
 89
@@ -3847,8 +3815,12 @@
 00
 c0
 08
-83
+7c
+28
 c0
+08
+83
+b9
 20
 20
 23
@@ -3856,7 +3828,7 @@
 6f
 e0
 cc
-20
+1f
 1f
 e0
 fe
@@ -3864,59 +3836,63 @@
 67
 e0
 cc
-20
+1f
 6f
 e0
 cc
-20
+1f
 c0
 00
 83
-d1
+cb
 c0
 01
 03
-de
+da
 c0
-02
+0b
 03
-d4
+ce
 c0
-02
+0b
 83
-de
+da
 c0
+0c
 03
-03
-d6
+d0
 c0
-03
+0c
 83
-de
+da
 c0
-04
+0d
 03
-d8
+d2
 c0
-04
+0d
 83
-de
+da
 c0
-05
+0e
 03
-da
+d4
 c0
-05
+0e
 83
-de
+da
 c0
-06
+0f
 03
-dc
+d6
 c0
-06
+0f
 83
-e0
+d8
+c0
+10
+03
+dc
 20
 60
 00
@@ -3924,7 +3900,7 @@
 d8
 c0
 4c
-24
+20
 df
 20
 00
@@ -3936,87 +3912,67 @@
 d8
 c0
 4c
-2c
+28
 20
 20
 03
-d2
+cc
 d8
 c0
 4c
-34
+30
 20
 20
 03
-d2
+cc
 d8
 c0
 4c
-3c
+38
 20
 20
 03
-d2
+cc
 d8
 c0
 4c
-44
+40
 20
 20
 03
-d2
+cc
 d8
 c0
 4c
-4c
+48
 20
 20
 03
-d2
+cc
 d8
 c0
 4c
-54
+50
 20
 20
 03
-d2
-70
-4c
-22
-01
-70
+cc
+d8
+c0
 4c
+58
 20
-00
-70
-4c
-1f
-00
 20
-40
 03
-de
-6f
-e0
 cc
-21
-20
-7a
-00
-00
 70
 4c
-21
-00
-70
-4c
-22
+1f
 00
 20
-60
-00
-00
+20
+03
+da
 da
 20
 4c
@@ -4059,8 +4015,8 @@
 09
 c0
 13
-04
-02
+03
+f7
 c0
 10
 fc
@@ -4072,15 +4028,15 @@
 c0
 12
 04
-0d
+02
 c0
 11
 84
-18
+0d
 c0
 13
 83
-fa
+ef
 20
 20
 23
@@ -4116,7 +4072,7 @@
 20
 20
 04
-0b
+00
 70
 09
 0c
@@ -4147,8 +4103,8 @@
 d2
 20
 20
-04
-0a
+03
+ff
 d8
 a0
 46
@@ -4192,7 +4148,7 @@
 20
 20
 04
-15
+0a
 d8
 a0
 47
@@ -4236,7 +4192,7 @@
 20
 20
 04
-20
+15
 d8
 a0
 4b
@@ -4300,7 +4256,7 @@
 20
 40
 04
-40
+35
 2a
 2f
 fe
@@ -4332,7 +4288,7 @@
 20
 40
 04
-40
+35
 d8
 a0
 8a
@@ -4360,7 +4316,7 @@
 20
 21
 04
-35
+2a
 20
 20
 21
@@ -4464,7 +4420,7 @@
 20
 40
 04
-79
+6e
 70
 8a
 08
@@ -4500,7 +4456,7 @@
 20
 40
 04
-6f
+64
 6f
 f0
 8a
@@ -4544,7 +4500,7 @@
 20
 40
 04
-79
+6e
 70
 80
 cd
@@ -4604,7 +4560,7 @@
 c3
 02
 84
-7a
+6f
 68
 59
 01
@@ -4640,7 +4596,7 @@
 c0
 08
 04
-99
+8e
 58
 00
 57
@@ -4684,7 +4640,7 @@
 c0
 08
 04
-96
+8b
 58
 00
 2b
@@ -4720,7 +4676,7 @@
 20
 20
 04
-92
+87
 58
 00
 83
@@ -4732,7 +4688,7 @@
 20
 20
 04
-87
+7c
 6f
 e0
 c3
@@ -4772,11 +4728,11 @@
 c0
 11
 04
-b8
+ad
 c0
 7f
 84
-a8
+9d
 20
 60
 00
@@ -4788,11 +4744,11 @@
 c0
 00
 84
-ac
+a1
 c0
 01
 04
-b2
+a7
 20
 60
 00
@@ -4852,7 +4808,7 @@
 20
 3a
 04
-be
+b3
 6f
 e2
 4a
@@ -4876,11 +4832,11 @@
 c0
 00
 84
-c2
+b7
 c0
 01
 04
-c9
+be
 20
 60
 00
@@ -4900,7 +4856,7 @@
 c0
 01
 04
-c7
+bc
 20
 60
 00
@@ -4928,7 +4884,7 @@
 c0
 80
 04
-ce
+c3
 20
 60
 00
@@ -5008,7 +4964,7 @@
 20
 40
 04
-e2
+d7
 20
 20
 34
@@ -5121,14 +5077,10 @@
 e0
 c5
 d1
-58
-00
-00
-00
-67
-e2
-cc
+70
+4c
 1f
+00
 70
 45
 ca
@@ -5180,7 +5132,7 @@
 c5
 13
 85
-10
+04
 6f
 e0
 c4
@@ -5224,7 +5176,7 @@
 20
 40
 85
-1d
+11
 18
 42
 7e
@@ -5312,7 +5264,7 @@
 20
 40
 85
-1d
+11
 18
 42
 7e
@@ -5376,7 +5328,7 @@
 20
 40
 05
-40
+34
 20
 40
 00
@@ -5384,7 +5336,7 @@
 20
 40
 05
-56
+4a
 20
 20
 33
@@ -5412,15 +5364,15 @@
 c0
 55
 05
-4a
+3e
 c0
 2a
 85
-4c
+40
 c0
 11
 04
-b8
+ad
 c0
 7f
 b5
@@ -5444,7 +5396,7 @@
 20
 3a
 05
-52
+46
 6f
 e2
 4a
@@ -5501,8 +5453,8 @@
 60
 00
 00
-06
-7e
+aa
+38
 aa
 55
 40
@@ -5675,9 +5627,9 @@
 00
 aa
 55
-38
+40
 00
-24
+20
 4c
 08
 00
@@ -5687,16 +5639,24 @@
 00
 00
 00
-02
+00
 00
 0b
 17
 17
 13
 16
+00
+02
+00
 33
 00
 00
+00
+00
+00
+00
+00
 38
 38
 10
@@ -6234,8 +6194,8 @@
 aa
 aa
 55
-fd
-97
-15
-38
+01
+98
+cf
+c1
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/output/program.lis	(revision 3392)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/output/program.lis	(working copy)
@@ -4,19 +4,19 @@
 0001 c000002a beq patch00_0 ,p_soft_reset 
 0002 c00100f7 beq patch00_2 ,p_main_loop 
 0003 c0088100 beq patch02_1 ,p_set_sync_on 
-0004 c00a0480 beq patch02_4 ,p_set_lemode 
+0004 c00a0475 beq patch02_4 ,p_set_lemode 
 0005 c00a819c beq patch02_5 ,p_rf_rx_enable 
 0006 c00c01aa beq patch03_0 ,p_txon 
 0007 c00c8150 beq patch03_1 ,p_set_tx_power 
 0008 c00d010e beq patch03_2 ,p_initialize_radio_cont 
-0009 c01b84fa beq patch06_7 ,p_dongle_default_init 
+0009 c01b84ef beq patch06_7 ,p_dongle_default_init 
 000a c01c016f beq patch07_0 ,p_dongle_read_kb_bind_status 
 000b c01c816b beq patch07_1 ,p_dongle_write_kb_bind_status 
-000c c01e84e9 beq patch07_5 ,p_dongle_usb_dispatch 
+000c c01e84de beq patch07_5 ,p_dongle_usb_dispatch 
 000d c01f003d beq patch07_6 ,p_dongle_work_mode_auto 
 000e c0628168 beq patch18_5 ,p_otp_read_data 
-000f c06d0451 beq patch1b_2 ,p_sadc_calibration 
-0010 c06e0461 beq patch1b_4 ,p_enable_adc 
+000f c06d0446 beq patch1b_2 ,p_sadc_calibration 
+0010 c06e0456 beq patch1b_4 ,p_enable_adc 
 0011 c07f01b5 beq patch1f_6 ,p_usb_init 
 0012 c07f8213 beq patch1f_7 ,p_usb_rx 
 0013 c07e81b1 beq patch1f_5 ,p_usb_isr 
@@ -26,19 +26,19 @@
 0015 c000023a beq patch20_0 ,p_usb_class_type 
 0016 c0010279 beq patch20_2 ,p_usb0_request_get_descriptor 
 0017 c0030297 beq patch20_6 ,p_usb_tx 
-0018 c01c849c beq patch27_1 ,p_le_parse 
-0019 c02684a0 beq patch29_5 ,p_le_init_adv 
-001a c0370505 beq patch2d_6 ,p_g24_receive_skip_fec1 
-001b c037851f beq patch2d_7 ,p_g24_receive_skip_end 
+0018 c01c8491 beq patch27_1 ,p_le_parse 
+0019 c0268495 beq patch29_5 ,p_le_init_adv 
+001a c03704f9 beq patch2d_6 ,p_g24_receive_skip_fec1 
+001b c0378513 beq patch2d_7 ,p_g24_receive_skip_end 
 001c c03900cf beq patch2e_2 ,p_g24_transmit_packet 
 001d c0398083 beq patch2e_3 ,p_g24_transmit_prep 
-001e c03a8529 beq patch2e_5 ,p_g24_read_len_pid_crc 
+001e c03a851d beq patch2e_5 ,p_g24_read_len_pid_crc 
 001f c03f80aa beq patch2f_7 ,p_g24_pair_dispatch 
-0020 c0408539 beq patch30_1 ,p_g24_bind_data_process 
-0021 c04104a2 beq patch30_2 ,p_g24_bind_data_parse_next 
+0020 c040852d beq patch30_1 ,p_g24_bind_data_process 
+0021 c0410497 beq patch30_2 ,p_g24_bind_data_parse_next 
 0022 c04202a8 beq patch30_4 ,p_g24_receive_packet_start1 
-0023 c04404d1 beq patch31_0 ,p_g24_mode_switch_bind_search 
-0024 c04504de beq patch31_2 ,p_g24_bind_mode_auto 
+0023 c04404c6 beq patch31_0 ,p_g24_mode_switch_bind_search 
+0024 c04504d3 beq patch31_2 ,p_g24_bind_mode_auto 
 0025 c0488080 beq patch32_1 ,p_g24_txbuf_clear 
 0026 c0458030 beq patch31_3 ,p_g24_search_mode_auto 
 0027 c1468000 rtneq patch31_5 
@@ -120,7 +120,7 @@
 0061 6fe0c616 fetch 1 ,mem_24g_work_mode 
 0062 c1800000 rtnne dongle_work 
 0063 20403451 call g24_work_init 
-0064 204003a3 call p_g24_100ms_timer_event 
+0064 204003a2 call p_g24_100ms_timer_event 
 0065 20400067 call p_g24_ch_process_check 
 0066 2020006e branch p_g24_receive_packet_start 
 
@@ -320,7 +320,7 @@
 p_dongle_ackpayload_prep_keyboard:
 00f0 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
 00f1 c28080f3 bbit1 1 ,p_dongle_pc_sleep_ackpayload_prep_keyboard 
-00f2 20200396 branch p_dongle_ackpayload_prep_end 
+00f2 20200395 branch p_dongle_ackpayload_prep_end 
 
 p_dongle_pc_sleep_ackpayload_prep_keyboard:
 00f3 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
@@ -387,12 +387,12 @@
 0128 58557474 setarg 0x557474 
 0129 67f18968 store 3 ,0x8968 
 012a 7089606e jam 0x6e ,0x8960 
-012b 20400423 call p_rx_dcoc 
-012c 2040044e call p_rfpll_aac_ghpc 
+012b 20400418 call p_rx_dcoc 
+012c 20400443 call p_rfpll_aac_ghpc 
 012d 20400131 call p_set_xtal_cap 
 012e 7041480c jam system_clk_12m ,mem_system_clk 
 012f 20406f4e call sadc_calibration 
-0130 20200450 branch p_dpll_ring_ibias_calc 
+0130 20200445 branch p_dpll_ring_ibias_calc 
 
 p_set_xtal_cap:
 0131 20758000 rtn wake 
@@ -569,9 +569,9 @@
 01b8 67e107a9 store 2 ,mem_hidreportdesc_m 
 01b9 580002db setarg p_dongle_g24_mouse 
 01ba 67e145e4 store 2 ,mem_cb_24g_data_device1 
-01bb 5800037a setarg p_dongle_g24_keyboard 
+01bb 58000379 setarg p_dongle_g24_keyboard 
 01bc 67e145e6 store 2 ,mem_cb_24g_data_device2 
-01bd 5800038f setarg p_dongle_ackpayload_prep 
+01bd 5800038e setarg p_dongle_ackpayload_prep 
 01be 67e145e2 store 2 ,mem_cb_24g_ackpayload 
 
 p_usb_init_restart:
@@ -855,8 +855,8 @@
 029e c0817c06 bne usb_connected ,usb_tx_fifo_release 
 029f 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
 02a0 243a7c06 nbranch usb_tx_fifo_release ,blank 
-02a1 204003b6 call p_usb_tx_data_ep1 
-02a2 202003e9 branch p_usb_tx_data_ep2 
+02a1 204003ac call p_usb_tx_data_ep1 
+02a2 202003de branch p_usb_tx_data_ep2 
 
 p_dongle_usb_ep2_connect_report_send:
 02a3 6fe0cc14 fetch 1 ,mem_usb_rf_state_report_flag 
@@ -888,8 +888,8 @@
 02b9 202033be branch g24_rx_interrupt_clear 
 
 p_g24_data_receive_attemp:
-02ba 20400558 call p_g24_bind_device_status 
-02bb 202004a8 branch p_g24_data_attemp 
+02ba 2040054c call p_g24_bind_device_status 
+02bb 2020049d branch p_g24_data_attemp 
 
 p_g24_data_device1:
 02bc 2040338d call g24_binding_dvc1_living 
@@ -934,12 +934,12 @@
 02db 704c1e00 jam 0 ,mem_dongle_freq_hop_flag 
 02dc 204002e4 call p_dongle_24g_mouse_wheel_data_check 
 02dd 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-02de c2838322 bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
-02df c2830338 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
-02e0 c2828305 bbit1 datatype_heart ,p_dongle_g24_mouse_heart_data 
-02e1 c282030c bbit1 datatype_protocol ,p_g24_data_receive_protocol_data 
-02e2 c28182e8 bbit1 datatype_http ,p_g24_data_receive_http_data 
-02e3 202002eb branch p_dongle_g24_mouse_next 
+02de c2838321 bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
+02df c2830337 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
+02e0 c2828304 bbit1 datatype_heart ,p_dongle_g24_mouse_heart_data 
+02e1 c282030b bbit1 datatype_protocol ,p_g24_data_receive_protocol_data 
+02e2 c28182e8 bbit1 datatype_http ,p_dongle_usb_tx_http_data 
+02e3 202002ea branch p_dongle_g24_mouse_next 
 
 p_dongle_24g_mouse_wheel_data_check:
 02e4 6fe14a4d fetch 2 ,mem_24g_rxdata_temp_new + 8 
@@ -947,821 +947,809 @@
 02e6 704c1e01 jam 1 ,mem_dongle_freq_hop_flag 
 02e7 20600000 rtn 
 
-p_g24_data_receive_http_data:
-02e8 704c1f01 jam 1 ,mem_usb_http_data_flag 
-02e9 70090b11 jam usb_ep1_kb_http ,mem_usb_ep1_data 
-02ea 20600000 rtn 
+p_dongle_usb_tx_http_data:
+02e8 70090b11 jam usb_ep1_kb_http ,mem_usb_ep1_data 
+02e9 20204848 branch dongle_usb_tx_ep1_enable 
 
 p_dongle_g24_mouse_next:
-02eb 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-02ec 1fe67c09 sub pdata ,0x09 ,null 
-02ed 202282fb branch p_dongle_g24_mouse_data ,zero 
-02ee 204002fb call p_dongle_g24_mouse_data 
-02ef 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-02f0 1fe0fff8 add pdata ,-8 ,pdata 
-02f1 67e0c57d store 1 ,mem_24g_rxdata_length 
-02f2 1fe27200 copy pdata ,loopcnt 
-02f3 d8a04a47 arg mem_24g_rxdata_temp_new + 2 ,contw 
-02f4 d8c04a4f arg mem_24g_rxdata_temp_new + 10 ,contr 
-02f5 20407cda call memcpy 
-02f6 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-02f7 c28182e8 bbit1 datatype_http ,p_g24_data_receive_http_data 
-02f8 c2830338 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
-02f9 c282030c bbit1 datatype_protocol ,p_g24_data_receive_protocol_data 
-02fa 20600000 rtn 
+02ea 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+02eb 1fe67c09 sub pdata ,0x09 ,null 
+02ec 202282fa branch p_dongle_g24_mouse_data ,zero 
+02ed 204002fa call p_dongle_g24_mouse_data 
+02ee 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+02ef 1fe0fff8 add pdata ,-8 ,pdata 
+02f0 67e0c57d store 1 ,mem_24g_rxdata_length 
+02f1 1fe27200 copy pdata ,loopcnt 
+02f2 d8a04a47 arg mem_24g_rxdata_temp_new + 2 ,contw 
+02f3 d8c04a4f arg mem_24g_rxdata_temp_new + 10 ,contr 
+02f4 20407cda call memcpy 
+02f5 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+02f6 c28182e8 bbit1 datatype_http ,p_dongle_usb_tx_http_data 
+02f7 c2830337 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
+02f8 c282030b bbit1 datatype_protocol ,p_g24_data_receive_protocol_data 
+02f9 20600000 rtn 
 
 p_dongle_g24_mouse_data:
-02fb 58000001 setarg ms_report_id 
-02fc 67e08913 store 1 ,mem_usb_mouse_data 
-02fd 6fe3ca48 fetch 7 ,mem_24g_rxdata_temp_new + 3 
-02fe e7e38005 istore 7 ,contw 
-02ff 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0300 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
-0301 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0302 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
-0303 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
-0304 20200371 branch p_dongle_usb_tx_enable_ep2 
+02fa 58000001 setarg ms_report_id 
+02fb 67e08913 store 1 ,mem_usb_mouse_data 
+02fc 6fe3ca48 fetch 7 ,mem_24g_rxdata_temp_new + 3 
+02fd e7e38005 istore 7 ,contw 
+02fe 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+02ff 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
+0300 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0301 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
+0302 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
+0303 20200370 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_g24_mouse_heart_data:
-0305 704c1e01 jam 1 ,mem_dongle_freq_hop_flag 
-0306 6fe0c864 fetch 1 ,mem_dongle_usb_ep2_data_flag 
-0307 207a0000 rtn blank 
-0308 70486400 jam 0 ,mem_dongle_usb_ep2_data_flag 
+0304 704c1e01 jam 1 ,mem_dongle_freq_hop_flag 
+0305 6fe0c864 fetch 1 ,mem_dongle_usb_ep2_data_flag 
+0306 207a0000 rtn blank 
+0307 70486400 jam 0 ,mem_dongle_usb_ep2_data_flag 
 
 p_24g_ackpayload_enable_set:
-0309 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
-030a 704a44a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
-030b 20600000 rtn 
+0308 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
+0309 704a44a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
+030a 20600000 rtn 
 
 p_g24_data_receive_protocol_data:
-030c 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-030d 1f20f3ff increase -1 ,loopcnt 
-030e d8a04b13 arg mem_usb_protocol_data + 2 ,contw 
-030f d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
-0310 20407cda call memcpy 
-0311 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0312 1fe0ffff increase -1 ,pdata 
-0313 d8a04b52 arg mem_usb_protocol_data_sta ,contw 
-0314 d8c04b13 arg mem_usb_protocol_data + 2 ,contr 
-0315 20407cda call memcpy 
-0316 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0317 1fe0ffff increase -1 ,pdata 
-0318 da404b52 arg mem_usb_protocol_data_sta ,regb 
-0319 da204b93 arg mem_usb_protocol_data_last ,rega 
-031a 20407d64 call compare_loop 
-031b 2442834f ncall p_dongle_usb_tx_protocol_data ,zero 
-031c 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-031d 1fe0ffff increase -1 ,pdata 
-031e d8c04b52 arg mem_usb_protocol_data_sta ,contr 
-031f d8a04b93 arg mem_usb_protocol_data_last ,contw 
-0320 20407cda call memcpy 
-0321 202033be branch g24_rx_interrupt_clear 
+030b 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+030c 1f20f3ff increase -1 ,loopcnt 
+030d d8a04b13 arg mem_usb_protocol_data + 2 ,contw 
+030e d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
+030f 20407cda call memcpy 
+0310 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0311 1fe0ffff increase -1 ,pdata 
+0312 d8a04b52 arg mem_usb_protocol_data_sta ,contw 
+0313 d8c04b13 arg mem_usb_protocol_data + 2 ,contr 
+0314 20407cda call memcpy 
+0315 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0316 1fe0ffff increase -1 ,pdata 
+0317 da404b52 arg mem_usb_protocol_data_sta ,regb 
+0318 da204b93 arg mem_usb_protocol_data_last ,rega 
+0319 20407d64 call compare_loop 
+031a 2442834e ncall p_dongle_usb_tx_protocol_data ,zero 
+031b 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+031c 1fe0ffff increase -1 ,pdata 
+031d d8c04b52 arg mem_usb_protocol_data_sta ,contr 
+031e d8a04b93 arg mem_usb_protocol_data_last ,contw 
+031f 20407cda call memcpy 
+0320 202033be branch g24_rx_interrupt_clear 
 
 p_dongle_g24_mouse_audio_data:
-0322 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0323 1f20f3ff increase -1 ,loopcnt 
-0324 d8a047a3 arg mem_usb_audio_data + 2 ,contw 
-0325 d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
-0326 20407cda call memcpy 
-0327 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0328 1fe0ffff increase -1 ,pdata 
-0329 d8a047e1 arg mem_usb_audio_data_sta ,contw 
-032a d8c047a3 arg mem_usb_audio_data + 2 ,contr 
-032b 20407cda call memcpy 
-032c 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-032d 1fe0ffff increase -1 ,pdata 
-032e da4047e1 arg mem_usb_audio_data_sta ,regb 
-032f da204821 arg mem_usb_audio_data_last ,rega 
-0330 20407d64 call compare_loop 
-0331 2442835a ncall p_dongle_usb_tx_audio_data ,zero 
-0332 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0333 1fe0ffff increase -1 ,pdata 
-0334 d8c047e1 arg mem_usb_audio_data_sta ,contr 
-0335 d8a04821 arg mem_usb_audio_data_last ,contw 
-0336 20407cda call memcpy 
-0337 202033be branch g24_rx_interrupt_clear 
+0321 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0322 1f20f3ff increase -1 ,loopcnt 
+0323 d8a047a3 arg mem_usb_audio_data + 2 ,contw 
+0324 d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
+0325 20407cda call memcpy 
+0326 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0327 1fe0ffff increase -1 ,pdata 
+0328 d8a047e1 arg mem_usb_audio_data_sta ,contw 
+0329 d8c047a3 arg mem_usb_audio_data + 2 ,contr 
+032a 20407cda call memcpy 
+032b 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+032c 1fe0ffff increase -1 ,pdata 
+032d da4047e1 arg mem_usb_audio_data_sta ,regb 
+032e da204821 arg mem_usb_audio_data_last ,rega 
+032f 20407d64 call compare_loop 
+0330 24428359 ncall p_dongle_usb_tx_audio_data ,zero 
+0331 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0332 1fe0ffff increase -1 ,pdata 
+0333 d8c047e1 arg mem_usb_audio_data_sta ,contr 
+0334 d8a04821 arg mem_usb_audio_data_last ,contw 
+0335 20407cda call memcpy 
+0336 202033be branch g24_rx_interrupt_clear 
 
 p_dongle_g24_mouse_authca_data:
-0338 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0339 1f20f3ff increase -1 ,loopcnt 
-033a d8a046e0 arg mem_usb_authca_data + 2 ,contw 
-033b d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
-033c 20407cda call memcpy 
-033d 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-033e 1fe0ffff increase -1 ,pdata 
-033f d8a0471f arg mem_usb_authca_data_sta ,contw 
-0340 d8c046e0 arg mem_usb_authca_data + 2 ,contr 
-0341 20407cda call memcpy 
-0342 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0343 1fe0ffff increase -1 ,pdata 
-0344 da40471f arg mem_usb_authca_data_sta ,regb 
-0345 da204760 arg mem_usb_authca_data_last ,rega 
-0346 20407d64 call compare_loop 
-0347 24428364 ncall p_dongle_usb_tx_authca_data ,zero 
-0348 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0349 1fe0ffff increase -1 ,pdata 
-034a d8c0471f arg mem_usb_authca_data_sta ,contr 
-034b d8a04760 arg mem_usb_authca_data_last ,contw 
-034c 20407cda call memcpy 
-034d 204033be call g24_rx_interrupt_clear 
-034e 20200305 branch p_dongle_g24_mouse_heart_data 
+0337 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0338 1f20f3ff increase -1 ,loopcnt 
+0339 d8a046e0 arg mem_usb_authca_data + 2 ,contw 
+033a d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
+033b 20407cda call memcpy 
+033c 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+033d 1fe0ffff increase -1 ,pdata 
+033e d8a0471f arg mem_usb_authca_data_sta ,contw 
+033f d8c046e0 arg mem_usb_authca_data + 2 ,contr 
+0340 20407cda call memcpy 
+0341 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0342 1fe0ffff increase -1 ,pdata 
+0343 da40471f arg mem_usb_authca_data_sta ,regb 
+0344 da204760 arg mem_usb_authca_data_last ,rega 
+0345 20407d64 call compare_loop 
+0346 24428363 ncall p_dongle_usb_tx_authca_data ,zero 
+0347 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0348 1fe0ffff increase -1 ,pdata 
+0349 d8c0471f arg mem_usb_authca_data_sta ,contr 
+034a d8a04760 arg mem_usb_authca_data_last ,contw 
+034b 20407cda call memcpy 
+034c 204033be call g24_rx_interrupt_clear 
+034d 20200304 branch p_dongle_g24_mouse_heart_data 
 
 p_dongle_usb_tx_protocol_data:
-034f 58000040 setarg 0x40 
-0350 67e0cb11 store 1 ,mem_usb_protocol_data 
-0351 704b12a1 jam report_id_data_in ,mem_usb_protocol_data + 1 
-0352 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0353 1fe0ffff increase -1 ,pdata 
-0354 1fe27200 copy pdata ,loopcnt 
-0355 d8c04b13 arg mem_usb_protocol_data + 2 ,contr 
-0356 d8a04b52 arg mem_usb_protocol_data_sta ,contw 
-0357 20407cda call memcpy 
-0358 70090c23 jam usb_ep2_protocol ,mem_usb_ep2_data 
-0359 20200371 branch p_dongle_usb_tx_enable_ep2 
+034e 58000040 setarg 0x40 
+034f 67e0cb11 store 1 ,mem_usb_protocol_data 
+0350 704b12a1 jam report_id_data_in ,mem_usb_protocol_data + 1 
+0351 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0352 1fe0ffff increase -1 ,pdata 
+0353 1fe27200 copy pdata ,loopcnt 
+0354 d8c04b13 arg mem_usb_protocol_data + 2 ,contr 
+0355 d8a04b52 arg mem_usb_protocol_data_sta ,contw 
+0356 20407cda call memcpy 
+0357 70090c23 jam usb_ep2_protocol ,mem_usb_ep2_data 
+0358 20200370 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_tx_audio_data:
-035a 7047a2a0 jam report_id_audio_data_in ,mem_usb_audio_data + 1 
-035b 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-035c 1fe0ffff increase -1 ,pdata 
-035d 67e0c7a1 store 1 ,mem_usb_audio_data 
-035e 1fe27200 copy pdata ,loopcnt 
-035f d8c047a4 arg mem_usb_audio_data + 3 ,contr 
-0360 d8a047e1 arg mem_usb_audio_data_sta ,contw 
-0361 20407cda call memcpy 
-0362 70090c24 jam usb_ep2_audio ,mem_usb_ep2_data 
-0363 20200371 branch p_dongle_usb_tx_enable_ep2 
+0359 7047a2a0 jam report_id_audio_data_in ,mem_usb_audio_data + 1 
+035a 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+035b 1fe0ffff increase -1 ,pdata 
+035c 67e0c7a1 store 1 ,mem_usb_audio_data 
+035d 1fe27200 copy pdata ,loopcnt 
+035e d8c047a4 arg mem_usb_audio_data + 3 ,contr 
+035f d8a047e1 arg mem_usb_audio_data_sta ,contw 
+0360 20407cda call memcpy 
+0361 70090c24 jam usb_ep2_audio ,mem_usb_ep2_data 
+0362 20200370 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_tx_authca_data:
-0364 58000040 setarg 0x40 
-0365 67e0c6de store 1 ,mem_usb_authca_data 
-0366 7046dfa3 jam report_id_authca_data_in ,mem_usb_authca_data + 1 
-0367 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0368 1fe0ffff increase -1 ,pdata 
-0369 67e0c6e0 store 1 ,mem_usb_authca_data + 2 
-036a 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-036b 1fe0ffff increase -1 ,pdata 
-036c d8a046e1 arg mem_usb_authca_data + 3 ,contw 
-036d d8c0471f arg mem_usb_authca_data_sta ,contr 
-036e 20407cda call memcpy 
-036f 70090c26 jam usb_ep2_authca ,mem_usb_ep2_data 
-0370 20200371 branch p_dongle_usb_tx_enable_ep2 
+0363 58000040 setarg 0x40 
+0364 67e0c6de store 1 ,mem_usb_authca_data 
+0365 7046dfa3 jam report_id_authca_data_in ,mem_usb_authca_data + 1 
+0366 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0367 1fe0ffff increase -1 ,pdata 
+0368 67e0c6e0 store 1 ,mem_usb_authca_data + 2 
+0369 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+036a 1fe0ffff increase -1 ,pdata 
+036b d8a046e1 arg mem_usb_authca_data + 3 ,contw 
+036c d8c0471f arg mem_usb_authca_data_sta ,contr 
+036d 20407cda call memcpy 
+036e 70090c26 jam usb_ep2_authca ,mem_usb_ep2_data 
+036f 20200370 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_tx_enable_ep2:
-0371 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-0372 207a0000 rtn blank 
-0373 da204c16 arg mem_usb_ep2_fifo ,rega 
-0374 20407da5 call fifo_is_full 
-0375 247a0000 nrtn blank 
-0376 6fe0890c fetch 1 ,mem_usb_ep2_data 
-0377 67e0866f store 1 ,mem_fifo_temp 
-0378 da204c16 arg mem_usb_ep2_fifo ,rega 
-0379 20207d8b branch fifo_in 
+0370 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+0371 207a0000 rtn blank 
+0372 da204c16 arg mem_usb_ep2_fifo ,rega 
+0373 20407da5 call fifo_is_full 
+0374 247a0000 nrtn blank 
+0375 6fe0890c fetch 1 ,mem_usb_ep2_data 
+0376 67e0866f store 1 ,mem_fifo_temp 
+0377 da204c16 arg mem_usb_ep2_fifo ,rega 
+0378 20207d8b branch fifo_in 
 
 p_dongle_g24_keyboard:
-037a 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-037b c2838322 bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
-037c c2830338 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
-037d 2020037e branch p_dongle_g24_kb 
+0379 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+037a c2838321 bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
+037b c2830337 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
+037c 2020037d branch p_dongle_g24_kb 
 
 p_dongle_g24_kb:
-037e 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-037f c0000383 beq 0 ,p_dongle_g24_kb_type0 
-0380 c0010389 beq 2 ,p_dongle_g24_kb_type2 
-0381 c001838c beq 3 ,p_dongle_g24_kb_type3 
-0382 202033be branch g24_rx_interrupt_clear 
+037d 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+037e c0000382 beq 0 ,p_dongle_g24_kb_type0 
+037f c0010388 beq 2 ,p_dongle_g24_kb_type2 
+0380 c001838b beq 3 ,p_dongle_g24_kb_type3 
+0381 202033be branch g24_rx_interrupt_clear 
 
 p_dongle_g24_kb_type0:
-0383 6fe0ca4a fetch 1 ,mem_24g_rxdata_temp_new + 5 
-0384 67e0c611 store 1 ,mem_24g_ackpayload_enable 
-0385 704a4a00 jam 0 ,mem_24g_rxdata_temp_new + 5 
-0386 d8a00923 arg mem_usb_kb_data ,contw 
-0387 d8c04a49 arg mem_24g_rxdata_temp_new + 4 ,contr 
-0388 202048ef branch dongle_g24_kb_type0 + 5 
+0382 6fe0ca4a fetch 1 ,mem_24g_rxdata_temp_new + 5 
+0383 67e0c611 store 1 ,mem_24g_ackpayload_enable 
+0384 704a4a00 jam 0 ,mem_24g_rxdata_temp_new + 5 
+0385 d8a00923 arg mem_usb_kb_data ,contw 
+0386 d8c04a49 arg mem_24g_rxdata_temp_new + 4 ,contr 
+0387 202048ef branch dongle_g24_kb_type0 + 5 
 
 p_dongle_g24_kb_type2:
-0389 d8a00943 arg mem_usb_kb_system ,contw 
-038a d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
-038b 2020491f branch dongle_g24_kb_type2 + 2 
+0388 d8a00943 arg mem_usb_kb_system ,contw 
+0389 d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
+038a 2020491f branch dongle_g24_kb_type2 + 2 
 
 p_dongle_g24_kb_type3:
-038c d8a00933 arg mem_usb_kb_multikey ,contw 
-038d d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
-038e 20204907 branch dongle_g24_kb_type3 + 2 
+038b d8a00933 arg mem_usb_kb_multikey ,contw 
+038c d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
+038d 20204907 branch dongle_g24_kb_type3 + 2 
 
 p_dongle_ackpayload_prep:
-038f 6fe0c589 fetch 1 ,mem_24g_data_type 
-0390 c0008393 beq datatype_device1 ,p_dongle_ackpayload_prep_mouse 
-0391 c00100f0 beq datatype_device2 ,p_dongle_ackpayload_prep_keyboard 
-0392 20200393 branch p_dongle_ackpayload_prep_mouse 
+038e 6fe0c589 fetch 1 ,mem_24g_data_type 
+038f c0008392 beq datatype_device1 ,p_dongle_ackpayload_prep_mouse 
+0390 c00100f0 beq datatype_device2 ,p_dongle_ackpayload_prep_keyboard 
+0391 20200392 branch p_dongle_ackpayload_prep_mouse 
 
 p_dongle_ackpayload_prep_mouse:
-0393 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
-0394 c28000e2 bbit1 0 ,p_dongle_pc_sleep_ackpayload_prep_mouse 
-0395 20200396 branch p_dongle_ackpayload_prep_end 
+0392 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+0393 c28000e2 bbit1 0 ,p_dongle_pc_sleep_ackpayload_prep_mouse 
+0394 20200395 branch p_dongle_ackpayload_prep_end 
 
 p_dongle_ackpayload_prep_end:
-0396 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
-0397 c00080da beq bind_ackpayload ,p_dongle_g24_bind_ackpayload_prep 
-0398 c00180e9 beq kb_led_ackpayload ,p_dongle_g24_kb_led_ackpayload_prep 
-0399 c051039b beq report_id_data_out ,p_dongle_ep2_ackpayload_prep 
-039a 20600000 rtn 
+0395 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
+0396 c00080da beq bind_ackpayload ,p_dongle_g24_bind_ackpayload_prep 
+0397 c00180e9 beq kb_led_ackpayload ,p_dongle_g24_kb_led_ackpayload_prep 
+0398 c051039a beq report_id_data_out ,p_dongle_ep2_ackpayload_prep 
+0399 20600000 rtn 
 
 p_dongle_ep2_ackpayload_prep:
-039b 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
-039c 704a44a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
-039d 6fe0c865 fetch 1 ,mem_dongle_usb_ep2_data_len 
-039e 67e0c588 store 1 ,mem_24g_datalen 
-039f 1fe27200 copy pdata ,loopcnt 
-03a0 d8c04866 arg mem_dongle_g24_usb_ep2_ack_data ,contr 
-03a1 d8a04a8b arg mem_24g_txbuf_new ,contw 
-03a2 20207cda branch memcpy 
+039a 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
+039b 704a44a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
+039c 6fe0c865 fetch 1 ,mem_dongle_usb_ep2_data_len 
+039d 67e0c588 store 1 ,mem_24g_datalen 
+039e 1fe27200 copy pdata ,loopcnt 
+039f d8c04866 arg mem_dongle_g24_usb_ep2_ack_data ,contr 
+03a0 d8a04a8b arg mem_24g_txbuf_new ,contw 
+03a1 20207cda branch memcpy 
 
 p_g24_100ms_timer_event:
-03a3 d8e00006 arg usb_timer_100ms ,queue 
-03a4 20407cef call timer_check 
-03a5 247a0000 nrtn blank 
-03a6 204003aa call p_g24_http_over_pack_check 
+03a2 d8e00006 arg usb_timer_100ms ,queue 
+03a3 20407cef call timer_check 
+03a4 247a0000 nrtn blank 
+03a5 204003a9 call p_g24_http_over_pack_check 
 
 p_g24_100ms_timer_init:
-03a7 d8e00006 arg usb_timer_100ms ,queue 
-03a8 580000a0 setarg 160 
-03a9 20207ce1 branch timer_init 
+03a6 d8e00006 arg usb_timer_100ms ,queue 
+03a7 58000008 setarg 8 
+03a8 20207ce1 branch timer_init 
 
 p_g24_http_over_pack_check:
-03aa 6fe0cc22 fetch 1 ,mem_usb_in_http_end_pack_delay_flag 
-03ab 207a0000 rtn blank 
-03ac 6fe0cc23 fetch 1 ,mem_usb_in_http_end_pack_count 
-03ad 1fe0fe01 pincrease 1 
-03ae 67e0cc23 store 1 ,mem_usb_in_http_end_pack_count 
-03af c1808000 rtnne 1 
-03b0 704c2300 jam 0 ,mem_usb_in_http_end_pack_count 
-03b1 704c2200 jam 0 ,mem_usb_in_http_end_pack_delay_flag 
-03b2 704c2101 jam 1 ,mem_usb_in_http_end_pack_flag 
-03b3 704c1f01 jam 1 ,mem_usb_http_data_flag 
-03b4 704c200b jam 11 ,mem_usb_http_data_step 
-03b5 20600000 rtn 
+03a9 6fe0cc1f fetch 1 ,mem_usb_http_data_step 
+03aa 207a0000 rtn blank 
+03ab 202002e8 branch p_dongle_usb_tx_http_data 
 
 p_usb_tx_data_ep1:
-03b6 6ff08c25 fetch 1 ,core_usb_txbusy 
-03b7 1fe17e0f and_into 0x0f ,pdata 
-03b8 247a0000 nrtn blank 
-03b9 6fe0cc1f fetch 1 ,mem_usb_http_data_flag 
-03ba 243a03bc nbranch p_usb_tx_http_data ,blank 
-03bb 20207bf0 branch usb_tx_data_ep1 + 2 
-
-p_usb_tx_http_data:
-03bc 6fe0890b fetch 1 ,mem_usb_ep1_data 
-03bd 207a0000 rtn blank 
-03be c00883c0 beq usb_ep1_kb_http ,p_usb_tx_http_data_set 
-03bf 2020235a branch assert 
+03ac 6ff08c25 fetch 1 ,core_usb_txbusy 
+03ad 1fe17e0f and_into 0x0f ,pdata 
+03ae 247a0000 nrtn blank 
+03af 6fe0890d fetch 1 ,mem_usb_tx_enable 
+03b0 c4008000 rtnbit0 1 
+03b1 6fe0890d fetch 1 ,mem_usb_tx_enable 
+03b2 793ffe01 set0 1 ,pdata 
+03b3 67e0890d store 1 ,mem_usb_tx_enable 
+03b4 6fe0890b fetch 1 ,mem_usb_ep1_data 
+03b5 207a0000 rtn blank 
+03b6 c0087c28 beq usb_ep1_kb ,usb_tx_kb_normal_data 
+03b7 c00883b9 beq usb_ep1_kb_http ,p_usb_tx_http_data_set 
+03b8 2020235a branch assert 
 
 p_usb_tx_http_data_set:
-03c0 6fe0cc20 fetch 1 ,mem_usb_http_data_step 
-03c1 1fe0fe01 increase 1 ,pdata 
-03c2 67e0cc20 store 1 ,mem_usb_http_data_step 
-03c3 6fe0cc20 fetch 1 ,mem_usb_http_data_step 
-03c4 c00083d1 beq 1 ,p_usb_tx_http_step1 
-03c5 c00103de beq 2 ,p_usb_tx_http_realse 
-03c6 c00203d4 beq 4 ,p_usb_tx_http_step2 
-03c7 c00283de beq 5 ,p_usb_tx_http_realse 
-03c8 c00303d6 beq 6 ,p_usb_tx_http_step3 
-03c9 c00383de beq 7 ,p_usb_tx_http_realse 
-03ca c00403d8 beq 8 ,p_usb_tx_http_step4 
-03cb c00483de beq 9 ,p_usb_tx_http_realse 
-03cc c00503da beq 10 ,p_usb_tx_http_step5 
-03cd c00583de beq 11 ,p_usb_tx_http_realse 
-03ce c00603dc beq 12 ,p_usb_tx_http_step6 
-03cf c00683e0 beq 13 ,p_usb_tx_http_end 
-03d0 20600000 rtn 
+03b9 6fe0cc1f fetch 1 ,mem_usb_http_data_step 
+03ba 1fe0fe01 increase 1 ,pdata 
+03bb 67e0cc1f store 1 ,mem_usb_http_data_step 
+03bc 6fe0cc1f fetch 1 ,mem_usb_http_data_step 
+03bd c00083cb beq 1 ,p_usb_tx_http_step1 
+03be c00103da beq 2 ,p_usb_tx_http_realse 
+03bf c00b03ce beq 22 ,p_usb_tx_http_step2 
+03c0 c00b83da beq 23 ,p_usb_tx_http_realse 
+03c1 c00c03d0 beq 24 ,p_usb_tx_http_step3 
+03c2 c00c83da beq 25 ,p_usb_tx_http_realse 
+03c3 c00d03d2 beq 26 ,p_usb_tx_http_step4 
+03c4 c00d83da beq 27 ,p_usb_tx_http_realse 
+03c5 c00e03d4 beq 28 ,p_usb_tx_http_step5 
+03c6 c00e83da beq 29 ,p_usb_tx_http_realse 
+03c7 c00f03d6 beq 30 ,p_usb_tx_http_step6 
+03c8 c00f83d8 beq 31 ,p_usb_tx_http_step7 
+03c9 c01003dc beq 32 ,p_usb_tx_http_end 
+03ca 20600000 rtn 
 
 p_usb_tx_http_step1:
-03d1 d8c04c24 arg mem_usb_http_step1_data ,contr 
+03cb d8c04c20 arg mem_usb_http_step1_data ,contr 
 
 p_usb_tx_ep1_set:
-03d2 df200008 arg 8 ,loopcnt 
-03d3 20207bcf branch usb_tx_ep1 
+03cc df200008 arg 8 ,loopcnt 
+03cd 20207bcf branch usb_tx_ep1 
 
 p_usb_tx_http_step2:
-03d4 d8c04c2c arg mem_usb_http_step2_data ,contr 
-03d5 202003d2 branch p_usb_tx_ep1_set 
+03ce d8c04c28 arg mem_usb_http_step2_data ,contr 
+03cf 202003cc branch p_usb_tx_ep1_set 
 
 p_usb_tx_http_step3:
-03d6 d8c04c34 arg mem_usb_http_step3_data ,contr 
-03d7 202003d2 branch p_usb_tx_ep1_set 
+03d0 d8c04c30 arg mem_usb_http_step3_data ,contr 
+03d1 202003cc branch p_usb_tx_ep1_set 
 
 p_usb_tx_http_step4:
-03d8 d8c04c3c arg mem_usb_http_step4_data ,contr 
-03d9 202003d2 branch p_usb_tx_ep1_set 
+03d2 d8c04c38 arg mem_usb_http_step4_data ,contr 
+03d3 202003cc branch p_usb_tx_ep1_set 
 
 p_usb_tx_http_step5:
-03da d8c04c44 arg mem_usb_http_step5_data ,contr 
-03db 202003d2 branch p_usb_tx_ep1_set 
+03d4 d8c04c40 arg mem_usb_http_step5_data ,contr 
+03d5 202003cc branch p_usb_tx_ep1_set 
 
 p_usb_tx_http_step6:
-03dc d8c04c4c arg mem_usb_http_step6_data ,contr 
-03dd 202003d2 branch p_usb_tx_ep1_set 
+03d6 d8c04c48 arg mem_usb_http_step6_data ,contr 
+03d7 202003cc branch p_usb_tx_ep1_set 
+
+p_usb_tx_http_step7:
+03d8 d8c04c50 arg mem_usb_http_step7_data ,contr 
+03d9 202003cc branch p_usb_tx_ep1_set 
 
 p_usb_tx_http_realse:
-03de d8c04c54 arg mem_usb_http_step_empty_data ,contr 
-03df 202003d2 branch p_usb_tx_ep1_set 
+03da d8c04c58 arg mem_usb_http_step_empty_data ,contr 
+03db 202003cc branch p_usb_tx_ep1_set 
 
 p_usb_tx_http_end:
-03e0 704c2201 jam 1 ,mem_usb_in_http_end_pack_delay_flag 
-03e1 704c2000 jam 0 ,mem_usb_http_data_step 
-03e2 704c1f00 jam 0 ,mem_usb_http_data_flag 
-03e3 204003de call p_usb_tx_http_realse 
-03e4 6fe0cc21 fetch 1 ,mem_usb_in_http_end_pack_flag 
-03e5 207a0000 rtn blank 
-03e6 704c2100 jam 0 ,mem_usb_in_http_end_pack_flag 
-03e7 704c2200 jam 0 ,mem_usb_in_http_end_pack_delay_flag 
-03e8 20600000 rtn 
+03dc 704c1f00 jam 0 ,mem_usb_http_data_step 
+03dd 202003da branch p_usb_tx_http_realse 
 
 p_usb_tx_data_ep2:
-03e9 da204c16 arg mem_usb_ep2_fifo ,rega 
-03ea 20407da3 call fifo_is_empty 
-03eb 207a0000 rtn blank 
-03ec 6ff08c25 fetch 1 ,core_usb_txbusy 
-03ed 1fe17e0f and_into 0x0f ,pdata 
-03ee 247a0000 nrtn blank 
-03ef da204c16 arg mem_usb_ep2_fifo ,rega 
-03f0 20407d97 call fifo_out 
-03f1 207a0000 rtn blank 
-03f2 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
-03f3 c0130402 beq usb_ep2_authca ,p_usb_tx_authca_data 
-03f4 c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
-03f5 c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
-03f6 c012040d beq usb_ep2_audio ,p_usb_tx_audio_data 
-03f7 c0118418 beq usb_ep2_protocol ,p_usb_tx_protocol_data 
-03f8 c01383fa beq usb_ep2_mskb_state ,p_usb_tx_rf_state_data 
-03f9 2020235a branch assert 
+03de da204c16 arg mem_usb_ep2_fifo ,rega 
+03df 20407da3 call fifo_is_empty 
+03e0 207a0000 rtn blank 
+03e1 6ff08c25 fetch 1 ,core_usb_txbusy 
+03e2 1fe17e0f and_into 0x0f ,pdata 
+03e3 247a0000 nrtn blank 
+03e4 da204c16 arg mem_usb_ep2_fifo ,rega 
+03e5 20407d97 call fifo_out 
+03e6 207a0000 rtn blank 
+03e7 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
+03e8 c01303f7 beq usb_ep2_authca ,p_usb_tx_authca_data 
+03e9 c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
+03ea c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
+03eb c0120402 beq usb_ep2_audio ,p_usb_tx_audio_data 
+03ec c011840d beq usb_ep2_protocol ,p_usb_tx_protocol_data 
+03ed c01383ef beq usb_ep2_mskb_state ,p_usb_tx_rf_state_data 
+03ee 2020235a branch assert 
 
 p_usb_tx_rf_state_data:
-03fa 6f20cbd4 fetchr loopcnt ,1 ,mem_usb_rf_state_data 
-03fb d8c04bd5 arg mem_usb_rf_state_data + 1 ,contr 
-03fc d8e00002 arg 2 ,queue 
-03fd da200759 arg mem_usb_txbuf2 ,rega 
-03fe 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-03ff 20407bd2 call usb_tx_buf 
-0400 d8a04bd4 arg mem_usb_rf_state_data ,contw 
-0401 2020040b branch p_usb_release_authca_buf + 1 
+03ef 6f20cbd4 fetchr loopcnt ,1 ,mem_usb_rf_state_data 
+03f0 d8c04bd5 arg mem_usb_rf_state_data + 1 ,contr 
+03f1 d8e00002 arg 2 ,queue 
+03f2 da200759 arg mem_usb_txbuf2 ,rega 
+03f3 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+03f4 20407bd2 call usb_tx_buf 
+03f5 d8a04bd4 arg mem_usb_rf_state_data ,contw 
+03f6 20200400 branch p_usb_release_authca_buf + 1 
 
 p_usb_tx_authca_data:
-0402 70090c00 jam 0 ,mem_usb_ep2_data 
-0403 6f20c6de fetchr loopcnt ,1 ,mem_usb_authca_data 
-0404 d8c046df arg mem_usb_authca_data + 1 ,contr 
+03f7 70090c00 jam 0 ,mem_usb_ep2_data 
+03f8 6f20c6de fetchr loopcnt ,1 ,mem_usb_authca_data 
+03f9 d8c046df arg mem_usb_authca_data + 1 ,contr 
 
 p_usb_tx_authca_ep2:
+03fa d8e00002 arg 2 ,queue 
+03fb da200759 arg mem_usb_txbuf2 ,rega 
+03fc 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+03fd 20407bd2 call usb_tx_buf 
+03fe 202003ff branch p_usb_release_authca_buf 
+
+p_usb_release_authca_buf:
+03ff d8a046de arg mem_usb_authca_data ,contw 
+0400 df200040 arg 64 ,loopcnt 
+0401 20207ca1 branch clear_mem 
+
+p_usb_tx_audio_data:
+0402 70090c00 jam 0 ,mem_usb_ep2_data 
+0403 6f20c7a1 fetchr loopcnt ,1 ,mem_usb_audio_data 
+0404 d8c047a3 arg mem_usb_audio_data + 2 ,contr 
+
+p_usb_tx_audio_ep2:
 0405 d8e00002 arg 2 ,queue 
 0406 da200759 arg mem_usb_txbuf2 ,rega 
 0407 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
 0408 20407bd2 call usb_tx_buf 
-0409 2020040a branch p_usb_release_authca_buf 
+0409 2020040a branch p_usb_release_audio_buf 
 
-p_usb_release_authca_buf:
-040a d8a046de arg mem_usb_authca_data ,contw 
+p_usb_release_audio_buf:
+040a d8a047a1 arg mem_usb_audio_data ,contw 
 040b df200040 arg 64 ,loopcnt 
 040c 20207ca1 branch clear_mem 
 
-p_usb_tx_audio_data:
+p_usb_tx_protocol_data:
 040d 70090c00 jam 0 ,mem_usb_ep2_data 
-040e 6f20c7a1 fetchr loopcnt ,1 ,mem_usb_audio_data 
-040f d8c047a3 arg mem_usb_audio_data + 2 ,contr 
+040e 6f20cb11 fetchr loopcnt ,1 ,mem_usb_protocol_data 
+040f d8c04b12 arg mem_usb_protocol_data + 1 ,contr 
 
-p_usb_tx_audio_ep2:
+p_usb_tx_protocol_ep2:
 0410 d8e00002 arg 2 ,queue 
 0411 da200759 arg mem_usb_txbuf2 ,rega 
 0412 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
 0413 20407bd2 call usb_tx_buf 
-0414 20200415 branch p_usb_release_audio_buf 
-
-p_usb_release_audio_buf:
-0415 d8a047a1 arg mem_usb_audio_data ,contw 
-0416 df200040 arg 64 ,loopcnt 
-0417 20207ca1 branch clear_mem 
-
-p_usb_tx_protocol_data:
-0418 70090c00 jam 0 ,mem_usb_ep2_data 
-0419 6f20cb11 fetchr loopcnt ,1 ,mem_usb_protocol_data 
-041a d8c04b12 arg mem_usb_protocol_data + 1 ,contr 
-
-p_usb_tx_protocol_ep2:
-041b d8e00002 arg 2 ,queue 
-041c da200759 arg mem_usb_txbuf2 ,rega 
-041d 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-041e 20407bd2 call usb_tx_buf 
-041f 20200420 branch p_usb_release_protocol_buf 
+0414 20200415 branch p_usb_release_protocol_buf 
 
 p_usb_release_protocol_buf:
-0420 d8a04b11 arg mem_usb_protocol_data ,contw 
-0421 df200041 arg 65 ,loopcnt 
-0422 20207ca1 branch clear_mem 
+0415 d8a04b11 arg mem_usb_protocol_data ,contw 
+0416 df200041 arg 65 ,loopcnt 
+0417 20207ca1 branch clear_mem 
 
 p_rx_dcoc:
-0423 20758000 rtn wake 
-0424 20402160 call set_sync_on 
-0425 d8400027 arg 39 ,temp 
-0426 2040216f call set_freq_rx 
-0427 204021a6 call rf_rx_enable 
-0428 708a257f jam 0x7f ,0x8a25 
-0429 708a301a jam 0x1a ,0x8a30 
-042a 708a3178 jam 0x78 ,0x8a31 
-042b 708a8fb2 jam 0xb2 ,0x8a8f 
-042c 708ac200 jam 0 ,0x8ac2 
-042d 708ac300 jam 0 ,0x8ac3 
-042e d8e00006 arg 6 ,queue 
-042f 20400440 call p_rx_dcoc_avg 
-0430 2a2ffe0d isolate1 13 ,rega 
-0431 2040211d call qset_start 
-0432 2a4ffe0d isolate1 13 ,regb 
-0433 2040211e call qset_p 
-0434 d8e00005 arg 5 ,queue 
+0418 20758000 rtn wake 
+0419 20402160 call set_sync_on 
+041a d8400027 arg 39 ,temp 
+041b 2040216f call set_freq_rx 
+041c 204021a6 call rf_rx_enable 
+041d 708a257f jam 0x7f ,0x8a25 
+041e 708a301a jam 0x1a ,0x8a30 
+041f 708a3178 jam 0x78 ,0x8a31 
+0420 708a8fb2 jam 0xb2 ,0x8a8f 
+0421 708ac200 jam 0 ,0x8ac2 
+0422 708ac300 jam 0 ,0x8ac3 
+0423 d8e00006 arg 6 ,queue 
+0424 20400435 call p_rx_dcoc_avg 
+0425 2a2ffe0d isolate1 13 ,rega 
+0426 2040211d call qset_start 
+0427 2a4ffe0d isolate1 13 ,regb 
+0428 2040211e call qset_p 
+0429 d8e00005 arg 5 ,queue 
 
 p_rx_dcoc_loop2:
-0435 2040211c call qset1_p 
-0436 2040211e call qset_p 
-0437 20400440 call p_rx_dcoc_avg 
-0438 d8a08ac2 arg 0x8ac2 ,contw 
-0439 1a31fe00 rshift4 rega ,pdata 
-043a 20402117 call qsetxor 
-043b 1a51fe00 rshift4 regb ,pdata 
-043c 20402117 call qsetxor 
-043d 18e08fff increase -1 ,queue 
-043e 20210435 branch p_rx_dcoc_loop2 ,positive 
-043f 2020214f branch rx_dcoc_loop2 + 10 
+042a 2040211c call qset1_p 
+042b 2040211e call qset_p 
+042c 20400435 call p_rx_dcoc_avg 
+042d d8a08ac2 arg 0x8ac2 ,contw 
+042e 1a31fe00 rshift4 rega ,pdata 
+042f 20402117 call qsetxor 
+0430 1a51fe00 rshift4 regb ,pdata 
+0431 20402117 call qsetxor 
+0432 18e08fff increase -1 ,queue 
+0433 2021042a branch p_rx_dcoc_loop2 ,positive 
+0434 2020214f branch rx_dcoc_loop2 + 10 
 
 p_rx_dcoc_avg:
-0440 2000003c nop 60 
-0441 58000f00 setarg mem_dcoc_buf 
-0442 67f10982 store 2 ,0x8982 
-0443 58000ff0 setarg mem_dcoc_buf_end 
-0444 67f10984 store 2 ,0x8984 
-0445 70898109 jam 0x9 ,0x8981 
-0446 70898103 jam 0x3 ,0x8981 
-0447 70898006 jam 0x6 ,0x8980 
-0448 2000003c nop 60 
-0449 da200000 arg 0 ,rega 
-044a da400000 arg 0 ,regb 
-044b df200010 arg 16 ,loopcnt 
-044c d8c00f00 arg mem_dcoc_buf ,contr 
-044d 2020212d branch rx_dcoc_loop 
+0435 2000003c nop 60 
+0436 58000f00 setarg mem_dcoc_buf 
+0437 67f10982 store 2 ,0x8982 
+0438 58000ff0 setarg mem_dcoc_buf_end 
+0439 67f10984 store 2 ,0x8984 
+043a 70898109 jam 0x9 ,0x8981 
+043b 70898103 jam 0x3 ,0x8981 
+043c 70898006 jam 0x6 ,0x8980 
+043d 2000003c nop 60 
+043e da200000 arg 0 ,rega 
+043f da400000 arg 0 ,regb 
+0440 df200010 arg 16 ,loopcnt 
+0441 d8c00f00 arg mem_dcoc_buf ,contr 
+0442 2020212d branch rx_dcoc_loop 
 
 p_rfpll_aac_ghpc:
-044e 20758000 rtn wake 
-044f 20202272 branch rfpll_aac_ghpc + 1 
+0443 20758000 rtn wake 
+0444 20202272 branch rfpll_aac_ghpc + 1 
 
 p_dpll_ring_ibias_calc:
-0450 20600000 rtn 
+0445 20600000 rtn 
 
 p_sadc_calibration:
-0451 20758000 rtn wake 
-0452 708a0777 jam 0x77 ,core_gpadc_ctrl 
-0453 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
-0454 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-0455 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-0456 67f080cd store 1 ,core_sadc_clkdiv 
-0457 20000bb8 nop 3000 
-0458 20400479 call p_sadc_read 
-0459 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-045a 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-045b df200008 arg 8 ,loopcnt 
-045c 20406f58 call sadc_cal_read + 1 
-045d 6fe0c419 fetch 1 ,mem_spi_write_addr 
-045e 67e0c433 store 1 ,mem_adc_cal_c7 
-045f 6240c419 storer regb ,1 ,mem_spi_write_addr 
-0460 20600000 rtn 
+0446 20758000 rtn wake 
+0447 708a0777 jam 0x77 ,core_gpadc_ctrl 
+0448 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
+0449 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+044a 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+044b 67f080cd store 1 ,core_sadc_clkdiv 
+044c 20000bb8 nop 3000 
+044d 2040046e call p_sadc_read 
+044e 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+044f 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+0450 df200008 arg 8 ,loopcnt 
+0451 20406f58 call sadc_cal_read + 1 
+0452 6fe0c419 fetch 1 ,mem_spi_write_addr 
+0453 67e0c433 store 1 ,mem_adc_cal_c7 
+0454 6240c419 storer regb ,1 ,mem_spi_write_addr 
+0455 20600000 rtn 
 
 p_enable_adc:
-0461 2040046f call p_sadc_cal_write 
-0462 6ff08a09 fetch 1 ,core_gpadc_cfg1 
-0463 793ffe07 set0 7 ,pdata 
-0464 67f08a09 store 1 ,core_gpadc_cfg1 
-0465 708a0777 jam 0x77 ,core_gpadc_ctrl 
-0466 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-0467 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-0468 20406f90 call sadc_channel 
-0469 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-046a 67f080cd store 1 ,core_sadc_clkdiv 
-046b 20000bb8 nop 3000 
-046c 20400479 call p_sadc_read 
-046d 7080cd00 jam 0 ,core_sadc_clkdiv 
-046e 20206fa1 branch sadc_dma 
+0456 20400464 call p_sadc_cal_write 
+0457 6ff08a09 fetch 1 ,core_gpadc_cfg1 
+0458 793ffe07 set0 7 ,pdata 
+0459 67f08a09 store 1 ,core_gpadc_cfg1 
+045a 708a0777 jam 0x77 ,core_gpadc_ctrl 
+045b 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+045c 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+045d 20406f90 call sadc_channel 
+045e 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+045f 67f080cd store 1 ,core_sadc_clkdiv 
+0460 20000bb8 nop 3000 
+0461 2040046e call p_sadc_read 
+0462 7080cd00 jam 0 ,core_sadc_clkdiv 
+0463 20206fa1 branch sadc_dma 
 
 p_sadc_cal_write:
-046f 6ff080cc fetch 1 ,core_sadc_ctrl 
-0470 79207e01 set1 1 ,pdata 
-0471 67f080cc store 1 ,core_sadc_ctrl 
-0472 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-0473 6fe0c433 fetch 1 ,mem_adc_cal_c7 
-0474 67e0c419 store 1 ,mem_spi_write_addr 
-0475 df200008 arg 8 ,loopcnt 
-0476 20406f67 call sadc_cal_write + 4 
-0477 6240c419 storer regb ,1 ,mem_spi_write_addr 
-0478 20600000 rtn 
+0464 6ff080cc fetch 1 ,core_sadc_ctrl 
+0465 79207e01 set1 1 ,pdata 
+0466 67f080cc store 1 ,core_sadc_ctrl 
+0467 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+0468 6fe0c433 fetch 1 ,mem_adc_cal_c7 
+0469 67e0c419 store 1 ,mem_spi_write_addr 
+046a df200008 arg 8 ,loopcnt 
+046b 20406f67 call sadc_cal_write + 4 
+046c 6240c419 storer regb ,1 ,mem_spi_write_addr 
+046d 20600000 rtn 
 
 p_sadc_read:
-0479 7080cc03 jam 0x03 ,core_sadc_ctrl 
+046e 7080cc03 jam 0x03 ,core_sadc_ctrl 
 
 p_sadc_read_wait:
-047a 6ff08129 fetch 1 ,core_perf_status 
-047b c302847a bbit0 saradc_done ,p_sadc_read_wait 
-047c 68590164 fetcht 2 ,core_sadc_data 
-047d 6049440a storet 2 ,mem_adc_current_value 
-047e 7080cc00 jam 0x00 ,core_sadc_ctrl 
-047f 20600000 rtn 
+046f 6ff08129 fetch 1 ,core_perf_status 
+0470 c302846f bbit0 saradc_done ,p_sadc_read_wait 
+0471 68590164 fetcht 2 ,core_sadc_data 
+0472 6049440a storet 2 ,mem_adc_current_value 
+0473 7080cc00 jam 0x00 ,core_sadc_ctrl 
+0474 20600000 rtn 
 
 p_set_lemode:
-0480 708a8211 jam 0x11 ,0x8a82 
-0481 708a8d12 jam 0x12 ,0x8a8d 
+0475 708a8211 jam 0x11 ,0x8a82 
+0476 708a8d12 jam 0x12 ,0x8a8d 
+0477 708a8e0a jam 0x0a ,0x8a8e 
+0478 6fe0c099 fetch 1 ,mem_fcomp_div 
+0479 c008048e beq xtal_16m ,p_set_lemode_2m_16m 
+047a 58005762 setarg 0x5762 
+047b 67f10907 store 2 ,0x8907 
+
+p_set_lemode_2m:
+047c 70890103 jam 3 ,0x8901 
+047d 70893003 jam 3 ,0x8930 
+047e c6168000 rtnmark1 mark_ble_2m 
+047f 70890101 jam 1 ,0x8901 
+0480 708a8207 jam 0x07 ,0x8a82 
+0481 708a8d44 jam 0x44 ,0x8a8d 
 0482 708a8e0a jam 0x0a ,0x8a8e 
 0483 6fe0c099 fetch 1 ,mem_fcomp_div 
-0484 c0080499 beq xtal_16m ,p_set_lemode_2m_16m 
-0485 58005762 setarg 0x5762 
+0484 c008048b beq xtal_16m ,p_set_lemode_1m_16m 
+0485 58002bb1 setarg 0x2bb1 
 0486 67f10907 store 2 ,0x8907 
 
-p_set_lemode_2m:
-0487 70890103 jam 3 ,0x8901 
-0488 70893003 jam 3 ,0x8930 
-0489 c6168000 rtnmark1 mark_ble_2m 
-048a 70890101 jam 1 ,0x8901 
-048b 708a8207 jam 0x07 ,0x8a82 
-048c 708a8d44 jam 0x44 ,0x8a8d 
-048d 708a8e0a jam 0x0a ,0x8a8e 
-048e 6fe0c099 fetch 1 ,mem_fcomp_div 
-048f c0080496 beq xtal_16m ,p_set_lemode_1m_16m 
-0490 58002bb1 setarg 0x2bb1 
-0491 67f10907 store 2 ,0x8907 
-
 p_set_lemode_1m:
-0492 c6978000 rtnmark0 mark_ble_lr 
-0493 70893024 jam 0x24 ,0x8930 
-0494 70890105 jam 5 ,0x8901 
-0495 20600000 rtn 
+0487 c6978000 rtnmark0 mark_ble_lr 
+0488 70893024 jam 0x24 ,0x8930 
+0489 70890105 jam 5 ,0x8901 
+048a 20600000 rtn 
 
 p_set_lemode_1m_16m:
-0496 58004189 setarg 0x4189 
-0497 67f10907 store 2 ,0x8907 
-0498 20200492 branch p_set_lemode_1m 
+048b 58004189 setarg 0x4189 
+048c 67f10907 store 2 ,0x8907 
+048d 20200487 branch p_set_lemode_1m 
 
 p_set_lemode_2m_16m:
-0499 58008312 setarg 0x8312 
-049a 67f10907 store 2 ,0x8907 
-049b 20200487 branch p_set_lemode_2m 
+048e 58008312 setarg 0x8312 
+048f 67f10907 store 2 ,0x8907 
+0490 2020047c branch p_set_lemode_2m 
 
 p_le_parse:
-049c 6fe0c334 fetch 1 ,mem_le_packet_llid 
-049d c1000000 rtneq llid_reserved 
-049e c001b04a beq llid_le_ll ,le_parse_ll 
-049f 202028e1 branch le_parse_l2cap 
+0491 6fe0c334 fetch 1 ,mem_le_packet_llid 
+0492 c1000000 rtneq llid_reserved 
+0493 c001b04a beq llid_le_ll ,le_parse_ll 
+0494 202028e1 branch le_parse_l2cap 
 
 p_le_init_adv:
-04a0 793f8030 set0 mark_ble_crc_fail ,mark 
-04a1 20202af6 branch le_init_adv + 1 
+0495 793f8030 set0 mark_ble_crc_fail ,mark 
+0496 20202af6 branch le_init_adv + 1 
 
 p_g24_bind_data_parse_next:
-04a2 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-04a3 c0553329 beq datatype_bind ,g24_bind_first_step 
-04a4 c02ab33a beq datatype_config ,g24_bind_second_step 
-04a5 c01104b8 beq datatype_ok ,p_g24_bind_third_step 
-04a6 c07f84a8 beq datatype_attemp ,p_g24_data_attemp 
-04a7 20600000 rtn 
+0497 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+0498 c0553329 beq datatype_bind ,g24_bind_first_step 
+0499 c02ab33a beq datatype_config ,g24_bind_second_step 
+049a c01104ad beq datatype_ok ,p_g24_bind_third_step 
+049b c07f849d beq datatype_attemp ,p_g24_data_attemp 
+049c 20600000 rtn 
 
 p_g24_data_attemp:
-04a8 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-04a9 c00084ac beq datatype_device1 ,p_g24_data_attemp_device1 
-04aa c00104b2 beq datatype_device2 ,p_g24_data_attemp_device2 
-04ab 20600000 rtn 
+049d 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+049e c00084a1 beq datatype_device1 ,p_g24_data_attemp_device1 
+049f c00104a7 beq datatype_device2 ,p_g24_data_attemp_device2 
+04a0 20600000 rtn 
 
 p_g24_data_attemp_device1:
-04ac 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-04ad 247a0000 nrtn blank 
-04ae 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
-04af 67e2462c store 4 ,mem_24g_transmitter_addr 
+04a1 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+04a2 247a0000 nrtn blank 
+04a3 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
+04a4 67e2462c store 4 ,mem_24g_transmitter_addr 
 
 p_g24_store_device1_addr:
-04b0 67e24630 store 4 ,mem_24g_device1_addr 
-04b1 20600000 rtn 
+04a5 67e24630 store 4 ,mem_24g_device1_addr 
+04a6 20600000 rtn 
 
 p_g24_data_attemp_device2:
-04b2 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-04b3 247a0000 nrtn blank 
-04b4 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
-04b5 67e2462c store 4 ,mem_24g_transmitter_addr 
+04a7 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+04a8 247a0000 nrtn blank 
+04a9 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
+04aa 67e2462c store 4 ,mem_24g_transmitter_addr 
 
 p_g24_store_device2_addr:
-04b6 67e24634 store 4 ,mem_24g_device2_addr 
-04b7 20600000 rtn 
+04ab 67e24634 store 4 ,mem_24g_device2_addr 
+04ac 20600000 rtn 
 
 p_g24_bind_third_step:
-04b8 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-04b9 203a04be branch p_g24_bind_third_step_skip ,blank 
-04ba 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
-04bb 684a462c fetcht 4 ,mem_24g_transmitter_addr 
-04bc 98467c00 isub temp ,null 
-04bd 24628000 nrtn zero 
+04ad 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+04ae 203a04b3 branch p_g24_bind_third_step_skip ,blank 
+04af 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
+04b0 684a462c fetcht 4 ,mem_24g_transmitter_addr 
+04b1 98467c00 isub temp ,null 
+04b2 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-04be 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-04bf c00084c2 beq datatype_device1 ,p_g24_bind_third_step_device1 
-04c0 c00104c9 beq datatype_device2 ,p_g24_bind_third_step_device2 
-04c1 20600000 rtn 
+04b3 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+04b4 c00084b7 beq datatype_device1 ,p_g24_bind_third_step_device1 
+04b5 c00104be beq datatype_device2 ,p_g24_bind_third_step_device2 
+04b6 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-04c2 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-04c3 247a0000 nrtn blank 
-04c4 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-04c5 c00104c7 beq 2 ,p_g24_bind_dvc1_step_success 
-04c6 20600000 rtn 
+04b7 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+04b8 247a0000 nrtn blank 
+04b9 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+04ba c00104bc beq 2 ,p_g24_bind_dvc1_step_success 
+04bb 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-04c7 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-04c8 2020336b branch g24_bind_dvc1_step_success + 1 
+04bc 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+04bd 2020336b branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-04c9 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-04ca 247a0000 nrtn blank 
-04cb 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-04cc c08004ce bne 0 ,p_g24_bind_dvc2_step_success 
-04cd 20600000 rtn 
+04be 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+04bf 247a0000 nrtn blank 
+04c0 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+04c1 c08004c3 bne 0 ,p_g24_bind_dvc2_step_success 
+04c2 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-04ce 7045df01 jam 1 ,mem_24g_device2_bind_disable 
-04cf 20403393 call g24_binding_dvc2_living 
-04d0 20203378 branch g24_bind_dvc2_step_success + 1 
+04c3 7045df01 jam 1 ,mem_24g_device2_bind_disable 
+04c4 20403393 call g24_binding_dvc2_living 
+04c5 20203378 branch g24_bind_dvc2_step_success + 1 
 
 p_g24_mode_switch_bind_search:
-04d1 6fe0c616 fetch 1 ,mem_24g_work_mode 
-04d2 c1000000 rtneq dongle_work 
-04d3 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
-04d4 247a0000 nrtn blank 
-04d5 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
-04d6 247a0000 nrtn blank 
-04d7 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
-04d8 207a0000 rtn blank 
-04d9 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-04da c1800000 rtnne 0 
-04db 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-04dc c1800000 rtnne 0 
-04dd 20203436 branch g24_mode_switch_bind_search + 9 
+04c6 6fe0c616 fetch 1 ,mem_24g_work_mode 
+04c7 c1000000 rtneq dongle_work 
+04c8 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
+04c9 247a0000 nrtn blank 
+04ca 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
+04cb 247a0000 nrtn blank 
+04cc 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
+04cd 207a0000 rtn blank 
+04ce 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+04cf c1800000 rtnne 0 
+04d0 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+04d1 c1800000 rtnne 0 
+04d2 20203436 branch g24_mode_switch_bind_search + 9 
 
 p_g24_bind_mode_auto:
-04de 6fe0c616 fetch 1 ,mem_24g_work_mode 
-04df c1808000 rtnne dongle_bind 
-04e0 204004e2 call p_g24_bind_init 
-04e1 2020346d branch g24_bind_mode_auto + 4 
+04d3 6fe0c616 fetch 1 ,mem_24g_work_mode 
+04d4 c1808000 rtnne dongle_bind 
+04d5 204004d7 call p_g24_bind_init 
+04d6 2020346d branch g24_bind_mode_auto + 4 
 
 p_g24_bind_init:
-04e2 6fe0c615 fetch 1 ,mem_24g_mode_init 
-04e3 c3808000 rtnbit1 dongle_bind 
-04e4 79207e01 set1 dongle_bind ,pdata 
-04e5 67e0c615 store 1 ,mem_24g_mode_init 
-04e6 58000000 setarg 0 
-04e7 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
-04e8 20203307 branch g24_bind_init + 8 
+04d7 6fe0c615 fetch 1 ,mem_24g_mode_init 
+04d8 c3808000 rtnbit1 dongle_bind 
+04d9 79207e01 set1 dongle_bind ,pdata 
+04da 67e0c615 store 1 ,mem_24g_mode_init 
+04db 58000000 setarg 0 
+04dc 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
+04dd 20203307 branch g24_bind_init + 8 
 
 p_dongle_usb_dispatch:
-04e9 70804300 jam 0 ,0x8043 
-04ea 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
-04eb 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
-04ec 20407906 call usb_isr 
-04ed 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
-04ee 207a0000 rtn blank 
-04ef 7008f700 jam 0 ,mem_usb0_get_set_report 
-04f0 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
-04f1 d84002a4 arg pc_set_report ,temp 
-04f2 98467c00 isub temp ,null 
-04f3 20228226 branch p_dongle_usb_data_received_analysis ,zero 
-04f4 d84002a2 arg pc_set_report_prolotol ,temp 
-04f5 98467c00 isub temp ,null 
-04f6 24628000 nrtn zero 
-04f7 20200226 branch p_dongle_usb_data_received_analysis 
+04de 70804300 jam 0 ,0x8043 
+04df 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
+04e0 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
+04e1 20407906 call usb_isr 
+04e2 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
+04e3 207a0000 rtn blank 
+04e4 7008f700 jam 0 ,mem_usb0_get_set_report 
+04e5 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
+04e6 d84002a4 arg pc_set_report ,temp 
+04e7 98467c00 isub temp ,null 
+04e8 20228226 branch p_dongle_usb_data_received_analysis ,zero 
+04e9 d84002a2 arg pc_set_report_prolotol ,temp 
+04ea 98467c00 isub temp ,null 
+04eb 24628000 nrtn zero 
+04ec 20200226 branch p_dongle_usb_data_received_analysis 
 
 p_wdt_kick:
-04f8 58000010 setarg 16 
-04f9 202070c8 branch wdt_init_config 
+04ed 58000010 setarg 16 
+04ee 202070c8 branch wdt_init_config 
 
 p_dongle_default_init:
-04fa 204047c3 call dongle_default_init + 1 
-04fb 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
-04fc 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
-04fd 58000000 setarg 0 
-04fe 67e2cc1f store 5 ,mem_usb_http_data_flag 
-04ff 7045ca01 jam on ,mem_24g_disable_fec1 
-0500 20403281 call g24_enable_1m 
-0501 6fe0c669 fetch 1 ,mem_dg_sys_config 
-0502 c4000000 rtnbit0 dg_enable_new_revision 
-0503 7045ca01 jam on ,mem_24g_disable_fec1 
-0504 20203284 branch g24_enable_2m 
+04ef 204047c3 call dongle_default_init + 1 
+04f0 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
+04f1 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
+04f2 704c1f00 jam 0 ,mem_usb_http_data_step 
+04f3 7045ca01 jam on ,mem_24g_disable_fec1 
+04f4 20403281 call g24_enable_1m 
+04f5 6fe0c669 fetch 1 ,mem_dg_sys_config 
+04f6 c4000000 rtnbit0 dg_enable_new_revision 
+04f7 7045ca01 jam on ,mem_24g_disable_fec1 
+04f8 20203284 branch g24_enable_2m 
 
 p_g24_receive_skip_fec1:
-0505 7858fc00 disable user7 
-0506 280ffe2f isolate1 mark_ble_lr ,mark 
-0507 2040b16f call g24_lr_receive_pdu_len ,true 
-0508 2038b18a branch g24_lr_len_error ,user7 
-0509 2040317d call g24_receive_byte 
-050a 67e0c4f7 store 1 ,mem_24g_rxbuf 
-050b c5138510 bmark1 mark_24g_rxmode ,p_g24_receive_skip 
-050c 6fe0c4f7 fetch 1 ,mem_24g_rxbuf 
-050d 6848c589 fetcht 1 ,mem_24g_data_type 
-050e a8400e00 icompare bits_data ,temp 
-050f 2420b18c nbranch g24_type_error ,true 
+04f9 7858fc00 disable user7 
+04fa 280ffe2f isolate1 mark_ble_lr ,mark 
+04fb 2040b16f call g24_lr_receive_pdu_len ,true 
+04fc 2038b18a branch g24_lr_len_error ,user7 
+04fd 2040317d call g24_receive_byte 
+04fe 67e0c4f7 store 1 ,mem_24g_rxbuf 
+04ff c5138504 bmark1 mark_24g_rxmode ,p_g24_receive_skip 
+0500 6fe0c4f7 fetch 1 ,mem_24g_rxbuf 
+0501 6848c589 fetcht 1 ,mem_24g_data_type 
+0502 a8400e00 icompare bits_data ,temp 
+0503 2420b18c nbranch g24_type_error ,true 
 
 p_g24_receive_skip:
-0510 2040317d call g24_receive_byte 
-0511 280ffe2f isolate1 mark_ble_lr ,mark 
-0512 2040b178 call g24_lr_receive_payload_len ,true 
-0513 e7e08005 istore 1 ,contw 
-0514 1fe90400 rshift3 pdata ,temp 
-0515 2feffe00 isolate1 0 ,pdata 
-0516 2040851d call p_g24_receive_payload_len_ext ,true 
-0517 18427e00 copy temp ,pdata 
-0518 1fe67c3f sub pdata ,0x3f ,null 
-0519 2421318e nbranch g24_len_over_error ,positive 
-051a 1fe27200 copy pdata ,loopcnt 
-051b 2022b154 branch g24rx_nopayload ,zero 
-051c 20203151 branch g24rx_loop 
+0504 2040317d call g24_receive_byte 
+0505 280ffe2f isolate1 mark_ble_lr ,mark 
+0506 2040b178 call g24_lr_receive_payload_len ,true 
+0507 e7e08005 istore 1 ,contw 
+0508 1fe90400 rshift3 pdata ,temp 
+0509 2feffe00 isolate1 0 ,pdata 
+050a 20408511 call p_g24_receive_payload_len_ext ,true 
+050b 18427e00 copy temp ,pdata 
+050c 1fe67c3f sub pdata ,0x3f ,null 
+050d 2421318e nbranch g24_len_over_error ,positive 
+050e 1fe27200 copy pdata ,loopcnt 
+050f 2022b154 branch g24rx_nopayload ,zero 
+0510 20203151 branch g24rx_loop 
 
 p_g24_receive_payload_len_ext:
-051d 79200405 set1 5 ,temp 
-051e 20600000 rtn 
+0511 79200405 set1 5 ,temp 
+0512 20600000 rtn 
 
 p_g24_receive_skip_end:
-051f 6fe0c669 fetch 1 ,mem_dg_sys_config 
-0520 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
-0521 7837fc00 enable user3 
-0522 20000018 nop 24 
-0523 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-0524 79207e00 set1 bit_ack_24g ,pdata 
-0525 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
-0526 204033a5 call g24_ackpayload_prep 
-0527 204031e5 call g24_transmit_prep 
-0528 20203195 branch g24_transmit 
+0513 6fe0c669 fetch 1 ,mem_dg_sys_config 
+0514 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
+0515 7837fc00 enable user3 
+0516 20000018 nop 24 
+0517 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+0518 79207e00 set1 bit_ack_24g ,pdata 
+0519 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
+051a 204033a5 call g24_ackpayload_prep 
+051b 204031e5 call g24_transmit_prep 
+051c 20203195 branch g24_transmit 
 
 p_g24_read_len_pid_crc:
-0529 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-052a 1fe90400 rshift3 pdata ,temp 
-052b 2feffe00 isolate1 0 ,pdata 
-052c 2040851d call p_g24_receive_payload_len_ext ,true 
-052d 18427e00 copy temp ,pdata 
-052e 67e0c57d store 1 ,mem_24g_rxdata_length 
-052f 1fe0fe01 increase 1 ,pdata 
-0530 d8c044f8 arg mem_24g_rxbuf + 1 ,contr 
-0531 98c08c00 iadd contr ,contr 
-0532 efe18006 ifetch 3 ,contr 
-0533 67e1c580 store 3 ,mem_24g_sta_crc 
-0534 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-0535 1fe37e00 rshift pdata ,pdata 
-0536 1fe17e03 and pdata ,0x03 ,pdata 
-0537 67e0c586 store 1 ,mem_24g_sta_pid 
-0538 20600000 rtn 
+051d 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+051e 1fe90400 rshift3 pdata ,temp 
+051f 2feffe00 isolate1 0 ,pdata 
+0520 20408511 call p_g24_receive_payload_len_ext ,true 
+0521 18427e00 copy temp ,pdata 
+0522 67e0c57d store 1 ,mem_24g_rxdata_length 
+0523 1fe0fe01 increase 1 ,pdata 
+0524 d8c044f8 arg mem_24g_rxbuf + 1 ,contr 
+0525 98c08c00 iadd contr ,contr 
+0526 efe18006 ifetch 3 ,contr 
+0527 67e1c580 store 3 ,mem_24g_sta_crc 
+0528 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+0529 1fe37e00 rshift pdata ,pdata 
+052a 1fe17e03 and pdata ,0x03 ,pdata 
+052b 67e0c586 store 1 ,mem_24g_sta_pid 
+052c 20600000 rtn 
 
 p_g24_bind_data_process:
-0539 204033be call g24_rx_interrupt_clear 
-053a 20403119 call g24_receive_packet 
-053b 2437b3be nbranch g24_rx_interrupt_clear ,user3 
-053c 20400540 call p_g24_bind_data_parse 
-053d 20400039 call p_g24_transmit_ack 
-053e 20400556 call p_g24_bind_device_status_check 
-053f 20203316 branch g24_bind_data_process + 7 
+052d 204033be call g24_rx_interrupt_clear 
+052e 20403119 call g24_receive_packet 
+052f 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+0530 20400534 call p_g24_bind_data_parse 
+0531 20400039 call p_g24_transmit_ack 
+0532 2040054a call p_g24_bind_device_status_check 
+0533 20203316 branch g24_bind_data_process + 7 
 
 p_g24_bind_data_parse:
-0540 70462205 jam bind_mode_continue ,mem_24g_bind_mode_continue 
-0541 d8c044f7 arg mem_24g_rxbuf ,contr 
-0542 d8a04a45 arg mem_24g_rxdata_temp_new ,contw 
-0543 20407c89 call memcpy8 
-0544 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-0545 c055054a beq datatype_bind ,p_g24_bind_first_step 
-0546 c02a854c beq datatype_config ,p_g24_bind_second_step 
-0547 c01104b8 beq datatype_ok ,p_g24_bind_third_step 
-0548 c07fb59b beq datatype_attemp ,g24_data_attemp 
-0549 20600000 rtn 
+0534 70462205 jam bind_mode_continue ,mem_24g_bind_mode_continue 
+0535 d8c044f7 arg mem_24g_rxbuf ,contr 
+0536 d8a04a45 arg mem_24g_rxdata_temp_new ,contw 
+0537 20407c89 call memcpy8 
+0538 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+0539 c055053e beq datatype_bind ,p_g24_bind_first_step 
+053a c02a8540 beq datatype_config ,p_g24_bind_second_step 
+053b c01104ad beq datatype_ok ,p_g24_bind_third_step 
+053c c07fb59b beq datatype_attemp ,g24_data_attemp 
+053d 20600000 rtn 
 
 p_g24_bind_first_step:
-054a 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-054b 2020332a branch g24_bind_first_step + 1 
+053e 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+053f 2020332a branch g24_bind_first_step + 1 
 
 p_g24_bind_second_step:
-054c 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-054d 203a0552 branch p_g24_bind_second_step_skip ,blank 
-054e 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
-054f 684a44f1 fetcht 4 ,mem_24g_lap 
-0550 98467c00 isub temp ,null 
-0551 24628000 nrtn zero 
+0540 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+0541 203a0546 branch p_g24_bind_second_step_skip ,blank 
+0542 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
+0543 684a44f1 fetcht 4 ,mem_24g_lap 
+0544 98467c00 isub temp ,null 
+0545 24628000 nrtn zero 
 
 p_g24_bind_second_step_skip:
-0552 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0553 c000b344 beq datatype_device1 ,g24_bind_second_step_device1 
-0554 c0013351 beq datatype_device2 ,g24_bind_second_step_device2 
-0555 20600000 rtn 
+0546 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0547 c000b344 beq datatype_device1 ,g24_bind_second_step_device1 
+0548 c0013351 beq datatype_device2 ,g24_bind_second_step_device2 
+0549 20600000 rtn 
 
 p_g24_bind_device_status_check:
-0556 6fe0c5d5 fetch 1 ,mem_24g_bind_device_status 
-0557 207a0000 rtn blank 
+054a 6fe0c5d5 fetch 1 ,mem_24g_bind_device_status 
+054b 207a0000 rtn blank 
 
 p_g24_bind_device_status:
-0558 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0559 c000b38d beq datatype_device1 ,g24_binding_dvc1_living 
-055a c0013393 beq datatype_device2 ,g24_binding_dvc2_living 
-055b 20600000 rtn 
+054c 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+054d c000b38d beq datatype_device1 ,g24_binding_dvc1_living 
+054e c0013393 beq datatype_device2 ,g24_binding_dvc2_living 
+054f 20600000 rtn 
               org 0x2000
 
 start:
@@ -15425,6 +15413,8 @@
 
 dongle_usb_tx_enable_ep1:
 4847 70090b10 jam usb_ep1_kb ,mem_usb_ep1_data 
+
+dongle_usb_tx_ep1_enable:
 4848 6fe0890d fetch 1 ,mem_usb_tx_enable 
 4849 79207e01 set1 1 ,pdata 
 484a 67e0890d store 1 ,mem_usb_tx_enable 
Index: program/app_dongle.prog
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/program/app_dongle.prog	(revision 3370)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/program/app_dongle.prog	(working copy)
@@ -193,6 +193,7 @@
 	jam KB_NORMAL_REPORT_ID,mem_usb_kb_data
 dongle_usb_tx_enable_ep1:
 	jam USB_EP1_KB,mem_usb_ep1_data
+dongle_usb_tx_ep1_enable:
 	fetch 1,mem_usb_tx_enable
 	set1 1,pdata
 	store 1,mem_usb_tx_enable
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/program/patch.prog	(revision 3392)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/program/patch.prog	(working copy)
@@ -953,7 +953,7 @@
 	bbit1 DATATYPE_AUTHCA,p_dongle_g24_mouse_authca_data
 	bbit1 DATATYPE_HEART,p_dongle_g24_mouse_heart_data
 	bbit1 DATATYPE_PROTOCOL,p_g24_data_receive_protocol_data
-	bbit1 DATATYPE_HTTP,p_g24_data_receive_http_data
+	bbit1 DATATYPE_HTTP,p_dongle_usb_tx_http_data
 	branch p_dongle_g24_mouse_next
 
 p_dongle_24g_mouse_wheel_data_check:
@@ -962,10 +962,9 @@
 	jam 1,mem_dongle_freq_hop_flag
 	rtn
 
-p_g24_data_receive_http_data:
-	jam 1,mem_usb_http_data_flag
+p_dongle_usb_tx_http_data:
 	jam USB_EP1_KB_HTTP,mem_usb_ep1_data
-	rtn	
+	branch dongle_usb_tx_ep1_enable	
 
 p_dongle_g24_mouse_next:
 	fetch 1,mem_24g_rxdata_length
@@ -980,7 +979,7 @@
 	arg mem_24g_rxdata_temp_new+10,contr
 	call memcpy
 	fetch 1,mem_24g_rxdata_temp_new+2
-	bbit1 DATATYPE_HTTP,p_g24_data_receive_http_data
+	bbit1 DATATYPE_HTTP,p_dongle_usb_tx_http_data
 	bbit1 DATATYPE_AUTHCA,p_dongle_g24_mouse_authca_data
 	bbit1 DATATYPE_PROTOCOL,p_g24_data_receive_protocol_data
 	rtn
@@ -1208,35 +1207,26 @@
 	call p_g24_http_over_pack_check
 p_g24_100ms_timer_init:
 	arg USB_TIMER_100MS,queue
-	setarg 160
+	setarg 8		//5ms
 	branch timer_init
 
 p_g24_http_over_pack_check:
-	fetch 1,mem_usb_in_http_end_pack_delay_flag
+	fetch 1,mem_usb_http_data_step
 	rtn blank
-	fetch 1,mem_usb_in_http_end_pack_count
-	pincrease 1
-	store 1,mem_usb_in_http_end_pack_count
-	rtnne 1
-	jam 0,mem_usb_in_http_end_pack_count
-	jam 0,mem_usb_in_http_end_pack_delay_flag
-	
-	jam 1,mem_usb_in_http_end_pack_flag
-	jam 1,mem_usb_http_data_flag
-	jam 11,mem_usb_http_data_step
-	rtn
+	branch p_dongle_usb_tx_http_data
 
 p_usb_tx_data_ep1:
 	fetch 1,core_usb_txbusy
 	and_into 0x0f,pdata
 	nrtn blank
-	fetch 1,mem_usb_http_data_flag
-	nbranch p_usb_tx_http_data,blank
-	branch usb_tx_data_ep1+2
-
-p_usb_tx_http_data:
+	fetch 1,mem_usb_tx_enable
+	rtnbit0 1
+	fetch 1,mem_usb_tx_enable
+	set0 1,pdata
+	store 1,mem_usb_tx_enable
 	fetch 1,mem_usb_ep1_data
 	rtn blank
+	beq USB_EP1_KB,usb_tx_kb_normal_data
 	beq USB_EP1_KB_HTTP,p_usb_tx_http_data_set
 	branch assert
 
@@ -1248,16 +1238,17 @@
 	fetch 1,mem_usb_http_data_step
 	beq 1,p_usb_tx_http_step1			//send: win+r
 	beq 2,p_usb_tx_http_realse			//send: empty package
-	beq 4,p_usb_tx_http_step2			//send: shift+https+":"
-	beq 5,p_usb_tx_http_realse
-	beq 6,p_usb_tx_http_step3			//send: //mofi
-	beq 7,p_usb_tx_http_realse			//send: empty package
-	beq 8,p_usb_tx_http_step4			//send: i.com/
-	beq 9,p_usb_tx_http_realse
-	beq 10,p_usb_tx_http_step5		//send: ai+enter
-	beq 11,p_usb_tx_http_realse
-	beq 12,p_usb_tx_http_step6
-	beq 13,p_usb_tx_http_end
+	beq 22,p_usb_tx_http_step2		//send: shift+":"
+	beq 23,p_usb_tx_http_realse
+	beq 24,p_usb_tx_http_step3		//send: https
+	beq 25,p_usb_tx_http_realse		//send: empty package
+	beq 26,p_usb_tx_http_step4		//send: //mofi
+	beq 27,p_usb_tx_http_realse
+	beq 28,p_usb_tx_http_step5		//send: i.com/
+	beq 29,p_usb_tx_http_realse
+	beq 30,p_usb_tx_http_step6		//send: ai
+	beq 31,p_usb_tx_http_step7		//send enter
+	beq 32,p_usb_tx_http_end
 	rtn
 
 p_usb_tx_http_step1:
@@ -1286,20 +1277,17 @@
 	arg mem_usb_http_step6_data,contr
 	branch p_usb_tx_ep1_set
 
+p_usb_tx_http_step7:
+	arg mem_usb_http_step7_data,contr
+	branch p_usb_tx_ep1_set
+
 p_usb_tx_http_realse:
 	arg mem_usb_http_step_empty_data,contr
 	branch p_usb_tx_ep1_set
 
 p_usb_tx_http_end:
-	jam 1,mem_usb_in_http_end_pack_delay_flag
 	jam 0,mem_usb_http_data_step
-	jam 0,mem_usb_http_data_flag
-	call p_usb_tx_http_realse
-	fetch 1,mem_usb_in_http_end_pack_flag
-	rtn blank
-	jam 0,mem_usb_in_http_end_pack_flag
-	jam 0,mem_usb_in_http_end_pack_delay_flag
-	rtn
+	branch p_usb_tx_http_realse
 	
 
 
@@ -1661,8 +1649,7 @@
 
 	fetch 1,mem_24g_pair_tx_power_init
 	store 1,mem_24g_pair_tx_power
-	setarg 0
-	store 5,mem_usb_http_data_flag
+	jam 0,mem_usb_http_data_step
 
 	jam ON,mem_24g_disable_fec1
 	call g24_enable_1M
Index: sched/dongle.dat
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/sched/dongle.dat	(revision 3392)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/sched/dongle.dat	(working copy)
@@ -64,11 +64,12 @@
 
 
 mem_usb_http_step1_data:08 00 15 00 00 00 00 00		#win+r
-mem_usb_http_step2_data:02 00 0b 17 17 13 16 33		#shift+https+":"
-mem_usb_http_step3_data:00 00 38 38 10 12 09 0c		#//mofi
-mem_usb_http_step4_data:00 00 0c 37 06 12 10 38		#i.com/
-mem_usb_http_step5_data:00 00 04 0c 00 00 00 00		#ai
-mem_usb_http_step6_data:00 00 28 00 00 00 00 00		#enter
+mem_usb_http_step2_data:00 00 0b 17 17 13 16 00		#https
+mem_usb_http_step3_data:02 00 33 00 00 00 00 00		#shift+":"
+mem_usb_http_step4_data:00 00 38 38 10 12 09 0c		#//mofi
+mem_usb_http_step5_data:00 00 0c 37 06 12 10 38		#i.com/
+mem_usb_http_step6_data:00 00 04 0c 00 00 00 00		#ai
+mem_usb_http_step7_data:00 00 28 00 00 00 00 00		#enter
 mem_usb_http_step_empty_data:00 00 00 00 00 00 00 00
 
 mem_config_new:
