Index: format/app_mouse.format
===================================================================
--- /branch/mouse_project/MingAo_Project/24G&BLE_24G_FIRST/format/app_mouse.format	(revision 1845)
+++ /branch/mouse_project/MingAo_Project/24G&BLE_24G_FIRST/format/app_mouse.format	(working copy)
@@ -259,6 +259,31 @@
 
 1 mem_mouse_common_gpio
 3 mem_le_lap_high_3B
+
+1 mem_mouse_poweron_bt_start_reconn_timer
+6 mem_mouse_24g_addr_init
+
+//fast le conn
+6 mem_le_normal_lap
+1 mem_le_switch_adv_flag
+1 mem_le_switch_adv_timer
+1 mem_le_switch_adv_count
+1 mem_mouse_start_discovery_enable
+1 mem_mouse_le_adv_start
+
+1 mem_mouse_le_not_tx_disconn
+1 mem_mouse_le_updata_not_accepted_flag
+
+25 mem_sensor_8650_init
+13 mem_sensor_ka8_init
+15 mem_sensor_8009_init
+9 mem_sensor_poweron_init
+
+0 mem_mouse_3065xy_dpi_seting
+1 mem_3065xy_dpi_1
+1 mem_3065xy_dpi_2
+1 mem_3065xy_dpi_3
+1 mem_3065xy_dpi_4
 )
 
 (
@@ -384,7 +409,8 @@
 0XD2 P3204_TJ3L_ID2
 0x54 PKA8_ID2
 0x70 P3065_XY_ID2
-0x5a MX8650A_ID2
+0x5a MA8650_ID2
+0x5a P_MX8650
 0xD8 P8009_ID2
 
 //Sensor type
@@ -395,7 +421,8 @@
 0X04 P3212
 0X05 P3610
 0X06 P3065_XY
-0X07 MX8650A
+0X07 MA8650
+0x07 MX8650
 0x08 P8009
 
 
@@ -454,6 +481,7 @@
 (
 0x017700 G24_LONG_SLEEP_STEP1	//8ms
 0x36ee80 G24_LONG_SLEEP_STEP2	//300ms
+0x124f80 G24_LONG_SLEEP_STEP3	//100ms
 )
 
 
@@ -471,7 +499,13 @@
 )
 
 (
-1 LATEST_MODE_BT
-2 LATEST_MODE_24G
+0x0708 BLE_DIRECT_ADV_TIMEOUT
+0x0a BLE_POWERON_RECONN_TIMER
+)
+
+(
+0x01 LATEST_MODE_BT
+0x02 LATEST_MODE_24G
+0xff LATEST_MODE_NULL
 )
 
Index: format/app_usb.format
===================================================================
--- /branch/mouse_project/MingAo_Project/24G&BLE_24G_FIRST/format/app_usb.format	(revision 1845)
+++ /branch/mouse_project/MingAo_Project/24G&BLE_24G_FIRST/format/app_usb.format	(working copy)
@@ -184,7 +184,9 @@
 
 (
 0x01 BIND_ACKPAYLOAD
+0x08 BIND_ACKPAYLOAD_LENGTH
 0x02 USER_ACKPAYLOAD
+0x1F USER_ACKPAYLOAD_LENGTH
 
 0xcf CMD_OTA
 0xc0 CMD_OTA_START
Index: format/g24.format
===================================================================
--- /branch/mouse_project/MingAo_Project/24G&BLE_24G_FIRST/format/g24.format	(revision 1845)
+++ /branch/mouse_project/MingAo_Project/24G&BLE_24G_FIRST/format/g24.format	(working copy)
@@ -127,6 +127,18 @@
 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_conn_sm
+
+1 mem_24g_stop_g24_mode
+2 mem_24g_stop_g24_mode_timeout
+1 mem_24g_search_dongle_wait
+1 mem_24g_pair_current_ch_num
+1 mem_24g_powerful_current_ch_num
+
+1 mem_24g_search_dongle_action
+1 mem_24g_search_dongle_count
+1 mem_24g_search_dongle_ch
 )
 
 (
@@ -299,7 +311,12 @@
 //6-7 channel offset
 )
 
-
+(
+0 STATE_24G_STOP
+0 STATE_24G_START
+1 STATE_24G_PAIR
+2 STATE_24G_RECONN
+)
 
 //mem_24g_pairing_sm
 (
@@ -460,3 +477,13 @@
 0 G24_TX_TIMER_INT_DISABLE
 )
 
+(
+0 G24_DISCONN_STATE
+1 G24_CONN_STATE
+
+8 G24_CH_NUMBER
+16 G24_CH_POLL_COUNT
+0x0708 G24_DISCONN_NODATA_TIMER
+0x3c G24_FIRST_DISCONN_NODATA_TIMER
+)
+
Index: output/eeprom.dat
===================================================================
--- /branch/mouse_project/MingAo_Project/24G&BLE_24G_FIRST/output/eeprom.dat	(revision 1845)
+++ /branch/mouse_project/MingAo_Project/24G&BLE_24G_FIRST/output/eeprom.dat	(working copy)
@@ -2,8 +2,8 @@
 02
 aa
 55
-02
-1d
+b2
+1c
 c2
 84
 00
@@ -19,15 +19,15 @@
 c0
 42
 86
-d7
+c4
 c0
 44
 86
-a8
+97
 c0
 45
 06
-d9
+c6
 c0
 50
 80
@@ -43,35 +43,35 @@
 c0
 62
 02
-da
+b6
 c0
 64
 83
-76
+53
 c0
 65
 03
-7a
+57
 c0
 71
 85
-46
+3f
 c0
 73
 04
-fb
+f8
 c0
 75
 05
-6c
+67
 c0
 75
 85
-7c
+7b
 c0
 76
 05
-a2
+8f
 20
 20
 2a
@@ -79,47 +79,47 @@
 c0
 1c
 85
-a7
+91
 c0
 21
 85
-af
+99
 c0
 25
 05
-b5
+9f
 c0
 2b
 85
-b8
+a2
 c0
 2c
 85
-ca
+b4
 c0
 31
 85
-d7
+c1
 c0
 33
-06
-01
+05
+ea
 c0
 33
 86
-18
+09
 c0
 35
 06
-44
+35
 c0
 3b
 86
-4f
+40
 c0
 46
 06
-5f
+50
 20
 20
 2a
@@ -131,11 +131,11 @@
 68
 08
 cc
-83
+d9
 58
 00
 4c
-8a
+e0
 98
 40
 8a
@@ -159,7 +159,7 @@
 60
 08
 cc
-83
+d9
 20
 60
 00
@@ -191,7 +191,7 @@
 20
 40
 03
-ba
+a2
 20
 40
 6a
@@ -279,35 +279,43 @@
 68
 00
 cd
-08
+67
+c2
+80
+80
+58
+c2
+81
+00
+9a
+68
+00
+cd
+5e
 c0
 00
 80
-5a
+a7
 20
 40
-00
-eb
+01
+3f
 24
 34
 00
-75
-70
-4c
-04
-00
+c2
 20
 40
-00
-d2
+01
+1a
 20
 40
 01
-14
+68
 68
 00
-cb
-d8
+cc
+2e
 c1
 ff
 80
@@ -315,23 +323,23 @@
 20
 40
 06
-7c
-68
+6d
+58
+01
+77
 00
+60
+01
 cc
-04
-c0
-00
-80
-7a
-20
-40
-00
-56
+4d
+70
+48
+0c
+1e
 20
 40
 00
-80
+cc
 24
 74
 00
@@ -339,423 +347,419 @@
 20
 40
 02
-d4
+b0
 58
 00
-f4
-24
+f0
+3c
 20
 20
 2b
 93
-58
-01
-77
+68
 00
-60
-01
-cb
-f7
+cd
+68
+c0
+00
+ad
+d4
 70
-48
-0c
-1e
-20
+11
+9e
+ff
+68
+00
+cc
+1f
 60
 00
+91
+9f
+68
+02
+4c
+55
+60
+02
+11
+a0
+d8
+40
 00
+06
+da
+20
+11
+9e
+20
+40
+01
+ef
 20
 40
 02
-ad
+10
+20
+40
+01
+7f
 24
-74
-00
+2c
 00
+7d
+24
+37
+80
+7d
 20
 40
-00
-6f
-68
-01
-4d
-09
-1f
-e0
-fe
 01
-60
-01
-4d
-09
+a5
 68
-09
+02
+4c
+46
+68
+0a
 4d
-0b
+63
 98
 46
 7c
 00
 20
-42
+22
 80
-64
-20
-20
-00
-46
-70
-4d
-08
-00
-58
+6d
+68
 00
+cc
+1c
+c1
+84
 00
 00
-60
-01
+70
 4d
-09
-58
-00
+67
 00
-19
-60
-01
-4d
-0b
-70
+20
+40
+02
+c4
+68
+02
 4c
-03
-00
+46
 68
+0a
+4c
+2a
+98
+46
+7c
 00
-cb
-ee
-60
-00
-cb
-ed
 20
-60
-00
-00
+22
+81
+ac
+68
+02
+4c
+46
 68
+0a
+4c
+55
+98
+46
+7c
 00
-cb
-ef
 20
+42
+82
+01
+70
+48
+0a
+00
+20
+40
+2f
+20
+20
+40
+01
+7c
+70
+4d
+5e
+01
+70
+4d
+5f
+00
 20
+60
+00
 00
-6b
 68
 00
-cc
-03
+cd
+5c
 1f
 e0
 fe
 01
+1f
+e1
+7e
+03
 60
 00
-cc
-03
+cd
+5c
 c0
-02
 00
-6d
+00
+88
 c0
-02
-80
-69
-20
-60
+01
 00
+92
+70
+41
+de
+20
+70
+4c
+1d
 00
+70
+4c
+28
+4e
 68
-00
-cb
-f4
+02
+4c
+2a
 20
-5a
-00
-93
+20
+02
+02
 20
 40
-00
-a1
+02
+c4
+68
+02
+4c
+55
+60
+02
+4c
+46
 68
 00
-cc
-04
-c1
-00
-80
+cd
+6c
+60
 00
+cc
+29
 20
 40
 00
-80
-24
-74
+90
+60
+08
+cd
+6c
+20
+60
 00
 00
-68
-01
-cb
-f7
 20
 40
-7f
-49
-60
-0a
-41
-5b
-20
+02
+03
 20
-2b
-2a
-78
-34
-7c
-00
 20
-40
-2a
-fa
-68
 01
-c1
-6f
+2d
+70
+41
+de
 20
-3a
-7f
-e9
+68
+02
+4d
+63
+60
+02
+4c
+46
 68
 00
-c0
-91
+cd
+6d
+60
+00
+cc
+29
 20
-3a
-7f
-e9
-68
+40
 00
-c5
-b1
+90
+60
+08
+cd
+6d
 20
-3a
-7f
-e9
+60
+00
+00
 68
 00
 cd
-08
+68
 c0
 00
-ff
-e9
-20
-40
-02
-d7
+ad
+d4
 20
 40
-02
-d4
+01
+e2
 20
 40
-3e
-bf
-68
-12
-00
-70
+01
+7f
+24
+2c
+01
+2d
+24
+37
+81
+2d
 68
-1a
-00
-78
-98
-41
-84
-00
-18
-44
-04
-00
-60
-1a
 00
-7c
-20
+cd
+67
+79
+3f
+fe
+02
 60
 00
-00
-70
-4b
-f4
-01
+cd
+67
 70
-4c
-fd
+48
+0a
 00
 20
 40
-00
-aa
-60
-00
-cb
-64
-58
-00
-00
-00
-60
-03
-cb
-65
-68
-02
-4b
-ff
-60
-02
-4b
-6c
-70
-4b
-c8
-0c
-68
-00
-cb
-c9
-79
+2f
 20
-7e
-03
-60
-00
-cb
-c9
 20
 40
-00
-ee
+01
+7c
 20
 20
 00
-4a
-68
-00
-cb
-f4
-20
 7a
-00
-00
-68
-00
-c8
-0a
 20
-7a
+40
+02
+89
+24
+74
 00
 00
-70
-4c
-04
-01
 20
 40
+00
+bc
+68
 01
-f6
+4d
+5f
+1f
+e0
+fe
+01
+60
+01
+4d
+5f
+68
+09
+4d
+61
+98
+46
+7c
+00
+20
+42
+80
+b1
 20
 20
 00
-94
-70
-4c
-fe
-01
+49
 70
 4d
+5e
 00
+58
 00
-68
 00
-cb
-c9
-1f
-e1
-7e
-07
-60
 00
-cb
-c9
-20
 60
+01
+4d
+5f
+58
 00
 00
-68
-00
-cb
-c9
-79
-20
-7e
-04
+19
 60
+01
+4d
+61
+70
+4c
+59
 00
-cb
-c9
+68
+00
+cc
+44
 60
 00
-cb
-84
+cc
+43
 20
 60
 00
 00
 68
 00
-cb
-c9
-79
-3f
-fe
-04
-60
-00
-cb
-c9
-60
-00
-cb
-84
-20
-40
-06
-72
+cc
+45
 20
 20
-01
-f6
-68
 00
-cc
-fd
-c0
-80
-80
-aa
+b8
 68
 00
 cc
-fb
+59
 1f
 e0
 fe
@@ -763,1303 +767,1207 @@
 60
 00
 cc
-fb
+59
 c0
 02
 00
-c2
-20
-40
-01
-f6
-70
-4c
-0d
-02
-20
-20
-01
-14
-20
-40
-06
-72
-70
-4c
-fb
-00
-20
-20
-00
-aa
-70
-4d
-00
-02
-70
-4c
-fe
-01
-70
-4c
-fd
-00
-20
-20
-00
-aa
-68
-00
-cc
-ff
+ba
 c0
-01
+02
 80
-c6
-68
+b6
+20
+60
 00
-cb
-c9
-2f
-ec
 00
-04
-20
-20
-80
-a8
 68
 00
 cc
-ff
-c0
-00
-80
-c5
-c0
-01
-00
-c6
+4a
 20
-60
-00
+5a
 00
+e0
 68
 00
-cb
-d8
+cd
+5e
 c1
-ff
+00
 80
 00
 20
 40
 00
-d7
+cc
 24
-56
-00
-df
-20
-60
+74
 00
 00
+68
+01
+cc
+4d
+20
+40
+7f
+49
+60
+0a
+41
+5b
+20
+20
+2b
+2a
 78
-56
+34
 7c
 00
+20
+40
+2a
+fa
 68
-00
-cc
-fe
+01
 c1
-80
-80
-00
+6f
+20
+3a
+7f
+e9
 68
 00
-cd
-00
-c1
-80
-00
-00
-70
-4c
-ff
-01
-70
-4c
-0d
-04
-20
+c0
+91
 20
+3a
 7f
-eb
+e9
 68
 00
-cd
-00
+c5
+b1
 20
 3a
-00
-e6
-1f
-e0
-ff
-ff
-60
+7f
+e9
+68
 00
 cd
+5e
+c0
 00
-70
-4c
 ff
+e9
+20
+40
 02
-70
-4c
-0d
-04
+b3
 20
+40
+02
+b0
 20
-01
-f6
-70
-4c
-ff
-03
+40
+3e
+bf
 68
+12
 00
-cc
-fd
-24
-3a
-00
-b9
 70
-4c
-0d
-02
-20
-20
-01
-f6
 68
+1a
 00
-cb
+78
+98
+41
+84
+00
+18
+44
+04
+00
+60
+1a
+00
+7c
 d8
-c0
-ff
-81
-6a
-20
 40
 00
-f1
+1d
 20
-40
-02
-26
+20
+67
+fb
 70
-4b
-cd
+4c
+4a
 01
+70
+4d
+53
+00
 20
+40
+00
+f0
 60
 00
+cb
+ba
+58
 00
-68
-01
-4c
-f9
-20
-40
-7f
-9c
-20
-34
 00
-f7
-68
+00
+60
 03
 cb
-65
-20
-7a
+bb
+68
+02
+4c
+55
+60
+02
+4b
+c2
+70
+4c
+1e
+0c
+68
 00
+cc
+1f
+79
+20
+7e
+03
+60
 00
+cc
+1f
 20
+40
+01
+42
 20
-7f
-e7
 20
-40
+00
+4c
+70
+4d
+54
 01
-0e
 70
-4b
-f4
+4d
+56
 00
-1a
+68
+00
+cc
+1f
+1f
+e1
+7e
+07
+60
+00
+cc
+1f
 20
-fe
-01
 60
 00
-cb
-c8
+00
+68
+00
+cc
+1f
+79
 20
-40
+7e
+04
+60
 00
-aa
+cc
+1f
 60
 00
 cb
-64
-e8
-a8
-80
+da
+20
+60
 00
-ea
-40
-80
 00
-98
-41
-fe
+68
 00
-e0
-a0
-80
+cc
+1f
+c4
+02
 00
-1a
-40
-a4
-01
-ea
-42
-00
-00
-e0
-a2
-00
-00
-1a
-40
-a4
-04
-d8
-a0
-4b
-6a
-df
-20
-00
-02
-ea
-40
-80
 00
-e8
-a8
-80
+68
 00
-98
-40
+cc
+1f
+79
+3f
 fe
+04
+60
 00
-e0
-a0
-80
+cc
+1f
+60
 00
-1a
+cb
+da
+20
 40
-a4
-01
-c2
-00
-01
-07
+06
+63
 20
-60
-00
-00
+20
+01
+2d
 68
 00
-c8
-0a
-c1
+cd
+53
+c0
 80
 80
+f0
+68
 00
-58
-00
-00
-00
+cd
+51
+1f
+e0
+fe
+01
 60
 00
-c8
+cd
+51
+c0
+02
+01
 0a
-60
+20
+40
+01
+2d
+70
+4c
+63
 02
-46
-9b
 20
 20
-03
-3d
+01
+68
+20
+40
+06
+63
 70
-4b
-d1
+4d
+51
 00
-d9
-60
-0d
+20
+20
 00
-34
-73
+f0
+70
+4d
+56
 02
+70
+4d
+54
+01
+70
+4d
+53
 00
 20
-40
+20
+00
+f0
+68
+00
+cd
+55
+c0
 01
-30
+81
+0e
 68
 00
 cc
-04
-c1
+1f
+2f
+ec
 00
+04
+20
+20
 80
+ee
+68
+00
+cd
+55
+c0
 00
-24
-2c
-01
-3f
-24
-37
 81
-3f
-20
-40
+0d
+c0
 01
-2a
-20
-40
 01
-5a
+0e
 20
-40
-06
-6e
-68
-00
-cb
-c7
-1f
-e0
-fe
-01
 60
 00
-cb
-c7
-20
-40
-01
-2d
+00
 68
 00
-cb
-d8
-c0
+cc
+2e
+c1
 ff
-81
-84
+80
+00
 20
 40
+01
+1f
+24
+56
+01
+27
+20
+60
 00
-c9
-58
 00
+78
+56
+7c
 00
+68
 00
-60
-02
-4b
 cd
-60
+54
+c1
+80
+80
 00
-cc
-fc
-20
-60
+68
 00
+cd
+56
+c1
+80
 00
-df
-20
 00
+70
+4d
+55
+01
+70
+4c
+63
 04
-d8
-a0
-4b
-64
 20
 20
-7e
-c6
+7f
+eb
 68
 00
-cb
-c9
-c2
-82
-00
-b3
+cd
+56
 20
-60
-00
-00
-78
-57
-fc
+3a
+01
+3a
+1f
+e0
+ff
+ff
+60
 00
-20
-40
+cd
+56
+70
+4d
+55
 02
-8a
+70
+4c
+63
+04
+68
+08
+cc
+29
 68
 00
 cc
+46
+1f
+e1
+7e
+03
+1f
+ef
+a2
 04
-c0
-00
-81
-3d
-18
+58
 00
-2a
+4c
+2f
+9a
+20
+fe
 00
-68
-02
-4b
-f0
 98
+40
+8c
 00
-12
-00
-68
-08
+e8
+c0
 80
-17
-20
-40
-29
-1f
-20
+00
+60
+00
+cc
+28
+18
 40
+84
+01
+18
+41
+04
+03
+60
+08
+cc
 29
-24
-20
-40
-02
-4a
-20
-57
-82
-86
 20
 60
 00
 00
-20
-40
-02
-86
-20
-20
-01
-1f
+70
+4d
+55
+03
 68
+00
+cd
+53
+24
+3a
 01
-4b
-ce
-1f
-e0
-fe
 01
-60
+70
+4c
+63
+02
+20
+20
 01
-4b
-ce
-68
-00
-cb
-cf
-c2
-82
 2d
-d4
 68
 00
-cb
-d8
+cc
+2e
 c0
 ff
 81
-48
+af
 20
 40
 01
-50
-20
+45
 20
+40
+02
+10
+70
+4c
+23
 01
-15
-68
-00
-cb
-ce
-c1
-ff
-80
-00
-58
-00
+20
+60
 00
 00
-60
+68
 01
-4b
-ce
-20
-20
-2d
-d4
-20
-40
-06
-9f
+4d
+4f
 20
 40
-06
-72
-20
+7f
+9c
 20
+34
 01
-f6
+4b
 68
-00
-cb
-d1
-1f
-e6
-7c
-0b
-24
-21
-01
-4d
-1f
-e0
-fe
-01
-60
-00
-cb
-d1
-c0
-01
-00
-ae
-c0
 03
-00
-b3
-c0
-04
-00
-ae
-c0
-06
-00
-b3
-20
-60
-00
-00
-20
-40
-02
-0b
-68
-00
 cb
-c6
+bb
 20
 7a
 00
 00
-98
-00
-72
-00
-d8
-c0
-4b
-44
-d8
-a0
-4b
-a6
 20
 20
 7f
-01
-79
-20
-00
-26
+e7
 20
 40
 01
-65
+62
 70
-4b
-d8
-01
+4c
+4a
+00
+1a
 20
+fe
+01
 60
 00
+cc
+1e
+20
+40
 00
-70
-41
-de
-20
-70
-4b
-c7
-00
-70
-4b
-d2
-4e
-68
-02
-4b
-d4
-20
-20
-02
-18
-68
+f0
+60
 00
 cb
-cd
-c0
+ba
+e8
+a8
+80
 00
-ff
-e7
-68
+ea
+40
+80
 00
-cb
-d8
-c0
+98
+41
+fe
 00
-81
-71
-c0
-01
-01
-74
-c0
+e0
+a0
+80
+00
+1a
+40
+a4
 01
-81
-77
-20
-20
-2a
-8c
-70
-4b
+ea
+42
+00
+00
+e0
+a2
+00
+00
+1a
+40
+a4
+04
 d8
-11
-70
-11
-9e
-aa
-20
-20
-01
-79
-70
+a0
 4b
-d8
-12
-70
-11
-9e
-55
-20
+c0
+df
 20
-01
-79
-70
-4b
-d8
-13
-70
-11
-9e
-22
-68
 00
-cb
-c9
-1f
-e1
-7e
-07
-60
-00
-91
-9f
-68
 02
-4b
-ff
-60
-02
-11
-a0
-70
-11
-a4
-00
-da
-20
-11
-9e
-d8
+ea
 40
+80
 00
-07
-20
+e8
+a8
+80
+00
+98
 40
-02
-06
-20
+fe
+00
+e0
+a0
+80
+00
+1a
 40
+a4
+01
+c2
 00
-ee
-20
-20
-7f
-e7
+01
+5b
 20
-40
-06
-6b
+60
+00
+00
 68
 00
-cb
-d8
+c8
+0a
 c1
-7f
+80
 80
 00
-c0
-08
-81
-8b
-c0
-09
-01
-8d
-c0
-09
-81
-8f
-20
-60
+58
 00
 00
-70
-4b
-d8
+00
+60
+00
+c8
+0a
+60
 02
+46
+9b
 20
 20
-01
-26
-70
-4b
-d8
-03
-20
-20
-01
-26
-70
-4b
-d8
-ff
+02
+ef
 70
-0a
-99
-39
+4c
+27
+00
+d9
+60
+0d
+00
+34
+73
+02
+00
 20
 40
-7d
-86
+01
+7f
+24
+2c
+01
+8a
+24
+37
+81
+8a
 20
 40
 01
-e0
-20
+7c
 20
+40
 01
-26
+a5
 20
 40
-04
-1e
+06
+5f
 68
 00
-cb
-3a
-c0
-00
-83
-8f
-20
-40
-03
-92
-20
-34
+cc
+1d
+1f
+e0
+fe
 01
-c0
-79
-3f
-80
-26
-70
-4c
-04
+60
 00
+cc
+1d
 20
 40
-01
-f5
+00
+f9
 68
 00
-cb
-d8
-c1
+cc
+2e
+c0
 ff
-80
-00
+81
+c9
 20
 40
 01
-b2
+11
 58
 00
 00
 00
 60
-01
-4b
-f5
-20
-40
-2a
-fa
-20
-00
-07
-d0
-68
-01
-4b
-f5
-d8
-40
-01
-ff
-98
-46
-7c
+02
+4c
+23
+60
 00
+cd
+52
 20
-22
-ad
-d4
-20
-40
-01
-30
-24
-2c
-01
-bb
-24
-37
-81
-bb
-79
-20
-00
-26
-58
+60
 00
 00
+df
+20
 00
-60
-01
+04
+d8
+a0
 4b
-f5
-20
-40
-2f
+ba
 20
 20
-40
-01
-2a
-70
-4d
-08
-01
-70
-4d
-09
+7e
+c6
+78
+57
+fc
 00
 20
-60
+40
+02
+66
+18
 00
+2a
 00
-70
-11
-9e
-ff
 68
+02
+4c
+46
+98
 00
-cb
-c9
-60
+12
 00
-91
-9f
 68
-02
-4b
-ff
-60
-02
-11
-a0
-d8
-40
-00
-06
-da
+08
+80
+17
 20
-11
-9e
+40
+29
+1f
+20
+40
+29
+24
 20
 40
 02
-06
+2b
 20
+57
+82
+63
 20
-02
-26
+60
+00
+00
 68
 01
-4b
-f5
+4c
+24
 1f
 e0
 fe
 01
 60
 01
-4b
-f5
+4c
+24
+68
+00
+cc
+25
+c2
+82
+2d
+d4
+68
+00
+cc
+2e
+c0
+ff
+81
+93
 20
 40
 01
-f6
+9b
 20
 20
 01
-a1
-79
-3f
+69
+68
+00
+cc
+24
+c1
+ff
 80
-26
-70
-4c
-04
 00
-20
-40
-01
-ee
-20
-40
-01
-b2
 58
 00
 00
 00
 60
 01
-4b
-f5
+4c
+24
+20
+20
+2d
+d4
 20
 40
-2a
-fa
+06
+8e
 20
-00
-07
-d0
-68
-01
-4b
-f5
-d8
 40
-01
-ff
-98
-46
-7c
-00
+06
+63
 20
-22
-ad
-d4
 20
-40
 01
-30
+2d
+68
+00
+cc
+27
+1f
+e6
+7c
+0b
 24
-2c
+21
 01
-e2
-24
-37
-81
-e2
+98
+1f
+e0
+fe
+01
+60
+00
+cc
+27
+c0
+01
+00
+f4
+c0
+03
+00
+fb
+c0
+04
+00
+f4
+c0
+06
+00
+fb
+20
+60
+00
+00
 20
 40
 01
-5a
-68
-02
-4b
-f0
+f4
 68
-0a
-4d
-0d
-98
-46
-7c
 00
+cc
+1c
 20
-22
-81
-d6
-68
+7a
 00
-cb
-c6
+00
+98
+00
+72
+00
+d8
+c0
+4b
+9a
+d8
+a0
+4b
+fc
 20
-3a
+20
+7f
 01
-c6
 20
 40
-02
-e8
-68
-02
-4b
-f0
-68
-0a
-4b
-d4
-98
-46
-7c
 00
+83
+70
+4c
+2e
+01
 20
-22
-81
-61
-68
-02
-4b
-f0
+60
+00
+00
 68
-0a
-4b
+00
+cc
+23
+c0
+00
 ff
-98
-46
-7c
+e7
+68
+00
+cc
+2e
+c0
 00
-20
-42
 81
-e0
+b6
+c0
+01
+01
+b9
+c0
+01
+81
+bc
 20
 20
-01
+2a
+8c
+70
+4c
+2e
+11
+70
+11
+9e
 aa
-68
-02
-4b
-a8
 20
 20
-02
-18
-68
-01
-4b
-f5
-1f
-e0
-fe
-01
-60
 01
-4b
-f5
+be
+70
+4c
+2e
+12
+70
+11
+9e
+55
+20
+20
+01
+be
+70
+4c
+2e
+13
+70
+11
+9e
+22
 68
 00
-cd
-06
+cc
 1f
-e0
-fe
-01
 1f
 e1
 7e
-03
+07
 60
 00
-cd
+91
+9f
+68
+02
+4c
+55
+60
+02
+11
+a0
+70
+11
+a4
+00
+da
+20
+11
+9e
+d8
+40
+00
+07
+20
+40
+01
+ef
+20
+40
+01
+42
+20
+20
+7f
+e7
+20
+40
 06
-c0
+5c
+68
 00
-02
+cc
+2e
+c1
+7f
+80
 00
 c0
-00
+08
 81
-fc
+d0
 c0
+09
 01
-02
-00
+d2
 c0
-01
+09
 81
-fe
+d4
 20
 60
 00
 00
-20
-40
-02
-e8
-68
-02
-4b
-ff
-60
+70
+4c
+2e
 02
-4b
-f0
 20
 20
 01
-f5
+78
 70
-41
-de
+4c
+2e
+03
 20
-68
-02
-4d
-0d
-60
-02
-4b
-f0
+20
+01
+78
+70
+4c
+2e
+ff
+70
+0a
+99
+39
 20
 40
-02
-19
-68
-08
-cb
-d3
+7d
+86
 20
 40
 02
-38
-18
-40
-84
 01
-18
-41
-04
+20
+20
+01
+78
+20
+40
 03
-60
-08
-cb
-d3
+7a
+20
+34
+03
+6c
+79
 20
-60
 00
+26
+68
 00
+cd
+67
+79
 20
-40
-01
-ee
-20
+7e
+02
+60
+00
+cd
+67
 20
-01
-c6
+40
+02
+03
 20
 40
 01
-65
+2d
 20
 20
-01
-c6
+03
+70
+70
+11
+9e
+ff
+68
+00
+cc
+1f
+60
+00
+91
+9f
+68
+02
+4c
+55
+60
+02
+11
+a0
+d8
+40
+00
+06
+da
+20
+11
+9e
 20
 40
 01
-f2
+ef
 20
 20
-01
-c6
+02
+10
 79
 3f
 80
@@ -2078,8 +1986,8 @@
 d2
 60
 08
-cb
-c8
+cc
+1e
 18
 42
 72
@@ -2087,7 +1995,7 @@
 d8
 a0
 4b
-64
+ba
 1a
 22
 0c
@@ -2099,15 +2007,15 @@
 68
 00
 cb
-43
+99
 1f
 e9
 7e
 00
 60
 00
-cb
-c6
+cc
+1c
 1f
 e0
 fe
@@ -2115,7 +2023,7 @@
 d8
 c0
 4b
-43
+99
 98
 c0
 8c
@@ -2127,11 +2035,11 @@
 60
 01
 cc
-05
+5b
 68
 00
 cb
-43
+99
 1f
 e3
 7e
@@ -2143,15 +2051,19 @@
 60
 00
 cc
-0b
+61
 20
 60
 00
 00
-60
+68
 02
 4b
-f0
+fe
+60
+02
+4c
+46
 da
 20
 00
@@ -2162,8 +2074,8 @@
 04
 d8
 c0
-4b
-f0
+4c
+46
 e8
 c0
 80
@@ -2175,7 +2087,7 @@
 c2
 00
 02
-1c
+06
 1a
 22
 7e
@@ -2183,15 +2095,15 @@
 60
 01
 4c
-79
+cf
 68
 00
 cc
-79
+cf
 68
 08
 cc
-7a
+d0
 98
 40
 fe
@@ -2199,43 +2111,43 @@
 60
 00
 cc
-7b
+d1
 20
 60
 00
 00
 68
 00
-cb
-c8
+cc
+1e
 1f
 e0
 fe
 02
 60
 00
-cb
-ca
+cc
+20
 68
 00
-cb
-c9
+cc
+1f
 60
 00
 cb
-84
+da
 68
 00
-cb
-c8
+cc
+1e
 1f
 e9
 fe
 00
 68
 08
-cb
-c7
+cc
+1d
 18
 41
 04
@@ -2251,7 +2163,7 @@
 68
 08
 cc
-04
+5a
 98
 40
 fe
@@ -2262,8 +2174,8 @@
 00
 68
 00
-cb
-c8
+cc
+1e
 98
 00
 72
@@ -2271,47 +2183,11 @@
 d8
 c0
 4b
-64
+ba
 20
 20
 7f
 01
-68
-00
-cb
-f0
-1f
-e1
-7e
-03
-1f
-ef
-a2
-04
-58
-00
-4b
-d9
-9a
-20
-fe
-00
-98
-40
-8c
-00
-e8
-c0
-80
-00
-60
-00
-cb
-d2
-20
-60
-00
-00
 78
 44
 fc
@@ -2330,8 +2206,8 @@
 00
 68
 00
-cb
-d2
+cc
+28
 1f
 ed
 84
@@ -2351,7 +2227,7 @@
 20
 40
 02
-41
+22
 78
 57
 fc
@@ -2374,8 +2250,8 @@
 00
 68
 01
-4b
-cb
+4c
+21
 98
 00
 36
@@ -2387,7 +2263,7 @@
 24
 2c
 02
-86
+63
 78
 46
 fc
@@ -2407,15 +2283,15 @@
 20
 40
 02
-83
+60
 60
 00
 cc
-7c
+d2
 68
 08
 cc
-7b
+d1
 98
 46
 7c
@@ -2423,35 +2299,23 @@
 24
 22
 82
-86
+63
 20
 40
 02
-83
+60
 60
 00
 cb
-42
-68
-00
-cc
-0e
-1f
-e6
-7c
-02
-20
-22
-82
-66
+98
 68
 00
 cb
-42
+98
 68
 08
-cb
-c9
+cc
+1f
 a8
 40
 0e
@@ -2459,11 +2323,11 @@
 24
 20
 82
-86
+63
 20
 40
 02
-83
+60
 e0
 a0
 80
@@ -2479,11 +2343,11 @@
 20
 22
 82
-6e
+4c
 20
 40
 02
-83
+60
 e0
 a0
 80
@@ -2491,7 +2355,7 @@
 c2
 00
 02
-6b
+49
 18
 a2
 22
@@ -2499,11 +2363,11 @@
 20
 40
 02
-83
+60
 60
 00
 cd
-03
+59
 1a
 22
 0a
@@ -2539,7 +2403,7 @@
 20
 23
 02
-86
+63
 78
 37
 fc
@@ -2567,15 +2431,11 @@
 68
 00
 cd
-03
+59
 20
-40
-00
-1e
 20
-60
-00
 00
+1e
 09
 80
 00
@@ -2597,21 +2457,17 @@
 fc
 00
 20
-40
+20
 26
 4d
 20
-60
-00
-00
-20
 40
 53
 c4
 68
 02
-4b
-f0
+4c
+46
 98
 00
 12
@@ -2619,15 +2475,15 @@
 20
 40
 02
-41
+22
 20
 40
 29
 18
 68
 08
-cb
-d2
+cc
+28
 20
 40
 29
@@ -2683,15 +2539,15 @@
 68
 00
 cc
-7b
+d1
 08
 00
 86
 08
 68
 00
-cb
-ca
+cc
+20
 98
 00
 72
@@ -2699,7 +2555,7 @@
 d8
 c0
 4b
-84
+da
 e8
 c0
 80
@@ -2711,7 +2567,7 @@
 c2
 00
 02
-a2
+7e
 78
 24
 7c
@@ -2750,8 +2606,8 @@
 e9
 68
 0a
-4b
-e9
+4c
+3f
 1c
 42
 7e
@@ -2770,12 +2626,12 @@
 00
 68
 02
-4b
-e9
+4c
+3f
 68
 08
-cb
-ed
+cc
+43
 98
 40
 84
@@ -2798,8 +2654,8 @@
 1c
 60
 02
-4b
-e9
+4c
+3f
 20
 20
 7f
@@ -2827,7 +2683,7 @@
 c2
 00
 02
-bf
+9b
 18
 49
 7e
@@ -2879,11 +2735,11 @@
 20
 40
 03
-b0
+98
 20
 40
 00
-8a
+d6
 68
 00
 c0
@@ -2891,7 +2747,7 @@
 c3
 00
 02
-d4
+b0
 68
 00
 80
@@ -2923,7 +2779,7 @@
 20
 20
 05
-47
+3f
 20
 40
 34
@@ -2931,7 +2787,7 @@
 20
 35
 82
-e6
+c2
 70
 80
 78
@@ -2939,7 +2795,7 @@
 20
 40
 03
-d5
+c0
 68
 00
 c1
@@ -2947,11 +2803,11 @@
 60
 00
 cc
-7f
+d5
 20
 40
 06
-6b
+5c
 68
 00
 c6
@@ -2965,17 +2821,17 @@
 43
 ca
 68
-01
-c4
-a3
+03
+44
+a0
 60
-01
-cb
-3f
+03
+4b
+49
 20
 40
 02
-eb
+c7
 20
 20
 74
@@ -2983,7 +2839,7 @@
 68
 00
 cc
-7f
+d5
 60
 00
 c1
@@ -2995,11 +2851,11 @@
 24
 55
 83
-4a
+18
 20
 40
-03
-0d
+02
+e5
 20
 75
 80
@@ -3007,19 +2863,19 @@
 20
 40
 06
-e5
+d2
 20
 40
 03
-9b
+83
 20
 20
 03
-81
+5e
 20
 40
 02
-e8
+c4
 68
 00
 c2
@@ -3027,11 +2883,35 @@
 c0
 1a
 02
-f5
+d7
 20
-60
+40
+04
+ee
+70
+01
+6d
+06
+70
+43
+6f
+00
+70
+43
+8f
 00
+d8
+e0
 00
+07
+20
+40
+43
+d2
+20
+20
+03
+3c
 70
 4b
 3c
@@ -3050,72 +2930,32 @@
 ae
 20
 40
-34
-18
+04
+a5
 20
 40
-03
-00
-58
-00
-00
-04
-e0
-c0
-80
-00
+34
+18
 d8
 c0
 43
 90
 20
 40
-05
-9e
+04
+a1
 20
 20
 7d
 f4
-da
-20
-43
-70
-ea
-20
-80
-00
-20
-7a
-00
-00
-98
-c0
-a2
-00
-e8
-c0
-80
-00
-c1
-00
-80
-00
-20
-20
-03
-01
 68
 00
 c7
 7a
 c0
-7f
-83
-0a
-20
-20
-05
-47
+ff
+85
+3f
 68
 00
 c6
@@ -3127,7 +2967,7 @@
 20
 20
 05
-47
+3f
 70
 42
 12
@@ -3138,8 +2978,8 @@
 36
 20
 40
-03
-0d
+02
+e5
 20
 40
 40
@@ -3150,12 +2990,12 @@
 d9
 c0
 18
-03
-1b
+02
+f3
 c0
 18
 83
-38
+13
 20
 40
 40
@@ -3166,8 +3006,8 @@
 e8
 20
 20
-03
-11
+02
+e9
 70
 4b
 05
@@ -3178,8 +3018,8 @@
 0f
 20
 40
-03
-0f
+02
+e7
 20
 20
 64
@@ -3187,19 +3027,59 @@
 20
 40
 03
-3d
+dd
 68
 00
 c6
 de
 c0
+2d
+02
+f9
+c0
+2a
+03
+10
+c0
 6c
 03
-1f
+01
 20
 20
 40
-e1
+e0
+70
+46
+e0
+07
+da
+60
+4b
+56
+ea
+61
+00
+00
+c1
+7f
+80
+00
+20
+40
+64
+13
+20
+00
+2e
+e0
+1a
+60
+a6
+02
+20
+20
+02
+fb
 58
 00
 00
@@ -3214,8 +3094,8 @@
 bd
 24
 22
-83
-11
+82
+e9
 58
 00
 00
@@ -3230,8 +3110,8 @@
 55
 24
 22
-83
-11
+82
+e9
 58
 00
 00
@@ -3246,140 +3126,60 @@
 1d
 24
 22
-83
-11
+82
+e9
 70
 46
 e0
 08
+da
+60
+4b
+7c
 20
-40
-40
-f6
-58
-00
-02
-06
-20
-40
-64
-13
-58
-00
-69
-09
-20
-40
-64
-13
-58
-00
-48
-0d
-20
-40
-64
-13
-58
-00
-9f
-0e
-20
-40
-64
-13
-58
-00
-ba
-0f
-20
-40
-64
-13
-20
-20
-40
-f4
 20
-40
-03
-3d
-68
-00
-c6
-de
-c0
-38
-40
-e8
+02
+fb
 70
 46
 e0
-01
-20
+02
+da
 60
-00
-00
-58
-00
-80
-06
+4b
+6f
 20
-40
-64
-13
 20
-00
-2e
-e0
+02
+fb
 20
 40
 03
-07
+dd
 68
 00
 c6
 de
 c0
-6c
-03
-1f
-20
-60
-00
-00
-58
-00
-00
-06
-20
-40
-64
-14
-1f
-e1
-fe
-08
-1f
-ed
-7e
-00
-1f
+38
+40
+e8
+70
+46
 e0
-fe
-06
-20
+01
 20
-64
-13
+60
+00
+00
 68
 02
 40
 a0
 60
 02
-4b
-ff
+4c
+55
 20
 40
 3e
@@ -3399,7 +3199,7 @@
 20
 40
 03
-63
+40
 58
 00
 18
@@ -3459,15 +3259,75 @@
 20
 40
 03
-72
+4f
 20
 40
 04
-4e
+3b
 20
 40
 65
 df
+68
+00
+c7
+20
+c1
+01
+00
+00
+68
+03
+4b
+43
+68
+0b
+47
+22
+98
+46
+7c
+00
+24
+22
+83
+38
+20
+20
+03
+3a
+20
+60
+00
+00
+70
+4b
+14
+5a
+20
+60
+00
+00
+70
+4b
+50
+01
+70
+4b
+4f
+01
+70
+4b
+14
+ff
+68
+03
+4d
+63
+60
+03
+44
+a0
 20
 60
 00
@@ -3507,7 +3367,7 @@
 20
 40
 05
-28
+24
 d8
 40
 00
@@ -3543,7 +3403,7 @@
 20
 40
 05
-71
+70
 20
 20
 3d
@@ -3587,7 +3447,7 @@
 60
 01
 4d
-0b
+61
 20
 60
 00
@@ -3599,19 +3459,19 @@
 60
 01
 4d
-0b
+61
 24
 55
 83
-7e
+5b
 20
 40
-03
-0f
+02
+e7
 20
 40
-03
-44
+04
+78
 70
 47
 1e
@@ -3622,52 +3482,96 @@
 39
 c2
 81
-01
-94
-58
-00
-ff
-ff
-60
-01
+03
+74
+70
 4b
-f0
-e0
-a1
-00
-00
+42
+0a
 20
 40
-04
-4e
+02
+e2
+70
+4b
+3a
+ff
+68
+02
+4b
+43
+60
+02
+4c
+46
 20
 40
-65
-d1
+04
+07
+79
 20
+00
+26
+68
+00
+cd
+67
+79
 20
+7e
 01
-c0
+60
+00
+cd
+67
+58
+00
+00
+3c
+60
+01
+4d
+69
 70
-41
-bd
+4d
+68
 00
 20
-40
-43
-16
+60
+00
+00
 20
+40
+04
+09
+68
+00
+cb
+3a
+c0
+00
+82
+cd
+c0
+01
+01
+d9
+70
+4b
+42
+0a
 20
-02
-f1
+60
+00
+00
 df
 20
 00
 02
 d8
 c0
-4b
-f0
+4c
+46
 20
 40
 7f
@@ -3691,7 +3595,7 @@
 c2
 00
 03
-96
+7e
 20
 60
 00
@@ -3699,15 +3603,15 @@
 58
 00
 03
-ac
+94
 60
 01
-4c
-f9
+4d
+4f
 58
 00
 03
-c3
+ab
 60
 01
 41
@@ -3715,7 +3619,7 @@
 58
 00
 06
-59
+4a
 60
 01
 41
@@ -3723,15 +3627,15 @@
 58
 00
 02
-cd
+a9
 60
 01
 41
 ed
 58
 00
-04
 03
+ed
 60
 01
 41
@@ -3739,7 +3643,7 @@
 58
 00
 03
-f7
+e1
 60
 01
 41
@@ -3747,7 +3651,7 @@
 58
 00
 04
-67
+5d
 60
 01
 41
@@ -3755,7 +3659,7 @@
 58
 00
 04
-83
+7e
 60
 01
 41
@@ -3778,8 +3682,8 @@
 00
 20
 20
-01
-af
+00
+7a
 d8
 c0
 18
@@ -3791,7 +3695,7 @@
 20
 40
 03
-b8
+a0
 d8
 c0
 19
@@ -3799,7 +3703,7 @@
 20
 40
 03
-b8
+a0
 d8
 c0
 1a
@@ -3807,7 +3711,7 @@
 20
 40
 03
-b8
+a0
 d8
 c0
 1b
@@ -3831,7 +3735,7 @@
 20
 40
 03
-b8
+a0
 d8
 a0
 19
@@ -3839,7 +3743,7 @@
 20
 40
 03
-b8
+a0
 d8
 a0
 1a
@@ -3847,7 +3751,7 @@
 20
 40
 03
-b8
+a0
 d8
 a0
 1b
@@ -3855,7 +3759,7 @@
 20
 20
 03
-b8
+a0
 20
 40
 58
@@ -3866,6 +3770,14 @@
 00
 68
 00
+cb
+14
+c0
+7f
+83
+b2
+68
+00
 c6
 c5
 1f
@@ -3883,7 +3795,7 @@
 20
 5a
 03
-f4
+db
 68
 02
 46
@@ -3900,30 +3812,34 @@
 74
 00
 00
-20
-40
-03
-d2
+70
+41
+72
+00
+70
+48
+0b
+1e
 20
 40
 01
-0e
+62
 20
 40
 03
-ef
+d6
+da
+20
+46
+9a
 20
+40
+7e
+3d
 20
+54
 03
-da
-70
-41
-72
-00
-70
-48
-0b
-1e
+c5
 20
 60
 00
@@ -3948,22 +3864,6 @@
 20
 7e
 38
-da
-20
-46
-9a
-20
-40
-7e
-3d
-20
-54
-03
-de
-20
-60
-00
-00
 68
 00
 c7
@@ -3991,7 +3891,7 @@
 20
 34
 03
-e6
+cd
 20
 60
 00
@@ -4061,9 +3961,21 @@
 9e
 01
 20
+40
+02
+e5
+da
+60
+4b
+8b
+20
+40
+02
+fb
+20
 20
-03
-3d
+02
+e0
 20
 40
 7e
@@ -4071,7 +3983,7 @@
 20
 40
 03
-fa
+e4
 20
 20
 3e
@@ -4083,7 +3995,7 @@
 20
 40
 05
-2d
+29
 68
 08
 c6
@@ -4094,12 +4006,12 @@
 1d
 20
 20
-84
-01
+83
+eb
 20
 40
 05
-28
+24
 20
 20
 3d
@@ -4107,7 +4019,7 @@
 20
 40
 05
-28
+24
 20
 20
 3d
@@ -4118,47 +4030,63 @@
 00
 c0
 0a
-04
-0d
+03
+f7
 c0
 0a
 84
-24
+0f
 c0
 14
 84
-2e
+1c
 c0
 19
 04
-30
+1e
 c0
 20
 04
-37
+26
 c0
 1c
 84
-42
+34
 c0
 1d
 04
-52
+3f
 c0
 1e
 04
-62
+4d
 20
 20
 41
 7d
 20
 40
-04
-f8
+02
+ef
+20
+40
+41
+c3
+58
+00
+00
+00
+60
+01
+cb
+4f
+20
+40
+34
+10
 70
 4b
-3d
+3a
 01
 68
 00
@@ -4167,55 +4095,43 @@
 24
 3a
 04
-12
+00
 70
 4b
 3b
 14
-20
-40
-04
-17
 70
-48
-0a
+4b
+42
+00
+70
+4b
+53
+00
+70
+4b
+3d
+01
+70
+4b
+54
+00
+70
+4b
+52
 00
 20
 40
-03
-17
-20
-40
-03
-d5
-20
+01
+eb
 20
-41
-c3
-df
 20
-00
 03
-d8
 c0
-44
-a0
-20
-40
-03
-94
-20
-74
-00
-00
-70
-4b
-3a
-01
 20
 40
 04
-20
+0b
 20
 20
 65
@@ -4223,7 +4139,7 @@
 20
 40
 04
-20
+0b
 20
 20
 65
@@ -4244,14 +4160,14 @@
 60
 00
 00
+20
+40
+04
+75
 70
 4b
 3d
 00
-20
-40
-04
-7f
 58
 00
 00
@@ -4275,15 +4191,27 @@
 20
 40
 03
-d5
+c0
 20
 40
 58
 16
 20
-20
+40
 41
 d9
+68
+00
+cb
+52
+20
+7a
+00
+00
+20
+20
+04
+99
 70
 0a
 99
@@ -4299,19 +4227,23 @@
 c0
 00
 84
-33
+22
+70
+46
+c6
+14
 20
 20
 04
-35
+24
 20
 40
 04
-2e
+1c
 70
 46
 c6
-14
+0a
 d8
 e0
 00
@@ -4341,9 +4273,9 @@
 7c
 0c
 20
-61
-00
-00
+21
+04
+32
 58
 00
 00
@@ -4359,19 +4291,27 @@
 20
 40
 04
-2e
+1c
+70
+47
+c6
+01
+20
+60
+00
+00
+70
+4b
+55
+01
 20
 20
-05
-be
+06
+00
 20
 40
-03
-17
-70
-47
-8b
-01
+02
+ef
 d8
 e0
 00
@@ -4380,42 +4320,26 @@
 40
 43
 d2
-58
-00
-00
-00
-60
-01
-47
-07
 70
 46
 a7
 00
 20
 40
-40
-5d
-20
-40
-02
-e8
-20
-40
-04
-65
+40
+5d
 20
 40
-04
-4e
+02
+c4
 20
 20
-65
-d1
+04
+4d
 da
 20
-4b
-f0
+4c
+46
 da
 40
 00
@@ -4431,55 +4355,35 @@
 20
 40
 04
-7f
+75
 70
 4d
-08
+5e
 00
 20
 40
 02
-e8
+c4
 20
 40
-02
-02
+01
+eb
+20
+40
+04
+09
 68
 00
 cb
-39
-c2
+3a
+c1
 81
-34
-0a
-70
-41
-bd
 00
-20
-40
-43
-16
-df
-20
 00
-03
-d8
-c0
-47
-22
 20
-40
-03
-94
 20
 34
-04
-5f
-20
-20
-02
-f1
+0a
 70
 47
 9f
@@ -4492,18 +4396,62 @@
 60
 00
 00
+70
+47
+9f
+00
+70
+47
+a0
+00
+20
+60
+00
+00
+70
+48
+0a
+00
+70
+4b
+42
+00
+58
+00
+00
+00
+60
+01
+cb
+4f
 20
 40
-03
-17
+41
+c6
 20
 40
-3f
-8d
+04
+5a
 20
 40
 04
+4a
+20
+40
+3f
+8d
+68
+02
 4c
+46
+60
+02
+47
+7b
+20
+40
+43
+66
 70
 4b
 3a
@@ -4511,7 +4459,19 @@
 20
 20
 04
-1c
+07
+58
+00
+00
+00
+60
+01
+cd
+68
+20
+60
+00
+00
 78
 34
 7c
@@ -4535,7 +4495,7 @@
 20
 40
 04
-7f
+75
 20
 40
 74
@@ -4551,7 +4511,7 @@
 20
 40
 00
-8c
+d8
 68
 10
 80
@@ -4611,63 +4571,203 @@
 68
 00
 cb
-05
-20
-7a
-00
+05
+20
+7a
+00
+00
+70
+4b
+05
+00
+58
+00
+00
+06
+20
+40
+64
+14
+1f
+e1
+fe
+08
+1f
+ed
+7e
+00
+1f
+e0
+fe
+06
+20
+20
+64
+13
+20
+40
+04
+8e
+20
+40
+04
+a7
+20
+40
+04
+bd
+20
+40
+04
+c4
+20
+40
+04
+c9
+20
+40
+04
+b8
+20
+40
+04
+f1
+20
+40
+04
+d0
+20
+40
+42
+34
+20
+40
+04
+af
+20
+40
+04
+b5
+20
+40
+04
+8b
+20
+20
+42
+3a
+da
+60
+4b
+42
+da
+40
+02
+cd
+20
+20
+33
+6d
+68
+00
+cb
+4f
+20
+7a
+00
+00
+da
+60
+4b
+50
+da
+40
+04
+93
+20
+20
+33
+6d
+70
+4b
+50
+01
+68
+00
+cb
+51
+1f
+e0
+fe
+01
+1f
+e1
+7e
+01
+60
+00
+cb
+51
+c0
 00
-70
+02
+d2
+68
+03
 4b
-05
-00
-20
-20
+49
+60
 03
 44
+a0
 20
 40
 04
-c9
+9d
 20
-40
-04
-8e
 20
-40
-04
-9e
+7d
+f4
+70
+43
+6f
+1f
+70
+43
+8f
+1f
 20
 40
 04
 a5
+d8
+c0
+4b
+26
+d8
+a0
+43
+7b
+df
 20
-40
-04
-99
-20
-40
-04
-c2
-20
-40
-04
-ac
+00
+13
 20
 40
-42
-34
+7f
+01
 20
-40
-42
-37
 20
-40
-04
-96
+57
+b8
+d8
+e0
+00
+07
 20
 20
-42
-3a
+43
+ce
 68
 00
 cb
@@ -4683,7 +4783,7 @@
 da
 40
 04
-93
+ac
 20
 20
 33
@@ -4703,6 +4803,30 @@
 da
 60
 46
+ae
+da
+40
+04
+b2
+20
+20
+33
+74
+70
+4b
+54
+01
+20
+40
+04
+e0
+20
+20
+04
+d5
+da
+60
+46
 c6
 da
 40
@@ -4719,7 +4843,7 @@
 da
 40
 04
-9c
+bb
 20
 20
 33
@@ -4739,19 +4863,19 @@
 da
 40
 04
-a1
+c0
 20
 20
 33
 6d
 58
-36
-ee
+12
+4f
 80
 60
 01
-cb
-f7
+cc
+4d
 70
 48
 0a
@@ -4762,12 +4886,32 @@
 00
 da
 60
+4d
+69
+da
+40
+04
+c7
+20
+20
+33
+74
+70
+4d
+68
+01
+20
+60
+00
+00
+da
+60
 48
 0b
 da
 40
 04
-a8
+cc
 20
 20
 33
@@ -4795,15 +4939,15 @@
 20
 3a
 04
-b3
+d8
 20
 40
 05
-07
+04
 c0
 03
 84
-b3
+d8
 20
 40
 43
@@ -4813,9 +4957,13 @@
 00
 09
 20
-20
+40
 43
 d2
+20
+20
+43
+ca
 70
 47
 a0
@@ -4823,115 +4971,19 @@
 20
 40
 04
-b6
+db
 20
 20
 43
 b0
 da
 60
-46
-da
-da
-40
-04
-b9
-20
-20
-33
-6d
-68
-01
-46
-82
-2f
-ef
-fe
-0b
-20
-40
-c2
-d4
-68
-01
-46
-82
-2f
-ef
-fe
-07
-20
-40
-c3
-92
-d8
-e0
-00
-09
-20
-40
-43
-ce
-20
-20
-43
-b8
-68
-00
-c7
-9f
-20
-7a
-00
-00
-da
-60
-47
-a0
-da
-40
-04
-c7
-20
-20
-33
-6d
-70
-47
-9f
-00
-20
-20
-34
-0a
-68
-00
-cb
-08
-20
-7a
-00
-00
-68
-00
-cb
-0b
-c0
-00
-84
-ce
-20
-60
-00
-00
-da
-60
-4b
-0f
+46
+da
 da
 40
 04
-d1
+de
 20
 20
 33
@@ -4939,171 +4991,107 @@
 68
 00
 cb
-0e
-60
-00
-cb
-0f
-68
-00
-cb
-11
-20
+4f
+24
 3a
 04
-d9
+ee
+28
+0f
+fe
+26
+20
+40
+84
+ec
 68
 00
 cb
-10
-20
 3a
-04
-e7
 1f
-e0
-ff
+e6
+7c
 ff
-60
-00
-cb
-10
-68
-00
-cb
-0a
-c0
-00
+20
+42
 84
-e9
-c0
-00
-04
-dd
+ec
 20
-60
-00
-00
-70
-4b
-0a
+40
+04
+9d
+68
 01
-58
-00
-00
-06
+46
+82
+2f
+ef
+fe
+07
 20
 40
-64
-14
+c3
+92
 d8
-40
-00
-08
-98
-42
-fe
-00
-1f
-ed
-7e
-00
-1f
 e0
-fe
-06
+00
+09
 20
 40
-64
-13
-58
-00
-a1
-05
+43
+ce
 20
 20
-64
-13
-58
-00
-00
-00
-60
-01
-cb
-0f
-68
-00
-cb
-10
-24
-3a
-04
-ed
-70
-4b
-08
-00
-70
-4b
-0b
-00
-70
-4b
-0c
-00
+43
+b8
 70
 4b
-0a
-00
-58
-00
-38
-05
-20
+53
+01
 20
-64
-13
-70
-4b
-0e
-07
-70
-4b
-11
+60
 00
-70
-4b
-10
-01
-70
-4b
-0f
-01
-70
-4b
-08
+00
+68
 01
-70
-4b
-0b
+46
+87
+60
 01
+46
+ac
 20
 60
 00
 00
 68
 00
-cb
-0c
-24
+c7
+9f
+20
 7a
 00
 00
+da
+60
+47
+a0
+da
+40
+04
+f6
 20
 20
-04
-e7
+33
+6d
+70
+47
+9f
+00
+20
+20
+34
+0a
 78
 54
 7c
@@ -5119,7 +5107,7 @@
 20
 40
 05
-33
+2f
 20
 40
 40
@@ -5131,15 +5119,15 @@
 20
 40
 05
-05
+02
 24
 34
 06
-e5
+d2
 20
 40
 06
-dc
+c9
 20
 20
 3f
@@ -5147,7 +5135,7 @@
 20
 40
 05
-07
+04
 20
 20
 40
@@ -5159,23 +5147,19 @@
 20
 40
 05
-0d
+09
 20
 40
 05
-0b
-20
-20
-40
-8e
+19
 20
 40
 05
-1d
+1f
 20
 20
-05
-23
+40
+8e
 68
 08
 c6
@@ -5183,7 +5167,7 @@
 20
 40
 05
-28
+24
 68
 08
 c6
@@ -5203,7 +5187,7 @@
 20
 40
 05
-28
+24
 68
 08
 c6
@@ -5223,7 +5207,7 @@
 20
 40
 05
-28
+24
 68
 08
 c6
@@ -5247,7 +5231,7 @@
 20
 40
 05
-2d
+29
 68
 08
 c6
@@ -5263,7 +5247,7 @@
 20
 20
 05
-28
+24
 68
 08
 c6
@@ -5271,7 +5255,7 @@
 20
 40
 05
-2d
+29
 68
 08
 c6
@@ -5303,7 +5287,7 @@
 20
 20
 05
-31
+2d
 79
 3f
 84
@@ -5335,7 +5319,7 @@
 c0
 04
 05
-38
+34
 20
 40
 3f
@@ -5351,22 +5335,10 @@
 20
 40
 3f
-c0
-78
-54
-7c
-00
-68
-08
-c6
-f3
-20
-40
-68
-1d
-24
-60
-80
+c0
+78
+54
+7c
 00
 58
 00
@@ -5404,10 +5376,30 @@
 60
 00
 00
+68
+00
+c7
+7a
+1f
+e6
+7c
+01
 20
-40
 42
-4a
+85
+4c
+68
+00
+c7
+7a
+c0
+00
+05
+4e
+c0
+01
+85
+54
 68
 00
 c6
@@ -5415,167 +5407,171 @@
 c0
 03
 05
-54
+5a
 c0
-01
-05
-64
+03
+85
+5a
 c0
-04
+01
 05
-5c
+60
 68
 00
 c7
+81
+60
+00
+c6
+b5
+20
+20
+3d
+c1
+70
+47
 7a
+02
 20
-5a
-05
-5a
+60
+00
+00
 68
 00
-c7
-7a
+c6
+e0
 c0
-00
+03
+05
+5c
+c0
+03
 85
-51
+5c
 c0
 01
-bd
-8c
-20
-20
-3d
-88
+05
+63
 68
 00
 c7
 7f
-1f
-e0
-ff
-ff
 20
 20
-3d
-be
-68
-00
-c7
-7a
-20
-5a
 05
-5a
+4a
 68
 00
-c7
-7a
+c6
+e0
 c0
-00
+03
+05
+5e
+c0
+03
 85
-62
+5e
 c0
 01
-bd
-8c
-20
-20
-3d
-88
-70
-47
-7a
-01
-20
-60
-00
-00
+05
+65
 68
 00
 c7
-7a
+82
+20
 20
-5a
 05
-5a
+4a
 68
 00
-c7
-7a
-c0
+cb
+96
+20
+20
+05
+4a
+68
 00
-85
-62
-c0
-01
-bd
-88
+cb
+94
 20
 20
-3d
-8a
-70
-46
-b5
+05
+4a
+68
 00
+cb
+97
 20
 20
-3d
-c1
+05
+4a
 68
 00
 c7
-7a
+81
+1f
+e0
+fe
+02
+20
 20
-5a
 05
-5a
+4a
 68
 00
 c7
-7a
-c0
-00
-bd
-88
-c0
-01
-85
-6a
+7f
 20
 20
-3d
-8e
-58
-00
-00
 05
+61
+68
+00
+c7
+82
 20
 20
-3d
-be
-70
-47
-9f
-00
-70
-47
-a0
-00
+05
+61
+20
+40
+04
+4a
 28
 0f
 fe
 26
 20
 40
-82
-02
+81
+eb
+70
+46
+b4
+00
+68
+00
+cb
+54
+20
+5a
+43
+86
+58
+00
+00
+00
+60
+01
+46
+b0
 20
 20
 42
-6d
+6f
 20
 40
 68
@@ -5620,62 +5616,38 @@
 20
 65
 df
-70
-4b
-3c
-00
 20
 40
 02
-e8
+c4
 70
-47
-9e
+4b
+3c
 00
 70
-4b
-14
-5a
-68
-01
-46
-82
-c2
-85
-85
-8a
-20
-40
-05
-78
-68
-09
+4b
+52
+01
+70
 47
-c4
-18
-40
-84
+20
 01
-60
-09
+70
 47
-c4
+9e
+00
+68
+03
+4b
+49
 60
-09
+03
 44
-a1
+a0
 20
 40
-05
-74
-18
-0a
-7e
-00
-60
-00
-c4
-a0
+03
+38
 20
 40
 34
@@ -5704,90 +5676,30 @@
 01
 46
 ae
-d8
-e0
-00
-07
-20
-40
-43
-ce
-20
-40
-43
-ca
-20
-40
-05
-97
 20
 40
-42
-c4
-20
-20
 04
-f1
-70
-47
-a1
-00
-20
-40
-03
-00
-58
-00
-00
-05
-e0
-c0
-80
-00
-d8
-c0
-4b
-26
+a5
 20
 40
-05
-9e
-20
-20
-7d
-f4
-d8
-a0
 43
-7b
-df
-20
+ca
+68
 00
-13
-20
-40
-7f
-01
-20
-20
-57
-b8
-20
-40
+cb
+53
+24
+5a
 04
-f8
-58
-00
+99
+20
+60
 00
 00
-60
-01
-46
-ac
 20
 40
-03
-3d
+02
+ef
 20
 20
 42
@@ -5819,7 +5731,7 @@
 20
 40
 06
-7c
+6d
 20
 20
 53
@@ -5863,7 +5775,7 @@
 20
 40
 05
-c0
+aa
 20
 20
 55
@@ -5903,7 +5815,7 @@
 24
 21
 05
-be
+a8
 68
 00
 c3
@@ -5919,7 +5831,7 @@
 20
 21
 05
-ba
+a4
 68
 00
 c3
@@ -5931,7 +5843,7 @@
 20
 20
 05
-bc
+a6
 68
 00
 84
@@ -5943,7 +5855,7 @@
 20
 40
 05
-cf
+b9
 24
 74
 00
@@ -5991,11 +5903,11 @@
 c2
 82
 85
-eb
+e1
 20
 40
 06
-6e
+5f
 68
 00
 c7
@@ -6003,7 +5915,7 @@
 24
 3a
 05
-e1
+cb
 68
 00
 84
@@ -6011,7 +5923,7 @@
 c3
 02
 05
-e5
+cf
 68
 00
 82
@@ -6019,7 +5931,7 @@
 20
 3a
 05
-e5
+cf
 20
 20
 56
@@ -6047,7 +5959,7 @@
 c0
 82
 85
-e8
+d2
 70
 47
 8e
@@ -6059,19 +5971,11 @@
 20
 5a
 03
-e2
+c9
 20
 20
 56
 22
-20
-40
-05
-ed
-20
-20
-05
-f9
 68
 00
 c6
@@ -6121,9 +6025,13 @@
 00
 00
 20
+40
+05
+d5
+20
 20
 06
-72
+63
 68
 00
 c7
@@ -6206,8 +6114,8 @@
 0c
 c0
 01
-86
-10
+85
+f9
 20
 20
 56
@@ -6218,12 +6126,44 @@
 db
 c0
 00
+05
+fd
+c0
+00
 86
-13
+04
 20
 20
 5c
 65
+20
+40
+5c
+7b
+68
+00
+cb
+55
+20
+7a
+00
+00
+68
+00
+c3
+d8
+60
+00
+c1
+72
+60
+00
+c7
+c7
+20
+60
+00
+00
 e8
 c2
 80
@@ -6251,11 +6191,11 @@
 c0
 02
 06
-1c
+0d
 c0
 03
 06
-39
+2a
 20
 20
 56
@@ -6267,7 +6207,7 @@
 20
 40
 05
-fa
+e3
 20
 40
 7e
@@ -6283,7 +6223,7 @@
 c0
 08
 06
-2b
+1c
 1f
 ec
 84
@@ -6383,11 +6323,11 @@
 c0
 00
 86
-3d
+2e
 c0
 02
 86
-3f
+30
 20
 20
 5a
@@ -6431,7 +6371,7 @@
 20
 40
 06
-4a
+3b
 d8
 e0
 00
@@ -6471,7 +6411,7 @@
 20
 37
 06
-52
+43
 24
 36
 d8
@@ -6578,11 +6518,11 @@
 00
 70
 4d
-04
+5a
 01
 70
 4d
-01
+57
 00
 20
 60
@@ -6591,7 +6531,7 @@
 68
 00
 cd
-01
+57
 1f
 e0
 fe
@@ -6599,7 +6539,7 @@
 60
 00
 cd
-01
+57
 20
 60
 00
@@ -6607,7 +6547,7 @@
 68
 00
 cd
-01
+57
 1f
 e6
 7c
@@ -6615,11 +6555,11 @@
 24
 41
 06
-7a
+6b
 68
 00
 cd
-01
+57
 c1
 00
 00
@@ -6631,14 +6571,14 @@
 60
 00
 cd
-01
+57
 20
 60
 00
 00
 70
 4d
-01
+57
 03
 20
 60
@@ -6652,26 +6592,18 @@
 85
 80
 00
-c3
-83
-80
-00
-c3
-83
-00
-00
 da
 20
 4c
-8a
+e0
 20
 40
 02
-bc
+98
 60
 08
 cd
-02
+58
 58
 00
 00
@@ -6679,7 +6611,7 @@
 c5
 13
 06
-86
+75
 58
 00
 00
@@ -6691,11 +6623,11 @@
 24
 21
 06
-9e
+8d
 68
 00
 cd
-01
+57
 1f
 e6
 7c
@@ -6703,15 +6635,15 @@
 24
 21
 06
-8e
+7d
 68
 00
 cd
-01
+57
 c0
 00
 06
-9f
+8e
 20
 60
 00
@@ -6719,19 +6651,19 @@
 68
 00
 cd
-01
+57
 c1
 90
 00
 00
 70
 4d
-01
+57
 00
 68
 08
 cd
-02
+58
 58
 00
 00
@@ -6739,7 +6671,7 @@
 c5
 13
 06
-95
+84
 58
 00
 00
@@ -6755,11 +6687,11 @@
 68
 00
 cd
-04
+5a
 c0
 00
 06
-a6
+95
 1f
 e0
 ff
@@ -6767,11 +6699,11 @@
 60
 00
 cd
-04
+5a
 c0
 00
 06
-a6
+95
 70
 41
 de
@@ -6782,16 +6714,16 @@
 00
 70
 4d
-01
+57
 00
 68
 00
 cd
-04
+5a
 c0
 01
 06
-a4
+93
 1f
 e0
 fe
@@ -6799,11 +6731,11 @@
 60
 00
 cd
-04
+5a
 c0
 00
 86
-9c
+8b
 70
 41
 de
@@ -6887,19 +6819,19 @@
 c0
 01
 06
-c0
+af
 c0
 02
 06
-c5
+b7
 c0
 10
 06
-d4
+c1
 20
 40
 06
-ca
+bc
 70
 89
 55
@@ -6916,10 +6848,22 @@
 20
 29
 4b
-20
-40
-06
-cf
+70
+89
+4c
+fb
+70
+89
+4d
+ef
+70
+89
+4e
+ec
+70
+89
+4f
+5e
 70
 89
 55
@@ -6939,7 +6883,7 @@
 20
 40
 06
-ca
+bc
 70
 89
 55
@@ -6978,26 +6922,6 @@
 00
 70
 89
-4c
-fb
-70
-89
-4d
-ef
-70
-89
-4e
-ec
-70
-89
-4f
-5e
-20
-60
-00
-00
-70
-89
 56
 c2
 70
@@ -7039,7 +6963,7 @@
 20
 40
 07
-2f
+1c
 58
 00
 00
@@ -7047,7 +6971,7 @@
 20
 40
 07
-22
+0f
 58
 00
 00
@@ -7055,7 +6979,7 @@
 20
 40
 07
-28
+15
 68
 00
 cb
@@ -7063,7 +6987,7 @@
 c0
 00
 86
-e8
+d5
 df
 20
 00
@@ -7095,7 +7019,7 @@
 20
 40
 06
-fb
+e8
 68
 01
 11
@@ -7131,7 +7055,7 @@
 20
 40
 06
-fb
+e8
 68
 01
 11
@@ -7174,16 +7098,16 @@
 10
 20
 20
-87
-08
+86
+f5
 68
 00
 91
 c3
 c0
 7f
-87
-0f
+86
+fc
 68
 00
 91
@@ -7210,16 +7134,16 @@
 c3
 c0
 00
-07
-0c
+06
+f9
 68
 01
 91
 c2
 20
 20
-07
-04
+06
+f1
 70
 11
 c4
@@ -7230,8 +7154,8 @@
 c2
 20
 20
-07
-04
+06
+f1
 68
 00
 91
@@ -7239,7 +7163,7 @@
 20
 40
 07
-1a
+07
 60
 00
 91
@@ -7251,7 +7175,7 @@
 20
 3a
 07
-18
+05
 58
 00
 00
@@ -7275,7 +7199,7 @@
 20
 20
 07
-15
+02
 1f
 e6
 7e
@@ -7315,7 +7239,7 @@
 24
 21
 07
-2d
+1a
 9a
 46
 7c
@@ -7323,7 +7247,7 @@
 24
 21
 07
-2d
+1a
 70
 4b
 21
@@ -7351,7 +7275,7 @@
 20
 20
 07
-26
+13
 70
 4b
 21
@@ -7364,14 +7288,10 @@
 01
 46
 9b
-60
-01
-11
-c0
 20
 40
 07
-38
+23
 1f
 e2
 22
@@ -7380,14 +7300,10 @@
 01
 46
 9d
-60
-01
-11
-c0
 20
 40
 07
-38
+23
 1f
 e2
 24
@@ -7396,6 +7312,10 @@
 60
 00
 00
+60
+01
+11
+c0
 68
 00
 91
@@ -7403,7 +7323,7 @@
 c0
 7f
 87
-3d
+29
 68
 00
 91
@@ -7427,9 +7347,9 @@
 20
 20
 07
-3b
-0a
-8d
+27
+1b
+df
 aa
 55
 08
@@ -7643,7 +7563,7 @@
 54
 35
 2e
-30
+32
 20
 4d
 6f
@@ -7661,7 +7581,7 @@
 54
 35
 2e
-30
+32
 20
 4d
 6f
@@ -7962,7 +7882,7 @@
 54
 35
 2e
-30
+32
 20
 4d
 6f
@@ -7971,17 +7891,99 @@
 65
 aa
 55
-01
+0b
 00
 3e
 4b
 05
+00
+00
+00
+00
+ff
+ff
+ff
+ff
+ff
+ff
 aa
 55
-04
+42
 00
-c9
+56
 4b
+09
+5a
+ff
+27
+ab
+40
+be
+d1
+a0
+41
+a1
+41
+a5
+84
+a7
+ff
+b5
+d0
+b6
+00
+ff
+00
+09
+00
+ff
+09
+5a
+5b
+9a
+0d
+12
+0e
+c5
+53
+48
+09
+00
+ff
+09
+5a
+06
+02
+09
+69
+0d
+48
+0e
+9f
+0f
+ba
+09
+00
+ff
+06
+80
+09
+5a
+0b
+f3
+09
+00
+ff
+00
+01
+02
+03
+aa
+55
+04
+00
+1f
+4c
 01
 00
 c0
@@ -7990,8 +7992,8 @@
 55
 15
 00
-d4
-4b
+2a
+4c
 20
 15
 10
@@ -8017,8 +8019,8 @@
 55
 03
 00
-ed
-4b
+43
+4c
 19
 19
 1c
@@ -8026,8 +8028,8 @@
 55
 03
 00
-f7
-4b
+4d
+4c
 80
 ee
 36
@@ -8035,7 +8037,7 @@
 55
 02
 00
-0d
+63
 4c
 04
 01
@@ -8043,11 +8045,11 @@
 55
 04
 00
-0d
+63
 4d
 0f
 0f
 0f
 0f
-35
-47
+7f
+5f
Index: output/memmap.format
===================================================================
--- /branch/mouse_project/MingAo_Project/24G&BLE_24G_FIRST/output/memmap.format	(revision 1845)
+++ /branch/mouse_project/MingAo_Project/24G&BLE_24G_FIRST/output/memmap.format	(working copy)
@@ -1794,121 +1794,149 @@
 0x4b3d mem_mouse_le_bb_connected_flag
 0x4b3e mem_mouse_common_gpio
 0x4b3f mem_le_lap_high_3B
-0x4b42 mem_24g_rxbuf
-0x4b64 mem_24g_txbuf
-0x4b84 mem_24g_txpayload
-0x4ba6 mem_24g_rxpayload
-0x4bc6 mem_24g_rxdata_length
-0x4bc7 mem_24g_pid
-0x4bc8 mem_24g_datalen
-0x4bc9 mem_24g_data_type
-0x4bca mem_24g_txlen
-0x4bcb mem_24g_rx_window
-0x4bcd mem_24g_ensure
-0x4bce mem_24g_txfail_cnt
-0x4bd0 mem_24g_get_ack_fail
-0x4bd1 mem_24g_retry
-0x4bd2 mem_24g_ch
-0x4bd3 mem_24g_current_ch_number
-0x4bd4 mem_24g_paring_addr
-0x4bd8 mem_24g_pairing_sm
-0x4bd9 mem_24g_ch_map1
-0x4bdd mem_24g_ch_map2
-0x4be1 mem_24g_ch_map3
-0x4be5 mem_24g_ch_map4
-0x4be9 mem_24g_tx_btclk
-0x4bed mem_24g_interval
-0x4bee mem_24g_interval_min
-0x4bef mem_24g_interval_max
-0x4bf0 mem_24g_addr
-0x4bf4 mem_24g_abort_pac
-0x4bf5 mem_24g_check_dongle_times
-0x4bf7 mem_24g_enter_hibernate
-0x4bff mem_24g_device_addr
-0x4c03 mem_24g_pac_index
-0x4c04 mem_24g_no_ack
-0x4c05 mem_24g_sta_crc
-0x4c08 mem_24g_last_crc
-0x4c0b mem_24g_sta_pid
-0x4c0c mem_24g_last_pid
-0x4c0d mem_24g_max_retry
-0x4c0e mem_24g_mode
-0x4c0f mem_24g_rxdata_temp
-0x4c31 mem_24g_rx_addr
-0x4c35 mem_dongle_mode_init
-0x4c36 mem_dongle_work_mode
-0x4c37 mem_dongle_ms_bind_step
-0x4c38 mem_dongle_kb_bind_step
-0x4c39 mem_dongle_bind_device_status
-0x4c3a mem_24g_bind_payload
-0x4c42 mem_24g_abort_packet
-0x4c43 mem_24g_rf_laststa
-0x4c44 mem_24g_hop_btclk
-0x4c48 mem_24g_hop_interval
-0x4c49 mem_24g_mode_switch
-0x4c4a mem_24g_ackpayload_enable
-0x4c4b mem_24g_hop_packet
-0x4c4c mem_24g_pair_mode
-0x4c4d mem_24g_nodata_timer_enable
-0x4c4e mem_24g_time_slice
-0x4c4f mem_24g_kb_data_sta_data
-0x4c57 mem_24g_kb_data_last_data
-0x4c5f mem_24g_kb_multikey_sta_data
-0x4c62 mem_24g_kb_multikey_last_data
-0x4c65 mem_24g_kb_blank_data_enable
-0x4c66 mem_24g_kb_mul_blank_data_enable
-0x4c67 mem_24g_ms_blank_data_enable
-0x4c68 mem_24g_kb_addr
-0x4c6c mem_24g_ms_addr
-0x4c70 mem_24g_dg_last_ch
-0x4c71 mem_24g_dg_ch_number
-0x4c72 mem_24g_dg_config_ch_once
-0x4c73 mem_24g_kb_last_ch
-0x4c74 mem_24g_kb_ch_number
-0x4c75 mem_24g_kb_config_ch_once
-0x4c76 mem_24g_ms_last_ch
-0x4c77 mem_24g_ms_ch_number
-0x4c78 mem_24g_ms_config_ch_once
-0x4c79 mem_24g_syncword
-0x4c7b mem_24g_syncword_crc8
-0x4c7c mem_24g_get_syncword_crc8
-0x4c7d mem_24g_ota_sta_pid
-0x4c7f mem_tx_power_temp
-0x4c80 mem_rssi_hex
-0x4c81 mem_rssi_noise_avg
-0x4c82 mem_rssi_noise_index
-0x4c83 mem_rssi_signal_index
-0x4c84 mem_rssi_noise_dg_avg
-0x4c85 mem_rssi_noise_kb_avg
-0x4c86 mem_rssi_noise_ms_avg
-0x4c87 mem_rssi_noise_dg_index
-0x4c88 mem_rssi_noise_kb_index
-0x4c89 mem_rssi_noise_ms_index
-0x4c8a mem_rssi_signal_buf
-0x4c92 mem_queue_ele_num
-0x4c93 mem_queue_read
-0x4c95 mem_queue_write
-0x4c97 mem_queue_start
-0x4c97 mem_data_ele0
-0x4cb7 mem_data_ele1
-0x4cd7 mem_data_ele2
-0x4cf7 mem_queue_end
-0x4cf7 mem_queue_temp
-0x4cf9 mem_cb_24g_data
-0x4cfb mem_24g_hop_fastly_cnt
-0x4cfc mem_24g_hop_pac_retry
-0x4cfd mem_24g_rf_hop_ch
-0x4cfe mem_24g_rf_last_sta
-0x4cff mem_24g_rf_work_stage
-0x4d00 mem_24g_sync_cnt
-0x4d01 mem_power_ctrl_pac_succ_cnt
-0x4d02 mem_rssi_avg_received
-0x4d03 mem_rssi_hex_received
-0x4d04 mem_power_ctrl_level
-0x4d05 mem_seqi
-0x4d06 mem_24g_auto_paring_switch
-0x4d07 mem_24g_paccnt
-0x4d08 mem_24g_transmit_by_interrupt
-0x4d09 mem_24g_transmit_by_interrupt_exit_count
-0x4d0b mem_24g_transmit_by_interrupt_exit_count_init
-0x4d0d mem_24g_allpowerful_addr
+0x4b42 mem_mouse_poweron_bt_start_reconn_timer
+0x4b43 mem_mouse_24g_addr_init
+0x4b49 mem_le_normal_lap
+0x4b4f mem_le_switch_adv_flag
+0x4b50 mem_le_switch_adv_timer
+0x4b51 mem_le_switch_adv_count
+0x4b52 mem_mouse_start_discovery_enable
+0x4b53 mem_mouse_le_adv_start
+0x4b54 mem_mouse_le_not_tx_disconn
+0x4b55 mem_mouse_le_updata_not_accepted_flag
+0x4b56 mem_sensor_8650_init
+0x4b6f mem_sensor_ka8_init
+0x4b7c mem_sensor_8009_init
+0x4b8b mem_sensor_poweron_init
+0x4b94 mem_mouse_3065xy_dpi_seting
+0x4b94 mem_3065xy_dpi_1
+0x4b95 mem_3065xy_dpi_2
+0x4b96 mem_3065xy_dpi_3
+0x4b97 mem_3065xy_dpi_4
+0x4b98 mem_24g_rxbuf
+0x4bba mem_24g_txbuf
+0x4bda mem_24g_txpayload
+0x4bfc mem_24g_rxpayload
+0x4c1c mem_24g_rxdata_length
+0x4c1d mem_24g_pid
+0x4c1e mem_24g_datalen
+0x4c1f mem_24g_data_type
+0x4c20 mem_24g_txlen
+0x4c21 mem_24g_rx_window
+0x4c23 mem_24g_ensure
+0x4c24 mem_24g_txfail_cnt
+0x4c26 mem_24g_get_ack_fail
+0x4c27 mem_24g_retry
+0x4c28 mem_24g_ch
+0x4c29 mem_24g_current_ch_number
+0x4c2a mem_24g_paring_addr
+0x4c2e mem_24g_pairing_sm
+0x4c2f mem_24g_ch_map1
+0x4c33 mem_24g_ch_map2
+0x4c37 mem_24g_ch_map3
+0x4c3b mem_24g_ch_map4
+0x4c3f mem_24g_tx_btclk
+0x4c43 mem_24g_interval
+0x4c44 mem_24g_interval_min
+0x4c45 mem_24g_interval_max
+0x4c46 mem_24g_addr
+0x4c4a mem_24g_abort_pac
+0x4c4b mem_24g_check_dongle_times
+0x4c4d mem_24g_enter_hibernate
+0x4c55 mem_24g_device_addr
+0x4c59 mem_24g_pac_index
+0x4c5a mem_24g_no_ack
+0x4c5b mem_24g_sta_crc
+0x4c5e mem_24g_last_crc
+0x4c61 mem_24g_sta_pid
+0x4c62 mem_24g_last_pid
+0x4c63 mem_24g_max_retry
+0x4c64 mem_24g_mode
+0x4c65 mem_24g_rxdata_temp
+0x4c87 mem_24g_rx_addr
+0x4c8b mem_dongle_mode_init
+0x4c8c mem_dongle_work_mode
+0x4c8d mem_dongle_ms_bind_step
+0x4c8e mem_dongle_kb_bind_step
+0x4c8f mem_dongle_bind_device_status
+0x4c90 mem_24g_bind_payload
+0x4c98 mem_24g_abort_packet
+0x4c99 mem_24g_rf_laststa
+0x4c9a mem_24g_hop_btclk
+0x4c9e mem_24g_hop_interval
+0x4c9f mem_24g_mode_switch
+0x4ca0 mem_24g_ackpayload_enable
+0x4ca1 mem_24g_hop_packet
+0x4ca2 mem_24g_pair_mode
+0x4ca3 mem_24g_nodata_timer_enable
+0x4ca4 mem_24g_time_slice
+0x4ca5 mem_24g_kb_data_sta_data
+0x4cad mem_24g_kb_data_last_data
+0x4cb5 mem_24g_kb_multikey_sta_data
+0x4cb8 mem_24g_kb_multikey_last_data
+0x4cbb mem_24g_kb_blank_data_enable
+0x4cbc mem_24g_kb_mul_blank_data_enable
+0x4cbd mem_24g_ms_blank_data_enable
+0x4cbe mem_24g_kb_addr
+0x4cc2 mem_24g_ms_addr
+0x4cc6 mem_24g_dg_last_ch
+0x4cc7 mem_24g_dg_ch_number
+0x4cc8 mem_24g_dg_config_ch_once
+0x4cc9 mem_24g_kb_last_ch
+0x4cca mem_24g_kb_ch_number
+0x4ccb mem_24g_kb_config_ch_once
+0x4ccc mem_24g_ms_last_ch
+0x4ccd mem_24g_ms_ch_number
+0x4cce mem_24g_ms_config_ch_once
+0x4ccf mem_24g_syncword
+0x4cd1 mem_24g_syncword_crc8
+0x4cd2 mem_24g_get_syncword_crc8
+0x4cd3 mem_24g_ota_sta_pid
+0x4cd5 mem_tx_power_temp
+0x4cd6 mem_rssi_hex
+0x4cd7 mem_rssi_noise_avg
+0x4cd8 mem_rssi_noise_index
+0x4cd9 mem_rssi_signal_index
+0x4cda mem_rssi_noise_dg_avg
+0x4cdb mem_rssi_noise_kb_avg
+0x4cdc mem_rssi_noise_ms_avg
+0x4cdd mem_rssi_noise_dg_index
+0x4cde mem_rssi_noise_kb_index
+0x4cdf mem_rssi_noise_ms_index
+0x4ce0 mem_rssi_signal_buf
+0x4ce8 mem_queue_ele_num
+0x4ce9 mem_queue_read
+0x4ceb mem_queue_write
+0x4ced mem_queue_start
+0x4ced mem_data_ele0
+0x4d0d mem_data_ele1
+0x4d2d mem_data_ele2
+0x4d4d mem_queue_end
+0x4d4d mem_queue_temp
+0x4d4f mem_cb_24g_data
+0x4d51 mem_24g_hop_fastly_cnt
+0x4d52 mem_24g_hop_pac_retry
+0x4d53 mem_24g_rf_hop_ch
+0x4d54 mem_24g_rf_last_sta
+0x4d55 mem_24g_rf_work_stage
+0x4d56 mem_24g_sync_cnt
+0x4d57 mem_power_ctrl_pac_succ_cnt
+0x4d58 mem_rssi_avg_received
+0x4d59 mem_rssi_hex_received
+0x4d5a mem_power_ctrl_level
+0x4d5b mem_seqi
+0x4d5c mem_24g_auto_paring_switch
+0x4d5d mem_24g_paccnt
+0x4d5e mem_24g_transmit_by_interrupt
+0x4d5f mem_24g_transmit_by_interrupt_exit_count
+0x4d61 mem_24g_transmit_by_interrupt_exit_count_init
+0x4d63 mem_24g_allpowerful_addr
+0x4d67 mem_24g_conn_sm
+0x4d68 mem_24g_stop_g24_mode
+0x4d69 mem_24g_stop_g24_mode_timeout
+0x4d6b mem_24g_search_dongle_wait
+0x4d6c mem_24g_pair_current_ch_num
+0x4d6d mem_24g_powerful_current_ch_num
+0x4d6e mem_24g_search_dongle_action
+0x4d6f mem_24g_search_dongle_count
+0x4d70 mem_24g_search_dongle_ch
Index: output/program.lis
===================================================================
--- /branch/mouse_project/MingAo_Project/24G&BLE_24G_FIRST/output/program.lis	(revision 1845)
+++ /branch/mouse_project/MingAo_Project/24G&BLE_24G_FIRST/output/program.lis	(working copy)
@@ -3,46 +3,46 @@
 0000 c2840012 bbit1 8 ,pf_patch_ext 
 0001 c0000028 beq patch00_0 ,p_soft_reset 
 0002 c000802b beq patch00_1 ,p_soft_reset_1 
-0003 c04286d7 beq patch10_5 ,p_shutdown_radio 
-0004 c04486a8 beq patch11_1 ,p_set_freq_tx 
-0005 c04506d9 beq patch11_2 ,p_initialize_radio_cont 
+0003 c04286c4 beq patch10_5 ,p_shutdown_radio 
+0004 c0448697 beq patch11_1 ,p_set_freq_tx 
+0005 c04506c6 beq patch11_2 ,p_initialize_radio_cont 
 0006 c0508034 beq patch14_1 ,p_init_param 
 0007 c0588039 beq patch16_1 ,p_lpm_check_wake_lock 
 0008 c0590043 beq patch16_2 ,p_g24_dispatch 
-0009 c06202da beq patch18_4 ,p_device_init 
-000a c0648376 beq patch19_1 ,p_app_flag_store 
-000b c065037a beq patch19_2 ,p_app_initflag_check 
-000c c0718546 beq patch1c_3 ,p_mouse_seting_dpi 
-000d c07304fb beq patch1c_6 ,p_mouse_motion 
-000e c075056c beq patch1d_2 ,p_mouse_bb_event_discovery_btn 
-000f c075857c beq patch1d_3 ,p_mouse_start_discovery 
-0010 c07605a2 beq patch1d_4 ,p_mouse_stop_discovery 
+0009 c06202b6 beq patch18_4 ,p_device_init 
+000a c0648353 beq patch19_1 ,p_app_flag_store 
+000b c0650357 beq patch19_2 ,p_app_initflag_check 
+000c c071853f beq patch1c_3 ,p_mouse_seting_dpi 
+000d c07304f8 beq patch1c_6 ,p_mouse_motion 
+000e c0750567 beq patch1d_2 ,p_mouse_bb_event_discovery_btn 
+000f c075857b beq patch1d_3 ,p_mouse_start_discovery 
+0010 c076058f beq patch1d_4 ,p_mouse_stop_discovery 
 0011 20202a8e branch loop 
 
 pf_patch_ext:
-0012 c01c85a7 beq patch27_1 ,p_le_slave_match 
-0013 c02185af beq patch28_3 ,p_le_next_adv_channel 
-0014 c02505b5 beq patch29_2 ,p_le_receive_skip 
-0015 c02b85b8 beq patch2a_7 ,p_le_update_param 
-0016 c02c85ca beq patch2b_1 ,p_le_update_channel_map 
-0017 c03185d7 beq patch2c_3 ,p_le_prepare_tx 
-0018 c0330601 beq patch2c_6 ,p_le_parse 
-0019 c0338618 beq patch2c_7 ,p_le_parse_l2cap 
-001a c0350644 beq patch2d_2 ,p_le_adv_not_match 
-001b c03b864f beq patch2e_7 ,p_le_lpm_setmult 
-001c c046065f beq patch31_4 ,p_twspi_reset 
+0012 c01c8591 beq patch27_1 ,p_le_slave_match 
+0013 c0218599 beq patch28_3 ,p_le_next_adv_channel 
+0014 c025059f beq patch29_2 ,p_le_receive_skip 
+0015 c02b85a2 beq patch2a_7 ,p_le_update_param 
+0016 c02c85b4 beq patch2b_1 ,p_le_update_channel_map 
+0017 c03185c1 beq patch2c_3 ,p_le_prepare_tx 
+0018 c03305ea beq patch2c_6 ,p_le_parse 
+0019 c0338609 beq patch2c_7 ,p_le_parse_l2cap 
+001a c0350635 beq patch2d_2 ,p_le_adv_not_match 
+001b c03b8640 beq patch2e_7 ,p_le_lpm_setmult 
+001c c0460650 beq patch31_4 ,p_twspi_reset 
 001d 20202a8e branch loop 
 
 p_rssi_signal:
 001e 1fe22200 copy pdata ,rega 
-001f 6808cc83 fetcht 1 ,mem_rssi_signal_index 
-0020 58004c8a setarg mem_rssi_signal_buf 
+001f 6808ccd9 fetcht 1 ,mem_rssi_signal_index 
+0020 58004ce0 setarg mem_rssi_signal_buf 
 0021 98408a00 iadd temp ,contw 
 0022 1a227e00 copy rega ,pdata 
 0023 e0a08000 istore 1 ,contw 
 0024 18408401 increase 1 ,temp 
 0025 18410407 and_into rssi_buf_len_signal ,temp 
-0026 6008cc83 storet 1 ,mem_rssi_signal_index 
+0026 6008ccd9 storet 1 ,mem_rssi_signal_index 
 0027 20600000 rtn 
 
 p_soft_reset:
@@ -54,7 +54,7 @@
 002b d8a009ae arg mem_sp_state ,contw 
 002c df20000c arg 12 ,loopcnt 
 002d 20407ed4 call clear_mem 
-002e 204003ba call p_mouse_le_txbuff_load 
+002e 204003a2 call p_mouse_le_txbuff_load 
 002f 20406a03 call rfcomm_init 
 0030 20405cf6 call init_lmp 
 0031 2455ac65 ncall lpm_disable_exen_output ,wake 
@@ -82,2458 +82,2446 @@
 
 p_g24_dispatch:
 0043 c6930000 rtnmark0 mark_24g 
-0044 6800cd08 fetch 1 ,mem_24g_transmit_by_interrupt 
-0045 c000805a beq g24_tx_timer_int_enable ,p_g24_transmit_by_interrupt 
+0044 6800cd67 fetch 1 ,mem_24g_conn_sm 
+0045 c2808058 bbit1 state_24g_pair ,p_g24_pair_dispatch 
+0046 c281009a bbit1 state_24g_reconn ,p_g24_reconn_dispatch 
+0047 6800cd5e fetch 1 ,mem_24g_transmit_by_interrupt 
+0048 c00080a7 beq g24_tx_timer_int_enable ,p_g24_transmit_by_interrupt 
 
 p_g24_transmit_process:
-0046 204000eb call p_g24_txdata_prep 
-0047 24340075 nbranch p_g24_nodata_transmit ,user 
-0048 704c0400 jam with_ack_24g ,mem_24g_no_ack 
-0049 204000d2 call p_g24_rf_sta_check 
+0049 2040013f call p_g24_txdata_prep 
+004a 243400c2 nbranch p_g24_nodata_transmit ,user 
+004b 2040011a call p_g24_rf_sta_check 
 
 p_g24_transmit_start:
-004a 20400114 call p_g24_transmit_packet 
-004b 6800cbd8 fetch 1 ,mem_24g_pairing_sm 
-004c c1ff8000 rtnne state_24g_pairing_success 
-004d 2040067c call power_ctrl_start 
-004e 6800cc04 fetch 1 ,mem_24g_no_ack 
-004f c000807a beq no_ack_24g ,p_g24_long_sleep 
-0050 20400056 call g24_long_sleep_shorter_param_update 
+004c 20400168 call p_g24_transmit_packet 
+004d 6800cc2e fetch 1 ,mem_24g_pairing_sm 
+004e c1ff8000 rtnne state_24g_pairing_success 
+004f 2040066d call power_ctrl_start 
+0050 58017700 setarg g24_long_sleep_step1 
+0051 6001cc4d store 3 ,mem_24g_enter_hibernate 
+0052 70480c1e jam 30 ,mem_24g_long_sleep_param_update_timer 
 
 p_g24_short_sleep:
-0051 20400080 call p_g24_lpm_wait 
-0052 24740000 nrtn user 
-0053 204002d4 call p_clear_wake 
-0054 5800f424 setarg 62500 
-0055 20202b93 branch lpm_dispatch_sleep 
-
-g24_long_sleep_shorter_param_update:
-0056 58017700 setarg g24_long_sleep_step1 
-0057 6001cbf7 store 3 ,mem_24g_enter_hibernate 
-0058 70480c1e jam 30 ,mem_24g_long_sleep_param_update_timer 
-0059 20600000 rtn 
+0053 204000cc call p_g24_lpm_wait 
+0054 24740000 nrtn user 
+0055 204002b0 call p_clear_wake 
+0056 5800f03c setarg 61500 
+0057 20202b93 branch lpm_dispatch_sleep 
+
+p_g24_pair_dispatch:
+0058 6800cd68 fetch 1 ,mem_24g_stop_g24_mode 
+0059 c000add4 beq 1 ,g24_stop_24g_mode 
+005a 70119eff jam 0xff ,mem_24g_common_temp 
+005b 6800cc1f fetch 1 ,mem_24g_data_type 
+005c 6000919f store 1 ,mem_24g_common_temp + 1 
+005d 68024c55 fetch 4 ,mem_24g_device_addr 
+005e 600211a0 store 4 ,mem_24g_common_temp + 2 
+005f d8400006 arg 6 ,temp 
+0060 da20119e arg mem_24g_common_temp ,rega 
+0061 204001ef call p_g24_put_data_in_buff 
+0062 20400210 call p_g24_transmit_prep 
+0063 2040017f call p_g24_transmit_receive_ack 
+0064 242c007d nbranch p_g24_pair_txdata_retry ,sync 
+0065 2437807d nbranch p_g24_pair_txdata_retry ,user3 
+0066 204001a5 call p_g24_ackpayload_parse 
+0067 68024c46 fetch 4 ,mem_24g_addr 
+0068 680a4d63 fetcht 4 ,mem_24g_allpowerful_addr 
+0069 98467c00 isub temp ,null 
+006a 2022806d branch p_g24_auto_pair_skip_rx_length ,zero 
+006b 6800cc1c fetch 1 ,mem_24g_rxdata_length 
+006c c1840000 rtnne bind_ackpayload_length 
+
+p_g24_auto_pair_skip_rx_length:
+006d 704d6700 jam 0 ,mem_24g_conn_sm 
+006e 204002c4 call p_mouse_tx_power_init 
+006f 68024c46 fetch 4 ,mem_24g_addr 
+0070 680a4c2a fetcht 4 ,mem_24g_paring_addr 
+0071 98467c00 isub temp ,null 
+0072 202281ac branch p_g24_start_pairing_sm1 ,zero 
+0073 68024c46 fetch 4 ,mem_24g_addr 
+0074 680a4c55 fetcht 4 ,mem_24g_device_addr 
+0075 98467c00 isub temp ,null 
+0076 20428201 call p_g24_store_dongle_addr ,zero 
+0077 70480a00 jam 0 ,mem_mouse_long_mult_flag 
+0078 20402f20 call g24_app_tx_attempt_success 
+0079 2040017c call p_g24_txbuf_clear 
+
+p_g24_transmit_by_interrupt_enable:
+007a 704d5e01 jam g24_tx_timer_int_enable ,mem_24g_transmit_by_interrupt 
+007b 704d5f00 jam 0 ,mem_24g_transmit_by_interrupt_exit_count 
+007c 20600000 rtn 
+
+p_g24_pair_txdata_retry:
+
+p_g24_pair_txdata_switch:
+007d 6800cd5c fetch 1 ,mem_24g_auto_paring_switch 
+007e 1fe0fe01 increase 1 ,pdata 
+007f 1fe17e03 and_into 3 ,pdata 
+0080 6000cd5c store 1 ,mem_24g_auto_paring_switch 
+0081 c0000088 beq 0 ,p_g24_auto_pair_first_attemp 
+0082 c0010092 beq 2 ,p_g24_auto_pair_all_powerful 
+
+p_g24_pair_init:
+0083 7041de20 jam tx_power_pair ,mem_tx_power 
+0084 704c1d00 jam 0 ,mem_24g_pid 
+0085 704c284e jam g24_pair_ch ,mem_24g_ch 
+0086 68024c2a fetch 4 ,mem_24g_paring_addr 
+0087 20200202 branch p_g24_update_addr_and_synccrc8 
+
+p_g24_auto_pair_first_attemp:
+0088 204002c4 call p_mouse_tx_power_init 
+0089 68024c55 fetch 4 ,mem_24g_device_addr 
+008a 60024c46 store 4 ,mem_24g_addr 
+008b 6800cd6c fetch 1 ,mem_24g_pair_current_ch_num 
+008c 6000cc29 store 1 ,mem_24g_current_ch_number 
+008d 20400090 call p_g24_ch_syncword_crc8_init 
+008e 6008cd6c storet 1 ,mem_24g_pair_current_ch_num 
+008f 20600000 rtn 
+
+p_g24_ch_syncword_crc8_init:
+0090 20400203 call p_g24_syncword_crc8 
+0091 2020012d branch p_g24_ch 
+
+p_g24_auto_pair_all_powerful:
+0092 7041de20 jam tx_power_pair ,mem_tx_power 
+0093 68024d63 fetch 4 ,mem_24g_allpowerful_addr 
+0094 60024c46 store 4 ,mem_24g_addr 
+0095 6800cd6d fetch 1 ,mem_24g_powerful_current_ch_num 
+0096 6000cc29 store 1 ,mem_24g_current_ch_number 
+0097 20400090 call p_g24_ch_syncword_crc8_init 
+0098 6008cd6d storet 1 ,mem_24g_powerful_current_ch_num 
+0099 20600000 rtn 
+
+p_g24_reconn_dispatch:
+009a 6800cd68 fetch 1 ,mem_24g_stop_g24_mode 
+009b c000add4 beq 1 ,g24_stop_24g_mode 
+009c 204001e2 call p_g24_tx_attemp_data_prep 
+009d 2040017f call p_g24_transmit_receive_ack 
+009e 242c012d nbranch p_g24_ch ,sync 
+009f 2437812d nbranch p_g24_ch ,user3 
+00a0 6800cd67 fetch 1 ,mem_24g_conn_sm 
+00a1 793ffe02 set0 state_24g_reconn ,pdata 
+00a2 6000cd67 store 1 ,mem_24g_conn_sm 
+
+p_g24_tx_attemp_dongle_succ:
+00a3 70480a00 jam 0 ,mem_mouse_long_mult_flag 
+00a4 20402f20 call g24_app_tx_attempt_success 
+00a5 2040017c call p_g24_txbuf_clear 
+00a6 2020007a branch p_g24_transmit_by_interrupt_enable 
 
 p_g24_transmit_by_interrupt:
-005a 204002ad call p_g24_timer_check 
-005b 24740000 nrtn user 
-005c 2040006f call p_g24_interval_calibrate 
-005d 68014d09 fetch 2 ,mem_24g_transmit_by_interrupt_exit_count 
-005e 1fe0fe01 increase 1 ,pdata 
-005f 60014d09 store 2 ,mem_24g_transmit_by_interrupt_exit_count 
-0060 68094d0b fetcht 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
-0061 98467c00 isub temp ,null 
-0062 20428064 call p_g24_transmit_by_interrupt_exit ,zero 
-0063 20200046 branch p_g24_transmit_process 
+00a7 20400289 call p_g24_timer_check 
+00a8 24740000 nrtn user 
+00a9 204000bc call p_g24_interval_calibrate 
+00aa 68014d5f fetch 2 ,mem_24g_transmit_by_interrupt_exit_count 
+00ab 1fe0fe01 increase 1 ,pdata 
+00ac 60014d5f store 2 ,mem_24g_transmit_by_interrupt_exit_count 
+00ad 68094d61 fetcht 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+00ae 98467c00 isub temp ,null 
+00af 204280b1 call p_g24_transmit_by_interrupt_exit ,zero 
+00b0 20200049 branch p_g24_transmit_process 
 
 p_g24_transmit_by_interrupt_exit:
-0064 704d0800 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt 
-0065 58000000 setarg 0 
-0066 60014d09 store 2 ,mem_24g_transmit_by_interrupt_exit_count 
-0067 58000019 setarg 25 
-0068 60014d0b store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+00b1 704d5e00 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt 
+00b2 58000000 setarg 0 
+00b3 60014d5f store 2 ,mem_24g_transmit_by_interrupt_exit_count 
+00b4 58000019 setarg 25 
+00b5 60014d61 store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
 
 p_g24_interval_min:
-0069 704c0300 jam 0 ,mem_24g_pac_index 
-006a 6800cbee fetch 1 ,mem_24g_interval_min 
+00b6 704c5900 jam 0 ,mem_24g_pac_index 
+00b7 6800cc44 fetch 1 ,mem_24g_interval_min 
 
 p_g24_current_interval_store:
-006b 6000cbed store 1 ,mem_24g_interval 
-006c 20600000 rtn 
+00b8 6000cc43 store 1 ,mem_24g_interval 
+00b9 20600000 rtn 
 
 p_g24_interval_max:
-006d 6800cbef fetch 1 ,mem_24g_interval_max 
-006e 2020006b branch p_g24_current_interval_store 
+00ba 6800cc45 fetch 1 ,mem_24g_interval_max 
+00bb 202000b8 branch p_g24_current_interval_store 
 
 p_g24_interval_calibrate:
-006f 6800cc03 fetch 1 ,mem_24g_pac_index 
-0070 1fe0fe01 increase 1 ,pdata 
-0071 6000cc03 store 1 ,mem_24g_pac_index 
-0072 c002006d beq 4 ,p_g24_interval_max 
-0073 c0028069 beq 5 ,p_g24_interval_min 
-0074 20600000 rtn 
+00bc 6800cc59 fetch 1 ,mem_24g_pac_index 
+00bd 1fe0fe01 increase 1 ,pdata 
+00be 6000cc59 store 1 ,mem_24g_pac_index 
+00bf c00200ba beq 4 ,p_g24_interval_max 
+00c0 c00280b6 beq 5 ,p_g24_interval_min 
+00c1 20600000 rtn 
 
 p_g24_nodata_transmit:
-0075 6800cbf4 fetch 1 ,mem_24g_abort_pac 
-0076 205a0093 call p_g24_send_abort_packet ,blank 
-0077 204000a1 call p_g24_search_dongle 
-0078 6800cc04 fetch 1 ,mem_24g_no_ack 
-0079 c1008000 rtneq no_ack_24g 
+00c2 6800cc4a fetch 1 ,mem_24g_abort_pac 
+00c3 205a00e0 call p_g24_send_abort_packet ,blank 
+00c4 6800cd5e fetch 1 ,mem_24g_transmit_by_interrupt 
+00c5 c1008000 rtneq g24_tx_timer_int_enable 
 
 p_g24_long_sleep:
-007a 20400080 call p_g24_lpm_wait 
-007b 24740000 nrtn user 
-007c 6801cbf7 fetch 3 ,mem_24g_enter_hibernate 
-007d 20407f49 call clk2lpo 
-007e 600a415b storet 4 ,mem_sleep_counter 
-007f 20202b2a branch lpm_sleep 
+00c6 204000cc call p_g24_lpm_wait 
+00c7 24740000 nrtn user 
+00c8 6801cc4d fetch 3 ,mem_24g_enter_hibernate 
+00c9 20407f49 call clk2lpo 
+00ca 600a415b storet 4 ,mem_sleep_counter 
+00cb 20202b2a branch lpm_sleep 
 
 p_g24_lpm_wait:
-0080 78347c00 enable user 
-0081 20402afa call lpo_calibration 
-0082 6801c16f fetch 3 ,mem_clks_per_lpo 
-0083 203a7fe9 branch disable_user ,blank 
-0084 6800c091 fetch 1 ,mem_lpm_mode 
-0085 203a7fe9 branch disable_user ,blank 
-0086 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
-0087 203a7fe9 branch disable_user ,blank 
-0088 6800cd08 fetch 1 ,mem_24g_transmit_by_interrupt 
-0089 c000ffe9 beq g24_tx_timer_int_enable ,disable_user 
+00cc 78347c00 enable user 
+00cd 20402afa call lpo_calibration 
+00ce 6801c16f fetch 3 ,mem_clks_per_lpo 
+00cf 203a7fe9 branch disable_user ,blank 
+00d0 6800c091 fetch 1 ,mem_lpm_mode 
+00d1 203a7fe9 branch disable_user ,blank 
+00d2 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+00d3 203a7fe9 branch disable_user ,blank 
+00d4 6800cd5e fetch 1 ,mem_24g_transmit_by_interrupt 
+00d5 c000ffe9 beq g24_tx_timer_int_enable ,disable_user 
 
 p_mouse_setgpio_lpm:
-008a 204002d7 call p_mouse_set_sdio_high 
-008b 204002d4 call p_clear_wake 
+00d6 204002b3 call p_mouse_set_sdio_high 
+00d7 204002b0 call p_clear_wake 
 
 p_mouse_setgpio_lpm_before:
-008c 20403ebf call mouse_lpm_before_common 
-008d 68120070 hfetch 4 ,core_gpio_oe0 
-008e 681a0078 hfetcht 4 ,core_gpio_pu0 
-008f 98418400 ior temp ,temp 
-0090 18440400 invert temp ,temp 
-0091 601a007c hstoret 4 ,core_gpio_pd0 
-0092 20600000 rtn 
+00d8 20403ebf call mouse_lpm_before_common 
+00d9 68120070 hfetch 4 ,core_gpio_oe0 
+00da 681a0078 hfetcht 4 ,core_gpio_pu0 
+00db 98418400 ior temp ,temp 
+00dc 18440400 invert temp ,temp 
+00dd 601a007c hstoret 4 ,core_gpio_pd0 
+
+p_mouse_ice_gpio_set_inpu:
+00de d840001d arg 0x1d ,temp 
+00df 202067fb branch gpio_config_input 
 
 p_g24_send_abort_packet:
-0093 704bf401 jam 1 ,mem_24g_abort_pac 
-0094 704cfd00 jam 0 ,mem_24g_rf_hop_ch 
-0095 204000aa call p_g24_transmit_rf_ctrl_clear 
-0096 6000cb64 store 1 ,mem_24g_txbuf 
-0097 58000000 setarg 0 
-0098 6003cb65 store 7 ,mem_24g_txbuf + 1 
-0099 68024bff fetch 4 ,mem_24g_device_addr 
-009a 60024b6c store 4 ,mem_24g_txbuf + 8 
-009b 704bc80c jam 12 ,mem_24g_datalen 
-009c 6800cbc9 fetch 1 ,mem_24g_data_type 
-009d 79207e03 set1 bit_abort ,pdata 
-009e 6000cbc9 store 1 ,mem_24g_data_type 
-009f 204000ee call p_g24_txdata_enable_tx 
-00a0 2020004a branch p_g24_transmit_start 
-
-p_g24_search_dongle:
-00a1 6800cbf4 fetch 1 ,mem_24g_abort_pac 
-00a2 207a0000 rtn blank 
-00a3 6800c80a fetch 1 ,mem_mouse_long_mult_flag 
-00a4 207a0000 rtn blank 
-00a5 704c0401 jam no_ack_24g ,mem_24g_no_ack 
-00a6 204001f6 call p_g24_ch 
-00a7 20200094 branch p_g24_send_abort_packet + 1 
+00e0 704c4a01 jam 1 ,mem_24g_abort_pac 
+00e1 704d5300 jam 0 ,mem_24g_rf_hop_ch 
+00e2 204000f0 call p_g24_transmit_rf_ctrl_clear 
+00e3 6000cbba store 1 ,mem_24g_txbuf 
+00e4 58000000 setarg 0 
+00e5 6003cbbb store 7 ,mem_24g_txbuf + 1 
+00e6 68024c55 fetch 4 ,mem_24g_device_addr 
+00e7 60024bc2 store 4 ,mem_24g_txbuf + 8 
+00e8 704c1e0c jam 12 ,mem_24g_datalen 
+00e9 6800cc1f fetch 1 ,mem_24g_data_type 
+00ea 79207e03 set1 bit_abort ,pdata 
+00eb 6000cc1f store 1 ,mem_24g_data_type 
+00ec 20400142 call p_g24_txdata_enable_tx 
+00ed 2020004c branch p_g24_transmit_start 
 
 p_g24_transmit_rf_sta_init:
-00a8 704cfe01 jam 1 ,mem_24g_rf_last_sta 
-00a9 704d0000 jam 0 ,mem_24g_sync_cnt 
+00ee 704d5401 jam 1 ,mem_24g_rf_last_sta 
+00ef 704d5600 jam 0 ,mem_24g_sync_cnt 
 
 p_g24_transmit_rf_ctrl_clear:
-00aa 6800cbc9 fetch 1 ,mem_24g_data_type 
-00ab 1fe17e07 and_into bits_data ,pdata 
-00ac 6000cbc9 store 1 ,mem_24g_data_type 
-00ad 20600000 rtn 
+00f0 6800cc1f fetch 1 ,mem_24g_data_type 
+00f1 1fe17e07 and_into bits_data ,pdata 
+00f2 6000cc1f store 1 ,mem_24g_data_type 
+00f3 20600000 rtn 
 
 p_g24_hop_ch_enable:
-00ae 6800cbc9 fetch 1 ,mem_24g_data_type 
-00af 79207e04 set1 bit_hop ,pdata 
-00b0 6000cbc9 store 1 ,mem_24g_data_type 
-00b1 6000cb84 store 1 ,mem_24g_txpayload 
-00b2 20600000 rtn 
+00f4 6800cc1f fetch 1 ,mem_24g_data_type 
+00f5 79207e04 set1 bit_hop ,pdata 
+00f6 6000cc1f store 1 ,mem_24g_data_type 
+00f7 6000cbda store 1 ,mem_24g_txpayload 
+00f8 20600000 rtn 
+
+p_g24_hop_enable_packet:
+00f9 6800cc1f fetch 1 ,mem_24g_data_type 
+00fa c4020000 rtnbit0 bit_hop 
 
 p_g24_hop_ch_disable:
-00b3 6800cbc9 fetch 1 ,mem_24g_data_type 
-00b4 793ffe04 set0 bit_hop ,pdata 
-00b5 6000cbc9 store 1 ,mem_24g_data_type 
-00b6 6000cb84 store 1 ,mem_24g_txpayload 
-00b7 20400672 call power_ctrl_pac_succ_decrs 
-00b8 202001f6 branch p_g24_ch 
+00fb 6800cc1f fetch 1 ,mem_24g_data_type 
+00fc 793ffe04 set0 bit_hop ,pdata 
+00fd 6000cc1f store 1 ,mem_24g_data_type 
+00fe 6000cbda store 1 ,mem_24g_txpayload 
+00ff 20400663 call power_ctrl_pac_succ_decrs 
+0100 2020012d branch p_g24_ch 
 
 p_g24_rf_hop_attemp_again:
-00b9 6800ccfd fetch 1 ,mem_24g_rf_hop_ch 
-00ba c08080aa bne 1 ,p_g24_transmit_rf_ctrl_clear 
+0101 6800cd53 fetch 1 ,mem_24g_rf_hop_ch 
+0102 c08080f0 bne 1 ,p_g24_transmit_rf_ctrl_clear 
 
 p_g24_rf_hop_fastly:
-00bb 6800ccfb fetch 1 ,mem_24g_hop_fastly_cnt 
-00bc 1fe0fe01 increase 1 ,pdata 
-00bd 6000ccfb store 1 ,mem_24g_hop_fastly_cnt 
-00be c00200c2 beq 4 ,p_g24_rf_hop_fastly_exit 
-00bf 204001f6 call p_g24_ch 
-00c0 704c0d02 jam 2 ,mem_24g_max_retry 
-00c1 20200114 branch p_g24_transmit_packet 
+0103 6800cd51 fetch 1 ,mem_24g_hop_fastly_cnt 
+0104 1fe0fe01 increase 1 ,pdata 
+0105 6000cd51 store 1 ,mem_24g_hop_fastly_cnt 
+0106 c002010a beq 4 ,p_g24_rf_hop_fastly_exit 
+0107 2040012d call p_g24_ch 
+0108 704c6302 jam 2 ,mem_24g_max_retry 
+0109 20200168 branch p_g24_transmit_packet 
 
 p_g24_rf_hop_fastly_exit:
-00c2 20400672 call power_ctrl_pac_succ_decrs 
-00c3 704cfb00 jam 0 ,mem_24g_hop_fastly_cnt 
-00c4 202000aa branch p_g24_transmit_rf_ctrl_clear 
+010a 20400663 call power_ctrl_pac_succ_decrs 
+010b 704d5100 jam 0 ,mem_24g_hop_fastly_cnt 
+010c 202000f0 branch p_g24_transmit_rf_ctrl_clear 
 
 p_g24_transmit_hop_pac_succ_wo_hop:
-00c5 704d0002 jam 2 ,mem_24g_sync_cnt 
+010d 704d5602 jam 2 ,mem_24g_sync_cnt 
 
 p_g24_transmit_hop_pac_succ:
-00c6 704cfe01 jam 1 ,mem_24g_rf_last_sta 
-00c7 704cfd00 jam 0 ,mem_24g_rf_hop_ch 
-00c8 202000aa branch p_g24_transmit_rf_ctrl_clear 
+010e 704d5401 jam 1 ,mem_24g_rf_last_sta 
+010f 704d5300 jam 0 ,mem_24g_rf_hop_ch 
+0110 202000f0 branch p_g24_transmit_rf_ctrl_clear 
 
 p_g24_transmit_succ_rf_config:
-00c9 6800ccff fetch 1 ,mem_24g_rf_work_stage 
-00ca c00180c6 beq 3 ,p_g24_transmit_hop_pac_succ 
-00cb 6800cbc9 fetch 1 ,mem_24g_data_type 
-00cc 2fec0004 isolate0 bit_hop ,pdata 
-00cd 202080a8 branch p_g24_transmit_rf_sta_init ,true 
-00ce 6800ccff fetch 1 ,mem_24g_rf_work_stage 
-00cf c00080c5 beq 1 ,p_g24_transmit_hop_pac_succ_wo_hop 
-00d0 c00100c6 beq 2 ,p_g24_transmit_hop_pac_succ 
-00d1 20600000 rtn 
+0111 6800cd55 fetch 1 ,mem_24g_rf_work_stage 
+0112 c001810e beq 3 ,p_g24_transmit_hop_pac_succ 
+0113 6800cc1f fetch 1 ,mem_24g_data_type 
+0114 2fec0004 isolate0 bit_hop ,pdata 
+0115 202080ee branch p_g24_transmit_rf_sta_init ,true 
+0116 6800cd55 fetch 1 ,mem_24g_rf_work_stage 
+0117 c000810d beq 1 ,p_g24_transmit_hop_pac_succ_wo_hop 
+0118 c001010e beq 2 ,p_g24_transmit_hop_pac_succ 
+0119 20600000 rtn 
 
 p_g24_rf_sta_check:
-00d2 6800cbd8 fetch 1 ,mem_24g_pairing_sm 
-00d3 c1ff8000 rtnne state_24g_pairing_success 
-00d4 204000d7 call p_g24_rf_laststa_synccnt_check 
-00d5 245600df ncall p_g24_rf_sync_cnt_check ,user2 
-00d6 20600000 rtn 
+011a 6800cc2e fetch 1 ,mem_24g_pairing_sm 
+011b c1ff8000 rtnne state_24g_pairing_success 
+011c 2040011f call p_g24_rf_laststa_synccnt_check 
+011d 24560127 ncall p_g24_rf_sync_cnt_check ,user2 
+011e 20600000 rtn 
 
 p_g24_rf_laststa_synccnt_check:
-00d7 78567c00 disable user2 
-00d8 6800ccfe fetch 1 ,mem_24g_rf_last_sta 
-00d9 c1808000 rtnne 1 
-00da 6800cd00 fetch 1 ,mem_24g_sync_cnt 
-00db c1800000 rtnne 0 
-00dc 704cff01 jam 1 ,mem_24g_rf_work_stage 
-00dd 704c0d04 jam 4 ,mem_24g_max_retry 
-00de 20207feb branch enable_user2 
+011f 78567c00 disable user2 
+0120 6800cd54 fetch 1 ,mem_24g_rf_last_sta 
+0121 c1808000 rtnne 1 
+0122 6800cd56 fetch 1 ,mem_24g_sync_cnt 
+0123 c1800000 rtnne 0 
+0124 704d5501 jam 1 ,mem_24g_rf_work_stage 
+0125 704c6304 jam 4 ,mem_24g_max_retry 
+0126 20207feb branch enable_user2 
 
 p_g24_rf_sync_cnt_check:
-00df 6800cd00 fetch 1 ,mem_24g_sync_cnt 
-00e0 203a00e6 branch p_g24_rf_hop_attemp ,blank 
-00e1 1fe0ffff increase -1 ,pdata 
-00e2 6000cd00 store 1 ,mem_24g_sync_cnt 
-00e3 704cff02 jam 2 ,mem_24g_rf_work_stage 
-00e4 704c0d04 jam 4 ,mem_24g_max_retry 
-00e5 202001f6 branch p_g24_ch 
+0127 6800cd56 fetch 1 ,mem_24g_sync_cnt 
+0128 203a013a branch p_g24_rf_hop_attemp ,blank 
+0129 1fe0ffff increase -1 ,pdata 
+012a 6000cd56 store 1 ,mem_24g_sync_cnt 
+012b 704d5502 jam 2 ,mem_24g_rf_work_stage 
+012c 704c6304 jam 4 ,mem_24g_max_retry 
+
+p_g24_ch:
+012d 6808cc29 fetcht 1 ,mem_24g_current_ch_number 
+012e 6800cc46 fetch 1 ,mem_24g_addr 
+012f 1fe17e03 and_into 0x03 ,pdata 
+0130 1fefa204 mul32 pdata ,4 ,rega 
+0131 58004c2f setarg mem_24g_ch_map1 
+0132 9a20fe00 iadd rega ,pdata 
+0133 98408c00 iadd temp ,contr 
+0134 e8c08000 ifetch 1 ,contr 
+0135 6000cc28 store 1 ,mem_24g_ch 
+0136 18408401 increase 1 ,temp 
+0137 18410403 and_into 3 ,temp 
+0138 6008cc29 storet 1 ,mem_24g_current_ch_number 
+0139 20600000 rtn 
 
 p_g24_rf_hop_attemp:
-00e6 704cff03 jam 3 ,mem_24g_rf_work_stage 
-00e7 6800ccfd fetch 1 ,mem_24g_rf_hop_ch 
-00e8 243a00b9 nbranch p_g24_rf_hop_attemp_again ,blank 
-00e9 704c0d02 jam 2 ,mem_24g_max_retry 
-00ea 202001f6 branch p_g24_ch 
+013a 704d5503 jam 3 ,mem_24g_rf_work_stage 
+013b 6800cd53 fetch 1 ,mem_24g_rf_hop_ch 
+013c 243a0101 nbranch p_g24_rf_hop_attemp_again ,blank 
+013d 704c6302 jam 2 ,mem_24g_max_retry 
+013e 2020012d branch p_g24_ch 
 
 p_g24_txdata_prep:
-00eb 6800cbd8 fetch 1 ,mem_24g_pairing_sm 
-00ec c0ff816a bne state_24g_pairing_success ,p_g24_pairing_sm 
+013f 6800cc2e fetch 1 ,mem_24g_pairing_sm 
+0140 c0ff81af bne state_24g_pairing_success ,p_g24_pairing_sm 
 
 p_g24_txdata_prep_packeage_data:
-00ed 204000f1 call p_g24_package_data 
+0141 20400145 call p_g24_package_data 
 
 p_g24_txdata_enable_tx:
-00ee 20400226 call p_g24_transmit_prep 
-00ef 704bcd01 jam ensure_on_24g ,mem_24g_ensure 
-00f0 20600000 rtn 
+0142 20400210 call p_g24_transmit_prep 
+0143 704c2301 jam ensure_on_24g ,mem_24g_ensure 
+0144 20600000 rtn 
 
 p_g24_package_data:
-00f1 68014cf9 fetch 2 ,mem_cb_24g_data 
-00f2 20407f9c call callback_func 
-00f3 203400f7 branch p_g24_accumulate_mouse_data ,user 
-00f4 6803cb65 fetch 7 ,mem_24g_txbuf + 1 
-00f5 207a0000 rtn blank 
-00f6 20207fe7 branch enable_user 
+0145 68014d4f fetch 2 ,mem_cb_24g_data 
+0146 20407f9c call callback_func 
+0147 2034014b branch p_g24_accumulate_mouse_data ,user 
+0148 6803cbbb fetch 7 ,mem_24g_txbuf + 1 
+0149 207a0000 rtn blank 
+014a 20207fe7 branch enable_user 
 
 p_g24_accumulate_mouse_data:
-00f7 2040010e call p_mouse_data_xy_release 
-00f8 704bf400 jam 0 ,mem_24g_abort_pac 
-00f9 1a20fe01 add rega ,1 ,pdata 
-00fa 6000cbc8 store 1 ,mem_24g_datalen 
-00fb 204000aa call p_g24_transmit_rf_ctrl_clear 
-00fc 6000cb64 store 1 ,mem_24g_txbuf 
-00fd e8a88000 ifetcht 1 ,contw 
-00fe ea408000 ifetch 1 ,regb 
-00ff 9841fe00 ior temp ,pdata 
-0100 e0a08000 istore 1 ,contw 
-0101 1a40a401 increase 1 ,regb 
-0102 ea420000 ifetch 4 ,regb 
-0103 e0a20000 istore 4 ,contw 
-0104 1a40a404 increase 4 ,regb 
-0105 d8a04b6a arg mem_24g_txbuf + 6 ,contw 
-0106 df200002 arg 2 ,loopcnt 
+014b 20400162 call p_mouse_data_xy_release 
+014c 704c4a00 jam 0 ,mem_24g_abort_pac 
+014d 1a20fe01 add rega ,1 ,pdata 
+014e 6000cc1e store 1 ,mem_24g_datalen 
+014f 204000f0 call p_g24_transmit_rf_ctrl_clear 
+0150 6000cbba store 1 ,mem_24g_txbuf 
+0151 e8a88000 ifetcht 1 ,contw 
+0152 ea408000 ifetch 1 ,regb 
+0153 9841fe00 ior temp ,pdata 
+0154 e0a08000 istore 1 ,contw 
+0155 1a40a401 increase 1 ,regb 
+0156 ea420000 ifetch 4 ,regb 
+0157 e0a20000 istore 4 ,contw 
+0158 1a40a404 increase 4 ,regb 
+0159 d8a04bc0 arg mem_24g_txbuf + 6 ,contw 
+015a df200002 arg 2 ,loopcnt 
 
 p_g24_accumulation_loop:
-0107 ea408000 ifetch 1 ,regb 
-0108 e8a88000 ifetcht 1 ,contw 
-0109 9840fe00 iadd temp ,pdata 
-010a e0a08000 istore 1 ,contw 
-010b 1a40a401 increase 1 ,regb 
-010c c2000107 loop p_g24_accumulation_loop 
-010d 20600000 rtn 
+015b ea408000 ifetch 1 ,regb 
+015c e8a88000 ifetcht 1 ,contw 
+015d 9840fe00 iadd temp ,pdata 
+015e e0a08000 istore 1 ,contw 
+015f 1a40a401 increase 1 ,regb 
+0160 c200015b loop p_g24_accumulation_loop 
+0161 20600000 rtn 
 
 p_mouse_data_xy_release:
-010e 6800c80a fetch 1 ,mem_mouse_long_mult_flag 
-010f c1808000 rtnne 1 
-0110 58000000 setarg 0 
-0111 6000c80a store 1 ,mem_mouse_long_mult_flag 
-0112 6002469b store 4 ,mem_mouse_x 
-0113 2020033d branch p_mouse_sensor_poweron 
+0162 6800c80a fetch 1 ,mem_mouse_long_mult_flag 
+0163 c1808000 rtnne 1 
+0164 58000000 setarg 0 
+0165 6000c80a store 1 ,mem_mouse_long_mult_flag 
+0166 6002469b store 4 ,mem_mouse_x 
+0167 202002ef branch p_mouse_init_sensor_reset 
 
 p_g24_transmit_packet:
-0114 704bd100 jam 0 ,mem_24g_retry 
+0168 704c2700 jam 0 ,mem_24g_retry 
 
 p_g24_transmit_loop:
-0115 d9600d00 arg param_rx_setup ,timeup 
-0116 34730200 until clkn_rt ,meet 
-0117 20400130 call p_g24_transmit_receive_ack 
-0118 6800cc04 fetch 1 ,mem_24g_no_ack 
-0119 c1008000 rtneq no_ack_24g 
-011a 242c013f nbranch p_g24_retransmit ,sync 
-011b 2437813f nbranch p_g24_retransmit ,user3 
-011c 2040012a call p_g24_txbuf_clear 
-011d 2040015a call p_g24_ackpayload_parse 
-011e 2040066e call power_ctrl_pac_succ_incrs 
+0169 d9600d00 arg param_rx_setup ,timeup 
+016a 34730200 until clkn_rt ,meet 
+016b 2040017f call p_g24_transmit_receive_ack 
+016c 242c018a nbranch p_g24_retransmit ,sync 
+016d 2437818a nbranch p_g24_retransmit ,user3 
+016e 2040017c call p_g24_txbuf_clear 
+016f 204001a5 call p_g24_ackpayload_parse 
+0170 2040065f call power_ctrl_pac_succ_incrs 
 
 p_g24_transmit_next_packet:
-011f 6800cbc7 fetch 1 ,mem_24g_pid 
-0120 1fe0fe01 increase 1 ,pdata 
-0121 6000cbc7 store 1 ,mem_24g_pid 
-0122 2040012d call p_g24_hop_enable_packet 
-0123 6800cbd8 fetch 1 ,mem_24g_pairing_sm 
-0124 c0ff8184 bne state_24g_pairing_success ,p_g24_paring_mode_start 
-0125 204000c9 call p_g24_transmit_succ_rf_config 
+0171 6800cc1d fetch 1 ,mem_24g_pid 
+0172 1fe0fe01 increase 1 ,pdata 
+0173 6000cc1d store 1 ,mem_24g_pid 
+0174 204000f9 call p_g24_hop_enable_packet 
+0175 6800cc2e fetch 1 ,mem_24g_pairing_sm 
+0176 c0ff81c9 bne state_24g_pairing_success ,p_g24_paring_mode_start 
+0177 20400111 call p_g24_transmit_succ_rf_config 
 
 p_g24_transmit_abandon:
-0126 58000000 setarg 0 
-0127 60024bcd store 4 ,mem_24g_ensure 
-0128 6000ccfc store 1 ,mem_24g_hop_pac_retry 
-0129 20600000 rtn 
+0178 58000000 setarg 0 
+0179 60024c23 store 4 ,mem_24g_ensure 
+017a 6000cd52 store 1 ,mem_24g_hop_pac_retry 
+017b 20600000 rtn 
 
 p_g24_txbuf_clear:
-012a df200004 arg 4 ,loopcnt 
-012b d8a04b64 arg mem_24g_txbuf ,contw 
-012c 20207ec6 branch memset0 
-
-p_g24_hop_enable_packet:
-012d 6800cbc9 fetch 1 ,mem_24g_data_type 
-012e c28200b3 bbit1 bit_hop ,p_g24_hop_ch_disable 
-012f 20600000 rtn 
+017c df200004 arg 4 ,loopcnt 
+017d d8a04bba arg mem_24g_txbuf ,contw 
+017e 20207ec6 branch memset0 
 
 p_g24_transmit_receive_ack:
-0130 7857fc00 disable user3 
-0131 2040028a call p_g24_transmit 
-0132 6800cc04 fetch 1 ,mem_24g_no_ack 
-0133 c000813d beq no_ack_24g ,p_g24_transmit_no_ack 
-0134 18002a00 force 0 ,radio_ctrl 
-0135 68024bf0 fetch 4 ,mem_24g_addr 
-0136 98001200 iforce access 
-0137 68088017 fetcht 1 ,mem_last_freq 
-0138 2040291f call set_freq_rx 
-0139 20402924 call rf_rx_enable 
-013a 2040024a call p_g24_receive_rxon 
-013b 20578286 call p_g24_end_of_packet ,user3 
-013c 20600000 rtn 
-
-p_g24_transmit_no_ack:
-013d 20400286 call p_g24_end_of_packet 
-013e 2020011f branch p_g24_transmit_next_packet 
+017f 7857fc00 disable user3 
+0180 20400266 call p_g24_transmit 
+0181 18002a00 force 0 ,radio_ctrl 
+0182 68024c46 fetch 4 ,mem_24g_addr 
+0183 98001200 iforce access 
+0184 68088017 fetcht 1 ,mem_last_freq 
+0185 2040291f call set_freq_rx 
+0186 20402924 call rf_rx_enable 
+0187 2040022b call p_g24_receive_rxon 
+0188 20578263 call p_g24_end_of_packet ,user3 
+0189 20600000 rtn 
 
 p_g24_retransmit:
-013f 68014bce fetch 2 ,mem_24g_txfail_cnt 
-0140 1fe0fe01 increase 1 ,pdata 
-0141 60014bce store 2 ,mem_24g_txfail_cnt 
-0142 6800cbcf fetch 1 ,mem_24g_txfail_cnt + 1 
-0143 c2822dd4 bbit1 4 ,g24_stop_24g_mode 
-0144 6800cbd8 fetch 1 ,mem_24g_pairing_sm 
-0145 c0ff8148 bne state_24g_pairing_success ,p_g24_tx_paring_retry 
-0146 20400150 call p_g24_tx_hop_ch_process 
-0147 20200115 branch p_g24_transmit_loop 
+018a 68014c24 fetch 2 ,mem_24g_txfail_cnt 
+018b 1fe0fe01 increase 1 ,pdata 
+018c 60014c24 store 2 ,mem_24g_txfail_cnt 
+018d 6800cc25 fetch 1 ,mem_24g_txfail_cnt + 1 
+018e c2822dd4 bbit1 4 ,g24_stop_24g_mode 
+018f 6800cc2e fetch 1 ,mem_24g_pairing_sm 
+0190 c0ff8193 bne state_24g_pairing_success ,p_g24_tx_paring_retry 
+0191 2040019b call p_g24_tx_hop_ch_process 
+0192 20200169 branch p_g24_transmit_loop 
 
 p_g24_tx_paring_retry:
-0148 6800cbce fetch 1 ,mem_24g_txfail_cnt 
-0149 c1ff8000 rtnne 0xff 
+0193 6800cc24 fetch 1 ,mem_24g_txfail_cnt 
+0194 c1ff8000 rtnne 0xff 
 
 p_g24_tx_attempt_fail:
-014a 58000000 setarg 0 
-014b 60014bce store 2 ,mem_24g_txfail_cnt 
-014c 20202dd4 branch g24_stop_24g_mode 
+0195 58000000 setarg 0 
+0196 60014c24 store 2 ,mem_24g_txfail_cnt 
+0197 20202dd4 branch g24_stop_24g_mode 
 
 p_g24_tx_fast_hop:
-014d 2040069f call power_ctrl_txpower_incrs 
-014e 20400672 call power_ctrl_pac_succ_decrs 
-014f 202001f6 branch p_g24_ch 
+0198 2040068e call power_ctrl_txpower_incrs 
+0199 20400663 call power_ctrl_pac_succ_decrs 
+019a 2020012d branch p_g24_ch 
 
 p_g24_tx_hop_ch_process:
-0150 6800cbd1 fetch 1 ,mem_24g_retry 
-0151 1fe67c0b sub pdata ,11 ,null 
-0152 2421014d nbranch p_g24_tx_fast_hop ,positive 
-0153 1fe0fe01 increase 1 ,pdata 
-0154 6000cbd1 store 1 ,mem_24g_retry 
-0155 c00100ae beq 2 ,p_g24_hop_ch_enable 
-0156 c00300b3 beq 6 ,p_g24_hop_ch_disable 
-0157 c00400ae beq 8 ,p_g24_hop_ch_enable 
-0158 c00600b3 beq 12 ,p_g24_hop_ch_disable 
-0159 20600000 rtn 
+019b 6800cc27 fetch 1 ,mem_24g_retry 
+019c 1fe67c0b sub pdata ,11 ,null 
+019d 24210198 nbranch p_g24_tx_fast_hop ,positive 
+019e 1fe0fe01 increase 1 ,pdata 
+019f 6000cc27 store 1 ,mem_24g_retry 
+01a0 c00100f4 beq 2 ,p_g24_hop_ch_enable 
+01a1 c00300fb beq 6 ,p_g24_hop_ch_disable 
+01a2 c00400f4 beq 8 ,p_g24_hop_ch_enable 
+01a3 c00600fb beq 12 ,p_g24_hop_ch_disable 
+01a4 20600000 rtn 
 
 p_g24_ackpayload_parse:
-015a 2040020b call p_g24_read_len_pid_crc 
-015b 6800cbc6 fetch 1 ,mem_24g_rxdata_length 
-015c 207a0000 rtn blank 
-015d 98007200 iforce loopcnt 
-015e d8c04b44 arg mem_24g_rxbuf + 2 ,contr 
-015f d8a04ba6 arg mem_24g_rxpayload ,contw 
-0160 20207f01 branch memcpy 
+01a5 204001f4 call p_g24_read_len_pid_crc 
+01a6 6800cc1c fetch 1 ,mem_24g_rxdata_length 
+01a7 207a0000 rtn blank 
+01a8 98007200 iforce loopcnt 
+01a9 d8c04b9a arg mem_24g_rxbuf + 2 ,contr 
+01aa d8a04bfc arg mem_24g_rxpayload ,contw 
+01ab 20207f01 branch memcpy 
 
 p_g24_start_pairing_sm1:
-0161 79200026 set1 mark_24g ,mark 
-0162 20400165 call p_g24_pair_init 
+01ac 20400083 call p_g24_pair_init 
 
 p_g24_set_pairing_sm_1:
-0163 704bd801 jam state_24g_pairing_1 ,mem_24g_pairing_sm 
-0164 20600000 rtn 
-
-p_g24_pair_init:
-0165 7041de20 jam tx_power_pair ,mem_tx_power 
-0166 704bc700 jam 0 ,mem_24g_pid 
-0167 704bd24e jam g24_pair_ch ,mem_24g_ch 
-0168 68024bd4 fetch 4 ,mem_24g_paring_addr 
-0169 20200218 branch p_g24_update_addr_and_synccrc8 
+01ad 704c2e01 jam state_24g_pairing_1 ,mem_24g_pairing_sm 
+01ae 20600000 rtn 
 
 p_g24_pairing_sm:
-016a 6800cbcd fetch 1 ,mem_24g_ensure 
-016b c000ffe7 beq ensure_on_24g ,enable_user 
-016c 6800cbd8 fetch 1 ,mem_24g_pairing_sm 
-016d c0008171 beq state_24g_pairing_1 ,p_g24_pairing_sm_1 
-016e c0010174 beq state_24g_pairing_2 ,p_g24_pairing_sm_2 
-016f c0018177 beq state_24g_pairing_3 ,p_g24_pairing_sm_3 
-0170 20202a8c branch assert 
+01af 6800cc23 fetch 1 ,mem_24g_ensure 
+01b0 c000ffe7 beq ensure_on_24g ,enable_user 
+01b1 6800cc2e fetch 1 ,mem_24g_pairing_sm 
+01b2 c00081b6 beq state_24g_pairing_1 ,p_g24_pairing_sm_1 
+01b3 c00101b9 beq state_24g_pairing_2 ,p_g24_pairing_sm_2 
+01b4 c00181bc beq state_24g_pairing_3 ,p_g24_pairing_sm_3 
+01b5 20202a8c branch assert 
 
 p_g24_pairing_sm_1:
-0171 704bd811 jam state_24g_pairing_1_waiting_ack ,mem_24g_pairing_sm 
-0172 70119eaa jam 0xaa ,mem_24g_common_temp 
-0173 20200179 branch p_g24_pairing_sm_common 
+01b6 704c2e11 jam state_24g_pairing_1_waiting_ack ,mem_24g_pairing_sm 
+01b7 70119eaa jam 0xaa ,mem_24g_common_temp 
+01b8 202001be branch p_g24_pairing_sm_common 
 
 p_g24_pairing_sm_2:
-0174 704bd812 jam state_24g_pairing_2_waiting_ack ,mem_24g_pairing_sm 
-0175 70119e55 jam 0x55 ,mem_24g_common_temp 
-0176 20200179 branch p_g24_pairing_sm_common 
+01b9 704c2e12 jam state_24g_pairing_2_waiting_ack ,mem_24g_pairing_sm 
+01ba 70119e55 jam 0x55 ,mem_24g_common_temp 
+01bb 202001be branch p_g24_pairing_sm_common 
 
 p_g24_pairing_sm_3:
-0177 704bd813 jam state_24g_pairing_3_waiting_ack ,mem_24g_pairing_sm 
-0178 70119e22 jam 0x22 ,mem_24g_common_temp 
+01bc 704c2e13 jam state_24g_pairing_3_waiting_ack ,mem_24g_pairing_sm 
+01bd 70119e22 jam 0x22 ,mem_24g_common_temp 
 
 p_g24_pairing_sm_common:
-0179 6800cbc9 fetch 1 ,mem_24g_data_type 
-017a 1fe17e07 and_into bits_data ,pdata 
-017b 6000919f store 1 ,mem_24g_common_temp + 1 
-017c 68024bff fetch 4 ,mem_24g_device_addr 
-017d 600211a0 store 4 ,mem_24g_common_temp + 2 
+01be 6800cc1f fetch 1 ,mem_24g_data_type 
+01bf 1fe17e07 and_into bits_data ,pdata 
+01c0 6000919f store 1 ,mem_24g_common_temp + 1 
+01c1 68024c55 fetch 4 ,mem_24g_device_addr 
+01c2 600211a0 store 4 ,mem_24g_common_temp + 2 
 
 p_g24_put_pairing_data_in_buff:
-017e 7011a400 jam 0 ,mem_24g_common_temp + 6 
-017f da20119e arg mem_24g_common_temp ,rega 
-0180 d8400007 arg 7 ,temp 
-0181 20400206 call p_g24_put_data_in_buff 
-0182 204000ee call p_g24_txdata_enable_tx 
-0183 20207fe7 branch enable_user 
+01c3 7011a400 jam 0 ,mem_24g_common_temp + 6 
+01c4 da20119e arg mem_24g_common_temp ,rega 
+01c5 d8400007 arg 7 ,temp 
+01c6 204001ef call p_g24_put_data_in_buff 
+01c7 20400142 call p_g24_txdata_enable_tx 
+01c8 20207fe7 branch enable_user 
 
 p_g24_paring_mode_start:
-0184 2040066b call power_ctrl_pac_succ_cnt_init 
+01c9 2040065c call power_ctrl_pac_succ_cnt_init 
 
 p_g24_paring_mode:
-0185 6800cbd8 fetch 1 ,mem_24g_pairing_sm 
-0186 c17f8000 rtneq state_24g_pairing_success 
-0187 c008818b beq state_24g_pairing_1_waiting_ack ,p_g24_pairing_sm_1_waiting_ack 
-0188 c009018d beq state_24g_pairing_2_waiting_ack ,p_g24_pairing_sm_2_waiting_ack 
-0189 c009818f beq state_24g_pairing_3_waiting_ack ,p_g24_pairing_sm_3_waiting_ack 
-018a 20600000 rtn 
+01ca 6800cc2e fetch 1 ,mem_24g_pairing_sm 
+01cb c17f8000 rtneq state_24g_pairing_success 
+01cc c00881d0 beq state_24g_pairing_1_waiting_ack ,p_g24_pairing_sm_1_waiting_ack 
+01cd c00901d2 beq state_24g_pairing_2_waiting_ack ,p_g24_pairing_sm_2_waiting_ack 
+01ce c00981d4 beq state_24g_pairing_3_waiting_ack ,p_g24_pairing_sm_3_waiting_ack 
+01cf 20600000 rtn 
 
 p_g24_pairing_sm_1_waiting_ack:
-018b 704bd802 jam state_24g_pairing_2 ,mem_24g_pairing_sm 
-018c 20200126 branch p_g24_transmit_abandon 
+01d0 704c2e02 jam state_24g_pairing_2 ,mem_24g_pairing_sm 
+01d1 20200178 branch p_g24_transmit_abandon 
 
 p_g24_pairing_sm_2_waiting_ack:
-018d 704bd803 jam state_24g_pairing_3 ,mem_24g_pairing_sm 
-018e 20200126 branch p_g24_transmit_abandon 
+01d2 704c2e03 jam state_24g_pairing_3 ,mem_24g_pairing_sm 
+01d3 20200178 branch p_g24_transmit_abandon 
 
 p_g24_pairing_sm_3_waiting_ack:
-018f 704bd8ff jam state_24g_pairing_success ,mem_24g_pairing_sm 
-0190 700a9939 jam bt_evt_24g_pairing_complete ,mem_fifo_temp 
-0191 20407d86 call ui_ipc_send_event 
-0192 204001e0 call p_g24_store_dongle_addr 
-0193 20200126 branch p_g24_transmit_abandon 
-
-p_mouse_wakeup_from_hibernate:
-0194 2040041e call p_mouse_read_latest_mode_eeprom 
-0195 6800cb3a fetch 1 ,mem_mouse_latest_mode 
-0196 c000838f beq latest_mode_bt ,p_mouse_check_reconn_target_bt 
+01d4 704c2eff jam state_24g_pairing_success ,mem_24g_pairing_sm 
+01d5 700a9939 jam bt_evt_24g_pairing_complete ,mem_fifo_temp 
+01d6 20407d86 call ui_ipc_send_event 
+01d7 20400201 call p_g24_store_dongle_addr 
+01d8 20200178 branch p_g24_transmit_abandon 
 
 p_g24_start_24g_mode:
-0197 20400392 call p_g24_factory_check 
-0198 203401c0 branch p_g24_auto_pair_start ,user 
-0199 793f8026 set0 mark_24g ,mark 
-019a 704c0400 jam with_ack_24g ,mem_24g_no_ack 
-019b 204001f5 call p_g24_ch_syncword_crc8_init 
-019c 6800cbd8 fetch 1 ,mem_24g_pairing_sm 
-019d c1ff8000 rtnne state_24g_pairing_success 
-019e 204001b2 call p_g24_tx_attemp_data_prep 
-
-p_g24_tx_attemp_dongle:
-019f 58000000 setarg 0 
-01a0 60014bf5 store 2 ,mem_24g_check_dongle_times 
-
-p_g24_tx_attemp_dongle_loop:
-01a1 20402afa call lpo_calibration 
-01a2 200007d0 nop 2000 
-01a3 68014bf5 fetch 2 ,mem_24g_check_dongle_times 
-01a4 d84001ff arg 0x01ff ,temp 
-01a5 98467c00 isub temp ,null 
-01a6 2022add4 branch g24_stop_24g_mode ,zero 
-01a7 20400130 call p_g24_transmit_receive_ack 
-01a8 242c01bb nbranch p_g24_attemp_txdata_retry ,sync 
-01a9 243781bb nbranch p_g24_attemp_txdata_retry ,user3 
-
-p_g24_tx_attemp_dongle_succ:
-01aa 79200026 set1 mark_24g ,mark 
-01ab 58000000 setarg 0 
-01ac 60014bf5 store 2 ,mem_24g_check_dongle_times 
-01ad 20402f20 call g24_app_tx_attempt_success 
-01ae 2040012a call p_g24_txbuf_clear 
-
-p_g24_transmit_by_interrupt_enable:
-01af 704d0801 jam g24_tx_timer_int_enable ,mem_24g_transmit_by_interrupt 
-01b0 704d0900 jam 0 ,mem_24g_transmit_by_interrupt_exit_count 
-01b1 20600000 rtn 
+01d9 2040037a call p_g24_factory_check 
+01da 2034036c branch p_g24_auto_pair_start ,user 
+01db 79200026 set1 mark_24g ,mark 
+01dc 6800cd67 fetch 1 ,mem_24g_conn_sm 
+01dd 79207e02 set1 state_24g_reconn ,pdata 
+01de 6000cd67 store 1 ,mem_24g_conn_sm 
+01df 20400203 call p_g24_syncword_crc8 
+01e0 2040012d call p_g24_ch 
+01e1 20200370 branch p_g24_auto_pair_timeout_init 
 
 p_g24_tx_attemp_data_prep:
-01b2 70119eff jam 0xff ,mem_24g_common_temp 
-01b3 6800cbc9 fetch 1 ,mem_24g_data_type 
-01b4 6000919f store 1 ,mem_24g_common_temp + 1 
-01b5 68024bff fetch 4 ,mem_24g_device_addr 
-01b6 600211a0 store 4 ,mem_24g_common_temp + 2 
-01b7 d8400006 arg 6 ,temp 
-01b8 da20119e arg mem_24g_common_temp ,rega 
-01b9 20400206 call p_g24_put_data_in_buff 
-01ba 20200226 branch p_g24_transmit_prep 
-
-p_g24_attemp_txdata_retry:
-01bb 68014bf5 fetch 2 ,mem_24g_check_dongle_times 
-01bc 1fe0fe01 increase 1 ,pdata 
-01bd 60014bf5 store 2 ,mem_24g_check_dongle_times 
-01be 204001f6 call p_g24_ch 
-01bf 202001a1 branch p_g24_tx_attemp_dongle_loop 
-
-p_g24_auto_pair_start:
-01c0 793f8026 set0 mark_24g ,mark 
-01c1 704c0400 jam with_ack_24g ,mem_24g_no_ack 
-01c2 204001ee call p_g24_auto_pair_first_attemp 
-01c3 204001b2 call p_g24_tx_attemp_data_prep 
-
-p_g24_auto_pair_restart:
-01c4 58000000 setarg 0 
-01c5 60014bf5 store 2 ,mem_24g_check_dongle_times 
-
-p_g24_auto_pair_start_loop:
-01c6 20402afa call lpo_calibration 
-01c7 200007d0 nop 2000 
-01c8 68014bf5 fetch 2 ,mem_24g_check_dongle_times 
-01c9 d84001ff arg 0x01ff ,temp 
-01ca 98467c00 isub temp ,null 
-01cb 2022add4 branch g24_stop_24g_mode ,zero 
-01cc 20400130 call p_g24_transmit_receive_ack 
-01cd 242c01e2 nbranch p_g24_auto_pair_retry ,sync 
-01ce 243781e2 nbranch p_g24_auto_pair_retry ,user3 
-01cf 2040015a call p_g24_ackpayload_parse 
-01d0 68024bf0 fetch 4 ,mem_24g_addr 
-01d1 680a4d0d fetcht 4 ,mem_24g_allpowerful_addr 
-01d2 98467c00 isub temp ,null 
-01d3 202281d6 branch p_g24_auto_pair_skip_rx_length ,zero 
-01d4 6800cbc6 fetch 1 ,mem_24g_rxdata_length 
-01d5 203a01c6 branch p_g24_auto_pair_start_loop ,blank 
-
-p_g24_auto_pair_skip_rx_length:
-01d6 204002e8 call p_mouse_tx_power_init 
-01d7 68024bf0 fetch 4 ,mem_24g_addr 
-01d8 680a4bd4 fetcht 4 ,mem_24g_paring_addr 
-01d9 98467c00 isub temp ,null 
-01da 20228161 branch p_g24_start_pairing_sm1 ,zero 
-01db 68024bf0 fetch 4 ,mem_24g_addr 
-01dc 680a4bff fetcht 4 ,mem_24g_device_addr 
-01dd 98467c00 isub temp ,null 
-01de 204281e0 call p_g24_store_dongle_addr ,zero 
-01df 202001aa branch p_g24_tx_attemp_dongle_succ 
-
-p_g24_store_dongle_addr:
-01e0 68024ba8 fetch 4 ,mem_24g_rxpayload + 2 
-01e1 20200218 branch p_g24_update_addr_and_synccrc8 
-
-p_g24_auto_pair_retry:
-01e2 68014bf5 fetch 2 ,mem_24g_check_dongle_times 
-01e3 1fe0fe01 increase 1 ,pdata 
-01e4 60014bf5 store 2 ,mem_24g_check_dongle_times 
-01e5 6800cd06 fetch 1 ,mem_24g_auto_paring_switch 
-01e6 1fe0fe01 increase 1 ,pdata 
-01e7 1fe17e03 and_into 3 ,pdata 
-01e8 6000cd06 store 1 ,mem_24g_auto_paring_switch 
-01e9 c0000200 beq 0 ,p_g24_auto_pair_all_powerful_attemp 
-01ea c00081fc beq 1 ,p_g24_auto_pair_device_attemp 
-01eb c0010200 beq 2 ,p_g24_auto_pair_all_powerful_attemp 
-01ec c00181fe beq 3 ,p_g24_auto_pair_pair_attemp 
-01ed 20600000 rtn 
-
-p_g24_auto_pair_first_attemp:
-01ee 204002e8 call p_mouse_tx_power_init 
-01ef 68024bff fetch 4 ,mem_24g_device_addr 
-01f0 60024bf0 store 4 ,mem_24g_addr 
-01f1 202001f5 branch p_g24_ch_syncword_crc8_init 
-
-p_g24_auto_pair_all_powerful:
-01f2 7041de20 jam tx_power_pair ,mem_tx_power 
-01f3 68024d0d fetch 4 ,mem_24g_allpowerful_addr 
-01f4 60024bf0 store 4 ,mem_24g_addr 
-
-p_g24_ch_syncword_crc8_init:
-01f5 20400219 call p_g24_syncword_crc8 
-
-p_g24_ch:
-01f6 6808cbd3 fetcht 1 ,mem_24g_current_ch_number 
-
-p_g24_ch_map_size:
-01f7 20400238 call p_g24_ch_calc 
-01f8 18408401 increase 1 ,temp 
-01f9 18410403 and_into 3 ,temp 
-01fa 6008cbd3 storet 1 ,mem_24g_current_ch_number 
-01fb 20600000 rtn 
-
-p_g24_auto_pair_device_attemp:
-01fc 204001ee call p_g24_auto_pair_first_attemp 
-01fd 202001c6 branch p_g24_auto_pair_start_loop 
-
-p_g24_auto_pair_pair_attemp:
-01fe 20400165 call p_g24_pair_init 
-01ff 202001c6 branch p_g24_auto_pair_start_loop 
-
-p_g24_auto_pair_all_powerful_attemp:
-0200 204001f2 call p_g24_auto_pair_all_powerful 
-0201 202001c6 branch p_g24_auto_pair_start_loop 
+01e2 70119eff jam 0xff ,mem_24g_common_temp 
+01e3 6800cc1f fetch 1 ,mem_24g_data_type 
+01e4 6000919f store 1 ,mem_24g_common_temp + 1 
+01e5 68024c55 fetch 4 ,mem_24g_device_addr 
+01e6 600211a0 store 4 ,mem_24g_common_temp + 2 
+01e7 d8400006 arg 6 ,temp 
+01e8 da20119e arg mem_24g_common_temp ,rega 
+01e9 204001ef call p_g24_put_data_in_buff 
+01ea 20200210 branch p_g24_transmit_prep 
 
 p_g24_check_51cmd_stop_24g:
-0202 793f8026 set0 mark_24g ,mark 
-0203 204053ce call le_disable 
+01eb 793f8026 set0 mark_24g ,mark 
+01ec 204053ce call le_disable 
 
 p_mouse_disable_g24_pairing_flag:
-0204 d8e00003 arg mosue_24g_pairing_flag ,queue 
-0205 202043d2 branch mouse_disable_function_flag 
+01ed d8e00003 arg mosue_24g_pairing_flag ,queue 
+01ee 202043d2 branch mouse_disable_function_flag 
 
 p_g24_put_data_in_buff:
-0206 6008cbc8 storet 1 ,mem_24g_datalen 
-0207 18427200 copy temp ,loopcnt 
-0208 d8a04b64 arg mem_24g_txbuf ,contw 
-0209 1a220c00 copy rega ,contr 
-020a 20207f01 branch memcpy 
+01ef 6008cc1e storet 1 ,mem_24g_datalen 
+01f0 18427200 copy temp ,loopcnt 
+01f1 d8a04bba arg mem_24g_txbuf ,contw 
+01f2 1a220c00 copy rega ,contr 
+01f3 20207f01 branch memcpy 
 
 p_g24_read_len_pid_crc:
-020b 6800cb43 fetch 1 ,mem_24g_rxbuf + 1 
-020c 1fe97e00 rshift3 pdata ,pdata 
-020d 6000cbc6 store 1 ,mem_24g_rxdata_length 
-020e 1fe0fe01 increase 1 ,pdata 
-020f d8c04b43 arg mem_24g_rxbuf + 1 ,contr 
-0210 98c08c00 iadd contr ,contr 
-0211 e8c18000 ifetch 3 ,contr 
-0212 6001cc05 store 3 ,mem_24g_sta_crc 
-0213 6800cb43 fetch 1 ,mem_24g_rxbuf + 1 
-0214 1fe37e00 rshift pdata ,pdata 
-0215 1fe17e03 and pdata ,0x03 ,pdata 
-0216 6000cc0b store 1 ,mem_24g_sta_pid 
-0217 20600000 rtn 
+01f4 6800cb99 fetch 1 ,mem_24g_rxbuf + 1 
+01f5 1fe97e00 rshift3 pdata ,pdata 
+01f6 6000cc1c store 1 ,mem_24g_rxdata_length 
+01f7 1fe0fe01 increase 1 ,pdata 
+01f8 d8c04b99 arg mem_24g_rxbuf + 1 ,contr 
+01f9 98c08c00 iadd contr ,contr 
+01fa e8c18000 ifetch 3 ,contr 
+01fb 6001cc5b store 3 ,mem_24g_sta_crc 
+01fc 6800cb99 fetch 1 ,mem_24g_rxbuf + 1 
+01fd 1fe37e00 rshift pdata ,pdata 
+01fe 1fe17e03 and pdata ,0x03 ,pdata 
+01ff 6000cc61 store 1 ,mem_24g_sta_pid 
+0200 20600000 rtn 
+
+p_g24_store_dongle_addr:
+0201 68024bfe fetch 4 ,mem_24g_rxpayload + 2 
 
 p_g24_update_addr_and_synccrc8:
-0218 60024bf0 store 4 ,mem_24g_addr 
+0202 60024c46 store 4 ,mem_24g_addr 
 
 p_g24_syncword_crc8:
-0219 da200000 arg 0 ,rega 
-021a df200004 arg 4 ,loopcnt 
-021b d8c04bf0 arg mem_24g_addr ,contr 
+0203 da200000 arg 0 ,rega 
+0204 df200004 arg 4 ,loopcnt 
+0205 d8c04c46 arg mem_24g_addr ,contr 
 
 p_g24_syncword_crc8_loop:
-021c e8c08000 ifetch 1 ,contr 
-021d 9a20a200 iadd rega ,rega 
-021e c200021c loop p_g24_syncword_crc8_loop 
-021f 1a227e00 copy rega ,pdata 
-0220 60014c79 store 2 ,mem_24g_syncword 
-0221 6800cc79 fetch 1 ,mem_24g_syncword 
-0222 6808cc7a fetcht 1 ,mem_24g_syncword + 1 
-0223 9840fe00 iadd temp ,pdata 
-0224 6000cc7b store 1 ,mem_24g_syncword_crc8 
-0225 20600000 rtn 
+0206 e8c08000 ifetch 1 ,contr 
+0207 9a20a200 iadd rega ,rega 
+0208 c2000206 loop p_g24_syncword_crc8_loop 
+0209 1a227e00 copy rega ,pdata 
+020a 60014ccf store 2 ,mem_24g_syncword 
+020b 6800cccf fetch 1 ,mem_24g_syncword 
+020c 6808ccd0 fetcht 1 ,mem_24g_syncword + 1 
+020d 9840fe00 iadd temp ,pdata 
+020e 6000ccd1 store 1 ,mem_24g_syncword_crc8 
+020f 20600000 rtn 
 
 p_g24_transmit_prep:
-0226 6800cbc8 fetch 1 ,mem_24g_datalen 
-0227 1fe0fe02 increase 2 ,pdata 
-0228 6000cbca store 1 ,mem_24g_txlen 
-0229 6800cbc9 fetch 1 ,mem_24g_data_type 
-022a 6000cb84 store 1 ,mem_24g_txpayload 
-022b 6800cbc8 fetch 1 ,mem_24g_datalen 
-022c 1fe9fe00 lshift3 pdata ,pdata 
-022d 6808cbc7 fetcht 1 ,mem_24g_pid 
-022e 18410403 and temp ,0x03 ,temp 
-022f 18438400 lshift temp ,temp 
-0230 9841fe00 ior temp ,pdata 
-0231 6808cc04 fetcht 1 ,mem_24g_no_ack 
-0232 9840fe00 iadd temp ,pdata 
-0233 e0a08000 istore 1 ,contw 
-0234 6800cbc8 fetch 1 ,mem_24g_datalen 
-0235 98007200 iforce loopcnt 
-0236 d8c04b64 arg mem_24g_txbuf ,contr 
-0237 20207f01 branch memcpy 
-
-p_g24_ch_calc:
-0238 6800cbf0 fetch 1 ,mem_24g_addr 
-0239 1fe17e03 and_into 0x03 ,pdata 
-023a 1fefa204 mul32 pdata ,4 ,rega 
-023b 58004bd9 setarg mem_24g_ch_map1 
-023c 9a20fe00 iadd rega ,pdata 
-023d 98408c00 iadd temp ,contr 
-023e e8c08000 ifetch 1 ,contr 
-023f 6000cbd2 store 1 ,mem_24g_ch 
-0240 20600000 rtn 
+0210 6800cc1e fetch 1 ,mem_24g_datalen 
+0211 1fe0fe02 increase 2 ,pdata 
+0212 6000cc20 store 1 ,mem_24g_txlen 
+0213 6800cc1f fetch 1 ,mem_24g_data_type 
+0214 6000cbda store 1 ,mem_24g_txpayload 
+0215 6800cc1e fetch 1 ,mem_24g_datalen 
+0216 1fe9fe00 lshift3 pdata ,pdata 
+0217 6808cc1d fetcht 1 ,mem_24g_pid 
+0218 18410403 and temp ,0x03 ,temp 
+0219 18438400 lshift temp ,temp 
+021a 9841fe00 ior temp ,pdata 
+021b 6808cc5a fetcht 1 ,mem_24g_no_ack 
+021c 9840fe00 iadd temp ,pdata 
+021d e0a08000 istore 1 ,contw 
+021e 6800cc1e fetch 1 ,mem_24g_datalen 
+021f 98007200 iforce loopcnt 
+0220 d8c04bba arg mem_24g_txbuf ,contr 
+0221 20207f01 branch memcpy 
 
 p_g24_prep:
-0241 7844fc00 disable enable_crc 
-0242 7843fc00 disable enable_white 
-0243 58555555 setarg 0x555555 
-0244 98001e00 iforce crc24_init 
-0245 6800cbd2 fetch 1 ,mem_24g_ch 
-0246 1fed8400 reverse pdata ,temp 
-0247 79200401 set1 1 ,temp 
-0248 18431c00 rshift temp ,white_init 
-0249 20600000 rtn 
+0222 7844fc00 disable enable_crc 
+0223 7843fc00 disable enable_white 
+0224 58555555 setarg 0x555555 
+0225 98001e00 iforce crc24_init 
+0226 6800cc28 fetch 1 ,mem_24g_ch 
+0227 1fed8400 reverse pdata ,temp 
+0228 79200401 set1 1 ,temp 
+0229 18431c00 rshift temp ,white_init 
+022a 20600000 rtn 
 
 p_g24_receive_rxon:
-024a 20400241 call p_g24_prep 
-024b 7857fc00 disable user3 
-024c 7826fc00 enable decode_fec0 
-024d 7830fc00 enable is_rx 
-024e 78507c00 disable is_tx 
-024f 78287c00 enable swfine 
-0250 68014bcb fetch 2 ,mem_24g_rx_window 
-0251 98003600 iforce stop_watch 
-0252 37c18400 correlate null ,timeout 
-0253 242c0286 nbranch p_g24_end_of_packet ,sync 
-0254 7846fc00 disable decode_fec0 
-0255 7825fc00 enable decode_fec1 
-0256 7823fc00 enable enable_white 
-0257 7824fc00 enable enable_crc 
-0258 20400283 call p_g24_receive_byte 
-0259 6000cc7c store 1 ,mem_24g_get_syncword_crc8 
-025a 6808cc7b fetcht 1 ,mem_24g_syncword_crc8 
-025b 98467c00 isub temp ,null 
-025c 24228286 nbranch p_g24_end_of_packet ,zero 
-025d 20400283 call p_g24_receive_byte 
-025e 6000cb42 store 1 ,mem_24g_rxbuf 
-025f 6800cc0e fetch 1 ,mem_24g_mode 
-0260 1fe67c02 sub pdata ,rx_24g ,null 
-0261 20228266 branch p_g24_receive_skip ,zero 
-0262 6800cb42 fetch 1 ,mem_24g_rxbuf 
-0263 6808cbc9 fetcht 1 ,mem_24g_data_type 
-0264 a8400e00 icompare bits_data ,temp 
-0265 24208286 nbranch p_g24_end_of_packet ,true 
+022b 20400222 call p_g24_prep 
+022c 7857fc00 disable user3 
+022d 7826fc00 enable decode_fec0 
+022e 7830fc00 enable is_rx 
+022f 78507c00 disable is_tx 
+0230 78287c00 enable swfine 
+0231 68014c21 fetch 2 ,mem_24g_rx_window 
+0232 98003600 iforce stop_watch 
+0233 37c18400 correlate null ,timeout 
+0234 242c0263 nbranch p_g24_end_of_packet ,sync 
+0235 7846fc00 disable decode_fec0 
+0236 7825fc00 enable decode_fec1 
+0237 7823fc00 enable enable_white 
+0238 7824fc00 enable enable_crc 
+0239 20400260 call p_g24_receive_byte 
+023a 6000ccd2 store 1 ,mem_24g_get_syncword_crc8 
+023b 6808ccd1 fetcht 1 ,mem_24g_syncword_crc8 
+023c 98467c00 isub temp ,null 
+023d 24228263 nbranch p_g24_end_of_packet ,zero 
+023e 20400260 call p_g24_receive_byte 
+023f 6000cb98 store 1 ,mem_24g_rxbuf 
+0240 6800cb98 fetch 1 ,mem_24g_rxbuf 
+0241 6808cc1f fetcht 1 ,mem_24g_data_type 
+0242 a8400e00 icompare bits_data ,temp 
+0243 24208263 nbranch p_g24_end_of_packet ,true 
 
 p_g24_receive_skip:
-0266 20400283 call p_g24_receive_byte 
-0267 e0a08000 istore 1 ,contw 
-0268 1fe97e00 rshift3 pdata ,pdata 
-0269 1fe1721f and pdata ,0x1f ,loopcnt 
-026a 2022826e branch p_g24rx_nopayload ,zero 
+0244 20400260 call p_g24_receive_byte 
+0245 e0a08000 istore 1 ,contw 
+0246 1fe97e00 rshift3 pdata ,pdata 
+0247 1fe1721f and pdata ,0x1f ,loopcnt 
+0248 2022824c branch p_g24rx_nopayload ,zero 
 
 p_g24rx_loop:
-026b 20400283 call p_g24_receive_byte 
-026c e0a08000 istore 1 ,contw 
-026d c200026b loop p_g24rx_loop 
+0249 20400260 call p_g24_receive_byte 
+024a e0a08000 istore 1 ,contw 
+024b c2000249 loop p_g24rx_loop 
 
 p_g24rx_nopayload:
-026e 18a22200 copy contw ,rega 
-026f 20400283 call p_g24_receive_byte 
-0270 6000cd03 store 1 ,mem_rssi_hex_received 
-0271 1a220a00 copy rega ,contw 
-0272 09800018 parse demod ,bucket ,24 
-0273 78287c00 enable swfine 
-0274 db600664 arg param_sifs ,stop_watch 
-0275 1fef7e00 rshift32 pdata ,pdata 
-0276 1ff17e00 rshift16 pdata ,pdata 
-0277 e0a18000 istore 3 ,contw 
-0278 7845fc00 disable decode_fec1 
-0279 20230286 branch p_g24_end_of_packet ,crc_failed 
-027a 7837fc00 enable user3 
-027b 68008017 fetch 1 ,mem_last_freq 
-027c 1fe0a200 add pdata ,0 ,rega 
-027d 20402981 call rf_write_freq 
-027e 7846fc00 disable decode_fec0 
-027f 20402918 call set_sync_on 
-0280 6800cd03 fetch 1 ,mem_rssi_hex_received 
-0281 2040001e call p_rssi_signal 
-0282 20600000 rtn 
+024c 18a22200 copy contw ,rega 
+024d 20400260 call p_g24_receive_byte 
+024e 6000cd59 store 1 ,mem_rssi_hex_received 
+024f 1a220a00 copy rega ,contw 
+0250 09800018 parse demod ,bucket ,24 
+0251 78287c00 enable swfine 
+0252 db600664 arg param_sifs ,stop_watch 
+0253 1fef7e00 rshift32 pdata ,pdata 
+0254 1ff17e00 rshift16 pdata ,pdata 
+0255 e0a18000 istore 3 ,contw 
+0256 7845fc00 disable decode_fec1 
+0257 20230263 branch p_g24_end_of_packet ,crc_failed 
+0258 7837fc00 enable user3 
+0259 68008017 fetch 1 ,mem_last_freq 
+025a 1fe0a200 add pdata ,0 ,rega 
+025b 20402981 call rf_write_freq 
+025c 7846fc00 disable decode_fec0 
+025d 20402918 call set_sync_on 
+025e 6800cd59 fetch 1 ,mem_rssi_hex_received 
+025f 2020001e branch p_rssi_signal 
 
 p_g24_receive_byte:
-0283 09800008 parse demod ,bucket ,8 
-0284 19897e00 rshift3 pwindow ,pdata 
-0285 20600000 rtn 
+0260 09800008 parse demod ,bucket ,8 
+0261 19897e00 rshift3 pwindow ,pdata 
+0262 20600000 rtn 
 
 p_g24_end_of_packet:
-0286 784dfc00 disable encode_fec1 
-0287 7845fc00 disable decode_fec1 
-0288 2040264d call end_of_packet 
-0289 20600000 rtn 
+0263 784dfc00 disable encode_fec1 
+0264 7845fc00 disable decode_fec1 
+0265 2020264d branch end_of_packet 
 
 p_g24_transmit:
-028a 204053c4 call le_enable 
-028b 68024bf0 fetch 4 ,mem_24g_addr 
-028c 98001200 iforce access 
-028d 20400241 call p_g24_prep 
+0266 204053c4 call le_enable 
+0267 68024c46 fetch 4 ,mem_24g_addr 
+0268 98001200 iforce access 
+0269 20400222 call p_g24_prep 
 
 p_g24_set_freq_tx:
-028e 20402918 call set_sync_on 
-028f 6808cbd2 fetcht 1 ,mem_24g_ch 
-0290 20402933 call set_freq_tx 
-0291 79202a00 set1 txgfsk ,radio_ctrl 
-0292 782efc00 enable encode_fec0 
-0293 78307c00 enable is_tx 
-0294 7850fc00 disable is_rx 
-0295 19317e00 rshift16 access ,pdata 
-0296 1fecfe00 rshift8 pdata ,pdata 
-0297 1ff1fe00 rshift4 pdata ,pdata 
-0298 08008628 inject mod ,40 
-0299 784efc00 disable encode_fec0 
-029a 782dfc00 enable encode_fec1 
-029b 7823fc00 enable enable_white 
-029c 7824fc00 enable enable_crc 
-029d 6800cc7b fetch 1 ,mem_24g_syncword_crc8 
-029e 08008608 inject mod ,8 
-029f 6800cbca fetch 1 ,mem_24g_txlen 
-02a0 98007200 iforce loopcnt 
-02a1 d8c04b84 arg mem_24g_txpayload ,contr 
+026a 20402918 call set_sync_on 
+026b 6808cc28 fetcht 1 ,mem_24g_ch 
+026c 20402933 call set_freq_tx 
+026d 79202a00 set1 txgfsk ,radio_ctrl 
+026e 782efc00 enable encode_fec0 
+026f 78307c00 enable is_tx 
+0270 7850fc00 disable is_rx 
+0271 19317e00 rshift16 access ,pdata 
+0272 1fecfe00 rshift8 pdata ,pdata 
+0273 1ff1fe00 rshift4 pdata ,pdata 
+0274 08008628 inject mod ,40 
+0275 784efc00 disable encode_fec0 
+0276 782dfc00 enable encode_fec1 
+0277 7823fc00 enable enable_white 
+0278 7824fc00 enable enable_crc 
+0279 6800ccd1 fetch 1 ,mem_24g_syncword_crc8 
+027a 08008608 inject mod ,8 
+027b 6800cc20 fetch 1 ,mem_24g_txlen 
+027c 98007200 iforce loopcnt 
+027d d8c04bda arg mem_24g_txpayload ,contr 
 
 p_g24tr_loop:
-02a2 e8c08000 ifetch 1 ,contr 
-02a3 08008608 inject mod ,8 
-02a4 c20002a2 loop p_g24tr_loop 
-02a5 78247c00 enable enable_parity 
-02a6 08008618 inject mod ,24 
-02a7 78447c00 disable enable_parity 
-02a8 37d38200 until null ,tx_clear 
-02a9 20000064 nop 100 
-02aa 784efc00 disable encode_fec0 
-02ab 784dfc00 disable encode_fec1 
-02ac 20600000 rtn 
+027e e8c08000 ifetch 1 ,contr 
+027f 08008608 inject mod ,8 
+0280 c200027e loop p_g24tr_loop 
+0281 78247c00 enable enable_parity 
+0282 08008618 inject mod ,24 
+0283 78447c00 disable enable_parity 
+0284 37d38200 until null ,tx_clear 
+0285 20000064 nop 100 
+0286 784efc00 disable encode_fec0 
+0287 784dfc00 disable encode_fec1 
+0288 20600000 rtn 
 
 p_g24_timer_check:
-02ad 20407fe9 call disable_user 
-02ae 680a4be9 fetcht 4 ,mem_24g_tx_btclk 
-02af 1c427e00 copy clkn_bt ,pdata 
-02b0 98467c00 isub temp ,null 
-02b1 24412d18 ncall g24_timer_timeout ,positive 
-02b2 1fe22400 copy pdata ,regb 
-02b3 68024be9 fetch 4 ,mem_24g_tx_btclk 
-02b4 6808cbed fetcht 1 ,mem_24g_interval 
-02b5 98408400 iadd temp ,temp 
-02b6 1a427e00 copy regb ,pdata 
-02b7 98467c00 isub temp ,null 
-02b8 24610000 nrtn positive 
-02b9 793ffe1c set0 28 ,pdata 
-02ba 60024be9 store 4 ,mem_24g_tx_btclk 
-02bb 20207fe7 branch enable_user 
+0289 20407fe9 call disable_user 
+028a 680a4c3f fetcht 4 ,mem_24g_tx_btclk 
+028b 1c427e00 copy clkn_bt ,pdata 
+028c 98467c00 isub temp ,null 
+028d 24412d18 ncall g24_timer_timeout ,positive 
+028e 1fe22400 copy pdata ,regb 
+028f 68024c3f fetch 4 ,mem_24g_tx_btclk 
+0290 6808cc43 fetcht 1 ,mem_24g_interval 
+0291 98408400 iadd temp ,temp 
+0292 1a427e00 copy regb ,pdata 
+0293 98467c00 isub temp ,null 
+0294 24610000 nrtn positive 
+0295 793ffe1c set0 28 ,pdata 
+0296 60024c3f store 4 ,mem_24g_tx_btclk 
+0297 20207fe7 branch enable_user 
 
 p_rssi_average:
-02bc d8400000 arg 0 ,temp 
-02bd df200008 arg rssi_buf_len_signal + 1 ,loopcnt 
-02be 1a220c00 copy rega ,contr 
+0298 d8400000 arg 0 ,temp 
+0299 df200008 arg rssi_buf_len_signal + 1 ,loopcnt 
+029a 1a220c00 copy rega ,contr 
 
 p_rssi_average_loop:
-02bf e8c08000 ifetch 1 ,contr 
-02c0 98408400 iadd temp ,temp 
-02c1 c20002bf loop p_rssi_average_loop 
-02c2 18497e00 rshift3 temp ,pdata 
-02c3 1fe20400 copy pdata ,temp 
-02c4 c6930000 rtnmark0 mark_24g 
-02c5 1fe6fc0a div pdata ,10 
-02c6 20407f86 call wait_div_end 
-02c7 1807fe00 quotient pdata 
-02c8 1ff27e00 lshift4 pdata ,pdata 
-02c9 18070400 remainder temp 
-02ca 98418400 ior temp ,temp 
-02cb 20600000 rtn 
-02cc 20600000 rtn 
+029b e8c08000 ifetch 1 ,contr 
+029c 98408400 iadd temp ,temp 
+029d c200029b loop p_rssi_average_loop 
+029e 18497e00 rshift3 temp ,pdata 
+029f 1fe20400 copy pdata ,temp 
+02a0 c6930000 rtnmark0 mark_24g 
+02a1 1fe6fc0a div pdata ,10 
+02a2 20407f86 call wait_div_end 
+02a3 1807fe00 quotient pdata 
+02a4 1ff27e00 lshift4 pdata ,pdata 
+02a5 18070400 remainder temp 
+02a6 98418400 ior temp ,temp 
+02a7 20600000 rtn 
+02a8 20600000 rtn 
 
 p_mouse_before_lpm:
-02cd c6130000 rtnmark1 mark_24g 
-02ce 204003b0 call p_mouse_le_txbuff_save 
-02cf 2040008a call p_mouse_setgpio_lpm 
-02d0 6800c040 fetch 1 ,mem_context 
-02d1 c30002d4 bbit0 state_inconn ,p_clear_wake 
-02d2 680080a0 fetch 1 ,mem_lpm_current_mult 
-02d3 247a0000 nrtn blank 
+02a9 c6130000 rtnmark1 mark_24g 
+02aa 20400398 call p_mouse_le_txbuff_save 
+02ab 204000d6 call p_mouse_setgpio_lpm 
+02ac 6800c040 fetch 1 ,mem_context 
+02ad c30002b0 bbit0 state_inconn ,p_clear_wake 
+02ae 680080a0 fetch 1 ,mem_lpm_current_mult 
+02af 247a0000 nrtn blank 
 
 p_clear_wake:
-02d4 58000000 setarg 0 
-02d5 600400a1 store 8 ,mem_gpio_wakeup_low 
-02d6 20600000 rtn 
+02b0 58000000 setarg 0 
+02b1 600400a1 store 8 ,mem_gpio_wakeup_low 
+02b2 20600000 rtn 
 
 p_mouse_set_sdio_high:
-02d7 6800cb05 fetch 1 ,mem_mouse_init_sensor_reset_flag 
-02d8 207a0000 rtn blank 
-02d9 20200547 branch p_mouse_seting_dpi_sensor_type 
+02b3 6800cb05 fetch 1 ,mem_mouse_init_sensor_reset_flag 
+02b4 207a0000 rtn blank 
+02b5 2020053f branch p_mouse_seting_dpi_sensor_type 
 
 p_device_init:
-02da 20403416 call app_lpm_mult_enable 
-02db 203582e6 branch p_device_init_common ,wake 
-02dc 70807820 jam 0x20 ,core_gpio_pu0 
-02dd 204003d5 call p_mouse_data_init 
-02de 6800c1de fetch 1 ,mem_tx_power 
-02df 6000cc7f store 1 ,mem_tx_power_temp 
-02e0 2040066b call power_ctrl_pac_succ_cnt_init 
-02e1 6800c685 fetch 1 ,mem_ui_button_timeout 
-02e2 6000c6da store 1 ,mem_combination_ui_button_count 
-02e3 204043ca call mouse_bt_discovery_button_down_disable 
-02e4 6801c4a3 fetch 3 ,mem_le_lap + 3 
-02e5 6001cb3f store 3 ,mem_le_lap_high_3b 
+02b6 20403416 call app_lpm_mult_enable 
+02b7 203582c2 branch p_device_init_common ,wake 
+02b8 70807820 jam 0x20 ,core_gpio_pu0 
+02b9 204003c0 call p_mouse_data_init 
+02ba 6800c1de fetch 1 ,mem_tx_power 
+02bb 6000ccd5 store 1 ,mem_tx_power_temp 
+02bc 2040065c call power_ctrl_pac_succ_cnt_init 
+02bd 6800c685 fetch 1 ,mem_ui_button_timeout 
+02be 6000c6da store 1 ,mem_combination_ui_button_count 
+02bf 204043ca call mouse_bt_discovery_button_down_disable 
+02c0 680344a0 fetch 6 ,mem_le_lap 
+02c1 60034b49 store 6 ,mem_le_normal_lap 
 
 p_device_init_common:
-02e6 204002eb call p_mouse_init 
-02e7 202074b9 branch enable_authrom 
+02c2 204002c7 call p_mouse_init 
+02c3 202074b9 branch enable_authrom 
 
 p_mouse_tx_power_init:
-02e8 6800cc7f fetch 1 ,mem_tx_power_temp 
-02e9 6000c1de store 1 ,mem_tx_power 
-02ea 20600000 rtn 
+02c4 6800ccd5 fetch 1 ,mem_tx_power_temp 
+02c5 6000c1de store 1 ,mem_tx_power 
+02c6 20600000 rtn 
 
 p_mouse_init:
-02eb 2455834a ncall p_mouse_setting_config ,wake 
-02ec 2040030d call p_mouse_spi_init 
-02ed 20758000 rtn wake 
-02ee 204006e5 call p_drawing_optima_init 
-02ef 2040039b call p_mouse_cb_fuction 
-02f0 20200381 branch p_mouse_wakeup_from_power 
+02c7 24558318 ncall p_mouse_setting_config ,wake 
+02c8 204002e5 call p_mouse_spi_init 
+02c9 20758000 rtn wake 
+02ca 204006d2 call p_drawing_optima_init 
+02cb 20400383 call p_mouse_cb_fuction 
+02cc 2020035e branch p_mouse_wakeup_from_power 
 
 p_mouse_check_reconn_target:
-02f1 204002e8 call p_mouse_tx_power_init 
-02f2 6800c210 fetch 1 ,mem_xrecord_mode 
-02f3 c01a02f5 beq rec_4_mode ,p_mouse4_0_check_reconn_target 
-02f4 20600000 rtn 
+02cd 204002c4 call p_mouse_tx_power_init 
+02ce 6800c210 fetch 1 ,mem_xrecord_mode 
+02cf c01a02d7 beq rec_4_mode ,p_mouse4_0_check_reconn_target 
+02d0 204004ee call p_mouse_fast_conn_adv_switch_timer_reinit 
+02d1 70016d06 jam 6 ,mem_connection_options 
+
+p_mouse_check_fast_conn_adv_start:
+
+p_mouse_check_fast_conn_adv_start1:
+02d2 70436f00 jam 0 ,mem_le_adv_data_len 
+02d3 70438f00 jam 0 ,mem_le_scan_data_len 
+02d4 d8e00007 arg mouse_store_eeprom_flag ,queue 
+02d5 204043d2 call mouse_disable_function_flag 
+02d6 2020033c branch p_mouse_fast_conn_init 
 
 p_mouse4_0_check_reconn_target:
-02f5 704b3c01 jam 1 ,mem_le_send_security_request_flag 
-02f6 7047a101 jam 1 ,mem_mouse_le_reconnect_flag 
-02f7 680146a8 fetch 2 ,mem_mouse_direct_timeout 
-
-p_mouse4_0_check_reconn_target_next:
-02f8 600146ae store 2 ,mem_mouse_direct_timer 
-02f9 20403418 call app_lpm_mult_disable 
-02fa 20400300 call p_le_check_adv_flag 
-02fb 58000004 setarg adv_flag_bredr_not_supported 
-02fc e0c08000 istore 1 ,contr 
-02fd d8c04390 arg mem_le_scan_data ,contr 
-02fe 2040059e call p_le_adv_data_update 
-02ff 20207df4 branch check_51cmd_adv 
-
-p_le_check_adv_flag:
-0300 da204370 arg mem_le_adv_data ,rega 
-
-p_le_check_adv_flag_loop:
-0301 ea208000 ifetch 1 ,rega 
-0302 207a0000 rtn blank 
-0303 98c0a200 iadd contr ,rega 
-0304 e8c08000 ifetch 1 ,contr 
-0305 c1008000 rtneq 0x01 
-0306 20200301 branch p_le_check_adv_flag_loop 
+02d7 704b3c01 jam 1 ,mem_le_send_security_request_flag 
+02d8 7047a101 jam 1 ,mem_mouse_le_reconnect_flag 
+02d9 680146a8 fetch 2 ,mem_mouse_direct_timeout 
+02da 600146ae store 2 ,mem_mouse_direct_timer 
+02db 204004a5 call p_mouse_store_eeprom_enable 
+02dc 20403418 call app_lpm_mult_disable 
+02dd d8c04390 arg mem_le_scan_data ,contr 
+02de 204004a1 call p_le_adv_data_update 
+02df 20207df4 branch check_51cmd_adv 
 
 p_mouse_dpi_config:
-0307 6800c77a fetch 1 ,mem_mouse_dpi 
-0308 c07f830a beq 0xff ,p_mouse_dpi_config_default 
-0309 20200547 branch p_mouse_seting_dpi_sensor_type 
+02e0 6800c77a fetch 1 ,mem_mouse_dpi 
+02e1 c0ff853f bne 0xff ,p_mouse_seting_dpi 
 
 p_mouse_dpi_config_default:
-030a 6800c6e1 fetch 1 ,mem_config_sensor_motion 
-030b 6000c77a store 1 ,mem_mouse_dpi 
-030c 20200547 branch p_mouse_seting_dpi_sensor_type 
+02e2 6800c6e1 fetch 1 ,mem_config_sensor_motion 
+02e3 6000c77a store 1 ,mem_mouse_dpi 
+02e4 2020053f branch p_mouse_seting_dpi 
 
 p_mouse_spi_init:
-030d 70421276 jam 0x76 ,mem_spi_init_clk 
-030e 20203d36 branch mouse_spi_init 
+02e5 70421276 jam 0x76 ,mem_spi_init_clk 
+02e6 20203d36 branch mouse_spi_init 
 
 p_mouse_init_sunt:
-030f 2040030d call p_mouse_spi_init 
-0310 204040c0 call mouse_spi_sdio_gpio_pollup 
+02e7 204002e5 call p_mouse_spi_init 
+02e8 204040c0 call mouse_spi_sdio_gpio_pollup 
 
 p_mouse_init_sensor:
-0311 204040d9 call mouse_read_sensor_id 
-0312 c018031b beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
-0313 c0188338 beq p3065_id1 ,p_mouse_p3065_init_param 
-0314 204040d1 call mouse_twspi_reset 
-0315 200003e8 nop 1000 
-0316 20200311 branch p_mouse_init_sensor 
+02e9 204040d9 call mouse_read_sensor_id 
+02ea c01802f3 beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
+02eb c0188313 beq p3065_id1 ,p_mouse_p3065_init_param 
+02ec 204040d1 call mouse_twspi_reset 
+02ed 200003e8 nop 1000 
+02ee 202002e9 branch p_mouse_init_sensor 
 
 p_mouse_init_sensor_reset:
-0317 704b0501 jam 1 ,mem_mouse_init_sensor_reset_flag 
-0318 2040640f call spi_ncs_enable 
-0319 2040030f call p_mouse_init_sunt 
-031a 20206411 branch spi_ncs_disable 
+02ef 704b0501 jam 1 ,mem_mouse_init_sensor_reset_flag 
+02f0 2040640f call spi_ncs_enable 
+02f1 204002e7 call p_mouse_init_sunt 
+02f2 20206411 branch spi_ncs_disable 
 
 p_mouse_init_p32xx_id2_judge:
-031b 2040033d call p_mouse_sensor_poweron 
-031c 6800c6de fetch 1 ,mem_sensor_id2 
-031d c06c031f beq p8009_id2 ,p_mouse_8009_init_param 
-031e 202040e1 branch mouse_init_p32xx_id2_judge + 1 
+02f3 204003dd call p_mouse_sensor_poweron 
+02f4 6800c6de fetch 1 ,mem_sensor_id2 
+02f5 c02d02f9 beq p_mx8650 ,p_mouse_mx8650_init_param 
+02f6 c02a0310 beq pka8_id2 ,p_mouse_ka8_init_param 
+02f7 c06c0301 beq p8009_id2 ,p_mouse_8009_init_param 
+02f8 202040e0 branch mouse_init_p32xx_id2_judge 
+
+p_mouse_mx8650_init_param:
+02f9 7046e007 jam mx8650 ,mem_config_sensor_type 
+02fa da604b56 arg mem_sensor_8650_init ,regc 
+
+p_sensor_wr_seq:
+02fb ea610000 ifetch 2 ,regc 
+02fc c17f8000 rtneq 0xff 
+02fd 20406413 call twspi_write 
+02fe 20002ee0 nop 12000 
+02ff 1a60a602 increase 2 ,regc 
+0300 202002fb branch p_sensor_wr_seq 
 
 p_mouse_8009_init_param:
-031f 58000016 setarg 0x16 
-0320 20406414 call twspi_read 
-0321 1fe67cbd sub pdata ,0xbd ,null 
-0322 24228311 nbranch p_mouse_init_sensor ,zero 
-0323 58000019 setarg 0x19 
-0324 20406414 call twspi_read 
-0325 1fe67c55 sub pdata ,0x55 ,null 
-0326 24228311 nbranch p_mouse_init_sensor ,zero 
-0327 5800001b setarg 0x1b 
-0328 20406414 call twspi_read 
-0329 1fe67c1d sub pdata ,0x1d ,null 
-032a 24228311 nbranch p_mouse_init_sensor ,zero 
-032b 7046e008 jam p8009 ,mem_config_sensor_type 
-032c 204040f6 call mouse_sensor_disable_wp 
-032d 58000206 setarg 0x0206 
-032e 20406413 call twspi_write 
-032f 58006909 setarg 0x6909 
-0330 20406413 call twspi_write 
-0331 5800480d setarg 0x480d 
-0332 20406413 call twspi_write 
-0333 58009f0e setarg 0x9f0e 
-0334 20406413 call twspi_write 
-0335 5800ba0f setarg 0xba0f 
-0336 20406413 call twspi_write 
-0337 202040f4 branch mouse_sensor_enable_wp 
+0301 58000016 setarg 0x16 
+0302 20406414 call twspi_read 
+0303 1fe67cbd sub pdata ,0xbd ,null 
+0304 242282e9 nbranch p_mouse_init_sensor ,zero 
+0305 58000019 setarg 0x19 
+0306 20406414 call twspi_read 
+0307 1fe67c55 sub pdata ,0x55 ,null 
+0308 242282e9 nbranch p_mouse_init_sensor ,zero 
+0309 5800001b setarg 0x1b 
+030a 20406414 call twspi_read 
+030b 1fe67c1d sub pdata ,0x1d ,null 
+030c 242282e9 nbranch p_mouse_init_sensor ,zero 
+030d 7046e008 jam p8009 ,mem_config_sensor_type 
+030e da604b7c arg mem_sensor_8009_init ,regc 
+030f 202002fb branch p_sensor_wr_seq 
+
+p_mouse_ka8_init_param:
+0310 7046e002 jam ka8 ,mem_config_sensor_type 
+0311 da604b6f arg mem_sensor_ka8_init ,regc 
+0312 202002fb branch p_sensor_wr_seq 
 
 p_mouse_p3065_init_param:
-0338 2040033d call p_mouse_sensor_poweron 
-0339 6800c6de fetch 1 ,mem_sensor_id2 
-033a c03840e8 beq p3065_xy_id2 ,mouse_p3065xy_init_param 
-033b 7046e001 jam p3065 ,mem_config_sensor_type 
-033c 20600000 rtn 
-
-p_mouse_sensor_poweron:
-033d 58008006 setarg 0x8006 
-033e 20406413 call twspi_write 
-033f 20002ee0 nop 12000 
-0340 20400307 call p_mouse_dpi_config 
-0341 6800c6de fetch 1 ,mem_sensor_id2 
-0342 c06c031f beq p8009_id2 ,p_mouse_8009_init_param 
-0343 20600000 rtn 
-
-p_mouse_sensor_powerdown:
-0344 58000006 setarg 0x06 
-0345 20406414 call twspi_read 
-0346 1fe1fe08 or pdata ,0x08 ,pdata 
-0347 1fed7e00 lshift8 pdata ,pdata 
-0348 1fe0fe06 add pdata ,0x06 ,pdata 
-0349 20206413 branch twspi_write 
+0313 204003dd call p_mouse_sensor_poweron 
+0314 6800c6de fetch 1 ,mem_sensor_id2 
+0315 c03840e8 beq p3065_xy_id2 ,mouse_p3065xy_init_param 
+0316 7046e001 jam p3065 ,mem_config_sensor_type 
+0317 20600000 rtn 
 
 p_mouse_setting_config:
-034a 680240a0 fetch 4 ,mem_lap 
-034b 60024bff store 4 ,mem_24g_device_addr 
-034c 20403e6e call mouse_gpio_init 
-034d 20403e1e call mouse_param_init 
-034e 58000000 setarg 0 
-034f 60014154 store 2 ,mem_lpm_interval 
-0350 20400363 call p_mouse_set_gpio_control_sensor 
-0351 58001802 setarg 0x1802 
-0352 600140bd store 2 ,mem_fcomp_mul 
-0353 d840001a arg mouse_spi1_sdio_gpio ,temp 
-0354 204067fb call gpio_config_input 
-0355 6808c6f7 fetcht 1 ,mem_select_sensor_angle_gpio 
-0356 793f8407 set0 gpio_active_bit ,temp 
-0357 20406806 call gpio_set_high_impedance 
-0358 20405810 call le_set_config_fixed_ltk 
-0359 20405839 call le_set_justwork 
-035a 2040582c call le_set_fixed_ltk 
-035b 20405818 call le_set_config_read_authentication 
+0318 680240a0 fetch 4 ,mem_lap 
+0319 60024c55 store 4 ,mem_24g_device_addr 
+031a 20403e6e call mouse_gpio_init 
+031b 20403e1e call mouse_param_init 
+031c 58000000 setarg 0 
+031d 60014154 store 2 ,mem_lpm_interval 
+031e 20400340 call p_mouse_set_gpio_control_sensor 
+031f 58001802 setarg 0x1802 
+0320 600140bd store 2 ,mem_fcomp_mul 
+0321 d840001a arg mouse_spi1_sdio_gpio ,temp 
+0322 204067fb call gpio_config_input 
+0323 6808c6f7 fetcht 1 ,mem_select_sensor_angle_gpio 
+0324 793f8407 set0 gpio_active_bit ,temp 
+0325 20406806 call gpio_set_high_impedance 
+0326 20405810 call le_set_config_fixed_ltk 
+0327 20405839 call le_set_justwork 
+0328 2040582c call le_set_fixed_ltk 
+0329 20405818 call le_set_config_read_authentication 
 
 p_mouse_init_iic:
-035c 2040659c call iic_init_390k 
-035d 204065c2 call clear_eeprom_size_2k 
-035e 2040443f call mouse_load_eeprom_dpi 
-035f 20400372 call p_mouse_init_environment 
-0360 2040044e call p_mouse_set_24g_addr_eeprom 
-0361 204065df call iicd_read_eep_data 
-0362 20600000 rtn 
+032a 2040659c call iic_init_390k 
+032b 204065c2 call clear_eeprom_size_2k 
+032c 2040443f call mouse_load_eeprom_dpi 
+032d 2040034f call p_mouse_init_environment 
+032e 2040043b call p_mouse_set_24g_addr_eeprom 
+032f 204065df call iicd_read_eep_data 
+0330 6800c720 fetch 1 ,mem_device_flag 
+0331 c1010000 rtneq mode_24g_device 
+0332 68034b43 fetch 6 ,mem_mouse_24g_addr_init 
+0333 680b4722 fetcht 6 ,mem_device1_addr 
+0334 98467c00 isub temp ,null 
+0335 24228338 nbranch p_mouse_fast_conn_disable ,zero 
+0336 2020033a branch p_mouse_fast_conn_le_switch_adv 
+0337 20600000 rtn 
+
+p_mouse_fast_conn_disable:
+0338 704b145a jam 0x5a ,mem_mouse_fast_conn_flag 
+0339 20600000 rtn 
+
+p_mouse_fast_conn_le_switch_adv:
+033a 704b5001 jam 1 ,mem_le_switch_adv_timer 
+033b 704b4f01 jam 1 ,mem_le_switch_adv_flag 
+
+p_mouse_fast_conn_init:
+033c 704b14ff jam 0xff ,mem_mouse_fast_conn_flag 
+033d 68034d63 fetch 6 ,mem_24g_allpowerful_addr 
+033e 600344a0 store 6 ,mem_le_lap 
+033f 20600000 rtn 
 
 p_mouse_set_gpio_control_sensor:
 
 p_mouse_sensor_set_angle:
-0363 6810807b hfetch 1 ,core_gpio_pu3 
-0364 793ffe05 set0 5 ,pdata 
-0365 6010807b hstore 1 ,core_gpio_pu3 
-0366 6808c6f7 fetcht 1 ,mem_select_sensor_angle_gpio 
-0367 2040680e call gpio_config_output 
-0368 6808c6f7 fetcht 1 ,mem_select_sensor_angle_gpio 
-0369 20406829 call gpio_out_active 
-036a d840001a arg mouse_spi1_sdio_gpio ,temp 
-036b 20400528 call p_gpio_set_input_pu 
-036c d840001a arg mouse_spi1_sdio_gpio ,temp 
-036d 2040681d call gpio_get_bit 
-036e 7046f602 jam mouse_12clk_angle ,mem_config_sensor_angle 
-036f 20608000 rtn true 
-0370 7046f601 jam mouse_9clk_angle ,mem_config_sensor_angle 
-0371 20600000 rtn 
+0340 6810807b hfetch 1 ,core_gpio_pu3 
+0341 793ffe05 set0 5 ,pdata 
+0342 6010807b hstore 1 ,core_gpio_pu3 
+0343 6808c6f7 fetcht 1 ,mem_select_sensor_angle_gpio 
+0344 2040680e call gpio_config_output 
+0345 6808c6f7 fetcht 1 ,mem_select_sensor_angle_gpio 
+0346 20406829 call gpio_out_active 
+0347 d840001a arg mouse_spi1_sdio_gpio ,temp 
+0348 20400524 call p_gpio_set_input_pu 
+0349 d840001a arg mouse_spi1_sdio_gpio ,temp 
+034a 2040681d call gpio_get_bit 
+034b 7046f602 jam mouse_12clk_angle ,mem_config_sensor_angle 
+034c 20608000 rtn true 
+034d 7046f601 jam mouse_9clk_angle ,mem_config_sensor_angle 
+034e 20600000 rtn 
 
 p_mouse_init_environment:
-0372 204033c4 call app_initflag_check 
-0373 2022c316 branch mouse_eeprom_load_recon_info ,zero 
-0374 20400571 call p_le_addr_random_config 
-0375 20203dcb branch mouse_init_environment + 2 
+034f 204033c4 call app_initflag_check 
+0350 2022c316 branch mouse_eeprom_load_recon_info ,zero 
+0351 20400570 call p_le_addr_random_config 
+0352 20203dcb branch mouse_init_environment + 2 
 
 p_app_flag_store:
-0376 d8400002 arg 2 ,temp 
-0377 da200aaa arg mem_timeup ,rega 
-0378 da400062 arg mouse_eeprom_module_init_flag ,regb 
-0379 202065d1 branch iicd_write_protect_eep_data 
+0353 d8400002 arg 2 ,temp 
+0354 da200aaa arg mem_timeup ,rega 
+0355 da400062 arg mouse_eeprom_module_init_flag ,regb 
+0356 202065d1 branch iicd_write_protect_eep_data 
 
 p_app_initflag_check:
-037a d8400002 arg 2 ,temp 
-037b da200a9a arg mem_pdatatemp ,rega 
-037c da400062 arg mouse_eeprom_module_init_flag ,regb 
-037d 202033c8 branch app_initflag_check + 4 
+0357 d8400002 arg 2 ,temp 
+0358 da200a9a arg mem_pdatatemp ,rega 
+0359 da400062 arg mouse_eeprom_module_init_flag ,regb 
+035a 202033c8 branch app_initflag_check + 4 
 
 p_mouse_24g_transmit_by_interrupt_exit_count_max:
-037e 58000177 setarg 375 
-037f 60014d0b store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
-0380 20600000 rtn 
+035b 58000177 setarg 375 
+035c 60014d61 store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+035d 20600000 rtn 
 
 p_mouse_wakeup_from_power:
-0381 58000019 setarg 25 
-0382 60014d0b store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
-0383 2455837e ncall p_mouse_24g_transmit_by_interrupt_exit_count_max ,wake 
-0384 2040030f call p_mouse_init_sunt 
-0385 20400344 call p_mouse_sensor_powerdown 
-
-p_mouse_wakeup_no_from_power:
-0386 70471e00 jam 0 ,mem_reconn_times 
-
-p_mouse_start_24g_mode:
-0387 6800cb39 fetch 1 ,mem_power_on_flag 
-0388 c2810194 bbit1 2 ,p_mouse_wakeup_from_hibernate 
-0389 5800ffff setarg 0xffff 
-038a 60014bf0 store 2 ,mem_24g_addr 
-038b e0a10000 istore 2 ,contw 
-038c 2040044e call p_mouse_set_24g_addr_eeprom 
-038d 204065d1 call iicd_write_protect_eep_data 
-038e 202001c0 branch p_g24_auto_pair_start 
-
-p_mouse_check_reconn_target_bt:
-038f 7041bd00 jam 0 ,mem_link_key_exists 
-0390 20404316 call mouse_eeprom_load_recon_info 
-0391 202002f1 branch p_mouse_check_reconn_target 
+035e 58000019 setarg 25 
+035f 60014d61 store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+0360 2455835b ncall p_mouse_24g_transmit_by_interrupt_exit_count_max ,wake 
+0361 204002e7 call p_mouse_init_sunt 
+0362 20400478 call p_mouse_sensor_powerdown 
+0363 70471e00 jam 0 ,mem_reconn_times 
+
+p_mouse_start:
+0364 6800cb39 fetch 1 ,mem_power_on_flag 
+0365 c2810374 bbit1 2 ,p_mouse_wakeup_from_hibernate 
+0366 704b420a jam ble_poweron_reconn_timer ,mem_mouse_poweron_bt_start_reconn_timer 
+0367 204002e2 call p_mouse_dpi_config_default 
+0368 704b3aff jam latest_mode_null ,mem_mouse_latest_mode 
+
+p_mouse_start_24g_pair:
+0369 68024b43 fetch 4 ,mem_mouse_24g_addr_init 
+036a 60024c46 store 4 ,mem_24g_addr 
+036b 20400407 call p_mouse_store_latest_mode_eeprom 
+
+p_g24_auto_pair_start:
+036c 79200026 set1 mark_24g ,mark 
+036d 6800cd67 fetch 1 ,mem_24g_conn_sm 
+036e 79207e01 set1 state_24g_pair ,pdata 
+036f 6000cd67 store 1 ,mem_24g_conn_sm 
+
+p_g24_auto_pair_timeout_init:
+0370 5800003c setarg g24_first_disconn_nodata_timer 
+0371 60014d69 store 2 ,mem_24g_stop_g24_mode_timeout 
+0372 704d6800 jam 0 ,mem_24g_stop_g24_mode 
+0373 20600000 rtn 
+
+p_mouse_wakeup_from_hibernate:
+0374 20400409 call p_mouse_read_latest_mode_eeprom 
+0375 6800cb3a fetch 1 ,mem_mouse_latest_mode 
+0376 c00082cd beq latest_mode_bt ,p_mouse_check_reconn_target 
+0377 c00101d9 beq latest_mode_24g ,p_g24_start_24g_mode 
+0378 704b420a jam ble_poweron_reconn_timer ,mem_mouse_poweron_bt_start_reconn_timer 
+0379 20600000 rtn 
 
 p_g24_factory_check:
-0392 df200002 arg 2 ,loopcnt 
-0393 d8c04bf0 arg mem_24g_addr ,contr 
+037a df200002 arg 2 ,loopcnt 
+037b d8c04c46 arg mem_24g_addr ,contr 
 
 p_pdata_0xff_check:
-0394 20407fe7 call enable_user 
-0395 5800ffff setarg 0xffff 
+037c 20407fe7 call enable_user 
+037d 5800ffff setarg 0xffff 
 
 p_pdata_0xff_check_loop:
-0396 e8c90000 ifetcht 2 ,contr 
-0397 98467c00 isub temp ,null 
-0398 2442ffe9 ncall disable_user ,zero 
-0399 c2000396 loop p_pdata_0xff_check_loop 
-039a 20600000 rtn 
+037e e8c90000 ifetcht 2 ,contr 
+037f 98467c00 isub temp ,null 
+0380 2442ffe9 ncall disable_user ,zero 
+0381 c200037e loop p_pdata_0xff_check_loop 
+0382 20600000 rtn 
 
 p_mouse_cb_fuction:
-039b 580003ac setarg p_mouse_g24_package_data 
-039c 60014cf9 store 2 ,mem_cb_24g_data 
-039d 580003c3 setarg p_mouse_le 
-039e 600141ef store 2 ,mem_cb_le_process 
-039f 58000659 setarg p_le_mouse_bb_event_connect_complete 
-03a0 600141f9 store 2 ,mem_cb_att_write 
-03a1 580002cd setarg p_mouse_before_lpm 
-03a2 600141ed store 2 ,mem_cb_before_lpm 
-03a3 58000403 setarg p_mouse_priority_bb_event 
-03a4 600141f5 store 2 ,mem_cb_bb_event_process 
-03a5 580003f7 setarg p_mouse_idle 
-03a6 600141f3 store 2 ,mem_cb_idle_process 
-03a7 58000467 setarg p_mouse_before_hibernate 
-03a8 600141eb store 2 ,mem_cb_before_hibernate 
-03a9 58000483 setarg p_mouse_bb_event_timer 
-03aa 600141fd store 2 ,mem_cb_event_timer 
-03ab 20600000 rtn 
+0383 58000394 setarg p_mouse_g24_package_data 
+0384 60014d4f store 2 ,mem_cb_24g_data 
+0385 580003ab setarg p_mouse_le 
+0386 600141ef store 2 ,mem_cb_le_process 
+0387 5800064a setarg p_le_mouse_bb_event_connect_complete 
+0388 600141f9 store 2 ,mem_cb_att_write 
+0389 580002a9 setarg p_mouse_before_lpm 
+038a 600141ed store 2 ,mem_cb_before_lpm 
+038b 580003ed setarg p_mouse_priority_bb_event 
+038c 600141f5 store 2 ,mem_cb_bb_event_process 
+038d 580003e1 setarg p_mouse_idle 
+038e 600141f3 store 2 ,mem_cb_idle_process 
+038f 5800045d setarg p_mouse_before_hibernate 
+0390 600141eb store 2 ,mem_cb_before_hibernate 
+0391 5800047e setarg p_mouse_bb_event_timer 
+0392 600141fd store 2 ,mem_cb_event_timer 
+0393 20600000 rtn 
 
 p_mouse_g24_package_data:
-03ac 20404401 call mouse_g24_package_data 
-03ad 6801469f fetch 2 ,mem_mouse_z 
-03ae 207a0000 rtn blank 
-03af 202001af branch p_g24_transmit_by_interrupt_enable 
+0394 20404401 call mouse_g24_package_data 
+0395 6801469f fetch 2 ,mem_mouse_z 
+0396 207a0000 rtn blank 
+0397 2020007a branch p_g24_transmit_by_interrupt_enable 
 
 p_mouse_le_txbuff_save:
-03b0 d8c01800 arg mem_le_tx_buffer0 ,contr 
-03b1 d8a0480d arg mem_le_tx_buffer0_omemalloc ,contw 
-03b2 204003b8 call p_mouse_le_txbuff_copy 
-03b3 d8c01900 arg mem_le_tx_buffer1 ,contr 
-03b4 204003b8 call p_mouse_le_txbuff_copy 
-03b5 d8c01a00 arg mem_le_tx_buffer2 ,contr 
-03b6 204003b8 call p_mouse_le_txbuff_copy 
-03b7 d8c01b00 arg mem_le_tx_buffer3 ,contr 
+0398 d8c01800 arg mem_le_tx_buffer0 ,contr 
+0399 d8a0480d arg mem_le_tx_buffer0_omemalloc ,contw 
+039a 204003a0 call p_mouse_le_txbuff_copy 
+039b d8c01900 arg mem_le_tx_buffer1 ,contr 
+039c 204003a0 call p_mouse_le_txbuff_copy 
+039d d8c01a00 arg mem_le_tx_buffer2 ,contr 
+039e 204003a0 call p_mouse_le_txbuff_copy 
+039f d8c01b00 arg mem_le_tx_buffer3 ,contr 
 
 p_mouse_le_txbuff_copy:
-03b8 df20001b arg 27 ,loopcnt 
-03b9 20207f01 branch memcpy 
+03a0 df20001b arg 27 ,loopcnt 
+03a1 20207f01 branch memcpy 
 
 p_mouse_le_txbuff_load:
-03ba d8c0480d arg mem_le_tx_buffer0_omemalloc ,contr 
-03bb d8a01800 arg mem_le_tx_buffer0 ,contw 
-03bc 204003b8 call p_mouse_le_txbuff_copy 
-03bd d8a01900 arg mem_le_tx_buffer1 ,contw 
-03be 204003b8 call p_mouse_le_txbuff_copy 
-03bf d8a01a00 arg mem_le_tx_buffer2 ,contw 
-03c0 204003b8 call p_mouse_le_txbuff_copy 
-03c1 d8a01b00 arg mem_le_tx_buffer3 ,contw 
-03c2 202003b8 branch p_mouse_le_txbuff_copy 
+03a2 d8c0480d arg mem_le_tx_buffer0_omemalloc ,contr 
+03a3 d8a01800 arg mem_le_tx_buffer0 ,contw 
+03a4 204003a0 call p_mouse_le_txbuff_copy 
+03a5 d8a01900 arg mem_le_tx_buffer1 ,contw 
+03a6 204003a0 call p_mouse_le_txbuff_copy 
+03a7 d8a01a00 arg mem_le_tx_buffer2 ,contw 
+03a8 204003a0 call p_mouse_le_txbuff_copy 
+03a9 d8a01b00 arg mem_le_tx_buffer3 ,contw 
+03aa 202003a0 branch p_mouse_le_txbuff_copy 
 
 p_mouse_le:
-03c3 20405892 call le_fifo_check_nearly_full 
-03c4 247a0000 nrtn blank 
-03c5 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
-03c6 1fe17e03 and pdata ,0x03 ,pdata 
-03c7 c1818000 rtnne 0x03 
+03ab 20405892 call le_fifo_check_nearly_full 
+03ac 247a0000 nrtn blank 
+03ad 6800cb14 fetch 1 ,mem_mouse_fast_conn_flag 
+03ae c07f83b2 beq 0xff ,p_mouse_le_next 
+03af 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+03b0 1fe17e03 and pdata ,0x03 ,pdata 
+03b1 c1818000 rtnne 0x03 
 
 p_mouse_le_next:
-03c8 6800c79e fetch 1 ,mem_mouse_clear_sensor_data_flag 
-03c9 205a03f4 call p_mouse_clear_sensor_data ,blank 
-03ca 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
-03cb c282c179 bbit1 mouse_bt_discovery_button_down_flag ,mouse_le_send_empty_packet 
-03cc 20403f97 call mouse_motion 
-03cd 24740000 nrtn user 
-03ce 204003d2 call p_mouse_le_current_mult_update 
-03cf 2040010e call p_mouse_data_xy_release 
-03d0 204003ef call p_mouse_wheel_trigger 
-03d1 202003da branch p_mouse_data_push 
-
-p_mouse_le_current_mult_update:
-03d2 70417200 jam 0 ,mem_lpm_mult 
-03d3 70480b1e jam 30 ,mem_mouse_le_current_mult_timer 
-03d4 20600000 rtn 
-
-p_mouse_data_init:
-03d5 7047a207 jam 7 ,mem_mouse_data_queue 
-03d6 7047a304 jam 4 ,mem_mouse_data_queue + 1 
-03d7 580047a2 setarg mem_mouse_data_queue 
-03d8 60014218 store 2 ,mem_queue_ptr 
-03d9 20207e38 branch queue_init 
+03b2 6800c79e fetch 1 ,mem_mouse_clear_sensor_data_flag 
+03b3 205a03db call p_mouse_clear_sensor_data ,blank 
+03b4 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+03b5 c282c179 bbit1 mouse_bt_discovery_button_down_flag ,mouse_le_send_empty_packet 
+03b6 20403f97 call mouse_motion 
+03b7 24740000 nrtn user 
+03b8 70417200 jam 0 ,mem_lpm_mult 
+03b9 70480b1e jam 30 ,mem_mouse_le_current_mult_timer 
+03ba 20400162 call p_mouse_data_xy_release 
+03bb 204003d6 call p_mouse_wheel_trigger 
 
 p_mouse_data_push:
-03da da20469a arg mem_mouse_key ,rega 
-03db 20407e3d call queue_push 
-03dc 205403de call p_mouse_queue_increase ,user 
-03dd 20600000 rtn 
+03bc da20469a arg mem_mouse_key ,rega 
+03bd 20407e3d call queue_push 
+03be 205403c5 call p_mouse_queue_increase ,user 
+03bf 20600000 rtn 
+
+p_mouse_data_init:
+03c0 7047a207 jam 7 ,mem_mouse_data_queue 
+03c1 7047a304 jam 4 ,mem_mouse_data_queue + 1 
+03c2 580047a2 setarg mem_mouse_data_queue 
+03c3 60014218 store 2 ,mem_queue_ptr 
+03c4 20207e38 branch queue_init 
 
 p_mouse_queue_increase:
-03de 6800c7c3 fetch 1 ,mem_mouse_data_queue_num 
-03df 1fe0fe01 increase 1 ,pdata 
-03e0 6000c7c3 store 1 ,mem_mouse_data_queue_num 
-03e1 20600000 rtn 
+03c5 6800c7c3 fetch 1 ,mem_mouse_data_queue_num 
+03c6 1fe0fe01 increase 1 ,pdata 
+03c7 6000c7c3 store 1 ,mem_mouse_data_queue_num 
+03c8 20600000 rtn 
 
 p_mouse_data_pull:
-03e2 da20469a arg mem_mouse_key ,rega 
-03e3 20407e54 call queue_pop 
-03e4 203403e6 branch p_mouse_fill_data_le ,user 
-03e5 20600000 rtn 
+03c9 da20469a arg mem_mouse_key ,rega 
+03ca 20407e54 call queue_pop 
+03cb 203403cd branch p_mouse_fill_data_le ,user 
+03cc 20600000 rtn 
 
 p_mouse_fill_data_le:
-03e6 20405652 call le_clear_md 
-03e7 6800c7c3 fetch 1 ,mem_mouse_data_queue_num 
-03e8 1fe67c01 sub pdata ,1 ,null 
-03e9 24415650 ncall le_set_md ,positive 
-03ea 6800c7c3 fetch 1 ,mem_mouse_data_queue_num 
-03eb 207a0000 rtn blank 
-03ec 1fe0ffff increase -1 ,pdata 
-03ed 6000c7c3 store 1 ,mem_mouse_data_queue_num 
-03ee 20203f90 branch mouse_fill_data_le 
+03cd 20405652 call le_clear_md 
+03ce 6800c7c3 fetch 1 ,mem_mouse_data_queue_num 
+03cf 1fe67c01 sub pdata ,1 ,null 
+03d0 24415650 ncall le_set_md ,positive 
+03d1 6800c7c3 fetch 1 ,mem_mouse_data_queue_num 
+03d2 207a0000 rtn blank 
+03d3 1fe0ffff increase -1 ,pdata 
+03d4 6000c7c3 store 1 ,mem_mouse_data_queue_num 
+03d5 20203f90 branch mouse_fill_data_le 
 
 p_mouse_wheel_trigger:
-03ef 6801469f fetch 2 ,mem_mouse_z 
-03f0 207a0000 rtn blank 
-03f1 70480801 jam 1 ,mem_mouse_wheel_trigger 
-03f2 70480902 jam 2 ,mem_mouse_wheel_trigger_timer 
-03f3 20600000 rtn 
+03d6 6801469f fetch 2 ,mem_mouse_z 
+03d7 207a0000 rtn blank 
+03d8 70480801 jam 1 ,mem_mouse_wheel_trigger 
+03d9 70480902 jam 2 ,mem_mouse_wheel_trigger_timer 
+03da 20600000 rtn 
 
 p_mouse_clear_sensor_data:
-03f4 20405814 call le_set_config_more_data 
-03f5 70479e01 jam 1 ,mem_mouse_clear_sensor_data_flag 
-03f6 2020033d branch p_mouse_sensor_poweron 
+03db 20405814 call le_set_config_more_data 
+03dc 70479e01 jam 1 ,mem_mouse_clear_sensor_data_flag 
+
+p_mouse_sensor_poweron:
+03dd 204002e5 call p_mouse_spi_init 
+03de da604b8b arg mem_sensor_poweron_init ,regc 
+03df 204002fb call p_sensor_wr_seq 
+03e0 202002e0 branch p_mouse_dpi_config 
 
 p_mouse_idle:
-03f7 20407e34 call ui_check_paring_button 
-03f8 204003fa call p_mouse_dpi_check 
-03f9 20203ee0 branch mouse_wheel_check 
+03e1 20407e34 call ui_check_paring_button 
+03e2 204003e4 call p_mouse_dpi_check 
+03e3 20203ee0 branch mouse_wheel_check 
 
 p_mouse_dpi_check:
-03fa 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
-03fb 2040052d call p_gpio_set_input_pd 
-03fc 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
-03fd 2040681d call gpio_get_bit 
-03fe 20208401 branch p_mouse_dpi_up ,true 
-03ff 20400528 call p_gpio_set_input_pu 
-0400 20203d6d branch mouse_dpi_down 
+03e4 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
+03e5 20400529 call p_gpio_set_input_pd 
+03e6 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
+03e7 2040681d call gpio_get_bit 
+03e8 202083eb branch p_mouse_dpi_up ,true 
+03e9 20400524 call p_gpio_set_input_pu 
+03ea 20203d6d branch mouse_dpi_down 
 
 p_mouse_dpi_up:
-0401 20400528 call p_gpio_set_input_pu 
-0402 20203d62 branch mouse_dpi_up 
+03eb 20400524 call p_gpio_set_input_pu 
+03ec 20203d62 branch mouse_dpi_up 
 
 p_mouse_priority_bb_event:
-0403 1a627e00 copy regc ,pdata 
-0404 c00a040d beq bt_evt_le_connected ,p_mouse_le_bb_event_connected 
-0405 c00a8424 beq bt_evt_le_disconnected ,p_mouse_le_bb_disconnected 
-0406 c014842e beq bt_evt_le_enc_info ,p_mouse_le_enc_info 
-0407 c0190430 beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
-0408 c0200437 beq bt_evt_le_parse_conn_papa_update_rsp ,p_mouse_le_conn_param_update_rsp_recieved 
-0409 c01c8442 beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
-040a c01d0452 beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
-040b c01e0462 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
-040c 2020417d branch mouse_priority_bb_event + 1 
+03ed 1a627e00 copy regc ,pdata 
+03ee c00a03f7 beq bt_evt_le_connected ,p_mouse_le_bb_event_connected 
+03ef c00a840f beq bt_evt_le_disconnected ,p_mouse_le_bb_disconnected 
+03f0 c014841c beq bt_evt_le_enc_info ,p_mouse_le_enc_info 
+03f1 c019041e beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
+03f2 c0200426 beq bt_evt_le_parse_conn_papa_update_rsp ,p_mouse_le_conn_param_update_rsp_recieved 
+03f3 c01c8434 beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
+03f4 c01d043f beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
+03f5 c01e044d beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
+03f6 2020417d branch mouse_priority_bb_event + 1 
 
 p_mouse_le_bb_event_connected:
-040d 204004f8 call p_mouse_discovey_led_blink_off 
-040e 704b3d01 jam 1 ,mem_mouse_le_bb_connected_flag 
-040f 6800c7a1 fetch 1 ,mem_mouse_le_reconnect_flag 
-0410 243a0412 nbranch p_mouse_le_bb_event_connected_next ,blank 
-0411 704b3b14 jam 0x14 ,mem_mouse_send_secutiry_request_timer 
+03f7 204002ef call p_mouse_init_sensor_reset 
+03f8 204041c3 call mouse_le_bb_event_connected 
+03f9 58000000 setarg 0 
+03fa 6001cb4f store 3 ,mem_le_switch_adv_flag 
+03fb 20403410 call app_ble_store_reconn_info 
+03fc 704b3a01 jam latest_mode_bt ,mem_mouse_latest_mode 
+03fd 6800c7a1 fetch 1 ,mem_mouse_le_reconnect_flag 
+03fe 243a0400 nbranch p_mouse_le_bb_event_connected_next ,blank 
+03ff 704b3b14 jam 0x14 ,mem_mouse_send_secutiry_request_timer 
 
 p_mouse_le_bb_event_connected_next:
-0412 20400417 call p_mouse_store_latest_mode_le 
-0413 70480a00 jam 0 ,mem_mouse_long_mult_flag 
-0414 20400317 call p_mouse_init_sensor_reset 
-0415 204003d5 call p_mouse_data_init 
-0416 202041c3 branch mouse_le_bb_event_connected 
-
-p_mouse_store_latest_mode_le:
-0417 df200003 arg 3 ,loopcnt 
-0418 d8c044a0 arg mem_le_lap ,contr 
-0419 20400394 call p_pdata_0xff_check 
-041a 20740000 rtn user 
-041b 704b3a01 jam latest_mode_bt ,mem_mouse_latest_mode 
+0400 704b4200 jam 0 ,mem_mouse_poweron_bt_start_reconn_timer 
+0401 704b5300 jam 0 ,mem_mouse_le_adv_start 
+0402 704b3d01 jam 1 ,mem_mouse_le_bb_connected_flag 
+0403 704b5400 jam 0 ,mem_mouse_le_not_tx_disconn 
+0404 704b5200 jam 0 ,mem_mouse_start_discovery_enable 
+0405 204001eb call p_g24_check_51cmd_stop_24g 
+0406 202003c0 branch p_mouse_data_init 
 
 p_mouse_store_latest_mode_eeprom:
-041c 20400420 call p_mouse_set_latest_mode_eeprom 
-041d 202065d1 branch iicd_write_protect_eep_data 
+0407 2040040b call p_mouse_set_latest_mode_eeprom 
+0408 202065d1 branch iicd_write_protect_eep_data 
 
 p_mouse_read_latest_mode_eeprom:
-041e 20400420 call p_mouse_set_latest_mode_eeprom 
-041f 202065df branch iicd_read_eep_data 
+0409 2040040b call p_mouse_set_latest_mode_eeprom 
+040a 202065df branch iicd_read_eep_data 
 
 p_mouse_set_latest_mode_eeprom:
-0420 da204b3a arg mem_mouse_latest_mode ,rega 
-0421 da400065 arg mouse_latest_mode_offset ,regb 
-0422 d8400001 arg 1 ,temp 
-0423 20600000 rtn 
+040b da204b3a arg mem_mouse_latest_mode ,rega 
+040c da400065 arg mouse_latest_mode_offset ,regb 
+040d d8400001 arg 1 ,temp 
+040e 20600000 rtn 
 
 p_mouse_le_bb_disconnected:
-0424 704b3d00 jam 0 ,mem_mouse_le_bb_connected_flag 
-0425 2040047f call p_mouse_sensor_powerdown_check 
-0426 58000007 setarg le_interval_8_75ms 
-0427 60014496 store 2 ,mem_le_interval_min 
-0428 60014498 store 2 ,mem_le_interval_min + 2 
-0429 7047c600 jam le_lpm_enable ,mem_mouse_le_conn_param_reject 
-042a 70479e00 jam 0 ,mem_mouse_clear_sensor_data_flag 
-042b 204003d5 call p_mouse_data_init 
-042c 20405816 call le_clr_config_more_data 
-042d 202041d9 branch mouse_bb_disconnected 
+040f 20400475 call p_mouse_sensor_powerdown_check 
+0410 704b3d00 jam 0 ,mem_mouse_le_bb_connected_flag 
+0411 58000007 setarg le_interval_8_75ms 
+0412 60014496 store 2 ,mem_le_interval_min 
+0413 60014498 store 2 ,mem_le_interval_min + 2 
+0414 7047c600 jam le_lpm_enable ,mem_mouse_le_conn_param_reject 
+0415 70479e00 jam 0 ,mem_mouse_clear_sensor_data_flag 
+0416 204003c0 call p_mouse_data_init 
+0417 20405816 call le_clr_config_more_data 
+0418 204041d9 call mouse_bb_disconnected 
+0419 6800cb52 fetch 1 ,mem_mouse_start_discovery_enable 
+041a 207a0000 rtn blank 
+041b 20200499 branch p_check_51cmd_adv 
 
 p_mouse_le_enc_info:
 
 p_app_updata_le_param:
-042e 700a9912 jam bt_cmd_le_update_conn ,mem_fifo_temp 
-042f 20207d8f branch ui_ipc_send_cmd 
+041c 700a9912 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+041d 20207d8f branch ui_ipc_send_cmd 
 
 p_mouse_le_ll_start_encryt:
-0430 6800c7a1 fetch 1 ,mem_mouse_le_reconnect_flag 
-0431 c0008433 beq 1 ,p_mouse_le_ll_reconn_start_encryt 
-0432 20200435 branch p_mouse_le_ll_enable_start_enc_flag 
+041e 6800c7a1 fetch 1 ,mem_mouse_le_reconnect_flag 
+041f c0008422 beq 1 ,p_mouse_le_ll_reconn_start_encryt 
+0420 7046c614 jam 20 ,mem_le_start_encrypt_timer 
+0421 20200424 branch p_mouse_le_ll_enable_start_enc_flag 
 
 p_mouse_le_ll_reconn_start_encryt:
-0433 2040042e call p_app_updata_le_param 
-0434 7046c614 jam 20 ,mem_le_start_encrypt_timer 
+0422 2040041c call p_app_updata_le_param 
+0423 7046c60a jam 10 ,mem_le_start_encrypt_timer 
 
 p_mouse_le_ll_enable_start_enc_flag:
-0435 d8e00001 arg ll_start_enc_flag ,queue 
-0436 202041b9 branch mouse_le_enable_connect_flag 
+0424 d8e00001 arg ll_start_enc_flag ,queue 
+0425 202041b9 branch mouse_le_enable_connect_flag 
 
 p_mouse_le_conn_param_update_rsp_recieved:
-0437 68014509 fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
-0438 c1000000 rtneq ble_signaling_connect_parameter_update_accepted 
-0439 68008441 fetch 1 ,mem_le_tsniff 
-043a 1feb7e00 rshift2 pdata ,pdata 
-043b 1fe67c0c sub pdata ,le_interval_15ms ,null 
-043c 20610000 rtn positive 
-043d 58000009 setarg le_interval_11_25ms 
-043e 60014496 store 2 ,mem_le_interval_min 
-043f 60014498 store 2 ,mem_le_interval_min + 2 
-0440 2040042e call p_app_updata_le_param 
-0441 202005be branch p_mouse_le_conn_param_lpm_disable 
+0426 68014509 fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+0427 c1000000 rtneq ble_signaling_connect_parameter_update_accepted 
+0428 68008441 fetch 1 ,mem_le_tsniff 
+0429 1feb7e00 rshift2 pdata ,pdata 
+042a 1fe67c0c sub pdata ,le_interval_15ms ,null 
+042b 20210432 branch p_mouse_le_conn_param_update_rsp_not_accepted ,positive 
+042c 58000009 setarg le_interval_11_25ms 
+042d 60014496 store 2 ,mem_le_interval_min 
+042e 60014498 store 2 ,mem_le_interval_min + 2 
+042f 2040041c call p_app_updata_le_param 
+0430 7047c601 jam le_lpm_disable ,mem_mouse_le_conn_param_reject 
+0431 20600000 rtn 
+
+p_mouse_le_conn_param_update_rsp_not_accepted:
+0432 704b5501 jam 1 ,mem_mouse_le_updata_not_accepted_flag 
+0433 20200600 branch p_mouse_le_conn_param_update_rsp_not_accepted_mult_reset 
 
 p_mouse_24g_pairing_complete:
-0442 20400317 call p_mouse_init_sensor_reset 
-0443 70478b01 jam 1 ,mem_mouse_24g_enter_lpm_enable 
-0444 d8e00003 arg mosue_24g_pairing_flag ,queue 
-0445 204043d2 call mouse_disable_function_flag 
-0446 58000000 setarg 0 
-0447 60014707 store 2 ,mem_24g_pairing_timer_count 
-0448 7046a700 jam 0 ,mem_mouse_move_flag 
-0449 2040405d call mouse_read_sensor_common 
-044a 204002e8 call p_mouse_tx_power_init 
-044b 20400465 call p_mouse_24g_store_latest_mode_eeprom 
-
-p_mouse_24g_address_store_eeprom:
-044c 2040044e call p_mouse_set_24g_addr_eeprom 
-044d 202065d1 branch iicd_write_protect_eep_data 
+0434 204002ef call p_mouse_init_sensor_reset 
+0435 d8e00003 arg mosue_24g_pairing_flag ,queue 
+0436 204043d2 call mouse_disable_function_flag 
+0437 7046a700 jam 0 ,mem_mouse_move_flag 
+0438 2040405d call mouse_read_sensor_common 
+0439 204002c4 call p_mouse_tx_power_init 
+043a 2020044d branch p_mouse_24g_attempt_success 
 
 p_mouse_set_24g_addr_eeprom:
-044e da204bf0 arg mem_24g_addr ,rega 
-044f da40005b arg mouse_g24_addr_eeprom_offect ,regb 
-0450 d8400004 arg 4 ,temp 
-0451 20600000 rtn 
+043b da204c46 arg mem_24g_addr ,rega 
+043c da40005b arg mouse_g24_addr_eeprom_offect ,regb 
+043d d8400004 arg 4 ,temp 
+043e 20600000 rtn 
 
 p_mouse_24g_attempt_fail:
-0452 2040047f call p_mouse_sensor_powerdown_check 
-0453 704d0800 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt 
-0454 204002e8 call p_mouse_tx_power_init 
-0455 20400202 call p_g24_check_51cmd_stop_24g 
-0456 6800cb39 fetch 1 ,mem_power_on_flag 
-0457 c281340a bbit1 2 ,app_enter_hibernate 
-0458 7041bd00 jam 0 ,mem_link_key_exists 
-0459 20404316 call mouse_eeprom_load_recon_info 
-045a df200003 arg 3 ,loopcnt 
-045b d8c04722 arg mem_device1_addr ,contr 
-045c 20400394 call p_pdata_0xff_check 
-045d 2034045f branch p_mouse_null_enter_hibernate_enable ,user 
-
-p_mouse_24g_attempt_fail_next:
-045e 202002f1 branch p_mouse_check_reconn_target 
+043f 20400475 call p_mouse_sensor_powerdown_check 
+0440 704d5e00 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt 
+0441 204002c4 call p_mouse_tx_power_init 
+0442 204001eb call p_g24_check_51cmd_stop_24g 
+0443 20400409 call p_mouse_read_latest_mode_eeprom 
+0444 6800cb3a fetch 1 ,mem_mouse_latest_mode 
+0445 c1810000 rtnne latest_mode_24g 
+0446 2020340a branch app_enter_hibernate 
 
 p_mouse_null_enter_hibernate_enable:
-045f 70479f01 jam 1 ,mem_mouse_null_enter_hibernate_flag 
-0460 7047a028 jam 40 ,mem_mouse_null_enter_hibernate_timer 
-0461 20600000 rtn 
+0447 70479f01 jam 1 ,mem_mouse_null_enter_hibernate_flag 
+0448 7047a028 jam 40 ,mem_mouse_null_enter_hibernate_timer 
+0449 20600000 rtn 
+
+p_mouse_null_enter_hibernate_disable:
+044a 70479f00 jam 0 ,mem_mouse_null_enter_hibernate_flag 
+044b 7047a000 jam 0 ,mem_mouse_null_enter_hibernate_timer 
+044c 20600000 rtn 
 
 p_mouse_24g_attempt_success:
-0462 20400317 call p_mouse_init_sensor_reset 
-0463 20403f8d call mouse_no_data_timer_init 
-0464 2040044c call p_mouse_24g_address_store_eeprom 
-
-p_mouse_24g_store_latest_mode_eeprom:
-0465 704b3a02 jam latest_mode_24g ,mem_mouse_latest_mode 
-0466 2020041c branch p_mouse_store_latest_mode_eeprom 
+044d 70480a00 jam 0 ,mem_mouse_long_mult_flag 
+044e 704b4200 jam 0 ,mem_mouse_poweron_bt_start_reconn_timer 
+044f 58000000 setarg 0 
+0450 6001cb4f store 3 ,mem_le_switch_adv_flag 
+0451 204041c6 call mouse_le_bb_event_connected + 3 
+0452 2040045a call p_g24_auto_pair_timeout_clear 
+0453 2040044a call p_mouse_null_enter_hibernate_disable 
+0454 20403f8d call mouse_no_data_timer_init 
+0455 68024c46 fetch 4 ,mem_24g_addr 
+0456 6002477b store 4 ,mem_mouse_24g_addr 
+0457 20404366 call mouse_cheak_select_24gdevice 
+0458 704b3a02 jam latest_mode_24g ,mem_mouse_latest_mode 
+0459 20200407 branch p_mouse_store_latest_mode_eeprom 
+
+p_g24_auto_pair_timeout_clear:
+045a 58000000 setarg 0 
+045b 6001cd68 store 3 ,mem_24g_stop_g24_mode 
+045c 20600000 rtn 
 
 p_mouse_before_hibernate:
-0467 78347c00 enable user 
-0468 68120138 hfetch 4 ,0x8138 
-0469 79347e1a setflag user ,26 ,pdata 
-046a 6012004c hstore 4 ,core_lpm_reg 
-046b 20402c21 call lpm_write_ctrl 
-046c 2040047f call p_mouse_sensor_powerdown_check 
-046d 204074bd call disable_authrom 
-046e 20404482 call mouse_devce_led_off 
-046f 20403e9f call mouse_before_hibernate_wheel_gpio_set 
-0470 2040008c call p_mouse_setgpio_lpm_before 
-0471 6810807b hfetch 1 ,core_gpio_pu3 
-0472 79207e05 set1 5 ,pdata 
-0473 6010807b hstore 1 ,core_gpio_pu3 
-0474 6810807f hfetch 1 ,core_gpio_pd3 
-0475 793ffe05 set0 5 ,pdata 
-0476 6010807f hstore 1 ,core_gpio_pd3 
-0477 6808cb3e fetcht 1 ,mem_mouse_common_gpio 
-0478 2040680e call gpio_config_output 
-0479 6808cb3e fetcht 1 ,mem_mouse_common_gpio 
-047a 20406829 call gpio_out_active 
-047b 6808cb3e fetcht 1 ,mem_mouse_common_gpio 
-047c 793f8407 set0 gpio_active_bit ,temp 
-047d d8a08078 arg core_gpio_pu0 ,contw 
-047e 20206830 branch gpio_set_bit 
+045d 78347c00 enable user 
+045e 68120138 hfetch 4 ,0x8138 
+045f 79347e1a setflag user ,26 ,pdata 
+0460 6012004c hstore 4 ,core_lpm_reg 
+0461 20402c21 call lpm_write_ctrl 
+0462 20400475 call p_mouse_sensor_powerdown_check 
+0463 204074bd call disable_authrom 
+0464 20404482 call mouse_devce_led_off 
+0465 20403e9f call mouse_before_hibernate_wheel_gpio_set 
+0466 204000d8 call p_mouse_setgpio_lpm_before 
+0467 6810807b hfetch 1 ,core_gpio_pu3 
+0468 79207e05 set1 5 ,pdata 
+0469 6010807b hstore 1 ,core_gpio_pu3 
+046a 6810807f hfetch 1 ,core_gpio_pd3 
+046b 793ffe05 set0 5 ,pdata 
+046c 6010807f hstore 1 ,core_gpio_pd3 
+046d 6808cb3e fetcht 1 ,mem_mouse_common_gpio 
+046e 2040680e call gpio_config_output 
+046f 6808cb3e fetcht 1 ,mem_mouse_common_gpio 
+0470 20406829 call gpio_out_active 
+0471 6808cb3e fetcht 1 ,mem_mouse_common_gpio 
+0472 793f8407 set0 gpio_active_bit ,temp 
+0473 d8a08078 arg core_gpio_pu0 ,contw 
+0474 20206830 branch gpio_set_bit 
 
 p_mouse_sensor_powerdown_check:
-047f 6800cb05 fetch 1 ,mem_mouse_init_sensor_reset_flag 
-0480 207a0000 rtn blank 
-0481 704b0500 jam 0 ,mem_mouse_init_sensor_reset_flag 
-0482 20200344 branch p_mouse_sensor_powerdown 
+0475 6800cb05 fetch 1 ,mem_mouse_init_sensor_reset_flag 
+0476 207a0000 rtn blank 
+0477 704b0500 jam 0 ,mem_mouse_init_sensor_reset_flag 
+
+p_mouse_sensor_powerdown:
+0478 58000006 setarg 0x06 
+0479 20406414 call twspi_read 
+047a 1fe1fe08 or pdata ,0x08 ,pdata 
+047b 1fed7e00 lshift8 pdata ,pdata 
+047c 1fe0fe06 add pdata ,0x06 ,pdata 
+047d 20206413 branch twspi_write 
 
 p_mouse_bb_event_timer:
-0483 204004c9 call p_mouse_multi_led_blink_timer 
-0484 2040048e call p_le_send_smp_security_request_timer 
-0485 2040049e call p_mouse_24g_long_sleep_param_update_timer 
-0486 204004a5 call p_mouse_le_current_mult_update_timer 
-0487 20400499 call p_mouse_wheel_trigger_timer 
-0488 204004c2 call p_mouse_null_enter_hibernate_timer 
-0489 204004ac call p_mouse_bt_discovery_check 
-048a 20404234 call mouse_check_discovery_timeout_timer 
-048b 20404237 call mouse_check_direct_timeout_timer 
-048c 20400496 call p_mouse_le_enable_att_list_timer 
-048d 2020423a branch mouse_check_no_data_timeout_timer 
+047e 2040048e call p_mouse_le_switch_adv_timer 
+047f 204004a7 call p_le_send_smp_security_request_timer 
+0480 204004bd call p_mouse_24g_long_sleep_param_update_timer 
+0481 204004c4 call p_mouse_g24_stop_mode_timeout_timer 
+0482 204004c9 call p_mouse_le_current_mult_update_timer 
+0483 204004b8 call p_mouse_wheel_trigger_timer 
+0484 204004f1 call p_mouse_null_enter_hibernate_timer 
+0485 204004d0 call p_mouse_bt_discovery_check 
+0486 20404234 call mouse_check_discovery_timeout_timer 
+0487 204004af call p_mouse_check_direct_timeout_timer 
+0488 204004b5 call p_mouse_le_enable_att_list_timer 
+0489 2040048b call p_mouse_poweron_bt_start_reconn_timer 
+048a 2020423a branch mouse_check_no_data_timeout_timer 
+
+p_mouse_poweron_bt_start_reconn_timer:
+048b da604b42 arg mem_mouse_poweron_bt_start_reconn_timer ,regc 
+048c da4002cd arg p_mouse_check_reconn_target ,regb 
+048d 2020336d branch timer_single_step 
 
-p_le_send_smp_security_request_timer:
-048e 6800cb3d fetch 1 ,mem_mouse_le_bb_connected_flag 
+p_mouse_le_switch_adv_timer:
+048e 6800cb4f fetch 1 ,mem_le_switch_adv_flag 
 048f 207a0000 rtn blank 
-0490 da604b3b arg mem_mouse_send_secutiry_request_timer ,regc 
-0491 da400493 arg p_le_pairing_sm_start_check ,regb 
+0490 da604b50 arg mem_le_switch_adv_timer ,regc 
+0491 da400493 arg p_mouse_le_switch_adv ,regb 
 0492 2020336d branch timer_single_step 
 
+p_mouse_le_switch_adv:
+0493 704b5001 jam 1 ,mem_le_switch_adv_timer 
+0494 6800cb51 fetch 1 ,mem_le_switch_adv_count 
+0495 1fe0fe01 increase 1 ,pdata 
+0496 1fe17e01 and_into 1 ,pdata 
+0497 6000cb51 store 1 ,mem_le_switch_adv_count 
+0498 c00002d2 beq 0 ,p_mouse_check_fast_conn_adv_start1 
+
+p_check_51cmd_adv:
+0499 68034b49 fetch 6 ,mem_le_normal_lap 
+049a 600344a0 store 6 ,mem_le_lap 
+049b 2040049d call p_mouse_le_adv_data_update 
+049c 20207df4 branch check_51cmd_adv 
+
+p_mouse_le_adv_data_update:
+049d 70436f1f jam 0x1f ,mem_le_adv_data_len 
+049e 70438f1f jam 0x1f ,mem_le_scan_data_len 
+049f 204004a5 call p_mouse_store_eeprom_enable 
+04a0 d8c04b26 arg mem_le_adv_swift_pair ,contr 
+
+p_le_adv_data_update:
+04a1 d8a0437b arg mem_le_adv_data + 11 ,contw 
+04a2 df200013 arg 19 ,loopcnt 
+04a3 20407f01 call memcpy 
+04a4 202057b8 branch le_modified_name_adv 
+
+p_mouse_store_eeprom_enable:
+04a5 d8e00007 arg mouse_store_eeprom_flag ,queue 
+04a6 202043ce branch mouse_enable_function_flag 
+
+p_le_send_smp_security_request_timer:
+04a7 6800cb3d fetch 1 ,mem_mouse_le_bb_connected_flag 
+04a8 207a0000 rtn blank 
+04a9 da604b3b arg mem_mouse_send_secutiry_request_timer ,regc 
+04aa da4004ac arg p_le_pairing_sm_start_check ,regb 
+04ab 2020336d branch timer_single_step 
+
 p_le_pairing_sm_start_check:
-0493 6800cb3c fetch 1 ,mem_le_send_security_request_flag 
-0494 247a0000 nrtn blank 
-0495 20205bf5 branch le_pairing_sm_start 
+04ac 6800cb3c fetch 1 ,mem_le_send_security_request_flag 
+04ad 247a0000 nrtn blank 
+04ae 20205bf5 branch le_pairing_sm_start 
+
+p_mouse_check_direct_timeout_timer:
+04af da6046ae arg mem_mouse_direct_timer ,regc 
+04b0 da4004b2 arg p_mouse_check_direct_timeout ,regb 
+04b1 20203374 branch timer_single_step_2b 
+
+p_mouse_check_direct_timeout:
+04b2 704b5401 jam 1 ,mem_mouse_le_not_tx_disconn 
+04b3 204004e0 call p_mouse_long_button_bt_normal_discovery 
+04b4 202004d5 branch p_mouse_bt_discovery_button_up_init 
 
 p_mouse_le_enable_att_list_timer:
-0496 da6046c6 arg mem_le_start_encrypt_timer ,regc 
-0497 da403d60 arg mouse_le_write_enable ,regb 
-0498 2020336d branch timer_single_step 
+04b5 da6046c6 arg mem_le_start_encrypt_timer ,regc 
+04b6 da403d60 arg mouse_le_write_enable ,regb 
+04b7 2020336d branch timer_single_step 
 
 p_mouse_wheel_trigger_timer:
-0499 da604809 arg mem_mouse_wheel_trigger_timer ,regc 
-049a da40049c arg p_mouse_wheel_trigger_disable ,regb 
-049b 2020336d branch timer_single_step 
+04b8 da604809 arg mem_mouse_wheel_trigger_timer ,regc 
+04b9 da4004bb arg p_mouse_wheel_trigger_disable ,regb 
+04ba 2020336d branch timer_single_step 
 
 p_mouse_wheel_trigger_disable:
-049c 70480800 jam 0 ,mem_mouse_wheel_trigger 
-049d 20600000 rtn 
+04bb 70480800 jam 0 ,mem_mouse_wheel_trigger 
+04bc 20600000 rtn 
 
 p_mouse_24g_long_sleep_param_update_timer:
-049e da60480c arg mem_24g_long_sleep_param_update_timer ,regc 
-049f da4004a1 arg p_mouse_24g_long_sleep_normal_param ,regb 
-04a0 2020336d branch timer_single_step 
+04bd da60480c arg mem_24g_long_sleep_param_update_timer ,regc 
+04be da4004c0 arg p_mouse_24g_long_sleep_normal_param ,regb 
+04bf 2020336d branch timer_single_step 
 
 p_mouse_24g_long_sleep_normal_param:
-04a1 5836ee80 setarg g24_long_sleep_step2 
-04a2 6001cbf7 store 3 ,mem_24g_enter_hibernate 
-04a3 70480a01 jam 1 ,mem_mouse_long_mult_flag 
-04a4 20600000 rtn 
+04c0 58124f80 setarg g24_long_sleep_step3 
+04c1 6001cc4d store 3 ,mem_24g_enter_hibernate 
+04c2 70480a01 jam 1 ,mem_mouse_long_mult_flag 
+04c3 20600000 rtn 
+
+p_mouse_g24_stop_mode_timeout_timer:
+04c4 da604d69 arg mem_24g_stop_g24_mode_timeout ,regc 
+04c5 da4004c7 arg p_mouse_g24_stop_mode_timeout ,regb 
+04c6 20203374 branch timer_single_step_2b 
+
+p_mouse_g24_stop_mode_timeout:
+04c7 704d6801 jam 1 ,mem_24g_stop_g24_mode 
+04c8 20600000 rtn 
 
 p_mouse_le_current_mult_update_timer:
-04a5 da60480b arg mem_mouse_le_current_mult_timer ,regc 
-04a6 da4004a8 arg p_mouse_le_current_mult_reinit ,regb 
-04a7 2020336d branch timer_single_step 
+04c9 da60480b arg mem_mouse_le_current_mult_timer ,regc 
+04ca da4004cc arg p_mouse_le_current_mult_reinit ,regb 
+04cb 2020336d branch timer_single_step 
 
 p_mouse_le_current_mult_reinit:
-04a8 6800c7c7 fetch 1 ,mem_lpm_mult_init 
-04a9 6000c172 store 1 ,mem_lpm_mult 
-04aa 70480a01 jam 1 ,mem_mouse_long_mult_flag 
-04ab 20600000 rtn 
+04cc 6800c7c7 fetch 1 ,mem_lpm_mult_init 
+04cd 6000c172 store 1 ,mem_lpm_mult 
+04ce 70480a01 jam 1 ,mem_mouse_long_mult_flag 
+04cf 20600000 rtn 
 
 p_mouse_bt_discovery_check:
 
 p_mouse_bt_discovery_commbination_key:
-04ac 6800c6b6 fetch 1 ,mem_mouse_dpi_button_state 
-04ad 203a04b3 branch p_mouse_bt_discovery_commbination_key_down ,blank 
-04ae 20400507 call p_mouse_check_key_gpio 
-04af c00384b3 beq mouse_lmr_button ,p_mouse_bt_discovery_commbination_key_down 
+04d0 6800c6b6 fetch 1 ,mem_mouse_dpi_button_state 
+04d1 203a04d8 branch p_mouse_bt_discovery_commbination_key_down ,blank 
+04d2 20400504 call p_mouse_check_key_gpio 
+04d3 c00384d8 beq mouse_lmr_button ,p_mouse_bt_discovery_commbination_key_down 
 
 p_mouse_bt_discovery_commbination_key_up:
-04b0 204043a9 call mouse_bt_discovery_commbination_key_up 
-04b1 d8e00009 arg mouse_bt_discovery_button_long_down_flag ,queue 
-04b2 202043d2 branch mouse_disable_function_flag 
+04d4 204043a9 call mouse_bt_discovery_commbination_key_up 
+
+p_mouse_bt_discovery_button_up_init:
+04d5 d8e00009 arg mouse_bt_discovery_button_long_down_flag ,queue 
+04d6 204043d2 call mouse_disable_function_flag 
+04d7 202043ca branch mouse_bt_discovery_button_down_disable 
 
 p_mouse_bt_discovery_commbination_key_down:
-04b3 7047a028 jam 40 ,mem_mouse_null_enter_hibernate_timer 
-04b4 204004b6 call p_mouse_bt_discovery_timer 
-04b5 202043b0 branch mouse_bt_discovery_commbination_key_down + 1 
+04d8 7047a028 jam 40 ,mem_mouse_null_enter_hibernate_timer 
+04d9 204004db call p_mouse_bt_discovery_timer 
+04da 202043b0 branch mouse_bt_discovery_commbination_key_down + 1 
 
 p_mouse_bt_discovery_timer:
-04b6 da6046da arg mem_combination_ui_button_count ,regc 
-04b7 da4004b9 arg p_mouse_long_button_bt_discovery ,regb 
-04b8 2020336d branch timer_single_step 
+04db da6046da arg mem_combination_ui_button_count ,regc 
+04dc da4004de arg p_mouse_long_button_bt_discovery ,regb 
+04dd 2020336d branch timer_single_step 
 
 p_mouse_long_button_bt_discovery:
-04b9 68014682 fetch 2 ,mem_ui_state_map 
-04ba 2feffe0b isolate1 ui_state_ble_adv ,pdata 
-04bb 2040c2d4 call mouse_stop_le_adv ,true 
-04bc 68014682 fetch 2 ,mem_ui_state_map 
-04bd 2feffe07 isolate1 ui_state_bt_reconnect ,pdata 
-04be 2040c392 call mouse_cancel_reconnect ,true 
-04bf d8e00009 arg mouse_bt_discovery_button_long_down_flag ,queue 
-04c0 204043ce call mouse_enable_function_flag 
-04c1 202043b8 branch mouse_long_button_bt_discovry 
+04de 6800cb4f fetch 1 ,mem_le_switch_adv_flag 
+04df 243a04ee nbranch p_mouse_fast_conn_adv_switch_timer_reinit ,blank 
+
+p_mouse_long_button_bt_normal_discovery:
+04e0 280ffe26 isolate1 mark_24g ,mark 
+04e1 204084ec call p_mouse_le_adv_start ,true 
+04e2 6800cb3a fetch 1 ,mem_mouse_latest_mode 
+04e3 1fe67cff sub pdata ,latest_mode_null ,null 
+04e4 204284ec call p_mouse_le_adv_start ,zero 
+04e5 2040049d call p_mouse_le_adv_data_update 
+04e6 68014682 fetch 2 ,mem_ui_state_map 
+04e7 2feffe07 isolate1 ui_state_bt_reconnect ,pdata 
+04e8 2040c392 call mouse_cancel_reconnect ,true 
+04e9 d8e00009 arg mouse_bt_discovery_button_long_down_flag ,queue 
+04ea 204043ce call mouse_enable_function_flag 
+04eb 202043b8 branch mouse_long_button_bt_discovry 
+
+p_mouse_le_adv_start:
+04ec 704b5301 jam 1 ,mem_mouse_le_adv_start 
+04ed 20600000 rtn 
+
+p_mouse_fast_conn_adv_switch_timer_reinit:
+04ee 68014687 fetch 2 ,mem_discovery_timeout 
+04ef 600146ac store 2 ,mem_mouse_discovery_timer 
+04f0 20600000 rtn 
 
 p_mouse_null_enter_hibernate_timer:
-04c2 6800c79f fetch 1 ,mem_mouse_null_enter_hibernate_flag 
-04c3 207a0000 rtn blank 
-04c4 da6047a0 arg mem_mouse_null_enter_hibernate_timer ,regc 
-04c5 da4004c7 arg p_mouse_null_enter_hibernate ,regb 
-04c6 2020336d branch timer_single_step 
+04f1 6800c79f fetch 1 ,mem_mouse_null_enter_hibernate_flag 
+04f2 207a0000 rtn blank 
+04f3 da6047a0 arg mem_mouse_null_enter_hibernate_timer ,regc 
+04f4 da4004f6 arg p_mouse_null_enter_hibernate ,regb 
+04f5 2020336d branch timer_single_step 
 
 p_mouse_null_enter_hibernate:
-04c7 70479f00 jam 0 ,mem_mouse_null_enter_hibernate_flag 
-04c8 2020340a branch app_enter_hibernate 
-
-p_mouse_multi_led_blink_timer:
-04c9 6800cb08 fetch 1 ,mem_mouse_multi_led_blink_enable 
-04ca 207a0000 rtn blank 
-04cb 6800cb0b fetch 1 ,mem_mouse_multi_led_type 
-04cc c00084ce beq multi_led_blink ,p_mouse_multi_led_type_blink 
-04cd 20600000 rtn 
-
-p_mouse_multi_led_type_blink:
-04ce da604b0f arg mem_mouse_multi_led_blink_timer ,regc 
-04cf da4004d1 arg p_mouse_multi_led_type_blink_timeout ,regb 
-04d0 2020336d branch timer_single_step 
-
-p_mouse_multi_led_type_blink_timeout:
-04d1 6800cb0e fetch 1 ,mem_mouse_multi_led_blink_timer_init 
-04d2 6000cb0f store 1 ,mem_mouse_multi_led_blink_timer 
-04d3 6800cb11 fetch 1 ,mem_mouse_multi_led_blink_count_limited 
-04d4 203a04d9 branch p_mouse_multi_led_blink_count_no_limited ,blank 
-04d5 6800cb10 fetch 1 ,mem_mouse_multi_led_blink_count 
-04d6 203a04e7 branch p_mouse_multi_led_blink_off ,blank 
-04d7 1fe0ffff increase -1 ,pdata 
-04d8 6000cb10 store 1 ,mem_mouse_multi_led_blink_count 
-
-p_mouse_multi_led_blink_count_no_limited:
-04d9 6800cb0a fetch 1 ,mem_mouse_multi_led_state 
-04da c00084e9 beq on ,p_mouse_multi_led_off 
-04db c00004dd beq off ,p_mouse_multi_led_on 
-04dc 20600000 rtn 
-
-p_mouse_multi_led_on:
-04dd 704b0a01 jam on ,mem_mouse_multi_led_state 
-04de 58000006 setarg 0x06 
-04df 20406414 call twspi_read 
-04e0 d8400008 arg 0x08 ,temp 
-04e1 9842fe00 ixor temp ,pdata 
-04e2 1fed7e00 lshift8 pdata ,pdata 
-04e3 1fe0fe06 add pdata ,0x06 ,pdata 
-04e4 20406413 call twspi_write 
-04e5 5800a105 setarg 0xa105 
-04e6 20206413 branch twspi_write 
-
-p_mouse_multi_led_blink_off:
-04e7 58000000 setarg 0 
-04e8 6001cb0f store 3 ,mem_mouse_multi_led_blink_timer 
-
-p_mouse_multi_led_off:
-04e9 6800cb10 fetch 1 ,mem_mouse_multi_led_blink_count 
-04ea 243a04ed nbranch p_mouse_multi_led_off_wait_blink_over ,blank 
-04eb 704b0800 jam 0 ,mem_mouse_multi_led_blink_enable 
-04ec 704b0b00 jam 0 ,mem_mouse_multi_led_type 
-
-p_mouse_multi_led_off_wait_blink_over:
-04ed 704b0c00 jam 0 ,mem_mouse_multi_led_on_timer 
-04ee 704b0a00 jam off ,mem_mouse_multi_led_state 
-
-p_mouse_multi_led_off2:
-04ef 58003805 setarg 0x3805 
-04f0 20206413 branch twspi_write 
-
-p_mouse_discovery_multi_led_blink:
-04f1 704b0e07 jam 7 ,mem_mouse_multi_led_blink_timer_init 
-04f2 704b1100 jam 0 ,mem_mouse_multi_led_blink_count_limited 
-04f3 704b1001 jam 1 ,mem_mouse_multi_led_blink_count 
-
-p_mouse_multi_led_blink_enable:
-04f4 704b0f01 jam 1 ,mem_mouse_multi_led_blink_timer 
-04f5 704b0801 jam on ,mem_mouse_multi_led_blink_enable 
-04f6 704b0b01 jam multi_led_blink ,mem_mouse_multi_led_type 
-04f7 20600000 rtn 
-
-p_mouse_discovey_led_blink_off:
-04f8 6800cb0c fetch 1 ,mem_mouse_multi_led_on_timer 
-04f9 247a0000 nrtn blank 
-04fa 202004e7 branch p_mouse_multi_led_blink_off 
+04f6 70479f00 jam 0 ,mem_mouse_null_enter_hibernate_flag 
+04f7 2020340a branch app_enter_hibernate 
 
 p_mouse_motion:
-04fb 78547c00 disable user 
-04fc 58000000 setarg 0 
-04fd 6003469b store 6 ,mem_mouse_x 
-04fe 20400533 call p_mouse_cheak_sensor_data 
-04ff 20404079 call mouse_zwheel 
-0500 2040407e call mouse_t_zwheel 
-0501 20400505 call p_mouse_key 
-0502 243406e5 nbranch p_drawing_optima_init ,user 
-0503 204006dc call p_drawing_optima 
-0504 20203fa0 branch mouse_motion + 9 
+04f8 78547c00 disable user 
+04f9 58000000 setarg 0 
+04fa 6003469b store 6 ,mem_mouse_x 
+04fb 2040052f call p_mouse_cheak_sensor_data 
+04fc 20404079 call mouse_zwheel 
+04fd 2040407e call mouse_t_zwheel 
+04fe 20400502 call p_mouse_key 
+04ff 243406d2 nbranch p_drawing_optima_init ,user 
+0500 204006c9 call p_drawing_optima 
+0501 20203fa0 branch mouse_motion + 9 
 
 p_mouse_key:
-0505 20400507 call p_mouse_check_key_gpio 
-0506 2020409a branch mouse_key + 1 
+0502 20400504 call p_mouse_check_key_gpio 
+0503 2020409a branch mouse_key + 1 
 
 p_mouse_check_key_gpio:
-0507 da200000 arg 0 ,rega 
-0508 2040050d call p_mouse_check_lkey_gpio 
-0509 2040050b call p_mouse_check_skey_gpio 
-050a 2020408e branch mouse_check_key_gpio + 11 
-
-p_mouse_check_skey_gpio:
-050b 2040051d call p_mouse_check_bk_key_gpio 
-050c 20200523 branch p_mouse_check_fw_key_gpio 
+0504 da200000 arg 0 ,rega 
+0505 20400509 call p_mouse_check_lkey_gpio 
+0506 20400519 call p_mouse_check_bk_key_gpio 
+0507 2040051f call p_mouse_check_fw_key_gpio 
+0508 2020408e branch mouse_check_key_gpio + 11 
 
 p_mouse_check_lkey_gpio:
-050d 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
-050e 20400528 call p_gpio_set_input_pu 
-050f 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
-0510 2040681d call gpio_get_bit 
-0511 7920a200 setflag true ,0 ,rega 
+0509 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+050a 20400524 call p_gpio_set_input_pu 
+050b 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+050c 2040681d call gpio_get_bit 
+050d 7920a200 setflag true ,0 ,rega 
 
 p_mouse_check_rkey_gpio:
-0512 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
-0513 20400528 call p_gpio_set_input_pu 
-0514 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
-0515 2040681d call gpio_get_bit 
-0516 7920a201 setflag true ,1 ,rega 
+050e 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+050f 20400524 call p_gpio_set_input_pu 
+0510 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+0511 2040681d call gpio_get_bit 
+0512 7920a201 setflag true ,1 ,rega 
 
 p_mouse_check_mkey_gpio:
-0517 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
-0518 20400528 call p_gpio_set_input_pu 
-0519 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
-051a 2040681d call gpio_get_bit 
-051b 7920a202 setflag true ,2 ,rega 
-051c 20600000 rtn 
+0513 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+0514 20400524 call p_gpio_set_input_pu 
+0515 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+0516 2040681d call gpio_get_bit 
+0517 7920a202 setflag true ,2 ,rega 
+0518 20600000 rtn 
 
 p_mouse_check_bk_key_gpio:
-051d 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
-051e 2040052d call p_gpio_set_input_pd 
-051f 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
-0520 2040681d call gpio_get_bit 
-0521 7d20a203 nsetflag true ,3 ,rega 
-0522 20200528 branch p_gpio_set_input_pu 
+0519 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
+051a 20400529 call p_gpio_set_input_pd 
+051b 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
+051c 2040681d call gpio_get_bit 
+051d 7d20a203 nsetflag true ,3 ,rega 
+051e 20200524 branch p_gpio_set_input_pu 
 
 p_mouse_check_fw_key_gpio:
-0523 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
-0524 2040052d call p_gpio_set_input_pd 
-0525 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
-0526 2040681d call gpio_get_bit 
-0527 7d20a204 nsetflag true ,4 ,rega 
+051f 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
+0520 20400529 call p_gpio_set_input_pd 
+0521 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
+0522 2040681d call gpio_get_bit 
+0523 7d20a204 nsetflag true ,4 ,rega 
 
 p_gpio_set_input_pu:
-0528 79200407 set1 gpio_active_bit ,temp 
-0529 d8a08078 arg core_gpio_pu0 ,contw 
-052a 20406830 call gpio_set_bit 
-052b 793f8407 set0 gpio_active_bit ,temp 
-052c 20200531 branch p_gpio_set_input_pd + 4 
+0524 79200407 set1 gpio_active_bit ,temp 
+0525 d8a08078 arg core_gpio_pu0 ,contw 
+0526 20406830 call gpio_set_bit 
+0527 793f8407 set0 gpio_active_bit ,temp 
+0528 2020052d branch p_gpio_set_input_pd + 4 
 
 p_gpio_set_input_pd:
-052d 793f8407 set0 gpio_active_bit ,temp 
-052e d8a08078 arg core_gpio_pu0 ,contw 
-052f 20406830 call gpio_set_bit 
-0530 79200407 set1 gpio_active_bit ,temp 
-0531 d8a0807c arg core_gpio_pd0 ,contw 
-0532 2020680a branch gpio_set_high_impedance + 4 
+0529 793f8407 set0 gpio_active_bit ,temp 
+052a d8a08078 arg core_gpio_pu0 ,contw 
+052b 20406830 call gpio_set_bit 
+052c 79200407 set1 gpio_active_bit ,temp 
+052d d8a0807c arg core_gpio_pd0 ,contw 
+052e 2020680a branch gpio_set_high_impedance + 4 
 
 p_mouse_cheak_sensor_data:
-0533 6800c6e0 fetch 1 ,mem_config_sensor_type 
-0534 c0040538 beq p8009 ,p_mouse_p8009_sensor_motion 
+052f 6800c6e0 fetch 1 ,mem_config_sensor_type 
+0530 c0040534 beq p8009 ,p_mouse_p8009_sensor_motion 
 
 p_mouse_p32xx_sensor_motion:
-0535 20403fc0 call mouse_clear_sensor_data 
-0536 78547c00 disable user 
-0537 20203fe7 branch mouse_p32xx_sensor_motion_2 
+0531 20403fc0 call mouse_clear_sensor_data 
+0532 78547c00 disable user 
+0533 20203fe7 branch mouse_p32xx_sensor_motion_2 
 
 p_mouse_p8009_sensor_motion:
-0538 20403fc0 call mouse_clear_sensor_data 
-0539 78547c00 disable user 
-053a 6808c6f3 fetcht 1 ,mem_sensor_data_gpio 
-053b 2040681d call gpio_get_bit 
-053c 24608000 nrtn true 
+0534 20403fc0 call mouse_clear_sensor_data 
+0535 78547c00 disable user 
 
 p_mouse_p32xx_sensor_motion_1:
-053d 58000002 setarg pan_reg_motion_staus 
-053e 20406414 call twspi_read 
-053f c4038000 rtnbit0 7 
-0540 58000008 setarg pan_reg_opration_state 
-0541 20406414 call twspi_read 
-0542 203a3fed branch mouse_p32xx_sensor_motion_1 + 3 ,blank 
-0543 58000000 setarg 0 
-0544 6003469b store 6 ,mem_mouse_x 
-0545 20600000 rtn 
+0536 58000002 setarg pan_reg_motion_staus 
+0537 20406414 call twspi_read 
+0538 c4038000 rtnbit0 7 
+0539 58000008 setarg pan_reg_opration_state 
+053a 20406414 call twspi_read 
+053b 203a3fed branch mouse_p32xx_sensor_motion_1 + 3 ,blank 
+053c 58000000 setarg 0 
+053d 6003469b store 6 ,mem_mouse_x 
+053e 20600000 rtn 
 
 p_mouse_seting_dpi:
-0546 2040424a call mosue_dpi_led_blink_init 
 
 p_mouse_seting_dpi_sensor_type:
-0547 6800c6e0 fetch 1 ,mem_config_sensor_type 
-0548 c0030554 beq p3065_xy ,p_mouse_seting_3065xy_dpi 
-0549 c0010564 beq ka8 ,p_mouse_seting_ka8_dpi 
-054a c004055c beq p8009 ,p_mouse_seting_8009_dpi 
-
-p_mouse_seting_3205_dpi:
-054b 6800c77a fetch 1 ,mem_mouse_dpi 
-054c 205a055a call p_mouse_3065xy_dpi_recount ,blank 
-054d 6800c77a fetch 1 ,mem_mouse_dpi 
-054e c0008551 beq mouse_dpi_level2 ,p_mouse_3205_set_cpi1 
-054f c001bd8c beq mouse_dpi_level4 ,mouse_set_cpi3 
-0550 20203d88 branch mouse_set_cpi2 
-
-p_mouse_3205_set_cpi1:
-0551 6800c77f fetch 1 ,mem_320x_dpi_1 
-0552 1fe0ffff increase -1 ,pdata 
-0553 20203dbe branch mouse_p3205_dpi 
-
-p_mouse_seting_3065xy_dpi:
-0554 6800c77a fetch 1 ,mem_mouse_dpi 
-0555 205a055a call p_mouse_3065xy_dpi_recount ,blank 
-0556 6800c77a fetch 1 ,mem_mouse_dpi 
-0557 c0008562 beq mouse_dpi_level2 ,p_mouse_common_set_cpi1 
-0558 c001bd8c beq mouse_dpi_level4 ,mouse_set_cpi3 
-0559 20203d88 branch mouse_set_cpi2 
-
-p_mouse_3065xy_dpi_recount:
-055a 70477a01 jam mouse_dpi_level2 ,mem_mouse_dpi 
-055b 20600000 rtn 
-
-p_mouse_seting_8009_dpi:
-055c 6800c77a fetch 1 ,mem_mouse_dpi 
-055d 205a055a call p_mouse_3065xy_dpi_recount ,blank 
-055e 6800c77a fetch 1 ,mem_mouse_dpi 
-055f c0008562 beq mouse_dpi_level2 ,p_mouse_common_set_cpi1 
-0560 c001bd88 beq mouse_dpi_level4 ,mouse_set_cpi2 
-0561 20203d8a branch mouse_set_cpi1 
-
-p_mouse_common_set_cpi1:
-0562 7046b500 jam 0 ,mem_mouse_cpi_count 
-0563 20203dc1 branch mouse_p3205_dpi + 3 
-
-p_mouse_seting_ka8_dpi:
-0564 6800c77a fetch 1 ,mem_mouse_dpi 
-0565 205a055a call p_mouse_3065xy_dpi_recount ,blank 
-0566 6800c77a fetch 1 ,mem_mouse_dpi 
-0567 c000bd88 beq mouse_dpi_level2 ,mouse_set_cpi2 
-0568 c001856a beq mouse_dpi_level4 ,p_mouse_ka8_set_cpi3 
-0569 20203d8e branch mouse_set_cpi4 
+
+p_mouse_seting_320x_dpi:
+053f 6800c77a fetch 1 ,mem_mouse_dpi 
+0540 1fe67c01 sub pdata ,mouse_dpi_level2 ,null 
+0541 2042854c call p_mouse_320x_dpi_recount ,zero 
+0542 6800c77a fetch 1 ,mem_mouse_dpi 
+0543 c000054e beq mouse_dpi_level1 ,p_mouse_set_cpi1 
+0544 c0018554 beq mouse_dpi_level4 ,p_mouse_set_cpi4 
+
+p_mouse_set_cpi3:
+0545 6800c6e0 fetch 1 ,mem_config_sensor_type 
+0546 c003055a beq p3065_xy ,p_mouse_3065xy_set_cpi3 
+0547 c003855a beq mx8650 ,p_mouse_3065xy_set_cpi3 
+0548 c0010560 beq ka8 ,p_mouse_ka8_set_cpi3 
+
+p_mouse_320x_set_cpi3:
+0549 6800c781 fetch 1 ,mem_320x_dpi_3 
+
+p_mouse_dpi_store:
+054a 6000c6b5 store 1 ,mem_mouse_cpi_count 
+054b 20203dc1 branch mouse_p3205_dpi + 3 
+
+p_mouse_320x_dpi_recount:
+054c 70477a02 jam mouse_dpi_level3 ,mem_mouse_dpi 
+054d 20600000 rtn 
+
+p_mouse_set_cpi1:
+054e 6800c6e0 fetch 1 ,mem_config_sensor_type 
+054f c003055c beq p3065_xy ,p_mouse_3065xy_set_cpi1 
+0550 c003855c beq mx8650 ,p_mouse_3065xy_set_cpi1 
+0551 c0010563 beq ka8 ,p_mouse_ka8_set_cpi1 
+
+p_mouse_320x_set_cpi1:
+0552 6800c77f fetch 1 ,mem_320x_dpi_1 
+0553 2020054a branch p_mouse_dpi_store 
+
+p_mouse_set_cpi4:
+0554 6800c6e0 fetch 1 ,mem_config_sensor_type 
+0555 c003055e beq p3065_xy ,p_mouse_3065xy_set_cpi4 
+0556 c003855e beq mx8650 ,p_mouse_3065xy_set_cpi4 
+0557 c0010565 beq ka8 ,p_mouse_ka8_set_cpi4 
+
+p_mouse_320x_set_cpi4:
+0558 6800c782 fetch 1 ,mem_320x_dpi_4 
+0559 2020054a branch p_mouse_dpi_store 
+
+p_mouse_3065xy_set_cpi3:
+055a 6800cb96 fetch 1 ,mem_3065xy_dpi_3 
+055b 2020054a branch p_mouse_dpi_store 
+
+p_mouse_3065xy_set_cpi1:
+055c 6800cb94 fetch 1 ,mem_3065xy_dpi_1 
+055d 2020054a branch p_mouse_dpi_store 
+
+p_mouse_3065xy_set_cpi4:
+055e 6800cb97 fetch 1 ,mem_3065xy_dpi_4 
+055f 2020054a branch p_mouse_dpi_store 
 
 p_mouse_ka8_set_cpi3:
-056a 58000005 setarg 5 
-056b 20203dbe branch mouse_p3205_dpi 
+0560 6800c781 fetch 1 ,mem_320x_dpi_3 
+
+p_mouse_ka8_dpi_store:
+0561 1fe0fe02 increase 2 ,pdata 
+0562 2020054a branch p_mouse_dpi_store 
+
+p_mouse_ka8_set_cpi1:
+0563 6800c77f fetch 1 ,mem_320x_dpi_1 
+0564 20200561 branch p_mouse_ka8_dpi_store 
+
+p_mouse_ka8_set_cpi4:
+0565 6800c782 fetch 1 ,mem_320x_dpi_4 
+0566 20200561 branch p_mouse_ka8_dpi_store 
 
 p_mouse_bb_event_discovery_btn:
-056c 70479f00 jam 0 ,mem_mouse_null_enter_hibernate_flag 
-056d 7047a000 jam 0 ,mem_mouse_null_enter_hibernate_timer 
-056e 280ffe26 isolate1 mark_24g ,mark 
-056f 20408202 call p_g24_check_51cmd_stop_24g ,true 
-0570 2020426d branch mouse_bb_event_discovery_btn + 1 
+0567 2040044a call p_mouse_null_enter_hibernate_disable 
+0568 280ffe26 isolate1 mark_24g ,mark 
+0569 204081eb call p_g24_check_51cmd_stop_24g ,true 
+056a 7046b400 jam 0 ,mem_mouse_send_blank_timer 
+056b 6800cb54 fetch 1 ,mem_mouse_le_not_tx_disconn 
+056c 205a4386 call mouse_disconnect ,blank 
+056d 58000000 setarg 0 
+056e 600146b0 store 2 ,mem_mouse_no_data_timer 
+056f 2020426f branch mouse_bb_event_discovery_btn + 3 
 
 p_le_addr_random_config:
-0571 204068a2 call load_adc_init 
-0572 6801421d fetch 2 ,mem_0_5_adc_io_data 
-0573 600147c4 store 2 ,mem_random_addr_increase_count 
+0570 204068a2 call load_adc_init 
+0571 6801421d fetch 2 ,mem_0_5_adc_io_data 
+0572 600147c4 store 2 ,mem_random_addr_increase_count 
 
 p_le_addr_random_store:
 
 p_mouse_store_eerpom_random_addr_increase_count:
-0574 d8400002 arg 2 ,temp 
-0575 da2047c4 arg mem_random_addr_increase_count ,rega 
-0576 da40005f arg mouse_random_addr_count_eeprom_offset ,regb 
-0577 202065d1 branch iicd_write_protect_eep_data 
+0573 d8400002 arg 2 ,temp 
+0574 da2047c4 arg mem_random_addr_increase_count ,rega 
+0575 da40005f arg mouse_random_addr_count_eeprom_offset ,regb 
+0576 202065d1 branch iicd_write_protect_eep_data 
 
 p_mouse_load_eeprom_random_addr_increase_count:
-0578 d8400002 arg 2 ,temp 
-0579 da2047c4 arg mem_random_addr_increase_count ,rega 
-057a da40005f arg mouse_random_addr_count_eeprom_offset ,regb 
-057b 202065df branch iicd_read_eep_data 
+0577 d8400002 arg 2 ,temp 
+0578 da2047c4 arg mem_random_addr_increase_count ,rega 
+0579 da40005f arg mouse_random_addr_count_eeprom_offset ,regb 
+057a 202065df branch iicd_read_eep_data 
 
 p_mouse_start_discovery:
+057b 204002c4 call p_mouse_tx_power_init 
 057c 704b3c00 jam 0 ,mem_le_send_security_request_flag 
-057d 204002e8 call p_mouse_tx_power_init 
-057e 70479e00 jam 0 ,mem_mouse_clear_sensor_data_flag 
-057f 704b145a jam 0x5a ,mem_mouse_fast_conn_flag 
-0580 68014682 fetch 2 ,mem_ui_state_map 
-0581 c285858a bbit1 ui_state_ble_adv ,p_mouse_start_discovery_norandom 
-0582 20400578 call p_mouse_load_eeprom_random_addr_increase_count 
-0583 680947c4 fetcht 2 ,mem_random_addr_increase_count 
-0584 18408401 increase 1 ,temp 
-0585 600947c4 storet 2 ,mem_random_addr_increase_count 
-0586 600944a1 storet 2 ,mem_le_lap + 1 
-0587 20400574 call p_mouse_store_eerpom_random_addr_increase_count 
-0588 180a7e00 random pdata 
-0589 6000c4a0 store 1 ,mem_le_lap 
+057d 704b5201 jam 1 ,mem_mouse_start_discovery_enable 
+057e 70472001 jam mode_bt_device1 ,mem_device_flag 
+057f 70479e00 jam 0 ,mem_mouse_clear_sensor_data_flag 
 
 p_mouse_start_discovery_norandom:
-058a 20403418 call app_lpm_mult_disable 
-058b 68014687 fetch 2 ,mem_discovery_timeout 
-058c 600146ac store 2 ,mem_mouse_discovery_timer 
-058d 70016d06 jam 6 ,mem_connection_options 
-058e 58000000 setarg 0 
-058f 600146b0 store 2 ,mem_mouse_no_data_timer 
-0590 600146ae store 2 ,mem_mouse_direct_timer 
-0591 d8e00007 arg mouse_store_eeprom_flag ,queue 
-0592 204043ce call mouse_enable_function_flag 
-0593 204043ca call mouse_bt_discovery_button_down_disable 
-0594 20400597 call p_check_51cmd_adv 
-0595 204042c4 call mouse_start_discovery_norandom + 13 
-0596 202004f1 branch p_mouse_discovery_multi_led_blink 
-
-p_check_51cmd_adv:
-0597 7047a100 jam 0 ,mem_mouse_le_reconnect_flag 
-0598 20400300 call p_le_check_adv_flag 
-0599 58000005 setarg adv_flag_bredr_not_supported | adv_flag_limited_discoverable 
-059a e0c08000 istore 1 ,contr 
-059b d8c04b26 arg mem_le_adv_swift_pair ,contr 
-059c 2040059e call p_le_adv_data_update 
-059d 20207df4 branch check_51cmd_adv 
-
-p_le_adv_data_update:
-059e d8a0437b arg mem_le_adv_data + 11 ,contw 
-059f df200013 arg 19 ,loopcnt 
-05a0 20407f01 call memcpy 
-05a1 202057b8 branch le_modified_name_adv 
+0580 68034b49 fetch 6 ,mem_le_normal_lap 
+0581 600344a0 store 6 ,mem_le_lap 
+0582 20400338 call p_mouse_fast_conn_disable 
+0583 20403418 call app_lpm_mult_disable 
+0584 68014687 fetch 2 ,mem_discovery_timeout 
+0585 600146ac store 2 ,mem_mouse_discovery_timer 
+0586 70016d06 jam 6 ,mem_connection_options 
+0587 58000000 setarg 0 
+0588 600146b0 store 2 ,mem_mouse_no_data_timer 
+0589 600146ae store 2 ,mem_mouse_direct_timer 
+058a 204004a5 call p_mouse_store_eeprom_enable 
+058b 204043ca call mouse_bt_discovery_button_down_disable 
+058c 6800cb53 fetch 1 ,mem_mouse_le_adv_start 
+058d 245a0499 ncall p_check_51cmd_adv ,blank 
+058e 20600000 rtn 
 
 p_mouse_stop_discovery:
-05a2 204004f8 call p_mouse_discovey_led_blink_off 
-05a3 58000000 setarg 0 
-05a4 600146ac store 2 ,mem_mouse_discovery_timer 
-05a5 2040033d call p_mouse_sensor_poweron 
-05a6 202042cb branch mouse_stop_discovery + 1 
+058f 204002ef call p_mouse_init_sensor_reset 
+0590 202042cb branch mouse_stop_discovery + 1 
 
 p_le_slave_match:
-05a7 6800c50f fetch 1 ,mem_le_md_count 
-05a8 1fe0fe01 pincrease 1 
-05a9 6000c50f store 1 ,mem_le_md_count 
-05aa c0065395 beq le_md_max_count ,le_slave_cont 
-05ab 204055aa call le_acknowledge 
-05ac 2040561e call le_prepare_tx 
-05ad 2040067c call power_ctrl_start 
-05ae 2020538f branch le_slave_match + 7 
+0591 6800c50f fetch 1 ,mem_le_md_count 
+0592 1fe0fe01 pincrease 1 
+0593 6000c50f store 1 ,mem_le_md_count 
+0594 c0065395 beq le_md_max_count ,le_slave_cont 
+0595 204055aa call le_acknowledge 
+0596 2040561e call le_prepare_tx 
+0597 2040066d call power_ctrl_start 
+0598 2020538f branch le_slave_match + 7 
 
 p_le_next_adv_channel:
-05af 68008016 fetch 1 ,mem_le_ch_mapped 
-05b0 1fe0fe01 increase 1 ,pdata 
-05b1 60008016 store 1 ,mem_le_ch_mapped 
-05b2 c1940000 rtnne 40 
-05b3 70001625 jam 37 ,mem_le_ch_mapped 
-05b4 20600000 rtn 
+0599 68008016 fetch 1 ,mem_le_ch_mapped 
+059a 1fe0fe01 increase 1 ,pdata 
+059b 60008016 store 1 ,mem_le_ch_mapped 
+059c c1940000 rtnne 40 
+059d 70001625 jam 37 ,mem_le_ch_mapped 
+059e 20600000 rtn 
 
 p_le_receive_skip:
-05b5 204029bb call save_rssi 
-05b6 2040001e call p_rssi_signal 
-05b7 202054a3 branch le_receive_skip + 2 
+059f 204029bb call save_rssi 
+05a0 2040001e call p_rssi_signal 
+05a1 202054a3 branch le_receive_skip + 2 
 
 p_le_update_param:
-05b8 204005c0 call p_mouse_le_conn_param_check 
-05b9 2020557d branch le_update_param + 8 
+05a2 204005aa call p_mouse_le_conn_param_check 
+05a3 2020557d branch le_update_param + 8 
 
 p_mouse_le_lpm_mult_reinit:
-05ba 6800c7c7 fetch 1 ,mem_lpm_mult_init 
-05bb 6000c172 store 1 ,mem_lpm_mult 
+05a4 6800c7c7 fetch 1 ,mem_lpm_mult_init 
+05a5 6000c172 store 1 ,mem_lpm_mult 
 
 p_mouse_le_conn_param_lpm_enable:
-05bc 7047c600 jam le_lpm_enable ,mem_mouse_le_conn_param_reject 
-05bd 20600000 rtn 
+05a6 7047c600 jam le_lpm_enable ,mem_mouse_le_conn_param_reject 
+05a7 20600000 rtn 
 
 p_mouse_le_conn_param_lpm_disable:
-05be 7047c601 jam le_lpm_disable ,mem_mouse_le_conn_param_reject 
-05bf 20600000 rtn 
+05a8 7047c601 jam le_lpm_disable ,mem_mouse_le_conn_param_reject 
+05a9 20600000 rtn 
 
 p_mouse_le_conn_param_check:
-05c0 6800c3d6 fetch 1 ,mem_le_new_conninterval 
-05c1 1fe67c0c sub pdata ,le_interval_15ms ,null 
-05c2 242105be nbranch p_mouse_le_conn_param_lpm_disable ,positive 
-05c3 6800c3d8 fetch 1 ,mem_le_new_connslavelatency 
-05c4 6808c7c7 fetcht 1 ,mem_lpm_mult_init 
-05c5 98467c00 isub temp ,null 
-05c6 202105ba branch p_mouse_le_lpm_mult_reinit ,positive 
-05c7 6800c3d8 fetch 1 ,mem_le_new_connslavelatency 
-05c8 6000c172 store 1 ,mem_lpm_mult 
-05c9 202005bc branch p_mouse_le_conn_param_lpm_enable 
+05aa 6800c3d6 fetch 1 ,mem_le_new_conninterval 
+05ab 1fe67c0c sub pdata ,le_interval_15ms ,null 
+05ac 242105a8 nbranch p_mouse_le_conn_param_lpm_disable ,positive 
+05ad 6800c3d8 fetch 1 ,mem_le_new_connslavelatency 
+05ae 6808c7c7 fetcht 1 ,mem_lpm_mult_init 
+05af 98467c00 isub temp ,null 
+05b0 202105a4 branch p_mouse_le_lpm_mult_reinit ,positive 
+05b1 6800c3d8 fetch 1 ,mem_le_new_connslavelatency 
+05b2 6000c172 store 1 ,mem_lpm_mult 
+05b3 202005a6 branch p_mouse_le_conn_param_lpm_enable 
 
 p_le_update_channel_map:
-05ca 6800843f fetch 1 ,mem_le_state 
-05cb c4030000 rtnbit0 lestate_update_map 
-05cc 204005cf call p_le_channel_map_overflow_check 
-05cd 24740000 nrtn user 
-05ce 202055a0 branch le_update_channel_map + 3 
+05b4 6800843f fetch 1 ,mem_le_state 
+05b5 c4030000 rtnbit0 lestate_update_map 
+05b6 204005b9 call p_le_channel_map_overflow_check 
+05b7 24740000 nrtn user 
+05b8 202055a0 branch le_update_channel_map + 3 
 
 p_le_channel_map_overflow_check:
-05cf 78347c00 enable user 
-05d0 6800845a fetch 1 ,mem_le_event_count + 1 
-05d1 1ff1fe00 rshift4 pdata ,pdata 
-05d2 c1878000 rtnne 0x0f 
-05d3 68008460 fetch 1 ,mem_le_instant + 1 
-05d4 1ff1fe00 rshift4 pdata ,pdata 
-05d5 c1800000 rtnne 0x00 
-05d6 20207fe9 branch disable_user 
+05b9 78347c00 enable user 
+05ba 6800845a fetch 1 ,mem_le_event_count + 1 
+05bb 1ff1fe00 rshift4 pdata ,pdata 
+05bc c1878000 rtnne 0x0f 
+05bd 68008460 fetch 1 ,mem_le_instant + 1 
+05be 1ff1fe00 rshift4 pdata ,pdata 
+05bf c1800000 rtnne 0x00 
+05c0 20207fe9 branch disable_user 
 
 p_le_prepare_tx:
-05d7 68008456 fetch 1 ,mem_le_arq 
-05d8 c28285eb bbit1 wak ,p_le_prepare_tx_wak 
-05d9 2040066e call power_ctrl_pac_succ_incrs 
-05da 6800c78e fetch 1 ,mem_empty_count 
-05db 243a05e1 nbranch p_le_send_empyt ,blank 
-05dc 6800843f fetch 1 ,mem_le_state 
-05dd c30205e5 bbit0 lestate_encryption ,p_le_tx_4 
-05de 680082da fetch 1 ,mem_le_rxbuf + 1 
-05df 203a05e5 branch p_le_tx_4 ,blank 
-05e0 20205664 branch le_send_empty 
+05c1 68008456 fetch 1 ,mem_le_arq 
+05c2 c28285e1 bbit1 wak ,p_le_prepare_tx_wak 
+05c3 2040065f call power_ctrl_pac_succ_incrs 
+05c4 6800c78e fetch 1 ,mem_empty_count 
+05c5 243a05cb nbranch p_le_send_empyt ,blank 
+05c6 6800843f fetch 1 ,mem_le_state 
+05c7 c30205cf bbit0 lestate_encryption ,p_le_tx_4 
+05c8 680082da fetch 1 ,mem_le_rxbuf + 1 
+05c9 203a05cf branch p_le_tx_4 ,blank 
+05ca 20205664 branch le_send_empty 
 
 p_le_send_empyt:
-05e1 6800c78e fetch 1 ,mem_empty_count 
-05e2 1fe0ffff increase -1 ,pdata 
-05e3 6000c78e store 1 ,mem_empty_count 
-05e4 20205664 branch le_send_empty 
+05cb 6800c78e fetch 1 ,mem_empty_count 
+05cc 1fe0ffff increase -1 ,pdata 
+05cd 6000c78e store 1 ,mem_empty_count 
+05ce 20205664 branch le_send_empty 
 
 p_le_tx_4:
-05e5 6800c4c4 fetch 1 ,mem_le_pairing_state 
-05e6 c08285e8 bne flag_le_pairing_after_auth ,p_in_le_tx_4 
-05e7 70478e03 jam 3 ,mem_empty_count 
+05cf 6800c4c4 fetch 1 ,mem_le_pairing_state 
+05d0 c08285d2 bne flag_le_pairing_after_auth ,p_in_le_tx_4 
+05d1 70478e03 jam 3 ,mem_empty_count 
 
 p_in_le_tx_4:
-05e8 20405892 call le_fifo_check_nearly_full 
-05e9 205a03e2 call p_mouse_data_pull ,blank 
-05ea 20205622 branch le_prepare_tx + 4 
-
-p_le_prepare_tx_wak:
-05eb 204005ed call p_le_check_tx_retransmit_setmd 
-05ec 202005f9 branch p_le_power_ctrl_pac_succ_decrs 
+05d2 20405892 call le_fifo_check_nearly_full 
+05d3 205a03c9 call p_mouse_data_pull ,blank 
+05d4 20205622 branch le_prepare_tx + 4 
 
 p_le_check_tx_retransmit_setmd:
-05ed 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
-05ee 1fe17e03 and pdata ,0x03 ,pdata 
-05ef c1818000 rtnne 0x03 
-05f0 6800c7c3 fetch 1 ,mem_mouse_data_queue_num 
-05f1 207a0000 rtn blank 
-05f2 6800c3dd fetch 1 ,mem_le_txlen 
-05f3 207a0000 rtn blank 
-05f4 6800c3dc fetch 1 ,mem_le_txheader 
-05f5 79207e04 set1 md ,pdata 
-05f6 6000c3dc store 1 ,mem_le_txheader 
-05f7 20405650 call le_set_md 
-05f8 20600000 rtn 
+05d5 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+05d6 1fe17e03 and pdata ,0x03 ,pdata 
+05d7 c1818000 rtnne 0x03 
+05d8 6800c7c3 fetch 1 ,mem_mouse_data_queue_num 
+05d9 207a0000 rtn blank 
+05da 6800c3dd fetch 1 ,mem_le_txlen 
+05db 207a0000 rtn blank 
+05dc 6800c3dc fetch 1 ,mem_le_txheader 
+05dd 79207e04 set1 md ,pdata 
+05de 6000c3dc store 1 ,mem_le_txheader 
+05df 20405650 call le_set_md 
+05e0 20600000 rtn 
+
+p_le_prepare_tx_wak:
+05e1 204005d5 call p_le_check_tx_retransmit_setmd 
 
 p_le_power_ctrl_pac_succ_decrs:
-05f9 20200672 branch power_ctrl_pac_succ_decrs 
+05e2 20200663 branch power_ctrl_pac_succ_decrs 
 
 p_mouse_le_reconn_write_enable_timer_reinit:
-05fa 6800c7a1 fetch 1 ,mem_mouse_le_reconnect_flag 
-05fb 207a0000 rtn blank 
-05fc 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
-05fd 1fe17e03 and pdata ,0x03 ,pdata 
-05fe c1018000 rtneq 0x03 
-05ff 7046c60a jam 10 ,mem_le_start_encrypt_timer 
-0600 20600000 rtn 
+05e3 6800c7a1 fetch 1 ,mem_mouse_le_reconnect_flag 
+05e4 207a0000 rtn blank 
+05e5 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+05e6 1fe17e03 and pdata ,0x03 ,pdata 
+05e7 c1018000 rtneq 0x03 
+05e8 7046c60a jam 10 ,mem_le_start_encrypt_timer 
+05e9 20600000 rtn 
 
 p_le_parse:
-0601 c6078000 rtnmark1 mark_old_packet 
-0602 20405890 call le_fifo_check_full 
-0603 247a0000 nrtn blank 
-0604 680082d9 fetch 1 ,mem_le_rxbuf 
-0605 1fe17e03 and pdata ,0x3 ,pdata 
-0606 6000c50c store 1 ,mem_le_packet_llid 
-0607 e8c08000 ifetch 1 ,contr 
-0608 1fe17e1f and pdata ,0x1f ,pdata 
-0609 6000c50b store 1 ,mem_le_packet_size 
-060a 207a0000 rtn blank 
-060b 18c27e00 copy contr ,pdata 
-060c 6001450d store 2 ,mem_le_payload_ptr 
-060d 6800c50c fetch 1 ,mem_le_packet_llid 
-060e c0018610 beq llid_le_ll ,p_le_parse_ll 
-060f 2020568d branch le_parse_l2cap 
+05ea c6078000 rtnmark1 mark_old_packet 
+05eb 20405890 call le_fifo_check_full 
+05ec 247a0000 nrtn blank 
+05ed 680082d9 fetch 1 ,mem_le_rxbuf 
+05ee 1fe17e03 and pdata ,0x3 ,pdata 
+05ef 6000c50c store 1 ,mem_le_packet_llid 
+05f0 e8c08000 ifetch 1 ,contr 
+05f1 1fe17e1f and pdata ,0x1f ,pdata 
+05f2 6000c50b store 1 ,mem_le_packet_size 
+05f3 207a0000 rtn blank 
+05f4 18c27e00 copy contr ,pdata 
+05f5 6001450d store 2 ,mem_le_payload_ptr 
+05f6 6800c50c fetch 1 ,mem_le_packet_llid 
+05f7 c00185f9 beq llid_le_ll ,p_le_parse_ll 
+05f8 2020568d branch le_parse_l2cap 
 
 p_le_parse_ll:
-0610 680082db fetch 1 ,mem_le_rxbuf + 2 
-0611 c0008613 beq ll_channel_map_req ,p_le_parse_channel_map_req 
-0612 20205c65 branch le_parse_ll + 1 
+05f9 680082db fetch 1 ,mem_le_rxbuf + 2 
+05fa c00005fd beq ll_connection_update_req ,p_le_parse_connection_update_req 
+05fb c0008604 beq ll_channel_map_req ,p_le_parse_channel_map_req 
+05fc 20205c65 branch le_parse_ll + 1 
+
+p_le_parse_connection_update_req:
+05fd 20405c7b call le_parse_connection_update_req 
+05fe 6800cb55 fetch 1 ,mem_mouse_le_updata_not_accepted_flag 
+05ff 207a0000 rtn blank 
+
+p_mouse_le_conn_param_update_rsp_not_accepted_mult_reset:
+0600 6800c3d8 fetch 1 ,mem_le_new_connslavelatency 
+0601 6000c172 store 1 ,mem_lpm_mult 
+0602 6000c7c7 store 1 ,mem_lpm_mult_init 
+0603 20600000 rtn 
 
 p_le_parse_channel_map_req:
-0613 e8c28000 ifetch 5 ,contr 
-0614 6002c3ce store 5 ,mem_le_new_map 
-0615 e8c10000 ifetch 2 ,contr 
-0616 6001045f store 2 ,mem_le_instant 
-0617 20205c8a branch le_parse_channel_map_req + 7 
+0604 e8c28000 ifetch 5 ,contr 
+0605 6002c3ce store 5 ,mem_le_new_map 
+0606 e8c10000 ifetch 2 ,contr 
+0607 6001045f store 2 ,mem_le_instant 
+0608 20205c8a branch le_parse_channel_map_req + 7 
 
 p_le_parse_l2cap:
-0618 e8c10000 ifetch 2 ,contr 
-0619 c002061c beq le_l2cap_cid_att ,p_le_parse_att 
-061a c0030639 beq le_l2cap_cid_smp ,p_le_parse_smp 
-061b 20205698 branch le_parse_l2cap + 11 
+0609 e8c10000 ifetch 2 ,contr 
+060a c002060d beq le_l2cap_cid_att ,p_le_parse_att 
+060b c003062a beq le_l2cap_cid_smp ,p_le_parse_smp 
+060c 20205698 branch le_parse_l2cap + 11 
 
 p_le_parse_att:
-061c 20407ea5 call store_contr 
-061d 204005fa call p_mouse_le_reconn_write_enable_timer_reinit 
-061e 20407e9f call get_contr 
-061f e8c18000 ifetch 3 ,contr 
-0620 60018477 store 3 ,mem_le_att_opcode 
-0621 c008062b beq attop_read_by_group_type_request ,p_le_parse_att_read_by_group_type_request 
-0622 1fec8400 rshift8 pdata ,temp 
-0623 18467c24 sub temp ,0x24 ,null 
-0624 202158ad branch le_parse_att + 2 ,positive 
-0625 d84047c8 arg mem_mouse_le_uuid_sup ,temp 
-0626 600944bc storet 2 ,mem_ui_le_uuid_table 
-0627 204058ad call le_parse_att + 2 
-0628 58008e7a setarg 0x8e7a 
-0629 600144bc store 2 ,mem_ui_le_uuid_table 
-062a 20600000 rtn 
+060d 20407ea5 call store_contr 
+060e 204005e3 call p_mouse_le_reconn_write_enable_timer_reinit 
+060f 20407e9f call get_contr 
+0610 e8c18000 ifetch 3 ,contr 
+0611 60018477 store 3 ,mem_le_att_opcode 
+0612 c008061c beq attop_read_by_group_type_request ,p_le_parse_att_read_by_group_type_request 
+0613 1fec8400 rshift8 pdata ,temp 
+0614 18467c24 sub temp ,0x24 ,null 
+0615 202158ad branch le_parse_att + 2 ,positive 
+0616 d84047c8 arg mem_mouse_le_uuid_sup ,temp 
+0617 600944bc storet 2 ,mem_ui_le_uuid_table 
+0618 204058ad call le_parse_att + 2 
+0619 58008e7a setarg 0x8e7a 
+061a 600144bc store 2 ,mem_ui_le_uuid_table 
+061b 20600000 rtn 
 
 p_le_parse_att_read_by_group_type_request:
-062b 204059fa call le_parse_att_read_by_group_type_request 
-062c 20405879 call le_fifo_get_last_tx_ptr 
-062d 18c08c07 increase 7 ,contr 
-062e e8c08000 ifetch 1 ,contr 
-062f c1888000 rtnne attop_read_by_group_type_response 
-0630 18c08c05 increase 5 ,contr 
-0631 e8c10000 ifetch 2 ,contr 
-0632 d8401812 arg uuid_service_hids ,temp 
-0633 98467c00 isub temp ,null 
-0634 24628000 nrtn zero 
-0635 18c08dfc increase -4 ,contr 
-0636 5800002b setarg 0x2b 
-0637 e0c10000 istore 2 ,contr 
-0638 20600000 rtn 
+061c 204059fa call le_parse_att_read_by_group_type_request 
+061d 20405879 call le_fifo_get_last_tx_ptr 
+061e 18c08c07 increase 7 ,contr 
+061f e8c08000 ifetch 1 ,contr 
+0620 c1888000 rtnne attop_read_by_group_type_response 
+0621 18c08c05 increase 5 ,contr 
+0622 e8c10000 ifetch 2 ,contr 
+0623 d8401812 arg uuid_service_hids ,temp 
+0624 98467c00 isub temp ,null 
+0625 24628000 nrtn zero 
+0626 18c08dfc increase -4 ,contr 
+0627 5800002b setarg 0x2b 
+0628 e0c10000 istore 2 ,contr 
+0629 20600000 rtn 
 
 p_le_parse_smp:
-0639 e8c08000 ifetch 1 ,contr 
-063a c000863d beq smp_pairing_request ,p_le_parse_smp_pairing_request 
-063b c002863f beq smp_pairing_failed ,p_le_parse_smp_pairing_failed 
-063c 20205af6 branch le_parse_smp + 2 
+062a e8c08000 ifetch 1 ,contr 
+062b c000862e beq smp_pairing_request ,p_le_parse_smp_pairing_request 
+062c c0028630 beq smp_pairing_failed ,p_le_parse_smp_pairing_failed 
+062d 20205af6 branch le_parse_smp + 2 
 
 p_le_parse_smp_pairing_request:
-063d 704b3c01 jam 1 ,mem_le_send_security_request_flag 
-063e 20205b09 branch le_parse_smp_pairing_request 
+062e 704b3c01 jam 1 ,mem_le_send_security_request_flag 
+062f 20205b09 branch le_parse_smp_pairing_request 
 
 p_le_parse_smp_pairing_failed:
-063f 20405b5a call le_parse_smp_pairing_failed 
-0640 6800843f fetch 1 ,mem_le_state 
-0641 793ffe05 set0 lestate_update_param ,pdata 
-0642 6000843f store 1 ,mem_le_state 
-0643 20205c8e branch le_parse_terminate_ind 
+0630 20405b5a call le_parse_smp_pairing_failed 
+0631 6800843f fetch 1 ,mem_le_state 
+0632 793ffe05 set0 lestate_update_param ,pdata 
+0633 6000843f store 1 ,mem_le_state 
+0634 20205c8e branch le_parse_terminate_ind 
 
 p_le_adv_not_match:
-0644 68008016 fetch 1 ,mem_le_ch_mapped 
-0645 c093d6f2 bne 39 ,le_adv_loop 
-0646 2040064a call p_le_adv_random_delay 
-0647 d8e00000 arg le_adv_interval_timer ,queue 
-0648 68014482 fetch 2 ,mem_le_adv_interval 
-0649 20207f08 branch timer_init 
+0635 68008016 fetch 1 ,mem_le_ch_mapped 
+0636 c093d6f2 bne 39 ,le_adv_loop 
+0637 2040063b call p_le_adv_random_delay 
+0638 d8e00000 arg le_adv_interval_timer ,queue 
+0639 68014482 fetch 2 ,mem_le_adv_interval 
+063a 20207f08 branch timer_init 
 
 p_le_adv_random_delay:
-064a 180a7e00 random pdata 
-064b d84001ff arg 0x1ff ,temp 
-064c 98417e00 iand temp ,pdata 
-064d 1fe0fefa add pdata ,250 ,pdata 
-064e 20203cbe branch delay 
+063b 180a7e00 random pdata 
+063c d84001ff arg 0x1ff ,temp 
+063d 98417e00 iand temp ,pdata 
+063e 1fe0fefa add pdata ,250 ,pdata 
+063f 20203cbe branch delay 
 
 p_le_lpm_setmult:
-064f 7855fc00 disable wake 
-0650 20370652 branch p_le_lpm_set_mult_attempt ,attempt 
-0651 2436d806 nbranch le_lpm_lost ,match 
+0640 7855fc00 disable wake 
+0641 20370643 branch p_le_lpm_set_mult_attempt ,attempt 
+0642 2436d806 nbranch le_lpm_lost ,match 
 
 p_le_lpm_set_mult_attempt:
-0652 20402bcb call lpm_match 
-0653 680140c1 fetch 2 ,mem_rx_window_sniff 
-0654 6001044d store 2 ,mem_le_receive_window 
-0655 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
-0656 2fe00603 compare 3 ,pdata ,3 
-0657 2420abde nbranch lpm_mult_short ,true 
-0658 202057fb branch le_lpm_set_mult_attempt + 3 
+0643 20402bcb call lpm_match 
+0644 680140c1 fetch 2 ,mem_rx_window_sniff 
+0645 6001044d store 2 ,mem_le_receive_window 
+0646 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+0647 2fe00603 compare 3 ,pdata ,3 
+0648 2420abde nbranch lpm_mult_short ,true 
+0649 202057fb branch le_lpm_set_mult_attempt + 3 
 
 p_le_mouse_bb_event_connect_complete:
-0659 6800c7a1 fetch 1 ,mem_mouse_le_reconnect_flag 
-065a 247a0000 nrtn blank 
-065b 68008478 fetch 1 ,mem_le_att_handle 
-065c 1fe67e1a sub pdata ,26 ,pdata 
-065d 24628000 nrtn zero 
-065e 20203d60 branch mouse_le_write_enable 
+064a 6800c7a1 fetch 1 ,mem_mouse_le_reconnect_flag 
+064b 247a0000 nrtn blank 
+064c 68008478 fetch 1 ,mem_le_att_handle 
+064d 1fe67e1a sub pdata ,26 ,pdata 
+064e 24628000 nrtn zero 
+064f 20203d60 branch mouse_le_write_enable 
 
 p_twspi_reset:
-065f 68108077 hfetch 1 ,core_gpio_out3 
-0660 1fe17efd and_into 0xfd ,pdata 
-0661 60108077 hstore 1 ,core_gpio_out3 
-0662 68188073 hfetcht 1 ,core_gpio_oe3 
-0663 18418402 or_into 0x2 ,temp 
-0664 60188073 hstoret 1 ,core_gpio_oe3 
-0665 204063ee call twspi_disable 
-0666 184104fd and_into 0xfd ,temp 
-0667 2000000d nop 13 
-0668 204063f2 call twspi_enable 
-0669 60188073 hstoret 1 ,core_gpio_oe3 
-066a 20600000 rtn 
+0650 68108077 hfetch 1 ,core_gpio_out3 
+0651 1fe17efd and_into 0xfd ,pdata 
+0652 60108077 hstore 1 ,core_gpio_out3 
+0653 68188073 hfetcht 1 ,core_gpio_oe3 
+0654 18418402 or_into 0x2 ,temp 
+0655 60188073 hstoret 1 ,core_gpio_oe3 
+0656 204063ee call twspi_disable 
+0657 184104fd and_into 0xfd ,temp 
+0658 2000000d nop 13 
+0659 204063f2 call twspi_enable 
+065a 60188073 hstoret 1 ,core_gpio_oe3 
+065b 20600000 rtn 
 
 power_ctrl_pac_succ_cnt_init:
-066b 704d0401 jam 1 ,mem_power_ctrl_level 
-066c 704d0100 jam 0 ,mem_power_ctrl_pac_succ_cnt 
-066d 20600000 rtn 
+065c 704d5a01 jam 1 ,mem_power_ctrl_level 
+065d 704d5700 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+065e 20600000 rtn 
 
 power_ctrl_pac_succ_incrs:
-066e 6800cd01 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-066f 1fe0fe01 increase 1 ,pdata 
-0670 6000cd01 store 1 ,mem_power_ctrl_pac_succ_cnt 
-0671 20600000 rtn 
+065f 6800cd57 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0660 1fe0fe01 increase 1 ,pdata 
+0661 6000cd57 store 1 ,mem_power_ctrl_pac_succ_cnt 
+0662 20600000 rtn 
 
 power_ctrl_pac_succ_decrs:
-0672 6800cd01 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-0673 1fe67c02 sub pdata ,2 ,null 
-0674 2441067a ncall power_ctrl_pac_succ_cnt_reinit ,positive 
-0675 6800cd01 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-0676 c1000000 rtneq 0 
-0677 1fe0ffff increase -1 ,pdata 
-0678 6000cd01 store 1 ,mem_power_ctrl_pac_succ_cnt 
-0679 20600000 rtn 
+0663 6800cd57 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0664 1fe67c02 sub pdata ,2 ,null 
+0665 2441066b ncall power_ctrl_pac_succ_cnt_reinit ,positive 
+0666 6800cd57 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0667 c1000000 rtneq 0 
+0668 1fe0ffff increase -1 ,pdata 
+0669 6000cd57 store 1 ,mem_power_ctrl_pac_succ_cnt 
+066a 20600000 rtn 
 
 power_ctrl_pac_succ_cnt_reinit:
-067a 704d0103 jam 3 ,mem_power_ctrl_pac_succ_cnt 
-067b 20600000 rtn 
+066b 704d5703 jam 3 ,mem_power_ctrl_pac_succ_cnt 
+066c 20600000 rtn 
 
 power_ctrl_start:
-067c 68014682 fetch 2 ,mem_ui_state_map 
-067d c3858000 rtnbit1 ui_state_ble_adv 
-067e c3838000 rtnbit1 ui_state_bt_reconnect 
-067f c3830000 rtnbit1 ui_state_bt_discovery 
-0680 da204c8a arg mem_rssi_signal_buf ,rega 
-0681 204002bc call p_rssi_average 
-0682 6008cd02 storet 1 ,mem_rssi_avg_received 
-0683 58000082 setarg rssi_dis_max_24g 
-0684 c5130686 bmark1 mark_24g ,power_ctrl_start_next 
-0685 58000080 setarg rssi_dis_max_ble 
+066d 68014682 fetch 2 ,mem_ui_state_map 
+066e c3858000 rtnbit1 ui_state_ble_adv 
+066f da204ce0 arg mem_rssi_signal_buf ,rega 
+0670 20400298 call p_rssi_average 
+0671 6008cd58 storet 1 ,mem_rssi_avg_received 
+0672 58000082 setarg rssi_dis_max_24g 
+0673 c5130675 bmark1 mark_24g ,power_ctrl_start_next 
+0674 58000080 setarg rssi_dis_max_ble 
 
 power_ctrl_start_next:
-0686 98467c00 isub temp ,null 
-0687 2421069e nbranch power_ctrl_txpower_incrs_force ,positive 
-0688 6800cd01 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-0689 1fe67c02 sub pdata ,2 ,null 
-068a 2421068e nbranch power_ctrl_txpower_decrs_check ,positive 
-068b 6800cd01 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-068c c000069f beq 0 ,power_ctrl_txpower_incrs 
-068d 20600000 rtn 
+0675 98467c00 isub temp ,null 
+0676 2421068d nbranch power_ctrl_txpower_incrs_force ,positive 
+0677 6800cd57 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0678 1fe67c02 sub pdata ,2 ,null 
+0679 2421067d nbranch power_ctrl_txpower_decrs_check ,positive 
+067a 6800cd57 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+067b c000068e beq 0 ,power_ctrl_txpower_incrs 
+067c 20600000 rtn 
 
 power_ctrl_txpower_decrs_check:
-068e 6800cd01 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-068f c1900000 rtnne 32 
-0690 704d0100 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+067d 6800cd57 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+067e c1900000 rtnne 32 
+067f 704d5700 jam 0 ,mem_power_ctrl_pac_succ_cnt 
 
 power_ctrl_txpower_decrs:
-0691 6808cd02 fetcht 1 ,mem_rssi_avg_received 
-0692 58000077 setarg rssi_dis_min_24g 
-0693 c5130695 bmark1 mark_24g ,power_ctrl_txpower_decrs_next 
-0694 58000075 setarg rssi_dis_min_ble 
+0680 6808cd58 fetcht 1 ,mem_rssi_avg_received 
+0681 58000077 setarg rssi_dis_min_24g 
+0682 c5130684 bmark1 mark_24g ,power_ctrl_txpower_decrs_next 
+0683 58000075 setarg rssi_dis_min_ble 
 
 power_ctrl_txpower_decrs_next:
-0695 98467c00 isub temp ,null 
-0696 24610000 nrtn positive 
-0697 6800cd04 fetch 1 ,mem_power_ctrl_level 
-0698 c00006a6 beq 0 ,power_ctrl_decrs_level0 
-0699 1fe0ffff increase -1 ,pdata 
-069a 6000cd04 store 1 ,mem_power_ctrl_level 
-069b c00006a6 beq 0 ,power_ctrl_decrs_level0 
+0684 98467c00 isub temp ,null 
+0685 24610000 nrtn positive 
+0686 6800cd5a fetch 1 ,mem_power_ctrl_level 
+0687 c0000695 beq 0 ,power_ctrl_decrs_level0 
+0688 1fe0ffff increase -1 ,pdata 
+0689 6000cd5a store 1 ,mem_power_ctrl_level 
+068a c0000695 beq 0 ,power_ctrl_decrs_level0 
 
 power_ctrl_decrs_level1:
 
 power_ctrl_incrs_level1:
-069c 7041de00 jam tx_power_0db ,mem_tx_power 
-069d 20600000 rtn 
+068b 7041de00 jam tx_power_0db ,mem_tx_power 
+068c 20600000 rtn 
 
 power_ctrl_txpower_incrs_force:
-069e 704d0100 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+068d 704d5700 jam 0 ,mem_power_ctrl_pac_succ_cnt 
 
 power_ctrl_txpower_incrs:
-069f 6800cd04 fetch 1 ,mem_power_ctrl_level 
-06a0 c00106a4 beq 2 ,power_ctrl_incrs_level2 
-06a1 1fe0fe01 increase 1 ,pdata 
-06a2 6000cd04 store 1 ,mem_power_ctrl_level 
-06a3 c000869c beq 1 ,power_ctrl_incrs_level1 
+068e 6800cd5a fetch 1 ,mem_power_ctrl_level 
+068f c0010693 beq 2 ,power_ctrl_incrs_level2 
+0690 1fe0fe01 increase 1 ,pdata 
+0691 6000cd5a store 1 ,mem_power_ctrl_level 
+0692 c000868b beq 1 ,power_ctrl_incrs_level1 
 
 power_ctrl_incrs_level2:
-06a4 7041de02 jam tx_power_5db ,mem_tx_power 
-06a5 20600000 rtn 
+0693 7041de02 jam tx_power_5db ,mem_tx_power 
+0694 20600000 rtn 
 
 power_ctrl_decrs_level0:
-06a6 7041de04 jam tx_power_f5db ,mem_tx_power 
-06a7 20600000 rtn 
+0695 7041de04 jam tx_power_f5db ,mem_tx_power 
+0696 20600000 rtn 
 
 p_set_freq_tx:
-06a8 60088017 storet 1 ,mem_last_freq 
-06a9 1840a200 add temp ,0 ,rega 
-06aa 20402981 call rf_write_freq 
-06ab 58000a00 setarg 0x0a00 
-06ac 20402a8f call sleep 
+0697 60088017 storet 1 ,mem_last_freq 
+0698 1840a200 add temp ,0 ,rega 
+0699 20402981 call rf_write_freq 
+069a 58000a00 setarg 0x0a00 
+069b 20402a8f call sleep 
 
 p_rf_tx_enable:
-06ad 70890601 jam 0x1 ,rfen_adc 
-06ae 7089003c jam 0x3c ,rfen_rx 
-06af 708901e0 jam 0xe0 ,rfen_tx 
-06b0 2000000a nop 10 
-06b1 70890201 jam 0x01 ,rfen_mdm 
-06b2 7089023d jam 0x3d ,rfen_mdm 
-06b3 2000000a nop 10 
-06b4 708903b7 jam 0xb7 ,rfen_sn 
-06b5 2000000a nop 10 
-06b6 7089027d jam 0x7d ,rfen_mdm 
-06b7 6800c1de fetch 1 ,mem_tx_power 
-06b8 c00106c0 beq tx_power_5db ,p_set_tx_power_5db 
-06b9 c00206c5 beq tx_power_f5db ,p_set_tx_power_f5db 
-06ba c01006d4 beq tx_power_pair ,p_set_tx_power_pair 
+069c 70890601 jam 0x1 ,rfen_adc 
+069d 7089003c jam 0x3c ,rfen_rx 
+069e 708901e0 jam 0xe0 ,rfen_tx 
+069f 2000000a nop 10 
+06a0 70890201 jam 0x01 ,rfen_mdm 
+06a1 7089023d jam 0x3d ,rfen_mdm 
+06a2 2000000a nop 10 
+06a3 708903b7 jam 0xb7 ,rfen_sn 
+06a4 2000000a nop 10 
+06a5 7089027d jam 0x7d ,rfen_mdm 
+06a6 6800c1de fetch 1 ,mem_tx_power 
+06a7 c00106af beq tx_power_5db ,p_set_tx_power_5db 
+06a8 c00206b7 beq tx_power_f5db ,p_set_tx_power_f5db 
+06a9 c01006c1 beq tx_power_pair ,p_set_tx_power_pair 
 
 p_set_tx_power_0db:
-06bb 204006ca call p_rx_low_sens 
-06bc 708955d0 jam 0xd0 ,0x8955 
-06bd 708956e0 jam 0xe0 ,0x8956 
-06be 7089586c jam 0x6c ,0x8958 
-06bf 2020294b branch set_tx_power_0db 
+06aa 204006bc call p_rx_low_sens 
+06ab 708955d0 jam 0xd0 ,0x8955 
+06ac 708956e0 jam 0xe0 ,0x8956 
+06ad 7089586c jam 0x6c ,0x8958 
+06ae 2020294b branch set_tx_power_0db 
 
 p_set_tx_power_5db:
-06c0 204006cf call p_rx_high_sens 
-06c1 708955d0 jam 0xd0 ,0x8955 
-06c2 708956e0 jam 0xe0 ,0x8956 
-06c3 7089583c jam 0x3c ,0x8958 
-06c4 20202953 branch set_tx_power_5db 
+
+p_rx_high_sens:
+06af 70894cfb jam 0xfb ,0x894c 
+06b0 70894def jam 0xef ,0x894d 
+06b1 70894eec jam 0xec ,0x894e 
+06b2 70894f5e jam 0x5e ,0x894f 
+06b3 708955d0 jam 0xd0 ,0x8955 
+06b4 708956e0 jam 0xe0 ,0x8956 
+06b5 7089583c jam 0x3c ,0x8958 
+06b6 20202953 branch set_tx_power_5db 
 
 p_set_tx_power_f5db:
-06c5 204006ca call p_rx_low_sens 
-06c6 708955d0 jam 0xd0 ,0x8955 
-06c7 708956c0 jam 0xc0 ,0x8956 
-06c8 7089586c jam 0x6c ,0x8958 
-06c9 2020295b branch set_tx_power_f5db 
+06b7 204006bc call p_rx_low_sens 
+06b8 708955d0 jam 0xd0 ,0x8955 
+06b9 708956c0 jam 0xc0 ,0x8956 
+06ba 7089586c jam 0x6c ,0x8958 
+06bb 2020295b branch set_tx_power_f5db 
 
 p_rx_low_sens:
-06ca 70894c5b jam 0x5b ,0x894c 
-06cb 70894d96 jam 0x96 ,0x894d 
-06cc 70894e2c jam 0x2c ,0x894e 
-06cd 70894f46 jam 0x46 ,0x894f 
-06ce 20600000 rtn 
-
-p_rx_high_sens:
-06cf 70894cfb jam 0xfb ,0x894c 
-06d0 70894def jam 0xef ,0x894d 
-06d1 70894eec jam 0xec ,0x894e 
-06d2 70894f5e jam 0x5e ,0x894f 
-06d3 20600000 rtn 
+06bc 70894c5b jam 0x5b ,0x894c 
+06bd 70894d96 jam 0x96 ,0x894d 
+06be 70894e2c jam 0x2c ,0x894e 
+06bf 70894f46 jam 0x46 ,0x894f 
+06c0 20600000 rtn 
 
 p_set_tx_power_pair:
-06d4 708956c2 jam 0xc2 ,0x8956 
-06d5 708955d0 jam 0xd0 ,0x8955 
-06d6 20600000 rtn 
+06c1 708956c2 jam 0xc2 ,0x8956 
+06c2 708955d0 jam 0xd0 ,0x8955 
+06c3 20600000 rtn 
 
 p_shutdown_radio:
-06d7 18002a08 force 8 ,radio_ctrl 
-06d8 202028fa branch shutdown_radio + 1 
+06c4 18002a08 force 8 ,radio_ctrl 
+06c5 202028fa branch shutdown_radio + 1 
 
 p_initialize_radio_cont:
-06d9 20402978 call initialize_radio_cont + 1 
-06da 70804205 jam clksel_dpll ,core_clksel 
-06db 20600000 rtn 
+06c6 20402978 call initialize_radio_cont + 1 
+06c7 70804205 jam clksel_dpll ,core_clksel 
+06c8 20600000 rtn 
 
 p_drawing_optima:
-06dc 6802469b fetch 4 ,mem_mouse_x 
-06dd 207a0000 rtn blank 
-06de 2040072f call p_data_abs_check 
-06df 58000006 setarg 0x06 
-06e0 20400722 call p_data_greater_than_check 
-06e1 58000003 setarg 0x03 
-06e2 20400728 call p_data_less_than_check 
-06e3 6800cb21 fetch 1 ,mem_mouse_asm_flag 
-06e4 c00086e8 beq 1 ,p_drawing_optima_modify 
+06c9 6802469b fetch 4 ,mem_mouse_x 
+06ca 207a0000 rtn blank 
+06cb 2040071c call p_data_abs_check 
+06cc 58000006 setarg 0x06 
+06cd 2040070f call p_data_greater_than_check 
+06ce 58000003 setarg 0x03 
+06cf 20400715 call p_data_less_than_check 
+06d0 6800cb21 fetch 1 ,mem_mouse_asm_flag 
+06d1 c00086d5 beq 1 ,p_drawing_optima_modify 
 
 p_drawing_optima_init:
-06e5 df200005 arg 5 ,loopcnt 
-06e6 d8a04b21 arg mem_mouse_asm_flag ,contw 
-06e7 20207ed4 branch clear_mem 
+06d2 df200005 arg 5 ,loopcnt 
+06d3 d8a04b21 arg mem_mouse_asm_flag ,contw 
+06d4 20207ed4 branch clear_mem 
 
 p_drawing_optima_modify:
-06e8 68014b22 fetch 2 ,mem_mouse_x_pre 
-06e9 600111be store 2 ,mem_data_pre 
-06ea 6801469b fetch 2 ,mem_mouse_x 
-06eb 600111c0 store 2 ,mem_data_current 
-06ec 204006fb call p_drawing_optima_data 
-06ed 680111be fetch 2 ,mem_data_pre 
-06ee 60014b22 store 2 ,mem_mouse_x_pre 
-06ef 680111c0 fetch 2 ,mem_data_current 
-06f0 6001469b store 2 ,mem_mouse_x 
-06f1 68014b24 fetch 2 ,mem_mouse_y_pre 
-06f2 600111be store 2 ,mem_data_pre 
-06f3 6801469d fetch 2 ,mem_mouse_y 
-06f4 600111c0 store 2 ,mem_data_current 
-06f5 204006fb call p_drawing_optima_data 
-06f6 680111be fetch 2 ,mem_data_pre 
-06f7 60014b24 store 2 ,mem_mouse_y_pre 
-06f8 680111c0 fetch 2 ,mem_data_current 
-06f9 6001469d store 2 ,mem_mouse_y 
-06fa 20600000 rtn 
+06d5 68014b22 fetch 2 ,mem_mouse_x_pre 
+06d6 600111be store 2 ,mem_data_pre 
+06d7 6801469b fetch 2 ,mem_mouse_x 
+06d8 600111c0 store 2 ,mem_data_current 
+06d9 204006e8 call p_drawing_optima_data 
+06da 680111be fetch 2 ,mem_data_pre 
+06db 60014b22 store 2 ,mem_mouse_x_pre 
+06dc 680111c0 fetch 2 ,mem_data_current 
+06dd 6001469b store 2 ,mem_mouse_x 
+06de 68014b24 fetch 2 ,mem_mouse_y_pre 
+06df 600111be store 2 ,mem_data_pre 
+06e0 6801469d fetch 2 ,mem_mouse_y 
+06e1 600111c0 store 2 ,mem_data_current 
+06e2 204006e8 call p_drawing_optima_data 
+06e3 680111be fetch 2 ,mem_data_pre 
+06e4 60014b24 store 2 ,mem_mouse_y_pre 
+06e5 680111c0 fetch 2 ,mem_data_current 
+06e6 6001469d store 2 ,mem_mouse_y 
+06e7 20600000 rtn 
 
 p_drawing_optima_data:
-06fb 680111be fetch 2 ,mem_data_pre 
-06fc 680911c0 fetcht 2 ,mem_data_current 
-06fd 9840fe00 iadd temp ,pdata 
-06fe 600191c2 store 3 ,mem_data_sum 
-06ff 2feffe10 isolate1 16 ,pdata 
-0700 20208708 branch p_data_sum_overflow ,true 
-0701 680091c3 fetch 1 ,mem_data_sum + 1 
-0702 c07f870f beq 0xff ,p_data_sum_n 
-0703 680091c2 fetch 1 ,mem_data_sum 
+06e8 680111be fetch 2 ,mem_data_pre 
+06e9 680911c0 fetcht 2 ,mem_data_current 
+06ea 9840fe00 iadd temp ,pdata 
+06eb 600191c2 store 3 ,mem_data_sum 
+06ec 2feffe10 isolate1 16 ,pdata 
+06ed 202086f5 branch p_data_sum_overflow ,true 
+06ee 680091c3 fetch 1 ,mem_data_sum + 1 
+06ef c07f86fc beq 0xff ,p_data_sum_n 
+06f0 680091c2 fetch 1 ,mem_data_sum 
 
 p_data_store_pre:
-0704 1fe37e00 rshift pdata ,pdata 
-0705 600111be store 2 ,mem_data_pre 
-0706 600111c0 store 2 ,mem_data_current 
-0707 20600000 rtn 
+06f1 1fe37e00 rshift pdata ,pdata 
+06f2 600111be store 2 ,mem_data_pre 
+06f3 600111c0 store 2 ,mem_data_current 
+06f4 20600000 rtn 
 
 p_data_sum_overflow:
-0708 680091c3 fetch 1 ,mem_data_sum + 1 
-0709 c000070c beq 0 ,p_data_sum_overflow_p 
-070a 680191c2 fetch 3 ,mem_data_sum 
-070b 20200704 branch p_data_store_pre 
+06f5 680091c3 fetch 1 ,mem_data_sum + 1 
+06f6 c00006f9 beq 0 ,p_data_sum_overflow_p 
+06f7 680191c2 fetch 3 ,mem_data_sum 
+06f8 202006f1 branch p_data_store_pre 
 
 p_data_sum_overflow_p:
-070c 7011c400 jam 0 ,mem_data_sum + 2 
-070d 680091c2 fetch 1 ,mem_data_sum 
-070e 20200704 branch p_data_store_pre 
+06f9 7011c400 jam 0 ,mem_data_sum + 2 
+06fa 680091c2 fetch 1 ,mem_data_sum 
+06fb 202006f1 branch p_data_store_pre 
 
 p_data_sum_n:
-070f 680091c2 fetch 1 ,mem_data_sum 
-0710 2040071a call p_pdata_get_half 
-0711 600091be store 1 ,mem_data_pre 
-0712 600091c0 store 1 ,mem_data_current 
-0713 203a0718 branch p_data_zero ,blank 
-0714 580000ff setarg 0xff 
+06fc 680091c2 fetch 1 ,mem_data_sum 
+06fd 20400707 call p_pdata_get_half 
+06fe 600091be store 1 ,mem_data_pre 
+06ff 600091c0 store 1 ,mem_data_current 
+0700 203a0705 branch p_data_zero ,blank 
+0701 580000ff setarg 0xff 
 
 p_data_set_direction:
-0715 600091bf store 1 ,mem_data_pre + 1 
-0716 600091c1 store 1 ,mem_data_current + 1 
-0717 20600000 rtn 
+0702 600091bf store 1 ,mem_data_pre + 1 
+0703 600091c1 store 1 ,mem_data_current + 1 
+0704 20600000 rtn 
 
 p_data_zero:
-0718 58000000 setarg 0 
-0719 20200715 branch p_data_set_direction 
+0705 58000000 setarg 0 
+0706 20200702 branch p_data_set_direction 
 
 p_pdata_get_half:
-071a 1fe67e00 sub pdata ,0 ,pdata 
-071b 60008aae store 1 ,mem_rega 
-071c 68008aae fetch 1 ,mem_rega 
-071d 1fe37e00 rshift pdata ,pdata 
-071e 60008aae store 1 ,mem_rega 
-071f 68008aae fetch 1 ,mem_rega 
-0720 1fe67e00 sub pdata ,0 ,pdata 
-0721 20600000 rtn 
+0707 1fe67e00 sub pdata ,0 ,pdata 
+0708 60008aae store 1 ,mem_rega 
+0709 68008aae fetch 1 ,mem_rega 
+070a 1fe37e00 rshift pdata ,pdata 
+070b 60008aae store 1 ,mem_rega 
+070c 68008aae fetch 1 ,mem_rega 
+070d 1fe67e00 sub pdata ,0 ,pdata 
+070e 20600000 rtn 
 
 p_data_greater_than_check:
-0722 9a267c00 isub rega ,null 
-0723 2421072d nbranch p_enable_asm ,positive 
-0724 9a467c00 isub regb ,null 
-0725 2421072d nbranch p_enable_asm ,positive 
+070f 9a267c00 isub rega ,null 
+0710 2421071a nbranch p_enable_asm ,positive 
+0711 9a467c00 isub regb ,null 
+0712 2421071a nbranch p_enable_asm ,positive 
 
 p_disable_asm:
-0726 704b2100 jam 0 ,mem_mouse_asm_flag 
-0727 20600000 rtn 
+0713 704b2100 jam 0 ,mem_mouse_asm_flag 
+0714 20600000 rtn 
 
 p_data_less_than_check:
-0728 9a267c00 isub rega ,null 
-0729 24610000 nrtn positive 
-072a 9a467c00 isub regb ,null 
-072b 24610000 nrtn positive 
-072c 20200726 branch p_disable_asm 
+0715 9a267c00 isub rega ,null 
+0716 24610000 nrtn positive 
+0717 9a467c00 isub regb ,null 
+0718 24610000 nrtn positive 
+0719 20200713 branch p_disable_asm 
 
 p_enable_asm:
-072d 704b2101 jam 1 ,mem_mouse_asm_flag 
-072e 20600000 rtn 
+071a 704b2101 jam 1 ,mem_mouse_asm_flag 
+071b 20600000 rtn 
 
 p_data_abs_check:
-072f 6801469b fetch 2 ,mem_mouse_x 
-0730 600111c0 store 2 ,mem_data_current 
-0731 20400738 call p_data_abs 
-0732 1fe22200 copy pdata ,rega 
-0733 6801469d fetch 2 ,mem_mouse_y 
-0734 600111c0 store 2 ,mem_data_current 
-0735 20400738 call p_data_abs 
-0736 1fe22400 copy pdata ,regb 
-0737 20600000 rtn 
+071c 6801469b fetch 2 ,mem_mouse_x 
+071d 20400723 call p_data_abs 
+071e 1fe22200 copy pdata ,rega 
+071f 6801469d fetch 2 ,mem_mouse_y 
+0720 20400723 call p_data_abs 
+0721 1fe22400 copy pdata ,regb 
+0722 20600000 rtn 
 
 p_data_abs:
-0738 680091c1 fetch 1 ,mem_data_current + 1 
-0739 c07f873d beq 0xff ,p_data_reversal 
-073a 680091c0 fetch 1 ,mem_data_current 
+0723 600111c0 store 2 ,mem_data_current 
+0724 680091c1 fetch 1 ,mem_data_current + 1 
+0725 c07f8729 beq 0xff ,p_data_reversal 
+0726 680091c0 fetch 1 ,mem_data_current 
 
 p_data_abs_store:
-073b 1fe17eff and_into 0xff ,pdata 
-073c 20600000 rtn 
+0727 1fe17eff and_into 0xff ,pdata 
+0728 20600000 rtn 
 
 p_data_reversal:
-073d 680111c0 fetch 2 ,mem_data_current 
-073e 1fe67e00 sub pdata ,0 ,pdata 
-073f 2020073b branch p_data_abs_store 
+0729 680111c0 fetch 2 ,mem_data_current 
+072a 1fe67e00 sub pdata ,0 ,pdata 
+072b 20200727 branch p_data_abs_store 
 org 0x2000
 
 start:
Index: program/patch.prog
===================================================================
--- /branch/mouse_project/MingAo_Project/24G&BLE_24G_FIRST/program/patch.prog	(revision 1845)
+++ /branch/mouse_project/MingAo_Project/24G&BLE_24G_FIRST/program/patch.prog	(working copy)
@@ -7,7 +7,7 @@
 //define ADC_ENABLE
 //define P24G_LOG
 //define RF_DEBUG
-//define BLE_FAST_CONN_ENABLE
+define BLE_FAST_CONN_ENABLE
 define G24_NEW_RF_HOP
 
 //define DEBUGLOG
@@ -135,39 +135,137 @@
 ifdef G24
 p_g24_dispatch:
 	rtnmark0 mark_24g
+	fetch 1,mem_24g_conn_sm
+	bbit1 STATE_24G_PAIR,p_g24_pair_dispatch
+	bbit1 STATE_24G_RECONN,p_g24_reconn_dispatch
 	fetch 1,mem_24g_transmit_by_interrupt
 	beq G24_TX_TIMER_INT_ENABLE,p_g24_transmit_by_interrupt
 p_g24_transmit_process:
 	call p_g24_txdata_prep
 	nbranch p_g24_nodata_transmit,user
-	jam with_ack_24g,mem_24g_no_ack	//tx ack
 	call p_g24_rf_sta_check
 p_g24_transmit_start:
 	call p_g24_transmit_packet
 	fetch 1,mem_24g_pairing_sm
 	rtnne STATE_24G_PAIRING_SUCCESS
 	call power_ctrl_start
-
-	fetch 1,mem_24g_no_ack
-	beq no_ack_24g,p_g24_long_sleep
-
-	call g24_long_sleep_shorter_param_update
-//	fetch 1,mem_24g_transmit_by_interrupt
-//	rtneq G24_TX_TIMER_INT_ENABLE
+	setarg G24_LONG_SLEEP_STEP1
+	store 3,mem_24g_enter_hibernate
+	jam 30,mem_24g_long_sleep_param_update_timer
 p_g24_short_sleep:
 	call p_g24_lpm_wait
 	nrtn user
 	call p_clear_wake
-	setarg 62500	//58000
+	setarg 61500
 	branch lpm_dispatch_sleep
 
-g24_long_sleep_shorter_param_update:
+p_g24_pair_dispatch:
+	fetch 1,mem_24g_stop_g24_mode
+	beq 1,g24_stop_24g_mode
+	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
+	call p_g24_transmit_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
+	fetch 1,mem_24g_rxdata_length	//ack payload length 
+	rtnne BIND_ACKPAYLOAD_LENGTH
+p_g24_auto_pair_skip_rx_length:
+//	fetch 1,mem_24g_conn_sm
+//	set0 STATE_24G_PAIR,pdata
+//	store 1,mem_24g_conn_sm
+	jam 0,mem_24g_conn_sm
+	call p_mouse_tx_power_init
+	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
+	jam 0,mem_mouse_long_mult_flag
+	call g24_app_tx_attempt_success
+	call p_g24_txbuf_clear
+p_g24_transmit_by_interrupt_enable:
+	jam G24_TX_TIMER_INT_ENABLE,mem_24g_transmit_by_interrupt
+	jam 0,mem_24g_transmit_by_interrupt_exit_count
+	rtn
+
+p_g24_pair_txdata_retry:
+p_g24_pair_txdata_switch:
+	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 TX_POWER_PAIR,mem_tx_power
+	jam 0,mem_24g_pid
+	jam G24_PAIR_CH,mem_24g_ch
+	fetch 4,mem_24g_paring_addr
+	branch p_g24_update_addr_and_synccrc8
+
+p_g24_auto_pair_first_attemp:
+	call p_mouse_tx_power_init
+	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:
+	jam TX_POWER_PAIR,mem_tx_power
+	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_reconn_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_ch,sync
+	nbranch p_g24_ch,user3
+	fetch 1,mem_24g_conn_sm
+	set0 STATE_24G_RECONN,pdata
+	store 1,mem_24g_conn_sm
+p_g24_tx_attemp_dongle_succ:
+	jam 0,mem_mouse_long_mult_flag
+	call g24_app_tx_attempt_success
+	call p_g24_txbuf_clear
+	branch p_g24_transmit_by_interrupt_enable
+
+
+//g24_long_sleep_shorter_param_update:
 //	fetch 1,mem_config_function_enable
 //	rtnbit1 ENABLE_SENSOR_MOTION_PIN
-	setarg G24_LONG_SLEEP_STEP1
-	store 3,mem_24g_enter_hibernate
-	jam 30,mem_24g_long_sleep_param_update_timer
-	rtn
+//	setarg G24_LONG_SLEEP_STEP1
+//	store 3,mem_24g_enter_hibernate
+//	jam 30,mem_24g_long_sleep_param_update_timer
+//	rtn
 
 p_g24_transmit_by_interrupt:
 	call p_g24_timer_check
@@ -206,9 +304,8 @@
 p_g24_nodata_transmit:
 	fetch 1,mem_24g_abort_pac
 	call p_g24_send_abort_packet,blank
-	call p_g24_search_dongle
-	fetch 1,mem_24g_no_ack
-	rtneq no_ack_24g
+	fetch 1,mem_24g_transmit_by_interrupt
+	rtneq G24_TX_TIMER_INT_ENABLE
 p_g24_long_sleep:
 	call p_g24_lpm_wait
 	nrtn user
@@ -239,7 +336,9 @@
 	ior temp,temp
 	invert temp,temp
 	hstoret 4,core_gpio_pd0
-	rtn
+p_mouse_ice_gpio_set_inpu:
+	arg 0x1d,temp
+	branch gpio_config_input
 
 p_g24_send_abort_packet:
 	jam 1,mem_24g_abort_pac
@@ -257,14 +356,14 @@
 	call p_g24_txdata_enable_tx
 	branch p_g24_transmit_start
 
-p_g24_search_dongle:
-	fetch 1,mem_24g_abort_pac
-	rtn blank
-	fetch 1,mem_mouse_long_mult_flag
-	rtn blank
-	jam no_ack_24g,mem_24g_no_ack	//tx noack
-	call p_g24_ch
-	branch p_g24_send_abort_packet+1
+//p_g24_search_dongle:
+//	fetch 1,mem_24g_abort_pac
+//	rtn blank
+//	fetch 1,mem_mouse_long_mult_flag
+//	rtn blank
+//	jam no_ack_24g,mem_24g_no_ack	//tx noack
+//	call p_g24_ch
+//	branch p_g24_send_abort_packet+1
 
 //p_g24_set_device_addr:
 //	call adc_init_data
@@ -291,6 +390,10 @@
 	//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
@@ -384,7 +487,20 @@
 	store 1,mem_24g_sync_cnt
 	jam 2,mem_24g_rf_work_stage
 	jam 4,mem_24g_max_retry
-	branch p_g24_ch
+p_g24_ch:
+	fetcht 1,mem_24g_current_ch_number
+	fetch 1,mem_24g_addr	
+	and_into 0x03,pdata
+	mul32 pdata,4,rega			//24addr low bit0 bit1 ,00-map1,01-map2,10-map3,11-map4
+	setarg mem_24g_ch_map1
+	iadd rega,pdata
+	iadd temp,contr
+	ifetch 1,contr
+	store 1,mem_24g_ch
+	increase 1,temp
+	and_into 3,temp //map size =4
+	storet 1,mem_24g_current_ch_number
+	rtn
 
 p_g24_rf_hop_attemp:
 	jam 3,mem_24g_rf_work_stage
@@ -444,7 +560,7 @@
 	setarg 0
 	store 1,mem_mouse_long_mult_flag
 	store 4,mem_mouse_x
-	branch p_mouse_sensor_poweron
+	branch p_mouse_init_sensor_reset
 
 p_g24_transmit_packet:
 	jam 0,mem_24g_retry
@@ -452,8 +568,8 @@
 	arg param_rx_setup,timeup
 	until clkn_rt,meet
 	call p_g24_transmit_receive_ack
-	fetch 1,mem_24g_no_ack	//tx noack
-	rtneq no_ack_24g
+//	fetch 1,mem_24g_no_ack	//tx noack
+//	rtneq no_ack_24g
 	nbranch p_g24_retransmit,sync
 	nbranch p_g24_retransmit,user3
 	call p_g24_txbuf_clear
@@ -480,11 +596,6 @@
 	arg mem_24g_txbuf,contw
 	branch memset0
 
-p_g24_hop_enable_packet:
-	fetch 1,mem_24g_data_type
-	bbit1 bit_hop,p_g24_hop_ch_disable
-	rtn	
-
 p_g24_transmit_receive_ack:
 	disable user3
 	call p_g24_transmit
@@ -493,8 +604,8 @@
 	call test_gpio_low
 endif
 
-	fetch 1,mem_24g_no_ack
-	beq no_ack_24g,p_g24_transmit_no_ack	//tx no ack
+//	fetch 1,mem_24g_no_ack
+//	beq no_ack_24g,p_g24_transmit_no_ack	//tx no ack
 	force 0,radio_ctrl
 	fetch 4,mem_24g_addr
 	iforce access
@@ -504,9 +615,9 @@
 	call p_g24_receive_rxon
 	call p_g24_end_of_packet,user3
 	rtn
-p_g24_transmit_no_ack:
-	call p_g24_end_of_packet
-	branch p_g24_transmit_next_packet
+//p_g24_transmit_no_ack:
+//	call p_g24_end_of_packet
+//	branch p_g24_transmit_next_packet
 
 p_g24_retransmit:
 	fetch 2,mem_24g_txfail_cnt
@@ -558,19 +669,12 @@
 	branch memcpy
 
 p_g24_start_pairing_sm1:
-	set1 mark_24g,mark
+//	set1 mark_24g,mark
 	call p_g24_pair_init
 p_g24_set_pairing_sm_1:
 	jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
 	rtn
 
-p_g24_pair_init:
-	jam TX_POWER_PAIR,mem_tx_power
-	jam 0,mem_24g_pid
-	jam G24_PAIR_CH,mem_24g_ch
-	fetch 4,mem_24g_paring_addr
-	branch p_g24_update_addr_and_synccrc8
-
 p_g24_pairing_sm:
 	fetch 1,mem_24g_ensure
 	beq ENSURE_ON_24G,enable_user
@@ -630,44 +734,16 @@
 	call p_g24_store_dongle_addr
 	branch p_g24_transmit_abandon
 
-p_mouse_wakeup_from_hibernate:
-	call p_mouse_read_latest_mode_eeprom
-	fetch 1,mem_mouse_latest_mode
-	beq LATEST_MODE_BT,p_mouse_check_reconn_target_bt
-//	branch p_g24_start_24g_mode
 p_g24_start_24g_mode:
 	call p_g24_factory_check
 	branch p_g24_auto_pair_start,user
-	set0 mark_24g,mark
-	jam with_ack_24g,mem_24g_no_ack	//tx ack
-	call p_g24_ch_syncword_crc8_init
-	fetch 1,mem_24g_pairing_sm
-	rtnne STATE_24G_PAIRING_SUCCESS
-	call p_g24_tx_attemp_data_prep
-p_g24_tx_attemp_dongle:
-	setarg 0
-	store 2,mem_24g_check_dongle_times
-p_g24_tx_attemp_dongle_loop:
-	call lpo_calibration
-	nop 2000
-	fetch 2,mem_24g_check_dongle_times
-	arg 0x01ff,temp
-	isub temp,null
-	branch g24_stop_24g_mode,zero
-	call p_g24_transmit_receive_ack
-	nbranch p_g24_attemp_txdata_retry,sync
-	nbranch p_g24_attemp_txdata_retry,user3
-p_g24_tx_attemp_dongle_succ:
 	set1 mark_24g,mark
-	setarg 0
-	store 2,mem_24g_check_dongle_times
-	call g24_app_tx_attempt_success
-	call p_g24_txbuf_clear
-//	branch p_g24_transmit_by_interrupt_enable
-p_g24_transmit_by_interrupt_enable:
-	jam G24_TX_TIMER_INT_ENABLE,mem_24g_transmit_by_interrupt
-	jam 0,mem_24g_transmit_by_interrupt_exit_count
-	rtn
+	fetch 1,mem_24g_conn_sm
+	set1 STATE_24G_RECONN,pdata
+	store 1,mem_24g_conn_sm
+	call p_g24_syncword_crc8
+	call p_g24_ch
+	branch p_g24_auto_pair_timeout_init
 
 p_g24_tx_attemp_data_prep:
 	jam 0xff,mem_24g_common_temp
@@ -680,105 +756,6 @@
 	call p_g24_put_data_in_buff
 	branch p_g24_transmit_prep
 	
-p_g24_attemp_txdata_retry:
-	fetch 2,mem_24g_check_dongle_times
-	increase 1,pdata
-	store 2,mem_24g_check_dongle_times
-	call p_g24_ch
-	branch p_g24_tx_attemp_dongle_loop
-
-p_g24_auto_pair_start:
-	set0 mark_24g,mark
-	jam with_ack_24g,mem_24g_no_ack	//tx ack
-	call p_g24_auto_pair_first_attemp
-	call p_g24_tx_attemp_data_prep
-p_g24_auto_pair_restart:
-	setarg 0
-	store 2,mem_24g_check_dongle_times
-p_g24_auto_pair_start_loop:
-	call lpo_calibration
-	nop 2000
-	fetch 2,mem_24g_check_dongle_times
-	arg 0x01ff,temp
-	isub temp,null
-	branch g24_stop_24g_mode,zero
-	call p_g24_transmit_receive_ack
-	nbranch p_g24_auto_pair_retry,sync
-	nbranch p_g24_auto_pair_retry,user3
-	call p_g24_ackpayload_parse
-	fetch 4,mem_24g_addr
-	fetcht 4,mem_24g_allpowerful_addr
-	isub temp,null
-	branch p_g24_auto_pair_skip_rx_length,zero
-	fetch 1,mem_24g_rxdata_length	//ack payload length
-	branch p_g24_auto_pair_start_loop,blank
-p_g24_auto_pair_skip_rx_length:
-	call p_mouse_tx_power_init
-	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
-	branch p_g24_tx_attemp_dongle_succ
-
-p_g24_store_dongle_addr:
-	fetch 4,mem_24g_rxpayload+2
-	branch p_g24_update_addr_and_synccrc8
-
-p_g24_auto_pair_retry:
-	fetch 2,mem_24g_check_dongle_times
-	increase 1,pdata
-	store 2,mem_24g_check_dongle_times
-	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_all_powerful_attemp
-	beq 1,p_g24_auto_pair_device_attemp
-	beq 2,p_g24_auto_pair_all_powerful_attemp
-	beq 3,p_g24_auto_pair_pair_attemp
-	rtn
-	
-p_g24_auto_pair_first_attemp:
-	call p_mouse_tx_power_init
-	fetch 4,mem_24g_device_addr
-	store 4,mem_24g_addr
-	branch p_g24_ch_syncword_crc8_init
-
-p_g24_auto_pair_all_powerful:
-	jam TX_POWER_PAIR,mem_tx_power
-	fetch 4,mem_24g_allpowerful_addr
-	store 4,mem_24g_addr
-p_g24_ch_syncword_crc8_init:	
-	call p_g24_syncword_crc8
-//	branch p_g24_ch
-p_g24_ch:
-	fetcht 1,mem_24g_current_ch_number
-//	call p_g24_ch_map_size
-p_g24_ch_map_size:
-	call p_g24_ch_calc
-	increase 1,temp
-	and_into 3,temp //map size =4
-
-	storet 1,mem_24g_current_ch_number
-	rtn
-
-p_g24_auto_pair_device_attemp:
-	call p_g24_auto_pair_first_attemp
-	branch p_g24_auto_pair_start_loop
-
-p_g24_auto_pair_pair_attemp:
-	call p_g24_pair_init
-	branch p_g24_auto_pair_start_loop
-
-p_g24_auto_pair_all_powerful_attemp:	
-	call p_g24_auto_pair_all_powerful
-	branch p_g24_auto_pair_start_loop
-
-
 p_g24_check_51cmd_stop_24g:
 	set0 mark_24g,mark
 	call le_disable
@@ -811,6 +788,8 @@
 	store 1,mem_24g_sta_pid
 	rtn
 
+p_g24_store_dongle_addr:
+	fetch 4,mem_24g_rxpayload+2
 p_g24_update_addr_and_synccrc8:	
 	store 4,mem_24g_addr
 //output: 1BYTE crc8
@@ -860,16 +839,16 @@
 	arg mem_24g_txbuf,contr
 	branch memcpy
 	
-p_g24_ch_calc:
-	fetch 1,mem_24g_addr	
-	and_into 0x03,pdata
-	mul32 pdata,4,rega			//24addr low bit0 bit1 ,00-map1,01-map2,10-map3,11-map4
-	setarg mem_24g_ch_map1
-	iadd rega,pdata
-	iadd temp,contr
-	ifetch 1,contr
-	store 1,mem_24g_ch
-	rtn
+//p_g24_ch_calc:
+//	fetch 1,mem_24g_addr	
+//	and_into 0x03,pdata
+//	mul32 pdata,4,rega			//24addr low bit0 bit1 ,00-map1,01-map2,10-map3,11-map4
+//	setarg mem_24g_ch_map1
+//	iadd rega,pdata
+//	iadd temp,contr
+//	ifetch 1,contr
+//	store 1,mem_24g_ch
+//	rtn
 
 p_g24_prep:
 	disable enable_crc
@@ -925,9 +904,9 @@
 	nbranch p_g24_end_of_packet,zero
 	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
+//	fetch 1,mem_24g_mode
+//	sub pdata,rx_24g,null
+//	branch p_g24_receive_skip,zero
 	fetch 1,mem_24g_rxbuf
 	fetcht 1,mem_24g_data_type
 	icompare bits_data,temp
@@ -957,9 +936,9 @@
 	rshift16 pdata,pdata
 	istore 3,contw
 	disable decode_fec1
-ifdef DONGLE
-	call save_rssi
-endif	
+//ifdef DONGLE
+//	call save_rssi
+//endif	
 	branch p_g24_end_of_packet,crc_failed
 
 ifdef RF_DEBUG
@@ -973,14 +952,14 @@
 	call rf_write_freq
 	disable decode_fec0
 	call set_sync_on
-ifdef DONGLE
-	rtn
-endif
-ifdef MOUSE
+//ifdef DONGLE
+//	rtn
+//endif
+//ifdef MOUSE
 	fetch 1,mem_rssi_hex_received
-	call p_rssi_signal
-endif
-	rtn
+	branch p_rssi_signal
+//endif
+//	rtn
 
 p_g24_receive_byte:
 	parse demod,bucket,8
@@ -990,11 +969,11 @@
 p_g24_end_of_packet:
 	disable encode_fec1
 	disable decode_fec1
-	call end_of_packet
-ifdef RF_DEBUG
-	call test_gpio_low
-endif
-	rtn
+	branch end_of_packet
+//ifdef RF_DEBUG
+//	call test_gpio_low
+//endif
+//	rtn
 
 //p_g24_sync_timeout:
 //ifdef DONGLE
@@ -1187,8 +1166,8 @@
 	fetch 1,mem_ui_button_timeout
 	store 1,mem_combination_ui_button_count	//combination key timer init
 	call mouse_bt_discovery_button_down_disable
-	fetch 3,mem_le_lap+3
-	store 3,mem_le_lap_high_3B
+	fetch 6,mem_le_lap
+	store 6,mem_le_normal_lap
 p_device_init_common:
 	call p_mouse_init
 	branch enable_authrom
@@ -1225,7 +1204,16 @@
 ifdef BLE	
 	beq REC_4_MODE,p_mouse4_0_check_reconn_target
 endif
-	rtn
+	call p_mouse_fast_conn_adv_switch_timer_reinit
+	jam 6,mem_connection_options
+p_mouse_check_fast_conn_adv_start:
+p_mouse_check_fast_conn_adv_start1:
+	jam 0,mem_le_adv_data_len
+	jam 0,mem_le_scan_data_len
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_disable_function_flag
+	branch p_mouse_fast_conn_init
+	
 
 ifdef CLASSIC_BT
 p_mouse3_0_check_reconn_target:
@@ -1239,33 +1227,12 @@
 	jam 1,mem_le_send_security_request_flag
 	jam 1,mem_mouse_le_reconnect_flag
 	fetch 2,mem_mouse_direct_timeout
-ifdef BLE_FAST_CONN_ENABLE
-	fetcht 1,mem_mouse_fast_conn_flag
-	sub temp,0xff,null
-	nbranch p_mouse4_0_check_reconn_target_next,zero
-	setarg 0x0258								//ble fast conn time 1min
-endif
-p_mouse4_0_check_reconn_target_next:
 	store 2,mem_mouse_direct_timer
+	call p_mouse_store_eeprom_enable
 	call app_lpm_mult_disable
-	call p_le_check_adv_flag
-	setarg ADV_FLAG_BREDR_NOT_SUPPORTED
-	istore 1,contr
-
 	arg mem_le_scan_data,contr
 	call p_le_adv_data_update
-	
 	branch check_51cmd_adv
-
-p_le_check_adv_flag:
-	arg mem_le_adv_data,rega
-p_le_check_adv_flag_loop:
-	ifetch 1,rega	//length
-	rtn blank
-	iadd contr,rega
-	ifetch 1,contr	//type
-	rtneq 0x01
-	branch p_le_check_adv_flag_loop
 endif
 
 //ifdef G24
@@ -1289,12 +1256,11 @@
 //	fetch MOUSE_FLAG_LEN,mem_mouse_flag
 //	bbit0 MOUSE_ENABLE_EEPROM,mouse_dpi_config
 	fetch 1,mem_mouse_dpi
-	beq 0xff,p_mouse_dpi_config_default
-	branch p_mouse_seting_dpi_sensor_type
+	bne 0xff,p_mouse_seting_dpi
 p_mouse_dpi_config_default:
 	fetch 1,mem_config_sensor_motion
 	store 1,mem_mouse_dpi
-	branch p_mouse_seting_dpi_sensor_type
+	branch p_mouse_seting_dpi
 	
 
 p_mouse_spi_init:
@@ -1304,8 +1270,6 @@
 p_mouse_init_sunt:
 	call p_mouse_spi_init
 	call mouse_spi_sdio_gpio_pollup
-//	fetch 1,mem_config_sensor_type
-//	beq P3610,mouse_init_3610sensor
 p_mouse_init_sensor:
 	call mouse_read_sensor_id
 	beq P32XX_ID1,p_mouse_init_p32xx_id2_judge
@@ -1323,36 +1287,21 @@
 p_mouse_init_p32xx_id2_judge:
 	call p_mouse_sensor_poweron
 	fetch 1,mem_sensor_id2
-//	beq MX8650A_ID2,p_mouse_mx8650a_init_param
+	beq P_MX8650,p_mouse_mx8650_init_param
+	beq PKA8_ID2,p_mouse_ka8_init_param
 	beq P8009_ID2,p_mouse_8009_init_param
-	branch mouse_init_p32xx_id2_judge+1
+	branch mouse_init_p32xx_id2_judge
 
-//p_mouse_mx8650a_init_param:
-//	call delay_10ms
-//	jam MX8650A,mem_config_sensor_type
-//	call mouse_sensor_disable_wp
-
-//	setarg 0x27ff
-//	call twspi_write
-//	setarg 0x40ab
-//	call twspi_write
-//	setarg 0xd1be
-//	call twspi_write
-//	setarg 0x41a0
-//	call twspi_write
-//	setarg 0x41a1
-//	call twspi_write
-//	setarg 0x84a5
-//	call twspi_write
-//	setarg 0xffa7
-//	call twspi_write
-//	setarg 0xd0b5
-//	call twspi_write
-//	setarg 0x00b6
-//	call twspi_write
-//	setarg 0x00ff
-//	call twspi_write
-//	branch mouse_sensor_enable_wp
+p_mouse_mx8650_init_param:
+	jam MX8650,mem_config_sensor_type
+	arg mem_sensor_8650_init,regc
+p_sensor_wr_seq:
+	ifetch 2,regc
+	rtneq 0xff
+	call twspi_write
+	nop 12000
+	increase 2,regc
+	branch p_sensor_wr_seq
 
 p_mouse_8009_init_param:
 	setarg 0x16
@@ -1368,19 +1317,13 @@
 	sub pdata,0x1d,null 
 	nbranch p_mouse_init_sensor,zero
 	jam P8009,mem_config_sensor_type
-	call mouse_sensor_disable_wp
-	setarg 0x0206
-	call twspi_write
-	setarg 0x6909
-	call twspi_write
-	setarg 0x480d
-	call twspi_write
-	setarg 0x9f0e
-	call twspi_write
-	setarg 0xba0f
-	call twspi_write
-	branch mouse_sensor_enable_wp
-	
+	arg mem_sensor_8009_init,regc
+	branch p_sensor_wr_seq
+
+p_mouse_ka8_init_param:
+	jam KA8,mem_config_sensor_type
+	arg mem_sensor_ka8_init,regc
+	branch p_sensor_wr_seq
 
 p_mouse_p3065_init_param:
 	call p_mouse_sensor_poweron
@@ -1388,27 +1331,9 @@
 	beq P3065_XY_ID2,mouse_p3065xy_init_param
 	jam P3065,mem_config_sensor_type
 	rtn
-
-p_mouse_sensor_poweron:
-	setarg 0x8006	// reset to factory settings
-	call twspi_write
-	nop 12000
-	call p_mouse_dpi_config
-	fetch 1,mem_sensor_id2
-	beq P8009_ID2,p_mouse_8009_init_param
-	rtn
 	
-p_mouse_sensor_powerdown:
-	setarg 0x06
-	call twspi_read
-	or pdata,0x08,pdata
-	lshift8 pdata,pdata
-	add pdata,0x06,pdata
-	branch twspi_write	//make sdio high
-
 p_mouse_setting_config:
 ifdef G24
-//	call p_g24_set_device_addr
 	fetch 4,mem_lap
 	store 4,mem_24g_device_addr
 endif
@@ -1434,18 +1359,16 @@
 	fetcht 1,mem_select_sensor_angle_gpio
 	set0 gpio_active_bit,temp
 	call gpio_set_high_impedance
-	
-//	call mouse_adc_init
+ifdef ADC_ENABLE	
+	call load_adc_init
+	call mouse_adc_init
+endif
 ifdef BLE	
 	call le_set_config_fixed_ltk
 	call le_set_justwork
 	call le_set_fixed_ltk
 	call le_set_config_read_authentication
 endif	
-//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-//	bbit1 MOUSE_ENABLE_EEPROM,p_mouse_init_iic
-//	bbit1 MOUSE_ENABLE_FLASH,p_mouse_load_flash_info_cheak
-//	rtn
 p_mouse_init_iic:
 	call iic_init_390k
 //	fetch MOUSE_FLAG_LEN,mem_mouse_flag
@@ -1455,35 +1378,29 @@
 	call p_mouse_init_environment
 	call p_mouse_set_24g_addr_eeprom
 	call iicd_read_eep_data
-ifdef BLE_FAST_CONN_ENABLE
-	arg 3,loopcnt
-	arg mem_device1_addr,contr
-	call p_pdata_0xff_check
-	nbranch p_mouse_le_fast_conn_disable,user
-	call p_mouse_load_fast_conn_flag
-	fetch 1,mem_mouse_fast_conn_flag
-	beq 0xff,p_mouse_fast_conn_init
+	fetch 1,mem_device_flag
+	rtneq MODE_24G_DEVICE
+ifdef BLE_FAST_CONN_ENABLE	
+	fetch 6,mem_mouse_24g_addr_init
+	fetcht 6,mem_device1_addr
+	isub temp,null
+	nbranch p_mouse_fast_conn_disable,zero
+	branch p_mouse_fast_conn_le_switch_adv
 endif
 	rtn
 
+
 ifdef BLE_FAST_CONN_ENABLE
-p_mouse_load_fast_conn_flag:
-	arg 1,temp
-	arg mem_mouse_fast_conn_flag,rega
-	arg MOUSE_FAST_CONN_FLAG_OFFSET,regb
-	branch iicd_read_eep_data
+p_mouse_fast_conn_disable:
+	jam 0x5a,mem_mouse_fast_conn_flag
+	rtn
 
-p_mouse_le_fast_conn_disable:
-	jam 0x5a,mem_mouse_fast_conn_flag	
-p_mouse_store_fast_conn_flag:
-	arg 1,temp
-	arg mem_mouse_fast_conn_flag,rega
-	arg MOUSE_FAST_CONN_FLAG_OFFSET,regb
-	branch iicd_write_protect_eep_data
+p_mouse_fast_conn_le_switch_adv:
+	jam 1,mem_le_switch_adv_timer
+	jam 1,mem_le_switch_adv_flag
 p_mouse_fast_conn_init:
-	jam 0x34,mem_xrecord_mode
-	setarg 0
-	invert pdata,pdata
+	jam 0xff,mem_mouse_fast_conn_flag
+	fetch 6,mem_24g_allpowerful_addr
 	store 6,mem_le_lap
 	rtn	
 endif
@@ -1581,34 +1498,40 @@
 //	nbranch p_mouse_wakeup_no_from_power,true
 	call p_mouse_init_sunt
 	call p_mouse_sensor_powerdown
-p_mouse_wakeup_no_from_power:
-//	fetch 1,mem_reconn_times_init
-//	store 1,mem_reconn_times
 	jam 0,mem_reconn_times
-//	fetch 1,mem_config_function_enable	//standard do not need it
-//	rtnbit1 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
-//	rtnbit1 ENABLE_SELECT_DEVICE_BY_SWITCH
-p_mouse_start_24g_mode:
-//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-//	rtnbit0 MOUSE_ENABLE_24G
+p_mouse_start:
 	fetch 1,mem_power_on_flag
 	bbit1 2,p_mouse_wakeup_from_hibernate	//hibernate goto reconn
-//	fetch 1,mem_wakup_from_power_flag
-//	bbit1 gpio_latch,p_g24_start_24g_mode
-	setarg 0xffff	//power on goto pair
-	store 2,mem_24g_addr
-	istore 2,contw
-	call p_mouse_set_24g_addr_eeprom	//store rx dongle addr to eeprom
-	call iicd_write_protect_eep_data
-	branch p_g24_auto_pair_start
-//	call p_g24_factory_check
-//	branch p_g24_auto_pair_start,user
-//	branch p_g24_start_24g_mode
-
-p_mouse_check_reconn_target_bt:
-	jam 0,mem_link_key_exists
-	call mouse_eeprom_load_recon_info
-	branch p_mouse_check_reconn_target
+	jam BLE_POWERON_RECONN_TIMER,mem_mouse_poweron_bt_start_reconn_timer
+	call p_mouse_dpi_config_default
+	jam LATEST_MODE_NULL,mem_mouse_latest_mode
+p_mouse_start_24g_pair:
+	fetch 4,mem_mouse_24g_addr_init	//power on goto pair
+	store 4,mem_24g_addr
+	call p_mouse_store_latest_mode_eeprom	
+p_g24_auto_pair_start:
+	set1 mark_24g,mark
+	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_FIRST_DISCONN_NODATA_TIMER
+	store 2,mem_24g_stop_g24_mode_timeout
+	jam 0,mem_24g_stop_g24_mode
+	rtn	
+
+p_mouse_wakeup_from_hibernate:
+	call p_mouse_read_latest_mode_eeprom
+	fetch 1,mem_mouse_latest_mode
+	beq LATEST_MODE_BT,p_mouse_check_reconn_target
+	beq LATEST_MODE_24G,p_g24_start_24g_mode
+	jam BLE_POWERON_RECONN_TIMER,mem_mouse_poweron_bt_start_reconn_timer
+	rtn
+
+//p_mouse_check_reconn_target_bt:
+//	jam 0,mem_link_key_exists
+//	call mouse_eeprom_load_recon_info
+//	branch p_mouse_check_reconn_target
 
 p_g24_factory_check:
 	arg 2,loopcnt
@@ -1702,25 +1625,11 @@
 	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_le_send_empty_packet
 	call mouse_motion
 	nrtn user
-	call p_mouse_le_current_mult_update
-	call p_mouse_data_xy_release
-	call p_mouse_wheel_trigger
-	branch p_mouse_data_push
-
-p_mouse_le_current_mult_update:
-//	fetch 1,mem_config_function_enable
-//	rtnbit1 ENABLE_SENSOR_MOTION_PIN
 	jam 0,mem_lpm_mult
 	jam 30,mem_mouse_le_current_mult_timer
-	rtn
-
-p_mouse_data_init:
-	jam 7,mem_mouse_data_queue	//data length
-	jam 4,mem_mouse_data_queue+1	//fifo depth
-	setarg mem_mouse_data_queue
-	store 2,mem_queue_ptr
-	branch queue_init
-
+	call p_mouse_data_xy_release
+	call p_mouse_wheel_trigger
+//	branch p_mouse_data_push
 p_mouse_data_push:
 	arg mem_mouse_key,rega
 	call queue_push
@@ -1740,6 +1649,21 @@
 endif
 endif
 	rtn
+
+//p_mouse_le_current_mult_update:
+//	fetch 1,mem_config_function_enable
+//	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+//	jam 0,mem_lpm_mult
+//	jam 30,mem_mouse_le_current_mult_timer
+//	rtn
+
+p_mouse_data_init:
+	jam 7,mem_mouse_data_queue	//data length
+	jam 4,mem_mouse_data_queue+1	//fifo depth
+	setarg mem_mouse_data_queue
+	store 2,mem_queue_ptr
+	branch queue_init
+
 p_mouse_queue_increase:
 	fetch 1,mem_mouse_data_queue_num
 	increase 1,pdata
@@ -1836,7 +1760,11 @@
 p_mouse_clear_sensor_data:
 	call le_set_config_more_data
 	jam 1,mem_mouse_clear_sensor_data_flag
-	branch p_mouse_sensor_poweron
+p_mouse_sensor_poweron:
+	call p_mouse_spi_init
+	arg mem_sensor_poweron_init,regc
+	call p_sensor_wr_seq
+	branch p_mouse_dpi_config
 
 p_mouse_idle:
 	call ui_check_paring_button
@@ -1884,24 +1812,27 @@
 
 ifdef BLE
 p_mouse_le_bb_event_connected:
-	call p_mouse_discovey_led_blink_off
-	jam 1,mem_mouse_le_bb_connected_flag
+	call p_mouse_init_sensor_reset
+	call mouse_le_bb_event_connected
+ifdef BLE_FAST_CONN_ENABLE
+	setarg 0
+	store 3,mem_le_switch_adv_flag
+endif
+	call app_ble_store_reconn_info
+	jam LATEST_MODE_BT,mem_mouse_latest_mode
 	fetch 1,mem_mouse_le_reconnect_flag
 	nbranch p_mouse_le_bb_event_connected_next,blank
 	jam 0x14,mem_mouse_send_secutiry_request_timer
 p_mouse_le_bb_event_connected_next:
-	call p_mouse_store_latest_mode_le
-	jam 0,mem_mouse_long_mult_flag
-	call p_mouse_init_sensor_reset
-	call p_mouse_data_init
-	branch mouse_le_bb_event_connected
+	jam 0,mem_mouse_poweron_bt_start_reconn_timer
+	jam 0,mem_mouse_le_adv_start
+	jam 1,mem_mouse_le_bb_connected_flag
+	jam 0,mem_mouse_le_not_tx_disconn
+	jam 0,mem_mouse_start_discovery_enable
+	call p_g24_check_51cmd_stop_24g
+	branch p_mouse_data_init
+
 
-p_mouse_store_latest_mode_le:
-	arg 3,loopcnt
-	arg mem_le_lap,contr
-	call p_pdata_0xff_check
-	rtn user	//le fast conn will return
-	jam LATEST_MODE_BT,mem_mouse_latest_mode
 p_mouse_store_latest_mode_eeprom:
 	call p_mouse_set_latest_mode_eeprom
 	branch iicd_write_protect_eep_data
@@ -1917,8 +1848,8 @@
 	rtn
 
 p_mouse_le_bb_disconnected:
+	call p_mouse_sensor_powerdown_check	//sensor power down
 	jam 0,mem_mouse_le_bb_connected_flag
-	call p_mouse_sensor_powerdown_check
 	setarg LE_INTERVAL_8_75MS
 	store 2,mem_le_interval_min
 	store 2,mem_le_interval_min+2
@@ -1926,7 +1857,10 @@
 	jam 0,mem_mouse_clear_sensor_data_flag
 	call p_mouse_data_init
 	call le_clr_config_more_data
-	branch mouse_bb_disconnected
+	call mouse_bb_disconnected
+	fetch 1,mem_mouse_start_discovery_enable
+	rtn blank
+	branch p_check_51cmd_adv
 
 p_mouse_le_enc_info:
 p_app_updata_le_param:
@@ -1936,11 +1870,12 @@
 p_mouse_le_ll_start_encryt:
 	fetch 1,mem_mouse_le_reconnect_flag
 	beq 1,p_mouse_le_ll_reconn_start_encryt
+	jam 20,mem_le_start_encrypt_timer
 	branch p_mouse_le_ll_enable_start_enc_flag
 
 p_mouse_le_ll_reconn_start_encryt:
 	call p_app_updata_le_param
-	jam 20,mem_le_start_encrypt_timer
+	jam 10,mem_le_start_encrypt_timer
 p_mouse_le_ll_enable_start_enc_flag:
 	arg LL_START_ENC_FLAG,queue
 	branch mouse_le_enable_connect_flag
@@ -1951,12 +1886,17 @@
 	fetch 1,mem_le_tsniff
 	rshift2 pdata,pdata
 	sub pdata,LE_INTERVAL_15MS,null
-	rtn positive
+	branch p_mouse_le_conn_param_update_rsp_not_accepted,positive
 	setarg LE_INTERVAL_11_25MS
 	store 2,mem_le_interval_min
 	store 2,mem_le_interval_min+2
 	call p_app_updata_le_param
-	branch p_mouse_le_conn_param_lpm_disable
+	jam LE_LPM_DISABLE,mem_mouse_le_conn_param_reject
+	rtn
+p_mouse_le_conn_param_update_rsp_not_accepted:
+	jam 1,mem_mouse_le_updata_not_accepted_flag
+	branch p_mouse_le_conn_param_update_rsp_not_accepted_mult_reset
+	
 endif
 
 
@@ -1969,8 +1909,6 @@
 	rtnbit1 UI_STATE_BLE_ADV
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
 	rtnbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG
-//	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_soft_reset
-//	bbit1 MOSUE_24G_PAIRING_FLAG,p_g24_start_pairing_sm1
 	branch app_bb_hibernate
 
 p_mouse_irtual_cable_unplug:
@@ -1986,8 +1924,19 @@
 	branch app_bt_enter_sniff
 
 p_mouse_bb_event_connected:
-	jam 0,mem_mouse_send_switch_req_timer
+	call p_mouse_store_eeprom_enable
 	call p_mouse_init_sensor_reset
+ifdef BLE_FAST_CONN_ENABLE
+	setarg 0
+	store 3,mem_le_switch_adv_flag
+endif
+	jam LATEST_MODE_BT,mem_mouse_latest_mode
+	jam 0,mem_mouse_poweron_bt_start_reconn_timer
+	jam 0,mem_mouse_le_not_tx_disconn
+	jam 0,mem_mouse_start_discovery_enable
+	call p_g24_check_51cmd_stop_24g
+	call p_mouse_null_enter_hibernate_disable
+	jam 0,mem_mouse_send_switch_req_timer
 	branch mouse_stop_discovery
 
 p_mouse_bb_event_disconnected:
@@ -2009,18 +1958,12 @@
 ifdef G24
 p_mouse_24g_pairing_complete:
 	call p_mouse_init_sensor_reset
-	jam 1,mem_mouse_24g_enter_lpm_enable
 	arg MOSUE_24G_PAIRING_FLAG,queue
 	call mouse_disable_function_flag
-	setarg 0
-	store 2,mem_24g_pairing_timer_count
 	jam 0,mem_mouse_move_flag
 	call mouse_read_sensor_common
 	call p_mouse_tx_power_init
-	call p_mouse_24g_store_latest_mode_eeprom
-p_mouse_24g_address_store_eeprom:	
-	call p_mouse_set_24g_addr_eeprom	//store rx dongle addr to eeprom
-	branch iicd_write_protect_eep_data
+	branch p_mouse_24g_attempt_success
 
 p_mouse_set_24g_addr_eeprom:
 	arg mem_24g_addr,rega
@@ -2033,38 +1976,40 @@
 	jam G24_TX_TIMER_INT_DISABLE,mem_24g_transmit_by_interrupt
 	call p_mouse_tx_power_init
 	call p_g24_check_51cmd_stop_24g
-
-//	fetch 1,mem_mouse_mode_config
-//	bbit1 MOUSE_24G_ONLY,app_enter_hibernate
-
-	fetch 1,mem_power_on_flag
-	bbit1 2,app_enter_hibernate
-
-	jam 0,mem_link_key_exists
-ifdef BLE_FAST_CONN_ENABLE
-	fetch 1,mem_mouse_fast_conn_flag
-	beq 0xff,p_mouse_24g_attempt_fail_next
-endif
-	call mouse_eeprom_load_recon_info
-	arg 3,loopcnt
-	arg mem_device1_addr,contr
-	call p_pdata_0xff_check
-	branch p_mouse_null_enter_hibernate_enable,user
-p_mouse_24g_attempt_fail_next:
-	branch p_mouse_check_reconn_target
+	call p_mouse_read_latest_mode_eeprom
+	fetch 1,mem_mouse_latest_mode
+	rtnne LATEST_MODE_24G
+	branch app_enter_hibernate
 
 p_mouse_null_enter_hibernate_enable:	//ble never connected
 	jam 1,mem_mouse_null_enter_hibernate_flag
-	jam 40,mem_mouse_null_enter_hibernate_timer	//lmr 3s
+	jam 40,mem_mouse_null_enter_hibernate_timer	//lmr 4s
 	rtn
+p_mouse_null_enter_hibernate_disable:	//ble never connected
+	jam 0,mem_mouse_null_enter_hibernate_flag
+	jam 0,mem_mouse_null_enter_hibernate_timer	//lmr 4s
+	rtn	
 
 p_mouse_24g_attempt_success:
-	call p_mouse_init_sensor_reset
+	jam 0,mem_mouse_long_mult_flag
+	jam 0,mem_mouse_poweron_bt_start_reconn_timer
+	setarg 0
+	store 3,mem_le_switch_adv_flag
+	call mouse_le_bb_event_connected+3
+	call p_g24_auto_pair_timeout_clear
+	call p_mouse_null_enter_hibernate_disable
 	call mouse_no_data_timer_init
-	call p_mouse_24g_address_store_eeprom
-p_mouse_24g_store_latest_mode_eeprom:	
+	fetch 4,mem_24g_addr
+	store 4,mem_mouse_24g_addr
+	call mouse_cheak_select_24gdevice	
 	jam LATEST_MODE_24G,mem_mouse_latest_mode
 	branch p_mouse_store_latest_mode_eeprom
+
+p_g24_auto_pair_timeout_clear:
+	setarg 0
+	store 3,mem_24g_stop_g24_mode
+	rtn
+
 endif
 
 
@@ -2100,7 +2045,13 @@
 	fetch 1,mem_mouse_init_sensor_reset_flag
 	rtn blank
 	jam 0,mem_mouse_init_sensor_reset_flag
-	branch p_mouse_sensor_powerdown
+p_mouse_sensor_powerdown:
+	setarg 0x06
+	call twspi_read
+	or pdata,0x08,pdata
+	lshift8 pdata,pdata
+	add pdata,0x06,pdata
+	branch twspi_write	//make sdio high
 
 
 p_mouse_bb_event_timer:
@@ -2108,16 +2059,22 @@
 	call p_mouse_adc_read
 	call mouse_low_voltage_led_timer
 endif
-	call p_mouse_multi_led_blink_timer
+ifdef BLE_FAST_CONN_ENABLE
+	call p_mouse_le_switch_adv_timer
+endif
+//	call p_mouse_multi_led_blink_timer
 	call p_le_send_smp_security_request_timer
+ifdef G24
 	call p_mouse_24g_long_sleep_param_update_timer
+	call p_mouse_g24_stop_mode_timeout_timer
+endif
 	call p_mouse_le_current_mult_update_timer
 	call p_mouse_wheel_trigger_timer
 	call p_mouse_null_enter_hibernate_timer
 	call p_mouse_bt_discovery_check
 	call mouse_check_discovery_timeout_timer
 ifdef BLE	
-	call mouse_check_direct_timeout_timer
+	call p_mouse_check_direct_timeout_timer
 	call p_mouse_le_enable_att_list_timer
 endif
 ifdef CLASSIC_BT
@@ -2125,8 +2082,53 @@
 	call mouse_check_hid_handshake_timer
 	call p_mouse_bt_check_sniff_req_timeout_timer
 endif
+	call p_mouse_poweron_bt_start_reconn_timer
 	branch mouse_check_no_data_timeout_timer
 
+p_mouse_poweron_bt_start_reconn_timer:
+	arg mem_mouse_poweron_bt_start_reconn_timer,regc
+	arg p_mouse_check_reconn_target,regb
+	branch timer_single_step
+
+ifdef BLE_FAST_CONN_ENABLE
+p_mouse_le_switch_adv_timer:
+	fetch 1,mem_le_switch_adv_flag
+	rtn blank
+	arg mem_le_switch_adv_timer,regc
+	arg p_mouse_le_switch_adv,regb
+	branch timer_single_step
+p_mouse_le_switch_adv:
+	jam 1,mem_le_switch_adv_timer
+	fetch 1,mem_le_switch_adv_count
+	increase 1,pdata
+	and_into 1,pdata
+	store 1,mem_le_switch_adv_count
+	beq 0,p_mouse_check_fast_conn_adv_start1
+p_check_51cmd_adv:
+ifdef BLE_FAST_CONN_ENABLE
+	fetch 6,mem_le_normal_lap
+	store 6,mem_le_lap
+endif
+	call p_mouse_le_adv_data_update
+	branch check_51cmd_adv
+
+p_mouse_le_adv_data_update:
+	jam 0x1f,mem_le_adv_data_len
+	jam 0x1f,mem_le_scan_data_len
+	call p_mouse_store_eeprom_enable
+	arg mem_le_adv_swift_pair,contr
+p_le_adv_data_update:
+	arg mem_le_adv_data+11,contw
+	arg 19,loopcnt
+	call memcpy
+	branch le_modified_name_adv
+
+p_mouse_store_eeprom_enable:
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	branch mouse_enable_function_flag
+
+endif
+	
 p_le_send_smp_security_request_timer:
 	fetch 1,mem_mouse_le_bb_connected_flag
 	rtn blank
@@ -2156,6 +2158,15 @@
 
 
 ifdef BLE
+p_mouse_check_direct_timeout_timer:
+	arg mem_mouse_direct_timer,regc
+	arg p_mouse_check_direct_timeout,regb
+	branch timer_single_step_2B
+p_mouse_check_direct_timeout:
+	jam 1,mem_mouse_le_not_tx_disconn
+	call p_mouse_long_button_bt_normal_discovery
+	branch p_mouse_bt_discovery_button_up_init
+
 p_mouse_le_enable_att_list_timer:
 	arg mem_le_start_encrypt_timer,regc
 	arg mouse_le_write_enable,regb
@@ -2170,16 +2181,27 @@
 	jam 0,mem_mouse_wheel_trigger
 	rtn
 
+ifdef G24
 p_mouse_24g_long_sleep_param_update_timer:
 	arg mem_24g_long_sleep_param_update_timer,regc
 	arg p_mouse_24g_long_sleep_normal_param,regb
 	branch timer_single_step
 p_mouse_24g_long_sleep_normal_param:
-	setarg G24_LONG_SLEEP_STEP2
+	setarg G24_LONG_SLEEP_STEP3
 	store 3,mem_24g_enter_hibernate
 	jam 1,mem_mouse_long_mult_flag
 	rtn
 
+p_mouse_g24_stop_mode_timeout_timer:
+	arg mem_24g_stop_g24_mode_timeout,regc
+	arg p_mouse_g24_stop_mode_timeout,regb
+	branch timer_single_step_2B
+p_mouse_g24_stop_mode_timeout:
+	jam 1,mem_24g_stop_g24_mode
+	rtn	
+
+endif
+
 p_mouse_le_current_mult_update_timer:
 	arg mem_mouse_le_current_mult_timer,regc
 	arg p_mouse_le_current_mult_reinit,regb
@@ -2191,10 +2213,6 @@
 	rtn	
 
 p_mouse_bt_discovery_check:
-//	fetch 1,mem_mouse_mode_config
-//	rtnbit1 MOUSE_24G_ONLY
-//	fetch 1,mem_config_function_enable
-//	bbit1 ENABLE_BT_BUTTON,mouse_bt_discovery_by_button
 p_mouse_bt_discovery_commbination_key:
 	fetch 1,mem_mouse_dpi_button_state
 	branch p_mouse_bt_discovery_commbination_key_down,blank
@@ -2202,9 +2220,10 @@
 	beq MOUSE_LMR_BUTTON,p_mouse_bt_discovery_commbination_key_down
 p_mouse_bt_discovery_commbination_key_up:
 	call mouse_bt_discovery_commbination_key_up
+p_mouse_bt_discovery_button_up_init:
 	arg MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,queue
-	branch mouse_disable_function_flag
-	
+	call mouse_disable_function_flag
+	branch mouse_bt_discovery_button_down_disable
 p_mouse_bt_discovery_commbination_key_down:
 	jam 40,mem_mouse_null_enter_hibernate_timer
 	call p_mouse_bt_discovery_timer
@@ -2216,9 +2235,16 @@
 	branch timer_single_step
 	
 p_mouse_long_button_bt_discovery:
-	fetch 2,mem_ui_state_map
-	isolate1 UI_STATE_BLE_ADV,pdata
-	call mouse_stop_le_adv,true		//reconnect adv
+	fetch 1,mem_le_switch_adv_flag
+	nbranch p_mouse_fast_conn_adv_switch_timer_reinit,blank
+p_mouse_long_button_bt_normal_discovery:
+	isolate1 mark_24g,mark
+	call p_mouse_le_adv_start,true
+	fetch 1,mem_mouse_latest_mode
+	sub pdata,LATEST_MODE_NULL,null
+	call p_mouse_le_adv_start,zero
+
+	call p_mouse_le_adv_data_update
 	fetch 2,mem_ui_state_map
 	isolate1 UI_STATE_BT_RECONNECT,pdata
 	call mouse_cancel_reconnect,true
@@ -2226,13 +2252,21 @@
 	call mouse_enable_function_flag
 	branch mouse_long_button_bt_discovry
 
+p_mouse_le_adv_start:
+	jam 1,mem_mouse_le_adv_start
+	rtn
+
+p_mouse_fast_conn_adv_switch_timer_reinit:
+	fetch 2,mem_discovery_timeout
+	store 2,mem_mouse_discovery_timer
+	rtn
+
 p_mouse_null_enter_hibernate_timer:
 	fetch 1,mem_mouse_null_enter_hibernate_flag
 	rtn blank
 	arg mem_mouse_null_enter_hibernate_timer,regc
 	arg p_mouse_null_enter_hibernate,regb
 	branch timer_single_step
-
 p_mouse_null_enter_hibernate:
 	jam 0,mem_mouse_null_enter_hibernate_flag
 	branch app_enter_hibernate
@@ -2301,8 +2335,8 @@
 	fetch 2,mem_ui_state_map
 	rtnbit1 UI_STATE_BLE_ADV
 	rtnbit1 UI_STATE_BT_DISCOVERY
-	fetch 1,mem_mouse_multi_led_blink_count
-	nrtn blank
+//	fetch 1,mem_mouse_multi_led_blink_count
+//	nrtn blank
 //	fetch 1,mem_mouse_multi_led_on_timer
 //	nrtn blank
 	fetch 1,mem_adc_low_volatage_led_timer_count
@@ -2318,13 +2352,13 @@
 	
 endif
 
-p_mouse_multi_led_blink_timer:
-	fetch 1,mem_mouse_multi_led_blink_enable
-	rtn blank
-	fetch 1,mem_mouse_multi_led_type
+//p_mouse_multi_led_blink_timer:
+//	fetch 1,mem_mouse_multi_led_blink_enable
+//	rtn blank
+//	fetch 1,mem_mouse_multi_led_type
 //	beq MULTI_LED_ON,p_mouse_multi_led_type_on
-	beq MULTI_LED_BLINK,p_mouse_multi_led_type_blink
-	rtn
+//	beq MULTI_LED_BLINK,p_mouse_multi_led_type_blink
+//	rtn
 
 //p_mouse_multi_led_type_on:
 //	call p_mouse_multi_led_on
@@ -2339,53 +2373,53 @@
 //	jam 0,mem_mouse_multi_led_on_poweron2s_flag
 //	branch p_mouse_multi_led_off
 
-p_mouse_multi_led_type_blink:
-	arg mem_mouse_multi_led_blink_timer,regc
-	arg p_mouse_multi_led_type_blink_timeout,regb
-	branch timer_single_step
-p_mouse_multi_led_type_blink_timeout:
-	fetch 1,mem_mouse_multi_led_blink_timer_init
-	store 1,mem_mouse_multi_led_blink_timer
-	fetch 1,mem_mouse_multi_led_blink_count_limited
-	branch p_mouse_multi_led_blink_count_no_limited,blank
-	fetch 1,mem_mouse_multi_led_blink_count
-	branch p_mouse_multi_led_blink_off,blank
-	increase -1,pdata
-	store 1,mem_mouse_multi_led_blink_count
-p_mouse_multi_led_blink_count_no_limited:
-	fetch 1,mem_mouse_multi_led_state
-	beq ON,p_mouse_multi_led_off
-	beq OFF,p_mouse_multi_led_on
-	rtn
+//p_mouse_multi_led_type_blink:
+//	arg mem_mouse_multi_led_blink_timer,regc
+//	arg p_mouse_multi_led_type_blink_timeout,regb
+//	branch timer_single_step
+//p_mouse_multi_led_type_blink_timeout:
+//	fetch 1,mem_mouse_multi_led_blink_timer_init
+//	store 1,mem_mouse_multi_led_blink_timer
+//	fetch 1,mem_mouse_multi_led_blink_count_limited
+//	branch p_mouse_multi_led_blink_count_no_limited,blank
+//	fetch 1,mem_mouse_multi_led_blink_count
+//	branch p_mouse_multi_led_blink_off,blank
+//	increase -1,pdata
+//	store 1,mem_mouse_multi_led_blink_count
+//p_mouse_multi_led_blink_count_no_limited:
+//	fetch 1,mem_mouse_multi_led_state
+//	beq ON,p_mouse_multi_led_off
+//	beq OFF,p_mouse_multi_led_on
+//	rtn
 
-p_mouse_multi_led_on:
-	jam ON,mem_mouse_multi_led_state
-	setarg 0x06				//sensor led off by power down
-	call twspi_read
-	arg 0x08,temp
-	ixor temp,pdata
-	lshift8 pdata,pdata
-	add pdata,0x06,pdata
-	call twspi_write	//make sdio high
+//p_mouse_multi_led_on:
+//	jam ON,mem_mouse_multi_led_state
+//	setarg 0x06				//sensor led off by power down
+//	call twspi_read
+//	arg 0x08,temp
+//	ixor temp,pdata
+//	lshift8 pdata,pdata
+//	add pdata,0x06,pdata
+//	call twspi_write	//make sdio high
 
-	setarg 0xa105			//sensor led on
-	branch twspi_write 
+//	setarg 0xa105			//sensor led on
+//	branch twspi_write 
 
 	
-p_mouse_multi_led_blink_off:
-	setarg 0
-	store 3,mem_mouse_multi_led_blink_timer
-p_mouse_multi_led_off:
-	fetch 1,mem_mouse_multi_led_blink_count
-	nbranch p_mouse_multi_led_off_wait_blink_over,blank
-	jam 0,mem_mouse_multi_led_blink_enable
-	jam 0,mem_mouse_multi_led_type
-p_mouse_multi_led_off_wait_blink_over:
-	jam 0,mem_mouse_multi_led_on_timer
-	jam OFF,mem_mouse_multi_led_state
-p_mouse_multi_led_off2:	
-	setarg 0x3805
-	branch twspi_write
+//p_mouse_multi_led_blink_off:
+//	setarg 0
+//	store 3,mem_mouse_multi_led_blink_timer
+//p_mouse_multi_led_off:
+//	fetch 1,mem_mouse_multi_led_blink_count
+//	nbranch p_mouse_multi_led_off_wait_blink_over,blank
+//	jam 0,mem_mouse_multi_led_blink_enable
+//	jam 0,mem_mouse_multi_led_type
+//p_mouse_multi_led_off_wait_blink_over:
+//	jam 0,mem_mouse_multi_led_on_timer
+//	jam OFF,mem_mouse_multi_led_state
+//p_mouse_multi_led_off2:	
+//	setarg 0x3805
+//	branch twspi_write
 
 
 
@@ -2397,22 +2431,22 @@
 //	jam 0,mem_mouse_multi_led_on_timer
 //	rtn
 	
-p_mouse_discovery_multi_led_blink:
-	jam 7,mem_mouse_multi_led_blink_timer_init	//700ms
-	jam 0,mem_mouse_multi_led_blink_count_limited
-	jam 1,mem_mouse_multi_led_blink_count//0 will clear mem_mouse_multi_led_blink_enable/mem_mouse_multi_led_type
-p_mouse_multi_led_blink_enable:
-	jam 1,mem_mouse_multi_led_blink_timer
-	jam ON,mem_mouse_multi_led_blink_enable
-	jam MULTI_LED_BLINK,mem_mouse_multi_led_type
-	rtn
+//p_mouse_discovery_multi_led_blink:
+//	jam 7,mem_mouse_multi_led_blink_timer_init	//700ms
+//	jam 0,mem_mouse_multi_led_blink_count_limited
+//	jam 1,mem_mouse_multi_led_blink_count//0 will clear mem_mouse_multi_led_blink_enable/mem_mouse_multi_led_type
+//p_mouse_multi_led_blink_enable:
+//	jam 1,mem_mouse_multi_led_blink_timer
+//	jam ON,mem_mouse_multi_led_blink_enable
+//	jam MULTI_LED_BLINK,mem_mouse_multi_led_type
+//	rtn
 
-p_mouse_discovey_led_blink_off:
-	fetch 1,mem_mouse_multi_led_on_timer
-	nrtn blank
+//p_mouse_discovey_led_blink_off:
+//	fetch 1,mem_mouse_multi_led_on_timer
+//	nrtn blank
 //	fetch 1,mem_mouse_multi_led_on_poweron2s_flag
 //	nrtn blank
-	branch p_mouse_multi_led_blink_off
+//	branch p_mouse_multi_led_blink_off
 		
 //p_mouse_dpi_multi_led_blink:
 //	jam 3,mem_mouse_multi_led_blink_timer_init	//300ms
@@ -2424,7 +2458,6 @@
 	setarg 0
 	store 6,mem_mouse_x
 	call p_mouse_cheak_sensor_data
-//	call p_mouse_set_sdio_high
 	call mouse_zwheel
 	call mouse_t_zwheel
 	call p_mouse_key	
@@ -2445,14 +2478,16 @@
 	call p_mouse_check_lkey_gpio
 //	call p_mouse_check_rkey_gpio
 //	call p_mouse_check_mkey_gpio
-	call p_mouse_check_skey_gpio
+//	call p_mouse_check_skey_gpio
+	call p_mouse_check_bk_key_gpio
+	call p_mouse_check_fw_key_gpio
 	branch mouse_check_key_gpio+11
 
-p_mouse_check_skey_gpio:
+//p_mouse_check_skey_gpio:
 //	fetch 1,mem_bk_button_gpio
 //	rtneq GPIO_DISABLE
-	call p_mouse_check_bk_key_gpio
-	branch p_mouse_check_fw_key_gpio
+//	call p_mouse_check_bk_key_gpio
+//	branch p_mouse_check_fw_key_gpio
 	
 p_mouse_check_lkey_gpio:
 	fetcht 1,mem_lbutton_gpio
@@ -2506,7 +2541,6 @@
 p_mouse_cheak_sensor_data:
 	fetch 1,mem_config_sensor_type
 //	beq P3212,p_mouse_p3212_sensor_motion
-//	beq P3610,mouse_p3610_sensor_motion
 	beq P8009,p_mouse_p8009_sensor_motion
 p_mouse_p32xx_sensor_motion:
 	call mouse_clear_sensor_data
@@ -2521,9 +2555,9 @@
 p_mouse_p8009_sensor_motion:
 	call mouse_clear_sensor_data
 	disable user
-	fetcht 1,mem_sensor_data_gpio
-	call gpio_get_bit
-	nrtn true 
+//	fetcht 1,mem_sensor_data_gpio
+//	call gpio_get_bit
+//	nrtn true 
 p_mouse_p32xx_sensor_motion_1:
 	setarg PAN_REG_MOTION_STAUS
 	call twspi_read
@@ -2545,109 +2579,90 @@
 //	branch mouse_p3212_sensor_motion_1
 
 p_mouse_seting_dpi:
-	call mosue_dpi_led_blink_init
 p_mouse_seting_dpi_sensor_type:	
-	fetch 1,mem_config_sensor_type
-//	beq P3610,mouse_seting_3610_dpi
-//	beq P3212,mouse_seting_3212_dpi
-	beq P3065_XY,p_mouse_seting_3065XY_dpi
-	beq KA8,p_mouse_seting_ka8_dpi
-//	beq P3204,p_mouse_seting_3065XY_dpi
-//	beq MX8650A,p_mouse_8650_dpi
-	beq P8009,p_mouse_seting_8009_dpi
-p_mouse_seting_3205_dpi:
-	fetch 1,mem_mouse_dpi
-	call p_mouse_3065xy_dpi_recount,blank
-	fetch 1,mem_mouse_dpi
-	beq MOUSE_DPI_LEVEL2,p_mouse_3205_set_cpi1			//800
-	beq MOUSE_DPI_LEVEL4,mouse_set_cpi3				//1600
-	branch mouse_set_cpi2								//1200
-p_mouse_3205_set_cpi1:
-	fetch 1,mem_320x_dpi_1
-	increase -1,pdata
-	branch mouse_p3205_dpi
-
-p_mouse_seting_3065XY_dpi:
-	fetch 1,mem_mouse_dpi
-	call p_mouse_3065xy_dpi_recount,blank
-	fetch 1,mem_mouse_dpi
-	beq MOUSE_DPI_LEVEL2,p_mouse_common_set_cpi1		//800
-	beq MOUSE_DPI_LEVEL4,mouse_set_cpi3				//1600
-	branch mouse_set_cpi2								//1300
-p_mouse_3065xy_dpi_recount:
-	jam MOUSE_DPI_LEVEL2,mem_mouse_dpi
-	rtn
-
-p_mouse_seting_8009_dpi:
+//	fetch 1,mem_config_sensor_type
+//	beq P3212,p_mouse_seting_3212_dpi
+//	beq P3065_XY,p_mouse_seting_3065XY_dpi
+//	beq MX8650,p_mouse_seting_3065XY_dpi
+//	beq KA8,p_mouse_seting_ka8_dpi
+//	beq P8009,p_mouse_seting_3205_dpi
+//	branch p_mouse_seting_3065XY_dpi
+p_mouse_seting_320x_dpi:
 	fetch 1,mem_mouse_dpi
-	call p_mouse_3065xy_dpi_recount,blank
+	sub pdata,MOUSE_DPI_LEVEL2,null
+	call p_mouse_320x_dpi_recount,zero
 	fetch 1,mem_mouse_dpi
-	beq MOUSE_DPI_LEVEL2,p_mouse_common_set_cpi1		//800
-	beq MOUSE_DPI_LEVEL4,mouse_set_cpi2				//1600
-	branch mouse_set_cpi1								//1200
-p_mouse_common_set_cpi1:	
-	jam 0,mem_mouse_cpi_count
+	beq MOUSE_DPI_LEVEL1,p_mouse_set_cpi1
+	beq MOUSE_DPI_LEVEL4,p_mouse_set_cpi4
+p_mouse_set_cpi3:
+	fetch 1,mem_config_sensor_type
+//	beq P3212,mouse_set_p3212_cpi3
+	beq P3065_XY,p_mouse_3065xy_set_cpi3
+	beq MX8650,p_mouse_3065xy_set_cpi3
+	beq KA8,p_mouse_ka8_set_cpi3
+p_mouse_320x_set_cpi3:	
+	fetch 1,mem_320x_dpi_3
+p_mouse_dpi_store:
+	store 1,mem_mouse_cpi_count
 	branch mouse_p3205_dpi+3
+p_mouse_320x_dpi_recount:
+	jam MOUSE_DPI_LEVEL3,mem_mouse_dpi
+	rtn
 	
-p_mouse_seting_ka8_dpi:
-	fetch 1,mem_mouse_dpi
-	call p_mouse_3065xy_dpi_recount,blank
-	fetch 1,mem_mouse_dpi
-	beq MOUSE_DPI_LEVEL2,mouse_set_cpi2			//800
-	beq MOUSE_DPI_LEVEL4,p_mouse_ka8_set_cpi3		//1600
-	branch mouse_set_cpi4							//1200
-p_mouse_ka8_set_cpi3:	
-	setarg 5
-	branch mouse_p3205_dpi
-
-//p_mouse_seting_3212_dpi:
-//	fetch 1,mem_mouse_dpi
-//	sub pdata,MOUSE_DPI_LEVEL2,null
-//	call p_mouse_3205_dpi_recount,zero
-//	fetch 1,mem_mouse_dpi
-//	beq MOUSE_DPI_LEVEL1,mouse_set_p3212_cpi1
-//	beq MOUSE_DPI_LEVEL2,mouse_set_p3212_cpi2
-//	beq MOUSE_DPI_LEVEL4,mouse_set_p3212_cpi4
-//	branch mouse_set_p3212_cpi3
-
-//p_mouse_set_p3212_cpi1:
-//	jam 1,mem_mouse_dpi_blink_count
-//	branch mouse_set_p3212_cpi1
-//p_mouse_set_p3212_cpi3:
-//	jam 2,mem_mouse_dpi_blink_count
-//	branch mouse_set_p3212_cpi3
-//p_mouse_set_p3212_cpi4:
-//	jam 3,mem_mouse_dpi_blink_count
-//	branch mouse_set_p3212_cpi4
-
-//p_mouse_8650_dpi:
-//	fetch 1,mem_mouse_dpi
-//	sub pdata,MOUSE_DPI_LEVEL2,null
-//	call p_mouse_3205_dpi_recount,zero
-//	fetch 1,mem_mouse_dpi
-//	beq MOUSE_DPI_LEVEL1,p_mouse_8650_set_cpi1
-//	beq MOUSE_DPI_LEVEL4,p_mouse_8650_set_cpi4
-//p_mouse_8650_set_dpi3:
-//	jam 2,mem_mouse_dpi_blink_count
-//	fetch 1,mem_320x_dpi_2	//1200
-//	branch p_mouse_store_dpi
-//p_mouse_8650_set_cpi1:
-//	jam 1,mem_mouse_dpi_blink_count
-//	fetch 1,mem_320x_dpi_1	//800
-//	branch p_mouse_store_dpi
-//p_mouse_8650_set_cpi4:
-//	jam 3,mem_mouse_dpi_blink_count
-//	fetch 1,mem_320x_dpi_3	//1600
-//	branch p_mouse_store_dpi
+p_mouse_set_cpi1:
+	fetch 1,mem_config_sensor_type
+//	beq P3212,mouse_set_p3212_cpi1
+	beq P3065_XY,p_mouse_3065xy_set_cpi1
+	beq MX8650,p_mouse_3065xy_set_cpi1
+	beq KA8,p_mouse_ka8_set_cpi1
+p_mouse_320x_set_cpi1:	
+	fetch 1,mem_320x_dpi_1
+	branch p_mouse_dpi_store
+
+p_mouse_set_cpi4:
+	fetch 1,mem_config_sensor_type
+//	beq P3212,mouse_set_p3212_cpi4
+	beq P3065_XY,p_mouse_3065xy_set_cpi4
+	beq MX8650,p_mouse_3065xy_set_cpi4
+	beq KA8,p_mouse_ka8_set_cpi4
+p_mouse_320x_set_cpi4:	
+	fetch 1,mem_320x_dpi_4
+	branch p_mouse_dpi_store
+
+p_mouse_3065xy_set_cpi3:
+	fetch 1,mem_3065xy_dpi_3
+	branch p_mouse_dpi_store
+p_mouse_3065xy_set_cpi1:
+	fetch 1,mem_3065xy_dpi_1
+	branch p_mouse_dpi_store
+p_mouse_3065xy_set_cpi4:
+	fetch 1,mem_3065xy_dpi_4
+	branch p_mouse_dpi_store
+
+p_mouse_ka8_set_cpi3:
+	fetch 1,mem_320x_dpi_3
+p_mouse_ka8_dpi_store:
+	increase 2,pdata
+	branch p_mouse_dpi_store
+p_mouse_ka8_set_cpi1:
+	fetch 1,mem_320x_dpi_1
+	branch p_mouse_ka8_dpi_store
+p_mouse_ka8_set_cpi4:
+	fetch 1,mem_320x_dpi_4
+	branch p_mouse_ka8_dpi_store
 
 p_mouse_bb_event_discovery_btn:
-	jam 0,mem_mouse_null_enter_hibernate_flag
-	jam 0,mem_mouse_null_enter_hibernate_timer
+	call p_mouse_null_enter_hibernate_disable
 ifdef G24	
 	isolate1 mark_24g,mark
 	call p_g24_check_51cmd_stop_24g,true
 endif
-	branch mouse_bb_event_discovery_btn+1
+	jam 0,mem_mouse_send_blank_timer
+	fetch 1,mem_mouse_le_not_tx_disconn
+	call mouse_disconnect,blank
+	setarg 0
+	store 2,mem_mouse_no_data_timer
+	branch mouse_bb_event_discovery_btn+3
 
 ifdef BLE
 p_le_addr_random_config:
@@ -2676,28 +2691,16 @@
 endif
 
 p_mouse_start_discovery:
-	jam 0,mem_le_send_security_request_flag
 	call p_mouse_tx_power_init
+	jam 0,mem_le_send_security_request_flag
+	jam 1,mem_mouse_start_discovery_enable
+	jam MODE_BT_DEVICE1,mem_device_flag
 	jam 0,mem_mouse_clear_sensor_data_flag
-	jam 0x5a,mem_mouse_fast_conn_flag
-	fetch 2,mem_ui_state_map
-	bbit1 UI_STATE_BLE_ADV,p_mouse_start_discovery_norandom
-//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-//	bbit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE,p_mouse_start_discovery_norandom
-ifdef BLE
-	call p_mouse_load_eeprom_random_addr_increase_count
-	fetcht 2,mem_random_addr_increase_count
-	increase 1,temp
-	storet 2,mem_random_addr_increase_count
-	storet 2,mem_le_lap+1
-	call p_mouse_store_eerpom_random_addr_increase_count
-	random pdata
-	store 1,mem_le_lap
-endif
 p_mouse_start_discovery_norandom:
 ifdef BLE_FAST_CONN_ENABLE
-	fetch 3,mem_le_lap_high_3B
-	store 3,mem_le_lap+3
+	fetch 6,mem_le_normal_lap
+	store 6,mem_le_lap
+	call p_mouse_fast_conn_disable
 endif
 	call app_lpm_mult_disable
 	fetch 2,mem_discovery_timeout
@@ -2706,37 +2709,14 @@
 	setarg 0
 	store 2,mem_mouse_no_data_timer
 	store 2,mem_mouse_direct_timer
-	arg MOUSE_STORE_EEPROM_FLAG,queue
-	call mouse_enable_function_flag
+	call p_mouse_store_eeprom_enable
 	call mouse_bt_discovery_button_down_disable
-//	fetch 1,mem_device_option
-//	isolate1 MODE_4_MOUSE,pdata
-	call p_check_51cmd_adv
-	call mouse_start_discovery_norandom+13
-	branch p_mouse_discovery_multi_led_blink
-
-p_check_51cmd_adv:
-	jam 0,mem_mouse_le_reconnect_flag
-	call p_le_check_adv_flag
-	setarg ADV_FLAG_BREDR_NOT_SUPPORTED |ADV_FLAG_LIMITED_DISCOVERABLE
-	istore 1,contr
-
-	arg mem_le_adv_swift_pair,contr
-	call p_le_adv_data_update
-	
-	branch check_51cmd_adv
-
-p_le_adv_data_update:
-	arg mem_le_adv_data+11,contw
-	arg 19,loopcnt
-	call memcpy
-	branch le_modified_name_adv
+	fetch 1,mem_mouse_le_adv_start
+	ncall p_check_51cmd_adv,blank
+	rtn
 
 p_mouse_stop_discovery:
-	call p_mouse_discovey_led_blink_off
-	setarg 0
-	store 2,mem_mouse_discovery_timer
-	call p_mouse_sensor_poweron		//clear sensor data,confirm the motion pin high
+	call p_mouse_init_sensor_reset		//clear sensor data,confirm the motion pin high
 	branch mouse_stop_discovery+1
 
 ifdef BLE
@@ -2828,10 +2808,6 @@
 	call p_mouse_data_pull,blank
 	branch le_prepare_tx+4
 
-p_le_prepare_tx_wak:
-	call p_le_check_tx_retransmit_setmd
-	branch p_le_power_ctrl_pac_succ_decrs
-
 p_le_check_tx_retransmit_setmd:
 	fetch 1,mem_le_connect_status_flag
 	and pdata,0x03,pdata
@@ -2856,7 +2832,8 @@
 	rtn
 
 	
-	
+p_le_prepare_tx_wak:
+	call p_le_check_tx_retransmit_setmd
 p_le_power_ctrl_pac_succ_decrs:
 ifdef DEBUGLOG
 ifdef DEBUGLOG_MISC
@@ -2896,8 +2873,19 @@
 	branch le_parse_l2cap
 p_le_parse_ll:
 	fetch 1,mem_le_rxbuf+2
+	beq LL_CONNECTION_UPDATE_REQ,p_le_parse_connection_update_req
 	beq LL_CHANNEL_MAP_REQ,p_le_parse_channel_map_req
 	branch le_parse_ll+1
+p_le_parse_connection_update_req:
+	call le_parse_connection_update_req
+	fetch 1,mem_mouse_le_updata_not_accepted_flag
+	rtn blank
+//ipad not accepted updata, need reinit mem_lpm_mult.   mem_lpm_mult = LL_CONNECTION_UPDATE_REQ latency = 04	
+p_mouse_le_conn_param_update_rsp_not_accepted_mult_reset:	
+	fetch 1,mem_le_new_connslavelatency
+	store 1,mem_lpm_mult
+	store 1,mem_lpm_mult_init
+	rtn		
 p_le_parse_channel_map_req:
 	ifetch 5,contr
 	store 5,mem_le_new_map
@@ -3409,8 +3397,8 @@
 power_ctrl_start:
 	fetch 2,mem_ui_state_map
 	rtnbit1 UI_STATE_BLE_ADV
-	rtnbit1 UI_STATE_BT_RECONNECT
-	rtnbit1 UI_STATE_BT_DISCOVERY
+//	rtnbit1 UI_STATE_BT_RECONNECT
+//	rtnbit1 UI_STATE_BT_DISCOVERY
 	
 	arg mem_rssi_signal_buf,rega
 	call p_rssi_average
@@ -3555,7 +3543,12 @@
 //	branch set_tx_power_3db
 	
 p_set_tx_power_5db:
-	call p_rx_high_sens
+p_rx_high_sens:
+	jam 0xfb,0x894c 
+	jam 0xef,0x894d
+	jam 0xec,0x894e 
+	jam 0x5e,0x894f
+	
 //	jam 0xba,0x894b
 	jam 0xd0,0x8955
 	jam 0xe0,0x8956
@@ -3590,13 +3583,6 @@
 	jam 0x2c,0x894e 
 	jam 0x46,0x894f
 	rtn
-
-p_rx_high_sens:
-	jam 0xfb,0x894c 
-	jam 0xef,0x894d
-	jam 0xec,0x894e 
-	jam 0x5e,0x894f
-	rtn
 		
 p_set_tx_power_pair:	//50-100cm distance
 //	jam 0xba,0x894b
@@ -3844,11 +3830,9 @@
 
 p_data_abs_check:
 	fetch 2,mem_mouse_x
-	store 2,mem_data_current
 	call p_data_abs
 	copy pdata,rega
 	fetch 2,mem_mouse_y
-	store 2,mem_data_current
 	call p_data_abs
 	copy pdata,regb
 	rtn
@@ -3858,6 +3842,7 @@
 output:pdata,abs
 ************/
 p_data_abs:
+	store 2,mem_data_current
 	fetch 1,mem_data_current+1
 	beq 0xff,p_data_reversal
 	fetch 1,mem_data_current
Index: sched/mouse.dat
===================================================================
--- /branch/mouse_project/MingAo_Project/24G&BLE_24G_FIRST/sched/mouse.dat	(revision 1845)
+++ /branch/mouse_project/MingAo_Project/24G&BLE_24G_FIRST/sched/mouse.dat	(working copy)
@@ -98,17 +98,17 @@
 #microsoft swift pair
 06 ff 06 00 03 00 80
 #name
-'\09BT5.0 Mouse
+'\09BT5.2 Mouse
 
 mem_le_scan_data_len:1f
 mem_le_scan_data:
 #name
-'\09BT5.0 Mouse
+'\09BT5.2 Mouse
 
 
 #max 20bytes, att list data rom limits
 mem_le_name_len:
-'BT5.0 Mouse
+'BT5.2 Mouse
 
 
 mem_le_interval_min:
@@ -207,6 +207,53 @@
 #07##mem_3610_dpi_3
 #08##mem_3610_dpi_4
 
+mem_mouse_3065xy_dpi_seting:
+00
+01
+02
+03
+
+mem_sensor_8650_init:
+09 5a
+ff 27
+ab 40
+be d1
+a0 41
+a1 41
+a5 84
+a7 ff
+b5 d0
+b6 00
+ff 00
+09 00
+ff
+
+mem_sensor_ka8_init:
+09 5a
+5b 9a
+0d 12
+0e c5
+53 48
+09 00
+ff
+
+mem_sensor_8009_init:
+09 5a
+06 02
+09 69
+0d 48
+0e 9f
+0f ba
+09 00
+ff
+
+mem_sensor_poweron_init:
+06 80
+09 5a
+0b f3
+09 00
+ff
+
 mem_mouse_dpi_blink_count:00
 
 mem_ui_led_struct_ptr:mem_mouse_led_type
@@ -253,6 +300,7 @@
 #34
 #11 22 33 44 55 66
 
+mem_mouse_24g_addr_init:ff ff ff ff ff ff
 
 #mem_flash_base:00 70 00
 mem_eeprom_base:90 1f
