Index: format/app_mouse.format
===================================================================
--- /YC1308AF/branch/mouse/mouse_public/format/app_mouse.format	(revision 2728)
+++ /YC1308AF/branch/mouse/mouse_public/format/app_mouse.format	(working copy)
@@ -447,6 +447,13 @@
 1 mem_3212_dpi_4_new
 
 1 mem_24g_reconn_pairing_switch
+//S210x
+0 mem_sensor_s201_dpi
+1 mem_sensor_s201_dpi_0
+1 mem_sensor_s201_dpi_1
+1 mem_sensor_s201_dpi_2
+1 mem_sensor_s201_dpi_3
+1 mem_sensor_s201_dpi_4
 )
 
 
@@ -634,7 +641,7 @@
 0X0a KA8_HD
 0X0b KA8G2
 0X0c KA5857
-
+0X0d S201X
 
 //SENSOR REG
 0x00 PAN_REG_PID_L
Index: output/eeprom.dat
===================================================================
--- /YC1308AF/branch/mouse/mouse_public/output/eeprom.dat	(revision 2728)
+++ /YC1308AF/branch/mouse/mouse_public/output/eeprom.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-4a
+ba
 18
 c2
 84
@@ -43,31 +43,31 @@
 c0
 63
 03
-a3
+a8
 c0
 64
 03
-ae
+b3
 c0
 64
 83
-de
+e3
 c0
 66
 85
-aa
+c4
 c0
 67
 04
-44
+49
 c0
 67
 84
-77
+7c
 c0
 68
 05
-cf
+eb
 c0
 69
 03
@@ -75,11 +75,11 @@
 c0
 69
 83
-92
+97
 c0
 6a
 84
-b4
+ce
 c0
 6c
 02
@@ -87,7 +87,7 @@
 c0
 6e
 83
-e3
+e8
 c0
 6f
 00
@@ -111,15 +111,15 @@
 c0
 42
 85
-9f
+b9
 c0
 53
 05
-a3
+bd
 c0
 6e
 85
-20
+3a
 c0
 6f
 02
@@ -131,15 +131,15 @@
 c0
 71
 05
-2b
+45
 c0
 71
 85
-53
+6d
 c0
 74
 85
-5d
+77
 c0
 75
 01
@@ -147,7 +147,7 @@
 c0
 76
 05
-94
+ae
 20
 20
 13
@@ -591,7 +591,7 @@
 20
 40
 04
-79
+7e
 20
 40
 47
@@ -603,7 +603,7 @@
 20
 40
 03
-9c
+a1
 20
 20
 3c
@@ -1239,7 +1239,7 @@
 24
 5a
 03
-dc
+e1
 6f
 e4
 4b
@@ -1519,7 +1519,7 @@
 20
 20
 03
-9c
+a1
 6f
 e0
 c8
@@ -1603,7 +1603,7 @@
 24
 34
 04
-da
+f4
 20
 40
 02
@@ -3055,7 +3055,7 @@
 da
 40
 04
-9f
+b9
 20
 20
 31
@@ -3147,7 +3147,7 @@
 da
 40
 05
-02
+1c
 20
 20
 45
@@ -3171,7 +3171,7 @@
 c0
 00
 05
-12
+2c
 20
 20
 43
@@ -3591,7 +3591,7 @@
 c0
 2c
 03
-8a
+8f
 20
 40
 41
@@ -3620,6 +3620,18 @@
 20
 41
 fc
+58
+00
+00
+49
+20
+40
+5d
+65
+c0
+50
+83
+8d
 70
 49
 2c
@@ -3628,6 +3640,14 @@
 60
 00
 00
+70
+49
+2c
+0d
+20
+60
+00
+00
 6f
 e0
 c9
@@ -3635,7 +3655,7 @@
 c0
 2b
 83
-8e
+93
 c0
 2c
 c2
@@ -3659,7 +3679,7 @@
 20
 20
 04
-79
+7e
 20
 40
 3f
@@ -3671,7 +3691,7 @@
 c0
 05
 83
-99
+9e
 20
 40
 42
@@ -3687,11 +3707,11 @@
 20
 20
 04
-79
+7e
 20
 40
 03
-ac
+b1
 da
 60
 4b
@@ -3699,7 +3719,7 @@
 20
 20
 03
-97
+9c
 20
 40
 41
@@ -3715,7 +3735,7 @@
 c0
 05
 83
-a1
+a6
 20
 20
 42
@@ -3743,11 +3763,11 @@
 20
 40
 03
-a9
+ae
 20
 40
 03
-9c
+a1
 20
 20
 3e
@@ -3759,7 +3779,7 @@
 c0
 05
 83
-ac
+b1
 20
 20
 42
@@ -3814,8 +3834,8 @@
 24
 20
 40
-05
-ff
+06
+1b
 d8
 40
 00
@@ -3843,15 +3863,15 @@
 20
 40
 03
-c2
+c7
 20
 40
 03
-cf
+d4
 20
 20
 03
-d2
+d7
 6f
 e1
 cb
@@ -3899,7 +3919,7 @@
 c2
 00
 03
-c6
+cb
 20
 60
 00
@@ -3995,11 +4015,11 @@
 20
 40
 03
-e8
+ed
 20
 40
-03
-fc
+04
+01
 20
 20
 46
@@ -4035,7 +4055,7 @@
 20
 40
 03
-f1
+f6
 20
 20
 40
@@ -4063,7 +4083,7 @@
 c0
 7f
 83
-f8
+fd
 20
 20
 40
@@ -4075,7 +4095,7 @@
 20
 40
 06
-02
+1e
 68
 48
 c9
@@ -4099,19 +4119,19 @@
 24
 3a
 04
-05
+0a
 6f
 e0
 cc
 1c
 20
 40
-05
-ff
+06
+1b
 20
 40
 04
-15
+1a
 68
 48
 cc
@@ -4135,7 +4155,7 @@
 20
 40
 06
-02
+1e
 70
 4c
 20
@@ -4151,11 +4171,11 @@
 20
 40
 04
-2e
+33
 20
 40
 04
-19
+1e
 68
 48
 cc
@@ -4199,7 +4219,7 @@
 20
 40
 04
-24
+29
 67
 e0
 cc
@@ -4211,7 +4231,7 @@
 20
 3a
 04
-20
+25
 6f
 e0
 cc
@@ -4275,11 +4295,11 @@
 c0
 03
 84
-39
+3e
 c0
 00
 04
-3b
+40
 20
 60
 00
@@ -4319,11 +4339,11 @@
 c0
 03
 84
-39
+3e
 c0
 00
 04
-3b
+40
 20
 60
 00
@@ -4359,11 +4379,11 @@
 24
 41
 04
-42
+47
 20
 20
 04
-50
+55
 58
 00
 00
@@ -4395,7 +4415,7 @@
 c2
 9e
 84
-53
+58
 6f
 e0
 c9
@@ -4403,11 +4423,11 @@
 c0
 06
 04
-3d
+42
 c0
 01
 84
-3d
+42
 18
 42
 7e
@@ -4439,7 +4459,7 @@
 24
 3a
 04
-70
+75
 6f
 e4
 4b
@@ -4447,7 +4467,7 @@
 c2
 8e
 04
-64
+69
 18
 42
 7e
@@ -4459,11 +4479,11 @@
 c0
 00
 04
-60
+65
 c0
 01
 04
-5e
+63
 20
 60
 00
@@ -4475,7 +4495,7 @@
 20
 20
 04
-50
+55
 58
 00
 00
@@ -4483,7 +4503,7 @@
 20
 20
 04
-50
+55
 58
 00
 00
@@ -4491,7 +4511,7 @@
 20
 20
 04
-50
+55
 58
 00
 00
@@ -4499,7 +4519,7 @@
 20
 20
 04
-50
+55
 18
 42
 7e
@@ -4511,15 +4531,15 @@
 c0
 00
 04
-60
+65
 c0
 01
 04
-62
+67
 c0
 01
 84
-5e
+63
 20
 60
 00
@@ -4535,15 +4555,15 @@
 c0
 00
 04
-62
+67
 c0
 00
 84
-5e
+63
 c0
 01
 84
-5c
+61
 20
 60
 00
@@ -4555,7 +4575,7 @@
 c2
 8e
 04
-6a
+6f
 18
 42
 7e
@@ -4567,11 +4587,11 @@
 c0
 00
 04
-5c
+61
 c0
 00
 84
-5e
+63
 20
 60
 00
@@ -4579,11 +4599,11 @@
 20
 40
 04
-7d
+83
 20
 40
 04
-91
+ab
 6f
 e0
 c9
@@ -4591,11 +4611,15 @@
 c0
 06
 04
-81
+9b
 c0
 01
 84
-81
+9b
+c0
+06
+84
+87
 20
 20
 40
@@ -4623,58 +4647,138 @@
 c0
 00
 04
-89
+8b
 c0
 00
 84
-87
-c0
-01
-04
-8b
+8e
 c0
 01
-84
-8d
-c0
-02
 04
-8f
-6f
-e0
-cc
-cb
-20
-20
-41
-07
+91
 6f
 e0
 cc
-ca
+d0
+1f
+e2
+22
+00
 20
 20
-41
-07
+04
+93
 6f
 e0
 cc
-cc
+d1
+1f
+e2
+22
+00
 20
 20
-41
-07
+04
+93
 6f
 e0
 cc
-cd
-20
+d4
+1f
+e2
+22
+00
+58
+00
+c3
+09
 20
-41
-07
-6f
-e0
-cc
+40
+5d
+5e
+1a
+22
+7e
+00
+1f
+ed
+7e
+00
+1f
+e0
+fe
+23
+20
+40
+5d
+5e
+58
+00
+00
+09
+20
+20
+5d
+5e
+6f
+e0
+c9
+97
+c0
+00
+04
+a3
+c0
+00
+84
+a1
+c0
+01
+04
+a5
+c0
+01
+84
+a7
+c0
+02
+04
+a9
+6f
+e0
+cc
+cb
+20
+20
+41
+07
+6f
+e0
+cc
+ca
+20
+20
+41
+07
+6f
+e0
+cc
+cc
+20
+20
+41
+07
+6f
+e0
+cc
+cd
+20
+20
+41
+07
+6f
+e0
+cc
 ce
 20
 20
@@ -4727,7 +4831,7 @@
 20
 3a
 04
-9f
+b9
 67
 e0
 cb
@@ -4787,11 +4891,11 @@
 20
 41
 04
-ae
+c8
 24
 41
 04
-b2
+cc
 20
 20
 49
@@ -4827,15 +4931,15 @@
 c0
 1e
 04
-c0
+da
 c0
 1c
 84
-b9
+d3
 c0
 1d
 04
-d1
+eb
 20
 20
 43
@@ -4951,23 +5055,23 @@
 24
 3a
 05
-12
+2c
 6f
 e0
 c8
 8f
 c0
 01
-04
-f7
+05
+11
 c0
 02
 05
-0b
+25
 c0
 01
 85
-1b
+35
 20
 20
 48
@@ -4978,8 +5082,8 @@
 ab
 20
 5a
-04
-e9
+05
+03
 6f
 e0
 c8
@@ -5095,11 +5199,11 @@
 c2
 97
 85
-00
+1a
 c2
 98
 05
-00
+1a
 c3
 1d
 48
@@ -5119,7 +5223,7 @@
 20
 22
 85
-02
+1c
 20
 20
 48
@@ -5227,11 +5331,11 @@
 20
 40
 03
-9c
+a1
 20
 20
 04
-df
+f9
 6f
 e4
 4b
@@ -5275,7 +5379,7 @@
 24
 34
 05
-21
+3b
 20
 40
 26
@@ -5323,7 +5427,7 @@
 c0
 00
 05
-33
+4d
 20
 60
 00
@@ -5339,19 +5443,19 @@
 c0
 00
 85
-3a
+54
 c0
 01
 05
-3c
+56
 c0
 01
 85
-42
+5c
 c0
 02
 05
-48
+62
 20
 60
 00
@@ -5363,7 +5467,7 @@
 20
 20
 05
-49
+63
 6f
 e0
 c8
@@ -5371,7 +5475,7 @@
 20
 3a
 05
-40
+5a
 6f
 e2
 48
@@ -5387,7 +5491,7 @@
 20
 20
 05
-49
+63
 70
 47
 c9
@@ -5399,7 +5503,7 @@
 20
 3a
 05
-49
+63
 6f
 e2
 48
@@ -5411,7 +5515,7 @@
 20
 20
 05
-4b
+65
 70
 47
 c9
@@ -5467,7 +5571,7 @@
 c0
 01
 05
-57
+71
 20
 20
 23
@@ -5511,7 +5615,7 @@
 20
 3a
 05
-68
+82
 6f
 e1
 48
@@ -5551,11 +5655,11 @@
 24
 2c
 05
-81
+9b
 24
 37
 85
-81
+9b
 20
 40
 26
@@ -5575,7 +5679,7 @@
 20
 22
 85
-65
+7f
 6f
 e2
 48
@@ -5591,7 +5695,7 @@
 20
 42
 85
-7d
+97
 6f
 e0
 c8
@@ -5671,11 +5775,11 @@
 c0
 01
 05
-8b
+a5
 c0
 02
 05
-92
+ac
 20
 20
 25
@@ -5787,7 +5891,7 @@
 c2
 80
 85
-a7
+c1
 20
 20
 16
@@ -5819,7 +5923,7 @@
 20
 40
 05
-ba
+d4
 58
 00
 00
@@ -5831,7 +5935,7 @@
 20
 40
 04
-79
+7e
 20
 40
 3f
@@ -5843,7 +5947,7 @@
 20
 40
 05
-cc
+e8
 6f
 e0
 c8
@@ -5863,7 +5967,7 @@
 20
 40
 05
-c9
+e4
 20
 20
 45
@@ -5883,7 +5987,11 @@
 c0
 06
 05
-bf
+da
+c0
+05
+85
+da
 20
 20
 42
@@ -5899,7 +6007,7 @@
 c0
 7f
 85
-c5
+e0
 68
 48
 c9
@@ -5936,6 +6044,10 @@
 01
 80
 00
+c1
+05
+80
+00
 20
 20
 47
@@ -5943,11 +6055,11 @@
 20
 40
 05
-cf
+eb
 20
 40
 06
-05
+21
 20
 20
 41
@@ -5967,15 +6079,15 @@
 20
 40
 05
-d6
+f2
 20
 40
-05
-e5
+06
+01
 20
 40
-05
-f2
+06
+0e
 20
 20
 41
@@ -5986,8 +6098,8 @@
 1c
 20
 40
-05
-ff
+06
+1b
 20
 40
 41
@@ -6006,8 +6118,8 @@
 1d
 20
 40
-05
-ff
+06
+1b
 20
 40
 41
@@ -6026,8 +6138,8 @@
 1e
 20
 40
-05
-ff
+06
+1b
 20
 40
 41
@@ -6070,8 +6182,8 @@
 14
 c0
 7f
-85
-ee
+86
+0a
 20
 20
 41
@@ -6083,7 +6195,7 @@
 20
 40
 06
-02
+1e
 68
 48
 c9
@@ -6122,8 +6234,8 @@
 14
 c0
 7f
-85
-fb
+86
+17
 20
 20
 41
@@ -6135,7 +6247,7 @@
 20
 40
 06
-02
+1e
 68
 48
 c9
@@ -6187,11 +6299,11 @@
 20
 40
 06
-0c
+28
 20
 40
 06
-0f
+2b
 20
 20
 41
@@ -6220,8 +6332,8 @@
 60
 00
 00
-88
-8f
+05
+72
 aa
 55
 40
@@ -7352,6 +7464,17 @@
 ff
 aa
 55
+05
+00
+d0
+4c
+8a
+8b
+82
+83
+88
+aa
+55
 02
 00
 8f
@@ -7578,133 +7701,10 @@
 aa
 aa
 55
