Index: format/app_mouse.format
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Only2.4G/MingAo_Only2.4G_LRpair_12CLK/format/app_mouse.format	(revision 1333)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Only2.4G/MingAo_Only2.4G_LRpair_12CLK/format/app_mouse.format	(working copy)
@@ -330,6 +330,7 @@
 2 mem_mouse_logo_led_on_timer
 1 mem_power_on_flag
 
+88 mem_sensor_3220_init
 )
 
 
@@ -484,6 +485,7 @@
 0x30 P32XX_ID1
 0x31 P3065_ID1
 0x02 P3212_ID2
+0x02 P3220_ID2
 0xD1 P3205_TJ3T_ID2
 0XD2 P3204_TJ3L_ID2
 0x54 PKA8_ID2
@@ -509,6 +511,7 @@
 0X09 KA8_UL
 0X0a KA8_HD
 0X0b KA8G2
+0X0c P3220
 
 
 //SENSOR REG
Index: output/eeprom.dat
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Only2.4G/MingAo_Only2.4G_LRpair_12CLK/output/eeprom.dat	(revision 1333)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Only2.4G/MingAo_Only2.4G_LRpair_12CLK/output/eeprom.dat	(working copy)
@@ -2,76 +2,84 @@
 02
 aa
 55
-ca
-04
+9e
+06
 c2
 84
 00
-0e
+0f
 c0
 00
 00
-12
+14
 c0
 45
 01
-2c
+60
 c0
 45
 80
-31
+3b
 c0
 4f
 80
-2f
+39
 c0
 57
 00
-16
+18
 c0
 61
 80
-aa
+c3
 c0
 64
 80
-44
+4e
 c0
 65
 00
-54
+5e
 c0
 67
 00
-b9
+d2
 c0
 68
 00
-d3
+f1
+c0
+69
+81
+97
 c0
 6b
 00
-90
+a9
 c0
 6c
-80
-e4
+81
+18
 20
 20
 13
 7c
 c0
+10
+01
+95
+c0
 43
 81
-28
+5c
 c0
 71
 00
-a8
+c1
 c0
 75
 00
-6a
+74
 20
 20
 13
@@ -99,11 +107,11 @@
 20
 40
 00
-1d
+27
 20
 40
 00
-25
+2f
 20
 40
 41
@@ -117,9 +125,41 @@
 40
 8e
 20
+40
+3d
+8a
+20
+40
+47
+28
+20
+40
+00
+22
+20
 20
 3b
-c5
+c8
+58
+00
+48
+66
+67
+e1
+48
+9b
+58
+00
+01
+66
+67
+e1
+48
+9d
+20
+20
+3b
+d3
 6f
 e0
 cb
@@ -175,7 +215,7 @@
 20
 40
 00
-2c
+36
 20
 20
 3b
@@ -247,7 +287,7 @@
 c0
 84
 00
-3e
+48
 70
 8a
 08
@@ -271,7 +311,7 @@
 20
 40
 01
-2f
+63
 20
 20
 12
@@ -295,7 +335,7 @@
 c0
 7f
 80
-4d
+57
 68
 48
 c9
@@ -335,7 +375,7 @@
 20
 40
 01
-04
+38
 20
 20
 3e
@@ -435,11 +475,11 @@
 24
 34
 00
-82
+9b
 20
 40
-26
-46
+00
+83
 20
 40
 26
@@ -451,7 +491,7 @@
 24
 3a
 00
-74
+7e
 6f
 e4
 48
@@ -490,6 +530,66 @@
 b8
 70
 48
+a6
+00
+69
+61
+01
+5f
+34
+73
+02
+00
+20
+40
+26
+5b
+6f
+e0
+c8
+2c
+c0
+00
+a6
+51
+24
+2c
+26
+69
+24
+37
+a6
+69
+20
+40
+26
+72
+20
+40
+00
+8e
+20
+20
+26
+51
+6f
+e0
+cb
+e1
+24
+5a
+01
+99
+70
+4b
+e1
+00
+20
+20
+26
+51
+70
+48
 a5
 00
 20
@@ -523,7 +623,7 @@
 20
 20
 00
-88
+a1
 6f
 e0
 c8
@@ -547,7 +647,7 @@
 20
 20
 00
-88
+a1
 20
 40
 26
@@ -587,11 +687,11 @@
 c0
 1e
 00
-94
+ad
 c0
 1d
 00
-9a
+b3
 20
 20
 43
@@ -627,7 +727,7 @@
 24
 3a
 00
-79
+92
 6f
 e0
 c8
@@ -635,7 +735,7 @@
 c0
 01
 00
-9f
+b8
 20
 20
 48
@@ -699,7 +799,7 @@
 c0
 00
 00
-af
+c8
 20
 20
 3d
@@ -758,8 +858,8 @@
 d1
 20
 40
-42
-40
+00
+ec
 20
 40
 40
@@ -791,7 +891,7 @@
 24
 34
 00
-c8
+e1
 20
 40
 47
@@ -799,7 +899,7 @@
 20
 40
 00
-cb
+e4
 20
 20
 45
@@ -848,14 +948,46 @@
 60
 00
 00
+6f
+e0
+c4
+ac
+c1
+80
+00
+00
+6f
+e0
+c9
+27
+c0
+06
+42
+70
+20
+20
+42
+43
 20
 40
 40
 8f
 20
 40
+01
+0a
+20
+20
 00
-d6
+f4
+6f
+e0
+c9
+27
+c0
+06
+00
+f7
 20
 20
 40
@@ -863,41 +995,117 @@
 6f
 e0
 c9
-23
-c1
-7f
-80
-00
-6f
-e1
-4a
-c2
-24
-7a
-00
+92
+c0
 00
-6f
-e1
-48
-83
-24
-7a
+81
+04
+c0
+01
+01
+07
+da
+20
 00
+1f
+da
+40
 00
-6f
-e1
-48
-87
-24
-7a
+20
+1a
+22
+7e
 00
+1f
+ed
+7e
 00
-6f
+1f
 e0
-cb
-a7
-24
-7a
+fe
+0d
+20
+40
+5b
+0c
+1a
+42
+7e
+00
+1f
+ed
+7e
+00
+1f
+e0
+fe
+0e
+20
+20
+5b
+0c
+da
+20
+00
+2a
+da
+40
+00
+2b
+20
+20
+00
+fc
+da
+20
+00
+15
+da
+40
+00
+16
+20
+20
+00
+fc
+6f
+e0
+c9
+23
+c1
+7f
+80
+00
+6f
+e1
+4a
+c2
+24
+7a
+00
+00
+6f
+e1
+48
+83
+24
+7a
+00
+00
+6f
+e1
+48
+87
+24
+7a
+00
+00
+6f
+e0
+cb
+a7
+24
+7a
 00
 00
 6f
@@ -907,7 +1115,7 @@
 20
 3a
 01
-0b
+3f
 67
 e0
 cb
@@ -943,11 +1151,11 @@
 20
 40
 01
-08
+3c
 20
 40
-00
-fb
+01
+2f
 20
 40
 40
@@ -1007,7 +1215,7 @@
 20
 20
 01
-20
+54
 6f
 e0
 cb
@@ -1039,7 +1247,7 @@
 da
 40
 01
-04
+38
 20
 20
 31
@@ -1067,7 +1275,7 @@
 da
 40
 01
-0b
+3f
 20
 20
 31
@@ -1123,11 +1331,11 @@
 20
 41
 01
-1a
+4e
 24
 41
 01
-1e
+52
 20
 20
 48
@@ -1171,7 +1379,7 @@
 da
 40
 01
-25
+59
 20
 20
 31
@@ -1183,7 +1391,7 @@
 c0
 00
 00
-79
+92
 20
 20
 43
@@ -1211,7 +1419,7 @@
 c0
 4f
 81
-2f
+63
 20
 20
 12
@@ -1228,51 +1436,311 @@
 20
 12
 2a
-1b
-8a
-aa
-55
-40
-00
-00
-40
-01
-00
-00
-00
-00
-00
-00
-00
-00
-00
+6f
+e4
+4b
+ab
+c4
+0b
 00
 00
+6f
+e0
+ca
+ae
+20
+7a
 00
 00
+6f
+e0
+c8
+a7
+20
+7a
 00
 00
+6f
+e0
+cb
+a1
+1f
+e0
+fe
+01
+1f
+e1
+7e
+03
+67
+e0
+cb
+a1
+24
+7a
 00
-0c
 00
-80
+70
+4b
+a2
 00
+6f
+e0
+cb
+a2
+1f
+e0
+fe
+01
+67
+e0
+cb
+a2
+1f
+e6
+7c
+08
+24
+21
+01
+7c
+20
 40
-00
-00
+25
+9a
+20
+40
+26
+5b
+24
+2c
+01
+82
+24
+37
+81
+82
+20
+40
+01
+8c
+20
+40
+25
+97
+6f
+e0
+cb
+a3
+1f
+e0
+fe
+01
+67
+e0
+cb
+a3
+c0
 08
-46
-41
-02
-00
-00
-00
-00
-00
-00
-00
+01
+84
+20
+60
 00
 00
