Index: output/eeprom.dat
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/mouse_public_xzr_branch/YH274_3m_3ch_Li_pbdesktop/output/eeprom.dat	(revision 1014)
+++ /YC1308AC/branch/mouse_project/XZR/mouse_public_xzr_branch/YH274_3m_3ch_Li_pbdesktop/output/eeprom.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-56
+5a
 18
 c2
 84
@@ -63,7 +63,7 @@
 c0
 67
 84
-3b
+3c
 c0
 68
 02
@@ -75,7 +75,7 @@
 c0
 69
 84
-56
+57
 c0
 6a
 03
@@ -95,7 +95,7 @@
 c0
 6f
 03
-fe
+ff
 c0
 74
 03
@@ -299,7 +299,7 @@
 20
 40
 04
-ef
+f0
 20
 34
 00
@@ -899,7 +899,7 @@
 24
 3a
 05
-a8
+a9
 20
 40
 3f
@@ -1187,7 +1187,7 @@
 20
 20
 04
-58
+59
 20
 40
 26
@@ -1287,7 +1287,7 @@
 20
 40
 04
-b0
+b1
 20
 40
 01
@@ -1315,7 +1315,7 @@
 20
 40
 04
-58
+59
 6f
 e4
 4b
@@ -2323,7 +2323,7 @@
 c2
 81
 84
-ba
+bb
 c2
 80
 a3
@@ -3435,7 +3435,7 @@
 20
 40
 04
-6f
+70
 20
 40
 3f
@@ -3831,7 +3831,7 @@
 20
 40
 03
-fa
+fb
 20
 40
 41
@@ -3851,7 +3851,7 @@
 20
 40
 03
-fa
+fb
 20
 40
 41
@@ -3871,7 +3871,7 @@
 20
 40
 03
-fa
+fb
 20
 40
 41
@@ -3927,7 +3927,7 @@
 20
 40
 03
-fc
+fd
 68
 48
 c9
@@ -3979,7 +3979,7 @@
 20
 40
 03
-fc
+fd
 68
 48
 c9
@@ -4039,7 +4039,7 @@
 20
 40
 03
-fc
+fd
 68
 48
 c9
@@ -4073,9 +4073,13 @@
 c1
 7a
 20
-20
+40
 41
 7d
+20
+20
+41
+77
 d8
 40
 00
@@ -4103,11 +4107,11 @@
 20
 40
 04
-03
+04
 20
 40
 04
-17
+18
 20
 20
 46
@@ -4143,7 +4147,7 @@
 20
 40
 04
-0c
+0d
 20
 20
 40
@@ -4171,7 +4175,7 @@
 c0
 7f
 84
-13
+14
 20
 20
 40
@@ -4183,7 +4187,7 @@
 20
 40
 03
-fc
+fd
 68
 48
 c9
@@ -4207,11 +4211,11 @@
 20
 40
 03
-fa
+fb
 20
 40
 04
-1e
+1f
 68
 48
 cc
@@ -4235,7 +4239,7 @@
 20
 40
 04
-2d
+2e
 67
 e0
 cc
@@ -4247,7 +4251,7 @@
 20
 3a
 04
-29
+2a
 6f
 e0
 cc
@@ -4311,11 +4315,11 @@
 c0
 03
 84
-37
+38
 c0
 00
 04
-39
+3a
 20
 60
 00
@@ -4359,7 +4363,7 @@
 c2
 9e
 84
-47
+48
 18
 42
 7e
@@ -4391,7 +4395,7 @@
 24
 3a
 04
-52
+53
 6f
 e4
 4b
@@ -4399,7 +4403,7 @@
 c2
 8e
 04
-4f
+50
 18
 42
 7e
@@ -4415,7 +4419,7 @@
 20
 20
 04
-44
+45
 18
 42
 7e
@@ -4427,7 +4431,7 @@
 20
 20
 04
-4d
+4e
 18
 42
 7e
@@ -4443,7 +4447,7 @@
 20
 20
 04
-44
+45
 20
 40
 3f
@@ -4463,7 +4467,7 @@
 c0
 18
 04
-61
+62
 c0
 18
 c2
@@ -4475,7 +4479,7 @@
 c0
 0c
 04
-66
+67
 20
 40
 41
@@ -4487,7 +4491,7 @@
 20
 20
 04
-59
+5a
 6f
 e0
 c9
@@ -4495,7 +4499,7 @@
 c0
 29
 04
-64
+65
 20
 20
 41
@@ -4523,7 +4527,7 @@
 20
 40
 04
-6d
+6e
 da
 60
 4c
@@ -4559,7 +4563,7 @@
 c0
 00
 84
-74
+75
 20
 60
 00
@@ -4575,7 +4579,7 @@
 20
 40
 04
-87
+88
 6f
 e0
 c8
@@ -4583,11 +4587,11 @@
 c2
 83
 84
-7c
+7d
 20
 40
 04
-8f
+90
 67
 e0
 c8
@@ -4599,7 +4603,7 @@
 20
 40
 04
-7f
+80
 67
 e0
 c8
@@ -4623,7 +4627,7 @@
 20
 40
 04
-8f
+90
 1f
 e2
 04
@@ -4647,11 +4651,11 @@
 c2
 83
 84
-8c
+8d
 20
 40
 04
-8f
+90
 67
 e0
 c8
@@ -4663,7 +4667,7 @@
 20
 40
 04
-7f
+80
 67
 e0
 c8
@@ -4703,7 +4707,7 @@
 24
 21
 04
-98
+99
 20
 60
 00
@@ -4731,27 +4735,27 @@
 c0
 01
 04
-a6
+a7
 c0
 02
 84
-a8
+a9
 c0
 04
 04
-aa
+ab
 c0
 05
 84
-ac
+ad
 c0
 07
 04
-ae
+af
 c0
 08
 84
-a4
+a5
 20
 60
 00
@@ -4811,7 +4815,7 @@
 20
 3a
 04
-9a
+9b
 1f
 e2
 24
@@ -4827,7 +4831,7 @@
 c0
 57
 84
-c2
+c3
 20
 60
 00
@@ -4843,7 +4847,7 @@
 20
 20
 05
-a2
+a3
 20
 60
 00
@@ -4903,31 +4907,31 @@
 c0
 00
 84
-d1
+d2
 c0
 01
 04
-d4
+d5
 c0
 01
 84
-d6
+d7
 c0
 02
 04
-d8
+d9
 c0
 02
 85
-30
+31
 c0
 03
 05
-56
+57
 c0
 7f
 84
-d0
+d1
 20
 20
 13
@@ -4939,7 +4943,7 @@
 20
 40
 04
-b7
+b8
 70
 4b
 f7
@@ -4987,7 +4991,7 @@
 24
 22
 85
-4e
+4f
 6f
 e1
 4c
@@ -4999,23 +5003,23 @@
 24
 22
 85
-4e
+4f
 20
 40
 04
-e4
+e5
 24
 34
 05
-4e
+4f
 20
 20
 05
-4c
+4d
 20
 40
 04
-ef
+f0
 24
 74
 00
@@ -5123,7 +5127,7 @@
 20
 40
 05
-66
+67
 18
 42
 60
@@ -5139,7 +5143,7 @@
 20
 40
 05
-13
+14
 1e
 f0
 fe
@@ -5219,7 +5223,7 @@
 20
 21
 05
-2e
+2f
 1f
 e0
 ff
@@ -5299,7 +5303,7 @@
 20
 40
 05
-66
+67
 18
 42
 60
@@ -5307,7 +5311,7 @@
 20
 20
 05
-13
+14
 58
 00
 00
@@ -5315,7 +5319,7 @@
 20
 20
 05
-1a
+1b
 70
 4b
 f7
@@ -5339,15 +5343,15 @@
 20
 22
 85
-4c
+4d
 20
 40
 05
-5d
+5e
 24
 34
 05
-4e
+4f
 1a
 46
 7c
@@ -5355,7 +5359,7 @@
 20
 21
 05
-4e
+4f
 1a
 40
 a5
@@ -5375,7 +5379,7 @@
 20
 40
 05
-50
+51
 20
 40
 5d
@@ -5415,7 +5419,7 @@
 20
 40
 05
-66
+67
 6f
 e1
 4c
@@ -5507,7 +5511,7 @@
 c0
 00
 05
-63
+64
 98
 46
 7e
@@ -5543,7 +5547,7 @@
 c2
 00
 05
-66
+67
 20
 60
 00
@@ -5595,7 +5599,7 @@
 20
 40
 05
-6a
+6b
 98
 46
 7c
@@ -5615,7 +5619,7 @@
 c0
 ad
 05
-92
+93
 1a
 22
 02
@@ -5631,7 +5635,7 @@
 20
 21
 05
-92
+93
 18
 c0
 8c
@@ -5647,7 +5651,7 @@
 24
 22
 85
-92
+93
 1f
 22
 7e
@@ -5671,7 +5675,7 @@
 24
 22
 85
-7d
+7e
 e8
 41
 00
@@ -5695,7 +5699,7 @@
 20
 40
 05
-6a
+6b
 98
 46
 7c
@@ -5703,7 +5707,7 @@
 24
 22
 85
-92
+93
 20
 20
 7e
@@ -5723,11 +5727,11 @@
 20
 40
 05
-79
+7a
 24
 34
 05
-9e
+9f
 6a
 21
 4b
@@ -5755,7 +5759,7 @@
 20
 20
 05
-93
+94
 6f
 e1
 4b
@@ -5807,31 +5811,31 @@
 c0
 00
 85
-b1
+b2
 c0
 02
 05
-bb
+bc
 c0
 03
 85
-da
+db
 c0
 05
 06
-00
+01
 c0
 06
 85
-f5
+f6
 c0
 08
 05
-de
+df
 20
 20
 06
-09
+0a
 70
 47
 c6
@@ -5927,7 +5931,7 @@
 20
 40
 05
-e2
+e3
 e7
 e0
 80
@@ -5967,7 +5971,7 @@
 24
 21
 05
-d8
+d9
 e7
 e1
 00
@@ -5995,7 +5999,7 @@
 20
 20
 05
-d3
+d4
 70
 4b
 f7
@@ -6011,7 +6015,7 @@
 20
 20
 05
-eb
+ec
 70
 4b
 f7
@@ -6027,7 +6031,7 @@
 20
 20
 05
-eb
+ec
 6f
 e4
 4b
@@ -6035,11 +6039,11 @@
 c2
 89
 85
-e7
+e8
 c2
 89
 05
-e9
+ea
 58
 00
 00
@@ -6232,8 +6236,8 @@
 60
 00
 00
-39
-da
+e7
+a7
 aa
 55
 40
@@ -6429,9 +6433,9 @@
 0d
 05
 04
-8a
-88
+0a
 08
+ff
 0b
 0d
 0c
@@ -7498,23 +7502,19 @@
 e8
 41
 01
-b3
-90
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+aa
+55
+05
+00
+f0
+4b
+02
+40
+00
+5e
+1d
+fa
+68
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-ce
-79
+1d
+9f
Index: output/program.lis
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/mouse_public_xzr_branch/YH274_3m_3ch_Li_pbdesktop/output/program.lis	(revision 1014)
+++ /YC1308AC/branch/mouse_project/XZR/mouse_public_xzr_branch/YH274_3m_3ch_Li_pbdesktop/output/program.lis	(working copy)
@@ -14,15 +14,15 @@
 000b c065019e beq patch19_2 ,p_mouse_lpm_before_common 
 000c c0660072 beq patch19_4 ,p_mouse_adc_read_start 
 000d c0670354 beq patch19_6 ,p_mouse_motion 
