Index: output/eeprom.dat
===================================================================
--- /branch/USB/dongle/output/eeprom.dat	(revision 2352)
+++ /branch/USB/dongle/output/eeprom.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-5e
+6e
 11
 c2
 84
@@ -11,15 +11,15 @@
 c0
 42
 83
-9b
+9f
 c0
 44
 83
-76
+7a
 c0
 00
 03
-96
+9a
 c0
 47
 00
@@ -643,7 +643,7 @@
 20
 40
 02
-b7
+bb
 20
 20
 00
@@ -695,11 +695,11 @@
 20
 40
 03
-b0
+b4
 20
 40
 03
-d0
+d4
 20
 20
 01
@@ -779,7 +779,7 @@
 20
 20
 03
-d0
+d4
 70
 48
 b9
@@ -787,7 +787,7 @@
 20
 20
 03
-d0
+d4
 1c
 42
 7e
@@ -811,7 +811,7 @@
 20
 40
 03
-ab
+af
 60
 08
 c8
@@ -827,7 +827,7 @@
 20
 20
 03
-d0
+d4
 20
 40
 00
@@ -987,7 +987,7 @@
 20
 20
 03
-b0
+b4
 20
 40
 01
@@ -2003,7 +2003,7 @@
 20
 40
 03
-ea
+ee
 24
 77
 80
@@ -2043,7 +2043,7 @@
 20
 42
 82
-ba
+be
 70
 48
 a4
@@ -2291,7 +2291,7 @@
 20
 40
 03
-b0
+b4
 68
 00
 c8
@@ -2319,7 +2319,7 @@
 20
 40
 03
-a4
+a8
 60
 08
 c8
@@ -2327,7 +2327,7 @@
 20
 40
 03
-ab
+af
 60
 08
 c8
@@ -2347,7 +2347,7 @@
 20
 40
 03
-d4
+d8
 60
 08
 c8
@@ -2371,7 +2371,7 @@
 20
 40
 03
-d8
+dc
 60
 00
 c8
@@ -2395,7 +2395,7 @@
 20
 40
 03
-b0
+b4
 68
 00
 c8
@@ -2423,7 +2423,7 @@
 20
 40
 03
-a4
+a8
 60
 08
 c8
@@ -2431,7 +2431,7 @@
 20
 40
 03
-ab
+af
 60
 08
 c8
@@ -2451,7 +2451,7 @@
 20
 40
 03
-d4
+d8
 60
 08
 c8
@@ -2475,7 +2475,7 @@
 20
 40
 03
-d8
+dc
 60
 00
 c8
@@ -2495,7 +2495,7 @@
 20
 40
 03
-b0
+b4
 68
 00
 c8
@@ -2523,7 +2523,7 @@
 20
 40
 03
-a4
+a8
 60
 08
 c8
@@ -2531,7 +2531,7 @@
 20
 40
 03
-ab
+af
 60
 08
 c8
@@ -2551,7 +2551,7 @@
 20
 40
 03
-d4
+d8
 60
 08
 c8
@@ -2663,15 +2663,15 @@
 20
 40
 03
-be
+c2
 20
 40
 04
-34
+38
 20
 20
 04
-2c
+30
 70
 48
 36
@@ -2691,17 +2691,21 @@
 c0
 01
 02
-a7
+a8
 c0
 01
 82
-b1
+b2
 20
 60
 00
 00
 70
 48
+b8
+01
+70
+48
 36
 08
 df
@@ -2760,6 +2764,18 @@
 60
 00
 00
+68
+00
+c7
+b2
+c0
+00
+82
+a2
+c0
+7f
+82
+a2
 70
 0d
 43
@@ -2795,11 +2811,11 @@
 20
 20
 02
-ba
+be
 20
 40
 02
-cb
+cf
 24
 34
 01
@@ -2851,15 +2867,15 @@
 c0
 00
 82
-d9
+dd
 c0
 01
 02
-f8
+fc
 c0
 7f
 83
-4c
+50
 20
 20
 01
@@ -2947,7 +2963,7 @@
 c0
 00
 83
-54
+58
 68
 00
 c8
@@ -2975,7 +2991,7 @@
 c0
 67
 83
-58
+5c
 58
 00
 00
@@ -2999,7 +3015,7 @@
 24
 5a
 02
-f0
+f4
 68
 00
 c8
@@ -3007,7 +3023,7 @@
 20
 5a
 02
-f4
+f8
 20
 20
 31
@@ -3055,7 +3071,7 @@
 20
 20
 83
-56
+5a
 68
 00
 c8
@@ -3063,15 +3079,15 @@
 c0
 00
 03
-00
+04
 c0
 01
 03
-35
+39
 c0
 01
 83
-1c
+20
 20
 20
 01
@@ -3095,7 +3111,7 @@
 20
 40
 03
-11
+15
 68
 04
 0d
@@ -3103,7 +3119,7 @@
 24
 5a
 03
-14
+18
 68
 04
 0d
@@ -3111,7 +3127,7 @@
 20
 5a
 03
-18
+1c
 68
 04
 0d
@@ -3195,7 +3211,7 @@
 20
 40
 03
-2a
+2e
 68
 01
 0d
@@ -3203,7 +3219,7 @@
 24
 5a
 03
-2d
+31
 68
 01
 0d
@@ -3211,7 +3227,7 @@
 20
 5a
 03
-31
+35
 68
 01
 8d
@@ -3295,7 +3311,7 @@
 20
 40
 03
-3f
+43
 68
 01
 13
@@ -3315,7 +3331,7 @@
 24
 42
 83
-4a
+4e
 68
 01
 13
@@ -3387,11 +3403,11 @@
 c0
 00
 83
-50
+54
 c0
 01
 03
-52
+56
 20
 60
 00
@@ -3443,7 +3459,7 @@
 20
 22
 83
-5d
+61
 20
 60
 00
@@ -3455,7 +3471,7 @@
 c0
 61
 03
-6a
+6e
 68
 00
 c9
@@ -3495,7 +3511,7 @@
 c0
 61
 03
-6a
+6e
 20
 60
 00
@@ -3523,11 +3539,11 @@
 c0
 2a
 83
-72
+76
 c0
 55
 03
-74
+78
 20
 60
 00
@@ -3615,11 +3631,11 @@
 c0
 02
 03
-8f
+93
 20
 20
 03
-88
+8c
 70
 89
 4b
@@ -3723,7 +3739,7 @@
 20
 40
 03
-a4
+a8
 60
 08
 c8
@@ -3807,7 +3823,7 @@
 c2
 00
 03
-b4
+b8
 1a
 22
 7e
@@ -3915,7 +3931,7 @@
 20
 40
 03
-d4
+d8
 60
 08
 c8
@@ -3927,7 +3943,7 @@
 20
 40
 03
-d8
+dc
 18
 40
 84
@@ -4051,7 +4067,7 @@
 20
 40
 03
-e1
+e5
 78
 57
 fc
@@ -4087,7 +4103,7 @@
 24
 2c
 04
-2f
+33
 78
 46
 fc
@@ -4127,7 +4143,7 @@
 24
 22
 84
-2c
+30
 09
 80
 00
@@ -4151,7 +4167,7 @@
 20
 22
 84
-11
+15
 68
 00
 c7
@@ -4167,7 +4183,7 @@
 24
 20
 84
-2c
+30
 09
 80
 00
@@ -4191,7 +4207,7 @@
 20
 22
 84
-1b
+1f
 09
 80
 00
@@ -4207,7 +4223,7 @@
 c2
 00
 04
-17
+1b
 09
 80
 00
@@ -4243,7 +4259,7 @@
 20
 23
 04
-2c
+30
 78
 37
 fc
@@ -4291,11 +4307,11 @@
 20
 40
 03
-9d
+a1
 20
 20
 04
-2c
+30
 20
 40
 29
@@ -4323,11 +4339,11 @@
 20
 40
 03
-e1
+e5
 20
 40
 04
-31
+35
 79
 20
 2a
@@ -4407,7 +4423,7 @@
 c2
 00
 04
-4a
+4e
 68
 00
 c8
@@ -4448,8 +4464,8 @@
 60
 00
 00
-03
-3a
+f0
+5b
 aa
 55
 01
@@ -5019,24 +5035,8 @@
 42
 00
 84
-bc
-af
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+5f
+c7
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-d2
-17
+45
+5d
Index: output/program.lis
===================================================================
--- /branch/USB/dongle/output/program.lis	(revision 2352)
+++ /branch/USB/dongle/output/program.lis	(working copy)
@@ -1,9 +1,9 @@
-include "bt_format "
-org 0x0000
+              include "bt_format "
+              org 0x0000
 0000 c284000a bbit1 8 ,pf_patch_ext 
-0001 c042839b beq patch10_5 ,p_shutdown_radio 
-0002 c0448376 beq patch11_1 ,p_set_freq_tx 
-0003 c0000396 beq patch00_0 ,p_soft_reset 
+0001 c042839f beq patch10_5 ,p_shutdown_radio 
+0002 c044837a beq patch11_1 ,p_set_freq_tx 
+0003 c000039a beq patch00_0 ,p_soft_reset 
 0004 c047000b beq patch11_6 ,p_save_rssi 
 0005 c0620073 beq patch18_4 ,p_app_init 
 0006 c07b8012 beq patch1e_7 ,p_usb_init 
@@ -217,7 +217,7 @@
 p_g24_dongle_work_mode_start:
 009d 204000a1 call p_g24_dongle_work_init 
 009e 204000af call p_g24_ch_process 
-009f 204002b7 call p_g24_receive_packet_start 
+009f 204002bb call p_g24_receive_packet_start 
 00a0 202000ce branch p_g24_blank_data_process 
 
 p_g24_dongle_work_init:
@@ -232,8 +232,8 @@
 00a9 7048b001 jam 1 ,mem_24g_abort_packet 
 00aa 70483500 jam 0 ,mem_24g_pid 
 00ab 6802489f fetch 4 ,mem_24g_rx_addr 
-00ac 204003b0 call p_g24_update_addr_and_synccrc8 
-00ad 204003d0 call p_g24_ch 
+00ac 204003b4 call p_g24_update_addr_and_synccrc8 
+00ad 204003d4 call p_g24_ch 
 00ae 20200102 branch p_g24_rx_interrupt_clear 
 
 p_g24_ch_process:
@@ -255,11 +255,11 @@
 00be 793ffe1c set0 28 ,pdata 
 00bf 600248b2 store 4 ,mem_24g_hop_btclk 
 00c0 7048b001 jam 1 ,mem_24g_abort_packet 
-00c1 202003d0 branch p_g24_ch 
+00c1 202003d4 branch p_g24_ch 
 
 p_g24_ch_receive_hop_pac:
 00c2 7048b900 jam 0 ,mem_24g_hop_packet 
-00c3 202003d0 branch p_g24_ch 
+00c3 202003d4 branch p_g24_ch 
 
 p_g24_ch_timer_reinit:
 00c4 1c427e00 copy clkn_bt ,pdata 
@@ -269,11 +269,11 @@
 
 p_g24_noise_rssi:
 00c8 da200d9e arg mem_rssi_noise_buffer ,rega 
-00c9 204003ab call p_rssi_average 
+00c9 204003af call p_rssi_average 
 00ca 6008c8ef storet 1 ,mem_rssi_noise_avg 
 00cb 18467c50 sub temp ,rssi_thresh_noise ,null 
 00cc 24610000 nrtn positive 
-00cd 202003d0 branch p_g24_ch 
+00cd 202003d4 branch p_g24_ch 
 
 p_g24_blank_data_process:
 00ce 204000d1 call p_g24_ms_blank_data 
@@ -325,7 +325,7 @@
 00f2 70483500 jam 0 ,mem_24g_pid 
 00f3 7048404e jam g24_pair_ch ,mem_24g_ch 
 00f4 68024842 fetch 4 ,mem_24g_paring_addr 
-00f5 202003b0 branch p_g24_update_addr_and_synccrc8 
+00f5 202003b4 branch p_g24_update_addr_and_synccrc8 
 
 p_g24_dongle_bind_data_process:
 00f6 204001f2 call p_g24_receive_transmit_ack 
@@ -697,7 +697,7 @@
 
 p_g24_receive_transmit_ack:
 01f2 20400102 call p_g24_rx_interrupt_clear 
-01f3 204003ea call p_g24_receive_packet 
+01f3 204003ee call p_g24_receive_packet 
 01f4 24778000 nrtn user3 
 01f5 20200291 branch p_g24_transmit_ack 
 
@@ -709,7 +709,7 @@
 01fa 204001f2 call p_g24_receive_transmit_ack 
 01fb 24378102 nbranch p_g24_rx_interrupt_clear ,user3 
 01fc 2040022b call p_g24_rx_addr_check 
-01fd 204282ba call p_g24_receive_packet_parse ,zero 
+01fd 204282be call p_g24_receive_packet_parse ,zero 
 01fe 7048a400 jam dongle_work ,mem_dongle_work_mode 
 01ff 6800c8a3 fetch 1 ,mem_dongle_mode_init 
 0200 79207e00 set1 dongle_work ,pdata 
@@ -789,21 +789,21 @@
 0238 2040010a call p_g24_dongle_bind_ms_payload_cfg 
 0239 680248da fetch 4 ,mem_24g_ms_addr 
 023a 203a022f branch p_g24_rx_auto_addr_ch_search ,blank 
-023b 204003b0 call p_g24_update_addr_and_synccrc8 
+023b 204003b4 call p_g24_update_addr_and_synccrc8 
 023c 6800c8e6 fetch 1 ,mem_24g_ms_config_ch_once 
 023d 205a024d call p_g24_ms_config_ch_once ,blank 
 023e 6800c8e4 fetch 1 ,mem_24g_ms_last_ch 
 023f 6000c840 store 1 ,mem_24g_ch 
 0240 6808c8f7 fetcht 1 ,mem_rssi_noise_ms_index 
 0241 da200f9e arg mem_rssi_noise_ms_buffer ,rega 
-0242 204003a4 call p_rssi_store 
+0242 204003a8 call p_rssi_store 
 0243 6008c8f7 storet 1 ,mem_rssi_noise_ms_index 
-0244 204003ab call p_rssi_average 
+0244 204003af call p_rssi_average 
 0245 6008c8f4 storet 1 ,mem_rssi_noise_ms_avg 
 0246 18467c50 sub temp ,rssi_thresh_noise ,null 
 0247 24610000 nrtn positive 
 0248 6808c8e5 fetcht 1 ,mem_24g_ms_ch_number 
-0249 204003d4 call p_g24_ch_map_size 
+0249 204003d8 call p_g24_ch_map_size 
 024a 6008c8e5 storet 1 ,mem_24g_ms_ch_number 
 024b 6000c8e4 store 1 ,mem_24g_ms_last_ch 
 024c 20600000 rtn 
@@ -811,7 +811,7 @@
 p_g24_ms_config_ch_once:
 024d 7048e601 jam 1 ,mem_24g_ms_config_ch_once 
 024e d8400000 arg 0 ,temp 
-024f 204003d8 call p_g24_ch_calc 
+024f 204003dc call p_g24_ch_calc 
 0250 6000c8e4 store 1 ,mem_24g_ms_last_ch 
 0251 20600000 rtn 
 
@@ -819,21 +819,21 @@
 0252 20400110 call p_g24_dongle_bind_kb_payload_cfg 
 0253 680248d6 fetch 4 ,mem_24g_kb_addr 
 0254 203a022f branch p_g24_rx_auto_addr_ch_search ,blank 
-0255 204003b0 call p_g24_update_addr_and_synccrc8 
+0255 204003b4 call p_g24_update_addr_and_synccrc8 
 0256 6800c8e3 fetch 1 ,mem_24g_kb_config_ch_once 
 0257 205a0267 call p_g24_kb_config_ch_once ,blank 
 0258 6800c8e1 fetch 1 ,mem_24g_kb_last_ch 
 0259 6000c840 store 1 ,mem_24g_ch 
 025a 6808c8f6 fetcht 1 ,mem_rssi_noise_kb_index 
 025b da20109e arg mem_rssi_noise_kb_buffer ,rega 
-025c 204003a4 call p_rssi_store 
+025c 204003a8 call p_rssi_store 
 025d 6008c8f6 storet 1 ,mem_rssi_noise_kb_index 
-025e 204003ab call p_rssi_average 
+025e 204003af call p_rssi_average 
 025f 6008c8f3 storet 1 ,mem_rssi_noise_kb_avg 
 0260 18467c50 sub temp ,rssi_thresh_noise ,null 
 0261 24610000 nrtn positive 
 0262 6808c8e2 fetcht 1 ,mem_24g_kb_ch_number 
-0263 204003d4 call p_g24_ch_map_size 
+0263 204003d8 call p_g24_ch_map_size 
 0264 6008c8e2 storet 1 ,mem_24g_kb_ch_number 
 0265 6000c8e1 store 1 ,mem_24g_kb_last_ch 
 0266 20600000 rtn 
@@ -841,28 +841,28 @@
 p_g24_kb_config_ch_once:
 0267 7048e301 jam 1 ,mem_24g_kb_config_ch_once 
 0268 d8400000 arg 0 ,temp 
-0269 204003d8 call p_g24_ch_calc 
+0269 204003dc call p_g24_ch_calc 
 026a 6000c8e1 store 1 ,mem_24g_kb_last_ch 
 026b 20600000 rtn 
 
 p_g24_rx_auto_bind_config_dongle:
 026c 2040010a call p_g24_dongle_bind_ms_payload_cfg 
 026d 6802489f fetch 4 ,mem_24g_rx_addr 
-026e 204003b0 call p_g24_update_addr_and_synccrc8 
+026e 204003b4 call p_g24_update_addr_and_synccrc8 
 026f 6800c8e0 fetch 1 ,mem_24g_dg_config_ch_once 
 0270 205a0280 call p_g24_dg_config_ch_once ,blank 
 0271 6800c8de fetch 1 ,mem_24g_dg_last_ch 
 0272 6000c840 store 1 ,mem_24g_ch 
 0273 6808c8f5 fetcht 1 ,mem_rssi_noise_dg_index 
 0274 da200e9e arg mem_rssi_noise_dg_buffer ,rega 
-0275 204003a4 call p_rssi_store 
+0275 204003a8 call p_rssi_store 
 0276 6008c8f5 storet 1 ,mem_rssi_noise_dg_index 
-0277 204003ab call p_rssi_average 
+0277 204003af call p_rssi_average 
 0278 6008c8f2 storet 1 ,mem_rssi_noise_dg_avg 
 0279 18467c50 sub temp ,rssi_thresh_noise ,null 
 027a 24610000 nrtn positive 
 027b 6808c8df fetcht 1 ,mem_24g_dg_ch_number 
-027c 204003d4 call p_g24_ch_map_size 
+027c 204003d8 call p_g24_ch_map_size 
 027d 6008c8df storet 1 ,mem_24g_dg_ch_number 
 027e 6000c8de store 1 ,mem_24g_dg_last_ch 
 027f 20600000 rtn 
@@ -898,578 +898,582 @@
 
 p_g24tx_with_ack:
 0297 2040029b call p_g24_ackpayload_prep 
-0298 204003be call p_g24_transmit_prep 
-0299 20400434 call p_g24_transmit 
+0298 204003c2 call p_g24_transmit_prep 
+0299 20400438 call p_g24_transmit 
 
 p_g24tx_no_ack:
-029a 2020042c branch p_g24_end_of_packet 
+029a 20200430 branch p_g24_end_of_packet 
 
 p_g24_ackpayload_prep:
 029b 70483600 jam 0 ,mem_24g_datalen 
 029c 6800c8b8 fetch 1 ,mem_24g_ackpayload_enable 
 029d 207a0000 rtn blank 
 029e c00082a2 beq bind_ackpayload ,p_g24_bind_ackpayload_prep 
-029f c00102a7 beq user_ackpayload ,p_g24_user_ackpayload_prep 
-02a0 c00182b1 beq kb_led_ackpayload ,p_g24_kb_led_ackpayload_prep 
+029f c00102a8 beq user_ackpayload ,p_g24_user_ackpayload_prep 
+02a0 c00182b2 beq kb_led_ackpayload ,p_g24_kb_led_ackpayload_prep 
 02a1 20600000 rtn 
 
 p_g24_bind_ackpayload_prep:
-02a2 70483608 jam 0x08 ,mem_24g_datalen 
-02a3 df200008 arg 0x08 ,loopcnt 
-02a4 d8c048a8 arg mem_24g_bind_payload ,contr 
-02a5 d8a047d2 arg mem_24g_txbuf ,contw 
-02a6 20207f01 branch memcpy 
+02a2 7048b801 jam 1 ,mem_24g_ackpayload_enable 
+02a3 70483608 jam 0x08 ,mem_24g_datalen 
+02a4 df200008 arg 0x08 ,loopcnt 
+02a5 d8c048a8 arg mem_24g_bind_payload ,contr 
+02a6 d8a047d2 arg mem_24g_txbuf ,contw 
+02a7 20207f01 branch memcpy 
 
 p_g24_user_ackpayload_prep:
-02a7 2040015e call p_g24_queue_read_point 
-02a8 24740000 nrtn user 
-02a9 7048361f jam 0x1f ,mem_24g_datalen 
-02aa df20001f arg 0x1f ,loopcnt 
-02ab 1fe20c00 copy pdata ,contr 
-02ac d8a047d2 arg mem_24g_txbuf ,contw 
-02ad 20407f01 call memcpy 
-02ae 680147d5 fetch 2 ,mem_24g_txbuf + 3 
-02af 600148eb store 2 ,mem_24g_ota_sta_pid 
-02b0 20600000 rtn 
+02a8 2040015e call p_g24_queue_read_point 
+02a9 24740000 nrtn user 
+02aa 7048361f jam 0x1f ,mem_24g_datalen 
+02ab df20001f arg 0x1f ,loopcnt 
+02ac 1fe20c00 copy pdata ,contr 
+02ad d8a047d2 arg mem_24g_txbuf ,contw 
+02ae 20407f01 call memcpy 
+02af 680147d5 fetch 2 ,mem_24g_txbuf + 3 
+02b0 600148eb store 2 ,mem_24g_ota_sta_pid 
+02b1 20600000 rtn 
 
 p_g24_kb_led_ackpayload_prep:
-02b1 700d4300 jam 0 ,mem_usb_tx_win_enable 
-02b2 70483601 jam 0x01 ,mem_24g_datalen 
-02b3 df200001 arg 0x01 ,loopcnt 
-02b4 d8c04978 arg mem_24g_led_status ,contr 
-02b5 d8a047d2 arg mem_24g_txbuf ,contw 
-02b6 20207f01 branch memcpy 
+02b2 6800c7b2 fetch 1 ,mem_24g_rxbuf + 2 
+02b3 c00082a2 beq 0x01 ,p_g24_bind_ackpayload_prep 
+02b4 c07f82a2 beq 0xff ,p_g24_bind_ackpayload_prep 
+02b5 700d4300 jam 0 ,mem_usb_tx_win_enable 
+02b6 70483601 jam 0x01 ,mem_24g_datalen 
+02b7 df200001 arg 0x01 ,loopcnt 
+02b8 d8c04978 arg mem_24g_led_status ,contr 
+02b9 d8a047d2 arg mem_24g_txbuf ,contw 
+02ba 20207f01 branch memcpy 
 
 p_g24_receive_packet_start:
-02b7 204001f2 call p_g24_receive_transmit_ack 
-02b8 24378102 nbranch p_g24_rx_interrupt_clear ,user3 
-02b9 202002ba branch p_g24_receive_packet_parse 
+02bb 204001f2 call p_g24_receive_transmit_ack 
+02bc 24378102 nbranch p_g24_rx_interrupt_clear ,user3 
+02bd 202002be branch p_g24_receive_packet_parse 
 
 p_g24_receive_packet_parse:
-02ba 204002cb call p_g24_receive_packet_parse_pid_crc 
-02bb 24340102 nbranch p_g24_rx_interrupt_clear ,user 
-02bc 6800c834 fetch 1 ,mem_24g_rxdata_length 
-02bd 203a0102 branch p_g24_rx_interrupt_clear ,blank 
-02be 1fe0fe02 increase 2 ,pdata 
-02bf 98007200 iforce loopcnt 
-02c0 d8c047b0 arg mem_24g_rxbuf ,contr 
-02c1 d8a0487d arg mem_24g_rxdata_temp ,contw 
-02c2 20407f01 call memcpy 
-02c3 7048b700 jam 0 ,mem_24g_mode_switch 
-02c4 6800c8ba fetch 1 ,mem_24g_pair_mode 
-02c5 205a01e3 call p_g24_enable_nodata_timer ,blank 
-02c6 6800c87f fetch 1 ,mem_24g_rxdata_temp + 2 
-02c7 c00082d9 beq 0x01 ,p_g24_data_type1 
-02c8 c00102f8 beq 0x02 ,p_g24_data_type2 
-02c9 c07f834c beq 0xff ,p_g24_data_attemp 
-02ca 20200102 branch p_g24_rx_interrupt_clear 
+02be 204002cf call p_g24_receive_packet_parse_pid_crc 
+02bf 24340102 nbranch p_g24_rx_interrupt_clear ,user 
+02c0 6800c834 fetch 1 ,mem_24g_rxdata_length 
+02c1 203a0102 branch p_g24_rx_interrupt_clear ,blank 
+02c2 1fe0fe02 increase 2 ,pdata 
+02c3 98007200 iforce loopcnt 
+02c4 d8c047b0 arg mem_24g_rxbuf ,contr 
+02c5 d8a0487d arg mem_24g_rxdata_temp ,contw 
+02c6 20407f01 call memcpy 
+02c7 7048b700 jam 0 ,mem_24g_mode_switch 
+02c8 6800c8ba fetch 1 ,mem_24g_pair_mode 
+02c9 205a01e3 call p_g24_enable_nodata_timer ,blank 
+02ca 6800c87f fetch 1 ,mem_24g_rxdata_temp + 2 
+02cb c00082dd beq 0x01 ,p_g24_data_type1 
+02cc c00102fc beq 0x02 ,p_g24_data_type2 
+02cd c07f8350 beq 0xff ,p_g24_data_attemp 
+02ce 20200102 branch p_g24_rx_interrupt_clear 
 
 p_g24_receive_packet_parse_pid_crc:
-02cb 20407fe9 call disable_user 
-02cc 6800c879 fetch 1 ,mem_24g_sta_pid 
-02cd 6808c87a fetcht 1 ,mem_24g_last_pid 
-02ce 98467c00 isub temp ,null 
-02cf 2442ffe7 ncall enable_user ,zero 
+02cf 20407fe9 call disable_user 
 02d0 6800c879 fetch 1 ,mem_24g_sta_pid 
-02d1 6000c87a store 1 ,mem_24g_last_pid 
-02d2 6801c873 fetch 3 ,mem_24g_sta_crc 
-02d3 6809c876 fetcht 3 ,mem_24g_last_crc 
-02d4 98467c00 isub temp ,null 
-02d5 2442ffe7 ncall enable_user ,zero 
+02d1 6808c87a fetcht 1 ,mem_24g_last_pid 
+02d2 98467c00 isub temp ,null 
+02d3 2442ffe7 ncall enable_user ,zero 
+02d4 6800c879 fetch 1 ,mem_24g_sta_pid 
+02d5 6000c87a store 1 ,mem_24g_last_pid 
 02d6 6801c873 fetch 3 ,mem_24g_sta_crc 
-02d7 6001c876 store 3 ,mem_24g_last_crc 
-02d8 20600000 rtn 
+02d7 6809c876 fetcht 3 ,mem_24g_last_crc 
+02d8 98467c00 isub temp ,null 
+02d9 2442ffe7 ncall enable_user ,zero 
+02da 6801c873 fetch 3 ,mem_24g_sta_crc 
+02db 6001c876 store 3 ,mem_24g_last_crc 
+02dc 20600000 rtn 
 
 p_g24_data_type1:
-02d9 204000c4 call p_g24_ch_timer_reinit 
-02da 6800c8b0 fetch 1 ,mem_24g_abort_packet 
-02db 6808c87d fetcht 1 ,mem_24g_rxdata_temp 
-02dc 284ffe03 isolate1 bit_abort ,temp 
-02dd 7920fe00 setflag true ,0 ,pdata 
-02de 6000c8b0 store 1 ,mem_24g_abort_packet 
-02df c0008354 beq 1 ,p_g24_data_attemp_mouse_abort 
-02e0 6800c8b9 fetch 1 ,mem_24g_hop_packet 
-02e1 6808c87d fetcht 1 ,mem_24g_rxdata_temp 
-02e2 284ffe04 isolate1 bit_hop ,temp 
-02e3 7920fe00 setflag true ,0 ,pdata 
-02e4 6000c8b9 store 1 ,mem_24g_hop_packet 
-02e5 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-02e6 c0678358 beq cmd_ota ,p_g24_ota_process 
-02e7 58000001 setarg ms_report_id 
-02e8 60008d54 store 1 ,mem_usb_mouse_data 
-02e9 6803c880 fetch 7 ,mem_24g_rxdata_temp + 3 
-02ea e0a38000 istore 7 ,contw 
-02eb 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-02ec 245a02f0 ncall p_g24_ms_enable_blank_data_forcibly ,blank 
-02ed 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-02ee 205a02f4 call p_g24_ms_disable_blank_data_forcibly ,blank 
-02ef 202031b8 branch g24_data_type1_usbtx_enable 
+02dd 204000c4 call p_g24_ch_timer_reinit 
+02de 6800c8b0 fetch 1 ,mem_24g_abort_packet 
+02df 6808c87d fetcht 1 ,mem_24g_rxdata_temp 
+02e0 284ffe03 isolate1 bit_abort ,temp 
+02e1 7920fe00 setflag true ,0 ,pdata 
+02e2 6000c8b0 store 1 ,mem_24g_abort_packet 
+02e3 c0008358 beq 1 ,p_g24_data_attemp_mouse_abort 
+02e4 6800c8b9 fetch 1 ,mem_24g_hop_packet 
+02e5 6808c87d fetcht 1 ,mem_24g_rxdata_temp 
+02e6 284ffe04 isolate1 bit_hop ,temp 
+02e7 7920fe00 setflag true ,0 ,pdata 
+02e8 6000c8b9 store 1 ,mem_24g_hop_packet 
+02e9 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+02ea c067835c beq cmd_ota ,p_g24_ota_process 
+02eb 58000001 setarg ms_report_id 
+02ec 60008d54 store 1 ,mem_usb_mouse_data 
+02ed 6803c880 fetch 7 ,mem_24g_rxdata_temp + 3 
+02ee e0a38000 istore 7 ,contw 
+02ef 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+02f0 245a02f4 ncall p_g24_ms_enable_blank_data_forcibly ,blank 
+02f1 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+02f2 205a02f8 call p_g24_ms_disable_blank_data_forcibly ,blank 
+02f3 202031b8 branch g24_data_type1_usbtx_enable 
 
 p_g24_ms_enable_blank_data_forcibly:
-02f0 7048d501 jam 1 ,mem_24g_ms_blank_data_enable 
-02f1 58000180 setarg timer_new_ms_blank_delay 
-02f2 d8e0000b arg timer_new_ms_blank ,queue 
-02f3 20207f08 branch timer_init 
-
-p_g24_ms_disable_blank_data_forcibly:
-02f4 7048d500 jam 0 ,mem_24g_ms_blank_data_enable 
-02f5 58000000 setarg 0 
+02f4 7048d501 jam 1 ,mem_24g_ms_blank_data_enable 
+02f5 58000180 setarg timer_new_ms_blank_delay 
 02f6 d8e0000b arg timer_new_ms_blank ,queue 
 02f7 20207f08 branch timer_init 
 
+p_g24_ms_disable_blank_data_forcibly:
+02f8 7048d500 jam 0 ,mem_24g_ms_blank_data_enable 
+02f9 58000000 setarg 0 
+02fa d8e0000b arg timer_new_ms_blank ,queue 
+02fb 20207f08 branch timer_init 
+
 p_g24_data_type2:
-02f8 6808c87d fetcht 1 ,mem_24g_rxdata_temp 
-02f9 284ffe03 isolate1 bit_abort ,temp 
-02fa 20208356 branch p_g24_data_attemp_kbd_abort ,true 
-02fb 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-02fc c0000300 beq 0 ,p_g24_data_type2_data1 
-02fd c0010335 beq 2 ,p_g24_data_type2_data3 
-02fe c001831c beq 3 ,p_g24_data_type2_data2 
-02ff 20200102 branch p_g24_rx_interrupt_clear 
+02fc 6808c87d fetcht 1 ,mem_24g_rxdata_temp 
+02fd 284ffe03 isolate1 bit_abort ,temp 
+02fe 2020835a branch p_g24_data_attemp_kbd_abort ,true 
+02ff 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+0300 c0000304 beq 0 ,p_g24_data_type2_data1 
+0301 c0010339 beq 2 ,p_g24_data_type2_data3 
+0302 c0018320 beq 3 ,p_g24_data_type2_data2 
+0303 20200102 branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_data1:
-0300 6800c882 fetch 1 ,mem_24g_rxdata_temp + 5 
-0301 6000c8b8 store 1 ,mem_24g_ackpayload_enable 
-0302 70488200 jam 0 ,mem_24g_rxdata_temp + 5 
-0303 d8a00d64 arg mem_usb_kb_data ,contw 
-0304 20400311 call p_g24_data_type2_copy_data1 
-0305 68040d64 fetch 8 ,mem_usb_kb_data 
-0306 245a0314 ncall p_g24_kb_enable_blank_data_forcibly ,blank 
-0307 68040d64 fetch 8 ,mem_usb_kb_data 
-0308 205a0318 call p_g24_kb_disable_blank_data_forcibly ,blank 
+0304 6800c882 fetch 1 ,mem_24g_rxdata_temp + 5 
+0305 6000c8b8 store 1 ,mem_24g_ackpayload_enable 
+0306 70488200 jam 0 ,mem_24g_rxdata_temp + 5 
+0307 d8a00d64 arg mem_usb_kb_data ,contw 
+0308 20400315 call p_g24_data_type2_copy_data1 
 0309 68040d64 fetch 8 ,mem_usb_kb_data 
-030a 600448bd store 8 ,mem_24g_kb_data_sta_data 
-030b 680c48c5 fetcht 8 ,mem_24g_kb_data_last_data 
-030c 98467c00 isub temp ,null 
-030d 2442b1ed ncall g24_kb_data_into_ep1_fifo ,zero 
-030e 680448bd fetch 8 ,mem_24g_kb_data_sta_data 
-030f 600448c5 store 8 ,mem_24g_kb_data_last_data 
-0310 20200102 branch p_g24_rx_interrupt_clear 
+030a 245a0318 ncall p_g24_kb_enable_blank_data_forcibly ,blank 
+030b 68040d64 fetch 8 ,mem_usb_kb_data 
+030c 205a031c call p_g24_kb_disable_blank_data_forcibly ,blank 
+030d 68040d64 fetch 8 ,mem_usb_kb_data 
+030e 600448bd store 8 ,mem_24g_kb_data_sta_data 
+030f 680c48c5 fetcht 8 ,mem_24g_kb_data_last_data 
+0310 98467c00 isub temp ,null 
+0311 2442b1ed ncall g24_kb_data_into_ep1_fifo ,zero 
+0312 680448bd fetch 8 ,mem_24g_kb_data_sta_data 
+0313 600448c5 store 8 ,mem_24g_kb_data_last_data 
+0314 20200102 branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_copy_data1:
-0311 d8c04881 arg mem_24g_rxdata_temp + 4 ,contr 
-0312 df200008 arg 8 ,loopcnt 
-0313 20207f01 branch memcpy 
+0315 d8c04881 arg mem_24g_rxdata_temp + 4 ,contr 
+0316 df200008 arg 8 ,loopcnt 
+0317 20207f01 branch memcpy 
 
 p_g24_kb_enable_blank_data_forcibly:
-0314 7048d301 jam 1 ,mem_24g_kb_blank_data_enable 
-0315 58000180 setarg timer_new_kb_blank_delay 
-0316 d8e0000e arg timer_new_kb_blank ,queue 
-0317 20207f08 branch timer_init 
-
-p_g24_kb_disable_blank_data_forcibly:
-0318 7048d300 jam 0 ,mem_24g_kb_blank_data_enable 
-0319 58000000 setarg 0 
+0318 7048d301 jam 1 ,mem_24g_kb_blank_data_enable 
+0319 58000180 setarg timer_new_kb_blank_delay 
 031a d8e0000e arg timer_new_kb_blank ,queue 
 031b 20207f08 branch timer_init 
 
+p_g24_kb_disable_blank_data_forcibly:
+031c 7048d300 jam 0 ,mem_24g_kb_blank_data_enable 
+031d 58000000 setarg 0 
+031e d8e0000e arg timer_new_kb_blank ,queue 
+031f 20207f08 branch timer_init 
+
 p_g24_data_type2_data2:
-031c d8a00d74 arg mem_usb_kb_multikey ,contw 
-031d 2040032a call p_g24_data_type2_copy_data2 
-031e 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
-031f 245a032d ncall p_g24_kb_mul_enable_blank_data_forcibly ,blank 
-0320 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
-0321 205a0331 call p_g24_kb_mul_disable_blank_data_forcibly ,blank 
-0322 68018d74 fetch 3 ,mem_usb_kb_multikey 
-0323 6001c8cd store 3 ,mem_24g_kb_multikey_sta_data 
-0324 6809c8d0 fetcht 3 ,mem_24g_kb_multikey_last_data 
-0325 98467c00 isub temp ,null 
-0326 2442b207 ncall g24_kb_mul_data_into_ep2_fifo ,zero 
-0327 6801c8cd fetch 3 ,mem_24g_kb_multikey_sta_data 
-0328 6001c8d0 store 3 ,mem_24g_kb_multikey_last_data 
-0329 20200102 branch p_g24_rx_interrupt_clear 
+0320 d8a00d74 arg mem_usb_kb_multikey ,contw 
+0321 2040032e call p_g24_data_type2_copy_data2 
+0322 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
+0323 245a0331 ncall p_g24_kb_mul_enable_blank_data_forcibly ,blank 
+0324 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
+0325 205a0335 call p_g24_kb_mul_disable_blank_data_forcibly ,blank 
+0326 68018d74 fetch 3 ,mem_usb_kb_multikey 
+0327 6001c8cd store 3 ,mem_24g_kb_multikey_sta_data 
+0328 6809c8d0 fetcht 3 ,mem_24g_kb_multikey_last_data 
+0329 98467c00 isub temp ,null 
+032a 2442b207 ncall g24_kb_mul_data_into_ep2_fifo ,zero 
+032b 6801c8cd fetch 3 ,mem_24g_kb_multikey_sta_data 
+032c 6001c8d0 store 3 ,mem_24g_kb_multikey_last_data 
+032d 20200102 branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_copy_data2:
-032a d8c04880 arg mem_24g_rxdata_temp + 3 ,contr 
-032b df200003 arg 3 ,loopcnt 
-032c 20207f01 branch memcpy 
+032e d8c04880 arg mem_24g_rxdata_temp + 3 ,contr 
+032f df200003 arg 3 ,loopcnt 
+0330 20207f01 branch memcpy 
 
 p_g24_kb_mul_enable_blank_data_forcibly:
-032d 7048d401 jam 1 ,mem_24g_kb_mul_blank_data_enable 
-032e 58000180 setarg timer_new_kb_mul_blank_delay 
-032f d8e0000c arg timer_new_kb_mul_blank ,queue 
-0330 20207f08 branch timer_init 
-
-p_g24_kb_mul_disable_blank_data_forcibly:
-0331 7048d400 jam 0 ,mem_24g_kb_mul_blank_data_enable 
-0332 58000000 setarg 0 
+0331 7048d401 jam 1 ,mem_24g_kb_mul_blank_data_enable 
+0332 58000180 setarg timer_new_kb_mul_blank_delay 
 0333 d8e0000c arg timer_new_kb_mul_blank ,queue 
 0334 20207f08 branch timer_init 
 
+p_g24_kb_mul_disable_blank_data_forcibly:
+0335 7048d400 jam 0 ,mem_24g_kb_mul_blank_data_enable 
+0336 58000000 setarg 0 
+0337 d8e0000c arg timer_new_kb_mul_blank ,queue 
+0338 20207f08 branch timer_init 
+
 p_g24_data_type2_data3:
-0335 d8a013bc arg mem_usb_kb_system ,contw 
-0336 2040033f call p_g24_data_type2_copy_data3 
-0337 680113bc fetch 2 ,mem_usb_kb_system 
-0338 600113cc store 2 ,mem_usb_kb_system_sta_data 
-0339 680913cf fetcht 2 ,mem_usb_kb_system_last_data 
-033a 98467c00 isub temp ,null 
-033b 2442834a ncall p_g24_kb_sys_data_into_ep2_fifo ,zero 
-033c 680113cc fetch 2 ,mem_usb_kb_system_sta_data 
-033d 600113cf store 2 ,mem_usb_kb_system_last_data 
-033e 20200102 branch p_g24_rx_interrupt_clear 
+0339 d8a013bc arg mem_usb_kb_system ,contw 
+033a 20400343 call p_g24_data_type2_copy_data3 
+033b 680113bc fetch 2 ,mem_usb_kb_system 
+033c 600113cc store 2 ,mem_usb_kb_system_sta_data 
+033d 680913cf fetcht 2 ,mem_usb_kb_system_last_data 
+033e 98467c00 isub temp ,null 
+033f 2442834e ncall p_g24_kb_sys_data_into_ep2_fifo ,zero 
+0340 680113cc fetch 2 ,mem_usb_kb_system_sta_data 
+0341 600113cf store 2 ,mem_usb_kb_system_last_data 
+0342 20200102 branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_copy_data3:
-033f d8c04880 arg mem_24g_rxdata_temp + 3 ,contr 
-0340 df200002 arg 2 ,loopcnt 
-0341 20207f01 branch memcpy 
+0343 d8c04880 arg mem_24g_rxdata_temp + 3 ,contr 
+0344 df200002 arg 2 ,loopcnt 
+0345 20207f01 branch memcpy 
 
 p_g24_kb_sys_enable_blank_data_forcibly:
-0342 7048d401 jam 1 ,mem_24g_kb_mul_blank_data_enable 
-0343 58000180 setarg timer_new_kb_mul_blank_delay 
-0344 d8e0000c arg timer_new_kb_mul_blank ,queue 
-0345 20207f08 branch timer_init 
-
-p_g24_kb_sys_disable_blank_data_forcibly:
-0346 7048d400 jam 0 ,mem_24g_kb_mul_blank_data_enable 
-0347 58000000 setarg 0 
+0346 7048d401 jam 1 ,mem_24g_kb_mul_blank_data_enable 
+0347 58000180 setarg timer_new_kb_mul_blank_delay 
 0348 d8e0000c arg timer_new_kb_mul_blank ,queue 
 0349 20207f08 branch timer_init 
 
+p_g24_kb_sys_disable_blank_data_forcibly:
+034a 7048d400 jam 0 ,mem_24g_kb_mul_blank_data_enable 
+034b 58000000 setarg 0 
+034c d8e0000c arg timer_new_kb_mul_blank ,queue 
+034d 20207f08 branch timer_init 
+
 p_g24_kb_sys_data_into_ep2_fifo:
-034a 700d5222 jam usb_ep2_systemkey ,mem_usb_ep2_data 
-034b 202031b9 branch g24_data_type1_usbtx_enable_ep2 
+034e 700d5222 jam usb_ep2_systemkey ,mem_usb_ep2_data 
+034f 202031b9 branch g24_data_type1_usbtx_enable_ep2 
 
 p_g24_data_attemp:
-034c 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-034d c0008350 beq datatype_mouse ,p_g24_data_attemp_mouse 
-034e c0010352 beq datatype_keyboard ,p_g24_data_attemp_kbd 
-034f 20600000 rtn 
+0350 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+0351 c0008354 beq datatype_mouse ,p_g24_data_attemp_mouse 
+0352 c0010356 beq datatype_keyboard ,p_g24_data_attemp_kbd 
+0353 20600000 rtn 
 
 p_g24_data_attemp_mouse:
-0350 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
-0351 20200141 branch p_g24_store_mouse_addr 
+0354 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
+0355 20200141 branch p_g24_store_mouse_addr 
 
 p_g24_data_attemp_kbd:
-0352 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
-0353 20200144 branch p_g24_store_kbd_addr 
+0356 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
+0357 20200144 branch p_g24_store_kbd_addr 
 
 p_g24_data_attemp_mouse_abort:
-0354 68024887 fetch 4 ,mem_24g_rxdata_temp + 10 
-0355 20200141 branch p_g24_store_mouse_addr 
+0358 68024887 fetch 4 ,mem_24g_rxdata_temp + 10 
+0359 20200141 branch p_g24_store_mouse_addr 
 
 p_g24_data_attemp_kbd_abort:
-0356 68024887 fetch 4 ,mem_24g_rxdata_temp + 10 
-0357 20200144 branch p_g24_store_kbd_addr 
+035a 68024887 fetch 4 ,mem_24g_rxdata_temp + 10 
+035b 20200144 branch p_g24_store_kbd_addr 
 
 p_g24_ota_process:
-0358 68014882 fetch 2 ,mem_24g_rxdata_temp + 5 
-0359 680948eb fetcht 2 ,mem_24g_ota_sta_pid 
-035a 98467c00 isub temp ,null 
-035b 2022835d branch p_g24_ota_next_pac ,zero 
-035c 20600000 rtn 
+035c 68014882 fetch 2 ,mem_24g_rxdata_temp + 5 
+035d 680948eb fetcht 2 ,mem_24g_ota_sta_pid 
+035e 98467c00 isub temp ,null 
+035f 20228361 branch p_g24_ota_next_pac ,zero 
+0360 20600000 rtn 
 
 p_g24_ota_next_pac:
-035d 6800c881 fetch 1 ,mem_24g_rxdata_temp + 4 
-035e c061036a beq cmd_ota_exit ,p_g24_ota_exit_process 
-035f 6800c900 fetch 1 ,mem_queue_ele_num 
-0360 207a0000 rtn blank 
-0361 58004901 setarg mem_queue_read 
-0362 20400155 call p_g24_queue_increase 
+0361 6800c881 fetch 1 ,mem_24g_rxdata_temp + 4 
+0362 c061036e beq cmd_ota_exit ,p_g24_ota_exit_process 
 0363 6800c900 fetch 1 ,mem_queue_ele_num 
-0364 1fe0ffff increase -1 ,pdata 
-0365 6000c900 store 1 ,mem_queue_ele_num 
-0366 6800c881 fetch 1 ,mem_24g_rxdata_temp + 4 
-0367 c0608196 beq cmd_ota_data ,p_user_defined_queue_buff_free 
-0368 c061036a beq cmd_ota_exit ,p_g24_ota_exit_process 
-0369 20600000 rtn 
+0364 207a0000 rtn blank 
+0365 58004901 setarg mem_queue_read 
+0366 20400155 call p_g24_queue_increase 
+0367 6800c900 fetch 1 ,mem_queue_ele_num 
+0368 1fe0ffff increase -1 ,pdata 
+0369 6000c900 store 1 ,mem_queue_ele_num 
+036a 6800c881 fetch 1 ,mem_24g_rxdata_temp + 4 
+036b c0608196 beq cmd_ota_data ,p_user_defined_queue_buff_free 
+036c c061036e beq cmd_ota_exit ,p_g24_ota_exit_process 
+036d 20600000 rtn 
 
 p_g24_ota_exit_process:
-036a 58000000 setarg 0 
-036b 600148eb store 2 ,mem_24g_ota_sta_pid 
-036c 6000c8b8 store 1 ,mem_24g_ackpayload_enable 
-036d 20400146 call p_g24_queue_init 
-036e 6800c884 fetch 1 ,mem_24g_rxdata_temp + 7 
-036f c02a8372 beq ota_sta_success ,p_g24_ota_exit_success 
-0370 c0550374 beq ota_sta_fail ,p_g24_ota_exit_fail 
-0371 20600000 rtn 
+036e 58000000 setarg 0 
+036f 600148eb store 2 ,mem_24g_ota_sta_pid 
+0370 6000c8b8 store 1 ,mem_24g_ackpayload_enable 
+0371 20400146 call p_g24_queue_init 
+0372 6800c884 fetch 1 ,mem_24g_rxdata_temp + 7 
+0373 c02a8376 beq ota_sta_success ,p_g24_ota_exit_success 
+0374 c0550378 beq ota_sta_fail ,p_g24_ota_exit_fail 
+0375 20600000 rtn 
 
 p_g24_ota_exit_success:
-0372 700cf702 jam 2 ,mem_usb0_get_report_data + 1 
-0373 2020303f branch usb0_data_ready_report_set1 
+0376 700cf702 jam 2 ,mem_usb0_get_report_data + 1 
+0377 2020303f branch usb0_data_ready_report_set1 
 
 p_g24_ota_exit_fail:
-0374 700cf703 jam 3 ,mem_usb0_get_report_data + 1 
-0375 2020303f branch usb0_data_ready_report_set1 
+0378 700cf703 jam 3 ,mem_usb0_get_report_data + 1 
+0379 2020303f branch usb0_data_ready_report_set1 
 
 p_set_freq_tx:
-0376 60088017 storet 1 ,mem_last_freq 
-0377 1840a200 add temp ,0 ,rega 
-0378 20402981 call rf_write_freq 
-0379 58000500 setarg param_pll_setup 
-037a 20402a8f call sleep 
+037a 60088017 storet 1 ,mem_last_freq 
+037b 1840a200 add temp ,0 ,rega 
+037c 20402981 call rf_write_freq 
+037d 58000500 setarg param_pll_setup 
+037e 20402a8f call sleep 
 
 p_rf_tx_enable:
-037b 70890601 jam 0x1 ,rfen_adc 
-037c 7089003c jam 0x3c ,rfen_rx 
-037d 708901e0 jam 0xe0 ,rfen_tx 
-037e 2000000a nop 10 
-037f 70890201 jam 0x01 ,rfen_mdm 
-0380 7089023d jam 0x3d ,rfen_mdm 
-0381 2000000a nop 10 
-0382 708903b7 jam 0xb7 ,rfen_sn 
-0383 2000000a nop 10 
-0384 7089027d jam 0x7d ,rfen_mdm 
-0385 6800c1de fetch 1 ,mem_tx_power 
-0386 c002038f beq tx_power_f5db ,p_set_tx_power_f5db 
-0387 20200388 branch p_set_tx_power_5db 
+037f 70890601 jam 0x1 ,rfen_adc 
+0380 7089003c jam 0x3c ,rfen_rx 
+0381 708901e0 jam 0xe0 ,rfen_tx 
+0382 2000000a nop 10 
+0383 70890201 jam 0x01 ,rfen_mdm 
+0384 7089023d jam 0x3d ,rfen_mdm 
+0385 2000000a nop 10 
+0386 708903b7 jam 0xb7 ,rfen_sn 
+0387 2000000a nop 10 
+0388 7089027d jam 0x7d ,rfen_mdm 
+0389 6800c1de fetch 1 ,mem_tx_power 
+038a c0020393 beq tx_power_f5db ,p_set_tx_power_f5db 
+038b 2020038c branch p_set_tx_power_5db 
 
 p_set_tx_power_5db:
-0388 70894bba jam 0xba ,0x894b 
-0389 708955d0 jam 0xd0 ,0x8955 
-038a 708956e0 jam 0xe0 ,0x8956 
-038b 70895788 jam 0x88 ,0x8957 
-038c 7089583c jam 0x3c ,0x8958 
-038d 70895910 jam 0x10 ,0x8959 
-038e 20202953 branch set_tx_power_5db 
+038c 70894bba jam 0xba ,0x894b 
+038d 708955d0 jam 0xd0 ,0x8955 
+038e 708956e0 jam 0xe0 ,0x8956 
+038f 70895788 jam 0x88 ,0x8957 
+0390 7089583c jam 0x3c ,0x8958 
+0391 70895910 jam 0x10 ,0x8959 
+0392 20202953 branch set_tx_power_5db 
 
 p_set_tx_power_f5db:
-038f 70894bba jam 0xba ,0x894b 
-0390 708955d0 jam 0xd0 ,0x8955 
-0391 708956c0 jam 0xc0 ,0x8956 
-0392 70895788 jam 0x88 ,0x8957 
-0393 7089586c jam 0x6c ,0x8958 
-0394 70895910 jam 0x10 ,0x8959 
-0395 2020295b branch set_tx_power_f5db 
+0393 70894bba jam 0xba ,0x894b 
+0394 708955d0 jam 0xd0 ,0x8955 
+0395 708956c0 jam 0xc0 ,0x8956 
+0396 70895788 jam 0x88 ,0x8957 
+0397 7089586c jam 0x6c ,0x8958 
+0398 70895910 jam 0x10 ,0x8959 
+0399 2020295b branch set_tx_power_f5db 
 
 p_soft_reset:
-0396 20800000 clear_stack 
-0397 68108043 hfetch 1 ,core_config 
-0398 79207e03 set1 watchdog_bit ,pdata 
-0399 60108043 hstore 1 ,core_config 
-039a 20202003 branch soft_reset + 2 
+039a 20800000 clear_stack 
+039b 68108043 hfetch 1 ,core_config 
+039c 79207e03 set1 watchdog_bit ,pdata 
+039d 60108043 hstore 1 ,core_config 
+039e 20202003 branch soft_reset + 2 
 
 p_shutdown_radio:
-039b 18002a08 force 8 ,radio_ctrl 
-039c 202028fa branch shutdown_radio + 1 
+039f 18002a08 force 8 ,radio_ctrl 
+03a0 202028fa branch shutdown_radio + 1 
 
 p_rssi_noise:
-039d 204029bb call save_rssi 
-039e 207a0000 rtn blank 
-039f 6808c8f0 fetcht 1 ,mem_rssi_noise_index 
-03a0 da200d9e arg mem_rssi_noise_buffer ,rega 
-03a1 204003a4 call p_rssi_store 
-03a2 6008c8f0 storet 1 ,mem_rssi_noise_index 
-03a3 20600000 rtn 
+03a1 204029bb call save_rssi 
+03a2 207a0000 rtn blank 
+03a3 6808c8f0 fetcht 1 ,mem_rssi_noise_index 
+03a4 da200d9e arg mem_rssi_noise_buffer ,rega 
+03a5 204003a8 call p_rssi_store 
+03a6 6008c8f0 storet 1 ,mem_rssi_noise_index 
+03a7 20600000 rtn 
 
 p_rssi_store:
-03a4 1a227e00 copy rega ,pdata 
-03a5 98408a00 iadd temp ,contw 
-03a6 68008018 fetch 1 ,mem_rssi 
-03a7 e0a08000 istore 1 ,contw 
-03a8 18408401 increase 1 ,temp 
-03a9 184104ff and_into rssi_buf_len_noise ,temp 
-03aa 20600000 rtn 
+03a8 1a227e00 copy rega ,pdata 
+03a9 98408a00 iadd temp ,contw 
+03aa 68008018 fetch 1 ,mem_rssi 
+03ab e0a08000 istore 1 ,contw 
+03ac 18408401 increase 1 ,temp 
+03ad 184104ff and_into rssi_buf_len_noise ,temp 
+03ae 20600000 rtn 
 
 p_rssi_average:
-03ab d8400000 arg 0 ,temp 
-03ac df200100 arg rssi_buf_len_noise + 1 ,loopcnt 
-03ad 1a220c00 copy rega ,contr 
-03ae 20202e64 branch rssi_average_loop 
-03af 20600000 rtn 
+03af d8400000 arg 0 ,temp 
+03b0 df200100 arg rssi_buf_len_noise + 1 ,loopcnt 
+03b1 1a220c00 copy rega ,contr 
+03b2 20202e64 branch rssi_average_loop 
+03b3 20600000 rtn 
 
 p_g24_update_addr_and_synccrc8:
-03b0 6002485e store 4 ,mem_24g_addr 
+03b4 6002485e store 4 ,mem_24g_addr 
 
 p_g24_syncword_crc8:
-03b1 da200000 arg 0 ,rega 
-03b2 df200004 arg 4 ,loopcnt 
-03b3 d8c0485e arg mem_24g_addr ,contr 
+03b5 da200000 arg 0 ,rega 
+03b6 df200004 arg 4 ,loopcnt 
+03b7 d8c0485e arg mem_24g_addr ,contr 
 
 p_g24_syncword_crc8_loop:
-03b4 e8c08000 ifetch 1 ,contr 
-03b5 9a20a200 iadd rega ,rega 
-03b6 c20003b4 loop p_g24_syncword_crc8_loop 
-03b7 1a227e00 copy rega ,pdata 
-03b8 600148e7 store 2 ,mem_24g_syncword 
-03b9 6800c8e7 fetch 1 ,mem_24g_syncword 
-03ba 6808c8e8 fetcht 1 ,mem_24g_syncword + 1 
-03bb 9840fe00 iadd temp ,pdata 
-03bc 6000c8e9 store 1 ,mem_24g_syncword_crc8 
-03bd 20600000 rtn 
+03b8 e8c08000 ifetch 1 ,contr 
+03b9 9a20a200 iadd rega ,rega 
+03ba c20003b8 loop p_g24_syncword_crc8_loop 
+03bb 1a227e00 copy rega ,pdata 
+03bc 600148e7 store 2 ,mem_24g_syncword 
+03bd 6800c8e7 fetch 1 ,mem_24g_syncword 
+03be 6808c8e8 fetcht 1 ,mem_24g_syncword + 1 
+03bf 9840fe00 iadd temp ,pdata 
+03c0 6000c8e9 store 1 ,mem_24g_syncword_crc8 
+03c1 20600000 rtn 
 
 p_g24_transmit_prep:
-03be 6800c836 fetch 1 ,mem_24g_datalen 
-03bf 1fe0fe02 increase 2 ,pdata 
-03c0 6000c838 store 1 ,mem_24g_txlen 
-03c1 6800c837 fetch 1 ,mem_24g_data_type 
-03c2 6000c7f2 store 1 ,mem_24g_txpayload 
-03c3 6800c836 fetch 1 ,mem_24g_datalen 
-03c4 1fe9fe00 lshift3 pdata ,pdata 
-03c5 6808c835 fetcht 1 ,mem_24g_pid 
-03c6 18410403 and temp ,0x03 ,temp 
-03c7 18438400 lshift temp ,temp 
-03c8 9841fe00 ior temp ,pdata 
-03c9 6808c872 fetcht 1 ,mem_24g_no_ack 
-03ca 9840fe00 iadd temp ,pdata 
-03cb e0a08000 istore 1 ,contw 
-03cc 6800c836 fetch 1 ,mem_24g_datalen 
-03cd 98007200 iforce loopcnt 
-03ce d8c047d2 arg mem_24g_txbuf ,contr 
-03cf 20207f01 branch memcpy 
+03c2 6800c836 fetch 1 ,mem_24g_datalen 
+03c3 1fe0fe02 increase 2 ,pdata 
+03c4 6000c838 store 1 ,mem_24g_txlen 
+03c5 6800c837 fetch 1 ,mem_24g_data_type 
+03c6 6000c7f2 store 1 ,mem_24g_txpayload 
+03c7 6800c836 fetch 1 ,mem_24g_datalen 
+03c8 1fe9fe00 lshift3 pdata ,pdata 
+03c9 6808c835 fetcht 1 ,mem_24g_pid 
+03ca 18410403 and temp ,0x03 ,temp 
+03cb 18438400 lshift temp ,temp 
+03cc 9841fe00 ior temp ,pdata 
+03cd 6808c872 fetcht 1 ,mem_24g_no_ack 
+03ce 9840fe00 iadd temp ,pdata 
+03cf e0a08000 istore 1 ,contw 
+03d0 6800c836 fetch 1 ,mem_24g_datalen 
+03d1 98007200 iforce loopcnt 
+03d2 d8c047d2 arg mem_24g_txbuf ,contr 
+03d3 20207f01 branch memcpy 
 
 p_g24_ch:
-03d0 6808c841 fetcht 1 ,mem_24g_current_ch_number 
-03d1 204003d4 call p_g24_ch_map_size 
-03d2 6008c841 storet 1 ,mem_24g_current_ch_number 
-03d3 20600000 rtn 
+03d4 6808c841 fetcht 1 ,mem_24g_current_ch_number 
+03d5 204003d8 call p_g24_ch_map_size 
+03d6 6008c841 storet 1 ,mem_24g_current_ch_number 
+03d7 20600000 rtn 
 
 p_g24_ch_map_size:
-03d4 204003d8 call p_g24_ch_calc 
-03d5 18408401 increase 1 ,temp 
-03d6 18410403 and_into 3 ,temp 
-03d7 20600000 rtn 
+03d8 204003dc call p_g24_ch_calc 
+03d9 18408401 increase 1 ,temp 
+03da 18410403 and_into 3 ,temp 
+03db 20600000 rtn 
 
 p_g24_ch_calc:
-03d8 6800c85e fetch 1 ,mem_24g_addr 
-03d9 1fe17e03 and_into 0x03 ,pdata 
-03da 1fefa204 mul32 pdata ,4 ,rega 
-03db 58004847 setarg mem_24g_ch_map1 
-03dc 9a20fe00 iadd rega ,pdata 
-03dd 98408c00 iadd temp ,contr 
-03de e8c08000 ifetch 1 ,contr 
-03df 6000c840 store 1 ,mem_24g_ch 
-03e0 20600000 rtn 
+03dc 6800c85e fetch 1 ,mem_24g_addr 
+03dd 1fe17e03 and_into 0x03 ,pdata 
+03de 1fefa204 mul32 pdata ,4 ,rega 
+03df 58004847 setarg mem_24g_ch_map1 
+03e0 9a20fe00 iadd rega ,pdata 
+03e1 98408c00 iadd temp ,contr 
+03e2 e8c08000 ifetch 1 ,contr 
+03e3 6000c840 store 1 ,mem_24g_ch 
+03e4 20600000 rtn 
 
 p_g24_prep:
-03e1 7844fc00 disable enable_crc 
-03e2 7843fc00 disable enable_white 
-03e3 58555555 setarg 0x555555 
-03e4 98001e00 iforce crc24_init 
-03e5 6800c840 fetch 1 ,mem_24g_ch 
-03e6 1fed8400 reverse pdata ,temp 
-03e7 79200401 set1 1 ,temp 
-03e8 18431c00 rshift temp ,white_init 
-03e9 20600000 rtn 
+03e5 7844fc00 disable enable_crc 
+03e6 7843fc00 disable enable_white 
+03e7 58555555 setarg 0x555555 
+03e8 98001e00 iforce crc24_init 
+03e9 6800c840 fetch 1 ,mem_24g_ch 
+03ea 1fed8400 reverse pdata ,temp 
+03eb 79200401 set1 1 ,temp 
+03ec 18431c00 rshift temp ,white_init 
+03ed 20600000 rtn 
 
 p_g24_receive_packet:
-03ea 204053c4 call le_enable 
-03eb 6802485e fetch 4 ,mem_24g_addr 
-03ec 98001200 iforce access 
-03ed 20402918 call set_sync_on 
-03ee 6808c840 fetcht 1 ,mem_24g_ch 
-03ef 2040291f call set_freq_rx 
-03f0 58000500 setarg param_pll_setup 
-03f1 20402a8f call sleep 
-03f2 20402924 call rf_rx_enable 
+03ee 204053c4 call le_enable 
+03ef 6802485e fetch 4 ,mem_24g_addr 
+03f0 98001200 iforce access 
+03f1 20402918 call set_sync_on 
+03f2 6808c840 fetcht 1 ,mem_24g_ch 
+03f3 2040291f call set_freq_rx 
+03f4 58000500 setarg param_pll_setup 
+03f5 20402a8f call sleep 
+03f6 20402924 call rf_rx_enable 
 
 p_g24_receive_rxon:
-03f3 204003e1 call p_g24_prep 
-03f4 7857fc00 disable user3 
-03f5 7826fc00 enable decode_fec0 
-03f6 7830fc00 enable is_rx 
-03f7 78507c00 disable is_tx 
-03f8 78287c00 enable swfine 
-03f9 68014839 fetch 2 ,mem_24g_rx_window 
-03fa 98003600 iforce stop_watch 
-03fb 37c18400 correlate null ,timeout 
-03fc 242c042f nbranch p_g24_sync_timeout ,sync 
-03fd 7846fc00 disable decode_fec0 
-03fe 7825fc00 enable decode_fec1 
-03ff 7823fc00 enable enable_white 
-0400 7824fc00 enable enable_crc 
-0401 09800008 parse demod ,bucket ,8 
-0402 19897e00 rshift3 pwindow ,pdata 
-0403 6000c8ea store 1 ,mem_24g_get_syncword_crc8 
-0404 6808c8e9 fetcht 1 ,mem_24g_syncword_crc8 
-0405 98467c00 isub temp ,null 
-0406 2422842c nbranch p_g24_end_of_packet ,zero 
-0407 09800008 parse demod ,bucket ,8 
-0408 19897e00 rshift3 pwindow ,pdata 
-0409 6000c7b0 store 1 ,mem_24g_rxbuf 
-040a 6800c87c fetch 1 ,mem_24g_mode 
-040b 1fe67c02 sub pdata ,rx_24g ,null 
-040c 20228411 branch p_g24_receive_skip ,zero 
-040d 6800c7b0 fetch 1 ,mem_24g_rxbuf 
-040e 6808c837 fetcht 1 ,mem_24g_data_type 
-040f a8400e00 icompare bits_data ,temp 
-0410 2420842c nbranch p_g24_end_of_packet ,true 
+03f7 204003e5 call p_g24_prep 
+03f8 7857fc00 disable user3 
+03f9 7826fc00 enable decode_fec0 
+03fa 7830fc00 enable is_rx 
+03fb 78507c00 disable is_tx 
+03fc 78287c00 enable swfine 
+03fd 68014839 fetch 2 ,mem_24g_rx_window 
+03fe 98003600 iforce stop_watch 
+03ff 37c18400 correlate null ,timeout 
+0400 242c0433 nbranch p_g24_sync_timeout ,sync 
+0401 7846fc00 disable decode_fec0 
+0402 7825fc00 enable decode_fec1 
+0403 7823fc00 enable enable_white 
+0404 7824fc00 enable enable_crc 
+0405 09800008 parse demod ,bucket ,8 
+0406 19897e00 rshift3 pwindow ,pdata 
+0407 6000c8ea store 1 ,mem_24g_get_syncword_crc8 
+0408 6808c8e9 fetcht 1 ,mem_24g_syncword_crc8 
+0409 98467c00 isub temp ,null 
+040a 24228430 nbranch p_g24_end_of_packet ,zero 
+040b 09800008 parse demod ,bucket ,8 
+040c 19897e00 rshift3 pwindow ,pdata 
+040d 6000c7b0 store 1 ,mem_24g_rxbuf 
+040e 6800c87c fetch 1 ,mem_24g_mode 
+040f 1fe67c02 sub pdata ,rx_24g ,null 
+0410 20228415 branch p_g24_receive_skip ,zero 
+0411 6800c7b0 fetch 1 ,mem_24g_rxbuf 
+0412 6808c837 fetcht 1 ,mem_24g_data_type 
+0413 a8400e00 icompare bits_data ,temp 
+0414 24208430 nbranch p_g24_end_of_packet ,true 
 
 p_g24_receive_skip:
-0411 09800008 parse demod ,bucket ,8 
-0412 19897e00 rshift3 pwindow ,pdata 
-0413 e0a08000 istore 1 ,contw 
-0414 1fe97e00 rshift3 pdata ,pdata 
-0415 1fe1721f and pdata ,0x1f ,loopcnt 
-0416 2022841b branch p_g24rx_nopayload ,zero 
+0415 09800008 parse demod ,bucket ,8 
+0416 19897e00 rshift3 pwindow ,pdata 
+0417 e0a08000 istore 1 ,contw 
+0418 1fe97e00 rshift3 pdata ,pdata 
+0419 1fe1721f and pdata ,0x1f ,loopcnt 
+041a 2022841f branch p_g24rx_nopayload ,zero 
 
 p_g24rx_loop:
-0417 09800008 parse demod ,bucket ,8 
-0418 19897e00 rshift3 pwindow ,pdata 
-0419 e0a08000 istore 1 ,contw 
-041a c2000417 loop p_g24rx_loop 
+041b 09800008 parse demod ,bucket ,8 
+041c 19897e00 rshift3 pwindow ,pdata 
+041d e0a08000 istore 1 ,contw 
+041e c200041b loop p_g24rx_loop 
 
 p_g24rx_nopayload:
-041b 09800018 parse demod ,bucket ,24 
-041c 78287c00 enable swfine 
-041d db600664 arg param_sifs ,stop_watch 
-041e 1fef7e00 rshift32 pdata ,pdata 
-041f 1ff17e00 rshift16 pdata ,pdata 
-0420 e0a18000 istore 3 ,contw 
-0421 7845fc00 disable decode_fec1 
-0422 204029bb call save_rssi 
-0423 2023042c branch p_g24_end_of_packet ,crc_failed 
-0424 7837fc00 enable user3 
-0425 68008017 fetch 1 ,mem_last_freq 
-0426 1fe0a200 add pdata ,0 ,rega 
-0427 20402981 call rf_write_freq 
-0428 7846fc00 disable decode_fec0 
-0429 20402918 call set_sync_on 
-042a 20600000 rtn 
-042b 20600000 rtn 
+041f 09800018 parse demod ,bucket ,24 
+0420 78287c00 enable swfine 
+0421 db600664 arg param_sifs ,stop_watch 
+0422 1fef7e00 rshift32 pdata ,pdata 
+0423 1ff17e00 rshift16 pdata ,pdata 
+0424 e0a18000 istore 3 ,contw 
+0425 7845fc00 disable decode_fec1 
+0426 204029bb call save_rssi 
+0427 20230430 branch p_g24_end_of_packet ,crc_failed 
+0428 7837fc00 enable user3 
+0429 68008017 fetch 1 ,mem_last_freq 
+042a 1fe0a200 add pdata ,0 ,rega 
+042b 20402981 call rf_write_freq 
+042c 7846fc00 disable decode_fec0 
+042d 20402918 call set_sync_on 
+042e 20600000 rtn 
+042f 20600000 rtn 
 
 p_g24_end_of_packet:
-042c 784dfc00 disable encode_fec1 
-042d 7845fc00 disable decode_fec1 
-042e 2020264d branch end_of_packet 
+0430 784dfc00 disable encode_fec1 
+0431 7845fc00 disable decode_fec1 
+0432 2020264d branch end_of_packet 
 
 p_g24_sync_timeout:
-042f 2040039d call p_rssi_noise 
-0430 2020042c branch p_g24_end_of_packet 
+0433 204003a1 call p_rssi_noise 
+0434 20200430 branch p_g24_end_of_packet 
 
 p_g24_set_freq_tx:
-0431 20402918 call set_sync_on 
-0432 6808c840 fetcht 1 ,mem_24g_ch 
-0433 20202933 branch set_freq_tx 
+0435 20402918 call set_sync_on 
+0436 6808c840 fetcht 1 ,mem_24g_ch 
+0437 20202933 branch set_freq_tx 
 
 p_g24_transmit:
-0434 204053c4 call le_enable 
-0435 6802485e fetch 4 ,mem_24g_addr 
-0436 98001200 iforce access 
-0437 204003e1 call p_g24_prep 
-0438 20400431 call p_g24_set_freq_tx 
-0439 79202a00 set1 txgfsk ,radio_ctrl 
-043a 782efc00 enable encode_fec0 
-043b 78307c00 enable is_tx 
-043c 7850fc00 disable is_rx 
-043d 19317e00 rshift16 access ,pdata 
-043e 1fecfe00 rshift8 pdata ,pdata 
-043f 1ff1fe00 rshift4 pdata ,pdata 
-0440 08008628 inject mod ,40 
-0441 784efc00 disable encode_fec0 
-0442 782dfc00 enable encode_fec1 
-0443 7823fc00 enable enable_white 
-0444 7824fc00 enable enable_crc 
-0445 6800c8e9 fetch 1 ,mem_24g_syncword_crc8 
-0446 08008608 inject mod ,8 
-0447 6800c838 fetch 1 ,mem_24g_txlen 
-0448 98007200 iforce loopcnt 
-0449 d8c047f2 arg mem_24g_txpayload ,contr 
+0438 204053c4 call le_enable 
+0439 6802485e fetch 4 ,mem_24g_addr 
+043a 98001200 iforce access 
+043b 204003e5 call p_g24_prep 
+043c 20400435 call p_g24_set_freq_tx 
+043d 79202a00 set1 txgfsk ,radio_ctrl 
+043e 782efc00 enable encode_fec0 
+043f 78307c00 enable is_tx 
+0440 7850fc00 disable is_rx 
+0441 19317e00 rshift16 access ,pdata 
+0442 1fecfe00 rshift8 pdata ,pdata 
+0443 1ff1fe00 rshift4 pdata ,pdata 
+0444 08008628 inject mod ,40 
+0445 784efc00 disable encode_fec0 
+0446 782dfc00 enable encode_fec1 
+0447 7823fc00 enable enable_white 
+0448 7824fc00 enable enable_crc 
+0449 6800c8e9 fetch 1 ,mem_24g_syncword_crc8 
+044a 08008608 inject mod ,8 
+044b 6800c838 fetch 1 ,mem_24g_txlen 
+044c 98007200 iforce loopcnt 
+044d d8c047f2 arg mem_24g_txpayload ,contr 
 
 p_g24tr_loop:
-044a e8c08000 ifetch 1 ,contr 
-044b 08008608 inject mod ,8 
-044c c200044a loop p_g24tr_loop 
-044d 6800c8ee fetch 1 ,mem_rssi_hex 
-044e 08008608 inject mod ,8 
-044f 78247c00 enable enable_parity 
-0450 08008618 inject mod ,24 
-0451 78447c00 disable enable_parity 
-0452 37d38200 until null ,tx_clear 
-0453 20000064 nop 100 
-0454 784efc00 disable encode_fec0 
-0455 784dfc00 disable encode_fec1 
-0456 20600000 rtn 
-org 0x2000
+044e e8c08000 ifetch 1 ,contr 
+044f 08008608 inject mod ,8 
+0450 c200044e loop p_g24tr_loop 
+0451 6800c8ee fetch 1 ,mem_rssi_hex 
+0452 08008608 inject mod ,8 
+0453 78247c00 enable enable_parity 
+0454 08008618 inject mod ,24 
+0455 78447c00 disable enable_parity 
+0456 37d38200 until null ,tx_clear 
+0457 20000064 nop 100 
+0458 784efc00 disable encode_fec0 
+0459 784dfc00 disable encode_fec1 
+045a 20600000 rtn 
+              org 0x2000
 
 start:
 2000 20402abc call lpmstate 
@@ -34068,4 +34072,4 @@
 7ffb e0a08000 istore 1 ,contw 
 7ffc c2007ff9 loop reverse_loop 
 7ffd 20600000 rtn 
-rtn 
+
Index: program/patch.prog
===================================================================
--- /branch/USB/dongle/program/patch.prog	(revision 2352)
+++ /branch/USB/dongle/program/patch.prog	(working copy)
@@ -902,6 +902,7 @@
 	rtn
 
 p_g24_bind_ackpayload_prep:
+	jam 1,mem_24g_ackpayload_enable
 	jam 0x08,mem_24g_datalen
 	arg 0x08,loopcnt
 	arg mem_24g_bind_payload,contr
@@ -921,6 +922,10 @@
 	rtn
 
 p_g24_kb_led_ackpayload_prep:
+	fetch 1,mem_24g_rxbuf+2
+	beq 0x01,p_g24_bind_ackpayload_prep
+	beq 0xff,p_g24_bind_ackpayload_prep
+	
 	//jam 0,mem_24g_ackpayload_enable
 	jam 0,mem_usb_tx_win_enable
 	jam 0x01,mem_24g_datalen