+20
+40
+22
+cb
+20
+20
+01
+72
+70
+4b
+a3
+00
+6f
+e0
+cb
+a4
+c3
+80
+00
+00
+79
+20
+7e
+00
+67
+e0
+cb
+a4
+6f
+e1
+4b
+bc
+67
+e1
+4a
+b2
+20
+20
+42
+3c
+6f
+e0
+c8
+a7
+20
+3a
+48
+8c
+70
+4b
+a3
+00
+6f
+e0
+cb
+a4
+c4
+00
+00
+00
+79
+3f
+fe
+00
+67
+e0
+cb
+a4
+20
+40
+45
+44
+20
+20
+01
+99
+6f
+e0
+c9
+1f
+20
+20
+5a
+f8
+20
+40
+3f
+65
+20
+75
+80
+00
+20
+40
+42
+36
+20
+40
+41
+b5
+c0
+18
+01
+a1
+c0
+18
+c2
+17
+c0
+2c
+42
+20
+20
+40
+41
+b2
+20
+00
+1a
+f4
+20
+20
+01
+9a
+6f
+e0
+c9
+c2
+c0
+01
+01
+a4
+20
+20
+41
+bc
+70
+49
+27
+0c
+da
+60
+4b
+e8
+20
+20
+42
+2b
+b6
+4c
+aa
+55
+40
+00
+00
+40
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+0c
+00
+80
+00
+40
+00
+00
+08
+46
+49
+02
+00
+00
+00
+00
+00
+00
+00
+00
+01
 00
 00
 00
@@ -1429,7 +1897,7 @@
 ff
 02
 01
-00
+01
 aa
 55
 01
@@ -2176,792 +2644,324 @@
 ff
 aa
 55
-08
+58
 00
-a3
-4a
+e8
+4b
 09
 5a
-0b
-f3
-09
-00
-ff
-ff
-aa
-55
-02
-00
-8d
-44
-2d
-49
-aa
-55
-01
-00
+26
+34
+0a
+87
+2b
+6c
+30
+2e
+32
+0f
+35
 8c
-44
-01
-aa
-55
-01
-00
-65
-48
-01
-aa
-55
-01
-00
-64
-48
-01
-aa
-55
-01
-00
 36
-48
-01
-aa
-55
+32
+3e
+26
+5c
+d6
+7f
 01
 00
-a8
-48
+40
 06
-aa
-55
-02
-00
-38
-48
-c0
-12
-aa
-55
-03
-00
-54
-48
-19
-19
-1c
-aa
-55
-10
-00
-40
-48
-00
-13
-2c
-42
-06
-15
+28
+07
+08
+16
+18
+1b
+4c
 36
-48
-0f
-1a
+88
 3a
-4c
-11
-23
-31
-4d
-aa
-55
-01
-00
-5b
-48
-00
-aa
-55
-05
-00
-77
-48
-20
-15
-10
-05
-4e
-aa
-55
-05
-00
-8c
-48
-01
-0f
-0f
-0f
-0f
-aa
-55
-06
-00
-ad
-48
-0c
-f8
-00
-00
-77
-01
-aa
-55
-03
-00
-5c
-48
-00
-48
-60
-aa
-55
-01
-00
-7d
-48
-07
-aa
-55
-02
-00
-99
-48
-b5
-4a
-aa
-55
-01
-00
-ca
-48
-32
-aa
-55
-02
-00
-c2
-48
-14
-00
-aa
-55
-02
-00
-c0
-48
-50
-00
-aa
-55
-03
-00
-b8
+57
+3b
+34
+41
+22
+42
+6d
+43
+82
+44
+6d
+45
+82
+46
+22
+47
+7c
 48
-00
-a6
-0e
-aa
-55
-03
-00
-b8
+82
 49
-00
-50
-00
-aa
-55
-02
-00
-79
-44
-80
-1f
-aa
-55
-01
-00
-83
-44
-80
-aa
-55
-01
-00
-e8
-41
-01
-64
-6e
-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
-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
-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
-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
+7c
+4a
+84
+55
+10
+5f
+04
+60
+02
+62
+5c
+64
+43
+65
+54
+67
+93
+68
+15
+71
+2c
+72
+40
+79
+08
+7f
+00
+2b
+6d
+09
+00
 ff
 ff
+aa
+55
+08
+00
+a3
+4a
+09
+5a
+0b
+f3
+09
+00
 ff
 ff
+aa
+55
+02
+00
+8d
+44
+2d
+49
+aa
+55
+01
+00
+8c
+44
+01
+aa
+55
+01
+00
+65
+48
+01
+aa
+55
+01
+00
+64
+48
+01
+aa
+55
+01
+00
+36
+48
+01
+aa
+55
+01
+00
+a8
+48
+06
+aa
+55
+02
+00
+38
+48
+c0
+12
+aa
+55
+03
+00
+54
+48
+19
+19
+1c
+aa
+55
+10
+00
+40
+48
+00
+13
+2c
+42
+06
+15
+36
+48
+0f
+1a
+3a
+4c
+11
+23
+31
+4d
+aa
+55
+01
+00
+5b
+48
+00
+aa
+55
+05
+00
+77
+48
+20
+15
+10
+05
+4e
+aa
+55
+05
+00
+8c
+48
+01
+0f
+0f
+0f
+0f
+aa
+55
+06
+00
+ad
+48
+0c
+f8
+00
+00
+77
+01
+aa
+55
+03
+00
+5c
+48
+00
+48
+60
+aa
+55
+01
+00
+7d
+48
+07
+aa
+55
+02
+00
+99
+48
+b5
+4a
+aa
+55
+01
+00
+ca
+48
+32
+aa
+55
+02
+00
+c2
+48
+14
+00
+aa
+55
+02
+00
+c0
+48
+50
+00
+aa
+55
+03
+00
+b8
+48
+00
+a6
+0e
+aa
+55
+03
+00
+b8
+49
+00
+50
+00
+aa
+55
+02
+00
+79
+44
+80
+1f
+aa
+55
+01
+00
+83
+44
+80
+aa
+55
+01
+00
+e8
+41
+01
+67
+2d
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-5b
-1a
+78
+66
Index: output/memmap.format
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Only2.4G/MingAo_Only2.4G_LRpair_12CLK/output/memmap.format	(revision 1333)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Only2.4G/MingAo_Only2.4G_LRpair_12CLK/output/memmap.format	(working copy)
@@ -2208,6 +2208,7 @@
 0x4be4 mem_mouse_logo_led_on_check_count
 0x4be5 mem_mouse_logo_led_on_timer
 0x4be7 mem_power_on_flag
+0x4be8 mem_sensor_3220_init
 0x48d0 mem_remote_car_hard_soft_switch
 0x48d1 mem_remote_car_queue_each_size
 0x48d2 mem_remote_car_queue_length
Index: output/program.lis
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Only2.4G/MingAo_Only2.4G_LRpair_12CLK/output/program.lis	(revision 1333)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Only2.4G/MingAo_Only2.4G_LRpair_12CLK/output/program.lis	(working copy)
@@ -1,399 +1,562 @@
               include "bt_format "
               org 0x0000
-0000 c284000e bbit1 8 ,pf_patch_ext 
-0001 c0000012 beq patch00_0 ,p_soft_reset 
-0002 c045012c beq patch11_2 ,p_txon 
-0003 c0458031 beq patch11_3 ,p_initialize_radio_cont 
-0004 c04f802f beq patch13_7 ,p_init_param 
-0005 c0570016 beq patch15_6 ,p_app_init 
-0006 c06180aa beq patch18_3 ,p_mouse_start_work 
-0007 c0648044 beq patch19_1 ,p_mouse_setgpio_hibernate 
-0008 c0650054 beq patch19_2 ,p_mouse_lpm_before_common 
-0009 c06700b9 beq patch19_6 ,p_mouse_motion 
-000a c06800d3 beq patch1a_0 ,p_mouse_seting_dpi 
-000b c06b0090 beq patch1a_6 ,p_mouse_priority_bb_event 
-000c c06c80e4 beq patch1b_1 ,p_mouse_bb_event_timer 
-000d 2020137c branch loop 
+0000 c284000f bbit1 8 ,pf_patch_ext 
+0001 c0000014 beq patch00_0 ,p_soft_reset 
+0002 c0450160 beq patch11_2 ,p_txon 
+0003 c045803b beq patch11_3 ,p_initialize_radio_cont 
+0004 c04f8039 beq patch13_7 ,p_init_param 
+0005 c0570018 beq patch15_6 ,p_app_init 
+0006 c06180c3 beq patch18_3 ,p_mouse_start_work 
+0007 c064804e beq patch19_1 ,p_mouse_setgpio_hibernate 
+0008 c065005e beq patch19_2 ,p_mouse_lpm_before_common 
+0009 c06700d2 beq patch19_6 ,p_mouse_motion 
+000a c06800f1 beq patch1a_0 ,p_mouse_seting_dpi 
+000b c0698197 beq patch1a_3 ,p_mouse_init_sunt 
+000c c06b00a9 beq patch1a_6 ,p_mouse_priority_bb_event 
+000d c06c8118 beq patch1b_1 ,p_mouse_bb_event_timer 
+000e 2020137c branch loop 
 
 pf_patch_ext:
-000e c0438128 beq patch30_7 ,p_ui_timer_check 
-000f c07100a8 beq patch3c_2 ,p_g24_pair_dispatch 
-0010 c075006a beq patch3d_2 ,p_g24_transmit_no_interrupt 
-0011 2020137c branch loop 
+000f c0100195 beq patch24_0 ,p_twspi_reset 
+0010 c043815c beq patch30_7 ,p_ui_timer_check 
+0011 c07100c1 beq patch3c_2 ,p_g24_pair_dispatch 
+0012 c0750074 beq patch3d_2 ,p_g24_transmit_no_interrupt 
+0013 2020137c branch loop 
 
 p_soft_reset:
-0012 20800000 clear_stack 
-0013 204030f3 call app_param_init 
-0014 20403bfd call mouse_xtal_init 
-0015 20200804 branch soft_reset + 3 
+0014 20800000 clear_stack 
+0015 204030f3 call app_param_init 
+0016 20403bfd call mouse_xtal_init 
+0017 20200804 branch soft_reset + 3 
 
 p_app_init:
 
 p_mouse_init:
-0016 20406df3 call enable_authrom 
-0017 2040001d call p_mouse_wheel_set_wakeup 
-0018 20400025 call p_mouse_setting_config 
-0019 204041a7 call mouse_init_sunt 
-001a 20758000 rtn wake 
-001b 2040408e call mouse_dpi_config 
-001c 20203bc5 branch mouse_init + 4 
+0018 20406df3 call enable_authrom 
+0019 20400027 call p_mouse_wheel_set_wakeup 
+001a 2040002f call p_mouse_setting_config 
+001b 204041a7 call mouse_init_sunt 
+001c 20758000 rtn wake 
+001d 2040408e call mouse_dpi_config 
+001e 20403d8a call mouse_usb_check_enable 
+001f 20404728 call mouse_drawing_optima_init 
+0020 20400022 call p_mouse_cb_fuction 
+0021 20203bc8 branch mouse_init + 7 
+
+p_mouse_cb_fuction:
+0022 58004866 setarg mouse_24g_package_data 
+0023 67e1489b store 2 ,mem_cb_24g_transmit_data 
+0024 58000166 setarg p_mouse_24g_search_dongle 
+0025 67e1489d store 2 ,mem_cb_24g_search_receiver 
+0026 20203bd3 branch mouse_cb_fuction + 4 
 
 p_mouse_wheel_set_wakeup:
-001d 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
-001e 207a0000 rtn blank 
-001f 6fe0c913 fetch 1 ,mem_whee_a_data_gpio 
-0020 d8400040 arg gpcfg_pullup ,temp 
-0021 20406093 call gpio_config_function_int 
-0022 6fe0c914 fetch 1 ,mem_whee_b_data_gpio 
-0023 d8400040 arg gpcfg_pullup ,temp 
-0024 20206093 branch gpio_config_function_int 
+0027 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+0028 207a0000 rtn blank 
+0029 6fe0c913 fetch 1 ,mem_whee_a_data_gpio 
+002a d8400040 arg gpcfg_pullup ,temp 
+002b 20406093 call gpio_config_function_int 
+002c 6fe0c914 fetch 1 ,mem_whee_b_data_gpio 
+002d d8400040 arg gpcfg_pullup ,temp 
+002e 20206093 branch gpio_config_function_int 
 
 p_mouse_setting_config:
-0025 20758000 rtn wake 
-0026 20402607 call g24_transmit_init 
-0027 204022ff call g24_chmap_param_init 
-0028 20403f1e call mouse_gpio_init 
-0029 20403d13 call mouse_param_init 
-002a 2040002c call p_mouse_sensor_set_angle 
-002b 20203bf5 branch mouse_setting_config_next 
+002f 20758000 rtn wake 
+0030 20402607 call g24_transmit_init 
+0031 204022ff call g24_chmap_param_init 
+0032 20403f1e call mouse_gpio_init 
+0033 20403d13 call mouse_param_init 
+0034 20400036 call p_mouse_sensor_set_angle 
+0035 20203bf5 branch mouse_setting_config_next 
 
 p_mouse_sensor_set_angle:
-002c 6fe0c924 fetch 1 ,mem_sensor_angle_default 
-002d 67e0c928 store 1 ,mem_config_sensor_angle 
-002e 20600000 rtn 
+0036 6fe0c924 fetch 1 ,mem_sensor_angle_default 
+0037 67e0c928 store 1 ,mem_config_sensor_angle 
+0038 20600000 rtn 
 
 p_init_param:
-002f 70008000 jam 0 ,mem_lmo_tid2 
-0030 202013b7 branch init_param_next + 1 
+0039 70008000 jam 0 ,mem_lmo_tid2 
+003a 202013b7 branch init_param_next + 1 
 
 p_initialize_radio_cont:
-0031 708a8be6 jam 0xe6 ,core_syn_aac_cfg1 
-0032 2040126a call initialize_syn_afc_cfg1 
-0033 20401271 call initialize_rf_ldo_cfg1 
-0034 20401277 call initialize_rc_cal 
-0035 708a6d09 jam 0x09 ,core_rx_bq_cfg0 
-0036 708a0305 jam 5 ,core_clkpll_cfg0 
-0037 708a7a94 jam 0x94 ,core_rx_iqadc_cfg 
-0038 708a0e0b jam 0x0b ,core_rf_ldo_cfg2 
-0039 708a0f05 jam 0x05 ,core_rf_ldo_cfg3 
-003a 708a8390 jam 0x90 ,core_syn_pfd_lkd_cfg 
-003b 6fe0c0c5 fetch 1 ,mem_fcomp_div 
-003c c084003e bne xtal_16m ,p_initialize_radio_cont_next 
-003d 708a0834 jam 0x34 ,core_clkpll_cfg5 
+003b 708a8be6 jam 0xe6 ,core_syn_aac_cfg1 
+003c 2040126a call initialize_syn_afc_cfg1 
+003d 20401271 call initialize_rf_ldo_cfg1 
+003e 20401277 call initialize_rc_cal 
+003f 708a6d09 jam 0x09 ,core_rx_bq_cfg0 
+0040 708a0305 jam 5 ,core_clkpll_cfg0 
+0041 708a7a94 jam 0x94 ,core_rx_iqadc_cfg 
+0042 708a0e0b jam 0x0b ,core_rf_ldo_cfg2 
+0043 708a0f05 jam 0x05 ,core_rf_ldo_cfg3 
+0044 708a8390 jam 0x90 ,core_syn_pfd_lkd_cfg 
+0045 6fe0c0c5 fetch 1 ,mem_fcomp_div 
+0046 c0840048 bne xtal_16m ,p_initialize_radio_cont_next 
+0047 708a0834 jam 0x34 ,core_clkpll_cfg5 
 
 p_initialize_radio_cont_next:
-003e 708a01ff jam 0xff ,core_clkpll_ctrl1 
-003f 20000064 nop 100 
-0040 708a020e jam 0x0e ,core_clkpll_ctrl2 
-0041 708a0003 jam 0x03 ,core_clkpll_ctrl0 
-0042 2040012f call p_set_tx_power_pair 
-0043 20201265 branch initialize_radio_cont_next2 
+0048 708a01ff jam 0xff ,core_clkpll_ctrl1 
+0049 20000064 nop 100 
+004a 708a020e jam 0x0e ,core_clkpll_ctrl2 
+004b 708a0003 jam 0x03 ,core_clkpll_ctrl0 
+004c 20400163 call p_set_tx_power_pair 
+004d 20201265 branch initialize_radio_cont_next2 
 
 p_mouse_setgpio_hibernate:
-0044 204042e9 call mouse_set_sdio_high 
-0045 20407fdc call clear_wake 
-0046 20404015 call mouse_before_hibernate_wheel_gpio_set 
-0047 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
-0048 c07f804d beq gpio_disable ,p_mouse_setgpio_hibernate_skip_public_gpio 
-0049 6848c910 fetcht 1 ,mem_matrix_public_gpio 
-004a 20406069 call gpio_out_active 
-004b 6848c910 fetcht 1 ,mem_matrix_public_gpio 
-004c 20406042 call gpio_clr_wake 
+004e 204042e9 call mouse_set_sdio_high 
+004f 20407fdc call clear_wake 
+0050 20404015 call mouse_before_hibernate_wheel_gpio_set 
+0051 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+0052 c07f8057 beq gpio_disable ,p_mouse_setgpio_hibernate_skip_public_gpio 
+0053 6848c910 fetcht 1 ,mem_matrix_public_gpio 
+0054 20406069 call gpio_out_active 
+0055 6848c910 fetcht 1 ,mem_matrix_public_gpio 
+0056 20406042 call gpio_clr_wake 
 
 p_mouse_setgpio_hibernate_skip_public_gpio:
-004d 6848cbe2 fetcht 1 ,mem_mouse_reuse_2ice_gpio 
-004e 20403f56 call mouse_gpio_config_input_pu 
-004f 6fe0c920 fetch 1 ,mem_mouse_sensor_sdio_gpio 
-0050 d840003f arg gpcfg_output_high ,temp 
-0051 20406093 call gpio_config_function_int 
-0052 20400104 call p_mouse_logo_led_on_timeout 
-0053 20203e36 branch mouse_setgpio_hibernate + 3 
+0057 6848cbe2 fetcht 1 ,mem_mouse_reuse_2ice_gpio 
+0058 20403f56 call mouse_gpio_config_input_pu 
+0059 6fe0c920 fetch 1 ,mem_mouse_sensor_sdio_gpio 
+005a d840003f arg gpcfg_output_high ,temp 
+005b 20406093 call gpio_config_function_int 
+005c 20400138 call p_mouse_logo_led_on_timeout 
+005d 20203e36 branch mouse_setgpio_hibernate + 3 
 
 p_mouse_lpm_before_common:
-0054 20403f88 call mouse_wheel_check 
-0055 6fe0c91f fetch 1 ,mem_mouse_sensor_sclk_gpio 
-0056 d840003f arg gpcfg_output_high ,temp 
-0057 20406093 call gpio_config_function_int 
-0058 6fe080a1 fetch 1 ,mem_gpio_wakeup_low + 2 
-0059 793ffe03 set0 3 ,pdata 
-005a 67e080a1 store 1 ,mem_gpio_wakeup_low + 2 
-005b 6848c920 fetcht 1 ,mem_mouse_sensor_sdio_gpio 
-005c 20406042 call gpio_clr_wake 
-005d 20405b04 call twspi_disable 
-005e 6848c918 fetcht 1 ,mem_lbutton_gpio 
-005f 20406036 call gpio_set_wake 
-0060 6848c919 fetcht 1 ,mem_rbutton_gpio 
-0061 20406036 call gpio_set_wake 
-0062 6848c91a fetcht 1 ,mem_mbutton_gpio 
-0063 20406036 call gpio_set_wake 
-0064 6848c90d fetcht 1 ,mem_bk_button_gpio 
-0065 20406036 call gpio_set_wake 
-0066 6848c90e fetcht 1 ,mem_fw_button_gpio 
-0067 20406036 call gpio_set_wake 
-0068 6848c90f fetcht 1 ,mem_dpi_button_gpio 
-0069 20206036 branch gpio_set_wake 
+005e 20403f88 call mouse_wheel_check 
+005f 6fe0c91f fetch 1 ,mem_mouse_sensor_sclk_gpio 
+0060 d840003f arg gpcfg_output_high ,temp 
+0061 20406093 call gpio_config_function_int 
+0062 6fe080a1 fetch 1 ,mem_gpio_wakeup_low + 2 
+0063 793ffe03 set0 3 ,pdata 
+0064 67e080a1 store 1 ,mem_gpio_wakeup_low + 2 
+0065 6848c920 fetcht 1 ,mem_mouse_sensor_sdio_gpio 
+0066 20406042 call gpio_clr_wake 
+0067 20405b04 call twspi_disable 
+0068 6848c918 fetcht 1 ,mem_lbutton_gpio 
+0069 20406036 call gpio_set_wake 
+006a 6848c919 fetcht 1 ,mem_rbutton_gpio 
+006b 20406036 call gpio_set_wake 
+006c 6848c91a fetcht 1 ,mem_mbutton_gpio 
+006d 20406036 call gpio_set_wake 
+006e 6848c90d fetcht 1 ,mem_bk_button_gpio 
+006f 20406036 call gpio_set_wake 
+0070 6848c90e fetcht 1 ,mem_fw_button_gpio 
+0071 20406036 call gpio_set_wake 
+0072 6848c90f fetcht 1 ,mem_dpi_button_gpio 
+0073 20206036 branch gpio_set_wake 
 
 p_g24_transmit_no_interrupt:
-006a 20402631 call g24_txdata_prep 
-006b 24340082 nbranch p_g24_nodata_transmit ,user 
+0074 20402631 call g24_txdata_prep 
+0075 2434009b nbranch p_g24_nodata_transmit ,user 
 
 p_g24_transmit_start:
-006c 20402646 call g24_transmit_process 
-006d 204026ee call power_ctrl_start 
-006e 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
-006f 243a0074 nbranch p_g24_short_sleep ,blank 
-0070 6fe448b0 fetch 8 ,mem_24g_long_sleep_set 
-0071 67e4485c store 8 ,mem_24g_enter_hibernate 
-0072 6fe148c2 fetch 2 ,mem_24g_long_sleep_param_update_timer_init 
-0073 67e148c4 store 2 ,mem_24g_long_sleep_param_update_timer 
+0076 20400083 call p_g24_transmit_process 
+0077 204026ee call power_ctrl_start 
+0078 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+0079 243a007e nbranch p_g24_short_sleep ,blank 
+007a 6fe448b0 fetch 8 ,mem_24g_long_sleep_set 
+007b 67e4485c store 8 ,mem_24g_enter_hibernate 
+007c 6fe148c2 fetch 2 ,mem_24g_long_sleep_param_update_timer_init 
+007d 67e148c4 store 2 ,mem_24g_long_sleep_param_update_timer 
 
 p_g24_short_sleep:
-0074 204026bb call g24_lpm_wait 
-0075 24740000 nrtn user 
-0076 20407fdc call clear_wake 
-0077 6fe1c8ad fetch 3 ,mem_24g_short_sleep_set 
-0078 202026b8 branch g24_long_sleep2 
+007e 204026bb call g24_lpm_wait 
+007f 24740000 nrtn user 
+0080 20407fdc call clear_wake 
+0081 6fe1c8ad fetch 3 ,mem_24g_short_sleep_set 
+0082 202026b8 branch g24_long_sleep2 
+
+p_g24_transmit_process:
+0083 7048a600 jam 0 ,mem_24g_retry 
+
+p_g24_transmit_loop:
+0084 6961015f fetchr timeup ,2 ,mem_param_rx_setup 
+0085 34730200 until clkn_rt ,meet 
+0086 2040265b call g24_transmit_receive_ack 
+0087 6fe0c82c fetch 1 ,mem_24g_no_ack 
+0088 c000a651 beq no_ack_24g ,g24_transmit_no_ack 
+0089 242c2669 nbranch g24_retransmit ,sync 
+008a 2437a669 nbranch g24_retransmit ,user3 
+008b 20402672 call g24_ackpayload_parse 
+008c 2040008e call p_mouse_wakeup_24g 
+008d 20202651 branch g24_transmit_no_ack 
+
+p_mouse_wakeup_24g:
+008e 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+008f 245a0199 ncall p_mouse_init_sensor_wakeup ,blank 
+0090 704be100 jam 0 ,mem_sensor_shutdown_flag 
+0091 20202651 branch g24_transmit_no_ack 
 
 p_mouse_24g_hibernate_set:
-0079 7048a500 jam 0 ,mem_24g_attempt_fail_flag 
-007a 20402652 call g24_transmit_next_packet 
-007b 5fffffff setarg -1 
-007c 67e2485c store 4 ,mem_24g_enter_hibernate 
-007d 58000000 setarg 0 
-007e 67e3c8d0 store 7 ,mem_mouse_key 
-007f 704be101 jam 1 ,mem_sensor_shutdown_flag 
-0080 2040423c call mouse_sensor_powerdown 
-0081 20200088 branch p_g24_long_sleep 
+0092 7048a500 jam 0 ,mem_24g_attempt_fail_flag 
+0093 20402652 call g24_transmit_next_packet 
+0094 5fffffff setarg -1 
+0095 67e2485c store 4 ,mem_24g_enter_hibernate 
+0096 58000000 setarg 0 
+0097 67e3c8d0 store 7 ,mem_mouse_key 
+0098 704be101 jam 1 ,mem_sensor_shutdown_flag 
+0099 2040423c call mouse_sensor_powerdown 
+009a 202000a1 branch p_g24_long_sleep 
 
 p_g24_nodata_transmit:
-0082 6fe0c8a7 fetch 1 ,mem_24g_abort_pac 
-0083 205a26a7 call g24_send_abort_packet ,blank 
-0084 6fe0c8bd fetch 1 ,mem_24g_transmit_by_interrupt 
-0085 c1008000 rtneq g24_tx_timer_int_enable 
-0086 2040269f call g24_search_receiver 
-0087 20200088 branch p_g24_long_sleep 
+009b 6fe0c8a7 fetch 1 ,mem_24g_abort_pac 
+009c 205a26a7 call g24_send_abort_packet ,blank 
+009d 6fe0c8bd fetch 1 ,mem_24g_transmit_by_interrupt 
+009e c1008000 rtneq g24_tx_timer_int_enable 
+009f 2040269f call g24_search_receiver 
+00a0 202000a1 branch p_g24_long_sleep 
 
 p_g24_long_sleep:
-0088 204026bb call g24_lpm_wait 
-0089 24740000 nrtn user 
-008a 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
-008b 245a3e33 ncall mouse_setgpio_hibernate ,blank 
-008c 6fe2485c fetch 4 ,mem_24g_enter_hibernate 
-008d 20407daa call clk2lpo 
-008e 604a4160 storet 4 ,mem_sleep_counter 
-008f 20201497 branch lpm_sleep 
+00a1 204026bb call g24_lpm_wait 
+00a2 24740000 nrtn user 
+00a3 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+00a4 245a3e33 ncall mouse_setgpio_hibernate ,blank 
+00a5 6fe2485c fetch 4 ,mem_24g_enter_hibernate 
+00a6 20407daa call clk2lpo 
+00a7 604a4160 storet 4 ,mem_sleep_counter 
+00a8 20201497 branch lpm_sleep 
 
 p_mouse_priority_bb_event:
-0090 1a627e00 copy regc ,pdata 
-0091 c01e0094 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
-0092 c01d009a beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
-0093 20204336 branch mouse_priority_bb_event + 2 
+00a9 1a627e00 copy regc ,pdata 
+00aa c01e00ad beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
+00ab c01d00b3 beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
+00ac 20204336 branch mouse_priority_bb_event + 2 
 
 p_mouse_24g_attempt_success:
-0094 6fe2483c fetch 4 ,mem_24g_addr 
-0095 67e24891 store 4 ,mem_24g_receiver_addr 
-0096 67e24993 store 4 ,mem_mouse_24g_addr 
-0097 2040257e call g24_ch_syncword_crc8_init 
-0098 204048c6 call mouse_device_poweron_timer_init 
-0099 2020484e branch mouse_24g_attempt_success 
+00ad 6fe2483c fetch 4 ,mem_24g_addr 
+00ae 67e24891 store 4 ,mem_24g_receiver_addr 
+00af 67e24993 store 4 ,mem_mouse_24g_addr 
+00b0 2040257e call g24_ch_syncword_crc8_init 
+00b1 204048c6 call mouse_device_poweron_timer_init 
+00b2 2020484e branch mouse_24g_attempt_success 
 
 p_mouse_24g_attempt_fail:
-009a 6fe0c8a5 fetch 1 ,mem_24g_attempt_fail_flag 
-009b 243a0079 nbranch p_mouse_24g_hibernate_set ,blank 
-009c 6fe0c88b fetch 1 ,mem_24g_reconn_type 
-009d c001009f beq fast_conn_and_3_0_addr ,p_mouse_24g_fast_conn_attempt_fail 
-009e 20204837 branch mouse_24g_attempt_fail + 4 
+00b3 6fe0c8a5 fetch 1 ,mem_24g_attempt_fail_flag 
+00b4 243a0092 nbranch p_mouse_24g_hibernate_set ,blank 
+00b5 6fe0c88b fetch 1 ,mem_24g_reconn_type 
+00b6 c00100b8 beq fast_conn_and_3_0_addr ,p_mouse_24g_fast_conn_attempt_fail 
+00b7 20204837 branch mouse_24g_attempt_fail + 4 
 
 p_mouse_24g_fast_conn_attempt_fail:
-009f 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-00a0 c297c811 bbit1 mouse_enable_24g_first_auto_pairing ,mouse_24g_start_auto_pair 
-00a1 c2984811 bbit1 mouse_enable_auto_24g_paring ,mouse_24g_start_auto_pair 
-00a2 c31d4806 bbit0 mouse_enable_24g_auto_pair_nerver_been_paired ,mouse_24g_reconn_dongle_start 
-00a3 6fe24993 fetch 4 ,mem_mouse_24g_addr 
-00a4 684a4974 fetcht 4 ,mem_mouse_compare_addr_ff 
-00a5 98467c00 isub temp ,null 
-00a6 2022c827 branch mouse_24g_start_pair_mode ,zero 
-00a7 20204806 branch mouse_24g_reconn_dongle_start 
+00b8 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+00b9 c297c811 bbit1 mouse_enable_24g_first_auto_pairing ,mouse_24g_start_auto_pair 
+00ba c2984811 bbit1 mouse_enable_auto_24g_paring ,mouse_24g_start_auto_pair 
+00bb c31d4806 bbit0 mouse_enable_24g_auto_pair_nerver_been_paired ,mouse_24g_reconn_dongle_start 
+00bc 6fe24993 fetch 4 ,mem_mouse_24g_addr 
+00bd 684a4974 fetcht 4 ,mem_mouse_compare_addr_ff 
+00be 98467c00 isub temp ,null 
+00bf 2022c827 branch mouse_24g_start_pair_mode ,zero 
+00c0 20204806 branch mouse_24g_reconn_dongle_start 
 
 p_g24_pair_dispatch:
-00a8 70488b00 jam default_24g_device ,mem_24g_reconn_type 
-00a9 20202341 branch g24_pair_dispatch + 1 
+00c1 70488b00 jam default_24g_device ,mem_24g_reconn_type 
+00c2 20202341 branch g24_pair_dispatch + 1 
 
 p_mouse_start_work:
-00aa 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-00ab c297c80a bbit1 mouse_enable_24g_first_auto_pairing ,mouse_24g_first_start_auto_pair_mode 
-00ac 6fe0c938 fetch 1 ,mem_device_flag 
-00ad c00000af beq mode_24g_device ,p_mouse_24g_start_mode 
-00ae 20203d57 branch mouse_start_work + 5 
+00c3 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+00c4 c297c80a bbit1 mouse_enable_24g_first_auto_pairing ,mouse_24g_first_start_auto_pair_mode 
+00c5 6fe0c938 fetch 1 ,mem_device_flag 
+00c6 c00000c8 beq mode_24g_device ,p_mouse_24g_start_mode 
+00c7 20203d57 branch mouse_start_work + 5 
 
 p_mouse_24g_start_mode:
-00af 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-00b0 c308c803 bbit0 mouse_enable_24g ,mouse_24g_mode_setup_error 
-00b1 20403d65 call mouse_wakeup_from_power_check 
-00b2 20344806 branch mouse_24g_reconn_dongle_start ,user 
-00b3 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-00b4 c298480c bbit1 mouse_enable_auto_24g_paring ,mouse_24g_reconn_general_dongle 
-00b5 c318c80c bbit0 mouse_enable_24g_power_on_pairing ,mouse_24g_reconn_general_dongle 
-00b6 20404110 call mouse_key_check_once 
-00b7 1a217e07 and rega ,0x07 ,pdata 
-00b8 202047ff branch mouse_24g_start_mode + 9 
+00c8 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+00c9 c308c803 bbit0 mouse_enable_24g ,mouse_24g_mode_setup_error 
+00ca 20403d65 call mouse_wakeup_from_power_check 
+00cb 20344806 branch mouse_24g_reconn_dongle_start ,user 
+00cc 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+00cd c298480c bbit1 mouse_enable_auto_24g_paring ,mouse_24g_reconn_general_dongle 
+00ce c318c80c bbit0 mouse_enable_24g_power_on_pairing ,mouse_24g_reconn_general_dongle 
+00cf 20404110 call mouse_key_check_once 
+00d0 1a217e07 and rega ,0x07 ,pdata 
+00d1 202047ff branch mouse_24g_start_mode + 9 
 
 p_mouse_motion:
-00b9 78547c00 disable user 
-00ba 58000000 setarg 0 
-00bb 67e348d1 store 6 ,mem_mouse_x 
-00bc 20404240 call mouse_check_sensor_data 
-00bd 2040408e call mouse_dpi_config 
-00be 20403f7e call mouse_zwheel 
-00bf 20403f83 call mouse_t_zwheel 
-00c0 204040dc call mouse_key 
-00c1 6fe0c8d0 fetch 1 ,mem_mouse_key 
-00c2 1fe17e1f and_into 0x1f ,pdata 
-00c3 67e0c8d0 store 1 ,mem_mouse_key 
-00c4 243400c8 nbranch p_mouse_motion_nodata ,user 
-00c5 2040471a call mouse_drawing_optima 
-00c6 204000cb call p_mouse_logo_led_on_check 
-00c7 20204544 branch mouse_no_data_timer_init 
+00d2 78547c00 disable user 
+00d3 58000000 setarg 0 
+00d4 67e348d1 store 6 ,mem_mouse_x 
+00d5 204000ec call p_mouse_check_sensor_data 
+00d6 2040408e call mouse_dpi_config 
+00d7 20403f7e call mouse_zwheel 
+00d8 20403f83 call mouse_t_zwheel 
+00d9 204040dc call mouse_key 
+00da 6fe0c8d0 fetch 1 ,mem_mouse_key 
+00db 1fe17e1f and_into 0x1f ,pdata 
+00dc 67e0c8d0 store 1 ,mem_mouse_key 
+00dd 243400e1 nbranch p_mouse_motion_nodata ,user 
+00de 2040471a call mouse_drawing_optima 
+00df 204000e4 call p_mouse_logo_led_on_check 
+00e0 20204544 branch mouse_no_data_timer_init 
 
 p_mouse_motion_nodata:
-00c8 20404728 call mouse_drawing_optima_init 
-00c9 704be400 jam 0 ,mem_mouse_logo_led_on_check_count 
-00ca 20600000 rtn 
+00e1 20404728 call mouse_drawing_optima_init 
+00e2 704be400 jam 0 ,mem_mouse_logo_led_on_check_count 
+00e3 20600000 rtn 
 
 p_mouse_logo_led_on_check:
-00cb 6fe0cbe4 fetch 1 ,mem_mouse_logo_led_on_check_count 
-00cc 1fe0fe01 increase 1 ,pdata 
-00cd 67e0cbe4 store 1 ,mem_mouse_logo_led_on_check_count 
-00ce 1fe67c08 sub pdata ,low_voltage_led_count ,null 
-00cf 20610000 rtn positive 
+00e4 6fe0cbe4 fetch 1 ,mem_mouse_logo_led_on_check_count 
+00e5 1fe0fe01 increase 1 ,pdata 
+00e6 67e0cbe4 store 1 ,mem_mouse_logo_led_on_check_count 
+00e7 1fe67c08 sub pdata ,low_voltage_led_count ,null 
+00e8 20610000 rtn positive 
 
 p_mouse_logo_led_on:
-00d0 58000258 setarg 0x0258 
-00d1 67e14be5 store 2 ,mem_mouse_logo_led_on_timer 
-00d2 20600000 rtn 
+00e9 58000258 setarg 0x0258 
+00ea 67e14be5 store 2 ,mem_mouse_logo_led_on_timer 
+00eb 20600000 rtn 
+
+p_mouse_check_sensor_data:
+00ec 6fe0c4ac fetch 1 ,mem_spi_write_flash_sm 
+00ed c1800000 rtnne flash_sm_no_buys 
+00ee 6fe0c927 fetch 1 ,mem_config_sensor_type 
+00ef c0064270 beq p3220 ,mouse_p3212_sensor_motion 
+00f0 20204243 branch mouse_check_sensor_data + 3 
 
 p_mouse_seting_dpi:
-00d3 2040408f call mouse_setting_dpi_4_level 
-00d4 204000d6 call p_mouse_dpi_led_blink_delay 
-00d5 20204098 branch mouse_seting_sensor_type 
+00f1 2040408f call mouse_setting_dpi_4_level 
+00f2 2040010a call p_mouse_dpi_led_blink_delay 
+00f3 202000f4 branch p_mouse_seting_sensor_type 
+
+p_mouse_seting_sensor_type:
+00f4 6fe0c927 fetch 1 ,mem_config_sensor_type 
+00f5 c00600f7 beq p3220 ,p_mouse_seting_p3220_dpi 
+00f6 20204098 branch mouse_seting_sensor_type 
+
+p_mouse_seting_p3220_dpi:
+00f7 6fe0c992 fetch 1 ,mem_mouse_dpi 
+00f8 c0008104 beq mouse_dpi_level2 ,p_mouse_set_p3220_cpi1 
+00f9 c0010107 beq mouse_dpi_level3 ,p_mouse_set_p3220_cpi2 
+
+p_mouse_set_p3220_cpi0:
+00fa da20001f arg 0x1f ,rega 
+00fb da400020 arg 0x20 ,regb 
+
+p_mouse_p3220_store_dpi:
+00fc 1a227e00 copy rega ,pdata 
+00fd 1fed7e00 lshift8 pdata ,pdata 
+00fe 1fe0fe0d add pdata ,mouse_p3212_dpi_xaddress ,pdata 
+00ff 20405b0c call twspi_write 
+0100 1a427e00 copy regb ,pdata 
+0101 1fed7e00 lshift8 pdata ,pdata 
+0102 1fe0fe0e add pdata ,mouse_p3212_dpi_yaddress ,pdata 
+0103 20205b0c branch twspi_write 
+
+p_mouse_set_p3220_cpi1:
+0104 da20002a arg 0x2a ,rega 
+0105 da40002b arg 0x2b ,regb 
+0106 202000fc branch p_mouse_p3220_store_dpi 
+
+p_mouse_set_p3220_cpi2:
+0107 da200015 arg 0x15 ,rega 
+0108 da400016 arg 0x16 ,regb 
+0109 202000fc branch p_mouse_p3220_store_dpi 
 
 p_mouse_dpi_led_blink_delay:
-00d6 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
-00d7 c17f8000 rtneq gpio_disable 
-00d8 6fe14ac2 fetch 2 ,mem_mouse_discovery_timer 
-00d9 247a0000 nrtn blank 
-00da 6fe14883 fetch 2 ,mem_24g_pair_timeout 
-00db 247a0000 nrtn blank 
-00dc 6fe14887 fetch 2 ,mem_24g_reconn_timeout 
-00dd 247a0000 nrtn blank 
-00de 6fe0cba7 fetch 1 ,mem_mouse_device_poweron_timer_count 
-00df 247a0000 nrtn blank 
-00e0 6fe0cbc1 fetch 1 ,mem_mouse_dpi_led_delay_count_init 
-00e1 203a010b branch p_mouse_dpi_led_blink_init ,blank 
-00e2 67e0cba8 store 1 ,mem_mouse_dpi_led_delay_count 
-00e3 20600000 rtn 
+010a 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
+010b c17f8000 rtneq gpio_disable 
+010c 6fe14ac2 fetch 2 ,mem_mouse_discovery_timer 
+010d 247a0000 nrtn blank 
+010e 6fe14883 fetch 2 ,mem_24g_pair_timeout 
+010f 247a0000 nrtn blank 
+0110 6fe14887 fetch 2 ,mem_24g_reconn_timeout 
+0111 247a0000 nrtn blank 
+0112 6fe0cba7 fetch 1 ,mem_mouse_device_poweron_timer_count 
+0113 247a0000 nrtn blank 
+0114 6fe0cbc1 fetch 1 ,mem_mouse_dpi_led_delay_count_init 
+0115 203a013f branch p_mouse_dpi_led_blink_init ,blank 
+0116 67e0cba8 store 1 ,mem_mouse_dpi_led_delay_count 
+0117 20600000 rtn 
 
 p_mouse_bb_event_timer:
-00e4 20403e9b call mouse_adc_read 
-00e5 20404956 call mouse_low_voltage_led_timer 
-00e6 2040232b call g24_pair_timeout_timer 
-00e7 20402556 call g24_reconn_timeout_timer 
-00e8 204047cd call mouse_24g_long_sleep_param_update_timer 
-00e9 204048be call mouse_device_poweron_timer 
-00ea 20400108 call p_mouse_dpi_led_blink_delay_timer 
-00eb 204000fb call p_mouse_logo_led_on_timer 
-00ec 2040407c call mouse_dpi_key_check_long_press 
-00ed 204044cc call mouse_bt_discovery_check 
-00ee 204044dc call mouse_commbination_key_process 
-00ef 204044ff call mouse_check_discovery_timeout_timer 
-00f0 20404504 call mouse_check_direct_timeout_timer 
-00f1 20404512 call mouse_le_enable_att_list_timer 
-00f2 2040451f call mouse_le_battery_updata_timer 
-00f3 20404515 call mouse_le_send_smp_security_request_timer 
-00f4 2040452a call mouse_check_hid_handshake_timer 
-00f5 2040452d call mouse_bt_check_sniff_req_timeout_timer 
-00f6 20404532 call mouse_check_reconnect_delay_long_sleep 
-00f7 20404535 call mouse_current_mult_update_timer 
-00f8 20404022 call mouse_wheel_trigger_timer 
-00f9 20404547 call mouse_store_information_delay_timer 
-00fa 20200120 branch p_mouse_check_no_data_timeout_timer 
+0118 20403e9b call mouse_adc_read 
+0119 20404956 call mouse_low_voltage_led_timer 
+011a 2040232b call g24_pair_timeout_timer 
+011b 20402556 call g24_reconn_timeout_timer 
+011c 204047cd call mouse_24g_long_sleep_param_update_timer 
+011d 204048be call mouse_device_poweron_timer 
+011e 2040013c call p_mouse_dpi_led_blink_delay_timer 
+011f 2040012f call p_mouse_logo_led_on_timer 
+0120 2040407c call mouse_dpi_key_check_long_press 
+0121 204044cc call mouse_bt_discovery_check 
+0122 204044dc call mouse_commbination_key_process 
+0123 204044ff call mouse_check_discovery_timeout_timer 
+0124 20404504 call mouse_check_direct_timeout_timer 
+0125 20404512 call mouse_le_enable_att_list_timer 
+0126 2040451f call mouse_le_battery_updata_timer 
+0127 20404515 call mouse_le_send_smp_security_request_timer 
+0128 2040452a call mouse_check_hid_handshake_timer 
+0129 2040452d call mouse_bt_check_sniff_req_timeout_timer 
+012a 20404532 call mouse_check_reconnect_delay_long_sleep 
+012b 20404535 call mouse_current_mult_update_timer 
+012c 20404022 call mouse_wheel_trigger_timer 
+012d 20404547 call mouse_store_information_delay_timer 
+012e 20200154 branch p_mouse_check_no_data_timeout_timer 
 
 p_mouse_logo_led_on_timer:
-00fb 6fe0cbe3 fetch 1 ,mem_mouse_logo_led_gpio 
-00fc c17f8000 rtneq gpio_disable 
-00fd 6fe14be5 fetch 2 ,mem_mouse_logo_led_on_timer 
-00fe 207a0000 rtn blank 
-00ff 6848cbe3 fetcht 1 ,mem_mouse_logo_led_gpio 
-0100 20406069 call gpio_out_active 
-0101 da604be5 arg mem_mouse_logo_led_on_timer ,regc 
-0102 da400104 arg p_mouse_logo_led_on_timeout ,regb 
-0103 20203191 branch timer_single_step_2b 
+012f 6fe0cbe3 fetch 1 ,mem_mouse_logo_led_gpio 
+0130 c17f8000 rtneq gpio_disable 
+0131 6fe14be5 fetch 2 ,mem_mouse_logo_led_on_timer 
+0132 207a0000 rtn blank 
+0133 6848cbe3 fetcht 1 ,mem_mouse_logo_led_gpio 
+0134 20406069 call gpio_out_active 
+0135 da604be5 arg mem_mouse_logo_led_on_timer ,regc 
+0136 da400138 arg p_mouse_logo_led_on_timeout ,regb 
+0137 20203191 branch timer_single_step_2b 
 
 p_mouse_logo_led_on_timeout:
-0104 58000000 setarg 0 
-0105 67e14be5 store 2 ,mem_mouse_logo_led_on_timer 
-0106 6848cbe3 fetcht 1 ,mem_mouse_logo_led_gpio 
-0107 20206065 branch gpio_out_inactive 
+0138 58000000 setarg 0 
+0139 67e14be5 store 2 ,mem_mouse_logo_led_on_timer 
+013a 6848cbe3 fetcht 1 ,mem_mouse_logo_led_gpio 
+013b 20206065 branch gpio_out_inactive 
 
 p_mouse_dpi_led_blink_delay_timer:
-0108 da604ba8 arg mem_mouse_dpi_led_delay_count ,regc 
-0109 da40010b arg p_mouse_dpi_led_blink_init ,regb 
-010a 2020318a branch timer_single_step 
+013c da604ba8 arg mem_mouse_dpi_led_delay_count ,regc 
+013d da40013f arg p_mouse_dpi_led_blink_init ,regb 
+013e 2020318a branch timer_single_step 
 
 p_mouse_dpi_led_blink_init:
-010b 6fe0c927 fetch 1 ,mem_config_sensor_type 
-010c c001c8f2 beq p3212 ,mouse_dpi_led_blink_init 
-010d c005c8f2 beq ka8g2 ,mouse_dpi_led_blink_init 
-010e 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
-010f 67e0c92f store 1 ,mem_mouse_struct_led_gpio 
-0110 6fe14bc2 fetch 2 ,mem_mouse_dpi_led_blink_time 
-0111 67e14930 store 2 ,mem_mouse_on_time 
-0112 67e14932 store 2 ,mem_mouse_off_time 
-0113 da200000 arg 0 ,rega 
-0114 6848c992 fetcht 1 ,mem_mouse_dpi 
-0115 18408402 increase 2 ,temp 
-0116 18467c03 sub temp ,3 ,null 
-0117 2041011a call p_mouse_dpi_led_blink_init_level_4 ,positive 
-0118 2441011e ncall p_mouse_dpi_led_blink_count_clean ,positive 
-0119 202048ff branch mouse_dpi_led_blink_init_end 
+013f 6fe0c927 fetch 1 ,mem_config_sensor_type 
+0140 c001c8f2 beq p3212 ,mouse_dpi_led_blink_init 
+0141 c005c8f2 beq ka8g2 ,mouse_dpi_led_blink_init 
+0142 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
+0143 67e0c92f store 1 ,mem_mouse_struct_led_gpio 
+0144 6fe14bc2 fetch 2 ,mem_mouse_dpi_led_blink_time 
+0145 67e14930 store 2 ,mem_mouse_on_time 
+0146 67e14932 store 2 ,mem_mouse_off_time 
+0147 da200000 arg 0 ,rega 
+0148 6848c992 fetcht 1 ,mem_mouse_dpi 
+0149 18408402 increase 2 ,temp 
+014a 18467c03 sub temp ,3 ,null 
+014b 2041014e call p_mouse_dpi_led_blink_init_level_4 ,positive 
+014c 24410152 ncall p_mouse_dpi_led_blink_count_clean ,positive 
+014d 202048ff branch mouse_dpi_led_blink_init_end 
 
 p_mouse_dpi_led_blink_init_level_4:
-011a 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-011b c40e0000 rtnbit0 mouse_enable_dpi_level_4 
-011c 18408401 increase 1 ,temp 
-011d 20600000 rtn 
+014e 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+014f c40e0000 rtnbit0 mouse_enable_dpi_level_4 
+0150 18408401 increase 1 ,temp 
+0151 20600000 rtn 
 
 p_mouse_dpi_led_blink_count_clean:
-011e 184085fd increase -3 ,temp 
-011f 20600000 rtn 
+0152 184085fd increase -3 ,temp 
+0153 20600000 rtn 
 
 p_mouse_check_no_data_timeout_timer:
-0120 6fe0c92a fetch 1 ,mem_usb_addr 
-0121 c3838000 rtnbit1 7 
-0122 da604ab2 arg mem_mouse_no_data_timer ,regc 
-0123 da400125 arg p_mouse_check_no_data_timeout ,regb 
-0124 20203191 branch timer_single_step_2b 
+0154 6fe0c92a fetch 1 ,mem_usb_addr 
+0155 c3838000 rtnbit1 7 
+0156 da604ab2 arg mem_mouse_no_data_timer ,regc 
+0157 da400159 arg p_mouse_check_no_data_timeout ,regb 
+0158 20203191 branch timer_single_step_2b 
 
 p_mouse_check_no_data_timeout:
-0125 6fe0c938 fetch 1 ,mem_device_flag 
-0126 c0000079 beq mode_24g_device ,p_mouse_24g_hibernate_set 
-0127 2020431b branch mouse_disconnect 
+0159 6fe0c938 fetch 1 ,mem_device_flag 
+015a c0000092 beq mode_24g_device ,p_mouse_24g_hibernate_set 
+015b 2020431b branch mouse_disconnect 
 
 p_ui_timer_check:
-0128 6fe0cbe7 fetch 1 ,mem_power_on_flag 
-0129 245a7861 ncall ui_timer_init ,blank 
-012a 704be700 jam 0 ,mem_power_on_flag 
-012b 20207851 branch ui_timer_check + 1 
+015c 6fe0cbe7 fetch 1 ,mem_power_on_flag 
+015d 245a7861 ncall ui_timer_init ,blank 
+015e 704be700 jam 0 ,mem_power_on_flag 
+015f 20207851 branch ui_timer_check + 1 
 
 p_txon:
-012c 6fe0c1e8 fetch 1 ,mem_tx_power 
-012d c04f812f beq tx_power_pair ,p_set_tx_power_pair 
-012e 2020121f branch txon_next 
+0160 6fe0c1e8 fetch 1 ,mem_tx_power 
+0161 c04f8163 beq tx_power_pair ,p_set_tx_power_pair 
+0162 2020121f branch txon_next 
 
 p_set_tx_power_pair:
-012f 708a3905 jam 0x05 ,core_tx_pwr_ctrl0 
-0130 708a3a00 jam 0x00 ,core_tx_pwr_ctrl1 
-0131 2020122a branch set_rf_ldo_cfg89 
+0163 708a3905 jam 0x05 ,core_tx_pwr_ctrl0 
+0164 708a3a00 jam 0x00 ,core_tx_pwr_ctrl1 
+0165 2020122a branch set_rf_ldo_cfg89 
+
+p_mouse_24g_search_dongle:
+0166 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0167 c40b0000 rtnbit0 mouse_enable_24g_search_dongle 
+0168 6fe0caae fetch 1 ,mem_mouse_long_mult_flag 
+0169 207a0000 rtn blank 
+016a 6fe0c8a7 fetch 1 ,mem_24g_abort_pac 
+016b 207a0000 rtn blank 
+016c 6fe0cba1 fetch 1 ,mem_mouse_search_dongle_interval 
+016d 1fe0fe01 increase 1 ,pdata 
+016e 1fe17e03 and_into 3 ,pdata 
+016f 67e0cba1 store 1 ,mem_mouse_search_dongle_interval 
+0170 247a0000 nrtn blank 
+0171 704ba200 jam 0 ,mem_mouse_search_dongle_ch 
+
+p_mouse_24g_search_dongle_loop:
+0172 6fe0cba2 fetch 1 ,mem_mouse_search_dongle_ch 
+0173 1fe0fe01 increase 1 ,pdata 
+0174 67e0cba2 store 1 ,mem_mouse_search_dongle_ch 
+0175 1fe67c08 sub pdata ,g24_ch_number ,null 
+0176 2421017c nbranch p_mouse_24g_search_dongle_loop_end ,positive 
+0177 2040259a call g24_reconn_data_prep 
+0178 2040265b call g24_transmit_receive_ack 
+0179 242c0182 nbranch p_mouse_24g_search_dongle_loop_retry ,sync 
+017a 24378182 nbranch p_mouse_24g_search_dongle_loop_retry ,user3 
+017b 2040018c call p_mouse_24g_search_dongle_success 
+
+p_mouse_24g_search_dongle_loop_end:
+017c 20402597 call g24_txbuf_clear 
+017d 6fe0cba3 fetch 1 ,mem_mouse_search_dongle_count 
+017e 1fe0fe01 increase 1 ,pdata 
+017f 67e0cba3 store 1 ,mem_mouse_search_dongle_count 
+0180 c0080184 beq g24_ch_poll_count ,p_mouse_24g_search_dongle_check 
+0181 20600000 rtn 
+
+p_mouse_24g_search_dongle_loop_retry:
+0182 204022cb call g24_ch 
+0183 20200172 branch p_mouse_24g_search_dongle_loop 
+
+p_mouse_24g_search_dongle_check:
+0184 704ba300 jam 0 ,mem_mouse_search_dongle_count 
+0185 6fe0cba4 fetch 1 ,mem_mouse_search_dongle_action 
+0186 c3800000 rtnbit1 g24_disconn_state 
+0187 79207e00 set1 g24_disconn_state ,pdata 
+0188 67e0cba4 store 1 ,mem_mouse_search_dongle_action 
+0189 6fe14bbc fetch 2 ,mem_mouse_24g_search_dongle_time_init 
+018a 67e14ab2 store 2 ,mem_mouse_no_data_timer 
+018b 2020423c branch mouse_sensor_powerdown 
+
+p_mouse_24g_search_dongle_success:
+018c 6fe0c8a7 fetch 1 ,mem_24g_abort_pac 
+018d 203a488c branch mouse_24g_search_dongle_init ,blank 
+018e 704ba300 jam 0 ,mem_mouse_search_dongle_count 
+018f 6fe0cba4 fetch 1 ,mem_mouse_search_dongle_action 
+0190 c4000000 rtnbit0 g24_disconn_state 
+0191 793ffe00 set0 g24_disconn_state ,pdata 
+0192 67e0cba4 store 1 ,mem_mouse_search_dongle_action 
+0193 20404544 call mouse_no_data_timer_init 
+0194 20200199 branch p_mouse_init_sensor_wakeup 
+
+p_twspi_reset:
+0195 6fe0c91f fetch 1 ,mem_mouse_sensor_sclk_gpio 
+0196 20205af8 branch twspi_reset + 1 
+
+p_mouse_init_sunt:
+0197 20403f65 call mouse_sensor_spi_init 
+0198 20758000 rtn wake 
+
+p_mouse_init_sensor_wakeup:
+0199 20404236 call mouse_sensor_poweron 
+
+p_mouse_init_sensor:
+019a 204041b5 call mouse_read_sensor_id 
+019b c01801a1 beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
+019c c018c217 beq p3065_id1 ,mouse_init_p3065 
+019d c02c4220 beq pka8g2_id1 ,mouse_ka8g2_id2_judge 
+019e 204041b2 call mouse_twspi_reset 
+019f 20001af4 nop 6900 
+01a0 2020019a branch p_mouse_init_sensor 
+
+p_mouse_init_p32xx_id2_judge:
+01a1 6fe0c9c2 fetch 1 ,mem_sensor_id2 
+01a2 c00101a4 beq p3220_id2 ,p_mouse_3220_init_param 
+01a3 202041bc branch mouse_init_p32xx_id2_judge 
+
+p_mouse_3220_init_param:
+01a4 7049270c jam p3220 ,mem_config_sensor_type 
+01a5 da604be8 arg mem_sensor_3220_init ,regc 
+01a6 2020422b branch mouse_sensor_wr_seq 
               org 0x800
 
 start:
Index: program/patch.prog
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Only2.4G/MingAo_Only2.4G_LRpair_12CLK/program/patch.prog	(revision 1333)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Only2.4G/MingAo_Only2.4G_LRpair_12CLK/program/patch.prog	(working copy)
@@ -11,16 +11,17 @@
 	beq patch19_2,p_mouse_lpm_before_common
 	beq patch19_6,p_mouse_motion
 	beq patch1a_0,p_mouse_seting_dpi
+	beq patch1a_3,p_mouse_init_sunt
 	beq patch1a_6,p_mouse_priority_bb_event
 	beq patch1b_1,p_mouse_bb_event_timer
 	branch loop
 
 pf_patch_ext:
 //	beq patch24_1,p_spid_init
+	beq patch24_0,p_twspi_reset
 	beq patch30_7,p_ui_timer_check			
 	beq patch3c_2,p_g24_pair_dispatch	
 	beq patch3d_2,p_g24_transmit_no_interrupt
-
 	branch loop
 
 p_soft_reset:
@@ -39,7 +40,18 @@
 	call mouse_init_sunt
 	rtn wake
 	call mouse_dpi_config
-	branch mouse_init+4
+	call mouse_usb_check_enable
+	call mouse_drawing_optima_init
+	call p_mouse_cb_fuction
+	branch mouse_init+7
+
+p_mouse_cb_fuction:
+	setarg mouse_24g_package_data
+	store 2,mem_cb_24g_transmit_data
+	setarg p_mouse_24g_search_dongle
+	store 2,mem_cb_24g_search_receiver
+	branch mouse_cb_fuction+4
+	
 
 p_mouse_wheel_set_wakeup:
 	fetch 1,mem_sensor_shutdown_flag
@@ -184,7 +196,7 @@
 	call g24_txdata_prep
 	nbranch p_g24_nodata_transmit,user
 p_g24_transmit_start:
-	call g24_transmit_process
+	call p_g24_transmit_process
 	call power_ctrl_start
 	fetch 1,mem_sensor_shutdown_flag
 	nbranch p_g24_short_sleep,blank
@@ -199,6 +211,25 @@
 	fetch 3,mem_24g_short_sleep_set
 	branch g24_long_sleep2
 
+p_g24_transmit_process:
+	jam 0,mem_24g_retry
+p_g24_transmit_loop:
+	fetchr timeup,2,mem_param_rx_setup
+	until clkn_rt,meet
+	call g24_transmit_receive_ack
+	fetch 1,mem_24g_no_ack	//tx noack
+	beq no_ack_24g,g24_transmit_no_ack
+	nbranch g24_retransmit,sync
+	nbranch g24_retransmit,user3
+	call g24_ackpayload_parse
+	call p_mouse_wakeup_24g
+	branch g24_transmit_no_ack
+
+p_mouse_wakeup_24g:
+	fetch 1,mem_sensor_shutdown_flag
+	ncall p_mouse_init_sensor_wakeup,blank
+	jam 0,mem_sensor_shutdown_flag
+	branch g24_transmit_no_ack
 
 p_mouse_24g_hibernate_set:
 	jam 0,mem_24g_attempt_fail_flag
@@ -298,7 +329,7 @@
 	disable user
 	setarg 0
 	store 6,mem_mouse_x
-	call mouse_check_sensor_data
+	call p_mouse_check_sensor_data
 	call mouse_dpi_config
 	call mouse_zwheel
 	call mouse_t_zwheel
@@ -327,12 +358,52 @@
 	store 2,mem_mouse_logo_led_on_timer
 	rtn
 
+p_mouse_check_sensor_data:
+	fetch 1,mem_spi_write_flash_sm
+	rtnne FLASH_SM_NO_BUYS
+	fetch 1,mem_config_sensor_type
+	beq P3220,mouse_p3212_sensor_motion
+	branch mouse_check_sensor_data+3
+	
 ///////////////////dpi led adjust////////////////////////////////////////////////////////////////////
 p_mouse_seting_dpi:
 	call mouse_setting_dpi_4_level
 	call p_mouse_dpi_led_blink_delay
+	branch p_mouse_seting_sensor_type
+
+p_mouse_seting_sensor_type:
+	fetch 1,mem_config_sensor_type
+	beq P3220,p_mouse_seting_p3220_dpi
 	branch mouse_seting_sensor_type
 
+p_mouse_seting_p3220_dpi:
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL2,p_mouse_set_p3220_cpi1		//1600
+	beq MOUSE_DPI_LEVEL3,p_mouse_set_p3220_cpi2		//800
+p_mouse_set_p3220_cpi0:		//1200
+	arg 0x1f,rega
+	arg 0x20,regb
+//input:rega CPI_X,  regb CPI_Y
+p_mouse_p3220_store_dpi:
+	copy rega,pdata
+	lshift8 pdata,pdata
+	add pdata,MOUSE_P3212_DPI_XADDRESS,pdata
+	call twspi_write
+	copy regb,pdata
+	lshift8 pdata,pdata
+	add pdata,MOUSE_P3212_DPI_YADDRESS,pdata
+	branch twspi_write
+	
+p_mouse_set_p3220_cpi1:		//1600
+	arg 0x2a,rega
+	arg 0x2b,regb
+	branch p_mouse_p3220_store_dpi
+
+p_mouse_set_p3220_cpi2:		//800
+	arg 0x15,rega
+	arg 0x16,regb
+	branch p_mouse_p3220_store_dpi
+
 p_mouse_dpi_led_blink_delay:
 	fetch 1,mem_dpi_led_gpio
 	rtneq GPIO_DISABLE
@@ -460,4 +531,90 @@
 	jam 0x00,core_tx_pwr_ctrl1
 	branch set_rf_ldo_cfg89
 
+p_mouse_24g_search_dongle:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_24G_SEARCH_DONGLE
+	fetch 1,mem_mouse_long_mult_flag
+	rtn blank
+	fetch 1,mem_24g_abort_pac
+	rtn blank
+	fetch 1,mem_mouse_search_dongle_interval
+	increase 1,pdata
+	and_into 3,pdata
+	store 1,mem_mouse_search_dongle_interval
+	nrtn blank	//400ms
+	jam 0,mem_mouse_search_dongle_ch
+p_mouse_24g_search_dongle_loop:
+	fetch 1,mem_mouse_search_dongle_ch
+	increase 1,pdata
+	store 1,mem_mouse_search_dongle_ch
+	sub pdata,G24_CH_NUMBER,null
+	nbranch p_mouse_24g_search_dongle_loop_end,positive
+	call g24_reconn_data_prep
+	call g24_transmit_receive_ack
+	nbranch p_mouse_24g_search_dongle_loop_retry,sync
+	nbranch p_mouse_24g_search_dongle_loop_retry,user3
+	call p_mouse_24g_search_dongle_success
+p_mouse_24g_search_dongle_loop_end:
+	call g24_txbuf_clear
+	fetch 1,mem_mouse_search_dongle_count
+	increase 1,pdata
+	store 1,mem_mouse_search_dongle_count
+	beq G24_CH_POLL_COUNT,p_mouse_24g_search_dongle_check
+	rtn
+
+p_mouse_24g_search_dongle_loop_retry:
+	call g24_ch
+	branch p_mouse_24g_search_dongle_loop
+
+p_mouse_24g_search_dongle_check:
+	jam 0,mem_mouse_search_dongle_count
+	fetch 1,mem_mouse_search_dongle_action
+	rtnbit1 G24_DISCONN_STATE
+	set1 G24_DISCONN_STATE,pdata
+	store 1,mem_mouse_search_dongle_action
+	fetch 2,mem_mouse_24g_search_dongle_time_init		//3min
+	store 2,mem_mouse_no_data_timer
+	branch mouse_sensor_powerdown
+
+p_mouse_24g_search_dongle_success:
+	fetch 1,mem_24g_abort_pac
+	branch mouse_24g_search_dongle_init,blank
+	jam 0,mem_mouse_search_dongle_count
+	fetch 1,mem_mouse_search_dongle_action
+	rtnbit0 G24_DISCONN_STATE
+	set0 G24_DISCONN_STATE,pdata
+	store 1,mem_mouse_search_dongle_action
+	call mouse_no_data_timer_init
+	branch p_mouse_init_sensor_wakeup
+
+p_twspi_reset:
+	fetch 1,mem_mouse_sensor_sclk_gpio
+	branch twspi_reset+1
+
+p_mouse_init_sunt:
+	call mouse_sensor_spi_init
+	rtn wake
+p_mouse_init_sensor_wakeup:	
+	call mouse_sensor_poweron
+p_mouse_init_sensor:
+	call mouse_read_sensor_id
+	beq P32XX_ID1,p_mouse_init_p32xx_id2_judge
+	beq P3065_ID1,mouse_init_p3065
+	beq PKA8G2_ID1,mouse_ka8g2_id2_judge
+	call mouse_twspi_reset
+	nop 6900
+	branch p_mouse_init_sensor
+
+p_mouse_init_p32xx_id2_judge:
+	fetch 1,mem_sensor_id2
+	beq P3220_ID2,p_mouse_3220_init_param
+	branch mouse_init_p32xx_id2_judge
+
+p_mouse_3220_init_param:
+	jam P3220,mem_config_sensor_type
+	arg mem_sensor_3220_init,regc
+	branch mouse_sensor_wr_seq
+
+	
 
Index: sched/mouse.dat
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Only2.4G/MingAo_Only2.4G_LRpair_12CLK/sched/mouse.dat	(revision 1333)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Only2.4G/MingAo_Only2.4G_LRpair_12CLK/sched/mouse.dat	(working copy)
@@ -147,7 +147,7 @@
 
 mem_sensor_angle_default:02	#00--6CLK   01--9CLK   02--12CLK   03--3CLK
 mem_sensor_angle_switch:01	#00--6CLK   01--9CLK   02--12CLK   03--3CLK
-mem_config_sensor_dpi:00		#00--1200   01--1600
+mem_config_sensor_dpi:01		#00--1200   01--1600
 
 
 mem_usb_offline_check_gpio:ff
@@ -425,6 +425,57 @@
 09 00
 ff ff
 
+mem_sensor_3220_init:
+09 5a
+26 34
+0a 87
+2b 6c 
+30 2e
+32 0f
+35 8c
+36 32
+3e 26
+5c d6
+7f 01
+00 40
+06 28
+07 08
+16 18
+1b 4c
+36 88
+3a 57
+3b 34
+41 22
+42 6d
+43 82
+44 6d 
+45 82
+46 22
+47 7c
+48 82
+49 7c 
+4a 84
+55 10
+5f 04
+60 02
+62 5c
+64 43 
+65 54
+67 93
+68 15
+71 2c 
+72 40
+79 08
+7f 00
+2b 6d
+09 00
+ff ff
+
+
+
+
+
+
 mem_sensor_poweron_init:
 09 5a
 0b f3