-f7
-93
-77
-9a
-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
+b9
+98
+5a
+f1
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-27
-17
+b8
+a5
Index: output/memmap.format
===================================================================
--- /YC1308AF/branch/mouse/mouse_public/output/memmap.format	(revision 2728)
+++ /YC1308AF/branch/mouse/mouse_public/output/memmap.format	(working copy)
@@ -2317,6 +2317,12 @@
 0x4ccd mem_3212_dpi_3_new
 0x4cce mem_3212_dpi_4_new
 0x4ccf mem_24g_reconn_pairing_switch
+0x4cd0 mem_sensor_s201_dpi
+0x4cd0 mem_sensor_s201_dpi_0
+0x4cd1 mem_sensor_s201_dpi_1
+0x4cd2 mem_sensor_s201_dpi_2
+0x4cd3 mem_sensor_s201_dpi_3
+0x4cd4 mem_sensor_s201_dpi_4
 0x48d4 mem_remote_car_hard_soft_switch
 0x48d5 mem_remote_car_queue_each_size
 0x48d6 mem_remote_car_queue_length
Index: output/program.lis
===================================================================
--- /YC1308AF/branch/mouse/mouse_public/output/program.lis	(revision 2728)
+++ /YC1308AF/branch/mouse/mouse_public/output/program.lis	(working copy)
@@ -9,18 +9,18 @@
 0006 c056808c beq patch15_5 ,p_app_init 
 0007 c061829f beq patch18_3 ,p_mouse_start_work 
 0008 c06202c4 beq patch18_4 ,p_mouse_start_reconnect_device 
-0009 c06303a3 beq patch18_6 ,p_mouse_app_enter_hibernate 
-000a c06403ae beq patch19_0 ,p_mouse_setgpio_hibernate 
-000b c06483de beq patch19_1 ,p_mouse_lpm_before_common 
-000c c06685aa beq patch19_5 ,p_mouse_motion 
-000d c0670444 beq patch19_6 ,p_mouse_dpi_process 
-000e c0678477 beq patch19_7 ,p_mouse_seting_dpi 
-000f c06805cf beq patch1a_0 ,p_mouse_check_key_gpio 
+0009 c06303a8 beq patch18_6 ,p_mouse_app_enter_hibernate 
+000a c06403b3 beq patch19_0 ,p_mouse_setgpio_hibernate 
+000b c06483e3 beq patch19_1 ,p_mouse_lpm_before_common 
+000c c06685c4 beq patch19_5 ,p_mouse_motion 
+000d c0670449 beq patch19_6 ,p_mouse_dpi_process 
+000e c067847c beq patch19_7 ,p_mouse_seting_dpi 
+000f c06805eb beq patch1a_0 ,p_mouse_check_key_gpio 
 0010 c069037a beq patch1a_2 ,p_mouse_init_sunt 
-0011 c0698392 beq patch1a_3 ,p_mouse_sensor_poweron 
-0012 c06a84b4 beq patch1a_5 ,p_mouse_priority_bb_event 
+0011 c0698397 beq patch1a_3 ,p_mouse_sensor_poweron 
+0012 c06a84ce beq patch1a_5 ,p_mouse_priority_bb_event 
 0013 c06c02e7 beq patch1b_0 ,p_mouse_bb_event_timer 
-0014 c06e83e3 beq patch1b_5 ,p_mouse_idle 
+0014 c06e83e8 beq patch1b_5 ,p_mouse_idle 
 0015 c06f0031 beq patch1b_6 ,p_mouse_ready_reconnection_by_button 
 0016 c0700029 beq patch1c_0 ,p_mouse_led_off 
 0017 c0708025 beq patch1c_1 ,p_mouse_led_on 
@@ -28,16 +28,16 @@
 
 pf_patch_ext:
 0019 c00f8097 beq patch23_7 ,p_twspi_reset 
-001a c042859f beq patch30_5 ,p_ui_timer_check 
-001b c05305a3 beq patch34_6 ,p_le_enable_phy_by_pdata 
-001c c06e8520 beq patch3b_5 ,p_g24_dispatch 
+001a c04285b9 beq patch30_5 ,p_ui_timer_check 
+001b c05305bd beq patch34_6 ,p_le_enable_phy_by_pdata 
+001c c06e853a beq patch3b_5 ,p_g24_dispatch 
 001d c06f023c beq patch3b_6 ,p_g24_receive_packet 
 001e c07082c7 beq patch3c_1 ,p_g24_transmit 
-001f c071052b beq patch3c_2 ,p_g24_pair_dispatch 
-0020 c0718553 beq patch3c_3 ,p_g24_pair_sm_common_next 
-0021 c074855d beq patch3d_1 ,p_g24_reconn_dispatch 
+001f c0710545 beq patch3c_2 ,p_g24_pair_dispatch 
+0020 c071856d beq patch3c_3 ,p_g24_pair_sm_common_next 
+0021 c0748577 beq patch3d_1 ,p_g24_reconn_dispatch 
 0022 c075018e beq patch3d_2 ,p_g24_transmit_no_interrupt 
-0023 c0760594 beq patch3d_4 ,p_g24_lpm_wait 
+0023 c07605ae beq patch3d_4 ,p_g24_lpm_wait 
 0024 2020137e branch loop 
 
 p_mouse_led_on:
@@ -188,10 +188,10 @@
 008f 2455bf60 ncall mouse_gpio_init ,wake 
 0090 204041e7 call mouse_init_sunt 
 0091 20758000 rtn wake 
-0092 20400479 call p_mouse_seting_sensor_type 
+0092 2040047e call p_mouse_seting_sensor_type 
 0093 20404766 call mouse_drawing_optima_init 
 0094 20400128 call p_mouse_cb_fuction 
-0095 2040039c call p_mouse_sensor_powerdown 
+0095 204003a1 call p_mouse_sensor_powerdown 
 0096 20203c7d branch mouse_init + 8 
 
 p_twspi_reset:
@@ -404,7 +404,7 @@
 0131 24740000 nrtn user 
 0132 6fe0cc4e fetch 1 ,mem_long_sleep_flag 
 0133 704c4e00 jam 0 ,mem_long_sleep_flag 
-0134 245a03dc ncall p_mouse_short_sleep_clear_wake ,blank 
+0134 245a03e1 ncall p_mouse_short_sleep_clear_wake ,blank 
 0135 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
 0136 c30a8139 bbit0 mouse_enable_keyboard ,p_mouse_24g_mouse_package_data 
 0137 6fe0cb9c fetch 1 ,mem_customer_key 
@@ -492,7 +492,7 @@
 0177 67e0cbb5 store 1 ,mem_mouse_search_dongle_action 
 0178 6fe14bcd fetch 2 ,mem_mouse_24g_search_dongle_time_init 
 0179 67e14ac3 store 2 ,mem_mouse_no_data_timer 
-017a 2020039c branch p_mouse_sensor_powerdown 
+017a 202003a1 branch p_mouse_sensor_powerdown 
 
 p_mouse_24g_search_dongle_success:
 017b 6fe0c8ab fetch 1 ,mem_24g_abort_pac 
@@ -523,7 +523,7 @@
 
 p_g24_transmit_no_interrupt:
 018e 20402638 call g24_txdata_prep 
-018f 243404da nbranch p_g24_nodata_transmit ,user 
+018f 243404f4 nbranch p_g24_nodata_transmit ,user 
 
 p_g24_transmit_start:
 0190 20400221 call p_g24_transmit_process 
@@ -984,7 +984,7 @@
 
 p_mouse_dpi_led_blink_delay_timer:
 02f9 da604bb9 arg mem_mouse_dpi_led_delay_count ,regc 
-02fa da40049f arg p_mouse_dpi_led_blink_init ,regb 
+02fa da4004b9 arg p_mouse_dpi_led_blink_init ,regb 
 02fb 202031fc branch timer_single_step 
 
 p_mouse_commbination_key_process:
@@ -1017,7 +1017,7 @@
 0310 20600000 rtn 
 
 p_mouse_combination_ui_timer:
-0311 da400502 arg p_mouse_24g_start_pair_mode ,regb 
+0311 da40051c arg p_mouse_24g_start_pair_mode ,regb 
 0312 20204537 branch mouse_combination_ui_timer + 1 
 
 p_mouse_check_no_data_timeout_timer:
@@ -1027,7 +1027,7 @@
 
 p_mouse_check_no_data_timeout:
 0316 6fe0c93d fetch 1 ,mem_device_flag 
-0317 c0000512 beq mode_24g_device ,p_mouse_24g_hibernate_set 
+0317 c000052c beq mode_24g_device ,p_mouse_24g_hibernate_set 
 0318 2020435b branch mouse_disconnect 
 
 p_mouse_g24_ota_reset_timer:
@@ -1196,7 +1196,7 @@
 037d 204041f5 call mouse_read_sensor_id 
 037e c0180384 beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
 037f c018c257 beq p3065_id1 ,mouse_init_p3065 
-0380 c02c038a beq pka8g2_id1 ,p_mouse_ka8g2_id2_judge 
+0380 c02c038f beq pka8g2_id1 ,p_mouse_ka8g2_id2_judge 
 0381 204041f2 call mouse_twspi_reset 
 0382 20001af4 nop 6900 
 0383 2020037d branch p_mouse_init_sensor 
@@ -1208,900 +1208,940 @@
 0387 202041fc branch mouse_init_p32xx_id2_judge 
 
 p_mouse_p3204_tjdm_init_param:
-0388 70492c04 jam p3065_xy ,mem_config_sensor_type 
-0389 20600000 rtn 
+0388 58000049 setarg 0x49 
+0389 20405d65 call twspi_read 
+038a c050838d beq 0xa1 ,p_mouse_s201x_init_param 
+038b 70492c04 jam p3065_xy ,mem_config_sensor_type 
+038c 20600000 rtn 
+
+p_mouse_s201x_init_param:
+038d 70492c0d jam s201x ,mem_config_sensor_type 
+038e 20600000 rtn 
 
 p_mouse_ka8g2_id2_judge:
-038a 6fe0c9c7 fetch 1 ,mem_sensor_id2 
-038b c02b838e beq ka5857_id2 ,p_mouse_ka5857_init_param 
-038c c02cc264 beq pka8g2_id2 ,mouse_ka8g2_init_param 
-038d 2020037d branch p_mouse_init_sensor 
+038f 6fe0c9c7 fetch 1 ,mem_sensor_id2 
+0390 c02b8393 beq ka5857_id2 ,p_mouse_ka5857_init_param 
+0391 c02cc264 beq pka8g2_id2 ,mouse_ka8g2_init_param 
+0392 2020037d branch p_mouse_init_sensor 
 
 p_mouse_ka5857_init_param:
-038e 70492c0c jam ka5857 ,mem_config_sensor_type 
-038f da604cbe arg mem_sensor_ka5857_init ,regc 
-0390 2040426b call mouse_sensor_wr_seq 
-0391 20200479 branch p_mouse_seting_sensor_type 
+0393 70492c0c jam ka5857 ,mem_config_sensor_type 
+0394 da604cbe arg mem_sensor_ka5857_init ,regc 
+0395 2040426b call mouse_sensor_wr_seq 
+0396 2020047e branch p_mouse_seting_sensor_type 
 
 p_mouse_sensor_poweron:
-0392 20403fa5 call mouse_sensor_spi_init 
-0393 6fe0c92c fetch 1 ,mem_config_sensor_type 
-0394 c0058399 beq ka8g2 ,p_mouse_ka8g2_sensor_init 
+0397 20403fa5 call mouse_sensor_spi_init 
+0398 6fe0c92c fetch 1 ,mem_config_sensor_type 
+0399 c005839e beq ka8g2 ,p_mouse_ka8g2_sensor_init 
 
 p_mouse_sensor_poweron_next:
-0395 20404272 call mouse_sensor_reset 
-0396 da604ab4 arg mem_sensor_poweron_init ,regc 
+039a 20404272 call mouse_sensor_reset 
+039b da604ab4 arg mem_sensor_poweron_init ,regc 
 
 p_mouse_sensor_poweron_end:
-0397 2040426b call mouse_sensor_wr_seq 
-0398 20200479 branch p_mouse_seting_sensor_type 
+039c 2040426b call mouse_sensor_wr_seq 
+039d 2020047e branch p_mouse_seting_sensor_type 
 
 p_mouse_ka8g2_sensor_init:
-0399 204003ac call p_mouse_ka8g2_sensor_reset 
-039a da604bf5 arg mem_ka8g2_sensor_poweron_init ,regc 
-039b 20200397 branch p_mouse_sensor_poweron_end 
+039e 204003b1 call p_mouse_ka8g2_sensor_reset 
+039f da604bf5 arg mem_ka8g2_sensor_poweron_init ,regc 
+03a0 2020039c branch p_mouse_sensor_poweron_end 
 
 p_mouse_sensor_powerdown:
-039c 204041e7 call mouse_init_sunt 
-039d 20403fa5 call mouse_sensor_spi_init 
-039e 6fe0c92c fetch 1 ,mem_config_sensor_type 
-039f c00583a1 beq ka8g2 ,p_mouse_ka8g2_sensor_powerdown 
-03a0 2020427e branch mouse_sensor_powerdown_end 
+03a1 204041e7 call mouse_init_sunt 
+03a2 20403fa5 call mouse_sensor_spi_init 
+03a3 6fe0c92c fetch 1 ,mem_config_sensor_type 
+03a4 c00583a6 beq ka8g2 ,p_mouse_ka8g2_sensor_powerdown 
+03a5 2020427e branch mouse_sensor_powerdown_end 
 
 p_mouse_ka8g2_sensor_powerdown:
-03a1 58001f06 setarg 0x1f06 
-03a2 20205d5e branch twspi_write 
+03a6 58001f06 setarg 0x1f06 
+03a7 20205d5e branch twspi_write 
 
 p_mouse_app_enter_hibernate:
-03a3 58000006 setarg pan_reg_config 
-03a4 20405d65 call twspi_read 
-03a5 c281be5d bbit1 3 ,mouse_app_enter_hibernate + 3 
-03a6 204003a9 call p_mouse_sensor_reset 
-03a7 2040039c call p_mouse_sensor_powerdown 
-03a8 20203e5d branch mouse_app_enter_hibernate + 3 
+03a8 58000006 setarg pan_reg_config 
+03a9 20405d65 call twspi_read 
+03aa c281be5d bbit1 3 ,mouse_app_enter_hibernate + 3 
+03ab 204003ae call p_mouse_sensor_reset 
+03ac 204003a1 call p_mouse_sensor_powerdown 
+03ad 20203e5d branch mouse_app_enter_hibernate + 3 
 
 p_mouse_sensor_reset:
-03a9 6fe0c92c fetch 1 ,mem_config_sensor_type 
-03aa c00583ac beq ka8g2 ,p_mouse_ka8g2_sensor_reset 
-03ab 20204272 branch mouse_sensor_reset 
+03ae 6fe0c92c fetch 1 ,mem_config_sensor_type 
+03af c00583b1 beq ka8g2 ,p_mouse_ka8g2_sensor_reset 
+03b0 20204272 branch mouse_sensor_reset 
 
 p_mouse_ka8g2_sensor_reset:
-03ac 58009706 setarg 0x9706 
-03ad 20204273 branch mouse_sensor_reset_end 
+03b1 58009706 setarg 0x9706 
+03b2 20204273 branch mouse_sensor_reset_end 
 
 p_mouse_setgpio_hibernate:
-03ae 20404329 call mouse_set_sdio_high 
-03af 20407f52 call clear_wake 
-03b0 20400376 call p_mouse_logo_led_off 
-03b1 2040035b call p_mouse_1io2led_all_off 
-03b2 20404055 call mouse_before_hibernate_wheel_gpio_set 
-03b3 6848c914 fetcht 1 ,mem_matrix_public_gpio 
-03b4 2040610d call gpio_out_active 
-03b5 6848c914 fetcht 1 ,mem_matrix_public_gpio 
-03b6 204060e6 call gpio_clr_wake 
-03b7 6fe0c924 fetch 1 ,mem_mouse_sensor_sdio_gpio 
-03b8 204005ff call p_mouse_gpio_config_output_high 
-03b9 d8400003 arg 3 ,temp 
-03ba 20403f96 call mouse_gpio_config_input_pu 
-03bb 20403e80 call mouse_lpm_before_common 
-03bc 20403e72 call mouse_gpio_pu_idle 
-03bd d8400013 arg 19 ,temp 
-03be 20403f96 call mouse_gpio_config_input_pu 
-03bf 204003c2 call p_mouse_gpio_set_high_impedance 
-03c0 204003cf call p_mouse_adc_gpio_set_before_hibernate 
-03c1 202003d2 branch p_mouse_wheel_gpio_set_before_hibernate 
+03b3 20404329 call mouse_set_sdio_high 
+03b4 20407f52 call clear_wake 
+03b5 20400376 call p_mouse_logo_led_off 
+03b6 2040035b call p_mouse_1io2led_all_off 
+03b7 20404055 call mouse_before_hibernate_wheel_gpio_set 
+03b8 6848c914 fetcht 1 ,mem_matrix_public_gpio 
+03b9 2040610d call gpio_out_active 
+03ba 6848c914 fetcht 1 ,mem_matrix_public_gpio 
+03bb 204060e6 call gpio_clr_wake 
+03bc 6fe0c924 fetch 1 ,mem_mouse_sensor_sdio_gpio 
+03bd 2040061b call p_mouse_gpio_config_output_high 
+03be d8400003 arg 3 ,temp 
+03bf 20403f96 call mouse_gpio_config_input_pu 
+03c0 20403e80 call mouse_lpm_before_common 
+03c1 20403e72 call mouse_gpio_pu_idle 
+03c2 d8400013 arg 19 ,temp 
+03c3 20403f96 call mouse_gpio_config_input_pu 
+03c4 204003c7 call p_mouse_gpio_set_high_impedance 
+03c5 204003d4 call p_mouse_adc_gpio_set_before_hibernate 
+03c6 202003d7 branch p_mouse_wheel_gpio_set_before_hibernate 
 
 p_mouse_gpio_set_high_impedance:
-03c2 6fe1cbef fetch 3 ,mem_mouse_set_high_impedance_bit_set 
-03c3 67e1895c store 3 ,mem_pdatatemp 
-03c4 df200014 arg 20 ,loopcnt 
-03c5 d8400000 arg 0 ,temp 
+03c7 6fe1cbef fetch 3 ,mem_mouse_set_high_impedance_bit_set 
+03c8 67e1895c store 3 ,mem_pdatatemp 
+03c9 df200014 arg 20 ,loopcnt 
+03ca d8400000 arg 0 ,temp 
 
 p_mouse_gpio_set_high_impedance_bit_loop:
-03c6 6fe1895c fetch 3 ,mem_pdatatemp 
-03c7 2feffe00 isolate1 0 ,pdata 
-03c8 2040e121 call gpio_set_high_impedance ,true 
-03c9 6fe1895c fetch 3 ,mem_pdatatemp 
-03ca 1fe37e00 rshift pdata ,pdata 
-03cb 67e1895c store 3 ,mem_pdatatemp 
-03cc 18408401 increase 1 ,temp 
-03cd c20003c6 loop p_mouse_gpio_set_high_impedance_bit_loop 
-03ce 20600000 rtn 
+03cb 6fe1895c fetch 3 ,mem_pdatatemp 
+03cc 2feffe00 isolate1 0 ,pdata 
+03cd 2040e121 call gpio_set_high_impedance ,true 
+03ce 6fe1895c fetch 3 ,mem_pdatatemp 
+03cf 1fe37e00 rshift pdata ,pdata 
+03d0 67e1895c store 3 ,mem_pdatatemp 
+03d1 18408401 increase 1 ,temp 
+03d2 c20003cb loop p_mouse_gpio_set_high_impedance_bit_loop 
+03d3 20600000 rtn 
 
 p_mouse_adc_gpio_set_before_hibernate:
-03cf dfe0000a arg 0x0a ,pdata 
-03d0 d84000c0 arg gpcfg_no_ie ,temp 
-03d1 2020612c branch gpio_config_function_int 
+03d4 dfe0000a arg 0x0a ,pdata 
+03d5 d84000c0 arg gpcfg_no_ie ,temp 
+03d6 2020612c branch gpio_config_function_int 
 
 p_mouse_wheel_gpio_set_before_hibernate:
-03d2 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
-03d3 c41e0000 rtnbit0 mouse_enable_wheel_wake_up_cancel 
+03d7 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
+03d8 c41e0000 rtnbit0 mouse_enable_wheel_wake_up_cancel 
 
 p_mouse_wheel_clr_wakeup:
-03d4 6848c917 fetcht 1 ,mem_whee_a_data_gpio 
-03d5 204060e6 call gpio_clr_wake 
-03d6 6848c918 fetcht 1 ,mem_whee_b_data_gpio 
-03d7 204060e6 call gpio_clr_wake 
-03d8 6848c917 fetcht 1 ,mem_whee_a_data_gpio 
-03d9 20403f94 call mouse_gpio_config_input_pd 
-03da 6848c918 fetcht 1 ,mem_whee_b_data_gpio 
-03db 20203f94 branch mouse_gpio_config_input_pd 
+03d9 6848c917 fetcht 1 ,mem_whee_a_data_gpio 
+03da 204060e6 call gpio_clr_wake 
+03db 6848c918 fetcht 1 ,mem_whee_b_data_gpio 
+03dc 204060e6 call gpio_clr_wake 
+03dd 6848c917 fetcht 1 ,mem_whee_a_data_gpio 
+03de 20403f94 call mouse_gpio_config_input_pd 
+03df 6848c918 fetcht 1 ,mem_whee_b_data_gpio 
+03e0 20203f94 branch mouse_gpio_config_input_pd 
 
 p_mouse_short_sleep_clear_wake:
-03dc 20407f52 call clear_wake 
-03dd 2020155d branch lpm_write_gpio_wakeup 
+03e1 20407f52 call clear_wake 
+03e2 2020155d branch lpm_write_gpio_wakeup 
 
 p_mouse_lpm_before_common:
-03de 6848c917 fetcht 1 ,mem_whee_a_data_gpio 
-03df 204060f4 call gpio_config_input 
-03e0 6848c918 fetcht 1 ,mem_whee_b_data_gpio 
-03e1 204060f4 call gpio_config_input 
-03e2 20203e81 branch mouse_lpm_before_common + 1 
+03e3 6848c917 fetcht 1 ,mem_whee_a_data_gpio 
+03e4 204060f4 call gpio_config_input 
+03e5 6848c918 fetcht 1 ,mem_whee_b_data_gpio 
+03e6 204060f4 call gpio_config_input 
+03e7 20203e81 branch mouse_lpm_before_common + 1 
 
 p_mouse_idle:
-03e3 204049dd call mouse_low_voltage_led_no_enter_lpm 
-03e4 204079a1 call ui_check_paring_button 
-03e5 204003e8 call p_mouse_dpi_check 
-03e6 204003fc call p_mouse_dpi_another_gpio_check 
-03e7 2020468f branch mouse_idle + 4 
+03e8 204049dd call mouse_low_voltage_led_no_enter_lpm 
+03e9 204079a1 call ui_check_paring_button 
+03ea 204003ed call p_mouse_dpi_check 
+03eb 20400401 call p_mouse_dpi_another_gpio_check 
+03ec 2020468f branch mouse_idle + 4 
 
 p_mouse_dpi_check:
-03e8 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
-03e9 c2974076 bbit1 mouse_enable_dpi_key_connect_adc ,mouse_dpi_check_connect_adc 
-03ea 6fe0c913 fetch 1 ,mem_dpi_button_gpio 
-03eb c17f8000 rtneq gpio_disable 
-03ec da200000 arg 0 ,rega 
-03ed 704ba705 jam mouse_dpi_key ,mem_mouse_key_temp 
-03ee 6848c913 fetcht 1 ,mem_dpi_button_gpio 
-03ef 204003f1 call p_mouse_dpi_key_check 
-03f0 2020406f branch mouse_dpi_check_next 
+03ed 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
+03ee c2974076 bbit1 mouse_enable_dpi_key_connect_adc ,mouse_dpi_check_connect_adc 
+03ef 6fe0c913 fetch 1 ,mem_dpi_button_gpio 
+03f0 c17f8000 rtneq gpio_disable 
+03f1 da200000 arg 0 ,rega 
+03f2 704ba705 jam mouse_dpi_key ,mem_mouse_key_temp 
+03f3 6848c913 fetcht 1 ,mem_dpi_button_gpio 
+03f4 204003f6 call p_mouse_dpi_key_check 
+03f5 2020406f branch mouse_dpi_check_next 
 
 p_mouse_dpi_key_check:
-03f1 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
-03f2 c2964088 bbit1 mouse_enable_dpi_key_connect_gnd ,mouse_dpi_key_connect_gnd 
-03f3 6fe0cba4 fetch 1 ,mem_mouse_dpikey_press_status 
-03f4 1fe22600 copy pdata ,regc 
-03f5 6fe0c914 fetch 1 ,mem_matrix_public_gpio 
-03f6 c07f83f8 beq gpio_disable ,p_mouse_3io6key_dpi_check 
-03f7 2020407f branch mouse_dpi_key_check_next 
+03f6 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
+03f7 c2964088 bbit1 mouse_enable_dpi_key_connect_gnd ,mouse_dpi_key_connect_gnd 
+03f8 6fe0cba4 fetch 1 ,mem_mouse_dpikey_press_status 
+03f9 1fe22600 copy pdata ,regc 
+03fa 6fe0c914 fetch 1 ,mem_matrix_public_gpio 
+03fb c07f83fd beq gpio_disable ,p_mouse_3io6key_dpi_check 
+03fc 2020407f branch mouse_dpi_key_check_next 
 
 p_mouse_3io6key_dpi_check:
-03f8 6fe0c913 fetch 1 ,mem_dpi_button_gpio 
-03f9 20400602 call p_mouse_gpio_config_output_low 
-03fa 6848c913 fetcht 1 ,mem_dpi_button_gpio 
-03fb 202041d5 branch mouse_3io6key_check 
+03fd 6fe0c913 fetch 1 ,mem_dpi_button_gpio 
+03fe 2040061e call p_mouse_gpio_config_output_low 
+03ff 6848c913 fetcht 1 ,mem_dpi_button_gpio 
+0400 202041d5 branch mouse_3io6key_check 
 
 p_mouse_dpi_another_gpio_check:
-03fc 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
-03fd c41e8000 rtnbit0 mouse_enable_double_dpi_key 
-03fe 6fe0cc1b fetch 1 ,mem_mouse_another_dpi_connect_vin_flag 
-03ff 243a0405 nbranch p_mouse_dpi_another_gpio_connect_vin_check ,blank 
+0401 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
+0402 c41e8000 rtnbit0 mouse_enable_double_dpi_key 
+0403 6fe0cc1b fetch 1 ,mem_mouse_another_dpi_connect_vin_flag 
+0404 243a040a nbranch p_mouse_dpi_another_gpio_connect_vin_check ,blank 
 
 p_mouse_dpi_another_gpio_connect_gnd_check:
-0400 6fe0cc1c fetch 1 ,mem_dpi_another_button_gpio 
-0401 204005ff call p_mouse_gpio_config_output_high 
-0402 20400415 call p_mouse_dpi_another_check 
-0403 6848cc1c fetcht 1 ,mem_dpi_another_button_gpio 
-0404 20203f96 branch mouse_gpio_config_input_pu 
+0405 6fe0cc1c fetch 1 ,mem_dpi_another_button_gpio 
+0406 2040061b call p_mouse_gpio_config_output_high 
+0407 2040041a call p_mouse_dpi_another_check 
+0408 6848cc1c fetcht 1 ,mem_dpi_another_button_gpio 
+0409 20203f96 branch mouse_gpio_config_input_pu 
 
 p_mouse_dpi_another_gpio_connect_vin_check:
-0405 6fe0cc1c fetch 1 ,mem_dpi_another_button_gpio 
-0406 793ffe07 set0 gpio_active_bit ,pdata 
-0407 67e0cc1c store 1 ,mem_dpi_another_button_gpio 
-0408 20400602 call p_mouse_gpio_config_output_low 
-0409 704c2000 jam mouse_dpi_another_key ,mem_mouse_key_temp_patch 
-040a 6848cc1c fetcht 1 ,mem_dpi_another_button_gpio 
-040b 6fe0cc1d fetch 1 ,mem_dpi_another_press_status 
-040c 2040042e call p_mouse_check_key_connect_vin_new 
-040d 20400419 call p_mouse_dpi_another_state_check 
-040e 6848cc1c fetcht 1 ,mem_dpi_another_button_gpio 
-040f 20203f96 branch mouse_gpio_config_input_pu 
+040a 6fe0cc1c fetch 1 ,mem_dpi_another_button_gpio 
+040b 793ffe07 set0 gpio_active_bit ,pdata 
+040c 67e0cc1c store 1 ,mem_dpi_another_button_gpio 
+040d 2040061e call p_mouse_gpio_config_output_low 
+040e 704c2000 jam mouse_dpi_another_key ,mem_mouse_key_temp_patch 
+040f 6848cc1c fetcht 1 ,mem_dpi_another_button_gpio 
+0410 6fe0cc1d fetch 1 ,mem_dpi_another_press_status 
+0411 20400433 call p_mouse_check_key_connect_vin_new 
+0412 2040041e call p_mouse_dpi_another_state_check 
+0413 6848cc1c fetcht 1 ,mem_dpi_another_button_gpio 
+0414 20203f96 branch mouse_gpio_config_input_pu 
 
 p_mouse_dpi_another_down_new:
-0410 20403f96 call mouse_gpio_config_input_pu 
-0411 6fe0cc1e fetch 1 ,mem_dpi_another_button_state 
-0412 c1008000 rtneq dpi_button_state_down 
-0413 704c1e01 jam dpi_button_state_down ,mem_dpi_another_button_state 
-0414 202040a9 branch mouse_dpi_process 
+0415 20403f96 call mouse_gpio_config_input_pu 
+0416 6fe0cc1e fetch 1 ,mem_dpi_another_button_state 
+0417 c1008000 rtneq dpi_button_state_down 
+0418 704c1e01 jam dpi_button_state_down ,mem_dpi_another_button_state 
+0419 202040a9 branch mouse_dpi_process 
 
 p_mouse_dpi_another_check:
-0415 704c2000 jam mouse_dpi_another_key ,mem_mouse_key_temp_patch 
-0416 6848cc1c fetcht 1 ,mem_dpi_another_button_gpio 
-0417 6fe0cc1d fetch 1 ,mem_dpi_another_press_status 
-0418 20400424 call p_mouse_check_key_connect_gnd_new 
+041a 704c2000 jam mouse_dpi_another_key ,mem_mouse_key_temp_patch 
+041b 6848cc1c fetcht 1 ,mem_dpi_another_button_gpio 
+041c 6fe0cc1d fetch 1 ,mem_dpi_another_press_status 
+041d 20400429 call p_mouse_check_key_connect_gnd_new 
 
 p_mouse_dpi_another_state_check:
-0419 67e0cc1d store 1 ,mem_dpi_another_press_status 
-041a 6fe0cc1f fetch 1 ,mem_dpi_another_button_down_enable 
-041b 203a0420 branch p_mouse_dpi_another_up ,blank 
+041e 67e0cc1d store 1 ,mem_dpi_another_press_status 
+041f 6fe0cc1f fetch 1 ,mem_dpi_another_button_down_enable 
+0420 203a0425 branch p_mouse_dpi_another_up ,blank 
 
 p_mouse_dpi_another_down:
-041c 6fe0cc1e fetch 1 ,mem_dpi_another_button_state 
-041d c1008000 rtneq dpi_button_state_down 
-041e 704c1e01 jam dpi_button_state_down ,mem_dpi_another_button_state 
-041f 202040a9 branch mouse_dpi_process 
+0421 6fe0cc1e fetch 1 ,mem_dpi_another_button_state 
+0422 c1008000 rtneq dpi_button_state_down 
+0423 704c1e01 jam dpi_button_state_down ,mem_dpi_another_button_state 
+0424 202040a9 branch mouse_dpi_process 
 
 p_mouse_dpi_another_up:
-0420 6fe0cc1e fetch 1 ,mem_dpi_another_button_state 
-0421 c1000000 rtneq dpi_button_state_up 
-0422 704c1e00 jam dpi_button_state_up ,mem_dpi_another_button_state 
-0423 20600000 rtn 
+0425 6fe0cc1e fetch 1 ,mem_dpi_another_button_state 
+0426 c1000000 rtneq dpi_button_state_up 
+0427 704c1e00 jam dpi_button_state_up ,mem_dpi_another_button_state 
+0428 20600000 rtn 
 
 p_mouse_check_key_connect_gnd_new:
-0424 1fe3fe00 lshift pdata ,pdata 
-0425 1fe22400 copy pdata ,regb 
-0426 204060fd call gpio_get_bit 
-0427 7920a400 setflag true ,0 ,regb 
-0428 1a417e07 and regb ,0x07 ,pdata 
-0429 6848cc20 fetcht 1 ,mem_mouse_key_temp_patch 
-042a 18420e00 copy temp ,queue 
-042b c0038439 beq 0x07 ,p_mouse_key_press 
-042c c000043b beq 0x00 ,p_mouse_key_release 
-042d 20600000 rtn 
+0429 1fe3fe00 lshift pdata ,pdata 
+042a 1fe22400 copy pdata ,regb 
+042b 204060fd call gpio_get_bit 
+042c 7920a400 setflag true ,0 ,regb 
+042d 1a417e07 and regb ,0x07 ,pdata 
+042e 6848cc20 fetcht 1 ,mem_mouse_key_temp_patch 
+042f 18420e00 copy temp ,queue 
+0430 c003843e beq 0x07 ,p_mouse_key_press 
+0431 c0000440 beq 0x00 ,p_mouse_key_release 
+0432 20600000 rtn 
 
 p_mouse_check_key_connect_vin_new:
-042e 1fe3fe00 lshift pdata ,pdata 
-042f 1fe22400 copy pdata ,regb 
-0430 20403f94 call mouse_gpio_config_input_pd 
-0431 204060fd call gpio_get_bit 
-0432 7920a400 setflag true ,0 ,regb 
-0433 1a417e07 and regb ,0x07 ,pdata 
-0434 6848cc20 fetcht 1 ,mem_mouse_key_temp_patch 
-0435 18420e00 copy temp ,queue 
-0436 c0038439 beq 0x07 ,p_mouse_key_press 
-0437 c000043b beq 0x00 ,p_mouse_key_release 
-0438 20600000 rtn 
+0433 1fe3fe00 lshift pdata ,pdata 
+0434 1fe22400 copy pdata ,regb 
+0435 20403f94 call mouse_gpio_config_input_pd 
+0436 204060fd call gpio_get_bit 
+0437 7920a400 setflag true ,0 ,regb 
+0438 1a417e07 and regb ,0x07 ,pdata 
+0439 6848cc20 fetcht 1 ,mem_mouse_key_temp_patch 
+043a 18420e00 copy temp ,queue 
+043b c003843e beq 0x07 ,p_mouse_key_press 
+043c c0000440 beq 0x00 ,p_mouse_key_release 
+043d 20600000 rtn 
 
 p_mouse_key_press:
-0439 704c1f01 jam 1 ,mem_dpi_another_button_down_enable 
-043a 20600000 rtn 
+043e 704c1f01 jam 1 ,mem_dpi_another_button_down_enable 
+043f 20600000 rtn 
 
 p_mouse_key_release:
-043b 704c1f00 jam 0 ,mem_dpi_another_button_down_enable 
-043c 20600000 rtn 
+0440 704c1f00 jam 0 ,mem_dpi_another_button_down_enable 
+0441 20600000 rtn 
 
 p_mouse_dpi_process_5_level:
-043d 18427e00 copy temp ,pdata 
-043e 1fe0fe01 increase 1 ,pdata 
-043f 1fe67c04 sub pdata ,4 ,null 
-0440 24410442 ncall p_mouse_dpi_init ,positive 
-0441 20200450 branch p_mouse_dpi_store 
+0442 18427e00 copy temp ,pdata 
+0443 1fe0fe01 increase 1 ,pdata 
+0444 1fe67c04 sub pdata ,4 ,null 
+0445 24410447 ncall p_mouse_dpi_init ,positive 
+0446 20200455 branch p_mouse_dpi_store 
 
 p_mouse_dpi_init:
-0442 58000000 setarg 0 
-0443 20600000 rtn 
+0447 58000000 setarg 0 
+0448 20600000 rtn 
 
 p_mouse_dpi_process:
-0444 204040b2 call mouse_dpi_ghost_check 
-0445 20740000 rtn user 
-0446 6fe0c997 fetch 1 ,mem_mouse_dpi 
-0447 1fe20400 copy pdata ,temp 
-0448 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
-0449 c29e8453 bbit1 mouse_enable_double_dpi_key ,p_mouse_double_dpi_check 
-044a 6fe0c92c fetch 1 ,mem_config_sensor_type 
-044b c006043d beq ka5857 ,p_mouse_dpi_process_5_level 
-044c c001843d beq p3212 ,p_mouse_dpi_process_5_level 
-044d 18427e00 copy temp ,pdata 
-044e 1fe0fe01 increase 1 ,pdata 
-044f 1fe17e03 and pdata ,0x03 ,pdata 
+0449 204040b2 call mouse_dpi_ghost_check 
+044a 20740000 rtn user 
+044b 6fe0c997 fetch 1 ,mem_mouse_dpi 
+044c 1fe20400 copy pdata ,temp 
+044d 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
+044e c29e8458 bbit1 mouse_enable_double_dpi_key ,p_mouse_double_dpi_check 
+044f 6fe0c92c fetch 1 ,mem_config_sensor_type 
+0450 c0060442 beq ka5857 ,p_mouse_dpi_process_5_level 
+0451 c0018442 beq p3212 ,p_mouse_dpi_process_5_level 
+0452 18427e00 copy temp ,pdata 
+0453 1fe0fe01 increase 1 ,pdata 
+0454 1fe17e03 and pdata ,0x03 ,pdata 
 
 p_mouse_dpi_store:
-0450 67e0c997 store 1 ,mem_mouse_dpi 
-0451 204040d5 call mouse_seting_dpi 
-0452 2020462e branch mouse_store_device_info_delay 
+0455 67e0c997 store 1 ,mem_mouse_dpi 
+0456 204040d5 call mouse_seting_dpi 
+0457 2020462e branch mouse_store_device_info_delay 
 
 p_mouse_double_dpi_check:
-0453 6fe0cc1f fetch 1 ,mem_dpi_another_button_down_enable 
-0454 243a0470 nbranch p_mouse_another_dpi_button_down ,blank 
+0458 6fe0cc1f fetch 1 ,mem_dpi_another_button_down_enable 
+0459 243a0475 nbranch p_mouse_another_dpi_button_down ,blank 
 
 p_mouse_dpi_increase:
-0455 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
-0456 c28e0464 bbit1 mouse_enable_dpi_level_4 ,p_mouse_dpi_increase_level_4 
-0457 18427e00 copy temp ,pdata 
-0458 c1008000 rtneq mouse_dpi_level2 
+045a 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
+045b c28e0469 bbit1 mouse_enable_dpi_level_4 ,p_mouse_dpi_increase_level_4 
+045c 18427e00 copy temp ,pdata 
+045d c1008000 rtneq mouse_dpi_level2 
 
 p_mouse_dpi_increase_level:
-0459 c0000460 beq mouse_dpi_level1 ,p_mouse_dpi_level_3 
-045a c001045e beq mouse_dpi_level3 ,p_mouse_dpi_level_2 
-045b 20600000 rtn 
+045e c0000465 beq mouse_dpi_level1 ,p_mouse_dpi_level_3 
+045f c0010463 beq mouse_dpi_level3 ,p_mouse_dpi_level_2 
+0460 20600000 rtn 
 
 p_mouse_dpi_level_1:
-045c 58000002 setarg 2 
-045d 20200450 branch p_mouse_dpi_store 
+0461 58000002 setarg 2 
+0462 20200455 branch p_mouse_dpi_store 
 
 p_mouse_dpi_level_2:
-045e 58000000 setarg 0 
-045f 20200450 branch p_mouse_dpi_store 
+0463 58000000 setarg 0 
+0464 20200455 branch p_mouse_dpi_store 
 
 p_mouse_dpi_level_3:
-0460 58000001 setarg 1 
-0461 20200450 branch p_mouse_dpi_store 
+0465 58000001 setarg 1 
+0466 20200455 branch p_mouse_dpi_store 
 
 p_mouse_dpi_level_4:
-0462 58000003 setarg 3 
-0463 20200450 branch p_mouse_dpi_store 
+0467 58000003 setarg 3 
+0468 20200455 branch p_mouse_dpi_store 
 
 p_mouse_dpi_increase_level_4:
-0464 18427e00 copy temp ,pdata 
-0465 c1008000 rtneq mouse_dpi_level2 
-0466 c0000460 beq mouse_dpi_level1 ,p_mouse_dpi_level_3 
-0467 c0010462 beq mouse_dpi_level3 ,p_mouse_dpi_level_4 
-0468 c001845e beq mouse_dpi_level4 ,p_mouse_dpi_level_2 
-0469 20600000 rtn 
+0469 18427e00 copy temp ,pdata 
+046a c1008000 rtneq mouse_dpi_level2 
+046b c0000465 beq mouse_dpi_level1 ,p_mouse_dpi_level_3 
+046c c0010467 beq mouse_dpi_level3 ,p_mouse_dpi_level_4 
+046d c0018463 beq mouse_dpi_level4 ,p_mouse_dpi_level_2 
+046e 20600000 rtn 
 
 p_mouse_dpi_decrease_level_4:
-046a 18427e00 copy temp ,pdata 
-046b c1010000 rtneq mouse_dpi_level3 
-046c c0000462 beq mouse_dpi_level1 ,p_mouse_dpi_level_4 
-046d c000845e beq mouse_dpi_level2 ,p_mouse_dpi_level_2 
-046e c001845c beq mouse_dpi_level4 ,p_mouse_dpi_level_1 
-046f 20600000 rtn 
+046f 18427e00 copy temp ,pdata 
+0470 c1010000 rtneq mouse_dpi_level3 
+0471 c0000467 beq mouse_dpi_level1 ,p_mouse_dpi_level_4 
+0472 c0008463 beq mouse_dpi_level2 ,p_mouse_dpi_level_2 
+0473 c0018461 beq mouse_dpi_level4 ,p_mouse_dpi_level_1 
+0474 20600000 rtn 
 
 p_mouse_another_dpi_button_down:
 
 p_mouse_dpi_decrease:
-0470 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
-0471 c28e046a bbit1 mouse_enable_dpi_level_4 ,p_mouse_dpi_decrease_level_4 
-0472 18427e00 copy temp ,pdata 
-0473 c1010000 rtneq mouse_dpi_level3 
+0475 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
+0476 c28e046f bbit1 mouse_enable_dpi_level_4 ,p_mouse_dpi_decrease_level_4 
+0477 18427e00 copy temp ,pdata 
+0478 c1010000 rtneq mouse_dpi_level3 
 
 p_mouse_dpi_decrease_level:
-0474 c000045c beq mouse_dpi_level1 ,p_mouse_dpi_level_1 
-0475 c000845e beq mouse_dpi_level2 ,p_mouse_dpi_level_2 
-0476 20600000 rtn 
+0479 c0000461 beq mouse_dpi_level1 ,p_mouse_dpi_level_1 
+047a c0008463 beq mouse_dpi_level2 ,p_mouse_dpi_level_2 
+047b 20600000 rtn 
 
 p_mouse_seting_dpi:
-0477 2040047d call p_mouse_setting_dpi_4_level 
-0478 20400491 call p_mouse_dpi_led_blink_delay 
+047c 20400483 call p_mouse_setting_dpi_4_level 
+047d 204004ab call p_mouse_dpi_led_blink_delay 
 
 p_mouse_seting_sensor_type:
-0479 6fe0c92c fetch 1 ,mem_config_sensor_type 
-047a c0060481 beq ka5857 ,p_mouse_seting_3212_dpi 
-047b c0018481 beq p3212 ,p_mouse_seting_3212_dpi 
-047c 202040da branch mouse_seting_sensor_type + 2 
+047e 6fe0c92c fetch 1 ,mem_config_sensor_type 
+047f c006049b beq ka5857 ,p_mouse_seting_3212_dpi 
+0480 c001849b beq p3212 ,p_mouse_seting_3212_dpi 
+0481 c0068487 beq s201x ,p_mouse_seting_s201_dpi 
+0482 202040da branch mouse_seting_sensor_type + 2 
 
 p_mouse_setting_dpi_4_level:
-047d 6fe0c92c fetch 1 ,mem_config_sensor_type 
-047e c1060000 rtneq ka5857 
-047f c1018000 rtneq p3212 
-0480 202040cf branch mouse_setting_dpi_4_level 
+0483 6fe0c92c fetch 1 ,mem_config_sensor_type 
+0484 c1060000 rtneq ka5857 
+0485 c1018000 rtneq p3212 
+0486 202040cf branch mouse_setting_dpi_4_level 
+
+p_mouse_seting_s201_dpi:
+0487 6fe0c997 fetch 1 ,mem_mouse_dpi 
+0488 c000048b beq mouse_dpi_level1 ,p_mouse_set_s201_dpi_0 
+0489 c000848e beq mouse_dpi_level2 ,p_mouse_set_s201_dpi_1 
+048a c0010491 beq mouse_dpi_level3 ,p_mouse_set_s201_dpi_4 
+
+p_mouse_set_s201_dpi_0:
+048b 6fe0ccd0 fetch 1 ,mem_sensor_s201_dpi_0 
+048c 1fe22200 copy pdata ,rega 
+048d 20200493 branch p_mouse_dpi_s201_store 
+
+p_mouse_set_s201_dpi_1:
+048e 6fe0ccd1 fetch 1 ,mem_sensor_s201_dpi_1 
+048f 1fe22200 copy pdata ,rega 
+0490 20200493 branch p_mouse_dpi_s201_store 
+
+p_mouse_set_s201_dpi_4:
+0491 6fe0ccd4 fetch 1 ,mem_sensor_s201_dpi_4 
+0492 1fe22200 copy pdata ,rega 
+
+p_mouse_dpi_s201_store:
+0493 5800c309 setarg 0xc309 
+0494 20405d5e call twspi_write 
+0495 1a227e00 copy rega ,pdata 
+0496 1fed7e00 lshift8 pdata ,pdata 
+0497 1fe0fe23 add pdata ,0x23 ,pdata 
+0498 20405d5e call twspi_write 
+0499 58000009 setarg 0x0009 
+049a 20205d5e branch twspi_write 
 
 p_mouse_seting_3212_dpi:
-0481 6fe0c997 fetch 1 ,mem_mouse_dpi 
-0482 c0000489 beq mouse_dpi_level1 ,p_mouse_set_p3212_cpi0 
-0483 c0008487 beq mouse_dpi_level2 ,p_mouse_set_p3212_cpi1 
-0484 c001048b beq mouse_dpi_level3 ,p_mouse_set_p3212_cpi2 
-0485 c001848d beq mouse_dpi_level4 ,p_mouse_set_p3212_cpi3 
-0486 c002048f beq mouse_dpi_level5 ,p_mouse_set_p3212_cpi4 
+049b 6fe0c997 fetch 1 ,mem_mouse_dpi 
+049c c00004a3 beq mouse_dpi_level1 ,p_mouse_set_p3212_cpi0 
+049d c00084a1 beq mouse_dpi_level2 ,p_mouse_set_p3212_cpi1 
+049e c00104a5 beq mouse_dpi_level3 ,p_mouse_set_p3212_cpi2 
+049f c00184a7 beq mouse_dpi_level4 ,p_mouse_set_p3212_cpi3 
+04a0 c00204a9 beq mouse_dpi_level5 ,p_mouse_set_p3212_cpi4 
 
 p_mouse_set_p3212_cpi1:
-0487 6fe0cccb fetch 1 ,mem_3212_dpi_1_new 
-0488 20204107 branch mouse_p3212_dpi 
+04a1 6fe0cccb fetch 1 ,mem_3212_dpi_1_new 
+04a2 20204107 branch mouse_p3212_dpi 
 
 p_mouse_set_p3212_cpi0:
-0489 6fe0ccca fetch 1 ,mem_3212_dpi_0_new 
-048a 20204107 branch mouse_p3212_dpi 
+04a3 6fe0ccca fetch 1 ,mem_3212_dpi_0_new 
+04a4 20204107 branch mouse_p3212_dpi 
 
 p_mouse_set_p3212_cpi2:
-048b 6fe0cccc fetch 1 ,mem_3212_dpi_2_new 
-048c 20204107 branch mouse_p3212_dpi 
+04a5 6fe0cccc fetch 1 ,mem_3212_dpi_2_new 
+04a6 20204107 branch mouse_p3212_dpi 
 
 p_mouse_set_p3212_cpi3:
-048d 6fe0cccd fetch 1 ,mem_3212_dpi_3_new 
-048e 20204107 branch mouse_p3212_dpi 
+04a7 6fe0cccd fetch 1 ,mem_3212_dpi_3_new 
+04a8 20204107 branch mouse_p3212_dpi 
 
 p_mouse_set_p3212_cpi4:
-048f 6fe0ccce fetch 1 ,mem_3212_dpi_4_new 
-0490 20204107 branch mouse_p3212_dpi 
+04a9 6fe0ccce fetch 1 ,mem_3212_dpi_4_new 
+04aa 20204107 branch mouse_p3212_dpi 
 
 p_mouse_dpi_led_blink_delay:
-0491 6fe0c928 fetch 1 ,mem_dpi_led_gpio 
-0492 c17f8000 rtneq gpio_disable 
-0493 6fe14ad3 fetch 2 ,mem_mouse_discovery_timer 
-0494 247a0000 nrtn blank 
-0495 6fe14887 fetch 2 ,mem_24g_pair_timeout 
-0496 247a0000 nrtn blank 
-0497 6fe1488b fetch 2 ,mem_24g_reconn_timeout 
-0498 247a0000 nrtn blank 
-0499 6fe0cbb8 fetch 1 ,mem_mouse_device_poweron_timer_count 
-049a 247a0000 nrtn blank 
-049b 6fe0cbd2 fetch 1 ,mem_mouse_dpi_led_delay_count_init 
-049c 203a049f branch p_mouse_dpi_led_blink_init ,blank 
-049d 67e0cbb9 store 1 ,mem_mouse_dpi_led_delay_count 
-049e 20600000 rtn 
+04ab 6fe0c928 fetch 1 ,mem_dpi_led_gpio 
+04ac c17f8000 rtneq gpio_disable 
+04ad 6fe14ad3 fetch 2 ,mem_mouse_discovery_timer 
+04ae 247a0000 nrtn blank 
+04af 6fe14887 fetch 2 ,mem_24g_pair_timeout 
+04b0 247a0000 nrtn blank 
+04b1 6fe1488b fetch 2 ,mem_24g_reconn_timeout 
+04b2 247a0000 nrtn blank 
+04b3 6fe0cbb8 fetch 1 ,mem_mouse_device_poweron_timer_count 
+04b4 247a0000 nrtn blank 
+04b5 6fe0cbd2 fetch 1 ,mem_mouse_dpi_led_delay_count_init 
+04b6 203a04b9 branch p_mouse_dpi_led_blink_init ,blank 
+04b7 67e0cbb9 store 1 ,mem_mouse_dpi_led_delay_count 
+04b8 20600000 rtn 
 
 p_mouse_dpi_led_blink_init:
-049f 6fe0c92c fetch 1 ,mem_config_sensor_type 
-04a0 c001c93f beq p3212 ,mouse_dpi_led_blink_init 
-04a1 c005c93f beq ka8g2 ,mouse_dpi_led_blink_init 
-04a2 6fe0c928 fetch 1 ,mem_dpi_led_gpio 
-04a3 67e0c934 store 1 ,mem_mouse_struct_led_gpio 
-04a4 6fe14bd3 fetch 2 ,mem_mouse_dpi_led_blink_time 
-04a5 67e14935 store 2 ,mem_mouse_on_time 
-04a6 67e14937 store 2 ,mem_mouse_off_time 
-04a7 da200000 arg 0 ,rega 
-04a8 6848c997 fetcht 1 ,mem_mouse_dpi 
-04a9 18408402 increase 2 ,temp 
-04aa 18467c03 sub temp ,3 ,null 
-04ab 204104ae call p_mouse_dpi_led_blink_init_level_4 ,positive 
-04ac 244104b2 ncall p_mouse_dpi_led_blink_count_clean ,positive 
-04ad 2020494c branch mouse_dpi_led_blink_init_end 
+04b9 6fe0c92c fetch 1 ,mem_config_sensor_type 
+04ba c001c93f beq p3212 ,mouse_dpi_led_blink_init 
+04bb c005c93f beq ka8g2 ,mouse_dpi_led_blink_init 
+04bc 6fe0c928 fetch 1 ,mem_dpi_led_gpio 
+04bd 67e0c934 store 1 ,mem_mouse_struct_led_gpio 
+04be 6fe14bd3 fetch 2 ,mem_mouse_dpi_led_blink_time 
+04bf 67e14935 store 2 ,mem_mouse_on_time 
+04c0 67e14937 store 2 ,mem_mouse_off_time 
+04c1 da200000 arg 0 ,rega 
+04c2 6848c997 fetcht 1 ,mem_mouse_dpi 
+04c3 18408402 increase 2 ,temp 
+04c4 18467c03 sub temp ,3 ,null 
+04c5 204104c8 call p_mouse_dpi_led_blink_init_level_4 ,positive 
+04c6 244104cc ncall p_mouse_dpi_led_blink_count_clean ,positive 
+04c7 2020494c branch mouse_dpi_led_blink_init_end 
 
 p_mouse_dpi_led_blink_init_level_4:
-04ae 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
-04af c40e0000 rtnbit0 mouse_enable_dpi_level_4 
-04b0 18408401 increase 1 ,temp 
-04b1 20600000 rtn 
+04c8 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
+04c9 c40e0000 rtnbit0 mouse_enable_dpi_level_4 
+04ca 18408401 increase 1 ,temp 
+04cb 20600000 rtn 
 
 p_mouse_dpi_led_blink_count_clean:
-04b2 184085fd increase -3 ,temp 
-04b3 20600000 rtn 
+04cc 184085fd increase -3 ,temp 
+04cd 20600000 rtn 
 
 p_mouse_priority_bb_event:
-04b4 1a627e00 copy regc ,pdata 
-04b5 c01e04c0 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
-04b6 c01c84b9 beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
-04b7 c01d04d1 beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
-04b8 20204376 branch mouse_priority_bb_event + 2 
+04ce 1a627e00 copy regc ,pdata 
+04cf c01e04da beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
+04d0 c01c84d3 beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
+04d1 c01d04eb beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
+04d2 20204376 branch mouse_priority_bb_event + 2 
 
 p_mouse_24g_pairing_complete:
-04b9 2040018c call p_mouse_soft_agc_disable 
-04ba 20400125 call p_mouse_fetch_normal_tx_power 
-04bb 20404584 call mouse_no_data_timer_init 
-04bc d8e00001 arg mouse_24g_pairing_flag ,queue 
-04bd 20404732 call mouse_disable_function_flag 
-04be 2040035e call p_mouse_device_poweron_led_config 
-04bf 20204899 branch mouse_24g_pairing_complete + 3 
+04d3 2040018c call p_mouse_soft_agc_disable 
+04d4 20400125 call p_mouse_fetch_normal_tx_power 
+04d5 20404584 call mouse_no_data_timer_init 
+04d6 d8e00001 arg mouse_24g_pairing_flag ,queue 
+04d7 20404732 call mouse_disable_function_flag 
+04d8 2040035e call p_mouse_device_poweron_led_config 
+04d9 20204899 branch mouse_24g_pairing_complete + 3 
 
 p_mouse_24g_attempt_success:
-04c0 6fe2483f fetch 4 ,mem_24g_addr 
-04c1 67e24895 store 4 ,mem_24g_receiver_addr 
-04c2 67e24998 store 4 ,mem_mouse_24g_addr 
-04c3 20402587 call g24_ch_syncword_crc8_init 
-04c4 2040035e call p_mouse_device_poweron_led_config 
-04c5 20404584 call mouse_no_data_timer_init 
-04c6 2040430a call mouse_init_sensor_reset 
-04c7 704abf00 jam 0 ,mem_mouse_long_mult_flag 
-04c8 7048a500 jam 0 ,mem_24g_conn_sm 
-04c9 70488f00 jam 0 ,mem_24g_reconn_type 
-04ca 6fe24895 fetch 4 ,mem_24g_receiver_addr 
-04cb 684a4891 fetcht 4 ,mem_24g_fast_conn_addr 
-04cc 98467c00 isub temp ,null 
-04cd 20628000 rtn zero 
-04ce 2040018c call p_mouse_soft_agc_disable 
-04cf 20400125 call p_mouse_fetch_normal_tx_power 
-04d0 20204861 branch mouse_24g_first_store_reconn_info 
+04da 6fe2483f fetch 4 ,mem_24g_addr 
+04db 67e24895 store 4 ,mem_24g_receiver_addr 
+04dc 67e24998 store 4 ,mem_mouse_24g_addr 
+04dd 20402587 call g24_ch_syncword_crc8_init 
+04de 2040035e call p_mouse_device_poweron_led_config 
+04df 20404584 call mouse_no_data_timer_init 
+04e0 2040430a call mouse_init_sensor_reset 
+04e1 704abf00 jam 0 ,mem_mouse_long_mult_flag 
+04e2 7048a500 jam 0 ,mem_24g_conn_sm 
+04e3 70488f00 jam 0 ,mem_24g_reconn_type 
+04e4 6fe24895 fetch 4 ,mem_24g_receiver_addr 
+04e5 684a4891 fetcht 4 ,mem_24g_fast_conn_addr 
+04e6 98467c00 isub temp ,null 
+04e7 20628000 rtn zero 
+04e8 2040018c call p_mouse_soft_agc_disable 
+04e9 20400125 call p_mouse_fetch_normal_tx_power 
+04ea 20204861 branch mouse_24g_first_store_reconn_info 
 
 p_mouse_24g_attempt_fail:
-04d1 2040018c call p_mouse_soft_agc_disable 
-04d2 20400125 call p_mouse_fetch_normal_tx_power 
-04d3 6fe0c8a9 fetch 1 ,mem_24g_attempt_fail_flag 
-04d4 243a0512 nbranch p_mouse_24g_hibernate_set ,blank 
-04d5 6fe0c88f fetch 1 ,mem_24g_reconn_type 
-04d6 c00104f7 beq fast_conn_and_3_0_addr ,p_mouse_24g_fast_conn_attempt_fail 
-04d7 c002050b beq pair_and_3_0_addr ,p_mouse_24g_auto_pair_attempt_fail 
-04d8 c001851b beq receiver_and_3_0_addr ,p_mouse_reconn_dongle_attempt_fail 
-04d9 20204878 branch mouse_24g_attempt_fail_enter_hibernate 
+04eb 2040018c call p_mouse_soft_agc_disable 
+04ec 20400125 call p_mouse_fetch_normal_tx_power 
+04ed 6fe0c8a9 fetch 1 ,mem_24g_attempt_fail_flag 
+04ee 243a052c nbranch p_mouse_24g_hibernate_set ,blank 
+04ef 6fe0c88f fetch 1 ,mem_24g_reconn_type 
+04f0 c0010511 beq fast_conn_and_3_0_addr ,p_mouse_24g_fast_conn_attempt_fail 
+04f1 c0020525 beq pair_and_3_0_addr ,p_mouse_24g_auto_pair_attempt_fail 
+04f2 c0018535 beq receiver_and_3_0_addr ,p_mouse_reconn_dongle_attempt_fail 
+04f3 20204878 branch mouse_24g_attempt_fail_enter_hibernate 
 
 p_g24_nodata_transmit:
-04da 6fe0c8ab fetch 1 ,mem_24g_abort_pac 
-04db 205a04e9 call p_g24_send_abort_packet ,blank 
-04dc 6fe0c8c1 fetch 1 ,mem_24g_transmit_by_interrupt 
-04dd c1008000 rtneq g24_tx_timer_int_enable 
-04de 204026a6 call g24_search_receiver 
+04f4 6fe0c8ab fetch 1 ,mem_24g_abort_pac 
+04f5 205a0503 call p_g24_send_abort_packet ,blank 
+04f6 6fe0c8c1 fetch 1 ,mem_24g_transmit_by_interrupt 
+04f7 c1008000 rtneq g24_tx_timer_int_enable 
+04f8 204026a6 call g24_search_receiver 
 
 p_g24_long_sleep:
-04df 204026c2 call g24_lpm_wait 
-04e0 24740000 nrtn user 
-04e1 204026cb call g24_setgpio_lpm_before 
-04e2 704c4d00 jam 0 ,mem_sleep_miss 
-04e3 704c4e01 jam 1 ,mem_long_sleep_flag 
-04e4 20400111 call p_send_time_long_wake 
-04e5 6fe0cbf2 fetch 1 ,mem_sensor_shutdown_flag 
-04e6 245a3e6a ncall mouse_setgpio_hibernate ,blank 
-04e7 6fe2485f fetch 4 ,mem_24g_enter_hibernate 
-04e8 202026bf branch g24_long_seep2 
+04f9 204026c2 call g24_lpm_wait 
+04fa 24740000 nrtn user 
+04fb 204026cb call g24_setgpio_lpm_before 
+04fc 704c4d00 jam 0 ,mem_sleep_miss 
+04fd 704c4e01 jam 1 ,mem_long_sleep_flag 
+04fe 20400111 call p_send_time_long_wake 
+04ff 6fe0cbf2 fetch 1 ,mem_sensor_shutdown_flag 
+0500 245a3e6a ncall mouse_setgpio_hibernate ,blank 
+0501 6fe2485f fetch 4 ,mem_24g_enter_hibernate 
+0502 202026bf branch g24_long_seep2 
 
 p_g24_send_abort_packet:
-04e9 70483901 jam type_ms ,mem_24g_data_type 
-04ea 7048ab01 jam 1 ,mem_24g_abort_pac 
-04eb 20402649 call g24_transmit_rf_ctrl_clear 
-04ec 67e0c7c9 store 1 ,mem_24g_txbuf 
-04ed 58000000 setarg 0 
-04ee 67e3c7ca store 7 ,mem_24g_txbuf + 1 
-04ef 6fe248ad fetch 4 ,mem_24g_device_addr 
-04f0 67e247d1 store 4 ,mem_24g_txbuf + 8 
-04f1 7048380c jam 12 ,mem_24g_datalen 
-04f2 6fe0c839 fetch 1 ,mem_24g_data_type 
-04f3 79207e03 set1 bit_abort ,pdata 
-04f4 67e0c839 store 1 ,mem_24g_data_type 
-04f5 20402247 call g24_transmit_prep 
-04f6 20200190 branch p_g24_transmit_start 
+0503 70483901 jam type_ms ,mem_24g_data_type 
+0504 7048ab01 jam 1 ,mem_24g_abort_pac 
+0505 20402649 call g24_transmit_rf_ctrl_clear 
+0506 67e0c7c9 store 1 ,mem_24g_txbuf 
+0507 58000000 setarg 0 
+0508 67e3c7ca store 7 ,mem_24g_txbuf + 1 
+0509 6fe248ad fetch 4 ,mem_24g_device_addr 
+050a 67e247d1 store 4 ,mem_24g_txbuf + 8 
+050b 7048380c jam 12 ,mem_24g_datalen 
+050c 6fe0c839 fetch 1 ,mem_24g_data_type 
+050d 79207e03 set1 bit_abort ,pdata 
+050e 67e0c839 store 1 ,mem_24g_data_type 
+050f 20402247 call g24_transmit_prep 
+0510 20200190 branch p_g24_transmit_start 
 
 p_mouse_24g_fast_conn_attempt_fail:
-04f7 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
-04f8 c2978500 bbit1 mouse_enable_24g_first_auto_pairing ,p_mouse_24g_start_auto_pair 
-04f9 c2980500 bbit1 mouse_enable_auto_24g_paring ,p_mouse_24g_start_auto_pair 
-04fa c31d4845 bbit0 mouse_enable_24g_auto_pair_nerver_been_paired ,mouse_24g_reconn_dongle_start 
-04fb 6fe24998 fetch 4 ,mem_mouse_24g_addr 
-04fc 684a4979 fetcht 4 ,mem_mouse_compare_addr_ff 
-04fd 98467c00 isub temp ,null 
-04fe 20228502 branch p_mouse_24g_start_pair_mode ,zero 
-04ff 20204845 branch mouse_24g_reconn_dongle_start 
+0511 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
+0512 c297851a bbit1 mouse_enable_24g_first_auto_pairing ,p_mouse_24g_start_auto_pair 
+0513 c298051a bbit1 mouse_enable_auto_24g_paring ,p_mouse_24g_start_auto_pair 
+0514 c31d4845 bbit0 mouse_enable_24g_auto_pair_nerver_been_paired ,mouse_24g_reconn_dongle_start 
+0515 6fe24998 fetch 4 ,mem_mouse_24g_addr 
+0516 684a4979 fetcht 4 ,mem_mouse_compare_addr_ff 
+0517 98467c00 isub temp ,null 
+0518 2022851c branch p_mouse_24g_start_pair_mode ,zero 
+0519 20204845 branch mouse_24g_reconn_dongle_start 
 
 p_mouse_24g_start_auto_pair:
-0500 20400361 call p_mouse_device_discover_led_config 
-0501 20204851 branch mouse_24g_start_auto_pair + 1 
+051a 20400361 call p_mouse_device_discover_led_config 
+051b 20204851 branch mouse_24g_start_auto_pair + 1 
 
 p_mouse_24g_start_pair_mode:
-0502 70488f00 jam 0 ,mem_24g_reconn_type 
-0503 d8e00001 arg mouse_24g_pairing_flag ,queue 
-0504 2040472e call mouse_enable_function_flag 
-0505 58000000 setarg 0 
-0506 67e1488b store 2 ,mem_24g_reconn_timeout 
-0507 204045b6 call mouse_stop_discovery 
-0508 204049db call mouse_low_voltage_led_blink_disable 
-0509 20400361 call p_mouse_device_discover_led_config 
-050a 2020486d branch mouse_24g_start_pair_mode + 7 
+051c 70488f00 jam 0 ,mem_24g_reconn_type 
+051d d8e00001 arg mouse_24g_pairing_flag ,queue 
+051e 2040472e call mouse_enable_function_flag 
+051f 58000000 setarg 0 
+0520 67e1488b store 2 ,mem_24g_reconn_timeout 
+0521 204045b6 call mouse_stop_discovery 
+0522 204049db call mouse_low_voltage_led_blink_disable 
+0523 20400361 call p_mouse_device_discover_led_config 
+0524 2020486d branch mouse_24g_start_pair_mode + 7 
 
 p_mouse_24g_auto_pair_attempt_fail:
-050b 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
-050c c317c878 bbit0 mouse_enable_24g_first_auto_pairing ,mouse_24g_attempt_fail_enter_hibernate 
-050d 6fe0cbc5 fetch 1 ,mem_device_number 
-050e c000c878 beq 1 ,mouse_24g_attempt_fail_enter_hibernate 
-050f 20204859 branch mouse_24g_first_bluetooth_reconnect 
+0525 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
+0526 c317c878 bbit0 mouse_enable_24g_first_auto_pairing ,mouse_24g_attempt_fail_enter_hibernate 
+0527 6fe0cbc5 fetch 1 ,mem_device_number 
+0528 c000c878 beq 1 ,mouse_24g_attempt_fail_enter_hibernate 
+0529 20204859 branch mouse_24g_first_bluetooth_reconnect 
 
 p_mouse_24g_attempt_fail_enter_hibernate:
-0510 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
-0511 c31e4878 bbit0 mouse_enable_wheel_wake_up_cancel ,mouse_24g_attempt_fail_enter_hibernate 
+052a 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
+052b c31e4878 bbit0 mouse_enable_wheel_wake_up_cancel ,mouse_24g_attempt_fail_enter_hibernate 
 
 p_mouse_24g_hibernate_set:
-0512 7048a900 jam 0 ,mem_24g_attempt_fail_flag 
-0513 20402659 call g24_transmit_next_packet 
-0514 5fffffff setarg -1 
-0515 67e2485f store 4 ,mem_24g_enter_hibernate 
-0516 58000000 setarg 0 
-0517 67e3c8d4 store 7 ,mem_mouse_key 
-0518 704bf201 jam 1 ,mem_sensor_shutdown_flag 
-0519 2040039c call p_mouse_sensor_powerdown 
-051a 202004df branch p_g24_long_sleep 
+052c 7048a900 jam 0 ,mem_24g_attempt_fail_flag 
+052d 20402659 call g24_transmit_next_packet 
+052e 5fffffff setarg -1 
+052f 67e2485f store 4 ,mem_24g_enter_hibernate 
+0530 58000000 setarg 0 
+0531 67e3c8d4 store 7 ,mem_mouse_key 
+0532 704bf201 jam 1 ,mem_sensor_shutdown_flag 
+0533 204003a1 call p_mouse_sensor_powerdown 
+0534 202004f9 branch p_g24_long_sleep 
 
 p_mouse_reconn_dongle_attempt_fail:
-051b 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
-051c c317c878 bbit0 mouse_enable_24g_first_auto_pairing ,mouse_24g_attempt_fail_enter_hibernate 
-051d c289c878 bbit1 mouse_enable_eeprom ,mouse_24g_attempt_fail_enter_hibernate 
-051e c2894878 bbit1 mouse_enable_flash ,mouse_24g_attempt_fail_enter_hibernate 
-051f 20204851 branch mouse_24g_start_auto_pair + 1 
+0535 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
+0536 c317c878 bbit0 mouse_enable_24g_first_auto_pairing ,mouse_24g_attempt_fail_enter_hibernate 
+0537 c289c878 bbit1 mouse_enable_eeprom ,mouse_24g_attempt_fail_enter_hibernate 
+0538 c2894878 bbit1 mouse_enable_flash ,mouse_24g_attempt_fail_enter_hibernate 
+0539 20204851 branch mouse_24g_start_auto_pair + 1 
 
 p_g24_dispatch:
-0520 c513a3e1 bmark1 mark_24g_rxmode ,g24_receive_dispatch 
+053a c513a3e1 bmark1 mark_24g_rxmode ,g24_receive_dispatch 
 
 p_g24_transmit_dispatch:
-0521 c6930000 rtnmark0 mark_24g 
-0522 6fe0c8a5 fetch 1 ,mem_24g_conn_sm 
-0523 20202624 branch g24_transmit_dispatch + 2 
+053b c6930000 rtnmark0 mark_24g 
+053c 6fe0c8a5 fetch 1 ,mem_24g_conn_sm 
+053d 20202624 branch g24_transmit_dispatch + 2 
 
 p_g24_transmit_by_interrupt:
-0524 204022a0 call g24_timer_check 
-0525 24340521 nbranch p_g24_transmit_dispatch ,user 
-0526 204026e2 call g24_interval_calibrate 
-0527 6fe148c2 fetch 2 ,mem_24g_transmit_by_interrupt_exit_count 
-0528 1fe0fe01 increase 1 ,pdata 
-0529 67e148c2 store 2 ,mem_24g_transmit_by_interrupt_exit_count 
-052a 20202628 branch g24_transmit_no_interrupt 
+053e 204022a0 call g24_timer_check 
+053f 2434053b nbranch p_g24_transmit_dispatch ,user 
+0540 204026e2 call g24_interval_calibrate 
+0541 6fe148c2 fetch 2 ,mem_24g_transmit_by_interrupt_exit_count 
+0542 1fe0fe01 increase 1 ,pdata 
+0543 67e148c2 store 2 ,mem_24g_transmit_by_interrupt_exit_count 
+0544 20202628 branch g24_transmit_no_interrupt 
 
 p_g24_pair_dispatch:
-052b 70488f00 jam default_24g_device ,mem_24g_reconn_type 
-052c 6fe14bfd fetch 2 ,mem_24g_pair_count 
-052d 1fe0fe01 increase 1 ,pdata 
-052e 67e14bfd store 2 ,mem_24g_pair_count 
-052f 6fe0cbfd fetch 1 ,mem_24g_pair_count 
-0530 1fe17eff and pdata ,0xff ,pdata 
-0531 c0000533 beq 0 ,p_g24_pair_dispatch2 
-0532 20600000 rtn 
+0545 70488f00 jam default_24g_device ,mem_24g_reconn_type 
+0546 6fe14bfd fetch 2 ,mem_24g_pair_count 
+0547 1fe0fe01 increase 1 ,pdata 
+0548 67e14bfd store 2 ,mem_24g_pair_count 
+0549 6fe0cbfd fetch 1 ,mem_24g_pair_count 
+054a 1fe17eff and pdata ,0xff ,pdata 
+054b c000054d beq 0 ,p_g24_pair_dispatch2 
+054c 20600000 rtn 
 
 p_g24_pair_dispatch2:
-0533 6fe0c883 fetch 1 ,mem_24g_pair_sm 
-0534 c07fa344 beq state_24g_pairing_success ,g24_pair_exit 
-0535 c000853a beq state_24g_pairing_1 ,p_g24_pair_sm_1 
-0536 c001053c beq state_24g_pairing_2 ,p_g24_pair_sm_2 
-0537 c0018542 beq state_24g_pairing_3 ,p_g24_pair_sm_3 
-0538 c0020548 beq state_24g_pairing_4 ,p_g24_pair_sm_4 
-0539 20600000 rtn 
+054d 6fe0c883 fetch 1 ,mem_24g_pair_sm 
+054e c07fa344 beq state_24g_pairing_success ,g24_pair_exit 
+054f c0008554 beq state_24g_pairing_1 ,p_g24_pair_sm_1 
+0550 c0010556 beq state_24g_pairing_2 ,p_g24_pair_sm_2 
+0551 c001855c beq state_24g_pairing_3 ,p_g24_pair_sm_3 
+0552 c0020562 beq state_24g_pairing_4 ,p_g24_pair_sm_4 
+0553 20600000 rtn 
 
 p_g24_pair_sm_1:
-053a 7047c9ff jam datatype_attemp ,mem_24g_txbuf 
-053b 20200549 branch p_g24_pair_sm_prep 
+0554 7047c9ff jam datatype_attemp ,mem_24g_txbuf 
+0555 20200563 branch p_g24_pair_sm_prep 
 
 p_g24_pair_sm_2:
-053c 6fe0c85e fetch 1 ,mem_24g_pair_switch 
-053d 203a0540 branch p_g24_pair_sm_2_skip ,blank 
-053e 6fe248ad fetch 4 ,mem_24g_device_addr 
-053f 20402292 call g24_update_addr_and_synccrc8 
+0556 6fe0c85e fetch 1 ,mem_24g_pair_switch 
+0557 203a055a branch p_g24_pair_sm_2_skip ,blank 
+0558 6fe248ad fetch 4 ,mem_24g_device_addr 
+0559 20402292 call g24_update_addr_and_synccrc8 
 
 p_g24_pair_sm_2_skip:
-0540 7047c9aa jam datatype_bind ,mem_24g_txbuf 
-0541 20200549 branch p_g24_pair_sm_prep 
+055a 7047c9aa jam datatype_bind ,mem_24g_txbuf 
+055b 20200563 branch p_g24_pair_sm_prep 
 
 p_g24_pair_sm_3:
-0542 7047c955 jam datatype_config ,mem_24g_txbuf 
-0543 6fe0c85e fetch 1 ,mem_24g_pair_switch 
-0544 203a0549 branch p_g24_pair_sm_prep ,blank 
-0545 6fe24895 fetch 4 ,mem_24g_receiver_addr 
-0546 67e247cb store 4 ,mem_24g_txbuf + 2 
-0547 2020054b branch p_g24_pair_sm_common 
+055c 7047c955 jam datatype_config ,mem_24g_txbuf 
+055d 6fe0c85e fetch 1 ,mem_24g_pair_switch 
+055e 203a0563 branch p_g24_pair_sm_prep ,blank 
+055f 6fe24895 fetch 4 ,mem_24g_receiver_addr 
+0560 67e247cb store 4 ,mem_24g_txbuf + 2 
+0561 20200565 branch p_g24_pair_sm_common 
 
 p_g24_pair_sm_4:
-0548 7047c922 jam datatype_ok ,mem_24g_txbuf 
+0562 7047c922 jam datatype_ok ,mem_24g_txbuf 
 
 p_g24_pair_sm_prep:
-0549 6fe248ad fetch 4 ,mem_24g_device_addr 
-054a 67e247cb store 4 ,mem_24g_txbuf + 2 
+0563 6fe248ad fetch 4 ,mem_24g_device_addr 
+0564 67e247cb store 4 ,mem_24g_txbuf + 2 
 
 p_g24_pair_sm_common:
-054b 6fe0c839 fetch 1 ,mem_24g_data_type 
-054c 1fe17e07 and_into bits_data ,pdata 
-054d 67e0c7ca store 1 ,mem_24g_txbuf + 1 
-054e 7047cf00 jam 0 ,mem_24g_txbuf + 6 
-054f 70483807 jam 7 ,mem_24g_datalen 
-0550 20402247 call g24_transmit_prep 
-0551 2040022d call p_g24_transmit_receive_ack 
-0552 20202316 branch g24_pair_sm_common + 7 
+0565 6fe0c839 fetch 1 ,mem_24g_data_type 
+0566 1fe17e07 and_into bits_data ,pdata 
+0567 67e0c7ca store 1 ,mem_24g_txbuf + 1 
+0568 7047cf00 jam 0 ,mem_24g_txbuf + 6 
+0569 70483807 jam 7 ,mem_24g_datalen 
+056a 20402247 call g24_transmit_prep 
+056b 2040022d call p_g24_transmit_receive_ack 
+056c 20202316 branch g24_pair_sm_common + 7 
 
 p_g24_pair_sm_common_next:
-0553 6fe0c883 fetch 1 ,mem_24g_pair_sm 
-0554 c17f8000 rtneq state_24g_pairing_success 
-0555 c0010557 beq state_24g_pairing_2 ,p_g24_pair_sm_2_waiting_ack 
-0556 2020231d branch g24_pair_sm_common_next + 2 
+056d 6fe0c883 fetch 1 ,mem_24g_pair_sm 
+056e c17f8000 rtneq state_24g_pairing_success 
+056f c0010571 beq state_24g_pairing_2 ,p_g24_pair_sm_2_waiting_ack 
+0570 2020231d branch g24_pair_sm_common_next + 2 
 
 p_g24_pair_sm_2_waiting_ack:
-0557 6fe0c85e fetch 1 ,mem_24g_pair_switch 
-0558 203a232d branch g24_pair_sm_2_waiting_ack_skip ,blank 
-0559 6fe2480f fetch 4 ,mem_24g_rxpayload + 2 
-055a 207a0000 rtn blank 
-055b 67e24895 store 4 ,mem_24g_receiver_addr 
-055c 2020232d branch g24_pair_sm_2_waiting_ack_skip 
+0571 6fe0c85e fetch 1 ,mem_24g_pair_switch 
+0572 203a232d branch g24_pair_sm_2_waiting_ack_skip ,blank 
+0573 6fe2480f fetch 4 ,mem_24g_rxpayload + 2 
+0574 207a0000 rtn blank 
+0575 67e24895 store 4 ,mem_24g_receiver_addr 
+0576 2020232d branch g24_pair_sm_2_waiting_ack_skip 
 
 p_g24_reconn_dispatch:
-055d 6fe1488d fetch 2 ,mem_24g_reconn_count 
-055e d84001f8 arg 0x01f8 ,temp 
-055f 98417e00 iand temp ,pdata 
-0560 203a0568 branch p_g24_reconn_dispatch_next ,blank 
-0561 6fe1488d fetch 2 ,mem_24g_reconn_count 
-0562 1fe0fe01 increase 1 ,pdata 
-0563 67e1488d store 2 ,mem_24g_reconn_count 
-0564 20600000 rtn 
+0577 6fe1488d fetch 2 ,mem_24g_reconn_count 
+0578 d84001f8 arg 0x01f8 ,temp 
+0579 98417e00 iand temp ,pdata 
+057a 203a0582 branch p_g24_reconn_dispatch_next ,blank 
+057b 6fe1488d fetch 2 ,mem_24g_reconn_count 
+057c 1fe0fe01 increase 1 ,pdata 
+057d 67e1488d store 2 ,mem_24g_reconn_count 
+057e 20600000 rtn 
 
 p_g24_reconn_mode_judge:
-0565 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
-0566 c29822e4 bbit1 mouse_enable_auto_24g_paring ,g24_pair_start 
-0567 20202577 branch g24_reconn_receiver_addr 
+057f 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
+0580 c29822e4 bbit1 mouse_enable_auto_24g_paring ,g24_pair_start 
+0581 20202577 branch g24_reconn_receiver_addr 
 
 p_g24_reconn_dispatch_next:
-0568 204025a3 call g24_reconn_data_prep 
-0569 2040022d call p_g24_transmit_receive_ack 
-056a 242c0581 nbranch p_g24_reconn_device_fail ,sync 
-056b 24378581 nbranch p_g24_reconn_device_fail ,user3 
-056c 20402679 call g24_ackpayload_parse 
-056d 6fe2487b fetch 4 ,mem_24g_pair_addr 
-056e 684a483f fetcht 4 ,mem_24g_addr 
-056f 98467c00 isub temp ,null 
-0570 20228565 branch p_g24_reconn_mode_judge ,zero 
-0571 6fe248ad fetch 4 ,mem_24g_device_addr 
-0572 684a483f fetcht 4 ,mem_24g_addr 
-0573 98467c00 isub temp ,null 
-0574 2042857d call p_g24_store_receiver_addr ,zero 
-0575 6fe0c8a5 fetch 1 ,mem_24g_conn_sm 
-0576 793ffe02 set0 state_24g_reconn ,pdata 
-0577 67e0c8a5 store 1 ,mem_24g_conn_sm 
-0578 58000000 setarg 0 
-0579 67e14887 store 2 ,mem_24g_pair_timeout 
-057a 67e1488d store 2 ,mem_24g_reconn_count 
-057b 67e1488b store 2 ,mem_24g_reconn_timeout 
-057c 2020259e branch g24_reconn_attempt_success 
+0582 204025a3 call g24_reconn_data_prep 
+0583 2040022d call p_g24_transmit_receive_ack 
+0584 242c059b nbranch p_g24_reconn_device_fail ,sync 
+0585 2437859b nbranch p_g24_reconn_device_fail ,user3 
+0586 20402679 call g24_ackpayload_parse 
+0587 6fe2487b fetch 4 ,mem_24g_pair_addr 
+0588 684a483f fetcht 4 ,mem_24g_addr 
+0589 98467c00 isub temp ,null 
+058a 2022857f branch p_g24_reconn_mode_judge ,zero 
+058b 6fe248ad fetch 4 ,mem_24g_device_addr 
+058c 684a483f fetcht 4 ,mem_24g_addr 
+058d 98467c00 isub temp ,null 
+058e 20428597 call p_g24_store_receiver_addr ,zero 
+058f 6fe0c8a5 fetch 1 ,mem_24g_conn_sm 
+0590 793ffe02 set0 state_24g_reconn ,pdata 
+0591 67e0c8a5 store 1 ,mem_24g_conn_sm 
+0592 58000000 setarg 0 
+0593 67e14887 store 2 ,mem_24g_pair_timeout 
+0594 67e1488d store 2 ,mem_24g_reconn_count 
+0595 67e1488b store 2 ,mem_24g_reconn_timeout 
+0596 2020259e branch g24_reconn_attempt_success 
 
 p_g24_store_receiver_addr:
-057d 6fe2480f fetch 4 ,mem_24g_rxpayload + 2 
-057e 207a0000 rtn blank 
-057f 67e24895 store 4 ,mem_24g_receiver_addr 
-0580 20202587 branch g24_ch_syncword_crc8_init 
+0597 6fe2480f fetch 4 ,mem_24g_rxpayload + 2 
+0598 207a0000 rtn blank 
+0599 67e24895 store 4 ,mem_24g_receiver_addr 
+059a 20202587 branch g24_ch_syncword_crc8_init 
 
 p_g24_reconn_device_fail:
-0581 6fe0c890 fetch 1 ,mem_24g_fast_conn_enable 
-0582 203a2281 branch g24_ch ,blank 
-0583 6fe1488d fetch 2 ,mem_24g_reconn_count 
-0584 1fe0fe01 increase 1 ,pdata 
-0585 67e1488d store 2 ,mem_24g_reconn_count 
-0586 2feffe09 isolate1 9 ,pdata 
-0587 6fe0c88f fetch 1 ,mem_24g_reconn_type 
-0588 c001058b beq fast_conn_and_3_0_addr ,p_g24_reconn_fast_conn_and_3_0 
-0589 c0020592 beq pair_and_3_0_addr ,p_g24_reconn_pair_and_3_0 
-058a 202025b1 branch g24_reconn_device_fail + 7 
+059b 6fe0c890 fetch 1 ,mem_24g_fast_conn_enable 
+059c 203a2281 branch g24_ch ,blank 
+059d 6fe1488d fetch 2 ,mem_24g_reconn_count 
+059e 1fe0fe01 increase 1 ,pdata 
+059f 67e1488d store 2 ,mem_24g_reconn_count 
+05a0 2feffe09 isolate1 9 ,pdata 
+05a1 6fe0c88f fetch 1 ,mem_24g_reconn_type 
+05a2 c00105a5 beq fast_conn_and_3_0_addr ,p_g24_reconn_fast_conn_and_3_0 
+05a3 c00205ac beq pair_and_3_0_addr ,p_g24_reconn_pair_and_3_0 
+05a4 202025b1 branch g24_reconn_device_fail + 7 
 
 p_g24_reconn_fast_conn_and_3_0:
-058b 6fe0cccf fetch 1 ,mem_24g_reconn_pairing_switch 
-058c 1fe0fe01 increase 1 ,pdata 
-058d 1fe17e03 and_into 3 ,pdata 
-058e 67e0cccf store 1 ,mem_24g_reconn_pairing_switch 
-058f c000257e beq 0 ,g24_reconn_device_3_0_addr 
-0590 c001256f beq 2 ,g24_reconn_fast_conn 
-0591 202022ef branch g24_pair_init_param 
+05a5 6fe0cccf fetch 1 ,mem_24g_reconn_pairing_switch 
+05a6 1fe0fe01 increase 1 ,pdata 
+05a7 1fe17e03 and_into 3 ,pdata 
+05a8 67e0cccf store 1 ,mem_24g_reconn_pairing_switch 
+05a9 c000257e beq 0 ,g24_reconn_device_3_0_addr 
+05aa c001256f beq 2 ,g24_reconn_fast_conn 
+05ab 202022ef branch g24_pair_init_param 
 
 p_g24_reconn_pair_and_3_0:
-0592 2020a57e branch g24_reconn_device_3_0_addr ,true 
-0593 202022ef branch g24_pair_init_param 
+05ac 2020a57e branch g24_reconn_device_3_0_addr ,true 
+05ad 202022ef branch g24_pair_init_param 
 
 p_g24_lpm_wait:
-0594 6fe0cbbb fetch 1 ,mem_24g_device_led_status 
-0595 243a7ec7 nbranch disable_user ,blank 
-0596 78347c00 enable user 
-0597 20401436 call lpo_calibration 
-0598 6fe1c174 fetch 3 ,mem_clks_per_lpo 
-0599 203a7ec7 branch disable_user ,blank 
-059a 6fe0c099 fetch 1 ,mem_lpm_mode 
-059b 203a7ec7 branch disable_user ,blank 
-059c 6fe0c8c1 fetch 1 ,mem_24g_transmit_by_interrupt 
-059d c000fec7 beq g24_tx_timer_int_enable ,disable_user 
-059e 20600000 rtn 
+05ae 6fe0cbbb fetch 1 ,mem_24g_device_led_status 
+05af 243a7ec7 nbranch disable_user ,blank 
+05b0 78347c00 enable user 
+05b1 20401436 call lpo_calibration 
+05b2 6fe1c174 fetch 3 ,mem_clks_per_lpo 
+05b3 203a7ec7 branch disable_user ,blank 
+05b4 6fe0c099 fetch 1 ,mem_lpm_mode 
+05b5 203a7ec7 branch disable_user ,blank 
+05b6 6fe0c8c1 fetch 1 ,mem_24g_transmit_by_interrupt 
+05b7 c000fec7 beq g24_tx_timer_int_enable ,disable_user 
+05b8 20600000 rtn 
 
 p_ui_timer_check:
-059f 6fe0cbf4 fetch 1 ,mem_power_on_flag 
-05a0 245a78cc ncall ui_timer_init ,blank 
-05a1 704bf400 jam 0 ,mem_power_on_flag 
-05a2 202078bc branch ui_timer_check + 1 
+05b9 6fe0cbf4 fetch 1 ,mem_power_on_flag 
+05ba 245a78cc ncall ui_timer_init ,blank 
+05bb 704bf400 jam 0 ,mem_power_on_flag 
+05bc 202078bc branch ui_timer_check + 1 
 
 p_le_enable_phy_by_pdata:
-05a3 18427e00 copy temp ,pdata 
-05a4 c2801651 bbit1 bit_le_1m_phy ,le_enable 
-05a5 c28085a7 bbit1 bit_le_2m_phy ,p_le_enable_2m 
-05a6 2020163c branch le_enable_phy_by_pdata + 5 
+05bd 18427e00 copy temp ,pdata 
+05be c2801651 bbit1 bit_le_1m_phy ,le_enable 
+05bf c28085c1 bbit1 bit_le_2m_phy ,p_le_enable_2m 
+05c0 2020163c branch le_enable_phy_by_pdata + 5 
 
 p_le_enable_2m:
-05a7 20401640 call le_enable_2m 
-05a8 708a6d89 jam 0x89 ,core_rx_bq_cfg0 
-05a9 20600000 rtn 
+05c1 20401640 call le_enable_2m 
+05c2 708a6d89 jam 0x89 ,core_rx_bq_cfg0 
+05c3 20600000 rtn 
 
 p_mouse_motion:
-05aa 78547c00 disable user 
-05ab 58000000 setarg 0 
-05ac 67e348d5 store 6 ,mem_mouse_x 
-05ad 204005ba call p_mouse_check_sensor_data 
-05ae 58000089 setarg 0x0089 
-05af 20405d5e call twspi_write 
-05b0 20400479 call p_mouse_seting_sensor_type 
-05b1 20403fbe call mouse_zwheel 
-05b2 20403fc3 call mouse_t_zwheel 
-05b3 204005cc call p_mouse_key 
-05b4 6fe0c8d4 fetch 1 ,mem_mouse_key 
-05b5 1fe17e1f and_into 0x1f ,pdata 
-05b6 67e0c8d4 store 1 ,mem_mouse_key 
-05b7 24344766 nbranch mouse_drawing_optima_init ,user 
-05b8 204005c9 call p_mouse_drawing_optima 
-05b9 20204584 branch mouse_no_data_timer_init 
+05c4 78547c00 disable user 
+05c5 58000000 setarg 0 
+05c6 67e348d5 store 6 ,mem_mouse_x 
+05c7 204005d4 call p_mouse_check_sensor_data 
+05c8 58000089 setarg 0x0089 
+05c9 20405d5e call twspi_write 
+05ca 2040047e call p_mouse_seting_sensor_type 
+05cb 20403fbe call mouse_zwheel 
+05cc 20403fc3 call mouse_t_zwheel 
+05cd 204005e8 call p_mouse_key 
+05ce 6fe0c8d4 fetch 1 ,mem_mouse_key 
+05cf 1fe17e1f and_into 0x1f ,pdata 
+05d0 67e0c8d4 store 1 ,mem_mouse_key 
+05d1 24344766 nbranch mouse_drawing_optima_init ,user 
+05d2 204005e4 call p_mouse_drawing_optima 
+05d3 20204584 branch mouse_no_data_timer_init 
 
 p_mouse_check_sensor_data:
-05ba 6fe0c4ae fetch 1 ,mem_spi_write_flash_sm 
-05bb c1800000 rtnne flash_sm_no_buys 
-05bc 6fe0c92c fetch 1 ,mem_config_sensor_type 
-05bd c00605bf beq ka5857 ,p_mouse_ka5857_sensor_motion 
-05be 20204283 branch mouse_check_sensor_data + 3 
+05d4 6fe0c4ae fetch 1 ,mem_spi_write_flash_sm 
+05d5 c1800000 rtnne flash_sm_no_buys 
+05d6 6fe0c92c fetch 1 ,mem_config_sensor_type 
+05d7 c00605da beq ka5857 ,p_mouse_ka5857_sensor_motion 
+05d8 c00585da beq ka8g2 ,p_mouse_ka5857_sensor_motion 
+05d9 20204283 branch mouse_check_sensor_data + 3 
 
 p_mouse_ka5857_sensor_motion:
-05bf 20404304 call mouse_clear_sensor_data 
-05c0 6fe0c915 fetch 1 ,mem_sensor_motion_gpio 
-05c1 c07f85c5 beq gpio_disable ,p_mouse_ka5857_sensor_motion_1 
-05c2 6848c915 fetcht 1 ,mem_sensor_motion_gpio 
-05c3 204060fd call gpio_get_bit 
-05c4 24608000 nrtn true 
+05da 20404304 call mouse_clear_sensor_data 
+05db 6fe0c915 fetch 1 ,mem_sensor_motion_gpio 
+05dc c07f85e0 beq gpio_disable ,p_mouse_ka5857_sensor_motion_1 
+05dd 6848c915 fetcht 1 ,mem_sensor_motion_gpio 
+05de 204060fd call gpio_get_bit 
+05df 24608000 nrtn true 
 
 p_mouse_ka5857_sensor_motion_1:
-05c5 58000000 setarg pan_reg_pid_l 
-05c6 20405d65 call twspi_read 
-05c7 c0ac41f2 bne pka8g2_id1 ,mouse_twspi_reset 
-05c8 202042b9 branch mouse_p3212_sensor_motion_2 
+05e0 58000000 setarg pan_reg_pid_l 
+05e1 20405d65 call twspi_read 
+05e2 c0ac41f2 bne pka8g2_id1 ,mouse_twspi_reset 
+05e3 202042b9 branch mouse_p3212_sensor_motion_2 
 
 p_mouse_drawing_optima:
-05c9 6fe0c92c fetch 1 ,mem_config_sensor_type 
-05ca c1018000 rtneq p3212 
-05cb 20204758 branch mouse_drawing_optima 
+05e4 6fe0c92c fetch 1 ,mem_config_sensor_type 
+05e5 c1018000 rtneq p3212 
+05e6 c1058000 rtneq ka8g2 
+05e7 20204758 branch mouse_drawing_optima 
 
 p_mouse_key:
-05cc 204005cf call p_mouse_check_key_gpio 
-05cd 20400605 call p_mouse_ghost_key_check 
-05ce 2020411e branch mouse_key + 2 
+05e8 204005eb call p_mouse_check_key_gpio 
+05e9 20400621 call p_mouse_ghost_key_check 
+05ea 2020411e branch mouse_key + 2 
 
 p_mouse_check_key_gpio:
-05cf 6fe0cbf2 fetch 1 ,mem_sensor_shutdown_flag 
-05d0 245a4161 ncall mouse_check_key_gpio_once ,blank 
-05d1 da200000 arg 0 ,rega 
-05d2 204005d6 call p_mouse_check_lkey_gpio 
-05d3 204005e5 call p_mouse_check_bkkey_gpio 
-05d4 204005f2 call p_mouse_check_fwkey_gpio 
-05d5 2020415e branch mouse_check_key_gpio_next 
+05eb 6fe0cbf2 fetch 1 ,mem_sensor_shutdown_flag 
+05ec 245a4161 ncall mouse_check_key_gpio_once ,blank 
+05ed da200000 arg 0 ,rega 
+05ee 204005f2 call p_mouse_check_lkey_gpio 
+05ef 20400601 call p_mouse_check_bkkey_gpio 
+05f0 2040060e call p_mouse_check_fwkey_gpio 
+05f1 2020415e branch mouse_check_key_gpio_next 
 
 p_mouse_check_lkey_gpio:
-05d6 6fe0c91c fetch 1 ,mem_lbutton_gpio 
-05d7 204005ff call p_mouse_gpio_config_output_high 
-05d8 20404164 call mouse_check_lkey_gpio 
-05d9 6848c91c fetcht 1 ,mem_lbutton_gpio 
-05da 20403f96 call mouse_gpio_config_input_pu 
+05f2 6fe0c91c fetch 1 ,mem_lbutton_gpio 
+05f3 2040061b call p_mouse_gpio_config_output_high 
+05f4 20404164 call mouse_check_lkey_gpio 
+05f5 6848c91c fetcht 1 ,mem_lbutton_gpio 
+05f6 20403f96 call mouse_gpio_config_input_pu 
 
 p_mouse_check_rkey_gpio:
-05db 6fe0c91d fetch 1 ,mem_rbutton_gpio 
-05dc 204005ff call p_mouse_gpio_config_output_high 
-05dd 2040416a call mouse_check_rkey_gpio 
-05de 6848c91d fetcht 1 ,mem_rbutton_gpio 
-05df 20403f96 call mouse_gpio_config_input_pu 
+05f7 6fe0c91d fetch 1 ,mem_rbutton_gpio 
+05f8 2040061b call p_mouse_gpio_config_output_high 
+05f9 2040416a call mouse_check_rkey_gpio 
+05fa 6848c91d fetcht 1 ,mem_rbutton_gpio 
+05fb 20403f96 call mouse_gpio_config_input_pu 
 
 p_mouse_check_mkey_gpio:
-05e0 6fe0c91e fetch 1 ,mem_mbutton_gpio 
-05e1 204005ff call p_mouse_gpio_config_output_high 
-05e2 20404170 call mouse_check_mkey_gpio 
-05e3 6848c91e fetcht 1 ,mem_mbutton_gpio 
-05e4 20203f96 branch mouse_gpio_config_input_pu 
+05fc 6fe0c91e fetch 1 ,mem_mbutton_gpio 
+05fd 2040061b call p_mouse_gpio_config_output_high 
+05fe 20404170 call mouse_check_mkey_gpio 
+05ff 6848c91e fetcht 1 ,mem_mbutton_gpio 
+0600 20203f96 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_bkkey_gpio:
-05e5 6fe0c911 fetch 1 ,mem_bk_button_gpio 
-05e6 c17f8000 rtneq gpio_disable 
-05e7 704ba703 jam mouse_bk_key ,mem_mouse_key_temp 
-05e8 6fe0cba2 fetch 1 ,mem_mouse_bkkey_press_status 
-05e9 1fe22600 copy pdata ,regc 
-05ea 6848c911 fetcht 1 ,mem_bk_button_gpio 
-05eb 6fe0c914 fetch 1 ,mem_matrix_public_gpio 
-05ec c07f85ee beq gpio_disable ,p_mouse_3io6key_bk_check 
-05ed 2020417e branch mouse_check_bkkey_gpio_next 
+0601 6fe0c911 fetch 1 ,mem_bk_button_gpio 
+0602 c17f8000 rtneq gpio_disable 
+0603 704ba703 jam mouse_bk_key ,mem_mouse_key_temp 
+0604 6fe0cba2 fetch 1 ,mem_mouse_bkkey_press_status 
+0605 1fe22600 copy pdata ,regc 
+0606 6848c911 fetcht 1 ,mem_bk_button_gpio 
+0607 6fe0c914 fetch 1 ,mem_matrix_public_gpio 
+0608 c07f860a beq gpio_disable ,p_mouse_3io6key_bk_check 
+0609 2020417e branch mouse_check_bkkey_gpio_next 
 
 p_mouse_3io6key_bk_check:
-05ee 6fe0c911 fetch 1 ,mem_bk_button_gpio 
-05ef 20400602 call p_mouse_gpio_config_output_low 
-05f0 6848c911 fetcht 1 ,mem_bk_button_gpio 
-05f1 2020418b branch mouse_3io6key_bk_check 
+060a 6fe0c911 fetch 1 ,mem_bk_button_gpio 
+060b 2040061e call p_mouse_gpio_config_output_low 
+060c 6848c911 fetcht 1 ,mem_bk_button_gpio 
+060d 2020418b branch mouse_3io6key_bk_check 
 
 p_mouse_check_fwkey_gpio:
-05f2 6fe0c912 fetch 1 ,mem_fw_button_gpio 
-05f3 c17f8000 rtneq gpio_disable 
-05f4 704ba704 jam mouse_fw_key ,mem_mouse_key_temp 
-05f5 6fe0cba3 fetch 1 ,mem_mouse_fwkey_press_status 
-05f6 1fe22600 copy pdata ,regc 
-05f7 6848c912 fetcht 1 ,mem_fw_button_gpio 
-05f8 6fe0c914 fetch 1 ,mem_matrix_public_gpio 
-05f9 c07f85fb beq gpio_disable ,p_mouse_3io6key_fw_check 
-05fa 20204197 branch mouse_check_fwkey_gpio_next 
+060e 6fe0c912 fetch 1 ,mem_fw_button_gpio 
+060f c17f8000 rtneq gpio_disable 
+0610 704ba704 jam mouse_fw_key ,mem_mouse_key_temp 
+0611 6fe0cba3 fetch 1 ,mem_mouse_fwkey_press_status 
+0612 1fe22600 copy pdata ,regc 
+0613 6848c912 fetcht 1 ,mem_fw_button_gpio 
+0614 6fe0c914 fetch 1 ,mem_matrix_public_gpio 
+0615 c07f8617 beq gpio_disable ,p_mouse_3io6key_fw_check 
+0616 20204197 branch mouse_check_fwkey_gpio_next 
 
 p_mouse_3io6key_fw_check:
-05fb 6fe0c912 fetch 1 ,mem_fw_button_gpio 
-05fc 20400602 call p_mouse_gpio_config_output_low 
-05fd 6848c912 fetcht 1 ,mem_fw_button_gpio 
-05fe 202041a4 branch mouse_3io6key_fw_check 
+0617 6fe0c912 fetch 1 ,mem_fw_button_gpio 
+0618 2040061e call p_mouse_gpio_config_output_low 
+0619 6848c912 fetcht 1 ,mem_fw_button_gpio 
+061a 202041a4 branch mouse_3io6key_fw_check 
 
 p_mouse_gpio_config_output_high:
-05ff c17f8000 rtneq gpio_disable 
-0600 d840003f arg gpcfg_output_high ,temp 
-0601 2020612c branch gpio_config_function_int 
+061b c17f8000 rtneq gpio_disable 
+061c d840003f arg gpcfg_output_high ,temp 
+061d 2020612c branch gpio_config_function_int 
 
 p_mouse_gpio_config_output_low:
-0602 c17f8000 rtneq gpio_disable 
-0603 d840003e arg gpcfg_output_low ,temp 
-0604 2020612c branch gpio_config_function_int 
+061e c17f8000 rtneq gpio_disable 
+061f d840003e arg gpcfg_output_low ,temp 
+0620 2020612c branch gpio_config_function_int 
 
 p_mouse_ghost_key_check:
-0605 704ba900 jam 0 ,mem_mouse_matrix_key_cow_count 
-0606 704baa00 jam 0 ,mem_mouse_matrix_key_row_count 
-0607 704bab00 jam 0 ,mem_mouse_ghost_flag 
-0608 1fe20400 copy pdata ,temp 
-0609 2040060c call p_mouse_ghost_key_check_l_fw 
-060a 2040060f call p_mouse_ghost_key_check_r_bk 
-060b 20204133 branch mouse_ghost_key_check + 6 
+0621 704ba900 jam 0 ,mem_mouse_matrix_key_cow_count 
+0622 704baa00 jam 0 ,mem_mouse_matrix_key_row_count 
+0623 704bab00 jam 0 ,mem_mouse_ghost_flag 
+0624 1fe20400 copy pdata ,temp 
+0625 20400628 call p_mouse_ghost_key_check_l_fw 
+0626 2040062b call p_mouse_ghost_key_check_r_bk 
+0627 20204133 branch mouse_ghost_key_check + 6 
 
 p_mouse_ghost_key_check_l_fw:
-060c 18417e11 and temp ,mouse_l_fw_button ,pdata 
-060d c008c14e beq mouse_l_fw_button ,mouse_matrix_cow_more_than_one_key 
-060e 20600000 rtn 
+0628 18417e11 and temp ,mouse_l_fw_button ,pdata 
+0629 c008c14e beq mouse_l_fw_button ,mouse_matrix_cow_more_than_one_key 
+062a 20600000 rtn 
 
 p_mouse_ghost_key_check_r_bk:
-060f 18417e0a and temp ,mouse_r_bk_button ,pdata 
-0610 c005414e beq mouse_r_bk_button ,mouse_matrix_cow_more_than_one_key 
-0611 20600000 rtn 
+062b 18417e0a and temp ,mouse_r_bk_button ,pdata 
+062c c005414e beq mouse_r_bk_button ,mouse_matrix_cow_more_than_one_key 
+062d 20600000 rtn 
               org 0x800
 
 start:
Index: program/patch.prog
===================================================================
--- /YC1308AF/branch/mouse/mouse_public/program/patch.prog	(revision 2728)
+++ /YC1308AF/branch/mouse/mouse_public/program/patch.prog	(working copy)
@@ -7,6 +7,7 @@
 //define UART_LOG
 //define RSSI_PATCH
 //define RSSI_SORT
+define S201X_SENSOR
 
 	bbit1 8,pf_patch_ext
 	beq patch00_0,p_soft_reset
@@ -1413,9 +1414,18 @@
 	branch mouse_init_p32xx_id2_judge
 
 p_mouse_p3204_tjdm_init_param:
+ifdef S201X_SENSOR
+	setarg 0x49		// id3
+	call twspi_read
+	beq 0xa1,p_mouse_S201X_init_param
+endif
 	jam P3065_XY,mem_config_sensor_type
 	rtn
-
+ifdef S201X_SENSOR
+p_mouse_S201X_init_param:
+	jam S201X,mem_config_sensor_type
+	rtn
+endif
 
 p_mouse_ka8g2_id2_judge:
 	fetch 1,mem_sensor_id2
@@ -1766,6 +1776,7 @@
 	fetch 1,mem_config_sensor_type
 	beq KA5857,p_mouse_seting_3212_dpi
 	beq P3212,p_mouse_seting_3212_dpi
+	beq S201X,p_mouse_seting_S201_dpi
 	branch mouse_seting_sensor_type+2
 
 p_mouse_setting_dpi_4_level:
@@ -1773,7 +1784,46 @@
 	rtneq KA5857
 	rtneq P3212
 	branch mouse_setting_dpi_4_level
+ifdef S201X_SENSOR
+p_mouse_seting_S201_dpi:
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,p_mouse_set_S201_dpi_0	//1200
+	beq MOUSE_DPI_LEVEL2,p_mouse_set_S201_dpi_1	//1600
+	beq MOUSE_DPI_LEVEL3,p_mouse_set_S201_dpi_4	//800
+
+p_mouse_set_S201_dpi_0:	//1200
+	fetch 1,mem_sensor_s201_dpi_0
+	copy pdata,rega
+	branch p_mouse_dpi_S201_store
+p_mouse_set_S201_dpi_1:	//1600
+	fetch 1,mem_sensor_s201_dpi_1
+	copy pdata,rega
+	branch p_mouse_dpi_s201_store
+p_mouse_set_S201_dpi_4:	//800	
+	fetch 1,mem_sensor_s201_dpi_4
+	copy pdata,rega
+p_mouse_dpi_s201_store:
+	setarg 0xc309
+	call twspi_write
+	copy rega,pdata
+	lshift8 pdata,pdata
+	add pdata,0x23,pdata
+	call twspi_write
+	setarg 0x0009
+	branch twspi_write	
+/*		
+p_mouse_set_S201_dpi_2:	//2000
+	fetch 1,mem_sensor_s201_dpi_2
+	copy pdata,rega
+	branch p_mouse_dpi_s201_store
+
+p_mouse_set_S201_dpi_3:	//3200
+	fetch 1,mem_sensor_s201_dpi_3
+	copy pdata,rega
+	branch p_mouse_dpi_s201_store	
+*/	
 
+endif	
 p_mouse_seting_3212_dpi:
 	fetch 1,mem_mouse_dpi
 	beq MOUSE_DPI_LEVEL1,p_mouse_set_p3212_cpi0	//1600
@@ -2500,6 +2550,7 @@
 	rtnne FLASH_SM_NO_BUYS
 	fetch 1,mem_config_sensor_type
 	beq KA5857,p_mouse_ka5857_sensor_motion
+	beq KA8G2,p_mouse_ka5857_sensor_motion
 	branch mouse_check_sensor_data+3
 
 p_mouse_ka5857_sensor_motion:
@@ -2518,6 +2569,7 @@
 p_mouse_drawing_optima:
 	fetch 1,mem_config_sensor_type
 	rtneq P3212
+	rtneq KA8G2
 	branch mouse_drawing_optima
 
 
Index: sched/mouse.dat
===================================================================
--- /YC1308AF/branch/mouse/mouse_public/sched/mouse.dat	(revision 2728)
+++ /YC1308AF/branch/mouse/mouse_public/sched/mouse.dat	(working copy)
@@ -463,6 +463,12 @@
 09 00
 ff ff	
 
+mem_sensor_s201_dpi:
+8a  ##1200
+8b  ##1600
+82  ##2000
+83  ##2400
+88  ##800
 
 mem_ui_led_struct_ptr:mem_mouse_led_type
 mem_ui_led_struct_num:01
