Index: output/eeprom.dat
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/mouse_public_xzr_branch/WK8_VE-BM01_OnlyBT/output/eeprom.dat	(revision 1222)
+++ /YC1308AC/branch/mouse_project/XZR/mouse_public_xzr_branch/WK8_VE-BM01_OnlyBT/output/eeprom.dat	(working copy)
@@ -2,8 +2,8 @@
 02
 aa
 55
-fe
-17
+0a
+18
 c2
 84
 00
@@ -299,7 +299,7 @@
 20
 40
 04
-d9
+dc
 20
 34
 00
@@ -899,7 +899,7 @@
 24
 3a
 05
-92
+95
 20
 40
 3f
@@ -1287,7 +1287,7 @@
 20
 40
 04
-9a
+9d
 20
 40
 01
@@ -2323,7 +2323,7 @@
 c2
 81
 84
-a4
+a7
 c2
 80
 a3
@@ -3435,7 +3435,7 @@
 20
 40
 04
-59
+5c
 20
 40
 3f
@@ -4420,6 +4420,18 @@
 20
 46
 ee
+58
+00
+00
+05
+20
+40
+5b
+0d
+c0
+8c
+04
+48
 70
 49
 27
@@ -4435,7 +4447,7 @@
 20
 40
 04
-57
+5a
 da
 60
 4c
@@ -4471,7 +4483,7 @@
 c0
 00
 84
-5e
+61
 20
 60
 00
@@ -4487,7 +4499,7 @@
 20
 40
 04
-71
+74
 6f
 e0
 c8
@@ -4495,11 +4507,11 @@
 c2
 83
 84
-66
+69
 20
 40
 04
-79
+7c
 67
 e0
 c8
@@ -4511,7 +4523,7 @@
 20
 40
 04
-69
+6c
 67
 e0
 c8
@@ -4535,7 +4547,7 @@
 20
 40
 04
-79
+7c
 1f
 e2
 04
@@ -4559,11 +4571,11 @@
 c2
 83
 84
-76
+79
 20
 40
 04
-79
+7c
 67
 e0
 c8
@@ -4575,7 +4587,7 @@
 20
 40
 04
-69
+6c
 67
 e0
 c8
@@ -4615,7 +4627,7 @@
 24
 21
 04
-82
+85
 20
 60
 00
@@ -4643,27 +4655,27 @@
 c0
 01
 04
-90
+93
 c0
 02
 84
-92
+95
 c0
 04
 04
-94
+97
 c0
 05
 84
-96
+99
 c0
 07
 04
-98
+9b
 c0
 08
 84
-8e
+91
 20
 60
 00
@@ -4723,7 +4735,7 @@
 20
 3a
 04
-84
+87
 1f
 e2
 24
@@ -4739,7 +4751,7 @@
 c0
 57
 84
-ac
+af
 20
 60
 00
@@ -4755,7 +4767,7 @@
 20
 20
 05
-8c
+8f
 20
 60
 00
@@ -4815,31 +4827,31 @@
 c0
 00
 84
-bb
+be
 c0
 01
 04
-be
+c1
 c0
 01
 84
-c0
+c3
 c0
 02
 04
-c2
+c5
 c0
 02
 85
-1a
+1d
 c0
 03
 05
-40
+43
 c0
 7f
 84
-ba
+bd
 20
 20
 13
@@ -4851,7 +4863,7 @@
 20
 40
 04
-a1
+a4
 70
 4b
 f7
@@ -4899,7 +4911,7 @@
 24
 22
 85
-38
+3b
 6f
 e1
 4c
@@ -4911,23 +4923,23 @@
 24
 22
 85
-38
+3b
 20
 40
 04
-ce
+d1
 24
 34
 05
-38
+3b
 20
 20
 05
-36
+39
 20
 40
 04
-d9
+dc
 24
 74
 00
@@ -5035,7 +5047,7 @@
 20
 40
 05
-50
+53
 18
 42
 60
@@ -5050,8 +5062,8 @@
 03
 20
 40
-04
-fd
+05
+00
 1e
 f0
 fe
@@ -5131,7 +5143,7 @@
 20
 21
 05
-18
+1b
 1f
 e0
 ff
@@ -5211,15 +5223,15 @@
 20
 40
 05
-50
+53
 18
 42
 60
 00
 20
 20
-04
-fd
+05
+00
 58
 00
 00
@@ -5227,7 +5239,7 @@
 20
 20
 05
-04
+07
 70
 4b
 f7
@@ -5251,15 +5263,15 @@
 20
 22
 85
-36
+39
 20
 40
 05
-47
+4a
 24
 34
 05
-38
+3b
 1a
 46
 7c
@@ -5267,7 +5279,7 @@
 20
 21
 05
-38
+3b
 1a
 40
 a5
@@ -5287,7 +5299,7 @@
 20
 40
 05
-3a
+3d
 20
 40
 5d
@@ -5327,7 +5339,7 @@
 20
 40
 05
-50
+53
 6f
 e1
 4c
@@ -5419,7 +5431,7 @@
 c0
 00
 05
-4d
+50
 98
 46
 7e
@@ -5455,7 +5467,7 @@
 c2
 00
 05
-50
+53
 20
 60
 00
@@ -5507,7 +5519,7 @@
 20
 40
 05
-54
+57
 98
 46
 7c
@@ -5527,7 +5539,7 @@
 c0
 ad
 05
-7c
+7f
 1a
 22
 02
@@ -5543,7 +5555,7 @@
 20
 21
 05
-7c
+7f
 18
 c0
 8c
@@ -5559,7 +5571,7 @@
 24
 22
 85
-7c
+7f
 1f
 22
 7e
@@ -5583,7 +5595,7 @@
 24
 22
 85
-67
+6a
 e8
 41
 00
@@ -5607,7 +5619,7 @@
 20
 40
 05
-54
+57
 98
 46
 7c
@@ -5615,7 +5627,7 @@
 24
 22
 85
-7c
+7f
 20
 20
 7e
@@ -5635,11 +5647,11 @@
 20
 40
 05
-63
+66
 24
 34
 05
-88
+8b
 6a
 21
 4b
@@ -5667,7 +5679,7 @@
 20
 20
 05
-7d
+80
 6f
 e1
 4b
@@ -5719,31 +5731,31 @@
 c0
 00
 85
-9b
+9e
 c0
 02
 05
-a5
+a8
 c0
 03
 85
-c4
+c7
 c0
 05
 05
-ea
+ed
 c0
 06
 85
-df
+e2
 c0
 08
 05
-c8
+cb
 20
 20
 05
-f3
+f6
 70
 47
 c6
@@ -5839,7 +5851,7 @@
 20
 40
 05
-cc
+cf
 e7
 e0
 80
@@ -5879,7 +5891,7 @@
 24
 21
 05
-c2
+c5
 e7
 e1
 00
@@ -5907,7 +5919,7 @@
 20
 20
 05
-bd
+c0
 70
 4b
 f7
@@ -5923,7 +5935,7 @@
 20
 20
 05
-d5
+d8
 70
 4b
 f7
@@ -5939,7 +5951,7 @@
 20
 20
 05
-d5
+d8
 6f
 e4
 4b
@@ -5947,11 +5959,11 @@
 c2
 89
 85
-d1
+d4
 c2
 89
 05
-d3
+d6
 58
 00
 00
@@ -6144,8 +6156,8 @@
 60
 00
 00
-d0
-40
+5b
+b6
 aa
 55
 40
@@ -7415,22 +7427,10 @@
 02
 40
 00
-fe
-1c
-e5
-4d
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+0a
+1d
+b7
+8e
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-3b
-f2
+0c
+60
Index: output/program.lis
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/mouse_public_xzr_branch/WK8_VE-BM01_OnlyBT/output/program.lis	(revision 1222)
+++ /YC1308AC/branch/mouse_project/XZR/mouse_public_xzr_branch/WK8_VE-BM01_OnlyBT/output/program.lis	(working copy)
@@ -89,7 +89,7 @@
 
 p_g24_load_ota_config_poweron:
 0048 20405b94 call iicd_load_gpio_init 
-0049 204004d9 call p_g24_check_ota_data 
+0049 204004dc 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 243a0592 nbranch p_mouse_24g_package_ota ,blank 
+00df 243a0595 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 
@@ -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 2040049a call p_g24_mouse_parse_rx 
+0140 2040049d call p_g24_mouse_parse_rx 
 0141 20400143 call p_mouse_wakeup_24g 
 0142 20202651 branch g24_transmit_no_ack 
 
