Index: format/g24.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_1059/SlideSwitch/format/g24.format	(revision 1448)
+++ /branch/mouse_project/YJX_Project/YJX_1059/SlideSwitch/format/g24.format	(working copy)
@@ -126,6 +126,7 @@
 1 mem_24g_transmit_by_interrupt
 2 mem_24g_transmit_by_interrupt_exit_count
 2 mem_24g_transmit_by_interrupt_exit_count_init
+4 mem_24g_allpowerful_addr
 1 mem_24g_short_sleep_threshold
 
 1 mem_24g_stop_g24_mode
Index: output/flash.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_1059/SlideSwitch/output/flash.dat	(revision 1448)
+++ /branch/mouse_project/YJX_Project/YJX_1059/SlideSwitch/output/flash.dat	(working copy)
@@ -190,7 +190,7 @@
 39
 70
 4d
-3b
+3f
 46
 20
 60
@@ -627,7 +627,7 @@
 68
 00
 cd
-45
+49
 c2
 80
 80
@@ -654,7 +654,7 @@
 dd
 70
 4d
-44
+48
 0a
 20
 40
@@ -727,7 +727,7 @@
 68
 00
 cd
-3b
+3f
 20
 7a
 00
@@ -739,7 +739,7 @@
 60
 00
 cd
-3b
+3f
 d8
 40
 9c
@@ -927,14 +927,14 @@
 68
 00
 cd
-43
+47
 c1
 82
 00
 00
 70
 4d
-43
+47
 00
 20
 40
@@ -1123,7 +1123,7 @@
 60
 01
 cd
-41
+45
 20
 60
 00
@@ -1131,7 +1131,7 @@
 68
 00
 cd
-44
+48
 24
 7a
 00
@@ -1147,7 +1147,7 @@
 68
 00
 cd
-43
+47
 1f
 e0
 fe
@@ -1155,7 +1155,7 @@
 60
 00
 cd
-43
+47
 20
 40
 01
@@ -1167,7 +1167,7 @@
 68
 00
 cd
-43
+47
 c0
 82
 01
@@ -1175,7 +1175,7 @@
 68
 00
 cd
-42
+46
 1f
 e0
 fe
@@ -1183,7 +1183,7 @@
 60
 00
 cd
-42
+46
 c0
 04
 01
@@ -1194,12 +1194,12 @@
 00
 70
 4d
-42
+46
 00
 68
 00
 cd
-41
+45
 c3
 80
 00
@@ -1211,7 +1211,7 @@
 60
 00
 cd
-41
+45
 58
 00
 07
@@ -1234,16 +1234,16 @@
 16
 70
 4d
-42
+46
 00
 70
 4d
-43
+47
 04
 68
 00
 cd
-41
+45
 c4
 00
 00
@@ -1255,7 +1255,7 @@
 60
 00
 cd
-41
+45
 20
 40
 3f
@@ -2158,7 +2158,7 @@
 26
 70
 4d
-45
+49
 00
 20
 40
@@ -4458,8 +4458,8 @@
 00
 20
 40
-03
-31
+02
+f6
 58
 00
 00
@@ -4743,7 +4743,7 @@
 da
 60
 4d
-44
+48
 da
 40
 00
@@ -4755,7 +4755,7 @@
 da
 60
 4d
-3d
+41
 da
 40
 04
@@ -4766,7 +4766,7 @@
 74
 70
 4d
-3c
+40
 01
 20
 60
@@ -8188,8 +8188,8 @@
 20
 07
 f9
-f7
-8e
+17
+16
 aa
 55
 08
@@ -8785,8 +8785,8 @@
 ff
 ff
 14
-1b
 1c
+1b
 ff
 ff
 ff
@@ -9021,6 +9021,16 @@
 05
 aa
 55
+04
+00
+3b
+4d
+0f
+0f
+0f
+0f
+aa
+55
 0a
 00
 9e
@@ -9143,7 +9153,7 @@
 00
 4f
 4b
-c2
+cc
 2f
 00
 ff
@@ -10434,7 +10444,7 @@
 68
 00
 cd
-3c
+40
 c0
 00
 ad
@@ -10482,28 +10492,36 @@
 24
 2c
 00
-24
+26
 24
 37
 80
-24
-68
-00
-cd
-45
-79
-3f
-fe
-01
-60
+26
+70
+4d
+49
 00
-cd
-45
 20
 40
 01
 f4
 68
+02
+4c
+1e
+68
+0a
+4d
+3b
+98
+46
+7c
+00
+20
+22
+80
+17
+68
 00
 cb
 f4
