Index: format/app_quickconn_24g.format
===================================================================
--- /branch/mouse_project/TestTools/1021s_quick_connector/format/app_quickconn_24g.format	(revision 3200)
+++ /branch/mouse_project/TestTools/1021s_quick_connector/format/app_quickconn_24g.format	(working copy)
@@ -91,6 +91,26 @@
 1 mem_24g_led_status
 
 
+
+1 mem_24g_conn_sm
+1 mem_24g_stop_g24_mode
+2 mem_24g_stop_g24_mode_timeout
+
+1 mem_24g_auto_paring_switch
+1 mem_24g_transmit_by_interrupt
+2 mem_24g_transmit_by_interrupt_exit_count
+2 mem_24g_transmit_by_interrupt_exit_count_init
+4 mem_24g_allpowerful_addr
+1 mem_24g_pair_current_ch_num
+1 mem_24g_powerful_current_ch_num
+
+1 mem_m_key
+2 mem_m_x
+2 mem_m_y
+1 mem_m_z
+1 mem_m_tz
+1 mem_24g_matrix_cnt
+
 )
 
 (
@@ -438,3 +458,21 @@
 7 G24_BIND_MODE_DELAY
 )
 
+
+(
+0 STATE_24G_STOP
+0 STATE_24G_START
+1 STATE_24G_PAIR
+2 STATE_24G_RECONN
+)
+
+(
+0x0708 G24_DISCONN_NODATA_TIMER
+
+)
+
+(
+0x08 BIND_ACKPAYLOAD_LENGTH
+0x07 BIND_ACKPAYLOAD_LENGTH_YC1131
+)
+
Index: format/app_quickconn_common.format
===================================================================
--- /branch/mouse_project/TestTools/1021s_quick_connector/format/app_quickconn_common.format	(revision 3200)
+++ /branch/mouse_project/TestTools/1021s_quick_connector/format/app_quickconn_common.format	(working copy)
@@ -14,9 +14,9 @@
 
 //mem_app_mode_select
 (
-0x00 QUICK_CONN_24G
+0x00 QUICK_CONN_24G_RECEIVER
 0x01 QUICK_CONN_BLE
 0x02 QUICK_CONN_CLASSIC
-0x03 QUICK_CONN_PADDING
+0x03 QUICK_CONN_24G_TRANSMITTER
 )
 
Index: format/bt.format
===================================================================
--- /branch/mouse_project/TestTools/1021s_quick_connector/format/bt.format	(revision 3200)
+++ /branch/mouse_project/TestTools/1021s_quick_connector/format/bt.format	(working copy)
@@ -759,6 +759,8 @@
 41 mark_ble_tx_md
 42 mark_ble_rx_md
 43 mark_otp_encrypt