-000e c067843b beq patch19_7 ,p_mouse_dpi_process 
+000e c067843c beq patch19_7 ,p_mouse_dpi_process 
 000f c068025f beq patch1a_0 ,p_mouse_seting_dpi 
 0010 c06883b2 beq patch1a_1 ,p_mouse_check_key_gpio 
-0011 c0698456 beq patch1a_3 ,p_mouse_init_sunt 
+0011 c0698457 beq patch1a_3 ,p_mouse_init_sunt 
 0012 c06a0398 beq patch1a_4 ,p_mouse_sensor_poweron 
 0013 c06b01c9 beq patch1a_6 ,p_mouse_priority_bb_event 
 0014 c06c8296 beq patch1b_1 ,p_mouse_bb_event_timer 
 0015 c06d02f9 beq patch1b_2 ,p_mouse_start_discovery 
-0016 c06f03fe beq patch1b_6 ,p_mouse_idle 
+0016 c06f03ff beq patch1b_6 ,p_mouse_idle 
 0017 c0740306 beq patch1d_0 ,p_hid_rx_process 
 0018 2020137c branch loop 
 
@@ -89,7 +89,7 @@
 
 p_g24_load_ota_config_poweron:
 0048 20405b94 call iicd_load_gpio_init 
-0049 204004ef call p_g24_check_ota_data 
+0049 204004f0 call p_g24_check_ota_data 
 004a 2034004c branch p_g24_load_ota_config ,user 
 004b 20600000 rtn 
 
@@ -273,7 +273,7 @@
 p_mouse_24g_package_data:
 00dd c6930000 rtnmark0 mark_24g 
 00de 6fe0cbf6 fetch 1 ,mem_g24_ota_mode 
-00df 243a05a8 nbranch p_mouse_24g_package_ota ,blank 
+00df 243a05a9 nbranch p_mouse_24g_package_ota ,blank 
 00e0 20403f70 call mouse_motion 
 00e1 24740000 nrtn user 
 00e2 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
@@ -361,7 +361,7 @@
 0124 793ffe00 set0 g24_disconn_state ,pdata 
 0125 67e0cba4 store 1 ,mem_mouse_search_dongle_action 
 0126 20404544 call mouse_no_data_timer_init 
-0127 20200458 branch p_mouse_init_sensor_wakeup 
+0127 20200459 branch p_mouse_init_sensor_wakeup 
 
 p_g24_transmit_no_interrupt:
 0128 20402631 call g24_txdata_prep 
@@ -396,7 +396,7 @@
 013d 242c0150 nbranch p_g24_retransmit ,sync 
 013e 24378150 nbranch p_g24_retransmit ,user3 
 013f 20402672 call g24_ackpayload_parse 
-0140 204004b0 call p_g24_mouse_parse_rx 
+0140 204004b1 call p_g24_mouse_parse_rx 
 0141 20400143 call p_mouse_wakeup_24g 
 0142 20202651 branch g24_transmit_no_ack 
 
@@ -407,7 +407,7 @@
 0146 20600000 rtn 
 
 p_mouse_wakeup_24g_from_long_sleep:
-0147 20400458 call p_mouse_init_sensor_wakeup 
+0147 20400459 call p_mouse_init_sensor_wakeup 
 0148 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
 0149 c41e0000 rtnbit0 mouse_enable_wheel_wake_up_cancel 
 
@@ -733,7 +733,7 @@
 p_g24_transmit_dispatch:
 0241 c6930000 rtnmark0 mark_24g 
 0242 6fe0c8a1 fetch 1 ,mem_24g_conn_sm 
-0243 c28184ba bbit1 state_24g_ota ,p_g24_ota_dispatch 
+0243 c28184bb bbit1 state_24g_ota ,p_g24_ota_dispatch 
 0244 c280a340 bbit1 state_24g_pair ,g24_pair_dispatch 
 0245 c2812580 bbit1 state_24g_reconn ,g24_reconn_dispatch 
 0246 6fe0c8bd fetch 1 ,mem_24g_transmit_by_interrupt 
@@ -1105,7 +1105,7 @@
 0356 67e348d1 store 6 ,mem_mouse_x 
 0357 20400367 call p_mouse_check_sensor_data 
 0358 2040039e call p_mouse_dpi_config 
-0359 2040046f call p_mouse_sensor_data_mul 
+0359 20400470 call p_mouse_sensor_data_mul 
 035a 20403f7e call mouse_zwheel 
 035b 20403f83 call mouse_t_zwheel 
 035c 204040dc call mouse_key 
@@ -1238,21 +1238,21 @@
 
 p_mouse_check_lkey_gpio:
 03bb 6fe0c918 fetch 1 ,mem_lbutton_gpio 
-03bc 204003fa call p_mouse_gpio_config_output_high 
+03bc 204003fb call p_mouse_gpio_config_output_high 
 03bd 20404124 call mouse_check_lkey_gpio 
 03be 6848c918 fetcht 1 ,mem_lbutton_gpio 
 03bf 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_rkey_gpio:
 03c0 6fe0c919 fetch 1 ,mem_rbutton_gpio 
-03c1 204003fa call p_mouse_gpio_config_output_high 
+03c1 204003fb call p_mouse_gpio_config_output_high 
 03c2 2040412a call mouse_check_rkey_gpio 
 03c3 6848c919 fetcht 1 ,mem_rbutton_gpio 
 03c4 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_mkey_gpio:
 03c5 6fe0c91a fetch 1 ,mem_mbutton_gpio 
-03c6 204003fa call p_mouse_gpio_config_output_high 
+03c6 204003fb call p_mouse_gpio_config_output_high 
 03c7 20404130 call mouse_check_mkey_gpio 
 03c8 6848c91a fetcht 1 ,mem_mbutton_gpio 
 03c9 20203f56 branch mouse_gpio_config_input_pu 
@@ -1270,7 +1270,7 @@
 
 p_mouse_3io6key_bk_check:
 03d3 6fe0c90d fetch 1 ,mem_bk_button_gpio 
-03d4 204003fc call p_mouse_gpio_config_output_low 
+03d4 204003fd call p_mouse_gpio_config_output_low 
 03d5 6848c90d fetcht 1 ,mem_bk_button_gpio 
 03d6 2020414b branch mouse_3io6key_bk_check 
 
@@ -1287,7 +1287,7 @@
 
 p_mouse_3io6key_fw_check:
 03e0 6fe0c90e fetch 1 ,mem_fw_button_gpio 
-03e1 204003fc call p_mouse_gpio_config_output_low 
+03e1 204003fd call p_mouse_gpio_config_output_low 
 03e2 6848c90e fetcht 1 ,mem_fw_button_gpio 
 03e3 20204164 branch mouse_3io6key_fw_check 
 
@@ -1308,7 +1308,7 @@
 
 p_mouse_3io6key_customerkey_check:
 03ef 6fe0c912 fetch 1 ,mem_customer_key_gpio 
-03f0 204003fc call p_mouse_gpio_config_output_low 
+03f0 204003fd call p_mouse_gpio_config_output_low 
 03f1 6848c912 fetcht 1 ,mem_customer_key_gpio 
 03f2 20404195 call mouse_3io6key_check 
 03f3 67e0cb95 store 1 ,mem_mouse_customerkey_press_status 
@@ -1319,730 +1319,731 @@
 p_mouse_3io6key_customerkey_check_next:
 03f7 1a227e00 copy rega ,pdata 
 03f8 c283c17a bbit1 mouse_customer_key ,mouse_customerkey_press 
-03f9 2020417d branch mouse_customerkey_release 
+03f9 2040417d call mouse_customerkey_release 
+03fa 20204177 branch mouse_check_customerkey_gpio_exit 
 
 p_mouse_gpio_config_output_high:
-03fa d840003f arg gpcfg_output_high ,temp 
-03fb 20206093 branch gpio_config_function_int 
+03fb d840003f arg gpcfg_output_high ,temp 
+03fc 20206093 branch gpio_config_function_int 
 
 p_mouse_gpio_config_output_low:
-03fc d840003e arg gpcfg_output_low ,temp 
-03fd 20206093 branch gpio_config_function_int 
+03fd d840003e arg gpcfg_output_low ,temp 
+03fe 20206093 branch gpio_config_function_int 
 
 p_mouse_idle:
-03fe 20404990 call mouse_low_voltage_led_no_enter_lpm 
-03ff 20407936 call ui_check_paring_button 
-0400 20400403 call p_mouse_dpi_check 
-0401 20400417 call p_mouse_dpi_another_gpio_check 
-0402 2020464f branch mouse_idle + 4 
+03ff 20404990 call mouse_low_voltage_led_no_enter_lpm 
+0400 20407936 call ui_check_paring_button 
+0401 20400404 call p_mouse_dpi_check 
+0402 20400418 call p_mouse_dpi_another_gpio_check 
+0403 2020464f branch mouse_idle + 4 
 
 p_mouse_dpi_check:
-0403 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0404 c2974036 bbit1 mouse_enable_dpi_key_connect_adc ,mouse_dpi_check_connect_adc 
-0405 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
-0406 c17f8000 rtneq gpio_disable 
-0407 da200000 arg 0 ,rega 
-0408 704b9605 jam mouse_dpi_key ,mem_mouse_key_temp 
-0409 6848c90f fetcht 1 ,mem_dpi_button_gpio 
-040a 2040040c call p_mouse_dpi_key_check 
-040b 2020402f branch mouse_dpi_check_next 
+0404 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0405 c2974036 bbit1 mouse_enable_dpi_key_connect_adc ,mouse_dpi_check_connect_adc 
+0406 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
+0407 c17f8000 rtneq gpio_disable 
+0408 da200000 arg 0 ,rega 
+0409 704b9605 jam mouse_dpi_key ,mem_mouse_key_temp 
+040a 6848c90f fetcht 1 ,mem_dpi_button_gpio 
+040b 2040040d call p_mouse_dpi_key_check 
+040c 2020402f branch mouse_dpi_check_next 
 
 p_mouse_dpi_key_check:
-040c 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-040d c2964048 bbit1 mouse_enable_dpi_key_connect_gnd ,mouse_dpi_key_connect_gnd 
-040e 6fe0cb93 fetch 1 ,mem_mouse_dpikey_press_status 
-040f 1fe22600 copy pdata ,regc 
-0410 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
-0411 c07f8413 beq gpio_disable ,p_mouse_3io6key_dpi_check 
-0412 2020403f branch mouse_dpi_key_check_next 
+040d 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+040e c2964048 bbit1 mouse_enable_dpi_key_connect_gnd ,mouse_dpi_key_connect_gnd 
+040f 6fe0cb93 fetch 1 ,mem_mouse_dpikey_press_status 
+0410 1fe22600 copy pdata ,regc 
+0411 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+0412 c07f8414 beq gpio_disable ,p_mouse_3io6key_dpi_check 
+0413 2020403f branch mouse_dpi_key_check_next 
 
 p_mouse_3io6key_dpi_check:
-0413 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
-0414 204003fc call p_mouse_gpio_config_output_low 
-0415 6848c90f fetcht 1 ,mem_dpi_button_gpio 
-0416 20204195 branch mouse_3io6key_check 
+0414 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
+0415 204003fd call p_mouse_gpio_config_output_low 
+0416 6848c90f fetcht 1 ,mem_dpi_button_gpio 
+0417 20204195 branch mouse_3io6key_check 
 
 p_mouse_dpi_another_gpio_check:
-0417 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0418 c41e8000 rtnbit0 mouse_enable_double_dpi_key 
-0419 6fe0cc32 fetch 1 ,mem_dpi_another_button_gpio 
-041a 204003fa call p_mouse_gpio_config_output_high 
-041b 2040041e call p_mouse_dpi_another_check 
-041c 6848cc32 fetcht 1 ,mem_dpi_another_button_gpio 
-041d 20203f56 branch mouse_gpio_config_input_pu 
+0418 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0419 c41e8000 rtnbit0 mouse_enable_double_dpi_key 
+041a 6fe0cc32 fetch 1 ,mem_dpi_another_button_gpio 
+041b 204003fb call p_mouse_gpio_config_output_high 
+041c 2040041f call p_mouse_dpi_another_check 
+041d 6848cc32 fetcht 1 ,mem_dpi_another_button_gpio 
+041e 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_dpi_another_check:
-041e 704c3600 jam mouse_dpi_another_key ,mem_mouse_key_temp_patch 
-041f 6848cc32 fetcht 1 ,mem_dpi_another_button_gpio 
-0420 6fe0cc33 fetch 1 ,mem_dpi_another_press_status 
-0421 2040042d call p_mouse_check_key_connect_gnd_new 
-0422 67e0cc33 store 1 ,mem_dpi_another_press_status 
-0423 6fe0cc35 fetch 1 ,mem_dpi_another_button_down_enable 
-0424 203a0429 branch p_mouse_dpi_another_up ,blank 
+041f 704c3600 jam mouse_dpi_another_key ,mem_mouse_key_temp_patch 
+0420 6848cc32 fetcht 1 ,mem_dpi_another_button_gpio 
+0421 6fe0cc33 fetch 1 ,mem_dpi_another_press_status 
+0422 2040042e call p_mouse_check_key_connect_gnd_new 
+0423 67e0cc33 store 1 ,mem_dpi_another_press_status 
+0424 6fe0cc35 fetch 1 ,mem_dpi_another_button_down_enable 
+0425 203a042a branch p_mouse_dpi_another_up ,blank 
 
 p_mouse_dpi_another_down:
-0425 6fe0cc34 fetch 1 ,mem_dpi_another_button_state 
-0426 c1008000 rtneq dpi_button_state_down 
-0427 704c3401 jam dpi_button_state_down ,mem_dpi_another_button_state 
-0428 20204069 branch mouse_dpi_process 
+0426 6fe0cc34 fetch 1 ,mem_dpi_another_button_state 
+0427 c1008000 rtneq dpi_button_state_down 
+0428 704c3401 jam dpi_button_state_down ,mem_dpi_another_button_state 
+0429 20204069 branch mouse_dpi_process 
 
 p_mouse_dpi_another_up:
-0429 6fe0cc34 fetch 1 ,mem_dpi_another_button_state 
-042a c1000000 rtneq dpi_button_state_up 
-042b 704c3400 jam dpi_button_state_up ,mem_dpi_another_button_state 
-042c 20600000 rtn 
+042a 6fe0cc34 fetch 1 ,mem_dpi_another_button_state 
+042b c1000000 rtneq dpi_button_state_up 
+042c 704c3400 jam dpi_button_state_up ,mem_dpi_another_button_state 
+042d 20600000 rtn 
 
 p_mouse_check_key_connect_gnd_new:
-042d 1fe3fe00 lshift pdata ,pdata 
-042e 1fe22400 copy pdata ,regb 
-042f 20406059 call gpio_get_bit 
-0430 7920a400 setflag true ,0 ,regb 
-0431 1a417e07 and regb ,0x07 ,pdata 
-0432 6848cc36 fetcht 1 ,mem_mouse_key_temp_patch 
-0433 18420e00 copy temp ,queue 
-0434 c0038437 beq 0x07 ,p_mouse_key_press 
-0435 c0000439 beq 0x00 ,p_mouse_key_release 
-0436 20600000 rtn 
+042e 1fe3fe00 lshift pdata ,pdata 
+042f 1fe22400 copy pdata ,regb 
+0430 20406059 call gpio_get_bit 
+0431 7920a400 setflag true ,0 ,regb 
+0432 1a417e07 and regb ,0x07 ,pdata 
+0433 6848cc36 fetcht 1 ,mem_mouse_key_temp_patch 
+0434 18420e00 copy temp ,queue 
+0435 c0038438 beq 0x07 ,p_mouse_key_press 
+0436 c000043a beq 0x00 ,p_mouse_key_release 
+0437 20600000 rtn 
 
 p_mouse_key_press:
-0437 704c3501 jam 1 ,mem_dpi_another_button_down_enable 
-0438 20600000 rtn 
+0438 704c3501 jam 1 ,mem_dpi_another_button_down_enable 
+0439 20600000 rtn 
 
 p_mouse_key_release:
-0439 704c3500 jam 0 ,mem_dpi_another_button_down_enable 
-043a 20600000 rtn 
+043a 704c3500 jam 0 ,mem_dpi_another_button_down_enable 
+043b 20600000 rtn 
 
 p_mouse_dpi_process:
-043b 20404072 call mouse_dpi_ghost_check 
-043c 20740000 rtn user 
-043d 6fe0c992 fetch 1 ,mem_mouse_dpi 
-043e 1fe20400 copy pdata ,temp 
-043f 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0440 c29e8447 bbit1 mouse_enable_double_dpi_key ,p_mouse_double_dpi_check 
-0441 18427e00 copy temp ,pdata 
-0442 1fe0fe01 increase 1 ,pdata 
-0443 1fe17e03 and pdata ,0x03 ,pdata 
+043c 20404072 call mouse_dpi_ghost_check 
+043d 20740000 rtn user 
+043e 6fe0c992 fetch 1 ,mem_mouse_dpi 
+043f 1fe20400 copy pdata ,temp 
+0440 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0441 c29e8448 bbit1 mouse_enable_double_dpi_key ,p_mouse_double_dpi_check 
+0442 18427e00 copy temp ,pdata 
+0443 1fe0fe01 increase 1 ,pdata 
+0444 1fe17e03 and pdata ,0x03 ,pdata 
 
 p_mouse_dpi_store:
-0444 67e0c992 store 1 ,mem_mouse_dpi 
-0445 20404095 call mouse_seting_dpi 
-0446 202045ee branch mouse_store_device_info_delay 
+0445 67e0c992 store 1 ,mem_mouse_dpi 
+0446 20404095 call mouse_seting_dpi 
+0447 202045ee branch mouse_store_device_info_delay 
 
 p_mouse_double_dpi_check:
-0447 6fe0cc35 fetch 1 ,mem_dpi_another_button_down_enable 
-0448 243a0452 nbranch p_mouse_another_dpi_button_down ,blank 
+0448 6fe0cc35 fetch 1 ,mem_dpi_another_button_down_enable 
+0449 243a0453 nbranch p_mouse_another_dpi_button_down ,blank 
 
 p_mouse_dpi_increase:
-0449 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-044a c28e044f bbit1 mouse_enable_dpi_level_4 ,p_mouse_dpi_increase_level_4 
-044b 18427e00 copy temp ,pdata 
-044c c1010000 rtneq mouse_dpi_level3 
+044a 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+044b c28e0450 bbit1 mouse_enable_dpi_level_4 ,p_mouse_dpi_increase_level_4 
+044c 18427e00 copy temp ,pdata 
+044d c1010000 rtneq mouse_dpi_level3 
 
 p_mouse_dpi_increase_level:
-044d 1fe0fe01 increase 1 ,pdata 
-044e 20200444 branch p_mouse_dpi_store 
+044e 1fe0fe01 increase 1 ,pdata 
+044f 20200445 branch p_mouse_dpi_store 
 
 p_mouse_dpi_increase_level_4:
-044f 18427e00 copy temp ,pdata 
-0450 c1018000 rtneq mouse_dpi_level4 
-0451 2020044d branch p_mouse_dpi_increase_level 
+0450 18427e00 copy temp ,pdata 
+0451 c1018000 rtneq mouse_dpi_level4 
+0452 2020044e branch p_mouse_dpi_increase_level 
 
 p_mouse_another_dpi_button_down:
 
 p_mouse_dpi_decrease:
-0452 18427e00 copy temp ,pdata 
-0453 c1000000 rtneq mouse_dpi_level1 
-0454 1fe0ffff increase -1 ,pdata 
-0455 20200444 branch p_mouse_dpi_store 
+0453 18427e00 copy temp ,pdata 
+0454 c1000000 rtneq mouse_dpi_level1 
+0455 1fe0ffff increase -1 ,pdata 
+0456 20200445 branch p_mouse_dpi_store 
 
 p_mouse_init_sunt:
-0456 20403f65 call mouse_sensor_spi_init 
-0457 20758000 rtn wake 
+0457 20403f65 call mouse_sensor_spi_init 
+0458 20758000 rtn wake 
 
 p_mouse_init_sensor_wakeup:
-0458 20404236 call mouse_sensor_poweron 
+0459 20404236 call mouse_sensor_poweron 
 
 p_mouse_init_sensor:
-0459 204041b5 call mouse_read_sensor_id 
-045a c0180461 beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
-045b c018c217 beq p3065_id1 ,mouse_init_p3065 
-045c c02c4220 beq pka8g2_id1 ,mouse_ka8g2_id2_judge 
-045d c00c0466 beq om18_id ,p_mouse_om18_init_param 
-045e 204041b2 call mouse_twspi_reset 
-045f 20001af4 nop 6900 
-0460 20200459 branch p_mouse_init_sensor 
+045a 204041b5 call mouse_read_sensor_id 
+045b c0180462 beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
+045c c018c217 beq p3065_id1 ,mouse_init_p3065 
+045d c02c4220 beq pka8g2_id1 ,mouse_ka8g2_id2_judge 
+045e c00c0467 beq om18_id ,p_mouse_om18_init_param 
+045f 204041b2 call mouse_twspi_reset 
+0460 20001af4 nop 6900 
+0461 2020045a branch p_mouse_init_sensor 
 
 p_mouse_init_p32xx_id2_judge:
-0461 6fe0c9c2 fetch 1 ,mem_sensor_id2 
-0462 c0290464 beq om16_id2 ,p_mouse_om16_init_param 
-0463 202041bd branch mouse_init_p32xx_id2_judge + 1 
+0462 6fe0c9c2 fetch 1 ,mem_sensor_id2 
+0463 c0290465 beq om16_id2 ,p_mouse_om16_init_param 
+0464 202041bd branch mouse_init_p32xx_id2_judge + 1 
 
 p_mouse_om16_init_param:
-0464 7049270c jam om16 ,mem_config_sensor_type 
-0465 202046ee branch mouse_dpi_4level_enable 
+0465 7049270c jam om16 ,mem_config_sensor_type 
+0466 202046ee branch mouse_dpi_4level_enable 
 
 p_mouse_om18_init_param:
-0466 7049270d jam om18 ,mem_config_sensor_type 
-0467 58008006 setarg 0x8006 
-0468 20405b0c call twspi_write 
-0469 2040046d call p_delay_15ms 
-046a da604c3d arg mem_sensor_om18_init ,regc 
-046b 2040422b call mouse_sensor_wr_seq 
-046c 20200261 branch p_mouse_seting_sensor_type 
+0467 7049270d jam om18 ,mem_config_sensor_type 
+0468 58008006 setarg 0x8006 
+0469 20405b0c call twspi_write 
+046a 2040046e call p_delay_15ms 
+046b da604c3d arg mem_sensor_om18_init ,regc 
+046c 2040422b call mouse_sensor_wr_seq 
+046d 20200261 branch p_mouse_seting_sensor_type 
 
 p_delay_15ms:
-046d df20000f arg 15 ,loopcnt 
-046e 20207d13 branch delay_ms_wait 
+046e df20000f arg 15 ,loopcnt 
+046f 20207d13 branch delay_ms_wait 
 
 p_mouse_sensor_data_mul:
-046f 6fe0c927 fetch 1 ,mem_config_sensor_type 
-0470 c1860000 rtnne om16 
-0471 6fe0c992 fetch 1 ,mem_mouse_dpi 
-0472 c0008474 beq mouse_dpi_level2 ,p_mouse_sensor_data_set 
-0473 20600000 rtn 
+0470 6fe0c927 fetch 1 ,mem_config_sensor_type 
+0471 c1860000 rtnne om16 
+0472 6fe0c992 fetch 1 ,mem_mouse_dpi 
+0473 c0008475 beq mouse_dpi_level2 ,p_mouse_sensor_data_set 
+0474 20600000 rtn 
 
 p_mouse_sensor_data_set:
-0474 58000204 setarg 0x0204 
-0475 67e14c37 store 2 ,mem_mouse_xy_date_times 
-0476 20400487 call p_mouse_sensor_data_set_x 
+0475 58000204 setarg 0x0204 
+0476 67e14c37 store 2 ,mem_mouse_xy_date_times 
+0477 20400488 call p_mouse_sensor_data_set_x 
 
 p_mouse_sensor_data_set_y:
-0477 6fe0c8d3 fetch 1 ,mem_mouse_y 
-0478 c283847c bbit1 7 ,p_mouse_sensor_data_set_y_next 
-0479 2040048f call p_mouse_sensor_data_set_next 
-047a 67e0c8d3 store 1 ,mem_mouse_y 
-047b 20600000 rtn 
+0478 6fe0c8d3 fetch 1 ,mem_mouse_y 
+0479 c283847d bbit1 7 ,p_mouse_sensor_data_set_y_next 
+047a 20400490 call p_mouse_sensor_data_set_next 
+047b 67e0c8d3 store 1 ,mem_mouse_y 
+047c 20600000 rtn 
 
 p_mouse_sensor_data_set_y_next:
-047c 2040047f call p_mouse_sensor_data_set_reverse 
-047d 67e0c8d3 store 1 ,mem_mouse_y 
-047e 20600000 rtn 
+047d 20400480 call p_mouse_sensor_data_set_reverse 
+047e 67e0c8d3 store 1 ,mem_mouse_y 
+047f 20600000 rtn 
 
 p_mouse_sensor_data_set_reverse:
-047f 1fe20400 copy pdata ,temp 
-0480 dfe00100 arg 0x100 ,pdata 
-0481 98467e00 isub temp ,pdata 
-0482 2040048f call p_mouse_sensor_data_set_next 
-0483 1fe20400 copy pdata ,temp 
-0484 dfe00100 arg 0x100 ,pdata 
-0485 98467e00 isub temp ,pdata 
-0486 20600000 rtn 
+0480 1fe20400 copy pdata ,temp 
+0481 dfe00100 arg 0x100 ,pdata 
+0482 98467e00 isub temp ,pdata 
+0483 20400490 call p_mouse_sensor_data_set_next 
+0484 1fe20400 copy pdata ,temp 
+0485 dfe00100 arg 0x100 ,pdata 
+0486 98467e00 isub temp ,pdata 
+0487 20600000 rtn 
 
 p_mouse_sensor_data_set_x:
-0487 6fe0c8d1 fetch 1 ,mem_mouse_x 
-0488 c283848c bbit1 7 ,p_mouse_sensor_data_set_x_next 
-0489 2040048f call p_mouse_sensor_data_set_next 
-048a 67e0c8d1 store 1 ,mem_mouse_x 
-048b 20600000 rtn 
+0488 6fe0c8d1 fetch 1 ,mem_mouse_x 
+0489 c283848d bbit1 7 ,p_mouse_sensor_data_set_x_next 
+048a 20400490 call p_mouse_sensor_data_set_next 
+048b 67e0c8d1 store 1 ,mem_mouse_x 
+048c 20600000 rtn 
 
 p_mouse_sensor_data_set_x_next:
-048c 2040047f call p_mouse_sensor_data_set_reverse 
-048d 67e0c8d1 store 1 ,mem_mouse_x 
-048e 20600000 rtn 
+048d 20400480 call p_mouse_sensor_data_set_reverse 
+048e 67e0c8d1 store 1 ,mem_mouse_x 
+048f 20600000 rtn 
 
 p_mouse_sensor_data_set_next:
-048f 6848cc37 fetcht 1 ,mem_mouse_xy_date_times 
-0490 984ffe00 imul32 temp ,pdata 
-0491 6848cc38 fetcht 1 ,mem_mouse_xy_date_times + 1 
-0492 9846fc00 idiv temp 
-0493 20407def call wait_div_end 
-0494 1807fe00 quotient pdata 
-0495 1fe67c7f sub pdata ,0x7f ,null 
-0496 24210498 nbranch p_mouse_sensor_data_set_next2 ,positive 
-0497 20600000 rtn 
+0490 6848cc37 fetcht 1 ,mem_mouse_xy_date_times 
+0491 984ffe00 imul32 temp ,pdata 
+0492 6848cc38 fetcht 1 ,mem_mouse_xy_date_times + 1 
+0493 9846fc00 idiv temp 
+0494 20407def call wait_div_end 
+0495 1807fe00 quotient pdata 
+0496 1fe67c7f sub pdata ,0x7f ,null 
+0497 24210499 nbranch p_mouse_sensor_data_set_next2 ,positive 
+0498 20600000 rtn 
 
 p_mouse_sensor_data_set_next2:
-0498 5800007f setarg 0x7f 
-0499 20600000 rtn 
+0499 5800007f setarg 0x7f 
+049a 20600000 rtn 
 
 p_g24_parse_rx_ota_sm:
-049a 6fe0cbf6 fetch 1 ,mem_g24_ota_mode 
-049b 207a0000 rtn blank 
-049c 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
-049d c00104a6 beq g24_ota_sm_tx_version ,p_g24_ota_sm_tx_version 
-049e c00284a8 beq g24_ota_sm_tx_info ,p_g24_ota_sm_tx_info 
-049f c00404aa beq g24_ota_sm_tx_config ,p_g24_ota_sm_tx_config 
-04a0 c00584ac beq g24_ota_sm_tx_set_config_end ,p_g24_ota_sm_tx_config_end 
-04a1 c00704ae beq g24_ota_sm_tx_data ,p_g24_ota_sm_tx_data 
-04a2 c00884a4 beq g24_ota_sm_tx_reset ,p_g24_ota_sm_tx_reset 
-04a3 20600000 rtn 
+049b 6fe0cbf6 fetch 1 ,mem_g24_ota_mode 
+049c 207a0000 rtn blank 
+049d 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
+049e c00104a7 beq g24_ota_sm_tx_version ,p_g24_ota_sm_tx_version 
+049f c00284a9 beq g24_ota_sm_tx_info ,p_g24_ota_sm_tx_info 
+04a0 c00404ab beq g24_ota_sm_tx_config ,p_g24_ota_sm_tx_config 
+04a1 c00584ad beq g24_ota_sm_tx_set_config_end ,p_g24_ota_sm_tx_config_end 
+04a2 c00704af beq g24_ota_sm_tx_data ,p_g24_ota_sm_tx_data 
+04a3 c00884a5 beq g24_ota_sm_tx_reset ,p_g24_ota_sm_tx_reset 
+04a4 20600000 rtn 
 
 p_g24_ota_sm_tx_reset:
-04a4 704bf712 jam g24_ota_sm_tx_reset_ok ,mem_g24_ota_sm 
-04a5 20600000 rtn 
+04a5 704bf712 jam g24_ota_sm_tx_reset_ok ,mem_g24_ota_sm 
+04a6 20600000 rtn 
 
 p_g24_ota_sm_tx_version:
-04a6 704bf703 jam g24_ota_sm_tx_version_ok ,mem_g24_ota_sm 
-04a7 20600000 rtn 
+04a7 704bf703 jam g24_ota_sm_tx_version_ok ,mem_g24_ota_sm 
+04a8 20600000 rtn 
 
 p_g24_ota_sm_tx_info:
-04a8 704bf706 jam g24_ota_sm_tx_info_ok ,mem_g24_ota_sm 
-04a9 20600000 rtn 
+04a9 704bf706 jam g24_ota_sm_tx_info_ok ,mem_g24_ota_sm 
+04aa 20600000 rtn 
 
 p_g24_ota_sm_tx_config:
-04aa 704bf709 jam g24_ota_sm_tx_config_ok ,mem_g24_ota_sm 
-04ab 20600000 rtn 
+04ab 704bf709 jam g24_ota_sm_tx_config_ok ,mem_g24_ota_sm 
+04ac 20600000 rtn 
 
 p_g24_ota_sm_tx_config_end:
-04ac 704bf70c jam g24_ota_sm_tx_set_config_end_ok ,mem_g24_ota_sm 
-04ad 20600000 rtn 
+04ad 704bf70c jam g24_ota_sm_tx_set_config_end_ok ,mem_g24_ota_sm 
+04ae 20600000 rtn 
 
 p_g24_ota_sm_tx_data:
-04ae 704bf70f jam g24_ota_sm_tx_data_ok ,mem_g24_ota_sm 
-04af 20600000 rtn 
+04af 704bf70f jam g24_ota_sm_tx_data_ok ,mem_g24_ota_sm 
+04b0 20600000 rtn 
 
 p_g24_mouse_parse_rx:
-04b0 6fe0c82a fetch 1 ,mem_24g_rxdata_length 
-04b1 203a049a branch p_g24_parse_rx_ota_sm ,blank 
-04b2 1fe22400 copy pdata ,regb 
-04b3 70482a00 jam 0 ,mem_24g_rxdata_length 
-04b4 6fe0c80a fetch 1 ,mem_24g_rxpayload 
-04b5 c05784c2 beq datatype_ota ,p_g24_rx_ota 
-04b6 20600000 rtn 
+04b1 6fe0c82a fetch 1 ,mem_24g_rxdata_length 
+04b2 203a049b branch p_g24_parse_rx_ota_sm ,blank 
+04b3 1fe22400 copy pdata ,regb 
+04b4 70482a00 jam 0 ,mem_24g_rxdata_length 
+04b5 6fe0c80a fetch 1 ,mem_24g_rxpayload 
+04b6 c05784c3 beq datatype_ota ,p_g24_rx_ota 
+04b7 20600000 rtn 
 
 p_g24_ota_mode_enable:
-04b7 704bf601 jam 1 ,mem_g24_ota_mode 
-04b8 70409900 jam 0 ,mem_lpm_mode 
-04b9 202005a2 branch p_ota_init 
+04b8 704bf601 jam 1 ,mem_g24_ota_mode 
+04b9 70409900 jam 0 ,mem_lpm_mode 
+04ba 202005a3 branch p_ota_init 
 
 p_g24_ota_dispatch:
-04ba 20600000 rtn 
+04bb 20600000 rtn 
 
 p_g24_ota_transmit:
-04bb 7047c6af jam datatype_ota ,mem_24g_txbuf 
-04bc 20402291 call g24_transmit_prep 
-04bd 2040265b call g24_transmit_receive_ack 
-04be 246c0000 nrtn sync 
-04bf 24778000 nrtn user3 
-04c0 20402597 call g24_txbuf_clear 
-04c1 20202672 branch g24_ackpayload_parse 
+04bc 7047c6af jam datatype_ota ,mem_24g_txbuf 
+04bd 20402291 call g24_transmit_prep 
+04be 2040265b call g24_transmit_receive_ack 
+04bf 246c0000 nrtn sync 
+04c0 24778000 nrtn user3 
+04c1 20402597 call g24_txbuf_clear 
+04c2 20202672 branch g24_ackpayload_parse 
 
 p_g24_rx_ota:
-04c2 6fe0c80a fetch 1 ,mem_24g_rxpayload 
-04c3 c1d78000 rtnne datatype_ota 
-04c4 efe08006 ifetch 1 ,contr 
-04c5 e8408006 ifetcht 1 ,contr 
-04c6 18467c02 sub temp ,g24_ota_target_mouse ,null 
-04c7 2422937a nbranch assert ,zero 
-04c8 c00084d1 beq g24_ota_cmd_version ,p_g24_mouse_ota_process_version 
-04c9 c00104d4 beq g24_ota_cmd_info ,p_g24_mouse_ota_process_info 
-04ca c00184d6 beq g24_ota_cmd_config ,p_g24_mouse_ota_process_config 
-04cb c00204d8 beq g24_ota_cmd_set_config_end ,p_g24_mouse_ota_process_set_config_end 
-04cc c0028530 beq g24_ota_cmd_data ,p_g24_mouse_ota_process_data 
-04cd c0030556 beq g24_ota_cmd_reset ,p_g24_mouse_ota_process_reset 
-04ce c07f84d0 beq g24_ota_cmd_ping ,p_g24_mouse_ota_process_ping 
-04cf 2020137a branch assert 
+04c3 6fe0c80a fetch 1 ,mem_24g_rxpayload 
+04c4 c1d78000 rtnne datatype_ota 
+04c5 efe08006 ifetch 1 ,contr 
+04c6 e8408006 ifetcht 1 ,contr 
+04c7 18467c02 sub temp ,g24_ota_target_mouse ,null 
+04c8 2422937a nbranch assert ,zero 
+04c9 c00084d2 beq g24_ota_cmd_version ,p_g24_mouse_ota_process_version 
+04ca c00104d5 beq g24_ota_cmd_info ,p_g24_mouse_ota_process_info 
+04cb c00184d7 beq g24_ota_cmd_config ,p_g24_mouse_ota_process_config 
+04cc c00204d9 beq g24_ota_cmd_set_config_end ,p_g24_mouse_ota_process_set_config_end 
+04cd c0028531 beq g24_ota_cmd_data ,p_g24_mouse_ota_process_data 
+04ce c0030557 beq g24_ota_cmd_reset ,p_g24_mouse_ota_process_reset 
+04cf c07f84d1 beq g24_ota_cmd_ping ,p_g24_mouse_ota_process_ping 
+04d0 2020137a branch assert 
 
 p_g24_mouse_ota_process_ping:
-04d0 20600000 rtn 
+04d1 20600000 rtn 
 
 p_g24_mouse_ota_process_version:
-04d1 204004b7 call p_g24_ota_mode_enable 
-04d2 704bf701 jam g24_ota_sm_rx_version ,mem_g24_ota_sm 
-04d3 20600000 rtn 
+04d2 204004b8 call p_g24_ota_mode_enable 
+04d3 704bf701 jam g24_ota_sm_rx_version ,mem_g24_ota_sm 
+04d4 20600000 rtn 
 
 p_g24_mouse_ota_process_info:
-04d4 704bf704 jam g24_ota_sm_rx_info ,mem_g24_ota_sm 
-04d5 20600000 rtn 
+04d5 704bf704 jam g24_ota_sm_rx_info ,mem_g24_ota_sm 
+04d6 20600000 rtn 
 
 p_g24_mouse_ota_process_config:
-04d6 704bf707 jam g24_ota_sm_rx_config ,mem_g24_ota_sm 
-04d7 20600000 rtn 
+04d7 704bf707 jam g24_ota_sm_rx_config ,mem_g24_ota_sm 
+04d8 20600000 rtn 
 
 p_g24_mouse_ota_process_set_config_end:
-04d8 704bf70a jam g24_ota_sm_rx_set_config_end ,mem_g24_ota_sm 
-04d9 efe10006 ifetch 2 ,contr 
-04da e8410006 ifetcht 2 ,contr 
-04db 6a214c18 fetchr rega ,2 ,mem_g24_ota_rx_alllen 
-04dc 9a267c00 isub rega ,null 
-04dd 2422854e nbranch p_g24_mouse_ota_process_fail ,zero 
-04de 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
-04df 98467c00 isub temp ,null 
-04e0 2422854e nbranch p_g24_mouse_ota_process_fail ,zero 
-04e1 204004e4 call p_g24_check_ota_data_all 
-04e2 2434054e nbranch p_g24_mouse_ota_process_fail ,user 
-04e3 2020054c branch p_g24_mouse_ota_process_ok 
+04d9 704bf70a jam g24_ota_sm_rx_set_config_end ,mem_g24_ota_sm 
+04da efe10006 ifetch 2 ,contr 
+04db e8410006 ifetcht 2 ,contr 
+04dc 6a214c18 fetchr rega ,2 ,mem_g24_ota_rx_alllen 
+04dd 9a267c00 isub rega ,null 
+04de 2422854f nbranch p_g24_mouse_ota_process_fail ,zero 
+04df 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
+04e0 98467c00 isub temp ,null 
+04e1 2422854f nbranch p_g24_mouse_ota_process_fail ,zero 
+04e2 204004e5 call p_g24_check_ota_data_all 
+04e3 2434054f nbranch p_g24_mouse_ota_process_fail ,user 
+04e4 2020054d branch p_g24_mouse_ota_process_ok 
 
 p_g24_check_ota_data_all:
-04e4 204004ef call p_g24_check_ota_data 
-04e5 24740000 nrtn user 
-04e6 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
-04e7 9e067c00 isub alarm ,null 
-04e8 2422fe56 nbranch disable_user ,zero 
-04e9 684909e8 fetcht 2 ,mem_temp_block6 
-04ea 6fe14c18 fetch 2 ,mem_g24_ota_rx_alllen 
-04eb 1fe0fffb increase -5 ,pdata 
-04ec 98467c00 isub temp ,null 
-04ed 2422fe56 nbranch disable_user ,zero 
-04ee 20207e54 branch enable_user 
+04e5 204004f0 call p_g24_check_ota_data 
+04e6 24740000 nrtn user 
+04e7 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
+04e8 9e067c00 isub alarm ,null 
+04e9 2422fe56 nbranch disable_user ,zero 
+04ea 684909e8 fetcht 2 ,mem_temp_block6 
+04eb 6fe14c18 fetch 2 ,mem_g24_ota_rx_alllen 
+04ec 1fe0fffb increase -5 ,pdata 
+04ed 98467c00 isub temp ,null 
+04ee 2422fe56 nbranch disable_user ,zero 
+04ef 20207e54 branch enable_user 
 
 p_g24_check_ota_data:
-04ef 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
-04f0 1ff0fe00 byteswap pdata ,pdata 
-04f1 67e102e4 store 2 ,mem_addr_mi 
-04f2 d8400003 arg 3 ,temp 
-04f3 da2009d2 arg mem_temp_block5 ,rega 
-04f4 20405de2 call iicd_read_eep 
-04f5 6fe089d2 fetch 1 ,mem_temp_block5 
-04f6 c0ad7e56 bne g24_ota_data_header ,disable_user 
-04f7 e8410006 ifetcht 2 ,contr 
-04f8 6049095c storet 2 ,mem_pdatatemp 
-04f9 604909e8 storet 2 ,mem_temp_block6 
-04fa 6fe089d2 fetch 1 ,mem_temp_block5 
-04fb dd60ffff arg 0xffff ,rege 
-04fc d8400000 arg 0 ,temp 
-04fd d8c009d2 arg mem_temp_block5 ,contr 
-04fe df200003 arg 3 ,loopcnt 
-04ff 20400566 call p_g24_mouse_data_sum 
-0500 18426000 copy temp ,alarm 
-0501 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
-0502 1fe0ee03 add pdata ,3 ,regf 
-0503 20400513 call p_g24_check_ota_data_loop 
-0504 1ef0fe00 byteswap regf ,pdata 
-0505 67e102e4 store 2 ,mem_addr_mi 
-0506 d8400002 arg 2 ,temp 
-0507 da2009d2 arg mem_temp_block5 ,rega 
-0508 20405de2 call iicd_read_eep 
-0509 6fe109d2 fetch 2 ,mem_temp_block5 
-050a 9d667c00 isub rege ,null 
-050b 2422fe56 nbranch disable_user ,zero 
-050c 6fe089d2 fetch 1 ,mem_temp_block5 
-050d 9e00e000 iadd alarm ,alarm 
-050e efe08006 ifetch 1 ,contr 
-050f 9e00e000 iadd alarm ,alarm 
-0510 5800ffff setarg 0xffff 
-0511 9e016000 iand alarm ,alarm 
-0512 20207e54 branch enable_user 
+04f0 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
+04f1 1ff0fe00 byteswap pdata ,pdata 
+04f2 67e102e4 store 2 ,mem_addr_mi 
+04f3 d8400003 arg 3 ,temp 
+04f4 da2009d2 arg mem_temp_block5 ,rega 
+04f5 20405de2 call iicd_read_eep 
+04f6 6fe089d2 fetch 1 ,mem_temp_block5 
+04f7 c0ad7e56 bne g24_ota_data_header ,disable_user 
+04f8 e8410006 ifetcht 2 ,contr 
+04f9 6049095c storet 2 ,mem_pdatatemp 
+04fa 604909e8 storet 2 ,mem_temp_block6 
+04fb 6fe089d2 fetch 1 ,mem_temp_block5 
+04fc dd60ffff arg 0xffff ,rege 
+04fd d8400000 arg 0 ,temp 
+04fe d8c009d2 arg mem_temp_block5 ,contr 
+04ff df200003 arg 3 ,loopcnt 
+0500 20400567 call p_g24_mouse_data_sum 
+0501 18426000 copy temp ,alarm 
+0502 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
+0503 1fe0ee03 add pdata ,3 ,regf 
+0504 20400514 call p_g24_check_ota_data_loop 
+0505 1ef0fe00 byteswap regf ,pdata 
+0506 67e102e4 store 2 ,mem_addr_mi 
+0507 d8400002 arg 2 ,temp 
+0508 da2009d2 arg mem_temp_block5 ,rega 
+0509 20405de2 call iicd_read_eep 
+050a 6fe109d2 fetch 2 ,mem_temp_block5 
+050b 9d667c00 isub rege ,null 
+050c 2422fe56 nbranch disable_user ,zero 
+050d 6fe089d2 fetch 1 ,mem_temp_block5 
+050e 9e00e000 iadd alarm ,alarm 
+050f efe08006 ifetch 1 ,contr 
+0510 9e00e000 iadd alarm ,alarm 
+0511 5800ffff setarg 0xffff 
+0512 9e016000 iand alarm ,alarm 
+0513 20207e54 branch enable_user 
 
 p_g24_check_ota_data_loop:
-0513 6fe1095c fetch 2 ,mem_pdatatemp 
-0514 207a0000 rtn blank 
-0515 1fe20400 copy pdata ,temp 
-0516 1fe67c10 sub pdata ,16 ,null 
-0517 2021052e branch p_g24_check_ota_data_loopend ,positive 
-0518 1fe0fff0 increase -16 ,pdata 
-0519 d8400010 arg 0x10 ,temp 
+0514 6fe1095c fetch 2 ,mem_pdatatemp 
+0515 207a0000 rtn blank 
+0516 1fe20400 copy pdata ,temp 
+0517 1fe67c10 sub pdata ,16 ,null 
+0518 2021052f branch p_g24_check_ota_data_loopend ,positive 
+0519 1fe0fff0 increase -16 ,pdata 
+051a d8400010 arg 0x10 ,temp 
 
 p_g24_check_ota_data_loop2:
-051a 67e1095c store 2 ,mem_pdatatemp 
-051b 18425e00 copy temp ,regext 
-051c 1ee27e00 copy regf ,pdata 
-051d 1ff0fe00 byteswap pdata ,pdata 
-051e 67e102e4 store 2 ,mem_addr_mi 
-051f da2009d2 arg mem_temp_block5 ,rega 
-0520 20405de2 call iicd_read_eep 
-0521 1ee27e00 copy regf ,pdata 
-0522 9de0ee00 iadd regext ,regf 
-0523 1de27200 copy regext ,loopcnt 
-0524 1d627e00 copy rege ,pdata 
-0525 d8c009d2 arg mem_temp_block5 ,contr 
-0526 efe00006 icrc contr 
-0527 1fe25600 copy pdata ,rege 
-0528 1de27200 copy regext ,loopcnt 
-0529 d8c009d2 arg mem_temp_block5 ,contr 
-052a 1e020400 copy alarm ,temp 
-052b 20400566 call p_g24_mouse_data_sum 
-052c 18426000 copy temp ,alarm 
-052d 20200513 branch p_g24_check_ota_data_loop 
+051b 67e1095c store 2 ,mem_pdatatemp 
+051c 18425e00 copy temp ,regext 
+051d 1ee27e00 copy regf ,pdata 
+051e 1ff0fe00 byteswap pdata ,pdata 
+051f 67e102e4 store 2 ,mem_addr_mi 
+0520 da2009d2 arg mem_temp_block5 ,rega 
+0521 20405de2 call iicd_read_eep 
+0522 1ee27e00 copy regf ,pdata 
+0523 9de0ee00 iadd regext ,regf 
+0524 1de27200 copy regext ,loopcnt 
+0525 1d627e00 copy rege ,pdata 
+0526 d8c009d2 arg mem_temp_block5 ,contr 
+0527 efe00006 icrc contr 
+0528 1fe25600 copy pdata ,rege 
+0529 1de27200 copy regext ,loopcnt 
+052a d8c009d2 arg mem_temp_block5 ,contr 
+052b 1e020400 copy alarm ,temp 
+052c 20400567 call p_g24_mouse_data_sum 
+052d 18426000 copy temp ,alarm 
+052e 20200514 branch p_g24_check_ota_data_loop 
 
 p_g24_check_ota_data_loopend:
-052e 58000000 setarg 0 
-052f 2020051a branch p_g24_check_ota_data_loop2 
+052f 58000000 setarg 0 
+0530 2020051b branch p_g24_check_ota_data_loop2 
 
 p_g24_mouse_ota_process_data:
-0530 704bf70d jam g24_ota_sm_rx_data ,mem_g24_ota_sm 
-0531 efe08006 ifetch 1 ,contr 
-0532 18c22200 copy contr ,rega 
-0533 6848cc1c fetcht 1 ,mem_g24_ota_rx_data_count 
-0534 98467c00 isub temp ,null 
-0535 2022854c branch p_g24_mouse_ota_process_ok ,zero 
-0536 2040055d call p_g24_cmd_ota_data_check_count 
-0537 2434054e nbranch p_g24_mouse_ota_process_fail ,user 
-0538 1a467c04 sub regb ,4 ,null 
-0539 2021054e branch p_g24_mouse_ota_process_fail ,positive 
-053a 1a40a5fc increase -4 ,regb 
-053b 62410959 storer regb ,2 ,mem_hold_contw 
-053c 62210957 storer rega ,2 ,mem_hold_contr 
-053d 20405dd3 call iicd_eeprom_write_enable 
-053e 20400550 call p_dongle_usb_cmd_ota_write_data 
-053f 20405dda call iicd_eeprom_write_disable 
-0540 6a410959 fetchr regb ,2 ,mem_hold_contw 
-0541 6a210957 fetchr rega ,2 ,mem_hold_contr 
-0542 6fe14c18 fetch 2 ,mem_g24_ota_rx_alllen 
-0543 9a40fe00 iadd regb ,pdata 
-0544 67e14c18 store 2 ,mem_g24_ota_rx_alllen 
-0545 1a427200 copy regb ,loopcnt 
-0546 d8400000 arg 0 ,temp 
-0547 1a220c00 copy rega ,contr 
-0548 20400566 call p_g24_mouse_data_sum 
-0549 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
-054a 9840fe00 iadd temp ,pdata 
-054b 67e14c1a store 2 ,mem_g24_ota_rx_sum 
+0531 704bf70d jam g24_ota_sm_rx_data ,mem_g24_ota_sm 
+0532 efe08006 ifetch 1 ,contr 
+0533 18c22200 copy contr ,rega 
+0534 6848cc1c fetcht 1 ,mem_g24_ota_rx_data_count 
+0535 98467c00 isub temp ,null 
+0536 2022854d branch p_g24_mouse_ota_process_ok ,zero 
+0537 2040055e call p_g24_cmd_ota_data_check_count 
+0538 2434054f nbranch p_g24_mouse_ota_process_fail ,user 
+0539 1a467c04 sub regb ,4 ,null 
+053a 2021054f branch p_g24_mouse_ota_process_fail ,positive 
+053b 1a40a5fc increase -4 ,regb 
+053c 62410959 storer regb ,2 ,mem_hold_contw 
+053d 62210957 storer rega ,2 ,mem_hold_contr 
+053e 20405dd3 call iicd_eeprom_write_enable 
+053f 20400551 call p_dongle_usb_cmd_ota_write_data 
+0540 20405dda call iicd_eeprom_write_disable 
+0541 6a410959 fetchr regb ,2 ,mem_hold_contw 
+0542 6a210957 fetchr rega ,2 ,mem_hold_contr 
+0543 6fe14c18 fetch 2 ,mem_g24_ota_rx_alllen 
+0544 9a40fe00 iadd regb ,pdata 
+0545 67e14c18 store 2 ,mem_g24_ota_rx_alllen 
+0546 1a427200 copy regb ,loopcnt 
+0547 d8400000 arg 0 ,temp 
+0548 1a220c00 copy rega ,contr 
+0549 20400567 call p_g24_mouse_data_sum 
+054a 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
+054b 9840fe00 iadd temp ,pdata 
+054c 67e14c1a store 2 ,mem_g24_ota_rx_sum 
 
 p_g24_mouse_ota_process_ok:
-054c 704bf500 jam g24_ota_status_success ,mem_g24_ota_rtn_state 
-054d 20600000 rtn 
+054d 704bf500 jam g24_ota_status_success ,mem_g24_ota_rtn_state 
+054e 20600000 rtn 
 
 p_g24_mouse_ota_process_fail:
-054e 704bf501 jam g24_ota_status_fail ,mem_g24_ota_rtn_state 
-054f 20600000 rtn 
+054f 704bf501 jam g24_ota_status_fail ,mem_g24_ota_rtn_state 
+0550 20600000 rtn 
 
 p_dongle_usb_cmd_ota_write_data:
-0550 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
-0551 207a0000 rtn blank 
-0552 68494c18 fetcht 2 ,mem_g24_ota_rx_alllen 
-0553 9840fe00 iadd temp ,pdata 
-0554 1a420400 copy regb ,temp 
-0555 20205e04 branch iicd_write_ota_data 
+0551 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
+0552 207a0000 rtn blank 
+0553 68494c18 fetcht 2 ,mem_g24_ota_rx_alllen 
+0554 9840fe00 iadd temp ,pdata 
+0555 1a420400 copy regb ,temp 
+0556 20205e04 branch iicd_write_ota_data 
 
 p_g24_mouse_ota_process_reset:
-0556 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
-0557 c1080000 rtneq g24_ota_sm_rx_reset 
-0558 c1088000 rtneq g24_ota_sm_tx_reset 
-0559 c1090000 rtneq g24_ota_sm_tx_reset_ok 
-055a 704c1d05 jam 5 ,mem_g24_ota_reset_timer 
-055b 704bf710 jam g24_ota_sm_rx_reset ,mem_g24_ota_sm 
-055c 20600000 rtn 
+0557 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
+0558 c1080000 rtneq g24_ota_sm_rx_reset 
+0559 c1088000 rtneq g24_ota_sm_tx_reset 
+055a c1090000 rtneq g24_ota_sm_tx_reset_ok 
+055b 704c1d05 jam 5 ,mem_g24_ota_reset_timer 
+055c 704bf710 jam g24_ota_sm_rx_reset ,mem_g24_ota_sm 
+055d 20600000 rtn 
 
 p_g24_cmd_ota_data_check_count:
-055d 6848cc1c fetcht 1 ,mem_g24_ota_rx_data_count 
-055e 67e0cc1c store 1 ,mem_g24_ota_rx_data_count 
-055f c0000563 beq 0 ,p_g24_cmd_ota_data_check_count_0 
-0560 98467e00 isub temp ,pdata 
-0561 c000fe54 beq 1 ,enable_user 
-0562 20207e56 branch disable_user 
+055e 6848cc1c fetcht 1 ,mem_g24_ota_rx_data_count 
+055f 67e0cc1c store 1 ,mem_g24_ota_rx_data_count 
+0560 c0000564 beq 0 ,p_g24_cmd_ota_data_check_count_0 
+0561 98467e00 isub temp ,pdata 
+0562 c000fe54 beq 1 ,enable_user 
+0563 20207e56 branch disable_user 
 
 p_g24_cmd_ota_data_check_count_0:
-0563 18467cff sub temp ,0xff ,null 
-0564 2022fe54 branch enable_user ,zero 
-0565 20207e56 branch disable_user 
+0564 18467cff sub temp ,0xff ,null 
+0565 2022fe54 branch enable_user ,zero 
+0566 20207e56 branch disable_user 
 
 p_g24_mouse_data_sum:
-0566 efe08006 ifetch 1 ,contr 
-0567 98408400 iadd temp ,temp 
-0568 c2000566 loop p_g24_mouse_data_sum 
-0569 20600000 rtn 
+0567 efe08006 ifetch 1 ,contr 
+0568 98408400 iadd temp ,temp 
+0569 c2000567 loop p_g24_mouse_data_sum 
+056a 20600000 rtn 
 
 p_g24_mouse_ota_crc:
-056a 5800ffff setarg 0xffff 
-056b efe00006 icrc contr 
-056c 20600000 rtn 
+056b 5800ffff setarg 0xffff 
+056c efe00006 icrc contr 
+056d 20600000 rtn 
 
 p_g24_mouse_ota_check_crc:
-056d 6f20c82a fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-056e 1f267c02 sub loopcnt ,2 ,null 
-056f 20217e56 branch disable_user ,positive 
-0570 dfe0480a arg mem_24g_rxpayload ,pdata 
-0571 9f208c00 iadd loopcnt ,contr 
-0572 18c08dfe increase -2 ,contr 
-0573 e8410006 ifetcht 2 ,contr 
-0574 d8c0480a arg mem_24g_rxpayload ,contr 
-0575 2040056a call p_g24_mouse_ota_crc 
-0576 98467c00 isub temp ,null 
-0577 2022fe54 branch enable_user ,zero 
-0578 20207e56 branch disable_user 
+056e 6f20c82a fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+056f 1f267c02 sub loopcnt ,2 ,null 
+0570 20217e56 branch disable_user ,positive 
+0571 dfe0480a arg mem_24g_rxpayload ,pdata 
+0572 9f208c00 iadd loopcnt ,contr 
+0573 18c08dfe increase -2 ,contr 
+0574 e8410006 ifetcht 2 ,contr 
+0575 d8c0480a arg mem_24g_rxpayload ,contr 
+0576 2040056b call p_g24_mouse_ota_crc 
+0577 98467c00 isub temp ,null 
+0578 2022fe54 branch enable_user ,zero 
+0579 20207e56 branch disable_user 
 
 p_g24_mouse_ota_check_data:
-0579 efe08006 ifetch 1 ,contr 
-057a c0ad0592 bne 0x5a ,p_g24_mouse_ota_load_fail 
-057b 1a220200 copy rega ,1 ,contr 
-057c 68490006 fetcht 2 ,contr 
+057a efe08006 ifetch 1 ,contr 
+057b c0ad0593 bne 0x5a ,p_g24_mouse_ota_load_fail 
+057c 1a220200 copy rega ,1 ,contr 
+057d 68490006 fetcht 2 ,contr 
 
 p_g24_mouse_ota_check_data_loop:
-057d 18467c03 sub temp ,3 ,null 
-057e 20210592 branch p_g24_mouse_ota_load_fail ,positive 
-057f 18c08c02 increase 2 ,contr 
-0580 ef208006 ifetchr loopcnt ,1 ,contr 
-0581 1f267c00 sub loopcnt ,0 ,null 
-0582 24228592 nbranch p_g24_mouse_ota_load_fail ,zero 
-0583 1f227e00 copy loopcnt ,pdata 
-0584 98c08c00 iadd contr ,contr 
-0585 18427e00 copy temp ,pdata 
-0586 1f20f203 increase 3 ,loopcnt 
-0587 9f260400 isub loopcnt ,temp 
-0588 2422857d nbranch p_g24_mouse_ota_check_data_loop ,zero 
-0589 e8410006 ifetcht 2 ,contr 
-058a 1a208c01 add rega ,1 ,contr 
-058b efe10006 ifetch 2 ,contr 
-058c 1fe0f202 add pdata ,2 ,loopcnt 
-058d 1a208c01 add rega ,1 ,contr 
-058e 2040056a call p_g24_mouse_ota_crc 
-058f 98467c00 isub temp ,null 
-0590 24228592 nbranch p_g24_mouse_ota_load_fail ,zero 
+057e 18467c03 sub temp ,3 ,null 
+057f 20210593 branch p_g24_mouse_ota_load_fail ,positive 
+0580 18c08c02 increase 2 ,contr 
+0581 ef208006 ifetchr loopcnt ,1 ,contr 
+0582 1f267c00 sub loopcnt ,0 ,null 
+0583 24228593 nbranch p_g24_mouse_ota_load_fail ,zero 
+0584 1f227e00 copy loopcnt ,pdata 
+0585 98c08c00 iadd contr ,contr 
+0586 18427e00 copy temp ,pdata 
+0587 1f20f203 increase 3 ,loopcnt 
+0588 9f260400 isub loopcnt ,temp 
+0589 2422857e nbranch p_g24_mouse_ota_check_data_loop ,zero 
+058a e8410006 ifetcht 2 ,contr 
+058b 1a208c01 add rega ,1 ,contr 
+058c efe10006 ifetch 2 ,contr 
+058d 1fe0f202 add pdata ,2 ,loopcnt 
+058e 1a208c01 add rega ,1 ,contr 
+058f 2040056b call p_g24_mouse_ota_crc 
+0590 98467c00 isub temp ,null 
+0591 24228593 nbranch p_g24_mouse_ota_load_fail ,zero 
 
 p_g24_mouse_ota_load_success:
-0591 20207e54 branch enable_user 
+0592 20207e54 branch enable_user 
 
 p_g24_mouse_ota_load_fail:
-0592 20207e56 branch disable_user 
+0593 20207e56 branch disable_user 
 
 p_g24_mouse_ota_get_otaaddr:
-0593 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
-0594 1fe20c00 copy pdata ,contr 
-0595 20400579 call p_g24_mouse_ota_check_data 
-0596 2434059e nbranch p_g24_mouse_ota_config_end ,user 
-0597 6a214bf3 fetchr rega ,2 ,mem_g24_ota_config_addr 
-0598 1a208c01 add rega ,1 ,contr 
-0599 efe10006 ifetch 2 ,contr 
-059a 1fe0fe05 increase 5 ,pdata 
-059b 9a20fe00 iadd rega ,pdata 
-059c 67e14bf3 store 2 ,mem_g24_ota_config_addr 
-059d 20200593 branch p_g24_mouse_ota_get_otaaddr 
+0594 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
+0595 1fe20c00 copy pdata ,contr 
+0596 2040057a call p_g24_mouse_ota_check_data 
+0597 2434059f nbranch p_g24_mouse_ota_config_end ,user 
+0598 6a214bf3 fetchr rega ,2 ,mem_g24_ota_config_addr 
+0599 1a208c01 add rega ,1 ,contr 
+059a efe10006 ifetch 2 ,contr 
+059b 1fe0fe05 increase 5 ,pdata 
+059c 9a20fe00 iadd rega ,pdata 
+059d 67e14bf3 store 2 ,mem_g24_ota_config_addr 
+059e 20200594 branch p_g24_mouse_ota_get_otaaddr 
 
 p_g24_mouse_ota_config_end:
-059e 6fe14bf1 fetch 2 ,mem_g24_ota_storage_size 
-059f 68494bf3 fetcht 2 ,mem_g24_ota_config_addr 
-05a0 98467e00 isub temp ,pdata 
-05a1 20600000 rtn 
+059f 6fe14bf1 fetch 2 ,mem_g24_ota_storage_size 
+05a0 68494bf3 fetcht 2 ,mem_g24_ota_config_addr 
+05a1 98467e00 isub temp ,pdata 
+05a2 20600000 rtn 
 
 p_ota_init:
-05a2 58000000 setarg 0 
-05a3 67e14c18 store 2 ,mem_g24_ota_rx_alllen 
-05a4 67e14c1a store 2 ,mem_g24_ota_rx_sum 
-05a5 67e0cc1c store 1 ,mem_g24_ota_rx_data_count 
-05a6 67e0cbf7 store 1 ,mem_g24_ota_sm 
-05a7 20600000 rtn 
+05a3 58000000 setarg 0 
+05a4 67e14c18 store 2 ,mem_g24_ota_rx_alllen 
+05a5 67e14c1a store 2 ,mem_g24_ota_rx_sum 
+05a6 67e0cc1c store 1 ,mem_g24_ota_rx_data_count 
+05a7 67e0cbf7 store 1 ,mem_g24_ota_sm 
+05a8 20600000 rtn 
 
 p_mouse_24g_package_ota:
-05a8 20407e56 call disable_user 
-05a9 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
-05aa c00085b1 beq g24_ota_sm_rx_version ,p_mouse_24g_package_ota_version 
-05ab c00205bb beq g24_ota_sm_rx_info ,p_mouse_24g_package_ota_info 
-05ac c00385da beq g24_ota_sm_rx_config ,p_mouse_24g_package_ota_config 
-05ad c0050600 beq g24_ota_sm_rx_set_config_end ,p_mouse_24g_package_ota_set_config_end 
-05ae c00685f5 beq g24_ota_sm_rx_data ,p_mouse_24g_package_ota_data 
-05af c00805de beq g24_ota_sm_rx_reset ,p_mouse_24g_package_ota_reset 
-05b0 20200609 branch p_mouse_24g_package_ping 
+05a9 20407e56 call disable_user 
+05aa 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
+05ab c00085b2 beq g24_ota_sm_rx_version ,p_mouse_24g_package_ota_version 
+05ac c00205bc beq g24_ota_sm_rx_info ,p_mouse_24g_package_ota_info 
+05ad c00385db beq g24_ota_sm_rx_config ,p_mouse_24g_package_ota_config 
+05ae c0050601 beq g24_ota_sm_rx_set_config_end ,p_mouse_24g_package_ota_set_config_end 
+05af c00685f6 beq g24_ota_sm_rx_data ,p_mouse_24g_package_ota_data 
+05b0 c00805df beq g24_ota_sm_rx_reset ,p_mouse_24g_package_ota_reset 
+05b1 2020060a branch p_mouse_24g_package_ping 
 
 p_mouse_24g_package_ota_version:
-05b1 7047c6af jam datatype_ota ,mem_24g_txbuf 
-05b2 7047c701 jam g24_ota_cmd_version ,mem_24g_txbuf + 1 
-05b3 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
-05b4 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-05b5 58000001 setarg g24_ota_version 
-05b6 67e147ca store 2 ,mem_24g_txbuf + 4 
-05b7 70483601 jam type_ms ,mem_24g_data_type 
-05b8 70483506 jam 6 ,mem_24g_datalen 
-05b9 704bf702 jam g24_ota_sm_tx_version ,mem_g24_ota_sm 
-05ba 20600000 rtn 
+05b2 7047c6af jam datatype_ota ,mem_24g_txbuf 
+05b3 7047c701 jam g24_ota_cmd_version ,mem_24g_txbuf + 1 
+05b4 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
+05b5 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+05b6 58000001 setarg g24_ota_version 
+05b7 67e147ca store 2 ,mem_24g_txbuf + 4 
+05b8 70483601 jam type_ms ,mem_24g_data_type 
+05b9 70483506 jam 6 ,mem_24g_datalen 
+05ba 704bf702 jam g24_ota_sm_tx_version ,mem_g24_ota_sm 
+05bb 20600000 rtn 
 
 p_mouse_24g_package_ota_info:
-05bb 7047c6af jam datatype_ota ,mem_24g_txbuf 
-05bc 7047c702 jam g24_ota_cmd_info ,mem_24g_txbuf + 1 
-05bd 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
-05be 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-05bf 6ff10000 fetch 2 ,core_chipid 
-05c0 67e147ca store 2 ,mem_24g_txbuf + 4 
-05c1 58006661 setarg 0x6661 
-05c2 e7e10005 istore 2 ,contw 
-05c3 58000001 setarg 1 
-05c4 e7e30005 istore 6 ,contw 
-05c5 58000000 setarg 0 
-05c6 e7e10005 istore 2 ,contw 
+05bc 7047c6af jam datatype_ota ,mem_24g_txbuf 
+05bd 7047c702 jam g24_ota_cmd_info ,mem_24g_txbuf + 1 
+05be 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
+05bf 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+05c0 6ff10000 fetch 2 ,core_chipid 
+05c1 67e147ca store 2 ,mem_24g_txbuf + 4 
+05c2 58006661 setarg 0x6661 
+05c3 e7e10005 istore 2 ,contw 
+05c4 58000001 setarg 1 
+05c5 e7e30005 istore 6 ,contw 
+05c6 58000000 setarg 0 
 05c7 e7e10005 istore 2 ,contw 
-05c8 204005e2 call p_mouse_24g_storage_type 
-05c9 e7e08005 istore 1 ,contw 
-05ca 58000000 setarg 0 
-05cb e7e08005 istore 1 ,contw 
-05cc 68494bf3 fetcht 2 ,mem_g24_ota_config_addr 
-05cd e0410005 istoret 2 ,contw 
-05ce 6fe14bf1 fetch 2 ,mem_g24_ota_storage_size 
-05cf 1fed7e00 lshift8 pdata ,pdata 
-05d0 1fe37e00 rshift pdata ,pdata 
-05d1 98467e00 isub temp ,pdata 
-05d2 242105d8 nbranch p_dongle_usb_cmd_ota_info_dongle_empty ,positive 
+05c8 e7e10005 istore 2 ,contw 
+05c9 204005e3 call p_mouse_24g_storage_type 
+05ca e7e08005 istore 1 ,contw 
+05cb 58000000 setarg 0 
+05cc e7e08005 istore 1 ,contw 
+05cd 68494bf3 fetcht 2 ,mem_g24_ota_config_addr 
+05ce e0410005 istoret 2 ,contw 
+05cf 6fe14bf1 fetch 2 ,mem_g24_ota_storage_size 
+05d0 1fed7e00 lshift8 pdata ,pdata 
+05d1 1fe37e00 rshift pdata ,pdata 
+05d2 98467e00 isub temp ,pdata 
+05d3 242105d9 nbranch p_dongle_usb_cmd_ota_info_dongle_empty ,positive 
 
 p_dongle_usb_cmd_ota_info_dongle_common:
-05d3 e7e10005 istore 2 ,contw 
-05d4 70483518 jam 24 ,mem_24g_datalen 
-05d5 70483601 jam type_ms ,mem_24g_data_type 
-05d6 704bf705 jam g24_ota_sm_tx_info ,mem_g24_ota_sm 
-05d7 20600000 rtn 
+05d4 e7e10005 istore 2 ,contw 
+05d5 70483518 jam 24 ,mem_24g_datalen 
+05d6 70483601 jam type_ms ,mem_24g_data_type 
+05d7 704bf705 jam g24_ota_sm_tx_info ,mem_g24_ota_sm 
+05d8 20600000 rtn 
 
 p_dongle_usb_cmd_ota_info_dongle_empty:
-05d8 58000000 setarg 0 
-05d9 202005d3 branch p_dongle_usb_cmd_ota_info_dongle_common 
+05d9 58000000 setarg 0 
+05da 202005d4 branch p_dongle_usb_cmd_ota_info_dongle_common 
 
 p_mouse_24g_package_ota_config:
-05da 704bf708 jam g24_ota_sm_tx_config ,mem_g24_ota_sm 
-05db 7047c703 jam g24_ota_cmd_config ,mem_24g_txbuf + 1 
-05dc 70483504 jam 4 ,mem_24g_datalen 
-05dd 202005eb branch p_mouse_24g_package_ota_common_ok 
+05db 704bf708 jam g24_ota_sm_tx_config ,mem_g24_ota_sm 
+05dc 7047c703 jam g24_ota_cmd_config ,mem_24g_txbuf + 1 
+05dd 70483504 jam 4 ,mem_24g_datalen 
+05de 202005ec branch p_mouse_24g_package_ota_common_ok 
 
 p_mouse_24g_package_ota_reset:
-05de 704bf711 jam g24_ota_sm_tx_reset ,mem_g24_ota_sm 
-05df 7047c706 jam g24_ota_cmd_reset ,mem_24g_txbuf + 1 
-05e0 70483504 jam 4 ,mem_24g_datalen 
-05e1 202005eb branch p_mouse_24g_package_ota_common_ok 
+05df 704bf711 jam g24_ota_sm_tx_reset ,mem_g24_ota_sm 
+05e0 7047c706 jam g24_ota_cmd_reset ,mem_24g_txbuf + 1 
+05e1 70483504 jam 4 ,mem_24g_datalen 
+05e2 202005ec branch p_mouse_24g_package_ota_common_ok 
 
 p_mouse_24g_storage_type:
-05e2 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-05e3 c28985e7 bbit1 mouse_enable_eeprom ,p_mouse_24g_storage_type_eeprom 
-05e4 c28905e9 bbit1 mouse_enable_flash ,p_mouse_24g_storage_type_flash 
-05e5 58000000 setarg g24_ota_storage_error 
-05e6 20600000 rtn 
+05e3 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+05e4 c28985e8 bbit1 mouse_enable_eeprom ,p_mouse_24g_storage_type_eeprom 
+05e5 c28905ea bbit1 mouse_enable_flash ,p_mouse_24g_storage_type_flash 
+05e6 58000000 setarg g24_ota_storage_error 
+05e7 20600000 rtn 
 
 p_mouse_24g_storage_type_eeprom:
-05e7 58000002 setarg g24_ota_storage_eeprom 
-05e8 20600000 rtn 
+05e8 58000002 setarg g24_ota_storage_eeprom 
+05e9 20600000 rtn 
 
 p_mouse_24g_storage_type_flash:
-05e9 58000004 setarg g24_ota_storage_flash 
-05ea 20600000 rtn 
+05ea 58000004 setarg g24_ota_storage_flash 
+05eb 20600000 rtn 
 
 p_mouse_24g_package_ota_common_ok:
-05eb 70483601 jam type_ms ,mem_24g_data_type 
-05ec 7047c6af jam datatype_ota ,mem_24g_txbuf 
-05ed 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
-05ee 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-05ef 20600000 rtn 
+05ec 70483601 jam type_ms ,mem_24g_data_type 
+05ed 7047c6af jam datatype_ota ,mem_24g_txbuf 
+05ee 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
+05ef 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+05f0 20600000 rtn 
 
 p_mouse_24g_package_ota_common_fail:
-05f0 7047c801 jam g24_ota_status_fail ,mem_24g_txbuf + 2 
-05f1 70483601 jam type_ms ,mem_24g_data_type 
-05f2 7047c6af jam datatype_ota ,mem_24g_txbuf 
-05f3 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-05f4 20600000 rtn 
+05f1 7047c801 jam g24_ota_status_fail ,mem_24g_txbuf + 2 
+05f2 70483601 jam type_ms ,mem_24g_data_type 
+05f3 7047c6af jam datatype_ota ,mem_24g_txbuf 
+05f4 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+05f5 20600000 rtn 
 
 p_mouse_24g_package_ota_data:
-05f5 704bf70f jam g24_ota_sm_tx_data_ok ,mem_g24_ota_sm 
-05f6 7047c705 jam g24_ota_cmd_data ,mem_24g_txbuf + 1 
-05f7 6fe0cc1c fetch 1 ,mem_g24_ota_rx_data_count 
-05f8 67e0c7ca store 1 ,mem_24g_txbuf + 4 
-05f9 70483505 jam 5 ,mem_24g_datalen 
-05fa 70483601 jam type_ms ,mem_24g_data_type 
-05fb 7047c6af jam datatype_ota ,mem_24g_txbuf 
-05fc 6fe0cbf5 fetch 1 ,mem_g24_ota_rtn_state 
-05fd 67e0c7c8 store 1 ,mem_24g_txbuf + 2 
-05fe 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-05ff 20600000 rtn 
+05f6 704bf70f jam g24_ota_sm_tx_data_ok ,mem_g24_ota_sm 
+05f7 7047c705 jam g24_ota_cmd_data ,mem_24g_txbuf + 1 
+05f8 6fe0cc1c fetch 1 ,mem_g24_ota_rx_data_count 
+05f9 67e0c7ca store 1 ,mem_24g_txbuf + 4 
+05fa 70483505 jam 5 ,mem_24g_datalen 
+05fb 70483601 jam type_ms ,mem_24g_data_type 
+05fc 7047c6af jam datatype_ota ,mem_24g_txbuf 
+05fd 6fe0cbf5 fetch 1 ,mem_g24_ota_rtn_state 
+05fe 67e0c7c8 store 1 ,mem_24g_txbuf + 2 
+05ff 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+0600 20600000 rtn 
 
 p_mouse_24g_package_ota_set_config_end:
-0600 704bf70c jam g24_ota_sm_tx_set_config_end_ok ,mem_g24_ota_sm 
-0601 7047c704 jam g24_ota_cmd_set_config_end ,mem_24g_txbuf + 1 
-0602 70483504 jam 4 ,mem_24g_datalen 
-0603 70483601 jam type_ms ,mem_24g_data_type 
-0604 7047c6af jam datatype_ota ,mem_24g_txbuf 
-0605 6fe0cbf5 fetch 1 ,mem_g24_ota_rtn_state 
-0606 67e0c7c8 store 1 ,mem_24g_txbuf + 2 
-0607 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-0608 20600000 rtn 
+0601 704bf70c jam g24_ota_sm_tx_set_config_end_ok ,mem_g24_ota_sm 
+0602 7047c704 jam g24_ota_cmd_set_config_end ,mem_24g_txbuf + 1 
+0603 70483504 jam 4 ,mem_24g_datalen 
+0604 70483601 jam type_ms ,mem_24g_data_type 
+0605 7047c6af jam datatype_ota ,mem_24g_txbuf 
+0606 6fe0cbf5 fetch 1 ,mem_g24_ota_rtn_state 
+0607 67e0c7c8 store 1 ,mem_24g_txbuf + 2 
+0608 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+0609 20600000 rtn 
 
 p_mouse_24g_package_ping:
-0609 7047c6af jam datatype_ota ,mem_24g_txbuf 
-060a 7047c7ff jam g24_ota_cmd_ping ,mem_24g_txbuf + 1 
-060b 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
-060c 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-060d 70483601 jam type_ms ,mem_24g_data_type 
-060e 70483504 jam 4 ,mem_24g_datalen 
-060f 20600000 rtn 
+060a 7047c6af jam datatype_ota ,mem_24g_txbuf 
+060b 7047c7ff jam g24_ota_cmd_ping ,mem_24g_txbuf + 1 
+060c 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
+060d 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+060e 70483601 jam type_ms ,mem_24g_data_type 
+060f 70483504 jam 4 ,mem_24g_datalen 
+0610 20600000 rtn 
 
 p_mouse_24g_package_data_ota:
-0610 1fe22200 copy pdata ,rega 
-0611 704bf800 jam 0 ,mem_g24_ota_prepare_send_len 
-0612 70483601 jam type_ms ,mem_24g_data_type 
-0613 da404bf9 arg mem_g24_ota_txbuf ,regb 
-0614 20600000 rtn 
+0611 1fe22200 copy pdata ,rega 
+0612 704bf800 jam 0 ,mem_g24_ota_prepare_send_len 
+0613 70483601 jam type_ms ,mem_24g_data_type 
+0614 da404bf9 arg mem_g24_ota_txbuf ,regb 
+0615 20600000 rtn 
               org 0x800
 
 start:
Index: program/patch.prog
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/mouse_public_xzr_branch/YH274_3m_3ch_Li_pbdesktop/program/patch.prog	(revision 1014)
+++ /YC1308AC/branch/mouse_project/XZR/mouse_public_xzr_branch/YH274_3m_3ch_Li_pbdesktop/program/patch.prog	(working copy)
@@ -1334,7 +1334,8 @@
 p_mouse_3io6key_customerkey_check_next:
 	copy rega,pdata
 	bbit1 MOUSE_CUSTOMER_KEY,mouse_customerkey_press
-	branch mouse_customerkey_release
+	call mouse_customerkey_release
+	branch mouse_check_customerkey_gpio_exit
 
 //input:pdata gpio number
 p_mouse_gpio_config_output_high:
Index: sched/mouse.dat
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/mouse_public_xzr_branch/YH274_3m_3ch_Li_pbdesktop/sched/mouse.dat	(revision 1014)
+++ /YC1308AC/branch/mouse_project/XZR/mouse_public_xzr_branch/YH274_3m_3ch_Li_pbdesktop/sched/mouse.dat	(working copy)
@@ -118,9 +118,9 @@
 mem_customer_key_gpio:0d
 mem_whee_a_data_gpio:05
 mem_whee_b_data_gpio:04
-mem_config_device_24g_led_gpio:8a
-mem_config_device_bt1_led_gpio:88
-mem_select_sensor_angle_gpio:08
+mem_config_device_24g_led_gpio:0a
+mem_config_device_bt1_led_gpio:08
+mem_select_sensor_angle_gpio:ff
 
 mem_lbutton_gpio:0b
 mem_rbutton_gpio:0d
