Index: output/eeprom.dat
===================================================================
--- /branch/USB/dongle/output/eeprom.dat	(revision 991)
+++ /branch/USB/dongle/output/eeprom.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-02
+12
 10
 c2
 84
@@ -11,15 +11,15 @@
 c0
 42
 83
-44
+48
 c0
 44
 83
-1f
+23
 c0
 00
 03
-3f
+43
 c0
 47
 00
@@ -332,18 +332,34 @@
 40
 74
 b9
+68
+02
+40
+a0
+60
+02
+48
+9f
+68
+08
+c2
+3a
+20
+40
+68
+0e
 20
 40
 00
-61
+65
 20
 40
 01
-1c
+20
 20
 40
 00
-5a
+5e
 68
 00
 c8
@@ -351,15 +367,15 @@
 c0
 00
 01
-70
+74
 c0
 00
 80
-6b
+6f
 c0
 07
 80
-67
+6b
 20
 60
 00
@@ -371,7 +387,7 @@
 20
 40
 00
-5d
+61
 20
 20
 65
@@ -419,39 +435,39 @@
 20
 40
 00
-70
+74
 20
 40
 00
-74
+78
 20
 40
 01
-3a
+3e
 20
 20
 00
-68
+6c
 20
 40
 00
-70
+74
 20
 40
 00
-74
+78
 20
 40
 00
-bf
+c3
 20
 40
 01
-3a
+3e
 20
 20
 00
-6c
+70
 70
 48
 b8
@@ -479,19 +495,19 @@
 20
 40
 00
-7a
+7e
 20
 40
 00
-88
+8c
 20
 40
 02
-7b
+7f
 20
 20
 00
-a7
+ab
 68
 00
 c8
@@ -539,15 +555,15 @@
 20
 40
 03
-59
+5d
 20
 40
 03
-79
+7d
 20
 20
 00
-da
+de
 68
 00
 c8
@@ -555,7 +571,7 @@
 c0
 00
 80
-a1
+a5
 68
 00
 c8
@@ -563,7 +579,7 @@
 c0
 00
 80
-9b
+9f
 68
 0a
 48
@@ -623,7 +639,7 @@
 20
 20
 03
-79
+7d
 70
 48
 b9
@@ -631,7 +647,7 @@
 20
 20
 03
-79
+7d
 1c
 42
 7e
@@ -655,7 +671,7 @@
 20
 40
 03
-54
+58
 60
 08
 c8
@@ -671,19 +687,19 @@
 20
 20
 03
-79
+7d
 20
 40
 00
-aa
+ae
 20
 40
 00
-b1
+b5
 20
 20
 00
-b8
+bc
 68
 00
 c8
@@ -779,11 +795,11 @@
 20
 40
 00
-c3
+c7
 20
 20
 00
-cf
+d3
 68
 00
 c8
@@ -831,15 +847,15 @@
 20
 20
 03
-59
+5d
 20
 40
 01
-b5
+b9
 24
 37
 80
-da
+de
 d8
 c0
 47
@@ -863,19 +879,19 @@
 c0
 55
 00
-dd
+e1
 c0
 2a
 80
-ea
+ee
 c0
 11
 00
-fa
+fe
 c0
 7f
 81
-12
+16
 d8
 a0
 47
@@ -895,11 +911,11 @@
 c0
 00
 80
-e1
+e5
 c0
 01
 00
-e7
+eb
 20
 60
 00
@@ -939,7 +955,7 @@
 20
 20
 00
-e3
+e7
 68
 00
 c8
@@ -947,11 +963,11 @@
 c0
 00
 80
-ee
+f2
 c0
 01
 00
-f4
+f8
 20
 60
 00
@@ -959,7 +975,7 @@
 20
 40
 00
-e2
+e6
 68
 00
 c8
@@ -967,7 +983,7 @@
 c0
 00
 80
-f2
+f6
 20
 60
 00
@@ -983,7 +999,7 @@
 20
 40
 00
-e8
+ec
 68
 00
 c8
@@ -991,7 +1007,7 @@
 c0
 00
 80
-f8
+fc
 20
 60
 00
@@ -1010,12 +1026,12 @@
 80
 c0
 00
-80
-fe
+81
+02
 c0
 01
 01
-07
+0b
 20
 60
 00
@@ -1027,7 +1043,7 @@
 c0
 01
 01
-01
+05
 20
 60
 00
@@ -1055,7 +1071,7 @@
 20
 20
 00
-da
+de
 68
 00
 c8
@@ -1063,7 +1079,7 @@
 c0
 80
 01
-0a
+0e
 20
 60
 00
@@ -1083,7 +1099,7 @@
 20
 40
 01
-04
+08
 70
 11
 c7
@@ -1091,7 +1107,7 @@
 20
 40
 00
-5d
+61
 20
 40
 65
@@ -1107,11 +1123,11 @@
 c0
 00
 81
-16
+1a
 c0
 01
 01
-19
+1d
 20
 60
 00
@@ -1223,7 +1239,7 @@
 24
 21
 01
-32
+36
 58
 00
 49
@@ -1311,11 +1327,11 @@
 c0
 50
 01
-57
+5b
 c0
 50
 81
-4d
+51
 c0
 53
 30
@@ -1323,15 +1339,15 @@
 c0
 53
 81
-5c
+60
 c0
 54
 81
-62
+66
 c0
 58
 01
-64
+68
 20
 20
 30
@@ -1343,11 +1359,11 @@
 c0
 00
 81
-52
+56
 c0
 42
 01
-55
+59
 c0
 53
 b0
@@ -1371,11 +1387,11 @@
 20
 40
 00
-71
+75
 20
 20
 01
-52
+56
 68
 00
 8c
@@ -1383,7 +1399,7 @@
 c0
 40
 81
-5a
+5e
 20
 20
 30
@@ -1391,7 +1407,7 @@
 20
 40
 01
-a5
+a9
 20
 20
 30
@@ -1403,7 +1419,7 @@
 c0
 00
 01
-60
+64
 c0
 00
 b0
@@ -1447,11 +1463,11 @@
 c0
 01
 81
-6e
+72
 20
 40
 01
-21
+25
 68
 00
 c9
@@ -1459,7 +1475,7 @@
 c0
 01
 81
-6e
+72
 70
 0c
 f7
@@ -1479,31 +1495,31 @@
 20
 40
 01
-94
+98
 20
 40
 01
-9a
+9e
 20
 40
 01
-77
+7b
 20
 40
 01
-7b
+7f
 20
 40
 01
-b9
+bd
 20
 40
 01
-3a
+3e
 20
 20
 01
-71
+75
 68
 00
 c8
@@ -1515,11 +1531,11 @@
 20
 40
 00
-76
+7a
 20
 20
 01
-aa
+ae
 68
 00
 c8
@@ -1531,11 +1547,11 @@
 20
 40
 00
-c3
+c7
 20
 40
 00
-cf
+d3
 68
 00
 c8
@@ -1551,15 +1567,15 @@
 20
 40
 00
-70
+74
 20
 40
 01
-a8
+ac
 20
 20
 01
-97
+9b
 20
 40
 7f
@@ -1655,7 +1671,7 @@
 20
 40
 01
-85
+89
 24
 74
 00
@@ -1679,11 +1695,11 @@
 c0
 00
 00
-70
+74
 c0
 00
 81
-a5
+a9
 20
 60
 00
@@ -1751,15 +1767,15 @@
 20
 20
 00
-da
+de
 20
 40
 00
-da
+de
 20
 40
 03
-93
+97
 24
 77
 80
@@ -1767,7 +1783,7 @@
 20
 20
 02
-54
+58
 68
 00
 c8
@@ -1779,27 +1795,27 @@
 20
 40
 01
-de
+e2
 20
 40
 01
-f2
+f6
 20
 40
 01
-b5
+b9
 24
 37
 80
-da
+de
 20
 40
 01
-ee
+f2
 20
 42
 82
-7e
+82
 70
 48
 a4
@@ -1827,23 +1843,23 @@
 24
 42
 81
-d5
+d9
 20
 40
 00
-da
+de
 20
 40
 01
-a8
+ac
 20
 40
 01
-ee
+f2
 20
 22
 81
-d7
+db
 68
 02
 48
@@ -1859,7 +1875,7 @@
 20
 22
 81
-da
+de
 68
 02
 48
@@ -1875,7 +1891,7 @@
 20
 22
 81
-dc
+e0
 20
 60
 00
@@ -1907,7 +1923,7 @@
 20
 20
 01
-d8
+dc
 68
 00
 c8
@@ -1915,7 +1931,7 @@
 20
 20
 01
-d8
+dc
 68
 00
 c8
@@ -1955,7 +1971,7 @@
 20
 40
 01
-ee
+f2
 24
 62
 80
@@ -2015,19 +2031,19 @@
 c0
 00
 02
-15
+19
 c0
 00
 82
-2f
+33
 c0
 01
 01
-fb
+ff
 c0
 01
 82
-2f
+33
 20
 60
 00
@@ -2035,7 +2051,7 @@
 20
 40
 00
-e2
+e6
 68
 02
 48
@@ -2043,11 +2059,11 @@
 20
 3a
 01
-f2
+f6
 20
 40
 03
-59
+5d
 68
 00
 c8
@@ -2055,7 +2071,7 @@
 20
 5a
 02
-10
+14
 68
 00
 c8
@@ -2075,7 +2091,7 @@
 20
 40
 03
-4d
+51
 60
 08
 c8
@@ -2083,7 +2099,7 @@
 20
 40
 03
-54
+58
 60
 08
 c8
@@ -2103,7 +2119,7 @@
 20
 40
 03
-7d
+81
 60
 08
 c8
@@ -2127,7 +2143,7 @@
 20
 40
 03
-81
+85
 60
 00
 c8
@@ -2139,7 +2155,7 @@
 20
 40
 00
-e8
+ec
 68
 02
 48
@@ -2147,11 +2163,11 @@
 20
 3a
 01
-f2
+f6
 20
 40
 03
-59
+5d
 68
 00
 c8
@@ -2159,7 +2175,7 @@
 20
 5a
 02
-2a
+2e
 68
 00
 c8
@@ -2179,7 +2195,7 @@
 20
 40
 03
-4d
+51
 60
 08
 c8
@@ -2187,7 +2203,7 @@
 20
 40
 03
-54
+58
 60
 08
 c8
@@ -2207,7 +2223,7 @@
 20
 40
 03
-7d
+81
 60
 08
 c8
@@ -2231,7 +2247,7 @@
 20
 40
 03
-81
+85
 60
 00
 c8
@@ -2243,7 +2259,7 @@
 20
 40
 00
-e2
+e6
 68
 02
 48
@@ -2251,7 +2267,7 @@
 20
 40
 03
-59
+5d
 68
 00
 c8
@@ -2259,7 +2275,7 @@
 20
 5a
 02
-43
+47
 68
 00
 c8
@@ -2279,7 +2295,7 @@
 20
 40
 03
-4d
+51
 60
 08
 c8
@@ -2287,7 +2303,7 @@
 20
 40
 03
-54
+58
 60
 08
 c8
@@ -2307,7 +2323,7 @@
 20
 40
 03
-7d
+81
 60
 08
 c8
@@ -2399,7 +2415,7 @@
 20
 40
 02
-47
+4b
 68
 00
 c7
@@ -2411,23 +2427,23 @@
 20
 20
 82
-5d
+61
 20
 40
 02
-5e
+62
 20
 40
 03
-67
+6b
 20
 40
 03
-dd
+e1
 20
 20
 03
-d5
+d9
 70
 48
 36
@@ -2443,15 +2459,15 @@
 c0
 00
 82
-65
+69
 c0
 01
 02
-6a
+6e
 c0
 01
 82
-74
+78
 20
 60
 00
@@ -2479,7 +2495,7 @@
 20
 40
 01
-34
+38
 24
 74
 00
@@ -2547,23 +2563,23 @@
 20
 40
 01
-b5
+b9
 24
 37
 80
-da
+de
 20
 20
 02
-7e
+82
 20
 40
 02
-8f
+93
 24
 34
 00
-da
+de
 68
 00
 c8
@@ -2571,7 +2587,7 @@
 20
 3a
 00
-da
+de
 1f
 e0
 fe
@@ -2603,7 +2619,7 @@
 20
 5a
 01
-a8
+ac
 68
 00
 c8
@@ -2611,19 +2627,19 @@
 c0
 00
 82
-9d
+a1
 c0
 01
 02
-bc
+c0
 c0
 7f
 82
-f5
+f9
 20
 20
 00
-da
+de
 20
 40
 7f
@@ -2683,7 +2699,7 @@
 20
 40
 00
-9d
+a1
 68
 00
 c8
@@ -2706,8 +2722,8 @@
 b0
 c0
 00
-82
-fd
+83
+01
 68
 00
 c8
@@ -2735,7 +2751,7 @@
 c0
 67
 83
-01
+05
 58
 00
 00
@@ -2759,7 +2775,7 @@
 24
 5a
 02
-b4
+b8
 68
 00
 c8
@@ -2767,7 +2783,7 @@
 20
 5a
 02
-b8
+bc
 20
 20
 31
@@ -2814,8 +2830,8 @@
 03
 20
 20
-82
-ff
+83
+03
 68
 00
 c8
@@ -2823,15 +2839,15 @@
 c0
 00
 02
-c3
+c7
 c0
 01
 82
-dc
+e0
 20
 20
 00
-da
+de
 d8
 a0
 0d
@@ -2839,7 +2855,7 @@
 20
 40
 02
-d1
+d5
 68
 04
 0d
@@ -2847,7 +2863,7 @@
 24
 5a
 02
-d4
+d8
 68
 04
 0d
@@ -2855,7 +2871,7 @@
 20
 5a
 02
-d8
+dc
 68
 04
 0d
@@ -2887,7 +2903,7 @@
 20
 20
 00
-da
+de
 d8
 c0
 48
@@ -2939,7 +2955,7 @@
 20
 40
 02
-ea
+ee
 68
 01
 0d
@@ -2947,7 +2963,7 @@
 24
 5a
 02
-ed
+f1
 68
 01
 0d
@@ -2955,7 +2971,7 @@
 20
 5a
 02
-f1
+f5
 68
 01
 8d
@@ -2987,7 +3003,7 @@
 20
 20
 00
-da
+de
 d8
 c0
 48
@@ -3039,11 +3055,11 @@
 c0
 00
 82
-f9
+fd
 c0
 01
 02
-fb
+ff
 20
 60
 00
@@ -3055,7 +3071,7 @@
 20
 20
 01
-17
+1b
 68
 02
 48
@@ -3063,7 +3079,7 @@
 20
 20
 01
-1a
+1e
 68
 02
 48
@@ -3071,7 +3087,7 @@
 20
 20
 01
-17
+1b
 68
 02
 48
@@ -3079,7 +3095,7 @@
 20
 20
 01
-1a
+1e
 68
 01
 48
@@ -3095,7 +3111,7 @@
 20
 22
 83
-06
+0a
 20
 60
 00
@@ -3107,7 +3123,7 @@
 c0
 61
 03
-13
+17
 68
 00
 c9
@@ -3123,7 +3139,7 @@
 20
 40
 01
-2b
+2f
 68
 00
 c9
@@ -3143,11 +3159,11 @@
 c0
 60
 81
-6c
+70
 c0
 61
 03
-13
+17
 20
 60
 00
@@ -3167,7 +3183,7 @@
 20
 40
 01
-1c
+20
 68
 00
 c8
@@ -3175,11 +3191,11 @@
 c0
 2a
 83
-1b
+1f
 c0
 55
 03
-1d
+21
 20
 60
 00
@@ -3267,11 +3283,11 @@
 c0
 02
 03
-38
+3c
 20
 20
 03
-31
+35
 70
 89
 4b
@@ -3375,7 +3391,7 @@
 20
 40
 03
-4d
+51
 60
 08
 c8
@@ -3459,7 +3475,7 @@
 c2
 00
 03
-5d
+61
 1a
 22
 7e
@@ -3567,7 +3583,7 @@
 20
 40
 03
-7d
+81
 60
 08
 c8
@@ -3579,7 +3595,7 @@
 20
 40
 03
-81
+85
 18
 40
 84
@@ -3703,7 +3719,7 @@
 20
 40
 03
-8a
+8e
 78
 57
 fc
@@ -3739,7 +3755,7 @@
 24
 2c
 03
-d8
+dc
 78
 46
 fc
@@ -3779,7 +3795,7 @@
 24
 22
 83
-d5
+d9
 09
 80
 00
@@ -3803,7 +3819,7 @@
 20
 22
 83
-ba
+be
 68
 00
 c7
@@ -3819,7 +3835,7 @@
 24
 20
 83
-d5
+d9
 09
 80
 00
@@ -3843,7 +3859,7 @@
 20
 22
 83
-c4
+c8
 09
 80
 00
@@ -3859,7 +3875,7 @@
 c2
 00
 03
-c0
+c4
 09
 80
 00
@@ -3895,7 +3911,7 @@
 20
 23
 03
-d5
+d9
 78
 37
 fc
@@ -3943,11 +3959,11 @@
 20
 40
 03
-46
+4a
 20
 20
 03
-d5
+d9
 20
 40
 29
@@ -3975,11 +3991,11 @@
 20
 40
 03
-8a
+8e
 20
 40
 03
-da
+de
 79
 20
 2a
@@ -4059,7 +4075,7 @@
 c2
 00
 03
-f3
+f7
 68
 00
 c8
@@ -4100,8 +4116,8 @@
 60
 00
 00
-59
-a6
+0c
+d3
 aa
 55
 01
@@ -4530,14 +4546,16 @@
 05
 aa
 55
-04
+06
 00
-9f
-48
+a0
+40
 36
 26
 10
 09
+07
+2b
 aa
 55
 02
@@ -4548,6 +4566,20 @@
 1f
 aa
 55
+01
+00
+11
+42
+20
+aa
+55
+01
+00
+3a
+42
+14
+aa
+55
 08
 00
 75
@@ -4590,40 +4622,8 @@
 42
 00
 84
-a3
-1e
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+7c
+50
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-4a
-7c
+67
+6b
Index: output/program.lis
===================================================================
--- /branch/USB/dongle/output/program.lis	(revision 991)
+++ /branch/USB/dongle/output/program.lis	(working copy)
@@ -1,9 +1,9 @@
 include "bt_format "
 org 0x0000
 0000 c2840009 bbit1 8 ,pf_patch_ext 
-0001 c0428344 beq patch10_5 ,p_shutdown_radio 
-0002 c044831f beq patch11_1 ,p_set_freq_tx 
-0003 c000033f beq patch00_0 ,p_soft_reset 
+0001 c0428348 beq patch10_5 ,p_shutdown_radio 
+0002 c0448323 beq patch11_1 ,p_set_freq_tx 
+0003 c0000343 beq patch00_0 ,p_soft_reset 
 0004 c047000a beq patch11_6 ,p_save_rssi 
 0005 c0620051 beq patch18_4 ,p_app_init 
 0006 c07b8011 beq patch1e_7 ,p_usb_init 
@@ -110,1252 +110,1256 @@
 
 p_app_init:
 0051 204074b9 call enable_authrom 
-0052 20400061 call p_dongle_init 
-0053 2040011c call p_g24_queue_init 
-0054 2040005a call p_dongle_iic_init 
-0055 6800c8ba fetch 1 ,mem_24g_pair_mode 
-0056 c0000170 beq 0x00 ,p_dongle_auto_bind 
-0057 c000806b beq 0x01 ,p_dongle_pc_bind 
-0058 c0078067 beq 0x0f ,p_dongle_all_powerful 
-0059 20600000 rtn 
+0052 680240a0 fetch 4 ,mem_lap 
+0053 6002489f store 4 ,mem_24g_rx_addr 
+0054 6808c23a fetcht 1 ,mem_eeprom_wp_gpio 
+0055 2040680e call gpio_config_output 
+0056 20400065 call p_dongle_init 
+0057 20400120 call p_g24_queue_init 
+0058 2040005e call p_dongle_iic_init 
+0059 6800c8ba fetch 1 ,mem_24g_pair_mode 
+005a c0000174 beq 0x00 ,p_dongle_auto_bind 
+005b c000806f beq 0x01 ,p_dongle_pc_bind 
+005c c007806b beq 0x0f ,p_dongle_all_powerful 
+005d 20600000 rtn 
 
 p_dongle_iic_init:
-005a 2040659c call iic_init_390k 
-005b 2040005d call p_dongle_set_kb_bind_eeprom 
-005c 202065df branch iicd_read_eep_data 
+005e 2040659c call iic_init_390k 
+005f 20400061 call p_dongle_set_kb_bind_eeprom 
+0060 202065df branch iicd_read_eep_data 
 
 p_dongle_set_kb_bind_eeprom:
-005d da2011c7 arg mem_dongle_kb_bind_flag ,rega 
-005e da400000 arg dongle_kb_bind_eeprom_offect ,regb 
-005f d8400001 arg 1 ,temp 
-0060 20600000 rtn 
+0061 da2011c7 arg mem_dongle_kb_bind_flag ,rega 
+0062 da400000 arg dongle_kb_bind_eeprom_offect ,regb 
+0063 d8400001 arg 1 ,temp 
+0064 20600000 rtn 
 
 p_dongle_init:
-0061 6800c1de fetch 1 ,mem_tx_power 
-0062 6000c8ed store 1 ,mem_tx_power_temp 
-0063 df200080 arg 0x80 ,loopcnt 
-0064 d8a00d9e arg mem_rssi_noise_buffer ,contw 
-0065 20407ec6 call memset0 
-0066 202048ea branch usb_init 
+0065 6800c1de fetch 1 ,mem_tx_power 
+0066 6000c8ed store 1 ,mem_tx_power_temp 
+0067 df200080 arg 0x80 ,loopcnt 
+0068 d8a00d9e arg mem_rssi_noise_buffer ,contw 
+0069 20407ec6 call memset0 
+006a 202048ea branch usb_init 
 
 p_dongle_all_powerful:
-0067 20400070 call p_dongle_check_mode 
+006b 20400074 call p_dongle_check_mode 
 
 p_dongle_all_powerful_loop:
-0068 20400074 call p_g24_dongle_work_mode 
-0069 2040013a call p_dongle_usb_dispatch 
-006a 20200068 branch p_dongle_all_powerful_loop 
+006c 20400078 call p_g24_dongle_work_mode 
+006d 2040013e call p_dongle_usb_dispatch 
+006e 2020006c branch p_dongle_all_powerful_loop 
 
 p_dongle_pc_bind:
-006b 20400070 call p_dongle_check_mode 
+006f 20400074 call p_dongle_check_mode 
 
 p_dongle_pc_bind_loop:
-006c 20400074 call p_g24_dongle_work_mode 
-006d 204000bf call p_g24_dongle_bind_mode 
-006e 2040013a call p_dongle_usb_dispatch 
-006f 2020006c branch p_dongle_pc_bind_loop 
+0070 20400078 call p_g24_dongle_work_mode 
+0071 204000c3 call p_g24_dongle_bind_mode 
+0072 2040013e call p_dongle_usb_dispatch 
+0073 20200070 branch p_dongle_pc_bind_loop 
 
 p_dongle_check_mode:
-0070 7048b800 jam 0 ,mem_24g_ackpayload_enable 
+0074 7048b800 jam 0 ,mem_24g_ackpayload_enable 
 
 p_dongle_work_mode_enable:
-0071 7048a400 jam dongle_work ,mem_dongle_work_mode 
-0072 7048a300 jam clear_init ,mem_dongle_mode_init 
-0073 20600000 rtn 
+0075 7048a400 jam dongle_work ,mem_dongle_work_mode 
+0076 7048a300 jam clear_init ,mem_dongle_mode_init 
+0077 20600000 rtn 
 
 p_g24_dongle_work_mode:
-0074 6800c8a4 fetch 1 ,mem_dongle_work_mode 
-0075 c1800000 rtnne dongle_work 
+0078 6800c8a4 fetch 1 ,mem_dongle_work_mode 
+0079 c1800000 rtnne dongle_work 
 
 p_g24_dongle_work_mode_start:
-0076 2040007a call p_g24_dongle_work_init 
-0077 20400088 call p_g24_ch_process 
-0078 2040027b call p_g24_receive_packet_start 
-0079 202000a7 branch p_g24_blank_data_process 
+007a 2040007e call p_g24_dongle_work_init 
+007b 2040008c call p_g24_ch_process 
+007c 2040027f call p_g24_receive_packet_start 
+007d 202000ab branch p_g24_blank_data_process 
 
 p_g24_dongle_work_init:
-007a 6800c8a3 fetch 1 ,mem_dongle_mode_init 
-007b c3800000 rtnbit1 dongle_work 
-007c 79207e00 set1 dongle_work ,pdata 
-007d 6000c8a3 store 1 ,mem_dongle_mode_init 
-007e 6800c8ed fetch 1 ,mem_tx_power_temp 
-007f 6000c1de store 1 ,mem_tx_power 
-0080 7048b800 jam 0 ,mem_24g_ackpayload_enable 
-0081 700d3800 jam 0 ,mem_usb_tx_enable 
-0082 7048b001 jam 1 ,mem_24g_abort_packet 
-0083 70483500 jam 0 ,mem_24g_pid 
-0084 6802489f fetch 4 ,mem_24g_rx_addr 
-0085 20400359 call p_g24_update_addr_and_synccrc8 
-0086 20400379 call p_g24_ch 
-0087 202000da branch p_g24_rx_interrupt_clear 
+007e 6800c8a3 fetch 1 ,mem_dongle_mode_init 
+007f c3800000 rtnbit1 dongle_work 
+0080 79207e00 set1 dongle_work ,pdata 
+0081 6000c8a3 store 1 ,mem_dongle_mode_init 
+0082 6800c8ed fetch 1 ,mem_tx_power_temp 
+0083 6000c1de store 1 ,mem_tx_power 
+0084 7048b800 jam 0 ,mem_24g_ackpayload_enable 
+0085 700d3800 jam 0 ,mem_usb_tx_enable 
+0086 7048b001 jam 1 ,mem_24g_abort_packet 
+0087 70483500 jam 0 ,mem_24g_pid 
+0088 6802489f fetch 4 ,mem_24g_rx_addr 
+0089 2040035d call p_g24_update_addr_and_synccrc8 
+008a 2040037d call p_g24_ch 
+008b 202000de branch p_g24_rx_interrupt_clear 
 
 p_g24_ch_process:
-0088 6800c8b0 fetch 1 ,mem_24g_abort_packet 
-0089 c00080a1 beq 1 ,p_g24_noise_rssi 
-008a 6800c8b9 fetch 1 ,mem_24g_hop_packet 
-008b c000809b beq 1 ,p_g24_ch_receive_hop_pac 
-008c 680a48b2 fetcht 4 ,mem_24g_hop_btclk 
-008d 1c427e00 copy clkn_bt ,pdata 
-008e 98467c00 isub temp ,null 
-008f 24412d18 ncall g24_timer_timeout ,positive 
-0090 1fe22400 copy pdata ,regb 
-0091 680248b2 fetch 4 ,mem_24g_hop_btclk 
-0092 6808c8b6 fetcht 1 ,mem_24g_hop_interval 
-0093 98408400 iadd temp ,temp 
-0094 1a427e00 copy regb ,pdata 
-0095 98467c00 isub temp ,null 
-0096 24610000 nrtn positive 
-0097 793ffe1c set0 28 ,pdata 
-0098 600248b2 store 4 ,mem_24g_hop_btclk 
-0099 7048b001 jam 1 ,mem_24g_abort_packet 
-009a 20200379 branch p_g24_ch 
+008c 6800c8b0 fetch 1 ,mem_24g_abort_packet 
+008d c00080a5 beq 1 ,p_g24_noise_rssi 
+008e 6800c8b9 fetch 1 ,mem_24g_hop_packet 
+008f c000809f beq 1 ,p_g24_ch_receive_hop_pac 
+0090 680a48b2 fetcht 4 ,mem_24g_hop_btclk 
+0091 1c427e00 copy clkn_bt ,pdata 
+0092 98467c00 isub temp ,null 
+0093 24412d18 ncall g24_timer_timeout ,positive 
+0094 1fe22400 copy pdata ,regb 
+0095 680248b2 fetch 4 ,mem_24g_hop_btclk 
+0096 6808c8b6 fetcht 1 ,mem_24g_hop_interval 
+0097 98408400 iadd temp ,temp 
+0098 1a427e00 copy regb ,pdata 
+0099 98467c00 isub temp ,null 
+009a 24610000 nrtn positive 
+009b 793ffe1c set0 28 ,pdata 
+009c 600248b2 store 4 ,mem_24g_hop_btclk 
+009d 7048b001 jam 1 ,mem_24g_abort_packet 
+009e 2020037d branch p_g24_ch 
 
 p_g24_ch_receive_hop_pac:
-009b 7048b900 jam 0 ,mem_24g_hop_packet 
-009c 20200379 branch p_g24_ch 
+009f 7048b900 jam 0 ,mem_24g_hop_packet 
+00a0 2020037d branch p_g24_ch 
 
 p_g24_ch_timer_reinit:
-009d 1c427e00 copy clkn_bt ,pdata 
-009e 600248b2 store 4 ,mem_24g_hop_btclk 
-009f 7048b100 jam 0 ,mem_24g_rf_laststa 
-00a0 20600000 rtn 
+00a1 1c427e00 copy clkn_bt ,pdata 
+00a2 600248b2 store 4 ,mem_24g_hop_btclk 
+00a3 7048b100 jam 0 ,mem_24g_rf_laststa 
+00a4 20600000 rtn 
 
 p_g24_noise_rssi:
-00a1 da200d9e arg mem_rssi_noise_buffer ,rega 
-00a2 20400354 call p_rssi_average 
-00a3 6008c8ef storet 1 ,mem_rssi_noise_avg 
-00a4 18467c50 sub temp ,rssi_thresh_noise ,null 
-00a5 24610000 nrtn positive 
-00a6 20200379 branch p_g24_ch 
+00a5 da200d9e arg mem_rssi_noise_buffer ,rega 
+00a6 20400358 call p_rssi_average 
+00a7 6008c8ef storet 1 ,mem_rssi_noise_avg 
+00a8 18467c50 sub temp ,rssi_thresh_noise ,null 
+00a9 24610000 nrtn positive 
+00aa 2020037d branch p_g24_ch 
 
 p_g24_blank_data_process:
-00a7 204000aa call p_g24_ms_blank_data 
-00a8 204000b1 call p_g24_kb_blank_data 
-00a9 202000b8 branch p_g24_kb_mul_blank_data 
+00ab 204000ae call p_g24_ms_blank_data 
+00ac 204000b5 call p_g24_kb_blank_data 
+00ad 202000bc branch p_g24_kb_mul_blank_data 
 
 p_g24_ms_blank_data:
-00aa 6800c8d5 fetch 1 ,mem_24g_ms_blank_data_enable 
-00ab 207a0000 rtn blank 
-00ac d8e0000b arg timer_new_ms_blank ,queue 
-00ad 20407f16 call timer_check 
-00ae 247a0000 nrtn blank 
-00af 7048d500 jam 0 ,mem_24g_ms_blank_data_enable 
-00b0 20202fa0 branch g24_ms_blank_data_2usb 
+00ae 6800c8d5 fetch 1 ,mem_24g_ms_blank_data_enable 
+00af 207a0000 rtn blank 
+00b0 d8e0000b arg timer_new_ms_blank ,queue 
+00b1 20407f16 call timer_check 
+00b2 247a0000 nrtn blank 
+00b3 7048d500 jam 0 ,mem_24g_ms_blank_data_enable 
+00b4 20202fa0 branch g24_ms_blank_data_2usb 
 
 p_g24_kb_blank_data:
-00b1 6800c8d3 fetch 1 ,mem_24g_kb_blank_data_enable 
-00b2 207a0000 rtn blank 
-00b3 d8e0000e arg timer_new_kb_blank ,queue 
-00b4 20407f16 call timer_check 
-00b5 247a0000 nrtn blank 
-00b6 7048d300 jam 0 ,mem_24g_kb_blank_data_enable 
-00b7 20202fac branch g24_kb_blank_data_2usb 
+00b5 6800c8d3 fetch 1 ,mem_24g_kb_blank_data_enable 
+00b6 207a0000 rtn blank 
+00b7 d8e0000e arg timer_new_kb_blank ,queue 
+00b8 20407f16 call timer_check 
+00b9 247a0000 nrtn blank 
+00ba 7048d300 jam 0 ,mem_24g_kb_blank_data_enable 
+00bb 20202fac branch g24_kb_blank_data_2usb 
 
 p_g24_kb_mul_blank_data:
-00b8 6800c8d4 fetch 1 ,mem_24g_kb_mul_blank_data_enable 
-00b9 207a0000 rtn blank 
-00ba d8e0000c arg timer_new_kb_mul_blank ,queue 
-00bb 20407f16 call timer_check 
-00bc 247a0000 nrtn blank 
-00bd 7048d400 jam 0 ,mem_24g_kb_mul_blank_data_enable 
-00be 20202fb8 branch g24_kb_mul_blank_data_2usb 
+00bc 6800c8d4 fetch 1 ,mem_24g_kb_mul_blank_data_enable 
+00bd 207a0000 rtn blank 
+00be d8e0000c arg timer_new_kb_mul_blank ,queue 
+00bf 20407f16 call timer_check 
+00c0 247a0000 nrtn blank 
+00c1 7048d400 jam 0 ,mem_24g_kb_mul_blank_data_enable 
+00c2 20202fb8 branch g24_kb_mul_blank_data_2usb 
 
 p_g24_dongle_bind_mode:
-00bf 6800c8a4 fetch 1 ,mem_dongle_work_mode 
-00c0 c1808000 rtnne dongle_bind 
-00c1 204000c3 call p_g24_dongle_bind_init 
-00c2 202000cf branch p_g24_dongle_bind_data_process 
+00c3 6800c8a4 fetch 1 ,mem_dongle_work_mode 
+00c4 c1808000 rtnne dongle_bind 
+00c5 204000c7 call p_g24_dongle_bind_init 
+00c6 202000d3 branch p_g24_dongle_bind_data_process 
 
 p_g24_dongle_bind_init:
-00c3 6800c8a3 fetch 1 ,mem_dongle_mode_init 
-00c4 c3808000 rtnbit1 dongle_bind 
-00c5 79207e01 set1 dongle_bind ,pdata 
-00c6 6000c8a3 store 1 ,mem_dongle_mode_init 
-00c7 58000000 setarg 0 
-00c8 6001c8a5 store 3 ,mem_dongle_ms_bind_step 
-00c9 7041de04 jam tx_power_f5db ,mem_tx_power 
-00ca 7048b801 jam 1 ,mem_24g_ackpayload_enable 
-00cb 70483500 jam 0 ,mem_24g_pid 
-00cc 7048404e jam g24_pair_ch ,mem_24g_ch 
-00cd 68024842 fetch 4 ,mem_24g_paring_addr 
-00ce 20200359 branch p_g24_update_addr_and_synccrc8 
+00c7 6800c8a3 fetch 1 ,mem_dongle_mode_init 
+00c8 c3808000 rtnbit1 dongle_bind 
+00c9 79207e01 set1 dongle_bind ,pdata 
+00ca 6000c8a3 store 1 ,mem_dongle_mode_init 
+00cb 58000000 setarg 0 
+00cc 6001c8a5 store 3 ,mem_dongle_ms_bind_step 
+00cd 7041de04 jam tx_power_f5db ,mem_tx_power 
+00ce 7048b801 jam 1 ,mem_24g_ackpayload_enable 
+00cf 70483500 jam 0 ,mem_24g_pid 
+00d0 7048404e jam g24_pair_ch ,mem_24g_ch 
+00d1 68024842 fetch 4 ,mem_24g_paring_addr 
+00d2 2020035d branch p_g24_update_addr_and_synccrc8 
 
 p_g24_dongle_bind_data_process:
-00cf 204001b5 call p_g24_receive_transmit_ack 
-00d0 243780da nbranch p_g24_rx_interrupt_clear ,user3 
-00d1 d8c047b0 arg mem_24g_rxbuf ,contr 
-00d2 d8a0487d arg mem_24g_rxdata_temp ,contw 
-00d3 df200008 arg 8 ,loopcnt 
-00d4 20407f01 call memcpy 
-00d5 6800c87f fetch 1 ,mem_24g_rxdata_temp + 2 
-00d6 c05500dd beq datatype_bind ,p_g24_dongle_bind_first_step 
-00d7 c02a80ea beq datatype_config ,p_g24_dongle_bind_second_step 
-00d8 c01100fa beq datatype_ok ,p_g24_dongle_bind_third_step 
-00d9 c07f8112 beq 0xff ,p_g24_data_attemp_bind 
+00d3 204001b9 call p_g24_receive_transmit_ack 
+00d4 243780de nbranch p_g24_rx_interrupt_clear ,user3 
+00d5 d8c047b0 arg mem_24g_rxbuf ,contr 
+00d6 d8a0487d arg mem_24g_rxdata_temp ,contw 
+00d7 df200008 arg 8 ,loopcnt 
+00d8 20407f01 call memcpy 
+00d9 6800c87f fetch 1 ,mem_24g_rxdata_temp + 2 
+00da c05500e1 beq datatype_bind ,p_g24_dongle_bind_first_step 
+00db c02a80ee beq datatype_config ,p_g24_dongle_bind_second_step 
+00dc c01100fe beq datatype_ok ,p_g24_dongle_bind_third_step 
+00dd c07f8116 beq 0xff ,p_g24_data_attemp_bind 
 
 p_g24_rx_interrupt_clear:
-00da d8a047b0 arg mem_24g_rxbuf ,contw 
-00db df200042 arg 66 ,loopcnt 
-00dc 20207ed4 branch clear_mem 
+00de d8a047b0 arg mem_24g_rxbuf ,contw 
+00df df200042 arg 66 ,loopcnt 
+00e0 20207ed4 branch clear_mem 
 
 p_g24_dongle_bind_first_step:
-00dd 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-00de c00080e1 beq bind_mouse ,p_g24_dongle_bind_first_step_mouse 
-00df c00100e7 beq bind_keyboard ,p_g24_dongle_bind_first_step_keyboard 
-00e0 20600000 rtn 
+00e1 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+00e2 c00080e5 beq bind_mouse ,p_g24_dongle_bind_first_step_mouse 
+00e3 c00100eb beq bind_keyboard ,p_g24_dongle_bind_first_step_keyboard 
+00e4 20600000 rtn 
 
 p_g24_dongle_bind_first_step_mouse:
-00e1 7048a501 jam 1 ,mem_dongle_ms_bind_step 
+00e5 7048a501 jam 1 ,mem_dongle_ms_bind_step 
 
 p_g24_dongle_bind_ms_payload_cfg:
-00e2 7048a801 jam datatype_mouse ,mem_24g_bind_payload 
+00e6 7048a801 jam datatype_mouse ,mem_24g_bind_payload 
 
 p_g24_dongle_bind_payload_cfg:
-00e3 7048a980 jam 0x80 ,mem_24g_bind_payload + 1 
-00e4 6803489f fetch 6 ,mem_24g_rx_addr 
-00e5 600348aa store 6 ,mem_24g_bind_payload + 2 
-00e6 20600000 rtn 
+00e7 7048a980 jam 0x80 ,mem_24g_bind_payload + 1 
+00e8 6803489f fetch 6 ,mem_24g_rx_addr 
+00e9 600348aa store 6 ,mem_24g_bind_payload + 2 
+00ea 20600000 rtn 
 
 p_g24_dongle_bind_first_step_keyboard:
-00e7 7048a601 jam 1 ,mem_dongle_kb_bind_step 
+00eb 7048a601 jam 1 ,mem_dongle_kb_bind_step 
 
 p_g24_dongle_bind_kb_payload_cfg:
-00e8 7048a802 jam datatype_keyboard ,mem_24g_bind_payload 
-00e9 202000e3 branch p_g24_dongle_bind_payload_cfg 
+00ec 7048a802 jam datatype_keyboard ,mem_24g_bind_payload 
+00ed 202000e7 branch p_g24_dongle_bind_payload_cfg 
 
 p_g24_dongle_bind_second_step:
-00ea 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-00eb c00080ee beq bind_mouse ,p_g24_dongle_bind_second_step_mouse 
-00ec c00100f4 beq bind_keyboard ,p_g24_dongle_bind_second_step_keyboard 
-00ed 20600000 rtn 
+00ee 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+00ef c00080f2 beq bind_mouse ,p_g24_dongle_bind_second_step_mouse 
+00f0 c00100f8 beq bind_keyboard ,p_g24_dongle_bind_second_step_keyboard 
+00f1 20600000 rtn 
 
 p_g24_dongle_bind_second_step_mouse:
-00ee 204000e2 call p_g24_dongle_bind_ms_payload_cfg 
-00ef 6800c8a5 fetch 1 ,mem_dongle_ms_bind_step 
-00f0 c00080f2 beq 1 ,p_g24_dongle_ms_bind_step_set2 
-00f1 20600000 rtn 
+00f2 204000e6 call p_g24_dongle_bind_ms_payload_cfg 
+00f3 6800c8a5 fetch 1 ,mem_dongle_ms_bind_step 
+00f4 c00080f6 beq 1 ,p_g24_dongle_ms_bind_step_set2 
+00f5 20600000 rtn 
 
 p_g24_dongle_ms_bind_step_set2:
-00f2 7048a502 jam 2 ,mem_dongle_ms_bind_step 
-00f3 20600000 rtn 
+00f6 7048a502 jam 2 ,mem_dongle_ms_bind_step 
+00f7 20600000 rtn 
 
 p_g24_dongle_bind_second_step_keyboard:
-00f4 204000e8 call p_g24_dongle_bind_kb_payload_cfg 
-00f5 6800c8a6 fetch 1 ,mem_dongle_kb_bind_step 
-00f6 c00080f8 beq 1 ,p_g24_dongle_kb_bind_step_set2 
-00f7 20600000 rtn 
+00f8 204000ec call p_g24_dongle_bind_kb_payload_cfg 
+00f9 6800c8a6 fetch 1 ,mem_dongle_kb_bind_step 
+00fa c00080fc beq 1 ,p_g24_dongle_kb_bind_step_set2 
+00fb 20600000 rtn 
 
 p_g24_dongle_kb_bind_step_set2:
-00f8 7048a602 jam 2 ,mem_dongle_kb_bind_step 
-00f9 20600000 rtn 
+00fc 7048a602 jam 2 ,mem_dongle_kb_bind_step 
+00fd 20600000 rtn 
 
 p_g24_dongle_bind_third_step:
-00fa 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-00fb c00080fe beq bind_mouse ,p_g24_dongle_bind_third_step_mouse 
-00fc c0010107 beq bind_keyboard ,p_g24_dongle_bind_third_step_keyboard 
-00fd 20600000 rtn 
+00fe 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+00ff c0008102 beq bind_mouse ,p_g24_dongle_bind_third_step_mouse 
+0100 c001010b beq bind_keyboard ,p_g24_dongle_bind_third_step_keyboard 
+0101 20600000 rtn 
 
 p_g24_dongle_bind_third_step_mouse:
-00fe 6800c8a5 fetch 1 ,mem_dongle_ms_bind_step 
-00ff c0010101 beq 2 ,p_g24_dongle_ms_bind_step_success 
-0100 20600000 rtn 
+0102 6800c8a5 fetch 1 ,mem_dongle_ms_bind_step 
+0103 c0010105 beq 2 ,p_g24_dongle_ms_bind_step_success 
+0104 20600000 rtn 
 
 p_g24_dongle_ms_bind_step_success:
-0101 6800c8a7 fetch 1 ,mem_dongle_bind_device_status 
-0102 1fe1fe01 or_into 0x01 ,pdata 
-0103 6000c8a7 store 1 ,mem_dongle_bind_device_status 
+0105 6800c8a7 fetch 1 ,mem_dongle_bind_device_status 
+0106 1fe1fe01 or_into 0x01 ,pdata 
+0107 6000c8a7 store 1 ,mem_dongle_bind_device_status 
 
 p_g24_dongle_bind_exit:
-0104 58000000 setarg 0 
-0105 600148a5 store 2 ,mem_dongle_ms_bind_step 
-0106 202000da branch p_g24_rx_interrupt_clear 
+0108 58000000 setarg 0 
+0109 600148a5 store 2 ,mem_dongle_ms_bind_step 
+010a 202000de branch p_g24_rx_interrupt_clear 
 
 p_g24_dongle_bind_third_step_keyboard:
-0107 6800c8a6 fetch 1 ,mem_dongle_kb_bind_step 
-0108 c080010a bne 0 ,p_g24_dongle_kb_bind_step_success 
-0109 20600000 rtn 
+010b 6800c8a6 fetch 1 ,mem_dongle_kb_bind_step 
+010c c080010e bne 0 ,p_g24_dongle_kb_bind_step_success 
+010d 20600000 rtn 
 
 p_g24_dongle_kb_bind_step_success:
-010a 6800c8a7 fetch 1 ,mem_dongle_bind_device_status 
-010b 1fe1fe02 or_into 0x02 ,pdata 
-010c 6000c8a7 store 1 ,mem_dongle_bind_device_status 
-010d 20400104 call p_g24_dongle_bind_exit 
+010e 6800c8a7 fetch 1 ,mem_dongle_bind_device_status 
+010f 1fe1fe02 or_into 0x02 ,pdata 
+0110 6000c8a7 store 1 ,mem_dongle_bind_device_status 
+0111 20400108 call p_g24_dongle_bind_exit 
 
 p_g24_dongle_store_kb_bind_flag:
-010e 7011c75a jam dongle_kb_bind_success ,mem_dongle_kb_bind_flag 
-010f 2040005d call p_dongle_set_kb_bind_eeprom 
-0110 204065d1 call iicd_write_protect_eep_data 
-0111 2020659a branch soft_reset_chip 
+0112 7011c75a jam dongle_kb_bind_success ,mem_dongle_kb_bind_flag 
+0113 20400061 call p_dongle_set_kb_bind_eeprom 
+0114 204065d1 call iicd_write_protect_eep_data 
+0115 2020659a branch soft_reset_chip 
 
 p_g24_data_attemp_bind:
-0112 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-0113 c0008116 beq datatype_mouse ,p_g24_data_attemp_mouse_bind 
-0114 c0010119 beq datatype_keyboard ,p_g24_data_attemp_kbd_bind 
-0115 20600000 rtn 
+0116 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+0117 c000811a beq datatype_mouse ,p_g24_data_attemp_mouse_bind 
+0118 c001011d beq datatype_keyboard ,p_g24_data_attemp_kbd_bind 
+0119 20600000 rtn 
 
 p_g24_data_attemp_mouse_bind:
-0116 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
+011a 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
 
 p_g24_store_mouse_addr:
-0117 600248da store 4 ,mem_24g_ms_addr 
-0118 20600000 rtn 
+011b 600248da store 4 ,mem_24g_ms_addr 
+011c 20600000 rtn 
 
 p_g24_data_attemp_kbd_bind:
-0119 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
+011d 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
 
 p_g24_store_kbd_addr:
-011a 600248d6 store 4 ,mem_24g_kb_addr 
-011b 20600000 rtn 
+011e 600248d6 store 4 ,mem_24g_kb_addr 
+011f 20600000 rtn 
 
 p_g24_queue_init:
-011c 70490000 jam 0 ,mem_queue_ele_num 
-011d 58004905 setarg mem_queue_start 
-011e 60014901 store 2 ,mem_queue_read 
-011f 60014903 store 2 ,mem_queue_write 
-0120 20600000 rtn 
+0120 70490000 jam 0 ,mem_queue_ele_num 
+0121 58004905 setarg mem_queue_start 
+0122 60014901 store 2 ,mem_queue_read 
+0123 60014903 store 2 ,mem_queue_write 
+0124 20600000 rtn 
 
 p_g24_queue_put:
-0121 df20001f arg 0x1f ,loopcnt 
-0122 d8400cb6 arg mem_usb0_set_report_data ,temp 
-0123 68014903 fetch 2 ,mem_queue_write 
-0124 1fe20a00 copy pdata ,contw 
-0125 18420c00 copy temp ,contr 
-0126 20407f01 call memcpy 
-0127 6800c900 fetch 1 ,mem_queue_ele_num 
-0128 1fe0fe01 increase 1 ,pdata 
-0129 6000c900 store 1 ,mem_queue_ele_num 
-012a 58004903 setarg mem_queue_write 
+0125 df20001f arg 0x1f ,loopcnt 
+0126 d8400cb6 arg mem_usb0_set_report_data ,temp 
+0127 68014903 fetch 2 ,mem_queue_write 
+0128 1fe20a00 copy pdata ,contw 
+0129 18420c00 copy temp ,contr 
+012a 20407f01 call memcpy 
+012b 6800c900 fetch 1 ,mem_queue_ele_num 
+012c 1fe0fe01 increase 1 ,pdata 
+012d 6000c900 store 1 ,mem_queue_ele_num 
+012e 58004903 setarg mem_queue_write 
 
 p_g24_queue_increase:
-012b 1fe22200 copy pdata ,rega 
-012c d8404965 arg mem_queue_end ,temp 
-012d ea210000 ifetch 2 ,rega 
-012e 1fe0fe20 increase queue_ele_length ,pdata 
-012f 98467c00 isub temp ,null 
-0130 24210132 nbranch p_g24_queue_put_end ,positive 
-0131 58004905 setarg mem_queue_start 
+012f 1fe22200 copy pdata ,rega 
+0130 d8404965 arg mem_queue_end ,temp 
+0131 ea210000 ifetch 2 ,rega 
+0132 1fe0fe20 increase queue_ele_length ,pdata 
+0133 98467c00 isub temp ,null 
+0134 24210136 nbranch p_g24_queue_put_end ,positive 
+0135 58004905 setarg mem_queue_start 
 
 p_g24_queue_put_end:
-0132 e2210000 istore 2 ,rega 
-0133 20600000 rtn 
+0136 e2210000 istore 2 ,rega 
+0137 20600000 rtn 
 
 p_g24_queue_read_point:
-0134 78547c00 disable user 
-0135 6800c900 fetch 1 ,mem_queue_ele_num 
-0136 207a0000 rtn blank 
-0137 78347c00 enable user 
-0138 68014901 fetch 2 ,mem_queue_read 
-0139 20600000 rtn 
+0138 78547c00 disable user 
+0139 6800c900 fetch 1 ,mem_queue_ele_num 
+013a 207a0000 rtn blank 
+013b 78347c00 enable user 
+013c 68014901 fetch 2 ,mem_queue_read 
+013d 20600000 rtn 
 
 p_dongle_usb_dispatch:
-013a 708004ff jam 0xff ,core_write_watchdog 
-013b 204048d3 call usb_isr 
-013c 68008d50 fetch 1 ,mem_usb0_get_set_report 
-013d 207a0000 rtn blank 
-013e 700d5000 jam 0 ,mem_usb0_get_set_report 
-013f 68010d4e fetch 2 ,mem_usb_setup_bvalue_temp 
-0140 d84002ba arg pc_set_report ,temp 
-0141 98467c00 isub temp ,null 
-0142 24628000 nrtn zero 
-0143 68008cb6 fetch 1 ,mem_usb0_set_report_data 
-0144 c1dd0000 rtnne pc_report_id 
-0145 68008cb7 fetch 1 ,mem_usb0_set_report_data + 1 
-0146 c0500157 beq command_mode ,p_dongle_dispose_cmd_mode 
-0147 c050814d beq command_bind ,p_dongle_dispose_cmd_bind 
-0148 c0533041 beq command_current_project ,dongle_dispose_cmd_current_project 
-0149 c053815c beq command_current_mode ,p_dongle_dispose_cmd_current_mode 
-014a c0548162 beq command_current_fw_version ,p_dongle_dispose_cmd_current_fw_version 
-014b c0580164 beq command_user_defined ,p_dongle_dispose_cmd_user_defined 
-014c 2020302a branch usb0_data_ready_report_set0 
+013e 708004ff jam 0xff ,core_write_watchdog 
+013f 204048d3 call usb_isr 
+0140 68008d50 fetch 1 ,mem_usb0_get_set_report 
+0141 207a0000 rtn blank 
+0142 700d5000 jam 0 ,mem_usb0_get_set_report 
+0143 68010d4e fetch 2 ,mem_usb_setup_bvalue_temp 
+0144 d84002ba arg pc_set_report ,temp 
+0145 98467c00 isub temp ,null 
+0146 24628000 nrtn zero 
+0147 68008cb6 fetch 1 ,mem_usb0_set_report_data 
+0148 c1dd0000 rtnne pc_report_id 
+0149 68008cb7 fetch 1 ,mem_usb0_set_report_data + 1 
+014a c050015b beq command_mode ,p_dongle_dispose_cmd_mode 
+014b c0508151 beq command_bind ,p_dongle_dispose_cmd_bind 
+014c c0533041 beq command_current_project ,dongle_dispose_cmd_current_project 
+014d c0538160 beq command_current_mode ,p_dongle_dispose_cmd_current_mode 
+014e c0548166 beq command_current_fw_version ,p_dongle_dispose_cmd_current_fw_version 
+014f c0580168 beq command_user_defined ,p_dongle_dispose_cmd_user_defined 
+0150 2020302a branch usb0_data_ready_report_set0 
 
 p_dongle_dispose_cmd_bind:
-014d 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
-014e c0008152 beq com_bind_get ,p_dongle_dispose_cmd_get_bind 
-014f c0420155 beq com_bind_exit ,p_dongle_dispose_cmd_exit_bind 
-0150 c053b039 beq com_read_mode ,dongle_dispose_cmd_read_mode 
-0151 2020302a branch usb0_data_ready_report_set0 
+0151 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+0152 c0008156 beq com_bind_get ,p_dongle_dispose_cmd_get_bind 
+0153 c0420159 beq com_bind_exit ,p_dongle_dispose_cmd_exit_bind 
+0154 c053b039 beq com_read_mode ,dongle_dispose_cmd_read_mode 
+0155 2020302a branch usb0_data_ready_report_set0 
 
 p_dongle_dispose_cmd_get_bind:
-0152 6800c8a7 fetch 1 ,mem_dongle_bind_device_status 
-0153 60008cf7 store 1 ,mem_usb0_get_report_data + 1 
-0154 2020303f branch usb0_data_ready_report_set1 
+0156 6800c8a7 fetch 1 ,mem_dongle_bind_device_status 
+0157 60008cf7 store 1 ,mem_usb0_get_report_data + 1 
+0158 2020303f branch usb0_data_ready_report_set1 
 
 p_dongle_dispose_cmd_exit_bind:
-0155 20400071 call p_dongle_work_mode_enable 
-0156 20200152 branch p_dongle_dispose_cmd_get_bind 
+0159 20400075 call p_dongle_work_mode_enable 
+015a 20200156 branch p_dongle_dispose_cmd_get_bind 
 
 p_dongle_dispose_cmd_mode:
-0157 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
-0158 c040815a beq com_mode_bind ,p_dongle_enter_bind_mode 
-0159 2020302a branch usb0_data_ready_report_set0 
+015b 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+015c c040815e beq com_mode_bind ,p_dongle_enter_bind_mode 
+015d 2020302a branch usb0_data_ready_report_set0 
 
 p_dongle_enter_bind_mode:
-015a 204001a5 call p_g24_bind_mode_enable 
-015b 2020303f branch usb0_data_ready_report_set1 
+015e 204001a9 call p_g24_bind_mode_enable 
+015f 2020303f branch usb0_data_ready_report_set1 
 
 p_dongle_dispose_cmd_current_mode:
-015c 6800c8a4 fetch 1 ,mem_dongle_work_mode 
-015d c0000160 beq dongle_work ,p_dongle_dispose_in_work_mode 
-015e c000b039 beq dongle_bind ,dongle_dispose_in_bind_mode 
-015f 20600000 rtn 
+0160 6800c8a4 fetch 1 ,mem_dongle_work_mode 
+0161 c0000164 beq dongle_work ,p_dongle_dispose_in_work_mode 
+0162 c000b039 beq dongle_bind ,dongle_dispose_in_bind_mode 
+0163 20600000 rtn 
 
 p_dongle_dispose_in_work_mode:
-0160 700cf7a0 jam command_mode ,mem_usb0_get_report_data + 1 
-0161 2020303f branch usb0_data_ready_report_set1 
+0164 700cf7a0 jam command_mode ,mem_usb0_get_report_data + 1 
+0165 2020303f branch usb0_data_ready_report_set1 
 
 p_dongle_dispose_cmd_current_fw_version:
-0162 700cfa07 jam fw_version3 ,mem_usb0_get_report_data + 4 
-0163 20203049 branch dongle_dispose_cmd_current_fw_version 
+0166 700cfa07 jam fw_version3 ,mem_usb0_get_report_data + 4 
+0167 20203049 branch dongle_dispose_cmd_current_fw_version 
 
 p_dongle_dispose_cmd_user_defined:
-0164 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
-0165 c07fe59a beq 0xff ,soft_reset_chip 
+0168 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+0169 c07fe59a beq 0xff ,soft_reset_chip 
 
 p_dongle_dispose_cmd_ota:
-0166 7048b802 jam 2 ,mem_24g_ackpayload_enable 
-0167 6800c900 fetch 1 ,mem_queue_ele_num 
-0168 c001816e beq queue_ele_count ,p_user_defined_queue_buff_full 
-0169 20400121 call p_g24_queue_put 
-016a 6800c900 fetch 1 ,mem_queue_ele_num 
-016b c001816e beq queue_ele_count ,p_user_defined_queue_buff_full 
+016a 7048b802 jam 2 ,mem_24g_ackpayload_enable 
+016b 6800c900 fetch 1 ,mem_queue_ele_num 
+016c c0018172 beq queue_ele_count ,p_user_defined_queue_buff_full 
+016d 20400125 call p_g24_queue_put 
+016e 6800c900 fetch 1 ,mem_queue_ele_num 
+016f c0018172 beq queue_ele_count ,p_user_defined_queue_buff_full 
 
 p_user_defined_queue_buff_free:
-016c 700cf700 jam 0 ,mem_usb0_get_report_data + 1 
-016d 2020303f branch usb0_data_ready_report_set1 
+0170 700cf700 jam 0 ,mem_usb0_get_report_data + 1 
+0171 2020303f branch usb0_data_ready_report_set1 
 
 p_user_defined_queue_buff_full:
-016e 700cf701 jam 1 ,mem_usb0_get_report_data + 1 
-016f 2020303f branch usb0_data_ready_report_set1 
+0172 700cf701 jam 1 ,mem_usb0_get_report_data + 1 
+0173 2020303f branch usb0_data_ready_report_set1 
 
 p_dongle_auto_bind:
-0170 20400194 call p_g24_mode_switch_init 
+0174 20400198 call p_g24_mode_switch_init 
 
 p_dongle_auto_bind_loop:
-0171 2040019a call p_g24_mode_switch 
-0172 20400177 call p_g24_dongle_work_mode_auto 
-0173 2040017b call p_g24_dongle_bind_mode_auto 
-0174 204001b9 call p_g24_dongle_search_mode_auto 
-0175 2040013a call p_dongle_usb_dispatch 
-0176 20200171 branch p_dongle_auto_bind_loop 
+0175 2040019e call p_g24_mode_switch 
+0176 2040017b call p_g24_dongle_work_mode_auto 
+0177 2040017f call p_g24_dongle_bind_mode_auto 
+0178 204001bd call p_g24_dongle_search_mode_auto 
+0179 2040013e call p_dongle_usb_dispatch 
+017a 20200175 branch p_dongle_auto_bind_loop 
 
 p_g24_dongle_work_mode_auto:
-0177 6800c8a4 fetch 1 ,mem_dongle_work_mode 
-0178 c1800000 rtnne dongle_work 
-0179 20400076 call p_g24_dongle_work_mode_start 
-017a 202001aa branch p_g24_rx_nodata_process 
+017b 6800c8a4 fetch 1 ,mem_dongle_work_mode 
+017c c1800000 rtnne dongle_work 
+017d 2040007a call p_g24_dongle_work_mode_start 
+017e 202001ae branch p_g24_rx_nodata_process 
 
 p_g24_dongle_bind_mode_auto:
-017b 6800c8a4 fetch 1 ,mem_dongle_work_mode 
-017c c1808000 rtnne dongle_bind 
-017d 204000c3 call p_g24_dongle_bind_init 
-017e 204000cf call p_g24_dongle_bind_data_process 
-017f 6800c8a7 fetch 1 ,mem_dongle_bind_device_status 
-0180 207a0000 rtn blank 
-0181 7048b700 jam 0 ,mem_24g_mode_switch 
-0182 20400070 call p_dongle_check_mode 
-0183 204001a8 call p_g24_enable_nodata_timer 
-0184 20200197 branch p_g24_timer_init 
+017f 6800c8a4 fetch 1 ,mem_dongle_work_mode 
+0180 c1808000 rtnne dongle_bind 
+0181 204000c7 call p_g24_dongle_bind_init 
+0182 204000d3 call p_g24_dongle_bind_data_process 
+0183 6800c8a7 fetch 1 ,mem_dongle_bind_device_status 
+0184 207a0000 rtn blank 
+0185 7048b700 jam 0 ,mem_24g_mode_switch 
+0186 20400074 call p_dongle_check_mode 
+0187 204001ac call p_g24_enable_nodata_timer 
+0188 2020019b branch p_g24_timer_init 
 
 p_g24_timer_check:
-0185 20407fe9 call disable_user 
-0186 680a4857 fetcht 4 ,mem_24g_tx_btclk 
-0187 1c427e00 copy clkn_bt ,pdata 
-0188 98467c00 isub temp ,null 
-0189 24412d18 ncall g24_timer_timeout ,positive 
-018a 1fe22400 copy pdata ,regb 
-018b 68024857 fetch 4 ,mem_24g_tx_btclk 
-018c 6808c85b fetcht 1 ,mem_24g_interval 
-018d 98408400 iadd temp ,temp 
-018e 1a427e00 copy regb ,pdata 
-018f 98467c00 isub temp ,null 
-0190 24610000 nrtn positive 
-0191 793ffe1c set0 28 ,pdata 
-0192 60024857 store 4 ,mem_24g_tx_btclk 
-0193 20207fe7 branch enable_user 
+0189 20407fe9 call disable_user 
+018a 680a4857 fetcht 4 ,mem_24g_tx_btclk 
+018b 1c427e00 copy clkn_bt ,pdata 
+018c 98467c00 isub temp ,null 
+018d 24412d18 ncall g24_timer_timeout ,positive 
+018e 1fe22400 copy pdata ,regb 
+018f 68024857 fetch 4 ,mem_24g_tx_btclk 
+0190 6808c85b fetcht 1 ,mem_24g_interval 
+0191 98408400 iadd temp ,temp 
+0192 1a427e00 copy regb ,pdata 
+0193 98467c00 isub temp ,null 
+0194 24610000 nrtn positive 
+0195 793ffe1c set0 28 ,pdata 
+0196 60024857 store 4 ,mem_24g_tx_btclk 
+0197 20207fe7 branch enable_user 
 
 p_g24_mode_switch_init:
-0194 7048b701 jam 1 ,mem_24g_mode_switch 
-0195 7048bc00 jam 0 ,mem_24g_time_slice 
-0196 70485bff jam 0xff ,mem_24g_interval 
+0198 7048b701 jam 1 ,mem_24g_mode_switch 
+0199 7048bc00 jam 0 ,mem_24g_time_slice 
+019a 70485bff jam 0xff ,mem_24g_interval 
 
 p_g24_timer_init:
-0197 58000000 setarg 0 
-0198 60024857 store 4 ,mem_24g_tx_btclk 
-0199 20600000 rtn 
+019b 58000000 setarg 0 
+019c 60024857 store 4 ,mem_24g_tx_btclk 
+019d 20600000 rtn 
 
 p_g24_mode_switch:
-019a 6800c8b7 fetch 1 ,mem_24g_mode_switch 
-019b 207a0000 rtn blank 
-019c 20400185 call p_g24_timer_check 
-019d 24740000 nrtn user 
-019e 6800c8bc fetch 1 ,mem_24g_time_slice 
-019f 1fe0fe01 increase 1 ,pdata 
-01a0 1fe17e01 and_into 1 ,pdata 
-01a1 6000c8bc store 1 ,mem_24g_time_slice 
-01a2 c0000070 beq 0 ,p_dongle_check_mode 
-01a3 c00081a5 beq 1 ,p_g24_bind_mode_enable 
-01a4 20600000 rtn 
+019e 6800c8b7 fetch 1 ,mem_24g_mode_switch 
+019f 207a0000 rtn blank 
+01a0 20400189 call p_g24_timer_check 
+01a1 24740000 nrtn user 
+01a2 6800c8bc fetch 1 ,mem_24g_time_slice 
+01a3 1fe0fe01 increase 1 ,pdata 
+01a4 1fe17e01 and_into 1 ,pdata 
+01a5 6000c8bc store 1 ,mem_24g_time_slice 
+01a6 c0000074 beq 0 ,p_dongle_check_mode 
+01a7 c00081a9 beq 1 ,p_g24_bind_mode_enable 
+01a8 20600000 rtn 
 
 p_g24_bind_mode_enable:
-01a5 7048a401 jam dongle_bind ,mem_dongle_work_mode 
-01a6 7048a300 jam clear_init ,mem_dongle_mode_init 
-01a7 20600000 rtn 
+01a9 7048a401 jam dongle_bind ,mem_dongle_work_mode 
+01aa 7048a300 jam clear_init ,mem_dongle_mode_init 
+01ab 20600000 rtn 
 
 p_g24_enable_nodata_timer:
-01a8 7048bb01 jam 1 ,mem_24g_nodata_timer_enable 
-01a9 20203095 branch g24_enable_nodata_timer_init 
+01ac 7048bb01 jam 1 ,mem_24g_nodata_timer_enable 
+01ad 20203095 branch g24_enable_nodata_timer_init 
 
 p_g24_rx_nodata_process:
-01aa 6800c8b8 fetch 1 ,mem_24g_ackpayload_enable 
-01ab c1010000 rtneq 2 
-01ac 6800c8bb fetch 1 ,mem_24g_nodata_timer_enable 
-01ad 207a0000 rtn blank 
-01ae d8e00008 arg timer_nodata ,queue 
-01af 20407f16 call timer_check 
-01b0 247a0000 nrtn blank 
-01b1 7048bb00 jam 0 ,mem_24g_nodata_timer_enable 
-01b2 7048a407 jam dongle_search ,mem_dongle_work_mode 
-01b3 7048a300 jam clear_init ,mem_dongle_mode_init 
-01b4 202000da branch p_g24_rx_interrupt_clear 
+01ae 6800c8b8 fetch 1 ,mem_24g_ackpayload_enable 
+01af c1010000 rtneq 2 
+01b0 6800c8bb fetch 1 ,mem_24g_nodata_timer_enable 
+01b1 207a0000 rtn blank 
+01b2 d8e00008 arg timer_nodata ,queue 
+01b3 20407f16 call timer_check 
+01b4 247a0000 nrtn blank 
+01b5 7048bb00 jam 0 ,mem_24g_nodata_timer_enable 
+01b6 7048a407 jam dongle_search ,mem_dongle_work_mode 
+01b7 7048a300 jam clear_init ,mem_dongle_mode_init 
+01b8 202000de branch p_g24_rx_interrupt_clear 
 
 p_g24_receive_transmit_ack:
-01b5 204000da call p_g24_rx_interrupt_clear 
-01b6 20400393 call p_g24_receive_packet 
-01b7 24778000 nrtn user3 
-01b8 20200254 branch p_g24_transmit_ack 
+01b9 204000de call p_g24_rx_interrupt_clear 
+01ba 20400397 call p_g24_receive_packet 
+01bb 24778000 nrtn user3 
+01bc 20200258 branch p_g24_transmit_ack 
 
 p_g24_dongle_search_mode_auto:
-01b9 6800c8a4 fetch 1 ,mem_dongle_work_mode 
-01ba c1838000 rtnne dongle_search 
-01bb 204001de call p_g24_dongle_search_mode_init 
-01bc 204001f2 call p_g24_rx_auto_addr_ch_search 
-01bd 204001b5 call p_g24_receive_transmit_ack 
-01be 243780da nbranch p_g24_rx_interrupt_clear ,user3 
-01bf 204001ee call p_g24_rx_addr_check 
-01c0 2042827e call p_g24_receive_packet_parse ,zero 
-01c1 7048a400 jam dongle_work ,mem_dongle_work_mode 
-01c2 6800c8a3 fetch 1 ,mem_dongle_mode_init 
-01c3 79207e00 set1 dongle_work ,pdata 
-01c4 6000c8a3 store 1 ,mem_dongle_mode_init 
-01c5 6800c8b8 fetch 1 ,mem_24g_ackpayload_enable 
-01c6 1fe67c02 sub pdata ,2 ,null 
-01c7 244281d5 ncall p_g24_ackpayload_disable ,zero 
-01c8 204000da call p_g24_rx_interrupt_clear 
-01c9 204001a8 call p_g24_enable_nodata_timer 
-01ca 204001ee call p_g24_rx_addr_check 
-01cb 202281d7 branch p_g24_dg_ch_num_reinit ,zero 
-01cc 6802485e fetch 4 ,mem_24g_addr 
-01cd 680a48d6 fetcht 4 ,mem_24g_kb_addr 
-01ce 98467c00 isub temp ,null 
-01cf 202281da branch p_g24_kb_ch_num_reinit ,zero 
+01bd 6800c8a4 fetch 1 ,mem_dongle_work_mode 
+01be c1838000 rtnne dongle_search 
+01bf 204001e2 call p_g24_dongle_search_mode_init 
+01c0 204001f6 call p_g24_rx_auto_addr_ch_search 
+01c1 204001b9 call p_g24_receive_transmit_ack 
+01c2 243780de nbranch p_g24_rx_interrupt_clear ,user3 
+01c3 204001f2 call p_g24_rx_addr_check 
+01c4 20428282 call p_g24_receive_packet_parse ,zero 
+01c5 7048a400 jam dongle_work ,mem_dongle_work_mode 
+01c6 6800c8a3 fetch 1 ,mem_dongle_mode_init 
+01c7 79207e00 set1 dongle_work ,pdata 
+01c8 6000c8a3 store 1 ,mem_dongle_mode_init 
+01c9 6800c8b8 fetch 1 ,mem_24g_ackpayload_enable 
+01ca 1fe67c02 sub pdata ,2 ,null 
+01cb 244281d9 ncall p_g24_ackpayload_disable ,zero 
+01cc 204000de call p_g24_rx_interrupt_clear 
+01cd 204001ac call p_g24_enable_nodata_timer 
+01ce 204001f2 call p_g24_rx_addr_check 
+01cf 202281db branch p_g24_dg_ch_num_reinit ,zero 
 01d0 6802485e fetch 4 ,mem_24g_addr 
-01d1 680a48da fetcht 4 ,mem_24g_ms_addr 
+01d1 680a48d6 fetcht 4 ,mem_24g_kb_addr 
 01d2 98467c00 isub temp ,null 
-01d3 202281dc branch p_g24_ms_ch_num_reinit ,zero 
-01d4 20600000 rtn 
+01d3 202281de branch p_g24_kb_ch_num_reinit ,zero 
+01d4 6802485e fetch 4 ,mem_24g_addr 
+01d5 680a48da fetcht 4 ,mem_24g_ms_addr 
+01d6 98467c00 isub temp ,null 
+01d7 202281e0 branch p_g24_ms_ch_num_reinit ,zero 
+01d8 20600000 rtn 
 
 p_g24_ackpayload_disable:
-01d5 7048b800 jam 0 ,mem_24g_ackpayload_enable 
-01d6 20600000 rtn 
+01d9 7048b800 jam 0 ,mem_24g_ackpayload_enable 
+01da 20600000 rtn 
 
 p_g24_dg_ch_num_reinit:
-01d7 6800c8df fetch 1 ,mem_24g_dg_ch_number 
+01db 6800c8df fetch 1 ,mem_24g_dg_ch_number 
 
 p_g24_current_ch_num_reinit:
-01d8 6000c841 store 1 ,mem_24g_current_ch_number 
-01d9 20600000 rtn 
+01dc 6000c841 store 1 ,mem_24g_current_ch_number 
+01dd 20600000 rtn 
 
 p_g24_kb_ch_num_reinit:
-01da 6800c8e2 fetch 1 ,mem_24g_kb_ch_number 
-01db 202001d8 branch p_g24_current_ch_num_reinit 
+01de 6800c8e2 fetch 1 ,mem_24g_kb_ch_number 
+01df 202001dc branch p_g24_current_ch_num_reinit 
 
 p_g24_ms_ch_num_reinit:
-01dc 6800c8e5 fetch 1 ,mem_24g_ms_ch_number 
-01dd 202001d8 branch p_g24_current_ch_num_reinit 
+01e0 6800c8e5 fetch 1 ,mem_24g_ms_ch_number 
+01e1 202001dc branch p_g24_current_ch_num_reinit 
 
 p_g24_dongle_search_mode_init:
-01de 6800c8a3 fetch 1 ,mem_dongle_mode_init 
-01df c3838000 rtnbit1 dongle_search 
-01e0 79207e07 set1 dongle_search ,pdata 
-01e1 6000c8a3 store 1 ,mem_dongle_mode_init 
-01e2 7048bc00 jam 0 ,mem_24g_time_slice 
-01e3 7048b801 jam 1 ,mem_24g_ackpayload_enable 
-01e4 58000000 setarg 0 
-01e5 6001c8f5 store 3 ,mem_rssi_noise_dg_index 
-01e6 6003c8e0 store 7 ,mem_24g_dg_config_ch_once 
-01e7 204001ee call p_g24_rx_addr_check 
-01e8 24628000 nrtn zero 
-01e9 6800c841 fetch 1 ,mem_24g_current_ch_number 
-01ea 6000c8df store 1 ,mem_24g_dg_ch_number 
-01eb 6800c840 fetch 1 ,mem_24g_ch 
-01ec 6000c8de store 1 ,mem_24g_dg_last_ch 
-01ed 20600000 rtn 
+01e2 6800c8a3 fetch 1 ,mem_dongle_mode_init 
+01e3 c3838000 rtnbit1 dongle_search 
+01e4 79207e07 set1 dongle_search ,pdata 
+01e5 6000c8a3 store 1 ,mem_dongle_mode_init 
+01e6 7048bc00 jam 0 ,mem_24g_time_slice 
+01e7 7048b801 jam 1 ,mem_24g_ackpayload_enable 
+01e8 58000000 setarg 0 
+01e9 6001c8f5 store 3 ,mem_rssi_noise_dg_index 
+01ea 6003c8e0 store 7 ,mem_24g_dg_config_ch_once 
+01eb 204001f2 call p_g24_rx_addr_check 
+01ec 24628000 nrtn zero 
+01ed 6800c841 fetch 1 ,mem_24g_current_ch_number 
+01ee 6000c8df store 1 ,mem_24g_dg_ch_number 
+01ef 6800c840 fetch 1 ,mem_24g_ch 
+01f0 6000c8de store 1 ,mem_24g_dg_last_ch 
+01f1 20600000 rtn 
 
 p_g24_rx_addr_check:
-01ee 6802485e fetch 4 ,mem_24g_addr 
-01ef 680a489f fetcht 4 ,mem_24g_rx_addr 
-01f0 98467c00 isub temp ,null 
-01f1 20600000 rtn 
+01f2 6802485e fetch 4 ,mem_24g_addr 
+01f3 680a489f fetcht 4 ,mem_24g_rx_addr 
+01f4 98467c00 isub temp ,null 
+01f5 20600000 rtn 
 
 p_g24_rx_auto_addr_ch_search:
-01f2 6800c8bc fetch 1 ,mem_24g_time_slice 
-01f3 1fe0fe01 increase 1 ,pdata 
-01f4 1fe17e03 and_into 3 ,pdata 
-01f5 6000c8bc store 1 ,mem_24g_time_slice 
-01f6 c0000215 beq 0 ,p_g24_rx_auto_bind_config_kb 
-01f7 c000822f beq 1 ,p_g24_rx_auto_bind_config_dongle 
-01f8 c00101fb beq 2 ,p_g24_rx_auto_bind_config_mouse 
-01f9 c001822f beq 3 ,p_g24_rx_auto_bind_config_dongle 
-01fa 20600000 rtn 
+01f6 6800c8bc fetch 1 ,mem_24g_time_slice 
+01f7 1fe0fe01 increase 1 ,pdata 
+01f8 1fe17e03 and_into 3 ,pdata 
+01f9 6000c8bc store 1 ,mem_24g_time_slice 
+01fa c0000219 beq 0 ,p_g24_rx_auto_bind_config_kb 
+01fb c0008233 beq 1 ,p_g24_rx_auto_bind_config_dongle 
+01fc c00101ff beq 2 ,p_g24_rx_auto_bind_config_mouse 
+01fd c0018233 beq 3 ,p_g24_rx_auto_bind_config_dongle 
+01fe 20600000 rtn 
 
 p_g24_rx_auto_bind_config_mouse:
-01fb 204000e2 call p_g24_dongle_bind_ms_payload_cfg 
-01fc 680248da fetch 4 ,mem_24g_ms_addr 
-01fd 203a01f2 branch p_g24_rx_auto_addr_ch_search ,blank 
-01fe 20400359 call p_g24_update_addr_and_synccrc8 
-01ff 6800c8e6 fetch 1 ,mem_24g_ms_config_ch_once 
-0200 205a0210 call p_g24_ms_config_ch_once ,blank 
-0201 6800c8e4 fetch 1 ,mem_24g_ms_last_ch 
-0202 6000c840 store 1 ,mem_24g_ch 
-0203 6808c8f7 fetcht 1 ,mem_rssi_noise_ms_index 
-0204 da200f9e arg mem_rssi_noise_ms_buffer ,rega 
-0205 2040034d call p_rssi_store 
-0206 6008c8f7 storet 1 ,mem_rssi_noise_ms_index 
-0207 20400354 call p_rssi_average 
-0208 6008c8f4 storet 1 ,mem_rssi_noise_ms_avg 
-0209 18467c50 sub temp ,rssi_thresh_noise ,null 
-020a 24610000 nrtn positive 
-020b 6808c8e5 fetcht 1 ,mem_24g_ms_ch_number 
-020c 2040037d call p_g24_ch_map_size 
-020d 6008c8e5 storet 1 ,mem_24g_ms_ch_number 
-020e 6000c8e4 store 1 ,mem_24g_ms_last_ch 
-020f 20600000 rtn 
+01ff 204000e6 call p_g24_dongle_bind_ms_payload_cfg 
+0200 680248da fetch 4 ,mem_24g_ms_addr 
+0201 203a01f6 branch p_g24_rx_auto_addr_ch_search ,blank 
+0202 2040035d call p_g24_update_addr_and_synccrc8 
+0203 6800c8e6 fetch 1 ,mem_24g_ms_config_ch_once 
+0204 205a0214 call p_g24_ms_config_ch_once ,blank 
+0205 6800c8e4 fetch 1 ,mem_24g_ms_last_ch 
+0206 6000c840 store 1 ,mem_24g_ch 
+0207 6808c8f7 fetcht 1 ,mem_rssi_noise_ms_index 
+0208 da200f9e arg mem_rssi_noise_ms_buffer ,rega 
+0209 20400351 call p_rssi_store 
+020a 6008c8f7 storet 1 ,mem_rssi_noise_ms_index 
+020b 20400358 call p_rssi_average 
+020c 6008c8f4 storet 1 ,mem_rssi_noise_ms_avg 
+020d 18467c50 sub temp ,rssi_thresh_noise ,null 
+020e 24610000 nrtn positive 
+020f 6808c8e5 fetcht 1 ,mem_24g_ms_ch_number 
+0210 20400381 call p_g24_ch_map_size 
+0211 6008c8e5 storet 1 ,mem_24g_ms_ch_number 
+0212 6000c8e4 store 1 ,mem_24g_ms_last_ch 
+0213 20600000 rtn 
 
 p_g24_ms_config_ch_once:
-0210 7048e601 jam 1 ,mem_24g_ms_config_ch_once 
-0211 d8400000 arg 0 ,temp 
-0212 20400381 call p_g24_ch_calc 
-0213 6000c8e4 store 1 ,mem_24g_ms_last_ch 
-0214 20600000 rtn 
+0214 7048e601 jam 1 ,mem_24g_ms_config_ch_once 
+0215 d8400000 arg 0 ,temp 
+0216 20400385 call p_g24_ch_calc 
+0217 6000c8e4 store 1 ,mem_24g_ms_last_ch 
+0218 20600000 rtn 
 
 p_g24_rx_auto_bind_config_kb:
-0215 204000e8 call p_g24_dongle_bind_kb_payload_cfg 
-0216 680248d6 fetch 4 ,mem_24g_kb_addr 
-0217 203a01f2 branch p_g24_rx_auto_addr_ch_search ,blank 
-0218 20400359 call p_g24_update_addr_and_synccrc8 
-0219 6800c8e3 fetch 1 ,mem_24g_kb_config_ch_once 
-021a 205a022a call p_g24_kb_config_ch_once ,blank 
-021b 6800c8e1 fetch 1 ,mem_24g_kb_last_ch 
-021c 6000c840 store 1 ,mem_24g_ch 
-021d 6808c8f6 fetcht 1 ,mem_rssi_noise_kb_index 
-021e da20109e arg mem_rssi_noise_kb_buffer ,rega 
-021f 2040034d call p_rssi_store 
-0220 6008c8f6 storet 1 ,mem_rssi_noise_kb_index 
-0221 20400354 call p_rssi_average 
-0222 6008c8f3 storet 1 ,mem_rssi_noise_kb_avg 
-0223 18467c50 sub temp ,rssi_thresh_noise ,null 
-0224 24610000 nrtn positive 
-0225 6808c8e2 fetcht 1 ,mem_24g_kb_ch_number 
-0226 2040037d call p_g24_ch_map_size 
-0227 6008c8e2 storet 1 ,mem_24g_kb_ch_number 
-0228 6000c8e1 store 1 ,mem_24g_kb_last_ch 
-0229 20600000 rtn 
+0219 204000ec call p_g24_dongle_bind_kb_payload_cfg 
+021a 680248d6 fetch 4 ,mem_24g_kb_addr 
+021b 203a01f6 branch p_g24_rx_auto_addr_ch_search ,blank 
+021c 2040035d call p_g24_update_addr_and_synccrc8 
+021d 6800c8e3 fetch 1 ,mem_24g_kb_config_ch_once 
+021e 205a022e call p_g24_kb_config_ch_once ,blank 
+021f 6800c8e1 fetch 1 ,mem_24g_kb_last_ch 
+0220 6000c840 store 1 ,mem_24g_ch 
+0221 6808c8f6 fetcht 1 ,mem_rssi_noise_kb_index 
+0222 da20109e arg mem_rssi_noise_kb_buffer ,rega 
+0223 20400351 call p_rssi_store 
+0224 6008c8f6 storet 1 ,mem_rssi_noise_kb_index 
+0225 20400358 call p_rssi_average 
+0226 6008c8f3 storet 1 ,mem_rssi_noise_kb_avg 
+0227 18467c50 sub temp ,rssi_thresh_noise ,null 
+0228 24610000 nrtn positive 
+0229 6808c8e2 fetcht 1 ,mem_24g_kb_ch_number 
+022a 20400381 call p_g24_ch_map_size 
+022b 6008c8e2 storet 1 ,mem_24g_kb_ch_number 
+022c 6000c8e1 store 1 ,mem_24g_kb_last_ch 
+022d 20600000 rtn 
 
 p_g24_kb_config_ch_once:
-022a 7048e301 jam 1 ,mem_24g_kb_config_ch_once 
-022b d8400000 arg 0 ,temp 
-022c 20400381 call p_g24_ch_calc 
-022d 6000c8e1 store 1 ,mem_24g_kb_last_ch 
-022e 20600000 rtn 
+022e 7048e301 jam 1 ,mem_24g_kb_config_ch_once 
+022f d8400000 arg 0 ,temp 
+0230 20400385 call p_g24_ch_calc 
+0231 6000c8e1 store 1 ,mem_24g_kb_last_ch 
+0232 20600000 rtn 
 
 p_g24_rx_auto_bind_config_dongle:
-022f 204000e2 call p_g24_dongle_bind_ms_payload_cfg 
-0230 6802489f fetch 4 ,mem_24g_rx_addr 
-0231 20400359 call p_g24_update_addr_and_synccrc8 
-0232 6800c8e0 fetch 1 ,mem_24g_dg_config_ch_once 
-0233 205a0243 call p_g24_dg_config_ch_once ,blank 
-0234 6800c8de fetch 1 ,mem_24g_dg_last_ch 
-0235 6000c840 store 1 ,mem_24g_ch 
-0236 6808c8f5 fetcht 1 ,mem_rssi_noise_dg_index 
-0237 da200e9e arg mem_rssi_noise_dg_buffer ,rega 
-0238 2040034d call p_rssi_store 
-0239 6008c8f5 storet 1 ,mem_rssi_noise_dg_index 
-023a 20400354 call p_rssi_average 
-023b 6008c8f2 storet 1 ,mem_rssi_noise_dg_avg 
-023c 18467c50 sub temp ,rssi_thresh_noise ,null 
-023d 24610000 nrtn positive 
-023e 6808c8df fetcht 1 ,mem_24g_dg_ch_number 
-023f 2040037d call p_g24_ch_map_size 
-0240 6008c8df storet 1 ,mem_24g_dg_ch_number 
-0241 6000c8de store 1 ,mem_24g_dg_last_ch 
-0242 20600000 rtn 
+0233 204000e6 call p_g24_dongle_bind_ms_payload_cfg 
+0234 6802489f fetch 4 ,mem_24g_rx_addr 
+0235 2040035d call p_g24_update_addr_and_synccrc8 
+0236 6800c8e0 fetch 1 ,mem_24g_dg_config_ch_once 
+0237 205a0247 call p_g24_dg_config_ch_once ,blank 
+0238 6800c8de fetch 1 ,mem_24g_dg_last_ch 
+0239 6000c840 store 1 ,mem_24g_ch 
+023a 6808c8f5 fetcht 1 ,mem_rssi_noise_dg_index 
+023b da200e9e arg mem_rssi_noise_dg_buffer ,rega 
+023c 20400351 call p_rssi_store 
+023d 6008c8f5 storet 1 ,mem_rssi_noise_dg_index 
+023e 20400358 call p_rssi_average 
+023f 6008c8f2 storet 1 ,mem_rssi_noise_dg_avg 
+0240 18467c50 sub temp ,rssi_thresh_noise ,null 
+0241 24610000 nrtn positive 
+0242 6808c8df fetcht 1 ,mem_24g_dg_ch_number 
+0243 20400381 call p_g24_ch_map_size 
+0244 6008c8df storet 1 ,mem_24g_dg_ch_number 
+0245 6000c8de store 1 ,mem_24g_dg_last_ch 
+0246 20600000 rtn 
 
 p_g24_dg_config_ch_once:
-0243 7048e001 jam 1 ,mem_24g_dg_config_ch_once 
-0244 6800c8de fetch 1 ,mem_24g_dg_last_ch 
-0245 6000c840 store 1 ,mem_24g_ch 
-0246 20600000 rtn 
+0247 7048e001 jam 1 ,mem_24g_dg_config_ch_once 
+0248 6800c8de fetch 1 ,mem_24g_dg_last_ch 
+0249 6000c840 store 1 ,mem_24g_ch 
+024a 20600000 rtn 
 
 p_g24_read_len_pid_crc:
-0247 6800c7b1 fetch 1 ,mem_24g_rxbuf + 1 
-0248 1fe97e00 rshift3 pdata ,pdata 
-0249 6000c834 store 1 ,mem_24g_rxdata_length 
-024a 1fe0fe01 increase 1 ,pdata 
-024b d8c047b1 arg mem_24g_rxbuf + 1 ,contr 
-024c 98c08c00 iadd contr ,contr 
-024d e8c18000 ifetch 3 ,contr 
-024e 6001c873 store 3 ,mem_24g_sta_crc 
-024f 6800c7b1 fetch 1 ,mem_24g_rxbuf + 1 
-0250 1fe37e00 rshift pdata ,pdata 
-0251 1fe17e03 and pdata ,0x03 ,pdata 
-0252 6000c879 store 1 ,mem_24g_sta_pid 
-0253 20600000 rtn 
+024b 6800c7b1 fetch 1 ,mem_24g_rxbuf + 1 
+024c 1fe97e00 rshift3 pdata ,pdata 
+024d 6000c834 store 1 ,mem_24g_rxdata_length 
+024e 1fe0fe01 increase 1 ,pdata 
+024f d8c047b1 arg mem_24g_rxbuf + 1 ,contr 
+0250 98c08c00 iadd contr ,contr 
+0251 e8c18000 ifetch 3 ,contr 
+0252 6001c873 store 3 ,mem_24g_sta_crc 
+0253 6800c7b1 fetch 1 ,mem_24g_rxbuf + 1 
+0254 1fe37e00 rshift pdata ,pdata 
+0255 1fe17e03 and pdata ,0x03 ,pdata 
+0256 6000c879 store 1 ,mem_24g_sta_pid 
+0257 20600000 rtn 
 
 p_g24_transmit_ack:
-0254 6800c7b0 fetch 1 ,mem_24g_rxbuf 
-0255 6000c837 store 1 ,mem_24g_data_type 
-0256 20400247 call p_g24_read_len_pid_crc 
-0257 6800c7b1 fetch 1 ,mem_24g_rxbuf + 1 
-0258 2feffe00 isolate1 bit_ack_24g ,pdata 
-0259 2020825d branch p_g24tx_no_ack ,true 
+0258 6800c7b0 fetch 1 ,mem_24g_rxbuf 
+0259 6000c837 store 1 ,mem_24g_data_type 
+025a 2040024b call p_g24_read_len_pid_crc 
+025b 6800c7b1 fetch 1 ,mem_24g_rxbuf + 1 
+025c 2feffe00 isolate1 bit_ack_24g ,pdata 
+025d 20208261 branch p_g24tx_no_ack ,true 
 
 p_g24tx_with_ack:
-025a 2040025e call p_g24_ackpayload_prep 
-025b 20400367 call p_g24_transmit_prep 
-025c 204003dd call p_g24_transmit 
+025e 20400262 call p_g24_ackpayload_prep 
+025f 2040036b call p_g24_transmit_prep 
+0260 204003e1 call p_g24_transmit 
 
 p_g24tx_no_ack:
-025d 202003d5 branch p_g24_end_of_packet 
+0261 202003d9 branch p_g24_end_of_packet 
 
 p_g24_ackpayload_prep:
-025e 70483600 jam 0 ,mem_24g_datalen 
-025f 6800c8b8 fetch 1 ,mem_24g_ackpayload_enable 
-0260 207a0000 rtn blank 
-0261 c0008265 beq bind_ackpayload ,p_g24_bind_ackpayload_prep 
-0262 c001026a beq user_ackpayload ,p_g24_user_ackpayload_prep 
-0263 c0018274 beq kb_led_ackpayload ,p_g24_kb_led_ackpayload_prep 
-0264 20600000 rtn 
+0262 70483600 jam 0 ,mem_24g_datalen 
+0263 6800c8b8 fetch 1 ,mem_24g_ackpayload_enable 
+0264 207a0000 rtn blank 
+0265 c0008269 beq bind_ackpayload ,p_g24_bind_ackpayload_prep 
+0266 c001026e beq user_ackpayload ,p_g24_user_ackpayload_prep 
+0267 c0018278 beq kb_led_ackpayload ,p_g24_kb_led_ackpayload_prep 
+0268 20600000 rtn 
 
 p_g24_bind_ackpayload_prep:
-0265 70483608 jam 0x08 ,mem_24g_datalen 
-0266 df200008 arg 0x08 ,loopcnt 
-0267 d8c048a8 arg mem_24g_bind_payload ,contr 
-0268 d8a047d2 arg mem_24g_txbuf ,contw 
-0269 20207f01 branch memcpy 
+0269 70483608 jam 0x08 ,mem_24g_datalen 
+026a df200008 arg 0x08 ,loopcnt 
+026b d8c048a8 arg mem_24g_bind_payload ,contr 
+026c d8a047d2 arg mem_24g_txbuf ,contw 
+026d 20207f01 branch memcpy 
 
 p_g24_user_ackpayload_prep:
-026a 20400134 call p_g24_queue_read_point 
-026b 24740000 nrtn user 
-026c 7048361f jam 0x1f ,mem_24g_datalen 
-026d df20001f arg 0x1f ,loopcnt 
-026e 1fe20c00 copy pdata ,contr 
-026f d8a047d2 arg mem_24g_txbuf ,contw 
-0270 20407f01 call memcpy 
-0271 680147d5 fetch 2 ,mem_24g_txbuf + 3 
-0272 600148eb store 2 ,mem_24g_ota_sta_pid 
-0273 20600000 rtn 
+026e 20400138 call p_g24_queue_read_point 
+026f 24740000 nrtn user 
+0270 7048361f jam 0x1f ,mem_24g_datalen 
+0271 df20001f arg 0x1f ,loopcnt 
+0272 1fe20c00 copy pdata ,contr 
+0273 d8a047d2 arg mem_24g_txbuf ,contw 
+0274 20407f01 call memcpy 
+0275 680147d5 fetch 2 ,mem_24g_txbuf + 3 
+0276 600148eb store 2 ,mem_24g_ota_sta_pid 
+0277 20600000 rtn 
 
 p_g24_kb_led_ackpayload_prep:
-0274 7048b800 jam 0 ,mem_24g_ackpayload_enable 
-0275 700d4300 jam 0 ,mem_usb_tx_win_enable 
-0276 70483601 jam 0x01 ,mem_24g_datalen 
-0277 df200001 arg 0x01 ,loopcnt 
-0278 d8c04978 arg mem_24g_led_status ,contr 
-0279 d8a047d2 arg mem_24g_txbuf ,contw 
-027a 20207f01 branch memcpy 
+0278 7048b800 jam 0 ,mem_24g_ackpayload_enable 
+0279 700d4300 jam 0 ,mem_usb_tx_win_enable 
+027a 70483601 jam 0x01 ,mem_24g_datalen 
+027b df200001 arg 0x01 ,loopcnt 
+027c d8c04978 arg mem_24g_led_status ,contr 
+027d d8a047d2 arg mem_24g_txbuf ,contw 
+027e 20207f01 branch memcpy 
 
 p_g24_receive_packet_start:
-027b 204001b5 call p_g24_receive_transmit_ack 
-027c 243780da nbranch p_g24_rx_interrupt_clear ,user3 
-027d 2020027e branch p_g24_receive_packet_parse 
+027f 204001b9 call p_g24_receive_transmit_ack 
+0280 243780de nbranch p_g24_rx_interrupt_clear ,user3 
+0281 20200282 branch p_g24_receive_packet_parse 
 
 p_g24_receive_packet_parse:
-027e 2040028f call p_g24_receive_packet_parse_pid_crc 
-027f 243400da nbranch p_g24_rx_interrupt_clear ,user 
-0280 6800c834 fetch 1 ,mem_24g_rxdata_length 
-0281 203a00da branch p_g24_rx_interrupt_clear ,blank 
-0282 1fe0fe02 increase 2 ,pdata 
-0283 98007200 iforce loopcnt 
-0284 d8c047b0 arg mem_24g_rxbuf ,contr 
-0285 d8a0487d arg mem_24g_rxdata_temp ,contw 
-0286 20407f01 call memcpy 
-0287 7048b700 jam 0 ,mem_24g_mode_switch 
-0288 6800c8ba fetch 1 ,mem_24g_pair_mode 
-0289 205a01a8 call p_g24_enable_nodata_timer ,blank 
-028a 6800c87f fetch 1 ,mem_24g_rxdata_temp + 2 
-028b c000829d beq 0x01 ,p_g24_data_type1 
-028c c00102bc beq 0x02 ,p_g24_data_type2 
-028d c07f82f5 beq 0xff ,p_g24_data_attemp 
-028e 202000da branch p_g24_rx_interrupt_clear 
+0282 20400293 call p_g24_receive_packet_parse_pid_crc 
+0283 243400de nbranch p_g24_rx_interrupt_clear ,user 
+0284 6800c834 fetch 1 ,mem_24g_rxdata_length 
+0285 203a00de branch p_g24_rx_interrupt_clear ,blank 
+0286 1fe0fe02 increase 2 ,pdata 
+0287 98007200 iforce loopcnt 
+0288 d8c047b0 arg mem_24g_rxbuf ,contr 
+0289 d8a0487d arg mem_24g_rxdata_temp ,contw 
+028a 20407f01 call memcpy 
+028b 7048b700 jam 0 ,mem_24g_mode_switch 
+028c 6800c8ba fetch 1 ,mem_24g_pair_mode 
+028d 205a01ac call p_g24_enable_nodata_timer ,blank 
+028e 6800c87f fetch 1 ,mem_24g_rxdata_temp + 2 
+028f c00082a1 beq 0x01 ,p_g24_data_type1 
+0290 c00102c0 beq 0x02 ,p_g24_data_type2 
+0291 c07f82f9 beq 0xff ,p_g24_data_attemp 
+0292 202000de branch p_g24_rx_interrupt_clear 
 
 p_g24_receive_packet_parse_pid_crc:
-028f 20407fe9 call disable_user 
-0290 6800c879 fetch 1 ,mem_24g_sta_pid 
-0291 6808c87a fetcht 1 ,mem_24g_last_pid 
-0292 98467c00 isub temp ,null 
-0293 2442ffe7 ncall enable_user ,zero 
+0293 20407fe9 call disable_user 
 0294 6800c879 fetch 1 ,mem_24g_sta_pid 
-0295 6000c87a store 1 ,mem_24g_last_pid 
-0296 6801c873 fetch 3 ,mem_24g_sta_crc 
-0297 6809c876 fetcht 3 ,mem_24g_last_crc 
-0298 98467c00 isub temp ,null 
-0299 2442ffe7 ncall enable_user ,zero 
+0295 6808c87a fetcht 1 ,mem_24g_last_pid 
+0296 98467c00 isub temp ,null 
+0297 2442ffe7 ncall enable_user ,zero 
+0298 6800c879 fetch 1 ,mem_24g_sta_pid 
+0299 6000c87a store 1 ,mem_24g_last_pid 
 029a 6801c873 fetch 3 ,mem_24g_sta_crc 
-029b 6001c876 store 3 ,mem_24g_last_crc 
-029c 20600000 rtn 
+029b 6809c876 fetcht 3 ,mem_24g_last_crc 
+029c 98467c00 isub temp ,null 
+029d 2442ffe7 ncall enable_user ,zero 
+029e 6801c873 fetch 3 ,mem_24g_sta_crc 
+029f 6001c876 store 3 ,mem_24g_last_crc 
+02a0 20600000 rtn 
 
 p_g24_data_type1:
-029d 2040009d call p_g24_ch_timer_reinit 
-029e 6800c8b0 fetch 1 ,mem_24g_abort_packet 
-029f 6808c87d fetcht 1 ,mem_24g_rxdata_temp 
-02a0 284ffe03 isolate1 bit_abort ,temp 
-02a1 7920fe00 setflag true ,0 ,pdata 
-02a2 6000c8b0 store 1 ,mem_24g_abort_packet 
-02a3 c00082fd beq 1 ,p_g24_data_attemp_mouse_abort 
-02a4 6800c8b9 fetch 1 ,mem_24g_hop_packet 
-02a5 6808c87d fetcht 1 ,mem_24g_rxdata_temp 
-02a6 284ffe04 isolate1 bit_hop ,temp 
-02a7 7920fe00 setflag true ,0 ,pdata 
-02a8 6000c8b9 store 1 ,mem_24g_hop_packet 
-02a9 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-02aa c0678301 beq cmd_ota ,p_g24_ota_process 
-02ab 58000001 setarg ms_report_id 
-02ac 60008d54 store 1 ,mem_usb_mouse_data 
-02ad 6803c880 fetch 7 ,mem_24g_rxdata_temp + 3 
-02ae e0a38000 istore 7 ,contw 
-02af 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-02b0 245a02b4 ncall p_g24_ms_enable_blank_data_forcibly ,blank 
-02b1 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-02b2 205a02b8 call p_g24_ms_disable_blank_data_forcibly ,blank 
-02b3 202031b8 branch g24_data_type1_usbtx_enable 
+02a1 204000a1 call p_g24_ch_timer_reinit 
+02a2 6800c8b0 fetch 1 ,mem_24g_abort_packet 
+02a3 6808c87d fetcht 1 ,mem_24g_rxdata_temp 
+02a4 284ffe03 isolate1 bit_abort ,temp 
+02a5 7920fe00 setflag true ,0 ,pdata 
+02a6 6000c8b0 store 1 ,mem_24g_abort_packet 
+02a7 c0008301 beq 1 ,p_g24_data_attemp_mouse_abort 
+02a8 6800c8b9 fetch 1 ,mem_24g_hop_packet 
+02a9 6808c87d fetcht 1 ,mem_24g_rxdata_temp 
+02aa 284ffe04 isolate1 bit_hop ,temp 
+02ab 7920fe00 setflag true ,0 ,pdata 
+02ac 6000c8b9 store 1 ,mem_24g_hop_packet 
+02ad 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+02ae c0678305 beq cmd_ota ,p_g24_ota_process 
+02af 58000001 setarg ms_report_id 
+02b0 60008d54 store 1 ,mem_usb_mouse_data 
+02b1 6803c880 fetch 7 ,mem_24g_rxdata_temp + 3 
+02b2 e0a38000 istore 7 ,contw 
+02b3 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+02b4 245a02b8 ncall p_g24_ms_enable_blank_data_forcibly ,blank 
+02b5 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+02b6 205a02bc call p_g24_ms_disable_blank_data_forcibly ,blank 
+02b7 202031b8 branch g24_data_type1_usbtx_enable 
 
 p_g24_ms_enable_blank_data_forcibly:
-02b4 7048d501 jam 1 ,mem_24g_ms_blank_data_enable 
-02b5 58000180 setarg timer_new_ms_blank_delay 
-02b6 d8e0000b arg timer_new_ms_blank ,queue 
-02b7 20207f08 branch timer_init 
-
-p_g24_ms_disable_blank_data_forcibly:
-02b8 7048d500 jam 0 ,mem_24g_ms_blank_data_enable 
-02b9 58000000 setarg 0 
+02b8 7048d501 jam 1 ,mem_24g_ms_blank_data_enable 
+02b9 58000180 setarg timer_new_ms_blank_delay 
 02ba d8e0000b arg timer_new_ms_blank ,queue 
 02bb 20207f08 branch timer_init 
 
+p_g24_ms_disable_blank_data_forcibly:
+02bc 7048d500 jam 0 ,mem_24g_ms_blank_data_enable 
+02bd 58000000 setarg 0 
+02be d8e0000b arg timer_new_ms_blank ,queue 
+02bf 20207f08 branch timer_init 
+
 p_g24_data_type2:
-02bc 6808c87d fetcht 1 ,mem_24g_rxdata_temp 
-02bd 284ffe03 isolate1 bit_abort ,temp 
-02be 202082ff branch p_g24_data_attemp_kbd_abort ,true 
-02bf 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-02c0 c00002c3 beq 0 ,p_g24_data_type2_data1 
-02c1 c00182dc beq 3 ,p_g24_data_type2_data2 
-02c2 202000da branch p_g24_rx_interrupt_clear 
+02c0 6808c87d fetcht 1 ,mem_24g_rxdata_temp 
+02c1 284ffe03 isolate1 bit_abort ,temp 
+02c2 20208303 branch p_g24_data_attemp_kbd_abort ,true 
+02c3 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+02c4 c00002c7 beq 0 ,p_g24_data_type2_data1 
+02c5 c00182e0 beq 3 ,p_g24_data_type2_data2 
+02c6 202000de branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_data1:
-02c3 d8a00d64 arg mem_usb_kb_data ,contw 
-02c4 204002d1 call p_g24_data_type2_copy_data1 
-02c5 68040d64 fetch 8 ,mem_usb_kb_data 
-02c6 245a02d4 ncall p_g24_kb_enable_blank_data_forcibly ,blank 
-02c7 68040d64 fetch 8 ,mem_usb_kb_data 
-02c8 205a02d8 call p_g24_kb_disable_blank_data_forcibly ,blank 
+02c7 d8a00d64 arg mem_usb_kb_data ,contw 
+02c8 204002d5 call p_g24_data_type2_copy_data1 
 02c9 68040d64 fetch 8 ,mem_usb_kb_data 
-02ca 600448bd store 8 ,mem_24g_kb_data_sta_data 
-02cb 680c48c5 fetcht 8 ,mem_24g_kb_data_last_data 
-02cc 98467c00 isub temp ,null 
-02cd 2442b1ed ncall g24_kb_data_into_ep1_fifo ,zero 
-02ce 680448bd fetch 8 ,mem_24g_kb_data_sta_data 
-02cf 600448c5 store 8 ,mem_24g_kb_data_last_data 
-02d0 202000da branch p_g24_rx_interrupt_clear 
+02ca 245a02d8 ncall p_g24_kb_enable_blank_data_forcibly ,blank 
+02cb 68040d64 fetch 8 ,mem_usb_kb_data 
+02cc 205a02dc call p_g24_kb_disable_blank_data_forcibly ,blank 
+02cd 68040d64 fetch 8 ,mem_usb_kb_data 
+02ce 600448bd store 8 ,mem_24g_kb_data_sta_data 
+02cf 680c48c5 fetcht 8 ,mem_24g_kb_data_last_data 
+02d0 98467c00 isub temp ,null 
+02d1 2442b1ed ncall g24_kb_data_into_ep1_fifo ,zero 
+02d2 680448bd fetch 8 ,mem_24g_kb_data_sta_data 
+02d3 600448c5 store 8 ,mem_24g_kb_data_last_data 
+02d4 202000de branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_copy_data1:
-02d1 d8c04881 arg mem_24g_rxdata_temp + 4 ,contr 
-02d2 df200008 arg 8 ,loopcnt 
-02d3 20207f01 branch memcpy 
+02d5 d8c04881 arg mem_24g_rxdata_temp + 4 ,contr 
+02d6 df200008 arg 8 ,loopcnt 
+02d7 20207f01 branch memcpy 
 
 p_g24_kb_enable_blank_data_forcibly:
-02d4 7048d301 jam 1 ,mem_24g_kb_blank_data_enable 
-02d5 58000180 setarg timer_new_kb_blank_delay 
-02d6 d8e0000e arg timer_new_kb_blank ,queue 
-02d7 20207f08 branch timer_init 
-
-p_g24_kb_disable_blank_data_forcibly:
-02d8 7048d300 jam 0 ,mem_24g_kb_blank_data_enable 
-02d9 58000000 setarg 0 
+02d8 7048d301 jam 1 ,mem_24g_kb_blank_data_enable 
+02d9 58000180 setarg timer_new_kb_blank_delay 
 02da d8e0000e arg timer_new_kb_blank ,queue 
 02db 20207f08 branch timer_init 
 
+p_g24_kb_disable_blank_data_forcibly:
+02dc 7048d300 jam 0 ,mem_24g_kb_blank_data_enable 
+02dd 58000000 setarg 0 
+02de d8e0000e arg timer_new_kb_blank ,queue 
+02df 20207f08 branch timer_init 
+
 p_g24_data_type2_data2:
-02dc d8a00d74 arg mem_usb_kb_multikey ,contw 
-02dd 204002ea call p_g24_data_type2_copy_data2 
-02de 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
-02df 245a02ed ncall p_g24_kb_mul_enable_blank_data_forcibly ,blank 
-02e0 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
-02e1 205a02f1 call p_g24_kb_mul_disable_blank_data_forcibly ,blank 
-02e2 68018d74 fetch 3 ,mem_usb_kb_multikey 
-02e3 6001c8cd store 3 ,mem_24g_kb_multikey_sta_data 
-02e4 6809c8d0 fetcht 3 ,mem_24g_kb_multikey_last_data 
-02e5 98467c00 isub temp ,null 
-02e6 2442b207 ncall g24_kb_mul_data_into_ep2_fifo ,zero 
-02e7 6801c8cd fetch 3 ,mem_24g_kb_multikey_sta_data 
-02e8 6001c8d0 store 3 ,mem_24g_kb_multikey_last_data 
-02e9 202000da branch p_g24_rx_interrupt_clear 
+02e0 d8a00d74 arg mem_usb_kb_multikey ,contw 
+02e1 204002ee call p_g24_data_type2_copy_data2 
+02e2 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
+02e3 245a02f1 ncall p_g24_kb_mul_enable_blank_data_forcibly ,blank 
+02e4 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
+02e5 205a02f5 call p_g24_kb_mul_disable_blank_data_forcibly ,blank 
+02e6 68018d74 fetch 3 ,mem_usb_kb_multikey 
+02e7 6001c8cd store 3 ,mem_24g_kb_multikey_sta_data 
+02e8 6809c8d0 fetcht 3 ,mem_24g_kb_multikey_last_data 
+02e9 98467c00 isub temp ,null 
+02ea 2442b207 ncall g24_kb_mul_data_into_ep2_fifo ,zero 
+02eb 6801c8cd fetch 3 ,mem_24g_kb_multikey_sta_data 
+02ec 6001c8d0 store 3 ,mem_24g_kb_multikey_last_data 
+02ed 202000de branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_copy_data2:
-02ea d8c04880 arg mem_24g_rxdata_temp + 3 ,contr 
-02eb df200003 arg 3 ,loopcnt 
-02ec 20207f01 branch memcpy 
+02ee d8c04880 arg mem_24g_rxdata_temp + 3 ,contr 
+02ef df200003 arg 3 ,loopcnt 
+02f0 20207f01 branch memcpy 
 
 p_g24_kb_mul_enable_blank_data_forcibly:
-02ed 7048d401 jam 1 ,mem_24g_kb_mul_blank_data_enable 
-02ee 58000180 setarg timer_new_kb_mul_blank_delay 
-02ef d8e0000c arg timer_new_kb_mul_blank ,queue 
-02f0 20207f08 branch timer_init 
-
-p_g24_kb_mul_disable_blank_data_forcibly:
-02f1 7048d400 jam 0 ,mem_24g_kb_mul_blank_data_enable 
-02f2 58000000 setarg 0 
+02f1 7048d401 jam 1 ,mem_24g_kb_mul_blank_data_enable 
+02f2 58000180 setarg timer_new_kb_mul_blank_delay 
 02f3 d8e0000c arg timer_new_kb_mul_blank ,queue 
 02f4 20207f08 branch timer_init 
 
+p_g24_kb_mul_disable_blank_data_forcibly:
+02f5 7048d400 jam 0 ,mem_24g_kb_mul_blank_data_enable 
+02f6 58000000 setarg 0 
+02f7 d8e0000c arg timer_new_kb_mul_blank ,queue 
+02f8 20207f08 branch timer_init 
+
 p_g24_data_attemp:
-02f5 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-02f6 c00082f9 beq datatype_mouse ,p_g24_data_attemp_mouse 
-02f7 c00102fb beq datatype_keyboard ,p_g24_data_attemp_kbd 
-02f8 20600000 rtn 
+02f9 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+02fa c00082fd beq datatype_mouse ,p_g24_data_attemp_mouse 
+02fb c00102ff beq datatype_keyboard ,p_g24_data_attemp_kbd 
+02fc 20600000 rtn 
 
 p_g24_data_attemp_mouse:
-02f9 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
-02fa 20200117 branch p_g24_store_mouse_addr 
+02fd 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
+02fe 2020011b branch p_g24_store_mouse_addr 
 
 p_g24_data_attemp_kbd:
-02fb 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
-02fc 2020011a branch p_g24_store_kbd_addr 
+02ff 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
+0300 2020011e branch p_g24_store_kbd_addr 
 
 p_g24_data_attemp_mouse_abort:
-02fd 68024887 fetch 4 ,mem_24g_rxdata_temp + 10 
-02fe 20200117 branch p_g24_store_mouse_addr 
+0301 68024887 fetch 4 ,mem_24g_rxdata_temp + 10 
+0302 2020011b branch p_g24_store_mouse_addr 
 
 p_g24_data_attemp_kbd_abort:
-02ff 68024887 fetch 4 ,mem_24g_rxdata_temp + 10 
-0300 2020011a branch p_g24_store_kbd_addr 
+0303 68024887 fetch 4 ,mem_24g_rxdata_temp + 10 
+0304 2020011e branch p_g24_store_kbd_addr 
 
 p_g24_ota_process:
-0301 68014882 fetch 2 ,mem_24g_rxdata_temp + 5 
-0302 680948eb fetcht 2 ,mem_24g_ota_sta_pid 
-0303 98467c00 isub temp ,null 
-0304 20228306 branch p_g24_ota_next_pac ,zero 
-0305 20600000 rtn 
+0305 68014882 fetch 2 ,mem_24g_rxdata_temp + 5 
+0306 680948eb fetcht 2 ,mem_24g_ota_sta_pid 
+0307 98467c00 isub temp ,null 
+0308 2022830a branch p_g24_ota_next_pac ,zero 
+0309 20600000 rtn 
 
 p_g24_ota_next_pac:
-0306 6800c881 fetch 1 ,mem_24g_rxdata_temp + 4 
-0307 c0610313 beq cmd_ota_exit ,p_g24_ota_exit_process 
-0308 6800c900 fetch 1 ,mem_queue_ele_num 
-0309 207a0000 rtn blank 
-030a 58004901 setarg mem_queue_read 
-030b 2040012b call p_g24_queue_increase 
+030a 6800c881 fetch 1 ,mem_24g_rxdata_temp + 4 
+030b c0610317 beq cmd_ota_exit ,p_g24_ota_exit_process 
 030c 6800c900 fetch 1 ,mem_queue_ele_num 
-030d 1fe0ffff increase -1 ,pdata 
-030e 6000c900 store 1 ,mem_queue_ele_num 
-030f 6800c881 fetch 1 ,mem_24g_rxdata_temp + 4 
-0310 c060816c beq cmd_ota_data ,p_user_defined_queue_buff_free 
-0311 c0610313 beq cmd_ota_exit ,p_g24_ota_exit_process 
-0312 20600000 rtn 
+030d 207a0000 rtn blank 
+030e 58004901 setarg mem_queue_read 
+030f 2040012f call p_g24_queue_increase 
+0310 6800c900 fetch 1 ,mem_queue_ele_num 
+0311 1fe0ffff increase -1 ,pdata 
+0312 6000c900 store 1 ,mem_queue_ele_num 
+0313 6800c881 fetch 1 ,mem_24g_rxdata_temp + 4 
+0314 c0608170 beq cmd_ota_data ,p_user_defined_queue_buff_free 
+0315 c0610317 beq cmd_ota_exit ,p_g24_ota_exit_process 
+0316 20600000 rtn 
 
 p_g24_ota_exit_process:
-0313 58000000 setarg 0 
-0314 600148eb store 2 ,mem_24g_ota_sta_pid 
-0315 6000c8b8 store 1 ,mem_24g_ackpayload_enable 
-0316 2040011c call p_g24_queue_init 
-0317 6800c884 fetch 1 ,mem_24g_rxdata_temp + 7 
-0318 c02a831b beq ota_sta_success ,p_g24_ota_exit_success 
-0319 c055031d beq ota_sta_fail ,p_g24_ota_exit_fail 
-031a 20600000 rtn 
+0317 58000000 setarg 0 
+0318 600148eb store 2 ,mem_24g_ota_sta_pid 
+0319 6000c8b8 store 1 ,mem_24g_ackpayload_enable 
+031a 20400120 call p_g24_queue_init 
+031b 6800c884 fetch 1 ,mem_24g_rxdata_temp + 7 
+031c c02a831f beq ota_sta_success ,p_g24_ota_exit_success 
+031d c0550321 beq ota_sta_fail ,p_g24_ota_exit_fail 
+031e 20600000 rtn 
 
 p_g24_ota_exit_success:
-031b 700cf702 jam 2 ,mem_usb0_get_report_data + 1 
-031c 2020303f branch usb0_data_ready_report_set1 
+031f 700cf702 jam 2 ,mem_usb0_get_report_data + 1 
+0320 2020303f branch usb0_data_ready_report_set1 
 
 p_g24_ota_exit_fail:
-031d 700cf703 jam 3 ,mem_usb0_get_report_data + 1 
-031e 2020303f branch usb0_data_ready_report_set1 
+0321 700cf703 jam 3 ,mem_usb0_get_report_data + 1 
+0322 2020303f branch usb0_data_ready_report_set1 
 
 p_set_freq_tx:
-031f 60088017 storet 1 ,mem_last_freq 
-0320 1840a200 add temp ,0 ,rega 
-0321 20402981 call rf_write_freq 
-0322 58000500 setarg param_pll_setup 
-0323 20402a8f call sleep 
+0323 60088017 storet 1 ,mem_last_freq 
+0324 1840a200 add temp ,0 ,rega 
+0325 20402981 call rf_write_freq 
+0326 58000500 setarg param_pll_setup 
+0327 20402a8f call sleep 
 
 p_rf_tx_enable:
-0324 70890601 jam 0x1 ,rfen_adc 
-0325 7089003c jam 0x3c ,rfen_rx 
-0326 708901e0 jam 0xe0 ,rfen_tx 
-0327 2000000a nop 10 
-0328 70890201 jam 0x01 ,rfen_mdm 
-0329 7089023d jam 0x3d ,rfen_mdm 
-032a 2000000a nop 10 
-032b 708903b7 jam 0xb7 ,rfen_sn 
-032c 2000000a nop 10 
-032d 7089027d jam 0x7d ,rfen_mdm 
-032e 6800c1de fetch 1 ,mem_tx_power 
-032f c0020338 beq tx_power_f5db ,p_set_tx_power_f5db 
-0330 20200331 branch p_set_tx_power_5db 
+0328 70890601 jam 0x1 ,rfen_adc 
+0329 7089003c jam 0x3c ,rfen_rx 
+032a 708901e0 jam 0xe0 ,rfen_tx 
+032b 2000000a nop 10 
+032c 70890201 jam 0x01 ,rfen_mdm 
+032d 7089023d jam 0x3d ,rfen_mdm 
+032e 2000000a nop 10 
+032f 708903b7 jam 0xb7 ,rfen_sn 
+0330 2000000a nop 10 
+0331 7089027d jam 0x7d ,rfen_mdm 
+0332 6800c1de fetch 1 ,mem_tx_power 
+0333 c002033c beq tx_power_f5db ,p_set_tx_power_f5db 
+0334 20200335 branch p_set_tx_power_5db 
 
 p_set_tx_power_5db:
-0331 70894bba jam 0xba ,0x894b 
-0332 708955d0 jam 0xd0 ,0x8955 
-0333 708956e0 jam 0xe0 ,0x8956 
-0334 70895788 jam 0x88 ,0x8957 
-0335 7089583c jam 0x3c ,0x8958 
-0336 70895910 jam 0x10 ,0x8959 
-0337 20202953 branch set_tx_power_5db 
+0335 70894bba jam 0xba ,0x894b 
+0336 708955d0 jam 0xd0 ,0x8955 
+0337 708956e0 jam 0xe0 ,0x8956 
+0338 70895788 jam 0x88 ,0x8957 
+0339 7089583c jam 0x3c ,0x8958 
+033a 70895910 jam 0x10 ,0x8959 
+033b 20202953 branch set_tx_power_5db 
 
 p_set_tx_power_f5db:
-0338 70894bba jam 0xba ,0x894b 
-0339 708955d0 jam 0xd0 ,0x8955 
-033a 708956c0 jam 0xc0 ,0x8956 
-033b 70895788 jam 0x88 ,0x8957 
-033c 7089586c jam 0x6c ,0x8958 
-033d 70895910 jam 0x10 ,0x8959 
-033e 2020295b branch set_tx_power_f5db 
+033c 70894bba jam 0xba ,0x894b 
+033d 708955d0 jam 0xd0 ,0x8955 
+033e 708956c0 jam 0xc0 ,0x8956 
+033f 70895788 jam 0x88 ,0x8957 
+0340 7089586c jam 0x6c ,0x8958 
+0341 70895910 jam 0x10 ,0x8959 
+0342 2020295b branch set_tx_power_f5db 
 
 p_soft_reset:
-033f 20800000 clear_stack 
-0340 68108043 hfetch 1 ,core_config 
-0341 79207e03 set1 watchdog_bit ,pdata 
-0342 60108043 hstore 1 ,core_config 
-0343 20202003 branch soft_reset + 2 
+0343 20800000 clear_stack 
+0344 68108043 hfetch 1 ,core_config 
+0345 79207e03 set1 watchdog_bit ,pdata 
+0346 60108043 hstore 1 ,core_config 
+0347 20202003 branch soft_reset + 2 
 
 p_shutdown_radio:
-0344 18002a08 force 8 ,radio_ctrl 
-0345 202028fa branch shutdown_radio + 1 
+0348 18002a08 force 8 ,radio_ctrl 
+0349 202028fa branch shutdown_radio + 1 
 
 p_rssi_noise:
-0346 204029bb call save_rssi 
-0347 207a0000 rtn blank 
-0348 6808c8f0 fetcht 1 ,mem_rssi_noise_index 
-0349 da200d9e arg mem_rssi_noise_buffer ,rega 
-034a 2040034d call p_rssi_store 
-034b 6008c8f0 storet 1 ,mem_rssi_noise_index 
-034c 20600000 rtn 
+034a 204029bb call save_rssi 
+034b 207a0000 rtn blank 
+034c 6808c8f0 fetcht 1 ,mem_rssi_noise_index 
+034d da200d9e arg mem_rssi_noise_buffer ,rega 
+034e 20400351 call p_rssi_store 
+034f 6008c8f0 storet 1 ,mem_rssi_noise_index 
+0350 20600000 rtn 
 
 p_rssi_store:
-034d 1a227e00 copy rega ,pdata 
-034e 98408a00 iadd temp ,contw 
-034f 68008018 fetch 1 ,mem_rssi 
-0350 e0a08000 istore 1 ,contw 
-0351 18408401 increase 1 ,temp 
-0352 184104ff and_into rssi_buf_len_noise ,temp 
-0353 20600000 rtn 
+0351 1a227e00 copy rega ,pdata 
+0352 98408a00 iadd temp ,contw 
+0353 68008018 fetch 1 ,mem_rssi 
+0354 e0a08000 istore 1 ,contw 
+0355 18408401 increase 1 ,temp 
+0356 184104ff and_into rssi_buf_len_noise ,temp 
+0357 20600000 rtn 
 
 p_rssi_average:
-0354 d8400000 arg 0 ,temp 
-0355 df200100 arg rssi_buf_len_noise + 1 ,loopcnt 
-0356 1a220c00 copy rega ,contr 
-0357 20202e64 branch rssi_average_loop 
-0358 20600000 rtn 
+0358 d8400000 arg 0 ,temp 
+0359 df200100 arg rssi_buf_len_noise + 1 ,loopcnt 
+035a 1a220c00 copy rega ,contr 
+035b 20202e64 branch rssi_average_loop 
+035c 20600000 rtn 
 
 p_g24_update_addr_and_synccrc8:
-0359 6002485e store 4 ,mem_24g_addr 
+035d 6002485e store 4 ,mem_24g_addr 
 
 p_g24_syncword_crc8:
-035a da200000 arg 0 ,rega 
-035b df200004 arg 4 ,loopcnt 
-035c d8c0485e arg mem_24g_addr ,contr 
+035e da200000 arg 0 ,rega 
+035f df200004 arg 4 ,loopcnt 
+0360 d8c0485e arg mem_24g_addr ,contr 
 
 p_g24_syncword_crc8_loop:
-035d e8c08000 ifetch 1 ,contr 
-035e 9a20a200 iadd rega ,rega 
-035f c200035d loop p_g24_syncword_crc8_loop 
-0360 1a227e00 copy rega ,pdata 
-0361 600148e7 store 2 ,mem_24g_syncword 
-0362 6800c8e7 fetch 1 ,mem_24g_syncword 
-0363 6808c8e8 fetcht 1 ,mem_24g_syncword + 1 
-0364 9840fe00 iadd temp ,pdata 
-0365 6000c8e9 store 1 ,mem_24g_syncword_crc8 
-0366 20600000 rtn 
+0361 e8c08000 ifetch 1 ,contr 
+0362 9a20a200 iadd rega ,rega 
+0363 c2000361 loop p_g24_syncword_crc8_loop 
+0364 1a227e00 copy rega ,pdata 
+0365 600148e7 store 2 ,mem_24g_syncword 
+0366 6800c8e7 fetch 1 ,mem_24g_syncword 
+0367 6808c8e8 fetcht 1 ,mem_24g_syncword + 1 
+0368 9840fe00 iadd temp ,pdata 
+0369 6000c8e9 store 1 ,mem_24g_syncword_crc8 
+036a 20600000 rtn 
 
 p_g24_transmit_prep:
-0367 6800c836 fetch 1 ,mem_24g_datalen 
-0368 1fe0fe02 increase 2 ,pdata 
-0369 6000c838 store 1 ,mem_24g_txlen 
-036a 6800c837 fetch 1 ,mem_24g_data_type 
-036b 6000c7f2 store 1 ,mem_24g_txpayload 
-036c 6800c836 fetch 1 ,mem_24g_datalen 
-036d 1fe9fe00 lshift3 pdata ,pdata 
-036e 6808c835 fetcht 1 ,mem_24g_pid 
-036f 18410403 and temp ,0x03 ,temp 
-0370 18438400 lshift temp ,temp 
-0371 9841fe00 ior temp ,pdata 
-0372 6808c872 fetcht 1 ,mem_24g_no_ack 
-0373 9840fe00 iadd temp ,pdata 
-0374 e0a08000 istore 1 ,contw 
-0375 6800c836 fetch 1 ,mem_24g_datalen 
-0376 98007200 iforce loopcnt 
-0377 d8c047d2 arg mem_24g_txbuf ,contr 
-0378 20207f01 branch memcpy 
+036b 6800c836 fetch 1 ,mem_24g_datalen 
+036c 1fe0fe02 increase 2 ,pdata 
+036d 6000c838 store 1 ,mem_24g_txlen 
+036e 6800c837 fetch 1 ,mem_24g_data_type 
+036f 6000c7f2 store 1 ,mem_24g_txpayload 
+0370 6800c836 fetch 1 ,mem_24g_datalen 
+0371 1fe9fe00 lshift3 pdata ,pdata 
+0372 6808c835 fetcht 1 ,mem_24g_pid 
+0373 18410403 and temp ,0x03 ,temp 
+0374 18438400 lshift temp ,temp 
+0375 9841fe00 ior temp ,pdata 
+0376 6808c872 fetcht 1 ,mem_24g_no_ack 
+0377 9840fe00 iadd temp ,pdata 
+0378 e0a08000 istore 1 ,contw 
+0379 6800c836 fetch 1 ,mem_24g_datalen 
+037a 98007200 iforce loopcnt 
+037b d8c047d2 arg mem_24g_txbuf ,contr 
+037c 20207f01 branch memcpy 
 
 p_g24_ch:
-0379 6808c841 fetcht 1 ,mem_24g_current_ch_number 
-037a 2040037d call p_g24_ch_map_size 
-037b 6008c841 storet 1 ,mem_24g_current_ch_number 
-037c 20600000 rtn 
+037d 6808c841 fetcht 1 ,mem_24g_current_ch_number 
+037e 20400381 call p_g24_ch_map_size 
+037f 6008c841 storet 1 ,mem_24g_current_ch_number 
+0380 20600000 rtn 
 
 p_g24_ch_map_size:
-037d 20400381 call p_g24_ch_calc 
-037e 18408401 increase 1 ,temp 
-037f 18410403 and_into 3 ,temp 
-0380 20600000 rtn 
+0381 20400385 call p_g24_ch_calc 
+0382 18408401 increase 1 ,temp 
+0383 18410403 and_into 3 ,temp 
+0384 20600000 rtn 
 
 p_g24_ch_calc:
-0381 6800c85e fetch 1 ,mem_24g_addr 
-0382 1fe17e03 and_into 0x03 ,pdata 
-0383 1fefa204 mul32 pdata ,4 ,rega 
-0384 58004847 setarg mem_24g_ch_map1 
-0385 9a20fe00 iadd rega ,pdata 
-0386 98408c00 iadd temp ,contr 
-0387 e8c08000 ifetch 1 ,contr 
-0388 6000c840 store 1 ,mem_24g_ch 
-0389 20600000 rtn 
+0385 6800c85e fetch 1 ,mem_24g_addr 
+0386 1fe17e03 and_into 0x03 ,pdata 
+0387 1fefa204 mul32 pdata ,4 ,rega 
+0388 58004847 setarg mem_24g_ch_map1 
+0389 9a20fe00 iadd rega ,pdata 
+038a 98408c00 iadd temp ,contr 
+038b e8c08000 ifetch 1 ,contr 
+038c 6000c840 store 1 ,mem_24g_ch 
+038d 20600000 rtn 
 
 p_g24_prep:
-038a 7844fc00 disable enable_crc 
-038b 7843fc00 disable enable_white 
-038c 58555555 setarg 0x555555 
-038d 98001e00 iforce crc24_init 
-038e 6800c840 fetch 1 ,mem_24g_ch 
-038f 1fed8400 reverse pdata ,temp 
-0390 79200401 set1 1 ,temp 
-0391 18431c00 rshift temp ,white_init 
-0392 20600000 rtn 
+038e 7844fc00 disable enable_crc 
+038f 7843fc00 disable enable_white 
+0390 58555555 setarg 0x555555 
+0391 98001e00 iforce crc24_init 
+0392 6800c840 fetch 1 ,mem_24g_ch 
+0393 1fed8400 reverse pdata ,temp 
+0394 79200401 set1 1 ,temp 
+0395 18431c00 rshift temp ,white_init 
+0396 20600000 rtn 
 
 p_g24_receive_packet:
-0393 204053c4 call le_enable 
-0394 6802485e fetch 4 ,mem_24g_addr 
-0395 98001200 iforce access 
-0396 20402918 call set_sync_on 
-0397 6808c840 fetcht 1 ,mem_24g_ch 
-0398 2040291f call set_freq_rx 
-0399 58000500 setarg param_pll_setup 
-039a 20402a8f call sleep 
-039b 20402924 call rf_rx_enable 
+0397 204053c4 call le_enable 
+0398 6802485e fetch 4 ,mem_24g_addr 
+0399 98001200 iforce access 
+039a 20402918 call set_sync_on 
+039b 6808c840 fetcht 1 ,mem_24g_ch 
+039c 2040291f call set_freq_rx 
+039d 58000500 setarg param_pll_setup 
+039e 20402a8f call sleep 
+039f 20402924 call rf_rx_enable 
 
 p_g24_receive_rxon:
-039c 2040038a call p_g24_prep 
-039d 7857fc00 disable user3 
-039e 7826fc00 enable decode_fec0 
-039f 7830fc00 enable is_rx 
-03a0 78507c00 disable is_tx 
-03a1 78287c00 enable swfine 
-03a2 68014839 fetch 2 ,mem_24g_rx_window 
-03a3 98003600 iforce stop_watch 
-03a4 37c18400 correlate null ,timeout 
-03a5 242c03d8 nbranch p_g24_sync_timeout ,sync 
-03a6 7846fc00 disable decode_fec0 
-03a7 7825fc00 enable decode_fec1 
-03a8 7823fc00 enable enable_white 
-03a9 7824fc00 enable enable_crc 
-03aa 09800008 parse demod ,bucket ,8 
-03ab 19897e00 rshift3 pwindow ,pdata 
-03ac 6000c8ea store 1 ,mem_24g_get_syncword_crc8 
-03ad 6808c8e9 fetcht 1 ,mem_24g_syncword_crc8 
-03ae 98467c00 isub temp ,null 
-03af 242283d5 nbranch p_g24_end_of_packet ,zero 
-03b0 09800008 parse demod ,bucket ,8 
-03b1 19897e00 rshift3 pwindow ,pdata 
-03b2 6000c7b0 store 1 ,mem_24g_rxbuf 
-03b3 6800c87c fetch 1 ,mem_24g_mode 
-03b4 1fe67c02 sub pdata ,rx_24g ,null 
-03b5 202283ba branch p_g24_receive_skip ,zero 
-03b6 6800c7b0 fetch 1 ,mem_24g_rxbuf 
-03b7 6808c837 fetcht 1 ,mem_24g_data_type 
-03b8 a8400e00 icompare bits_data ,temp 
-03b9 242083d5 nbranch p_g24_end_of_packet ,true 
+03a0 2040038e call p_g24_prep 
+03a1 7857fc00 disable user3 
+03a2 7826fc00 enable decode_fec0 
+03a3 7830fc00 enable is_rx 
+03a4 78507c00 disable is_tx 
+03a5 78287c00 enable swfine 
+03a6 68014839 fetch 2 ,mem_24g_rx_window 
+03a7 98003600 iforce stop_watch 
+03a8 37c18400 correlate null ,timeout 
+03a9 242c03dc nbranch p_g24_sync_timeout ,sync 
+03aa 7846fc00 disable decode_fec0 
+03ab 7825fc00 enable decode_fec1 
+03ac 7823fc00 enable enable_white 
+03ad 7824fc00 enable enable_crc 
+03ae 09800008 parse demod ,bucket ,8 
+03af 19897e00 rshift3 pwindow ,pdata 
+03b0 6000c8ea store 1 ,mem_24g_get_syncword_crc8 
+03b1 6808c8e9 fetcht 1 ,mem_24g_syncword_crc8 
+03b2 98467c00 isub temp ,null 
+03b3 242283d9 nbranch p_g24_end_of_packet ,zero 
+03b4 09800008 parse demod ,bucket ,8 
+03b5 19897e00 rshift3 pwindow ,pdata 
+03b6 6000c7b0 store 1 ,mem_24g_rxbuf 
+03b7 6800c87c fetch 1 ,mem_24g_mode 
+03b8 1fe67c02 sub pdata ,rx_24g ,null 
+03b9 202283be branch p_g24_receive_skip ,zero 
+03ba 6800c7b0 fetch 1 ,mem_24g_rxbuf 
+03bb 6808c837 fetcht 1 ,mem_24g_data_type 
+03bc a8400e00 icompare bits_data ,temp 
+03bd 242083d9 nbranch p_g24_end_of_packet ,true 
 
 p_g24_receive_skip:
-03ba 09800008 parse demod ,bucket ,8 
-03bb 19897e00 rshift3 pwindow ,pdata 
-03bc e0a08000 istore 1 ,contw 
-03bd 1fe97e00 rshift3 pdata ,pdata 
-03be 1fe1721f and pdata ,0x1f ,loopcnt 
-03bf 202283c4 branch p_g24rx_nopayload ,zero 
+03be 09800008 parse demod ,bucket ,8 
+03bf 19897e00 rshift3 pwindow ,pdata 
+03c0 e0a08000 istore 1 ,contw 
+03c1 1fe97e00 rshift3 pdata ,pdata 
+03c2 1fe1721f and pdata ,0x1f ,loopcnt 
+03c3 202283c8 branch p_g24rx_nopayload ,zero 
 
 p_g24rx_loop:
-03c0 09800008 parse demod ,bucket ,8 
-03c1 19897e00 rshift3 pwindow ,pdata 
-03c2 e0a08000 istore 1 ,contw 
-03c3 c20003c0 loop p_g24rx_loop 
+03c4 09800008 parse demod ,bucket ,8 
+03c5 19897e00 rshift3 pwindow ,pdata 
+03c6 e0a08000 istore 1 ,contw 
+03c7 c20003c4 loop p_g24rx_loop 
 
 p_g24rx_nopayload:
-03c4 09800018 parse demod ,bucket ,24 
-03c5 78287c00 enable swfine 
-03c6 db600664 arg param_sifs ,stop_watch 
-03c7 1fef7e00 rshift32 pdata ,pdata 
-03c8 1ff17e00 rshift16 pdata ,pdata 
-03c9 e0a18000 istore 3 ,contw 
-03ca 7845fc00 disable decode_fec1 
-03cb 204029bb call save_rssi 
-03cc 202303d5 branch p_g24_end_of_packet ,crc_failed 
-03cd 7837fc00 enable user3 
-03ce 68008017 fetch 1 ,mem_last_freq 
-03cf 1fe0a200 add pdata ,0 ,rega 
-03d0 20402981 call rf_write_freq 
-03d1 7846fc00 disable decode_fec0 
-03d2 20402918 call set_sync_on 
-03d3 20600000 rtn 
-03d4 20600000 rtn 
+03c8 09800018 parse demod ,bucket ,24 
+03c9 78287c00 enable swfine 
+03ca db600664 arg param_sifs ,stop_watch 
+03cb 1fef7e00 rshift32 pdata ,pdata 
+03cc 1ff17e00 rshift16 pdata ,pdata 
+03cd e0a18000 istore 3 ,contw 
+03ce 7845fc00 disable decode_fec1 
+03cf 204029bb call save_rssi 
+03d0 202303d9 branch p_g24_end_of_packet ,crc_failed 
+03d1 7837fc00 enable user3 
+03d2 68008017 fetch 1 ,mem_last_freq 
+03d3 1fe0a200 add pdata ,0 ,rega 
+03d4 20402981 call rf_write_freq 
+03d5 7846fc00 disable decode_fec0 
+03d6 20402918 call set_sync_on 
+03d7 20600000 rtn 
+03d8 20600000 rtn 
 
 p_g24_end_of_packet:
-03d5 784dfc00 disable encode_fec1 
-03d6 7845fc00 disable decode_fec1 
-03d7 2020264d branch end_of_packet 
+03d9 784dfc00 disable encode_fec1 
+03da 7845fc00 disable decode_fec1 
+03db 2020264d branch end_of_packet 
 
 p_g24_sync_timeout:
-03d8 20400346 call p_rssi_noise 
-03d9 202003d5 branch p_g24_end_of_packet 
+03dc 2040034a call p_rssi_noise 
+03dd 202003d9 branch p_g24_end_of_packet 
 
 p_g24_set_freq_tx:
-03da 20402918 call set_sync_on 
-03db 6808c840 fetcht 1 ,mem_24g_ch 
-03dc 20202933 branch set_freq_tx 
+03de 20402918 call set_sync_on 
+03df 6808c840 fetcht 1 ,mem_24g_ch 
+03e0 20202933 branch set_freq_tx 
 
 p_g24_transmit:
-03dd 204053c4 call le_enable 
-03de 6802485e fetch 4 ,mem_24g_addr 
-03df 98001200 iforce access 
-03e0 2040038a call p_g24_prep 
-03e1 204003da call p_g24_set_freq_tx 
-03e2 79202a00 set1 txgfsk ,radio_ctrl 
-03e3 782efc00 enable encode_fec0 
-03e4 78307c00 enable is_tx 
-03e5 7850fc00 disable is_rx 
-03e6 19317e00 rshift16 access ,pdata 
-03e7 1fecfe00 rshift8 pdata ,pdata 
-03e8 1ff1fe00 rshift4 pdata ,pdata 
-03e9 08008628 inject mod ,40 
-03ea 784efc00 disable encode_fec0 
-03eb 782dfc00 enable encode_fec1 
-03ec 7823fc00 enable enable_white 
-03ed 7824fc00 enable enable_crc 
-03ee 6800c8e9 fetch 1 ,mem_24g_syncword_crc8 
-03ef 08008608 inject mod ,8 
-03f0 6800c838 fetch 1 ,mem_24g_txlen 
-03f1 98007200 iforce loopcnt 
-03f2 d8c047f2 arg mem_24g_txpayload ,contr 
+03e1 204053c4 call le_enable 
+03e2 6802485e fetch 4 ,mem_24g_addr 
+03e3 98001200 iforce access 
+03e4 2040038e call p_g24_prep 
+03e5 204003de call p_g24_set_freq_tx 
+03e6 79202a00 set1 txgfsk ,radio_ctrl 
+03e7 782efc00 enable encode_fec0 
+03e8 78307c00 enable is_tx 
+03e9 7850fc00 disable is_rx 
+03ea 19317e00 rshift16 access ,pdata 
+03eb 1fecfe00 rshift8 pdata ,pdata 
+03ec 1ff1fe00 rshift4 pdata ,pdata 
+03ed 08008628 inject mod ,40 
+03ee 784efc00 disable encode_fec0 
+03ef 782dfc00 enable encode_fec1 
+03f0 7823fc00 enable enable_white 
+03f1 7824fc00 enable enable_crc 
+03f2 6800c8e9 fetch 1 ,mem_24g_syncword_crc8 
+03f3 08008608 inject mod ,8 
+03f4 6800c838 fetch 1 ,mem_24g_txlen 
+03f5 98007200 iforce loopcnt 
+03f6 d8c047f2 arg mem_24g_txpayload ,contr 
 
 p_g24tr_loop:
-03f3 e8c08000 ifetch 1 ,contr 
-03f4 08008608 inject mod ,8 
-03f5 c20003f3 loop p_g24tr_loop 
-03f6 6800c8ee fetch 1 ,mem_rssi_hex 
-03f7 08008608 inject mod ,8 
-03f8 78247c00 enable enable_parity 
-03f9 08008618 inject mod ,24 
-03fa 78447c00 disable enable_parity 
-03fb 37d38200 until null ,tx_clear 
-03fc 20000064 nop 100 
-03fd 784efc00 disable encode_fec0 
-03fe 784dfc00 disable encode_fec1 
-03ff 20600000 rtn 
+03f7 e8c08000 ifetch 1 ,contr 
+03f8 08008608 inject mod ,8 
+03f9 c20003f7 loop p_g24tr_loop 
+03fa 6800c8ee fetch 1 ,mem_rssi_hex 
+03fb 08008608 inject mod ,8 
+03fc 78247c00 enable enable_parity 
+03fd 08008618 inject mod ,24 
+03fe 78447c00 disable enable_parity 
+03ff 37d38200 until null ,tx_clear 
+0400 20000064 nop 100 
+0401 784efc00 disable encode_fec0 
+0402 784dfc00 disable encode_fec1 
+0403 20600000 rtn 
 org 0x2000
 
 start:
Index: program/patch.prog
===================================================================
--- /branch/USB/dongle/program/patch.prog	(revision 991)
+++ /branch/USB/dongle/program/patch.prog	(working copy)
@@ -12,25 +12,8 @@
 	beq patch1e_7,p_usb_init
 	beq patch1f_0,p_usb_status1
 endif
-ifdef MOUSE
-	beq patch00_1,p_soft_reset_1
-	beq patch16_1,p_lpm_check_wake_lock
-	beq patch16_2,p_g24_dispatch
-	beq patch18_4,p_device_init
-	beq patch1d_2,p_mouse_bb_event_discovery_btn
-	beq patch1d_3,p_mouse_start_discovery
-	beq patch1d_7,p_mouse_polling_device
-endif
 	branch loop
 pf_patch_ext:
-ifdef MOUSE
-	beq patch27_1,p_le_slave_match
-	beq patch29_2,p_le_receive_skip
-	beq patch2c_3,p_le_prepare_tx
-	beq patch2e_7,p_le_lpm_setmult
-	beq patch31_4,p_twspi_reset
-endif
-//	beq patch30_2,p_send_lmp
 	branch loop
 
 
@@ -128,6 +111,10 @@
 
 p_app_init:
 	call enable_authrom
+	fetch 4,mem_lap
+	store 4,mem_24g_rx_addr	//update mem_24g_rx_addr
+	fetcht 1,mem_eeprom_wp_gpio
+	call gpio_config_output
 	call p_dongle_init
 	call p_g24_queue_init
 	call p_dongle_iic_init
@@ -1076,1203 +1063,6 @@
 endif
 
 