+
+44 mark_24g_rxmode
 )
 
 (
Index: output/eeprom.dat
===================================================================
--- /branch/mouse_project/TestTools/1021s_quick_connector/output/eeprom.dat	(revision 3200)
+++ /branch/mouse_project/TestTools/1021s_quick_connector/output/eeprom.dat	(working copy)
@@ -2,8 +2,8 @@
 02
 aa
 55
-5e
-0b
+6a
+12
 c2
 84
 00
@@ -11,19 +11,19 @@
 c0
 42
 80
-3b
+60
 c0
 44
 80
-3d
+62
 c0
 47
-02
-19
+00
+59
 c0
 59
-00
-e8
+01
+0d
 c0
 62
 00
@@ -31,15 +31,15 @@
 c0
 7b
 80
-8a
+af
 c0
 7c
 00
-b5
+da
 c0
 7e
 00
-9c
+c1
 20
 20
 2a
@@ -56,6 +56,30 @@
 89
 5c
 a0
+58
+00
+02
+65
+60
+01
+47
+d7
+58
+00
+00
+4a
+60
+01
+41
+f5
+58
+00
+00
+52
+60
+01
+41
+fd
 20
 40
 74
@@ -67,47 +91,47 @@
 20
 40
 00
-11
+17
 20
 20
 00
-24
+2a
 68
 08
-c7
-f2
+c8
+0a
 20
 40
 67
 fb
 68
 08
-c7
-f3
+c8
+0b
 20
 40
 67
 fb
 68
 08
-c7
-f4
+c8
+0c
 20
 40
 68
 0e
 68
 08
-c7
-f5
+c8
+0d
 20
 40
 68
 0e
 68
 08
-c7
-f6
+c8
+0e
 20
 20
 68
@@ -118,8 +142,8 @@
 00
 68
 08
-c7
-f2
+c8
+0a
 20
 40
 68
@@ -130,8 +154,8 @@
 00
 68
 08
-c7
-f3
+c8
+0b
 20
 40
 68
@@ -151,47 +175,83 @@
 20
 40
 00
-1b
+21
 c0
 00
+80
+3c
+c0
+01
 00
-29
+40
 c0
 00
-80
-2d
+00
+30
 c0
 01
-00
-31
+80
+34
 20
 60
 00
 00
 60
 00
-c7
-f1
+c8
+09
 68
 08
-c7
-f4
+c8
+0c
 20
 40
 68
 29
 20
+20
+02
+9d
 60
 00
-00
+c8
+09
+68
+08
+c8
+0c
+20
+40
+68
+29
+68
+08
+c8
+0d
+20
+40
+68
+29
+68
+08
+c8
+0e
+20
+40
+68
+29
+20
+20
+01
+12
 60
 00
-c7
-f1
+c8
+09
 68
 08
-c7
-f5
+c8
+0d
 20
 40
 68
@@ -202,12 +262,12 @@
 00
 60
 00
-c7
-f1
+c8
+09
 68
 08
-c7
-f6
+c8
+0e
 20
 40
 68
@@ -219,11 +279,11 @@
 20
 40
 00
-1b
+21
 68
 08
-c7
-f1
+c8
+09
 98
 46
 7c
@@ -240,6 +300,94 @@
 20
 2a
 8e
+1a
+62
+7e
+00
+c0
+1c
+80
+4e
+c0
+1d
+00
+4f
+20
+60
+00
+00
+20
+20
+01
+7c
+20
+40
+02
+62
+20
+40
+65
+9a
+20
+20
+2a
+8e
+20
+40
+00
+54
+20
+60
+00
+00
+da
+60
+47
+e6
+da
+40
+00
+57
+20
+20
+33
+74
+70
+47
+e5
+01
+20
+60
+00
+00
+68
+11
+09
+81
+1f
+f1
+fe
+00
+1f
+e9
+7e
+00
+1f
+e6
+7e
+00
+1f
+e1
+7e
+ff
+60
+00
+c7
+c5
+20
+20
+29
+c1
 18
 00
 2a
@@ -315,35 +463,35 @@
 c0
 00
 00
-54
+79
 c0
 00
 80
-5c
+81
 c0
 01
 00
-64
+89
 c0
 01
 80
-6c
+91
 c0
 02
 00
-74
+99
 c0
 10
 00
-86
+ab
 20
 20
 00
-64
+89
 20
 40
 00
-7c
+a1
 70
 89
 4b
@@ -375,7 +523,7 @@
 20
 40
 00
-81
+a6
 70
 89
 4b
@@ -407,7 +555,7 @@
 20
 40
 00
-81
+a6
 70
 89
 4b
@@ -439,7 +587,7 @@
 20
 40
 00
-7c
+a1
 70
 89
 4b
@@ -471,7 +619,7 @@
 20
 40
 00
-7c
+a1
 70
 89
 4b
@@ -571,7 +719,7 @@
 20
 40
 00
-8f
+b4
 20
 20
 48
@@ -779,7 +927,7 @@
 c0
 00
 00
-c3
+e8
 20
 20
 49
@@ -803,7 +951,7 @@
 c0
 00
 80
-c9
+ee
 20
 20
 49
@@ -815,7 +963,7 @@
 c0
 04
 80
-cc
+f1
 20
 20
 49
@@ -847,7 +995,7 @@
 24
 5a
 00
-d6
+fb
 68
 00
 8d
@@ -855,7 +1003,7 @@
 24
 5a
 00
-d9
+fe
 20
 20
 4a
@@ -932,50 +1080,1634 @@
 60
 00
 00
+c6
+93
+00
+00
 68
 00
-c7
-f1
+c8
+09
+c0
+00
+02
+98
 c0
+01
+81
+1f
+20
+20
+01
+0b
+68
+11
+00
+50
+79
+20
+7e
+0a
+60
+11
+00
+50
+79
+20
+00
+26
+79
+3f
 80
+2c
+70
+47
+21
+01
+70
+47
+65
+04
+58
 00
-e6
+12
+c0
+60
+01
+47
+23
+70
+47
+45
+19
+70
+47
+46
+19
+70
+47
+47
+1c
+20
+20
+01
+75
 20
 40
 00
-f0
+44
+68
+00
+c7
+e4
+c2
+80
+81
+44
 20
 40
+01
+35
+24
+74
 00
-f6
+00
+20
+40
+01
+29
 20
 40
+01
+e1
+24
+74
+00
 00
-35
 20
 40
+01
+c6
+20
+20
+01
+f5
+68
 00
-fa
+c7
+5b
+1f
+e0
+fe
+01
+60
+00
+c7
+5b
+c0
+02
+01
+33
+c0
+02
+81
+2f
+20
+60
+00
+00
+70
+47
+5b
+00
+68
+00
+c7
+46
+60
+00
+c7
+45
+20
+60
+00
+00
+68
+00
+c7
+47
+20
+20
+01
+31
 20
 40
+7f
+e9
+68
+0a
+47
+41
+1c
+42
+7e
 00
-e6
+98
+46
+7c
+00
+24
+41
+2d
+18
+1f
+e2
+24
+00
+68
+02
+47
+41
+68
+08
+c7
+45
+98
+40
+84
+00
+1a
+42
+7e
+00
+98
+46
+7c
+00
+24
+61
+00
+00
+79
+3f
+fe
+1c
+60
+02
+47
+41
+20
+20
+7f
+e7
+68
+00
+c7
+e5
+c0
+00
+ad
+d4
+20
+40
+01
+67
+20
+40
+02
+08
+24
+2c
+01
+80
+24
+37
+81
+80
+20
+40
+02
+2d
+68
+02
+47
+48
+68
+0a
+47
+ee
+98
+46
+7c
+00
+20
+22
+81
+51
+20
+40
+01
+61
+24
+74
+00
+00
+68
+00
+c7
+e4
+79
+3f
+fe
+01
+60
+00
+c7
+e4
+68
+02
+47
+48
+68
+0a
+47
+2c
+98
+46
+7c
+00
+20
+22
+82
+34
+68
+02
+47
+48
+68
+0a
+47
+57
+98
+46
+7c
+00
+20
+42
+81
+65
+79
+20
+00
+26
+20
+40
+2f
+20
+df
+20
+00
+04
+d8
+a0
+46
+bc
+20
+20
+7e
+c6
+68
+00
+c7
+1e
+c0
+04
+7f
+e7
+c0
+03
+ff
+e7
+20
+20
+7f
+e9
+68
+02
+47
+00
+20
+20
+03
+e1
+70
+11
+9e
+ff
+68
+00
+c7
+21
+60
+00
+91
+9f
+68
+02
+47
+57
+60
+02
+11
+a0
+d8
+40
+00
+06
+da
+20
+11
+9e
+20
+40
+01
+70
+20
+20
+03
+fc
+60
+08
+c7
+20
+18
+42
+72
+00
+d8
+a0
+46
+bc
+1a
+22
+0c
+00
+20
+20
+7f
+01
+68
+00
+c7
+e4
+79
+20
+7e
+01
+60
+00
+c7
+e4
+58
+00
+07
+08
+60
+01
+47
+e6
+70
+47
+e5
+00
+20
+60
+00
+00
+58
+00
+00
+00
+60
+00
+c7
+e5
+60
+01
+47
+e6
+20
+60
+00
+00
+68
+00
+c7
+e8
+1f
+e0
+fe
+01
+1f
+e1
+7e
+03
+60
+00
+c7
+e8
+c0
+00
+01
+89
+c0
+01
+01
+92
+70
+47
+2a
+4e
+68
+02
+47
+2c
+20
+20
+03
+e1
+68
+02
+47
+57
+60
+02
+47
+48
+68
+00
+c7
+f2
+60
+00
+c7
+2b
+20
+40
+01
+90
+60
+08
+c7
+f2
+20
+60
+00
+00
+20
+40
+03
+e2
+20
+20
+04
+0e
+68
+02
+47
+ee
+60
+02
+47
+48
+68
+00
+c7
+f3
+60
+00
+c7
+2b
+20
+40
+01
+90
+60
+08
+c7
+f3
+20
+60
+00
+00
+68
+02
+40
+a0
+60
+02
+47
+57
+20
+60
+00
+00
+70
+47
+dc
+01
+70
+47
+de
+00
+68
+00
+c7
+21
+1f
+e1
+7e
+07
+60
+00
+c7
+21
+20
+60
+00
+00
+68
+00
+c7
+21
+79
+20
+7e
+04
+60
+00
+c7
+21
+60
+00
+c6
+dc
+20
+60
+00
+00
+68
+00
+c7
+21
+c4
+02
+00
+00
+68
+00
+c7
+21
+79
+3f
+fe
+04
+60
+00
+c7
+21
+60
+00
+c6
+dc
+20
+20
+04
+0e
+68
+00
+c7
+db
+c0
+80
+81
+9e
+68
+00
+c7
+d9
+1f
+e0
+fe
+01
+60
+00
+c7
+d9
+c0
+02
+01
+b7
+20
+40
+04
+0e
+70
+47
+65
+02
+20
+20
+01
+f5
+70
+47
+d9
+00
+20
+20
+01
+9e
+70
+47
+de
+02
+70
+47
+dc
+01
+70
+47
+db
+00
+20
+20
+01
+9e
+68
+00
+c7
+dd
+c0
+01
+81
+ba
+68
+00
+c7
+21
+2f
+ec
+00
+04
+20
+20
+81
+9c
+68
+00
+c7
+dd
+c0
+00
+81
+b9
+c0
+01
+01
+ba
+20
+60
+00
+00
+68
+00
+c7
+30
+c1
+ff
+80
+00
+20
+40
+01
+cb
+24
+56
+01
+d3
+20
+60
+00
+00
+78
+56
+7c
+00
+68
+00
+c7
+dc
+c1
+80
+80
+00
+68
+00
+c7
+de
+c1
+80
+00
+00
+70
+47
+dd
+01
+70
+47
+65
+04
+20
+20
+7f
+eb
+68
+00
+c7
+de
+20
+3a
+01
+db
+1f
+e0
+ff
+ff
+60
+00
+c7
+de
+70
+47
+dd
+02
+20
+40
+04
+0e
+70
+47
+65
+04
+20
+60
+00
+00
+70
+47
+dd
+03
+68
+00
+c7
+db
+24
+3a
+01
+ae
+20
+40
+04
+0e
+70
+47
+65
+02
+20
+60
+00
+00
+68
+00
+c7
+30
+c0
+ff
+82
+38
+20
+40
+01
+e7
+20
+40
+03
+fc
+70
+47
+25
+01
+20
+60
+00
+00
+68
+01
+47
+d7
+20
+40
+7f
+9c
+20
+34
+01
+ed
+68
+03
+c6
+bd
+20
+7a
+00
+00
+20
+20
+7f
+e7
+70
+47
+4c
+00
+1a
+20
+fe
+01
+60
+00
+c7
+20
+20
+40
+01
+9e
+60
+00
+c6
+bc
+1a
+42
+0c
+00
+1a
+22
+72
+00
+20
+20
+7f
+01
+70
+47
+29
+00
+d9
+60
+0d
+00
+34
+73
+02
+00
+20
+40
+02
+08
+24
+2c
+02
+13
+24
+37
+82
+13
+20
+40
+01
+5e
+20
+40
+02
+2d
+68
+00
+c7
+1f
+1f
+e0
+fe
+01
+60
+00
+c7
+1f
+20
+40
+01
+a7
+68
+00
+c7
+30
+c0
+ff
+82
+52
+20
+40
+01
+bd
+58
+00
+00
+00
+60
+02
+47
+25
+60
+00
+c7
+da
+20
+60
+00
+00
+78
+57
+fc
+00
+20
+40
+04
+76
+18
+00
+2a
+00
+68
+02
+47
+48
+98
+00
+12
+00
+68
+08
+80
+17
+20
+40
+29
+1f
+20
+40
+29
+24
+20
+40
+04
+31
+20
+57
+84
+70
+20
+60
+00
+00
+68
+00
+c7
+4c
+24
+7a
+00
+00
+68
+01
+47
+26
+1f
+e0
+fe
+01
+60
+01
+47
+26
+68
+00
+c7
+27
+c2
+80
+82
+20
+68
+00
+c7
+30
+c0
+ff
+82
+1e
+20
+40
+02
+23
+20
+20
+01
+f6
+68
+00
+c7
+26
+c1
+ff
+80
+00
+58
+00
+00
+00
+60
+01
+47
+26
+20
+20
+2d
+d4
+68
+00
+c7
+29
+1f
+e6
+7c
+0b
+24
+21
+04
+0e
+1f
+e0
+fe
+01
+60
+00
+c7
+29
+c0
+01
+01
+a2
+c0
+03
+01
+a9
+c0
+04
+01
+a2
+c0
+06
+01
+a9
+20
+60
+00
+00
+20
+40
+03
+ef
+68
+00
+c7
+1e
+20
+7a
+00
+00
+98
+00
+72
+00
+d8
+c0
+46
+9c
+d8
+a0
+46
+fe
+20
+20
+7f
+01
+79
+20
+00
+26
+20
+40
+01
+86
+70
+47
+30
+01
+20
+60
+00
+00
+68
+00
+c7
+25
+c0
+00
+ff
+e7
+68
+00
+c7
+30
+c0
+00
+82
+3f
+c0
+01
+02
+42
+c0
+01
+82
+45
+20
+20
+2a
+8c
+70
+47
+30
+11
+70
+11
+9e
+aa
+20
+20
+02
+47
+70
+47
+30
+12
+70
+11
+9e
+55
+20
+20
+02
+47
+70
+47
+30
+13
+70
+11
+9e
+22
+68
+00
+c7
+21
+1f
+e1
+7e
+07
+60
+00
+91
+9f
+68
+02
+47
+57
+60
+02
+11
+a0
+70
+11
+a4
+00
+da
+20
+11
+9e
+d8
+40
+00
+07
+20
+40
+01
+70
+20
+40
+01
+e4
+20
+20
+7f
+e7
+68
+00
+c7
+30
+c1
+7f
+80
+00
+c0
+08
+82
+58
+c0
+09
+02
+5a
+c0
+09
+82
+5c
+20
+60
+00
+00
+70
+47
+30
+02
+20
+20
+02
+04
+70
+47
+30
+03
+20
+20
+02
+04
+70
+47
+30
+ff
+70
+0a
+99
+39
+20
+40
+7d
+86
+68
+02
+47
+00
+20
+40
+03
+e1
+20
+20
+02
+04
+79
+3f
+80
+26
+70
+47
+e4
+00
+20
+20
+53
+ce
+68
+00
+c7
+fb
+1f
+e0
+fe
+01
+60
+00
+c7
+fb
+1f
+e6
+7c
+32
+20
+21
+02
+71
+1f
+e6
+7c
+64
+20
+21
+02
+7c
+1f
+e6
+7c
+96
+20
+21
+02
+84
+1f
+e6
+7c
+c8
+20
+21
+02
+8c
+20
+60
+00
+00
+58
+00
+00
+05
+60
+01
+47
+f5
+58
+00
+00
+00
+60
+01
+47
+f7
+60
+00
+c7
+f9
+60
+00
+c7
+f4
+60
+00
+c7
+fa
+78
+34
+7c
+00
+da
+20
+00
+07
+da
+40
+47
+f4
+20
+60
+00
+00
+58
+00
+00
+05
+60
+01
+47
+f7
+58
+00
+00
+00
+60
+01
+47
+f5
+60
+00
+c7
+f9
+60
+00
+c7
+f4
+60
+00
+c7
+fa
+20
+20
+02
+78
+58
+00
+ff
+fb
+60
+01
+47
+f5
+58
+00
+00
+00
+60
+01
+47
+f7
+60
+00
+c7
+f9
+60
+00
+c7
+f4
+60
+00
+c7
+fa
+20
+20
+02
+78
+68
+00
+c7
+fb
+c0
+64
+02
+96
+58
+00
+ff
+fb
+60
+01
+47
+f7
+58
+00
+00
+00
+60
+01
+47
+f5
+60
+00
+c7
+f9
+60
+00
+c7
+f4
+60
+00
+c7
+fa
+20
+20
+02
+78
+70
+47
+fb
+00
+20
+20
+02
+8e
+20
+40
+02
+a7
+20
+40
+00
+44
+20
+40
+02
+ab
+20
+40
+01
+0b
+20
+20
+02
+99
+79
 20
+00
+26
+79
 20
 00
-ec
+2c
 58
-0f
-0f
-0f
+00
+75
+30
 60
 01
-c7
+47
+23
+68
+02
+47
+ee
+60
+02
+47
 8d
-e0
-a0
-80
-00
+70
+47
+a1
+1e
 df
 20
 00
@@ -1014,20 +2746,20 @@
 00
 20
 40
-01
-00
+02
+b1
 20
 40
-01
-0c
+02
+bd
 20
 40
-01
-79
+03
+1d
 20
 20
-01
-2b
+02
+dc
 68
 00
 c7
@@ -1066,32 +2798,32 @@
 8d
 20
 40
-02
-32
+03
+e1
 20
 40
-02
-52
+04
+0e
 20
 20
-01
-89
+03
+2d
 68
 00
 c7
 9b
 c0
 00
-81
-25
+82
+d6
 68
 00
 c7
 a3
 c0
 00
-81
-1f
+82
+d0
 68
 0a
 47
@@ -1150,16 +2882,16 @@
 01
 20
 20
-02
-52
+04
+0e
 70
 47
 a3
 00
 20
 20
-02
-52
+04
+0e
 1c
 42
 7e
@@ -1182,8 +2914,8 @@
 9e
 20
 40
-02
-2e
+03
+d5
 60
 08
 c7
@@ -1198,20 +2930,20 @@
 00
 20
 20
-02
-52
+04
+0e
 20
 40
-01
-2e
+02
+df
 20
 40
-01
-39
+02
+ea
 20
 20
-01
-41
+02
+f2
 68
 00
 c7
@@ -1238,12 +2970,12 @@
 00
 20
 40
-01
-36
+02
+e7
 20
 20
-00
-dd
+01
+02
 d8
 a0
 13
@@ -1282,12 +3014,12 @@
 00
 20
 40
-01
-36
+02
+e7
 20
 20
-00
-e2
+01
+07
 68
 00
 c7
@@ -1314,80 +3046,28 @@
 00
 20
 40
-01
-36
+02
+e7
 20
 20
-00
-e2
+01
+07
 20
 40
-01
-89
+03
+2d
 20
 40
-02
-6c
+04
+28
 24
 77
 80
 00
 20
 20
-01
-5a
-68
-00
-c6
-9b
-1f
-e9
-7e
-00
-60
-00
-c7
-1e
-1f
-e0
+02
 fe
-01
-d8
-c0
-46
-9b
-98
-c0
-8c
-00
-e8
-c1
-80
-00
-60
-01
-c7
-5d
-68
-00
-c6
-9b
-1f
-e3
-7e
-00
-1f
-e1
-7e
-03
-60
-00
-c7
-63
-20
-60
-00
-00
 68
 00
 c6
@@ -1398,8 +3078,8 @@
 21
 20
 40
-01
-4d
+03
+ef
 68
 00
 c6
@@ -1410,24 +3090,24 @@
 00
 20
 20
-81
-63
+83
+07
 20
 40
-01
-64
+03
+08
 20
 40
-02
-40
+03
+fc
 20
 40
-02
-b4
+04
+76
 20
 20
-02
-ac
+04
+70
 70
 47
 20
@@ -1442,12 +3122,12 @@
 00
 c0
 00
-81
-6a
+83
+0e
 c0
 01
-81
-70
+83
+14
 20
 60
 00
@@ -1482,12 +3162,12 @@
 9c
 c0
 00
-81
-6a
+83
+0e
 c0
 7f
-81
-6a
+83
+0e
 70
 0d
 43
@@ -1514,32 +3194,32 @@
 01
 20
 40
-01
-49
+02
+fa
 24
 37
-81
-89
+83
+2d
 20
 20
-01
-7c
+03
+20
 20
 40
-01
-8c
+03
+30
 24
 34
-01
-89
+03
+2d
 68
 00
 c7
 1e
 20
 3a
-01
-89
+03
+2d
 1f
 e0
 fe
@@ -1566,16 +3246,16 @@
 6d
 c0
 00
-81
-9a
+83
+3e
 c0
 01
-01
-b6
+03
+5a
 c0
 7f
-82
-0b
+83
+af
 d8
 a0
 46
@@ -1646,8 +3326,8 @@
 00
 20
 40
-01
-21
+02
+d2
 68
 00
 c7
@@ -1670,8 +3350,8 @@
 9b
 c0
 00
-82
-15
+83
+b9
 68
 00
 c7
@@ -1694,8 +3374,8 @@
 a3
 20
 40
-00
-dd
+01
+02
 68
 03
 c7
@@ -1710,16 +3390,16 @@
 6e
 24
 5a
-01
-ae
+03
+52
 68
 00
 c7
 6e
 20
 5a
-01
-b2
+03
+56
 20
 20
 31
@@ -1766,28 +3446,28 @@
 03
 20
 20
-82
-17
+83
+bb
 68
 00
 c7
 6e
 c0
 00
-01
-be
+03
+62
 c0
 01
-01
-f5
+03
+99
 c0
 01
-81
-db
+83
+7f
 20
 20
-01
-89
+03
+2d
 68
 00
 c7
@@ -1802,32 +3482,32 @@
 00
 20
 40
-00
-e2
+01
+07
 d8
 a0
 13
 d5
 20
 40
-01
-d0
+03
+74
 68
 04
 13
 d5
 24
 5a
-01
-d3
+03
+77
 68
 04
 13
 d5
 20
 5a
-01
-d7
+03
+7b
 68
 04
 13
@@ -1858,8 +3538,8 @@
 ac
 20
 20
-01
-89
+03
+2d
 d8
 c0
 47
@@ -1906,32 +3586,32 @@
 08
 20
 40
-00
-e2
+01
+07
 d8
 a0
 13
 d5
 20
 40
-01
-ea
+03
+8e
 68
 01
 13
 d6
 24
 5a
-01
-ed
+03
+91
 68
 01
 13
 d6
 20
 5a
-01
-f1
+03
+95
 68
 01
 93
@@ -1962,8 +3642,8 @@
 b7
 20
 20
-01
-89
+03
+2d
 d8
 c0
 47
@@ -2010,16 +3690,16 @@
 08
 20
 40
-00
-e2
+01
+07
 d8
 a0
 13
 d5
 20
 40
-02
-00
+03
+a4
 68
 01
 13
@@ -2050,8 +3730,8 @@
 cf
 20
 20
-01
-89
+03
+2d
 d8
 c0
 47
@@ -2102,12 +3782,12 @@
 6e
 c0
 00
-82
-0f
+83
+b3
 c0
 01
-02
-12
+03
+b6
 20
 60
 00
@@ -2142,44 +3822,16 @@
 75
 20
 20
-02
-10
+03
+b4
 68
 02
 47
 75
 20
 20
-02
-13
-68
-11
-09
-81
-1f
-f1
-fe
-00
-1f
-e9
-7e
-00
-1f
-e6
-7e
-00
-1f
-e1
-7e
-ff
-60
-00
-c7
-c5
-20
-20
-29
-c1
+03
+b7
 20
 40
 29
@@ -2198,8 +3850,8 @@
 9e
 20
 40
-02
-27
+03
+c4
 60
 08
 c7
@@ -2236,6 +3888,46 @@
 60
 00
 00
+1f
+e2
+22
+00
+68
+08
+c7
+c8
+58
+00
+47
+cf
+98
+40
+8a
+00
+1a
+22
+7e
+00
+e0
+a0
+80
+00
+18
+40
+84
+01
+18
+41
+04
+07
+60
+08
+c7
+c8
+20
+60
+00
+00
 d8
 40
 00
@@ -2244,14 +3936,46 @@
 20
 01
 00
+c5
+16
+03
+d9
+df
+20
+00
+08
 1a
 22
 0c
 00
-20
-20
+c5
+16
 2e
 64
+e8
+c0
+80
+00
+98
+40
+84
+00
+c2
+00
+03
+db
+18
+49
+7e
+00
+1f
+e2
+04
+00
+20
+60
+00
+00
 60
 02
 47
@@ -2278,8 +4002,8 @@
 00
 c2
 00
-02
-36
+03
+e5
 1a
 22
 7e
@@ -2310,6 +4034,58 @@
 00
 68
 00
+c6
+9b
+1f
+e9
+7e
+00
+60
+00
+c7
+1e
+1f
+e0
+fe
+01
+d8
+c0
+46
+9b
+98
+c0
+8c
+00
+e8
+c1
+80
+00
+60
+01
+c7
+5d
+68
+00
+c6
+9b
+1f
+e3
+7e
+00
+1f
+e1
+7e
+03
+60
+00
+c7
+63
+20
+60
+00
+00
+68
+00
 c7
 20
 1f
@@ -2386,8 +4162,8 @@
 2b
 20
 40
-02
-56
+04
+12
 60
 08
 c7
@@ -2398,8 +4174,8 @@
 00
 20
 40
-02
-5a
+04
+16
 18
 40
 84
@@ -2522,8 +4298,8 @@
 24
 20
 40
-02
-63
+04
+1f
 78
 57
 fc
@@ -2558,8 +4334,8 @@
 00
 24
 2c
-02
-af
+04
+6e
 78
 46
 fc
@@ -2576,14 +4352,10 @@
 24
 fc
 00
-09
-80
-00
-08
-19
-89
-7e
-00
+20
+40
+04
+6b
 60
 00
 c7
@@ -2598,32 +4370,20 @@
 00
 24
 22
-82
-ac
-09
-80
-00
-08
-19
-89
-7e
-00
+84
+70
+20
+40
+04
+6b
 60
 00
 c6
 9a
-68
-00
-c7
-66
-1f
-e6
-7c
-02
-20
-22
-82
-93
+c5
+16
+04
+4b
 68
 00
 c6
@@ -2638,16 +4398,12 @@
 00
 24
 20
-82
-ac
-09
-80
-00
-08
-19
-89
-7e
-00
+84
+70
+20
+40
+04
+6b
 e0
 a0
 80
@@ -2662,24 +4418,40 @@
 1f
 20
 22
-82
-9d
-09
-80
-00
-08
-19
-89
-7e
-00
+84
+53
+20
+40
+04
+6b
 e0
 a0
 80
 00
 c2
 00
-02
-99
+04
+50
+c5
+16
+04
+58
+18
+a2
+22
+00
+20
+40
+04
+6b
+60
+00
+c7
+e1
+1a
+22
+0a
+00
 09
 80
 00
@@ -2708,14 +4480,18 @@
 45
 fc
 00
+28
+0f
+fe
+2c
 20
 40
-29
+a9
 bb
 20
 23
-02
-ac
+04
+70
 78
 37
 fc
@@ -2737,9 +4513,41 @@
 fc
 00
 20
-20
+40
 29
 18
+c6
+16
+00
+00
+68
+00
+c7
+e1
+20
+20
+03
+cb
+09
+80
+00
+08
+19
+89
+7e
+00
+20
+60
+00
+00
+28
+0f
+fe
+2c
+20
+40
+83
+bd
 78
 4d
 fc
@@ -2754,14 +4562,6 @@
 4d
 20
 40
-02
-20
-20
-20
-02
-ac
-20
-40
 29
 18
 68
@@ -2786,12 +4586,12 @@
 00
 20
 40
-02
-63
+04
+1f
 20
 40
-02
-b1
+04
+73
 79
 20
 2a
@@ -2870,8 +4670,12 @@
 08
 c2
 00
-02
-ca
+04
+8c
+c5
+96
+04
+92
 68
 00
 c7
@@ -2912,8 +4716,8 @@
 60
 00
 00
-23
-f4
+d0
+44
 aa
 55
 02
@@ -2999,7 +4803,7 @@
 55
 0d
 00
-e4
+fc
 47
 4b
 ba
@@ -3020,7 +4824,7 @@
 00
 c3
 40
-e4
+fc
 47
 aa
 55
@@ -3293,8 +5097,8 @@
 55
 05
 00
-f2
-47
+0a
+48
 1b
 1c
 08
@@ -3304,31 +5108,15 @@
 55
 01
 00
-66
-47
-02
-aa
-55
-01
-00
 5c
 47
 00
 aa
 55
-02
-00
-23
-47
-30
-75
-aa
-55
-02
+01
 00
-a1
+a2
 47
-1e
 00
 aa
 55
@@ -3352,5 +5140,48 @@
 23
 31
 4d
-09
-87
+aa
+55
+01
+00
+30
+47
+ff
+aa
+55
+04
+00
+2c
+47
+20
+15
+10
+05
+aa
+55
+04
+00
+ee
+47
+0f
+0f
+0f
+0f
+aa
+55
+0a
+00
+9e
+11
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+5d
+91
Index: output/memmap.format
===================================================================
--- /branch/mouse_project/TestTools/1021s_quick_connector/output/memmap.format	(revision 3200)
+++ /branch/mouse_project/TestTools/1021s_quick_connector/output/memmap.format	(working copy)
@@ -1835,10 +1835,26 @@
 0x47e1 mem_rssi_hex_received
 0x47e2 mem_power_ctrl_level
 0x47e3 mem_24g_led_status
-0x47e4 mem_rf_init_data_new
-0x47f1 mem_app_mode_select
-0x47f2 mem_quickconn_sel_27_gpio
-0x47f3 mem_quickconn_sel_28_gpio
-0x47f4 mem_quickconn_24g_led_gpio
-0x47f5 mem_quickconn_ble_led_gpio
-0x47f6 mem_quickconn_classic_led_gpio
+0x47e4 mem_24g_conn_sm
+0x47e5 mem_24g_stop_g24_mode
+0x47e6 mem_24g_stop_g24_mode_timeout
+0x47e8 mem_24g_auto_paring_switch
+0x47e9 mem_24g_transmit_by_interrupt
+0x47ea mem_24g_transmit_by_interrupt_exit_count
+0x47ec mem_24g_transmit_by_interrupt_exit_count_init
+0x47ee mem_24g_allpowerful_addr
+0x47f2 mem_24g_pair_current_ch_num
+0x47f3 mem_24g_powerful_current_ch_num
+0x47f4 mem_m_key
+0x47f5 mem_m_x
+0x47f7 mem_m_y
+0x47f9 mem_m_z
+0x47fa mem_m_tz
+0x47fb mem_24g_matrix_cnt
+0x47fc mem_rf_init_data_new
+0x4809 mem_app_mode_select
+0x480a mem_quickconn_sel_27_gpio
+0x480b mem_quickconn_sel_28_gpio
+0x480c mem_quickconn_24g_led_gpio
+0x480d mem_quickconn_ble_led_gpio
+0x480e mem_quickconn_classic_led_gpio
Index: output/program.lis
===================================================================
--- /branch/mouse_project/TestTools/1021s_quick_connector/output/program.lis	(revision 3200)
+++ /branch/mouse_project/TestTools/1021s_quick_connector/output/program.lis	(working copy)
@@ -1,14 +1,14 @@
               include "bt_format "
               org 0x0000
 0000 c284000a bbit1 8 ,pf_patch_ext 
-0001 c042803b beq patch10_5 ,p_shutdown_radio 
-0002 c044803d beq patch11_1 ,p_set_freq_tx 
-0003 c0470219 beq patch11_6 ,p_save_rssi 
-0004 c05900e8 beq patch16_2 ,p_g24_dispatch 
+0001 c0428060 beq patch10_5 ,p_shutdown_radio 
+0002 c0448062 beq patch11_1 ,p_set_freq_tx 
+0003 c0470059 beq patch11_6 ,p_save_rssi 
+0004 c059010d beq patch16_2 ,p_g24_dispatch 
 0005 c062000b beq patch18_4 ,p_app_init 
-0006 c07b808a beq patch1e_7 ,p_usb_init 
-0007 c07c00b5 beq patch1f_0 ,p_usb_status1 
-0008 c07e009c beq patch1f_4 ,p_usb_tx 
+0006 c07b80af beq patch1e_7 ,p_usb_init 
+0007 c07c00da beq patch1f_0 ,p_usb_status1 
+0008 c07e00c1 beq patch1f_4 ,p_usb_tx 
 0009 20202a8e branch loop 
 
 pf_patch_ext:
@@ -17,930 +17,1557 @@
 p_app_init:
 000b 70895b86 jam 0x86 ,0x895b 
 000c 70895ca0 jam 0xa0 ,0x895c 
-000d 204074b9 call enable_authrom 
-000e 204048ea call usb_init 
-000f 20400011 call p_app_ui_init 
-0010 20200024 branch p_app_mode_select 
+000d 58000265 setarg p_g24_matrix_data 
+000e 600147d7 store 2 ,mem_cb_24g_data 
+000f 5800004a setarg p_app_priority_bb_event 
+0010 600141f5 store 2 ,mem_cb_bb_event_process 
+0011 58000052 setarg p_app_bb_event_timer 
+0012 600141fd store 2 ,mem_cb_event_timer 
+0013 204074b9 call enable_authrom 
+0014 204048ea call usb_init 
+0015 20400017 call p_app_ui_init 
+0016 2020002a branch p_app_mode_select 
 
 p_app_ui_init:
-0011 6808c7f2 fetcht 1 ,mem_quickconn_sel_27_gpio 
-0012 204067fb call gpio_config_input 
-0013 6808c7f3 fetcht 1 ,mem_quickconn_sel_28_gpio 
-0014 204067fb call gpio_config_input 
-0015 6808c7f4 fetcht 1 ,mem_quickconn_24g_led_gpio 
-0016 2040680e call gpio_config_output 
-0017 6808c7f5 fetcht 1 ,mem_quickconn_ble_led_gpio 
-0018 2040680e call gpio_config_output 
-0019 6808c7f6 fetcht 1 ,mem_quickconn_classic_led_gpio 
-001a 2020680e branch gpio_config_output 
+0017 6808c80a fetcht 1 ,mem_quickconn_sel_27_gpio 
+0018 204067fb call gpio_config_input 
+0019 6808c80b fetcht 1 ,mem_quickconn_sel_28_gpio 
+001a 204067fb call gpio_config_input 
+001b 6808c80c fetcht 1 ,mem_quickconn_24g_led_gpio 
+001c 2040680e call gpio_config_output 
+001d 6808c80d fetcht 1 ,mem_quickconn_ble_led_gpio 
+001e 2040680e call gpio_config_output 
+001f 6808c80e fetcht 1 ,mem_quickconn_classic_led_gpio 
+0020 2020680e branch gpio_config_output 
 
 p_app_check_key_gpio:
-001b da200000 arg 0 ,rega 
-001c 6808c7f2 fetcht 1 ,mem_quickconn_sel_27_gpio 
-001d 2040681d call gpio_get_bit 
-001e 7920a200 setflag true ,0 ,rega 
-001f 6808c7f3 fetcht 1 ,mem_quickconn_sel_28_gpio 
-0020 2040681d call gpio_get_bit 
-0021 7920a201 setflag true ,1 ,rega 
-0022 1a227e00 copy rega ,pdata 
-0023 20600000 rtn 
+0021 da200000 arg 0 ,rega 
+0022 6808c80a fetcht 1 ,mem_quickconn_sel_27_gpio 
+0023 2040681d call gpio_get_bit 
+0024 7920a200 setflag true ,0 ,rega 
+0025 6808c80b fetcht 1 ,mem_quickconn_sel_28_gpio 
+0026 2040681d call gpio_get_bit 
+0027 7920a201 setflag true ,1 ,rega 
+0028 1a227e00 copy rega ,pdata 
+0029 20600000 rtn 
 
 p_app_mode_select:
-0024 2040001b call p_app_check_key_gpio 
-0025 c0000029 beq quick_conn_24g ,p_app_mode_select_24g 
-0026 c000802d beq quick_conn_ble ,p_app_mode_select_ble 
-0027 c0010031 beq quick_conn_classic ,p_app_mode_select_classic 
-0028 20600000 rtn 
-
-p_app_mode_select_24g:
-0029 6000c7f1 store 1 ,mem_app_mode_select 
-002a 6808c7f4 fetcht 1 ,mem_quickconn_24g_led_gpio 
-002b 20406829 call gpio_out_active 
-002c 20600000 rtn 
+002a 20400021 call p_app_check_key_gpio 
+002b c000803c beq quick_conn_ble ,p_app_mode_select_ble 
+002c c0010040 beq quick_conn_classic ,p_app_mode_select_classic 
+002d c0000030 beq quick_conn_24g_receiver ,p_app_mode_select_24g_receiver 
+002e c0018034 beq quick_conn_24g_transmitter ,p_app_mode_select_24g_transmitter 
+002f 20600000 rtn 
+
+p_app_mode_select_24g_receiver:
+0030 6000c809 store 1 ,mem_app_mode_select 
+0031 6808c80c fetcht 1 ,mem_quickconn_24g_led_gpio 
+0032 20406829 call gpio_out_active 
+0033 2020029d branch p_g24_receiver_init 
+
+p_app_mode_select_24g_transmitter:
+0034 6000c809 store 1 ,mem_app_mode_select 
+0035 6808c80c fetcht 1 ,mem_quickconn_24g_led_gpio 
+0036 20406829 call gpio_out_active 
+0037 6808c80d fetcht 1 ,mem_quickconn_ble_led_gpio 
+0038 20406829 call gpio_out_active 
+0039 6808c80e fetcht 1 ,mem_quickconn_classic_led_gpio 
+003a 20406829 call gpio_out_active 
+003b 20200112 branch p_g24_transmitter_init 
 
 p_app_mode_select_ble:
-002d 6000c7f1 store 1 ,mem_app_mode_select 
-002e 6808c7f5 fetcht 1 ,mem_quickconn_ble_led_gpio 
-002f 20406829 call gpio_out_active 
-0030 20600000 rtn 
+003c 6000c809 store 1 ,mem_app_mode_select 
+003d 6808c80d fetcht 1 ,mem_quickconn_ble_led_gpio 
+003e 20406829 call gpio_out_active 
+003f 20600000 rtn 
 
 p_app_mode_select_classic:
-0031 6000c7f1 store 1 ,mem_app_mode_select 
-0032 6808c7f6 fetcht 1 ,mem_quickconn_classic_led_gpio 
-0033 20406829 call gpio_out_active 
-0034 20600000 rtn 
+0040 6000c809 store 1 ,mem_app_mode_select 
+0041 6808c80e fetcht 1 ,mem_quickconn_classic_led_gpio 
+0042 20406829 call gpio_out_active 
+0043 20600000 rtn 
 
 p_app_mode_check:
-0035 2040001b call p_app_check_key_gpio 
-0036 6808c7f1 fetcht 1 ,mem_app_mode_select 
-0037 98467c00 isub temp ,null 
-0038 20628000 rtn zero 
-0039 2040659a call soft_reset_chip 
-003a 20202a8e branch loop 
+0044 20400021 call p_app_check_key_gpio 
+0045 6808c809 fetcht 1 ,mem_app_mode_select 
+0046 98467c00 isub temp ,null 
+0047 20628000 rtn zero 
+0048 2040659a call soft_reset_chip 
+0049 20202a8e branch loop 
+
+p_app_priority_bb_event:
+004a 1a627e00 copy regc ,pdata 
+004b c01c804e beq bt_evt_24g_pairing_complete ,p_g24_transmitter_pairing_complete 
+004c c01d004f beq bt_evt_24g_attempt_fail ,p_g24_transmitter_attempt_fail 
+004d 20600000 rtn 
+
+p_g24_transmitter_pairing_complete:
+004e 2020017c branch p_g24_auto_pair_timeout_clear 
+
+p_g24_transmitter_attempt_fail:
+004f 20400262 call p_g24_check_51cmd_stop_24g 
+0050 2040659a call soft_reset_chip 
+0051 20202a8e branch loop 
+
+p_app_bb_event_timer:
+0052 20400054 call p_g24_transmitter_pair_timeout_timer 
+0053 20600000 rtn 
+
+p_g24_transmitter_pair_timeout_timer:
+0054 da6047e6 arg mem_24g_stop_g24_mode_timeout ,regc 
+0055 da400057 arg p_g24_transmitter_pair_timeout ,regb 
+0056 20203374 branch timer_single_step_2b 
+
+p_g24_transmitter_pair_timeout:
+0057 7047e501 jam 1 ,mem_24g_stop_g24_mode 
+0058 20600000 rtn 
+
+p_save_rssi:
+0059 68110981 hfetch 2 ,rf_afc_d2a 
+005a 1ff1fe00 rshift4 pdata ,pdata 
+005b 1fe97e00 rshift3 pdata ,pdata 
+005c 1fe67e00 sub pdata ,0 ,pdata 
+005d 1fe17eff and_into 0xff ,pdata 
+005e 6000c7c5 store 1 ,mem_rssi_hex 
+005f 202029c1 branch save_rssi + 6 
 
 p_shutdown_radio:
-003b 18002a08 force 8 ,radio_ctrl 
-003c 202028fa branch shutdown_radio + 1 
+0060 18002a08 force 8 ,radio_ctrl 
+0061 202028fa branch shutdown_radio + 1 
 
 p_set_freq_tx:
-003d 60088017 storet 1 ,mem_last_freq 
-003e 1840a200 add temp ,0 ,rega 
-003f 20402981 call rf_write_freq 
-0040 58000500 setarg param_pll_setup 
-0041 20402a8f call sleep 
+0062 60088017 storet 1 ,mem_last_freq 
+0063 1840a200 add temp ,0 ,rega 
+0064 20402981 call rf_write_freq 
+0065 58000500 setarg param_pll_setup 
+0066 20402a8f call sleep 
 
 p_rf_tx_enable:
-0042 70890601 jam 0x1 ,rfen_adc 
-0043 7089003c jam 0x3c ,rfen_rx 
-0044 708901e0 jam 0xe0 ,rfen_tx 
-0045 2000000a nop 10 
-0046 70890201 jam 0x01 ,rfen_mdm 
-0047 7089023d jam 0x3d ,rfen_mdm 
-0048 2000000a nop 10 
-0049 708903b7 jam 0xb7 ,rfen_sn 
-004a 2000000a nop 10 
-004b 7089027d jam 0x7d ,rfen_mdm 
-004c 6800c1de fetch 1 ,mem_tx_power 
-004d c0000054 beq tx_power_0db ,p_set_tx_power_0db 
-004e c000805c beq tx_power_3db ,p_set_tx_power_3db 
-004f c0010064 beq tx_power_5db ,p_set_tx_power_5db 
-0050 c001806c beq tx_power_f3db ,p_set_tx_power_f3db 
-0051 c0020074 beq tx_power_f5db ,p_set_tx_power_f5db 
-0052 c0100086 beq tx_power_pair ,p_set_tx_power_pair 
-0053 20200064 branch p_set_tx_power_5db 
+0067 70890601 jam 0x1 ,rfen_adc 
+0068 7089003c jam 0x3c ,rfen_rx 
+0069 708901e0 jam 0xe0 ,rfen_tx 
+006a 2000000a nop 10 
+006b 70890201 jam 0x01 ,rfen_mdm 
+006c 7089023d jam 0x3d ,rfen_mdm 
+006d 2000000a nop 10 
+006e 708903b7 jam 0xb7 ,rfen_sn 
+006f 2000000a nop 10 
+0070 7089027d jam 0x7d ,rfen_mdm 
+0071 6800c1de fetch 1 ,mem_tx_power 
+0072 c0000079 beq tx_power_0db ,p_set_tx_power_0db 
+0073 c0008081 beq tx_power_3db ,p_set_tx_power_3db 
+0074 c0010089 beq tx_power_5db ,p_set_tx_power_5db 
+0075 c0018091 beq tx_power_f3db ,p_set_tx_power_f3db 
+0076 c0020099 beq tx_power_f5db ,p_set_tx_power_f5db 
+0077 c01000ab beq tx_power_pair ,p_set_tx_power_pair 
+0078 20200089 branch p_set_tx_power_5db 
 
 p_set_tx_power_0db:
-0054 2040007c call p_rx_low_sens 
-0055 70894bba jam 0xba ,0x894b 
-0056 708955d0 jam 0xd0 ,0x8955 
-0057 708956e0 jam 0xe0 ,0x8956 
-0058 70895788 jam 0x88 ,0x8957 
-0059 7089586c jam 0x6c ,0x8958 
-005a 70895910 jam 0x10 ,0x8959 
-005b 2020294b branch set_tx_power_0db 
+0079 204000a1 call p_rx_low_sens 
+007a 70894bba jam 0xba ,0x894b 
+007b 708955d0 jam 0xd0 ,0x8955 
+007c 708956e0 jam 0xe0 ,0x8956 
+007d 70895788 jam 0x88 ,0x8957 
+007e 7089586c jam 0x6c ,0x8958 
+007f 70895910 jam 0x10 ,0x8959 
+0080 2020294b branch set_tx_power_0db 
 
 p_set_tx_power_3db:
-005c 20400081 call p_rx_high_sens 
-005d 70894bba jam 0xba ,0x894b 
-005e 708955d0 jam 0xd0 ,0x8955 
-005f 708956e0 jam 0xe0 ,0x8956 
-0060 70895788 jam 0x88 ,0x8957 
-0061 7089583c jam 0x3c ,0x8958 
-0062 70895910 jam 0x10 ,0x8959 
-0063 2020294f branch set_tx_power_3db 
+0081 204000a6 call p_rx_high_sens 
+0082 70894bba jam 0xba ,0x894b 
+0083 708955d0 jam 0xd0 ,0x8955 
+0084 708956e0 jam 0xe0 ,0x8956 
+0085 70895788 jam 0x88 ,0x8957 
+0086 7089583c jam 0x3c ,0x8958 
+0087 70895910 jam 0x10 ,0x8959 
+0088 2020294f branch set_tx_power_3db 
 
 p_set_tx_power_5db:
-0064 20400081 call p_rx_high_sens 
-0065 70894bba jam 0xba ,0x894b 
-0066 708955d0 jam 0xd0 ,0x8955 
-0067 708956e0 jam 0xe0 ,0x8956 
-0068 70895788 jam 0x88 ,0x8957 
-0069 7089583c jam 0x3c ,0x8958 
-006a 70895910 jam 0x10 ,0x8959 
-006b 20202953 branch set_tx_power_5db 
+0089 204000a6 call p_rx_high_sens 
+008a 70894bba jam 0xba ,0x894b 
+008b 708955d0 jam 0xd0 ,0x8955 
+008c 708956e0 jam 0xe0 ,0x8956 
+008d 70895788 jam 0x88 ,0x8957 
+008e 7089583c jam 0x3c ,0x8958 
+008f 70895910 jam 0x10 ,0x8959 
+0090 20202953 branch set_tx_power_5db 
 
 p_set_tx_power_f3db:
-006c 2040007c call p_rx_low_sens 
-006d 70894bba jam 0xba ,0x894b 
-006e 708955d0 jam 0xd0 ,0x8955 
-006f 708956c0 jam 0xc0 ,0x8956 
-0070 70895788 jam 0x88 ,0x8957 
-0071 7089586c jam 0x6c ,0x8958 
-0072 70895910 jam 0x10 ,0x8959 
-0073 20202957 branch set_tx_power_f3db 
+0091 204000a1 call p_rx_low_sens 
+0092 70894bba jam 0xba ,0x894b 
+0093 708955d0 jam 0xd0 ,0x8955 
+0094 708956c0 jam 0xc0 ,0x8956 
+0095 70895788 jam 0x88 ,0x8957 
+0096 7089586c jam 0x6c ,0x8958 
+0097 70895910 jam 0x10 ,0x8959 
+0098 20202957 branch set_tx_power_f3db 
 
 p_set_tx_power_f5db:
-0074 2040007c call p_rx_low_sens 
-0075 70894bba jam 0xba ,0x894b 
-0076 708955d0 jam 0xd0 ,0x8955 
-0077 708956c0 jam 0xc0 ,0x8956 
-0078 70895788 jam 0x88 ,0x8957 
-0079 7089586c jam 0x6c ,0x8958 
-007a 70895910 jam 0x10 ,0x8959 
-007b 2020295b branch set_tx_power_f5db 
+0099 204000a1 call p_rx_low_sens 
+009a 70894bba jam 0xba ,0x894b 
+009b 708955d0 jam 0xd0 ,0x8955 
+009c 708956c0 jam 0xc0 ,0x8956 
+009d 70895788 jam 0x88 ,0x8957 
+009e 7089586c jam 0x6c ,0x8958 
+009f 70895910 jam 0x10 ,0x8959 
+00a0 2020295b branch set_tx_power_f5db 
 
 p_rx_low_sens:
-007c 70894c5b jam 0x5b ,0x894c 
-007d 70894d96 jam 0x96 ,0x894d 
-007e 70894e2c jam 0x2c ,0x894e 
-007f 70894f46 jam 0x46 ,0x894f 
-0080 20600000 rtn 
+00a1 70894c5b jam 0x5b ,0x894c 
+00a2 70894d96 jam 0x96 ,0x894d 
+00a3 70894e2c jam 0x2c ,0x894e 
+00a4 70894f46 jam 0x46 ,0x894f 
+00a5 20600000 rtn 
 
 p_rx_high_sens:
-0081 70894cfb jam 0xfb ,0x894c 
-0082 70894def jam 0xef ,0x894d 
-0083 70894eec jam 0xec ,0x894e 
-0084 70894f5e jam 0x5e ,0x894f 
-0085 20600000 rtn 
+00a6 70894cfb jam 0xfb ,0x894c 
+00a7 70894def jam 0xef ,0x894d 
+00a8 70894eec jam 0xec ,0x894e 
+00a9 70894f5e jam 0x5e ,0x894f 
+00aa 20600000 rtn 
 
 p_set_tx_power_pair:
-0086 70894bba jam 0xba ,0x894b 
-0087 708956c2 jam 0xc2 ,0x8956 
-0088 708955d0 jam 0xd0 ,0x8955 
-0089 20600000 rtn 
+00ab 70894bba jam 0xba ,0x894b 
+00ac 708956c2 jam 0xc2 ,0x8956 
+00ad 708955d0 jam 0xd0 ,0x8955 
+00ae 20600000 rtn 
 
 p_usb_init:
-008a d8a013d2 arg mem_usb_pc_data ,contw 
-008b 20407ed2 call clear_mem_512 
-008c 708a0500 jam 0 ,core_usb_driver 
-008d 2040008f call p_usb_init_param 
-008e 202048ec branch usb_init + 2 
+00af d8a013d2 arg mem_usb_pc_data ,contw 
+00b0 20407ed2 call clear_mem_512 
+00b1 708a0500 jam 0 ,core_usb_driver 
+00b2 204000b4 call p_usb_init_param 
+00b3 202048ec branch usb_init + 2 
 
 p_usb_init_param:
-008f 700c6b02 jam 2 ,mem_usb0_state 
-0090 58000000 setarg 0x0 
-0091 60008b67 store 1 ,mem_remain 
-0092 60010c65 store 2 ,mem_usb_zero_packet 
-0093 1fe0fe01 pincrease 1 
-0094 60010c67 store 2 ,mem_usb_ones_packet 
-0095 1fe0fe01 pincrease 1 
-0096 60010c69 store 2 ,mem_usb_two_packet 
-0097 580011c8 setarg mem_hidreportdesc_kb_temp 
-0098 60010b7c store 2 ,mem_hidreportdesc_kb 
-0099 58001290 setarg mem_hidreportdesc_m_temp 
-009a 60010b7e store 2 ,mem_hidreportdesc_m 
-009b 20600000 rtn 
+00b4 700c6b02 jam 2 ,mem_usb0_state 
+00b5 58000000 setarg 0x0 
+00b6 60008b67 store 1 ,mem_remain 
+00b7 60010c65 store 2 ,mem_usb_zero_packet 
+00b8 1fe0fe01 pincrease 1 
+00b9 60010c67 store 2 ,mem_usb_ones_packet 
+00ba 1fe0fe01 pincrease 1 
+00bb 60010c69 store 2 ,mem_usb_two_packet 
+00bc 580011c8 setarg mem_hidreportdesc_kb_temp 
+00bd 60010b7c store 2 ,mem_hidreportdesc_kb 
+00be 58001290 setarg mem_hidreportdesc_m_temp 
+00bf 60010b7e store 2 ,mem_hidreportdesc_m 
+00c0 20600000 rtn 
 
 p_usb_tx:
-009c 68008d38 fetch 1 ,mem_usb_tx_enable 
-009d 207a0000 rtn blank 
-009e 68008d37 fetch 1 ,mem_usb_tx_wait 
-009f 243a4bac nbranch usb_inwake_state_tx_dispose ,blank 
-00a0 68008d45 fetch 1 ,mem_usb_device_enumeration_endflag 
-00a1 203a4b86 branch usb_tx_fifo_release ,blank 
-00a2 68008d36 fetch 1 ,mem_usb_state 
-00a3 c001cbbf beq usb_sleep ,usb_windows_wakeup 
-00a4 c0814b86 bne usb_connected ,usb_tx_fifo_release 
-00a5 68008d3a fetch 1 ,mem_usb_clear_remote_wakeup 
-00a6 243a4b86 nbranch usb_tx_fifo_release ,blank 
-00a7 20404b6f call usb_tx_data_ep1 
+00c1 68008d38 fetch 1 ,mem_usb_tx_enable 
+00c2 207a0000 rtn blank 
+00c3 68008d37 fetch 1 ,mem_usb_tx_wait 
+00c4 243a4bac nbranch usb_inwake_state_tx_dispose ,blank 
+00c5 68008d45 fetch 1 ,mem_usb_device_enumeration_endflag 
+00c6 203a4b86 branch usb_tx_fifo_release ,blank 
+00c7 68008d36 fetch 1 ,mem_usb_state 
+00c8 c001cbbf beq usb_sleep ,usb_windows_wakeup 
+00c9 c0814b86 bne usb_connected ,usb_tx_fifo_release 
+00ca 68008d3a fetch 1 ,mem_usb_clear_remote_wakeup 
+00cb 243a4b86 nbranch usb_tx_fifo_release ,blank 
+00cc 20404b6f call usb_tx_data_ep1 
 
 p_usb_tx_data_ep2:
-00a8 68008d38 fetch 1 ,mem_usb_tx_enable 
-00a9 c4010000 rtnbit0 2 
-00aa 68008d37 fetch 1 ,mem_usb_tx_wait 
-00ab c3810000 rtnbit1 2 
-00ac 68008d38 fetch 1 ,mem_usb_tx_enable 
-00ad 793ffe02 set0 2 ,pdata 
-00ae 60008d38 store 1 ,mem_usb_tx_enable 
-00af 68008d52 fetch 1 ,mem_usb_ep2_data 
-00b0 207a0000 rtn blank 
-00b1 700d5200 jam 0 ,mem_usb_ep2_data 
-00b2 df200040 arg 64 ,loopcnt 
-00b3 d8c013d2 arg mem_usb_pc_data ,contr 
-00b4 20204b5e branch usb_tx_ep2 
+00cd 68008d38 fetch 1 ,mem_usb_tx_enable 
+00ce c4010000 rtnbit0 2 
+00cf 68008d37 fetch 1 ,mem_usb_tx_wait 
+00d0 c3810000 rtnbit1 2 
+00d1 68008d38 fetch 1 ,mem_usb_tx_enable 
+00d2 793ffe02 set0 2 ,pdata 
+00d3 60008d38 store 1 ,mem_usb_tx_enable 
+00d4 68008d52 fetch 1 ,mem_usb_ep2_data 
+00d5 207a0000 rtn blank 
+00d6 700d5200 jam 0 ,mem_usb_ep2_data 
+00d7 df200040 arg 64 ,loopcnt 
+00d8 d8c013d2 arg mem_usb_pc_data ,contr 
+00d9 20204b5e branch usb_tx_ep2 
 
 p_usb_status1:
-00b5 708a2611 jam 0x11 ,core_usb_status 
-00b6 68108a20 hfetch 1 ,core_usb_ep_len 
-00b7 60008b24 store 1 ,mem_usb_read_len 
-00b8 1fe27200 copy pdata ,loopcnt 
-00b9 203a4943 branch usb_rx_no_data ,blank 
-00ba d8a00c6e arg mem_usb_setup ,contw 
-00bb 20404946 call usb_rx_read 
-00bc 68008b24 fetch 1 ,mem_usb_read_len 
-00bd 1fe67c07 sub pdata ,7 ,null 
-00be 20610000 rtn positive 
-00bf 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
-00c0 1fe17e80 and_into 0x80 ,pdata 
-00c1 c00000c3 beq out_device ,p_usb_out_device 
-00c2 20204957 branch usb_class_type + 2 
+00da 708a2611 jam 0x11 ,core_usb_status 
+00db 68108a20 hfetch 1 ,core_usb_ep_len 
+00dc 60008b24 store 1 ,mem_usb_read_len 
+00dd 1fe27200 copy pdata ,loopcnt 
+00de 203a4943 branch usb_rx_no_data ,blank 
+00df d8a00c6e arg mem_usb_setup ,contw 
+00e0 20404946 call usb_rx_read 
+00e1 68008b24 fetch 1 ,mem_usb_read_len 
+00e2 1fe67c07 sub pdata ,7 ,null 
+00e3 20610000 rtn positive 
+00e4 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+00e5 1fe17e80 and_into 0x80 ,pdata 
+00e6 c00000e8 beq out_device ,p_usb_out_device 
+00e7 20204957 branch usb_class_type + 2 
 
 p_usb_out_device:
-00c3 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
-00c4 1ff1fe00 rshift4 pdata ,pdata 
-00c5 1fe37e00 rshift pdata ,pdata 
-00c6 1fe17e03 and_into 0x03 ,pdata 
-00c7 c00080c9 beq class_req ,p_usb_out_class_req 
-00c8 20204966 branch usb_out_device + 4 
+00e8 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+00e9 1ff1fe00 rshift4 pdata ,pdata 
+00ea 1fe37e00 rshift pdata ,pdata 
+00eb 1fe17e03 and_into 0x03 ,pdata 
+00ec c00080ee beq class_req ,p_usb_out_class_req 
+00ed 20204966 branch usb_out_device + 4 
 
 p_usb_out_class_req:
-00c9 68008c6f fetch 1 ,mem_usb_setup_brequest 
-00ca c00480cc beq set_report ,p_usb_set_report 
-00cb 2020497f branch usb_out_class_req + 1 
+00ee 68008c6f fetch 1 ,mem_usb_setup_brequest 
+00ef c00480f1 beq set_report ,p_usb_set_report 
+00f0 2020497f branch usb_out_class_req + 1 
 
 p_usb_set_report:
-00cc 700d5001 jam 1 ,mem_usb0_get_set_report 
-00cd 20404b03 call usb_set_report_resume_judge 
-00ce 68010c70 fetch 2 ,mem_usb_setup_bvalue 
-00cf 60010d4e store 2 ,mem_usb_setup_bvalue_temp 
-00d0 20003a98 nop 15000 
-00d1 68108a20 hfetch 1 ,core_usb_ep_len 
-00d2 245a00d6 ncall p_usb_set_report_rxdata ,blank 
-00d3 68008d43 fetch 1 ,mem_usb_tx_win_enable 
-00d4 245a00d9 ncall p_usb_get_output_data ,blank 
-00d5 20204afd branch usb_set_report + 4 
+00f1 700d5001 jam 1 ,mem_usb0_get_set_report 
+00f2 20404b03 call usb_set_report_resume_judge 
+00f3 68010c70 fetch 2 ,mem_usb_setup_bvalue 
+00f4 60010d4e store 2 ,mem_usb_setup_bvalue_temp 
+00f5 20003a98 nop 15000 
+00f6 68108a20 hfetch 1 ,core_usb_ep_len 
+00f7 245a00fb ncall p_usb_set_report_rxdata ,blank 
+00f8 68008d43 fetch 1 ,mem_usb_tx_win_enable 
+00f9 245a00fe ncall p_usb_get_output_data ,blank 
+00fa 20204afd branch usb_set_report + 4 
 
 p_usb_set_report_rxdata:
-00d6 1fe27200 copy pdata ,loopcnt 
-00d7 d8a00c76 arg mem_usb0_setup ,contw 
-00d8 20204946 branch usb_rx_read 
+00fb 1fe27200 copy pdata ,loopcnt 
+00fc d8a00c76 arg mem_usb0_setup ,contw 
+00fd 20204946 branch usb_rx_read 
 
 p_usb_get_output_data:
-00d9 68008c76 fetch 1 ,mem_usb0_setup 
-00da 6000c7e3 store 1 ,mem_24g_led_status 
-00db 7047a203 jam kb_led_ackpayload ,mem_24g_ackpayload_enable 
-00dc 20600000 rtn 
+00fe 68008c76 fetch 1 ,mem_usb0_setup 
+00ff 6000c7e3 store 1 ,mem_24g_led_status 
+0100 7047a203 jam kb_led_ackpayload ,mem_24g_ackpayload_enable 
+0101 20600000 rtn 
 
 p_usb_ms_data_header:
-00dd 7013d2ba jam pc_report_id ,mem_usb_pc_data 
-00de 7013d302 jam pc_evt_type ,mem_usb_pc_data + 1 
-00df 7013d432 jam pc_evt_ms_data_7b_upload ,mem_usb_pc_data + 2 
-00e0 7013d507 jam pc_evt_ms_data_len_7b ,mem_usb_pc_data + 3 
-00e1 20600000 rtn 
+0102 7013d2ba jam pc_report_id ,mem_usb_pc_data 
+0103 7013d302 jam pc_evt_type ,mem_usb_pc_data + 1 
+0104 7013d432 jam pc_evt_ms_data_7b_upload ,mem_usb_pc_data + 2 
+0105 7013d507 jam pc_evt_ms_data_len_7b ,mem_usb_pc_data + 3 
+0106 20600000 rtn 
 
 p_usb_kb_data_header:
-00e2 7013d2ba jam pc_report_id ,mem_usb_pc_data 
-00e3 7013d302 jam pc_evt_type ,mem_usb_pc_data + 1 
-00e4 7013d428 jam pc_evt_kb_data_upload ,mem_usb_pc_data + 2 
-00e5 20600000 rtn 
+0107 7013d2ba jam pc_report_id ,mem_usb_pc_data 
+0108 7013d302 jam pc_evt_type ,mem_usb_pc_data + 1 
+0109 7013d428 jam pc_evt_kb_data_upload ,mem_usb_pc_data + 2 
+010a 20600000 rtn 
 
 p_usb_dispatch:
-00e6 204048d3 call usb_isr 
-00e7 20600000 rtn 
+010b 204048d3 call usb_isr 
+010c 20600000 rtn 
 
 p_g24_dispatch:
-00e8 6800c7f1 fetch 1 ,mem_app_mode_select 
-00e9 c08000e6 bne quick_conn_24g ,p_usb_dispatch 
-00ea 204000f0 call p_g24_init 
-00eb 204000f6 call p_dongle_check_mode 
-
-p_g24_all_powerful_loop:
-00ec 20400035 call p_app_mode_check 
-00ed 204000fa call p_g24_dongle_work_mode 
-00ee 204000e6 call p_usb_dispatch 
-00ef 202000ec branch p_g24_all_powerful_loop 
-
-p_g24_init:
-00f0 580f0f0f setarg 0x0f0f0f 
-00f1 6001c78d store 3 ,mem_24g_rx_addr 
-00f2 e0a08000 istore 1 ,contw 
-00f3 df200080 arg 0x80 ,loopcnt 
-00f4 d8a00d9e arg mem_rssi_noise_buffer ,contw 
-00f5 20207ec6 branch memset0 
+010d c6930000 rtnmark0 mark_24g 
+010e 6800c809 fetch 1 ,mem_app_mode_select 
+010f c0000298 beq quick_conn_24g_receiver ,p_g24_receiver 
+0110 c001811f beq quick_conn_24g_transmitter ,p_g24_transmitter 
+0111 2020010b branch p_usb_dispatch 
+
+p_g24_transmitter_init:
+0112 68110050 hfetch 2 ,core_clkoff 
+0113 79207e0a set1 clock_off_usb ,pdata 
+0114 60110050 hstore 2 ,core_clkoff 
+0115 79200026 set1 mark_24g ,mark 
+0116 793f802c set0 mark_24g_rxmode ,mark 
+0117 70472101 jam 1 ,mem_24g_data_type 
+0118 70476504 jam 4 ,mem_24g_max_retry 
+0119 580012c0 setarg 0x12c0 
+011a 60014723 store 2 ,mem_24g_rx_window 
+011b 70474519 jam 0x19 ,mem_24g_interval 
+011c 70474619 jam 0x19 ,mem_24g_interval_min 
+011d 7047471c jam 0x1c ,mem_24g_interval_max 
+011e 20200175 branch p_g24_auto_pair_start 
+
+p_g24_transmitter:
+011f 20400044 call p_app_mode_check 
+0120 6800c7e4 fetch 1 ,mem_24g_conn_sm 
+0121 c2808144 bbit1 state_24g_pair ,p_g24_pair_dispatch 
+0122 20400135 call p_g24_timer_check 
+0123 24740000 nrtn user 
+0124 20400129 call p_g24_interval_calibrate 
+0125 204001e1 call p_g24_txdata_prep 
+0126 24740000 nrtn user 
+0127 204001c6 call p_g24_rf_sta_check 
+0128 202001f5 branch p_g24_transmit_packet 
+
+p_g24_interval_calibrate:
+0129 6800c75b fetch 1 ,mem_24g_pac_index 
+012a 1fe0fe01 increase 1 ,pdata 
+012b 6000c75b store 1 ,mem_24g_pac_index 
+012c c0020133 beq 4 ,p_g24_interval_max 
+012d c002812f beq 5 ,p_g24_interval_min 
+012e 20600000 rtn 
+
+p_g24_interval_min:
+012f 70475b00 jam 0 ,mem_24g_pac_index 
+0130 6800c746 fetch 1 ,mem_24g_interval_min 
+
+p_g24_interval_store:
+0131 6000c745 store 1 ,mem_24g_interval 
+0132 20600000 rtn 
+
+p_g24_interval_max:
+0133 6800c747 fetch 1 ,mem_24g_interval_max 
+0134 20200131 branch p_g24_interval_store 
+
+p_g24_timer_check:
+0135 20407fe9 call disable_user 
+0136 680a4741 fetcht 4 ,mem_24g_tx_btclk 
+0137 1c427e00 copy clkn_bt ,pdata 
+0138 98467c00 isub temp ,null 
+0139 24412d18 ncall g24_timer_timeout ,positive 
+013a 1fe22400 copy pdata ,regb 
+013b 68024741 fetch 4 ,mem_24g_tx_btclk 
+013c 6808c745 fetcht 1 ,mem_24g_interval 
+013d 98408400 iadd temp ,temp 
+013e 1a427e00 copy regb ,pdata 
+013f 98467c00 isub temp ,null 
+0140 24610000 nrtn positive 
+0141 793ffe1c set0 28 ,pdata 
+0142 60024741 store 4 ,mem_24g_tx_btclk 
+0143 20207fe7 branch enable_user 
+
+p_g24_pair_dispatch:
+0144 6800c7e5 fetch 1 ,mem_24g_stop_g24_mode 
+0145 c000add4 beq 1 ,g24_stop_24g_mode 
+0146 20400167 call p_g24_tx_attemp_data_prep 
+0147 20400208 call p_g24_transmit_receive_ack 
+0148 242c0180 nbranch p_g24_pair_txdata_retry ,sync 
+0149 24378180 nbranch p_g24_pair_txdata_retry ,user3 
+014a 2040022d call p_g24_ackpayload_parse 
+014b 68024748 fetch 4 ,mem_24g_addr 
+014c 680a47ee fetcht 4 ,mem_24g_allpowerful_addr 
+014d 98467c00 isub temp ,null 
+014e 20228151 branch p_g24_auto_pair_skip_rx_length ,zero 
+014f 20400161 call p_g24_pair_ackpayload_length_check 
+0150 24740000 nrtn user 
+
+p_g24_auto_pair_skip_rx_length:
+0151 6800c7e4 fetch 1 ,mem_24g_conn_sm 
+0152 793ffe01 set0 state_24g_pair ,pdata 
+0153 6000c7e4 store 1 ,mem_24g_conn_sm 
+0154 68024748 fetch 4 ,mem_24g_addr 
+0155 680a472c fetcht 4 ,mem_24g_paring_addr 
+0156 98467c00 isub temp ,null 
+0157 20228234 branch p_g24_start_pairing_sm1 ,zero 
+0158 68024748 fetch 4 ,mem_24g_addr 
+0159 680a4757 fetcht 4 ,mem_24g_device_addr 
+015a 98467c00 isub temp ,null 
+015b 20428165 call p_g24_store_dongle_addr ,zero 
+
+p_g24_tx_attemp_dongle_succ:
+015c 79200026 set1 mark_24g ,mark 
+015d 20402f20 call g24_tx_attemp_dongle_succ + 4 
+
+p_g24_txbuf_clear:
+015e df200004 arg 4 ,loopcnt 
+015f d8a046bc arg mem_24g_txbuf ,contw 
+0160 20207ec6 branch memset0 
+
+p_g24_pair_ackpayload_length_check:
+0161 6800c71e fetch 1 ,mem_24g_rxdata_length 
+0162 c0047fe7 beq bind_ackpayload_length ,enable_user 
+0163 c003ffe7 beq bind_ackpayload_length_yc1131 ,enable_user 
+0164 20207fe9 branch disable_user 
+
+p_g24_store_dongle_addr:
+0165 68024700 fetch 4 ,mem_24g_rxpayload + 2 
+0166 202003e1 branch p_g24_update_addr_and_synccrc8 
+
+p_g24_tx_attemp_data_prep:
+0167 70119eff jam 0xff ,mem_24g_common_temp 
+0168 6800c721 fetch 1 ,mem_24g_data_type 
+0169 6000919f store 1 ,mem_24g_common_temp + 1 
+016a 68024757 fetch 4 ,mem_24g_device_addr 
+016b 600211a0 store 4 ,mem_24g_common_temp + 2 
+016c d8400006 arg 6 ,temp 
+016d da20119e arg mem_24g_common_temp ,rega 
+016e 20400170 call p_g24_put_data_in_buff 
+016f 202003fc branch p_g24_transmit_prep 
+
+p_g24_put_data_in_buff:
+0170 6008c720 storet 1 ,mem_24g_datalen 
+0171 18427200 copy temp ,loopcnt 
+0172 d8a046bc arg mem_24g_txbuf ,contw 
+0173 1a220c00 copy rega ,contr 
+0174 20207f01 branch memcpy 
+
+p_g24_auto_pair_start:
+0175 6800c7e4 fetch 1 ,mem_24g_conn_sm 
+0176 79207e01 set1 state_24g_pair ,pdata 
+0177 6000c7e4 store 1 ,mem_24g_conn_sm 
+
+p_g24_auto_pair_timeout_init:
+0178 58000708 setarg g24_disconn_nodata_timer 
+0179 600147e6 store 2 ,mem_24g_stop_g24_mode_timeout 
+017a 7047e500 jam 0 ,mem_24g_stop_g24_mode 
+017b 20600000 rtn 
+
+p_g24_auto_pair_timeout_clear:
+017c 58000000 setarg 0 
+017d 6000c7e5 store 1 ,mem_24g_stop_g24_mode 
+017e 600147e6 store 2 ,mem_24g_stop_g24_mode_timeout 
+017f 20600000 rtn 
+
+p_g24_pair_txdata_retry:
+0180 6800c7e8 fetch 1 ,mem_24g_auto_paring_switch 
+0181 1fe0fe01 increase 1 ,pdata 
+0182 1fe17e03 and_into 3 ,pdata 
+0183 6000c7e8 store 1 ,mem_24g_auto_paring_switch 
+0184 c0000189 beq 0 ,p_g24_auto_pair_first_attemp 
+0185 c0010192 beq 2 ,p_g24_auto_pair_all_powerful 
+
+p_g24_pair_init:
+0186 70472a4e jam g24_pair_ch ,mem_24g_ch 
+0187 6802472c fetch 4 ,mem_24g_paring_addr 
+0188 202003e1 branch p_g24_update_addr_and_synccrc8 
+
+p_g24_auto_pair_first_attemp:
+0189 68024757 fetch 4 ,mem_24g_device_addr 
+018a 60024748 store 4 ,mem_24g_addr 
+018b 6800c7f2 fetch 1 ,mem_24g_pair_current_ch_num 
+018c 6000c72b store 1 ,mem_24g_current_ch_number 
+018d 20400190 call p_g24_ch_syncword_crc8_init 
+018e 6008c7f2 storet 1 ,mem_24g_pair_current_ch_num 
+018f 20600000 rtn 
+
+p_g24_ch_syncword_crc8_init:
+0190 204003e2 call p_g24_syncword_crc8 
+0191 2020040e branch p_g24_ch 
+
+p_g24_auto_pair_all_powerful:
+0192 680247ee fetch 4 ,mem_24g_allpowerful_addr 
+0193 60024748 store 4 ,mem_24g_addr 
+0194 6800c7f3 fetch 1 ,mem_24g_powerful_current_ch_num 
+0195 6000c72b store 1 ,mem_24g_current_ch_number 
+0196 20400190 call p_g24_ch_syncword_crc8_init 
+0197 6008c7f3 storet 1 ,mem_24g_powerful_current_ch_num 
+0198 20600000 rtn 
+
+p_g24_set_device_addr:
+0199 680240a0 fetch 4 ,mem_lap 
+019a 60024757 store 4 ,mem_24g_device_addr 
+019b 20600000 rtn 
+
+p_g24_transmit_rf_sta_init:
+019c 7047dc01 jam 1 ,mem_24g_rf_last_sta 
+019d 7047de00 jam 0 ,mem_24g_sync_cnt 
+
+p_g24_transmit_rf_ctrl_clear:
+019e 6800c721 fetch 1 ,mem_24g_data_type 
+019f 1fe17e07 and_into bits_data ,pdata 
+01a0 6000c721 store 1 ,mem_24g_data_type 
+01a1 20600000 rtn 
+
+p_g24_hop_ch_enable:
+01a2 6800c721 fetch 1 ,mem_24g_data_type 
+01a3 79207e04 set1 bit_hop ,pdata 
+01a4 6000c721 store 1 ,mem_24g_data_type 
+01a5 6000c6dc store 1 ,mem_24g_txpayload 
+01a6 20600000 rtn 
+
+p_g24_hop_enable_packet:
+01a7 6800c721 fetch 1 ,mem_24g_data_type 
+01a8 c4020000 rtnbit0 bit_hop 
+
+p_g24_hop_ch_disable:
+01a9 6800c721 fetch 1 ,mem_24g_data_type 
+01aa 793ffe04 set0 bit_hop ,pdata 
+01ab 6000c721 store 1 ,mem_24g_data_type 
+01ac 6000c6dc store 1 ,mem_24g_txpayload 
+01ad 2020040e branch p_g24_ch 
+
+p_g24_rf_hop_attemp_again:
+01ae 6800c7db fetch 1 ,mem_24g_rf_hop_ch 
+01af c080819e bne 1 ,p_g24_transmit_rf_ctrl_clear 
+
+p_g24_rf_hop_fastly:
+01b0 6800c7d9 fetch 1 ,mem_24g_hop_fastly_cnt 
+01b1 1fe0fe01 increase 1 ,pdata 
+01b2 6000c7d9 store 1 ,mem_24g_hop_fastly_cnt 
+01b3 c00201b7 beq 4 ,p_g24_rf_hop_fastly_exit 
+01b4 2040040e call p_g24_ch 
+01b5 70476502 jam 2 ,mem_24g_max_retry 
+01b6 202001f5 branch p_g24_transmit_packet 
+
+p_g24_rf_hop_fastly_exit:
+01b7 7047d900 jam 0 ,mem_24g_hop_fastly_cnt 
+01b8 2020019e branch p_g24_transmit_rf_ctrl_clear 
+
+p_g24_transmit_hop_pac_succ_wo_hop:
+01b9 7047de02 jam 2 ,mem_24g_sync_cnt 
+
+p_g24_transmit_hop_pac_succ:
+01ba 7047dc01 jam 1 ,mem_24g_rf_last_sta 
+01bb 7047db00 jam 0 ,mem_24g_rf_hop_ch 
+01bc 2020019e branch p_g24_transmit_rf_ctrl_clear 
+
+p_g24_transmit_succ_rf_config:
+01bd 6800c7dd fetch 1 ,mem_24g_rf_work_stage 
+01be c00181ba beq 3 ,p_g24_transmit_hop_pac_succ 
+01bf 6800c721 fetch 1 ,mem_24g_data_type 
+01c0 2fec0004 isolate0 bit_hop ,pdata 
+01c1 2020819c branch p_g24_transmit_rf_sta_init ,true 
+01c2 6800c7dd fetch 1 ,mem_24g_rf_work_stage 
+01c3 c00081b9 beq 1 ,p_g24_transmit_hop_pac_succ_wo_hop 
+01c4 c00101ba beq 2 ,p_g24_transmit_hop_pac_succ 
+01c5 20600000 rtn 
+
+p_g24_rf_sta_check:
+01c6 6800c730 fetch 1 ,mem_24g_pairing_sm 
+01c7 c1ff8000 rtnne state_24g_pairing_success 
+01c8 204001cb call p_g24_rf_laststa_synccnt_check 
+01c9 245601d3 ncall p_g24_rf_sync_cnt_check ,user2 
+01ca 20600000 rtn 
+
+p_g24_rf_laststa_synccnt_check:
+01cb 78567c00 disable user2 
+01cc 6800c7dc fetch 1 ,mem_24g_rf_last_sta 
+01cd c1808000 rtnne 1 
+01ce 6800c7de fetch 1 ,mem_24g_sync_cnt 
+01cf c1800000 rtnne 0 
+01d0 7047dd01 jam 1 ,mem_24g_rf_work_stage 
+01d1 70476504 jam 4 ,mem_24g_max_retry 
+01d2 20207feb branch enable_user2 
+
+p_g24_rf_sync_cnt_check:
+01d3 6800c7de fetch 1 ,mem_24g_sync_cnt 
+01d4 203a01db branch p_g24_rf_hop_attemp ,blank 
+01d5 1fe0ffff increase -1 ,pdata 
+01d6 6000c7de store 1 ,mem_24g_sync_cnt 
+01d7 7047dd02 jam 2 ,mem_24g_rf_work_stage 
+01d8 2040040e call p_g24_ch 
+01d9 70476504 jam 4 ,mem_24g_max_retry 
+01da 20600000 rtn 
+
+p_g24_rf_hop_attemp:
+01db 7047dd03 jam 3 ,mem_24g_rf_work_stage 
+01dc 6800c7db fetch 1 ,mem_24g_rf_hop_ch 
+01dd 243a01ae nbranch p_g24_rf_hop_attemp_again ,blank 
+01de 2040040e call p_g24_ch 
+01df 70476502 jam 2 ,mem_24g_max_retry 
+01e0 20600000 rtn 
+
+p_g24_txdata_prep:
+01e1 6800c730 fetch 1 ,mem_24g_pairing_sm 
+01e2 c0ff8238 bne state_24g_pairing_success ,p_g24_pairing_sm 
+
+p_g24_txdata_prep_packeage_data:
+01e3 204001e7 call p_g24_package_data 
+
+p_g24_txdata_enable_tx:
+01e4 204003fc call p_g24_transmit_prep 
+01e5 70472501 jam ensure_on_24g ,mem_24g_ensure 
+01e6 20600000 rtn 
+
+p_g24_package_data:
+01e7 680147d7 fetch 2 ,mem_cb_24g_data 
+01e8 20407f9c call callback_func 
+01e9 203401ed branch p_g24_accumulate_mouse_data ,user 
+01ea 6803c6bd fetch 7 ,mem_24g_txbuf + 1 
+01eb 207a0000 rtn blank 
+01ec 20207fe7 branch enable_user 
+
+p_g24_accumulate_mouse_data:
+01ed 70474c00 jam 0 ,mem_24g_abort_pac 
+01ee 1a20fe01 add rega ,1 ,pdata 
+01ef 6000c720 store 1 ,mem_24g_datalen 
+01f0 2040019e call p_g24_transmit_rf_ctrl_clear 
+01f1 6000c6bc store 1 ,mem_24g_txbuf 
+01f2 1a420c00 copy regb ,contr 
+01f3 1a227200 copy rega ,loopcnt 
+01f4 20207f01 branch memcpy 
+
+p_g24_transmit_packet:
+01f5 70472900 jam 0 ,mem_24g_retry 
+
+p_g24_transmit_loop:
+01f6 d9600d00 arg param_rx_setup ,timeup 
+01f7 34730200 until clkn_rt ,meet 
+01f8 20400208 call p_g24_transmit_receive_ack 
+01f9 242c0213 nbranch p_g24_retransmit ,sync 
+01fa 24378213 nbranch p_g24_retransmit ,user3 
+01fb 2040015e call p_g24_txbuf_clear 
+01fc 2040022d call p_g24_ackpayload_parse 
+
+p_g24_transmit_next_packet:
+01fd 6800c71f fetch 1 ,mem_24g_pid 
+01fe 1fe0fe01 increase 1 ,pdata 
+01ff 6000c71f store 1 ,mem_24g_pid 
+0200 204001a7 call p_g24_hop_enable_packet 
+0201 6800c730 fetch 1 ,mem_24g_pairing_sm 
+0202 c0ff8252 bne state_24g_pairing_success ,p_g24_paring_mode 
+0203 204001bd call p_g24_transmit_succ_rf_config 
+
+p_g24_transmit_abandon:
+0204 58000000 setarg 0 
+0205 60024725 store 4 ,mem_24g_ensure 
+0206 6000c7da store 1 ,mem_24g_hop_pac_retry 
+0207 20600000 rtn 
+
+p_g24_transmit_receive_ack:
+0208 7857fc00 disable user3 
+0209 20400476 call p_g24_transmit 
+020a 18002a00 force 0 ,radio_ctrl 
+020b 68024748 fetch 4 ,mem_24g_addr 
+020c 98001200 iforce access 
+020d 68088017 fetcht 1 ,mem_last_freq 
+020e 2040291f call set_freq_rx 
+020f 20402924 call rf_rx_enable 
+0210 20400431 call p_g24_receive_rxon 
+0211 20578470 call p_g24_end_of_packet ,user3 
+0212 20600000 rtn 
+
+p_g24_retransmit:
+0213 6800c74c fetch 1 ,mem_24g_abort_pac 
+0214 247a0000 nrtn blank 
+0215 68014726 fetch 2 ,mem_24g_txfail_cnt 
+0216 1fe0fe01 increase 1 ,pdata 
+0217 60014726 store 2 ,mem_24g_txfail_cnt 
+0218 6800c727 fetch 1 ,mem_24g_txfail_cnt + 1 
+0219 c2808220 bbit1 1 ,p_g24_tx_attempt_fail 
+021a 6800c730 fetch 1 ,mem_24g_pairing_sm 
+021b c0ff821e bne state_24g_pairing_success ,p_g24_tx_paring_retry 
+021c 20400223 call p_g24_tx_hop_ch_process 
+021d 202001f6 branch p_g24_transmit_loop 
+
+p_g24_tx_paring_retry:
+021e 6800c726 fetch 1 ,mem_24g_txfail_cnt 
+021f c1ff8000 rtnne 0xff 
+
+p_g24_tx_attempt_fail:
+0220 58000000 setarg 0 
+0221 60014726 store 2 ,mem_24g_txfail_cnt 
+0222 20202dd4 branch g24_stop_24g_mode 
+
+p_g24_tx_hop_ch_process:
+0223 6800c729 fetch 1 ,mem_24g_retry 
+0224 1fe67c0b sub pdata ,11 ,null 
+0225 2421040e nbranch p_g24_ch ,positive 
+0226 1fe0fe01 increase 1 ,pdata 
+0227 6000c729 store 1 ,mem_24g_retry 
+0228 c00101a2 beq 2 ,p_g24_hop_ch_enable 
+0229 c00301a9 beq 6 ,p_g24_hop_ch_disable 
+022a c00401a2 beq 8 ,p_g24_hop_ch_enable 
+022b c00601a9 beq 12 ,p_g24_hop_ch_disable 
+022c 20600000 rtn 
+
+p_g24_ackpayload_parse:
+022d 204003ef call p_g24_read_len_pid_crc 
+022e 6800c71e fetch 1 ,mem_24g_rxdata_length 
+022f 207a0000 rtn blank 
+0230 98007200 iforce loopcnt 
+0231 d8c0469c arg mem_24g_rxbuf + 2 ,contr 
+0232 d8a046fe arg mem_24g_rxpayload ,contw 
+0233 20207f01 branch memcpy 
+
+p_g24_start_pairing_sm1:
+0234 79200026 set1 mark_24g ,mark 
+0235 20400186 call p_g24_pair_init 
+
+p_g24_set_pairing_sm_1:
+0236 70473001 jam state_24g_pairing_1 ,mem_24g_pairing_sm 
+0237 20600000 rtn 
+
+p_g24_pairing_sm:
+0238 6800c725 fetch 1 ,mem_24g_ensure 
+0239 c000ffe7 beq ensure_on_24g ,enable_user 
+023a 6800c730 fetch 1 ,mem_24g_pairing_sm 
+023b c000823f beq state_24g_pairing_1 ,p_g24_pairing_sm_1 
+023c c0010242 beq state_24g_pairing_2 ,p_g24_pairing_sm_2 
+023d c0018245 beq state_24g_pairing_3 ,p_g24_pairing_sm_3 
+023e 20202a8c branch assert 
+
+p_g24_pairing_sm_1:
+023f 70473011 jam state_24g_pairing_1_waiting_ack ,mem_24g_pairing_sm 
+0240 70119eaa jam 0xaa ,mem_24g_common_temp 
+0241 20200247 branch p_g24_pairing_sm_common 
+
+p_g24_pairing_sm_2:
+0242 70473012 jam state_24g_pairing_2_waiting_ack ,mem_24g_pairing_sm 
+0243 70119e55 jam 0x55 ,mem_24g_common_temp 
+0244 20200247 branch p_g24_pairing_sm_common 
+
+p_g24_pairing_sm_3:
+0245 70473013 jam state_24g_pairing_3_waiting_ack ,mem_24g_pairing_sm 
+0246 70119e22 jam 0x22 ,mem_24g_common_temp 
+
+p_g24_pairing_sm_common:
+0247 6800c721 fetch 1 ,mem_24g_data_type 
+0248 1fe17e07 and_into bits_data ,pdata 
+0249 6000919f store 1 ,mem_24g_common_temp + 1 
+024a 68024757 fetch 4 ,mem_24g_device_addr 
+024b 600211a0 store 4 ,mem_24g_common_temp + 2 
+
+p_g24_put_pairing_data_in_buff:
+024c 7011a400 jam 0 ,mem_24g_common_temp + 6 
+024d da20119e arg mem_24g_common_temp ,rega 
+024e d8400007 arg 7 ,temp 
+024f 20400170 call p_g24_put_data_in_buff 
+0250 204001e4 call p_g24_txdata_enable_tx 
+0251 20207fe7 branch enable_user 
+
+p_g24_paring_mode:
+0252 6800c730 fetch 1 ,mem_24g_pairing_sm 
+0253 c17f8000 rtneq state_24g_pairing_success 
+0254 c0088258 beq state_24g_pairing_1_waiting_ack ,p_g24_pairing_sm_1_waiting_ack 
+0255 c009025a beq state_24g_pairing_2_waiting_ack ,p_g24_pairing_sm_2_waiting_ack 
+0256 c009825c beq state_24g_pairing_3_waiting_ack ,p_g24_pairing_sm_3_waiting_ack 
+0257 20600000 rtn 
+
+p_g24_pairing_sm_1_waiting_ack:
+0258 70473002 jam state_24g_pairing_2 ,mem_24g_pairing_sm 
+0259 20200204 branch p_g24_transmit_abandon 
+
+p_g24_pairing_sm_2_waiting_ack:
+025a 70473003 jam state_24g_pairing_3 ,mem_24g_pairing_sm 
+025b 20200204 branch p_g24_transmit_abandon 
+
+p_g24_pairing_sm_3_waiting_ack:
+025c 704730ff jam state_24g_pairing_success ,mem_24g_pairing_sm 
+025d 700a9939 jam bt_evt_24g_pairing_complete ,mem_fifo_temp 
+025e 20407d86 call ui_ipc_send_event 
+025f 68024700 fetch 4 ,mem_24g_rxpayload + 2 
+0260 204003e1 call p_g24_update_addr_and_synccrc8 
+0261 20200204 branch p_g24_transmit_abandon 
+
+p_g24_check_51cmd_stop_24g:
+0262 793f8026 set0 mark_24g ,mark 
+0263 7047e400 jam state_24g_stop ,mem_24g_conn_sm 
+0264 202053ce branch le_disable 
+
+p_g24_matrix_data:
+0265 6800c7fb fetch 1 ,mem_24g_matrix_cnt 
+0266 1fe0fe01 increase 1 ,pdata 
+0267 6000c7fb store 1 ,mem_24g_matrix_cnt 
+0268 1fe67c32 sub pdata ,50 ,null 
+0269 20210271 branch p_ms_x_right ,positive 
+026a 1fe67c64 sub pdata ,100 ,null 
+026b 2021027c branch p_ms_y_up ,positive 
+026c 1fe67c96 sub pdata ,150 ,null 
+026d 20210284 branch p_ms_x_left ,positive 
+026e 1fe67cc8 sub pdata ,200 ,null 
+026f 2021028c branch p_ms_y_down ,positive 
+0270 20600000 rtn 
+
+p_ms_x_right:
+0271 58000005 setarg 0x05 
+0272 600147f5 store 2 ,mem_m_x 
+0273 58000000 setarg 0 
+0274 600147f7 store 2 ,mem_m_y 
+0275 6000c7f9 store 1 ,mem_m_z 
+0276 6000c7f4 store 1 ,mem_m_key 
+0277 6000c7fa store 1 ,mem_m_tz 
+
+p_data:
+0278 78347c00 enable user 
+0279 da200007 arg 7 ,rega 
+027a da4047f4 arg mem_m_key ,regb 
+027b 20600000 rtn 
+
+p_ms_y_up:
+027c 58000005 setarg 0x05 
+027d 600147f7 store 2 ,mem_m_y 
+027e 58000000 setarg 0 
+027f 600147f5 store 2 ,mem_m_x 
+0280 6000c7f9 store 1 ,mem_m_z 
+0281 6000c7f4 store 1 ,mem_m_key 
+0282 6000c7fa store 1 ,mem_m_tz 
+0283 20200278 branch p_data 
+
+p_ms_x_left:
+0284 5800fffb setarg 0xfffb 
+0285 600147f5 store 2 ,mem_m_x 
+0286 58000000 setarg 0 
+0287 600147f7 store 2 ,mem_m_y 
+0288 6000c7f9 store 1 ,mem_m_z 
+0289 6000c7f4 store 1 ,mem_m_key 
+028a 6000c7fa store 1 ,mem_m_tz 
+028b 20200278 branch p_data 
+
+p_ms_y_down:
+028c 6800c7fb fetch 1 ,mem_24g_matrix_cnt 
+028d c0640296 beq 200 ,p_mem_usb_data_square_cnt_set0 
+028e 5800fffb setarg 0xfffb 
+028f 600147f7 store 2 ,mem_m_y 
+0290 58000000 setarg 0 
+0291 600147f5 store 2 ,mem_m_x 
+0292 6000c7f9 store 1 ,mem_m_z 
+0293 6000c7f4 store 1 ,mem_m_key 
+0294 6000c7fa store 1 ,mem_m_tz 
+0295 20200278 branch p_data 
+
+p_mem_usb_data_square_cnt_set0:
+0296 7047fb00 jam 0 ,mem_24g_matrix_cnt 
+0297 2020028e branch p_ms_y_down + 2 
+
+p_g24_receiver:
+0298 204002a7 call p_dongle_check_mode 
+
+p_g24_receiver_main_loop:
+0299 20400044 call p_app_mode_check 
+029a 204002ab call p_g24_dongle_work_mode 
+029b 2040010b call p_usb_dispatch 
+029c 20200299 branch p_g24_receiver_main_loop 
+
+p_g24_receiver_init:
+029d 79200026 set1 mark_24g ,mark 
+029e 7920002c set1 mark_24g_rxmode ,mark 
+029f 58007530 setarg 0x7530 
+02a0 60014723 store 2 ,mem_24g_rx_window 
+02a1 680247ee fetch 4 ,mem_24g_allpowerful_addr 
+02a2 6002478d store 4 ,mem_24g_rx_addr 
+02a3 7047a11e jam 0x1e ,mem_24g_hop_interval 
+02a4 df200080 arg 0x80 ,loopcnt 
+02a5 d8a00d9e arg mem_rssi_noise_buffer ,contw 
+02a6 20207ec6 branch memset0 
 
 p_dongle_check_mode:
-00f6 7047a200 jam 0 ,mem_24g_ackpayload_enable 
+02a7 7047a200 jam 0 ,mem_24g_ackpayload_enable 
 
 p_dongle_work_mode_enable:
-00f7 70479200 jam dongle_work ,mem_dongle_work_mode 
-00f8 70479100 jam clear_init ,mem_dongle_mode_init 
-00f9 20600000 rtn 
+02a8 70479200 jam dongle_work ,mem_dongle_work_mode 
+02a9 70479100 jam clear_init ,mem_dongle_mode_init 
+02aa 20600000 rtn 
 
 p_g24_dongle_work_mode:
-00fa 6800c792 fetch 1 ,mem_dongle_work_mode 
-00fb c1800000 rtnne dongle_work 
+02ab 6800c792 fetch 1 ,mem_dongle_work_mode 
+02ac c1800000 rtnne dongle_work 
 
 p_g24_dongle_work_mode_start:
-00fc 20400100 call p_g24_dongle_work_init 
-00fd 2040010c call p_g24_ch_process 
-00fe 20400179 call p_g24_receive_packet_start 
-00ff 2020012b branch p_g24_blank_data_process 
+02ad 204002b1 call p_g24_dongle_work_init 
+02ae 204002bd call p_g24_ch_process 
+02af 2040031d call p_g24_receive_packet_start 
+02b0 202002dc branch p_g24_blank_data_process 
 
 p_g24_dongle_work_init:
-0100 6800c791 fetch 1 ,mem_dongle_mode_init 
-0101 c3800000 rtnbit1 dongle_work 
-0102 79207e00 set1 dongle_work ,pdata 
-0103 6000c791 store 1 ,mem_dongle_mode_init 
-0104 7047a200 jam 0 ,mem_24g_ackpayload_enable 
-0105 700d3800 jam 0 ,mem_usb_tx_enable 
-0106 70479b01 jam 1 ,mem_24g_abort_packet 
-0107 70471f00 jam 0 ,mem_24g_pid 
-0108 6802478d fetch 4 ,mem_24g_rx_addr 
-0109 20400232 call p_g24_update_addr_and_synccrc8 
-010a 20400252 call p_g24_ch 
-010b 20200189 branch p_g24_rx_interrupt_clear 
+02b1 6800c791 fetch 1 ,mem_dongle_mode_init 
+02b2 c3800000 rtnbit1 dongle_work 
+02b3 79207e00 set1 dongle_work ,pdata 
+02b4 6000c791 store 1 ,mem_dongle_mode_init 
+02b5 7047a200 jam 0 ,mem_24g_ackpayload_enable 
+02b6 700d3800 jam 0 ,mem_usb_tx_enable 
+02b7 70479b01 jam 1 ,mem_24g_abort_packet 
+02b8 70471f00 jam 0 ,mem_24g_pid 
+02b9 6802478d fetch 4 ,mem_24g_rx_addr 
+02ba 204003e1 call p_g24_update_addr_and_synccrc8 
+02bb 2040040e call p_g24_ch 
+02bc 2020032d branch p_g24_rx_interrupt_clear 
 
 p_g24_ch_process:
-010c 6800c79b fetch 1 ,mem_24g_abort_packet 
-010d c0008125 beq 1 ,p_g24_noise_rssi 
-010e 6800c7a3 fetch 1 ,mem_24g_hop_packet 
-010f c000811f beq 1 ,p_g24_ch_receive_hop_pac 
-0110 680a479d fetcht 4 ,mem_24g_hop_btclk 
-0111 1c427e00 copy clkn_bt ,pdata 
-0112 98467c00 isub temp ,null 
-0113 24412d18 ncall g24_timer_timeout ,positive 
-0114 1fe22400 copy pdata ,regb 
-0115 6802479d fetch 4 ,mem_24g_hop_btclk 
-0116 6808c7a1 fetcht 1 ,mem_24g_hop_interval 
-0117 98408400 iadd temp ,temp 
-0118 1a427e00 copy regb ,pdata 
-0119 98467c00 isub temp ,null 
-011a 24610000 nrtn positive 
-011b 793ffe1c set0 28 ,pdata 
-011c 6002479d store 4 ,mem_24g_hop_btclk 
-011d 70479b01 jam 1 ,mem_24g_abort_packet 
-011e 20200252 branch p_g24_ch 
+02bd 6800c79b fetch 1 ,mem_24g_abort_packet 
+02be c00082d6 beq 1 ,p_g24_noise_rssi 
+02bf 6800c7a3 fetch 1 ,mem_24g_hop_packet 
+02c0 c00082d0 beq 1 ,p_g24_ch_receive_hop_pac 
+02c1 680a479d fetcht 4 ,mem_24g_hop_btclk 
+02c2 1c427e00 copy clkn_bt ,pdata 
+02c3 98467c00 isub temp ,null 
+02c4 24412d18 ncall g24_timer_timeout ,positive 
+02c5 1fe22400 copy pdata ,regb 
+02c6 6802479d fetch 4 ,mem_24g_hop_btclk 
+02c7 6808c7a1 fetcht 1 ,mem_24g_hop_interval 
+02c8 98408400 iadd temp ,temp 
+02c9 1a427e00 copy regb ,pdata 
+02ca 98467c00 isub temp ,null 
+02cb 24610000 nrtn positive 
+02cc 793ffe1c set0 28 ,pdata 
+02cd 6002479d store 4 ,mem_24g_hop_btclk 
+02ce 70479b01 jam 1 ,mem_24g_abort_packet 
+02cf 2020040e branch p_g24_ch 
 
 p_g24_ch_receive_hop_pac:
-011f 7047a300 jam 0 ,mem_24g_hop_packet 
-0120 20200252 branch p_g24_ch 
+02d0 7047a300 jam 0 ,mem_24g_hop_packet 
+02d1 2020040e branch p_g24_ch 
 
 p_g24_ch_timer_reinit:
-0121 1c427e00 copy clkn_bt ,pdata 
-0122 6002479d store 4 ,mem_24g_hop_btclk 
-0123 70479c00 jam 0 ,mem_24g_rf_laststa 
-0124 20600000 rtn 
+02d2 1c427e00 copy clkn_bt ,pdata 
+02d3 6002479d store 4 ,mem_24g_hop_btclk 
+02d4 70479c00 jam 0 ,mem_24g_rf_laststa 
+02d5 20600000 rtn 
 
 p_g24_noise_rssi:
-0125 da200d9e arg mem_rssi_noise_buffer ,rega 
-0126 2040022e call p_rssi_average 
-0127 6008c7c6 storet 1 ,mem_rssi_noise_avg 
-0128 18467c50 sub temp ,rssi_thresh_noise ,null 
-0129 24610000 nrtn positive 
-012a 20200252 branch p_g24_ch 
+02d6 da200d9e arg mem_rssi_noise_buffer ,rega 
+02d7 204003d5 call p_rssi_average 
+02d8 6008c7c6 storet 1 ,mem_rssi_noise_avg 
+02d9 18467c50 sub temp ,rssi_thresh_noise ,null 
+02da 24610000 nrtn positive 
+02db 2020040e branch p_g24_ch 
 
 p_g24_blank_data_process:
-012b 2040012e call p_g24_ms_blank_data 
-012c 20400139 call p_g24_kb_blank_data 
-012d 20200141 branch p_g24_kb_mul_blank_data 
+02dc 204002df call p_g24_ms_blank_data 
+02dd 204002ea call p_g24_kb_blank_data 
+02de 202002f2 branch p_g24_kb_mul_blank_data 
 
 p_g24_ms_blank_data:
-012e 6800c7bc fetch 1 ,mem_24g_ms_blank_data_enable 
-012f 207a0000 rtn blank 
-0130 d8e0000b arg timer_new_ms_blank ,queue 
-0131 20407f16 call timer_check 
-0132 247a0000 nrtn blank 
-0133 7047bc00 jam 0 ,mem_24g_ms_blank_data_enable 
-0134 20400136 call p_usb_pc_blank_data2ep2 
-0135 202000dd branch p_usb_ms_data_header 
+02df 6800c7bc fetch 1 ,mem_24g_ms_blank_data_enable 
+02e0 207a0000 rtn blank 
+02e1 d8e0000b arg timer_new_ms_blank ,queue 
+02e2 20407f16 call timer_check 
+02e3 247a0000 nrtn blank 
+02e4 7047bc00 jam 0 ,mem_24g_ms_blank_data_enable 
+02e5 204002e7 call p_usb_pc_blank_data2ep2 
+02e6 20200102 branch p_usb_ms_data_header 
 
 p_usb_pc_blank_data2ep2:
-0136 d8a013d2 arg mem_usb_pc_data ,contw 
-0137 20407ed2 call clear_mem_512 
-0138 202031b8 branch g24_data_type1_usbtx_enable 
+02e7 d8a013d2 arg mem_usb_pc_data ,contw 
+02e8 20407ed2 call clear_mem_512 
+02e9 202031b8 branch g24_data_type1_usbtx_enable 
 
 p_g24_kb_blank_data:
-0139 6800c7ba fetch 1 ,mem_24g_kb_blank_data_enable 
-013a 207a0000 rtn blank 
-013b d8e0000e arg timer_new_kb_blank ,queue 
-013c 20407f16 call timer_check 
-013d 247a0000 nrtn blank 
-013e 7047ba00 jam 0 ,mem_24g_kb_blank_data_enable 
-013f 20400136 call p_usb_pc_blank_data2ep2 
-0140 202000e2 branch p_usb_kb_data_header 
+02ea 6800c7ba fetch 1 ,mem_24g_kb_blank_data_enable 
+02eb 207a0000 rtn blank 
+02ec d8e0000e arg timer_new_kb_blank ,queue 
+02ed 20407f16 call timer_check 
+02ee 247a0000 nrtn blank 
+02ef 7047ba00 jam 0 ,mem_24g_kb_blank_data_enable 
+02f0 204002e7 call p_usb_pc_blank_data2ep2 
+02f1 20200107 branch p_usb_kb_data_header 
 
 p_g24_kb_mul_blank_data:
-0141 6800c7bb fetch 1 ,mem_24g_kb_mul_blank_data_enable 
-0142 207a0000 rtn blank 
-0143 d8e0000c arg timer_new_kb_mul_blank ,queue 
-0144 20407f16 call timer_check 
-0145 247a0000 nrtn blank 
-0146 7047bb00 jam 0 ,mem_24g_kb_mul_blank_data_enable 
-0147 20400136 call p_usb_pc_blank_data2ep2 
-0148 202000e2 branch p_usb_kb_data_header 
+02f2 6800c7bb fetch 1 ,mem_24g_kb_mul_blank_data_enable 
+02f3 207a0000 rtn blank 
+02f4 d8e0000c arg timer_new_kb_mul_blank ,queue 
+02f5 20407f16 call timer_check 
+02f6 247a0000 nrtn blank 
+02f7 7047bb00 jam 0 ,mem_24g_kb_mul_blank_data_enable 
+02f8 204002e7 call p_usb_pc_blank_data2ep2 
+02f9 20200107 branch p_usb_kb_data_header 
 
 p_g24_receive_transmit_ack:
-0149 20400189 call p_g24_rx_interrupt_clear 
-014a 2040026c call p_g24_receive_packet 
-014b 24778000 nrtn user3 
-014c 2020015a branch p_g24_transmit_ack 
-
-p_g24_read_len_pid_crc:
-014d 6800c69b fetch 1 ,mem_24g_rxbuf + 1 
-014e 1fe97e00 rshift3 pdata ,pdata 
-014f 6000c71e store 1 ,mem_24g_rxdata_length 
-0150 1fe0fe01 increase 1 ,pdata 
-0151 d8c0469b arg mem_24g_rxbuf + 1 ,contr 
-0152 98c08c00 iadd contr ,contr 
-0153 e8c18000 ifetch 3 ,contr 
-0154 6001c75d store 3 ,mem_24g_sta_crc 
-0155 6800c69b fetch 1 ,mem_24g_rxbuf + 1 
-0156 1fe37e00 rshift pdata ,pdata 
-0157 1fe17e03 and pdata ,0x03 ,pdata 
-0158 6000c763 store 1 ,mem_24g_sta_pid 
-0159 20600000 rtn 
+02fa 2040032d call p_g24_rx_interrupt_clear 
+02fb 20400428 call p_g24_receive_packet 
+02fc 24778000 nrtn user3 
+02fd 202002fe branch p_g24_transmit_ack 
 
 p_g24_transmit_ack:
-015a 6800c69a fetch 1 ,mem_24g_rxbuf 
-015b 6000c721 store 1 ,mem_24g_data_type 
-015c 2040014d call p_g24_read_len_pid_crc 
-015d 6800c69b fetch 1 ,mem_24g_rxbuf + 1 
-015e 2feffe00 isolate1 bit_ack_24g ,pdata 
-015f 20208163 branch p_g24tx_no_ack ,true 
+02fe 6800c69a fetch 1 ,mem_24g_rxbuf 
+02ff 6000c721 store 1 ,mem_24g_data_type 
+0300 204003ef call p_g24_read_len_pid_crc 
+0301 6800c69b fetch 1 ,mem_24g_rxbuf + 1 
+0302 2feffe00 isolate1 bit_ack_24g ,pdata 
+0303 20208307 branch p_g24tx_no_ack ,true 
 
 p_g24tx_with_ack:
-0160 20400164 call p_g24_ackpayload_prep 
-0161 20400240 call p_g24_transmit_prep 
-0162 204002b4 call p_g24_transmit 
+0304 20400308 call p_g24_ackpayload_prep 
+0305 204003fc call p_g24_transmit_prep 
+0306 20400476 call p_g24_transmit 
 
 p_g24tx_no_ack:
-0163 202002ac branch p_g24_end_of_packet 
+0307 20200470 branch p_g24_end_of_packet 
 
 p_g24_ackpayload_prep:
-0164 70472000 jam 0 ,mem_24g_datalen 
-0165 6800c7a2 fetch 1 ,mem_24g_ackpayload_enable 
-0166 207a0000 rtn blank 
-0167 c000816a beq bind_ackpayload ,p_g24_bind_ackpayload_prep 
-0168 c0018170 beq kb_led_ackpayload ,p_g24_kb_led_ackpayload_prep 
-0169 20600000 rtn 
+0308 70472000 jam 0 ,mem_24g_datalen 
+0309 6800c7a2 fetch 1 ,mem_24g_ackpayload_enable 
+030a 207a0000 rtn blank 
+030b c000830e beq bind_ackpayload ,p_g24_bind_ackpayload_prep 
+030c c0018314 beq kb_led_ackpayload ,p_g24_kb_led_ackpayload_prep 
+030d 20600000 rtn 
 
 p_g24_bind_ackpayload_prep:
-016a 7047a201 jam 1 ,mem_24g_ackpayload_enable 
-016b 70472008 jam 0x08 ,mem_24g_datalen 
-016c df200008 arg 0x08 ,loopcnt 
-016d d8c04793 arg mem_24g_bind_payload ,contr 
-016e d8a046bc arg mem_24g_txbuf ,contw 
-016f 20207f01 branch memcpy 
+030e 7047a201 jam 1 ,mem_24g_ackpayload_enable 
+030f 70472008 jam 0x08 ,mem_24g_datalen 
+0310 df200008 arg 0x08 ,loopcnt 
+0311 d8c04793 arg mem_24g_bind_payload ,contr 
+0312 d8a046bc arg mem_24g_txbuf ,contw 
+0313 20207f01 branch memcpy 
 
 p_g24_kb_led_ackpayload_prep:
-0170 6800c69c fetch 1 ,mem_24g_rxbuf + 2 
-0171 c000816a beq 0x01 ,p_g24_bind_ackpayload_prep 
-0172 c07f816a beq 0xff ,p_g24_bind_ackpayload_prep 
-0173 700d4300 jam 0 ,mem_usb_tx_win_enable 
-0174 70472001 jam 0x01 ,mem_24g_datalen 
-0175 df200001 arg 0x01 ,loopcnt 
-0176 d8c047e3 arg mem_24g_led_status ,contr 
-0177 d8a046bc arg mem_24g_txbuf ,contw 
-0178 20207f01 branch memcpy 
+0314 6800c69c fetch 1 ,mem_24g_rxbuf + 2 
+0315 c000830e beq 0x01 ,p_g24_bind_ackpayload_prep 
+0316 c07f830e beq 0xff ,p_g24_bind_ackpayload_prep 
+0317 700d4300 jam 0 ,mem_usb_tx_win_enable 
+0318 70472001 jam 0x01 ,mem_24g_datalen 
+0319 df200001 arg 0x01 ,loopcnt 
+031a d8c047e3 arg mem_24g_led_status ,contr 
+031b d8a046bc arg mem_24g_txbuf ,contw 
+031c 20207f01 branch memcpy 
 
 p_g24_receive_packet_start:
-0179 20400149 call p_g24_receive_transmit_ack 
-017a 24378189 nbranch p_g24_rx_interrupt_clear ,user3 
-017b 2020017c branch p_g24_receive_packet_parse 
+031d 204002fa call p_g24_receive_transmit_ack 
+031e 2437832d nbranch p_g24_rx_interrupt_clear ,user3 
+031f 20200320 branch p_g24_receive_packet_parse 
 
 p_g24_receive_packet_parse:
-017c 2040018c call p_g24_receive_packet_parse_pid_crc 
-017d 24340189 nbranch p_g24_rx_interrupt_clear ,user 
-017e 6800c71e fetch 1 ,mem_24g_rxdata_length 
-017f 203a0189 branch p_g24_rx_interrupt_clear ,blank 
-0180 1fe0fe02 increase 2 ,pdata 
-0181 98007200 iforce loopcnt 
-0182 d8c0469a arg mem_24g_rxbuf ,contr 
-0183 d8a0476b arg mem_24g_rxdata_temp ,contw 
-0184 20407f01 call memcpy 
-0185 6800c76d fetch 1 ,mem_24g_rxdata_temp + 2 
-0186 c000819a beq 0x01 ,p_g24_data_type1 
-0187 c00101b6 beq 0x02 ,p_g24_data_type2 
-0188 c07f820b beq 0xff ,p_g24_data_attemp 
+0320 20400330 call p_g24_receive_packet_parse_pid_crc 
+0321 2434032d nbranch p_g24_rx_interrupt_clear ,user 
+0322 6800c71e fetch 1 ,mem_24g_rxdata_length 
+0323 203a032d branch p_g24_rx_interrupt_clear ,blank 
+0324 1fe0fe02 increase 2 ,pdata 
+0325 98007200 iforce loopcnt 
+0326 d8c0469a arg mem_24g_rxbuf ,contr 
+0327 d8a0476b arg mem_24g_rxdata_temp ,contw 
+0328 20407f01 call memcpy 
+0329 6800c76d fetch 1 ,mem_24g_rxdata_temp + 2 
+032a c000833e beq 0x01 ,p_g24_data_type1 
+032b c001035a beq 0x02 ,p_g24_data_type2 
+032c c07f83af beq 0xff ,p_g24_data_attemp 
 
 p_g24_rx_interrupt_clear:
-0189 d8a0469a arg mem_24g_rxbuf ,contw 
-018a df200042 arg 66 ,loopcnt 
-018b 20207ed4 branch clear_mem 
+032d d8a0469a arg mem_24g_rxbuf ,contw 
+032e df200042 arg 66 ,loopcnt 
+032f 20207ed4 branch clear_mem 
 
 p_g24_receive_packet_parse_pid_crc:
-018c 20407fe9 call disable_user 
-018d 6800c763 fetch 1 ,mem_24g_sta_pid 
-018e 6808c764 fetcht 1 ,mem_24g_last_pid 
-018f 98467c00 isub temp ,null 
-0190 2442ffe7 ncall enable_user ,zero 
-0191 6800c763 fetch 1 ,mem_24g_sta_pid 
-0192 6000c764 store 1 ,mem_24g_last_pid 
-0193 6801c75d fetch 3 ,mem_24g_sta_crc 
-0194 6809c760 fetcht 3 ,mem_24g_last_crc 
-0195 98467c00 isub temp ,null 
-0196 2442ffe7 ncall enable_user ,zero 
-0197 6801c75d fetch 3 ,mem_24g_sta_crc 
-0198 6001c760 store 3 ,mem_24g_last_crc 
-0199 20600000 rtn 
+0330 20407fe9 call disable_user 
+0331 6800c763 fetch 1 ,mem_24g_sta_pid 
+0332 6808c764 fetcht 1 ,mem_24g_last_pid 
+0333 98467c00 isub temp ,null 
+0334 2442ffe7 ncall enable_user ,zero 
+0335 6800c763 fetch 1 ,mem_24g_sta_pid 
+0336 6000c764 store 1 ,mem_24g_last_pid 
+0337 6801c75d fetch 3 ,mem_24g_sta_crc 
+0338 6809c760 fetcht 3 ,mem_24g_last_crc 
+0339 98467c00 isub temp ,null 
+033a 2442ffe7 ncall enable_user ,zero 
+033b 6801c75d fetch 3 ,mem_24g_sta_crc 
+033c 6001c760 store 3 ,mem_24g_last_crc 
+033d 20600000 rtn 
 
 p_g24_data_type1:
-019a 20400121 call p_g24_ch_timer_reinit 
-019b 6800c79b fetch 1 ,mem_24g_abort_packet 
-019c 6808c76b fetcht 1 ,mem_24g_rxdata_temp 
-019d 284ffe03 isolate1 bit_abort ,temp 
-019e 7920fe00 setflag true ,0 ,pdata 
-019f 6000c79b store 1 ,mem_24g_abort_packet 
-01a0 c0008215 beq 1 ,p_g24_data_attemp_mouse_abort 
-01a1 6800c7a3 fetch 1 ,mem_24g_hop_packet 
-01a2 6808c76b fetcht 1 ,mem_24g_rxdata_temp 
-01a3 284ffe04 isolate1 bit_hop ,temp 
-01a4 7920fe00 setflag true ,0 ,pdata 
-01a5 6000c7a3 store 1 ,mem_24g_hop_packet 
-01a6 204000dd call p_usb_ms_data_header 
-01a7 6803c76e fetch 7 ,mem_24g_rxdata_temp + 3 
-01a8 600393d6 store 7 ,mem_usb_pc_data + 4 
-01a9 6800c76e fetch 1 ,mem_24g_rxdata_temp + 3 
-01aa 245a01ae ncall p_g24_ms_enable_blank_data_forcibly ,blank 
-01ab 6800c76e fetch 1 ,mem_24g_rxdata_temp + 3 
-01ac 205a01b2 call p_g24_ms_disable_blank_data_forcibly ,blank 
-01ad 202031b8 branch g24_data_type1_usbtx_enable 
+033e 204002d2 call p_g24_ch_timer_reinit 
+033f 6800c79b fetch 1 ,mem_24g_abort_packet 
+0340 6808c76b fetcht 1 ,mem_24g_rxdata_temp 
+0341 284ffe03 isolate1 bit_abort ,temp 
+0342 7920fe00 setflag true ,0 ,pdata 
+0343 6000c79b store 1 ,mem_24g_abort_packet 
+0344 c00083b9 beq 1 ,p_g24_data_attemp_mouse_abort 
+0345 6800c7a3 fetch 1 ,mem_24g_hop_packet 
+0346 6808c76b fetcht 1 ,mem_24g_rxdata_temp 
+0347 284ffe04 isolate1 bit_hop ,temp 
+0348 7920fe00 setflag true ,0 ,pdata 
+0349 6000c7a3 store 1 ,mem_24g_hop_packet 
+034a 20400102 call p_usb_ms_data_header 
+034b 6803c76e fetch 7 ,mem_24g_rxdata_temp + 3 
+034c 600393d6 store 7 ,mem_usb_pc_data + 4 
+034d 6800c76e fetch 1 ,mem_24g_rxdata_temp + 3 
+034e 245a0352 ncall p_g24_ms_enable_blank_data_forcibly ,blank 
+034f 6800c76e fetch 1 ,mem_24g_rxdata_temp + 3 
+0350 205a0356 call p_g24_ms_disable_blank_data_forcibly ,blank 
+0351 202031b8 branch g24_data_type1_usbtx_enable 
 
 p_g24_ms_enable_blank_data_forcibly:
-01ae 7047bc01 jam 1 ,mem_24g_ms_blank_data_enable 
-01af 58000180 setarg timer_new_ms_blank_delay 
-01b0 d8e0000b arg timer_new_ms_blank ,queue 
-01b1 20207f08 branch timer_init 
+0352 7047bc01 jam 1 ,mem_24g_ms_blank_data_enable 
+0353 58000180 setarg timer_new_ms_blank_delay 
+0354 d8e0000b arg timer_new_ms_blank ,queue 
+0355 20207f08 branch timer_init 
 
 p_g24_ms_disable_blank_data_forcibly:
-01b2 7047bc00 jam 0 ,mem_24g_ms_blank_data_enable 
-01b3 58000000 setarg 0 
-01b4 d8e0000b arg timer_new_ms_blank ,queue 
-01b5 20207f08 branch timer_init 
+0356 7047bc00 jam 0 ,mem_24g_ms_blank_data_enable 
+0357 58000000 setarg 0 
+0358 d8e0000b arg timer_new_ms_blank ,queue 
+0359 20207f08 branch timer_init 
 
 p_g24_data_type2:
-01b6 6808c76b fetcht 1 ,mem_24g_rxdata_temp 
-01b7 284ffe03 isolate1 bit_abort ,temp 
-01b8 20208217 branch p_g24_data_attemp_kbd_abort ,true 
-01b9 6800c76e fetch 1 ,mem_24g_rxdata_temp + 3 
-01ba c00001be beq 0 ,p_g24_data_type2_data1 
-01bb c00101f5 beq 2 ,p_g24_data_type2_data3 
-01bc c00181db beq 3 ,p_g24_data_type2_data2 
-01bd 20200189 branch p_g24_rx_interrupt_clear 
+035a 6808c76b fetcht 1 ,mem_24g_rxdata_temp 
+035b 284ffe03 isolate1 bit_abort ,temp 
+035c 202083bb branch p_g24_data_attemp_kbd_abort ,true 
+035d 6800c76e fetch 1 ,mem_24g_rxdata_temp + 3 
+035e c0000362 beq 0 ,p_g24_data_type2_data1 
+035f c0010399 beq 2 ,p_g24_data_type2_data3 
+0360 c001837f beq 3 ,p_g24_data_type2_data2 
+0361 2020032d branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_data1:
-01be 6800c770 fetch 1 ,mem_24g_rxdata_temp + 5 
-01bf 6000c7a2 store 1 ,mem_24g_ackpayload_enable 
-01c0 70477000 jam 0 ,mem_24g_rxdata_temp + 5 
-01c1 204000e2 call p_usb_kb_data_header 
-01c2 d8a013d5 arg mem_usb_pc_data + 3 ,contw 
-01c3 204001d0 call p_g24_data_type2_copy_data1 
-01c4 680413d5 fetch 8 ,mem_usb_pc_data + 3 
-01c5 245a01d3 ncall p_g24_kb_enable_blank_data_forcibly ,blank 
-01c6 680413d5 fetch 8 ,mem_usb_pc_data + 3 
-01c7 205a01d7 call p_g24_kb_disable_blank_data_forcibly ,blank 
-01c8 680413d5 fetch 8 ,mem_usb_pc_data + 3 
-01c9 600447a4 store 8 ,mem_24g_kb_data_sta_data 
-01ca 680c47ac fetcht 8 ,mem_24g_kb_data_last_data 
-01cb 98467c00 isub temp ,null 
-01cc 2442b1b8 ncall g24_data_type1_usbtx_enable ,zero 
-01cd 680447a4 fetch 8 ,mem_24g_kb_data_sta_data 
-01ce 600447ac store 8 ,mem_24g_kb_data_last_data 
-01cf 20200189 branch p_g24_rx_interrupt_clear 
+0362 6800c770 fetch 1 ,mem_24g_rxdata_temp + 5 
+0363 6000c7a2 store 1 ,mem_24g_ackpayload_enable 
+0364 70477000 jam 0 ,mem_24g_rxdata_temp + 5 
+0365 20400107 call p_usb_kb_data_header 
+0366 d8a013d5 arg mem_usb_pc_data + 3 ,contw 
+0367 20400374 call p_g24_data_type2_copy_data1 
+0368 680413d5 fetch 8 ,mem_usb_pc_data + 3 
+0369 245a0377 ncall p_g24_kb_enable_blank_data_forcibly ,blank 
+036a 680413d5 fetch 8 ,mem_usb_pc_data + 3 
+036b 205a037b call p_g24_kb_disable_blank_data_forcibly ,blank 
+036c 680413d5 fetch 8 ,mem_usb_pc_data + 3 
+036d 600447a4 store 8 ,mem_24g_kb_data_sta_data 
+036e 680c47ac fetcht 8 ,mem_24g_kb_data_last_data 
+036f 98467c00 isub temp ,null 
+0370 2442b1b8 ncall g24_data_type1_usbtx_enable ,zero 
+0371 680447a4 fetch 8 ,mem_24g_kb_data_sta_data 
+0372 600447ac store 8 ,mem_24g_kb_data_last_data 
+0373 2020032d branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_copy_data1:
-01d0 d8c0476f arg mem_24g_rxdata_temp + 4 ,contr 
-01d1 df200008 arg 8 ,loopcnt 
-01d2 20207f01 branch memcpy 
+0374 d8c0476f arg mem_24g_rxdata_temp + 4 ,contr 
+0375 df200008 arg 8 ,loopcnt 
+0376 20207f01 branch memcpy 
 
 p_g24_kb_enable_blank_data_forcibly:
-01d3 7047ba01 jam 1 ,mem_24g_kb_blank_data_enable 
-01d4 58000180 setarg timer_new_kb_blank_delay 
-01d5 d8e0000e arg timer_new_kb_blank ,queue 
-01d6 20207f08 branch timer_init 
+0377 7047ba01 jam 1 ,mem_24g_kb_blank_data_enable 
+0378 58000180 setarg timer_new_kb_blank_delay 
+0379 d8e0000e arg timer_new_kb_blank ,queue 
+037a 20207f08 branch timer_init 
 
 p_g24_kb_disable_blank_data_forcibly:
-01d7 7047ba00 jam 0 ,mem_24g_kb_blank_data_enable 
-01d8 58000000 setarg 0 
-01d9 d8e0000e arg timer_new_kb_blank ,queue 
-01da 20207f08 branch timer_init 
+037b 7047ba00 jam 0 ,mem_24g_kb_blank_data_enable 
+037c 58000000 setarg 0 
+037d d8e0000e arg timer_new_kb_blank ,queue 
+037e 20207f08 branch timer_init 
 
 p_g24_data_type2_data2:
-01db 204000e2 call p_usb_kb_data_header 
-01dc d8a013d5 arg mem_usb_pc_data + 3 ,contw 
-01dd 204001ea call p_g24_data_type2_copy_data2 
-01de 680113d6 fetch 2 ,mem_usb_pc_data + 4 
-01df 245a01ed ncall p_g24_kb_mul_enable_blank_data_forcibly ,blank 
-01e0 680113d6 fetch 2 ,mem_usb_pc_data + 4 
-01e1 205a01f1 call p_g24_kb_mul_disable_blank_data_forcibly ,blank 
-01e2 680193d5 fetch 3 ,mem_usb_pc_data + 3 
-01e3 6001c7b4 store 3 ,mem_24g_kb_multikey_sta_data 
-01e4 6809c7b7 fetcht 3 ,mem_24g_kb_multikey_last_data 
-01e5 98467c00 isub temp ,null 
-01e6 2442b1b8 ncall g24_data_type1_usbtx_enable ,zero 
-01e7 6801c7b4 fetch 3 ,mem_24g_kb_multikey_sta_data 
-01e8 6001c7b7 store 3 ,mem_24g_kb_multikey_last_data 
-01e9 20200189 branch p_g24_rx_interrupt_clear 
+037f 20400107 call p_usb_kb_data_header 
+0380 d8a013d5 arg mem_usb_pc_data + 3 ,contw 
+0381 2040038e call p_g24_data_type2_copy_data2 
+0382 680113d6 fetch 2 ,mem_usb_pc_data + 4 
+0383 245a0391 ncall p_g24_kb_mul_enable_blank_data_forcibly ,blank 
+0384 680113d6 fetch 2 ,mem_usb_pc_data + 4 
+0385 205a0395 call p_g24_kb_mul_disable_blank_data_forcibly ,blank 
+0386 680193d5 fetch 3 ,mem_usb_pc_data + 3 
+0387 6001c7b4 store 3 ,mem_24g_kb_multikey_sta_data 
+0388 6809c7b7 fetcht 3 ,mem_24g_kb_multikey_last_data 
+0389 98467c00 isub temp ,null 
+038a 2442b1b8 ncall g24_data_type1_usbtx_enable ,zero 
+038b 6801c7b4 fetch 3 ,mem_24g_kb_multikey_sta_data 
+038c 6001c7b7 store 3 ,mem_24g_kb_multikey_last_data 
+038d 2020032d branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_copy_data2:
-01ea d8c0476e arg mem_24g_rxdata_temp + 3 ,contr 
-01eb df200003 arg 3 ,loopcnt 
-01ec 20207f01 branch memcpy 
+038e d8c0476e arg mem_24g_rxdata_temp + 3 ,contr 
+038f df200003 arg 3 ,loopcnt 
+0390 20207f01 branch memcpy 
 
 p_g24_kb_mul_enable_blank_data_forcibly:
-01ed 7047bb01 jam 1 ,mem_24g_kb_mul_blank_data_enable 
-01ee 58000180 setarg timer_new_kb_mul_blank_delay 
-01ef d8e0000c arg timer_new_kb_mul_blank ,queue 
-01f0 20207f08 branch timer_init 
+0391 7047bb01 jam 1 ,mem_24g_kb_mul_blank_data_enable 
+0392 58000180 setarg timer_new_kb_mul_blank_delay 
+0393 d8e0000c arg timer_new_kb_mul_blank ,queue 
+0394 20207f08 branch timer_init 
 
 p_g24_kb_mul_disable_blank_data_forcibly:
-01f1 7047bb00 jam 0 ,mem_24g_kb_mul_blank_data_enable 
-01f2 58000000 setarg 0 
-01f3 d8e0000c arg timer_new_kb_mul_blank ,queue 
-01f4 20207f08 branch timer_init 
+0395 7047bb00 jam 0 ,mem_24g_kb_mul_blank_data_enable 
+0396 58000000 setarg 0 
+0397 d8e0000c arg timer_new_kb_mul_blank ,queue 
+0398 20207f08 branch timer_init 
 
 p_g24_data_type2_data3:
-01f5 204000e2 call p_usb_kb_data_header 
-01f6 d8a013d5 arg mem_usb_pc_data + 3 ,contw 
-01f7 20400200 call p_g24_data_type2_copy_data3 
-01f8 680113d5 fetch 2 ,mem_usb_pc_data + 3 
-01f9 600113cc store 2 ,mem_usb_kb_system_sta_data 
-01fa 680913cf fetcht 2 ,mem_usb_kb_system_last_data 
-01fb 98467c00 isub temp ,null 
-01fc 2442b1b8 ncall g24_data_type1_usbtx_enable ,zero 
-01fd 680113cc fetch 2 ,mem_usb_kb_system_sta_data 
-01fe 600113cf store 2 ,mem_usb_kb_system_last_data 
-01ff 20200189 branch p_g24_rx_interrupt_clear 
+0399 20400107 call p_usb_kb_data_header 
+039a d8a013d5 arg mem_usb_pc_data + 3 ,contw 
+039b 204003a4 call p_g24_data_type2_copy_data3 
+039c 680113d5 fetch 2 ,mem_usb_pc_data + 3 
+039d 600113cc store 2 ,mem_usb_kb_system_sta_data 
+039e 680913cf fetcht 2 ,mem_usb_kb_system_last_data 
+039f 98467c00 isub temp ,null 
+03a0 2442b1b8 ncall g24_data_type1_usbtx_enable ,zero 
+03a1 680113cc fetch 2 ,mem_usb_kb_system_sta_data 
+03a2 600113cf store 2 ,mem_usb_kb_system_last_data 
+03a3 2020032d branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_copy_data3:
-0200 d8c0476e arg mem_24g_rxdata_temp + 3 ,contr 
-0201 df200002 arg 2 ,loopcnt 
-0202 20207f01 branch memcpy 
+03a4 d8c0476e arg mem_24g_rxdata_temp + 3 ,contr 
+03a5 df200002 arg 2 ,loopcnt 
+03a6 20207f01 branch memcpy 
 
 p_g24_kb_sys_enable_blank_data_forcibly:
-0203 7047bb01 jam 1 ,mem_24g_kb_mul_blank_data_enable 
-0204 58000180 setarg timer_new_kb_mul_blank_delay 
-0205 d8e0000c arg timer_new_kb_mul_blank ,queue 
-0206 20207f08 branch timer_init 
+03a7 7047bb01 jam 1 ,mem_24g_kb_mul_blank_data_enable 
+03a8 58000180 setarg timer_new_kb_mul_blank_delay 
+03a9 d8e0000c arg timer_new_kb_mul_blank ,queue 
+03aa 20207f08 branch timer_init 
 
 p_g24_kb_sys_disable_blank_data_forcibly:
-0207 7047bb00 jam 0 ,mem_24g_kb_mul_blank_data_enable 
-0208 58000000 setarg 0 
-0209 d8e0000c arg timer_new_kb_mul_blank ,queue 
-020a 20207f08 branch timer_init 
+03ab 7047bb00 jam 0 ,mem_24g_kb_mul_blank_data_enable 
+03ac 58000000 setarg 0 
+03ad d8e0000c arg timer_new_kb_mul_blank ,queue 
+03ae 20207f08 branch timer_init 
 
 p_g24_data_attemp:
-020b 6800c76e fetch 1 ,mem_24g_rxdata_temp + 3 
-020c c000820f beq datatype_mouse ,p_g24_data_attemp_mouse 
-020d c0010212 beq datatype_keyboard ,p_g24_data_attemp_kbd 
-020e 20600000 rtn 
+03af 6800c76e fetch 1 ,mem_24g_rxdata_temp + 3 
+03b0 c00083b3 beq datatype_mouse ,p_g24_data_attemp_mouse 
+03b1 c00103b6 beq datatype_keyboard ,p_g24_data_attemp_kbd 
+03b2 20600000 rtn 
 
 p_g24_data_attemp_mouse:
-020f 6802476f fetch 4 ,mem_24g_rxdata_temp + 4 
+03b3 6802476f fetch 4 ,mem_24g_rxdata_temp + 4 
 
 p_g24_store_mouse_addr:
-0210 600247c1 store 4 ,mem_24g_ms_addr 
-0211 20600000 rtn 
+03b4 600247c1 store 4 ,mem_24g_ms_addr 
+03b5 20600000 rtn 
 
 p_g24_data_attemp_kbd:
-0212 6802476f fetch 4 ,mem_24g_rxdata_temp + 4 
+03b6 6802476f fetch 4 ,mem_24g_rxdata_temp + 4 
 
 p_g24_store_kbd_addr:
-0213 600247bd store 4 ,mem_24g_kb_addr 
-0214 20600000 rtn 
+03b7 600247bd store 4 ,mem_24g_kb_addr 
+03b8 20600000 rtn 
 
 p_g24_data_attemp_mouse_abort:
-0215 68024775 fetch 4 ,mem_24g_rxdata_temp + 10 
-0216 20200210 branch p_g24_store_mouse_addr 
+03b9 68024775 fetch 4 ,mem_24g_rxdata_temp + 10 
+03ba 202003b4 branch p_g24_store_mouse_addr 
 
 p_g24_data_attemp_kbd_abort:
-0217 68024775 fetch 4 ,mem_24g_rxdata_temp + 10 
-0218 20200213 branch p_g24_store_kbd_addr 
-
-p_save_rssi:
-0219 68110981 hfetch 2 ,rf_afc_d2a 
-021a 1ff1fe00 rshift4 pdata ,pdata 
-021b 1fe97e00 rshift3 pdata ,pdata 
-021c 1fe67e00 sub pdata ,0 ,pdata 
-021d 1fe17eff and_into 0xff ,pdata 
-021e 6000c7c5 store 1 ,mem_rssi_hex 
-021f 202029c1 branch save_rssi + 6 
+03bb 68024775 fetch 4 ,mem_24g_rxdata_temp + 10 
+03bc 202003b7 branch p_g24_store_kbd_addr 
 
 p_rssi_noise:
-0220 204029bb call save_rssi 
-0221 207a0000 rtn blank 
-0222 6808c7c7 fetcht 1 ,mem_rssi_noise_index 
-0223 da200d9e arg mem_rssi_noise_buffer ,rega 
-0224 20400227 call p_rssi_store 
-0225 6008c7c7 storet 1 ,mem_rssi_noise_index 
-0226 20600000 rtn 
+03bd 204029bb call save_rssi 
+03be 207a0000 rtn blank 
+03bf 6808c7c7 fetcht 1 ,mem_rssi_noise_index 
+03c0 da200d9e arg mem_rssi_noise_buffer ,rega 
+03c1 204003c4 call p_rssi_store 
+03c2 6008c7c7 storet 1 ,mem_rssi_noise_index 
+03c3 20600000 rtn 
 
 p_rssi_store:
-0227 1a227e00 copy rega ,pdata 
-0228 98408a00 iadd temp ,contw 
-0229 68008018 fetch 1 ,mem_rssi 
-022a e0a08000 istore 1 ,contw 
-022b 18408401 increase 1 ,temp 
-022c 184104ff and_into rssi_buf_len_noise ,temp 
-022d 20600000 rtn 
+03c4 1a227e00 copy rega ,pdata 
+03c5 98408a00 iadd temp ,contw 
+03c6 68008018 fetch 1 ,mem_rssi 
+03c7 e0a08000 istore 1 ,contw 
+03c8 18408401 increase 1 ,temp 
+03c9 184104ff and_into rssi_buf_len_noise ,temp 
+03ca 20600000 rtn 
+
+p_rssi_signal:
+03cb 1fe22200 copy pdata ,rega 
+03cc 6808c7c8 fetcht 1 ,mem_rssi_signal_index 
+03cd 580047cf setarg mem_rssi_signal_buf 
+03ce 98408a00 iadd temp ,contw 
+03cf 1a227e00 copy rega ,pdata 
+03d0 e0a08000 istore 1 ,contw 
+03d1 18408401 increase 1 ,temp 
+03d2 18410407 and_into rssi_buf_len_signal ,temp 
+03d3 6008c7c8 storet 1 ,mem_rssi_signal_index 
+03d4 20600000 rtn 
 
 p_rssi_average:
-022e d8400000 arg 0 ,temp 
-022f df200100 arg rssi_buf_len_noise + 1 ,loopcnt 
-0230 1a220c00 copy rega ,contr 
-0231 20202e64 branch rssi_average_loop 
+03d5 d8400000 arg 0 ,temp 
+03d6 df200100 arg rssi_buf_len_noise + 1 ,loopcnt 
+03d7 c51603d9 bmark1 mark_24g_rxmode ,p_rssi_average2 
+03d8 df200008 arg rssi_buf_len_signal + 1 ,loopcnt 
+
+p_rssi_average2:
+03d9 1a220c00 copy rega ,contr 
+03da c5162e64 bmark1 mark_24g_rxmode ,rssi_average_loop 
+
+p_rssi_average_loop:
+03db e8c08000 ifetch 1 ,contr 
+03dc 98408400 iadd temp ,temp 
+03dd c20003db loop p_rssi_average_loop 
+03de 18497e00 rshift3 temp ,pdata 
+03df 1fe20400 copy pdata ,temp 
+03e0 20600000 rtn 
 
 p_g24_update_addr_and_synccrc8:
-0232 60024748 store 4 ,mem_24g_addr 
+03e1 60024748 store 4 ,mem_24g_addr 
 
 p_g24_syncword_crc8:
-0233 da200000 arg 0 ,rega 
-0234 df200004 arg 4 ,loopcnt 
-0235 d8c04748 arg mem_24g_addr ,contr 
+03e2 da200000 arg 0 ,rega 
+03e3 df200004 arg 4 ,loopcnt 
+03e4 d8c04748 arg mem_24g_addr ,contr 
 
 p_g24_syncword_crc8_loop:
-0236 e8c08000 ifetch 1 ,contr 
-0237 9a20a200 iadd rega ,rega 
-0238 c2000236 loop p_g24_syncword_crc8_loop 
-0239 1a227e00 copy rega ,pdata 
-023a 60014767 store 2 ,mem_24g_syncword 
-023b 6800c767 fetch 1 ,mem_24g_syncword 
-023c 6808c768 fetcht 1 ,mem_24g_syncword + 1 
-023d 9840fe00 iadd temp ,pdata 
-023e 6000c769 store 1 ,mem_24g_syncword_crc8 
-023f 20600000 rtn 
+03e5 e8c08000 ifetch 1 ,contr 
+03e6 9a20a200 iadd rega ,rega 
+03e7 c20003e5 loop p_g24_syncword_crc8_loop 
+03e8 1a227e00 copy rega ,pdata 
+03e9 60014767 store 2 ,mem_24g_syncword 
+03ea 6800c767 fetch 1 ,mem_24g_syncword 
+03eb 6808c768 fetcht 1 ,mem_24g_syncword + 1 
+03ec 9840fe00 iadd temp ,pdata 
+03ed 6000c769 store 1 ,mem_24g_syncword_crc8 
+03ee 20600000 rtn 
+
+p_g24_read_len_pid_crc:
+03ef 6800c69b fetch 1 ,mem_24g_rxbuf + 1 
+03f0 1fe97e00 rshift3 pdata ,pdata 
+03f1 6000c71e store 1 ,mem_24g_rxdata_length 
+03f2 1fe0fe01 increase 1 ,pdata 
+03f3 d8c0469b arg mem_24g_rxbuf + 1 ,contr 
+03f4 98c08c00 iadd contr ,contr 
+03f5 e8c18000 ifetch 3 ,contr 
+03f6 6001c75d store 3 ,mem_24g_sta_crc 
+03f7 6800c69b fetch 1 ,mem_24g_rxbuf + 1 
+03f8 1fe37e00 rshift pdata ,pdata 
+03f9 1fe17e03 and pdata ,0x03 ,pdata 
+03fa 6000c763 store 1 ,mem_24g_sta_pid 
+03fb 20600000 rtn 
 
 p_g24_transmit_prep:
-0240 6800c720 fetch 1 ,mem_24g_datalen 
-0241 1fe0fe02 increase 2 ,pdata 
-0242 6000c722 store 1 ,mem_24g_txlen 
-0243 6800c721 fetch 1 ,mem_24g_data_type 
-0244 6000c6dc store 1 ,mem_24g_txpayload 
-0245 6800c720 fetch 1 ,mem_24g_datalen 
-0246 1fe9fe00 lshift3 pdata ,pdata 
-0247 6808c71f fetcht 1 ,mem_24g_pid 
-0248 18410403 and temp ,0x03 ,temp 
-0249 18438400 lshift temp ,temp 
-024a 9841fe00 ior temp ,pdata 
-024b 6808c75c fetcht 1 ,mem_24g_no_ack 
-024c 9840fe00 iadd temp ,pdata 
-024d e0a08000 istore 1 ,contw 
-024e 6800c720 fetch 1 ,mem_24g_datalen 
-024f 98007200 iforce loopcnt 
-0250 d8c046bc arg mem_24g_txbuf ,contr 
-0251 20207f01 branch memcpy 
+03fc 6800c720 fetch 1 ,mem_24g_datalen 
+03fd 1fe0fe02 increase 2 ,pdata 
+03fe 6000c722 store 1 ,mem_24g_txlen 
+03ff 6800c721 fetch 1 ,mem_24g_data_type 
+0400 6000c6dc store 1 ,mem_24g_txpayload 
+0401 6800c720 fetch 1 ,mem_24g_datalen 
+0402 1fe9fe00 lshift3 pdata ,pdata 
+0403 6808c71f fetcht 1 ,mem_24g_pid 
+0404 18410403 and temp ,0x03 ,temp 
+0405 18438400 lshift temp ,temp 
+0406 9841fe00 ior temp ,pdata 
+0407 6808c75c fetcht 1 ,mem_24g_no_ack 
+0408 9840fe00 iadd temp ,pdata 
+0409 e0a08000 istore 1 ,contw 
+040a 6800c720 fetch 1 ,mem_24g_datalen 
+040b 98007200 iforce loopcnt 
+040c d8c046bc arg mem_24g_txbuf ,contr 
+040d 20207f01 branch memcpy 
 
 p_g24_ch:
-0252 6808c72b fetcht 1 ,mem_24g_current_ch_number 
-0253 20400256 call p_g24_ch_map_size 
-0254 6008c72b storet 1 ,mem_24g_current_ch_number 
-0255 20600000 rtn 
+040e 6808c72b fetcht 1 ,mem_24g_current_ch_number 
+040f 20400412 call p_g24_ch_map_size 
+0410 6008c72b storet 1 ,mem_24g_current_ch_number 
+0411 20600000 rtn 
 
 p_g24_ch_map_size:
-0256 2040025a call p_g24_ch_calc 
-0257 18408401 increase 1 ,temp 
-0258 18410403 and_into 3 ,temp 
-0259 20600000 rtn 
+0412 20400416 call p_g24_ch_calc 
+0413 18408401 increase 1 ,temp 
+0414 18410403 and_into 3 ,temp 
+0415 20600000 rtn 
 
 p_g24_ch_calc:
-025a 6800c748 fetch 1 ,mem_24g_addr 
-025b 1fe17e03 and_into 0x03 ,pdata 
-025c 1fefa204 mul32 pdata ,4 ,rega 
-025d 58004731 setarg mem_24g_ch_map1 
-025e 9a20fe00 iadd rega ,pdata 
-025f 98408c00 iadd temp ,contr 
-0260 e8c08000 ifetch 1 ,contr 
-0261 6000c72a store 1 ,mem_24g_ch 
-0262 20600000 rtn 
+0416 6800c748 fetch 1 ,mem_24g_addr 
+0417 1fe17e03 and_into 0x03 ,pdata 
+0418 1fefa204 mul32 pdata ,4 ,rega 
+0419 58004731 setarg mem_24g_ch_map1 
+041a 9a20fe00 iadd rega ,pdata 
+041b 98408c00 iadd temp ,contr 
+041c e8c08000 ifetch 1 ,contr 
+041d 6000c72a store 1 ,mem_24g_ch 
+041e 20600000 rtn 
 
 p_g24_prep:
-0263 7844fc00 disable enable_crc 
-0264 7843fc00 disable enable_white 
-0265 58555555 setarg 0x555555 
-0266 98001e00 iforce crc24_init 
-0267 6800c72a fetch 1 ,mem_24g_ch 
-0268 1fed8400 reverse pdata ,temp 
-0269 79200401 set1 1 ,temp 
-026a 18431c00 rshift temp ,white_init 
-026b 20600000 rtn 
+041f 7844fc00 disable enable_crc 
+0420 7843fc00 disable enable_white 
+0421 58555555 setarg 0x555555 
+0422 98001e00 iforce crc24_init 
+0423 6800c72a fetch 1 ,mem_24g_ch 
+0424 1fed8400 reverse pdata ,temp 
+0425 79200401 set1 1 ,temp 
+0426 18431c00 rshift temp ,white_init 
+0427 20600000 rtn 
 
 p_g24_receive_packet:
-026c 204053c4 call le_enable 
-026d 68024748 fetch 4 ,mem_24g_addr 
-026e 98001200 iforce access 
-026f 20402918 call set_sync_on 
-0270 6808c72a fetcht 1 ,mem_24g_ch 
-0271 2040291f call set_freq_rx 
-0272 58000500 setarg param_pll_setup 
-0273 20402a8f call sleep 
-0274 20402924 call rf_rx_enable 
+0428 204053c4 call le_enable 
+0429 68024748 fetch 4 ,mem_24g_addr 
+042a 98001200 iforce access 
+042b 20402918 call set_sync_on 
+042c 6808c72a fetcht 1 ,mem_24g_ch 
+042d 2040291f call set_freq_rx 
+042e 58000500 setarg param_pll_setup 
+042f 20402a8f call sleep 
+0430 20402924 call rf_rx_enable 
 
 p_g24_receive_rxon:
-0275 20400263 call p_g24_prep 
-0276 7857fc00 disable user3 
-0277 7826fc00 enable decode_fec0 
-0278 7830fc00 enable is_rx 
-0279 78507c00 disable is_tx 
-027a 78287c00 enable swfine 
-027b 68014723 fetch 2 ,mem_24g_rx_window 
-027c 98003600 iforce stop_watch 
-027d 37c18400 correlate null ,timeout 
-027e 242c02af nbranch p_g24_sync_timeout ,sync 
-027f 7846fc00 disable decode_fec0 
-0280 7825fc00 enable decode_fec1 
-0281 7823fc00 enable enable_white 
-0282 7824fc00 enable enable_crc 
-0283 09800008 parse demod ,bucket ,8 
-0284 19897e00 rshift3 pwindow ,pdata 
-0285 6000c76a store 1 ,mem_24g_get_syncword_crc8 
-0286 6808c769 fetcht 1 ,mem_24g_syncword_crc8 
-0287 98467c00 isub temp ,null 
-0288 242282ac nbranch p_g24_end_of_packet ,zero 
-0289 09800008 parse demod ,bucket ,8 
-028a 19897e00 rshift3 pwindow ,pdata 
-028b 6000c69a store 1 ,mem_24g_rxbuf 
-028c 6800c766 fetch 1 ,mem_24g_mode 
-028d 1fe67c02 sub pdata ,rx_24g ,null 
-028e 20228293 branch p_g24_receive_skip ,zero 
-028f 6800c69a fetch 1 ,mem_24g_rxbuf 
-0290 6808c721 fetcht 1 ,mem_24g_data_type 
-0291 a8400e00 icompare bits_data ,temp 
-0292 242082ac nbranch p_g24_end_of_packet ,true 
+0431 2040041f call p_g24_prep 
+0432 7857fc00 disable user3 
+0433 7826fc00 enable decode_fec0 
+0434 7830fc00 enable is_rx 
+0435 78507c00 disable is_tx 
+0436 78287c00 enable swfine 
+0437 68014723 fetch 2 ,mem_24g_rx_window 
+0438 98003600 iforce stop_watch 
+0439 37c18400 correlate null ,timeout 
+043a 242c046e nbranch p_g24_sync_timeout ,sync 
+043b 7846fc00 disable decode_fec0 
+043c 7825fc00 enable decode_fec1 
+043d 7823fc00 enable enable_white 
+043e 7824fc00 enable enable_crc 
+043f 2040046b call p_g24_receive_byte 
+0440 6000c76a store 1 ,mem_24g_get_syncword_crc8 
+0441 6808c769 fetcht 1 ,mem_24g_syncword_crc8 
+0442 98467c00 isub temp ,null 
+0443 24228470 nbranch p_g24_end_of_packet ,zero 
+0444 2040046b call p_g24_receive_byte 
+0445 6000c69a store 1 ,mem_24g_rxbuf 
+0446 c516044b bmark1 mark_24g_rxmode ,p_g24_receive_skip 
+0447 6800c69a fetch 1 ,mem_24g_rxbuf 
+0448 6808c721 fetcht 1 ,mem_24g_data_type 
+0449 a8400e00 icompare bits_data ,temp 
+044a 24208470 nbranch p_g24_end_of_packet ,true 
 
 p_g24_receive_skip:
-0293 09800008 parse demod ,bucket ,8 
-0294 19897e00 rshift3 pwindow ,pdata 
-0295 e0a08000 istore 1 ,contw 
-0296 1fe97e00 rshift3 pdata ,pdata 
-0297 1fe1721f and pdata ,0x1f ,loopcnt 
-0298 2022829d branch p_g24rx_nopayload ,zero 
+044b 2040046b call p_g24_receive_byte 
+044c e0a08000 istore 1 ,contw 
+044d 1fe97e00 rshift3 pdata ,pdata 
+044e 1fe1721f and pdata ,0x1f ,loopcnt 
+044f 20228453 branch p_g24rx_nopayload ,zero 
 
 p_g24rx_loop:
-0299 09800008 parse demod ,bucket ,8 
-029a 19897e00 rshift3 pwindow ,pdata 
-029b e0a08000 istore 1 ,contw 
-029c c2000299 loop p_g24rx_loop 
+0450 2040046b call p_g24_receive_byte 
+0451 e0a08000 istore 1 ,contw 
+0452 c2000450 loop p_g24rx_loop 
 
 p_g24rx_nopayload:
-029d 09800018 parse demod ,bucket ,24 
-029e 78287c00 enable swfine 
-029f db600664 arg param_sifs ,stop_watch 
-02a0 1fef7e00 rshift32 pdata ,pdata 
-02a1 1ff17e00 rshift16 pdata ,pdata 
-02a2 e0a18000 istore 3 ,contw 
-02a3 7845fc00 disable decode_fec1 
-02a4 204029bb call save_rssi 
-02a5 202302ac branch p_g24_end_of_packet ,crc_failed 
-02a6 7837fc00 enable user3 
-02a7 68008017 fetch 1 ,mem_last_freq 
-02a8 1fe0a200 add pdata ,0 ,rega 
-02a9 20402981 call rf_write_freq 
-02aa 7846fc00 disable decode_fec0 
-02ab 20202918 branch set_sync_on 
-
-p_g24_end_of_packet:
-02ac 784dfc00 disable encode_fec1 
-02ad 7845fc00 disable decode_fec1 
-02ae 2020264d branch end_of_packet 
+0453 c5160458 bmark1 mark_24g_rxmode ,p_g24rx_crc 
+0454 18a22200 copy contw ,rega 
+0455 2040046b call p_g24_receive_byte 
+0456 6000c7e1 store 1 ,mem_rssi_hex_received 
+0457 1a220a00 copy rega ,contw 
+
+p_g24rx_crc:
+0458 09800018 parse demod ,bucket ,24 
+0459 78287c00 enable swfine 
+045a db600664 arg param_sifs ,stop_watch 
+045b 1fef7e00 rshift32 pdata ,pdata 
+045c 1ff17e00 rshift16 pdata ,pdata 
+045d e0a18000 istore 3 ,contw 
+045e 7845fc00 disable decode_fec1 
+045f 280ffe2c isolate1 mark_24g_rxmode ,mark 
+0460 2040a9bb call save_rssi ,true 
+0461 20230470 branch p_g24_end_of_packet ,crc_failed 
+0462 7837fc00 enable user3 
+0463 68008017 fetch 1 ,mem_last_freq 
+0464 1fe0a200 add pdata ,0 ,rega 
+0465 20402981 call rf_write_freq 
+0466 7846fc00 disable decode_fec0 
+0467 20402918 call set_sync_on 
+0468 c6160000 rtnmark1 mark_24g_rxmode 
+0469 6800c7e1 fetch 1 ,mem_rssi_hex_received 
+046a 202003cb branch p_rssi_signal 
+
+p_g24_receive_byte:
+046b 09800008 parse demod ,bucket ,8 
+046c 19897e00 rshift3 pwindow ,pdata 
+046d 20600000 rtn 
 
 p_g24_sync_timeout:
-02af 20400220 call p_rssi_noise 
-02b0 202002ac branch p_g24_end_of_packet 
+046e 280ffe2c isolate1 mark_24g_rxmode ,mark 
+046f 204083bd call p_rssi_noise ,true 
+
+p_g24_end_of_packet:
+0470 784dfc00 disable encode_fec1 
+0471 7845fc00 disable decode_fec1 
+0472 2020264d branch end_of_packet 
 
 p_g24_set_freq_tx:
-02b1 20402918 call set_sync_on 
-02b2 6808c72a fetcht 1 ,mem_24g_ch 
-02b3 20202933 branch set_freq_tx 
+0473 20402918 call set_sync_on 
+0474 6808c72a fetcht 1 ,mem_24g_ch 
+0475 20202933 branch set_freq_tx 
 
 p_g24_transmit:
-02b4 204053c4 call le_enable 
-02b5 68024748 fetch 4 ,mem_24g_addr 
-02b6 98001200 iforce access 
-02b7 20400263 call p_g24_prep 
-02b8 204002b1 call p_g24_set_freq_tx 
-02b9 79202a00 set1 txgfsk ,radio_ctrl 
-02ba 782efc00 enable encode_fec0 
-02bb 78307c00 enable is_tx 
-02bc 7850fc00 disable is_rx 
-02bd 19317e00 rshift16 access ,pdata 
-02be 1fecfe00 rshift8 pdata ,pdata 
-02bf 1ff1fe00 rshift4 pdata ,pdata 
-02c0 08008628 inject mod ,40 
-02c1 784efc00 disable encode_fec0 
-02c2 782dfc00 enable encode_fec1 
-02c3 7823fc00 enable enable_white 
-02c4 7824fc00 enable enable_crc 
-02c5 6800c769 fetch 1 ,mem_24g_syncword_crc8 
-02c6 08008608 inject mod ,8 
-02c7 6800c722 fetch 1 ,mem_24g_txlen 
-02c8 98007200 iforce loopcnt 
-02c9 d8c046dc arg mem_24g_txpayload ,contr 
+0476 204053c4 call le_enable 
+0477 68024748 fetch 4 ,mem_24g_addr 
+0478 98001200 iforce access 
+0479 2040041f call p_g24_prep 
+047a 20400473 call p_g24_set_freq_tx 
+047b 79202a00 set1 txgfsk ,radio_ctrl 
+047c 782efc00 enable encode_fec0 
+047d 78307c00 enable is_tx 
+047e 7850fc00 disable is_rx 
+047f 19317e00 rshift16 access ,pdata 
+0480 1fecfe00 rshift8 pdata ,pdata 
+0481 1ff1fe00 rshift4 pdata ,pdata 
+0482 08008628 inject mod ,40 
+0483 784efc00 disable encode_fec0 
+0484 782dfc00 enable encode_fec1 
+0485 7823fc00 enable enable_white 
+0486 7824fc00 enable enable_crc 
+0487 6800c769 fetch 1 ,mem_24g_syncword_crc8 
+0488 08008608 inject mod ,8 
+0489 6800c722 fetch 1 ,mem_24g_txlen 
+048a 98007200 iforce loopcnt 
+048b d8c046dc arg mem_24g_txpayload ,contr 
 
 p_g24tr_loop:
-02ca e8c08000 ifetch 1 ,contr 
-02cb 08008608 inject mod ,8 
-02cc c20002ca loop p_g24tr_loop 
-02cd 6800c7c5 fetch 1 ,mem_rssi_hex 
-02ce 08008608 inject mod ,8 
-02cf 78247c00 enable enable_parity 
-02d0 08008618 inject mod ,24 
-02d1 78447c00 disable enable_parity 
-02d2 37d38200 until null ,tx_clear 
-02d3 20000064 nop 100 
-02d4 784efc00 disable encode_fec0 
-02d5 784dfc00 disable encode_fec1 
-02d6 20600000 rtn 
+048c e8c08000 ifetch 1 ,contr 
+048d 08008608 inject mod ,8 
+048e c200048c loop p_g24tr_loop 
+048f c5960492 bmark0 mark_24g_rxmode ,p_g24tr_crc 
+0490 6800c7c5 fetch 1 ,mem_rssi_hex 
+0491 08008608 inject mod ,8 
+
+p_g24tr_crc:
+0492 78247c00 enable enable_parity 
+0493 08008618 inject mod ,24 
+0494 78447c00 disable enable_parity 
+0495 37d38200 until null ,tx_clear 
+0496 20000064 nop 100 
+0497 784efc00 disable encode_fec0 
+0498 784dfc00 disable encode_fec1 
+0499 20600000 rtn 
               org 0x2000
 
 start:
Index: program/patch.prog
===================================================================
--- /branch/mouse_project/TestTools/1021s_quick_connector/program/patch.prog	(revision 3200)
+++ /branch/mouse_project/TestTools/1021s_quick_connector/program/patch.prog	(working copy)
@@ -1,4 +1,5 @@
 
+
 ifdef PATCH
 
 	bbit1 8,pf_patch_ext
@@ -21,7 +22,15 @@
 p_app_init:
 	jam 0x86,0x895b
 	jam 0xa0,0x895c
-	call enable_authrom
+
+	setarg p_g24_matrix_data
+	store 2,mem_cb_24g_data
+	setarg p_app_priority_bb_event
+	store 2,mem_cb_bb_event_process
+	setarg p_app_bb_event_timer
+	store 2,mem_cb_event_timer
+
+	call enable_authrom	
 	call usb_init
 	call p_app_ui_init
 	branch p_app_mode_select
@@ -51,17 +60,29 @@
 
 p_app_mode_select:
 	call p_app_check_key_gpio
-	beq QUICK_CONN_24G,p_app_mode_select_24g
 	beq QUICK_CONN_BLE,p_app_mode_select_ble
 	beq QUICK_CONN_CLASSIC,p_app_mode_select_classic
+	beq QUICK_CONN_24G_RECEIVER,p_app_mode_select_24g_receiver
+	beq QUICK_CONN_24G_TRANSMITTER,p_app_mode_select_24g_transmitter
 	rtn
 
 //gpio27 and gpio28 float
-p_app_mode_select_24g:
-	store 1,mem_app_mode_select	//0x00 0r 0x03
+p_app_mode_select_24g_receiver:
+	store 1,mem_app_mode_select
 	fetcht 1,mem_quickconn_24g_led_gpio
 	call gpio_out_active
-	rtn
+	branch p_g24_receiver_init
+
+//gpio27 and gpio28 gnd
+p_app_mode_select_24g_transmitter:
+	store 1,mem_app_mode_select
+	fetcht 1,mem_quickconn_24g_led_gpio
+	call gpio_out_active
+	fetcht 1,mem_quickconn_ble_led_gpio
+	call gpio_out_active	
+	fetcht 1,mem_quickconn_classic_led_gpio
+	call gpio_out_active
+	branch p_g24_transmitter_init
 
 //gpio27 ground
 p_app_mode_select_ble:
@@ -85,11 +106,63 @@
 	call soft_reset_chip
 	branch loop
 
+
+p_app_priority_bb_event:
+	copy regc,pdata
+	beq BT_EVT_24G_PAIRING_COMPLETE,p_g24_transmitter_pairing_complete
+	beq BT_EVT_24G_ATTEMPT_FAIL,p_g24_transmitter_attempt_fail
+	rtn
+
+p_g24_transmitter_pairing_complete:
+	branch p_g24_auto_pair_timeout_clear
+
+p_g24_transmitter_attempt_fail:
+	call p_g24_check_51cmd_stop_24g
+	call soft_reset_chip
+	branch loop
+
+
+p_app_bb_event_timer:
+	call p_g24_transmitter_pair_timeout_timer
+
+	rtn
+
+
+p_g24_transmitter_pair_timeout_timer:
+	arg mem_24g_stop_g24_mode_timeout,regc
+	arg p_g24_transmitter_pair_timeout,regb
+	branch timer_single_step_2B
+p_g24_transmitter_pair_timeout:
+	jam 1,mem_24g_stop_g24_mode
+	rtn
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 //////////////////////////////MAIN FUNC//////////////////////////////////
 
 
 //////////////////////////////COMMON PATCH//////////////////////////////////
 
+p_save_rssi:
+	hfetch 2,rf_afc_d2a
+	rshift4 pdata,pdata
+	rshift3 pdata,pdata
+	sub pdata,0,pdata
+	and_into 0xff,pdata
+	store 1,mem_rssi_hex
+	branch save_rssi+6
+
 p_shutdown_radio:
 	force 8,radio_ctrl
 	branch shutdown_radio+1
@@ -320,20 +393,562 @@
 //////////////////////////////G24 FUNC//////////////////////////////////
 
 p_g24_dispatch:
+	rtnmark0 mark_24g
 	fetch 1,mem_app_mode_select
-	bne QUICK_CONN_24G,p_usb_dispatch
-	call p_g24_init
+	beq QUICK_CONN_24G_RECEIVER,p_g24_receiver
+	beq QUICK_CONN_24G_TRANSMITTER,p_g24_transmitter
+	branch p_usb_dispatch
+
+
+//////////////////////////////G24 TRANSMITTER FUNC//////////////////////////////////
+
+p_g24_transmitter_init:
+	hfetch 2,core_clkoff
+	set1 CLOCK_OFF_USB,pdata	//disable usb
+	hstore 2,core_clkoff
+	
+	set1 mark_24g,mark
+	set0 mark_24g_rxmode,mark
+	jam 1,mem_24g_data_type
+	jam 4,mem_24g_max_retry
+	setarg 0x12c0
+	store 2,mem_24g_rx_window
+	jam 0x19,mem_24g_interval
+	jam 0x19,mem_24g_interval_min
+	jam 0x1c,mem_24g_interval_max
+	branch p_g24_auto_pair_start
+
+
+p_g24_transmitter:
+	call p_app_mode_check
+	fetch 1,mem_24g_conn_sm
+	bbit1 STATE_24G_PAIR,p_g24_pair_dispatch
+	call p_g24_timer_check
+	nrtn user
+	call p_g24_interval_calibrate
+	call p_g24_txdata_prep
+	nrtn user
+	call p_g24_rf_sta_check
+	branch p_g24_transmit_packet
+
+p_g24_interval_calibrate:
+	fetch 1,mem_24g_pac_index
+	increase 1,pdata
+	store 1,mem_24g_pac_index
+	beq 4,p_g24_interval_max
+	beq 5,p_g24_interval_min
+	rtn
+
+p_g24_interval_min:
+	jam 0,mem_24g_pac_index
+	fetch 1,mem_24g_interval_min
+p_g24_interval_store:
+	store 1,mem_24g_interval
+	rtn
+p_g24_interval_max:
+	fetch 1,mem_24g_interval_max
+	branch p_g24_interval_store
+
+p_g24_timer_check:
+	call disable_user
+	fetcht 4,mem_24g_tx_btclk
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall g24_timer_timeout,positive
+	copy pdata,regb
+	fetch 4,mem_24g_tx_btclk
+	fetcht 1,mem_24g_interval
+	iadd temp,temp
+	copy regb,pdata
+	isub temp,null
+	nrtn positive
+	set0 28,pdata
+	store 4,mem_24g_tx_btclk
+	branch enable_user
+
+
+p_g24_pair_dispatch:
+	fetch 1,mem_24g_stop_g24_mode
+	beq 1,g24_stop_24g_mode
+	call p_g24_tx_attemp_data_prep
+	call p_g24_transmit_receive_ack
+	nbranch p_g24_pair_txdata_retry,sync
+	nbranch p_g24_pair_txdata_retry,user3
+	call p_g24_ackpayload_parse
+	fetch 4,mem_24g_addr
+	fetcht 4,mem_24g_allpowerful_addr
+	isub temp,null
+	branch p_g24_auto_pair_skip_rx_length,zero
+	call p_g24_pair_ackpayload_length_check	//ack payload length
+	nrtn user
+p_g24_auto_pair_skip_rx_length:
+	fetch 1,mem_24g_conn_sm
+	set0 STATE_24G_PAIR,pdata
+	store 1,mem_24g_conn_sm
+	fetch 4,mem_24g_addr
+	fetcht 4,mem_24g_paring_addr
+	isub temp,null
+	branch p_g24_start_pairing_sm1,zero
+	fetch 4,mem_24g_addr
+	fetcht 4,mem_24g_device_addr
+	isub temp,null
+	call p_g24_store_dongle_addr,zero
+p_g24_tx_attemp_dongle_succ:
+	set1 mark_24g,mark
+	call g24_tx_attemp_dongle_succ+4
+p_g24_txbuf_clear:
+	arg 4,loopcnt
+	arg mem_24g_txbuf,contw
+	branch memset0
+
+p_g24_pair_ackpayload_length_check:
+	fetch 1,mem_24g_rxdata_length
+	beq BIND_ACKPAYLOAD_LENGTH,enable_user
+	beq BIND_ACKPAYLOAD_LENGTH_YC1131,enable_user
+	branch disable_user
+
+p_g24_store_dongle_addr:
+	fetch 4,mem_24g_rxpayload+2
+	branch p_g24_update_addr_and_synccrc8
+
+p_g24_tx_attemp_data_prep:
+	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_put_data_in_buff:
+	storet 1,mem_24g_datalen
+	copy temp,loopcnt
+	arg mem_24g_txbuf,contw
+	copy rega,contr
+	branch memcpy
+
+p_g24_auto_pair_start:
+	fetch 1,mem_24g_conn_sm
+	set1 STATE_24G_PAIR,pdata
+	store 1,mem_24g_conn_sm
+p_g24_auto_pair_timeout_init:
+	setarg G24_DISCONN_NODATA_TIMER	//3min
+	store 2,mem_24g_stop_g24_mode_timeout
+	jam 0,mem_24g_stop_g24_mode
+	rtn
+
+p_g24_auto_pair_timeout_clear:
+	setarg 0
+	store 1,mem_24g_stop_g24_mode
+	store 2,mem_24g_stop_g24_mode_timeout
+	rtn
+
+
+p_g24_pair_txdata_retry:
+	fetch 1,mem_24g_auto_paring_switch
+	increase 1,pdata
+	and_into 3,pdata
+	store 1,mem_24g_auto_paring_switch
+	beq 0,p_g24_auto_pair_first_attemp
+	beq 2,p_g24_auto_pair_all_powerful
+p_g24_pair_init:
+	jam G24_PAIR_CH,mem_24g_ch
+	fetch 4,mem_24g_paring_addr
+	branch p_g24_update_addr_and_synccrc8
+
+p_g24_auto_pair_first_attemp:
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_addr
+	fetch 1,mem_24g_pair_current_ch_num
+	store 1,mem_24g_current_ch_number
+	call p_g24_ch_syncword_crc8_init
+	storet 1,mem_24g_pair_current_ch_num
+	rtn
+
+p_g24_ch_syncword_crc8_init:	
+	call p_g24_syncword_crc8
+	branch p_g24_ch
+
+p_g24_auto_pair_all_powerful:
+	fetch 4,mem_24g_allpowerful_addr
+	store 4,mem_24g_addr
+	fetch 1,mem_24g_powerful_current_ch_num
+	store 1,mem_24g_current_ch_number
+	call p_g24_ch_syncword_crc8_init
+	storet 1,mem_24g_powerful_current_ch_num
+	rtn
+
+
+p_g24_set_device_addr:
+	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_enable_packet:
+	fetch 1,mem_24g_data_type
+	rtnbit0 bit_hop
+p_g24_hop_ch_disable:
+	fetch 1,mem_24g_data_type
+	set0 bit_hop,pdata
+	store 1,mem_24g_data_type
+	store 1,mem_24g_txpayload
+	branch p_g24_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:
+	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
+p_g24_txdata_enable_tx:
+	call p_g24_transmit_prep
+	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	//mouse data
+	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
+	copy regb,contr
+	copy rega,loopcnt
+	branch memcpy
+
+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
+	call p_g24_txbuf_clear
+	call p_g24_ackpayload_parse
+p_g24_transmit_next_packet:
+	fetch 1,mem_24g_pid
+	increase 1,pdata
+	store 1,mem_24g_pid
+	call p_g24_hop_enable_packet
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_paring_mode
+	call p_g24_transmit_succ_rf_config
+p_g24_transmit_abandon:
+	setarg 0
+	store 4,mem_24g_ensure
+	store 1,mem_24g_hop_pac_retry
+	rtn
+
+p_g24_transmit_receive_ack:
+	disable user3
+	call p_g24_transmit
+	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_retransmit:
+	fetch 1,mem_24g_abort_pac
+	nrtn blank
+	fetch 2,mem_24g_txfail_cnt
+	increase 1,pdata
+	store 2,mem_24g_txfail_cnt
+	fetch 1,mem_24g_txfail_cnt+1
+	bbit1 1,p_g24_tx_attempt_fail
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_tx_paring_retry
+	call p_g24_tx_hop_ch_process
+	branch p_g24_transmit_loop
+
+p_g24_tx_paring_retry:
+	fetch 1,mem_24g_txfail_cnt
+	rtnne 0xff
+p_g24_tx_attempt_fail:
+	setarg 0
+	store 2,mem_24g_txfail_cnt
+	branch g24_stop_24g_mode
+
+p_g24_tx_hop_ch_process:
+	fetch 1,mem_24g_retry
+	sub pdata,11,null
+	nbranch p_g24_ch,positive		// >= 6+6 hop fast    fail packet count >= 2
+	increase 1,pdata
+	store 1,mem_24g_retry
+	beq 2,p_g24_hop_ch_enable
+	beq 6,p_g24_hop_ch_disable
+	beq 8,p_g24_hop_ch_enable
+	beq 12,p_g24_hop_ch_disable
+	rtn	
+
+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
+
+
+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_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_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_check_51cmd_stop_24g:
+	set0 mark_24g,mark
+	jam STATE_24G_STOP,mem_24g_conn_sm
+	branch le_disable
+
+
+//1 mem_m_key
+//2 mem_m_x
+//2 mem_m_y
+//1 mem_m_z
+//1 mem_m_tz
+//1 mem_24g_matrix_cnt
+p_g24_matrix_data:
+	fetch 1,mem_24g_matrix_cnt
+	increase 1,pdata
+	store 1,mem_24g_matrix_cnt
+	sub pdata,50,null
+	branch p_ms_x_right,positive
+	sub pdata,100,null
+	branch p_ms_y_up,positive
+	sub pdata,150,null
+	branch p_ms_x_left,positive
+	sub pdata,200,null
+	branch p_ms_y_down,positive
+	rtn
+p_ms_x_right:
+	setarg 0x05
+	store 2,mem_m_x
+	setarg 0
+	store 2,mem_m_y
+	store 1,mem_m_z
+	store 1,mem_m_key
+	store 1,mem_m_tz
+p_data:	
+	enable user
+	arg 7,rega
+	arg mem_m_key,regb
+	rtn
+p_ms_y_up:
+	setarg 0x05
+	store 2,mem_m_y
+	setarg 0
+	store 2,mem_m_x
+	store 1,mem_m_z
+	store 1,mem_m_key
+	store 1,mem_m_tz
+	branch p_data
+p_ms_x_left:
+	setarg 0xfffb
+	store 2,mem_m_x
+	setarg 0
+	store 2,mem_m_y
+	store 1,mem_m_z
+	store 1,mem_m_key
+	store 1,mem_m_tz
+	branch p_data
+p_ms_y_down:
+	fetch 1,mem_24g_matrix_cnt
+	beq 200,p_mem_usb_data_square_cnt_set0
+	setarg 0xfffb
+	store 2,mem_m_y
+	setarg 0
+	store 2,mem_m_x
+	store 1,mem_m_z
+	store 1,mem_m_key
+	store 1,mem_m_tz
+	branch p_data
+p_mem_usb_data_square_cnt_set0:
+	jam 0,mem_24g_matrix_cnt
+	branch p_ms_y_down+2
+
+
+	
+//////////////////////////////G24 TRANSMITTER FUNC//////////////////////////////////
+
+
+
+
+//////////////////////////////G24 RECEIVER FUNC//////////////////////////////////
+
+p_g24_receiver:
 	call p_dongle_check_mode
-p_g24_all_powerful_loop:
+p_g24_receiver_main_loop:
 	call p_app_mode_check
 	call p_g24_dongle_work_mode
 	call p_usb_dispatch
-	branch p_g24_all_powerful_loop
+	branch p_g24_receiver_main_loop
 
-p_g24_init:
-	setarg 0x0f0f0f
-	store 3,mem_24g_rx_addr
-	istore 1,contw
+p_g24_receiver_init:
+	set1 mark_24g,mark
+	set1 mark_24g_rxmode,mark
+	setarg 0x7530
+	store 2,mem_24g_rx_window
+	fetch 4,mem_24g_allpowerful_addr
+	store 4,mem_24g_rx_addr
+	jam 0x1e,mem_24g_hop_interval
 	arg 0x80,loopcnt
 	arg mem_rssi_noise_buffer,contw
 	branch memset0
@@ -455,24 +1070,6 @@
 	branch p_g24_transmit_ack
 
 
-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
-
 p_g24_transmit_ack:
 //data type
 	fetch 1,mem_24g_rxbuf
@@ -705,7 +1302,6 @@
 	arg TIMER_NEW_KB_MUL_BLANK,queue
 	branch timer_init
 
-	
 p_g24_data_attemp:
 	fetch 1,mem_24g_rxdata_temp+3
 	beq DATATYPE_MOUSE,p_g24_data_attemp_mouse
@@ -728,15 +1324,7 @@
 	fetch 4,mem_24g_rxdata_temp+10
 	branch p_g24_store_kbd_addr
 
-
-p_save_rssi:
-	hfetch 2,rf_afc_d2a
-	rshift4 pdata,pdata
-	rshift3 pdata,pdata
-	sub pdata,0,pdata
-	and_into 0xff,pdata
-	store 1,mem_rssi_hex
-	branch save_rssi+6
+//////////////////////////////G24 RECEIVER FUNC//////////////////////////////////
 
 p_rssi_noise:
 	call save_rssi
@@ -755,15 +1343,39 @@
 	increase 1,temp
 	and_into RSSI_BUF_LEN_NOISE,temp
 	rtn
+
+p_rssi_signal:
+	copy pdata,rega
+	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_rssi_average:
 	arg 0,temp
 	arg RSSI_BUF_LEN_NOISE+1,loopcnt
+	bmark1 mark_24g_rxmode,p_rssi_average2
+	arg RSSI_BUF_LEN_SIGNAL+1,loopcnt
+p_rssi_average2:
 	copy rega,contr
-	branch rssi_average_loop
+	bmark1 mark_24g_rxmode,rssi_average_loop
+p_rssi_average_loop:
+	ifetch 1,contr
+	iadd temp,temp
+	loop p_rssi_average_loop
+	rshift3 temp,pdata
+	copy pdata,temp
+	rtn
+
+
 
 p_g24_update_addr_and_synccrc8:	
 	store 4,mem_24g_addr
-
 //output: 1BYTE crc8
 p_g24_syncword_crc8:
 	arg 0,rega
@@ -782,6 +1394,25 @@
 	rtn
 
 
+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
+
+
 p_g24_transmit_prep:
 // total length
 	fetch 1,mem_24g_datalen
@@ -865,35 +1496,36 @@
 	enable decode_fec1
 	enable enable_white
 	enable enable_crc
-	parse demod,bucket,8
-	rshift3 pwindow,pdata
+	call p_g24_receive_byte
 	store 1,mem_24g_get_syncword_crc8
 	fetcht 1,mem_24g_syncword_crc8
 	isub temp,null
 	nbranch p_g24_end_of_packet,zero
-	parse demod,bucket,8
-	rshift3 pwindow,pdata
+	call p_g24_receive_byte
 	store 1,mem_24g_rxbuf	//device id
-	fetch 1,mem_24g_mode
-	sub pdata,rx_24g,null
-	branch p_g24_receive_skip,zero
+	bmark1 mark_24g_rxmode,p_g24_receive_skip
 	fetch 1,mem_24g_rxbuf
 	fetcht 1,mem_24g_data_type
 	icompare bits_data,temp
 	nbranch p_g24_end_of_packet,true
 p_g24_receive_skip:
-	parse demod,bucket,8
-	rshift3 pwindow,pdata
+	call p_g24_receive_byte
 	istore 1,contw
 	rshift3 pdata,pdata
 	and pdata,0x1f,loopcnt	//max payload: 32bytes
 	branch p_g24rx_nopayload,zero
 p_g24rx_loop:
-	parse demod,bucket,8
-	rshift3 pwindow,pdata
+	call p_g24_receive_byte
 	istore 1,contw
 	loop p_g24rx_loop
 p_g24rx_nopayload:
+	bmark1 mark_24g_rxmode,p_g24rx_crc
+	//receive rssi hex
+	copy contw,rega
+	call p_g24_receive_byte
+	store 1,mem_rssi_hex_received
+	copy rega,contw
+p_g24rx_crc:
 	parse demod,bucket,24
 	enable swfine
 	arg param_sifs,stop_watch	
@@ -901,24 +1533,33 @@
 	rshift16 pdata,pdata
 	istore 3,contw
 	disable decode_fec1
-	call save_rssi
+	isolate1 mark_24g_rxmode,mark
+	call save_rssi,true
 	branch p_g24_end_of_packet,crc_failed
 	enable user3
 	fetch 1,mem_last_freq
 	add pdata,0,rega
 	call rf_write_freq
 	disable decode_fec0
-	branch set_sync_on
-	
+	call set_sync_on
+	rtnmark1 mark_24g_rxmode
+	fetch 1,mem_rssi_hex_received
+	branch p_rssi_signal
+
+
+p_g24_receive_byte:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	rtn
+
+p_g24_sync_timeout:
+	isolate1 mark_24g_rxmode,mark
+	call p_rssi_noise,true
 p_g24_end_of_packet:
 	disable encode_fec1
 	disable decode_fec1
 	branch end_of_packet
 
-p_g24_sync_timeout:
-	call p_rssi_noise
-	branch p_g24_end_of_packet
-
 p_g24_set_freq_tx:
 	call set_sync_on
 	fetcht 1,mem_24g_ch
@@ -951,8 +1592,10 @@
 	ifetch 1,contr
 	inject mod,8
 	loop p_g24tr_loop
+	bmark0 mark_24g_rxmode,p_g24tr_crc
 	fetch 1,mem_rssi_hex
 	inject mod,8
+p_g24tr_crc:	
 	enable enable_parity
 	inject mod,24	//crc
 	disable enable_parity
Index: sched/rf.dat
===================================================================
--- /branch/mouse_project/TestTools/1021s_quick_connector/sched/rf.dat	(revision 3200)
+++ /branch/mouse_project/TestTools/1021s_quick_connector/sched/rf.dat	(working copy)
@@ -9,17 +9,18 @@
 
 
 
-#24g rx config
-mem_24g_mode:02#rx
-mem_24g_no_ack:00#no ack
-mem_24g_rx_window:30 75#rx
-mem_24g_hop_interval:1e
-mem_24g_ackpayload_enable:00#ack payload enable
+#24g config
+mem_24g_no_ack:00
+mem_24g_ackpayload_enable:00
 mem_24g_ch_map1:00 13 2c 42
 mem_24g_ch_map2:06 15 36 48
 mem_24g_ch_map3:0f 1a 3a 4c
 mem_24g_ch_map4:11 23 31 4d
-#24g rx config end
+mem_24g_pairing_sm:ff
+mem_24g_paring_addr:20 15 10 05
+mem_24g_allpowerful_addr:0f 0f 0f 0f
+mem_24g_common_temp:00 00 00 00 00 00 00 00 00 00
+#24g config end
 
 
 