@@ -10546,7 +10564,7 @@
 20
 42
 80
-22
+24
 70
 4b
 40
@@ -10590,11 +10608,11 @@
 c0
 00
 00
-2b
+2d
 c0
 01
 00
-35
+37
 20
 20
 01
@@ -10614,7 +10632,7 @@
 68
 00
 cd
-3f
+43
 60
 00
 cc
@@ -10622,11 +10640,11 @@
 20
 40
 00
-33
+35
 60
 08
 cd
-3f
+43
 20
 60
 00
@@ -10643,22 +10661,18 @@
 41
 de
 20
-58
-00
-0f
-0f
+68
+02
+4d
+3b
 60
-01
+02
 4c
 1e
-e0
-a1
-00
-00
 68
 00
 cd
-40
+44
 60
 00
 cc
@@ -10666,11 +10680,11 @@
 20
 40
 00
-33
+35
 60
 08
 cd
-40
+44
 20
 60
 00
@@ -10679,10 +10693,6 @@
 00
 00
 00
-00
-00
-00
-00
 20
 20
 00
@@ -10782,7 +10792,7 @@
 60
 01
 cd
-3c
+40
 20
 60
 00
@@ -10790,7 +10800,7 @@
 68
 00
 cd
-3c
+40
 c0
 00
 ad
@@ -10814,7 +10824,7 @@
 68
 00
 cd
-45
+49
 79
 3f
 fe
@@ -10822,7 +10832,7 @@
 60
 00
 cd
-45
+49
 70
 4b
 40
@@ -10974,7 +10984,7 @@
 68
 00
 cd
-45
+49
 79
 20
 7e
@@ -10982,7 +10992,7 @@
 60
 00
 cd
-45
+49
 20
 40
 02
@@ -11038,7 +11048,7 @@
 68
 00
 cd
-45
+49
 79
 20
 7e
@@ -11046,7 +11056,7 @@
 60
 00
 cd
-45
+49
 58
 00
 07
@@ -11054,10 +11064,10 @@
 60
 01
 4d
-3d
+41
 70
 4d
-3c
+40
 00
 20
 60
@@ -12223,5 +12233,5 @@
 55
 00
 00
-bc
-a3
+55
+d8
Index: output/memmap.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_1059/SlideSwitch/output/memmap.format	(revision 1448)
+++ /branch/mouse_project/YJX_Project/YJX_1059/SlideSwitch/output/memmap.format	(working copy)
@@ -1941,13 +1941,14 @@
 0x4d36 mem_24g_transmit_by_interrupt
 0x4d37 mem_24g_transmit_by_interrupt_exit_count
 0x4d39 mem_24g_transmit_by_interrupt_exit_count_init
-0x4d3b mem_24g_short_sleep_threshold
-0x4d3c mem_24g_stop_g24_mode
-0x4d3d mem_24g_stop_g24_mode_timeout
-0x4d3f mem_24g_pair_current_ch_num
-0x4d40 mem_24g_powerful_current_ch_num
-0x4d41 mem_24g_search_dongle_action
-0x4d42 mem_24g_search_dongle_count
-0x4d43 mem_24g_search_dongle_ch
-0x4d44 mem_24g_search_dongle_delay_count
-0x4d45 mem_24g_conn_sm
+0x4d3b mem_24g_allpowerful_addr
+0x4d3f mem_24g_short_sleep_threshold
+0x4d40 mem_24g_stop_g24_mode
+0x4d41 mem_24g_stop_g24_mode_timeout
+0x4d43 mem_24g_pair_current_ch_num
+0x4d44 mem_24g_powerful_current_ch_num
+0x4d45 mem_24g_search_dongle_action
+0x4d46 mem_24g_search_dongle_count
+0x4d47 mem_24g_search_dongle_ch
+0x4d48 mem_24g_search_dongle_delay_count
+0x4d49 mem_24g_conn_sm
Index: output/program.lis
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_1059/SlideSwitch/output/program.lis	(revision 1448)
+++ /branch/mouse_project/YJX_Project/YJX_1059/SlideSwitch/output/program.lis	(working copy)
@@ -60,7 +60,7 @@
 p_mouse_24g_transmit_by_interrupt_exit_count_max:
 002c 58000177 setarg 375 
 002d 60014d39 store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
-002e 704d3b46 jam 70 ,mem_24g_short_sleep_threshold 
+002e 704d3f46 jam 70 ,mem_24g_short_sleep_threshold 
 002f 20600000 rtn 
 0030 20000001 nop 1 
 0031 20000001 nop 1 
