Index: d.bat
===================================================================
--- /branch/mouse_project/CZT_Project/JinQi_24G&BLE/d.bat	(revision 1737)
+++ /branch/mouse_project/CZT_Project/JinQi_24G&BLE/d.bat	(working copy)
@@ -1,5 +1,8 @@
 call do.bat eep
+e ku
+ping 127.1 -n 1 >nul
 e pu
+ping 127.1 -n 1 >nul
 e 8081 10
 e 8075 0000
 e 8079 0000
Index: do.bat
===================================================================
--- /branch/mouse_project/CZT_Project/JinQi_24G&BLE/do.bat	(revision 1737)
+++ /branch/mouse_project/CZT_Project/JinQi_24G&BLE/do.bat	(working copy)
@@ -101,7 +101,15 @@
 
  rem geneep -n -k key.txt
 
+echo eeprom.dat is filling with 0xff......
 cd ..\output
+copy eeprom.dat ..\util\eeprom.dat
+
+cd ..\util
+eeprom2fulleeprom.exe eeprom.dat 64>compare2.dat
+crc16.exe compare2.dat 2 >..\output\eeprom.dat
+del eeprom.dat
+del compare2.dat
 
 echo eeprom.dat Generated......
 
Index: format/app_mouse.format
===================================================================
--- /branch/mouse_project/CZT_Project/JinQi_24G&BLE/format/app_mouse.format	(revision 1737)
+++ /branch/mouse_project/CZT_Project/JinQi_24G&BLE/format/app_mouse.format	(working copy)
@@ -248,6 +248,7 @@
 1 mem_mouse_le_current_mult_timer
 1 mem_24g_long_sleep_param_update_timer
 
+1 mem_power_on_flag
 
 )
 
Index: format/app_usb.format
===================================================================
--- /branch/mouse_project/CZT_Project/JinQi_24G&BLE/format/app_usb.format	(revision 1737)
+++ /branch/mouse_project/CZT_Project/JinQi_24G&BLE/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/CZT_Project/JinQi_24G&BLE/format/g24.format	(revision 1737)
+++ /branch/mouse_project/CZT_Project/JinQi_24G&BLE/format/g24.format	(working copy)
@@ -125,6 +125,20 @@
 1 mem_24g_paccnt
 1 mem_24g_transmit_by_interrupt
 1 mem_24g_transmit_by_interrupt_exit_count
+6 mem_24g_allpowerful_addr
+
+1 mem_24g_stop_g24_mode
+2 mem_24g_stop_g24_mode_timeout
+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
+1 mem_24g_search_dongle_wait
+
+1 mem_24g_conn_sm
+
 )
 
 (
@@ -297,6 +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
@@ -458,3 +478,13 @@
 0 G24_TX_TIMER_INT_DISABLE
 )
 
+(
+0 G24_DISCONN_STATE
+1 G24_CONN_STATE
+
+
+8 G24_CH_NUMBER
+16 G24_CH_POLL_COUNT
+0x012C G24_DISCONN_NODATA_TIMER	//30s
+)
+
Index: output/eeprom.dat
===================================================================
--- /branch/mouse_project/CZT_Project/JinQi_24G&BLE/output/eeprom.dat	(revision 1737)
+++ /branch/mouse_project/CZT_Project/JinQi_24G&BLE/output/eeprom.dat	(working copy)
@@ -2,68 +2,76 @@
 02
 aa
 55
-a2
+c6
 1c
 c2
 84
 00
-10
+12
+c0
+00
+00
+29
 c0
 00
 80
-26
+2c
+c0
+01
+00
+35
 c0
 42
-87
-26
+86
+ca
 c0
 44
 86
-f7
+9b
 c0
 50
 80
-2f
+3e
 c0
 58
 80
-34
+43
 c0
 59
 00
-45
+4f
 c0
 62
 02
-e5
+cc
 c0
 64
 83
-72
+39
 c0
 65
 03
-76
+3d
 c0
 71
-85
-6d
+84
+ea
 c0
 73
 05
-79
+0e
 c0
 75
 05
-b2
+41
 c0
 75
 85
-c7
+56
 c0
 76
 05
-f4
+81
 20
 20
 2a
@@ -71,47 +79,51 @@
 c0
 1c
 85
-f9
+86
 c0
 21
-86
-01
+85
+8e
 c0
 25
-06
-07
+05
+94
 c0
 2b
-86
-0a
+85
+97
 c0
 2c
-86
-1c
+85
+a9
 c0
 31
-86
-29
+85
+b6
 c0
 33
-06
-53
+05
+e0
 c0
 33
-86
-6a
+85
+f7
 c0
 35
 06
-93
+30
 c0
 3b
 86
-9e
+3b
+c0
+7d
+06
+4b
 c0
 46
 06
-ae
+54
 20
 20
 2a
@@ -123,11 +135,11 @@
 68
 08
 cc
-7c
+7d
 58
 00
 4c
-83
+84
 98
 40
 8a
@@ -151,11 +163,23 @@
 60
 08
 cc
-7c
+7d
 20
 60
 00
 00
+68
+10
+81
+3b
+60
+00
+cb
+3b
+20
+20
+20
+02
 d8
 a0
 09
@@ -171,7 +195,7 @@
 20
 40
 03
-b9
+7d
 20
 40
 6a
@@ -192,6 +216,42 @@
 20
 20
 0c
+20
+55
+b2
+e3
+20
+40
+75
+6a
+20
+55
+ab
+41
+20
+40
+76
+dc
+68
+00
+c6
+5a
+20
+3a
+20
+12
+68
+00
+c5
+b1
+20
+3a
+00
+38
+20
+20
+20
+12
 58
 00
 0a
@@ -216,17 +276,21 @@
 13
 00
 00
-20
-40
-00
-3f
 68
 00
 cb
 01
-c0
+24
+3a
+7f
+ef
+68
 00
-ff
+cb
+07
+24
+3a
+7f
 ef
 68
 00
@@ -256,30 +320,6 @@
 20
 7f
 f1
-20
-40
-7f
-f1
-68
-00
-cb
-01
-24
-5a
-7f
-ef
-68
-00
-cb
-03
-24
-5a
-7f
-ef
-20
-60
-00
-00
 c6
 93
 00
@@ -287,31 +327,43 @@
 68
 00
 cd
-01
+13
+c2
+80
+80
+63
+c2
+81
+00
+82
+68
+00
+cd
+02
 c0
 00
 80
-5f
+8e
 20
 40
-00
-f6
+01
+17
 24
 34
 00
-79
+a8
 20
 40
 00
-dd
+fe
 20
 40
 01
-19
+3a
 68
 00
 cb
-d1
+d2
 c1
 ff
 80
@@ -319,19 +371,7 @@
 20
 40
 06
-cb
-20
-40
-00
-59
-68
-00
-cd
-01
-c1
-00
-80
-00
+71
 68
 00
 cb
@@ -339,11 +379,11 @@
 c0
 00
 80
-76
+a5
 20
 40
 00
-85
+b4
 24
 74
 00
@@ -351,7 +391,7 @@
 20
 40
 02
-d6
+bd
 58
 00
 ec
@@ -362,44 +402,192 @@
 93
 68
 00
-c6
-f5
-c3
-83
-80
-00
-58
-01
-77
+cd
+0a
+c0
 00
-60
-01
-cb
-f0
-70
-4b
-3a
-14
+ad
+d4
 20
-60
-00
-00
+40
+01
+b8
 20
 40
-02
-a1
+01
+52
 24
-74
+2c
+01
+cc
+24
+37
+81
+cc
+20
+40
+01
+78
+68
+02
+4b
+ea
+68
+0a
+4d
+04
+98
+46
+7c
+00
+20
+22
+80
+70
+68
 00
+cb
+c0
+c1
+84
+00
+00
+68
+00
+cd
+13
+79
+3f
+fe
+01
+60
 00
+cd
+13
 20
 40
+02
+e5
+68
+02
+4b
+ea
+68
+0a
+4b
+ce
+98
+46
+7c
+00
+20
+22
+81
+7f
+68
+02
+4b
+ea
+68
+0a
+4b
+f9
+98
+46
+7c
 00
+20
+42
+80
+80
 70
+4b
+38
+00
+20
+40
+2f
+20
+20
+40
+01
+4d
+20
+20
+00
+a5
+68
+02
+4b
+a2
+20
+20
+01
+fb
+68
+00
+cd
+0a
+c0
+00
+80
+8c
+20
+40
+01
+b8
+20
+40
+01
+52
+24
+2c
+02
+1b
+24
+37
+82
+1b
 68
 00
 cd
+13
+79
+3f
+fe
+02
+60
+00
+cd
+13
+20
+20
+00
+7c
+20
+40
+01
+e5
+20
+20
+01
+c1
+20
+40
 02
+96
+24
+74
+00
+00
+20
+40
+00
+9f
+68
+00
+cd
+03
 1f
 e0
 fe
@@ -407,7 +595,7 @@
 60
 00
 cd
-02
+03
 1f
 e6
 7c
@@ -415,31 +603,31 @@
 20
 42
 80
-68
+97
 20
 20
 00
-48
+55
 70
 4d
-01
+02
 00
 70
 4d
-02
+03
 00
 70
 4b
-fc
+fd
 00
 68
 00
 cb
-e7
+e8
 60
 00
 cb
-e6
+e7
 20
 60
 00
@@ -447,15 +635,15 @@
 68
 00
 cb
-e8
+e9
 20
 20
 00
-6c
+9b
 68
 00
 cb
-fc
+fd
 1f
 e0
 fe
@@ -463,26 +651,26 @@
 60
 00
 cb
-fc
+fd
 c0
 02
 00
-6e
+9d
 c0
 02
 80
-6a
+99
 20
 60
 00
 00
 70
 4d
-01
+02
 01
 70
 4d
-02
+03
 00
 20
 60
@@ -491,11 +679,11 @@
 68
 00
 cb
-ed
+ee
 20
 5a
 00
-8e
+bd
 68
 00
 cb
@@ -515,7 +703,7 @@
 20
 40
 00
-85
+b4
 24
 74
 00
@@ -523,7 +711,7 @@
 68
 01
 cb
-f0
+f1
 20
 40
 7f
@@ -571,23 +759,23 @@
 20
 20
 02
-d9
+c0
 70
 4b
-ed
+ee
 01
 70
 4c
-f6
+f7
 00
 20
 40
 00
-a5
+d4
 60
 00
 cb
-5d
+5e
 58
 00
 00
@@ -595,23 +783,23 @@
 60
 03
 cb
-5e
+5f
 68
 02
 4b
-f8
+f9
 60
 02
 4b
-65
+66
 70
 4b
-c1
+c2
 0c
 68
 00
 cb
-c2
+c3
 79
 20
 7e
@@ -619,15 +807,15 @@
 60
 00
 cb
-c2
+c3
 20
 40
-00
-f9
+01
+1a
 20
 20
 00
-4b
+58
 20
 40
 68
@@ -639,7 +827,7 @@
 60
 02
 4b
-f8
+f9
 24
 7a
 00
@@ -651,23 +839,23 @@
 60
 02
 4b
-f8
+f9
 20
 60
 00
 00
 70
 4c
-f7
+f8
 01
 70
 4c
-f9
+fa
 00
 68
 00
 cb
-c2
+c3
 1f
 e1
 7e
@@ -675,7 +863,7 @@
 60
 00
 cb
-c2
+c3
 20
 60
 00
@@ -683,7 +871,7 @@
 68
 00
 cb
-c2
+c3
 79
 20
 7e
@@ -691,11 +879,11 @@
 60
 00
 cb
-c2
+c3
 60
 00
 cb
-7d
+7e
 20
 60
 00
@@ -703,103 +891,47 @@
 68
 00
 cb
-c2
-79
-3f
-fe
-04
-60
-00
-cb
-c2
-20
-60
+c3
+c4
+02
 00
 00
-20
-40
-06
-c1
 68
 00
-cc
-f8
-c0
-00
-80
-b7
-c0
-01
-00
-bb
-20
+cb
+c3
+79
+3f
+fe
+04
 60
 00
+cb
+c3
+60
 00
-70
-4c
-f9
-02
-70
-4c
-f5
-00
-70
-4c
-f7
-00
-20
+cb
+7e
 20
-00
-a5
-70
-4c
-f6
-00
+40
+06
+67
 20
 20
-00
-b8
-68
-01
-4b
-c7
-1f
-e0
-fe
-01
-60
-01
-4b
-c7
-c2
-85
-01
-5c
-68
-00
-cc
-f6
-c0
-00
-80
-c6
-70
-4c
-f6
-01
+02
+1b
 68
 00
 cc
-f6
+f7
 c0
 80
 80
-a5
+d4
 68
 00
 cc
-f4
+f5
 1f
 e0
 fe
@@ -807,63 +939,63 @@
 60
 00
 cc
-f4
+f5
 c0
 02
 00
-cd
+ee
 20
 40
 02
-19
+1b
 70
 4c
-06
+07
 02
 20
 20
 01
-19
+3a
 20
 40
 06
-c1
+67
 70
 4c
-f4
+f5
 00
 20
 20
 00
-a5
+d4
 70
 4c
-f9
+fa
 02
 70
 4c
-f7
+f8
 01
 70
 4c
-f6
+f7
 00
 20
 20
 00
-a5
+d4
 68
 00
 cc
-f8
+f9
 c0
 01
 80
-d1
+f2
 68
 00
 cb
-c2
+c3
 2f
 ec
 00
@@ -871,19 +1003,19 @@
 20
 20
 80
-a3
+d2
 68
 00
 cc
-f8
+f9
 c0
 00
 80
-d0
+f1
 c0
 01
 00
-d1
+f2
 20
 60
 00
@@ -891,19 +1023,19 @@
 68
 00
 cb
-d1
+d2
 c1
 ff
 80
 00
 20
 40
-00
-e2
+01
+03
 24
 56
-00
-ea
+01
+0b
 20
 60
 00
@@ -915,7 +1047,7 @@
 68
 00
 cc
-f7
+f8
 c1
 80
 80
@@ -923,18 +1055,18 @@
 68
 00
 cc
-f9
+fa
 c1
 80
 00
 00
 70
 4c
-f8
+f9
 01
 70
 4c
-06
+07
 04
 20
 20
@@ -943,11 +1075,11 @@
 68
 00
 cc
-f9
+fa
 20
 3a
-00
-f1
+01
+12
 1f
 e0
 ff
@@ -955,58 +1087,58 @@
 60
 00
 cc
-f9
+fa
 70
 4c
-f8
+f9
 02
 70
 4c
-06
+07
 04
 20
 20
 02
-19
+1b
 70
 4c
-f8
+f9
 03
 68
 00
 cc
-f6
+f7
 24
 3a
 00
-c4
+e5
 70
 4c
-06
+07
 02
 20
 20
 02
-19
+1b
 68
 00
 cb
-d1
+d2
 c0
 ff
 81
-70
+87
 20
 40
-00
-fc
+01
+1d
 20
 40
 02
-07
+09
 70
 4b
-c6
+c7
 01
 20
 60
@@ -1015,7 +1147,7 @@
 68
 01
 4c
-f2
+f3
 20
 40
 7f
@@ -1023,11 +1155,11 @@
 20
 34
 01
-02
+23
 68
 03
 cb
-5e
+5f
 20
 7a
 00
@@ -1039,10 +1171,10 @@
 20
 40
 03
-d6
+94
 70
 4b
-ed
+ee
 00
 1a
 20
@@ -1051,15 +1183,15 @@
 60
 00
 cb
-c1
+c2
 20
 40
 00
-a5
+d4
 60
 00
 cb
-5d
+5e
 e8
 a8
 80
@@ -1095,7 +1227,7 @@
 d8
 a0
 4b
-63
+64
 df
 20
 00
@@ -1123,14 +1255,14 @@
 c2
 00
 01
-12
+33
 20
 60
 00
 00
 70
 4b
-ca
+cb
 00
 d9
 60
@@ -1143,39 +1275,31 @@
 20
 40
 01
-35
-68
-00
-cb
-fd
-c1
-00
-80
-00
+52
 24
 2c
 01
-44
+5d
 24
 37
 81
-44
+5d
 20
 40
 01
-30
+4d
 20
 40
 01
-60
+78
 20
 40
 06
-bd
+63
 68
 00
 cb
-c0
+c1
 1f
 e0
 fe
@@ -1183,39 +1307,31 @@
 60
 00
 cb
-c0
+c1
 68
 00
 cb
-d1
+d2
 c0
 ff
 81
-33
+50
 20
 40
 00
-d4
+f5
 58
 00
 00
 00
 60
-01
+02
 4b
 c7
 60
 00
-cb
-c9
-60
-00
 cc
-f5
-70
-4b
-c6
-00
+f6
 20
 60
 00
@@ -1227,7 +1343,7 @@
 d8
 a0
 4b
-5d
+5e
 20
 20
 7e
@@ -1235,11 +1351,11 @@
 20
 40
 06
-ba
+60
 20
 20
 01
-8a
+a1
 78
 57
 fc
@@ -1247,15 +1363,7 @@
 20
 40
 02
-80
-68
-00
-cb
-fd
-c0
-00
-81
-42
+75
 18
 00
 2a
@@ -1263,7 +1371,7 @@
 68
 02
 4b
-e9
+ea
 98
 00
 12
@@ -1283,143 +1391,131 @@
 20
 40
 02
-3c
+35
 20
 57
 82
-78
+6e
 20
 60
 00
 00
-20
-40
-02
-78
-20
-20
-01
-24
 68
-00
-cb
-c9
+01
+4b
+c8
 1f
 e0
 fe
 01
 60
+01
+4b
+c8
+68
 00
 cb
 c9
+c2
+82
+2d
+d4
 68
 00
 cb
-d1
+d2
 c0
 ff
 81
-58
-68
-08
-cb
-ca
-18
+66
+20
 40
-84
 01
-60
-08
-cb
-ca
+6e
+20
+20
+01
+3b
 68
 00
-cc
-06
-98
-46
-7e
+cb
+c8
+c1
+ff
+80
 00
-24
-3a
-01
-1a
-68
+58
 00
-cc
-f8
-c0
+00
+00
+60
 01
-80
-bd
+4b
+c8
+20
+20
+2d
+d4
+20
+40
+06
+92
+20
+40
+06
+67
+20
+20
+02
+1b
 68
 00
-cc
-f5
+cb
+cb
+1f
+e6
+7c
+0b
+24
+21
+01
+6b
 1f
 e0
 fe
 01
 60
 00
-cc
-f5
+cb
+cb
 c0
 01
 00
-b2
-20
-40
-00
-a9
-70
-4c
-06
-01
-20
-20
-01
-19
-68
+d8
+c0
+03
 00
-cb
-c9
-c1
-ff
-80
+df
+c0
+04
 00
-70
-4b
-c9
+d8
+c0
+06
 00
+df
 20
-20
-01
-5e
-58
-00
+60
 00
 00
-60
-01
-4b
-c7
-70
-0a
-99
-3a
-20
-20
-7d
-86
 20
 40
 01
-ec
+ee
 68
 00
 cb
-bf
+c0
 20
 7a
 00
@@ -1431,26 +1527,22 @@
 d8
 c0
 4b
-3d
+3e
 d8
 a0
 4b
-9f
+a0
 20
 20
 7f
 01
-79
-20
-00
-26
 20
 40
 01
-6b
+82
 70
 4b
-d1
+d2
 01
 20
 60
@@ -1462,24 +1554,24 @@
 20
 70
 4b
-c0
+c1
 00
 70
 4b
-cb
+cc
 4e
 68
 02
 4b
-cd
+ce
 20
 20
 01
-f9
+fb
 68
 00
 cb
-c6
+c7
 c0
 00
 ff
@@ -1487,26 +1579,26 @@
 68
 00
 cb
-d1
+d2
 c0
 00
 81
-77
+8e
 c0
 01
 01
-7a
+91
 c0
 01
 81
-7d
+94
 20
 20
 2a
 8c
 70
 4b
-d1
+d2
 11
 70
 11
@@ -1515,10 +1607,10 @@
 20
 20
 01
-7f
+96
 70
 4b
-d1
+d2
 12
 70
 11
@@ -1527,10 +1619,10 @@
 20
 20
 01
-7f
+96
 70
 4b
-d1
+d2
 13
 70
 11
@@ -1539,7 +1631,7 @@
 68
 00
 cb
-c2
+c3
 1f
 e1
 7e
@@ -1551,7 +1643,7 @@
 68
 02
 4b
-f8
+f9
 60
 02
 11
@@ -1571,11 +1663,11 @@
 20
 40
 01
-e7
+e9
 20
 40
-00
-f9
+01
+1a
 20
 20
 7f
@@ -1583,7 +1675,7 @@
 68
 00
 cb
-d1
+d2
 c1
 7f
 80
@@ -1591,38 +1683,38 @@
 c0
 08
 81
-90
+a7
 c0
 09
 01
-92
+a9
 c0
 09
 81
-94
+ab
 20
 60
 00
 00
 70
 4b
-d1
+d2
 02
 20
 20
 01
-2a
+49
 70
 4b
-d1
+d2
 03
 20
 20
 01
-2a
+49
 70
 4b
-d1
+d2
 ff
 70
 0a
@@ -1632,102 +1724,46 @@
 40
 7d
 86
-68
-02
-4b
-a1
 20
 40
-01
-f9
+00
+80
 20
 20
 01
-2a
-79
-3f
-80
-26
+49
 20
 40
+03
+55
+20
+34
 01
-dd
-68
-00
-cb
-d1
 c1
-ff
-80
-00
-20
-40
-01
-af
-58
-00
-00
-00
-60
-01
-4b
-ee
-20
-40
-2a
-fa
+79
 20
 00
-07
-d0
+26
 68
 00
-cb
-ee
-c0
-7f
-81
-5e
-20
-40
-01
-35
-24
-2c
-01
-b8
-24
-37
-81
-b8
+cd
+13
 79
 20
-00
-26
-58
-00
-00
-00
+7e
+02
 60
-01
-4b
-ee
-70
-0a
-99
-3c
-20
-40
-7d
-86
+00
+cd
+13
 20
 40
 01
-30
+db
 20
 20
-00
-76
+01
+c5
 70
 11
 9e
@@ -1735,7 +1771,7 @@
 68
 00
 cb
-c2
+c3
 60
 00
 91
@@ -1743,7 +1779,7 @@
 68
 02
 4b
-f8
+f9
 60
 02
 11
@@ -1759,119 +1795,59 @@
 20
 40
 01
-e7
-20
+e9
 20
-02
-07
-68
-01
-4b
-ee
-1f
-e0
-fe
-01
-60
-01
-4b
-ee
 20
-40
 02
-19
-20
-20
-01
-a1
+09
 79
-3f
-80
-26
-20
-40
-01
-d9
-20
-40
-01
-af
-70
-4b
-ee
-00
-20
-40
-2a
-fa
 20
 00
-07
-d0
+26
 68
 00
-cb
-ee
-c0
-7f
-81
-5e
+cd
+13
+79
 20
-40
-01
-35
-24
-2c
+7e
 01
-cf
-24
-37
-81
-cf
-20
-40
+60
+00
+cd
+13
+58
+00
 01
+2c
 60
-20
-40
-02
-ff
-68
-02
-4b
-e9
-68
+01
+4d
+0b
+70
+4d
 0a
-4b
-cd
-98
-46
-7c
 00
 20
-22
-81
-67
-20
-20
-01
-a8
-68
+60
 00
-cb
-ee
-1f
-e0
-fe
+00
+58
+00
+00
+00
+60
 01
+cd
+0a
+20
 60
 00
-cb
-ee
+00
 68
 00
-cc
-ff
+cd
+00
 1f
 e0
 fe
@@ -1879,63 +1855,95 @@
 1f
 e1
 7e
-01
+03
 60
 00
-cc
-ff
+cd
+00
 c0
 00
 01
-df
+d3
 c0
-00
-81
-e1
+01
+01
+dd
 20
-60
-00
-00
-70
-41
-de
 20
-58
-00
-0f
-0f
-60
 01
+82
+20
+40
+02
+e5
+68
+02
 4b
-e9
-e0
-a1
+f9
+60
+02
+4b
+ea
+68
 00
+cd
+0d
+60
 00
+cb
+cd
 20
 40
 01
-fa
+db
+60
+08
+cd
+0d
 20
-20
-02
-19
+60
+00
+00
 20
 40
 01
-d9
+fc
 20
 20
-01
-c1
+02
+1b
+70
+41
+de
+20
+68
+02
+4d
+04
+60
+02
+4b
+ea
+68
+00
+cd
+0e
+60
+00
+cb
+cd
 20
 40
 01
-6b
-20
+db
+60
+08
+cd
+0e
 20
-01
-c1
+60
+00
+00
 79
 3f
 80
@@ -1955,7 +1963,7 @@
 60
 08
 cb
-c1
+c2
 18
 42
 72
@@ -1963,7 +1971,7 @@
 d8
 a0
 4b
-5d
+5e
 1a
 22
 0c
@@ -1975,7 +1983,7 @@
 68
 00
 cb
-3c
+3d
 1f
 e9
 7e
@@ -1983,7 +1991,7 @@
 60
 00
 cb
-bf
+c0
 1f
 e0
 fe
@@ -1991,7 +1999,7 @@
 d8
 c0
 4b
-3c
+3d
 98
 c0
 8c
@@ -2003,11 +2011,11 @@
 60
 01
 cb
-fe
+ff
 68
 00
 cb
-3c
+3d
 1f
 e3
 7e
@@ -2019,7 +2027,7 @@
 60
 00
 cc
-04
+05
 20
 60
 00
@@ -2027,7 +2035,7 @@
 60
 02
 4b
-e9
+ea
 da
 20
 00
@@ -2039,7 +2047,7 @@
 d8
 c0
 4b
-e9
+ea
 e8
 c0
 80
@@ -2051,7 +2059,7 @@
 c2
 00
 01
-fd
+ff
 1a
 22
 7e
@@ -2059,15 +2067,15 @@
 60
 01
 4c
-72
+73
 68
 00
 cc
-72
+73
 68
 08
 cc
-73
+74
 98
 40
 fe
@@ -2075,7 +2083,7 @@
 60
 00
 cc
-74
+75
 20
 60
 00
@@ -2083,7 +2091,7 @@
 68
 00
 cb
-c1
+c2
 1f
 e0
 fe
@@ -2091,19 +2099,19 @@
 60
 00
 cb
-c3
+c4
 68
 00
 cb
-c2
+c3
 60
 00
 cb
-7d
+7e
 68
 00
 cb
-c1
+c2
 1f
 e9
 fe
@@ -2111,7 +2119,7 @@
 68
 08
 cb
-c0
+c1
 18
 41
 04
@@ -2127,7 +2135,7 @@
 68
 08
 cb
-fd
+fe
 98
 40
 fe
@@ -2139,7 +2147,7 @@
 68
 00
 cb
-c1
+c2
 98
 00
 72
@@ -2147,7 +2155,7 @@
 d8
 c0
 4b
-5d
+5e
 20
 20
 7f
@@ -2155,15 +2163,15 @@
 68
 08
 cb
-cc
+cd
 20
 40
 02
-1d
+1f
 60
 08
 cb
-cc
+cd
 20
 60
 00
@@ -2171,7 +2179,7 @@
 20
 40
 02
-21
+23
 18
 40
 84
@@ -2187,7 +2195,7 @@
 68
 00
 cb
-e9
+ea
 1f
 e1
 7e
@@ -2199,7 +2207,7 @@
 58
 00
 4b
-d2
+d3
 9a
 20
 fe
@@ -2215,7 +2223,7 @@
 60
 00
 cb
-cb
+cc
 20
 60
 00
@@ -2239,7 +2247,7 @@
 68
 00
 cb
-cb
+cc
 1f
 ed
 84
@@ -2258,44 +2266,8 @@
 00
 20
 40
-53
-c4
-68
-02
-4b
-e9
-98
-00
-12
-00
-20
-40
-29
-18
-68
-08
-cb
-cb
-20
-40
-29
-1f
-58
-00
-05
-00
-20
-40
-2a
-8f
-20
-40
-29
-24
-20
-40
 02
-2a
+2c
 78
 57
 fc
@@ -2319,7 +2291,7 @@
 68
 01
 4b
-c4
+c5
 98
 00
 36
@@ -2331,7 +2303,7 @@
 24
 2c
 02
-7c
+6e
 78
 46
 fc
@@ -2351,15 +2323,15 @@
 20
 40
 02
-75
+6b
 60
 00
 cc
-75
+76
 68
 08
 cc
-74
+75
 98
 46
 7c
@@ -2367,35 +2339,23 @@
 24
 22
 82
-78
+6e
 20
 40
 02
-75
+6b
 60
 00
 cb
-3b
-68
-00
-cc
-07
-1f
-e6
-7c
-02
-20
-22
-82
-58
+3c
 68
 00
 cb
-3b
+3c
 68
 08
 cb
-c2
+c3
 a8
 40
 0e
@@ -2403,11 +2363,11 @@
 24
 20
 82
-78
+6e
 20
 40
 02
-75
+6b
 e0
 a0
 80
@@ -2423,11 +2383,11 @@
 20
 22
 82
-60
+56
 20
 40
 02
-75
+6b
 e0
 a0
 80
@@ -2435,7 +2395,7 @@
 c2
 00
 02
-5d
+53
 18
 a2
 22
@@ -2443,11 +2403,11 @@
 20
 40
 02
-75
+6b
 60
 00
 cc
-fc
+fd
 1a
 22
 0a
@@ -2483,7 +2443,7 @@
 20
 23
 02
-78
+6e
 78
 37
 fc
@@ -2511,11 +2471,11 @@
 68
 00
 cc
-fc
+fd
 20
 40
 00
-1c
+1f
 20
 60
 00
@@ -2549,17 +2509,13 @@
 00
 00
 20
-20
-02
-78
-20
 40
 29
 18
 68
 08
 cb
-cb
+cc
 20
 20
 29
@@ -2571,7 +2527,7 @@
 68
 02
 4b
-e9
+ea
 98
 00
 12
@@ -2579,11 +2535,11 @@
 20
 40
 02
-2a
+2c
 20
 40
 02
-7d
+72
 79
 20
 2a
@@ -2635,7 +2591,7 @@
 68
 00
 cc
-74
+75
 08
 00
 86
@@ -2643,7 +2599,7 @@
 68
 00
 cb
-c3
+c4
 98
 00
 72
@@ -2651,7 +2607,7 @@
 d8
 c0
 4b
-7d
+7e
 e8
 c0
 80
@@ -2663,7 +2619,7 @@
 c2
 00
 02
-96
+8b
 78
 24
 7c
@@ -2703,7 +2659,7 @@
 68
 0a
 4b
-e2
+e3
 1c
 42
 7e
@@ -2723,11 +2679,11 @@
 68
 02
 4b
-e2
+e3
 68
 08
 cb
-e6
+e7
 98
 40
 84
@@ -2751,78 +2707,22 @@
 60
 02
 4b
-e2
+e3
 20
 20
 7f
 e7
-20
+d8
 40
-29
-bb
-20
-7a
 00
 00
-68
-08
-cc
-7b
-da
-20
-0d
-9e
-20
-40
-02
-b7
-60
-08
-cc
-7b
+df
 20
-60
-00
 00
+08
 1a
 22
-7e
-00
-98
-40
-8a
-00
-68
-00
-80
-18
-e0
-a0
-80
-00
-18
-40
-84
-01
-18
-41
-04
-07
-20
-60
-00
-00
-d8
-40
-00
-00
-df
-20
-00
-08
-1a
-22
-0c
+0c
 00
 e8
 c0
@@ -2835,7 +2735,7 @@
 c2
 00
 02
-c1
+a8
 18
 49
 7e
@@ -2887,11 +2787,11 @@
 20
 40
 03
-af
+73
 20
 40
 02
-d9
+c0
 68
 00
 c0
@@ -2899,7 +2799,7 @@
 c3
 00
 02
-d6
+bd
 68
 00
 80
@@ -2923,11 +2823,11 @@
 20
 40
 02
-e2
+c9
 20
 40
 02
-d6
+bd
 20
 40
 3e
@@ -2955,7 +2855,7 @@
 20
 20
 03
-5f
+30
 68
 00
 cb
@@ -2966,8 +2866,8 @@
 00
 20
 20
-05
-6d
+04
+ea
 20
 40
 34
@@ -2975,11 +2875,11 @@
 20
 35
 82
-ee
+d5
 20
 40
 03
-de
+9c
 68
 00
 c1
@@ -2987,11 +2887,11 @@
 60
 00
 cc
-78
+79
 20
 40
 06
-ba
+60
 68
 00
 c6
@@ -3007,7 +2907,7 @@
 20
 40
 02
-f0
+d7
 20
 20
 74
@@ -3015,67 +2915,63 @@
 24
 55
 83
-49
+1f
 20
 40
 03
-2a
+02
 20
 75
 80
 00
 20
 40
-03
-9a
+06
+cc
 20
 40
-05
-8c
-c0
-02
-83
-18
+03
+5e
 20
 40
 03
-80
+47
 20
 40
 02
-ff
+e5
 68
 00
 c7
 20
-68
-08
-c7
-03
-98
-46
-7c
-00
+c0
+01
+02
+ea
 20
-22
-83
+40
 04
+a8
 68
 00
 c2
 10
 c0
 1a
-03
-06
+02
+ec
+20
+40
+42
+b0
 20
 20
 04
-5e
+a8
 68
 00
 cc
-78
+79
 60
 00
 c1
@@ -3094,16 +2990,12 @@
 60
 20
 40
-05
-17
+04
+a8
 20
 20
 03
-8c
-20
-40
-05
-17
+4d
 70
 47
 9f
@@ -3122,8 +3014,8 @@
 18
 20
 40
-03
-11
+02
+f6
 58
 00
 00
@@ -3139,7 +3031,7 @@
 20
 40
 05
-f0
+7d
 20
 20
 7d
@@ -3170,80 +3062,28 @@
 00
 20
 20
-03
-12
-68
 02
-46
-d3
-c4
-08
-80
-00
-c3
-81
-80
-00
-c6
-13
-00
-00
-20
-40
-44
-82
-d8
-e0
-00
-03
-20
-40
-43
-ce
-58
-00
-00
+f7
+68
 00
-60
-01
-46
-ae
-60
+c7
+7a
+c0
+ff
+84
+ea
+68
 00
 c6
-b4
+e1
 60
-01
-4b
-ee
-20
-40
-42
-ca
-20
-20
-01
-67
-68
-02
-46
-d3
-c3
-0a
-3d
-66
-68
 00
 c7
 7a
-c0
-7f
-bd
-66
 20
 20
-3d
-80
+04
+ea
 70
 42
 12
@@ -3255,7 +3095,7 @@
 20
 40
 03
-2a
+02
 20
 40
 40
@@ -3267,11 +3107,11 @@
 c0
 18
 03
-38
+0e
 c0
 18
 83
-3a
+10
 20
 40
 40
@@ -3283,27 +3123,19 @@
 20
 20
 03
-2e
+06
 70
 4b
 0b
 01
 20
-40
-64
-0f
 20
-40
 03
-2c
-20
-20
-64
-11
+04
 20
 40
 03
-3f
+15
 20
 20
 40
@@ -3311,7 +3143,7 @@
 20
 40
 03
-3f
+15
 68
 00
 c6
@@ -3342,8 +3174,8 @@
 e0
 20
 20
-03
-25
+02
+fd
 58
 00
 00
@@ -3371,19 +3203,7 @@
 20
 40
 00
-9c
-68
-10
-8a
-00
-79
-3f
-fe
-04
-60
-10
-8a
-00
+cb
 20
 40
 3e
@@ -3391,7 +3211,7 @@
 20
 40
 03
-5f
+30
 20
 40
 3e
@@ -3428,17 +3248,9 @@
 40
 65
 9c
-68
-02
-46
-d3
-2f
-ef
-fe
-19
-24
+20
 40
-e5
+65
 c2
 20
 40
@@ -3447,24 +3259,16 @@
 20
 40
 03
-6e
+35
 20
 40
-04
-4c
+03
+ff
 20
 20
 65
 df
 68
-00
-cb
-00
-c1
-7f
-80
-00
-68
 08
 cb
 00
@@ -3480,42 +3284,10 @@
 08
 c6
 ed
-79
-3f
-84
-07
-d8
-a0
-80
-78
-20
-40
-68
-30
-79
-3f
-84
-07
-d8
-a0
-80
-7c
-20
-40
-68
-30
-79
-3f
-84
-07
-d8
-a0
-80
-70
 20
 20
-68
-30
+03
+31
 20
 40
 33
@@ -3523,11 +3295,11 @@
 20
 22
 83
-7a
+41
 20
 40
 05
-b7
+46
 20
 20
 3d
@@ -3582,40 +3354,20 @@
 df
 20
 40
-03
 02
+e8
 20
 20
 43
 1a
-68
-02
-46
-d3
-c3
-0f
-03
-87
-68
-00
-8a
-bd
-2f
-ec
-00
-03
-24
-20
-83
-87
 20
 40
 03
-2c
+04
 20
 40
 03
-43
+19
 68
 00
 c7
@@ -3629,33 +3381,41 @@
 c6
 f5
 c3
-82
-80
-00
-c3
 83
 00
 00
 68
-02
-46
-d3
-c4
-08
-80
+00
+cb
+3b
+c2
+81
+01
+b0
+58
+00
+ff
+ff
+60
+01
+4b
+ea
+e0
+a1
+00
 00
 20
 40
 03
-91
+ff
 20
-34
-01
-bd
+40
+65
+d1
 20
 20
 01
-9a
+c1
 df
 20
 00
@@ -3663,7 +3423,7 @@
 d8
 c0
 4b
-e9
+ea
 20
 40
 7f
@@ -3687,7 +3447,7 @@
 c2
 00
 03
-95
+59
 20
 60
 00
@@ -3695,15 +3455,15 @@
 58
 00
 03
-ab
+6f
 60
 01
 4c
-f2
+f3
 58
 00
 03
-c2
+86
 60
 01
 41
@@ -3711,7 +3471,7 @@
 58
 00
 06
-a8
+45
 60
 01
 41
@@ -3719,23 +3479,23 @@
 58
 00
 02
-cf
+b6
 60
 01
 41
 ed
 58
 00
-04
-14
+03
+ce
 60
 01
 41
 f5
 58
 00
-04
-00
+03
+be
 60
 01
 41
@@ -3743,7 +3503,7 @@
 58
 00
 04
-6e
+1e
 60
 01
 41
@@ -3751,7 +3511,7 @@
 58
 00
 04
-82
+32
 60
 01
 41
@@ -3775,7 +3535,7 @@
 20
 20
 00
-76
+a5
 d8
 c0
 18
@@ -3787,7 +3547,7 @@
 20
 40
 03
-b7
+7b
 d8
 c0
 19
@@ -3795,7 +3555,7 @@
 20
 40
 03
-b7
+7b
 d8
 c0
 1a
@@ -3803,7 +3563,7 @@
 20
 40
 03
-b7
+7b
 d8
 c0
 1b
@@ -3827,7 +3587,7 @@
 20
 40
 03
-b7
+7b
 d8
 a0
 19
@@ -3835,7 +3595,7 @@
 20
 40
 03
-b7
+7b
 d8
 a0
 1a
@@ -3843,7 +3603,7 @@
 20
 40
 03
-b7
+7b
 d8
 a0
 1b
@@ -3851,7 +3611,7 @@
 20
 20
 03
-b7
+7b
 20
 40
 58
@@ -3879,7 +3639,7 @@
 20
 5a
 03
-fd
+bb
 68
 02
 46
@@ -3899,39 +3659,15 @@
 20
 40
 03
-d1
-20
-40
-03
-d6
+94
 20
 40
 03
-f8
+b6
 20
 20
 03
-e3
-68
-00
-c6
-f5
-c3
-83
-80
-00
-70
-41
-72
-00
-70
-4b
-39
-1e
-20
-60
-00
-00
+a1
 68
 00
 c6
@@ -3963,7 +3699,7 @@
 20
 20
 03
-3f
+04
 70
 47
 a0
@@ -3995,7 +3731,7 @@
 20
 54
 03
-e7
+a5
 20
 60
 00
@@ -4027,7 +3763,7 @@
 20
 34
 03
-ef
+ad
 20
 60
 00
@@ -4083,7 +3819,7 @@
 70
 48
 07
-02
+14
 20
 60
 00
@@ -4099,7 +3835,7 @@
 20
 20
 03
-3f
+04
 20
 40
 7e
@@ -4114,20 +3850,12 @@
 e7
 20
 40
-05
-ad
-68
-08
-c6
-e7
-20
-40
 68
 1d
 24
 20
-84
-12
+bd
+62
 68
 00
 c6
@@ -4161,61 +3889,53 @@
 fe
 02
 60
-01
-4b
+00
+cb
 07
 20
 40
-05
-28
+04
+b2
 20
 20
 3d
 74
-20
-40
-05
-ad
-20
-20
-3d
-62
 1a
 62
 7e
 00
 c0
 0a
-04
-1e
+03
+d8
 c0
 0a
-84
-22
+83
+dc
 c0
 14
-84
-2b
+83
+e5
 c0
 19
-04
-2d
+03
+e7
 c0
 20
-04
-34
+03
+ee
 c0
 1c
-84
-3f
+83
+f9
 c0
 1d
 04
-50
+03
 c0
 1e
 04
-69
+13
 20
 20
 41
@@ -4223,15 +3943,15 @@
 20
 40
 03
-34
+0c
 20
 40
 04
-61
+0b
 20
 40
 03
-de
+9c
 20
 20
 41
@@ -4239,7 +3959,7 @@
 20
 40
 04
-7e
+2e
 58
 00
 00
@@ -4263,7 +3983,7 @@
 20
 40
 03
-de
+9c
 20
 40
 58
@@ -4286,16 +4006,16 @@
 9f
 c0
 00
-84
-30
+83
+ea
 20
 20
-04
-32
+03
+ec
 20
 40
-04
-2b
+03
+e5
 70
 46
 c6
@@ -4346,20 +4066,20 @@
 98
 20
 40
-04
-2b
+03
+e5
 20
 20
-06
-10
+05
+9d
 20
 40
-03
-34
-70
-47
-8b
-01
+02
+e5
+20
+40
+04
+13
 d8
 e0
 00
@@ -4368,46 +4088,18 @@
 40
 43
 d2
-58
-00
-00
-00
-60
-01
-47
-07
 70
 46
 a7
 00
 20
-40
-40
-5d
-20
-40
-04
-61
-20
-40
-04
-6c
-20
-40
-02
-ff
 20
 40
-04
-4c
-20
-20
-65
-d1
+5d
 da
 20
 4b
-e9
+ea
 da
 40
 00
@@ -4423,59 +4115,23 @@
 20
 40
 04
-7e
+2e
 70
 4d
-01
+02
 00
 20
 40
 02
-ff
+e5
 20
 40
 01
-e3
-68
-00
-c6
-f5
-c2
-82
-84
-5e
-c2
-83
-04
-5e
-70
-41
-bd
-00
-20
-40
-43
-16
-df
-20
-00
-03
-d8
-c0
-47
-22
+e5
 20
-40
-03
-93
 20
-34
 04
-5e
-20
-20
-02
-f7
+08
 70
 47
 9d
@@ -4519,11 +4175,15 @@
 20
 20
 04
-5e
+08
+20
+40
+01
+c9
 20
 40
 03
-34
+0c
 20
 40
 3f
@@ -4531,15 +4191,35 @@
 20
 40
 04
-61
+0b
+20
+40
+03
+ff
+20
+40
+65
+d1
 20
 40
 43
 66
+d8
+40
+00
+01
+da
 20
+47
 20
-04
 da
+40
+00
+00
+20
+20
+65
+d1
 78
 34
 7c
@@ -4563,7 +4243,7 @@
 20
 40
 04
-7e
+2e
 20
 40
 74
@@ -4575,7 +4255,7 @@
 20
 40
 03
-5f
+30
 68
 00
 c7
@@ -4587,7 +4267,7 @@
 20
 42
 83
-64
+33
 20
 40
 3e
@@ -4619,87 +4299,111 @@
 20
 20
 03
-43
-20
-40
-05
-2b
+19
 20
 40
-05
-5b
+04
+b5
 20
 40
 04
-e3
+d8
 20
 40
 04
-9f
+69
 20
 40
 04
-c7
+4f
 20
 40
 04
-a4
+5d
 20
 40
 42
 34
 20
 40
-04
-02
+03
+c0
 20
 40
 04
-8f
+3e
 20
 40
-42
-37
+04
+66
 20
 40
 04
-96
+4c
 20
 40
 04
-99
+43
 20
 20
 42
 3a
 da
 60
-4b
-3a
+4d
+0b
 da
 40
 04
-92
+41
 20
 20
 33
-6d
-58
-36
-ee
-80
-60
-01
-cb
-f0
+74
 70
-4b
-38
+4d
+0a
 01
 20
 60
 00
 00
+68
+08
+c6
+ed
+20
+40
+68
+1d
+20
+20
+84
+49
+68
+00
+c7
+20
+c0
+80
+e5
+9a
+20
+60
+00
+00
+68
+00
+c7
+20
+c0
+81
+65
+9a
+20
+60
+00
+00
 da
 60
 46
@@ -4714,128 +4418,24 @@
 6d
 da
 60
-4b
-39
+48
+07
 da
 40
 04
-9c
+52
 20
 20
 33
 6d
-68
+70
+48
+06
 00
-c7
-c5
-60
-00
-c1
-72
-20
-20
-04
-94
-da
-60
-48
-07
-da
-40
-04
-a2
-20
-20
-33
-6d
-70
-48
-06
-00
-20
-60
-00
-00
-68
-00
-c6
-f5
-c2
-82
-04
-c1
 20
-40
-05
-8c
-c0
-03
-84
-b0
-68
-00
-c6
-85
 60
 00
-c6
-da
-68
-00
-c6
-db
-c1
-00
-80
-00
-70
-46
-db
-01
-d8
-e0
-00
-09
-20
-40
-43
-d2
-20
-20
-43
-ca
-68
-00
-c7
-20
-c1
-01
-00
 00
-70
-47
-9e
-28
-20
-40
-04
-b5
-20
-20
-43
-b0
-da
-60
-46
-da
-da
-40
-04
-b8
-20
-20
-33
-6d
 68
 01
 46
@@ -4874,30 +4474,6 @@
 b8
 68
 00
-c6
-ec
-c1
-7f
-80
-00
-68
-08
-c6
-ec
-20
-40
-68
-1d
-20
-20
-84
-b0
-20
-20
-04
-a8
-68
-00
 c7
 9d
 20
@@ -4911,7 +4487,7 @@
 20
 3a
 04
-ce
+64
 1f
 e0
 ff
@@ -4932,82 +4508,18 @@
 20
 34
 0a
-68
-08
-c7
-20
-18
-40
-84
-01
-68
-00
-c6
-d2
-98
-46
-7c
-00
-24
-41
-43
-cc
-60
-08
-c7
-20
-70
-41
-bd
-00
-20
-40
-04
-da
-20
-40
-43
-c0
-20
-20
-43
-7e
-d8
-40
-00
-01
 da
-20
-47
-20
+60
+46
+ae
 da
 40
-00
-00
-20
-20
-65
-d1
-68
-00
-c6
-f5
-c3
-02
-c2
-37
-68
-00
-c6
-d9
-c1
-00
-00
-00
+04
+54
 20
 20
-42
-37
+33
+74
 68
 00
 ca
@@ -5022,20 +4534,12 @@
 02
 c0
 00
-04
-e9
-c0
-00
 84
-f3
-20
-60
-00
-00
+85
 20
 40
-05
-03
+04
+93
 68
 00
 cb
@@ -5059,7 +4563,7 @@
 20
 42
 84
-f1
+75
 20
 60
 00
@@ -5069,23 +4573,79 @@
 09
 00
 20
-20
-05
-10
+40
+04
+a1
 68
 00
-cb
-06
-1f
-e0
-ff
-ff
-60
+c7
+20
+c1
+80
+80
 00
-cb
-06
-24
-7a
+68
+01
+46
+82
+c3
+84
+80
+00
+c3
+80
+00
+00
+68
+00
+c2
+10
+c1
+ff
+80
+00
+70
+4b
+05
+05
+70
+4b
+08
+00
+70
+4b
+07
+01
+70
+4b
+06
+01
+70
+4a
+ff
+01
+70
+4b
+02
+01
+20
+60
+00
+00
+68
+00
+cb
+06
+1f
+e0
+ff
+ff
+60
+00
+cb
+06
+24
+7a
 00
 00
 68
@@ -5103,15 +4663,15 @@
 20
 3a
 04
-ff
+91
 68
 00
 cb
 07
 20
 3a
-05
-0e
+04
+9f
 1f
 e0
 ff
@@ -5126,16 +4686,8 @@
 01
 c0
 00
-85
-10
-c0
-00
-05
-03
-20
-60
-00
-00
+84
+a1
 70
 4b
 01
@@ -5146,8 +4698,8 @@
 20
 c0
 01
-05
-0a
+04
+9a
 68
 08
 cb
@@ -5168,6 +4720,10 @@
 08
 cb
 00
+79
+20
+04
+07
 20
 40
 68
@@ -5194,8 +4750,8 @@
 07
 24
 3a
-05
-14
+04
+a5
 70
 4a
 ff
@@ -5215,7 +4771,7 @@
 20
 20
 03
-5f
+30
 70
 4b
 09
@@ -5236,34 +4792,6 @@
 60
 00
 00
-70
-4b
-05
-05
-70
-4b
-08
-00
-70
-4b
-07
-01
-70
-4b
-06
-01
-70
-4a
-ff
-01
-70
-4b
-02
-01
-20
-60
-00
-00
 68
 00
 cb
@@ -5282,8 +4810,8 @@
 00
 20
 20
-05
-0e
+04
+9f
 70
 4b
 05
@@ -5294,16 +4822,8 @@
 01
 20
 20
-05
-1f
-68
-02
-46
-d3
-c4
-0d
-00
-00
+04
+81
 68
 00
 c6
@@ -5330,8 +4850,8 @@
 00
 20
 40
-05
-43
+68
+eb
 20
 40
 69
@@ -5350,8 +4870,8 @@
 09
 20
 40
-05
-4e
+04
+cb
 68
 00
 c2
@@ -5362,8 +4882,8 @@
 0a
 c3
 00
-05
-3e
+04
+c6
 70
 4b
 0a
@@ -5390,52 +4910,8 @@
 00
 20
 20
-05
-10
-68
-00
-c2
-2d
-c0
-01
-05
-46
-20
-20
-68
-ec
-68
-10
-80
-78
-79
-3f
-fe
-05
-60
-10
-80
-78
-20
-40
-68
-f4
-68
-10
-80
-78
-79
-20
-7e
-05
-60
-10
-80
-78
-20
-60
-00
-00
+04
+a1
 ea
 24
 00
@@ -5538,16 +5014,16 @@
 cf
 c0
 02
-85
-10
+84
+a1
 1f
 e6
 7c
 0a
 24
 21
-05
-6b
+04
+e8
 20
 60
 00
@@ -5558,56 +5034,152 @@
 01
 20
 20
-05
-03
+04
+93
 68
 00
 c6
 e0
 c0
-03
-05
-71
-c0
 01
-05
-71
+04
+ff
 20
 20
-3d
-81
+04
+ef
+70
+47
+7a
+02
+20
+60
+00
+00
 68
 00
 c7
 7a
+1f
+e6
+7c
+01
 20
-5a
-05
-77
+42
+84
+ed
 68
 00
 c7
 7a
 c0
 00
-bd
-8a
+04
+f9
 c0
 01
-bd
-8e
+84
+fc
+68
+00
+c7
+81
+1f
+e0
+ff
+ff
+60
+00
+c6
+b5
 20
 20
 3d
-8c
-70
-47
-7a
-01
-20
-60
+c1
+68
+00
+c7
+7f
+1f
+e0
+ff
+ff
+20
+20
+04
+f7
+68
+00
+c7
+82
+1f
+e0
+ff
+ff
+20
+20
+04
+f7
+68
+00
+c7
+7a
+1f
+e6
+7c
+01
+20
+42
+84
+ed
+68
+00
+c7
+7a
+c0
+00
+05
+08
+c0
+01
+85
+0b
+68
+00
+c7
+81
+1f
+e0
+fe
+02
+20
+20
+04
+f7
+68
 00
+c7
+7f
+1f
+e0
+fe
+02
+20
+20
+04
+f7
+68
 00
+c7
+82
+1f
+e0
+fe
+02
+20
+20
+04
+f7
 78
 54
 7c
@@ -5623,7 +5195,7 @@
 20
 40
 05
-82
+18
 20
 40
 40
@@ -5635,11 +5207,15 @@
 20
 40
 05
-8a
+20
 24
-74
-00
-00
+34
+06
+cc
+20
+40
+06
+cf
 20
 20
 3f
@@ -5679,7 +5255,7 @@
 20
 40
 05
-8c
+22
 20
 20
 40
@@ -5691,15 +5267,7 @@
 20
 40
 05
-92
-20
-40
-05
-98
-20
-40
-05
-9e
+26
 1a
 22
 7e
@@ -5715,7 +5283,7 @@
 20
 40
 05
-ad
+36
 68
 08
 c6
@@ -5728,10 +5296,6 @@
 20
 a2
 00
-20
-60
-00
-00
 68
 08
 c6
@@ -5739,7 +5303,7 @@
 20
 40
 05
-ad
+36
 68
 08
 c6
@@ -5752,10 +5316,6 @@
 20
 a2
 01
-20
-60
-00
-00
 68
 08
 c6
@@ -5763,7 +5323,7 @@
 20
 40
 05
-ad
+36
 68
 08
 c6
@@ -5781,8 +5341,8 @@
 00
 00
 79
-3f
-84
+20
+04
 07
 d8
 a0
@@ -5793,17 +5353,13 @@
 68
 30
 79
-20
-04
+3f
+84
 07
-d8
-a0
-80
-7c
 20
-40
-68
-30
+20
+05
+3f
 79
 3f
 84
@@ -5811,9 +5367,9 @@
 d8
 a0
 80
-70
-20
+78
 20
+40
 68
 30
 79
@@ -5823,19 +5379,11 @@
 d8
 a0
 80
-78
-20
-40
-68
-30
-79
-3f
-84
-07
+7c
 20
 20
-05
-a8
+68
+0a
 70
 47
 9d
@@ -5851,7 +5399,7 @@
 20
 40
 81
-e3
+e5
 20
 20
 42
@@ -5867,7 +5415,7 @@
 20
 3a
 05
-bc
+4b
 60
 01
 47
@@ -5875,7 +5423,7 @@
 20
 20
 05
-bf
+4e
 58
 00
 11
@@ -5887,7 +5435,7 @@
 20
 20
 05
-bb
+4a
 d8
 40
 00
@@ -5923,7 +5471,7 @@
 20
 40
 02
-ff
+e5
 68
 08
 c7
@@ -5955,19 +5503,11 @@
 c2
 85
 85
-da
-68
-02
-46
-d3
-c3
-0c
-05
-da
+67
 20
 40
 05
-c3
+52
 68
 09
 47
@@ -5987,7 +5527,7 @@
 20
 40
 05
-bf
+4e
 18
 0a
 7e
@@ -6047,23 +5587,23 @@
 20
 40
 85
-e9
+76
 20
 40
 42
 c4
 20
 20
-05
-1c
+04
+7e
 70
 47
 9f
 00
 20
 40
-03
-11
+02
+f6
 58
 00
 00
@@ -6079,7 +5619,7 @@
 20
 40
 05
-f0
+7d
 20
 20
 7d
@@ -6102,8 +5642,8 @@
 b8
 20
 40
-05
-23
+04
+ad
 58
 00
 00
@@ -6115,7 +5655,7 @@
 20
 40
 03
-3f
+04
 20
 20
 42
@@ -6147,7 +5687,7 @@
 20
 40
 06
-cb
+71
 20
 20
 53
@@ -6183,15 +5723,15 @@
 20
 40
 00
-1c
+1f
 20
 20
 54
 a3
 20
 40
-06
-12
+05
+9f
 20
 20
 55
@@ -6230,8 +5770,8 @@
 0c
 24
 21
-06
-10
+05
+9d
 68
 00
 c3
@@ -6246,8 +5786,8 @@
 00
 20
 21
-06
-0c
+05
+99
 68
 00
 c3
@@ -6258,8 +5798,8 @@
 72
 20
 20
-06
-0e
+05
+9b
 68
 00
 84
@@ -6270,8 +5810,8 @@
 00
 20
 40
-06
-21
+05
+ae
 24
 74
 00
@@ -6318,36 +5858,36 @@
 56
 c2
 82
-86
-3d
+85
+ca
 20
 40
 06
-bd
+63
 68
 00
 c7
 8e
 24
 3a
-06
-33
+05
+c0
 68
 00
 84
 3f
 c3
 02
-06
-37
+05
+c4
 68
 00
 82
 da
 20
 3a
-06
-37
+05
+c4
 20
 20
 56
@@ -6374,8 +5914,8 @@
 c4
 c0
 82
-86
-3a
+85
+c7
 70
 47
 8e
@@ -6387,20 +5927,20 @@
 20
 5a
 03
-eb
+a9
 20
 20
 56
 22
 20
 40
-06
-3f
+05
+cc
 20
 20
-06
-4b
-68
+05
+d8
+68
 00
 c6
 c5
@@ -6451,7 +5991,7 @@
 20
 20
 06
-c1
+67
 68
 00
 c7
@@ -6534,8 +6074,8 @@
 0c
 c0
 01
-86
-62
+85
+ef
 20
 20
 56
@@ -6546,8 +6086,8 @@
 db
 c0
 00
-86
-65
+85
+f2
 20
 20
 5c
@@ -6578,12 +6118,12 @@
 00
 c0
 02
-06
-6e
+05
+fb
 c0
 03
 06
-8b
+28
 20
 20
 56
@@ -6594,8 +6134,8 @@
 a5
 20
 40
-06
-4c
+05
+d9
 20
 40
 7e
@@ -6611,7 +6151,7 @@
 c0
 08
 06
-7d
+0a
 1f
 ec
 84
@@ -6622,8 +6162,8 @@
 24
 20
 21
-58
-ad
+06
+18
 d8
 40
 47
@@ -6704,6 +6244,70 @@
 60
 00
 00
+c0
+05
+06
+1a
+20
+20
+58
+ad
+68
+09
+04
+78
+68
+00
+c4
+e9
+c2
+81
+86
+21
+68
+01
+04
+78
+c0
+09
+da
+76
+68
+09
+04
+78
+20
+20
+59
+bf
+68
+01
+44
+fa
+98
+46
+7c
+00
+24
+22
+86
+1d
+20
+40
+5a
+42
+24
+34
+06
+1d
+70
+04
+7a
+05
+20
+20
+5a
+77
 e8
 c0
 80
@@ -6711,7 +6315,7 @@
 c0
 02
 86
-8e
+2b
 20
 20
 5a
@@ -6747,7 +6351,7 @@
 20
 40
 06
-99
+36
 d8
 e0
 00
@@ -6787,7 +6391,7 @@
 20
 37
 06
-a1
+3e
 24
 36
 d8
@@ -6844,6 +6448,42 @@
 20
 3d
 60
+20
+40
+62
+bc
+24
+3a
+7d
+db
+68
+00
+8a
+99
+c5
+84
+fd
+d6
+c0
+09
+06
+51
+20
+20
+7d
+ca
+20
+40
+58
+90
+24
+7a
+00
+00
+20
+20
+5a
+bf
 68
 10
 80
@@ -6894,11 +6534,11 @@
 00
 70
 4c
-fd
+fe
 01
 70
 4c
-fa
+fb
 00
 20
 60
@@ -6907,7 +6547,7 @@
 68
 00
 cc
-fa
+fb
 1f
 e0
 fe
@@ -6915,7 +6555,7 @@
 60
 00
 cc
-fa
+fb
 20
 60
 00
@@ -6923,7 +6563,7 @@
 68
 00
 cc
-fa
+fb
 1f
 e6
 7c
@@ -6931,11 +6571,11 @@
 24
 41
 06
-c9
+6f
 68
 00
 cc
-fa
+fb
 c1
 00
 00
@@ -6947,14 +6587,14 @@
 60
 00
 cc
-fa
+fb
 20
 60
 00
 00
 70
 4c
-fa
+fb
 03
 20
 60
@@ -6968,26 +6608,18 @@
 85
 80
 00
-c3
-83
-80
-00
-c3
-83
-00
-00
 da
 20
 4c
-83
+84
 20
 40
 02
-be
+a5
 60
 08
 cc
-fb
+fc
 58
 00
 00
@@ -6995,7 +6627,7 @@
 c5
 13
 06
-d5
+79
 58
 00
 00
@@ -7007,11 +6639,11 @@
 24
 21
 06
-ed
+91
 68
 00
 cc
-fa
+fb
 1f
 e6
 7c
@@ -7019,15 +6651,15 @@
 24
 21
 06
-dd
+81
 68
 00
 cc
-fa
+fb
 c0
 00
 06
-ee
+92
 20
 60
 00
@@ -7035,19 +6667,19 @@
 68
 00
 cc
-fa
+fb
 c1
-90
+99
 00
 00
 70
 4c
-fa
+fb
 00
 68
 08
 cc
-fb
+fc
 58
 00
 00
@@ -7055,7 +6687,7 @@
 c5
 13
 06
-e4
+88
 58
 00
 00
@@ -7071,11 +6703,11 @@
 68
 00
 cc
-fd
+fe
 c0
 00
 06
-f5
+99
 1f
 e0
 ff
@@ -7083,11 +6715,11 @@
 60
 00
 cc
-fd
+fe
 c0
 00
 06
-f5
+99
 70
 41
 de
@@ -7098,16 +6730,16 @@
 00
 70
 4c
-fa
+fb
 00
 68
 00
 cc
-fd
+fe
 c0
 01
 06
-f3
+97
 1f
 e0
 fe
@@ -7115,11 +6747,11 @@
 60
 00
 cc
-fd
+fe
 c0
 00
 86
-eb
+8f
 70
 41
 de
@@ -7202,20 +6834,20 @@
 de
 c0
 01
-07
-0f
+06
+b3
 c0
 02
-07
-14
+06
+b8
 c0
 10
-07
-23
+06
+c7
 20
 40
-07
-19
+06
+bd
 70
 89
 55
@@ -7234,8 +6866,8 @@
 4b
 20
 40
-07
-1e
+06
+c2
 70
 89
 55
@@ -7254,8 +6886,8 @@
 53
 20
 40
-07
-19
+06
+bd
 70
 89
 55
@@ -7292,48 +6924,452 @@
 60
 00
 00
-70
-89
-4c
-fb
-70
-89
-4d
-ef
-70
-89
-4e
-ec
-70
-89
-4f
-5e
-20
-60
+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
+89
+55
+d0
+20
+60
+00
+00
+18
+00
+2a
+08
+20
+20
+28
+fa
+df
+20
+00
+05
+d8
+a0
+4b
+18
+20
+20
+7e
+d4
+68
+02
+46
+9b
+20
+7a
+00
+00
+20
+40
+07
+20
+58
+00
+00
+06
+20
+40
+07
+13
+58
+00
+00
+03
+20
+40
+07
+19
+68
+00
+cb
+18
+c0
+00
+86
+d9
+20
+20
+06
+cc
+68
+01
+4b
+19
+60
+01
+11
+be
+68
+01
+46
+9b
+60
+01
+11
+c0
+20
+40
+06
+ec
+68
+01
+11
+be
+60
+01
+4b
+19
+68
+01
+11
+c0
+60
+01
+46
+9b
+68
+01
+4b
+1b
+60
+01
+11
+be
+68
+01
+46
+9d
+60
+01
+11
+c0
+20
+40
+06
+ec
+68
+01
+11
+be
+60
+01
+4b
+1b
+68
+01
+11
+c0
+60
+01
+46
+9d
+20
+60
+00
+00
+68
+01
+11
+be
+68
+09
+11
+c0
+98
+40
+fe
+00
+60
+01
+91
+c2
+2f
+ef
+fe
+10
+20
+20
+86
+f9
+68
+00
+91
+c3
+c0
+7f
+87
+00
+68
+00
+91
+c2
+1f
+e3
+7e
+00
+60
+01
+11
+be
+60
+01
+11
+c0
+20
+60
+00
+00
+68
+00
+91
+c3
+c0
+00
+06
+fd
+68
+01
+91
+c2
+20
+20
+06
+f5
+70
+11
+c4
+00
+68
+00
+91
+c2
+20
+20
+06
+f5
+68
+00
+91
+c2
+20
+40
+07
+0b
+60
+00
+91
+be
+60
+00
+91
+c0
+20
+3a
+07
+09
+58
+00
+00
+ff
+60
+00
+91
+bf
+60
+00
+91
+c1
+20
+60
+00
+00
+58
+00
+00
+00
+20
+20
+07
+06
+1f
+e6
+7e
+00
+60
+00
+8a
+ae
+68
+00
+8a
+ae
+1f
+e3
+7e
+00
+60
+00
+8a
+ae
+68
+00
+8a
+ae
+1f
+e6
+7e
+00
+20
+60
+00
+00
+9a
+26
+7c
+00
+24
+21
+07
+1e
+9a
+46
+7c
+00
+24
+21
+07
+1e
+70
+4b
+18
+00
+20
+60
+00
+00
+9a
+26
+7c
+00
+24
+61
+00
+00
+9a
+46
+7c
+00
+24
+61
+00
+00
+20
+20
+07
+17
+70
+4b
+18
+01
+20
+60
+00
+00
+68
+01
+46
+9b
+60
+01
+11
+c0
+20
+40
+07
+29
+1f
+e2
+22
+00
+68
+01
+46
+9d
+60
+01
+11
+c0
+20
+40
+07
+29
+1f
+e2
+24
+00
+20
+60
+00
+00
+68
 00
+91
+c1
+c0
+7f
+87
+2e
+68
 00
-70
-89
-56
-c2
-70
-89
-55
-d0
+91
+c0
+1f
+e1
+7e
+ff
 20
 60
 00
 00
-18
+68
+01
+11
+c0
+1f
+e6
+7e
 00
-2a
-08
 20
 20
-28
-fa
-22
-df
+07
+2c
+0a
+d2
 aa
 55
 08
@@ -7377,7 +7413,7 @@
 00
 00
 40
-02
+07
 aa
 55
 0e
@@ -7417,6 +7453,13 @@
 10
 aa
 55
+01
+00
+3f
+40
+04
+aa
+55
 02
 00
 91
@@ -7483,7 +7526,7 @@
 00
 8f
 10
-ca
+ce
 00
 0a
 0b
@@ -7769,11 +7812,11 @@
 00
 09
 47
-a4
+d3
 01
-18
+14
 01
-40
+4b
 01
 aa
 55
@@ -7781,7 +7824,7 @@
 00
 20
 47
-ff
+02
 ff
 ff
 ff
@@ -7791,7 +7834,7 @@
 ff
 aa
 55
-08
+04
 00
 7f
 47
@@ -7799,10 +7842,6 @@
 01
 02
 03
-15
-1a
-22
-2a
 aa
 55
 0e
@@ -7936,7 +7975,7 @@
 55
 04
 00
-c2
+c3
 4b
 01
 00
@@ -7946,7 +7985,7 @@
 55
 15
 00
-cd
+ce
 4b
 20
 15
@@ -7973,7 +8012,7 @@
 55
 03
 00
-e6
+e7
 4b
 19
 19
@@ -7982,7 +8021,7 @@
 55
 03
 00
-f0
+f1
 4b
 80
 ee
@@ -7991,9 +8030,163 @@
 55
 02
 00
-06
+07
 4c
 04
 01
-ed
-e3
+aa
+55
+04
+00
+04
+4d
+0f
+0f
+0f
+0f
+6a
+e6
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+30
+1b
Index: output/memmap.format
===================================================================
--- /branch/mouse_project/CZT_Project/JinQi_24G&BLE/output/memmap.format	(revision 1737)
+++ /branch/mouse_project/CZT_Project/JinQi_24G&BLE/output/memmap.format	(working copy)
@@ -1785,119 +1785,130 @@
 0x4b38 mem_mouse_long_mult_flag
 0x4b39 mem_mouse_le_current_mult_timer
 0x4b3a mem_24g_long_sleep_param_update_timer
-0x4b3b mem_24g_rxbuf
-0x4b5d mem_24g_txbuf
-0x4b7d mem_24g_txpayload
-0x4b9f mem_24g_rxpayload
-0x4bbf mem_24g_rxdata_length
-0x4bc0 mem_24g_pid
-0x4bc1 mem_24g_datalen
-0x4bc2 mem_24g_data_type
-0x4bc3 mem_24g_txlen
-0x4bc4 mem_24g_rx_window
-0x4bc6 mem_24g_ensure
-0x4bc7 mem_24g_txfail_cnt
-0x4bc9 mem_24g_get_ack_fail
-0x4bca mem_24g_retry
-0x4bcb mem_24g_ch
-0x4bcc mem_24g_current_ch_number
-0x4bcd mem_24g_paring_addr
-0x4bd1 mem_24g_pairing_sm
-0x4bd2 mem_24g_ch_map1
-0x4bd6 mem_24g_ch_map2
-0x4bda mem_24g_ch_map3
-0x4bde mem_24g_ch_map4
-0x4be2 mem_24g_tx_btclk
-0x4be6 mem_24g_interval
-0x4be7 mem_24g_interval_min
-0x4be8 mem_24g_interval_max
-0x4be9 mem_24g_addr
-0x4bed mem_24g_abort_pac
-0x4bee mem_24g_check_dongle_times
-0x4bf0 mem_24g_enter_hibernate
-0x4bf8 mem_24g_device_addr
-0x4bfc mem_24g_pac_index
-0x4bfd mem_24g_no_ack
-0x4bfe mem_24g_sta_crc
-0x4c01 mem_24g_last_crc
-0x4c04 mem_24g_sta_pid
-0x4c05 mem_24g_last_pid
-0x4c06 mem_24g_max_retry
-0x4c07 mem_24g_mode
-0x4c08 mem_24g_rxdata_temp
-0x4c2a mem_24g_rx_addr
-0x4c2e mem_dongle_mode_init
-0x4c2f mem_dongle_work_mode
-0x4c30 mem_dongle_ms_bind_step
-0x4c31 mem_dongle_kb_bind_step
-0x4c32 mem_dongle_bind_device_status
-0x4c33 mem_24g_bind_payload
-0x4c3b mem_24g_abort_packet
-0x4c3c mem_24g_rf_laststa
-0x4c3d mem_24g_hop_btclk
-0x4c41 mem_24g_hop_interval
-0x4c42 mem_24g_mode_switch
-0x4c43 mem_24g_ackpayload_enable
-0x4c44 mem_24g_hop_packet
-0x4c45 mem_24g_pair_mode
-0x4c46 mem_24g_nodata_timer_enable
-0x4c47 mem_24g_time_slice
-0x4c48 mem_24g_kb_data_sta_data
-0x4c50 mem_24g_kb_data_last_data
-0x4c58 mem_24g_kb_multikey_sta_data
-0x4c5b mem_24g_kb_multikey_last_data
-0x4c5e mem_24g_kb_blank_data_enable
-0x4c5f mem_24g_kb_mul_blank_data_enable
-0x4c60 mem_24g_ms_blank_data_enable
-0x4c61 mem_24g_kb_addr
-0x4c65 mem_24g_ms_addr
-0x4c69 mem_24g_dg_last_ch
-0x4c6a mem_24g_dg_ch_number
-0x4c6b mem_24g_dg_config_ch_once
-0x4c6c mem_24g_kb_last_ch
-0x4c6d mem_24g_kb_ch_number
-0x4c6e mem_24g_kb_config_ch_once
-0x4c6f mem_24g_ms_last_ch
-0x4c70 mem_24g_ms_ch_number
-0x4c71 mem_24g_ms_config_ch_once
-0x4c72 mem_24g_syncword
-0x4c74 mem_24g_syncword_crc8
-0x4c75 mem_24g_get_syncword_crc8
-0x4c76 mem_24g_ota_sta_pid
-0x4c78 mem_tx_power_temp
-0x4c79 mem_rssi_hex
-0x4c7a mem_rssi_noise_avg
-0x4c7b mem_rssi_noise_index
-0x4c7c mem_rssi_signal_index
-0x4c7d mem_rssi_noise_dg_avg
-0x4c7e mem_rssi_noise_kb_avg
-0x4c7f mem_rssi_noise_ms_avg
-0x4c80 mem_rssi_noise_dg_index
-0x4c81 mem_rssi_noise_kb_index
-0x4c82 mem_rssi_noise_ms_index
-0x4c83 mem_rssi_signal_buf
-0x4c8b mem_queue_ele_num
-0x4c8c mem_queue_read
-0x4c8e mem_queue_write
-0x4c90 mem_queue_start
-0x4c90 mem_data_ele0
-0x4cb0 mem_data_ele1
-0x4cd0 mem_data_ele2
-0x4cf0 mem_queue_end
-0x4cf0 mem_queue_temp
-0x4cf2 mem_cb_24g_data
-0x4cf4 mem_24g_hop_fastly_cnt
-0x4cf5 mem_24g_hop_pac_retry
-0x4cf6 mem_24g_rf_hop_ch
-0x4cf7 mem_24g_rf_last_sta
-0x4cf8 mem_24g_rf_work_stage
-0x4cf9 mem_24g_sync_cnt
-0x4cfa mem_power_ctrl_pac_succ_cnt
-0x4cfb mem_rssi_avg_received
-0x4cfc mem_rssi_hex_received
-0x4cfd mem_power_ctrl_level
-0x4cfe mem_seqi
-0x4cff mem_24g_auto_paring_switch
-0x4d00 mem_24g_paccnt
-0x4d01 mem_24g_transmit_by_interrupt
-0x4d02 mem_24g_transmit_by_interrupt_exit_count
+0x4b3b mem_power_on_flag
+0x4b3c mem_24g_rxbuf
+0x4b5e mem_24g_txbuf
+0x4b7e mem_24g_txpayload
+0x4ba0 mem_24g_rxpayload
+0x4bc0 mem_24g_rxdata_length
+0x4bc1 mem_24g_pid
+0x4bc2 mem_24g_datalen
+0x4bc3 mem_24g_data_type
+0x4bc4 mem_24g_txlen
+0x4bc5 mem_24g_rx_window
+0x4bc7 mem_24g_ensure
+0x4bc8 mem_24g_txfail_cnt
+0x4bca mem_24g_get_ack_fail
+0x4bcb mem_24g_retry
+0x4bcc mem_24g_ch
+0x4bcd mem_24g_current_ch_number
+0x4bce mem_24g_paring_addr
+0x4bd2 mem_24g_pairing_sm
+0x4bd3 mem_24g_ch_map1
+0x4bd7 mem_24g_ch_map2
+0x4bdb mem_24g_ch_map3
+0x4bdf mem_24g_ch_map4
+0x4be3 mem_24g_tx_btclk
+0x4be7 mem_24g_interval
+0x4be8 mem_24g_interval_min
+0x4be9 mem_24g_interval_max
+0x4bea mem_24g_addr
+0x4bee mem_24g_abort_pac
+0x4bef mem_24g_check_dongle_times
+0x4bf1 mem_24g_enter_hibernate
+0x4bf9 mem_24g_device_addr
+0x4bfd mem_24g_pac_index
+0x4bfe mem_24g_no_ack
+0x4bff mem_24g_sta_crc
+0x4c02 mem_24g_last_crc
+0x4c05 mem_24g_sta_pid
+0x4c06 mem_24g_last_pid
+0x4c07 mem_24g_max_retry
+0x4c08 mem_24g_mode
+0x4c09 mem_24g_rxdata_temp
+0x4c2b mem_24g_rx_addr
+0x4c2f mem_dongle_mode_init
+0x4c30 mem_dongle_work_mode
+0x4c31 mem_dongle_ms_bind_step
+0x4c32 mem_dongle_kb_bind_step
+0x4c33 mem_dongle_bind_device_status
+0x4c34 mem_24g_bind_payload
+0x4c3c mem_24g_abort_packet
+0x4c3d mem_24g_rf_laststa
+0x4c3e mem_24g_hop_btclk
+0x4c42 mem_24g_hop_interval
+0x4c43 mem_24g_mode_switch
+0x4c44 mem_24g_ackpayload_enable
+0x4c45 mem_24g_hop_packet
+0x4c46 mem_24g_pair_mode
+0x4c47 mem_24g_nodata_timer_enable
+0x4c48 mem_24g_time_slice
+0x4c49 mem_24g_kb_data_sta_data
+0x4c51 mem_24g_kb_data_last_data
+0x4c59 mem_24g_kb_multikey_sta_data
+0x4c5c mem_24g_kb_multikey_last_data
+0x4c5f mem_24g_kb_blank_data_enable
+0x4c60 mem_24g_kb_mul_blank_data_enable
+0x4c61 mem_24g_ms_blank_data_enable
+0x4c62 mem_24g_kb_addr
+0x4c66 mem_24g_ms_addr
+0x4c6a mem_24g_dg_last_ch
+0x4c6b mem_24g_dg_ch_number
+0x4c6c mem_24g_dg_config_ch_once
+0x4c6d mem_24g_kb_last_ch
+0x4c6e mem_24g_kb_ch_number
+0x4c6f mem_24g_kb_config_ch_once
+0x4c70 mem_24g_ms_last_ch
+0x4c71 mem_24g_ms_ch_number
+0x4c72 mem_24g_ms_config_ch_once
+0x4c73 mem_24g_syncword
+0x4c75 mem_24g_syncword_crc8
+0x4c76 mem_24g_get_syncword_crc8
+0x4c77 mem_24g_ota_sta_pid
+0x4c79 mem_tx_power_temp
+0x4c7a mem_rssi_hex
+0x4c7b mem_rssi_noise_avg
+0x4c7c mem_rssi_noise_index
+0x4c7d mem_rssi_signal_index
+0x4c7e mem_rssi_noise_dg_avg
+0x4c7f mem_rssi_noise_kb_avg
+0x4c80 mem_rssi_noise_ms_avg
+0x4c81 mem_rssi_noise_dg_index
+0x4c82 mem_rssi_noise_kb_index
+0x4c83 mem_rssi_noise_ms_index
+0x4c84 mem_rssi_signal_buf
+0x4c8c mem_queue_ele_num
+0x4c8d mem_queue_read
+0x4c8f mem_queue_write
+0x4c91 mem_queue_start
+0x4c91 mem_data_ele0
+0x4cb1 mem_data_ele1
+0x4cd1 mem_data_ele2
+0x4cf1 mem_queue_end
+0x4cf1 mem_queue_temp
+0x4cf3 mem_cb_24g_data
+0x4cf5 mem_24g_hop_fastly_cnt
+0x4cf6 mem_24g_hop_pac_retry
+0x4cf7 mem_24g_rf_hop_ch
+0x4cf8 mem_24g_rf_last_sta
+0x4cf9 mem_24g_rf_work_stage
+0x4cfa mem_24g_sync_cnt
+0x4cfb mem_power_ctrl_pac_succ_cnt
+0x4cfc mem_rssi_avg_received
+0x4cfd mem_rssi_hex_received
+0x4cfe mem_power_ctrl_level
+0x4cff mem_seqi
+0x4d00 mem_24g_auto_paring_switch
+0x4d01 mem_24g_paccnt
+0x4d02 mem_24g_transmit_by_interrupt
+0x4d03 mem_24g_transmit_by_interrupt_exit_count
+0x4d04 mem_24g_allpowerful_addr
+0x4d0a mem_24g_stop_g24_mode
+0x4d0b mem_24g_stop_g24_mode_timeout
+0x4d0d mem_24g_pair_current_ch_num
+0x4d0e mem_24g_powerful_current_ch_num
+0x4d0f mem_24g_search_dongle_action
+0x4d10 mem_24g_search_dongle_count
+0x4d11 mem_24g_search_dongle_ch
+0x4d12 mem_24g_search_dongle_wait
+0x4d13 mem_24g_conn_sm
Index: output/program.lis
===================================================================
--- /branch/mouse_project/CZT_Project/JinQi_24G&BLE/output/program.lis	(revision 1737)
+++ /branch/mouse_project/CZT_Project/JinQi_24G&BLE/output/program.lis	(working copy)
@@ -1,2477 +1,2524 @@
 include "bt_format "
 org 0x0000
-0000 c2840010 bbit1 8 ,pf_patch_ext 
-0001 c0008026 beq patch00_1 ,p_soft_reset_1 
-0002 c0428726 beq patch10_5 ,p_shutdown_radio 
-0003 c04486f7 beq patch11_1 ,p_set_freq_tx 
-0004 c050802f beq patch14_1 ,p_init_param 
-0005 c0588034 beq patch16_1 ,p_lpm_check_wake_lock 
-0006 c0590045 beq patch16_2 ,p_g24_dispatch 
-0007 c06202e5 beq patch18_4 ,p_device_init 
-0008 c0648372 beq patch19_1 ,p_app_flag_store 
-0009 c0650376 beq patch19_2 ,p_app_initflag_check 
-000a c071856d beq patch1c_3 ,p_mouse_seting_dpi 
-000b c0730579 beq patch1c_6 ,p_mouse_motion 
-000c c07505b2 beq patch1d_2 ,p_mouse_bb_event_discovery_btn 
-000d c07585c7 beq patch1d_3 ,p_mouse_start_discovery 
-000e c07605f4 beq patch1d_4 ,p_mouse_stop_discovery 
-000f 20202a8e branch loop 
+0000 c2840012 bbit1 8 ,pf_patch_ext 
+0001 c0000029 beq patch00_0 ,p_soft_reset 
+0002 c000802c beq patch00_1 ,p_soft_reset_1 
+0003 c0010035 beq patch00_2 ,p_soft_reset_2 
+0004 c04286ca beq patch10_5 ,p_shutdown_radio 
+0005 c044869b beq patch11_1 ,p_set_freq_tx 
+0006 c050803e beq patch14_1 ,p_init_param 
+0007 c0588043 beq patch16_1 ,p_lpm_check_wake_lock 
+0008 c059004f beq patch16_2 ,p_g24_dispatch 
+0009 c06202cc beq patch18_4 ,p_device_init 
+000a c0648339 beq patch19_1 ,p_app_flag_store 
+000b c065033d beq patch19_2 ,p_app_initflag_check 
+000c c07184ea beq patch1c_3 ,p_mouse_seting_dpi 
+000d c073050e beq patch1c_6 ,p_mouse_motion 
+000e c0750541 beq patch1d_2 ,p_mouse_bb_event_discovery_btn 
+000f c0758556 beq patch1d_3 ,p_mouse_start_discovery 
+0010 c0760581 beq patch1d_4 ,p_mouse_stop_discovery 
+0011 20202a8e branch loop 
 
 pf_patch_ext:
-0010 c01c85f9 beq patch27_1 ,p_le_slave_match 
-0011 c0218601 beq patch28_3 ,p_le_next_adv_channel 
-0012 c0250607 beq patch29_2 ,p_le_receive_skip 
-0013 c02b860a beq patch2a_7 ,p_le_update_param 
-0014 c02c861c beq patch2b_1 ,p_le_update_channel_map 
-0015 c0318629 beq patch2c_3 ,p_le_prepare_tx 
-0016 c0330653 beq patch2c_6 ,p_le_parse 
-0017 c033866a beq patch2c_7 ,p_le_parse_l2cap 
-0018 c0350693 beq patch2d_2 ,p_le_adv_not_match 
-0019 c03b869e beq patch2e_7 ,p_le_lpm_setmult 
-001a c04606ae beq patch31_4 ,p_twspi_reset 
-001b 20202a8e branch loop 
+0012 c01c8586 beq patch27_1 ,p_le_slave_match 
+0013 c021858e beq patch28_3 ,p_le_next_adv_channel 
+0014 c0250594 beq patch29_2 ,p_le_receive_skip 
+0015 c02b8597 beq patch2a_7 ,p_le_update_param 
+0016 c02c85a9 beq patch2b_1 ,p_le_update_channel_map 
+0017 c03185b6 beq patch2c_3 ,p_le_prepare_tx 
+0018 c03305e0 beq patch2c_6 ,p_le_parse 
+0019 c03385f7 beq patch2c_7 ,p_le_parse_l2cap 
+001a c0350630 beq patch2d_2 ,p_le_adv_not_match 
+001b c03b863b beq patch2e_7 ,p_le_lpm_setmult 
+001c c07d064b beq patch3f_2 ,p_check_51cmd_once_continue 
+001d c0460654 beq patch31_4 ,p_twspi_reset 
+001e 20202a8e branch loop 
 
 p_rssi_signal:
-001c 1fe22200 copy pdata ,rega 
-001d 6808cc7c fetcht 1 ,mem_rssi_signal_index 
-001e 58004c83 setarg mem_rssi_signal_buf 
-001f 98408a00 iadd temp ,contw 
-0020 1a227e00 copy rega ,pdata 
-0021 e0a08000 istore 1 ,contw 
-0022 18408401 increase 1 ,temp 
-0023 18410407 and_into rssi_buf_len_signal ,temp 
-0024 6008cc7c storet 1 ,mem_rssi_signal_index 
-0025 20600000 rtn 
+001f 1fe22200 copy pdata ,rega 
+0020 6808cc7d fetcht 1 ,mem_rssi_signal_index 
+0021 58004c84 setarg mem_rssi_signal_buf 
+0022 98408a00 iadd temp ,contw 
+0023 1a227e00 copy rega ,pdata 
+0024 e0a08000 istore 1 ,contw 
+0025 18408401 increase 1 ,temp 
+0026 18410407 and_into rssi_buf_len_signal ,temp 
+0027 6008cc7d storet 1 ,mem_rssi_signal_index 
+0028 20600000 rtn 
+
+p_soft_reset:
+0029 6810813b hfetch 1 ,0x813b 
+002a 6000cb3b store 1 ,mem_power_on_flag 
+002b 20202002 branch soft_reset + 1 
 
 p_soft_reset_1:
-0026 d8a009ae arg mem_sp_state ,contw 
-0027 df20000c arg 12 ,loopcnt 
-0028 20407ed4 call clear_mem 
-0029 204003b9 call p_mouse_le_txbuff_load 
-002a 20406a03 call rfcomm_init 
-002b 20405cf6 call init_lmp 
-002c 2455ac65 ncall lpm_disable_exen_output ,wake 
-002d 20407ccd call ui_init + 1 
-002e 2020200c branch soft_reset + 11 
+002c d8a009ae arg mem_sp_state ,contw 
+002d df20000c arg 12 ,loopcnt 
+002e 20407ed4 call clear_mem 
+002f 2040037d call p_mouse_le_txbuff_load 
+0030 20406a03 call rfcomm_init 
+0031 20405cf6 call init_lmp 
+0032 2455ac65 ncall lpm_disable_exen_output ,wake 
+0033 20407ccd call ui_init + 1 
+0034 2020200c branch soft_reset + 11 
+
+p_soft_reset_2:
+0035 2055b2e3 call app_lpm_init ,wake 
+0036 2040756a call publickey_init 
+0037 2055ab41 call lpm_recover_clk ,wake 
+
+p_sp_cal_loop:
+0038 204076dc call sp_calc_sequence 
+0039 6800c65a fetch 1 ,mem_ssp_enable 
+003a 203a2012 branch main_loop ,blank 
+003b 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+003c 203a0038 branch p_sp_cal_loop ,blank 
+003d 20202012 branch main_loop 
 
 p_init_param:
-002f 58000a06 setarg param_le_version 
-0030 6001c510 store 3 ,mem_lmp_version 
-0031 58001d87 setarg param_le_subversion 
-0032 60014513 store 2 ,mem_lmp_version + 3 
-0033 20202aa2 branch init_param + 12 
+003e 58000a06 setarg param_le_version 
+003f 6001c510 store 3 ,mem_lmp_version 
+0040 58001d87 setarg param_le_subversion 
+0041 60014513 store 2 ,mem_lmp_version + 3 
+0042 20202aa2 branch init_param + 12 
 
 p_lpm_check_wake_lock:
-0034 c6130000 rtnmark1 mark_24g 
-0035 2040003f call p_mouse_bt_multi_led_lpm_lock 
-0036 6800cb01 fetch 1 ,mem_mouse_multi_led_state 
-0037 c000ffef beq on ,disable_blank 
-0038 6800c79c fetch 1 ,mem_mouse_clear_sensor_data_flag 
-0039 c0007fef beq 0 ,disable_blank 
-003a 6800c7c4 fetch 1 ,mem_mouse_le_conn_param_reject 
-003b c000ffef beq le_lpm_disable ,disable_blank 
-003c 6800c806 fetch 1 ,mem_mouse_wheel_trigger 
-003d 243a7fef nbranch disable_blank ,blank 
-003e 20207ff1 branch enable_blank 
-
-p_mouse_bt_multi_led_lpm_lock:
-003f 20407ff1 call enable_blank 
-0040 6800cb01 fetch 1 ,mem_mouse_multi_led_state 
-0041 245a7fef ncall disable_blank ,blank 
-0042 6800cb03 fetch 1 ,mem_mouse_multi_led_on_timer 
-0043 245a7fef ncall disable_blank ,blank 
-0044 20600000 rtn 
+0043 c6130000 rtnmark1 mark_24g 
+0044 6800cb01 fetch 1 ,mem_mouse_multi_led_state 
+0045 243a7fef nbranch disable_blank ,blank 
+0046 6800cb07 fetch 1 ,mem_mouse_multi_led_blink_count 
+0047 243a7fef nbranch disable_blank ,blank 
+0048 6800c79c fetch 1 ,mem_mouse_clear_sensor_data_flag 
+0049 c0007fef beq 0 ,disable_blank 
+004a 6800c7c4 fetch 1 ,mem_mouse_le_conn_param_reject 
+004b c000ffef beq le_lpm_disable ,disable_blank 
+004c 6800c806 fetch 1 ,mem_mouse_wheel_trigger 
+004d 243a7fef nbranch disable_blank ,blank 
+004e 20207ff1 branch enable_blank 
 
 p_g24_dispatch:
-0045 c6930000 rtnmark0 mark_24g 
-0046 6800cd01 fetch 1 ,mem_24g_transmit_by_interrupt 
-0047 c000805f beq g24_tx_timer_int_enable ,p_g24_transmit_by_interrupt 
+004f c6930000 rtnmark0 mark_24g 
+0050 6800cd13 fetch 1 ,mem_24g_conn_sm 
+0051 c2808063 bbit1 state_24g_pair ,p_g24_pair_dispatch 
+0052 c2810082 bbit1 state_24g_reconn ,p_g24_reconn_dispatch 
+0053 6800cd02 fetch 1 ,mem_24g_transmit_by_interrupt 
+0054 c000808e beq g24_tx_timer_int_enable ,p_g24_transmit_by_interrupt 
 
 p_g24_transmit_process:
-0048 204000f6 call p_g24_txdata_prep 
-0049 24340079 nbranch p_g24_nodata_transmit ,user 
-004a 204000dd call p_g24_rf_sta_check 
+0055 20400117 call p_g24_txdata_prep 
+0056 243400a8 nbranch p_g24_nodata_transmit ,user 
+0057 204000fe call p_g24_rf_sta_check 
 
 p_g24_transmit_start:
-004b 20400119 call p_g24_transmit_packet 
-004c 6800cbd1 fetch 1 ,mem_24g_pairing_sm 
-004d c1ff8000 rtnne state_24g_pairing_success 
-004e 204006cb call power_ctrl_start 
-004f 20400059 call g24_long_sleep_shorter_param_update 
-0050 6800cd01 fetch 1 ,mem_24g_transmit_by_interrupt 
-0051 c1008000 rtneq g24_tx_timer_int_enable 
-0052 6800cb01 fetch 1 ,mem_mouse_multi_led_state 
-0053 c0008076 beq on ,p_g24_transmit_by_interrupt_enable 
+0058 2040013a call p_g24_transmit_packet 
+0059 6800cbd2 fetch 1 ,mem_24g_pairing_sm 
+005a c1ff8000 rtnne state_24g_pairing_success 
+005b 20400671 call power_ctrl_start 
+005c 6800cb01 fetch 1 ,mem_mouse_multi_led_state 
+005d c00080a5 beq on ,p_g24_transmit_by_interrupt_enable 
 
 p_g24_short_sleep:
-0054 20400085 call p_g24_lpm_wait 
-0055 24740000 nrtn user 
-0056 204002d6 call p_clear_wake 
-0057 5800ec54 setarg 60500 
-0058 20202b93 branch lpm_dispatch_sleep 
-
-g24_long_sleep_shorter_param_update:
-0059 6800c6f5 fetch 1 ,mem_config_function_enable 
-005a c3838000 rtnbit1 enable_sensor_motion_pin 
-005b 58017700 setarg g24_long_sleep_step1 
-005c 6001cbf0 store 3 ,mem_24g_enter_hibernate 
-005d 704b3a14 jam 20 ,mem_24g_long_sleep_param_update_timer 
-005e 20600000 rtn 
+005e 204000b4 call p_g24_lpm_wait 
+005f 24740000 nrtn user 
+0060 204002bd call p_clear_wake 
+0061 5800ec54 setarg 60500 
+0062 20202b93 branch lpm_dispatch_sleep 
+
+p_g24_pair_dispatch:
+0063 6800cd0a fetch 1 ,mem_24g_stop_g24_mode 
+0064 c000add4 beq 1 ,g24_stop_24g_mode 
+0065 204001b8 call p_g24_tx_attemp_data_prep 
+0066 20400152 call p_g24_transmit_receive_ack 
+0067 242c01cc nbranch p_g24_pair_txdata_retry ,sync 
+0068 243781cc nbranch p_g24_pair_txdata_retry ,user3 
+0069 20400178 call p_g24_ackpayload_parse 
+006a 68024bea fetch 4 ,mem_24g_addr 
+006b 680a4d04 fetcht 4 ,mem_24g_allpowerful_addr 
+006c 98467c00 isub temp ,null 
+006d 20228070 branch p_g24_auto_pair_skip_rx_length ,zero 
+006e 6800cbc0 fetch 1 ,mem_24g_rxdata_length 
+006f c1840000 rtnne bind_ackpayload_length 
+
+p_g24_auto_pair_skip_rx_length:
+0070 6800cd13 fetch 1 ,mem_24g_conn_sm 
+0071 793ffe01 set0 state_24g_pair ,pdata 
+0072 6000cd13 store 1 ,mem_24g_conn_sm 
+0073 204002e5 call p_mouse_tx_power_init 
+0074 68024bea fetch 4 ,mem_24g_addr 
+0075 680a4bce fetcht 4 ,mem_24g_paring_addr 
+0076 98467c00 isub temp ,null 
+0077 2022817f branch p_g24_start_pairing_sm1 ,zero 
+0078 68024bea fetch 4 ,mem_24g_addr 
+0079 680a4bf9 fetcht 4 ,mem_24g_device_addr 
+007a 98467c00 isub temp ,null 
+007b 20428080 call p_g24_store_dongle_addr ,zero 
+
+p_g24_tx_attemp_dongle_succ:
+007c 704b3800 jam 0 ,mem_mouse_long_mult_flag 
+007d 20402f20 call g24_app_tx_attemp_succ 
+007e 2040014d call p_g24_txbuf_clear 
+007f 202000a5 branch p_g24_transmit_by_interrupt_enable 
+
+p_g24_store_dongle_addr:
+0080 68024ba2 fetch 4 ,mem_24g_rxpayload + 2 
+0081 202001fb branch p_g24_update_addr_and_synccrc8 
+
+p_g24_reconn_dispatch:
+0082 6800cd0a fetch 1 ,mem_24g_stop_g24_mode 
+0083 c000808c beq 1 ,p_g24_reconn_fail 
+0084 204001b8 call p_g24_tx_attemp_data_prep 
+0085 20400152 call p_g24_transmit_receive_ack 
+0086 242c021b nbranch p_g24_ch ,sync 
+0087 2437821b nbranch p_g24_ch ,user3 
+0088 6800cd13 fetch 1 ,mem_24g_conn_sm 
+0089 793ffe02 set0 state_24g_reconn ,pdata 
+008a 6000cd13 store 1 ,mem_24g_conn_sm 
+008b 2020007c branch p_g24_tx_attemp_dongle_succ 
+
+p_g24_reconn_fail:
+008c 204001e5 call p_g24_check_51cmd_stop_24g 
+008d 202001c1 branch p_g24_auto_pair_start 
 
 p_g24_transmit_by_interrupt:
-005f 204002a1 call p_g24_timer_check 
-0060 24740000 nrtn user 
-0061 20400070 call p_g24_interval_calibrate 
-0062 6800cd02 fetch 1 ,mem_24g_transmit_by_interrupt_exit_count 
-0063 1fe0fe01 increase 1 ,pdata 
-0064 6000cd02 store 1 ,mem_24g_transmit_by_interrupt_exit_count 
-0065 1fe67c19 sub pdata ,25 ,null 
-0066 20428068 call p_g24_transmit_by_interrupt_exit ,zero 
-0067 20200048 branch p_g24_transmit_process 
+008e 20400296 call p_g24_timer_check 
+008f 24740000 nrtn user 
+0090 2040009f call p_g24_interval_calibrate 
+0091 6800cd03 fetch 1 ,mem_24g_transmit_by_interrupt_exit_count 
+0092 1fe0fe01 increase 1 ,pdata 
+0093 6000cd03 store 1 ,mem_24g_transmit_by_interrupt_exit_count 
+0094 1fe67c19 sub pdata ,25 ,null 
+0095 20428097 call p_g24_transmit_by_interrupt_exit ,zero 
+0096 20200055 branch p_g24_transmit_process 
 
 p_g24_transmit_by_interrupt_exit:
-0068 704d0100 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt 
-0069 704d0200 jam 0 ,mem_24g_transmit_by_interrupt_exit_count 
+0097 704d0200 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt 
+0098 704d0300 jam 0 ,mem_24g_transmit_by_interrupt_exit_count 
 
 p_g24_interval_min:
-006a 704bfc00 jam 0 ,mem_24g_pac_index 
-006b 6800cbe7 fetch 1 ,mem_24g_interval_min 
+0099 704bfd00 jam 0 ,mem_24g_pac_index 
+009a 6800cbe8 fetch 1 ,mem_24g_interval_min 
 
-p_g24_current_interval_store:
-006c 6000cbe6 store 1 ,mem_24g_interval 
-006d 20600000 rtn 
+p_g24_interval_store:
+009b 6000cbe7 store 1 ,mem_24g_interval 
+009c 20600000 rtn 
 
 p_g24_interval_max:
-006e 6800cbe8 fetch 1 ,mem_24g_interval_max 
-006f 2020006c branch p_g24_current_interval_store 
+009d 6800cbe9 fetch 1 ,mem_24g_interval_max 
+009e 2020009b branch p_g24_interval_store 
 
 p_g24_interval_calibrate:
-0070 6800cbfc fetch 1 ,mem_24g_pac_index 
-0071 1fe0fe01 increase 1 ,pdata 
-0072 6000cbfc store 1 ,mem_24g_pac_index 
-0073 c002006e beq 4 ,p_g24_interval_max 
-0074 c002806a beq 5 ,p_g24_interval_min 
-0075 20600000 rtn 
+009f 6800cbfd fetch 1 ,mem_24g_pac_index 
+00a0 1fe0fe01 increase 1 ,pdata 
+00a1 6000cbfd store 1 ,mem_24g_pac_index 
+00a2 c002009d beq 4 ,p_g24_interval_max 
+00a3 c0028099 beq 5 ,p_g24_interval_min 
+00a4 20600000 rtn 
 
 p_g24_transmit_by_interrupt_enable:
-0076 704d0101 jam g24_tx_timer_int_enable ,mem_24g_transmit_by_interrupt 
-0077 704d0200 jam 0 ,mem_24g_transmit_by_interrupt_exit_count 
-0078 20600000 rtn 
+00a5 704d0201 jam g24_tx_timer_int_enable ,mem_24g_transmit_by_interrupt 
+00a6 704d0300 jam 0 ,mem_24g_transmit_by_interrupt_exit_count 
+00a7 20600000 rtn 
 
 p_g24_nodata_transmit:
-0079 6800cbed fetch 1 ,mem_24g_abort_pac 
-007a 205a008e call p_g24_send_abort_packet ,blank 
-007b 6800cb07 fetch 1 ,mem_mouse_multi_led_blink_count 
-007c 247a0000 nrtn blank 
-007d 6800cb01 fetch 1 ,mem_mouse_multi_led_state 
-007e c1008000 rtneq on 
+00a8 6800cbee fetch 1 ,mem_24g_abort_pac 
+00a9 205a00bd call p_g24_send_abort_packet ,blank 
+00aa 6800cb07 fetch 1 ,mem_mouse_multi_led_blink_count 
+00ab 247a0000 nrtn blank 
+00ac 6800cb01 fetch 1 ,mem_mouse_multi_led_state 
+00ad c1008000 rtneq on 
 
 p_g24_long_sleep:
-007f 20400085 call p_g24_lpm_wait 
-0080 24740000 nrtn user 
-0081 6801cbf0 fetch 3 ,mem_24g_enter_hibernate 
-0082 20407f49 call clk2lpo 
-0083 600a415b storet 4 ,mem_sleep_counter 
-0084 20202b2a branch lpm_sleep 
+00ae 204000b4 call p_g24_lpm_wait 
+00af 24740000 nrtn user 
+00b0 6801cbf1 fetch 3 ,mem_24g_enter_hibernate 
+00b1 20407f49 call clk2lpo 
+00b2 600a415b storet 4 ,mem_sleep_counter 
+00b3 20202b2a branch lpm_sleep 
 
 p_g24_lpm_wait:
-0085 78347c00 enable user 
-0086 20402afa call lpo_calibration 
-0087 6801c16f fetch 3 ,mem_clks_per_lpo 
-0088 203a7fe9 branch disable_user ,blank 
-0089 6800c091 fetch 1 ,mem_lpm_mode 
-008a 203a7fe9 branch disable_user ,blank 
-008b 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
-008c 203a7fe9 branch disable_user ,blank 
-008d 202002d9 branch p_mouse_setgpio_lpm 
+00b4 78347c00 enable user 
+00b5 20402afa call lpo_calibration 
+00b6 6801c16f fetch 3 ,mem_clks_per_lpo 
+00b7 203a7fe9 branch disable_user ,blank 
+00b8 6800c091 fetch 1 ,mem_lpm_mode 
+00b9 203a7fe9 branch disable_user ,blank 
+00ba 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+00bb 203a7fe9 branch disable_user ,blank 
+00bc 202002c0 branch p_mouse_setgpio_lpm 
 
 p_g24_send_abort_packet:
-008e 704bed01 jam 1 ,mem_24g_abort_pac 
-008f 704cf600 jam 0 ,mem_24g_rf_hop_ch 
-0090 204000a5 call p_g24_transmit_rf_ctrl_clear 
-0091 6000cb5d store 1 ,mem_24g_txbuf 
-0092 58000000 setarg 0 
-0093 6003cb5e store 7 ,mem_24g_txbuf + 1 
-0094 68024bf8 fetch 4 ,mem_24g_device_addr 
-0095 60024b65 store 4 ,mem_24g_txbuf + 8 
-0096 704bc10c jam 12 ,mem_24g_datalen 
-0097 6800cbc2 fetch 1 ,mem_24g_data_type 
-0098 79207e03 set1 bit_abort ,pdata 
-0099 6000cbc2 store 1 ,mem_24g_data_type 
-009a 204000f9 call p_g24_txdata_enable_tx 
-009b 2020004b branch p_g24_transmit_start 
+00bd 704bee01 jam 1 ,mem_24g_abort_pac 
+00be 704cf700 jam 0 ,mem_24g_rf_hop_ch 
+00bf 204000d4 call p_g24_transmit_rf_ctrl_clear 
+00c0 6000cb5e store 1 ,mem_24g_txbuf 
+00c1 58000000 setarg 0 
+00c2 6003cb5f store 7 ,mem_24g_txbuf + 1 
+00c3 68024bf9 fetch 4 ,mem_24g_device_addr 
+00c4 60024b66 store 4 ,mem_24g_txbuf + 8 
+00c5 704bc20c jam 12 ,mem_24g_datalen 
+00c6 6800cbc3 fetch 1 ,mem_24g_data_type 
+00c7 79207e03 set1 bit_abort ,pdata 
+00c8 6000cbc3 store 1 ,mem_24g_data_type 
+00c9 2040011a call p_g24_txdata_enable_tx 
+00ca 20200058 branch p_g24_transmit_start 
 
 p_g24_set_device_addr:
-009c 204068a8 call adc_init_data 
-009d 68024221 fetch 4 ,mem_2v_adc_vinlpm_data 
-009e 60024bf8 store 4 ,mem_24g_device_addr 
-009f 247a0000 nrtn blank 
-00a0 680240a0 fetch 4 ,mem_lap 
-00a1 60024bf8 store 4 ,mem_24g_device_addr 
-00a2 20600000 rtn 
+00cb 204068a8 call adc_init_data 
+00cc 68024221 fetch 4 ,mem_2v_adc_vinlpm_data 
+00cd 60024bf9 store 4 ,mem_24g_device_addr 
+00ce 247a0000 nrtn blank 
+00cf 680240a0 fetch 4 ,mem_lap 
+00d0 60024bf9 store 4 ,mem_24g_device_addr 
+00d1 20600000 rtn 
 
 p_g24_transmit_rf_sta_init:
-00a3 704cf701 jam 1 ,mem_24g_rf_last_sta 
-00a4 704cf900 jam 0 ,mem_24g_sync_cnt 
+00d2 704cf801 jam 1 ,mem_24g_rf_last_sta 
+00d3 704cfa00 jam 0 ,mem_24g_sync_cnt 
 
 p_g24_transmit_rf_ctrl_clear:
-00a5 6800cbc2 fetch 1 ,mem_24g_data_type 
-00a6 1fe17e07 and_into bits_data ,pdata 
-00a7 6000cbc2 store 1 ,mem_24g_data_type 
-00a8 20600000 rtn 
+00d4 6800cbc3 fetch 1 ,mem_24g_data_type 
+00d5 1fe17e07 and_into bits_data ,pdata 
+00d6 6000cbc3 store 1 ,mem_24g_data_type 
+00d7 20600000 rtn 
 
 p_g24_hop_ch_enable:
-00a9 6800cbc2 fetch 1 ,mem_24g_data_type 
-00aa 79207e04 set1 bit_hop ,pdata 
-00ab 6000cbc2 store 1 ,mem_24g_data_type 
-00ac 6000cb7d store 1 ,mem_24g_txpayload 
-00ad 20600000 rtn 
+00d8 6800cbc3 fetch 1 ,mem_24g_data_type 
+00d9 79207e04 set1 bit_hop ,pdata 
+00da 6000cbc3 store 1 ,mem_24g_data_type 
+00db 6000cb7e store 1 ,mem_24g_txpayload 
+00dc 20600000 rtn 
+
+p_g24_hop_enable_packet:
+00dd 6800cbc3 fetch 1 ,mem_24g_data_type 
+00de c4020000 rtnbit0 bit_hop 
 
 p_g24_hop_ch_disable:
-00ae 6800cbc2 fetch 1 ,mem_24g_data_type 
-00af 793ffe04 set0 bit_hop ,pdata 
-00b0 6000cbc2 store 1 ,mem_24g_data_type 
-00b1 20600000 rtn 
-
-p_g24_transmit_hop_pac_fail:
-00b2 204006c1 call power_ctrl_pac_succ_decrs 
-00b3 6800ccf8 fetch 1 ,mem_24g_rf_work_stage 
-00b4 c00080b7 beq 1 ,p_g24_transmit_hop_pac_fail_wo_hop 
-00b5 c00100bb beq 2 ,p_g24_transmit_hop_pac_fail_hop_stage2 
-00b6 20600000 rtn 
-
-p_g24_transmit_hop_pac_fail_wo_hop:
-00b7 704cf902 jam 2 ,mem_24g_sync_cnt 
-
-p_g24_transmit_hop_pac_fail_stage1:
-00b8 704cf500 jam 0 ,mem_24g_hop_pac_retry 
-00b9 704cf700 jam 0 ,mem_24g_rf_last_sta 
-00ba 202000a5 branch p_g24_transmit_rf_ctrl_clear 
-
-p_g24_transmit_hop_pac_fail_hop_stage2:
-00bb 704cf600 jam 0 ,mem_24g_rf_hop_ch 
-00bc 202000b8 branch p_g24_transmit_hop_pac_fail_stage1 
-
-p_g24_transmit_pac_fail_hop_stage3:
-00bd 68014bc7 fetch 2 ,mem_24g_txfail_cnt 
-00be 1fe0fe01 increase 1 ,pdata 
-00bf 60014bc7 store 2 ,mem_24g_txfail_cnt 
-00c0 c285015c bbit1 10 ,p_g24_tx_attempt_fail 
-00c1 6800ccf6 fetch 1 ,mem_24g_rf_hop_ch 
-00c2 c00080c6 beq 1 ,p_g24_rf_hop_fastly 
-00c3 704cf601 jam 1 ,mem_24g_rf_hop_ch 
+00df 6800cbc3 fetch 1 ,mem_24g_data_type 
+00e0 793ffe04 set0 bit_hop ,pdata 
+00e1 6000cbc3 store 1 ,mem_24g_data_type 
+00e2 6000cb7e store 1 ,mem_24g_txpayload 
+00e3 20400667 call power_ctrl_pac_succ_decrs 
+00e4 2020021b branch p_g24_ch 
 
 p_g24_rf_hop_attemp_again:
-00c4 6800ccf6 fetch 1 ,mem_24g_rf_hop_ch 
-00c5 c08080a5 bne 1 ,p_g24_transmit_rf_ctrl_clear 
+00e5 6800ccf7 fetch 1 ,mem_24g_rf_hop_ch 
+00e6 c08080d4 bne 1 ,p_g24_transmit_rf_ctrl_clear 
 
 p_g24_rf_hop_fastly:
-00c6 6800ccf4 fetch 1 ,mem_24g_hop_fastly_cnt 
-00c7 1fe0fe01 increase 1 ,pdata 
-00c8 6000ccf4 store 1 ,mem_24g_hop_fastly_cnt 
-00c9 c00200cd beq 4 ,p_g24_rf_hop_fastly_exit 
-00ca 20400219 call p_g24_ch 
-00cb 704c0602 jam 2 ,mem_24g_max_retry 
-00cc 20200119 branch p_g24_transmit_packet 
+00e7 6800ccf5 fetch 1 ,mem_24g_hop_fastly_cnt 
+00e8 1fe0fe01 increase 1 ,pdata 
+00e9 6000ccf5 store 1 ,mem_24g_hop_fastly_cnt 
+00ea c00200ee beq 4 ,p_g24_rf_hop_fastly_exit 
+00eb 2040021b call p_g24_ch 
+00ec 704c0702 jam 2 ,mem_24g_max_retry 
+00ed 2020013a branch p_g24_transmit_packet 
 
 p_g24_rf_hop_fastly_exit:
-00cd 204006c1 call power_ctrl_pac_succ_decrs 
-00ce 704cf400 jam 0 ,mem_24g_hop_fastly_cnt 
-00cf 202000a5 branch p_g24_transmit_rf_ctrl_clear 
+00ee 20400667 call power_ctrl_pac_succ_decrs 
+00ef 704cf500 jam 0 ,mem_24g_hop_fastly_cnt 
+00f0 202000d4 branch p_g24_transmit_rf_ctrl_clear 
 
 p_g24_transmit_hop_pac_succ_wo_hop:
-00d0 704cf902 jam 2 ,mem_24g_sync_cnt 
+00f1 704cfa02 jam 2 ,mem_24g_sync_cnt 
 
 p_g24_transmit_hop_pac_succ:
-00d1 704cf701 jam 1 ,mem_24g_rf_last_sta 
-00d2 704cf600 jam 0 ,mem_24g_rf_hop_ch 
-00d3 202000a5 branch p_g24_transmit_rf_ctrl_clear 
+00f2 704cf801 jam 1 ,mem_24g_rf_last_sta 
+00f3 704cf700 jam 0 ,mem_24g_rf_hop_ch 
+00f4 202000d4 branch p_g24_transmit_rf_ctrl_clear 
 
 p_g24_transmit_succ_rf_config:
-00d4 6800ccf8 fetch 1 ,mem_24g_rf_work_stage 
-00d5 c00180d1 beq 3 ,p_g24_transmit_hop_pac_succ 
-00d6 6800cbc2 fetch 1 ,mem_24g_data_type 
-00d7 2fec0004 isolate0 bit_hop ,pdata 
-00d8 202080a3 branch p_g24_transmit_rf_sta_init ,true 
-00d9 6800ccf8 fetch 1 ,mem_24g_rf_work_stage 
-00da c00080d0 beq 1 ,p_g24_transmit_hop_pac_succ_wo_hop 
-00db c00100d1 beq 2 ,p_g24_transmit_hop_pac_succ 
-00dc 20600000 rtn 
+00f5 6800ccf9 fetch 1 ,mem_24g_rf_work_stage 
+00f6 c00180f2 beq 3 ,p_g24_transmit_hop_pac_succ 
+00f7 6800cbc3 fetch 1 ,mem_24g_data_type 
+00f8 2fec0004 isolate0 bit_hop ,pdata 
+00f9 202080d2 branch p_g24_transmit_rf_sta_init ,true 
+00fa 6800ccf9 fetch 1 ,mem_24g_rf_work_stage 
+00fb c00080f1 beq 1 ,p_g24_transmit_hop_pac_succ_wo_hop 
+00fc c00100f2 beq 2 ,p_g24_transmit_hop_pac_succ 
+00fd 20600000 rtn 
 
 p_g24_rf_sta_check:
-00dd 6800cbd1 fetch 1 ,mem_24g_pairing_sm 
-00de c1ff8000 rtnne state_24g_pairing_success 
-00df 204000e2 call p_g24_rf_laststa_synccnt_check 
-00e0 245600ea ncall p_g24_rf_sync_cnt_check ,user2 
-00e1 20600000 rtn 
+00fe 6800cbd2 fetch 1 ,mem_24g_pairing_sm 
+00ff c1ff8000 rtnne state_24g_pairing_success 
+0100 20400103 call p_g24_rf_laststa_synccnt_check 
+0101 2456010b ncall p_g24_rf_sync_cnt_check ,user2 
+0102 20600000 rtn 
 
 p_g24_rf_laststa_synccnt_check:
-00e2 78567c00 disable user2 
-00e3 6800ccf7 fetch 1 ,mem_24g_rf_last_sta 
-00e4 c1808000 rtnne 1 
-00e5 6800ccf9 fetch 1 ,mem_24g_sync_cnt 
-00e6 c1800000 rtnne 0 
-00e7 704cf801 jam 1 ,mem_24g_rf_work_stage 
-00e8 704c0604 jam 4 ,mem_24g_max_retry 
-00e9 20207feb branch enable_user2 
+0103 78567c00 disable user2 
+0104 6800ccf8 fetch 1 ,mem_24g_rf_last_sta 
+0105 c1808000 rtnne 1 
+0106 6800ccfa fetch 1 ,mem_24g_sync_cnt 
+0107 c1800000 rtnne 0 
+0108 704cf901 jam 1 ,mem_24g_rf_work_stage 
+0109 704c0704 jam 4 ,mem_24g_max_retry 
+010a 20207feb branch enable_user2 
 
 p_g24_rf_sync_cnt_check:
-00ea 6800ccf9 fetch 1 ,mem_24g_sync_cnt 
-00eb 203a00f1 branch p_g24_rf_hop_attemp ,blank 
-00ec 1fe0ffff increase -1 ,pdata 
-00ed 6000ccf9 store 1 ,mem_24g_sync_cnt 
-00ee 704cf802 jam 2 ,mem_24g_rf_work_stage 
-00ef 704c0604 jam 4 ,mem_24g_max_retry 
-00f0 20200219 branch p_g24_ch 
+010b 6800ccfa fetch 1 ,mem_24g_sync_cnt 
+010c 203a0112 branch p_g24_rf_hop_attemp ,blank 
+010d 1fe0ffff increase -1 ,pdata 
+010e 6000ccfa store 1 ,mem_24g_sync_cnt 
+010f 704cf902 jam 2 ,mem_24g_rf_work_stage 
+0110 704c0704 jam 4 ,mem_24g_max_retry 
+0111 2020021b branch p_g24_ch 
 
 p_g24_rf_hop_attemp:
-00f1 704cf803 jam 3 ,mem_24g_rf_work_stage 
-00f2 6800ccf6 fetch 1 ,mem_24g_rf_hop_ch 
-00f3 243a00c4 nbranch p_g24_rf_hop_attemp_again ,blank 
-00f4 704c0602 jam 2 ,mem_24g_max_retry 
-00f5 20200219 branch p_g24_ch 
+0112 704cf903 jam 3 ,mem_24g_rf_work_stage 
+0113 6800ccf7 fetch 1 ,mem_24g_rf_hop_ch 
+0114 243a00e5 nbranch p_g24_rf_hop_attemp_again ,blank 
+0115 704c0702 jam 2 ,mem_24g_max_retry 
+0116 2020021b branch p_g24_ch 
 
 p_g24_txdata_prep:
-00f6 6800cbd1 fetch 1 ,mem_24g_pairing_sm 
-00f7 c0ff8170 bne state_24g_pairing_success ,p_g24_pairing_sm 
+0117 6800cbd2 fetch 1 ,mem_24g_pairing_sm 
+0118 c0ff8187 bne state_24g_pairing_success ,p_g24_pairing_sm 
 
 p_g24_txdata_prep_packeage_data:
-00f8 204000fc call p_g24_package_data 
+0119 2040011d call p_g24_package_data 
 
 p_g24_txdata_enable_tx:
-00f9 20400207 call p_g24_transmit_prep 
-00fa 704bc601 jam ensure_on_24g ,mem_24g_ensure 
-00fb 20600000 rtn 
+011a 20400209 call p_g24_transmit_prep 
+011b 704bc701 jam ensure_on_24g ,mem_24g_ensure 
+011c 20600000 rtn 
 
 p_g24_package_data:
-00fc 68014cf2 fetch 2 ,mem_cb_24g_data 
-00fd 20407f9c call callback_func 
-00fe 20340102 branch p_g24_accumulate_mouse_data ,user 
-00ff 6803cb5e fetch 7 ,mem_24g_txbuf + 1 
-0100 207a0000 rtn blank 
-0101 20207fe7 branch enable_user 
+011d 68014cf3 fetch 2 ,mem_cb_24g_data 
+011e 20407f9c call callback_func 
+011f 20340123 branch p_g24_accumulate_mouse_data ,user 
+0120 6803cb5f fetch 7 ,mem_24g_txbuf + 1 
+0121 207a0000 rtn blank 
+0122 20207fe7 branch enable_user 
 
 p_g24_accumulate_mouse_data:
-0102 204003d6 call p_mouse_data_xy_release 
-0103 704bed00 jam 0 ,mem_24g_abort_pac 
-0104 1a20fe01 add rega ,1 ,pdata 
-0105 6000cbc1 store 1 ,mem_24g_datalen 
-0106 204000a5 call p_g24_transmit_rf_ctrl_clear 
-0107 6000cb5d store 1 ,mem_24g_txbuf 
-0108 e8a88000 ifetcht 1 ,contw 
-0109 ea408000 ifetch 1 ,regb 
-010a 9841fe00 ior temp ,pdata 
-010b e0a08000 istore 1 ,contw 
-010c 1a40a401 increase 1 ,regb 
-010d ea420000 ifetch 4 ,regb 
-010e e0a20000 istore 4 ,contw 
-010f 1a40a404 increase 4 ,regb 
-0110 d8a04b63 arg mem_24g_txbuf + 6 ,contw 
-0111 df200002 arg 2 ,loopcnt 
+0123 20400394 call p_mouse_data_xy_release 
+0124 704bee00 jam 0 ,mem_24g_abort_pac 
+0125 1a20fe01 add rega ,1 ,pdata 
+0126 6000cbc2 store 1 ,mem_24g_datalen 
+0127 204000d4 call p_g24_transmit_rf_ctrl_clear 
+0128 6000cb5e store 1 ,mem_24g_txbuf 
+0129 e8a88000 ifetcht 1 ,contw 
+012a ea408000 ifetch 1 ,regb 
+012b 9841fe00 ior temp ,pdata 
+012c e0a08000 istore 1 ,contw 
+012d 1a40a401 increase 1 ,regb 
+012e ea420000 ifetch 4 ,regb 
+012f e0a20000 istore 4 ,contw 
+0130 1a40a404 increase 4 ,regb 
+0131 d8a04b64 arg mem_24g_txbuf + 6 ,contw 
+0132 df200002 arg 2 ,loopcnt 
 
 p_g24_accumulation_loop:
-0112 ea408000 ifetch 1 ,regb 
-0113 e8a88000 ifetcht 1 ,contw 
-0114 9840fe00 iadd temp ,pdata 
-0115 e0a08000 istore 1 ,contw 
-0116 1a40a401 increase 1 ,regb 
-0117 c2000112 loop p_g24_accumulation_loop 
-0118 20600000 rtn 
+0133 ea408000 ifetch 1 ,regb 
+0134 e8a88000 ifetcht 1 ,contw 
+0135 9840fe00 iadd temp ,pdata 
+0136 e0a08000 istore 1 ,contw 
+0137 1a40a401 increase 1 ,regb 
+0138 c2000133 loop p_g24_accumulation_loop 
+0139 20600000 rtn 
 
 p_g24_transmit_packet:
-0119 704bca00 jam 0 ,mem_24g_retry 
+013a 704bcb00 jam 0 ,mem_24g_retry 
 
 p_g24_transmit_loop:
-011a d9600d00 arg param_rx_setup ,timeup 
-011b 34730200 until clkn_rt ,meet 
-011c 20400135 call p_g24_transmit_receive_ack 
-011d 6800cbfd fetch 1 ,mem_24g_no_ack 
-011e c1008000 rtneq no_ack_24g 
-011f 242c0144 nbranch p_g24_retransmit ,sync 
-0120 24378144 nbranch p_g24_retransmit ,user3 
-0121 20400130 call p_g24_txbuf_clear 
-0122 20400160 call p_g24_ackpayload_parse 
-0123 204006bd call power_ctrl_pac_succ_incrs 
+013b d9600d00 arg param_rx_setup ,timeup 
+013c 34730200 until clkn_rt ,meet 
+013d 20400152 call p_g24_transmit_receive_ack 
+013e 242c015d nbranch p_g24_retransmit ,sync 
+013f 2437815d nbranch p_g24_retransmit ,user3 
+0140 2040014d call p_g24_txbuf_clear 
+0141 20400178 call p_g24_ackpayload_parse 
+0142 20400663 call power_ctrl_pac_succ_incrs 
 
 p_g24_transmit_next_packet:
-0124 6800cbc0 fetch 1 ,mem_24g_pid 
-0125 1fe0fe01 increase 1 ,pdata 
-0126 6000cbc0 store 1 ,mem_24g_pid 
-0127 6800cbd1 fetch 1 ,mem_24g_pairing_sm 
-0128 c0ff8133 bne state_24g_pairing_success ,p_g24_paring_mode_start 
-0129 204000d4 call p_g24_transmit_succ_rf_config 
+0143 6800cbc1 fetch 1 ,mem_24g_pid 
+0144 1fe0fe01 increase 1 ,pdata 
+0145 6000cbc1 store 1 ,mem_24g_pid 
+0146 6800cbd2 fetch 1 ,mem_24g_pairing_sm 
+0147 c0ff8150 bne state_24g_pairing_success ,p_g24_paring_mode_start 
+0148 204000f5 call p_g24_transmit_succ_rf_config 
 
 p_g24_transmit_abandon:
-012a 58000000 setarg 0 
-012b 60014bc7 store 2 ,mem_24g_txfail_cnt 
-012c 6000cbc9 store 1 ,mem_24g_get_ack_fail 
-012d 6000ccf5 store 1 ,mem_24g_hop_pac_retry 
-012e 704bc600 jam ensure_off_24g ,mem_24g_ensure 
-012f 20600000 rtn 
+0149 58000000 setarg 0 
+014a 60024bc7 store 4 ,mem_24g_ensure 
+014b 6000ccf6 store 1 ,mem_24g_hop_pac_retry 
+014c 20600000 rtn 
 
 p_g24_txbuf_clear:
-0130 df200004 arg 4 ,loopcnt 
-0131 d8a04b5d arg mem_24g_txbuf ,contw 
-0132 20207ec6 branch memset0 
+014d df200004 arg 4 ,loopcnt 
+014e d8a04b5e arg mem_24g_txbuf ,contw 
+014f 20207ec6 branch memset0 
 
 p_g24_paring_mode_start:
-0133 204006ba call power_ctrl_pac_succ_cnt_init 
-0134 2020018a branch p_g24_paring_mode 
+0150 20400660 call power_ctrl_pac_succ_cnt_init 
+0151 202001a1 branch p_g24_paring_mode 
 
 p_g24_transmit_receive_ack:
-0135 7857fc00 disable user3 
-0136 20400280 call p_g24_transmit 
-0137 6800cbfd fetch 1 ,mem_24g_no_ack 
-0138 c0008142 beq no_ack_24g ,p_g24_transmit_no_ack 
-0139 18002a00 force 0 ,radio_ctrl 
-013a 68024be9 fetch 4 ,mem_24g_addr 
-013b 98001200 iforce access 
-013c 68088017 fetcht 1 ,mem_last_freq 
-013d 2040291f call set_freq_rx 
-013e 20402924 call rf_rx_enable 
-013f 2040023c call p_g24_receive_rxon 
-0140 20578278 call p_g24_end_of_packet ,user3 
-0141 20600000 rtn 
-
-p_g24_transmit_no_ack:
-0142 20400278 call p_g24_end_of_packet 
-0143 20200124 branch p_g24_transmit_next_packet 
+0152 7857fc00 disable user3 
+0153 20400275 call p_g24_transmit 
+0154 18002a00 force 0 ,radio_ctrl 
+0155 68024bea fetch 4 ,mem_24g_addr 
+0156 98001200 iforce access 
+0157 68088017 fetcht 1 ,mem_last_freq 
+0158 2040291f call set_freq_rx 
+0159 20402924 call rf_rx_enable 
+015a 20400235 call p_g24_receive_rxon 
+015b 2057826e call p_g24_end_of_packet ,user3 
+015c 20600000 rtn 
 
 p_g24_retransmit:
-0144 6800cbc9 fetch 1 ,mem_24g_get_ack_fail 
-0145 1fe0fe01 increase 1 ,pdata 
-0146 6000cbc9 store 1 ,mem_24g_get_ack_fail 
-0147 6800cbd1 fetch 1 ,mem_24g_pairing_sm 
-0148 c0ff8158 bne state_24g_pairing_success ,p_g24_tx_paring_retry 
-0149 6808cbca fetcht 1 ,mem_24g_retry 
-014a 18408401 increase 1 ,temp 
-014b 6008cbca storet 1 ,mem_24g_retry 
-014c 6800cc06 fetch 1 ,mem_24g_max_retry 
-014d 98467e00 isub temp ,pdata 
-014e 243a011a nbranch p_g24_transmit_loop ,blank 
-014f 6800ccf8 fetch 1 ,mem_24g_rf_work_stage 
-0150 c00180bd beq 3 ,p_g24_transmit_pac_fail_hop_stage3 
-0151 6800ccf5 fetch 1 ,mem_24g_hop_pac_retry 
-0152 1fe0fe01 increase 1 ,pdata 
-0153 6000ccf5 store 1 ,mem_24g_hop_pac_retry 
-0154 c00100b2 beq 2 ,p_g24_transmit_hop_pac_fail 
-0155 204000a9 call p_g24_hop_ch_enable 
-0156 704c0601 jam 1 ,mem_24g_max_retry 
-0157 20200119 branch p_g24_transmit_packet 
+015d 68014bc8 fetch 2 ,mem_24g_txfail_cnt 
+015e 1fe0fe01 increase 1 ,pdata 
+015f 60014bc8 store 2 ,mem_24g_txfail_cnt 
+0160 6800cbc9 fetch 1 ,mem_24g_txfail_cnt + 1 
+0161 c2822dd4 bbit1 4 ,g24_stop_24g_mode 
+0162 6800cbd2 fetch 1 ,mem_24g_pairing_sm 
+0163 c0ff8166 bne state_24g_pairing_success ,p_g24_tx_paring_retry 
+0164 2040016e call p_g24_tx_hop_ch_process 
+0165 2020013b branch p_g24_transmit_loop 
 
 p_g24_tx_paring_retry:
-0158 6800cbc9 fetch 1 ,mem_24g_get_ack_fail 
-0159 c1ff8000 rtnne 0xff 
-015a 704bc900 jam 0 ,mem_24g_get_ack_fail 
-015b 2020015e branch p_g24_stop_g24_mode 
+0166 6800cbc8 fetch 1 ,mem_24g_txfail_cnt 
+0167 c1ff8000 rtnne 0xff 
 
 p_g24_tx_attempt_fail:
-015c 58000000 setarg 0 
-015d 60014bc7 store 2 ,mem_24g_txfail_cnt 
-
-p_g24_stop_g24_mode:
-015e 700a993a jam bt_evt_24g_attempt_fail ,mem_fifo_temp 
-015f 20207d86 branch ui_ipc_send_event 
+0168 58000000 setarg 0 
+0169 60014bc8 store 2 ,mem_24g_txfail_cnt 
+016a 20202dd4 branch g24_stop_24g_mode 
+
+p_g24_tx_fast_hop:
+016b 20400692 call power_ctrl_txpower_incrs 
+016c 20400667 call power_ctrl_pac_succ_decrs 
+016d 2020021b branch p_g24_ch 
+
+p_g24_tx_hop_ch_process:
+016e 6800cbcb fetch 1 ,mem_24g_retry 
+016f 1fe67c0b sub pdata ,11 ,null 
+0170 2421016b nbranch p_g24_tx_fast_hop ,positive 
+0171 1fe0fe01 increase 1 ,pdata 
+0172 6000cbcb store 1 ,mem_24g_retry 
+0173 c00100d8 beq 2 ,p_g24_hop_ch_enable 
+0174 c00300df beq 6 ,p_g24_hop_ch_disable 
+0175 c00400d8 beq 8 ,p_g24_hop_ch_enable 
+0176 c00600df beq 12 ,p_g24_hop_ch_disable 
+0177 20600000 rtn 
 
 p_g24_ackpayload_parse:
-0160 204001ec call p_g24_read_len_pid_crc 
-0161 6800cbbf fetch 1 ,mem_24g_rxdata_length 
-0162 207a0000 rtn blank 
-0163 98007200 iforce loopcnt 
-0164 d8c04b3d arg mem_24g_rxbuf + 2 ,contr 
-0165 d8a04b9f arg mem_24g_rxpayload ,contw 
-0166 20207f01 branch memcpy 
+0178 204001ee call p_g24_read_len_pid_crc 
+0179 6800cbc0 fetch 1 ,mem_24g_rxdata_length 
+017a 207a0000 rtn blank 
+017b 98007200 iforce loopcnt 
+017c d8c04b3e arg mem_24g_rxbuf + 2 ,contr 
+017d d8a04ba0 arg mem_24g_rxpayload ,contw 
+017e 20207f01 branch memcpy 
 
 p_g24_start_pairing_sm1:
-0167 79200026 set1 mark_24g ,mark 
-0168 2040016b call p_g24_pair_init 
+017f 20400182 call p_g24_pair_init 
 
 p_g24_set_pairing_sm_1:
-0169 704bd101 jam state_24g_pairing_1 ,mem_24g_pairing_sm 
-016a 20600000 rtn 
+0180 704bd201 jam state_24g_pairing_1 ,mem_24g_pairing_sm 
+0181 20600000 rtn 
 
 p_g24_pair_init:
-016b 7041de20 jam tx_power_pair ,mem_tx_power 
-016c 704bc000 jam 0 ,mem_24g_pid 
-016d 704bcb4e jam g24_pair_ch ,mem_24g_ch 
-016e 68024bcd fetch 4 ,mem_24g_paring_addr 
-016f 202001f9 branch p_g24_update_addr_and_synccrc8 
+0182 7041de20 jam tx_power_pair ,mem_tx_power 
+0183 704bc100 jam 0 ,mem_24g_pid 
+0184 704bcc4e jam g24_pair_ch ,mem_24g_ch 
+0185 68024bce fetch 4 ,mem_24g_paring_addr 
+0186 202001fb branch p_g24_update_addr_and_synccrc8 
 
 p_g24_pairing_sm:
-0170 6800cbc6 fetch 1 ,mem_24g_ensure 
-0171 c000ffe7 beq ensure_on_24g ,enable_user 
-0172 6800cbd1 fetch 1 ,mem_24g_pairing_sm 
-0173 c0008177 beq state_24g_pairing_1 ,p_g24_pairing_sm_1 
-0174 c001017a beq state_24g_pairing_2 ,p_g24_pairing_sm_2 
-0175 c001817d beq state_24g_pairing_3 ,p_g24_pairing_sm_3 
-0176 20202a8c branch assert 
+0187 6800cbc7 fetch 1 ,mem_24g_ensure 
+0188 c000ffe7 beq ensure_on_24g ,enable_user 
+0189 6800cbd2 fetch 1 ,mem_24g_pairing_sm 
+018a c000818e beq state_24g_pairing_1 ,p_g24_pairing_sm_1 
+018b c0010191 beq state_24g_pairing_2 ,p_g24_pairing_sm_2 
+018c c0018194 beq state_24g_pairing_3 ,p_g24_pairing_sm_3 
+018d 20202a8c branch assert 
 
 p_g24_pairing_sm_1:
-0177 704bd111 jam state_24g_pairing_1_waiting_ack ,mem_24g_pairing_sm 
-0178 70119eaa jam 0xaa ,mem_24g_common_temp 
-0179 2020017f branch p_g24_pairing_sm_common 
+018e 704bd211 jam state_24g_pairing_1_waiting_ack ,mem_24g_pairing_sm 
+018f 70119eaa jam 0xaa ,mem_24g_common_temp 
+0190 20200196 branch p_g24_pairing_sm_common 
 
 p_g24_pairing_sm_2:
-017a 704bd112 jam state_24g_pairing_2_waiting_ack ,mem_24g_pairing_sm 
-017b 70119e55 jam 0x55 ,mem_24g_common_temp 
-017c 2020017f branch p_g24_pairing_sm_common 
+0191 704bd212 jam state_24g_pairing_2_waiting_ack ,mem_24g_pairing_sm 
+0192 70119e55 jam 0x55 ,mem_24g_common_temp 
+0193 20200196 branch p_g24_pairing_sm_common 
 
 p_g24_pairing_sm_3:
-017d 704bd113 jam state_24g_pairing_3_waiting_ack ,mem_24g_pairing_sm 
-017e 70119e22 jam 0x22 ,mem_24g_common_temp 
+0194 704bd213 jam state_24g_pairing_3_waiting_ack ,mem_24g_pairing_sm 
+0195 70119e22 jam 0x22 ,mem_24g_common_temp 
 
 p_g24_pairing_sm_common:
-017f 6800cbc2 fetch 1 ,mem_24g_data_type 
-0180 1fe17e07 and_into bits_data ,pdata 
-0181 6000919f store 1 ,mem_24g_common_temp + 1 
-0182 68024bf8 fetch 4 ,mem_24g_device_addr 
-0183 600211a0 store 4 ,mem_24g_common_temp + 2 
+0196 6800cbc3 fetch 1 ,mem_24g_data_type 
+0197 1fe17e07 and_into bits_data ,pdata 
+0198 6000919f store 1 ,mem_24g_common_temp + 1 
+0199 68024bf9 fetch 4 ,mem_24g_device_addr 
+019a 600211a0 store 4 ,mem_24g_common_temp + 2 
 
 p_g24_put_pairing_data_in_buff:
-0184 7011a400 jam 0 ,mem_24g_common_temp + 6 
-0185 da20119e arg mem_24g_common_temp ,rega 
-0186 d8400007 arg 7 ,temp 
-0187 204001e7 call p_g24_put_data_in_buff 
-0188 204000f9 call p_g24_txdata_enable_tx 
-0189 20207fe7 branch enable_user 
+019b 7011a400 jam 0 ,mem_24g_common_temp + 6 
+019c da20119e arg mem_24g_common_temp ,rega 
+019d d8400007 arg 7 ,temp 
+019e 204001e9 call p_g24_put_data_in_buff 
+019f 2040011a call p_g24_txdata_enable_tx 
+01a0 20207fe7 branch enable_user 
 
 p_g24_paring_mode:
-018a 6800cbd1 fetch 1 ,mem_24g_pairing_sm 
-018b c17f8000 rtneq state_24g_pairing_success 
-018c c0088190 beq state_24g_pairing_1_waiting_ack ,p_g24_pairing_sm_1_waiting_ack 
-018d c0090192 beq state_24g_pairing_2_waiting_ack ,p_g24_pairing_sm_2_waiting_ack 
-018e c0098194 beq state_24g_pairing_3_waiting_ack ,p_g24_pairing_sm_3_waiting_ack 
-018f 20600000 rtn 
+01a1 6800cbd2 fetch 1 ,mem_24g_pairing_sm 
+01a2 c17f8000 rtneq state_24g_pairing_success 
+01a3 c00881a7 beq state_24g_pairing_1_waiting_ack ,p_g24_pairing_sm_1_waiting_ack 
+01a4 c00901a9 beq state_24g_pairing_2_waiting_ack ,p_g24_pairing_sm_2_waiting_ack 
+01a5 c00981ab beq state_24g_pairing_3_waiting_ack ,p_g24_pairing_sm_3_waiting_ack 
+01a6 20600000 rtn 
 
 p_g24_pairing_sm_1_waiting_ack:
-0190 704bd102 jam state_24g_pairing_2 ,mem_24g_pairing_sm 
-0191 2020012a branch p_g24_transmit_abandon 
+01a7 704bd202 jam state_24g_pairing_2 ,mem_24g_pairing_sm 
+01a8 20200149 branch p_g24_transmit_abandon 
 
 p_g24_pairing_sm_2_waiting_ack:
-0192 704bd103 jam state_24g_pairing_3 ,mem_24g_pairing_sm 
-0193 2020012a branch p_g24_transmit_abandon 
+01a9 704bd203 jam state_24g_pairing_3 ,mem_24g_pairing_sm 
+01aa 20200149 branch p_g24_transmit_abandon 
 
 p_g24_pairing_sm_3_waiting_ack:
-0194 704bd1ff jam state_24g_pairing_success ,mem_24g_pairing_sm 
-0195 700a9939 jam bt_evt_24g_pairing_complete ,mem_fifo_temp 
-0196 20407d86 call ui_ipc_send_event 
-0197 68024ba1 fetch 4 ,mem_24g_rxpayload + 2 
-0198 204001f9 call p_g24_update_addr_and_synccrc8 
-0199 2020012a branch p_g24_transmit_abandon 
+01ab 704bd2ff jam state_24g_pairing_success ,mem_24g_pairing_sm 
+01ac 700a9939 jam bt_evt_24g_pairing_complete ,mem_fifo_temp 
+01ad 20407d86 call ui_ipc_send_event 
+01ae 20400080 call p_g24_store_dongle_addr 
+01af 20200149 branch p_g24_transmit_abandon 
 
 p_g24_start_24g_mode:
-019a 793f8026 set0 mark_24g ,mark 
-019b 204001dd call p_g24_ch_syncword_crc8_init 
-019c 6800cbd1 fetch 1 ,mem_24g_pairing_sm 
-019d c1ff8000 rtnne state_24g_pairing_success 
-019e 204001af call p_g24_tx_attemp_data_prep 
-
-p_g24_tx_attemp_dongle:
-019f 58000000 setarg 0 
-01a0 60014bee store 2 ,mem_24g_check_dongle_times 
-
-p_g24_tx_attemp_dongle_loop:
-01a1 20402afa call lpo_calibration 
-01a2 200007d0 nop 2000 
-01a3 6800cbee fetch 1 ,mem_24g_check_dongle_times 
-01a4 c07f815e beq 0xff ,p_g24_stop_g24_mode 
-01a5 20400135 call p_g24_transmit_receive_ack 
-01a6 242c01b8 nbranch p_g24_attemp_txdata_retry ,sync 
-01a7 243781b8 nbranch p_g24_attemp_txdata_retry ,user3 
-
-p_g24_tx_attemp_dongle_succ:
-01a8 79200026 set1 mark_24g ,mark 
-01a9 58000000 setarg 0 
-01aa 60014bee store 2 ,mem_24g_check_dongle_times 
-01ab 700a993c jam bt_evt_24g_attempt_success ,mem_fifo_temp 
-01ac 20407d86 call ui_ipc_send_event 
-01ad 20400130 call p_g24_txbuf_clear 
-01ae 20200076 branch p_g24_transmit_by_interrupt_enable 
+01b0 20400355 call p_g24_factory_check 
+01b1 203401c1 branch p_g24_auto_pair_start ,user 
+01b2 79200026 set1 mark_24g ,mark 
+01b3 6800cd13 fetch 1 ,mem_24g_conn_sm 
+01b4 79207e02 set1 state_24g_reconn ,pdata 
+01b5 6000cd13 store 1 ,mem_24g_conn_sm 
+01b6 204001db call p_g24_ch_syncword_crc8_init 
+01b7 202001c5 branch p_g24_auto_pair_timeout_init 
 
 p_g24_tx_attemp_data_prep:
-01af 70119eff jam 0xff ,mem_24g_common_temp 
-01b0 6800cbc2 fetch 1 ,mem_24g_data_type 
-01b1 6000919f store 1 ,mem_24g_common_temp + 1 
-01b2 68024bf8 fetch 4 ,mem_24g_device_addr 
-01b3 600211a0 store 4 ,mem_24g_common_temp + 2 
-01b4 d8400006 arg 6 ,temp 
-01b5 da20119e arg mem_24g_common_temp ,rega 
-01b6 204001e7 call p_g24_put_data_in_buff 
-01b7 20200207 branch p_g24_transmit_prep 
-
-p_g24_attemp_txdata_retry:
-01b8 68014bee fetch 2 ,mem_24g_check_dongle_times 
-01b9 1fe0fe01 increase 1 ,pdata 
-01ba 60014bee store 2 ,mem_24g_check_dongle_times 
-01bb 20400219 call p_g24_ch 
-01bc 202001a1 branch p_g24_tx_attemp_dongle_loop 
+01b8 70119eff jam 0xff ,mem_24g_common_temp 
+01b9 6800cbc3 fetch 1 ,mem_24g_data_type 
+01ba 6000919f store 1 ,mem_24g_common_temp + 1 
+01bb 68024bf9 fetch 4 ,mem_24g_device_addr 
+01bc 600211a0 store 4 ,mem_24g_common_temp + 2 
+01bd d8400006 arg 6 ,temp 
+01be da20119e arg mem_24g_common_temp ,rega 
+01bf 204001e9 call p_g24_put_data_in_buff 
+01c0 20200209 branch p_g24_transmit_prep 
 
 p_g24_auto_pair_start:
-01bd 793f8026 set0 mark_24g ,mark 
-01be 204001d9 call p_g24_auto_pair_all_powerful 
-01bf 204001af call p_g24_tx_attemp_data_prep 
-
-p_g24_auto_pair_restart:
-01c0 704bee00 jam 0 ,mem_24g_check_dongle_times 
-
-p_g24_auto_pair_start_loop:
-01c1 20402afa call lpo_calibration 
-01c2 200007d0 nop 2000 
-01c3 6800cbee fetch 1 ,mem_24g_check_dongle_times 
-01c4 c07f815e beq 0xff ,p_g24_stop_g24_mode 
-01c5 20400135 call p_g24_transmit_receive_ack 
-01c6 242c01cf nbranch p_g24_auto_pair_retry ,sync 
-01c7 243781cf nbranch p_g24_auto_pair_retry ,user3 
-01c8 20400160 call p_g24_ackpayload_parse 
-01c9 204002ff call p_mouse_tx_power_init 
-01ca 68024be9 fetch 4 ,mem_24g_addr 
-01cb 680a4bcd fetcht 4 ,mem_24g_paring_addr 
-01cc 98467c00 isub temp ,null 
-01cd 20228167 branch p_g24_start_pairing_sm1 ,zero 
-01ce 202001a8 branch p_g24_tx_attemp_dongle_succ 
-
-p_g24_auto_pair_retry:
-01cf 6800cbee fetch 1 ,mem_24g_check_dongle_times 
-01d0 1fe0fe01 increase 1 ,pdata 
-01d1 6000cbee store 1 ,mem_24g_check_dongle_times 
-01d2 6800ccff fetch 1 ,mem_24g_auto_paring_switch 
-01d3 1fe0fe01 increase 1 ,pdata 
-01d4 1fe17e01 and_into 1 ,pdata 
-01d5 6000ccff store 1 ,mem_24g_auto_paring_switch 
-01d6 c00001df beq 0 ,p_g24_auto_pair_device_attemp 
-01d7 c00081e1 beq 1 ,p_g24_auto_pair_pair_attemp 
-01d8 20600000 rtn 
-
-p_g24_auto_pair_all_powerful:
-01d9 7041de20 jam tx_power_pair ,mem_tx_power 
-01da 58000f0f setarg 0x0f0f 
-01db 60014be9 store 2 ,mem_24g_addr 
-01dc e0a10000 istore 2 ,contw 
+01c1 79200026 set1 mark_24g ,mark 
+01c2 6800cd13 fetch 1 ,mem_24g_conn_sm 
+01c3 79207e01 set1 state_24g_pair ,pdata 
+01c4 6000cd13 store 1 ,mem_24g_conn_sm 
+
+p_g24_auto_pair_timeout_init:
+01c5 5800012c setarg g24_disconn_nodata_timer 
+01c6 60014d0b store 2 ,mem_24g_stop_g24_mode_timeout 
+01c7 704d0a00 jam 0 ,mem_24g_stop_g24_mode 
+01c8 20600000 rtn 
+
+p_g24_auto_pair_timeout_clear:
+01c9 58000000 setarg 0 
+01ca 6001cd0a store 3 ,mem_24g_stop_g24_mode 
+01cb 20600000 rtn 
+
+p_g24_pair_txdata_retry:
+
+p_g24_pair_txdata_switch:
+01cc 6800cd00 fetch 1 ,mem_24g_auto_paring_switch 
+01cd 1fe0fe01 increase 1 ,pdata 
+01ce 1fe17e03 and_into 3 ,pdata 
+01cf 6000cd00 store 1 ,mem_24g_auto_paring_switch 
+01d0 c00001d3 beq 0 ,p_g24_auto_pair_first_attemp 
+01d1 c00101dd beq 2 ,p_g24_auto_pair_all_powerful 
+01d2 20200182 branch p_g24_pair_init 
+
+p_g24_auto_pair_first_attemp:
+01d3 204002e5 call p_mouse_tx_power_init 
+01d4 68024bf9 fetch 4 ,mem_24g_device_addr 
+01d5 60024bea store 4 ,mem_24g_addr 
+01d6 6800cd0d fetch 1 ,mem_24g_pair_current_ch_num 
+01d7 6000cbcd store 1 ,mem_24g_current_ch_number 
+01d8 204001db call p_g24_ch_syncword_crc8_init 
+01d9 6008cd0d storet 1 ,mem_24g_pair_current_ch_num 
+01da 20600000 rtn 
 
 p_g24_ch_syncword_crc8_init:
-01dd 204001fa call p_g24_syncword_crc8 
-01de 20200219 branch p_g24_ch 
+01db 204001fc call p_g24_syncword_crc8 
+01dc 2020021b branch p_g24_ch 
 
-p_g24_auto_pair_device_attemp:
-01df 204001d9 call p_g24_auto_pair_all_powerful 
-01e0 202001c1 branch p_g24_auto_pair_start_loop 
-
-p_g24_auto_pair_pair_attemp:
-01e1 2040016b call p_g24_pair_init 
-01e2 202001c1 branch p_g24_auto_pair_start_loop 
+p_g24_auto_pair_all_powerful:
+01dd 7041de20 jam tx_power_pair ,mem_tx_power 
+01de 68024d04 fetch 4 ,mem_24g_allpowerful_addr 
+01df 60024bea store 4 ,mem_24g_addr 
+01e0 6800cd0e fetch 1 ,mem_24g_powerful_current_ch_num 
+01e1 6000cbcd store 1 ,mem_24g_current_ch_number 
+01e2 204001db call p_g24_ch_syncword_crc8_init 
+01e3 6008cd0e storet 1 ,mem_24g_powerful_current_ch_num 
+01e4 20600000 rtn 
 
 p_g24_check_51cmd_stop_24g:
-01e3 793f8026 set0 mark_24g ,mark 
-01e4 204053ce call le_disable 
+01e5 793f8026 set0 mark_24g ,mark 
+01e6 204053ce call le_disable 
 
 p_mouse_disable_g24_pairing_flag:
-01e5 d8e00003 arg mosue_24g_pairing_flag ,queue 
-01e6 202043d2 branch mouse_disable_function_flag 
+01e7 d8e00003 arg mosue_24g_pairing_flag ,queue 
+01e8 202043d2 branch mouse_disable_function_flag 
 
 p_g24_put_data_in_buff:
-01e7 6008cbc1 storet 1 ,mem_24g_datalen 
-01e8 18427200 copy temp ,loopcnt 
-01e9 d8a04b5d arg mem_24g_txbuf ,contw 
-01ea 1a220c00 copy rega ,contr 
-01eb 20207f01 branch memcpy 
+01e9 6008cbc2 storet 1 ,mem_24g_datalen 
+01ea 18427200 copy temp ,loopcnt 
+01eb d8a04b5e arg mem_24g_txbuf ,contw 
+01ec 1a220c00 copy rega ,contr 
+01ed 20207f01 branch memcpy 
 
 p_g24_read_len_pid_crc:
-01ec 6800cb3c fetch 1 ,mem_24g_rxbuf + 1 
-01ed 1fe97e00 rshift3 pdata ,pdata 
-01ee 6000cbbf store 1 ,mem_24g_rxdata_length 
-01ef 1fe0fe01 increase 1 ,pdata 
-01f0 d8c04b3c arg mem_24g_rxbuf + 1 ,contr 
-01f1 98c08c00 iadd contr ,contr 
-01f2 e8c18000 ifetch 3 ,contr 
-01f3 6001cbfe store 3 ,mem_24g_sta_crc 
-01f4 6800cb3c fetch 1 ,mem_24g_rxbuf + 1 
-01f5 1fe37e00 rshift pdata ,pdata 
-01f6 1fe17e03 and pdata ,0x03 ,pdata 
-01f7 6000cc04 store 1 ,mem_24g_sta_pid 
-01f8 20600000 rtn 
+01ee 6800cb3d fetch 1 ,mem_24g_rxbuf + 1 
+01ef 1fe97e00 rshift3 pdata ,pdata 
+01f0 6000cbc0 store 1 ,mem_24g_rxdata_length 
+01f1 1fe0fe01 increase 1 ,pdata 
+01f2 d8c04b3d arg mem_24g_rxbuf + 1 ,contr 
+01f3 98c08c00 iadd contr ,contr 
+01f4 e8c18000 ifetch 3 ,contr 
+01f5 6001cbff store 3 ,mem_24g_sta_crc 
+01f6 6800cb3d fetch 1 ,mem_24g_rxbuf + 1 
+01f7 1fe37e00 rshift pdata ,pdata 
+01f8 1fe17e03 and pdata ,0x03 ,pdata 
+01f9 6000cc05 store 1 ,mem_24g_sta_pid 
+01fa 20600000 rtn 
 
 p_g24_update_addr_and_synccrc8:
-01f9 60024be9 store 4 ,mem_24g_addr 
+01fb 60024bea store 4 ,mem_24g_addr 
 
 p_g24_syncword_crc8:
-01fa da200000 arg 0 ,rega 
-01fb df200004 arg 4 ,loopcnt 
-01fc d8c04be9 arg mem_24g_addr ,contr 
+01fc da200000 arg 0 ,rega 
+01fd df200004 arg 4 ,loopcnt 
+01fe d8c04bea arg mem_24g_addr ,contr 
 
 p_g24_syncword_crc8_loop:
-01fd e8c08000 ifetch 1 ,contr 
-01fe 9a20a200 iadd rega ,rega 
-01ff c20001fd loop p_g24_syncword_crc8_loop 
-0200 1a227e00 copy rega ,pdata 
-0201 60014c72 store 2 ,mem_24g_syncword 
-0202 6800cc72 fetch 1 ,mem_24g_syncword 
-0203 6808cc73 fetcht 1 ,mem_24g_syncword + 1 
-0204 9840fe00 iadd temp ,pdata 
-0205 6000cc74 store 1 ,mem_24g_syncword_crc8 
-0206 20600000 rtn 
+01ff e8c08000 ifetch 1 ,contr 
+0200 9a20a200 iadd rega ,rega 
+0201 c20001ff loop p_g24_syncword_crc8_loop 
+0202 1a227e00 copy rega ,pdata 
+0203 60014c73 store 2 ,mem_24g_syncword 
+0204 6800cc73 fetch 1 ,mem_24g_syncword 
+0205 6808cc74 fetcht 1 ,mem_24g_syncword + 1 
+0206 9840fe00 iadd temp ,pdata 
+0207 6000cc75 store 1 ,mem_24g_syncword_crc8 
+0208 20600000 rtn 
 
 p_g24_transmit_prep:
-0207 6800cbc1 fetch 1 ,mem_24g_datalen 
-0208 1fe0fe02 increase 2 ,pdata 
-0209 6000cbc3 store 1 ,mem_24g_txlen 
-020a 6800cbc2 fetch 1 ,mem_24g_data_type 
-020b 6000cb7d store 1 ,mem_24g_txpayload 
-020c 6800cbc1 fetch 1 ,mem_24g_datalen 
-020d 1fe9fe00 lshift3 pdata ,pdata 
-020e 6808cbc0 fetcht 1 ,mem_24g_pid 
-020f 18410403 and temp ,0x03 ,temp 
-0210 18438400 lshift temp ,temp 
-0211 9841fe00 ior temp ,pdata 
-0212 6808cbfd fetcht 1 ,mem_24g_no_ack 
-0213 9840fe00 iadd temp ,pdata 
-0214 e0a08000 istore 1 ,contw 
-0215 6800cbc1 fetch 1 ,mem_24g_datalen 
-0216 98007200 iforce loopcnt 
-0217 d8c04b5d arg mem_24g_txbuf ,contr 
-0218 20207f01 branch memcpy 
+0209 6800cbc2 fetch 1 ,mem_24g_datalen 
+020a 1fe0fe02 increase 2 ,pdata 
+020b 6000cbc4 store 1 ,mem_24g_txlen 
+020c 6800cbc3 fetch 1 ,mem_24g_data_type 
+020d 6000cb7e store 1 ,mem_24g_txpayload 
+020e 6800cbc2 fetch 1 ,mem_24g_datalen 
+020f 1fe9fe00 lshift3 pdata ,pdata 
+0210 6808cbc1 fetcht 1 ,mem_24g_pid 
+0211 18410403 and temp ,0x03 ,temp 
+0212 18438400 lshift temp ,temp 
+0213 9841fe00 ior temp ,pdata 
+0214 6808cbfe fetcht 1 ,mem_24g_no_ack 
+0215 9840fe00 iadd temp ,pdata 
+0216 e0a08000 istore 1 ,contw 
+0217 6800cbc2 fetch 1 ,mem_24g_datalen 
+0218 98007200 iforce loopcnt 
+0219 d8c04b5e arg mem_24g_txbuf ,contr 
+021a 20207f01 branch memcpy 
 
 p_g24_ch:
-0219 6808cbcc fetcht 1 ,mem_24g_current_ch_number 
-021a 2040021d call p_g24_ch_map_size 
-021b 6008cbcc storet 1 ,mem_24g_current_ch_number 
-021c 20600000 rtn 
+021b 6808cbcd fetcht 1 ,mem_24g_current_ch_number 
+021c 2040021f call p_g24_ch_map_size 
+021d 6008cbcd storet 1 ,mem_24g_current_ch_number 
+021e 20600000 rtn 
 
 p_g24_ch_map_size:
-021d 20400221 call p_g24_ch_calc 
-021e 18408401 increase 1 ,temp 
-021f 18410403 and_into 3 ,temp 
-0220 20600000 rtn 
+021f 20400223 call p_g24_ch_calc 
+0220 18408401 increase 1 ,temp 
+0221 18410403 and_into 3 ,temp 
+0222 20600000 rtn 
 
 p_g24_ch_calc:
-0221 6800cbe9 fetch 1 ,mem_24g_addr 
-0222 1fe17e03 and_into 0x03 ,pdata 
-0223 1fefa204 mul32 pdata ,4 ,rega 
-0224 58004bd2 setarg mem_24g_ch_map1 
-0225 9a20fe00 iadd rega ,pdata 
-0226 98408c00 iadd temp ,contr 
-0227 e8c08000 ifetch 1 ,contr 
-0228 6000cbcb store 1 ,mem_24g_ch 
-0229 20600000 rtn 
+0223 6800cbea fetch 1 ,mem_24g_addr 
+0224 1fe17e03 and_into 0x03 ,pdata 
+0225 1fefa204 mul32 pdata ,4 ,rega 
+0226 58004bd3 setarg mem_24g_ch_map1 
+0227 9a20fe00 iadd rega ,pdata 
+0228 98408c00 iadd temp ,contr 
+0229 e8c08000 ifetch 1 ,contr 
+022a 6000cbcc store 1 ,mem_24g_ch 
+022b 20600000 rtn 
 
 p_g24_prep:
-022a 7844fc00 disable enable_crc 
-022b 7843fc00 disable enable_white 
-022c 58555555 setarg 0x555555 
-022d 98001e00 iforce crc24_init 
-022e 6800cbcb fetch 1 ,mem_24g_ch 
-022f 1fed8400 reverse pdata ,temp 
-0230 79200401 set1 1 ,temp 
-0231 18431c00 rshift temp ,white_init 
-0232 20600000 rtn 
-
-p_g24_receive_packet:
-0233 204053c4 call le_enable 
-0234 68024be9 fetch 4 ,mem_24g_addr 
-0235 98001200 iforce access 
-0236 20402918 call set_sync_on 
-0237 6808cbcb fetcht 1 ,mem_24g_ch 
-0238 2040291f call set_freq_rx 
-0239 58000500 setarg param_pll_setup 
-023a 20402a8f call sleep 
-023b 20402924 call rf_rx_enable 
+022c 7844fc00 disable enable_crc 
+022d 7843fc00 disable enable_white 
+022e 58555555 setarg 0x555555 
+022f 98001e00 iforce crc24_init 
+0230 6800cbcc fetch 1 ,mem_24g_ch 
+0231 1fed8400 reverse pdata ,temp 
+0232 79200401 set1 1 ,temp 
+0233 18431c00 rshift temp ,white_init 
+0234 20600000 rtn 
 
 p_g24_receive_rxon:
-023c 2040022a call p_g24_prep 
-023d 7857fc00 disable user3 
-023e 7826fc00 enable decode_fec0 
-023f 7830fc00 enable is_rx 
-0240 78507c00 disable is_tx 
-0241 78287c00 enable swfine 
-0242 68014bc4 fetch 2 ,mem_24g_rx_window 
-0243 98003600 iforce stop_watch 
-0244 37c18400 correlate null ,timeout 
-0245 242c027c nbranch p_g24_sync_timeout ,sync 
-0246 7846fc00 disable decode_fec0 
-0247 7825fc00 enable decode_fec1 
-0248 7823fc00 enable enable_white 
-0249 7824fc00 enable enable_crc 
-024a 20400275 call p_g24_receive_byte 
-024b 6000cc75 store 1 ,mem_24g_get_syncword_crc8 
-024c 6808cc74 fetcht 1 ,mem_24g_syncword_crc8 
-024d 98467c00 isub temp ,null 
-024e 24228278 nbranch p_g24_end_of_packet ,zero 
-024f 20400275 call p_g24_receive_byte 
-0250 6000cb3b store 1 ,mem_24g_rxbuf 
-0251 6800cc07 fetch 1 ,mem_24g_mode 
-0252 1fe67c02 sub pdata ,rx_24g ,null 
-0253 20228258 branch p_g24_receive_skip ,zero 
-0254 6800cb3b fetch 1 ,mem_24g_rxbuf 
-0255 6808cbc2 fetcht 1 ,mem_24g_data_type 
-0256 a8400e00 icompare bits_data ,temp 
-0257 24208278 nbranch p_g24_end_of_packet ,true 
+0235 2040022c call p_g24_prep 
+0236 7857fc00 disable user3 
+0237 7826fc00 enable decode_fec0 
+0238 7830fc00 enable is_rx 
+0239 78507c00 disable is_tx 
+023a 78287c00 enable swfine 
+023b 68014bc5 fetch 2 ,mem_24g_rx_window 
+023c 98003600 iforce stop_watch 
+023d 37c18400 correlate null ,timeout 
+023e 242c026e nbranch p_g24_sync_timeout ,sync 
+023f 7846fc00 disable decode_fec0 
+0240 7825fc00 enable decode_fec1 
+0241 7823fc00 enable enable_white 
+0242 7824fc00 enable enable_crc 
+0243 2040026b call p_g24_receive_byte 
+0244 6000cc76 store 1 ,mem_24g_get_syncword_crc8 
+0245 6808cc75 fetcht 1 ,mem_24g_syncword_crc8 
+0246 98467c00 isub temp ,null 
+0247 2422826e nbranch p_g24_end_of_packet ,zero 
+0248 2040026b call p_g24_receive_byte 
+0249 6000cb3c store 1 ,mem_24g_rxbuf 
+024a 6800cb3c fetch 1 ,mem_24g_rxbuf 
+024b 6808cbc3 fetcht 1 ,mem_24g_data_type 
+024c a8400e00 icompare bits_data ,temp 
+024d 2420826e nbranch p_g24_end_of_packet ,true 
 
 p_g24_receive_skip:
-0258 20400275 call p_g24_receive_byte 
-0259 e0a08000 istore 1 ,contw 
-025a 1fe97e00 rshift3 pdata ,pdata 
-025b 1fe1721f and pdata ,0x1f ,loopcnt 
-025c 20228260 branch p_g24rx_nopayload ,zero 
+024e 2040026b call p_g24_receive_byte 
+024f e0a08000 istore 1 ,contw 
+0250 1fe97e00 rshift3 pdata ,pdata 
+0251 1fe1721f and pdata ,0x1f ,loopcnt 
+0252 20228256 branch p_g24rx_nopayload ,zero 
 
 p_g24rx_loop:
-025d 20400275 call p_g24_receive_byte 
-025e e0a08000 istore 1 ,contw 
-025f c200025d loop p_g24rx_loop 
+0253 2040026b call p_g24_receive_byte 
+0254 e0a08000 istore 1 ,contw 
+0255 c2000253 loop p_g24rx_loop 
 
 p_g24rx_nopayload:
-0260 18a22200 copy contw ,rega 
-0261 20400275 call p_g24_receive_byte 
-0262 6000ccfc store 1 ,mem_rssi_hex_received 
-0263 1a220a00 copy rega ,contw 
-0264 09800018 parse demod ,bucket ,24 
-0265 78287c00 enable swfine 
-0266 db600664 arg param_sifs ,stop_watch 
-0267 1fef7e00 rshift32 pdata ,pdata 
-0268 1ff17e00 rshift16 pdata ,pdata 
-0269 e0a18000 istore 3 ,contw 
-026a 7845fc00 disable decode_fec1 
-026b 20230278 branch p_g24_end_of_packet ,crc_failed 
-026c 7837fc00 enable user3 
-026d 68008017 fetch 1 ,mem_last_freq 
-026e 1fe0a200 add pdata ,0 ,rega 
-026f 20402981 call rf_write_freq 
-0270 7846fc00 disable decode_fec0 
-0271 20402918 call set_sync_on 
-0272 6800ccfc fetch 1 ,mem_rssi_hex_received 
-0273 2040001c call p_rssi_signal 
-0274 20600000 rtn 
+0256 18a22200 copy contw ,rega 
+0257 2040026b call p_g24_receive_byte 
+0258 6000ccfd store 1 ,mem_rssi_hex_received 
+0259 1a220a00 copy rega ,contw 
+025a 09800018 parse demod ,bucket ,24 
+025b 78287c00 enable swfine 
+025c db600664 arg param_sifs ,stop_watch 
+025d 1fef7e00 rshift32 pdata ,pdata 
+025e 1ff17e00 rshift16 pdata ,pdata 
+025f e0a18000 istore 3 ,contw 
+0260 7845fc00 disable decode_fec1 
+0261 2023026e branch p_g24_end_of_packet ,crc_failed 
+0262 7837fc00 enable user3 
+0263 68008017 fetch 1 ,mem_last_freq 
+0264 1fe0a200 add pdata ,0 ,rega 
+0265 20402981 call rf_write_freq 
+0266 7846fc00 disable decode_fec0 
+0267 20402918 call set_sync_on 
+0268 6800ccfd fetch 1 ,mem_rssi_hex_received 
+0269 2040001f call p_rssi_signal 
+026a 20600000 rtn 
 
 p_g24_receive_byte:
-0275 09800008 parse demod ,bucket ,8 
-0276 19897e00 rshift3 pwindow ,pdata 
-0277 20600000 rtn 
-
-p_g24_end_of_packet:
-0278 784dfc00 disable encode_fec1 
-0279 7845fc00 disable decode_fec1 
-027a 2040264d call end_of_packet 
-027b 20600000 rtn 
+026b 09800008 parse demod ,bucket ,8 
+026c 19897e00 rshift3 pwindow ,pdata 
+026d 20600000 rtn 
 
 p_g24_sync_timeout:
-027c 20200278 branch p_g24_end_of_packet 
+
+p_g24_end_of_packet:
+026e 784dfc00 disable encode_fec1 
+026f 7845fc00 disable decode_fec1 
+0270 2040264d call end_of_packet 
+0271 20600000 rtn 
 
 p_g24_set_freq_tx:
-027d 20402918 call set_sync_on 
-027e 6808cbcb fetcht 1 ,mem_24g_ch 
-027f 20202933 branch set_freq_tx 
+0272 20402918 call set_sync_on 
+0273 6808cbcc fetcht 1 ,mem_24g_ch 
+0274 20202933 branch set_freq_tx 
 
 p_g24_transmit:
-0280 204053c4 call le_enable 
-0281 68024be9 fetch 4 ,mem_24g_addr 
-0282 98001200 iforce access 
-0283 2040022a call p_g24_prep 
-0284 2040027d call p_g24_set_freq_tx 
-0285 79202a00 set1 txgfsk ,radio_ctrl 
-0286 782efc00 enable encode_fec0 
-0287 78307c00 enable is_tx 
-0288 7850fc00 disable is_rx 
-0289 19317e00 rshift16 access ,pdata 
-028a 1fecfe00 rshift8 pdata ,pdata 
-028b 1ff1fe00 rshift4 pdata ,pdata 
-028c 08008628 inject mod ,40 
-028d 784efc00 disable encode_fec0 
-028e 782dfc00 enable encode_fec1 
-028f 7823fc00 enable enable_white 
-0290 7824fc00 enable enable_crc 
-0291 6800cc74 fetch 1 ,mem_24g_syncword_crc8 
-0292 08008608 inject mod ,8 
-0293 6800cbc3 fetch 1 ,mem_24g_txlen 
-0294 98007200 iforce loopcnt 
-0295 d8c04b7d arg mem_24g_txpayload ,contr 
+0275 204053c4 call le_enable 
+0276 68024bea fetch 4 ,mem_24g_addr 
+0277 98001200 iforce access 
+0278 2040022c call p_g24_prep 
+0279 20400272 call p_g24_set_freq_tx 
+027a 79202a00 set1 txgfsk ,radio_ctrl 
+027b 782efc00 enable encode_fec0 
+027c 78307c00 enable is_tx 
+027d 7850fc00 disable is_rx 
+027e 19317e00 rshift16 access ,pdata 
+027f 1fecfe00 rshift8 pdata ,pdata 
+0280 1ff1fe00 rshift4 pdata ,pdata 
+0281 08008628 inject mod ,40 
+0282 784efc00 disable encode_fec0 
+0283 782dfc00 enable encode_fec1 
+0284 7823fc00 enable enable_white 
+0285 7824fc00 enable enable_crc 
+0286 6800cc75 fetch 1 ,mem_24g_syncword_crc8 
+0287 08008608 inject mod ,8 
+0288 6800cbc4 fetch 1 ,mem_24g_txlen 
+0289 98007200 iforce loopcnt 
+028a d8c04b7e arg mem_24g_txpayload ,contr 
 
 p_g24tr_loop:
-0296 e8c08000 ifetch 1 ,contr 
-0297 08008608 inject mod ,8 
-0298 c2000296 loop p_g24tr_loop 
-0299 78247c00 enable enable_parity 
-029a 08008618 inject mod ,24 
-029b 78447c00 disable enable_parity 
-029c 37d38200 until null ,tx_clear 
-029d 20000064 nop 100 
-029e 784efc00 disable encode_fec0 
-029f 784dfc00 disable encode_fec1 
-02a0 20600000 rtn 
+028b e8c08000 ifetch 1 ,contr 
+028c 08008608 inject mod ,8 
+028d c200028b loop p_g24tr_loop 
+028e 78247c00 enable enable_parity 
+028f 08008618 inject mod ,24 
+0290 78447c00 disable enable_parity 
+0291 37d38200 until null ,tx_clear 
+0292 20000064 nop 100 
+0293 784efc00 disable encode_fec0 
+0294 784dfc00 disable encode_fec1 
+0295 20600000 rtn 
 
 p_g24_timer_check:
-02a1 20407fe9 call disable_user 
-02a2 680a4be2 fetcht 4 ,mem_24g_tx_btclk 
-02a3 1c427e00 copy clkn_bt ,pdata 
-02a4 98467c00 isub temp ,null 
-02a5 24412d18 ncall g24_timer_timeout ,positive 
-02a6 1fe22400 copy pdata ,regb 
-02a7 68024be2 fetch 4 ,mem_24g_tx_btclk 
-02a8 6808cbe6 fetcht 1 ,mem_24g_interval 
-02a9 98408400 iadd temp ,temp 
-02aa 1a427e00 copy regb ,pdata 
-02ab 98467c00 isub temp ,null 
-02ac 24610000 nrtn positive 
-02ad 793ffe1c set0 28 ,pdata 
-02ae 60024be2 store 4 ,mem_24g_tx_btclk 
-02af 20207fe7 branch enable_user 
-
-p_rssi_noise:
-02b0 204029bb call save_rssi 
-02b1 207a0000 rtn blank 
-02b2 6808cc7b fetcht 1 ,mem_rssi_noise_index 
-02b3 da200d9e arg mem_rssi_noise_buffer ,rega 
-02b4 204002b7 call p_rssi_store 
-02b5 6008cc7b storet 1 ,mem_rssi_noise_index 
-02b6 20600000 rtn 
-
-p_rssi_store:
-02b7 1a227e00 copy rega ,pdata 
-02b8 98408a00 iadd temp ,contw 
-02b9 68008018 fetch 1 ,mem_rssi 
-02ba e0a08000 istore 1 ,contw 
-02bb 18408401 increase 1 ,temp 
-02bc 18410407 and_into rssi_buf_len_signal ,temp 
-02bd 20600000 rtn 
+0296 20407fe9 call disable_user 
+0297 680a4be3 fetcht 4 ,mem_24g_tx_btclk 
+0298 1c427e00 copy clkn_bt ,pdata 
+0299 98467c00 isub temp ,null 
+029a 24412d18 ncall g24_timer_timeout ,positive 
+029b 1fe22400 copy pdata ,regb 
+029c 68024be3 fetch 4 ,mem_24g_tx_btclk 
+029d 6808cbe7 fetcht 1 ,mem_24g_interval 
+029e 98408400 iadd temp ,temp 
+029f 1a427e00 copy regb ,pdata 
+02a0 98467c00 isub temp ,null 
+02a1 24610000 nrtn positive 
+02a2 793ffe1c set0 28 ,pdata 
+02a3 60024be3 store 4 ,mem_24g_tx_btclk 
+02a4 20207fe7 branch enable_user 
 
 p_rssi_average:
-02be d8400000 arg 0 ,temp 
-02bf df200008 arg rssi_buf_len_signal + 1 ,loopcnt 
-02c0 1a220c00 copy rega ,contr 
+02a5 d8400000 arg 0 ,temp 
+02a6 df200008 arg rssi_buf_len_signal + 1 ,loopcnt 
+02a7 1a220c00 copy rega ,contr 
 
 p_rssi_average_loop:
-02c1 e8c08000 ifetch 1 ,contr 
-02c2 98408400 iadd temp ,temp 
-02c3 c20002c1 loop p_rssi_average_loop 
-02c4 18497e00 rshift3 temp ,pdata 
-02c5 1fe20400 copy pdata ,temp 
-02c6 c6930000 rtnmark0 mark_24g 
-02c7 1fe6fc0a div pdata ,10 
-02c8 20407f86 call wait_div_end 
-02c9 1807fe00 quotient pdata 
-02ca 1ff27e00 lshift4 pdata ,pdata 
-02cb 18070400 remainder temp 
-02cc 98418400 ior temp ,temp 
-02cd 20600000 rtn 
-02ce 20600000 rtn 
+02a8 e8c08000 ifetch 1 ,contr 
+02a9 98408400 iadd temp ,temp 
+02aa c20002a8 loop p_rssi_average_loop 
+02ab 18497e00 rshift3 temp ,pdata 
+02ac 1fe20400 copy pdata ,temp 
+02ad c6930000 rtnmark0 mark_24g 
+02ae 1fe6fc0a div pdata ,10 
+02af 20407f86 call wait_div_end 
+02b0 1807fe00 quotient pdata 
+02b1 1ff27e00 lshift4 pdata ,pdata 
+02b2 18070400 remainder temp 
+02b3 98418400 ior temp ,temp 
+02b4 20600000 rtn 
+02b5 20600000 rtn 
 
 p_mouse_before_lpm:
-02cf c6130000 rtnmark1 mark_24g 
-02d0 204003af call p_mouse_le_txbuff_save 
-02d1 204002d9 call p_mouse_setgpio_lpm 
-02d2 6800c040 fetch 1 ,mem_context 
-02d3 c30002d6 bbit0 state_inconn ,p_clear_wake 
-02d4 680080a0 fetch 1 ,mem_lpm_current_mult 
-02d5 247a0000 nrtn blank 
+02b6 c6130000 rtnmark1 mark_24g 
+02b7 20400373 call p_mouse_le_txbuff_save 
+02b8 204002c0 call p_mouse_setgpio_lpm 
+02b9 6800c040 fetch 1 ,mem_context 
+02ba c30002bd bbit0 state_inconn ,p_clear_wake 
+02bb 680080a0 fetch 1 ,mem_lpm_current_mult 
+02bc 247a0000 nrtn blank 
 
 p_clear_wake:
-02d6 58000000 setarg 0 
-02d7 600400a1 store 8 ,mem_gpio_wakeup_low 
-02d8 20600000 rtn 
+02bd 58000000 setarg 0 
+02be 600400a1 store 8 ,mem_gpio_wakeup_low 
+02bf 20600000 rtn 
 
 p_mouse_setgpio_lpm:
-02d9 204002e2 call p_mouse_set_sdio_high 
-02da 204002d6 call p_clear_wake 
-02db 20403ebf call mouse_lpm_before_common 
-02dc 68120070 hfetch 4 ,core_gpio_oe0 
-02dd 681a0078 hfetcht 4 ,core_gpio_pu0 
-02de 98418400 ior temp ,temp 
-02df 18440400 invert temp ,temp 
-02e0 601a007c hstoret 4 ,core_gpio_pd0 
-02e1 2020035f branch p_mouse_multi_led_gpio_set_float 
+02c0 204002c9 call p_mouse_set_sdio_high 
+02c1 204002bd call p_clear_wake 
+02c2 20403ebf call mouse_lpm_before_common 
+02c3 68120070 hfetch 4 ,core_gpio_oe0 
+02c4 681a0078 hfetcht 4 ,core_gpio_pu0 
+02c5 98418400 ior temp ,temp 
+02c6 18440400 invert temp ,temp 
+02c7 601a007c hstoret 4 ,core_gpio_pd0 
+02c8 20200330 branch p_mouse_multi_led_gpio_set_float 
 
 p_mouse_set_sdio_high:
-02e2 6800cb0b fetch 1 ,mem_mouse_init_sensor_reset_flag 
-02e3 207a0000 rtn blank 
-02e4 2020056d branch p_mouse_seting_dpi_diff 
+02c9 6800cb0b fetch 1 ,mem_mouse_init_sensor_reset_flag 
+02ca 207a0000 rtn blank 
+02cb 202004ea branch p_mouse_seting_sensor_type 
 
 p_device_init:
-02e5 20403416 call app_lpm_mult_enable 
-02e6 203582ee branch p_device_init_common ,wake 
-02e7 204003de call p_mouse_data_init 
-02e8 6800c1de fetch 1 ,mem_tx_power 
-02e9 6000cc78 store 1 ,mem_tx_power_temp 
-02ea 204006ba call power_ctrl_pac_succ_cnt_init 
-02eb 6800c685 fetch 1 ,mem_ui_button_timeout 
-02ec 6000c6da store 1 ,mem_combination_ui_button_count 
-02ed 204043ca call mouse_bt_discovery_button_down_disable 
+02cc 20403416 call app_lpm_mult_enable 
+02cd 203582d5 branch p_device_init_common ,wake 
+02ce 2040039c call p_mouse_data_init 
+02cf 6800c1de fetch 1 ,mem_tx_power 
+02d0 6000cc79 store 1 ,mem_tx_power_temp 
+02d1 20400660 call power_ctrl_pac_succ_cnt_init 
+02d2 6800c685 fetch 1 ,mem_ui_button_timeout 
+02d3 6000c6da store 1 ,mem_combination_ui_button_count 
+02d4 204043ca call mouse_bt_discovery_button_down_disable 
 
 p_device_init_common:
-02ee 204002f0 call p_mouse_init 
-02ef 202074b9 branch enable_authrom 
+02d5 204002d7 call p_mouse_init 
+02d6 202074b9 branch enable_authrom 
 
 p_mouse_init:
-02f0 24558349 ncall p_mouse_setting_config ,wake 
-02f1 2040032a call p_mouse_spi_init 
-02f2 20758000 rtn wake 
-02f3 2040039a call p_mouse_cb_fuction 
-02f4 2040058c call p_mouse_check_key_gpio 
-02f5 c0028318 beq mouse_lm_button ,p_mouse_24g_pairing_button 
-02f6 20400380 call p_mouse_wakeup_from_power 
+02d7 2455831f ncall p_mouse_setting_config ,wake 
+02d8 20400302 call p_mouse_spi_init 
+02d9 20758000 rtn wake 
+02da 204006cc call p_drawing_optima_init 
+02db 2040035e call p_mouse_cb_fuction 
+02dc 20400347 call p_mouse_wakeup_from_power 
 
 p_mouse_check_reconn_target:
-02f7 204002ff call p_mouse_tx_power_init 
-02f8 6800c720 fetch 1 ,mem_device_flag 
-02f9 6808c703 fetcht 1 ,mem_24g_device_number 
-02fa 98467c00 isub temp ,null 
-02fb 20228304 branch p_mouse_connect_24g_mode ,zero 
-02fc 6800c210 fetch 1 ,mem_xrecord_mode 
-02fd c01a0306 beq rec_4_mode ,p_mouse4_0_check_reconn_target 
-02fe 2020045e branch p_mouse_null_enter_hibernate_enable 
+02dd 204002e5 call p_mouse_tx_power_init 
+02de 6800c720 fetch 1 ,mem_device_flag 
+02df c00102ea beq mode_24g_device ,p_mouse_connect_24g_mode 
+02e0 204004a8 call p_mouse_mode_bt_device1_multi_led_on 
+02e1 6800c210 fetch 1 ,mem_xrecord_mode 
+02e2 c01a02ec beq rec_4_mode ,p_mouse4_0_check_reconn_target 
+02e3 204042b0 call mouse_start_discovery 
+02e4 202004a8 branch p_mouse_mode_bt_device1_multi_led_on 
 
 p_mouse_tx_power_init:
-02ff 6800cc78 fetch 1 ,mem_tx_power_temp 
-0300 6000c1de store 1 ,mem_tx_power 
-0301 20600000 rtn 
+02e5 6800cc79 fetch 1 ,mem_tx_power_temp 
+02e6 6000c1de store 1 ,mem_tx_power 
+02e7 20600000 rtn 
 
 p_mouse_cheak_select_device_by_switch:
-0302 6800c6f5 fetch 1 ,mem_config_function_enable 
-0303 20204360 branch mouse_cheak_select_device_by_switch + 1 
+02e8 6800c6f5 fetch 1 ,mem_config_function_enable 
+02e9 20204360 branch mouse_cheak_select_device_by_switch + 1 
 
 p_mouse_connect_24g_mode:
-0304 20400517 call p_mouse_mode_24g_device_multi_led_on 
-0305 2020038c branch p_mouse_start_24g_mode 
+02ea 204004a8 call p_mouse_mode_24g_device_multi_led_on 
+02eb 2020034d branch p_mouse_start_24g_mode 
 
 p_mouse4_0_check_reconn_target:
-0306 20400517 call p_mouse_mode_bt_device1_multi_led_on 
-0307 70479f01 jam 1 ,mem_mouse_le_reconnect_flag 
-0308 680146a8 fetch 2 ,mem_mouse_direct_timeout 
-0309 600146ae store 2 ,mem_mouse_direct_timer 
-030a 20403418 call app_lpm_mult_disable 
-030b 20400311 call p_le_check_adv_flag 
-030c 58000004 setarg adv_flag_bredr_not_supported 
-030d e0c08000 istore 1 ,contr 
-030e d8c04390 arg mem_le_scan_data ,contr 
-030f 204005f0 call p_le_adv_data_update 
-0310 20207df4 branch check_51cmd_adv 
+02ec 70479f01 jam 1 ,mem_mouse_le_reconnect_flag 
+02ed 680146a8 fetch 2 ,mem_mouse_direct_timeout 
+02ee 600146ae store 2 ,mem_mouse_direct_timer 
+02ef 20403418 call app_lpm_mult_disable 
+02f0 204002f6 call p_le_check_adv_flag 
+02f1 58000004 setarg adv_flag_bredr_not_supported 
+02f2 e0c08000 istore 1 ,contr 
+02f3 d8c04390 arg mem_le_scan_data ,contr 
+02f4 2040057d call p_le_adv_data_update 
+02f5 20207df4 branch check_51cmd_adv 
 
 p_le_check_adv_flag:
-0311 da204370 arg mem_le_adv_data ,rega 
+02f6 da204370 arg mem_le_adv_data ,rega 
 
 p_le_check_adv_flag_loop:
-0312 ea208000 ifetch 1 ,rega 
-0313 207a0000 rtn blank 
-0314 98c0a200 iadd contr ,rega 
-0315 e8c08000 ifetch 1 ,contr 
-0316 c1008000 rtneq 0x01 
-0317 20200312 branch p_le_check_adv_flag_loop 
-
-p_mouse_24g_pairing_button:
-0318 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
-0319 c4088000 rtnbit0 mouse_enable_24g 
-031a c3818000 rtnbit1 mosue_24g_pairing_flag 
-031b c6130000 rtnmark1 mark_24g 
-031c 20404482 call mouse_devce_led_off 
-031d d8e00003 arg mosue_24g_pairing_flag ,queue 
-031e 204043ce call mouse_enable_function_flag 
-031f 58000000 setarg 0 
-0320 600146ae store 2 ,mem_mouse_direct_timer 
-0321 6000c6b4 store 1 ,mem_mouse_send_blank_timer 
-0322 60014bee store 2 ,mem_24g_check_dongle_times 
-0323 204042ca call mouse_stop_discovery 
-0324 20200167 branch p_g24_start_pairing_sm1 
+02f7 ea208000 ifetch 1 ,rega 
+02f8 207a0000 rtn blank 
+02f9 98c0a200 iadd contr ,rega 
+02fa e8c08000 ifetch 1 ,contr 
+02fb c1008000 rtneq 0x01 
+02fc 202002f7 branch p_le_check_adv_flag_loop 
 
 p_mouse_dpi_config:
-0325 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
-0326 c30a3d66 bbit0 mouse_enable_eeprom ,mouse_dpi_config 
-0327 6800c77a fetch 1 ,mem_mouse_dpi 
-0328 c07fbd66 beq 0xff ,mouse_dpi_config 
-0329 20203d80 branch mouse_seting_dpi + 2 
+02fd 6800c77a fetch 1 ,mem_mouse_dpi 
+02fe c0ff84ea bne 0xff ,p_mouse_seting_sensor_type 
+
+p_mouse_dpi_config_default:
+02ff 6800c6e1 fetch 1 ,mem_config_sensor_motion 
+0300 6000c77a store 1 ,mem_mouse_dpi 
+0301 202004ea branch p_mouse_seting_sensor_type 
 
 p_mouse_spi_init:
-032a 70421276 jam 0x76 ,mem_spi_init_clk 
-032b 20203d36 branch mouse_spi_init 
+0302 70421276 jam 0x76 ,mem_spi_init_clk 
+0303 20203d36 branch mouse_spi_init 
 
 p_mouse_init_sunt:
-032c 2040032a call p_mouse_spi_init 
-032d 204040c0 call mouse_spi_sdio_gpio_pollup 
+0304 20400302 call p_mouse_spi_init 
+0305 204040c0 call mouse_spi_sdio_gpio_pollup 
 
 p_mouse_init_sensor:
-032e 204040d9 call mouse_read_sensor_id 
-032f c0180338 beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
-0330 c018833a beq p3065_id1 ,p_mouse_p3065_init_param 
-0331 204040d1 call mouse_twspi_reset 
-0332 200003e8 nop 1000 
-0333 2020032e branch p_mouse_init_sensor 
+0306 204040d9 call mouse_read_sensor_id 
+0307 c018030e beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
+0308 c0188310 beq p3065_id1 ,p_mouse_p3065_init_param 
+0309 204040d1 call mouse_twspi_reset 
+030a 200003e8 nop 1000 
+030b 20200306 branch p_mouse_init_sensor 
 
 p_mouse_init_sensor_reset:
-0334 704b0b01 jam 1 ,mem_mouse_init_sensor_reset_flag 
-0335 2040640f call spi_ncs_enable 
-0336 2040032c call p_mouse_init_sunt 
-0337 20206411 branch spi_ncs_disable 
+030c 704b0b01 jam 1 ,mem_mouse_init_sensor_reset_flag 
+030d 20200304 branch p_mouse_init_sunt 
 
 p_mouse_init_p32xx_id2_judge:
-0338 2040033f call p_mouse_sensor_poweron 
-0339 202040e0 branch mouse_init_p32xx_id2_judge 
+030e 20400315 call p_mouse_sensor_poweron 
+030f 202040e0 branch mouse_init_p32xx_id2_judge 
 
 p_mouse_p3065_init_param:
-033a 2040033f call p_mouse_sensor_poweron 
-033b 6800c6de fetch 1 ,mem_sensor_id2 
-033c c03840e8 beq p3065_xy_id2 ,mouse_p3065xy_init_param 
-033d 7046e001 jam p3065 ,mem_config_sensor_type 
-033e 20600000 rtn 
+0310 20400315 call p_mouse_sensor_poweron 
+0311 6800c6de fetch 1 ,mem_sensor_id2 
+0312 c03840e8 beq p3065_xy_id2 ,mouse_p3065xy_init_param 
+0313 7046e001 jam p3065 ,mem_config_sensor_type 
+0314 20600000 rtn 
 
 p_mouse_sensor_poweron:
-033f 58008006 setarg 0x8006 
-0340 20406413 call twspi_write 
-0341 20002ee0 nop 12000 
-0342 20200325 branch p_mouse_dpi_config 
+0315 58008006 setarg 0x8006 
+0316 20406413 call twspi_write 
+0317 20002ee0 nop 12000 
+0318 202002fd branch p_mouse_dpi_config 
 
 p_mouse_sensor_powerdown:
-0343 58000006 setarg 0x06 
-0344 20406414 call twspi_read 
-0345 1fe1fe08 or pdata ,0x08 ,pdata 
-0346 1fed7e00 lshift8 pdata ,pdata 
-0347 1fe0fe06 add pdata ,0x06 ,pdata 
-0348 20206413 branch twspi_write 
+0319 58000006 setarg 0x06 
+031a 20406414 call twspi_read 
+031b 1fe1fe08 or pdata ,0x08 ,pdata 
+031c 1fed7e00 lshift8 pdata ,pdata 
+031d 1fe0fe06 add pdata ,0x06 ,pdata 
+031e 20206413 branch twspi_write 
 
 p_mouse_setting_config:
-0349 2040009c call p_g24_set_device_addr 
-034a 68108a00 hfetch 1 ,core_usb_config 
-034b 793ffe04 set0 4 ,pdata 
-034c 60108a00 hstore 1 ,core_usb_config 
-034d 20403e6e call mouse_gpio_init 
-034e 2040035f call p_mouse_multi_led_gpio_set_float 
-034f 20403e1e call mouse_param_init 
-0350 58000000 setarg 0 
-0351 60014154 store 2 ,mem_lpm_interval 
-0352 20403e54 call mouse_adc_init 
-0353 20405810 call le_set_config_fixed_ltk 
-0354 20405839 call le_set_justwork 
-0355 2040582c call le_set_fixed_ltk 
-0356 20405818 call le_set_config_read_authentication 
+031f 204000cb call p_g24_set_device_addr 
+0320 20403e6e call mouse_gpio_init 
+0321 20400330 call p_mouse_multi_led_gpio_set_float 
+0322 20403e1e call mouse_param_init 
+0323 58000000 setarg 0 
+0324 60014154 store 2 ,mem_lpm_interval 
+0325 20403e54 call mouse_adc_init 
+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:
-0357 2040659c call iic_init_390k 
-0358 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
-0359 2feffe19 isolate1 mouse_enable_2k_eeprom ,pdata 
-035a 2440e5c2 ncall clear_eeprom_size_2k ,true 
-035b 2040443f call mouse_load_eeprom_dpi 
-035c 2040036e call p_mouse_init_environment 
-035d 2040044c call p_mouse_set_24g_addr_eeprom 
-035e 202065df branch iicd_read_eep_data 
+032a 2040659c call iic_init_390k 
+032b 204065c2 call clear_eeprom_size_2k 
+032c 2040443f call mouse_load_eeprom_dpi 
+032d 20400335 call p_mouse_init_environment 
+032e 204003ff call p_mouse_set_24g_addr_eeprom 
+032f 202065df branch iicd_read_eep_data 
 
 p_mouse_multi_led_gpio_set_float:
-035f 6800cb00 fetch 1 ,mem_mouse_multi_led_gpio 
-0360 c17f8000 rtneq ui_button_gpio_disable 
-0361 6808cb00 fetcht 1 ,mem_mouse_multi_led_gpio 
-0362 793f8407 set0 gpio_active_bit ,temp 
-0363 20206806 branch gpio_set_high_impedance 
+0330 6808cb00 fetcht 1 ,mem_mouse_multi_led_gpio 
 
-p_mouse_select_device_button_gpio_set_suspend:
-0364 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+p_set_gpio_suspend:
+0331 793f8407 set0 gpio_active_bit ,temp 
+0332 20206806 branch gpio_set_high_impedance 
 
-p_mouse_set_gpio_suspend:
-0365 793f8407 set0 gpio_active_bit ,temp 
-0366 d8a08078 arg core_gpio_pu0 ,contw 
-0367 20406830 call gpio_set_bit 
-0368 793f8407 set0 gpio_active_bit ,temp 
-0369 d8a0807c arg core_gpio_pd0 ,contw 
-036a 20406830 call gpio_set_bit 
-036b 793f8407 set0 gpio_active_bit ,temp 
-036c d8a08070 arg core_gpio_oe0 ,contw 
-036d 20206830 branch gpio_set_bit 
+p_mouse_select_device_button_gpio_set_suspend:
+0333 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+0334 20200331 branch p_set_gpio_suspend 
 
 p_mouse_init_environment:
-036e 204033c4 call app_initflag_check 
-036f 2022837a branch p_mouse_eeprom_load_recon_info ,zero 
-0370 204005b7 call p_le_addr_random_config 
-0371 20203dcb branch mouse_init_environment + 2 
+0335 204033c4 call app_initflag_check 
+0336 20228341 branch p_mouse_eeprom_load_recon_info ,zero 
+0337 20400546 call p_le_addr_random_config 
+0338 20203dcb branch mouse_init_environment + 2 
 
 p_app_flag_store:
-0372 d8400002 arg 2 ,temp 
-0373 da200aaa arg mem_timeup ,rega 
-0374 da400062 arg mouse_eeprom_module_init_flag ,regb 
-0375 202065d1 branch iicd_write_protect_eep_data 
+0339 d8400002 arg 2 ,temp 
+033a da200aaa arg mem_timeup ,rega 
+033b da400062 arg mouse_eeprom_module_init_flag ,regb 
+033c 202065d1 branch iicd_write_protect_eep_data 
 
 p_app_initflag_check:
-0376 d8400002 arg 2 ,temp 
-0377 da200a9a arg mem_pdatatemp ,rega 
-0378 da400062 arg mouse_eeprom_module_init_flag ,regb 
-0379 202033c8 branch app_initflag_check + 4 
+033d d8400002 arg 2 ,temp 
+033e da200a9a arg mem_pdatatemp ,rega 
+033f da400062 arg mouse_eeprom_module_init_flag ,regb 
+0340 202033c8 branch app_initflag_check + 4 
 
 p_mouse_eeprom_load_recon_info:
-037a d8400058 arg 88 ,temp 
-037b da204720 arg mem_device_flag ,rega 
-037c da400000 arg mouse_info_eeprom_offect ,regb 
-037d 204065df call iicd_read_eep_data 
-037e 20400302 call p_mouse_cheak_select_device_by_switch 
-037f 2020431a branch mouse_select_reconn_device 
+0341 d8400058 arg 88 ,temp 
+0342 da204720 arg mem_device_flag ,rega 
+0343 da400000 arg mouse_info_eeprom_offect ,regb 
+0344 204065df call iicd_read_eep_data 
+0345 204002e8 call p_mouse_cheak_select_device_by_switch 
+0346 2020431a branch mouse_select_reconn_device 
 
 p_mouse_wakeup_from_power:
-0380 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
-0381 c30f0387 bbit0 mouse_enable_wakeup_from_power ,p_mouse_wakeup_no_from_power 
-0382 68008abd fetch 1 ,mem_wakup_from_power_flag 
-0383 2fec0003 isolate0 gpio_latch ,pdata 
-0384 24208387 nbranch p_mouse_wakeup_no_from_power ,true 
-0385 2040032c call p_mouse_init_sunt 
-0386 20400343 call p_mouse_sensor_powerdown 
+0347 20400304 call p_mouse_init_sunt 
+0348 20400319 call p_mouse_sensor_powerdown 
 
 p_mouse_wakeup_no_from_power:
-0387 6800c71f fetch 1 ,mem_reconn_times_init 
-0388 6000c71e store 1 ,mem_reconn_times 
-0389 6800c6f5 fetch 1 ,mem_config_function_enable 
-038a c3828000 rtnbit1 enable_select_device_by_gpio_button 
-038b c3830000 rtnbit1 enable_select_device_by_switch 
+0349 6800c71f fetch 1 ,mem_reconn_times_init 
+034a 6000c71e store 1 ,mem_reconn_times 
+034b 6800c6f5 fetch 1 ,mem_config_function_enable 
+034c c3830000 rtnbit1 enable_select_device_by_switch 
 
 p_mouse_start_24g_mode:
-038c 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
-038d c4088000 rtnbit0 mouse_enable_24g 
-038e 20400391 call p_g24_factory_check 
-038f 203401bd branch p_g24_auto_pair_start ,user 
-0390 2020019a branch p_g24_start_24g_mode 
+034d 6800cb3b fetch 1 ,mem_power_on_flag 
+034e c28101b0 bbit1 2 ,p_g24_start_24g_mode 
+034f 5800ffff setarg 0xffff 
+0350 60014bea store 2 ,mem_24g_addr 
+0351 e0a10000 istore 2 ,contw 
+0352 204003ff call p_mouse_set_24g_addr_eeprom 
+0353 204065d1 call iicd_write_protect_eep_data 
+0354 202001c1 branch p_g24_auto_pair_start 
 
 p_g24_factory_check:
-0391 df200002 arg 2 ,loopcnt 
-0392 d8c04be9 arg mem_24g_addr ,contr 
+0355 df200002 arg 2 ,loopcnt 
+0356 d8c04bea arg mem_24g_addr ,contr 
 
 p_pdata_0xff_check:
-0393 20407fe7 call enable_user 
-0394 5800ffff setarg 0xffff 
+0357 20407fe7 call enable_user 
+0358 5800ffff setarg 0xffff 
 
 p_pdata_0xff_check_loop:
-0395 e8c90000 ifetcht 2 ,contr 
-0396 98467c00 isub temp ,null 
-0397 2442ffe9 ncall disable_user ,zero 
-0398 c2000395 loop p_pdata_0xff_check_loop 
-0399 20600000 rtn 
+0359 e8c90000 ifetcht 2 ,contr 
+035a 98467c00 isub temp ,null 
+035b 2442ffe9 ncall disable_user ,zero 
+035c c2000359 loop p_pdata_0xff_check_loop 
+035d 20600000 rtn 
 
 p_mouse_cb_fuction:
-039a 580003ab setarg p_mouse_g24_package_data 
-039b 60014cf2 store 2 ,mem_cb_24g_data 
-039c 580003c2 setarg p_mouse_le 
-039d 600141ef store 2 ,mem_cb_le_process 
-039e 580006a8 setarg p_le_mouse_bb_event_connect_complete 
-039f 600141f9 store 2 ,mem_cb_att_write 
-03a0 580002cf setarg p_mouse_before_lpm 
-03a1 600141ed store 2 ,mem_cb_before_lpm 
-03a2 58000414 setarg p_mouse_priority_bb_event 
-03a3 600141f5 store 2 ,mem_cb_bb_event_process 
-03a4 58000400 setarg p_mouse_idle 
-03a5 600141f3 store 2 ,mem_cb_idle_process 
-03a6 5800046e setarg p_mouse_before_hibernate 
-03a7 600141eb store 2 ,mem_cb_before_hibernate 
-03a8 58000482 setarg p_mouse_bb_event_timer 
-03a9 600141fd store 2 ,mem_cb_event_timer 
-03aa 20600000 rtn 
+035e 5800036f setarg p_mouse_g24_package_data 
+035f 60014cf3 store 2 ,mem_cb_24g_data 
+0360 58000386 setarg p_mouse_le 
+0361 600141ef store 2 ,mem_cb_le_process 
+0362 58000645 setarg p_le_mouse_bb_event_connect_complete 
+0363 600141f9 store 2 ,mem_cb_att_write 
+0364 580002b6 setarg p_mouse_before_lpm 
+0365 600141ed store 2 ,mem_cb_before_lpm 
+0366 580003ce setarg p_mouse_priority_bb_event 
+0367 600141f5 store 2 ,mem_cb_bb_event_process 
+0368 580003be setarg p_mouse_idle 
+0369 600141f3 store 2 ,mem_cb_idle_process 
+036a 5800041e setarg p_mouse_before_hibernate 
+036b 600141eb store 2 ,mem_cb_before_hibernate 
+036c 58000432 setarg p_mouse_bb_event_timer 
+036d 600141fd store 2 ,mem_cb_event_timer 
+036e 20600000 rtn 
 
 p_mouse_g24_package_data:
-03ab 20404401 call mouse_g24_package_data 
-03ac 6801469f fetch 2 ,mem_mouse_z 
-03ad 207a0000 rtn blank 
-03ae 20200076 branch p_g24_transmit_by_interrupt_enable 
+036f 20404401 call mouse_g24_package_data 
+0370 6801469f fetch 2 ,mem_mouse_z 
+0371 207a0000 rtn blank 
+0372 202000a5 branch p_g24_transmit_by_interrupt_enable 
 
 p_mouse_le_txbuff_save:
-03af d8c01800 arg mem_le_tx_buffer0 ,contr 
-03b0 d8a0480a arg mem_le_tx_buffer0_omemalloc ,contw 
-03b1 204003b7 call p_mouse_le_txbuff_copy 
-03b2 d8c01900 arg mem_le_tx_buffer1 ,contr 
-03b3 204003b7 call p_mouse_le_txbuff_copy 
-03b4 d8c01a00 arg mem_le_tx_buffer2 ,contr 
-03b5 204003b7 call p_mouse_le_txbuff_copy 
-03b6 d8c01b00 arg mem_le_tx_buffer3 ,contr 
+0373 d8c01800 arg mem_le_tx_buffer0 ,contr 
+0374 d8a0480a arg mem_le_tx_buffer0_omemalloc ,contw 
+0375 2040037b call p_mouse_le_txbuff_copy 
+0376 d8c01900 arg mem_le_tx_buffer1 ,contr 
+0377 2040037b call p_mouse_le_txbuff_copy 
+0378 d8c01a00 arg mem_le_tx_buffer2 ,contr 
+0379 2040037b call p_mouse_le_txbuff_copy 
+037a d8c01b00 arg mem_le_tx_buffer3 ,contr 
 
 p_mouse_le_txbuff_copy:
-03b7 df20001b arg 27 ,loopcnt 
-03b8 20207f01 branch memcpy 
+037b df20001b arg 27 ,loopcnt 
+037c 20207f01 branch memcpy 
 
 p_mouse_le_txbuff_load:
-03b9 d8c0480a arg mem_le_tx_buffer0_omemalloc ,contr 
-03ba d8a01800 arg mem_le_tx_buffer0 ,contw 
-03bb 204003b7 call p_mouse_le_txbuff_copy 
-03bc d8a01900 arg mem_le_tx_buffer1 ,contw 
-03bd 204003b7 call p_mouse_le_txbuff_copy 
-03be d8a01a00 arg mem_le_tx_buffer2 ,contw 
-03bf 204003b7 call p_mouse_le_txbuff_copy 
-03c0 d8a01b00 arg mem_le_tx_buffer3 ,contw 
-03c1 202003b7 branch p_mouse_le_txbuff_copy 
+037d d8c0480a arg mem_le_tx_buffer0_omemalloc ,contr 
+037e d8a01800 arg mem_le_tx_buffer0 ,contw 
+037f 2040037b call p_mouse_le_txbuff_copy 
+0380 d8a01900 arg mem_le_tx_buffer1 ,contw 
+0381 2040037b call p_mouse_le_txbuff_copy 
+0382 d8a01a00 arg mem_le_tx_buffer2 ,contw 
+0383 2040037b call p_mouse_le_txbuff_copy 
+0384 d8a01b00 arg mem_le_tx_buffer3 ,contw 
+0385 2020037b branch p_mouse_le_txbuff_copy 
 
 p_mouse_le:
-03c2 20405892 call le_fifo_check_nearly_full 
-03c3 247a0000 nrtn blank 
-03c4 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
-03c5 1fe17e03 and pdata ,0x03 ,pdata 
-03c6 c1818000 rtnne 0x03 
-03c7 6800c79c fetch 1 ,mem_mouse_clear_sensor_data_flag 
-03c8 205a03fd call p_mouse_clear_sensor_data ,blank 
-03c9 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
-03ca c282c179 bbit1 mouse_bt_discovery_button_down_flag ,mouse_le_send_empty_packet 
-03cb 20403f97 call mouse_motion 
-03cc 24740000 nrtn user 
-03cd 204003d1 call p_mouse_le_current_mult_update 
-03ce 204003d6 call p_mouse_data_xy_release 
-03cf 204003f8 call p_mouse_wheel_trigger 
-03d0 202003e3 branch p_mouse_data_push 
-
-p_mouse_le_current_mult_update:
-03d1 6800c6f5 fetch 1 ,mem_config_function_enable 
-03d2 c3838000 rtnbit1 enable_sensor_motion_pin 
-03d3 70417200 jam 0 ,mem_lpm_mult 
-03d4 704b391e jam 30 ,mem_mouse_le_current_mult_timer 
-03d5 20600000 rtn 
+0386 20405892 call le_fifo_check_nearly_full 
+0387 247a0000 nrtn blank 
+0388 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+0389 1fe17e03 and pdata ,0x03 ,pdata 
+038a c1818000 rtnne 0x03 
+038b 6800c79c fetch 1 ,mem_mouse_clear_sensor_data_flag 
+038c 205a03bb call p_mouse_clear_sensor_data ,blank 
+038d 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+038e c282c179 bbit1 mouse_bt_discovery_button_down_flag ,mouse_le_send_empty_packet 
+038f 20403f97 call mouse_motion 
+0390 24740000 nrtn user 
+0391 20400394 call p_mouse_data_xy_release 
+0392 204003b6 call p_mouse_wheel_trigger 
+0393 202003a1 branch p_mouse_data_push 
 
 p_mouse_data_xy_release:
-03d6 6800c6f5 fetch 1 ,mem_config_function_enable 
-03d7 c3838000 rtnbit1 enable_sensor_motion_pin 
-03d8 6800cb38 fetch 1 ,mem_mouse_long_mult_flag 
-03d9 c1808000 rtnne 1 
-03da 58000000 setarg 0 
-03db 6000cb38 store 1 ,mem_mouse_long_mult_flag 
-03dc 6002469b store 4 ,mem_mouse_x 
-03dd 2020033f branch p_mouse_sensor_poweron 
+0394 6800c6f5 fetch 1 ,mem_config_function_enable 
+0395 c3838000 rtnbit1 enable_sensor_motion_pin 
+0396 6800cb38 fetch 1 ,mem_mouse_long_mult_flag 
+0397 c1808000 rtnne 1 
+0398 58000000 setarg 0 
+0399 6000cb38 store 1 ,mem_mouse_long_mult_flag 
+039a 6002469b store 4 ,mem_mouse_x 
+039b 20200304 branch p_mouse_init_sunt 
 
 p_mouse_data_init:
-03de 7047a007 jam 7 ,mem_mouse_data_queue 
-03df 7047a104 jam 4 ,mem_mouse_data_queue + 1 
-03e0 580047a0 setarg mem_mouse_data_queue 
-03e1 60014218 store 2 ,mem_queue_ptr 
-03e2 20207e38 branch queue_init 
+039c 7047a007 jam 7 ,mem_mouse_data_queue 
+039d 7047a104 jam 4 ,mem_mouse_data_queue + 1 
+039e 580047a0 setarg mem_mouse_data_queue 
+039f 60014218 store 2 ,mem_queue_ptr 
+03a0 20207e38 branch queue_init 
 
 p_mouse_data_push:
-03e3 da20469a arg mem_mouse_key ,rega 
-03e4 20407e3d call queue_push 
-03e5 205403e7 call p_mouse_queue_increase ,user 
-03e6 20600000 rtn 
+03a1 da20469a arg mem_mouse_key ,rega 
+03a2 20407e3d call queue_push 
+03a3 205403a5 call p_mouse_queue_increase ,user 
+03a4 20600000 rtn 
 
 p_mouse_queue_increase:
-03e7 6800c7c1 fetch 1 ,mem_mouse_data_queue_num 
-03e8 1fe0fe01 increase 1 ,pdata 
-03e9 6000c7c1 store 1 ,mem_mouse_data_queue_num 
-03ea 20600000 rtn 
+03a5 6800c7c1 fetch 1 ,mem_mouse_data_queue_num 
+03a6 1fe0fe01 increase 1 ,pdata 
+03a7 6000c7c1 store 1 ,mem_mouse_data_queue_num 
+03a8 20600000 rtn 
 
 p_mouse_data_pull:
-03eb da20469a arg mem_mouse_key ,rega 
-03ec 20407e54 call queue_pop 
-03ed 203403ef branch p_mouse_fill_data_le ,user 
-03ee 20600000 rtn 
+03a9 da20469a arg mem_mouse_key ,rega 
+03aa 20407e54 call queue_pop 
+03ab 203403ad branch p_mouse_fill_data_le ,user 
+03ac 20600000 rtn 
 
 p_mouse_fill_data_le:
-03ef 20405652 call le_clear_md 
-03f0 6800c7c1 fetch 1 ,mem_mouse_data_queue_num 
-03f1 1fe67c01 sub pdata ,1 ,null 
-03f2 24415650 ncall le_set_md ,positive 
-03f3 6800c7c1 fetch 1 ,mem_mouse_data_queue_num 
-03f4 207a0000 rtn blank 
-03f5 1fe0ffff increase -1 ,pdata 
-03f6 6000c7c1 store 1 ,mem_mouse_data_queue_num 
-03f7 20203f90 branch mouse_fill_data_le 
+03ad 20405652 call le_clear_md 
+03ae 6800c7c1 fetch 1 ,mem_mouse_data_queue_num 
+03af 1fe67c01 sub pdata ,1 ,null 
+03b0 24415650 ncall le_set_md ,positive 
+03b1 6800c7c1 fetch 1 ,mem_mouse_data_queue_num 
+03b2 207a0000 rtn blank 
+03b3 1fe0ffff increase -1 ,pdata 
+03b4 6000c7c1 store 1 ,mem_mouse_data_queue_num 
+03b5 20203f90 branch mouse_fill_data_le 
 
 p_mouse_wheel_trigger:
-03f8 6801469f fetch 2 ,mem_mouse_z 
-03f9 207a0000 rtn blank 
-03fa 70480601 jam 1 ,mem_mouse_wheel_trigger 
-03fb 70480702 jam 2 ,mem_mouse_wheel_trigger_timer 
-03fc 20600000 rtn 
+03b6 6801469f fetch 2 ,mem_mouse_z 
+03b7 207a0000 rtn blank 
+03b8 70480601 jam 1 ,mem_mouse_wheel_trigger 
+03b9 70480714 jam 20 ,mem_mouse_wheel_trigger_timer 
+03ba 20600000 rtn 
 
 p_mouse_clear_sensor_data:
-03fd 20405814 call le_set_config_more_data 
-03fe 70479c01 jam 1 ,mem_mouse_clear_sensor_data_flag 
-03ff 2020033f branch p_mouse_sensor_poweron 
+03bb 20405814 call le_set_config_more_data 
+03bc 70479c01 jam 1 ,mem_mouse_clear_sensor_data_flag 
+03bd 20200304 branch p_mouse_init_sunt 
 
 p_mouse_idle:
-0400 20407e34 call ui_check_paring_button 
-0401 20203ee0 branch mouse_wheel_check 
+03be 20407e34 call ui_check_paring_button 
+03bf 20203ee0 branch mouse_wheel_check 
 
 p_mouse_dpi_check:
-0402 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
-0403 204005ad call p_gpio_set_input_pu 
-0404 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
-0405 2040681d call gpio_get_bit 
-0406 24208412 nbranch p_mouse_dpi_up ,true 
+03c0 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
+03c1 2040681d call gpio_get_bit 
+03c2 2420bd62 nbranch mouse_dpi_up ,true 
 
 p_mouse_dpi_down:
-0407 6800c6b6 fetch 1 ,mem_mouse_dpi_button_state 
-0408 c1000000 rtneq dpi_button_state_down 
-0409 7046b600 jam dpi_button_state_down ,mem_mouse_dpi_button_state 
-040a 6800c77a fetch 1 ,mem_mouse_dpi 
-040b 1fe0fe01 increase 1 ,pdata 
-040c 1fe17e03 and pdata ,0x03 ,pdata 
-040d 6000c77a store 1 ,mem_mouse_dpi 
-040e 1fe0fe02 increase 2 ,pdata 
-040f 60014b07 store 2 ,mem_mouse_multi_led_blink_count 
-0410 20400528 call p_mouse_dpi_multi_led_blink 
-0411 20203d74 branch mouse_dpi_down + 7 
-
-p_mouse_dpi_up:
-0412 204005ad call p_gpio_set_input_pu 
-0413 20203d62 branch mouse_dpi_up 
+03c3 6800c6b6 fetch 1 ,mem_mouse_dpi_button_state 
+03c4 c1000000 rtneq dpi_button_state_down 
+03c5 7046b600 jam dpi_button_state_down ,mem_mouse_dpi_button_state 
+03c6 6800c77a fetch 1 ,mem_mouse_dpi 
+03c7 1fe0fe01 increase 1 ,pdata 
+03c8 1fe17e03 and pdata ,0x03 ,pdata 
+03c9 6000c77a store 1 ,mem_mouse_dpi 
+03ca 1fe0fe02 increase 2 ,pdata 
+03cb 6000cb07 store 1 ,mem_mouse_multi_led_blink_count 
+03cc 204004b2 call p_mouse_dpi_multi_led_blink 
+03cd 20203d74 branch mouse_dpi_down + 7 
 
 p_mouse_priority_bb_event:
-0414 1a627e00 copy regc ,pdata 
-0415 c00a041e beq bt_evt_le_connected ,p_mouse_le_bb_event_connected 
-0416 c00a8422 beq bt_evt_le_disconnected ,p_mouse_le_bb_disconnected 
-0417 c014842b beq bt_evt_le_enc_info ,p_mouse_le_enc_info 
-0418 c019042d beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
-0419 c0200434 beq bt_evt_le_parse_conn_papa_update_rsp ,p_mouse_le_conn_param_update_rsp_recieved 
-041a c01c843f beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
-041b c01d0450 beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
-041c c01e0469 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
-041d 2020417d branch mouse_priority_bb_event + 1 
+03ce 1a627e00 copy regc ,pdata 
+03cf c00a03d8 beq bt_evt_le_connected ,p_mouse_le_bb_event_connected 
+03d0 c00a83dc beq bt_evt_le_disconnected ,p_mouse_le_bb_disconnected 
+03d1 c01483e5 beq bt_evt_le_enc_info ,p_mouse_le_enc_info 
+03d2 c01903e7 beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
+03d3 c02003ee beq bt_evt_le_parse_conn_papa_update_rsp ,p_mouse_le_conn_param_update_rsp_recieved 
+03d4 c01c83f9 beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
+03d5 c01d0403 beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
+03d6 c01e0413 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
+03d7 2020417d branch mouse_priority_bb_event + 1 
 
 p_mouse_le_bb_event_connected:
-041e 20400334 call p_mouse_init_sensor_reset 
-041f 20400461 call p_mouse_null_enter_hibernate_disable 
-0420 204003de call p_mouse_data_init 
-0421 202041c3 branch mouse_le_bb_event_connected 
+03d8 2040030c call p_mouse_init_sensor_reset 
+03d9 2040040b call p_mouse_null_enter_hibernate_disable 
+03da 2040039c call p_mouse_data_init 
+03db 202041c3 branch mouse_le_bb_event_connected 
 
 p_mouse_le_bb_disconnected:
-0422 2040047e call p_mouse_sensor_powerdown_check 
-0423 58000007 setarg le_interval_8_75ms 
-0424 60014496 store 2 ,mem_le_interval_min 
-0425 60014498 store 2 ,mem_le_interval_min + 2 
-0426 7047c400 jam le_lpm_enable ,mem_mouse_le_conn_param_reject 
-0427 70479c00 jam 0 ,mem_mouse_clear_sensor_data_flag 
-0428 204003de call p_mouse_data_init 
-0429 20405816 call le_clr_config_more_data 
-042a 202041d9 branch mouse_bb_disconnected 
+03dc 2040042e call p_mouse_sensor_powerdown_check 
+03dd 58000007 setarg le_interval_8_75ms 
+03de 60014496 store 2 ,mem_le_interval_min 
+03df 60014498 store 2 ,mem_le_interval_min + 2 
+03e0 7047c400 jam le_lpm_enable ,mem_mouse_le_conn_param_reject 
+03e1 70479c00 jam 0 ,mem_mouse_clear_sensor_data_flag 
+03e2 2040039c call p_mouse_data_init 
+03e3 20405816 call le_clr_config_more_data 
+03e4 202041d9 branch mouse_bb_disconnected 
 
 p_mouse_le_enc_info:
 
 p_app_updata_le_param:
-042b 700a9912 jam bt_cmd_le_update_conn ,mem_fifo_temp 
-042c 20207d8f branch ui_ipc_send_cmd 
+03e5 700a9912 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+03e6 20207d8f branch ui_ipc_send_cmd 
 
 p_mouse_le_ll_start_encryt:
-042d 6800c79f fetch 1 ,mem_mouse_le_reconnect_flag 
-042e c0008430 beq 1 ,p_mouse_le_ll_reconn_start_encryt 
-042f 20200432 branch p_mouse_le_ll_enable_start_enc_flag 
+03e7 6800c79f fetch 1 ,mem_mouse_le_reconnect_flag 
+03e8 c00083ea beq 1 ,p_mouse_le_ll_reconn_start_encryt 
+03e9 202003ec branch p_mouse_le_ll_enable_start_enc_flag 
 
 p_mouse_le_ll_reconn_start_encryt:
-0430 2040042b call p_app_updata_le_param 
-0431 7046c614 jam 20 ,mem_le_start_encrypt_timer 
+03ea 204003e5 call p_app_updata_le_param 
+03eb 7046c614 jam 20 ,mem_le_start_encrypt_timer 
 
 p_mouse_le_ll_enable_start_enc_flag:
-0432 d8e00001 arg ll_start_enc_flag ,queue 
-0433 202041b9 branch mouse_le_enable_connect_flag 
+03ec d8e00001 arg ll_start_enc_flag ,queue 
+03ed 202041b9 branch mouse_le_enable_connect_flag 
 
 p_mouse_le_conn_param_update_rsp_recieved:
-0434 68014509 fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
-0435 c1000000 rtneq ble_signaling_connect_parameter_update_accepted 
-0436 68008441 fetch 1 ,mem_le_tsniff 
-0437 1feb7e00 rshift2 pdata ,pdata 
-0438 1fe67c0c sub pdata ,le_interval_15ms ,null 
-0439 20610000 rtn positive 
-043a 58000009 setarg le_interval_11_25ms 
-043b 60014496 store 2 ,mem_le_interval_min 
-043c 60014498 store 2 ,mem_le_interval_min + 2 
-043d 2040042b call p_app_updata_le_param 
-043e 20200610 branch p_mouse_le_conn_param_lpm_disable 
+03ee 68014509 fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+03ef c1000000 rtneq ble_signaling_connect_parameter_update_accepted 
+03f0 68008441 fetch 1 ,mem_le_tsniff 
+03f1 1feb7e00 rshift2 pdata ,pdata 
+03f2 1fe67c0c sub pdata ,le_interval_15ms ,null 
+03f3 20610000 rtn positive 
+03f4 58000009 setarg le_interval_11_25ms 
+03f5 60014496 store 2 ,mem_le_interval_min 
+03f6 60014498 store 2 ,mem_le_interval_min + 2 
+03f7 204003e5 call p_app_updata_le_param 
+03f8 2020059d branch p_mouse_le_conn_param_lpm_disable 
 
 p_mouse_24g_pairing_complete:
-043f 20400334 call p_mouse_init_sensor_reset 
-0440 70478b01 jam 1 ,mem_mouse_24g_enter_lpm_enable 
-0441 d8e00003 arg mosue_24g_pairing_flag ,queue 
-0442 204043d2 call mouse_disable_function_flag 
-0443 58000000 setarg 0 
-0444 60014707 store 2 ,mem_24g_pairing_timer_count 
-0445 7046a700 jam 0 ,mem_mouse_move_flag 
-0446 2040405d call mouse_read_sensor_common 
-0447 20400461 call p_mouse_null_enter_hibernate_disable 
-0448 2040046c call p_mouse_store_24g_device_2eeprom 
-0449 204002ff call p_mouse_tx_power_init 
-044a 2040044c call p_mouse_set_24g_addr_eeprom 
-044b 202065d1 branch iicd_write_protect_eep_data 
+03f9 204002e5 call p_mouse_tx_power_init 
+03fa 20400413 call p_mouse_24g_attempt_success 
+03fb d8e00003 arg mosue_24g_pairing_flag ,queue 
+03fc 204043d2 call mouse_disable_function_flag 
+03fd 7046a700 jam 0 ,mem_mouse_move_flag 
+03fe 2020405d branch mouse_read_sensor_common 
 
 p_mouse_set_24g_addr_eeprom:
-044c da204be9 arg mem_24g_addr ,rega 
-044d da40005b arg mouse_g24_addr_eeprom_offect ,regb 
-044e d8400004 arg 4 ,temp 
-044f 20600000 rtn 
+03ff da204bea arg mem_24g_addr ,rega 
+0400 da40005b arg mouse_g24_addr_eeprom_offect ,regb 
+0401 d8400004 arg 4 ,temp 
+0402 20600000 rtn 
 
 p_mouse_24g_attempt_fail:
-0450 2040047e call p_mouse_sensor_powerdown_check 
-0451 704d0100 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt 
-0452 204002ff call p_mouse_tx_power_init 
-0453 204001e3 call p_g24_check_51cmd_stop_24g 
-0454 6800c6f5 fetch 1 ,mem_config_function_enable 
-0455 c282845e bbit1 enable_select_device_by_gpio_button ,p_mouse_null_enter_hibernate_enable 
-0456 c283045e bbit1 enable_select_device_by_switch ,p_mouse_null_enter_hibernate_enable 
-0457 7041bd00 jam 0 ,mem_link_key_exists 
-0458 20404316 call mouse_eeprom_load_recon_info 
-0459 df200003 arg 3 ,loopcnt 
-045a d8c04722 arg mem_device1_addr ,contr 
-045b 20400393 call p_pdata_0xff_check 
-045c 2034045e branch p_mouse_null_enter_hibernate_enable ,user 
-045d 202002f7 branch p_mouse_check_reconn_target 
+0403 2040042e call p_mouse_sensor_powerdown_check 
+0404 704d0200 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt 
+0405 204002e5 call p_mouse_tx_power_init 
+0406 204001e5 call p_g24_check_51cmd_stop_24g 
+0407 20200408 branch p_mouse_null_enter_hibernate_enable 
 
 p_mouse_null_enter_hibernate_enable:
-045e 70479d01 jam 1 ,mem_mouse_null_enter_hibernate_flag 
-045f 70479e28 jam 40 ,mem_mouse_null_enter_hibernate_timer 
-0460 20600000 rtn 
+0408 70479d01 jam 1 ,mem_mouse_null_enter_hibernate_flag 
+0409 70479e28 jam 40 ,mem_mouse_null_enter_hibernate_timer 
+040a 20600000 rtn 
 
 p_mouse_null_enter_hibernate_disable:
-0461 70479d00 jam 0 ,mem_mouse_null_enter_hibernate_flag 
-0462 70479e00 jam 0 ,mem_mouse_null_enter_hibernate_timer 
-0463 20600000 rtn 
+040b 70479d00 jam 0 ,mem_mouse_null_enter_hibernate_flag 
+040c 70479e00 jam 0 ,mem_mouse_null_enter_hibernate_timer 
+040d 20600000 rtn 
 
 p_mouse_null_enter_hibernate_check:
-0464 68014682 fetch 2 ,mem_ui_state_map 
-0465 c3848000 rtnbit1 ui_state_ble_connected 
-0466 c3800000 rtnbit1 ui_state_bt_connected 
-0467 c6130000 rtnmark1 mark_24g 
-0468 2020045e branch p_mouse_null_enter_hibernate_enable 
+040e 68014682 fetch 2 ,mem_ui_state_map 
+040f c3848000 rtnbit1 ui_state_ble_connected 
+0410 c3800000 rtnbit1 ui_state_bt_connected 
+0411 c6130000 rtnmark1 mark_24g 
+0412 20200408 branch p_mouse_null_enter_hibernate_enable 
 
 p_mouse_24g_attempt_success:
-0469 20400334 call p_mouse_init_sensor_reset 
-046a 20403f8d call mouse_no_data_timer_init 
-046b 20400461 call p_mouse_null_enter_hibernate_disable 
+0413 204001c9 call p_g24_auto_pair_timeout_clear 
+0414 2040030c call p_mouse_init_sensor_reset 
+0415 20403f8d call mouse_no_data_timer_init 
+0416 2040040b call p_mouse_null_enter_hibernate_disable 
+0417 204003ff call p_mouse_set_24g_addr_eeprom 
+0418 204065d1 call iicd_write_protect_eep_data 
 
 p_mouse_store_24g_device_2eeprom:
-046c 20404366 call mouse_cheak_select_24gdevice 
-046d 202004da branch p_mouse_store_device_number2eeprom 
+0419 20404366 call mouse_cheak_select_24gdevice 
+
+p_mouse_store_device_number2eeprom:
+041a d8400001 arg 1 ,temp 
+041b da204720 arg mem_device_flag ,rega 
+041c da400000 arg 0 ,regb 
+041d 202065d1 branch iicd_write_protect_eep_data 
 
 p_mouse_before_hibernate:
-046e 78347c00 enable user 
-046f 68120138 hfetch 4 ,0x8138 
-0470 79347e1a setflag user ,26 ,pdata 
-0471 6012004c hstore 4 ,core_lpm_reg 
-0472 20402c21 call lpm_write_ctrl 
-0473 2040047e call p_mouse_sensor_powerdown_check 
-0474 204074bd call disable_authrom 
-0475 20404482 call mouse_devce_led_off 
-0476 2040035f call p_mouse_multi_led_gpio_set_float 
-0477 6800c720 fetch 1 ,mem_device_flag 
-0478 1fe67c02 sub pdata ,mode_24g_device ,null 
-0479 20428364 call p_mouse_select_device_button_gpio_set_suspend ,zero 
-047a 20403e9f call mouse_before_hibernate_wheel_gpio_set 
-047b 20403ebf call mouse_lpm_before_common 
-047c 6808c6f3 fetcht 1 ,mem_sensor_data_gpio 
-047d 202067ed branch gpio_clr_wake 
+041e 78347c00 enable user 
+041f 68120138 hfetch 4 ,0x8138 
+0420 79347e1a setflag user ,26 ,pdata 
+0421 6012004c hstore 4 ,core_lpm_reg 
+0422 20402c21 call lpm_write_ctrl 
+0423 2040042e call p_mouse_sensor_powerdown_check 
+0424 204074bd call disable_authrom 
+0425 20404482 call mouse_devce_led_off 
+0426 20400330 call p_mouse_multi_led_gpio_set_float 
+0427 6800c720 fetch 1 ,mem_device_flag 
+0428 1fe67c02 sub pdata ,mode_24g_device ,null 
+0429 20428333 call p_mouse_select_device_button_gpio_set_suspend ,zero 
+042a 20403e9f call mouse_before_hibernate_wheel_gpio_set 
+042b 20403ebf call mouse_lpm_before_common 
+042c 6808c6f3 fetcht 1 ,mem_sensor_data_gpio 
+042d 202067ed branch gpio_clr_wake 
 
 p_mouse_sensor_powerdown_check:
-047e 6800cb0b fetch 1 ,mem_mouse_init_sensor_reset_flag 
-047f 207a0000 rtn blank 
-0480 704b0b00 jam 0 ,mem_mouse_init_sensor_reset_flag 
-0481 20200343 branch p_mouse_sensor_powerdown 
+042e 6800cb0b fetch 1 ,mem_mouse_init_sensor_reset_flag 
+042f 207a0000 rtn blank 
+0430 704b0b00 jam 0 ,mem_mouse_init_sensor_reset_flag 
+0431 20200319 branch p_mouse_sensor_powerdown 
 
 p_mouse_bb_event_timer:
-0482 2040052b call p_mouse_adc_read 
-0483 2040055b call p_mouse_low_voltage_led_timer 
-0484 204004e3 call p_mouse_multi_led_blink_timer 
-0485 2040049f call p_mouse_wheel_trigger_timer 
-0486 204004c7 call p_mouse_null_enter_hibernate_timer 
-0487 204004a4 call p_mouse_bt_discovery_check 
-0488 20404234 call mouse_check_discovery_timeout_timer 
-0489 20400402 call p_mouse_dpi_check 
-048a 2040048f call p_mouse_24g_long_sleep_param_update_timer 
-048b 20404237 call mouse_check_direct_timeout_timer 
-048c 20400496 call p_mouse_le_enable_att_list_timer 
-048d 20400499 call p_mouse_le_current_mult_update_timer 
-048e 2020423a branch mouse_check_no_data_timeout_timer 
-
-p_mouse_24g_long_sleep_param_update_timer:
-048f da604b3a arg mem_24g_long_sleep_param_update_timer ,regc 
-0490 da400492 arg p_mouse_24g_long_sleep_normal_param ,regb 
-0491 2020336d branch timer_single_step 
-
-p_mouse_24g_long_sleep_normal_param:
-0492 5836ee80 setarg g24_long_sleep_step2 
-0493 6001cbf0 store 3 ,mem_24g_enter_hibernate 
-
-p_mouse_long_mult_flag_enable:
-0494 704b3801 jam 1 ,mem_mouse_long_mult_flag 
-0495 20600000 rtn 
+0432 204004b5 call p_mouse_adc_read 
+0433 204004d8 call p_mouse_low_voltage_led_timer 
+0434 20400469 call p_mouse_multi_led_blink_timer 
+0435 2040044f call p_mouse_wheel_trigger_timer 
+0436 2040045d call p_mouse_null_enter_hibernate_timer 
+0437 20404234 call mouse_check_discovery_timeout_timer 
+0438 204003c0 call p_mouse_dpi_check 
+0439 2040043e call p_mouse_g24_stop_mode_timeout_timer 
+043a 20400466 call p_mouse_check_direct_timeout_timer 
+043b 2040044c call p_mouse_le_enable_att_list_timer 
+043c 20400443 call p_mouse_check_select_device_by_switch_timer 
+043d 2020423a branch mouse_check_no_data_timeout_timer 
+
+p_mouse_g24_stop_mode_timeout_timer:
+043e da604d0b arg mem_24g_stop_g24_mode_timeout ,regc 
+043f da400441 arg p_mouse_g24_stop_mode_timeout ,regb 
+0440 20203374 branch timer_single_step_2b 
+
+p_mouse_g24_stop_mode_timeout:
+0441 704d0a01 jam 1 ,mem_24g_stop_g24_mode 
+0442 20600000 rtn 
+
+p_mouse_check_select_device_by_switch_timer:
+0443 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+0444 2040681d call gpio_get_bit 
+0445 20208449 branch p_mouse_cheak_select_24gdevice ,true 
+
+p_mouse_select_btdevice:
+0446 6800c720 fetch 1 ,mem_device_flag 
+0447 c080e59a bne mode_bt_device1 ,soft_reset_chip 
+0448 20600000 rtn 
+
+p_mouse_cheak_select_24gdevice:
+0449 6800c720 fetch 1 ,mem_device_flag 
+044a c081659a bne mode_24g_device ,soft_reset_chip 
+044b 20600000 rtn 
 
 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 
-
-p_mouse_le_current_mult_update_timer:
-0499 da604b39 arg mem_mouse_le_current_mult_timer ,regc 
-049a da40049c arg p_mouse_le_current_mult_reinit ,regb 
-049b 2020336d branch timer_single_step 
-
-p_mouse_le_current_mult_reinit:
-049c 6800c7c5 fetch 1 ,mem_lpm_mult_init 
-049d 6000c172 store 1 ,mem_lpm_mult 
-049e 20200494 branch p_mouse_long_mult_flag_enable 
+044c da6046c6 arg mem_le_start_encrypt_timer ,regc 
+044d da403d60 arg mouse_le_write_enable ,regb 
+044e 2020336d branch timer_single_step 
 
 p_mouse_wheel_trigger_timer:
-049f da604807 arg mem_mouse_wheel_trigger_timer ,regc 
-04a0 da4004a2 arg p_mouse_wheel_trigger_disable ,regb 
-04a1 2020336d branch timer_single_step 
+044f da604807 arg mem_mouse_wheel_trigger_timer ,regc 
+0450 da400452 arg p_mouse_wheel_trigger_disable ,regb 
+0451 2020336d branch timer_single_step 
 
 p_mouse_wheel_trigger_disable:
-04a2 70480600 jam 0 ,mem_mouse_wheel_trigger 
-04a3 20600000 rtn 
-
-p_mouse_bt_discovery_check:
-04a4 6800c6f5 fetch 1 ,mem_config_function_enable 
-04a5 c28204c1 bbit1 enable_bt_button ,p_mouse_bt_discovery_by_button 
-
-p_mouse_bt_discovery_commbination_key:
-04a6 2040058c call p_mouse_check_key_gpio 
-04a7 c00384b0 beq mouse_lmr_button ,p_mouse_bt_discovery_commbination_key_down 
-
-p_mouse_bt_discovery_commbination_key_up:
-04a8 6800c685 fetch 1 ,mem_ui_button_timeout 
-04a9 6000c6da store 1 ,mem_combination_ui_button_count 
-04aa 6800c6db fetch 1 ,mem_bt_discovey_button_statue 
-04ab c1008000 rtneq dpi_button_state_up 
-04ac 7046db01 jam dpi_button_state_up ,mem_bt_discovey_button_statue 
-04ad d8e00009 arg mouse_bt_discovery_button_long_down_flag ,queue 
-04ae 204043d2 call mouse_disable_function_flag 
-04af 202043ca branch mouse_bt_discovery_button_down_disable 
-
-p_mouse_bt_discovery_commbination_key_down:
-04b0 6800c720 fetch 1 ,mem_device_flag 
-04b1 c1010000 rtneq mode_24g_device 
-04b2 70479e28 jam 40 ,mem_mouse_null_enter_hibernate_timer 
-04b3 204004b5 call p_mouse_bt_discovery_timer 
-04b4 202043b0 branch mouse_bt_discovery_commbination_key_down + 1 
-
-p_mouse_bt_discovery_timer:
-04b5 da6046da arg mem_combination_ui_button_count ,regc 
-04b6 da4004b8 arg p_mouse_long_button_bt_discovery ,regb 
-04b7 2020336d branch timer_single_step 
+0452 70480600 jam 0 ,mem_mouse_wheel_trigger 
+0453 20600000 rtn 
 
 p_mouse_long_button_bt_discovery:
-04b8 68014682 fetch 2 ,mem_ui_state_map 
-04b9 2feffe0b isolate1 ui_state_ble_adv ,pdata 
-04ba 2040c2d4 call mouse_stop_le_adv ,true 
-04bb 68014682 fetch 2 ,mem_ui_state_map 
-04bc 2feffe07 isolate1 ui_state_bt_reconnect ,pdata 
-04bd 2040c392 call mouse_cancel_reconnect ,true 
-04be d8e00009 arg mouse_bt_discovery_button_long_down_flag ,queue 
-04bf 204043ce call mouse_enable_function_flag 
-04c0 202043b8 branch mouse_long_button_bt_discovry 
-
-p_mouse_bt_discovery_by_button:
-04c1 6800c6ec fetch 1 ,mem_config_bt_button_gpio 
-04c2 c17f8000 rtneq gpio_disable 
-04c3 6808c6ec fetcht 1 ,mem_config_bt_button_gpio 
-04c4 2040681d call gpio_get_bit 
-04c5 202084b0 branch p_mouse_bt_discovery_commbination_key_down ,true 
-04c6 202004a8 branch p_mouse_bt_discovery_commbination_key_up 
+0454 68014682 fetch 2 ,mem_ui_state_map 
+0455 2feffe0b isolate1 ui_state_ble_adv ,pdata 
+0456 2040c2d4 call mouse_stop_le_adv ,true 
+0457 68014682 fetch 2 ,mem_ui_state_map 
+0458 2feffe07 isolate1 ui_state_bt_reconnect ,pdata 
+0459 2040c392 call mouse_cancel_reconnect ,true 
+045a d8e00009 arg mouse_bt_discovery_button_long_down_flag ,queue 
+045b 204043ce call mouse_enable_function_flag 
+045c 202043b8 branch mouse_long_button_bt_discovry 
 
 p_mouse_null_enter_hibernate_timer:
-04c7 6800c79d fetch 1 ,mem_mouse_null_enter_hibernate_flag 
-04c8 207a0000 rtn blank 
-04c9 6800c79e fetch 1 ,mem_mouse_null_enter_hibernate_timer 
-04ca 203a04ce branch p_mouse_null_enter_hibernate ,blank 
-04cb 1fe0ffff increase -1 ,pdata 
-04cc 6000c79e store 1 ,mem_mouse_null_enter_hibernate_timer 
-04cd 20600000 rtn 
+045d 6800c79d fetch 1 ,mem_mouse_null_enter_hibernate_flag 
+045e 207a0000 rtn blank 
+045f 6800c79e fetch 1 ,mem_mouse_null_enter_hibernate_timer 
+0460 203a0464 branch p_mouse_null_enter_hibernate ,blank 
+0461 1fe0ffff increase -1 ,pdata 
+0462 6000c79e store 1 ,mem_mouse_null_enter_hibernate_timer 
+0463 20600000 rtn 
 
 p_mouse_null_enter_hibernate:
-04ce 70479d00 jam 0 ,mem_mouse_null_enter_hibernate_flag 
-04cf 2020340a branch app_enter_hibernate 
-
-p_mouse_ready_reconnection_by_button:
-04d0 6808c720 fetcht 1 ,mem_device_flag 
-04d1 18408401 increase 1 ,temp 
-04d2 6800c6d2 fetch 1 ,mem_device_number 
-04d3 98467c00 isub temp ,null 
-04d4 244143cc ncall mouse_select_device_count_clean ,positive 
-04d5 6008c720 storet 1 ,mem_device_flag 
-04d6 7041bd00 jam 0 ,mem_link_key_exists 
-04d7 204004da call p_mouse_store_device_number2eeprom 
-04d8 204043c0 call mouse_select_device_enable 
-04d9 2020437e branch mouse_set_reconnection 
-
-p_mouse_store_device_number2eeprom:
-04da d8400001 arg 1 ,temp 
-04db da204720 arg mem_device_flag ,rega 
-04dc da400000 arg 0 ,regb 
-04dd 202065d1 branch iicd_write_protect_eep_data 
+0464 70479d00 jam 0 ,mem_mouse_null_enter_hibernate_flag 
+0465 2020340a branch app_enter_hibernate 
 
 p_mouse_check_direct_timeout_timer:
-04de 6800c6f5 fetch 1 ,mem_config_function_enable 
-04df c302c237 bbit0 enable_select_device_by_gpio_button ,mouse_check_direct_timeout_timer 
-04e0 6800c6d9 fetch 1 ,mem_select_device_button_statue 
-04e1 c1000000 rtneq dpi_button_state_down 
-04e2 20204237 branch mouse_check_direct_timeout_timer 
+0466 da6046ae arg mem_mouse_direct_timer ,regc 
+0467 da400454 arg p_mouse_long_button_bt_discovery ,regb 
+0468 20203374 branch timer_single_step_2b 
 
 p_mouse_multi_led_blink_timer:
-04e3 6800caff fetch 1 ,mem_mouse_multi_led_blink_enable 
-04e4 207a0000 rtn blank 
-04e5 6800cb02 fetch 1 ,mem_mouse_multi_led_type 
-04e6 c00004e9 beq multi_led_on ,p_mouse_multi_led_type_on 
-04e7 c00084f3 beq multi_led_blink ,p_mouse_multi_led_type_blink 
-04e8 20600000 rtn 
+0469 6800caff fetch 1 ,mem_mouse_multi_led_blink_enable 
+046a 207a0000 rtn blank 
+046b 6800cb02 fetch 1 ,mem_mouse_multi_led_type 
+046c c0008485 beq multi_led_blink ,p_mouse_multi_led_type_blink 
 
 p_mouse_multi_led_type_on:
-04e9 20400503 call p_mouse_multi_led_on 
-04ea 6800cb03 fetch 1 ,mem_mouse_multi_led_on_timer 
-04eb 1fe0fe01 increase 1 ,pdata 
-04ec 6000cb03 store 1 ,mem_mouse_multi_led_on_timer 
-04ed 6808cb04 fetcht 1 ,mem_mouse_multi_led_on_timer_init 
-04ee 98467c00 isub temp ,null 
-04ef 204284f1 call p_mouse_multi_led_off_poweron2s ,zero 
-04f0 20600000 rtn 
+046d 20400493 call p_mouse_multi_led_on 
+046e 6800cb03 fetch 1 ,mem_mouse_multi_led_on_timer 
+046f 1fe0fe01 increase 1 ,pdata 
+0470 6000cb03 store 1 ,mem_mouse_multi_led_on_timer 
+0471 6808cb04 fetcht 1 ,mem_mouse_multi_led_on_timer_init 
+0472 98467c00 isub temp ,null 
+0473 20428475 call p_mouse_multi_led_off_poweron2s ,zero 
+0474 20600000 rtn 
 
 p_mouse_multi_led_off_poweron2s:
-04f1 704b0900 jam 0 ,mem_mouse_multi_led_on_poweron2s_flag 
-04f2 20200510 branch p_mouse_multi_led_off 
+0475 704b0900 jam 0 ,mem_mouse_multi_led_on_poweron2s_flag 
+0476 204004a1 call p_mouse_multi_led_off 
+0477 6800c720 fetch 1 ,mem_device_flag 
+0478 c1808000 rtnne mode_bt_device1 
+0479 68014682 fetch 2 ,mem_ui_state_map 
+047a c3848000 rtnbit1 ui_state_ble_connected 
+047b c3800000 rtnbit1 ui_state_bt_connected 
+047c 6800c210 fetch 1 ,mem_xrecord_mode 
+047d c1ff8000 rtnne 0xff 
+
+p_mouse_discovery_multi_led_blink:
+047e 704b0505 jam 5 ,mem_mouse_multi_led_blink_timer_init 
+047f 704b0800 jam 0 ,mem_mouse_multi_led_blink_count_limited 
+0480 704b0701 jam 1 ,mem_mouse_multi_led_blink_count 
+
+p_mouse_multi_led_blink_enable:
+0481 704b0601 jam 1 ,mem_mouse_multi_led_blink_timer 
+0482 704aff01 jam on ,mem_mouse_multi_led_blink_enable 
+0483 704b0201 jam multi_led_blink ,mem_mouse_multi_led_type 
+0484 20600000 rtn 
 
 p_mouse_multi_led_type_blink:
-04f3 6800cb06 fetch 1 ,mem_mouse_multi_led_blink_timer 
-04f4 1fe0ffff increase -1 ,pdata 
-04f5 6000cb06 store 1 ,mem_mouse_multi_led_blink_timer 
-04f6 247a0000 nrtn blank 
-04f7 6800cb05 fetch 1 ,mem_mouse_multi_led_blink_timer_init 
-04f8 6000cb06 store 1 ,mem_mouse_multi_led_blink_timer 
-04f9 6800cb08 fetch 1 ,mem_mouse_multi_led_blink_count_limited 
-04fa 203a04ff branch p_mouse_multi_led_blink_count_no_limited ,blank 
-04fb 6800cb07 fetch 1 ,mem_mouse_multi_led_blink_count 
-04fc 203a050e branch p_mouse_multi_led_blink_off ,blank 
-04fd 1fe0ffff increase -1 ,pdata 
-04fe 6000cb07 store 1 ,mem_mouse_multi_led_blink_count 
+0485 6800cb06 fetch 1 ,mem_mouse_multi_led_blink_timer 
+0486 1fe0ffff increase -1 ,pdata 
+0487 6000cb06 store 1 ,mem_mouse_multi_led_blink_timer 
+0488 247a0000 nrtn blank 
+0489 6800cb05 fetch 1 ,mem_mouse_multi_led_blink_timer_init 
+048a 6000cb06 store 1 ,mem_mouse_multi_led_blink_timer 
+048b 6800cb08 fetch 1 ,mem_mouse_multi_led_blink_count_limited 
+048c 203a0491 branch p_mouse_multi_led_blink_count_no_limited ,blank 
+048d 6800cb07 fetch 1 ,mem_mouse_multi_led_blink_count 
+048e 203a049f branch p_mouse_multi_led_blink_off ,blank 
+048f 1fe0ffff increase -1 ,pdata 
+0490 6000cb07 store 1 ,mem_mouse_multi_led_blink_count 
 
 p_mouse_multi_led_blink_count_no_limited:
-04ff 6800cb01 fetch 1 ,mem_mouse_multi_led_state 
-0500 c0008510 beq on ,p_mouse_multi_led_off 
-0501 c0000503 beq off ,p_mouse_multi_led_on 
-0502 20600000 rtn 
+0491 6800cb01 fetch 1 ,mem_mouse_multi_led_state 
+0492 c00084a1 beq on ,p_mouse_multi_led_off 
 
 p_mouse_multi_led_on:
-0503 704b0101 jam on ,mem_mouse_multi_led_state 
-0504 6800c720 fetch 1 ,mem_device_flag 
-0505 c001050a beq mode_24g_device ,p_mouse_multi_down_led_on 
+0493 704b0101 jam on ,mem_mouse_multi_led_state 
+0494 6800c720 fetch 1 ,mem_device_flag 
+0495 c001049a beq mode_24g_device ,p_mouse_multi_down_led_on 
 
 p_mouse_multi_up_led_on:
-0506 6808cb00 fetcht 1 ,mem_mouse_multi_led_gpio 
-0507 2040680e call gpio_config_output 
-0508 6808cb00 fetcht 1 ,mem_mouse_multi_led_gpio 
-0509 20206829 branch gpio_out_active 
+0496 6808cb00 fetcht 1 ,mem_mouse_multi_led_gpio 
+0497 2040680e call gpio_config_output 
+0498 6808cb00 fetcht 1 ,mem_mouse_multi_led_gpio 
+0499 20206829 branch gpio_out_active 
 
 p_mouse_multi_down_led_on:
-050a 6808cb00 fetcht 1 ,mem_mouse_multi_led_gpio 
-050b 2040680e call gpio_config_output 
-050c 6808cb00 fetcht 1 ,mem_mouse_multi_led_gpio 
-050d 20206825 branch gpio_out_inactive 
+049a 6808cb00 fetcht 1 ,mem_mouse_multi_led_gpio 
+049b 79200407 set1 gpio_active_bit ,temp 
+049c 2040680e call gpio_config_output 
+049d 6808cb00 fetcht 1 ,mem_mouse_multi_led_gpio 
+049e 20206825 branch gpio_out_inactive 
 
 p_mouse_multi_led_blink_off:
-050e 58000000 setarg 0 
-050f 6001cb06 store 3 ,mem_mouse_multi_led_blink_timer 
+049f 58000000 setarg 0 
+04a0 6001cb06 store 3 ,mem_mouse_multi_led_blink_timer 
 
 p_mouse_multi_led_off:
-0510 6800cb07 fetch 1 ,mem_mouse_multi_led_blink_count 
-0511 243a0514 nbranch p_mouse_multi_led_off_wait_blink_over ,blank 
-0512 704aff00 jam 0 ,mem_mouse_multi_led_blink_enable 
-0513 704b0200 jam 0 ,mem_mouse_multi_led_type 
+04a1 6800cb07 fetch 1 ,mem_mouse_multi_led_blink_count 
+04a2 243a04a5 nbranch p_mouse_multi_led_off_wait_blink_over ,blank 
+04a3 704aff00 jam 0 ,mem_mouse_multi_led_blink_enable 
+04a4 704b0200 jam 0 ,mem_mouse_multi_led_type 
 
 p_mouse_multi_led_off_wait_blink_over:
-0514 704b0300 jam 0 ,mem_mouse_multi_led_on_timer 
-0515 704b0100 jam off ,mem_mouse_multi_led_state 
-0516 2020035f branch p_mouse_multi_led_gpio_set_float 
+04a5 704b0300 jam 0 ,mem_mouse_multi_led_on_timer 
+04a6 704b0100 jam off ,mem_mouse_multi_led_state 
+04a7 20200330 branch p_mouse_multi_led_gpio_set_float 
 
 p_mouse_mode_bt_device1_multi_led_on:
 
 p_mouse_mode_24g_device_multi_led_on:
-0517 704b0901 jam 1 ,mem_mouse_multi_led_on_poweron2s_flag 
-0518 704aff01 jam on ,mem_mouse_multi_led_blink_enable 
-0519 704b0200 jam multi_led_on ,mem_mouse_multi_led_type 
-051a 704b0300 jam 0 ,mem_mouse_multi_led_on_timer 
-051b 20600000 rtn 
-
-p_mouse_discovery_multi_led_blink:
-051c 704b0505 jam 5 ,mem_mouse_multi_led_blink_timer_init 
-051d 704b0800 jam 0 ,mem_mouse_multi_led_blink_count_limited 
-051e 704b0701 jam 1 ,mem_mouse_multi_led_blink_count 
-
-p_mouse_multi_led_blink_enable:
-051f 704b0601 jam 1 ,mem_mouse_multi_led_blink_timer 
-0520 704aff01 jam on ,mem_mouse_multi_led_blink_enable 
-0521 704b0201 jam multi_led_blink ,mem_mouse_multi_led_type 
-0522 20600000 rtn 
+04a8 704b0901 jam 1 ,mem_mouse_multi_led_on_poweron2s_flag 
+04a9 704aff01 jam on ,mem_mouse_multi_led_blink_enable 
+04aa 704b0200 jam multi_led_on ,mem_mouse_multi_led_type 
+04ab 704b0300 jam 0 ,mem_mouse_multi_led_on_timer 
+04ac 20600000 rtn 
 
 p_mouse_discovey_led_blink_off:
-0523 6800cb03 fetch 1 ,mem_mouse_multi_led_on_timer 
-0524 247a0000 nrtn blank 
-0525 6800cb09 fetch 1 ,mem_mouse_multi_led_on_poweron2s_flag 
-0526 247a0000 nrtn blank 
-0527 2020050e branch p_mouse_multi_led_blink_off 
+04ad 6800cb03 fetch 1 ,mem_mouse_multi_led_on_timer 
+04ae 247a0000 nrtn blank 
+04af 6800cb09 fetch 1 ,mem_mouse_multi_led_on_poweron2s_flag 
+04b0 247a0000 nrtn blank 
+04b1 2020049f branch p_mouse_multi_led_blink_off 
 
 p_mouse_dpi_multi_led_blink:
-0528 704b0505 jam 5 ,mem_mouse_multi_led_blink_timer_init 
-0529 704b0801 jam 1 ,mem_mouse_multi_led_blink_count_limited 
-052a 2020051f branch p_mouse_multi_led_blink_enable 
+04b2 704b0505 jam 5 ,mem_mouse_multi_led_blink_timer_init 
+04b3 704b0801 jam 1 ,mem_mouse_multi_led_blink_count_limited 
+04b4 20200481 branch p_mouse_multi_led_blink_enable 
 
 p_mouse_adc_read:
-052b 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
-052c c40d0000 rtnbit0 mouse_enable_adc 
-052d 6800c6ce fetch 1 ,mem_adc_read_timer 
-052e 1fe0fe01 increase 1 ,pdata 
-052f 6000c6ce store 1 ,mem_adc_read_timer 
-0530 1fe67c0a sub pdata ,10 ,null 
-0531 20610000 rtn positive 
-0532 7046ce00 jam 0 ,mem_adc_read_timer 
-0533 20400543 call p_adc_set_mode 
-0534 20406908 call vdd_calculate_by_mode 
-0535 1fe0fe3c add pdata ,0x3c ,pdata 
-0536 6001470f store 2 ,mem_mouse_vdd_now_vol 
-0537 da204709 arg mem_mouse_vdd_calculate_set ,rega 
-0538 2040054e call p_adc_bat_percent_lowpower_out 
-0539 6800c231 fetch 1 ,mem_adc_power_flag 
-053a c280b40a bbit1 1 ,app_enter_hibernate 
-053b c300053e bbit0 0 ,p_mouse_adc_no_low_voltage 
-053c 704b0a01 jam 1 ,mem_mouse_adc_last_low_voltage_flag 
-053d 202043e7 branch mouse_adc_low_voltage 
+04b5 6800c6ce fetch 1 ,mem_adc_read_timer 
+04b6 1fe0fe01 increase 1 ,pdata 
+04b7 6000c6ce store 1 ,mem_adc_read_timer 
+04b8 1fe67c0a sub pdata ,10 ,null 
+04b9 20610000 rtn positive 
+04ba 7046ce00 jam 0 ,mem_adc_read_timer 
+04bb 204068eb call adc_set_mode 
+04bc 20406908 call vdd_calculate_by_mode 
+04bd 1fe0fe3c add pdata ,0x3c ,pdata 
+04be 6001470f store 2 ,mem_mouse_vdd_now_vol 
+04bf da204709 arg mem_mouse_vdd_calculate_set ,rega 
+04c0 204004cb call p_adc_bat_percent_lowpower_out 
+04c1 6800c231 fetch 1 ,mem_adc_power_flag 
+04c2 c280b40a bbit1 1 ,app_enter_hibernate 
+04c3 c30004c6 bbit0 0 ,p_mouse_adc_no_low_voltage 
+04c4 704b0a01 jam 1 ,mem_mouse_adc_last_low_voltage_flag 
+04c5 202043e7 branch mouse_adc_low_voltage 
 
 p_mouse_adc_no_low_voltage:
-053e 204043e9 call mouse_adc_no_low_voltage 
-053f 6800cb0a fetch 1 ,mem_mouse_adc_last_low_voltage_flag 
-0540 207a0000 rtn blank 
-0541 704b0a00 jam 0 ,mem_mouse_adc_last_low_voltage_flag 
-0542 20200510 branch p_mouse_multi_led_off 
-
-p_adc_set_mode:
-0543 6800c22d fetch 1 ,mem_adc_config_flag 
-0544 c0010546 beq adc_config_gpio ,p_adc_check_gpio 
-0545 202068ec branch adc_set_mode + 1 
-
-p_adc_check_gpio:
-0546 68108078 hfetch 1 ,core_gpio_pu0 
-0547 793ffe05 set0 5 ,pdata 
-0548 60108078 hstore 1 ,core_gpio_pu0 
-0549 204068f4 call adc_check_gpio 
-054a 68108078 hfetch 1 ,core_gpio_pu0 
-054b 79207e05 set1 5 ,pdata 
-054c 60108078 hstore 1 ,core_gpio_pu0 
-054d 20600000 rtn 
+04c6 204043e9 call mouse_adc_no_low_voltage 
+04c7 6800cb0a fetch 1 ,mem_mouse_adc_last_low_voltage_flag 
+04c8 207a0000 rtn blank 
+04c9 704b0a00 jam 0 ,mem_mouse_adc_last_low_voltage_flag 
+04ca 202004a1 branch p_mouse_multi_led_off 
 
 p_adc_bat_percent_lowpower_out:
-054e ea240000 ifetch 8 ,rega 
-054f 60040a9a store 8 ,mem_pdatatemp 
-0550 68090a9c fetcht 2 ,mem_pdatatemp + 2 
-0551 68010aa0 fetch 2 ,mem_pdatatemp + 6 
-0552 98467c00 isub temp ,null 
-0553 24216944 nbranch adc_set_no_power_flag ,positive 
-0554 68090a9e fetcht 2 ,mem_pdatatemp + 4 
-0555 98467c00 isub temp ,null 
-0556 24216940 nbranch adc_set_low_power_flag ,positive 
+04cb ea240000 ifetch 8 ,rega 
+04cc 60040a9a store 8 ,mem_pdatatemp 
+04cd 68090a9c fetcht 2 ,mem_pdatatemp + 2 
+04ce 68010aa0 fetch 2 ,mem_pdatatemp + 6 
+04cf 98467c00 isub temp ,null 
+04d0 24216944 nbranch adc_set_no_power_flag ,positive 
+04d1 68090a9e fetcht 2 ,mem_pdatatemp + 4 
+04d2 98467c00 isub temp ,null 
+04d3 24216940 nbranch adc_set_low_power_flag ,positive 
 
 p_adc_clear_low_power_flag:
-0557 6800c231 fetch 1 ,mem_adc_power_flag 
-0558 793ffe00 set0 0 ,pdata 
-0559 6000c231 store 1 ,mem_adc_power_flag 
-055a 20600000 rtn 
+04d4 6800c231 fetch 1 ,mem_adc_power_flag 
+04d5 793ffe00 set0 0 ,pdata 
+04d6 6000c231 store 1 ,mem_adc_power_flag 
+04d7 20600000 rtn 
 
 p_mouse_low_voltage_led_timer:
-055b 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
-055c c4020000 rtnbit0 mouse_low_voltage_flag 
-055d 68014682 fetch 2 ,mem_ui_state_map 
-055e c3858000 rtnbit1 ui_state_ble_adv 
-055f c3830000 rtnbit1 ui_state_bt_discovery 
-0560 6800cb07 fetch 1 ,mem_mouse_multi_led_blink_count 
-0561 247a0000 nrtn blank 
-0562 6800cb03 fetch 1 ,mem_mouse_multi_led_on_timer 
-0563 247a0000 nrtn blank 
-0564 6800c6cf fetch 1 ,mem_adc_low_volatage_led_timer_count 
-0565 1fe0fe01 pincrease 1 
-0566 6000c6cf store 1 ,mem_adc_low_volatage_led_timer_count 
-0567 c0028510 beq 5 ,p_mouse_multi_led_off 
-0568 1fe67c0a sub pdata ,10 ,null 
-0569 2421056b nbranch p_mouse_adc_low_volatage_led_timer_count_clean ,positive 
-056a 20600000 rtn 
+04d8 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+04d9 c4020000 rtnbit0 mouse_low_voltage_flag 
+04da 68014682 fetch 2 ,mem_ui_state_map 
+04db c3858000 rtnbit1 ui_state_ble_adv 
+04dc c3830000 rtnbit1 ui_state_bt_discovery 
+04dd 6800cb07 fetch 1 ,mem_mouse_multi_led_blink_count 
+04de 247a0000 nrtn blank 
+04df 6800cb03 fetch 1 ,mem_mouse_multi_led_on_timer 
+04e0 247a0000 nrtn blank 
+04e1 6800c6cf fetch 1 ,mem_adc_low_volatage_led_timer_count 
+04e2 1fe0fe01 pincrease 1 
+04e3 6000c6cf store 1 ,mem_adc_low_volatage_led_timer_count 
+04e4 c00284a1 beq 5 ,p_mouse_multi_led_off 
+04e5 1fe67c0a sub pdata ,10 ,null 
+04e6 242104e8 nbranch p_mouse_adc_low_volatage_led_timer_count_clean ,positive 
+04e7 20600000 rtn 
 
 p_mouse_adc_low_volatage_led_timer_count_clean:
-056b 7046cf01 jam 1 ,mem_adc_low_volatage_led_timer_count 
-056c 20200503 branch p_mouse_multi_led_on 
+04e8 7046cf01 jam 1 ,mem_adc_low_volatage_led_timer_count 
+04e9 20200493 branch p_mouse_multi_led_on 
 
 p_mouse_seting_dpi:
 
-p_mouse_seting_dpi_diff:
-056d 6800c6e0 fetch 1 ,mem_config_sensor_type 
-056e c0030571 beq p3065_xy ,p_mouse_seting_3065xy_dpi 
-056f c0010571 beq ka8 ,p_mouse_seting_3065xy_dpi 
-0570 20203d81 branch mouse_seting_dpi + 3 
+p_mouse_seting_sensor_type:
+04ea 6800c6e0 fetch 1 ,mem_config_sensor_type 
+04eb c00104ff beq ka8 ,p_mouse_seting_ka8_dpi 
+04ec 202004ef branch p_mouse_seting_3065xy_dpi 
+
+p_mouse_3205_dpi_recount:
+04ed 70477a02 jam mouse_dpi_level3 ,mem_mouse_dpi 
+04ee 20600000 rtn 
 
 p_mouse_seting_3065xy_dpi:
-0571 6800c77a fetch 1 ,mem_mouse_dpi 
-0572 205a0577 call p_mouse_3065xy_dpi_recount ,blank 
-0573 6800c77a fetch 1 ,mem_mouse_dpi 
-0574 c000bd8a beq mouse_dpi_level2 ,mouse_set_cpi1 
-0575 c001bd8e beq mouse_dpi_level4 ,mouse_set_cpi4 
-0576 20203d8c branch mouse_set_cpi3 
-
-p_mouse_3065xy_dpi_recount:
-0577 70477a01 jam 1 ,mem_mouse_dpi 
-0578 20600000 rtn 
+04ef 6800c77a fetch 1 ,mem_mouse_dpi 
+04f0 1fe67c01 sub pdata ,mouse_dpi_level2 ,null 
+04f1 204284ed call p_mouse_3205_dpi_recount ,zero 
+04f2 6800c77a fetch 1 ,mem_mouse_dpi 
+04f3 c00004f9 beq mouse_dpi_level1 ,p_mouse_3065xy_set_cpi1 
+04f4 c00184fc beq mouse_dpi_level4 ,p_mouse_3065xy_set_cpi4 
+
+p_mouse_3065xy_set_cpi3:
+04f5 6800c781 fetch 1 ,mem_320x_dpi_3 
+04f6 1fe0ffff increase -1 ,pdata 
+
+p_mouse_dpi_store:
+04f7 6000c6b5 store 1 ,mem_mouse_cpi_count 
+04f8 20203dc1 branch mouse_p3205_dpi + 3 
+
+p_mouse_3065xy_set_cpi1:
+04f9 6800c77f fetch 1 ,mem_320x_dpi_1 
+04fa 1fe0ffff increase -1 ,pdata 
+04fb 202004f7 branch p_mouse_dpi_store 
+
+p_mouse_3065xy_set_cpi4:
+04fc 6800c782 fetch 1 ,mem_320x_dpi_4 
+04fd 1fe0ffff increase -1 ,pdata 
+04fe 202004f7 branch p_mouse_dpi_store 
+
+p_mouse_seting_ka8_dpi:
+04ff 6800c77a fetch 1 ,mem_mouse_dpi 
+0500 1fe67c01 sub pdata ,mouse_dpi_level2 ,null 
+0501 204284ed call p_mouse_3205_dpi_recount ,zero 
+0502 6800c77a fetch 1 ,mem_mouse_dpi 
+0503 c0000508 beq mouse_dpi_level1 ,p_mouse_ka8_set_cpi1 
+0504 c001850b beq mouse_dpi_level4 ,p_mouse_ka8_set_cpi4 
+
+p_mouse_ka8_set_cpi3:
+0505 6800c781 fetch 1 ,mem_320x_dpi_3 
+0506 1fe0fe02 increase 2 ,pdata 
+0507 202004f7 branch p_mouse_dpi_store 
+
+p_mouse_ka8_set_cpi1:
+0508 6800c77f fetch 1 ,mem_320x_dpi_1 
+0509 1fe0fe02 increase 2 ,pdata 
+050a 202004f7 branch p_mouse_dpi_store 
+
+p_mouse_ka8_set_cpi4:
+050b 6800c782 fetch 1 ,mem_320x_dpi_4 
+050c 1fe0fe02 increase 2 ,pdata 
+050d 202004f7 branch p_mouse_dpi_store 
 
 p_mouse_motion:
-0579 78547c00 disable user 
-057a 58000000 setarg 0 
-057b 6003469b store 6 ,mem_mouse_x 
-057c 20400582 call p_mouse_cheak_sensor_data 
-057d 20404079 call mouse_zwheel 
-057e 2040407e call mouse_t_zwheel 
-057f 2040058a call p_mouse_key 
-0580 24740000 nrtn user 
-0581 20203fa0 branch mouse_motion + 9 
+050e 78547c00 disable user 
+050f 58000000 setarg 0 
+0510 6003469b store 6 ,mem_mouse_x 
+0511 20400518 call p_mouse_cheak_sensor_data 
+0512 20404079 call mouse_zwheel 
+0513 2040407e call mouse_t_zwheel 
+0514 20400520 call p_mouse_key 
+0515 243406cc nbranch p_drawing_optima_init ,user 
+0516 204006cf call p_drawing_optima 
+0517 20203fa0 branch mouse_motion + 9 
 
 p_mouse_cheak_sensor_data:
 
 p_mouse_p32xx_sensor_motion:
-0582 20403fc0 call mouse_clear_sensor_data 
-0583 78547c00 disable user 
-0584 6800c6f5 fetch 1 ,mem_config_function_enable 
-0585 c303bfe7 bbit0 enable_sensor_motion_pin ,mouse_p32xx_sensor_motion_2 
-0586 6808c6f3 fetcht 1 ,mem_sensor_data_gpio 
-0587 2040681d call gpio_get_bit 
-0588 24608000 nrtn true 
-0589 20203fe7 branch mouse_p32xx_sensor_motion_2 
+0518 20403fc0 call mouse_clear_sensor_data 
+0519 78547c00 disable user 
+051a 6800c6f5 fetch 1 ,mem_config_function_enable 
+051b c303bfe7 bbit0 enable_sensor_motion_pin ,mouse_p32xx_sensor_motion_2 
+051c 6808c6f3 fetcht 1 ,mem_sensor_data_gpio 
+051d 2040681d call gpio_get_bit 
+051e 24608000 nrtn true 
+051f 20203fe7 branch mouse_p32xx_sensor_motion_2 
 
 p_mouse_key:
-058a 2040058c call p_mouse_check_key_gpio 
-058b 2020409a branch mouse_key + 1 
+0520 20400522 call p_mouse_check_key_gpio 
+0521 2020409a branch mouse_key + 1 
 
 p_mouse_check_key_gpio:
-058c da200000 arg 0 ,rega 
-058d 20400592 call p_mouse_check_lkey_gpio 
-058e 20400598 call p_mouse_check_rkey_gpio 
-058f 2040059e call p_mouse_check_mkey_gpio 
-0590 1a227e00 copy rega ,pdata 
-0591 20600000 rtn 
+0522 da200000 arg 0 ,rega 
+0523 20400526 call p_mouse_check_lkey_gpio 
+0524 1a227e00 copy rega ,pdata 
+0525 20600000 rtn 
 
 p_mouse_check_lkey_gpio:
-0592 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
-0593 204005ad call p_gpio_set_input_pu 
-0594 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
-0595 2040681d call gpio_get_bit 
-0596 7920a200 setflag true ,0 ,rega 
-0597 20600000 rtn 
+0526 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+0527 20400536 call p_gpio_set_input_pu 
+0528 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+0529 2040681d call gpio_get_bit 
+052a 7920a200 setflag true ,0 ,rega 
 
 p_mouse_check_rkey_gpio:
-0598 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
-0599 204005ad call p_gpio_set_input_pu 
-059a 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
-059b 2040681d call gpio_get_bit 
-059c 7920a201 setflag true ,1 ,rega 
-059d 20600000 rtn 
+052b 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+052c 20400536 call p_gpio_set_input_pu 
+052d 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+052e 2040681d call gpio_get_bit 
+052f 7920a201 setflag true ,1 ,rega 
 
 p_mouse_check_mkey_gpio:
-059e 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
-059f 204005ad call p_gpio_set_input_pu 
-05a0 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
-05a1 2040681d call gpio_get_bit 
-05a2 7920a202 setflag true ,2 ,rega 
-05a3 20600000 rtn 
-
-p_gpio_set_input_pd:
-05a4 793f8407 set0 gpio_active_bit ,temp 
-05a5 d8a08078 arg core_gpio_pu0 ,contw 
-05a6 20406830 call gpio_set_bit 
-05a7 79200407 set1 gpio_active_bit ,temp 
-05a8 d8a0807c arg core_gpio_pd0 ,contw 
-05a9 20406830 call gpio_set_bit 
-05aa 793f8407 set0 gpio_active_bit ,temp 
-05ab d8a08070 arg core_gpio_oe0 ,contw 
-05ac 20206830 branch gpio_set_bit 
+0530 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+0531 20400536 call p_gpio_set_input_pu 
+0532 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+0533 2040681d call gpio_get_bit 
+0534 7920a202 setflag true ,2 ,rega 
+0535 20600000 rtn 
 
 p_gpio_set_input_pu:
-05ad 79200407 set1 gpio_active_bit ,temp 
-05ae d8a08078 arg core_gpio_pu0 ,contw 
-05af 20406830 call gpio_set_bit 
-05b0 793f8407 set0 gpio_active_bit ,temp 
-05b1 202005a8 branch p_gpio_set_input_pd + 4 
+0536 79200407 set1 gpio_active_bit ,temp 
+0537 d8a08078 arg core_gpio_pu0 ,contw 
+0538 20406830 call gpio_set_bit 
+0539 793f8407 set0 gpio_active_bit ,temp 
+053a 2020053f branch p_gpio_set_input_pd4 
+
+p_gpio_set_input_pd:
+053b 793f8407 set0 gpio_active_bit ,temp 
+053c d8a08078 arg core_gpio_pu0 ,contw 
+053d 20406830 call gpio_set_bit 
+053e 79200407 set1 gpio_active_bit ,temp 
+
+p_gpio_set_input_pd4:
+053f d8a0807c arg core_gpio_pd0 ,contw 
+0540 2020680a branch gpio_set_high_impedance + 4 
 
 p_mouse_bb_event_discovery_btn:
-05b2 70479d00 jam 0 ,mem_mouse_null_enter_hibernate_flag 
-05b3 70479e00 jam 0 ,mem_mouse_null_enter_hibernate_timer 
-05b4 280ffe26 isolate1 mark_24g ,mark 
-05b5 204081e3 call p_g24_check_51cmd_stop_24g ,true 
-05b6 2020426d branch mouse_bb_event_discovery_btn + 1 
+0541 70479d00 jam 0 ,mem_mouse_null_enter_hibernate_flag 
+0542 70479e00 jam 0 ,mem_mouse_null_enter_hibernate_timer 
+0543 280ffe26 isolate1 mark_24g ,mark 
+0544 204081e5 call p_g24_check_51cmd_stop_24g ,true 
+0545 2020426d branch mouse_bb_event_discovery_btn + 1 
 
 p_le_addr_random_config:
-05b7 204068a2 call load_adc_init 
-05b8 6801421d fetch 2 ,mem_0_5_adc_io_data 
-05b9 203a05bc branch p_le_otp_adc_empty ,blank 
-05ba 600147c2 store 2 ,mem_random_addr_increase_count 
+0546 204068a2 call load_adc_init 
+0547 6801421d fetch 2 ,mem_0_5_adc_io_data 
+0548 203a054b branch p_le_otp_adc_empty ,blank 
+0549 600147c2 store 2 ,mem_random_addr_increase_count 
 
 p_le_addr_random_store:
-05bb 202005bf branch p_mouse_store_eerpom_random_addr_increase_count 
+054a 2020054e branch p_mouse_store_eerpom_random_addr_increase_count 
 
 p_le_otp_adc_empty:
-05bc 58001122 setarg 0x1122 
-05bd 600147c2 store 2 ,mem_random_addr_increase_count 
-05be 202005bb branch p_le_addr_random_store 
+054b 58001122 setarg 0x1122 
+054c 600147c2 store 2 ,mem_random_addr_increase_count 
+054d 2020054a branch p_le_addr_random_store 
 
 p_mouse_store_eerpom_random_addr_increase_count:
-05bf d8400002 arg 2 ,temp 
-05c0 da2047c2 arg mem_random_addr_increase_count ,rega 
-05c1 da40005f arg mouse_random_addr_count_eeprom_offset ,regb 
-05c2 202065d1 branch iicd_write_protect_eep_data 
+054e d8400002 arg 2 ,temp 
+054f da2047c2 arg mem_random_addr_increase_count ,rega 
+0550 da40005f arg mouse_random_addr_count_eeprom_offset ,regb 
+0551 202065d1 branch iicd_write_protect_eep_data 
 
 p_mouse_load_eeprom_random_addr_increase_count:
-05c3 d8400002 arg 2 ,temp 
-05c4 da2047c2 arg mem_random_addr_increase_count ,rega 
-05c5 da40005f arg mouse_random_addr_count_eeprom_offset ,regb 
-05c6 202065df branch iicd_read_eep_data 
+0552 d8400002 arg 2 ,temp 
+0553 da2047c2 arg mem_random_addr_increase_count ,rega 
+0554 da40005f arg mouse_random_addr_count_eeprom_offset ,regb 
+0555 202065df branch iicd_read_eep_data 
 
 p_mouse_start_discovery:
-05c7 204002ff call p_mouse_tx_power_init 
-05c8 6808c720 fetcht 1 ,mem_device_flag 
-05c9 6800c6d2 fetch 1 ,mem_device_number 
-05ca 98467c00 isub temp ,null 
-05cb 2042c3cc call mouse_select_device_count_clean ,zero 
-05cc 6008c720 storet 1 ,mem_device_flag 
-05cd 70479c00 jam 0 ,mem_mouse_clear_sensor_data_flag 
-05ce 68014682 fetch 2 ,mem_ui_state_map 
-05cf c28585da bbit1 ui_state_ble_adv ,p_mouse_start_discovery_norandom 
-05d0 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
-05d1 c30c05da bbit0 mouse_enable_ble_random_addre ,p_mouse_start_discovery_norandom 
-05d2 204005c3 call p_mouse_load_eeprom_random_addr_increase_count 
-05d3 680947c2 fetcht 2 ,mem_random_addr_increase_count 
-05d4 18408401 increase 1 ,temp 
-05d5 600947c2 storet 2 ,mem_random_addr_increase_count 
-05d6 600944a1 storet 2 ,mem_le_lap + 1 
-05d7 204005bf call p_mouse_store_eerpom_random_addr_increase_count 
-05d8 180a7e00 random pdata 
-05d9 6000c4a0 store 1 ,mem_le_lap 
+0556 204002e5 call p_mouse_tx_power_init 
+0557 6808c720 fetcht 1 ,mem_device_flag 
+0558 6800c6d2 fetch 1 ,mem_device_number 
+0559 98467c00 isub temp ,null 
+055a 2042c3cc call mouse_select_device_count_clean ,zero 
+055b 6008c720 storet 1 ,mem_device_flag 
+055c 70479c00 jam 0 ,mem_mouse_clear_sensor_data_flag 
+055d 68014682 fetch 2 ,mem_ui_state_map 
+055e c2858567 bbit1 ui_state_ble_adv ,p_mouse_start_discovery_norandom 
+055f 20400552 call p_mouse_load_eeprom_random_addr_increase_count 
+0560 680947c2 fetcht 2 ,mem_random_addr_increase_count 
+0561 18408401 increase 1 ,temp 
+0562 600947c2 storet 2 ,mem_random_addr_increase_count 
+0563 600944a1 storet 2 ,mem_le_lap + 1 
+0564 2040054e call p_mouse_store_eerpom_random_addr_increase_count 
+0565 180a7e00 random pdata 
+0566 6000c4a0 store 1 ,mem_le_lap 
 
 p_mouse_start_discovery_norandom:
-05da 20403418 call app_lpm_mult_disable 
-05db 68014687 fetch 2 ,mem_discovery_timeout 
-05dc 600146ac store 2 ,mem_mouse_discovery_timer 
-05dd 70016d06 jam 6 ,mem_connection_options 
-05de 58000000 setarg 0 
-05df 600146b0 store 2 ,mem_mouse_no_data_timer 
-05e0 600146ae store 2 ,mem_mouse_direct_timer 
-05e1 d8e00007 arg mouse_store_eeprom_flag ,queue 
-05e2 204043ce call mouse_enable_function_flag 
-05e3 204043ca call mouse_bt_discovery_button_down_disable 
-05e4 6800c092 fetch 1 ,mem_device_option 
-05e5 2feffe01 isolate1 mode_4_mouse ,pdata 
-05e6 204085e9 call p_check_51cmd_adv ,true 
-05e7 204042c4 call mouse_start_discovery_norandom + 13 
-05e8 2020051c branch p_mouse_discovery_multi_led_blink 
+0567 20403418 call app_lpm_mult_disable 
+0568 68014687 fetch 2 ,mem_discovery_timeout 
+0569 600146ac store 2 ,mem_mouse_discovery_timer 
+056a 70016d06 jam 6 ,mem_connection_options 
+056b 58000000 setarg 0 
+056c 600146b0 store 2 ,mem_mouse_no_data_timer 
+056d 600146ae store 2 ,mem_mouse_direct_timer 
+056e d8e00007 arg mouse_store_eeprom_flag ,queue 
+056f 204043ce call mouse_enable_function_flag 
+0570 204043ca call mouse_bt_discovery_button_down_disable 
+0571 6800c092 fetch 1 ,mem_device_option 
+0572 2feffe01 isolate1 mode_4_mouse ,pdata 
+0573 20408576 call p_check_51cmd_adv ,true 
+0574 204042c4 call mouse_start_discovery_norandom + 13 
+0575 2020047e branch p_mouse_discovery_multi_led_blink 
 
 p_check_51cmd_adv:
-05e9 70479f00 jam 0 ,mem_mouse_le_reconnect_flag 
-05ea 20400311 call p_le_check_adv_flag 
-05eb 58000005 setarg adv_flag_bredr_not_supported | adv_flag_limited_discoverable 
-05ec e0c08000 istore 1 ,contr 
-05ed d8c04b1d arg mem_le_adv_swift_pair ,contr 
-05ee 204005f0 call p_le_adv_data_update 
-05ef 20207df4 branch check_51cmd_adv 
+0576 70479f00 jam 0 ,mem_mouse_le_reconnect_flag 
+0577 204002f6 call p_le_check_adv_flag 
+0578 58000005 setarg adv_flag_bredr_not_supported | adv_flag_limited_discoverable 
+0579 e0c08000 istore 1 ,contr 
+057a d8c04b1d arg mem_le_adv_swift_pair ,contr 
+057b 2040057d call p_le_adv_data_update 
+057c 20207df4 branch check_51cmd_adv 
 
 p_le_adv_data_update:
-05f0 d8a0437b arg mem_le_adv_data + 11 ,contw 
-05f1 df200013 arg 19 ,loopcnt 
-05f2 20407f01 call memcpy 
-05f3 202057b8 branch le_modified_name_adv 
+057d d8a0437b arg mem_le_adv_data + 11 ,contw 
+057e df200013 arg 19 ,loopcnt 
+057f 20407f01 call memcpy 
+0580 202057b8 branch le_modified_name_adv 
 
 p_mouse_stop_discovery:
-05f4 20400523 call p_mouse_discovey_led_blink_off 
-05f5 58000000 setarg 0 
-05f6 600146ac store 2 ,mem_mouse_discovery_timer 
-05f7 2040033f call p_mouse_sensor_poweron 
-05f8 202042cb branch mouse_stop_discovery + 1 
+0581 204004ad call p_mouse_discovey_led_blink_off 
+0582 58000000 setarg 0 
+0583 600146ac store 2 ,mem_mouse_discovery_timer 
+0584 20400304 call p_mouse_init_sunt 
+0585 202042cb branch mouse_stop_discovery + 1 
 
 p_le_slave_match:
-05f9 6800c50f fetch 1 ,mem_le_md_count 
-05fa 1fe0fe01 pincrease 1 
-05fb 6000c50f store 1 ,mem_le_md_count 
-05fc c0065395 beq le_md_max_count ,le_slave_cont 
-05fd 204055aa call le_acknowledge 
-05fe 2040561e call le_prepare_tx 
-05ff 204006cb call power_ctrl_start 
-0600 2020538f branch le_slave_match + 7 
+0586 6800c50f fetch 1 ,mem_le_md_count 
+0587 1fe0fe01 pincrease 1 
+0588 6000c50f store 1 ,mem_le_md_count 
+0589 c0065395 beq le_md_max_count ,le_slave_cont 
+058a 204055aa call le_acknowledge 
+058b 2040561e call le_prepare_tx 
+058c 20400671 call power_ctrl_start 
+058d 2020538f branch le_slave_match + 7 
 
 p_le_next_adv_channel:
-0601 68008016 fetch 1 ,mem_le_ch_mapped 
-0602 1fe0fe01 increase 1 ,pdata 
-0603 60008016 store 1 ,mem_le_ch_mapped 
-0604 c1940000 rtnne 40 
-0605 70001625 jam 37 ,mem_le_ch_mapped 
-0606 20600000 rtn 
+058e 68008016 fetch 1 ,mem_le_ch_mapped 
+058f 1fe0fe01 increase 1 ,pdata 
+0590 60008016 store 1 ,mem_le_ch_mapped 
+0591 c1940000 rtnne 40 
+0592 70001625 jam 37 ,mem_le_ch_mapped 
+0593 20600000 rtn 
 
 p_le_receive_skip:
-0607 204029bb call save_rssi 
-0608 2040001c call p_rssi_signal 
-0609 202054a3 branch le_receive_skip + 2 
+0594 204029bb call save_rssi 
+0595 2040001f call p_rssi_signal 
+0596 202054a3 branch le_receive_skip + 2 
 
 p_le_update_param:
-060a 20400612 call p_mouse_le_conn_param_check 
-060b 2020557d branch le_update_param + 8 
+0597 2040059f call p_mouse_le_conn_param_check 
+0598 2020557d branch le_update_param + 8 
 
 p_mouse_le_lpm_mult_reinit:
-060c 6800c7c5 fetch 1 ,mem_lpm_mult_init 
-060d 6000c172 store 1 ,mem_lpm_mult 
+0599 6800c7c5 fetch 1 ,mem_lpm_mult_init 
+059a 6000c172 store 1 ,mem_lpm_mult 
 
 p_mouse_le_conn_param_lpm_enable:
-060e 7047c400 jam le_lpm_enable ,mem_mouse_le_conn_param_reject 
-060f 20600000 rtn 
+059b 7047c400 jam le_lpm_enable ,mem_mouse_le_conn_param_reject 
+059c 20600000 rtn 
 
 p_mouse_le_conn_param_lpm_disable:
-0610 7047c401 jam le_lpm_disable ,mem_mouse_le_conn_param_reject 
-0611 20600000 rtn 
+059d 7047c401 jam le_lpm_disable ,mem_mouse_le_conn_param_reject 
+059e 20600000 rtn 
 
 p_mouse_le_conn_param_check:
-0612 6800c3d6 fetch 1 ,mem_le_new_conninterval 
-0613 1fe67c0c sub pdata ,le_interval_15ms ,null 
-0614 24210610 nbranch p_mouse_le_conn_param_lpm_disable ,positive 
-0615 6800c3d8 fetch 1 ,mem_le_new_connslavelatency 
-0616 6808c7c5 fetcht 1 ,mem_lpm_mult_init 
-0617 98467c00 isub temp ,null 
-0618 2021060c branch p_mouse_le_lpm_mult_reinit ,positive 
-0619 6800c3d8 fetch 1 ,mem_le_new_connslavelatency 
-061a 6000c172 store 1 ,mem_lpm_mult 
-061b 2020060e branch p_mouse_le_conn_param_lpm_enable 
+059f 6800c3d6 fetch 1 ,mem_le_new_conninterval 
+05a0 1fe67c0c sub pdata ,le_interval_15ms ,null 
+05a1 2421059d nbranch p_mouse_le_conn_param_lpm_disable ,positive 
+05a2 6800c3d8 fetch 1 ,mem_le_new_connslavelatency 
+05a3 6808c7c5 fetcht 1 ,mem_lpm_mult_init 
+05a4 98467c00 isub temp ,null 
+05a5 20210599 branch p_mouse_le_lpm_mult_reinit ,positive 
+05a6 6800c3d8 fetch 1 ,mem_le_new_connslavelatency 
+05a7 6000c172 store 1 ,mem_lpm_mult 
+05a8 2020059b branch p_mouse_le_conn_param_lpm_enable 
 
 p_le_update_channel_map:
-061c 6800843f fetch 1 ,mem_le_state 
-061d c4030000 rtnbit0 lestate_update_map 
-061e 20400621 call p_le_channel_map_overflow_check 
-061f 24740000 nrtn user 
-0620 202055a0 branch le_update_channel_map + 3 
+05a9 6800843f fetch 1 ,mem_le_state 
+05aa c4030000 rtnbit0 lestate_update_map 
+05ab 204005ae call p_le_channel_map_overflow_check 
+05ac 24740000 nrtn user 
+05ad 202055a0 branch le_update_channel_map + 3 
 
 p_le_channel_map_overflow_check:
-0621 78347c00 enable user 
-0622 6800845a fetch 1 ,mem_le_event_count + 1 
-0623 1ff1fe00 rshift4 pdata ,pdata 
-0624 c1878000 rtnne 0x0f 
-0625 68008460 fetch 1 ,mem_le_instant + 1 
-0626 1ff1fe00 rshift4 pdata ,pdata 
-0627 c1800000 rtnne 0x00 
-0628 20207fe9 branch disable_user 
+05ae 78347c00 enable user 
+05af 6800845a fetch 1 ,mem_le_event_count + 1 
+05b0 1ff1fe00 rshift4 pdata ,pdata 
+05b1 c1878000 rtnne 0x0f 
+05b2 68008460 fetch 1 ,mem_le_instant + 1 
+05b3 1ff1fe00 rshift4 pdata ,pdata 
+05b4 c1800000 rtnne 0x00 
+05b5 20207fe9 branch disable_user 
 
 p_le_prepare_tx:
-0629 68008456 fetch 1 ,mem_le_arq 
-062a c282863d bbit1 wak ,p_le_prepare_tx_wak 
-062b 204006bd call power_ctrl_pac_succ_incrs 
-062c 6800c78e fetch 1 ,mem_empty_count 
-062d 243a0633 nbranch p_le_send_empyt ,blank 
-062e 6800843f fetch 1 ,mem_le_state 
-062f c3020637 bbit0 lestate_encryption ,p_le_tx_4 
-0630 680082da fetch 1 ,mem_le_rxbuf + 1 
-0631 203a0637 branch p_le_tx_4 ,blank 
-0632 20205664 branch le_send_empty 
+05b6 68008456 fetch 1 ,mem_le_arq 
+05b7 c28285ca bbit1 wak ,p_le_prepare_tx_wak 
+05b8 20400663 call power_ctrl_pac_succ_incrs 
+05b9 6800c78e fetch 1 ,mem_empty_count 
+05ba 243a05c0 nbranch p_le_send_empyt ,blank 
+05bb 6800843f fetch 1 ,mem_le_state 
+05bc c30205c4 bbit0 lestate_encryption ,p_le_tx_4 
+05bd 680082da fetch 1 ,mem_le_rxbuf + 1 
+05be 203a05c4 branch p_le_tx_4 ,blank 
+05bf 20205664 branch le_send_empty 
 
 p_le_send_empyt:
-0633 6800c78e fetch 1 ,mem_empty_count 
-0634 1fe0ffff increase -1 ,pdata 
-0635 6000c78e store 1 ,mem_empty_count 
-0636 20205664 branch le_send_empty 
+05c0 6800c78e fetch 1 ,mem_empty_count 
+05c1 1fe0ffff increase -1 ,pdata 
+05c2 6000c78e store 1 ,mem_empty_count 
+05c3 20205664 branch le_send_empty 
 
 p_le_tx_4:
-0637 6800c4c4 fetch 1 ,mem_le_pairing_state 
-0638 c082863a bne flag_le_pairing_after_auth ,p_in_le_tx_4 
-0639 70478e03 jam 3 ,mem_empty_count 
+05c4 6800c4c4 fetch 1 ,mem_le_pairing_state 
+05c5 c08285c7 bne flag_le_pairing_after_auth ,p_in_le_tx_4 
+05c6 70478e03 jam 3 ,mem_empty_count 
 
 p_in_le_tx_4:
-063a 20405892 call le_fifo_check_nearly_full 
-063b 205a03eb call p_mouse_data_pull ,blank 
-063c 20205622 branch le_prepare_tx + 4 
+05c7 20405892 call le_fifo_check_nearly_full 
+05c8 205a03a9 call p_mouse_data_pull ,blank 
+05c9 20205622 branch le_prepare_tx + 4 
 
 p_le_prepare_tx_wak:
-063d 2040063f call p_le_check_tx_retransmit_setmd 
-063e 2020064b branch p_le_power_ctrl_pac_succ_decrs 
+05ca 204005cc call p_le_check_tx_retransmit_setmd 
+05cb 202005d8 branch p_le_power_ctrl_pac_succ_decrs 
 
 p_le_check_tx_retransmit_setmd:
-063f 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
-0640 1fe17e03 and pdata ,0x03 ,pdata 
-0641 c1818000 rtnne 0x03 
-0642 6800c7c1 fetch 1 ,mem_mouse_data_queue_num 
-0643 207a0000 rtn blank 
-0644 6800c3dd fetch 1 ,mem_le_txlen 
-0645 207a0000 rtn blank 
-0646 6800c3dc fetch 1 ,mem_le_txheader 
-0647 79207e04 set1 md ,pdata 
-0648 6000c3dc store 1 ,mem_le_txheader 
-0649 20405650 call le_set_md 
-064a 20600000 rtn 
+05cc 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+05cd 1fe17e03 and pdata ,0x03 ,pdata 
+05ce c1818000 rtnne 0x03 
+05cf 6800c7c1 fetch 1 ,mem_mouse_data_queue_num 
+05d0 207a0000 rtn blank 
+05d1 6800c3dd fetch 1 ,mem_le_txlen 
+05d2 207a0000 rtn blank 
+05d3 6800c3dc fetch 1 ,mem_le_txheader 
+05d4 79207e04 set1 md ,pdata 
+05d5 6000c3dc store 1 ,mem_le_txheader 
+05d6 20405650 call le_set_md 
+05d7 20600000 rtn 
 
 p_le_power_ctrl_pac_succ_decrs:
-064b 202006c1 branch power_ctrl_pac_succ_decrs 
+05d8 20200667 branch power_ctrl_pac_succ_decrs 
 
 p_mouse_le_reconn_write_enable_timer_reinit:
-064c 6800c79f fetch 1 ,mem_mouse_le_reconnect_flag 
-064d 207a0000 rtn blank 
-064e 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
-064f 1fe17e03 and pdata ,0x03 ,pdata 
-0650 c1018000 rtneq 0x03 
-0651 7046c60a jam 10 ,mem_le_start_encrypt_timer 
-0652 20600000 rtn 
+05d9 6800c79f fetch 1 ,mem_mouse_le_reconnect_flag 
+05da 207a0000 rtn blank 
+05db 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+05dc 1fe17e03 and pdata ,0x03 ,pdata 
+05dd c1018000 rtneq 0x03 
+05de 7046c60a jam 10 ,mem_le_start_encrypt_timer 
+05df 20600000 rtn 
 
 p_le_parse:
-0653 c6078000 rtnmark1 mark_old_packet 
-0654 20405890 call le_fifo_check_full 
-0655 247a0000 nrtn blank 
-0656 680082d9 fetch 1 ,mem_le_rxbuf 
-0657 1fe17e03 and pdata ,0x3 ,pdata 
-0658 6000c50c store 1 ,mem_le_packet_llid 
-0659 e8c08000 ifetch 1 ,contr 
-065a 1fe17e1f and pdata ,0x1f ,pdata 
-065b 6000c50b store 1 ,mem_le_packet_size 
-065c 207a0000 rtn blank 
-065d 18c27e00 copy contr ,pdata 
-065e 6001450d store 2 ,mem_le_payload_ptr 
-065f 6800c50c fetch 1 ,mem_le_packet_llid 
-0660 c0018662 beq llid_le_ll ,p_le_parse_ll 
-0661 2020568d branch le_parse_l2cap 
+05e0 c6078000 rtnmark1 mark_old_packet 
+05e1 20405890 call le_fifo_check_full 
+05e2 247a0000 nrtn blank 
+05e3 680082d9 fetch 1 ,mem_le_rxbuf 
+05e4 1fe17e03 and pdata ,0x3 ,pdata 
+05e5 6000c50c store 1 ,mem_le_packet_llid 
+05e6 e8c08000 ifetch 1 ,contr 
+05e7 1fe17e1f and pdata ,0x1f ,pdata 
+05e8 6000c50b store 1 ,mem_le_packet_size 
+05e9 207a0000 rtn blank 
+05ea 18c27e00 copy contr ,pdata 
+05eb 6001450d store 2 ,mem_le_payload_ptr 
+05ec 6800c50c fetch 1 ,mem_le_packet_llid 
+05ed c00185ef beq llid_le_ll ,p_le_parse_ll 
+05ee 2020568d branch le_parse_l2cap 
 
 p_le_parse_ll:
-0662 680082db fetch 1 ,mem_le_rxbuf + 2 
-0663 c0008665 beq ll_channel_map_req ,p_le_parse_channel_map_req 
-0664 20205c65 branch le_parse_ll + 1 
+05ef 680082db fetch 1 ,mem_le_rxbuf + 2 
+05f0 c00085f2 beq ll_channel_map_req ,p_le_parse_channel_map_req 
+05f1 20205c65 branch le_parse_ll + 1 
 
 p_le_parse_channel_map_req:
-0665 e8c28000 ifetch 5 ,contr 
-0666 6002c3ce store 5 ,mem_le_new_map 
-0667 e8c10000 ifetch 2 ,contr 
-0668 6001045f store 2 ,mem_le_instant 
-0669 20205c8a branch le_parse_channel_map_req + 7 
+05f2 e8c28000 ifetch 5 ,contr 
+05f3 6002c3ce store 5 ,mem_le_new_map 
+05f4 e8c10000 ifetch 2 ,contr 
+05f5 6001045f store 2 ,mem_le_instant 
+05f6 20205c8a branch le_parse_channel_map_req + 7 
 
 p_le_parse_l2cap:
-066a e8c10000 ifetch 2 ,contr 
-066b c002066e beq le_l2cap_cid_att ,p_le_parse_att 
-066c c003068b beq le_l2cap_cid_smp ,p_le_parse_smp 
-066d 20205698 branch le_parse_l2cap + 11 
+05f7 e8c10000 ifetch 2 ,contr 
+05f8 c00205fb beq le_l2cap_cid_att ,p_le_parse_att 
+05f9 c0030628 beq le_l2cap_cid_smp ,p_le_parse_smp 
+05fa 20205698 branch le_parse_l2cap + 11 
 
 p_le_parse_att:
-066e 20407ea5 call store_contr 
-066f 2040064c call p_mouse_le_reconn_write_enable_timer_reinit 
-0670 20407e9f call get_contr 
-0671 e8c18000 ifetch 3 ,contr 
-0672 60018477 store 3 ,mem_le_att_opcode 
-0673 c008067d beq attop_read_by_group_type_request ,p_le_parse_att_read_by_group_type_request 
-0674 1fec8400 rshift8 pdata ,temp 
-0675 18467c24 sub temp ,0x24 ,null 
-0676 202158ad branch le_parse_att + 2 ,positive 
-0677 d84047c6 arg mem_mouse_le_uuid_sup ,temp 
-0678 600944bc storet 2 ,mem_ui_le_uuid_table 
-0679 204058ad call le_parse_att + 2 
-067a 58008e7a setarg 0x8e7a 
-067b 600144bc store 2 ,mem_ui_le_uuid_table 
-067c 20600000 rtn 
+05fb 20407ea5 call store_contr 
+05fc 204005d9 call p_mouse_le_reconn_write_enable_timer_reinit 
+05fd 20407e9f call get_contr 
+05fe e8c18000 ifetch 3 ,contr 
+05ff 60018477 store 3 ,mem_le_att_opcode 
+0600 c008060a beq attop_read_by_group_type_request ,p_le_parse_att_read_by_group_type_request 
+0601 1fec8400 rshift8 pdata ,temp 
+0602 18467c24 sub temp ,0x24 ,null 
+0603 20210618 branch p_le_parse_att1 ,positive 
+0604 d84047c6 arg mem_mouse_le_uuid_sup ,temp 
+0605 600944bc storet 2 ,mem_ui_le_uuid_table 
+0606 204058ad call le_parse_att + 2 
+0607 58008e7a setarg 0x8e7a 
+0608 600144bc store 2 ,mem_ui_le_uuid_table 
+0609 20600000 rtn 
 
 p_le_parse_att_read_by_group_type_request:
-067d 204059fa call le_parse_att_read_by_group_type_request 
-067e 20405879 call le_fifo_get_last_tx_ptr 
-067f 18c08c07 increase 7 ,contr 
-0680 e8c08000 ifetch 1 ,contr 
-0681 c1888000 rtnne attop_read_by_group_type_response 
-0682 18c08c05 increase 5 ,contr 
-0683 e8c10000 ifetch 2 ,contr 
-0684 d8401812 arg uuid_service_hids ,temp 
-0685 98467c00 isub temp ,null 
-0686 24628000 nrtn zero 
-0687 18c08dfc increase -4 ,contr 
-0688 5800002b setarg 0x2b 
-0689 e0c10000 istore 2 ,contr 
-068a 20600000 rtn 
+060a 204059fa call le_parse_att_read_by_group_type_request 
+060b 20405879 call le_fifo_get_last_tx_ptr 
+060c 18c08c07 increase 7 ,contr 
+060d e8c08000 ifetch 1 ,contr 
+060e c1888000 rtnne attop_read_by_group_type_response 
+060f 18c08c05 increase 5 ,contr 
+0610 e8c10000 ifetch 2 ,contr 
+0611 d8401812 arg uuid_service_hids ,temp 
+0612 98467c00 isub temp ,null 
+0613 24628000 nrtn zero 
+0614 18c08dfc increase -4 ,contr 
+0615 5800002b setarg 0x2b 
+0616 e0c10000 istore 2 ,contr 
+0617 20600000 rtn 
+
+p_le_parse_att1:
+0618 c005061a beq attop_read_request ,p_le_parse_att_read_request 
+0619 202058ad branch le_parse_att + 2 
+
+p_le_parse_att_read_request:
+061a 68090478 fetcht 2 ,mem_le_att_handle 
+061b 6800c4e9 fetch 1 ,mem_le_configuration 
+061c c2818621 bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
+
+p_le_send_att_read_response:
+061d 68010478 fetch 2 ,mem_le_att_handle 
+061e c009da76 beq 0x13 ,le_send_att_error_response_notfound 
+061f 68090478 fetcht 2 ,mem_le_att_handle 
+0620 202059bf branch le_send_att_read_response 
+
+p_le_send_att_read_response_check_auth:
+0621 680144fa fetch 2 ,mem_le_pairing_handle 
+0622 98467c00 isub temp ,null 
+0623 2422861d nbranch p_le_send_att_read_response ,zero 
+0624 20405a42 call le_check_encrypt_state 
+0625 2434061d nbranch p_le_send_att_read_response ,user 
+0626 70047a05 jam att_err_insufficient_authentication ,mem_le_err_code 
+0627 20205a77 branch le_send_att_error_response 
 
 p_le_parse_smp:
-068b e8c08000 ifetch 1 ,contr 
-068c c002868e beq smp_pairing_failed ,p_le_parse_smp_pairing_failed 
-068d 20205af5 branch le_parse_smp + 1 
+0628 e8c08000 ifetch 1 ,contr 
+0629 c002862b beq smp_pairing_failed ,p_le_parse_smp_pairing_failed 
+062a 20205af5 branch le_parse_smp + 1 
 
 p_le_parse_smp_pairing_failed:
-068e 20405b5a call le_parse_smp_pairing_failed 
-068f 6800843f fetch 1 ,mem_le_state 
-0690 793ffe05 set0 lestate_update_param ,pdata 
-0691 6000843f store 1 ,mem_le_state 
-0692 20205c8e branch le_parse_terminate_ind 
+062b 20405b5a call le_parse_smp_pairing_failed 
+062c 6800843f fetch 1 ,mem_le_state 
+062d 793ffe05 set0 lestate_update_param ,pdata 
+062e 6000843f store 1 ,mem_le_state 
+062f 20205c8e branch le_parse_terminate_ind 
 
 p_le_adv_not_match:
-0693 68008016 fetch 1 ,mem_le_ch_mapped 
-0694 c093d6f2 bne 39 ,le_adv_loop 
-0695 20400699 call p_le_adv_random_delay 
-0696 d8e00000 arg le_adv_interval_timer ,queue 
-0697 68014482 fetch 2 ,mem_le_adv_interval 
-0698 20207f08 branch timer_init 
+0630 68008016 fetch 1 ,mem_le_ch_mapped 
+0631 c093d6f2 bne 39 ,le_adv_loop 
+0632 20400636 call p_le_adv_random_delay 
+0633 d8e00000 arg le_adv_interval_timer ,queue 
+0634 68014482 fetch 2 ,mem_le_adv_interval 
+0635 20207f08 branch timer_init 
 
 p_le_adv_random_delay:
-0699 180a7e00 random pdata 
-069a d84001ff arg 0x1ff ,temp 
-069b 98417e00 iand temp ,pdata 
-069c 1fe0fefa add pdata ,250 ,pdata 
-069d 20203cbe branch delay 
+0636 180a7e00 random pdata 
+0637 d84001ff arg 0x1ff ,temp 
+0638 98417e00 iand temp ,pdata 
+0639 1fe0fefa add pdata ,250 ,pdata 
+063a 20203cbe branch delay 
 
 p_le_lpm_setmult:
-069e 7855fc00 disable wake 
-069f 203706a1 branch p_le_lpm_set_mult_attempt ,attempt 
-06a0 2436d806 nbranch le_lpm_lost ,match 
+063b 7855fc00 disable wake 
+063c 2037063e branch p_le_lpm_set_mult_attempt ,attempt 
+063d 2436d806 nbranch le_lpm_lost ,match 
 
 p_le_lpm_set_mult_attempt:
-06a1 20402bcb call lpm_match 
-06a2 680140c1 fetch 2 ,mem_rx_window_sniff 
-06a3 6001044d store 2 ,mem_le_receive_window 
-06a4 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
-06a5 2fe00603 compare 3 ,pdata ,3 
-06a6 2420abde nbranch lpm_mult_short ,true 
-06a7 202057fb branch le_lpm_set_mult_attempt + 3 
+063e 20402bcb call lpm_match 
+063f 680140c1 fetch 2 ,mem_rx_window_sniff 
+0640 6001044d store 2 ,mem_le_receive_window 
+0641 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+0642 2fe00603 compare 3 ,pdata ,3 
+0643 2420abde nbranch lpm_mult_short ,true 
+0644 202057fb branch le_lpm_set_mult_attempt + 3 
 
 p_le_mouse_bb_event_connect_complete:
-06a8 6800c79f fetch 1 ,mem_mouse_le_reconnect_flag 
-06a9 247a0000 nrtn blank 
-06aa 68008478 fetch 1 ,mem_le_att_handle 
-06ab 1fe67e1a sub pdata ,26 ,pdata 
-06ac 24628000 nrtn zero 
-06ad 20203d60 branch mouse_le_write_enable 
+0645 6800c79f fetch 1 ,mem_mouse_le_reconnect_flag 
+0646 247a0000 nrtn blank 
+0647 68008478 fetch 1 ,mem_le_att_handle 
+0648 1fe67e1a sub pdata ,26 ,pdata 
+0649 24628000 nrtn zero 
+064a 20203d60 branch mouse_le_write_enable 
+
+p_check_51cmd_once_continue:
+064b 204062bc call lmo_fifo_check 
+064c 243a7ddb nbranch check_51cmd_restore ,blank 
+064d 68008a99 fetch 1 ,mem_fifo_temp 
+064e c584fdd6 bmark0 mark_context ,check_51cmd_check_idle 
+064f c0090651 beq bt_cmd_le_update_conn ,p_check_51cmd_ble_update_connect_param 
+0650 20207dca branch check_51cmd_once_continue + 2 
+
+p_check_51cmd_ble_update_connect_param:
+0651 20405890 call le_fifo_check_full 
+0652 247a0000 nrtn blank 
+0653 20205abf branch le_l2cap_tx_update_req 
 
 p_twspi_reset:
-06ae 68108077 hfetch 1 ,core_gpio_out3 
-06af 1fe17efd and_into 0xfd ,pdata 
-06b0 60108077 hstore 1 ,core_gpio_out3 
-06b1 68188073 hfetcht 1 ,core_gpio_oe3 
-06b2 18418402 or_into 0x2 ,temp 
-06b3 60188073 hstoret 1 ,core_gpio_oe3 
-06b4 204063ee call twspi_disable 
-06b5 184104fd and_into 0xfd ,temp 
-06b6 2000000d nop 13 
-06b7 204063f2 call twspi_enable 
-06b8 60188073 hstoret 1 ,core_gpio_oe3 
-06b9 20600000 rtn 
+0654 68108077 hfetch 1 ,core_gpio_out3 
+0655 1fe17efd and_into 0xfd ,pdata 
+0656 60108077 hstore 1 ,core_gpio_out3 
+0657 68188073 hfetcht 1 ,core_gpio_oe3 
+0658 18418402 or_into 0x2 ,temp 
+0659 60188073 hstoret 1 ,core_gpio_oe3 
+065a 204063ee call twspi_disable 
+065b 184104fd and_into 0xfd ,temp 
+065c 2000000d nop 13 
+065d 204063f2 call twspi_enable 
+065e 60188073 hstoret 1 ,core_gpio_oe3 
+065f 20600000 rtn 
 
 power_ctrl_pac_succ_cnt_init:
-06ba 704cfd01 jam 1 ,mem_power_ctrl_level 
-06bb 704cfa00 jam 0 ,mem_power_ctrl_pac_succ_cnt 
-06bc 20600000 rtn 
+0660 704cfe01 jam 1 ,mem_power_ctrl_level 
+0661 704cfb00 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+0662 20600000 rtn 
 
 power_ctrl_pac_succ_incrs:
-06bd 6800ccfa fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-06be 1fe0fe01 increase 1 ,pdata 
-06bf 6000ccfa store 1 ,mem_power_ctrl_pac_succ_cnt 
-06c0 20600000 rtn 
+0663 6800ccfb fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0664 1fe0fe01 increase 1 ,pdata 
+0665 6000ccfb store 1 ,mem_power_ctrl_pac_succ_cnt 
+0666 20600000 rtn 
 
 power_ctrl_pac_succ_decrs:
-06c1 6800ccfa fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-06c2 1fe67c02 sub pdata ,2 ,null 
-06c3 244106c9 ncall power_ctrl_pac_succ_cnt_reinit ,positive 
-06c4 6800ccfa fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-06c5 c1000000 rtneq 0 
-06c6 1fe0ffff increase -1 ,pdata 
-06c7 6000ccfa store 1 ,mem_power_ctrl_pac_succ_cnt 
-06c8 20600000 rtn 
+0667 6800ccfb fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0668 1fe67c02 sub pdata ,2 ,null 
+0669 2441066f ncall power_ctrl_pac_succ_cnt_reinit ,positive 
+066a 6800ccfb fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+066b c1000000 rtneq 0 
+066c 1fe0ffff increase -1 ,pdata 
+066d 6000ccfb store 1 ,mem_power_ctrl_pac_succ_cnt 
+066e 20600000 rtn 
 
 power_ctrl_pac_succ_cnt_reinit:
-06c9 704cfa03 jam 3 ,mem_power_ctrl_pac_succ_cnt 
-06ca 20600000 rtn 
+066f 704cfb03 jam 3 ,mem_power_ctrl_pac_succ_cnt 
+0670 20600000 rtn 
 
 power_ctrl_start:
-06cb 68014682 fetch 2 ,mem_ui_state_map 
-06cc c3858000 rtnbit1 ui_state_ble_adv 
-06cd c3838000 rtnbit1 ui_state_bt_reconnect 
-06ce c3830000 rtnbit1 ui_state_bt_discovery 
-06cf da204c83 arg mem_rssi_signal_buf ,rega 
-06d0 204002be call p_rssi_average 
-06d1 6008ccfb storet 1 ,mem_rssi_avg_received 
-06d2 58000082 setarg rssi_dis_max_24g 
-06d3 c51306d5 bmark1 mark_24g ,power_ctrl_start_next 
-06d4 58000080 setarg rssi_dis_max_ble 
+0671 68014682 fetch 2 ,mem_ui_state_map 
+0672 c3858000 rtnbit1 ui_state_ble_adv 
+0673 da204c84 arg mem_rssi_signal_buf ,rega 
+0674 204002a5 call p_rssi_average 
+0675 6008ccfc storet 1 ,mem_rssi_avg_received 
+0676 58000082 setarg rssi_dis_max_24g 
+0677 c5130679 bmark1 mark_24g ,power_ctrl_start_next 
+0678 58000080 setarg rssi_dis_max_ble 
 
 power_ctrl_start_next:
-06d5 98467c00 isub temp ,null 
-06d6 242106ed nbranch power_ctrl_txpower_incrs_force ,positive 
-06d7 6800ccfa fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-06d8 1fe67c02 sub pdata ,2 ,null 
-06d9 242106dd nbranch power_ctrl_txpower_decrs_check ,positive 
-06da 6800ccfa fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-06db c00006ee beq 0 ,power_ctrl_txpower_incrs 
-06dc 20600000 rtn 
+0679 98467c00 isub temp ,null 
+067a 24210691 nbranch power_ctrl_txpower_incrs_force ,positive 
+067b 6800ccfb fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+067c 1fe67c02 sub pdata ,2 ,null 
+067d 24210681 nbranch power_ctrl_txpower_decrs_check ,positive 
+067e 6800ccfb fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+067f c0000692 beq 0 ,power_ctrl_txpower_incrs 
+0680 20600000 rtn 
 
 power_ctrl_txpower_decrs_check:
-06dd 6800ccfa fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-06de c1900000 rtnne 32 
-06df 704cfa00 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+0681 6800ccfb fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0682 c1990000 rtnne 50 
+0683 704cfb00 jam 0 ,mem_power_ctrl_pac_succ_cnt 
 
 power_ctrl_txpower_decrs:
-06e0 6808ccfb fetcht 1 ,mem_rssi_avg_received 
-06e1 58000077 setarg rssi_dis_min_24g 
-06e2 c51306e4 bmark1 mark_24g ,power_ctrl_txpower_decrs_next 
-06e3 58000075 setarg rssi_dis_min_ble 
+0684 6808ccfc fetcht 1 ,mem_rssi_avg_received 
+0685 58000077 setarg rssi_dis_min_24g 
+0686 c5130688 bmark1 mark_24g ,power_ctrl_txpower_decrs_next 
+0687 58000075 setarg rssi_dis_min_ble 
 
 power_ctrl_txpower_decrs_next:
-06e4 98467c00 isub temp ,null 
-06e5 24610000 nrtn positive 
-06e6 6800ccfd fetch 1 ,mem_power_ctrl_level 
-06e7 c00006f5 beq 0 ,power_ctrl_decrs_level0 
-06e8 1fe0ffff increase -1 ,pdata 
-06e9 6000ccfd store 1 ,mem_power_ctrl_level 
-06ea c00006f5 beq 0 ,power_ctrl_decrs_level0 
+0688 98467c00 isub temp ,null 
+0689 24610000 nrtn positive 
+068a 6800ccfe fetch 1 ,mem_power_ctrl_level 
+068b c0000699 beq 0 ,power_ctrl_decrs_level0 
+068c 1fe0ffff increase -1 ,pdata 
+068d 6000ccfe store 1 ,mem_power_ctrl_level 
+068e c0000699 beq 0 ,power_ctrl_decrs_level0 
 
 power_ctrl_decrs_level1:
 
 power_ctrl_incrs_level1:
-06eb 7041de00 jam tx_power_0db ,mem_tx_power 
-06ec 20600000 rtn 
+068f 7041de00 jam tx_power_0db ,mem_tx_power 
+0690 20600000 rtn 
 
 power_ctrl_txpower_incrs_force:
-06ed 704cfa00 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+0691 704cfb00 jam 0 ,mem_power_ctrl_pac_succ_cnt 
 
 power_ctrl_txpower_incrs:
-06ee 6800ccfd fetch 1 ,mem_power_ctrl_level 
-06ef c00106f3 beq 2 ,power_ctrl_incrs_level2 
-06f0 1fe0fe01 increase 1 ,pdata 
-06f1 6000ccfd store 1 ,mem_power_ctrl_level 
-06f2 c00086eb beq 1 ,power_ctrl_incrs_level1 
+0692 6800ccfe fetch 1 ,mem_power_ctrl_level 
+0693 c0010697 beq 2 ,power_ctrl_incrs_level2 
+0694 1fe0fe01 increase 1 ,pdata 
+0695 6000ccfe store 1 ,mem_power_ctrl_level 
+0696 c000868f beq 1 ,power_ctrl_incrs_level1 
 
 power_ctrl_incrs_level2:
-06f3 7041de02 jam tx_power_5db ,mem_tx_power 
-06f4 20600000 rtn 
+0697 7041de02 jam tx_power_5db ,mem_tx_power 
+0698 20600000 rtn 
 
 power_ctrl_decrs_level0:
-06f5 7041de04 jam tx_power_f5db ,mem_tx_power 
-06f6 20600000 rtn 
+0699 7041de04 jam tx_power_f5db ,mem_tx_power 
+069a 20600000 rtn 
 
 p_set_freq_tx:
-06f7 60088017 storet 1 ,mem_last_freq 
-06f8 1840a200 add temp ,0 ,rega 
-06f9 20402981 call rf_write_freq 
-06fa 58000500 setarg param_pll_setup 
-06fb 20402a8f call sleep 
+069b 60088017 storet 1 ,mem_last_freq 
+069c 1840a200 add temp ,0 ,rega 
+069d 20402981 call rf_write_freq 
+069e 58000500 setarg param_pll_setup 
+069f 20402a8f call sleep 
 
 p_rf_tx_enable:
-06fc 70890601 jam 0x1 ,rfen_adc 
-06fd 7089003c jam 0x3c ,rfen_rx 
-06fe 708901e0 jam 0xe0 ,rfen_tx 
-06ff 2000000a nop 10 
-0700 70890201 jam 0x01 ,rfen_mdm 
-0701 7089023d jam 0x3d ,rfen_mdm 
-0702 2000000a nop 10 
-0703 708903b7 jam 0xb7 ,rfen_sn 
-0704 2000000a nop 10 
-0705 7089027d jam 0x7d ,rfen_mdm 
-0706 6800c1de fetch 1 ,mem_tx_power 
-0707 c001070f beq tx_power_5db ,p_set_tx_power_5db 
-0708 c0020714 beq tx_power_f5db ,p_set_tx_power_f5db 
-0709 c0100723 beq tx_power_pair ,p_set_tx_power_pair 
+06a0 70890601 jam 0x1 ,rfen_adc 
+06a1 7089003c jam 0x3c ,rfen_rx 
+06a2 708901e0 jam 0xe0 ,rfen_tx 
+06a3 2000000a nop 10 
+06a4 70890201 jam 0x01 ,rfen_mdm 
+06a5 7089023d jam 0x3d ,rfen_mdm 
+06a6 2000000a nop 10 
+06a7 708903b7 jam 0xb7 ,rfen_sn 
+06a8 2000000a nop 10 
+06a9 7089027d jam 0x7d ,rfen_mdm 
+06aa 6800c1de fetch 1 ,mem_tx_power 
+06ab c00106b3 beq tx_power_5db ,p_set_tx_power_5db 
+06ac c00206b8 beq tx_power_f5db ,p_set_tx_power_f5db 
+06ad c01006c7 beq tx_power_pair ,p_set_tx_power_pair 
 
 p_set_tx_power_0db:
-070a 20400719 call p_rx_low_sens 
-070b 708955d0 jam 0xd0 ,0x8955 
-070c 708956e0 jam 0xe0 ,0x8956 
-070d 7089586c jam 0x6c ,0x8958 
-070e 2020294b branch set_tx_power_0db 
+06ae 204006bd call p_rx_low_sens 
+06af 708955d0 jam 0xd0 ,0x8955 
+06b0 708956e0 jam 0xe0 ,0x8956 
+06b1 7089586c jam 0x6c ,0x8958 
+06b2 2020294b branch set_tx_power_0db 
 
 p_set_tx_power_5db:
-070f 2040071e call p_rx_high_sens 
-0710 708955d0 jam 0xd0 ,0x8955 
-0711 708956e0 jam 0xe0 ,0x8956 
-0712 7089583c jam 0x3c ,0x8958 
-0713 20202953 branch set_tx_power_5db 
+06b3 204006c2 call p_rx_high_sens 
+06b4 708955d0 jam 0xd0 ,0x8955 
+06b5 708956e0 jam 0xe0 ,0x8956 
+06b6 7089583c jam 0x3c ,0x8958 
+06b7 20202953 branch set_tx_power_5db 
 
 p_set_tx_power_f5db:
-0714 20400719 call p_rx_low_sens 
-0715 708955d0 jam 0xd0 ,0x8955 
-0716 708956c0 jam 0xc0 ,0x8956 
-0717 7089586c jam 0x6c ,0x8958 
-0718 2020295b branch set_tx_power_f5db 
+06b8 204006bd call p_rx_low_sens 
+06b9 708955d0 jam 0xd0 ,0x8955 
+06ba 708956c0 jam 0xc0 ,0x8956 
+06bb 7089586c jam 0x6c ,0x8958 
+06bc 2020295b branch set_tx_power_f5db 
 
 p_rx_low_sens:
-0719 70894c5b jam 0x5b ,0x894c 
-071a 70894d96 jam 0x96 ,0x894d 
-071b 70894e2c jam 0x2c ,0x894e 
-071c 70894f46 jam 0x46 ,0x894f 
-071d 20600000 rtn 
+06bd 70894c5b jam 0x5b ,0x894c 
+06be 70894d96 jam 0x96 ,0x894d 
+06bf 70894e2c jam 0x2c ,0x894e 
+06c0 70894f46 jam 0x46 ,0x894f 
+06c1 20600000 rtn 
 
 p_rx_high_sens:
-071e 70894cfb jam 0xfb ,0x894c 
-071f 70894def jam 0xef ,0x894d 
-0720 70894eec jam 0xec ,0x894e 
-0721 70894f5e jam 0x5e ,0x894f 
-0722 20600000 rtn 
+06c2 70894cfb jam 0xfb ,0x894c 
+06c3 70894def jam 0xef ,0x894d 
+06c4 70894eec jam 0xec ,0x894e 
+06c5 70894f5e jam 0x5e ,0x894f 
+06c6 20600000 rtn 
 
 p_set_tx_power_pair:
-0723 708956c2 jam 0xc2 ,0x8956 
-0724 708955d0 jam 0xd0 ,0x8955 
-0725 20600000 rtn 
+06c7 708956c2 jam 0xc2 ,0x8956 
+06c8 708955d0 jam 0xd0 ,0x8955 
+06c9 20600000 rtn 
 
 p_shutdown_radio:
-0726 18002a08 force 8 ,radio_ctrl 
-0727 202028fa branch shutdown_radio + 1 
+06ca 18002a08 force 8 ,radio_ctrl 
+06cb 202028fa branch shutdown_radio + 1 
+
+p_drawing_optima_init:
+06cc df200005 arg 5 ,loopcnt 
+06cd d8a04b18 arg mem_mouse_asm_flag ,contw 
+06ce 20207ed4 branch clear_mem 
+
+p_drawing_optima:
+06cf 6802469b fetch 4 ,mem_mouse_x 
+06d0 207a0000 rtn blank 
+06d1 20400720 call p_data_abs_check 
+06d2 58000006 setarg 0x06 
+06d3 20400713 call p_data_greater_than_check 
+06d4 58000003 setarg 0x03 
+06d5 20400719 call p_data_less_than_check 
+06d6 6800cb18 fetch 1 ,mem_mouse_asm_flag 
+06d7 c00086d9 beq 1 ,p_drawing_optima_modify 
+06d8 202006cc branch p_drawing_optima_init 
+
+p_drawing_optima_modify:
+06d9 68014b19 fetch 2 ,mem_mouse_x_pre 
+06da 600111be store 2 ,mem_data_pre 
+06db 6801469b fetch 2 ,mem_mouse_x 
+06dc 600111c0 store 2 ,mem_data_current 
+06dd 204006ec call p_drawing_optima_data 
+06de 680111be fetch 2 ,mem_data_pre 
+06df 60014b19 store 2 ,mem_mouse_x_pre 
+06e0 680111c0 fetch 2 ,mem_data_current 
+06e1 6001469b store 2 ,mem_mouse_x 
+06e2 68014b1b fetch 2 ,mem_mouse_y_pre 
+06e3 600111be store 2 ,mem_data_pre 
+06e4 6801469d fetch 2 ,mem_mouse_y 
+06e5 600111c0 store 2 ,mem_data_current 
+06e6 204006ec call p_drawing_optima_data 
+06e7 680111be fetch 2 ,mem_data_pre 
+06e8 60014b1b store 2 ,mem_mouse_y_pre 
+06e9 680111c0 fetch 2 ,mem_data_current 
+06ea 6001469d store 2 ,mem_mouse_y 
+06eb 20600000 rtn 
+
+p_drawing_optima_data:
+06ec 680111be fetch 2 ,mem_data_pre 
+06ed 680911c0 fetcht 2 ,mem_data_current 
+06ee 9840fe00 iadd temp ,pdata 
+06ef 600191c2 store 3 ,mem_data_sum 
+06f0 2feffe10 isolate1 16 ,pdata 
+06f1 202086f9 branch p_data_sum_overflow ,true 
+06f2 680091c3 fetch 1 ,mem_data_sum + 1 
+06f3 c07f8700 beq 0xff ,p_data_sum_n 
+06f4 680091c2 fetch 1 ,mem_data_sum 
+
+p_data_store_pre:
+06f5 1fe37e00 rshift pdata ,pdata 
+06f6 600111be store 2 ,mem_data_pre 
+06f7 600111c0 store 2 ,mem_data_current 
+06f8 20600000 rtn 
+
+p_data_sum_overflow:
+06f9 680091c3 fetch 1 ,mem_data_sum + 1 
+06fa c00006fd beq 0 ,p_data_sum_overflow_p 
+06fb 680191c2 fetch 3 ,mem_data_sum 
+06fc 202006f5 branch p_data_store_pre 
+
+p_data_sum_overflow_p:
+06fd 7011c400 jam 0 ,mem_data_sum + 2 
+06fe 680091c2 fetch 1 ,mem_data_sum 
+06ff 202006f5 branch p_data_store_pre 
+
+p_data_sum_n:
+0700 680091c2 fetch 1 ,mem_data_sum 
+0701 2040070b call p_pdata_get_half 
+0702 600091be store 1 ,mem_data_pre 
+0703 600091c0 store 1 ,mem_data_current 
+0704 203a0709 branch p_data_zero ,blank 
+0705 580000ff setarg 0xff 
+
+p_data_set_direction:
+0706 600091bf store 1 ,mem_data_pre + 1 
+0707 600091c1 store 1 ,mem_data_current + 1 
+0708 20600000 rtn 
+
+p_data_zero:
+0709 58000000 setarg 0 
+070a 20200706 branch p_data_set_direction 
+
+p_pdata_get_half:
+070b 1fe67e00 sub pdata ,0 ,pdata 
+070c 60008aae store 1 ,mem_rega 
+070d 68008aae fetch 1 ,mem_rega 
+070e 1fe37e00 rshift pdata ,pdata 
+070f 60008aae store 1 ,mem_rega 
+0710 68008aae fetch 1 ,mem_rega 
+0711 1fe67e00 sub pdata ,0 ,pdata 
+0712 20600000 rtn 
+
+p_data_greater_than_check:
+0713 9a267c00 isub rega ,null 
+0714 2421071e nbranch p_enable_asm ,positive 
+0715 9a467c00 isub regb ,null 
+0716 2421071e nbranch p_enable_asm ,positive 
+
+p_disable_asm:
+0717 704b1800 jam 0 ,mem_mouse_asm_flag 
+0718 20600000 rtn 
+
+p_data_less_than_check:
+0719 9a267c00 isub rega ,null 
+071a 24610000 nrtn positive 
+071b 9a467c00 isub regb ,null 
+071c 24610000 nrtn positive 
+071d 20200717 branch p_disable_asm 
+
+p_enable_asm:
+071e 704b1801 jam 1 ,mem_mouse_asm_flag 
+071f 20600000 rtn 
+
+p_data_abs_check:
+0720 6801469b fetch 2 ,mem_mouse_x 
+0721 600111c0 store 2 ,mem_data_current 
+0722 20400729 call p_data_abs 
+0723 1fe22200 copy pdata ,rega 
+0724 6801469d fetch 2 ,mem_mouse_y 
+0725 600111c0 store 2 ,mem_data_current 
+0726 20400729 call p_data_abs 
+0727 1fe22400 copy pdata ,regb 
+0728 20600000 rtn 
+
+p_data_abs:
+0729 680091c1 fetch 1 ,mem_data_current + 1 
+072a c07f872e beq 0xff ,p_data_reversal 
+072b 680091c0 fetch 1 ,mem_data_current 
+
+p_data_abs_store:
+072c 1fe17eff and_into 0xff ,pdata 
+072d 20600000 rtn 
+
+p_data_reversal:
+072e 680111c0 fetch 2 ,mem_data_current 
+072f 1fe67e00 sub pdata ,0 ,pdata 
+0730 2020072c branch p_data_abs_store 
 org 0x2000
 
 start:
@@ -7479,6 +7526,8 @@
 2f1d 20403263 call g24_set0_mem_check_dongle_times 
 2f1e 580000ff setarg state_24g_pairing_success 
 2f1f 20403256 call g24_store_mem_pairing_sm 
+
+g24_app_tx_attemp_succ:
 2f20 700a993c jam bt_evt_24g_attempt_success ,mem_fifo_temp 
 2f21 20207d86 branch ui_ipc_send_event 
 
Index: program/24g.prog
===================================================================
--- /branch/mouse_project/CZT_Project/JinQi_24G&BLE/program/24g.prog	(revision 1737)
+++ /branch/mouse_project/CZT_Project/JinQi_24G&BLE/program/24g.prog	(working copy)
@@ -1098,6 +1098,7 @@
 	setarg STATE_24G_PAIRING_SUCCESS
 	call g24_store_mem_pairing_sm
 	//jam 0,mem_24g_check_dongle_times
+g24_app_tx_attemp_succ:	
 	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
 	branch ui_ipc_send_event
 
Index: program/patch.prog
===================================================================
--- /branch/mouse_project/CZT_Project/JinQi_24G&BLE/program/patch.prog	(revision 1737)
+++ /branch/mouse_project/CZT_Project/JinQi_24G&BLE/program/patch.prog	(working copy)
@@ -3,7 +3,7 @@
 define G24
 define BLE
 //define CLASSIC_BT
-//define MOUSE_SMOOTHER
+define MOUSE_SMOOTHER
 define ADC_ENABLE
 //define P24G_LOG
 //define RF_DEBUG
@@ -21,7 +21,9 @@
 
 ifdef PATCH
 	bbit1 8,pf_patch_ext
+	beq patch00_0,p_soft_reset
 	beq patch00_1,p_soft_reset_1
+	beq patch00_2,p_soft_reset_2	
 	beq patch10_5,p_shutdown_radio
 	beq patch11_1,p_set_freq_tx
 ifdef CLASSIC_BT
@@ -58,6 +60,7 @@
 	beq patch2c_7,p_le_parse_l2cap
 	beq patch2d_2,p_le_adv_not_match
 	beq patch2e_7,p_le_lpm_setmult
+	beq patch3f_2,p_check_51cmd_once_continue
 endif	
 ifdef CLASSIC_BT
 	beq patch20_5,p_hid_rx_process
@@ -88,6 +91,11 @@
 	storet 1,mem_rssi_signal_index
 	rtn
 
+p_soft_reset:
+	hfetch 1,0x813b
+	store 1,mem_power_on_flag
+	branch soft_reset+1
+
 p_soft_reset_1:
 	arg mem_sp_state,contw
 	arg 12,loopcnt
@@ -101,6 +109,26 @@
 	call ui_init+1
 	branch soft_reset+11
 
+p_soft_reset_2:
+	call app_lpm_init,wake
+ifdef SIMPLE_PAIRING
+	call publickey_init
+else
+	call ssp_disable
+ifdef SECURE_CONNECTION
+	call publickey_init
+
+endif
+endif
+	call lpm_recover_clk,wake
+p_sp_cal_loop:
+	call sp_calc_sequence
+	fetch 1,mem_ssp_enable
+	branch main_loop,blank
+	fetch 1,mem_sp_local_key_invalid // simple pairing is not ready
+	branch p_sp_cal_loop,blank
+	branch main_loop
+
 p_init_param:
 	setarg param_le_version
 	store 3,mem_lmp_version
@@ -110,9 +138,10 @@
 
 p_lpm_check_wake_lock:
 	rtnmark1 mark_24g
-	call p_mouse_bt_multi_led_lpm_lock
 	fetch 1,mem_mouse_multi_led_state
-	beq ON,disable_blank
+	nbranch disable_blank,blank
+	fetch 1,mem_mouse_multi_led_blink_count
+	nbranch disable_blank,blank
 	fetch 1,mem_mouse_clear_sensor_data_flag
 	beq 0,disable_blank
 	fetch 1,mem_mouse_le_conn_param_reject
@@ -125,17 +154,12 @@
 	nbranch disable_blank,blank
 	branch enable_blank
 
-p_mouse_bt_multi_led_lpm_lock:
-	call enable_blank
-	fetch 1,mem_mouse_multi_led_state
-	ncall disable_blank,blank
-	fetch 1,mem_mouse_multi_led_on_timer
-	ncall disable_blank,blank
-	rtn
-
 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:
@@ -147,9 +171,7 @@
 	fetch 1,mem_24g_pairing_sm
 	rtnne STATE_24G_PAIRING_SUCCESS
 	call power_ctrl_start
-	call g24_long_sleep_shorter_param_update
-	fetch 1,mem_24g_transmit_by_interrupt
-	rtneq G24_TX_TIMER_INT_ENABLE
+//	call g24_long_sleep_shorter_param_update
 	fetch 1,mem_mouse_multi_led_state
 	beq ON,p_g24_transmit_by_interrupt_enable
 p_g24_short_sleep:	
@@ -159,13 +181,66 @@
 	setarg 60500
 	branch lpm_dispatch_sleep
 
-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 20,mem_24g_long_sleep_param_update_timer
-	rtn
+p_g24_pair_dispatch:
+	fetch 1,mem_24g_stop_g24_mode
+	beq 1,g24_stop_24g_mode
+	call p_g24_tx_attemp_data_prep
+	call p_g24_transmit_receive_ack
+	nbranch p_g24_pair_txdata_retry,sync
+	nbranch p_g24_pair_txdata_retry,user3
+	call p_g24_ackpayload_parse
+	fetch 4,mem_24g_addr
+	fetcht 4,mem_24g_allpowerful_addr
+	isub temp,null
+	branch p_g24_auto_pair_skip_rx_length,zero
+	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
+	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
+p_g24_tx_attemp_dongle_succ:	
+	jam 0,mem_mouse_long_mult_flag
+	call g24_app_tx_attemp_succ
+	call p_g24_txbuf_clear
+	branch p_g24_transmit_by_interrupt_enable
+
+p_g24_store_dongle_addr:
+	fetch 4,mem_24g_rxpayload+2
+	branch p_g24_update_addr_and_synccrc8
+
+p_g24_reconn_dispatch:
+	fetch 1,mem_24g_stop_g24_mode
+	beq 1,p_g24_reconn_fail
+	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
+	branch p_g24_tx_attemp_dongle_succ
+
+p_g24_reconn_fail:
+	call p_g24_check_51cmd_stop_24g
+	branch p_g24_auto_pair_start
+
+//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 20,mem_24g_long_sleep_param_update_timer
+//	rtn
 	
 p_g24_transmit_by_interrupt:
 	call p_g24_timer_check
@@ -183,12 +258,12 @@
 p_g24_interval_min:
 	jam 0,mem_24g_pac_index
 	fetch 1,mem_24g_interval_min
-p_g24_current_interval_store:
+p_g24_interval_store:
 	store 1,mem_24g_interval
 	rtn
 p_g24_interval_max:
 	fetch 1,mem_24g_interval_max
-	branch p_g24_current_interval_store
+	branch p_g24_interval_store
 p_g24_interval_calibrate:
 	fetch 1,mem_24g_pac_index
 	increase 1,pdata
@@ -268,38 +343,17 @@
 	//update txpayload
 	store 1,mem_24g_txpayload
 	rtn
+p_g24_hop_enable_packet:
+	fetch 1,mem_24g_data_type
+	rtnbit0 bit_hop	
 p_g24_hop_ch_disable:
 	fetch 1,mem_24g_data_type
 	set0 bit_hop,pdata
 	store 1,mem_24g_data_type
-	rtn	
-
-p_g24_transmit_hop_pac_fail:
+	store 1,mem_24g_txpayload
 	call power_ctrl_pac_succ_decrs
-	fetch 1,mem_24g_rf_work_stage
-	beq 1,p_g24_transmit_hop_pac_fail_wo_hop
-	beq 2,p_g24_transmit_hop_pac_fail_hop_stage2
-	rtn
-p_g24_transmit_hop_pac_fail_wo_hop:
-	jam 2,mem_24g_sync_cnt
-p_g24_transmit_hop_pac_fail_stage1:	
-	jam 0,mem_24g_hop_pac_retry
-	jam 0,mem_24g_rf_last_sta
-	branch p_g24_transmit_rf_ctrl_clear
-
-p_g24_transmit_hop_pac_fail_hop_stage2:
-	jam 0,mem_24g_rf_hop_ch
-	branch p_g24_transmit_hop_pac_fail_stage1
+	branch p_g24_ch
 
-	
-p_g24_transmit_pac_fail_hop_stage3:
-	fetch 2,mem_24g_txfail_cnt
-	increase 1,pdata
-	store 2,mem_24g_txfail_cnt
-	bbit1 10,p_g24_tx_attempt_fail	//1024ms * 8
-	fetch 1,mem_24g_rf_hop_ch
-	beq 1,p_g24_rf_hop_fastly
-	jam 1,mem_24g_rf_hop_ch
 p_g24_rf_hop_attemp_again:
 	fetch 1,mem_24g_rf_hop_ch
 	bne 1,p_g24_transmit_rf_ctrl_clear
@@ -417,8 +471,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
@@ -433,10 +487,8 @@
 	call p_g24_transmit_succ_rf_config
 p_g24_transmit_abandon:
 	setarg 0
-	store 2,mem_24g_txfail_cnt
-	store 1,mem_24g_get_ack_fail
+	store 4,mem_24g_ensure
 	store 1,mem_24g_hop_pac_retry
-	jam ENSURE_OFF_24G,mem_24g_ensure
 	rtn
 
 p_g24_txbuf_clear:
@@ -456,8 +508,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
@@ -467,44 +519,47 @@
 	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 1,mem_24g_get_ack_fail
+	fetch 2,mem_24g_txfail_cnt
 	increase 1,pdata
-	store 1,mem_24g_get_ack_fail
+	store 2,mem_24g_txfail_cnt	
+	fetch 1,mem_24g_txfail_cnt+1
+	bbit1 4,g24_stop_24g_mode
+
 	fetch 1,mem_24g_pairing_sm
 	bne STATE_24G_PAIRING_SUCCESS,p_g24_tx_paring_retry
-	fetcht 1,mem_24g_retry
-	increase 1,temp
-	storet 1,mem_24g_retry
-	fetch 1,mem_24g_max_retry
-	isub temp,pdata
-	nbranch p_g24_transmit_loop,blank
-	fetch 1,mem_24g_rf_work_stage
-	beq 3,p_g24_transmit_pac_fail_hop_stage3
-	fetch 1,mem_24g_hop_pac_retry
-	increase 1,pdata
-	store 1,mem_24g_hop_pac_retry
-	beq 2,p_g24_transmit_hop_pac_fail
-	call p_g24_hop_ch_enable
-	jam 1,mem_24g_max_retry
-	branch p_g24_transmit_packet
+
+	call p_g24_tx_hop_ch_process
+	branch p_g24_transmit_loop
 
 p_g24_tx_paring_retry:
-	fetch 1,mem_24g_get_ack_fail
+	fetch 1,mem_24g_txfail_cnt
 	rtnne 0xff
-	jam 0,mem_24g_get_ack_fail
-	branch p_g24_stop_g24_mode
-
 p_g24_tx_attempt_fail:
 	setarg 0
 	store 2,mem_24g_txfail_cnt
-p_g24_stop_g24_mode:
-	jam BT_EVT_24G_ATTEMPT_FAIL,mem_fifo_temp
-	branch ui_ipc_send_event
+	branch g24_stop_24g_mode
+
+p_g24_tx_fast_hop:
+	call power_ctrl_txpower_incrs
+	call power_ctrl_pac_succ_decrs
+	branch p_g24_ch
+
+p_g24_tx_hop_ch_process:
+	fetch 1,mem_24g_retry
+	sub pdata,11,null
+	nbranch  p_g24_tx_fast_hop,positive		// >= 6+6 hop fast    fail packet count >= 2
+	increase 1,pdata
+	store 1,mem_24g_retry
+	beq 2,p_g24_hop_ch_enable
+	beq 6,p_g24_hop_ch_disable
+	beq 8,p_g24_hop_ch_enable
+	beq 12,p_g24_hop_ch_disable
+	rtn
 
 p_g24_ackpayload_parse:
 	call p_g24_read_len_pid_crc
@@ -516,7 +571,6 @@
 	branch memcpy
 
 p_g24_start_pairing_sm1:
-	set1 mark_24g,mark
 	call p_g24_pair_init
 p_g24_set_pairing_sm_1:
 	jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
@@ -581,36 +635,19 @@
 p_g24_pairing_sm_3_waiting_ack:
 	jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
 	jam BT_EVT_24G_PAIRING_COMPLETE,mem_fifo_temp
-	call ui_ipc_send_event	
-	fetch 4,mem_24g_rxpayload+2
-	call p_g24_update_addr_and_synccrc8
+	call ui_ipc_send_event
+	call p_g24_store_dongle_addr
 	branch p_g24_transmit_abandon
 
 p_g24_start_24g_mode:
-	set0 mark_24g,mark
-	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 1,mem_24g_check_dongle_times
-	beq 0xff,p_g24_stop_g24_mode
-	call p_g24_transmit_receive_ack
-	nbranch p_g24_attemp_txdata_retry,sync
-	nbranch p_g24_attemp_txdata_retry,user3
-p_g24_tx_attemp_dongle_succ:
+	call p_g24_factory_check
+	branch p_g24_auto_pair_start,user
 	set1 mark_24g,mark
-	setarg 0
-	store 2,mem_24g_check_dongle_times
-	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
-	call ui_ipc_send_event
-	call p_g24_txbuf_clear
-	branch p_g24_transmit_by_interrupt_enable
+	fetch 1,mem_24g_conn_sm
+	set1 STATE_24G_RECONN,pdata
+	store 1,mem_24g_conn_sm
+	call p_g24_ch_syncword_crc8_init
+	branch p_g24_auto_pair_timeout_init
 
 p_g24_tx_attemp_data_prep:
 	jam 0xff,mem_24g_common_temp
@@ -623,63 +660,56 @@
 	call p_g24_put_data_in_buff
 	branch p_g24_transmit_prep
 	
-p_g24_attemp_txdata_retry:
-	fetch 2,mem_24g_check_dongle_times
-	increase 1,pdata
-	store 2,mem_24g_check_dongle_times
-	call p_g24_ch
-	branch p_g24_tx_attemp_dongle_loop
-
 p_g24_auto_pair_start:
-	set0 mark_24g,mark
-	call p_g24_auto_pair_all_powerful
-	call p_g24_tx_attemp_data_prep
-p_g24_auto_pair_restart:
-	jam 0,mem_24g_check_dongle_times
-p_g24_auto_pair_start_loop:
-	call lpo_calibration
-	nop 2000
-	fetch 1,mem_24g_check_dongle_times
-	beq 0xff,p_g24_stop_g24_mode
-	call p_g24_transmit_receive_ack
-	nbranch p_g24_auto_pair_retry,sync
-	nbranch p_g24_auto_pair_retry,user3
-	call p_g24_ackpayload_parse
-	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
-	branch p_g24_tx_attemp_dongle_succ
+	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_DISCONN_NODATA_TIMER
+	store 2,mem_24g_stop_g24_mode_timeout
+	jam 0,mem_24g_stop_g24_mode
+	rtn
 
-p_g24_auto_pair_retry:
-	fetch 1,mem_24g_check_dongle_times
-	increase 1,pdata
-	store 1,mem_24g_check_dongle_times
+p_g24_auto_pair_timeout_clear:
+	setarg 0
+	store 3,mem_24g_stop_g24_mode
+	rtn
+
+p_g24_pair_txdata_retry:
+p_g24_pair_txdata_switch:
 	fetch 1,mem_24g_auto_paring_switch
 	increase 1,pdata
-	and_into 1,pdata
+	and_into 3,pdata
 	store 1,mem_24g_auto_paring_switch
-	beq 0,p_g24_auto_pair_device_attemp
-	beq 1,p_g24_auto_pair_pair_attemp
-	rtn
+	beq 0,p_g24_auto_pair_first_attemp
+	beq 2,p_g24_auto_pair_all_powerful
+	branch p_g24_pair_init
 	
-p_g24_auto_pair_all_powerful:
-	jam TX_POWER_PAIR,mem_tx_power
-	setarg 0x0f0f
-	store 2,mem_24g_addr
-	istore 2,contw
+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_device_attemp:
-	call p_g24_auto_pair_all_powerful
-	branch p_g24_auto_pair_start_loop
+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_auto_pair_pair_attemp:
-	call p_g24_pair_init
-	branch p_g24_auto_pair_start_loop
 
 p_g24_check_51cmd_stop_24g:
 	set0 mark_24g,mark
@@ -796,16 +826,16 @@
 	rshift temp,white_init
 	rtn
 
-p_g24_receive_packet:
-	call le_enable
-	fetch 4,mem_24g_addr
-	iforce access
-	call set_sync_on
-	fetcht 1,mem_24g_ch
-	call set_freq_rx
-	setarg param_pll_setup
-	call sleep
-	call rf_rx_enable
+//p_g24_receive_packet:
+//	call le_enable
+//	fetch 4,mem_24g_addr
+//	iforce access
+//	call set_sync_on
+//	fetcht 1,mem_24g_ch
+//	call set_freq_rx
+//	setarg param_pll_setup
+//	call sleep
+//	call rf_rx_enable
 p_g24_receive_rxon:
 
 ifdef RF_DEBUG
@@ -839,9 +869,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
@@ -900,7 +930,12 @@
 	parse demod,bucket,8
 	rshift3 pwindow,pdata
 	rtn
-	
+
+p_g24_sync_timeout:
+//ifdef DONGLE
+//	call p_rssi_noise
+//endif
+//	branch p_g24_end_of_packet	
 p_g24_end_of_packet:
 	disable encode_fec1
 	disable decode_fec1
@@ -910,12 +945,6 @@
 endif
 	rtn
 
-p_g24_sync_timeout:
-ifdef DONGLE
-	call p_rssi_noise
-endif
-	branch p_g24_end_of_packet
-
 p_g24_set_freq_tx:
 	call set_sync_on
 	fetcht 1,mem_24g_ch
@@ -993,28 +1022,28 @@
 	store 4,mem_24g_tx_btclk
 	branch enable_user
 
-p_rssi_noise:
-	call save_rssi
-	rtn blank
-	fetcht 1,mem_rssi_noise_index
-	arg mem_rssi_noise_buffer,rega
-	call p_rssi_store
-	storet 1,mem_rssi_noise_index
-	rtn
-	
-p_rssi_store:
-	copy rega,pdata
-	iadd temp,contw
-	fetch 1,mem_rssi
-	istore 1,contw
-	increase 1,temp
-ifdef DONGLE
-	and_into RSSI_BUF_LEN_NOISE,temp
-endif
-ifdef MOUSE
-	and_into RSSI_BUF_LEN_SIGNAL,temp
-endif
-	rtn
+//p_rssi_noise:
+//	call save_rssi
+//	rtn blank
+//	fetcht 1,mem_rssi_noise_index
+//	arg mem_rssi_noise_buffer,rega
+//	call p_rssi_store
+//	storet 1,mem_rssi_noise_index
+//	rtn
+//	
+//p_rssi_store:
+//	copy rega,pdata
+//	iadd temp,contw
+//	fetch 1,mem_rssi
+//	istore 1,contw
+//	increase 1,temp
+//ifdef DONGLE
+//	and_into RSSI_BUF_LEN_NOISE,temp
+//endif
+//ifdef MOUSE
+//	and_into RSSI_BUF_LEN_SIGNAL,temp
+//endif
+//	rtn
 p_rssi_average:
 	arg 0,temp
 ifdef DONGLE
@@ -1075,7 +1104,7 @@
 p_mouse_set_sdio_high:
 	fetch 1,mem_mouse_init_sensor_reset_flag
 	rtn blank
-	branch p_mouse_seting_dpi_diff// make sdio high to make 100uA less	
+	branch p_mouse_seting_sensor_type// make sdio high to make 100uA less	
 
 p_device_init:
 ifdef DEBUGLOG
@@ -1123,17 +1152,16 @@
 	call p_drawing_optima_init
 endif
 	call p_mouse_cb_fuction
-ifdef G24	
-	call p_mouse_check_key_gpio
-	beq MOUSE_LM_BUTTON,p_mouse_24g_pairing_button
-endif
+//ifdef G24
+//	call p_mouse_check_key_gpio
+//	beq MOUSE_LM_BUTTON,p_mouse_24g_pairing_button
+//endif
 	call p_mouse_wakeup_from_power
 p_mouse_check_reconn_target:
 	call p_mouse_tx_power_init
 	fetch 1,mem_device_flag
-	fetcht 1,mem_24g_device_number
-	isub temp,null
-	branch p_mouse_connect_24g_mode,zero	
+	beq MODE_24G_DEVICE,p_mouse_connect_24g_mode
+	call p_mouse_mode_bt_device1_multi_led_on
 	fetch 1,mem_xrecord_mode
 ifdef CLASSIC_BT
 	beq REC_3_MODE,p_mouse3_0_check_reconn_target
@@ -1141,8 +1169,8 @@
 ifdef BLE
 	beq REC_4_MODE,p_mouse4_0_check_reconn_target
 endif	
-	//enter hibernate if it is in its factory state
-	branch p_mouse_null_enter_hibernate_enable
+	call mouse_start_discovery
+	branch p_mouse_mode_bt_device1_multi_led_on
 
 p_mouse_tx_power_init:
 	fetch 1,mem_tx_power_temp
@@ -1167,7 +1195,6 @@
 
 ifdef BLE
 p_mouse4_0_check_reconn_target:
-	call p_mouse_mode_bt_device1_multi_led_on
 	jam 1,mem_mouse_le_reconnect_flag
 	fetch 2,mem_mouse_direct_timeout
 	store 2,mem_mouse_direct_timer
@@ -1192,29 +1219,30 @@
 	branch p_le_check_adv_flag_loop
 endif
 
-ifdef G24
-p_mouse_24g_pairing_button:
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	rtnbit0 MOUSE_ENABLE_24G
-	rtnbit1 MOSUE_24G_PAIRING_FLAG
-	rtnmark1 mark_24g
-	call mouse_devce_led_off
-	arg MOSUE_24G_PAIRING_FLAG,queue
-	call mouse_enable_function_flag
-	setarg 0
-	store 2,mem_mouse_direct_timer
-	store 1,mem_mouse_send_blank_timer
-	store 2,mem_24g_check_dongle_times
-	call mouse_stop_discovery
-	branch p_g24_start_pairing_sm1
-endif
+//ifdef G24
+//p_mouse_24g_pairing_button:
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	rtnbit0 MOUSE_ENABLE_24G
+//	rtnbit1 MOSUE_24G_PAIRING_FLAG
+//	rtnmark1 mark_24g
+//	call mouse_devce_led_off
+//	arg MOSUE_24G_PAIRING_FLAG,queue
+//	call mouse_enable_function_flag
+//	setarg 0
+//	store 2,mem_mouse_direct_timer
+//	store 1,mem_mouse_send_blank_timer
+//	store 2,mem_24g_check_dongle_times
+//	call mouse_stop_discovery
+//	branch p_g24_start_pairing_sm1
+//endif
 
 p_mouse_dpi_config:
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	bbit0 MOUSE_ENABLE_EEPROM,mouse_dpi_config
 	fetch 1,mem_mouse_dpi
-	beq 0xff,mouse_dpi_config
-	branch mouse_seting_dpi+2
+	bne 0xff,p_mouse_seting_sensor_type
+p_mouse_dpi_config_default:
+	fetch 1,mem_config_sensor_motion
+	store 1,mem_mouse_dpi
+	branch p_mouse_seting_sensor_type
 
 p_mouse_spi_init:
 	jam 0x76,mem_spi_init_clk
@@ -1223,8 +1251,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
@@ -1235,15 +1261,12 @@
 
 p_mouse_init_sensor_reset:
 	jam 1,mem_mouse_init_sensor_reset_flag
-	call spi_ncs_enable
-	call p_mouse_init_sunt
-	branch spi_ncs_disable
+	branch p_mouse_init_sunt
 
 p_mouse_init_p32xx_id2_judge:
 	call p_mouse_sensor_poweron
 	branch mouse_init_p32xx_id2_judge
 
-
 p_mouse_p3065_init_param:
 	call p_mouse_sensor_poweron
 	fetch 1,mem_sensor_id2
@@ -1269,9 +1292,9 @@
 	call p_g24_set_device_addr
 endif
 	//disable usb function
-	hfetch 1,core_usb_config
-	set0 4,pdata
-	hstore 1,core_usb_config
+//	hfetch 1,core_usb_config
+//	set0 4,pdata
+//	hstore 1,core_usb_config
 	call mouse_gpio_init	
 	call p_mouse_multi_led_gpio_set_float
 	call mouse_param_init
@@ -1293,9 +1316,7 @@
 //	rtn
 p_mouse_init_iic:
 	call iic_init_390k
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	isolate1 MOUSE_ENABLE_2K_EEPROM,pdata
-	ncall clear_eeprom_size_2k,true
+	call clear_eeprom_size_2k
 	call mouse_load_eeprom_dpi
 	call p_mouse_init_environment
 	call p_mouse_set_24g_addr_eeprom
@@ -1337,24 +1358,16 @@
 endif	
 
 p_mouse_multi_led_gpio_set_float:
-	fetch 1,mem_mouse_multi_led_gpio
-	rtneq UI_BUTTON_GPIO_DISABLE
+//	fetch 1,mem_mouse_multi_led_gpio
+//	rtneq UI_BUTTON_GPIO_DISABLE
 	fetcht 1,mem_mouse_multi_led_gpio
+p_set_gpio_suspend:	
 	set0 gpio_active_bit,temp
 	branch gpio_set_high_impedance
 
 p_mouse_select_device_button_gpio_set_suspend:
 	fetcht 1,mem_config_select_device_button_gpio
-p_mouse_set_gpio_suspend:
-	set0 gpio_active_bit,temp
-	arg core_gpio_pu0,contw
-	call gpio_set_bit
-	set0 gpio_active_bit,temp
-	arg core_gpio_pd0,contw
-	call gpio_set_bit
-	set0 gpio_active_bit,temp
-	arg core_gpio_oe0,contw
-	branch gpio_set_bit
+	branch p_set_gpio_suspend
 
 p_mouse_init_environment:
 	call app_initflag_check
@@ -1385,25 +1398,31 @@
 	branch mouse_select_reconn_device
 
 p_mouse_wakeup_from_power:
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	bbit0 MOUSE_ENABLE_WAKEUP_FROM_POWER,p_mouse_wakeup_no_from_power
-	fetch 1,mem_wakup_from_power_flag
-	isolate0 gpio_latch,pdata
-	nbranch p_mouse_wakeup_no_from_power,true
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	bbit0 MOUSE_ENABLE_WAKEUP_FROM_POWER,p_mouse_wakeup_no_from_power
+//	fetch 1,mem_wakup_from_power_flag
+//	isolate0 gpio_latch,pdata
+//	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
 	fetch 1,mem_config_function_enable	//standard do not need it
-	rtnbit1 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
+//	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
-	call p_g24_factory_check
-	branch p_g24_auto_pair_start,user
-	branch p_g24_start_24g_mode
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	rtnbit0 MOUSE_ENABLE_24G
+	fetch 1,mem_power_on_flag
+	bbit1 2,p_g24_start_24g_mode	//hibernate goto reconn
+	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
+
 
 p_g24_factory_check:
 	arg 2,loopcnt
@@ -1487,22 +1506,20 @@
 	fetch 1,mem_mouse_clear_sensor_data_flag
 	call p_mouse_clear_sensor_data,blank
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-//	bbit1 MOSUE_24G_PAIRING_FLAG,mouse_le_send_empty_packet
-//	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_le_send_empty_packet
 	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_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_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_xy_release:
 	fetch 1,mem_config_function_enable
@@ -1512,7 +1529,7 @@
 	setarg 0
 	store 1,mem_mouse_long_mult_flag
 	store 4,mem_mouse_x
-	branch p_mouse_sensor_poweron
+	branch p_mouse_init_sunt
 
 
 p_mouse_data_init:
@@ -1587,7 +1604,7 @@
 	fetch 2,mem_mouse_z
 	rtn blank
 	jam 1,mem_mouse_wheel_trigger
-	jam 2,mem_mouse_wheel_trigger_timer
+	jam 20,mem_mouse_wheel_trigger_timer
 	rtn
 
 ifdef CLASSIC_BT
@@ -1600,8 +1617,6 @@
 	fetch 1,mem_mouse_clear_sensor_data_flag
 	call p_mouse_clear_sensor_data,blank
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-//	bbit1 MOSUE_24G_PAIRING_FLAG,mouse_send_empty_data
-//	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_send_empty_data
 	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_send_empty_data
 	bbit1 MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,mouse_send_empty_data
 	call mouse_motion
@@ -1637,7 +1652,7 @@
 p_mouse_clear_sensor_data:
 	call le_set_config_more_data
 	jam 1,mem_mouse_clear_sensor_data_flag
-	branch p_mouse_sensor_poweron
+	branch p_mouse_init_sunt
 
 p_mouse_idle:
 	call ui_check_paring_button
@@ -1645,11 +1660,11 @@
 	branch mouse_wheel_check
 
 p_mouse_dpi_check:
-	fetcht 1,mem_dpi_button_gpio
-	call p_gpio_set_input_pu
+//	fetcht 1,mem_dpi_button_gpio
+//	call p_gpio_set_input_pu
 	fetcht 1,mem_dpi_button_gpio
 	call gpio_get_bit
-	nbranch p_mouse_dpi_up,true
+	nbranch mouse_dpi_up,true
 p_mouse_dpi_down:
 	fetch 1,mem_mouse_dpi_button_state
 	rtneq DPI_BUTTON_STATE_DOWN
@@ -1659,12 +1674,12 @@
 	and pdata,0x03,pdata
 	store 1,mem_mouse_dpi
 	increase 2,pdata
-	store 2,mem_mouse_multi_led_blink_count
+	store 1,mem_mouse_multi_led_blink_count
 	call p_mouse_dpi_multi_led_blink
 	branch mouse_dpi_down+7
-p_mouse_dpi_up:
-	call p_gpio_set_input_pu
-	branch mouse_dpi_up
+//p_mouse_dpi_up:
+//	call p_gpio_set_input_pu
+//	branch mouse_dpi_up
 
 
 p_mouse_priority_bb_event:
@@ -1792,22 +1807,12 @@
 
 ifdef G24
 p_mouse_24g_pairing_complete:
-	call p_mouse_init_sensor_reset
-
-	jam 1,mem_mouse_24g_enter_lpm_enable
+	call p_mouse_tx_power_init
+	call p_mouse_24g_attempt_success
 	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_null_enter_hibernate_disable
-	call p_mouse_store_24g_device_2eeprom
-	call p_mouse_tx_power_init
-
-	call p_mouse_set_24g_addr_eeprom	//store rx dongle addr to eeprom
-	branch iicd_write_protect_eep_data
+	branch mouse_read_sensor_common
 
 p_mouse_set_24g_addr_eeprom:
 	arg mem_24g_addr,rega
@@ -1820,16 +1825,7 @@
 	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_config_function_enable
-	bbit1 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON,p_mouse_null_enter_hibernate_enable
-	bbit1 ENABLE_SELECT_DEVICE_BY_SWITCH,p_mouse_null_enter_hibernate_enable
-	jam 0,mem_link_key_exists
-	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
-	branch p_mouse_check_reconn_target
+	branch p_mouse_null_enter_hibernate_enable
 
 p_mouse_null_enter_hibernate_enable:	//ble never connected
 	jam 1,mem_mouse_null_enter_hibernate_flag
@@ -1847,12 +1843,19 @@
 	branch p_mouse_null_enter_hibernate_enable	
 
 p_mouse_24g_attempt_success:
+	call p_g24_auto_pair_timeout_clear
 	call p_mouse_init_sensor_reset
 	call mouse_no_data_timer_init
 	call p_mouse_null_enter_hibernate_disable
+	call p_mouse_set_24g_addr_eeprom	//store rx dongle addr to eeprom
+	call iicd_write_protect_eep_data
 p_mouse_store_24g_device_2eeprom:
 	call mouse_cheak_select_24gdevice
-	branch p_mouse_store_device_number2eeprom
+p_mouse_store_device_number2eeprom:
+	arg 1,temp
+	arg mem_device_flag,rega
+	arg 0,regb
+	branch iicd_write_protect_eep_data
 endif
 
 
@@ -1889,39 +1892,65 @@
 	call p_mouse_multi_led_blink_timer
 	call p_mouse_wheel_trigger_timer
 	call p_mouse_null_enter_hibernate_timer
-	call p_mouse_bt_discovery_check
+//	call p_mouse_bt_discovery_check
 //	call p_mouse_select_device
 	call mouse_check_discovery_timeout_timer
 	call p_mouse_dpi_check
 ifdef G24
-	call p_mouse_24g_long_sleep_param_update_timer
+//	call p_mouse_24g_long_sleep_param_update_timer
+	call p_mouse_g24_stop_mode_timeout_timer
 endif
 ifdef BLE	
-	call mouse_check_direct_timeout_timer
+	call p_mouse_check_direct_timeout_timer
 	call p_mouse_le_enable_att_list_timer
-	call p_mouse_le_current_mult_update_timer
+//	call p_mouse_le_current_mult_update_timer
 endif
 ifdef CLASSIC_BT
 	call p_mouse_send_switch_req_timer
 	call mouse_check_hid_handshake_timer
 	call p_mouse_bt_check_sniff_req_timeout_timer
 endif
+	call p_mouse_check_select_device_by_switch_timer
 	branch mouse_check_no_data_timeout_timer
 
 
 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
-	store 3,mem_24g_enter_hibernate
-p_mouse_long_mult_flag_enable:	
-	jam 1,mem_mouse_long_mult_flag
+//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
+//	store 3,mem_24g_enter_hibernate
+//p_mouse_long_mult_flag_enable:	
+//	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_check_select_device_by_switch_timer:
+//	fetch 1,mem_config_function_enable
+//	rtnbit0 ENABLE_SELECT_DEVICE_BY_SWITCH
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	branch p_mouse_cheak_select_24gdevice,true
+p_mouse_select_btdevice:
+	fetch 1,mem_device_flag
+	bne MODE_BT_DEVICE1,soft_reset_chip
+	rtn
+p_mouse_cheak_select_24gdevice:
+	fetch 1,mem_device_flag
+	bne MODE_24G_DEVICE,soft_reset_chip
+	rtn
+
+
 ifdef CLASSIC_BT
 p_mouse_send_switch_req_timer:
 	arg mem_mouse_send_switch_req_timer,regc
@@ -1943,14 +1972,14 @@
 	arg mouse_le_write_enable,regb
 	branch timer_single_step
 
-p_mouse_le_current_mult_update_timer:
-	arg mem_mouse_le_current_mult_timer,regc
-	arg p_mouse_le_current_mult_reinit,regb
-	branch timer_single_step
-p_mouse_le_current_mult_reinit:
-	fetch 1,mem_lpm_mult_init
-	store 1,mem_lpm_mult
-	branch p_mouse_long_mult_flag_enable
+//p_mouse_le_current_mult_update_timer:
+//	arg mem_mouse_le_current_mult_timer,regc
+//	arg p_mouse_le_current_mult_reinit,regb
+//	branch timer_single_step
+//p_mouse_le_current_mult_reinit:
+//	fetch 1,mem_lpm_mult_init
+//	store 1,mem_lpm_mult
+//	branch p_mouse_long_mult_flag_enable
 endif
 
 p_mouse_wheel_trigger_timer:
@@ -1961,32 +1990,32 @@
 	jam 0,mem_mouse_wheel_trigger
 	rtn
 
-p_mouse_bt_discovery_check:
-	fetch 1,mem_config_function_enable
-	bbit1 ENABLE_BT_BUTTON,p_mouse_bt_discovery_by_button
-p_mouse_bt_discovery_commbination_key:
-	call p_mouse_check_key_gpio
-	beq MOUSE_LMR_BUTTON,p_mouse_bt_discovery_commbination_key_down
-p_mouse_bt_discovery_commbination_key_up:
-	fetch 1,mem_ui_button_timeout
-	store 1,mem_combination_ui_button_count	//combination key timer init 
-	fetch 1,mem_bt_discovey_button_statue
-	rtneq DPI_BUTTON_STATE_UP
-	jam DPI_BUTTON_STATE_UP,mem_bt_discovey_button_statue
-	arg MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,queue
-	call mouse_disable_function_flag
-	branch mouse_bt_discovery_button_down_disable
-p_mouse_bt_discovery_commbination_key_down:
-	fetch 1,mem_device_flag
-	rtneq MODE_24G_DEVICE
-	jam 40,mem_mouse_null_enter_hibernate_timer
-	call p_mouse_bt_discovery_timer
-	branch mouse_bt_discovery_commbination_key_down+1
-
-p_mouse_bt_discovery_timer:
-	arg mem_combination_ui_button_count,regc
-	arg p_mouse_long_button_bt_discovery,regb
-	branch timer_single_step
+//p_mouse_bt_discovery_check:
+//	fetch 1,mem_config_function_enable
+//	bbit1 ENABLE_BT_BUTTON,p_mouse_bt_discovery_by_button
+//p_mouse_bt_discovery_commbination_key:
+//	call p_mouse_check_key_gpio
+//	beq MOUSE_LMR_BUTTON,p_mouse_bt_discovery_commbination_key_down
+//p_mouse_bt_discovery_commbination_key_up:
+//	fetch 1,mem_ui_button_timeout
+//	store 1,mem_combination_ui_button_count	//combination key timer init 
+//	fetch 1,mem_bt_discovey_button_statue
+//	rtneq DPI_BUTTON_STATE_UP
+//	jam DPI_BUTTON_STATE_UP,mem_bt_discovey_button_statue
+//	arg MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,queue
+//	call mouse_disable_function_flag
+//	branch mouse_bt_discovery_button_down_disable
+//p_mouse_bt_discovery_commbination_key_down:
+//	fetch 1,mem_device_flag
+//	rtneq MODE_24G_DEVICE
+//	jam 40,mem_mouse_null_enter_hibernate_timer
+//	call p_mouse_bt_discovery_timer
+//	branch mouse_bt_discovery_commbination_key_down+1
+
+//p_mouse_bt_discovery_timer:
+//	arg mem_combination_ui_button_count,regc
+//	arg p_mouse_long_button_bt_discovery,regb
+//	branch timer_single_step
 	
 p_mouse_long_button_bt_discovery:
 	fetch 2,mem_ui_state_map
@@ -1999,14 +2028,13 @@
 	call mouse_enable_function_flag
 	branch mouse_long_button_bt_discovry
 
-p_mouse_bt_discovery_by_button:
-	fetch 1,mem_config_bt_button_gpio
-	rtneq GPIO_DISABLE
-	fetcht 1,mem_config_bt_button_gpio
-	call gpio_get_bit
-	branch p_mouse_bt_discovery_commbination_key_down,true
-	branch p_mouse_bt_discovery_commbination_key_up
-	
+//p_mouse_bt_discovery_by_button:
+//	fetch 1,mem_config_bt_button_gpio
+//	rtneq GPIO_DISABLE
+//	fetcht 1,mem_config_bt_button_gpio
+//	call gpio_get_bit
+//	branch p_mouse_bt_discovery_commbination_key_down,true
+//	branch p_mouse_bt_discovery_commbination_key_up
 
 p_mouse_null_enter_hibernate_timer:
 	fetch 1,mem_mouse_null_enter_hibernate_flag
@@ -2073,39 +2101,28 @@
 //	rtnbit1 MOUSE_LONG_BT_BUTTON_FLAG
 //	branch p_mouse_ready_reconnection_by_button
 
-p_mouse_ready_reconnection_by_button:
-	fetcht 1,mem_device_flag
-	increase 1,temp
-	fetch 1,mem_device_number
-	isub temp,null
-	ncall mouse_select_device_count_clean,positive
-	storet 1,mem_device_flag
-	jam 0,mem_link_key_exists
-	call p_mouse_store_device_number2eeprom
-	call mouse_select_device_enable
-	branch mouse_set_reconnection
-
-p_mouse_store_device_number2eeprom:
-	arg 1,temp
-	arg mem_device_flag,rega
-	arg 0,regb
-	branch iicd_write_protect_eep_data
+//p_mouse_ready_reconnection_by_button:
+//	fetcht 1,mem_device_flag
+//	increase 1,temp
+//	fetch 1,mem_device_number
+//	isub temp,null
+//	ncall mouse_select_device_count_clean,positive
+//	storet 1,mem_device_flag
+//	jam 0,mem_link_key_exists
+//	call p_mouse_store_device_number2eeprom
+//	call mouse_select_device_enable
+//	branch mouse_set_reconnection
 
 p_mouse_check_direct_timeout_timer:
-	fetch 1,mem_config_function_enable
-	bbit0 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON,mouse_check_direct_timeout_timer
-	fetch 1,mem_select_device_button_statue
-	rtneq DPI_BUTTON_STATE_DOWN
-	branch mouse_check_direct_timeout_timer
+	arg mem_mouse_direct_timer,regc
+	arg p_mouse_long_button_bt_discovery,regb
+	branch timer_single_step_2B
 	
 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
-
 p_mouse_multi_led_type_on:
 	call p_mouse_multi_led_on
 	fetch 1,mem_mouse_multi_led_on_timer
@@ -2117,7 +2134,23 @@
 	rtn
 p_mouse_multi_led_off_poweron2s:
 	jam 0,mem_mouse_multi_led_on_poweron2s_flag
-	branch p_mouse_multi_led_off
+	call p_mouse_multi_led_off
+	fetch 1,mem_device_flag
+	rtnne MODE_BT_DEVICE1
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	rtnbit1 UI_STATE_BT_CONNECTED
+	fetch 1,mem_xrecord_mode
+	rtnne 0xff
+p_mouse_discovery_multi_led_blink:
+	jam 5,mem_mouse_multi_led_blink_timer_init	//500ms
+	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_multi_led_type_blink:
 	fetch 1,mem_mouse_multi_led_blink_timer
@@ -2135,9 +2168,6 @@
 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
 	fetch 1,mem_device_flag
@@ -2149,6 +2179,7 @@
 	branch gpio_out_active
 p_mouse_multi_down_led_on:
 	fetcht 1,mem_mouse_multi_led_gpio
+	set1 gpio_active_bit,temp
 	call gpio_config_output
 	fetcht 1,mem_mouse_multi_led_gpio
 	branch gpio_out_inactive
@@ -2175,16 +2206,6 @@
 	jam 0,mem_mouse_multi_led_on_timer
 	rtn
 
-p_mouse_discovery_multi_led_blink:
-	jam 5,mem_mouse_multi_led_blink_timer_init	//500ms
-	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
@@ -2199,15 +2220,15 @@
 
 ifdef ADC_ENABLE
 p_mouse_adc_read:
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	rtnbit0 MOUSE_ENABLE_ADC
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	rtnbit0 MOUSE_ENABLE_ADC
 	fetch 1,mem_adc_read_timer
 	increase 1,pdata
 	store 1,mem_adc_read_timer
 	sub pdata,10,null              //1s read adc
 	rtn positive
 	jam 0,mem_adc_read_timer
-	call p_adc_set_mode
+	call adc_set_mode
 	call vdd_calculate_by_mode
 	add pdata,0x3c,pdata
 	store 2,mem_mouse_vdd_now_vol
@@ -2225,19 +2246,19 @@
 	jam 0,mem_mouse_adc_last_low_voltage_flag
 	branch p_mouse_multi_led_off
 	
-p_adc_set_mode:
-	fetch 1,mem_adc_config_flag
-	beq ADC_CONFIG_GPIO,p_adc_check_gpio
-	branch adc_set_mode+1
-p_adc_check_gpio:
-	hfetch 1,core_gpio_pu0	//gpio5 pull up disable
-	set0 5,pdata
-	hstore 1,core_gpio_pu0
-	call adc_check_gpio
-	hfetch 1,core_gpio_pu0	//gpio5 pull up enable
-	set1 5,pdata
-	hstore 1,core_gpio_pu0
-	rtn
+//p_adc_set_mode:
+//	fetch 1,mem_adc_config_flag
+//	beq ADC_CONFIG_GPIO,p_adc_check_gpio
+//	branch adc_set_mode+1
+//p_adc_check_gpio:
+//	hfetch 1,core_gpio_pu0	//gpio5 pull up disable
+//	set0 5,pdata
+//	hstore 1,core_gpio_pu0
+//	call adc_check_gpio
+//	hfetch 1,core_gpio_pu0	//gpio5 pull up enable
+//	set1 5,pdata
+//	hstore 1,core_gpio_pu0
+//	rtn
 
 p_adc_bat_percent_lowpower_out:
 	ifetch 8,rega
@@ -2278,23 +2299,75 @@
 endif
 
 p_mouse_seting_dpi:
-p_mouse_seting_dpi_diff:
+p_mouse_seting_sensor_type:
 	fetch 1,mem_config_sensor_type
-	beq P3065_XY,p_mouse_seting_3065XY_dpi
-	beq KA8,p_mouse_seting_3065XY_dpi
-	branch mouse_seting_dpi+3
-	
+//	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
+	branch p_mouse_seting_3065XY_dpi
+//p_mouse_seting_3205_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_cpi1
+//	beq MOUSE_DPI_LEVEL4,mouse_set_cpi4
+//	branch mouse_set_cpi3
+p_mouse_3205_dpi_recount:
+	jam MOUSE_DPI_LEVEL3,mem_mouse_dpi
+	rtn
+
 p_mouse_seting_3065XY_dpi:
 	fetch 1,mem_mouse_dpi
-	call p_mouse_3065xy_dpi_recount,blank
+	sub pdata,MOUSE_DPI_LEVEL2,null
+	call p_mouse_3205_dpi_recount,zero
 	fetch 1,mem_mouse_dpi
-	beq MOUSE_DPI_LEVEL2,mouse_set_cpi1
-//	beq MOUSE_DPI_LEVEL3,mouse_set_cpi3
-	beq MOUSE_DPI_LEVEL4,mouse_set_cpi4
-	branch mouse_set_cpi3
-p_mouse_3065xy_dpi_recount:
-	jam 1,mem_mouse_dpi
-	rtn
+	beq MOUSE_DPI_LEVEL1,p_mouse_3065xy_set_cpi1
+	beq MOUSE_DPI_LEVEL4,p_mouse_3065xy_set_cpi4
+p_mouse_3065xy_set_cpi3:
+	fetch 1,mem_320x_dpi_3
+	increase -1,pdata
+p_mouse_dpi_store:
+	store 1,mem_mouse_cpi_count
+	branch mouse_p3205_dpi+3
+p_mouse_3065xy_set_cpi1:
+	fetch 1,mem_320x_dpi_1
+	increase -1,pdata
+	branch p_mouse_dpi_store
+p_mouse_3065xy_set_cpi4:
+	fetch 1,mem_320x_dpi_4
+	increase -1,pdata
+	branch p_mouse_dpi_store
+
+p_mouse_seting_ka8_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_ka8_set_cpi1
+	beq MOUSE_DPI_LEVEL4,p_mouse_ka8_set_cpi4
+p_mouse_ka8_set_cpi3:
+	fetch 1,mem_320x_dpi_3
+	increase 2,pdata
+	branch p_mouse_dpi_store
+p_mouse_ka8_set_cpi1:
+	fetch 1,mem_320x_dpi_1
+	increase 2,pdata	
+	branch p_mouse_dpi_store
+p_mouse_ka8_set_cpi4:
+	fetch 1,mem_320x_dpi_4
+	increase 2,pdata	
+	branch p_mouse_dpi_store
+
+//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_LEVEL4,mouse_set_p3212_cpi4
+//	branch mouse_set_p3212_cpi3
 
 p_mouse_motion:
 	disable user
@@ -2340,8 +2413,8 @@
 p_mouse_check_key_gpio:
 	arg 0,rega
 	call p_mouse_check_lkey_gpio
-	call p_mouse_check_rkey_gpio
-	call p_mouse_check_mkey_gpio
+//	call p_mouse_check_rkey_gpio
+//	call p_mouse_check_mkey_gpio
 //	call p_mouse_check_skey_gpio
 	copy rega,pdata
 	rtn
@@ -2357,14 +2430,14 @@
 	fetcht 1,mem_lbutton_gpio
 	call gpio_get_bit
 	setflag true,0,rega			//true = 1,input low level
-	rtn
+//	rtn
 p_mouse_check_rkey_gpio:
 	fetcht 1,mem_rbutton_gpio
 	call p_gpio_set_input_pu
 	fetcht 1,mem_rbutton_gpio
 	call gpio_get_bit
 	setflag true,1,rega			//true = 1,input low level
-	rtn
+//	rtn
 p_mouse_check_mkey_gpio:
 	fetcht 1,mem_mbutton_gpio
 	call p_gpio_set_input_pu
@@ -2385,24 +2458,21 @@
 //	fetcht 1,mem_fw_button_gpio
 //	call gpio_get_bit
 //	nsetflag true,4,rega
-//	branch p_gpio_set_input_pu
+p_gpio_set_input_pu:
+	set1 gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	branch p_gpio_set_input_pd4
+	
 p_gpio_set_input_pd:
 	set0 gpio_active_bit,temp
 	arg core_gpio_pu0,contw
 	call gpio_set_bit
 	set1 gpio_active_bit,temp
+p_gpio_set_input_pd4:	
 	arg core_gpio_pd0,contw
-	call gpio_set_bit
-	set0 gpio_active_bit,temp
-	arg core_gpio_oe0,contw
-	branch gpio_set_bit
-p_gpio_set_input_pu:
-	set1 gpio_active_bit,temp
-	arg core_gpio_pu0,contw
-	call gpio_set_bit
-	set0 gpio_active_bit,temp
-	branch p_gpio_set_input_pd+4
-
+	branch gpio_set_high_impedance+4
 
 p_mouse_bb_event_discovery_btn:
 	jam 0,mem_mouse_null_enter_hibernate_flag
@@ -2450,8 +2520,8 @@
 	jam 0,mem_mouse_clear_sensor_data_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
+//	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
@@ -2500,7 +2570,7 @@
 	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_sunt		//clear sensor data,confirm the motion pin high
 	branch mouse_stop_discovery+1
 
 ifdef BLE
@@ -2681,11 +2751,9 @@
 	ifetch 3,contr
 	store 3,mem_le_att_opcode
 	beq ATTOP_READ_BY_GROUP_TYPE_REQUEST,p_le_parse_att_read_by_group_type_request
-//	beq ATTOP_READ_REQUEST,p_le_parse_att_read_request
 	rshift8 pdata,temp
 	sub temp,0x24,null
-//	branch p_le_parse_att1,positive
-	branch le_parse_att+2,positive
+	branch p_le_parse_att1,positive
 	arg mem_mouse_le_uuid_sup,temp
 	storet 2,mem_ui_le_uuid_table
 	call le_parse_att+2
@@ -2709,48 +2777,26 @@
 	istore 2,contr
 	rtn
 
-//p_le_parse_att1:
-//	beq ATTOP_READ_REQUEST,p_le_parse_att_read_request
-//	branch le_parse_att+2
-//p_le_parse_att_read_request:
-//	fetcht 2,mem_le_att_handle
-//	fetch 1,mem_le_configuration
-//	bbit1 BIT_BLE_READ_AUTH,p_le_send_att_read_response_check_auth
-//p_le_send_att_read_response:
-//	call le_att_get_handle_ptr
-//	branch le_send_att_error_response_notfound,blank
-//	increase -2,contr
-//	ifetch 2,contr
-//	arg UUID_CHRCTR_PNP_ID,temp
-//	isub temp,null
-//	branch p_le_send_att_pnp_id,zero	//modify VID/PID
-//	
-//	fetch 2,mem_le_att_handle
-//	beq 0x13,le_send_att_error_response_notfound	//delete battery
-
-//	fetcht 2,mem_le_att_handle
-//	branch le_send_att_read_response
-//p_le_send_att_pnp_id:
-//	call store_contr
-//	fetch 1,mem_le_att_pnp_id_len
-//	add pdata,1,rega
-//	call le_fifo_malloc_tx_l2cap_gatt
-//	setarg ATTOP_READ_RESPONSE
-//	istore 1,contw
-//	fetch 1,mem_le_att_pnp_id_len
-//	copy pdata,loopcnt
-//	arg mem_le_att_pnp_id,contr
-//	branch memcpy
-
-//p_le_send_att_read_response_check_auth:
-//	fetch 2,mem_le_pairing_handle
-//	isub temp,null
-//	nbranch p_le_send_att_read_response,zero
-//p_le_send_att_read_response_error_insufficient_auth:
-//	call le_check_encrypt_state
-//	nbranch p_le_send_att_read_response,user
-//	jam ATT_ERR_INSUFFICIENT_AUTHENTICATION,mem_le_err_code
-//	branch le_send_att_error_response
+p_le_parse_att1:
+	beq ATTOP_READ_REQUEST,p_le_parse_att_read_request
+	branch le_parse_att+2
+p_le_parse_att_read_request:
+	fetcht 2,mem_le_att_handle
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_READ_AUTH,p_le_send_att_read_response_check_auth
+p_le_send_att_read_response:	
+	fetch 2,mem_le_att_handle
+	beq 0x13,le_send_att_error_response_notfound	//delete battery
+	fetcht 2,mem_le_att_handle
+	branch le_send_att_read_response
+p_le_send_att_read_response_check_auth:
+	fetch 2,mem_le_pairing_handle
+	isub temp,null
+	nbranch p_le_send_att_read_response,zero
+	call le_check_encrypt_state
+	nbranch p_le_send_att_read_response,user
+	jam ATT_ERR_INSUFFICIENT_AUTHENTICATION,mem_le_err_code
+	branch le_send_att_error_response
 
 p_le_parse_smp:
 	ifetch 1,contr
@@ -2797,6 +2843,18 @@
 	sub pdata,26,pdata
 	nrtn zero
 	branch mouse_le_write_enable
+
+p_check_51cmd_once_continue:
+	call lmo_fifo_check
+	nbranch check_51cmd_restore,blank  //process this cmd next time while lmo fifo is full
+	fetch 1,mem_fifo_temp
+	bmark0 mark_context,check_51cmd_check_idle
+	beq BT_CMD_LE_UPDATE_CONN,p_check_51cmd_ble_update_connect_param
+	branch check_51cmd_once_continue+2
+p_check_51cmd_ble_update_connect_param:
+	call le_fifo_check_full
+	nrtn blank
+	branch le_l2cap_tx_update_req
 endif
 
 p_twspi_reset:
@@ -2938,8 +2996,8 @@
 	fetch 2,mem_ui_state_map
 	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
 	call app_disconn_reason_clear
-	call p_mouse_check_key_gpio
-	beq MOUSE_LMR_BUTTON,p_mouse_null_enter_hibernate_enable
+//	call p_mouse_check_key_gpio
+//	beq MOUSE_LMR_BUTTON,p_mouse_null_enter_hibernate_enable
 	branch app_bb_hibernate
 
 p_hid_rx_process:
@@ -3212,8 +3270,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
@@ -3246,7 +3304,7 @@
 
 power_ctrl_txpower_decrs_check:
 	fetch 1,mem_power_ctrl_pac_succ_cnt
-	rtnne 32
+	rtnne 50
 	jam 0,mem_power_ctrl_pac_succ_cnt
 power_ctrl_txpower_decrs:
 	fetcht 1,mem_rssi_avg_received
Index: sched/109x.dat
===================================================================
--- /branch/mouse_project/CZT_Project/JinQi_24G&BLE/sched/109x.dat	(revision 1737)
+++ /branch/mouse_project/CZT_Project/JinQi_24G&BLE/sched/109x.dat	(working copy)
@@ -1,5 +1,5 @@
 
-mem_lpm_config:8f 10 ca	#4khz
+mem_lpm_config:8f 10 ce	#4khz
 mem_lpm_xtalcnt:00 0a 0b ef 07
 mem_lpm_hibernate_switch:00
 mem_gpio_wakeup_low:00 00 00 00 00 00 00 00
Index: sched/mouse.dat
===================================================================
--- /branch/mouse_project/CZT_Project/JinQi_24G&BLE/sched/mouse.dat	(revision 1737)
+++ /branch/mouse_project/CZT_Project/JinQi_24G&BLE/sched/mouse.dat	(working copy)
@@ -1,21 +1,12 @@
-mem_patch00:02
-#mem_patch03:08
-#mem_patch04:40
-#mem_patch09:04
-#mem_patch0a:02
-#mem_patch0b:02
+mem_patch00:07
 mem_patch10:20
 mem_patch11:02
-#mem_patch14:82
 mem_patch14:02
 mem_patch16:06
 mem_patch18:10
-#mem_patch19:0e
 mem_patch19:06
 mem_patch1c:48
-#mem_patch1d:1e
 mem_patch1d:1c
-#mem_patch20:20
 mem_patch27:02
 mem_patch28:08
 mem_patch29:04
@@ -24,10 +15,8 @@
 mem_patch2c:c8
 mem_patch2d:04
 mem_patch2e:80
-#mem_patch30:05
-#mem_patch31:11
 mem_patch31:10
-
+mem_patch3f:04
 
 #debug
 #mem_patch2f:40
@@ -147,9 +136,9 @@
 mem_24g_device_number:02 #devie 2 :24g mode
 mem_adc_config_flag:01 #0 vinlpm 1 hvin 2 gpio
 mem_adc_channel:32 #gpio5
-mem_mouse_vdd_full_vol:a4 01#4.2v
-18 01#mem_mouse_vdd_empty_vol:5a 00#2.8v
-40 01#mem_mouse_vdd_low_vol:64 00  #3.2v
+mem_mouse_vdd_full_vol:d3 01#4.2v
+14 01#mem_mouse_vdd_empty_vol:5a 00#2.8v
+4b 01#mem_mouse_vdd_low_vol:64 00  #3.2v
 
 mem_config_sensor_type:00
 02 #mem_config_sensor_motion:01
@@ -200,10 +189,10 @@
 02##mem_320x_dpi_3
 03##mem_320x_dpi_4
 
-15##mem_3212_dpi_1
-1a##mem_3212_dpi_2
-22##mem_3212_dpi_3
-2a##mem_3212_dpi_4
+#15##mem_3212_dpi_1
+#1a##mem_3212_dpi_2
+#22##mem_3212_dpi_3
+#2a##mem_3212_dpi_4
 
 #04##mem_3610_dpi_1
 #05##mem_3610_dpi_2
@@ -247,11 +236,12 @@
 mem_24g_ch_map4:11 23 31 4d
 mem_24g_pairing_sm:ff
 mem_24g_paring_addr:20 15 10 05
+mem_24g_allpowerful_addr:0f 0f 0f 0f
 mem_24g_common_temp:00 00 00 00 00 00 00 00 00 00
 mem_24g_enter_hibernate:80 ee 36
 
 mem_device_flag:
-ff
+02
 ff
 ff ff ff ff ff ff
 #mem_device2_type:
