Index: output/eeprom.dat
===================================================================
--- /YC1308AF/branch/mouse/USB_4Mode_Project/RongYuan_Project/mouse_public_3mode_usb_sdk/output/eeprom.dat	(revision 5303)
+++ /YC1308AF/branch/mouse/USB_4Mode_Project/RongYuan_Project/mouse_public_3mode_usb_sdk/output/eeprom.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-0a
+12
 1f
 20
 20
@@ -311,7 +311,7 @@
 c0
 64
 07
-85
+87
 c0
 64
 84
@@ -371,7 +371,7 @@
 c0
 6c
 87
-8b
+8d
 c0
 6d
 05
@@ -2111,7 +2111,7 @@
 20
 40
 07
-8d
+8f
 20
 40
 41
@@ -2130,8 +2130,8 @@
 66
 20
 40
-3c
-85
+07
+81
 20
 40
 04
@@ -3675,7 +3675,7 @@
 20
 40
 07
-85
+87
 20
 20
 32
@@ -3699,7 +3699,7 @@
 20
 20
 07
-81
+83
 20
 40
 22
@@ -5123,11 +5123,11 @@
 c0
 1e
 07
-87
+89
 c0
 1c
 87
-83
+85
 c0
 1d
 05
@@ -5139,7 +5139,7 @@
 c0
 0a
 87
-89
+8b
 c0
 0a
 05
@@ -5335,7 +5335,7 @@
 24
 5a
 07
-85
+87
 6f
 e4
 48
@@ -7687,7 +7687,15 @@
 20
 20
 07
-90
+92
+70
+4d
+d1
+12
+20
+20
+07
+92
 70
 4d
 d1
@@ -7695,7 +7703,7 @@
 20
 20
 07
-90
+92
 70
 4d
 d1
@@ -7703,7 +7711,7 @@
 20
 20
 07
-90
+92
 70
 4d
 d1
@@ -7711,7 +7719,7 @@
 20
 20
 07
-90
+92
 70
 4d
 d1
@@ -7719,7 +7727,7 @@
 20
 20
 07
-90
+92
 70
 4d
 d1
@@ -7727,7 +7735,7 @@
 20
 20
 07
-90
+92
 70
 4d
 d1
@@ -7735,7 +7743,7 @@
 20
 20
 07
-90
+92
 20
 75
 80
@@ -7747,7 +7755,7 @@
 20
 20
 07
-90
+92
 68
 48
 cd
@@ -7767,7 +7775,7 @@
 20
 22
 87
-ac
+ae
 60
 48
 cd
@@ -7807,19 +7815,19 @@
 20
 40
 07
-ae
+b0
 20
 40
 07
-ba
+bc
 20
 40
 07
-b1
+b3
 24
 22
 87
-9e
+a0
 6f
 e2
 0e
@@ -7835,7 +7843,7 @@
 24
 22
 87
-9e
+a0
 58
 00
 0e
@@ -7903,7 +7911,7 @@
 c2
 00
 07
-b4
+b6
 ef
 e2
 00
@@ -7948,8 +7956,8 @@
 20
 3f
 a5
-35
-25
+42
+06
 aa
 55
 40
@@ -9415,14 +9423,14 @@
 00
 d7
 4d
-d3
+db
 2a
 00
 55
 aa
 aa
 55
-b8
+c0
 b0
 ff
 20
@@ -10456,11 +10464,15 @@
 c0
 08
 00
-04
+05
 c0
 08
 80
-2d
+2e
+c0
+09
+00
+36
 20
 60
 00
@@ -10484,7 +10496,7 @@
 c2
 97
 80
-26
+27
 6f
 e0
 c9
@@ -10492,7 +10504,7 @@
 c0
 00
 00
-18
+19
 20
 40
 04
@@ -10508,11 +10520,11 @@
 c0
 00
 80
-11
+12
 c0
 01
 00
-13
+14
 20
 60
 00
@@ -10524,7 +10536,7 @@
 20
 20
 00
-14
+15
 6f
 e3
 49
@@ -10572,11 +10584,11 @@
 c2
 98
 00
-28
+29
 c3
 18
 80
-28
+29
 20
 40
 41
@@ -10661,7 +10673,18 @@
 20
 48
 96
+58
 00
+02
+21
+67
+e1
+48
+9f
+20
+20
+3c
+89
 00
 00
 00
@@ -10686,25 +10709,10 @@
 00
 00
 00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-fd
-39
-14
-68
+9c
+45
+9b
+f0
 20
 20
 00
@@ -10965,5 +10973,5 @@
 00
 00
 00
-ae
-0f
+b5
+cc
Index: output/flash.dat
===================================================================
--- /YC1308AF/branch/mouse/USB_4Mode_Project/RongYuan_Project/mouse_public_3mode_usb_sdk/output/flash.dat	(revision 5303)
+++ /YC1308AF/branch/mouse/USB_4Mode_Project/RongYuan_Project/mouse_public_3mode_usb_sdk/output/flash.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-0a
+12
 1f
 20
 20
@@ -311,7 +311,7 @@
 c0
 64
 07
-85
+87
 c0
 64
 84
@@ -371,7 +371,7 @@
 c0
 6c
 87
-8b
+8d
 c0
 6d
 05
@@ -2111,7 +2111,7 @@
 20
 40
 07
-8d
+8f
 20
 40
 41
@@ -2130,8 +2130,8 @@
 66
 20
 40
-3c
-85
+07
+81
 20
 40
 04
@@ -3675,7 +3675,7 @@
 20
 40
 07
-85
+87
 20
 20
 32
@@ -3699,7 +3699,7 @@
 20
 20
 07
-81
+83
 20
 40
 22
@@ -5123,11 +5123,11 @@
 c0
 1e
 07
-87
+89
 c0
 1c
 87
-83
+85
 c0
 1d
 05
@@ -5139,7 +5139,7 @@
 c0
 0a
 87
-89
+8b
 c0
 0a
 05
@@ -5335,7 +5335,7 @@
 24
 5a
 07
-85
+87
 6f
 e4
 48
@@ -7687,7 +7687,15 @@
 20
 20
 07
-90
+92
+70
+4d
+d1
+12
+20
+20
+07
+92
 70
 4d
 d1
@@ -7695,7 +7703,7 @@
 20
 20
 07
-90
+92
 70
 4d
 d1
@@ -7703,7 +7711,7 @@
 20
 20
 07
-90
+92
 70
 4d
 d1
@@ -7711,7 +7719,7 @@
 20
 20
 07
-90
+92
 70
 4d
 d1
@@ -7719,7 +7727,7 @@
 20
 20
 07
-90
+92
 70
 4d
 d1
@@ -7727,7 +7735,7 @@
 20
 20
 07
-90
+92
 70
 4d
 d1
@@ -7735,7 +7743,7 @@
 20
 20
 07
-90
+92
 20
 75
 80
@@ -7747,7 +7755,7 @@
 20
 20
 07
-90
+92
 68
 48
 cd
@@ -7767,7 +7775,7 @@
 20
 22
 87
-ac
+ae
 60
 48
 cd
@@ -7807,19 +7815,19 @@
 20
 40
 07
-ae
+b0
 20
 40
 07
-ba
+bc
 20
 40
 07
-b1
+b3
 24
 22
 87
-9e
+a0
 6f
 e2
 0e
@@ -7835,7 +7843,7 @@
 24
 22
 87
-9e
+a0
 58
 00
 0e
@@ -7903,7 +7911,7 @@
 c2
 00
 07
-b4
+b6
 ef
 e2
 00
@@ -7948,8 +7956,8 @@
 20
 3f
 a5
-35
-25
+42
+06
 aa
 55
 40
@@ -9415,14 +9423,14 @@
 00
 d7
 4d
-d3
+db
 2a
 00
 55
 aa
 aa
 55
-b8
+c0
 b0
 ff
 20
@@ -10456,11 +10464,15 @@
 c0
 08
 00
-04
+05
 c0
 08
 80
-2d
+2e
+c0
+09
+00
+36
 20
 60
 00
@@ -10484,7 +10496,7 @@
 c2
 97
 80
-26
+27
 6f
 e0
 c9
@@ -10492,7 +10504,7 @@
 c0
 00
 00
-18
+19
 20
 40
 04
@@ -10508,11 +10520,11 @@
 c0
 00
 80
-11
+12
 c0
 01
 00
-13
+14
 20
 60
 00
@@ -10524,7 +10536,7 @@
 20
 20
 00
-14
+15
 6f
 e3
 49
@@ -10572,11 +10584,11 @@
 c2
 98
 00
-28
+29
 c3
 18
 80
-28
+29
 20
 40
 41
@@ -10661,7 +10673,18 @@
 20
 48
 96
+58
 00
+02
+21
+67
+e1
+48
+9f
+20
+20
+3c
+89
 00
 00
 00
@@ -10686,25 +10709,10 @@
 00
 00
 00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-fd
-39
-14
-68
+9c
+45
+9b
+f0
 20
 20
 00
@@ -10965,5 +10973,5 @@
 00
 00
 00
-ae
-0f
+b5
+cc
Index: output/program.lis
===================================================================
--- /YC1308AF/branch/mouse/USB_4Mode_Project/RongYuan_Project/mouse_public_3mode_usb_sdk/output/program.lis	(revision 5303)
+++ /YC1308AF/branch/mouse/USB_4Mode_Project/RongYuan_Project/mouse_public_3mode_usb_sdk/output/program.lis	(working copy)
@@ -82,7 +82,7 @@
 0049 c061839b beq patch18_3 ,p_mouse_start_work 
 004a c0630392 beq patch18_6 ,p_mouse_app_enter_hibernate 
 004b c0638397 beq patch18_7 ,p_mouse_before_hibernate 
-004c c0640785 beq patch19_0 ,p_mouse_setgpio_hibernate 
+004c c0640787 beq patch19_0 ,p_mouse_setgpio_hibernate 
 004d c064849d beq patch19_1 ,p_mouse_lpm_before_common 
 004e c0668695 beq patch19_5 ,p_mouse_motion 
 004f c06704e5 beq patch19_6 ,p_mouse_dpi_process 
@@ -97,7 +97,7 @@
 0058 c070019b beq patch1c_0 ,p_mouse_led_off 
 0059 c0708198 beq patch1c_1 ,p_mouse_led_on 
 005a c06b060a beq patch1a_6 ,p_mouse_le 
-005b c06c878b beq patch1b_1 ,p_mouse_start_discovery 
+005b c06c878d beq patch1b_1 ,p_mouse_start_discovery 
 005c c06d0569 beq patch1b_2 ,p_mouse_stop_discovery 
 005d c06e0453 beq patch1b_4 ,p_mouse_store_device_info 
 005e 2020137e branch loop 
@@ -710,12 +710,12 @@
 p_mouse_init:
 020c 20406e5e call enable_authrom 
 020d 2040077e call p_mouse_setting_config 
-020e 2040078d call p_mouse_report_param_set 
+020e 2040078f call p_mouse_report_param_set 
 020f 204041e7 call mouse_init_sunt 
 0210 20758000 rtn wake 
 0211 204004ee call p_mouse_seting_sensor_type 
 0212 20404766 call mouse_drawing_optima_init 
-0213 20403c85 call mouse_cb_fuction + 2 
+0213 20400781 call p_mouse_cb_fuction 
 0214 2040048f call p_mouse_sensor_powerdown 
 0215 20203c7f branch mouse_init_wireless 
 
@@ -1221,7 +1221,7 @@
 0394 c2818395 bbit1 3 ,p_mouse_app_enter_hibernate_set 
 
 p_mouse_app_enter_hibernate_set:
-0395 20400785 call p_mouse_setgpio_hibernate 
+0395 20400787 call p_mouse_setgpio_hibernate 
 0396 20203289 branch app_enter_hibernate 
 
 p_mouse_before_hibernate:
@@ -1231,7 +1231,7 @@
 039a 20600000 rtn 
 
 p_mouse_start_work:
-039b 20200781 branch p_mouse_start_work_next 
+039b 20200783 branch p_mouse_start_work_next 
 
 p_mouse_bb_event_timer:
 039c 204022e1 call g24_pair_timeout_timer 
@@ -1753,11 +1753,11 @@
 
 p_mouse_priority_bb_event:
 04fe 1a627e00 copy regc ,pdata 
-04ff c01e0787 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
-0500 c01c8783 beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
+04ff c01e0789 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
+0500 c01c8785 beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
 0501 c01d0511 beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
 0502 c0190559 beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
-0503 c00a8789 beq bt_evt_le_disconnected ,p_mouse_le_bb_disconnected 
+0503 c00a878b beq bt_evt_le_disconnected ,p_mouse_le_bb_disconnected 
 0504 c00a0565 beq bt_evt_le_connected ,p_mouse_le_bb_event_connected 
 0505 c0200560 beq bt_evt_le_parse_conn_papa_update_rsp ,p_mouse_le_conn_param_update_rsp_recieved 
 0506 c0010508 beq bt_evt_bb_disconnected ,p_mouse_bb_disconnected 
@@ -1818,7 +1818,7 @@
 0531 704c3201 jam 1 ,mem_long_sleep_flag 
 0532 204002cb call p_send_time_long_wake 
 0533 6fe0cbf2 fetch 1 ,mem_sensor_shutdown_flag 
-0534 245a0785 ncall p_mouse_setgpio_hibernate ,blank 
+0534 245a0787 ncall p_mouse_setgpio_hibernate ,blank 
 0535 6fe4485f fetch 8 ,mem_24g_enter_hibernate 
 0536 202026bf branch g24_long_seep2 
 
@@ -2606,100 +2606,104 @@
 p_mouse_setting_config:
 077e 20758000 rtn wake 
 077f 704dd100 jam zcode_00 ,mem_zcode_temp_param0 
-0780 20200790 branch p_zcode_entrance 
+0780 20200792 branch p_zcode_entrance 
+
+p_mouse_cb_fuction:
+0781 704dd112 jam zcode_12 ,mem_zcode_temp_param0 
+0782 20200792 branch p_zcode_entrance 
 
 p_mouse_start_work_next:
-0781 704dd110 jam zcode_10 ,mem_zcode_temp_param0 
-0782 20200790 branch p_zcode_entrance 
+0783 704dd110 jam zcode_10 ,mem_zcode_temp_param0 
+0784 20200792 branch p_zcode_entrance 
 
 p_mouse_24g_pairing_complete:
-0783 704dd111 jam zcode_11 ,mem_zcode_temp_param0 
-0784 20200790 branch p_zcode_entrance 
+0785 704dd111 jam zcode_11 ,mem_zcode_temp_param0 
+0786 20200792 branch p_zcode_entrance 
 
 p_mouse_setgpio_hibernate:
-0785 704dd120 jam zcode_20 ,mem_zcode_temp_param0 
-0786 20200790 branch p_zcode_entrance 
+0787 704dd120 jam zcode_20 ,mem_zcode_temp_param0 
+0788 20200792 branch p_zcode_entrance 
 
 p_mouse_24g_attempt_success:
-0787 704dd121 jam zcode_21 ,mem_zcode_temp_param0 
-0788 20200790 branch p_zcode_entrance 
+0789 704dd121 jam zcode_21 ,mem_zcode_temp_param0 
+078a 20200792 branch p_zcode_entrance 
 
 p_mouse_le_bb_disconnected:
-0789 704dd130 jam zcode_30 ,mem_zcode_temp_param0 
-078a 20200790 branch p_zcode_entrance 
+078b 704dd130 jam zcode_30 ,mem_zcode_temp_param0 
+078c 20200792 branch p_zcode_entrance 
 
 p_mouse_start_discovery:
-078b 704dd131 jam zcode_31 ,mem_zcode_temp_param0 
-078c 20200790 branch p_zcode_entrance 
+078d 704dd131 jam zcode_31 ,mem_zcode_temp_param0 
+078e 20200792 branch p_zcode_entrance 
 
 p_mouse_report_param_set:
-078d 20758000 rtn wake 
-078e 704dd140 jam zcode_40 ,mem_zcode_temp_param0 
-078f 20200790 branch p_zcode_entrance 
+078f 20758000 rtn wake 
+0790 704dd140 jam zcode_40 ,mem_zcode_temp_param0 
+0791 20200792 branch p_zcode_entrance 
 
 p_zcode_entrance:
-0790 6848cdd1 fetcht 1 ,mem_zcode_temp_param0 
-0791 18518400 rshift4 temp ,temp 
-0792 6fe0cdd6 fetch 1 ,mem_zcode_current_number 
-0793 98467c00 isub temp ,null 
-0794 202287ac branch p_zcode_run ,zero 
-0795 6048cdd6 storet 1 ,mem_zcode_current_number 
-0796 18408401 increase 1 ,temp 
-0797 58000100 setarg zcode_buff_size 
-0798 984f8400 imul32 temp ,temp 
-0799 6fe1cdd7 fetch 3 ,mem_xip_flash_offset 
-079a 98467e00 isub temp ,pdata 
-079b 6849cdda fetcht 3 ,mem_flash_start_addr 
-079c 9840fe00 iadd temp ,pdata 
-079d 67e1cddd store 3 ,mem_flash_address 
+0792 6848cdd1 fetcht 1 ,mem_zcode_temp_param0 
+0793 18518400 rshift4 temp ,temp 
+0794 6fe0cdd6 fetch 1 ,mem_zcode_current_number 
+0795 98467c00 isub temp ,null 
+0796 202287ae branch p_zcode_run ,zero 
+0797 6048cdd6 storet 1 ,mem_zcode_current_number 
+0798 18408401 increase 1 ,temp 
+0799 58000100 setarg zcode_buff_size 
+079a 984f8400 imul32 temp ,temp 
+079b 6fe1cdd7 fetch 3 ,mem_xip_flash_offset 
+079c 98467e00 isub temp ,pdata 
+079d 6849cdda fetcht 3 ,mem_flash_start_addr 
+079e 9840fe00 iadd temp ,pdata 
+079f 67e1cddd store 3 ,mem_flash_address 
 
 p_zcode_read_loop:
-079e 204007ae call p_zcode_buff_clear 
-079f 204007ba call p_read_data_from_flash 
-07a0 204007b1 call p_zcode_data_check 
-07a1 2422879e nbranch p_zcode_read_loop ,zero 
-07a2 6fe20e00 fetch 4 ,mem_zcode_buff 
-07a3 684a4de0 fetcht 4 ,mem_zcode_head 
-07a4 98467c00 isub temp ,null 
-07a5 2422879e nbranch p_zcode_read_loop ,zero 
-07a6 58000e00 setarg mem_zcode_buff 
-07a7 67e141a6 store 2 ,mem_patch_ptr 
-07a8 7041a840 jam zcode_code_size ,mem_patch_len 
-07a9 20405ca3 call load_ucode 
-07aa 58000000 setarg 0 
-07ab 67e241a6 store 4 ,mem_patch_ptr 
+07a0 204007b0 call p_zcode_buff_clear 
+07a1 204007bc call p_read_data_from_flash 
+07a2 204007b3 call p_zcode_data_check 
+07a3 242287a0 nbranch p_zcode_read_loop ,zero 
+07a4 6fe20e00 fetch 4 ,mem_zcode_buff 
+07a5 684a4de0 fetcht 4 ,mem_zcode_head 
+07a6 98467c00 isub temp ,null 
+07a7 242287a0 nbranch p_zcode_read_loop ,zero 
+07a8 58000e00 setarg mem_zcode_buff 
+07a9 67e141a6 store 2 ,mem_patch_ptr 
+07aa 7041a840 jam zcode_code_size ,mem_patch_len 
+07ab 20405ca3 call load_ucode 
+07ac 58000000 setarg 0 
+07ad 67e241a6 store 4 ,mem_patch_ptr 
 
 p_zcode_run:
-07ac 6fe0cdd1 fetch 1 ,mem_zcode_temp_param0 
-07ad 20200001 branch p_zcode 
+07ae 6fe0cdd1 fetch 1 ,mem_zcode_temp_param0 
+07af 20200001 branch p_zcode 
 
 p_zcode_buff_clear:
-07ae d8a00e00 arg mem_zcode_buff ,contw 
-07af df200100 arg 256 ,loopcnt 
-07b0 20207d9b branch clear_mem 
+07b0 d8a00e00 arg mem_zcode_buff ,contw 
+07b1 df200100 arg 256 ,loopcnt 
+07b2 20207d9b branch clear_mem 
 
 p_zcode_data_check:
-07b1 d8c00e00 arg mem_zcode_buff ,contr 
-07b2 da200000 arg 0 ,rega 
-07b3 df20003f arg 63 ,loopcnt 
+07b3 d8c00e00 arg mem_zcode_buff ,contr 
+07b4 da200000 arg 0 ,rega 
+07b5 df20003f arg 63 ,loopcnt 
 
 p_zcode_data_loop:
-07b4 efe20006 ifetch 4 ,contr 
-07b5 9a20a200 iadd rega ,rega 
-07b6 c20007b4 loop p_zcode_data_loop 
-07b7 efe20006 ifetch 4 ,contr 
-07b8 9a267c00 isub rega ,null 
-07b9 20600000 rtn 
+07b6 efe20006 ifetch 4 ,contr 
+07b7 9a20a200 iadd rega ,rega 
+07b8 c20007b6 loop p_zcode_data_loop 
+07b9 efe20006 ifetch 4 ,contr 
+07ba 9a267c00 isub rega ,null 
+07bb 20600000 rtn 
 
 p_read_data_from_flash:
-07ba 20405daf call spid_init_flash 
-07bb 2040464a call mouse_spid_flash_release_form_powerdown 
-07bc 6fe1cddd fetch 3 ,mem_flash_address 
-07bd d8400100 arg zcode_buff_size ,temp 
-07be da200e00 arg mem_zcode_buff ,rega 
-07bf 20405dd2 call spid_read_flash 
-07c0 20404651 call mouse_spid_flash_powerdown 
-07c1 20203fa5 branch mouse_sensor_spi_init 
+07bc 20405daf call spid_init_flash 
+07bd 2040464a call mouse_spid_flash_release_form_powerdown 
+07be 6fe1cddd fetch 3 ,mem_flash_address 
+07bf d8400100 arg zcode_buff_size ,temp 
+07c0 da200e00 arg mem_zcode_buff ,rega 
+07c1 20405dd2 call spid_read_flash 
+07c2 20404651 call mouse_spid_flash_powerdown 
+07c3 20203fa5 branch mouse_sensor_spi_init 
               org 0x3c75
 
 mouse_init:
@@ -7454,76 +7458,82 @@
               org 0x20001
 
 z_entrance1:
-20001 c0080004 beq zcode_10 ,z_mouse_start_work_next 
-20002 c008802d beq zcode_11 ,z_mouse_24g_pairing_complete 
-20003 20600000 rtn 
+20001 c0080005 beq zcode_10 ,z_mouse_start_work_next 
+20002 c008802e beq zcode_11 ,z_mouse_24g_pairing_complete 
+20003 c0090036 beq zcode_12 ,z_mouse_cb_fuction 
+20004 20600000 rtn 
 
 z_mouse_start_work_next:
-20004 20404150 call mouse_key_check_once 
-20005 1a217e07 and rega ,0x07 ,pdata 
-20006 c0018755 beq mouse_lr_button ,p_mouse_freq_test_mode 
-20007 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
-20008 c2978026 bbit1 mouse_enable_24g_first_auto_pairing ,z_mouse_24g_first_start_auto_pair_mode 
-20009 6fe0c93d fetch 1 ,mem_device_flag 
-2000a c0000018 beq mode_24g_device ,z_mouse_24g_start_mode 
+20005 20404150 call mouse_key_check_once 
+20006 1a217e07 and rega ,0x07 ,pdata 
+20007 c0018755 beq mouse_lr_button ,p_mouse_freq_test_mode 
+20008 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
+20009 c2978027 bbit1 mouse_enable_24g_first_auto_pairing ,z_mouse_24g_first_start_auto_pair_mode 
+2000a 6fe0c93d fetch 1 ,mem_device_flag 
+2000b c0000019 beq mode_24g_device ,z_mouse_24g_start_mode 
 
 z_mouse_le_fast_conn_judge:
-2000b 2040041a call p_mouse_device_le_reconn_led_config 
-2000c 20404354 call mouse_bluetooth_fast_conn_disable 
-2000d 6fe0c93d fetch 1 ,mem_device_flag 
-2000e c0008011 beq mode_bt_device1 ,z_mouse_le_device1_judge 
-2000f c0010013 beq mode_bt_device2 ,z_mouse_le_device2_judge 
-20010 20600000 rtn 
+2000c 2040041a call p_mouse_device_le_reconn_led_config 
+2000d 20404354 call mouse_bluetooth_fast_conn_disable 
+2000e 6fe0c93d fetch 1 ,mem_device_flag 
+2000f c0008012 beq mode_bt_device1 ,z_mouse_le_device1_judge 
+20010 c0010014 beq mode_bt_device2 ,z_mouse_le_device2_judge 
+20011 20600000 rtn 
 
 z_mouse_le_device1_judge:
-20011 6fe3493f fetch 6 ,mem_device1_addr 
-20012 20200014 branch z_mouse_le_addr_compare 
+20012 6fe3493f fetch 6 ,mem_device1_addr 
+20013 20200015 branch z_mouse_le_addr_compare 
 
 z_mouse_le_device2_judge:
-20013 6fe3495c fetch 6 ,mem_device2_addr 
+20014 6fe3495c fetch 6 ,mem_device2_addr 
 
 z_mouse_le_addr_compare:
-20014 684b4979 fetcht 6 ,mem_mouse_compare_addr_ff 
-20015 98467c00 isub temp ,null 
-20016 2022c32b branch mouse_buletooth_fast_conn_init ,zero 
-20017 20203e1c branch mouse_start_reconnect_device 
+20015 684b4979 fetcht 6 ,mem_mouse_compare_addr_ff 
+20016 98467c00 isub temp ,null 
+20017 2022c32b branch mouse_buletooth_fast_conn_init ,zero 
+20018 20203e1c branch mouse_start_reconnect_device 
 
 z_mouse_24g_start_mode:
-20018 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
-20019 c308c842 bbit0 mouse_enable_24g ,mouse_24g_mode_setup_error 
-2001a 20400408 call p_mouse_device_24g_led_config 
-2001b 20403e28 call mouse_wakeup_from_power_check 
-2001c 20344845 branch mouse_24g_reconn_dongle_start ,user 
-2001d 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
-2001e c2980028 bbit1 mouse_enable_auto_24g_paring ,z_mouse_24g_reconn_general_dongle 
-2001f c3188028 bbit0 mouse_enable_24g_power_on_pairing ,z_mouse_24g_reconn_general_dongle 
-20020 20404150 call mouse_key_check_once 
-20021 1a217e07 and rega ,0x07 ,pdata 
-20022 6848cbdc fetcht 1 ,mem_mouse_commbination_key_24g 
-20023 98467c00 isub temp ,null 
-20024 20228556 branch p_mouse_24g_start_pair_mode ,zero 
-20025 2020484b branch mouse_24g_reconn_general_dongle 
+20019 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
+2001a c308c842 bbit0 mouse_enable_24g ,mouse_24g_mode_setup_error 
+2001b 20400408 call p_mouse_device_24g_led_config 
+2001c 20403e28 call mouse_wakeup_from_power_check 
+2001d 20344845 branch mouse_24g_reconn_dongle_start ,user 
+2001e 6fe44bbc fetch mouse_flag_len ,mem_mouse_flag 
+2001f c2980029 bbit1 mouse_enable_auto_24g_paring ,z_mouse_24g_reconn_general_dongle 
+20020 c3188029 bbit0 mouse_enable_24g_power_on_pairing ,z_mouse_24g_reconn_general_dongle 
+20021 20404150 call mouse_key_check_once 
+20022 1a217e07 and rega ,0x07 ,pdata 
+20023 6848cbdc fetcht 1 ,mem_mouse_commbination_key_24g 
+20024 98467c00 isub temp ,null 
+20025 20228556 branch p_mouse_24g_start_pair_mode ,zero 
+20026 2020484b branch mouse_24g_reconn_general_dongle 
 
 z_mouse_24g_first_start_auto_pair_mode:
-20026 20403e28 call mouse_wakeup_from_power_check 
-20027 20344855 branch mouse_24g_first_start_reconn ,user 
+20027 20403e28 call mouse_wakeup_from_power_check 
+20028 20344855 branch mouse_24g_first_start_reconn ,user 
 
 z_mouse_24g_reconn_general_dongle:
-20028 70493d00 jam mode_24g_device ,mem_device_flag 
-20029 6fe14bcb fetch 2 ,mem_mouse_24g_power_on_fast_conn_timer 
-2002a 67e1488b store 2 ,mem_24g_reconn_timeout 
-2002b 70488f01 jam fast_conn_and_receiver ,mem_24g_reconn_type 
-2002c 20202562 branch g24_reconn_start 
+20029 70493d00 jam mode_24g_device ,mem_device_flag 
+2002a 6fe14bcb fetch 2 ,mem_mouse_24g_power_on_fast_conn_timer 
+2002b 67e1488b store 2 ,mem_24g_reconn_timeout 
+2002c 70488f01 jam fast_conn_and_receiver ,mem_24g_reconn_type 
+2002d 20202562 branch g24_reconn_start 
 
 z_mouse_24g_pairing_complete:
-2002d 704e3901 jam 1 ,mem_device_pair_flag 
-2002e 704ec301 jam 1 ,mem_key_info_store_flag 
-2002f 704b030a jam 10 ,mem_le_battery_level_updata_timer 
-20030 704de705 jam 5 ,mem_device_tx_dpi_data_delay_timer 
-20031 2040050f call p_mouse_agc_disable_nomal_power 
-20032 20404584 call mouse_no_data_timer_init 
-20033 20400402 call p_mouse_device_poweron_led_config 
-20034 20204896 branch mouse_24g_pairing_complete 
+2002e 704e3901 jam 1 ,mem_device_pair_flag 
+2002f 704ec301 jam 1 ,mem_key_info_store_flag 
+20030 704b030a jam 10 ,mem_le_battery_level_updata_timer 
+20031 704de705 jam 5 ,mem_device_tx_dpi_data_delay_timer 
+20032 2040050f call p_mouse_agc_disable_nomal_power 
+20033 20404584 call mouse_no_data_timer_init 
+20034 20400402 call p_mouse_device_poweron_led_config 
+20035 20204896 branch mouse_24g_pairing_complete 
+
+z_mouse_cb_fuction:
+20036 58000221 setarg p_mouse_24g_package_data 
+20037 67e1489f store 2 ,mem_cb_24g_transmit_data 
+20038 20203c89 branch mouse_cb_fuction + 6 
               org 0x30001
 
 z_entrance2:
Index: output/romcode.rom
===================================================================
--- /YC1308AF/branch/mouse/USB_4Mode_Project/RongYuan_Project/mouse_public_3mode_usb_sdk/output/romcode.rom	(revision 5303)
+++ /YC1308AF/branch/mouse/USB_4Mode_Project/RongYuan_Project/mouse_public_3mode_usb_sdk/output/romcode.rom	(working copy)
@@ -3537,24 +3537,25 @@
 704cb600
 704cb800
 202003d0
-c0080004
-c008802d
+c0080005
+c008802e
+c0090036
 20600000
 20404150
 1a217e07
 c0018755
 6fe44bbc
-c2978026
+c2978027
 6fe0c93d
-c0000018
+c0000019
 2040041a
 20404354
 6fe0c93d
-c0008011
-c0010013
+c0008012
+c0010014
 20600000
 6fe3493f
-20200014
+20200015
 6fe3495c
 684b4979
 98467c00
@@ -3566,8 +3567,8 @@
 20403e28
 20344845
 6fe44bbc
-c2980028
-c3188028
+c2980029
+c3188029
 20404150
 1a217e07
 6848cbdc
@@ -3589,6 +3590,9 @@
 20404584
 20400402
 20204896
+58000221
+67e1489f
+20203c89
 c0100004
 c0108026
 20600000
@@ -3706,4 +3710,4 @@
 67e1cc16
 202026e8
 20600000
-0000add4
+00002b6f
Index: program/patch.prog
===================================================================
--- /YC1308AF/branch/mouse/USB_4Mode_Project/RongYuan_Project/mouse_public_3mode_usb_sdk/program/patch.prog	(revision 5303)
+++ /YC1308AF/branch/mouse/USB_4Mode_Project/RongYuan_Project/mouse_public_3mode_usb_sdk/program/patch.prog	(working copy)
@@ -826,7 +826,7 @@
 	call p_mouse_usb_check_enable
 endif
 	call mouse_drawing_optima_init
-	call mouse_cb_fuction+2
+	call p_mouse_cb_fuction
 	call p_mouse_sensor_powerdown
 	branch mouse_init_wireless
 
@@ -3449,6 +3449,10 @@
 	jam ZCODE_00,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
+p_mouse_cb_fuction:
+	jam ZCODE_12,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
 p_mouse_start_work_next:
 	jam ZCODE_10,mem_zcode_temp_param0
 	branch p_zcode_entrance
Index: program/z.prog
===================================================================
--- /YC1308AF/branch/mouse/USB_4Mode_Project/RongYuan_Project/mouse_public_3mode_usb_sdk/program/z.prog	(revision 5303)
+++ /YC1308AF/branch/mouse/USB_4Mode_Project/RongYuan_Project/mouse_public_3mode_usb_sdk/program/z.prog	(working copy)
@@ -89,6 +89,7 @@
 z_entrance1:
 	beq ZCODE_10,z_mouse_start_work_next
 	beq ZCODE_11,z_mouse_24g_pairing_complete
+	beq ZCODE_12,z_mouse_cb_fuction
 	rtn
 
 z_mouse_start_work_next:
@@ -157,6 +158,13 @@
 	call p_mouse_device_poweron_led_config
 	branch mouse_24g_pairing_complete
 
+z_mouse_cb_fuction:
+//	setarg mouse_24g_before_lpm_sleep
+//	store 2,mem_cb_before_lpm_sleep
+	setarg p_mouse_24g_package_data
+	store 2,mem_cb_24g_transmit_data
+	branch mouse_cb_fuction+6
+
 org 0x30001
 z_entrance2:
 	beq ZCODE_20,z_mouse_setgpio_hibernate