@@ -187,7 +187,7 @@
 
 p_g24_dispatch:
 009a c6930000 rtnmark0 mark_24g 
-009b 6800cd45 fetch 1 ,mem_24g_conn_sm 
+009b 6800cd49 fetch 1 ,mem_24g_conn_sm 
 009c c28080ba bbit1 state_24g_pair ,p_g24_pair_dispatch 
 009d c28100bc bbit1 state_24g_reconn ,p_g24_reconn_dispatch 
 009e 6800cd36 fetch 1 ,mem_24g_transmit_by_interrupt 
@@ -196,7 +196,7 @@
 p_g24_transmit_process:
 00a0 2040018a call p_g24_txdata_prep 
 00a1 243400dd nbranch p_g24_nodata_transmit ,user 
-00a2 704d440a jam 10 ,mem_24g_search_dongle_delay_count 
+00a2 704d480a jam 10 ,mem_24g_search_dongle_delay_count 
 00a3 20400165 call p_g24_rf_sta_check 
 
 p_g24_transmit_start:
@@ -220,10 +220,10 @@
 
 p_24g_short_sleep_threshold:
 00b3 d840ea60 arg 60000 ,temp 
-00b4 6800cd3b fetch 1 ,mem_24g_short_sleep_threshold 
+00b4 6800cd3f fetch 1 ,mem_24g_short_sleep_threshold 
 00b5 207a0000 rtn blank 
 00b6 1fe0ffff increase -1 ,pdata 
-00b7 6000cd3b store 1 ,mem_24g_short_sleep_threshold 
+00b7 6000cd3f store 1 ,mem_24g_short_sleep_threshold 
 00b8 d8409c40 arg 40000 ,temp 
 00b9 20600000 rtn 
 
@@ -290,9 +290,9 @@
 00e3 6800cd36 fetch 1 ,mem_24g_transmit_by_interrupt 
 00e4 c1008000 rtneq g24_tx_timer_int_enable 
 00e5 20400119 call p_g24_search_dongle 
-00e6 6800cd43 fetch 1 ,mem_24g_search_dongle_ch 
+00e6 6800cd47 fetch 1 ,mem_24g_search_dongle_ch 
 00e7 c1820000 rtnne g24_ch_number 
-00e8 704d4300 jam 0 ,mem_24g_search_dongle_ch 
+00e8 704d4700 jam 0 ,mem_24g_search_dongle_ch 
 
 p_g24_long_sleep:
 00e9 204000ef call p_g24_lpm_wait 
@@ -353,35 +353,35 @@
 
 p_g24_search_dongle_init:
 0116 58000000 setarg 0 
-0117 6001cd41 store 3 ,mem_24g_search_dongle_action 
+0117 6001cd45 store 3 ,mem_24g_search_dongle_action 
 0118 20600000 rtn 
 
 p_g24_search_dongle:
-0119 6800cd44 fetch 1 ,mem_24g_search_dongle_delay_count 
+0119 6800cd48 fetch 1 ,mem_24g_search_dongle_delay_count 
 011a 247a0000 nrtn blank 
 011b 6800cc22 fetch 1 ,mem_24g_abort_pac 
 011c 207a0000 rtn blank 
 
 p_g24_search_dongle_loop:
-011d 6800cd43 fetch 1 ,mem_24g_search_dongle_ch 
+011d 6800cd47 fetch 1 ,mem_24g_search_dongle_ch 
 011e 1fe0fe01 increase 1 ,pdata 
-011f 6000cd43 store 1 ,mem_24g_search_dongle_ch 
+011f 6000cd47 store 1 ,mem_24g_search_dongle_ch 
 0120 20400178 call p_g24_ch 
 0121 20400108 call p_g24_send_abort_packet1 
-0122 6800cd43 fetch 1 ,mem_24g_search_dongle_ch 
+0122 6800cd47 fetch 1 ,mem_24g_search_dongle_ch 
 0123 c082011d bne g24_ch_number ,p_g24_search_dongle_loop 
-0124 6800cd42 fetch 1 ,mem_24g_search_dongle_count 
+0124 6800cd46 fetch 1 ,mem_24g_search_dongle_count 
 0125 1fe0fe01 increase 1 ,pdata 
-0126 6000cd42 store 1 ,mem_24g_search_dongle_count 
+0126 6000cd46 store 1 ,mem_24g_search_dongle_count 
 0127 c0040129 beq g24_ch_poll_count ,p_g24_search_dongle_check 
 0128 20600000 rtn 
 
 p_g24_search_dongle_check:
-0129 704d4200 jam 0 ,mem_24g_search_dongle_count 
-012a 6800cd41 fetch 1 ,mem_24g_search_dongle_action 
+0129 704d4600 jam 0 ,mem_24g_search_dongle_count 
+012a 6800cd45 fetch 1 ,mem_24g_search_dongle_action 
 012b c3800000 rtnbit1 g24_disconn_state 
 012c 79207e00 set1 g24_disconn_state ,pdata 
-012d 6000cd41 store 1 ,mem_24g_search_dongle_action 
+012d 6000cd45 store 1 ,mem_24g_search_dongle_action 
 012e 58000708 setarg g24_disconn_nodata_timer 
 012f 600146b0 store 2 ,mem_mouse_no_data_timer 
 0130 20200459 branch p_mouse_sensor_powerdown 
@@ -389,12 +389,12 @@
 p_g24_search_dongle_success:
 0131 6800cc22 fetch 1 ,mem_24g_abort_pac 
 0132 203a0116 branch p_g24_search_dongle_init ,blank 
-0133 704d4200 jam 0 ,mem_24g_search_dongle_count 
-0134 704d4304 jam g24_ch_number ,mem_24g_search_dongle_ch 
-0135 6800cd41 fetch 1 ,mem_24g_search_dongle_action 
+0133 704d4600 jam 0 ,mem_24g_search_dongle_count 
+0134 704d4704 jam g24_ch_number ,mem_24g_search_dongle_ch 
+0135 6800cd45 fetch 1 ,mem_24g_search_dongle_action 
 0136 c4000000 rtnbit0 g24_disconn_state 
 0137 793ffe00 set0 g24_disconn_state ,pdata 
-0138 6000cd41 store 1 ,mem_24g_search_dongle_action 
+0138 6000cd45 store 1 ,mem_24g_search_dongle_action 
 0139 20403f8d call mouse_no_data_timer_init 
 013a 20200403 branch p_mouse_init_sensor_reset 
 
@@ -714,7 +714,7 @@
 
 p_g24_check_51cmd_stop_24g:
 0219 793f8026 set0 mark_24g ,mark 
-021a 704d4500 jam state_24g_stop ,mem_24g_conn_sm 
+021a 704d4900 jam state_24g_stop ,mem_24g_conn_sm 
 021b 204053ce call le_disable 
 
 p_mouse_disable_g24_pairing_flag:
@@ -1493,7 +1493,7 @@
 0458 704afe00 jam 0 ,mem_mouse_init_sensor_reset_flag 
 
 p_mouse_sensor_powerdown:
-0459 20400331 call p_mouse_spi_init 
+0459 204002f6 call p_mouse_init_sunt 
 045a 58000006 setarg 0x06 
 045b 20406414 call twspi_read 
 045c 1fe1fe08 or pdata ,0x08 ,pdata 
@@ -1596,17 +1596,17 @@
 049f 20600000 rtn 
 
 p_mouse_g24_search_dongle_delay_timer:
-04a0 da604d44 arg mem_24g_search_dongle_delay_count ,regc 
+04a0 da604d48 arg mem_24g_search_dongle_delay_count ,regc 
 04a1 da400000 arg 0 ,regb 
 04a2 2020336d branch timer_single_step 
 
 p_mouse_g24_stop_mode_timeout_timer:
-04a3 da604d3d arg mem_24g_stop_g24_mode_timeout ,regc 
+04a3 da604d41 arg mem_24g_stop_g24_mode_timeout ,regc 
 04a4 da4004a6 arg p_mouse_g24_stop_mode_timeout ,regb 
 04a5 20203374 branch timer_single_step_2b 
 
 p_mouse_g24_stop_mode_timeout:
-04a6 704d3c01 jam 1 ,mem_24g_stop_g24_mode 
+04a6 704d4001 jam 1 ,mem_24g_stop_g24_mode 
 04a7 20600000 rtn 
 
 p_mouse_send_switch_req_timer:
@@ -35713,9 +35713,9 @@
 50005 2040000e  call z_g24_factory_check
 50006 20340217  branch p_g24_auto_pair_start ,user
 50007 79200026  set1 mark_24g ,mark
-50008 6800cd45  fetch 1 ,mem_24g_conn_sm
+50008 6800cd49  fetch 1 ,mem_24g_conn_sm
 50009 79207e02  set1 state_24g_reconn ,pdata
-5000a 6000cd45  store 1 ,mem_24g_conn_sm
+5000a 6000cd49  store 1 ,mem_24g_conn_sm
 5000b 20400200  call p_g24_syncword_crc8
 5000c 20400178  call p_g24_ch
 5000d 2020001b  branch z_g24_auto_pair_timeout_init
@@ -35735,14 +35735,14 @@
 
 z_g24_auto_pair_start:
 50017 79200026  set1 mark_24g ,mark
-50018 6800cd45  fetch 1 ,mem_24g_conn_sm
+50018 6800cd49  fetch 1 ,mem_24g_conn_sm
 50019 79207e01  set1 state_24g_pair ,pdata
-5001a 6000cd45  store 1 ,mem_24g_conn_sm
+5001a 6000cd49  store 1 ,mem_24g_conn_sm
 
 z_g24_auto_pair_timeout_init:
 5001b 58000708  setarg g24_disconn_nodata_timer
-5001c 60014d3d  store 2 ,mem_24g_stop_g24_mode_timeout
-5001d 704d3c00  jam 0 ,mem_24g_stop_g24_mode
+5001c 60014d41  store 2 ,mem_24g_stop_g24_mode_timeout
+5001d 704d4000  jam 0 ,mem_24g_stop_g24_mode
 5001e 20600000  rtn
 
 z_mouse_24g_pairing_button:
@@ -35793,19 +35793,19 @@
 
 z_g24_auto_pair_timeout_clear:
 60017 58000000  setarg 0
-60018 6001cd3c  store 3 ,mem_24g_stop_g24_mode
+60018 6001cd40  store 3 ,mem_24g_stop_g24_mode
 60019 20600000  rtn
 
 z_g24_reconn_dispatch:
-6001a 6800cd3c  fetch 1 ,mem_24g_stop_g24_mode
+6001a 6800cd40  fetch 1 ,mem_24g_stop_g24_mode
 6001b c000add4  beq 1 ,g24_stop_24g_mode
 6001c 20400029  call z_g24_tx_attemp_data_prep
 6001d 204001ca  call p_g24_transmit_receive_ack
 6001e 242c0178  nbranch p_g24_ch ,sync
 6001f 24378178  nbranch p_g24_ch ,user3
-60020 6800cd45  fetch 1 ,mem_24g_conn_sm
+60020 6800cd49  fetch 1 ,mem_24g_conn_sm
 60021 793ffe02  set0 state_24g_reconn ,pdata
-60022 6000cd45  store 1 ,mem_24g_conn_sm
+60022 6000cd49  store 1 ,mem_24g_conn_sm
 
 z_g24_tx_attemp_dongle_succ:
 60023 704b4000  jam 0 ,mem_mouse_long_mult_flag
@@ -35832,7 +35832,7 @@
 z_entrance6:
 
 z_g24_pair_dispatch:
-70001 6800cd3c  fetch 1 ,mem_24g_stop_g24_mode
+70001 6800cd40  fetch 1 ,mem_24g_stop_g24_mode
 70002 c000add4  beq 1 ,g24_stop_24g_mode
 70003 70119eff  jam 0xff ,mem_24g_common_temp
 70004 6800cbf7  fetch 1 ,mem_24g_data_type
@@ -35844,67 +35844,70 @@
 7000a 2040021e  call p_g24_put_data_in_buff
 7000b 20400230  call p_g24_transmit_prep
 7000c 204001ca  call p_g24_transmit_receive_ack