@@ -733,7 +733,7 @@
 p_g24_transmit_dispatch:
 0241 c6930000 rtnmark0 mark_24g 
 0242 6fe0c8a1 fetch 1 ,mem_24g_conn_sm 
-0243 c28184a4 bbit1 state_24g_ota ,p_g24_ota_dispatch 
+0243 c28184a7 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 20400459 call p_mouse_sensor_data_mul 
+0359 2040045c call p_mouse_sensor_data_mul 
 035a 20403f7e call mouse_zwheel 
 035b 20403f83 call mouse_t_zwheel 
 035c 204040dc call mouse_key 
@@ -1438,6 +1438,8 @@
 0445 c018c217 beq p3065_id1 ,mouse_init_p3065 
 0446 c02c4220 beq pka8g2_id1 ,mouse_ka8g2_id2_judge 
 0447 c00c0450 beq om18_id ,p_mouse_om18_init_param 
+
+p_mouse_init_sensor_reset:
 0448 204041b2 call mouse_twspi_reset 
 0449 20001af4 nop 6900 
 044a 20200443 branch p_mouse_init_sensor 
@@ -1452,567 +1454,570 @@
 044f 202046ee branch mouse_dpi_4level_enable 
 
 p_mouse_om18_init_param:
-0450 7049270d jam om18 ,mem_config_sensor_type 
-0451 58008006 setarg 0x8006 
-0452 20405b0c call twspi_write 
-0453 20400457 call p_delay_15ms 
-0454 da604c3d arg mem_sensor_om18_init ,regc 
-0455 2040422b call mouse_sensor_wr_seq 
-0456 20200261 branch p_mouse_seting_sensor_type 
+0450 58000005 setarg pan_reg_opration_mode 
+0451 20405b0d call twspi_read 
+0452 c08c0448 bne 0x18 ,p_mouse_init_sensor_reset 
+0453 7049270d jam om18 ,mem_config_sensor_type 
+0454 58008006 setarg 0x8006 
+0455 20405b0c call twspi_write 
+0456 2040045a call p_delay_15ms 
+0457 da604c3d arg mem_sensor_om18_init ,regc 
+0458 2040422b call mouse_sensor_wr_seq 
+0459 20200261 branch p_mouse_seting_sensor_type 
 
 p_delay_15ms:
-0457 df20000f arg 15 ,loopcnt 
-0458 20207d13 branch delay_ms_wait 
+045a df20000f arg 15 ,loopcnt 
+045b 20207d13 branch delay_ms_wait 
 
 p_mouse_sensor_data_mul:
-0459 6fe0c927 fetch 1 ,mem_config_sensor_type 
-045a c1860000 rtnne om16 
-045b 6fe0c992 fetch 1 ,mem_mouse_dpi 
-045c c000845e beq mouse_dpi_level2 ,p_mouse_sensor_data_set 
-045d 20600000 rtn 
+045c 6fe0c927 fetch 1 ,mem_config_sensor_type 
+045d c1860000 rtnne om16 
+045e 6fe0c992 fetch 1 ,mem_mouse_dpi 
+045f c0008461 beq mouse_dpi_level2 ,p_mouse_sensor_data_set 
+0460 20600000 rtn 
 
 p_mouse_sensor_data_set:
-045e 58000204 setarg 0x0204 
-045f 67e14c37 store 2 ,mem_mouse_xy_date_times 
-0460 20400471 call p_mouse_sensor_data_set_x 
+0461 58000204 setarg 0x0204 
+0462 67e14c37 store 2 ,mem_mouse_xy_date_times 
+0463 20400474 call p_mouse_sensor_data_set_x 
 
 p_mouse_sensor_data_set_y:
-0461 6fe0c8d3 fetch 1 ,mem_mouse_y 
-0462 c2838466 bbit1 7 ,p_mouse_sensor_data_set_y_next 
-0463 20400479 call p_mouse_sensor_data_set_next 
-0464 67e0c8d3 store 1 ,mem_mouse_y 
-0465 20600000 rtn 
-
-p_mouse_sensor_data_set_y_next:
-0466 20400469 call p_mouse_sensor_data_set_reverse 
+0464 6fe0c8d3 fetch 1 ,mem_mouse_y 
+0465 c2838469 bbit1 7 ,p_mouse_sensor_data_set_y_next 
+0466 2040047c call p_mouse_sensor_data_set_next 
 0467 67e0c8d3 store 1 ,mem_mouse_y 
 0468 20600000 rtn 
 
+p_mouse_sensor_data_set_y_next:
+0469 2040046c call p_mouse_sensor_data_set_reverse 
+046a 67e0c8d3 store 1 ,mem_mouse_y 
+046b 20600000 rtn 
+
 p_mouse_sensor_data_set_reverse:
-0469 1fe20400 copy pdata ,temp 
-046a dfe00100 arg 0x100 ,pdata 
-046b 98467e00 isub temp ,pdata 
-046c 20400479 call p_mouse_sensor_data_set_next 
-046d 1fe20400 copy pdata ,temp 
-046e dfe00100 arg 0x100 ,pdata 
-046f 98467e00 isub temp ,pdata 
-0470 20600000 rtn 
+046c 1fe20400 copy pdata ,temp 
+046d dfe00100 arg 0x100 ,pdata 
+046e 98467e00 isub temp ,pdata 
+046f 2040047c call p_mouse_sensor_data_set_next 
+0470 1fe20400 copy pdata ,temp 
+0471 dfe00100 arg 0x100 ,pdata 
+0472 98467e00 isub temp ,pdata 
+0473 20600000 rtn 
 
 p_mouse_sensor_data_set_x:
-0471 6fe0c8d1 fetch 1 ,mem_mouse_x 
-0472 c2838476 bbit1 7 ,p_mouse_sensor_data_set_x_next 
-0473 20400479 call p_mouse_sensor_data_set_next 
-0474 67e0c8d1 store 1 ,mem_mouse_x 
-0475 20600000 rtn 
-
-p_mouse_sensor_data_set_x_next:
-0476 20400469 call p_mouse_sensor_data_set_reverse 
+0474 6fe0c8d1 fetch 1 ,mem_mouse_x 
+0475 c2838479 bbit1 7 ,p_mouse_sensor_data_set_x_next 
+0476 2040047c call p_mouse_sensor_data_set_next 
 0477 67e0c8d1 store 1 ,mem_mouse_x 
 0478 20600000 rtn 
 
+p_mouse_sensor_data_set_x_next:
+0479 2040046c call p_mouse_sensor_data_set_reverse 
+047a 67e0c8d1 store 1 ,mem_mouse_x 
+047b 20600000 rtn 
+
 p_mouse_sensor_data_set_next:
-0479 6848cc37 fetcht 1 ,mem_mouse_xy_date_times 
-047a 984ffe00 imul32 temp ,pdata 
-047b 6848cc38 fetcht 1 ,mem_mouse_xy_date_times + 1 
-047c 9846fc00 idiv temp 
-047d 20407def call wait_div_end 
-047e 1807fe00 quotient pdata 
-047f 1fe67c7f sub pdata ,0x7f ,null 
-0480 24210482 nbranch p_mouse_sensor_data_set_next2 ,positive 
-0481 20600000 rtn 
+047c 6848cc37 fetcht 1 ,mem_mouse_xy_date_times 
+047d 984ffe00 imul32 temp ,pdata 
+047e 6848cc38 fetcht 1 ,mem_mouse_xy_date_times + 1 
+047f 9846fc00 idiv temp 
+0480 20407def call wait_div_end 
+0481 1807fe00 quotient pdata 
+0482 1fe67c7f sub pdata ,0x7f ,null 
+0483 24210485 nbranch p_mouse_sensor_data_set_next2 ,positive 
+0484 20600000 rtn 
 
 p_mouse_sensor_data_set_next2:
-0482 5800007f setarg 0x7f 
-0483 20600000 rtn 
+0485 5800007f setarg 0x7f 
+0486 20600000 rtn 
 
 p_g24_parse_rx_ota_sm:
-0484 6fe0cbf6 fetch 1 ,mem_g24_ota_mode 
-0485 207a0000 rtn blank 
-0486 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
-0487 c0010490 beq g24_ota_sm_tx_version ,p_g24_ota_sm_tx_version 
-0488 c0028492 beq g24_ota_sm_tx_info ,p_g24_ota_sm_tx_info 
-0489 c0040494 beq g24_ota_sm_tx_config ,p_g24_ota_sm_tx_config 
-048a c0058496 beq g24_ota_sm_tx_set_config_end ,p_g24_ota_sm_tx_config_end 
-048b c0070498 beq g24_ota_sm_tx_data ,p_g24_ota_sm_tx_data 
-048c c008848e beq g24_ota_sm_tx_reset ,p_g24_ota_sm_tx_reset 
-048d 20600000 rtn 
+0487 6fe0cbf6 fetch 1 ,mem_g24_ota_mode 
+0488 207a0000 rtn blank 
+0489 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
+048a c0010493 beq g24_ota_sm_tx_version ,p_g24_ota_sm_tx_version 
+048b c0028495 beq g24_ota_sm_tx_info ,p_g24_ota_sm_tx_info 
+048c c0040497 beq g24_ota_sm_tx_config ,p_g24_ota_sm_tx_config 
+048d c0058499 beq g24_ota_sm_tx_set_config_end ,p_g24_ota_sm_tx_config_end 
+048e c007049b beq g24_ota_sm_tx_data ,p_g24_ota_sm_tx_data 
+048f c0088491 beq g24_ota_sm_tx_reset ,p_g24_ota_sm_tx_reset 
+0490 20600000 rtn 
 
 p_g24_ota_sm_tx_reset:
-048e 704bf712 jam g24_ota_sm_tx_reset_ok ,mem_g24_ota_sm 
-048f 20600000 rtn 
+0491 704bf712 jam g24_ota_sm_tx_reset_ok ,mem_g24_ota_sm 
+0492 20600000 rtn 
 
 p_g24_ota_sm_tx_version:
-0490 704bf703 jam g24_ota_sm_tx_version_ok ,mem_g24_ota_sm 
-0491 20600000 rtn 
+0493 704bf703 jam g24_ota_sm_tx_version_ok ,mem_g24_ota_sm 
+0494 20600000 rtn 
 
 p_g24_ota_sm_tx_info:
-0492 704bf706 jam g24_ota_sm_tx_info_ok ,mem_g24_ota_sm 
-0493 20600000 rtn 
+0495 704bf706 jam g24_ota_sm_tx_info_ok ,mem_g24_ota_sm 
+0496 20600000 rtn 
 
 p_g24_ota_sm_tx_config:
-0494 704bf709 jam g24_ota_sm_tx_config_ok ,mem_g24_ota_sm 
-0495 20600000 rtn 
+0497 704bf709 jam g24_ota_sm_tx_config_ok ,mem_g24_ota_sm 
+0498 20600000 rtn 
 
 p_g24_ota_sm_tx_config_end:
-0496 704bf70c jam g24_ota_sm_tx_set_config_end_ok ,mem_g24_ota_sm 
-0497 20600000 rtn 
+0499 704bf70c jam g24_ota_sm_tx_set_config_end_ok ,mem_g24_ota_sm 
+049a 20600000 rtn 
 
 p_g24_ota_sm_tx_data:
-0498 704bf70f jam g24_ota_sm_tx_data_ok ,mem_g24_ota_sm 
-0499 20600000 rtn 
+049b 704bf70f jam g24_ota_sm_tx_data_ok ,mem_g24_ota_sm 
+049c 20600000 rtn 
 
 p_g24_mouse_parse_rx:
-049a 6fe0c82a fetch 1 ,mem_24g_rxdata_length 
-049b 203a0484 branch p_g24_parse_rx_ota_sm ,blank 
-049c 1fe22400 copy pdata ,regb 
-049d 70482a00 jam 0 ,mem_24g_rxdata_length 
-049e 6fe0c80a fetch 1 ,mem_24g_rxpayload 
-049f c05784ac beq datatype_ota ,p_g24_rx_ota 
-04a0 20600000 rtn 
+049d 6fe0c82a fetch 1 ,mem_24g_rxdata_length 
+049e 203a0487 branch p_g24_parse_rx_ota_sm ,blank 
+049f 1fe22400 copy pdata ,regb 
+04a0 70482a00 jam 0 ,mem_24g_rxdata_length 
+04a1 6fe0c80a fetch 1 ,mem_24g_rxpayload 
+04a2 c05784af beq datatype_ota ,p_g24_rx_ota 
+04a3 20600000 rtn 
 
 p_g24_ota_mode_enable:
-04a1 704bf601 jam 1 ,mem_g24_ota_mode 
-04a2 70409900 jam 0 ,mem_lpm_mode 
-04a3 2020058c branch p_ota_init 
+04a4 704bf601 jam 1 ,mem_g24_ota_mode 
+04a5 70409900 jam 0 ,mem_lpm_mode 
+04a6 2020058f branch p_ota_init 
 
 p_g24_ota_dispatch:
-04a4 20600000 rtn 
+04a7 20600000 rtn 
 
 p_g24_ota_transmit:
-04a5 7047c6af jam datatype_ota ,mem_24g_txbuf 
-04a6 20402291 call g24_transmit_prep 
-04a7 2040265b call g24_transmit_receive_ack 
-04a8 246c0000 nrtn sync 
-04a9 24778000 nrtn user3 
-04aa 20402597 call g24_txbuf_clear 
-04ab 20202672 branch g24_ackpayload_parse 
+04a8 7047c6af jam datatype_ota ,mem_24g_txbuf 
+04a9 20402291 call g24_transmit_prep 
+04aa 2040265b call g24_transmit_receive_ack 
+04ab 246c0000 nrtn sync 
+04ac 24778000 nrtn user3 
+04ad 20402597 call g24_txbuf_clear 
+04ae 20202672 branch g24_ackpayload_parse 
 
 p_g24_rx_ota:
-04ac 6fe0c80a fetch 1 ,mem_24g_rxpayload 
-04ad c1d78000 rtnne datatype_ota 
-04ae efe08006 ifetch 1 ,contr 
-04af e8408006 ifetcht 1 ,contr 
-04b0 18467c02 sub temp ,g24_ota_target_mouse ,null 
-04b1 2422937a nbranch assert ,zero 
-04b2 c00084bb beq g24_ota_cmd_version ,p_g24_mouse_ota_process_version 
-04b3 c00104be beq g24_ota_cmd_info ,p_g24_mouse_ota_process_info 
-04b4 c00184c0 beq g24_ota_cmd_config ,p_g24_mouse_ota_process_config 
-04b5 c00204c2 beq g24_ota_cmd_set_config_end ,p_g24_mouse_ota_process_set_config_end 
-04b6 c002851a beq g24_ota_cmd_data ,p_g24_mouse_ota_process_data 
-04b7 c0030540 beq g24_ota_cmd_reset ,p_g24_mouse_ota_process_reset 
-04b8 c07f84ba beq g24_ota_cmd_ping ,p_g24_mouse_ota_process_ping 
-04b9 2020137a branch assert 
+04af 6fe0c80a fetch 1 ,mem_24g_rxpayload 
+04b0 c1d78000 rtnne datatype_ota 
+04b1 efe08006 ifetch 1 ,contr 
+04b2 e8408006 ifetcht 1 ,contr 
+04b3 18467c02 sub temp ,g24_ota_target_mouse ,null 
+04b4 2422937a nbranch assert ,zero 
+04b5 c00084be beq g24_ota_cmd_version ,p_g24_mouse_ota_process_version 
+04b6 c00104c1 beq g24_ota_cmd_info ,p_g24_mouse_ota_process_info 
+04b7 c00184c3 beq g24_ota_cmd_config ,p_g24_mouse_ota_process_config 
+04b8 c00204c5 beq g24_ota_cmd_set_config_end ,p_g24_mouse_ota_process_set_config_end 
+04b9 c002851d beq g24_ota_cmd_data ,p_g24_mouse_ota_process_data 
+04ba c0030543 beq g24_ota_cmd_reset ,p_g24_mouse_ota_process_reset 
+04bb c07f84bd beq g24_ota_cmd_ping ,p_g24_mouse_ota_process_ping 
+04bc 2020137a branch assert 
 
 p_g24_mouse_ota_process_ping:
-04ba 20600000 rtn 
+04bd 20600000 rtn 
 
 p_g24_mouse_ota_process_version:
-04bb 204004a1 call p_g24_ota_mode_enable 
-04bc 704bf701 jam g24_ota_sm_rx_version ,mem_g24_ota_sm 
-04bd 20600000 rtn 
+04be 204004a4 call p_g24_ota_mode_enable 
+04bf 704bf701 jam g24_ota_sm_rx_version ,mem_g24_ota_sm 
+04c0 20600000 rtn 
 
 p_g24_mouse_ota_process_info:
-04be 704bf704 jam g24_ota_sm_rx_info ,mem_g24_ota_sm 
-04bf 20600000 rtn 
+04c1 704bf704 jam g24_ota_sm_rx_info ,mem_g24_ota_sm 
+04c2 20600000 rtn 
 
 p_g24_mouse_ota_process_config:
-04c0 704bf707 jam g24_ota_sm_rx_config ,mem_g24_ota_sm 
-04c1 20600000 rtn 
+04c3 704bf707 jam g24_ota_sm_rx_config ,mem_g24_ota_sm 
+04c4 20600000 rtn 
 
 p_g24_mouse_ota_process_set_config_end:
-04c2 704bf70a jam g24_ota_sm_rx_set_config_end ,mem_g24_ota_sm 
-04c3 efe10006 ifetch 2 ,contr 
-04c4 e8410006 ifetcht 2 ,contr 
-04c5 6a214c18 fetchr rega ,2 ,mem_g24_ota_rx_alllen 
-04c6 9a267c00 isub rega ,null 
-04c7 24228538 nbranch p_g24_mouse_ota_process_fail ,zero 
-04c8 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
-04c9 98467c00 isub temp ,null 
-04ca 24228538 nbranch p_g24_mouse_ota_process_fail ,zero 
-04cb 204004ce call p_g24_check_ota_data_all 
-04cc 24340538 nbranch p_g24_mouse_ota_process_fail ,user 
-04cd 20200536 branch p_g24_mouse_ota_process_ok 
+04c5 704bf70a jam g24_ota_sm_rx_set_config_end ,mem_g24_ota_sm 
+04c6 efe10006 ifetch 2 ,contr 
+04c7 e8410006 ifetcht 2 ,contr 
+04c8 6a214c18 fetchr rega ,2 ,mem_g24_ota_rx_alllen 
+04c9 9a267c00 isub rega ,null 
+04ca 2422853b nbranch p_g24_mouse_ota_process_fail ,zero 
+04cb 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
+04cc 98467c00 isub temp ,null 
+04cd 2422853b nbranch p_g24_mouse_ota_process_fail ,zero 
+04ce 204004d1 call p_g24_check_ota_data_all 
+04cf 2434053b nbranch p_g24_mouse_ota_process_fail ,user 
+04d0 20200539 branch p_g24_mouse_ota_process_ok 
 
 p_g24_check_ota_data_all:
-04ce 204004d9 call p_g24_check_ota_data 
-04cf 24740000 nrtn user 
-04d0 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
-04d1 9e067c00 isub alarm ,null 
-04d2 2422fe56 nbranch disable_user ,zero 
-04d3 684909e8 fetcht 2 ,mem_temp_block6 
-04d4 6fe14c18 fetch 2 ,mem_g24_ota_rx_alllen 
-04d5 1fe0fffb increase -5 ,pdata 
-04d6 98467c00 isub temp ,null 
-04d7 2422fe56 nbranch disable_user ,zero 
-04d8 20207e54 branch enable_user 
+04d1 204004dc call p_g24_check_ota_data 
+04d2 24740000 nrtn user 
+04d3 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
+04d4 9e067c00 isub alarm ,null 
+04d5 2422fe56 nbranch disable_user ,zero 
+04d6 684909e8 fetcht 2 ,mem_temp_block6 
+04d7 6fe14c18 fetch 2 ,mem_g24_ota_rx_alllen 
+04d8 1fe0fffb increase -5 ,pdata 
+04d9 98467c00 isub temp ,null 
+04da 2422fe56 nbranch disable_user ,zero 
+04db 20207e54 branch enable_user 
 
 p_g24_check_ota_data:
-04d9 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
-04da 1ff0fe00 byteswap pdata ,pdata 
-04db 67e102e4 store 2 ,mem_addr_mi 
-04dc d8400003 arg 3 ,temp 
-04dd da2009d2 arg mem_temp_block5 ,rega 
-04de 20405de2 call iicd_read_eep 
-04df 6fe089d2 fetch 1 ,mem_temp_block5 
-04e0 c0ad7e56 bne g24_ota_data_header ,disable_user 
-04e1 e8410006 ifetcht 2 ,contr 
-04e2 6049095c storet 2 ,mem_pdatatemp 
-04e3 604909e8 storet 2 ,mem_temp_block6 
-04e4 6fe089d2 fetch 1 ,mem_temp_block5 
-04e5 dd60ffff arg 0xffff ,rege 
-04e6 d8400000 arg 0 ,temp 
-04e7 d8c009d2 arg mem_temp_block5 ,contr 
-04e8 df200003 arg 3 ,loopcnt 
-04e9 20400550 call p_g24_mouse_data_sum 
-04ea 18426000 copy temp ,alarm 
-04eb 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
-04ec 1fe0ee03 add pdata ,3 ,regf 
-04ed 204004fd call p_g24_check_ota_data_loop 
-04ee 1ef0fe00 byteswap regf ,pdata 
-04ef 67e102e4 store 2 ,mem_addr_mi 
-04f0 d8400002 arg 2 ,temp 
-04f1 da2009d2 arg mem_temp_block5 ,rega 
-04f2 20405de2 call iicd_read_eep 
-04f3 6fe109d2 fetch 2 ,mem_temp_block5 
-04f4 9d667c00 isub rege ,null 
-04f5 2422fe56 nbranch disable_user ,zero 
-04f6 6fe089d2 fetch 1 ,mem_temp_block5 
-04f7 9e00e000 iadd alarm ,alarm 
-04f8 efe08006 ifetch 1 ,contr 
-04f9 9e00e000 iadd alarm ,alarm 
-04fa 5800ffff setarg 0xffff 
-04fb 9e016000 iand alarm ,alarm 
-04fc 20207e54 branch enable_user 
+04dc 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
+04dd 1ff0fe00 byteswap pdata ,pdata 
+04de 67e102e4 store 2 ,mem_addr_mi 
+04df d8400003 arg 3 ,temp 
+04e0 da2009d2 arg mem_temp_block5 ,rega 
+04e1 20405de2 call iicd_read_eep 
+04e2 6fe089d2 fetch 1 ,mem_temp_block5 
+04e3 c0ad7e56 bne g24_ota_data_header ,disable_user 
+04e4 e8410006 ifetcht 2 ,contr 
+04e5 6049095c storet 2 ,mem_pdatatemp 
+04e6 604909e8 storet 2 ,mem_temp_block6 
+04e7 6fe089d2 fetch 1 ,mem_temp_block5 
+04e8 dd60ffff arg 0xffff ,rege 
+04e9 d8400000 arg 0 ,temp 
+04ea d8c009d2 arg mem_temp_block5 ,contr 
+04eb df200003 arg 3 ,loopcnt 
+04ec 20400553 call p_g24_mouse_data_sum 
+04ed 18426000 copy temp ,alarm 
+04ee 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
+04ef 1fe0ee03 add pdata ,3 ,regf 
+04f0 20400500 call p_g24_check_ota_data_loop 
+04f1 1ef0fe00 byteswap regf ,pdata 
+04f2 67e102e4 store 2 ,mem_addr_mi 
+04f3 d8400002 arg 2 ,temp 
+04f4 da2009d2 arg mem_temp_block5 ,rega 
+04f5 20405de2 call iicd_read_eep 
+04f6 6fe109d2 fetch 2 ,mem_temp_block5 
+04f7 9d667c00 isub rege ,null 
+04f8 2422fe56 nbranch disable_user ,zero 
+04f9 6fe089d2 fetch 1 ,mem_temp_block5 
+04fa 9e00e000 iadd alarm ,alarm 
+04fb efe08006 ifetch 1 ,contr 
+04fc 9e00e000 iadd alarm ,alarm 
+04fd 5800ffff setarg 0xffff 
+04fe 9e016000 iand alarm ,alarm 
+04ff 20207e54 branch enable_user 
 
 p_g24_check_ota_data_loop:
-04fd 6fe1095c fetch 2 ,mem_pdatatemp 
-04fe 207a0000 rtn blank 
-04ff 1fe20400 copy pdata ,temp 
-0500 1fe67c10 sub pdata ,16 ,null 
-0501 20210518 branch p_g24_check_ota_data_loopend ,positive 
-0502 1fe0fff0 increase -16 ,pdata 
-0503 d8400010 arg 0x10 ,temp 
+0500 6fe1095c fetch 2 ,mem_pdatatemp 
+0501 207a0000 rtn blank 
+0502 1fe20400 copy pdata ,temp 
+0503 1fe67c10 sub pdata ,16 ,null 
+0504 2021051b branch p_g24_check_ota_data_loopend ,positive 
+0505 1fe0fff0 increase -16 ,pdata 
+0506 d8400010 arg 0x10 ,temp 
 
 p_g24_check_ota_data_loop2:
-0504 67e1095c store 2 ,mem_pdatatemp 
-0505 18425e00 copy temp ,regext 
-0506 1ee27e00 copy regf ,pdata 
-0507 1ff0fe00 byteswap pdata ,pdata 
-0508 67e102e4 store 2 ,mem_addr_mi 
-0509 da2009d2 arg mem_temp_block5 ,rega 
-050a 20405de2 call iicd_read_eep 
-050b 1ee27e00 copy regf ,pdata 
-050c 9de0ee00 iadd regext ,regf 
-050d 1de27200 copy regext ,loopcnt 
-050e 1d627e00 copy rege ,pdata 
-050f d8c009d2 arg mem_temp_block5 ,contr 
-0510 efe00006 icrc contr 
-0511 1fe25600 copy pdata ,rege 
-0512 1de27200 copy regext ,loopcnt 
-0513 d8c009d2 arg mem_temp_block5 ,contr 
-0514 1e020400 copy alarm ,temp 
-0515 20400550 call p_g24_mouse_data_sum 
-0516 18426000 copy temp ,alarm 
-0517 202004fd branch p_g24_check_ota_data_loop 
+0507 67e1095c store 2 ,mem_pdatatemp 
+0508 18425e00 copy temp ,regext 
+0509 1ee27e00 copy regf ,pdata 
+050a 1ff0fe00 byteswap pdata ,pdata 
+050b 67e102e4 store 2 ,mem_addr_mi 
+050c da2009d2 arg mem_temp_block5 ,rega 
+050d 20405de2 call iicd_read_eep 
+050e 1ee27e00 copy regf ,pdata 
+050f 9de0ee00 iadd regext ,regf 
+0510 1de27200 copy regext ,loopcnt 
+0511 1d627e00 copy rege ,pdata 
+0512 d8c009d2 arg mem_temp_block5 ,contr 
+0513 efe00006 icrc contr 
+0514 1fe25600 copy pdata ,rege 
+0515 1de27200 copy regext ,loopcnt 
+0516 d8c009d2 arg mem_temp_block5 ,contr 
+0517 1e020400 copy alarm ,temp 
+0518 20400553 call p_g24_mouse_data_sum 
+0519 18426000 copy temp ,alarm 
+051a 20200500 branch p_g24_check_ota_data_loop 
 
 p_g24_check_ota_data_loopend:
-0518 58000000 setarg 0 
-0519 20200504 branch p_g24_check_ota_data_loop2 
+051b 58000000 setarg 0 
+051c 20200507 branch p_g24_check_ota_data_loop2 
 
 p_g24_mouse_ota_process_data:
-051a 704bf70d jam g24_ota_sm_rx_data ,mem_g24_ota_sm 
-051b efe08006 ifetch 1 ,contr 
-051c 18c22200 copy contr ,rega 
-051d 6848cc1c fetcht 1 ,mem_g24_ota_rx_data_count 
-051e 98467c00 isub temp ,null 
-051f 20228536 branch p_g24_mouse_ota_process_ok ,zero 
-0520 20400547 call p_g24_cmd_ota_data_check_count 
-0521 24340538 nbranch p_g24_mouse_ota_process_fail ,user 
-0522 1a467c04 sub regb ,4 ,null 
-0523 20210538 branch p_g24_mouse_ota_process_fail ,positive 
-0524 1a40a5fc increase -4 ,regb 
-0525 62410959 storer regb ,2 ,mem_hold_contw 
-0526 62210957 storer rega ,2 ,mem_hold_contr 
-0527 20405dd3 call iicd_eeprom_write_enable 
-0528 2040053a call p_dongle_usb_cmd_ota_write_data 
-0529 20405dda call iicd_eeprom_write_disable 
-052a 6a410959 fetchr regb ,2 ,mem_hold_contw 
-052b 6a210957 fetchr rega ,2 ,mem_hold_contr 
-052c 6fe14c18 fetch 2 ,mem_g24_ota_rx_alllen 
-052d 9a40fe00 iadd regb ,pdata 
-052e 67e14c18 store 2 ,mem_g24_ota_rx_alllen 
-052f 1a427200 copy regb ,loopcnt 
-0530 d8400000 arg 0 ,temp 
-0531 1a220c00 copy rega ,contr 
-0532 20400550 call p_g24_mouse_data_sum 
-0533 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
-0534 9840fe00 iadd temp ,pdata 
-0535 67e14c1a store 2 ,mem_g24_ota_rx_sum 
+051d 704bf70d jam g24_ota_sm_rx_data ,mem_g24_ota_sm 
+051e efe08006 ifetch 1 ,contr 
+051f 18c22200 copy contr ,rega 
+0520 6848cc1c fetcht 1 ,mem_g24_ota_rx_data_count 
+0521 98467c00 isub temp ,null 
+0522 20228539 branch p_g24_mouse_ota_process_ok ,zero 
+0523 2040054a call p_g24_cmd_ota_data_check_count 
+0524 2434053b nbranch p_g24_mouse_ota_process_fail ,user 
+0525 1a467c04 sub regb ,4 ,null 
+0526 2021053b branch p_g24_mouse_ota_process_fail ,positive 
+0527 1a40a5fc increase -4 ,regb 
+0528 62410959 storer regb ,2 ,mem_hold_contw 
+0529 62210957 storer rega ,2 ,mem_hold_contr 
+052a 20405dd3 call iicd_eeprom_write_enable 
+052b 2040053d call p_dongle_usb_cmd_ota_write_data 
+052c 20405dda call iicd_eeprom_write_disable 
+052d 6a410959 fetchr regb ,2 ,mem_hold_contw 
+052e 6a210957 fetchr rega ,2 ,mem_hold_contr 
+052f 6fe14c18 fetch 2 ,mem_g24_ota_rx_alllen 
+0530 9a40fe00 iadd regb ,pdata 
+0531 67e14c18 store 2 ,mem_g24_ota_rx_alllen 
+0532 1a427200 copy regb ,loopcnt 
+0533 d8400000 arg 0 ,temp 
+0534 1a220c00 copy rega ,contr 
+0535 20400553 call p_g24_mouse_data_sum 
+0536 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
+0537 9840fe00 iadd temp ,pdata 
+0538 67e14c1a store 2 ,mem_g24_ota_rx_sum 
 
 p_g24_mouse_ota_process_ok:
-0536 704bf500 jam g24_ota_status_success ,mem_g24_ota_rtn_state 
-0537 20600000 rtn 
+0539 704bf500 jam g24_ota_status_success ,mem_g24_ota_rtn_state 
+053a 20600000 rtn 
 
 p_g24_mouse_ota_process_fail:
-0538 704bf501 jam g24_ota_status_fail ,mem_g24_ota_rtn_state 
-0539 20600000 rtn 
+053b 704bf501 jam g24_ota_status_fail ,mem_g24_ota_rtn_state 
+053c 20600000 rtn 
 
 p_dongle_usb_cmd_ota_write_data:
-053a 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
-053b 207a0000 rtn blank 
-053c 68494c18 fetcht 2 ,mem_g24_ota_rx_alllen 
-053d 9840fe00 iadd temp ,pdata 
-053e 1a420400 copy regb ,temp 
-053f 20205e04 branch iicd_write_ota_data 
+053d 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
+053e 207a0000 rtn blank 
+053f 68494c18 fetcht 2 ,mem_g24_ota_rx_alllen 
+0540 9840fe00 iadd temp ,pdata 
+0541 1a420400 copy regb ,temp 
+0542 20205e04 branch iicd_write_ota_data 
 
 p_g24_mouse_ota_process_reset:
-0540 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
-0541 c1080000 rtneq g24_ota_sm_rx_reset 
-0542 c1088000 rtneq g24_ota_sm_tx_reset 
-0543 c1090000 rtneq g24_ota_sm_tx_reset_ok 
-0544 704c1d05 jam 5 ,mem_g24_ota_reset_timer 
-0545 704bf710 jam g24_ota_sm_rx_reset ,mem_g24_ota_sm 
-0546 20600000 rtn 
+0543 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
+0544 c1080000 rtneq g24_ota_sm_rx_reset 
+0545 c1088000 rtneq g24_ota_sm_tx_reset 
+0546 c1090000 rtneq g24_ota_sm_tx_reset_ok 
+0547 704c1d05 jam 5 ,mem_g24_ota_reset_timer 
+0548 704bf710 jam g24_ota_sm_rx_reset ,mem_g24_ota_sm 
+0549 20600000 rtn 
 
 p_g24_cmd_ota_data_check_count:
-0547 6848cc1c fetcht 1 ,mem_g24_ota_rx_data_count 
-0548 67e0cc1c store 1 ,mem_g24_ota_rx_data_count 
-0549 c000054d beq 0 ,p_g24_cmd_ota_data_check_count_0 
-054a 98467e00 isub temp ,pdata 
-054b c000fe54 beq 1 ,enable_user 
-054c 20207e56 branch disable_user 
+054a 6848cc1c fetcht 1 ,mem_g24_ota_rx_data_count 
+054b 67e0cc1c store 1 ,mem_g24_ota_rx_data_count 
+054c c0000550 beq 0 ,p_g24_cmd_ota_data_check_count_0 
+054d 98467e00 isub temp ,pdata 
+054e c000fe54 beq 1 ,enable_user 
+054f 20207e56 branch disable_user 
 
 p_g24_cmd_ota_data_check_count_0:
-054d 18467cff sub temp ,0xff ,null 
-054e 2022fe54 branch enable_user ,zero 
-054f 20207e56 branch disable_user 
+0550 18467cff sub temp ,0xff ,null 
+0551 2022fe54 branch enable_user ,zero 
+0552 20207e56 branch disable_user 
 
 p_g24_mouse_data_sum:
-0550 efe08006 ifetch 1 ,contr 
-0551 98408400 iadd temp ,temp 
-0552 c2000550 loop p_g24_mouse_data_sum 
-0553 20600000 rtn 
+0553 efe08006 ifetch 1 ,contr 
+0554 98408400 iadd temp ,temp 
+0555 c2000553 loop p_g24_mouse_data_sum 
+0556 20600000 rtn 
 
 p_g24_mouse_ota_crc:
-0554 5800ffff setarg 0xffff 
-0555 efe00006 icrc contr 
-0556 20600000 rtn 
+0557 5800ffff setarg 0xffff 
+0558 efe00006 icrc contr 
+0559 20600000 rtn 
 
 p_g24_mouse_ota_check_crc:
-0557 6f20c82a fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0558 1f267c02 sub loopcnt ,2 ,null 
-0559 20217e56 branch disable_user ,positive 
-055a dfe0480a arg mem_24g_rxpayload ,pdata 
-055b 9f208c00 iadd loopcnt ,contr 
-055c 18c08dfe increase -2 ,contr 
-055d e8410006 ifetcht 2 ,contr 
-055e d8c0480a arg mem_24g_rxpayload ,contr 
-055f 20400554 call p_g24_mouse_ota_crc 
-0560 98467c00 isub temp ,null 
-0561 2022fe54 branch enable_user ,zero 
-0562 20207e56 branch disable_user 
+055a 6f20c82a fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+055b 1f267c02 sub loopcnt ,2 ,null 
+055c 20217e56 branch disable_user ,positive 
+055d dfe0480a arg mem_24g_rxpayload ,pdata 
+055e 9f208c00 iadd loopcnt ,contr 
+055f 18c08dfe increase -2 ,contr 
+0560 e8410006 ifetcht 2 ,contr 
+0561 d8c0480a arg mem_24g_rxpayload ,contr 
+0562 20400557 call p_g24_mouse_ota_crc 
+0563 98467c00 isub temp ,null 
+0564 2022fe54 branch enable_user ,zero 
+0565 20207e56 branch disable_user 
 
 p_g24_mouse_ota_check_data:
-0563 efe08006 ifetch 1 ,contr 
-0564 c0ad057c bne 0x5a ,p_g24_mouse_ota_load_fail 
-0565 1a220200 copy rega ,1 ,contr 
-0566 68490006 fetcht 2 ,contr 
+0566 efe08006 ifetch 1 ,contr 
+0567 c0ad057f bne 0x5a ,p_g24_mouse_ota_load_fail 
+0568 1a220200 copy rega ,1 ,contr 
+0569 68490006 fetcht 2 ,contr 
 
 p_g24_mouse_ota_check_data_loop:
-0567 18467c03 sub temp ,3 ,null 
-0568 2021057c branch p_g24_mouse_ota_load_fail ,positive 
-0569 18c08c02 increase 2 ,contr 
-056a ef208006 ifetchr loopcnt ,1 ,contr 
-056b 1f267c00 sub loopcnt ,0 ,null 
-056c 2422857c nbranch p_g24_mouse_ota_load_fail ,zero 
-056d 1f227e00 copy loopcnt ,pdata 
-056e 98c08c00 iadd contr ,contr 
-056f 18427e00 copy temp ,pdata 
-0570 1f20f203 increase 3 ,loopcnt 
-0571 9f260400 isub loopcnt ,temp 
-0572 24228567 nbranch p_g24_mouse_ota_check_data_loop ,zero 
-0573 e8410006 ifetcht 2 ,contr 
-0574 1a208c01 add rega ,1 ,contr 
-0575 efe10006 ifetch 2 ,contr 
-0576 1fe0f202 add pdata ,2 ,loopcnt 
+056a 18467c03 sub temp ,3 ,null 
+056b 2021057f branch p_g24_mouse_ota_load_fail ,positive 
+056c 18c08c02 increase 2 ,contr 
+056d ef208006 ifetchr loopcnt ,1 ,contr 
+056e 1f267c00 sub loopcnt ,0 ,null 
+056f 2422857f nbranch p_g24_mouse_ota_load_fail ,zero 
+0570 1f227e00 copy loopcnt ,pdata 
+0571 98c08c00 iadd contr ,contr 
+0572 18427e00 copy temp ,pdata 
+0573 1f20f203 increase 3 ,loopcnt 
+0574 9f260400 isub loopcnt ,temp 
+0575 2422856a nbranch p_g24_mouse_ota_check_data_loop ,zero 
+0576 e8410006 ifetcht 2 ,contr 
 0577 1a208c01 add rega ,1 ,contr 
-0578 20400554 call p_g24_mouse_ota_crc 
-0579 98467c00 isub temp ,null 
-057a 2422857c nbranch p_g24_mouse_ota_load_fail ,zero 
+0578 efe10006 ifetch 2 ,contr 
+0579 1fe0f202 add pdata ,2 ,loopcnt 
+057a 1a208c01 add rega ,1 ,contr 
+057b 20400557 call p_g24_mouse_ota_crc 
+057c 98467c00 isub temp ,null 
+057d 2422857f nbranch p_g24_mouse_ota_load_fail ,zero 
 
 p_g24_mouse_ota_load_success:
-057b 20207e54 branch enable_user 
+057e 20207e54 branch enable_user 
 
 p_g24_mouse_ota_load_fail:
-057c 20207e56 branch disable_user 
+057f 20207e56 branch disable_user 
 
 p_g24_mouse_ota_get_otaaddr:
-057d 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
-057e 1fe20c00 copy pdata ,contr 
-057f 20400563 call p_g24_mouse_ota_check_data 
-0580 24340588 nbranch p_g24_mouse_ota_config_end ,user 
-0581 6a214bf3 fetchr rega ,2 ,mem_g24_ota_config_addr 
-0582 1a208c01 add rega ,1 ,contr 
-0583 efe10006 ifetch 2 ,contr 
-0584 1fe0fe05 increase 5 ,pdata 
-0585 9a20fe00 iadd rega ,pdata 
-0586 67e14bf3 store 2 ,mem_g24_ota_config_addr 
-0587 2020057d branch p_g24_mouse_ota_get_otaaddr 
+0580 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
+0581 1fe20c00 copy pdata ,contr 
+0582 20400566 call p_g24_mouse_ota_check_data 
+0583 2434058b nbranch p_g24_mouse_ota_config_end ,user 
+0584 6a214bf3 fetchr rega ,2 ,mem_g24_ota_config_addr 
+0585 1a208c01 add rega ,1 ,contr 
+0586 efe10006 ifetch 2 ,contr 
+0587 1fe0fe05 increase 5 ,pdata 
+0588 9a20fe00 iadd rega ,pdata 
+0589 67e14bf3 store 2 ,mem_g24_ota_config_addr 
+058a 20200580 branch p_g24_mouse_ota_get_otaaddr 
 
 p_g24_mouse_ota_config_end:
-0588 6fe14bf1 fetch 2 ,mem_g24_ota_storage_size 
-0589 68494bf3 fetcht 2 ,mem_g24_ota_config_addr 
-058a 98467e00 isub temp ,pdata 
-058b 20600000 rtn 
+058b 6fe14bf1 fetch 2 ,mem_g24_ota_storage_size 
+058c 68494bf3 fetcht 2 ,mem_g24_ota_config_addr 
+058d 98467e00 isub temp ,pdata 
+058e 20600000 rtn 
 
 p_ota_init:
-058c 58000000 setarg 0 
-058d 67e14c18 store 2 ,mem_g24_ota_rx_alllen 
-058e 67e14c1a store 2 ,mem_g24_ota_rx_sum 
-058f 67e0cc1c store 1 ,mem_g24_ota_rx_data_count 
-0590 67e0cbf7 store 1 ,mem_g24_ota_sm 
-0591 20600000 rtn 
+058f 58000000 setarg 0 
+0590 67e14c18 store 2 ,mem_g24_ota_rx_alllen 
+0591 67e14c1a store 2 ,mem_g24_ota_rx_sum 
+0592 67e0cc1c store 1 ,mem_g24_ota_rx_data_count 
+0593 67e0cbf7 store 1 ,mem_g24_ota_sm 
+0594 20600000 rtn 
 
 p_mouse_24g_package_ota:
-0592 20407e56 call disable_user 
-0593 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
-0594 c000859b beq g24_ota_sm_rx_version ,p_mouse_24g_package_ota_version 
-0595 c00205a5 beq g24_ota_sm_rx_info ,p_mouse_24g_package_ota_info 
-0596 c00385c4 beq g24_ota_sm_rx_config ,p_mouse_24g_package_ota_config 
-0597 c00505ea beq g24_ota_sm_rx_set_config_end ,p_mouse_24g_package_ota_set_config_end 
-0598 c00685df beq g24_ota_sm_rx_data ,p_mouse_24g_package_ota_data 
-0599 c00805c8 beq g24_ota_sm_rx_reset ,p_mouse_24g_package_ota_reset 
-059a 202005f3 branch p_mouse_24g_package_ping 
+0595 20407e56 call disable_user 
+0596 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
+0597 c000859e beq g24_ota_sm_rx_version ,p_mouse_24g_package_ota_version 
+0598 c00205a8 beq g24_ota_sm_rx_info ,p_mouse_24g_package_ota_info 
+0599 c00385c7 beq g24_ota_sm_rx_config ,p_mouse_24g_package_ota_config 
+059a c00505ed beq g24_ota_sm_rx_set_config_end ,p_mouse_24g_package_ota_set_config_end 
+059b c00685e2 beq g24_ota_sm_rx_data ,p_mouse_24g_package_ota_data 
+059c c00805cb beq g24_ota_sm_rx_reset ,p_mouse_24g_package_ota_reset 
+059d 202005f6 branch p_mouse_24g_package_ping 
 
 p_mouse_24g_package_ota_version:
-059b 7047c6af jam datatype_ota ,mem_24g_txbuf 
-059c 7047c701 jam g24_ota_cmd_version ,mem_24g_txbuf + 1 
-059d 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
-059e 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-059f 58000001 setarg g24_ota_version 
-05a0 67e147ca store 2 ,mem_24g_txbuf + 4 
-05a1 70483601 jam type_ms ,mem_24g_data_type 
-05a2 70483506 jam 6 ,mem_24g_datalen 
-05a3 704bf702 jam g24_ota_sm_tx_version ,mem_g24_ota_sm 
-05a4 20600000 rtn 
+059e 7047c6af jam datatype_ota ,mem_24g_txbuf 
+059f 7047c701 jam g24_ota_cmd_version ,mem_24g_txbuf + 1 
+05a0 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
+05a1 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+05a2 58000001 setarg g24_ota_version 
+05a3 67e147ca store 2 ,mem_24g_txbuf + 4 
+05a4 70483601 jam type_ms ,mem_24g_data_type 
+05a5 70483506 jam 6 ,mem_24g_datalen 
+05a6 704bf702 jam g24_ota_sm_tx_version ,mem_g24_ota_sm 
+05a7 20600000 rtn 
 
 p_mouse_24g_package_ota_info:
-05a5 7047c6af jam datatype_ota ,mem_24g_txbuf 
-05a6 7047c702 jam g24_ota_cmd_info ,mem_24g_txbuf + 1 
-05a7 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
-05a8 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-05a9 6ff10000 fetch 2 ,core_chipid 
-05aa 67e147ca store 2 ,mem_24g_txbuf + 4 
-05ab 58006661 setarg 0x6661 
-05ac e7e10005 istore 2 ,contw 
-05ad 58000001 setarg 1 
-05ae e7e30005 istore 6 ,contw 
-05af 58000000 setarg 0 
-05b0 e7e10005 istore 2 ,contw 
-05b1 e7e10005 istore 2 ,contw 
-05b2 204005cc call p_mouse_24g_storage_type 
-05b3 e7e08005 istore 1 ,contw 
-05b4 58000000 setarg 0 
-05b5 e7e08005 istore 1 ,contw 
-05b6 68494bf3 fetcht 2 ,mem_g24_ota_config_addr 
-05b7 e0410005 istoret 2 ,contw 
-05b8 6fe14bf1 fetch 2 ,mem_g24_ota_storage_size 
-05b9 1fed7e00 lshift8 pdata ,pdata 
-05ba 1fe37e00 rshift pdata ,pdata 
-05bb 98467e00 isub temp ,pdata 
-05bc 242105c2 nbranch p_dongle_usb_cmd_ota_info_dongle_empty ,positive 
+05a8 7047c6af jam datatype_ota ,mem_24g_txbuf 
+05a9 7047c702 jam g24_ota_cmd_info ,mem_24g_txbuf + 1 
+05aa 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
+05ab 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+05ac 6ff10000 fetch 2 ,core_chipid 
+05ad 67e147ca store 2 ,mem_24g_txbuf + 4 
+05ae 58006661 setarg 0x6661 
+05af e7e10005 istore 2 ,contw 
+05b0 58000001 setarg 1 
+05b1 e7e30005 istore 6 ,contw 
+05b2 58000000 setarg 0 
+05b3 e7e10005 istore 2 ,contw 
+05b4 e7e10005 istore 2 ,contw 
+05b5 204005cf call p_mouse_24g_storage_type 
+05b6 e7e08005 istore 1 ,contw 
+05b7 58000000 setarg 0 
+05b8 e7e08005 istore 1 ,contw 
+05b9 68494bf3 fetcht 2 ,mem_g24_ota_config_addr 
+05ba e0410005 istoret 2 ,contw 
+05bb 6fe14bf1 fetch 2 ,mem_g24_ota_storage_size 
+05bc 1fed7e00 lshift8 pdata ,pdata 
+05bd 1fe37e00 rshift pdata ,pdata 
+05be 98467e00 isub temp ,pdata 
+05bf 242105c5 nbranch p_dongle_usb_cmd_ota_info_dongle_empty ,positive 
 
 p_dongle_usb_cmd_ota_info_dongle_common:
-05bd e7e10005 istore 2 ,contw 
-05be 70483518 jam 24 ,mem_24g_datalen 
-05bf 70483601 jam type_ms ,mem_24g_data_type 
-05c0 704bf705 jam g24_ota_sm_tx_info ,mem_g24_ota_sm 
-05c1 20600000 rtn 
+05c0 e7e10005 istore 2 ,contw 
+05c1 70483518 jam 24 ,mem_24g_datalen 
+05c2 70483601 jam type_ms ,mem_24g_data_type 
+05c3 704bf705 jam g24_ota_sm_tx_info ,mem_g24_ota_sm 
+05c4 20600000 rtn 
 
 p_dongle_usb_cmd_ota_info_dongle_empty:
-05c2 58000000 setarg 0 
-05c3 202005bd branch p_dongle_usb_cmd_ota_info_dongle_common 
+05c5 58000000 setarg 0 
+05c6 202005c0 branch p_dongle_usb_cmd_ota_info_dongle_common 
 
 p_mouse_24g_package_ota_config:
-05c4 704bf708 jam g24_ota_sm_tx_config ,mem_g24_ota_sm 
-05c5 7047c703 jam g24_ota_cmd_config ,mem_24g_txbuf + 1 
-05c6 70483504 jam 4 ,mem_24g_datalen 
-05c7 202005d5 branch p_mouse_24g_package_ota_common_ok 
+05c7 704bf708 jam g24_ota_sm_tx_config ,mem_g24_ota_sm 
+05c8 7047c703 jam g24_ota_cmd_config ,mem_24g_txbuf + 1 
+05c9 70483504 jam 4 ,mem_24g_datalen 
+05ca 202005d8 branch p_mouse_24g_package_ota_common_ok 
 
 p_mouse_24g_package_ota_reset:
-05c8 704bf711 jam g24_ota_sm_tx_reset ,mem_g24_ota_sm 
-05c9 7047c706 jam g24_ota_cmd_reset ,mem_24g_txbuf + 1 
-05ca 70483504 jam 4 ,mem_24g_datalen 
-05cb 202005d5 branch p_mouse_24g_package_ota_common_ok 
+05cb 704bf711 jam g24_ota_sm_tx_reset ,mem_g24_ota_sm 
+05cc 7047c706 jam g24_ota_cmd_reset ,mem_24g_txbuf + 1 
+05cd 70483504 jam 4 ,mem_24g_datalen 
+05ce 202005d8 branch p_mouse_24g_package_ota_common_ok 
 
 p_mouse_24g_storage_type:
-05cc 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-05cd c28985d1 bbit1 mouse_enable_eeprom ,p_mouse_24g_storage_type_eeprom 
-05ce c28905d3 bbit1 mouse_enable_flash ,p_mouse_24g_storage_type_flash 
-05cf 58000000 setarg g24_ota_storage_error 
-05d0 20600000 rtn 
+05cf 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+05d0 c28985d4 bbit1 mouse_enable_eeprom ,p_mouse_24g_storage_type_eeprom 
+05d1 c28905d6 bbit1 mouse_enable_flash ,p_mouse_24g_storage_type_flash 
+05d2 58000000 setarg g24_ota_storage_error 
+05d3 20600000 rtn 
 
 p_mouse_24g_storage_type_eeprom:
-05d1 58000002 setarg g24_ota_storage_eeprom 
-05d2 20600000 rtn 
+05d4 58000002 setarg g24_ota_storage_eeprom 
+05d5 20600000 rtn 
 
 p_mouse_24g_storage_type_flash:
-05d3 58000004 setarg g24_ota_storage_flash 
-05d4 20600000 rtn 
+05d6 58000004 setarg g24_ota_storage_flash 
+05d7 20600000 rtn 
 
 p_mouse_24g_package_ota_common_ok:
-05d5 70483601 jam type_ms ,mem_24g_data_type 
-05d6 7047c6af jam datatype_ota ,mem_24g_txbuf 
-05d7 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
-05d8 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-05d9 20600000 rtn 
+05d8 70483601 jam type_ms ,mem_24g_data_type 
+05d9 7047c6af jam datatype_ota ,mem_24g_txbuf 
+05da 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
+05db 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+05dc 20600000 rtn 
 
 p_mouse_24g_package_ota_common_fail:
-05da 7047c801 jam g24_ota_status_fail ,mem_24g_txbuf + 2 
-05db 70483601 jam type_ms ,mem_24g_data_type 
-05dc 7047c6af jam datatype_ota ,mem_24g_txbuf 
-05dd 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-05de 20600000 rtn 
+05dd 7047c801 jam g24_ota_status_fail ,mem_24g_txbuf + 2 
+05de 70483601 jam type_ms ,mem_24g_data_type 
+05df 7047c6af jam datatype_ota ,mem_24g_txbuf 
+05e0 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+05e1 20600000 rtn 
 
 p_mouse_24g_package_ota_data:
-05df 704bf70f jam g24_ota_sm_tx_data_ok ,mem_g24_ota_sm 
-05e0 7047c705 jam g24_ota_cmd_data ,mem_24g_txbuf + 1 
-05e1 6fe0cc1c fetch 1 ,mem_g24_ota_rx_data_count 
-05e2 67e0c7ca store 1 ,mem_24g_txbuf + 4 
-05e3 70483505 jam 5 ,mem_24g_datalen 
-05e4 70483601 jam type_ms ,mem_24g_data_type 
-05e5 7047c6af jam datatype_ota ,mem_24g_txbuf 
-05e6 6fe0cbf5 fetch 1 ,mem_g24_ota_rtn_state 
-05e7 67e0c7c8 store 1 ,mem_24g_txbuf + 2 
-05e8 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-05e9 20600000 rtn 
+05e2 704bf70f jam g24_ota_sm_tx_data_ok ,mem_g24_ota_sm 
+05e3 7047c705 jam g24_ota_cmd_data ,mem_24g_txbuf + 1 
+05e4 6fe0cc1c fetch 1 ,mem_g24_ota_rx_data_count 
+05e5 67e0c7ca store 1 ,mem_24g_txbuf + 4 
+05e6 70483505 jam 5 ,mem_24g_datalen 
+05e7 70483601 jam type_ms ,mem_24g_data_type 
+05e8 7047c6af jam datatype_ota ,mem_24g_txbuf 
+05e9 6fe0cbf5 fetch 1 ,mem_g24_ota_rtn_state 
+05ea 67e0c7c8 store 1 ,mem_24g_txbuf + 2 
+05eb 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+05ec 20600000 rtn 
 
 p_mouse_24g_package_ota_set_config_end:
-05ea 704bf70c jam g24_ota_sm_tx_set_config_end_ok ,mem_g24_ota_sm 
-05eb 7047c704 jam g24_ota_cmd_set_config_end ,mem_24g_txbuf + 1 
-05ec 70483504 jam 4 ,mem_24g_datalen 
-05ed 70483601 jam type_ms ,mem_24g_data_type 
-05ee 7047c6af jam datatype_ota ,mem_24g_txbuf 
-05ef 6fe0cbf5 fetch 1 ,mem_g24_ota_rtn_state 
-05f0 67e0c7c8 store 1 ,mem_24g_txbuf + 2 
-05f1 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-05f2 20600000 rtn 
+05ed 704bf70c jam g24_ota_sm_tx_set_config_end_ok ,mem_g24_ota_sm 
+05ee 7047c704 jam g24_ota_cmd_set_config_end ,mem_24g_txbuf + 1 
+05ef 70483504 jam 4 ,mem_24g_datalen 
+05f0 70483601 jam type_ms ,mem_24g_data_type 
+05f1 7047c6af jam datatype_ota ,mem_24g_txbuf 
+05f2 6fe0cbf5 fetch 1 ,mem_g24_ota_rtn_state 
+05f3 67e0c7c8 store 1 ,mem_24g_txbuf + 2 
+05f4 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+05f5 20600000 rtn 
 
 p_mouse_24g_package_ping:
-05f3 7047c6af jam datatype_ota ,mem_24g_txbuf 
-05f4 7047c7ff jam g24_ota_cmd_ping ,mem_24g_txbuf + 1 
-05f5 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
-05f6 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-05f7 70483601 jam type_ms ,mem_24g_data_type 
-05f8 70483504 jam 4 ,mem_24g_datalen 
-05f9 20600000 rtn 
+05f6 7047c6af jam datatype_ota ,mem_24g_txbuf 
+05f7 7047c7ff jam g24_ota_cmd_ping ,mem_24g_txbuf + 1 
+05f8 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
+05f9 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+05fa 70483601 jam type_ms ,mem_24g_data_type 
+05fb 70483504 jam 4 ,mem_24g_datalen 
+05fc 20600000 rtn 
 
 p_mouse_24g_package_data_ota:
-05fa 1fe22200 copy pdata ,rega 
-05fb 704bf800 jam 0 ,mem_g24_ota_prepare_send_len 
-05fc 70483601 jam type_ms ,mem_24g_data_type 
-05fd da404bf9 arg mem_g24_ota_txbuf ,regb 
-05fe 20600000 rtn 
+05fd 1fe22200 copy pdata ,rega 
+05fe 704bf800 jam 0 ,mem_g24_ota_prepare_send_len 
+05ff 70483601 jam type_ms ,mem_24g_data_type 
+0600 da404bf9 arg mem_g24_ota_txbuf ,regb 
+0601 20600000 rtn 
               org 0x800
 
 start:
Index: program/patch.prog
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/mouse_public_xzr_branch/WK8_VE-BM01_OnlyBT/program/patch.prog	(revision 1222)
+++ /YC1308AC/branch/mouse_project/XZR/mouse_public_xzr_branch/WK8_VE-BM01_OnlyBT/program/patch.prog	(working copy)
@@ -1455,6 +1455,7 @@
 	beq P3065_ID1,mouse_init_p3065
 	beq PKA8G2_ID1,mouse_ka8g2_id2_judge
 	beq OM18_ID,p_mouse_om18_init_param
+p_mouse_init_sensor_reset:
 	call mouse_twspi_reset
 	nop 6900
 	branch p_mouse_init_sensor
@@ -1468,6 +1469,10 @@
 	branch mouse_dpi_4level_enable
 
 p_mouse_om18_init_param:
+	setarg PAN_REG_OPRATION_MODE
+	call twspi_read
+	bne 0x18,p_mouse_init_sensor_reset
+
 	jam OM18,mem_config_sensor_type
 	setarg 0x8006
 	call twspi_write