-
-ifdef MOUSE
-p_rssi_signal:
-	fetcht 1,mem_rssi_signal_index
-	setarg mem_rssi_signal_buf
-	iadd temp,contw
-	copy rega,pdata
-	istore 1,contw
-	increase 1,temp
-	and_into RSSI_BUF_LEN_SIGNAL,temp
-	storet 1,mem_rssi_signal_index
-	rtn
-
-p_soft_reset_1:
-	call rfcomm_init
-	call init_lmp
-	ncall lpm_disable_exen_output,wake
-	call ui_init+1
-	branch soft_reset+11
-
-p_g24_dispatch:
-	rtnmark0 mark_24g
-	call p_g24_txdata_prep
-	nbranch p_g24_no_data_to_tx,user
-	call p_g24_rf_sta_check
-p_g24_transmit_start:
-	call p_g24_transmit_packet
-	fetch 1,mem_24g_pairing_sm
-	rtnne STATE_24G_PAIRING_SUCCESS
-	call power_ctrl_start
-p_g24_no_data_to_tx:
-	fetch 1,mem_lpm_mode
-	rtn blank
-	call lpo_calibration
-	fetch 3,mem_clks_per_lpo
-	rtn blank
-	call p_mouse_setgpio_lpm
-	call p_g24_idle_cnt
-	branch p_g24_lpm_hibernate,blank
-	call p_clear_wake
-	setarg 62000
-	branch lpm_dispatch_sleep
-p_g24_lpm_hibernate:
-	fetch 1,mem_24g_abort_pac
-	call p_g24_send_abort_packet,blank
-	call p_drawing_optima_init
-	arg -1,temp
-	branch lpm_dispatch_lpo
-
-p_g24_send_abort_packet:
-	jam 1,mem_24g_abort_pac
-	jam 0,mem_24g_rf_hop_ch
-	call p_g24_transmit_rf_ctrl_clear
-	store 1,mem_24g_txbuf
-	setarg 0
-	store 7,mem_24g_txbuf+1
-	fetch 4,mem_24g_device_addr
-	store 4,mem_24g_txbuf+8
-	jam 12,mem_24g_datalen
-	fetch 1,mem_24g_data_type
-	set1 bit_abort,pdata
-	store 1,mem_24g_data_type
-	call p_g24_transmit_prep
-	call p_g24_txdata_enable_tx
-	branch p_g24_transmit_start
-
-p_lpm_check_wake_lock:
-	rtnmark1 mark_24g
-	fetch 1,mem_le_tx_buff_used
-	nrtn blank
-	branch check_attempt_nomore
-
-p_mouse_before_lpm:
-	rtnmark1 mark_24g
-	call p_mouse_setgpio_lpm
-	fetch 1,mem_context
-	bbit0 state_inconn,p_clear_wake
-	fetch 1,mem_lpm_current_mult
-	nrtn blank								// 7.5ms, no gpio wakeup
-p_clear_wake:
-	setarg 0
-	store 8,mem_gpio_wakeup_low
-	rtn
-
-p_mouse_setgpio_lpm:
-	setarg 0x2006							// make io high to make 100uA less
-	call twspi_write			
-	call p_clear_wake
-	call mouse_lpm_before_common
-	hfetch 4,core_gpio_oe0
-	hfetcht 4,core_gpio_pu0
-	ior temp,temp
-	invert temp,temp
-	hstoret 4,core_gpio_pd0
-	rtn
-
-
-p_g24_idle_cnt:
-	deposit auxcnt
-	nbranch p_g24_active,blank
-	nbranch p_g24_idle_nodata,user
-p_g24_active:
-	fetch 1,mem_24g_idle_timeout
-	branch p_g24_idle_exit
-p_g24_idle_nodata:
-	fetch 1,mem_24g_idle_cnt
-	increase -1,pdata
-p_g24_idle_exit:
-	store 1,mem_24g_idle_cnt
-	rtn
-
-
-p_device_init:
-	call le_modified_name_adv
-	jam 6,mem_connection_options
-	call app_lpm_mult_enable
-	branch p_device_init_common,wake
-	jam 0x20,core_gpio_pu0
-	jam 0x1,core_gpio_pu1
-	fetch 1,mem_tx_power
-	store 1,mem_tx_power_temp
-	call power_ctrl_pac_succ_cnt_init
-	call p_drawing_optima_init
-p_deveice_init_reset:
-p_device_init_common:
-	call p_mouse_init
-	branch enable_authrom
-
-p_mouse_init:
-	ncall p_mouse_setting_config,wake
-	call spi_ncs_enable
-	call p_mouse_init_sunt
-	ncall p_mouse_dpi_config,wake
-	call spi_ncs_disable
-	rtn wake
-	call mouse_cheak_enable_usb
-	call p_mouse_cb_fuction
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	rtnbit1 MOUSE_ENABLE_USB
-
-	call mouse_check_key_gpio
-	sub pdata,MOUSE_LM_BUTTON,null
-	branch p_mouse_24g_pairing_button,zero
-
-	call p_mouse_wakeup_from_power
-	rtnmark1 mark_24g
-	fetch 2,mem_ui_state_map
-	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
-p_mouse_check_reconn_target:
-	call mouse_cheak_select_device_by_switch
-	fetch 1,mem_device_flag
-	fetcht 1,mem_24g_device_number
-	isub temp,null
-	branch p_mouse_connect_24g_mode,zero
-	fetch 1,mem_xrecord_mode
-	beq REC_3_MODE,mouse3_0_check_reconn_target
-	beq REC_4_MODE,p_mouse4_0_check_reconn_target
-	branch mouse_start_discovery
-p_mouse_connect_24g_mode:
-	call p_mouse_start_24g_mode
-	rtnmark1 mark_24g
-	fetch 1,mem_reconn_times
-	nbranch mouse_polling_device,blank
-	rtn
-
-p_mouse4_0_check_reconn_target:
-	fetch 2,mem_mouse_direct_timeout
-	store 2,mem_mouse_direct_timer
-	call app_lpm_mult_disable
-	call p_le_check_adv_flag
-	setarg ADV_FLAG_BREDR_NOT_SUPPORTED
-	istore 1,contr
-	branch check_51cmd_adv
-
-p_le_check_adv_flag:
-	arg mem_le_adv_data,rega
-p_le_check_adv_flag_loop:
-	ifetch 1,rega	//length
-	rtn blank
-	iadd contr,rega
-	ifetch 1,contr	//type
-	rtneq 0x01
-	branch p_le_check_adv_flag_loop
-
-p_mouse_24g_pairing_button:
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	rtnbit0 MOUSE_ENABLE_24G
-	rtnbit1 MOSUE_24G_PAIRING_FLAG
-	rtnmark1 mark_24g
-	call mouse_devce_led_off
-	arg MOSUE_24G_PAIRING_FLAG,queue
-	call mouse_enable_function_flag
-	setarg 0
-	store 2,mem_mouse_direct_timer
-	store 1,mem_mouse_send_blank_timer
-	store 2,mem_24g_check_dongle_times
-	call mouse_stop_discovery
-	branch p_g24_start_pairing_sm1
-
-p_mouse_dpi_config:
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	bbit0 MOUSE_ENABLE_EEPROM,mouse_dpi_config
-	branch mouse_seting_dpi+2
-
-p_mouse_init_sunt:
-	jam 0x76,mem_spi_init_clk
-	call mouse_spi_init
-	rtn wake
-	call mouse_spi_sdio_gpio_pollup
-	fetch 1,mem_config_sensor_type
-	beq P3610,mouse_init_3610sensor
-	setarg 0x007f	// select page 0 at start
-	call twspi_write
-	setarg 0x8006	// reset to factory settings
-	call twspi_write
-p_mouse_init_sensor:
-	call mouse_read_sensor_id
-	beq P32XX_ID1,mouse_init_p32xx_id2_judge
-	beq P3065_ID1,p_mouse_p3065_init_param
-	call mouse_twspi_reset
-	nop 1000
-	branch p_mouse_init_sensor
-
-p_mouse_p3065_init_param:
-	fetch 1,mem_sensor_id2
-	beq P3065_XY_ID2,mouse_p3065xy_init_param
-	jam P3065,mem_config_sensor_type
-	rtn
-
-
-p_mouse_setting_config:
-	call p_g24_set_device_addr
-	call mouse_gpio_init
-	call mouse_param_init
-	call mouse_adc_init
-	call le_set_config_fixed_ltk
-	call le_set_justwork
-	call le_set_fixed_ltk
-	call le_set_config_read_authentication
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	bbit1 MOUSE_ENABLE_EEPROM,p_mouse_init_iic
-	bbit1 MOUSE_ENABLE_FLASH,p_mouse_load_flash_info_cheak
-	rtn
-
-p_mouse_init_iic:
-	call iic_init_390k
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	isolate1 MOUSE_ENABLE_2K_EEPROM,pdata
-	ncall clear_eeprom_size_2k,true
-	call mouse_load_eeprom_dpi
-	call mouse_init_environment
-	call p_mouse_set_24g_addr_eeprom
-	branch iicd_read_eep_data
-
-p_mouse_load_flash_info_cheak:
-	call mouse_load_flash_flag
-	fetch 2,mem_store_flag
-	arg EEPROM_INIT_FLAG,temp
-	isub temp,null
-	branch p_mouse_load_flash_device_info,zero
-	storet 2,mem_store_flag
-	call mouse_ble_init_address
-	branch mouse_store_flash_device_info
-
-p_mouse_load_flash_device_info:
-	setarg mem_mouse_information_end
-	arg mem_mouse_information_start,temp
-	isub temp,temp
-	fetch 3,mem_flash_base
-	arg mem_mouse_information_start,rega
-	call spid_read_flash
-	call mouse_select_reconn_device
-	fetch 4,mem_mouse_24g_addr
-	store 4,mem_24g_addr
-	rtn
-
-
-
-p_mouse_wakeup_from_power:
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	bbit0 MOUSE_ENABLE_WAKEUP_FROM_POWER,p_mouse_wakeup_no_from_power
-	fetch 1,mem_wakup_from_power_flag
-	isolate0 gpio_latch,pdata
-	nrtn true
-p_mouse_wakeup_no_from_power:
-	fetch 1,mem_reconn_times_init
-	store 1,mem_reconn_times
-	fetch 1,mem_config_function_enable
-	rtnbit1 ENABLE_SELECT_DEVICE_BY_SWITCH
-p_mouse_start_24g_mode:	
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	rtnbit0 MOUSE_ENABLE_24G
-	call p_g24_factory_check
-	branch p_g24_auto_pair_start,user
-	branch p_g24_start_24g_mode
-
-p_g24_factory_check:
-	call enable_user
-	setarg 0xffff
-	arg 2,loopcnt
-	arg mem_24g_addr,contr
-p_g24_factory_check_loop:
-	ifetcht 2,contr
-	isub temp,null
-	ncall disable_user,zero
-	loop p_g24_factory_check_loop
-	rtn
-
-p_mouse_cb_fuction:
-	setarg mouse_g24_package_data
-	store 2,mem_cb_24g_data
-	setarg mouse_le
-	store 2,mem_cb_le_process
-	setarg mouse_send_process
-	store 2,mem_cb_bt_process
-	setarg p_mouse_before_lpm
-	store 2,mem_cb_before_lpm
-	setarg p_mouse_priority_bb_event
-	store 2,mem_cb_bb_event_process
-	setarg p_mouse_idle
-	store 2,mem_cb_idle_process
-	setarg mouse_before_hibernate
-	store 2,mem_cb_before_hibernate
-	setarg le_mouse_bb_event_connect_complete
-	store 2,mem_cb_att_write
-	setarg mouse_bb_event_timer
-	store 2,mem_cb_event_timer
-	setarg mouse_spi_write_flash_cb
-	store 2,mem_cb_spi_flash_write_complate
-	rtn
-
-p_mouse_idle:
-//	call p_mouse_24g_pairing_button
-	call ui_check_paring_button
-	call mouse_dpi_cheak
-	call mouse_usb_isr
-	call mouse_wheel_check
-	branch mouse_usb_mode
-/*
-p_mouse_24g_pairing_button:
-	fetch 2,mem_24g_pairing_timer_count
-	rtn blank
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	rtnbit0 MOUSE_ENABLE_24G
-	rtnbit1 MOSUE_24G_PAIRING_FLAG
-	rtnmark1 mark_24g
-	call mouse_check_key_gpio
-	rtnne MOUSE_LMR_BUTTON
-	call mouse_devce_led_off
-	arg MOSUE_24G_PAIRING_FLAG,queue
-	call mouse_enable_function_flag
-	setarg 0
-	store 2,mem_mouse_direct_timer
-	store 1,mem_mouse_send_blank_timer
-	store 2,mem_24g_check_dongle_times
-	fetch 2,mem_ui_state_map
-	bbit1 UI_STATE_BT_RECONNECT,mouse_cancel_reconnect
-	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
-	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
-	call mouse_stop_discovery
-	branch p_g24_start_pairing_sm1
-*/
-p_mouse_priority_bb_event:
-	copy regc,pdata
-	beq BT_EVT_24G_PAIRING_COMPLETE,p_mouse_24g_pairing_complete
-	beq BT_EVT_24G_ATTEMPT_FAIL,p_mouse_24g_attempt_fail
-	branch mouse_priority_bb_event+1
-
-p_mouse_24g_pairing_complete:
-	jam 1,mem_mouse_24g_enter_lpm_enable
-	arg MOSUE_24G_PAIRING_FLAG,queue
-	call mouse_disable_function_flag
-	setarg 0
-	store 2,mem_24g_pairing_timer_count
-	jam 0,mem_mouse_move_flag
-	
-	fetch 1,mem_config_sensor_type
-	sub pdata,P3610,null
-	call mouse_read_sensor3610_data,zero
-	ncall mouse_read_sensor_common,zero
-
-	fetch 1,MOUSE_FLAG_LEN,mem_mouse_flag
-	bbit1 MOUSE_ENABLE_FLASH,p_mouse_store_flash_24g_address
-	call p_mouse_set_24g_addr_eeprom	//store rx dongle addr to eeprom
-	branch iicd_write_protect_eep_data
-
-p_mouse_set_24g_addr_eeprom:
-	arg mem_24g_addr,rega
-	arg MOUSE_G24_ADDR_EEPROM_OFFECT,regb
-	arg 4,temp
-	rtn
-
-p_mouse_store_flash_24g_address:
-	arg mem_24g_addr,regb
-	ifetch 4,regb
-	store 4,mem_mouse_24g_addr
-	branch mouse_store_flash_device_info
-
-p_mouse_24g_attempt_fail:
-	jam 1,mem_mouse_24g_enter_lpm_enable
-	fetch 1,mem_reconn_times
-	nbranch mouse_polling_device,blank
-	fetch 1,mem_device_flag
-	fetcht 1,mem_24g_device_number
-	isub temp,null
-	branch app_enter_hibernate,zero
-	rtn
-
-p_mouse_bb_event_discovery_btn:
-	bmark1 mark_24g,p_g24_stop
-	branch mouse_bb_event_discovery_btn+1
-p_g24_stop:
-	set0 mark_24g,mark
-	call le_disable
-	branch mouse_bb_event_discovery_btn+1
-
-
-p_drawing_optima_init:
-	setarg 0
-	store 1,mem_mouse_asm_flag
-	store 2,mem_mouse_x_data
-	store 2,mem_mouse_y_data
-p_drawing_optima_init1:
-	store 2,mem_mouse_x_sum
-	store 2,mem_mouse_y_sum
-	store 2,mem_mouse_x_pre
-	store 2,mem_mouse_y_pre
-	rtn
-
-p_drawing_optima:
-	call p_asm_flag_check1
-	call p_asm_flag_check0
-	branch p_drawing_optima_return
-
-p_asm_flag_check1:
-	call disable_user2
-	fetch 1,mem_mouse_x_data+1
-	sub pdata,0,null
-	call p_x11,zero
-	fetch 1,mem_mouse_x_data+1
-	sub pdata,0xff,null
-	call p_x12,zero
-	fetch 1,mem_mouse_y_data+1
-	sub pdata,0,null
-	call p_y11,zero
-	fetch 1,mem_mouse_y_data+1
-	sub pdata,0xff,null
-	call p_y12,zero
-	nrtn user2
-	jam 1,mem_mouse_asm_flag
-	rtn
-
-p_x11:
-	fetch 1,mem_mouse_x_data
-p_greater_than_6:
-	sub pdata,6,null
-	ncall enable_user2,positive
-	rtn
-p_x12:
-	fetch 1,mem_mouse_x_data
-p_less_than_f6:	
-	sub pdata,0xf9,null
-	call enable_user2,positive
-	rtn
-p_y11:
-	fetch 1,mem_mouse_y_data
-	branch p_greater_than_6
-p_y12:
-	fetch 1,mem_mouse_y_data
-	branch p_less_than_f6
-	
-p_asm_flag_check0:
-	call disable_user2
-	fetch 1,mem_mouse_x_data+1
-	sub pdata,0,null
-	call p_x21,zero
-	fetch 1,mem_mouse_x_data+1
-	sub pdata,0xff,null
-	call p_x22,zero
-	fetch 1,mem_mouse_y_data+1
-	sub pdata,0,null
-	call p_y21,zero
-	fetch 1,mem_mouse_y_data+1
-	sub pdata,0xff,null
-	call p_y22,zero
-	nrtn user2
-	jam 0,mem_mouse_asm_flag
-	rtn
-
-p_x21:
-	fetch 1,mem_mouse_x_data
-p_less_than_3:
-	sub pdata,2,null
-	call enable_user2,positive
-	branch disable_user2
-p_x22:
-	fetch 1,mem_mouse_x_data
-p_greater_than_f3:
-	sub pdata,0xfd,null
-	call enable_user2,positive
-	branch disable_user2
-p_y21:
-	fetch 1,mem_mouse_y_data
-	branch p_less_than_3
-p_y22:
-	fetch 1,mem_mouse_y_data
-	branch p_greater_than_f3
-
-
-p_drawing_optima_return:
-	fetch 1,mem_mouse_asm_flag
-	beq 0,p_drawing_optima_exit
-	beq 1,p_drawing_optima_update
-	rtn
-
-p_drawing_optima_exit:
-	setarg 0
-	branch p_drawing_optima_init1
-	
-p_drawing_optima_update:
-	fetch 2,mem_mouse_x_sum
-	fetcht 2,mem_mouse_x_pre
-	isub temp,pdata
-	fetcht 2,mem_mouse_x_data
-	iadd temp,pdata
-	store 2,mem_mouse_x_sum
-	rshift pdata,pdata
-	store 2,mem_mouse_x_pre
-	store 2,mem_mouse_x_data
-
-	fetch 2,mem_mouse_y_sum
-	fetcht 2,mem_mouse_y_pre
-	isub temp,pdata
-	fetcht 2,mem_mouse_y_data
-	iadd temp,pdata
-	store 2,mem_mouse_y_sum
-	rshift pdata,pdata
-	store 2,mem_mouse_y_pre
-	store 2,mem_mouse_y_data
-	rtn
-
-
-p_mouse_start_discovery:
-	fetch 2,mem_ui_state_map
-	bbit1 UI_STATE_BLE_ADV,p_mouse_start_discovery_norandom
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	bbit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE,p_mouse_start_discovery_norandom
-	random pdata					//random ble addr
-	store 2,mem_le_lap
-	random pdata
-	store 1,mem_le_lap+2
-p_mouse_start_discovery_norandom:	
-	call app_lpm_mult_disable
-	fetch 2,mem_discovery_timeout
-	store 2,mem_mouse_discovery_timer
-	jam 6,mem_connection_options
-	setarg 0
-	store 2,mem_mouse_no_data_timer
-	store 2,mem_mouse_direct_timer
-	arg MOUSE_STORE_EEPROM_FLAG,queue
-	call mouse_enable_function_flag
-	call mouse_bt_discovery_button_down_disable
-	fetch 1,mem_device_option
-	isolate1 MODE_4_MOUSE,pdata
-	call p_check_51cmd_adv,true
-	branch mouse_start_discovery_norandom+13
-
-p_check_51cmd_adv:
-	call p_le_check_adv_flag
-	setarg ADV_FLAG_BREDR_NOT_SUPPORTED |ADV_FLAG_LIMITED_DISCOVERABLE
-	istore 1,contr
-	branch check_51cmd_adv
-
-p_mouse_polling_device:
-	fetch 1,mem_reconn_times
-	increase -1,pdata
-	store 1,mem_reconn_times
-	fetcht 1,mem_device_flag
-	increase 1,temp
-	fetch 1,mem_device_number
-	isub temp,null
-	ncall mouse_select_device_count_clean,positive
-	storet 1,mem_device_flag
-	jam 0,mem_link_key_exists
-	call mouse_store_device_number2eeprom
-	call mouse_before_store_reconn_info
-	branch p_mouse_check_reconn_target
-
-
-p_le_slave_match:
-	fetch 1,mem_le_md_count
-	pincrease 1
-	store 1,mem_le_md_count
-	beq LE_MD_MAX_COUNT,le_slave_cont
-	call le_acknowledge
-	call le_prepare_tx
-	call power_ctrl_start
-	branch le_slave_match+7
-
-p_le_receive_skip:
-	call save_rssi
-	copy pdata,rega
-	call p_rssi_signal
-	branch le_receive_skip+2
-
-p_le_prepare_tx:
-	fetch 1,mem_le_arq
-	bbit1 wak,power_ctrl_pac_succ_decrs
-	call power_ctrl_pac_succ_incrs
-	branch le_prepare_tx+3
-
-p_le_lpm_setmult:
-	disable wake
-	branch p_le_lpm_set_mult_attempt,attempt
-	nbranch le_lpm_lost,match
-p_le_lpm_set_mult_attempt:
-	call lpm_match
-	fetch 2,mem_rx_window_sniff
-	store 2,mem_le_receive_window
-	fetch 1,mem_le_connect_status_flag
-	compare 3,pdata,3
-	nbranch lpm_mult_short,true
-	branch le_lpm_set_mult_attempt+3
-
-p_twspi_reset:
-	hfetch 1,core_gpio_out3
-	and_into 0xfd,pdata
-	hstore 1,core_gpio_out3
-	hfetcht 1,core_gpio_oe3
-	or_into 0x2,temp
-	hstoret 1,core_gpio_oe3
-	call twspi_disable
-	and_into 0xfd,temp
-	nop 13
-	call twspi_enable
-	hstoret 1,core_gpio_oe3
-	rtn
-
-
-	
-	
-p_g24_set_device_addr:
-//	call adc_init_data
-//	fetch 4,mem_0_5_adc_io_data	//adc data from otp
-//	store 4,mem_24g_device_addr	
-//	nrtn blank
-	fetch 4,mem_lap
-	store 4,mem_24g_device_addr
-	rtn
-
-
-p_g24_transmit_rf_sta_init:
-	jam 1,mem_24g_rf_last_sta
-	jam 0,mem_24g_sync_cnt
-p_g24_transmit_rf_ctrl_clear:	
-	fetch 1,mem_24g_data_type
-	and_into bits_data,pdata
-	store 1,mem_24g_data_type
-	rtn
-	
-p_g24_hop_ch_enable:
-	fetch 1,mem_24g_data_type
-	set1 bit_hop,pdata
-	store 1,mem_24g_data_type
-	//update txpayload
-	store 1,mem_24g_txpayload
-	rtn
-p_g24_hop_ch_disable:
-	fetch 1,mem_24g_data_type
-	set0 bit_hop,pdata
-	store 1,mem_24g_data_type
-	rtn	
-
-p_g24_transmit_hop_pac_fail:
-	call power_ctrl_pac_succ_decrs
-	fetch 1,mem_24g_rf_work_stage
-	beq 1,p_g24_transmit_hop_pac_fail_wo_hop
-	beq 2,p_g24_transmit_hop_pac_fail_hop_stage2
-	rtn
-p_g24_transmit_hop_pac_fail_wo_hop:
-	jam 2,mem_24g_sync_cnt
-p_g24_transmit_hop_pac_fail_stage1:	
-	jam 0,mem_24g_hop_pac_retry
-	jam 0,mem_24g_rf_last_sta
-	branch p_g24_transmit_rf_ctrl_clear
-
-p_g24_transmit_hop_pac_fail_hop_stage2:
-	jam 0,mem_24g_rf_hop_ch
-	branch p_g24_transmit_hop_pac_fail_stage1
-
-	
-p_g24_transmit_pac_fail_hop_stage3:
-	fetch 2,mem_24g_txfail_cnt
-	increase 1,pdata
-	store 2,mem_24g_txfail_cnt
-	bbit1 10,p_g24_tx_attempt_fail	//1024ms * 8
-	fetch 1,mem_24g_rf_hop_ch
-	beq 1,p_g24_rf_hop_fastly
-	jam 1,mem_24g_rf_hop_ch
-p_g24_rf_hop_attemp_again:
-	fetch 1,mem_24g_rf_hop_ch
-	bne 1,p_g24_transmit_rf_ctrl_clear
-p_g24_rf_hop_fastly:
-	fetch 1,mem_24g_hop_fastly_cnt
-	increase 1,pdata
-	store 1,mem_24g_hop_fastly_cnt
-	beq 4,p_g24_rf_hop_fastly_exit
-	call p_g24_ch
-	jam 2,mem_24g_max_retry
-	branch p_g24_transmit_packet
-
-p_g24_rf_hop_fastly_exit:
-	call power_ctrl_pac_succ_decrs
-	jam 0,mem_24g_hop_fastly_cnt
-	branch p_g24_transmit_rf_ctrl_clear
-
-p_g24_transmit_hop_pac_succ_wo_hop:
-	jam 2,mem_24g_sync_cnt
-p_g24_transmit_hop_pac_succ:
-	jam 1,mem_24g_rf_last_sta
-	jam 0,mem_24g_rf_hop_ch
-	branch p_g24_transmit_rf_ctrl_clear
-
-p_g24_transmit_succ_rf_config:
-	fetch 1,mem_24g_rf_work_stage
-	beq 3,p_g24_transmit_hop_pac_succ
-	fetch 1,mem_24g_data_type
-	isolate0 bit_hop,pdata
-	branch p_g24_transmit_rf_sta_init,true
-	fetch 1,mem_24g_rf_work_stage
-	beq 1,p_g24_transmit_hop_pac_succ_wo_hop
-	beq 2,p_g24_transmit_hop_pac_succ
-	rtn
-
-p_g24_rf_sta_check:
-	fetch 1,mem_24g_pairing_sm
-	rtnne STATE_24G_PAIRING_SUCCESS
-	call p_g24_rf_laststa_synccnt_check
-	ncall p_g24_rf_sync_cnt_check,user2
-	rtn
-
-p_g24_rf_laststa_synccnt_check:
-	disable user2
-	fetch 1,mem_24g_rf_last_sta
-	rtnne 1
-	fetch 1,mem_24g_sync_cnt
-	rtnne 0
-	jam 1,mem_24g_rf_work_stage
-	jam 4,mem_24g_max_retry
-	branch enable_user2
-
-p_g24_rf_sync_cnt_check:
-	fetch 1,mem_24g_sync_cnt
-	branch p_g24_rf_hop_attemp,blank
-	increase -1,pdata
-	store 1,mem_24g_sync_cnt
-	jam 2,mem_24g_rf_work_stage
-	call p_g24_ch
-	jam 4,mem_24g_max_retry
-	rtn
-
-p_g24_rf_hop_attemp:
-	jam 3,mem_24g_rf_work_stage
-	fetch 1,mem_24g_rf_hop_ch
-	nbranch p_g24_rf_hop_attemp_again,blank
-	call p_g24_ch
-	jam 2,mem_24g_max_retry
-	rtn
-
-
-p_g24_txdata_prep:
-	fetch 1,mem_24g_pairing_sm
-	bne STATE_24G_PAIRING_SUCCESS,p_g24_pairing_sm	
-p_g24_txdata_prep_packeage_data:
-	call p_g24_package_data
-	call p_g24_transmit_prep
-p_g24_txdata_enable_tx:
-	jam ENSURE_ON_24G,mem_24g_ensure
-	rtn
-
-
-p_g24_package_data:
-	fetch 2,mem_cb_24g_data
-	call callback_func
-	branch p_g24_accumulate_mouse_data,user
-	fetch 7,mem_24g_txbuf+1
-	rtn blank
-	branch enable_user							// retransmit
-p_g24_accumulate_mouse_data:
-	jam 0,mem_24g_abort_pac
-	add rega,1,pdata
-	store 1,mem_24g_datalen
-	call p_g24_transmit_rf_ctrl_clear
-	store 1,mem_24g_txbuf
-	ifetcht 1,contw
-	ifetch 1,regb
-	ior temp,pdata
-	istore 1,contw
-	increase 1,regb
-	arg 2,loopcnt
-p_g24_accumulation_loop:
-	ifetch 2,regb
-//	ifetcht 2,contw
-//	iadd temp,pdata
-	istore 2,contw
-	increase 2,regb
-	loop p_g24_accumulation_loop
-/*	fetch 2,mem_24g_txbuf+3
-	store 2,mem_mouse_x_data
-	fetch 2,mem_24g_txbuf+5
-	store 2,mem_mouse_y_data
-	call p_drawing_optima
-*/
-	arg mem_24g_txbuf+6,contw
-	arg 2,loopcnt
-p_g24_accumulation_loop2:
-	ifetch 1,regb
-	ifetcht 1,contw
-	iadd temp,pdata
-	istore 1,contw
-	increase 1,regb
-	loop p_g24_accumulation_loop2
-	rtn
-
-p_g24_transmit_packet:
-	jam 0,mem_24g_retry
-p_g24_transmit_loop:
-	arg param_rx_setup,timeup
-	until clkn_rt,meet
-	call p_g24_transmit_receive_ack
-	nbranch p_g24_retransmit,sync
-	nbranch p_g24_retransmit,user3
-	setarg 0
-	store 8,mem_24g_txbuf
-	call p_g24_ackpayload_parse
-	call power_ctrl_pac_succ_incrs
-p_g24_transmit_next_packet:
-	fetch 1,mem_24g_pid
-	increase 1,pdata
-	store 1,mem_24g_pid
-	fetch 1,mem_24g_pairing_sm
-	bne STATE_24G_PAIRING_SUCCESS,p_g24_paring_mode_start
-	call p_g24_transmit_succ_rf_config
-p_g24_transmit_abandon:
-	setarg 0
-	store 2,mem_24g_txfail_cnt
-	store 1,mem_24g_get_ack_fail
-	store 1,mem_24g_hop_pac_retry
-	jam ENSURE_OFF_24G,mem_24g_ensure
-	rtn
-
-p_g24_paring_mode_start:
-	call power_ctrl_pac_succ_cnt_init
-	branch p_g24_paring_mode
-
-p_g24_transmit_receive_ack:
-	disable user3
-	call p_g24_transmit
-	fetch 1,mem_24g_no_ack
-	beq no_ack_24g,p_g24_transmit_no_ack	//tx no ack
-	force 0,radio_ctrl
-	fetch 4,mem_24g_addr
-	iforce access
-	fetcht 1,mem_last_freq
-	call set_freq_rx
-	call rf_rx_enable
-	call p_g24_receive_rxon
-	call p_g24_end_of_packet,user3
-	rtn
-p_g24_transmit_no_ack:
-	call p_g24_end_of_packet
-	branch p_g24_transmit_next_packet
-
-p_g24_retransmit:
-	fetch 1,mem_24g_get_ack_fail
-	increase 1,pdata
-	store 1,mem_24g_get_ack_fail
-	fetch 1,mem_24g_pairing_sm
-	bne STATE_24G_PAIRING_SUCCESS,p_g24_tx_paring_retry
-	fetcht 1,mem_24g_retry
-	increase 1,temp
-	storet 1,mem_24g_retry
-	fetch 1,mem_24g_max_retry
-	isub temp,pdata
-	nbranch p_g24_transmit_loop,blank
-	fetch 1,mem_24g_rf_work_stage
-	beq 3,p_g24_transmit_pac_fail_hop_stage3
-	fetch 1,mem_24g_hop_pac_retry
-	increase 1,pdata
-	store 1,mem_24g_hop_pac_retry
-	beq 2,p_g24_transmit_hop_pac_fail
-	call p_g24_hop_ch_enable
-	jam 1,mem_24g_max_retry
-	branch p_g24_transmit_packet
-
-p_g24_tx_paring_retry:
-	fetch 1,mem_24g_get_ack_fail
-	rtnne 0xff
-	jam 0,mem_24g_get_ack_fail
-	branch p_g24_stop_g24_mode
-
-p_g24_tx_attempt_fail:
-	setarg 0
-	store 2,mem_24g_txfail_cnt
-p_g24_stop_g24_mode:
-	jam BT_EVT_24G_ATTEMPT_FAIL,mem_fifo_temp
-	branch ui_ipc_send_event
-
-p_g24_ackpayload_parse:
-	call p_g24_read_len_pid_crc
-	fetch 1,mem_24g_rxdata_length	//ack payload length 
-	rtn blank
-	iforce loopcnt
-	arg mem_24g_rxbuf+2,contr
-	arg mem_24g_rxpayload,contw	//ack payload buffer 
-	branch memcpy
-
-power_ctrl_pac_succ_cnt_init:
-	jam 1,mem_power_ctrl_level
-	jam 0,mem_power_ctrl_pac_succ_cnt
-	rtn
-power_ctrl_pac_succ_incrs:
-	fetch 1,mem_power_ctrl_pac_succ_cnt
-	increase 1,pdata
-	store 1,mem_power_ctrl_pac_succ_cnt
-	rtn
-power_ctrl_pac_succ_decrs:
-	fetch 1,mem_power_ctrl_pac_succ_cnt
-	sub pdata,1,null
-	ncall power_ctrl_pac_succ_cnt_reinit,positive
-	fetch 1,mem_power_ctrl_pac_succ_cnt
-	rtneq 0
-	increase -1,pdata
-	store 1,mem_power_ctrl_pac_succ_cnt
-	rtn
-power_ctrl_pac_succ_cnt_reinit:
-	jam 2,mem_power_ctrl_pac_succ_cnt
-	rtn
-
-power_ctrl_start:
-	arg mem_rssi_signal_buf,rega
-	call p_rssi_average
-	storet 1,mem_rssi_avg_received
-	isolate1 mark_24g,mark
-	call power_ctrl_24g_dis_max,true
-	ncall power_ctrl_le_dis_max,true
-	isub temp,null
-	nbranch power_ctrl_txpower_incrs,positive
-
-	fetch 1,mem_power_ctrl_pac_succ_cnt
-	sub pdata,1,null
-	nbranch power_ctrl_txpower_decrs_check,positive
-	fetch 1,mem_power_ctrl_pac_succ_cnt
-	beq 0,power_ctrl_txpower_incrs
-	rtn
-
-power_ctrl_24g_dis_max:
-	setarg RSSI_DIS_MAX_24G
-	rtn
-power_ctrl_24g_dis_min:
-	setarg RSSI_DIS_MIN_24G
-	rtn	
-power_ctrl_le_dis_max:
-	setarg RSSI_DIS_MAX_BLE
-	rtn
-power_ctrl_le_dis_min:
-	setarg RSSI_DIS_MIN_BLE
-	rtn
-	
-power_ctrl_txpower_decrs_check:
-	fetch 1,mem_power_ctrl_pac_succ_cnt
-	rtnne 70
-	jam 0,mem_power_ctrl_pac_succ_cnt
-power_ctrl_txpower_decrs:
-	fetcht 1,mem_rssi_avg_received
-	isolate1 mark_24g,mark
-	call power_ctrl_24g_dis_min,true
-	ncall power_ctrl_le_dis_min,true
-	isub temp,null
-	nrtn positive
-	fetch 1,mem_power_ctrl_level
-	beq 0,power_ctrl_decrs_level0
-	increase -1,pdata
-	store 1,mem_power_ctrl_level
-	beq 0,power_ctrl_decrs_level0
-power_ctrl_decrs_level1:
-power_ctrl_incrs_level1:	//0dBm
-	jam TX_POWER_0DB,mem_tx_power
-	rtn
-	
-power_ctrl_txpower_incrs:
-	fetch 1,mem_power_ctrl_level
-	beq 2,power_ctrl_incrs_level2
-	increase 1,pdata
-	store 1,mem_power_ctrl_level
-	beq 1,power_ctrl_incrs_level1
-power_ctrl_incrs_level2:	//+6dBm
-	jam TX_POWER_5DB,mem_tx_power
-	rtn
-	
-power_ctrl_decrs_level0: //-5dBm
-	jam TX_POWER_f5DB,mem_tx_power
-	rtn
-	
-p_g24_start_pairing_sm1:
-	set1 mark_24g,mark
-	call p_g24_pair_init
-p_g24_set_pairing_sm_1:
-	jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
-	rtn
-
-p_g24_pair_init:
-	jam TX_POWER_PAIR,mem_tx_power
-	jam 0,mem_24g_pid
-	jam G24_PAIR_CH,mem_24g_ch
-	fetch 4,mem_24g_paring_addr
-	branch p_g24_update_addr_and_synccrc8
-
-p_g24_pairing_sm:
-	fetch 1,mem_24g_ensure
-	beq ENSURE_ON_24G,enable_user
-	fetch 1,mem_24g_pairing_sm
-	beq STATE_24G_PAIRING_1,p_g24_pairing_sm_1
-	beq STATE_24G_PAIRING_2,p_g24_pairing_sm_2
-	beq STATE_24G_PAIRING_3,p_g24_pairing_sm_3
-	branch assert
-
-p_g24_pairing_sm_1:
-	jam STATE_24G_PAIRING_1_WAITING_ACK,mem_24g_pairing_sm
-	jam 0xaa,mem_24g_common_temp
-	branch p_g24_pairing_sm_common
-p_g24_pairing_sm_2:
-	jam STATE_24G_PAIRING_2_WAITING_ACK,mem_24g_pairing_sm
-	jam 0x55,mem_24g_common_temp
-	branch p_g24_pairing_sm_common
-p_g24_pairing_sm_3:
-	jam STATE_24G_PAIRING_3_WAITING_ACK,mem_24g_pairing_sm
-	jam 0x22,mem_24g_common_temp
-p_g24_pairing_sm_common:
-	fetch 1,mem_24g_data_type
-	and_into bits_data,pdata
-	store 1,mem_24g_common_temp+1
-	fetch 4,mem_24g_device_addr
-	store 4,mem_24g_common_temp+2
-p_g24_put_pairing_data_in_buff:
-	jam 0,mem_24g_common_temp+6
-	arg mem_24g_common_temp,rega
-	arg 7,temp
-	call p_g24_put_data_in_buff
-	call p_g24_transmit_prep
-	call p_g24_txdata_enable_tx
-	branch enable_user
-
-p_g24_paring_mode:
-	fetch 1,mem_24g_pairing_sm
-	rtneq STATE_24G_PAIRING_SUCCESS
-	beq STATE_24G_PAIRING_1_WAITING_ACK,p_g24_pairing_sm_1_waiting_ack
-	beq STATE_24G_PAIRING_2_WAITING_ACK,p_g24_pairing_sm_2_waiting_ack
-	beq STATE_24G_PAIRING_3_WAITING_ACK,p_g24_pairing_sm_3_waiting_ack
-	rtn
-
-
-p_g24_pairing_sm_1_waiting_ack:
-	jam STATE_24G_PAIRING_2,mem_24g_pairing_sm
-	branch p_g24_transmit_abandon
-p_g24_pairing_sm_2_waiting_ack:
-	jam STATE_24G_PAIRING_3,mem_24g_pairing_sm
-	branch p_g24_transmit_abandon
-p_g24_pairing_sm_3_waiting_ack:
-	jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
-	jam BT_EVT_24G_PAIRING_COMPLETE,mem_fifo_temp
-	call ui_ipc_send_event	
-	fetch 4,mem_24g_rxpayload+2
-	call p_g24_update_addr_and_synccrc8
-	branch p_g24_transmit_abandon
-
-p_g24_start_24g_mode:
-	set0 mark_24g,mark
-	call p_g24_syncword_crc8
-	call p_g24_ch
-	fetch 1,mem_24g_pairing_sm
-	rtnne STATE_24G_PAIRING_SUCCESS
-	call p_g24_tx_attemp_data_prep
-p_g24_tx_attemp_dongle:
-	setarg 0
-	store 2,mem_24g_check_dongle_times
-p_g24_tx_attemp_dongle_loop:
-	call lpo_calibration
-	nop 2000
-	fetch 1,mem_24g_check_dongle_times
-	beq 0xff,p_g24_stop_g24_mode	//
-	call p_g24_transmit_receive_ack
-	nbranch p_g24_attemp_txdata_retry,sync
-	nbranch p_g24_attemp_txdata_retry,user3
-p_g24_tx_attemp_dongle_succ:
-//	jam 1,mem_lpm_mode
-	jam 3,mem_24g_idle_cnt
-	set1 mark_24g,mark
-	setarg 0
-	store 2,mem_24g_check_dongle_times
-	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
-	branch ui_ipc_send_event
-
-p_g24_tx_attemp_data_prep:
-	set1 mark_24g_conext,mark
-	jam 0xff,mem_24g_common_temp
-	fetch 1,mem_24g_data_type
-	store 1,mem_24g_common_temp+1
-	fetch 4,mem_24g_device_addr
-	store 4,mem_24g_common_temp+2
-	arg 6,temp
-	arg mem_24g_common_temp,rega
-	call p_g24_put_data_in_buff
-	branch p_g24_transmit_prep
-	
-p_g24_attemp_txdata_retry:
-	fetch 2,mem_24g_check_dongle_times
-	increase 1,pdata
-	store 2,mem_24g_check_dongle_times
-	call p_g24_ch
-	branch p_g24_tx_attemp_dongle_loop
-
-p_g24_auto_pair_start:
-	set0 mark_24g,mark
-	call p_g24_auto_pair_all_powerful
-	call p_g24_tx_attemp_data_prep
-p_g24_auto_pair_restart:
-	jam 0,mem_24g_check_dongle_times
-p_g24_auto_pair_start_loop:
-	nop 2000
-	fetch 1,mem_24g_check_dongle_times
-	beq 0xff,p_g24_stop_g24_mode
-	call p_g24_transmit_receive_ack
-	nbranch p_g24_auto_pair_retry,sync
-	nbranch p_g24_auto_pair_retry,user3
-	call p_g24_ackpayload_parse
-	fetch 4,mem_24g_addr
-	fetcht 4,mem_24g_paring_addr
-	isub temp,null
-	branch p_g24_start_pairing_sm1,zero
-	branch p_g24_tx_attemp_dongle_succ
-
-p_g24_auto_pair_retry:
-	fetch 1,mem_24g_check_dongle_times
-	increase 1,pdata
-	store 1,mem_24g_check_dongle_times
-	fetch 1,mem_24g_auto_paring_switch
-	increase 1,pdata
-	and_into 1,pdata
-	store 1,mem_24g_auto_paring_switch
-	beq 0,p_g24_auto_pair_device_attemp
-	beq 1,p_g24_auto_pair_pair_attemp
-	rtn
-	
-p_g24_auto_pair_all_powerful:
-	jam TX_POWER_PAIR,mem_tx_power
-	setarg 0x0f0f
-	store 2,mem_24g_addr
-	istore 2,contw
-	call p_g24_syncword_crc8
-	branch p_g24_ch
-
-p_g24_auto_pair_device_attemp:
-	call p_g24_auto_pair_all_powerful
-	branch p_g24_auto_pair_start_loop
-
-p_g24_auto_pair_pair_attemp:
-	call p_g24_pair_init
-	branch p_g24_auto_pair_start_loop
-
-p_g24_put_data_in_buff:
-	storet 1,mem_24g_datalen
-	copy temp,loopcnt
-	arg mem_24g_txbuf,contw
-	copy rega,contr
-	branch memcpy
-
-p_g24_read_len_pid_crc:
-//read control
-	fetch 1,mem_24g_rxbuf+1
-	rshift3 pdata,pdata
-	store 1,mem_24g_rxdata_length
-//get crc
-	increase 1,pdata
-	arg mem_24g_rxbuf+1,contr
-	iadd contr,contr
-	ifetch 3,contr
-	store 3,mem_24g_sta_crc
-//read pid
-	fetch 1,mem_24g_rxbuf+1
-	rshift pdata,pdata
-	and pdata,0x03,pdata
-	store 1,mem_24g_sta_pid
-	rtn
-
-endif
-
 p_set_freq_tx:
 	storet 1,mem_last_freq
 	add temp,0,rega			/* index to frequency */