-7000d 242c0024  nbranch z_g24_pair_txdata_retry ,sync
-7000e 24378024  nbranch z_g24_pair_txdata_retry ,user3
-7000f 6800cd45  fetch 1 ,mem_24g_conn_sm
-70010 793ffe01  set0 state_24g_pair ,pdata
-70011 6000cd45  store 1 ,mem_24g_conn_sm
-70012 204001f4  call p_g24_ackpayload_parse
-70013 6800cbf4  fetch 1 ,mem_24g_rxdata_length
-70014 207a0000  rtn blank
-70015 204002ec  call p_mouse_tx_power_init
-70016 68024c1e  fetch 4 ,mem_24g_addr
-70017 680a4c02  fetcht 4 ,mem_24g_paring_addr
-70018 98467c00  isub temp ,null
-70019 2022820d  branch p_g24_start_pairing_sm1 ,zero
-7001a 68024c1e  fetch 4 ,mem_24g_addr
-7001b 680a4c2d  fetcht 4 ,mem_24g_device_addr
-7001c 98467c00  isub temp ,null
-7001d 20428022  call z7_g24_store_dongle_addr ,zero
-7001e 704b4000  jam 0 ,mem_mouse_long_mult_flag
-7001f 20402f20  call g24_app_tx_attempt_success
-70020 204001c2  call p_g24_txbuf_clear
-70021 20200384  branch p_g24_transmit_by_interrupt_enable
+7000d 242c0026  nbranch z_g24_pair_txdata_retry ,sync
+7000e 24378026  nbranch z_g24_pair_txdata_retry ,user3
+7000f 704d4900  jam 0 ,mem_24g_conn_sm
+70010 204001f4  call p_g24_ackpayload_parse
+70011 68024c1e  fetch 4 ,mem_24g_addr
+70012 680a4d3b  fetcht 4 ,mem_24g_allpowerful_addr
+70013 98467c00  isub temp ,null
+70014 20228017  branch z_g24_auto_pair_skip_rx_length ,zero
+70015 6800cbf4  fetch 1 ,mem_24g_rxdata_length
+70016 207a0000  rtn blank
+
+z_g24_auto_pair_skip_rx_length:
+70017 204002ec  call p_mouse_tx_power_init
+70018 68024c1e  fetch 4 ,mem_24g_addr
+70019 680a4c02  fetcht 4 ,mem_24g_paring_addr
+7001a 98467c00  isub temp ,null
+7001b 2022820d  branch p_g24_start_pairing_sm1 ,zero
+7001c 68024c1e  fetch 4 ,mem_24g_addr
+7001d 680a4c2d  fetcht 4 ,mem_24g_device_addr
+7001e 98467c00  isub temp ,null
+7001f 20428024  call z7_g24_store_dongle_addr ,zero
+70020 704b4000  jam 0 ,mem_mouse_long_mult_flag
+70021 20402f20  call g24_app_tx_attempt_success
+70022 204001c2  call p_g24_txbuf_clear
+70023 20200384  branch p_g24_transmit_by_interrupt_enable
 
 z7_g24_store_dongle_addr:
-70022 68024bd6  fetch 4 ,mem_24g_rxpayload + 2
-70023 202001ff  branch p_g24_update_addr_and_synccrc8
+70024 68024bd6  fetch 4 ,mem_24g_rxpayload + 2
+70025 202001ff  branch p_g24_update_addr_and_synccrc8
 
 z_g24_pair_txdata_retry:
 
 z_g24_pair_txdata_switch:
-70024 6800cd34  fetch 1 ,mem_24g_auto_paring_switch
-70025 1fe0fe01  increase 1 ,pdata
-70026 1fe17e03  and_into 3 ,pdata
-70027 6000cd34  store 1 ,mem_24g_auto_paring_switch
-70028 c000002b  beq 0 ,z_g24_auto_pair_first_attemp
-70029 c0010035  beq 2 ,z_g24_auto_pair_all_powerful
-7002a 202001fb  branch p_g24_pair_init
+70026 6800cd34  fetch 1 ,mem_24g_auto_paring_switch
+70027 1fe0fe01  increase 1 ,pdata
+70028 1fe17e03  and_into 3 ,pdata
+70029 6000cd34  store 1 ,mem_24g_auto_paring_switch
+7002a c000002d  beq 0 ,z_g24_auto_pair_first_attemp
+7002b c0010037  beq 2 ,z_g24_auto_pair_all_powerful
+7002c 202001fb  branch p_g24_pair_init
 
 z_g24_auto_pair_first_attemp:
-7002b 204002ec  call p_mouse_tx_power_init
-7002c 68024c2d  fetch 4 ,mem_24g_device_addr
-7002d 60024c1e  store 4 ,mem_24g_addr
-7002e 6800cd3f  fetch 1 ,mem_24g_pair_current_ch_num
-7002f 6000cc01  store 1 ,mem_24g_current_ch_number
-70030 20400033  call z_g24_ch_syncword_crc8_init
-70031 6008cd3f  storet 1 ,mem_24g_pair_current_ch_num
-70032 20600000  rtn
+7002d 204002ec  call p_mouse_tx_power_init
+7002e 68024c2d  fetch 4 ,mem_24g_device_addr
+7002f 60024c1e  store 4 ,mem_24g_addr
+70030 6800cd43  fetch 1 ,mem_24g_pair_current_ch_num
+70031 6000cc01  store 1 ,mem_24g_current_ch_number
+70032 20400035  call z_g24_ch_syncword_crc8_init
+70033 6008cd43  storet 1 ,mem_24g_pair_current_ch_num
+70034 20600000  rtn
 
 z_g24_ch_syncword_crc8_init:
-70033 20400200  call p_g24_syncword_crc8
-70034 20200178  branch p_g24_ch
+70035 20400200  call p_g24_syncword_crc8
+70036 20200178  branch p_g24_ch
 
 z_g24_auto_pair_all_powerful:
-70035 7041de20  jam tx_power_pair ,mem_tx_power
-70036 58000f0f  setarg 0x0f0f
-70037 60014c1e  store 2 ,mem_24g_addr
-70038 e0a10000  istore 2 ,contw
-70039 6800cd40  fetch 1 ,mem_24g_powerful_current_ch_num
-7003a 6000cc01  store 1 ,mem_24g_current_ch_number
-7003b 20400033  call z_g24_ch_syncword_crc8_init
-7003c 6008cd40  storet 1 ,mem_24g_powerful_current_ch_num
-7003d 20600000  rtn
+70037 7041de20  jam tx_power_pair ,mem_tx_power
+70038 68024d3b  fetch 4 ,mem_24g_allpowerful_addr
+70039 60024c1e  store 4 ,mem_24g_addr
+7003a 6800cd44  fetch 1 ,mem_24g_powerful_current_ch_num
+7003b 6000cc01  store 1 ,mem_24g_current_ch_number
+7003c 20400035  call z_g24_ch_syncword_crc8_init
+7003d 6008cd44  storet 1 ,mem_24g_powerful_current_ch_num
+7003e 20600000  rtn
 org 0x80001
 
 z_entrance7:
Index: output/romcode.rom
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_1059/SlideSwitch/output/romcode.rom	(revision 1448)
+++ /branch/mouse_project/YJX_Project/YJX_1059/SlideSwitch/output/romcode.rom	(working copy)
@@ -24759,9 +24759,9 @@
 2040000e
 20340217
 79200026
-6800cd45
+6800cd49
 79207e02
-6000cd45
+6000cd49
 20400200
 20400178
 2020001b
@@ -24775,12 +24775,12 @@
 c2000012
 20600000
 79200026
-6800cd45
+6800cd49
 79207e01
-6000cd45
+6000cd49
 58000708
-60014d3d
-704d3c00
+60014d41
+704d4000
 20600000
 680246d3
 c4088000
@@ -24818,17 +24818,17 @@
 20404366
 20200324
 58000000
-6001cd3c
+6001cd40
 20600000
-6800cd3c
+6800cd40
 c000add4
 20400029
 204001ca
 242c0178
 24378178
-6800cd45
+6800cd49
 793ffe02
-6000cd45
+6000cd49
 704b4000
 20402f20
 204001c2
@@ -24844,7 +24844,7 @@
 da20119e
 2040021e
 20200230
-6800cd3c
+6800cd40
 c000add4
 70119eff
 6800cbf7
@@ -24856,12 +24856,14 @@
 2040021e
 20400230
 204001ca
-242c0024
-24378024
-6800cd45
-793ffe01
-6000cd45
+242c0026
+24378026
+704d4900
 204001f4
+68024c1e
+680a4d3b
+98467c00
+20228017
 6800cbf4
 207a0000
 204002ec
@@ -24872,7 +24874,7 @@
 68024c1e
 680a4c2d
 98467c00
-20428022
+20428024
 704b4000
 20402f20
 204001c2
@@ -24883,27 +24885,26 @@
 1fe0fe01
 1fe17e03
 6000cd34
-c000002b
-c0010035
+c000002d
+c0010037
 202001fb
 204002ec
 68024c2d
 60024c1e
-6800cd3f
+6800cd43
 6000cc01
-20400033
-6008cd3f
+20400035
+6008cd43
 20600000
 20400200
 20200178
 7041de20
-58000f0f
-60014c1e
-e0a10000
-6800cd40
+68024d3b
+60024c1e
+6800cd44
 6000cc01
-20400033
-6008cd40
+20400035
+6008cd44
 20600000
 c0380003
 20600000
@@ -25119,4 +25120,4 @@
 704b0100
 704b0a00
 202041d9
-00008fc7
+000013dc
Index: program/patch.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_1059/SlideSwitch/program/patch.prog	(revision 1448)
+++ /branch/mouse_project/YJX_Project/YJX_1059/SlideSwitch/program/patch.prog	(working copy)
@@ -186,8 +186,6 @@
 	rtn
 
 p_soft_reset_1:
-//	jam clksel_dpll,core_clksel
-//	jam 0xe6,0x8968		//16M XTAL
 //	call p_mouse_select_device_button_wakeup_check
 	arg mem_sp_state,contw
 	arg 12,loopcnt