@@ -2658,113 +1448,6 @@
 	disable encode_fec0
 	disable encode_fec1
 	rtn
-/*
-p_le_savelist:
-	fetch 1,mem_mouse_key
-	bbit0 0,p_le_savelist1
-	fetch 1,mem_lpm_mode
-	bbit1 1,p_le_savelist1
-	jam 0,mem_seqi
-p_le_savelist1:
-	fetch 4,mem_sync_clke
-	store 4,mem_pdatatemp
-	deposit auxcnt
-	istore 1,contw
-	fetch 1,mem_le_ch_mapped
-	istore 1,contw
-	fetch 2,mem_le_event_count
-	arg 0x0fff,contr
-	iand contr,pdata
-	setflag match,15,pdata
-	setflag wake,14,pdata
-	setflag sync,13,pdata
-	setflag attempt,12,pdata
-	istore 2,contw
-
-
-p_save1:
-	call p_savelist1
-	fetch 1,mem_context
-	rtnbit0 state_inconn
-	fetch 1,mem_lpm_mode
-	rtnbit1 1
-	fetch 1,mem_mouse_z
-	rtn blank
-	jam 3,mem_lpm_mode
-	jam 0,mem_seqi
-	rtn
-
-
-p_savelist:
-	store 8,mem_pdatatemp
-p_savelist1:
-	fetch 1,mem_seqi
-	rtneq 0x7f
-	and_into 0x7f,pdata
-	lshift3 pdata,pdata
-	arg 0x4c00,contw
-	iadd contw,contw
-	fetch 8,mem_pdatatemp
-	istore 8,contw
-	fetch 1,mem_seqi
-	isolate1 7,pdata
-	increase 1,pdata
-	and_into 0x7f,pdata
-	setflag true,7,pdata
-	store 1,mem_seqi
-	fetch 8,mem_pdatatemp
-	rtn	
-
-
-p_hci_log:
-	fetch 1,0x4c00
-	increase 1,pdata
-	sub pdata,50,null
-	branch p_hci_log_calc_ptr,positive
-	setarg 0
-p_hci_log_calc_ptr:
-	store 1,0x4c00
-	arg 8,temp
-	imul32 temp,pdata
-	arg 0x4c08,contw
-	iadd contw,contw
-p_hci_log_write_content:
-	fetch 1,0x4c00
-	istore 1,contw//counter
-	fetch 4,mem_24g_txbuf+2
-	istore 4,contw
-	rtn
-
-
-p_send_lmp:
-	disable user
-	call lmo_fifo_process
-	fetch 1,mem_lmp_to_send
-	rtn blank
-	bbit1 7,p_send_lmp_escape
-	branch send_lmp0
-	
-p_send_lmp_escape:
-	beq LMP_EXT_FEATURES_RES,p_send_lmpext_features_res
-	beq LMP_EXT_FEATURES_REQ,p_send_lmpext_features_req	
-	branch send_lmp_escape
-
-p_send_lmpext_features_res:
-	call p_check_ssp_enable
-	fetch 1,mem_lmp_to_send
-	branch send_lmpext_features_res
-p_send_lmpext_features_req:
-	call p_check_ssp_enable
-	fetch 1,mem_lmp_to_send
-	branch send_lmpext_features_req
-
-p_check_ssp_enable:
-	fetch 1,mem_ssp_enable 
-	branch ssp_disable,blank
-	branch ssp_enable
-
-*/
-
 
 endif
 
Index: sched/usb.dat
===================================================================
--- /branch/USB/dongle/sched/usb.dat	(revision 991)
+++ /branch/USB/dongle/sched/usb.dat	(working copy)
@@ -168,9 +168,12 @@
 mem_24g_ch_map3:0f 1a 3a 4c
 mem_24g_ch_map4:11 23 31 4d
 mem_24g_paring_addr:20 15 10 05
-mem_24g_rx_addr:36 26 10 09
+mem_lap:36 26 10 09 07 2b	#low 4B used for mem_24g_rx_addr
+
 #24g rx init end
 
 mem_eeprom_base:80 1f
+mem_eeprom_block_size:20
+mem_eeprom_wp_gpio:14
 
 