@@ -1827,7 +1825,7 @@
 	rtn blank
 	jam 0,mem_mouse_init_sensor_reset_flag
 p_mouse_sensor_powerdown:
-	call p_mouse_spi_init
+	call p_mouse_init_sunt
 	setarg 0x06
 	call twspi_read
 	or pdata,0x08,pdata
@@ -1855,7 +1853,7 @@
 	call p_mouse_g24_long_sleep_param_update_timer
 	call p_mouse_g24_search_dongle_delay_timer
 	call p_mouse_g24_stop_mode_timeout_timer
-endif	
+endif
 ifdef BLE	
 	call p_mouse_check_direct_timeout_timer
 	call p_mouse_le_enable_att_list_timer
Index: program/z.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_1059/SlideSwitch/program/z.prog	(revision 1448)
+++ /branch/mouse_project/YJX_Project/YJX_1059/SlideSwitch/program/z.prog	(working copy)
@@ -421,12 +421,18 @@
 	call p_g24_transmit_receive_ack
 	nbranch z_g24_pair_txdata_retry,sync
 	nbranch z_g24_pair_txdata_retry,user3
-	fetch 1,mem_24g_conn_sm
-	set0 STATE_24G_PAIR,pdata
-	store 1,mem_24g_conn_sm
+//	fetch 1,mem_24g_conn_sm
+//	set0 STATE_24G_PAIR,pdata
+//	store 1,mem_24g_conn_sm
+	jam 0,mem_24g_conn_sm
 	call p_g24_ackpayload_parse
-	fetch 1,mem_24g_rxdata_length	//ack payload length 
+	fetch 4,mem_24g_addr
+	fetcht 4,mem_24g_allpowerful_addr
+	isub temp,null
+	branch z_g24_auto_pair_skip_rx_length,zero
+	fetch 1,mem_24g_rxdata_length	//ack payload length
 	rtn blank
+z_g24_auto_pair_skip_rx_length:
 	call p_mouse_tx_power_init
 	fetch 4,mem_24g_addr
 	fetcht 4,mem_24g_paring_addr
@@ -471,9 +477,8 @@
 
 z_g24_auto_pair_all_powerful:
 	jam TX_POWER_PAIR,mem_tx_power
-	setarg 0x0f0f
-	store 2,mem_24g_addr
-	istore 2,contw
+	fetch 4,mem_24g_allpowerful_addr
+	store 4,mem_24g_addr
 	fetch 1,mem_24g_powerful_current_ch_num
 	store 1,mem_24g_current_ch_number
 	call z_g24_ch_syncword_crc8_init
@@ -717,14 +722,6 @@
 	hfetch 1,core_gpio_pd3	//gpio24 can not be set pulldown
 	set1 0,pdata
 	hstore 1,core_gpio_pd3
-//	fetch 1,mem_gpio_wakeup_low+1
-//	and pdata,0xfe,pdata
-//	store 1,mem_gpio_wakeup_low+1
-//	fetcht 1,mem_dpi_button_gpio
-//	call p_gpio_set_input_pd
-//	fetch 1,mem_gpio_wakeup_high+1
-//	or pdata,0x01,pdata
-//	store 1,mem_gpio_wakeup_high+1
 	fetcht 1,mem_config_select_device_button_gpio
 	branch gpio_clr_wake
 
Index: sched/mouse.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_1059/SlideSwitch/sched/mouse.dat	(revision 1448)
+++ /branch/mouse_project/YJX_Project/YJX_1059/SlideSwitch/sched/mouse.dat	(working copy)
@@ -157,8 +157,8 @@
 ff #mem_bk_button_gpio:ff
 ff #mem_fw_button_gpio:ff
 14 #mem_dpi_button_gpio:06
-1b #mem_whee_a_data_gpio:02
-1c #mem_whee_b_data_gpio:03
+1c #mem_whee_a_data_gpio:02
+1b #mem_whee_b_data_gpio:03
 ff #mem_whee_ta_data_gpio:ff
 ff #mem_whee_tb_data_gpio:ff
 ff #mem_config_bt_button_gpio:ff
@@ -259,6 +259,7 @@
 mem_24g_ch_map4:11 23 31 4d
 mem_24g_pairing_sm:ff
 mem_24g_paring_addr:20 15 10 05
+mem_24g_allpowerful_addr:0f 0f 0f 0f
 mem_24g_common_temp:00 00 00 00 00 00 00 00 00 00
 mem_24g_enter_hibernate:80 ee 36
 
