Index: do_sdk.bat
===================================================================
--- /YC1308AC/branch/mouse_project/BR_Project/MultiMode/PBSwitch_3mode_3ch_CM892B/do_sdk.bat	(revision 4624)
+++ /YC1308AC/branch/mouse_project/BR_Project/MultiMode/PBSwitch_3mode_3ch_CM892B/do_sdk.bat	(working copy)
@@ -65,7 +65,7 @@
 ::geneep
 
 
-create_exen.pl 1  1024 64
+::create_exen.pl 1  1024 64
 
 
 if "%device_option%" equ "mouse" (
Index: format/rom.format
===================================================================
--- /YC1308AC/branch/mouse_project/BR_Project/MultiMode/PBSwitch_3mode_3ch_CM892B/format/rom.format	(revision 4624)
+++ /YC1308AC/branch/mouse_project/BR_Project/MultiMode/PBSwitch_3mode_3ch_CM892B/format/rom.format	(working copy)
@@ -19,6 +19,7 @@
 0xb2 TX_POWER_F50DB
 0xbc TX_POWER_F60DB
 
+0xaa TX_POWER_FAST_CONN
 )
 (
 0x01 coffset_mode
@@ -386,14 +387,14 @@
 8 page_interval_timer
 9 key_scan_timer
 10 smp_pairing_timer
-11  ui_led_blink   //led timer ¿ÉÀ©Õ¹
+11  ui_led_blink   //led timer ï¿½ï¿½ï¿½ï¿½Õ¹
 12  ui_led_blink1
 13 ui_led_blink2
 
-//²»Ê¹ÓÃmeshÓ¦ÓÃ¿ÉÒÔ¸´ÓÃ
-//Tiny Mesh ¹ã²¥APP»Ø¸´
+//ï¿½ï¿½Ê¹ï¿½ï¿½meshÓ¦ï¿½Ã¿ï¿½ï¿½Ô¸ï¿½ï¿½ï¿½
+//Tiny Mesh ï¿½ã²¥APPï¿½Ø¸ï¿½
 13 mesh_ble_adv_app
-//Tiny Mesh¹ã²¥tmall»Ø¸´
+//Tiny Meshï¿½ã²¥tmallï¿½Ø¸ï¿½
 14 mesh_ble_adv_tmall
 //Tiny Mesh relay
 15 mesh_ble_relay_timer
@@ -1227,6 +1228,7 @@
 2 FAST_CONN_AND_3_0_ADDR
 3 RECEIVER_AND_3_0_ADDR
 4 PAIR_AND_3_0_ADDR
+5 PAIR_AND_RECEIVER
 )
 (
 0x50 RSSI_THRESH_NOISE
@@ -1596,33 +1598,33 @@
 )
 (//Timer opcode
 0x01A8 VENDOR_MESSAGE_OPCODE_COMPANY_ID
-//Ê±¼ä
+//Ê±ï¿½ï¿½
 0xF01F VENDOR_MESSAGE_ATTR_TYPE_TIME
-//Ê±Çø
+//Ê±ï¿½ï¿½
 0xF01E VENDOR_MESSAGE_ATTR_TYPE_TIME_ZONE
-//¶ÔÊ±
+//ï¿½ï¿½Ê±
 0xF01D VENDOR_MESSAGE_ATTR_TYPE_ON_TIME
-//¶¨Ê±
+//ï¿½ï¿½Ê±
 0xF010 VENDOR_MESSAGE_ATTR_TYPE_TIMING
-//ÖÜÆÚ¶¨Ê±
+//ï¿½ï¿½ï¿½Ú¶ï¿½Ê±
 0xF011 VENDOR_MESSAGE_ATTR_TYPE_CYCLE_TIMING
-//É¾³ý¶¨Ê±
+//É¾ï¿½ï¿½ï¿½ï¿½Ê±
 0xF012 VENDOR_MESSAGE_ATTR_TYPE_DELETE_TIMING
 
-//ÑÕÉ«
+//ï¿½ï¿½É«
 0x0123 VENDOR_MESSAGE_ATTR_TYPE_COLOR
-//Ö÷µÆ
+//ï¿½ï¿½ï¿½ï¿½
 0x0534 VENDOR_MESSAGE_ATTR_TYPE_MAIN_LIGHT
-//±³¹âµÆ
+//ï¿½ï¿½ï¿½ï¿½ï¿½
 0x0533 VENDOR_MESSAGE_ATTR_TYPE_BACKGROUND_LIGHT
 )
-(//ÌìÃ¨eventÊÂ¼þ±í
-//Éè±¸·¢ÉúµÄÊÂ¼þ£¬±ÈÈçÉÏµç»òÕß¶¨Ê±Íê³É
+(//ï¿½ï¿½Ã¨eventï¿½Â¼ï¿½ï¿½ï¿½
+//ï¿½è±¸ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Â¼ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ïµï¿½ï¿½ï¿½ß¶ï¿½Ê±ï¿½ï¿½ï¿½
 0xF009 VENDOR_ATTR_TYPE_EVENT_TRIGGER
 
-//ÌìÃ¨Éè±¸ÉÏµç
+//ï¿½ï¿½Ã¨ï¿½è±¸ï¿½Ïµï¿½
 0x03 VENDOR_MESSAGE_EVENT_DEVICE_POWER_ON
-//ÌìÃ¨¶¨Ê±Íê³É
+//ï¿½ï¿½Ã¨ï¿½ï¿½Ê±ï¿½ï¿½ï¿½
 0x11 VENDOR_MESSAGE_EVENT_FINISH_TIMING
 )
 (
@@ -1648,7 +1650,7 @@
 (//transport mic cache parameter
 10 TRANSPORT_MIC_CACHE_SPACE_NUM
 4 TRANSPORT_MIC_CACHE_SPACE_SIZE
-//×Ü³¤¶ÈÉÙÒ»¸öspace
+//ï¿½Ü³ï¿½ï¿½ï¿½ï¿½ï¿½Ò»ï¿½ï¿½space
 36 TRANSPORT_MIC_CACHE_TOTAL_SIZE
 )
 (
@@ -1675,24 +1677,24 @@
 1 DEVICE_BEACON_ON
 )
 (
-//Î´ÅäÍø¹ã²¥³¬Ê±10min
+//Î´ï¿½ï¿½ï¿½ï¿½ï¿½ã²¥ï¿½ï¿½Ê±10min
 0x1770	ADV_UNPROVISIONED_DEVICE_BEACON_TIMEOUT
-//Î´ÅäÍø¹ã²¥¼ä¸ô500ms
+//Î´ï¿½ï¿½ï¿½ï¿½ï¿½ã²¥ï¿½ï¿½ï¿½500ms
 5		ADV_UNPROVISIONED_DEVICE_BEACON_INTERVAL
-//Î´ÅäÍø¹ã²¥Ê±³¤120ms=20ms*6
+//Î´ï¿½ï¿½ï¿½ï¿½ï¿½ã²¥Ê±ï¿½ï¿½120ms=20ms*6
 6		ADV_UNPROVISIONED_DEVICE_BEACON_DURATION
 
-//¾²Ä¬¹ã²¥³¬Ê±:ÎÞ
+//ï¿½ï¿½Ä¬ï¿½ã²¥ï¿½ï¿½Ê±:ï¿½ï¿½
 0		ADV_SILENCE_DEVICE_BEACON_TIMEOUT
-//¾²Ä¬¹ã²¥¼ä¸ô60s
+//ï¿½ï¿½Ä¬ï¿½ã²¥ï¿½ï¿½ï¿½60s
 600		ADV_SILENCE_DEVICE_BEACON_INTERVAL
-//¾²Ä¬¹ã²¥Ê±³¤120ms=20ms*6
+//ï¿½ï¿½Ä¬ï¿½ã²¥Ê±ï¿½ï¿½120ms=20ms*6
 6		ADV_SILENCE_DEVICE_BEACON_DURATION
 
 
-//ÅäÍøºó¹ã²¥¼ä¸ô
+//ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ã²¥ï¿½ï¿½ï¿½
 0x54		ADV_PAIRING_MESH_MESSAGE_INTERVAL
-//ÅäÍøºó¹ã²¥Ê±³¤
+//ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ã²¥Ê±ï¿½ï¿½
 20		ADV_PAIRING_MESH_MESSAGE_DURATION
 
 10		ADV_RELAY_MESH_MESSAGE_DURATION
@@ -1703,9 +1705,9 @@
 6 BIT_OF_ADV_IN_OFF
 )
 (
-//mesh »Ø¸´APP¹ã²¥¼ä¸ô24*0.625ms = 15ms
+//mesh ï¿½Ø¸ï¿½APPï¿½ã²¥ï¿½ï¿½ï¿½24*0.625ms = 15ms
 0x15 MESH_ADV_APP_MESSAGE_INTERVAL
-//mesh»Ø¸´tmall¹ã²¥¼ä¸ô32*0.625ms = 20ms
+//meshï¿½Ø¸ï¿½tmallï¿½ã²¥ï¿½ï¿½ï¿½32*0.625ms = 20ms
 0x1d MESH_ADV_TMALL_MESSAGE_INTERVAL
 )
 (
@@ -2103,7 +2105,8 @@
 6 power_starting_cb_offset
 8 power_standby_cb_offset
 10 ui_butten_up_cb_offset
-)
+)
+
 (
 0x9000 mem_b_box
 0x9100 mem_e_box
@@ -2319,20 +2322,20 @@
 )
 (
 0xa2 COMMAND_TEST	//BYTE 0
-0x81 COM_TEST_SC		//	½øÈëµ¥ÔØ²¨
-0x82 COM_TEST_CD		// fcc²âÊÔ
-0x83 COM_TEST_DAT		// Êý¾Ý²âÊÔ
-0x84 COM_TEST_LOW_CH  //µÍÆµµã
-0x85 COM_TEST_MID_CH	//ÖÐÆµµã
-0x86 COM_TEST_HIG_CH	//¸ßÆµµã
-0x87 COM_TEST_SW_HIG	//×Ô¶¯ÇÐ»»ÆµµãÎª¸ß 1mhz
-0x88 COIM_TEST_SW_LOW	//×Ô¶¯ÇÐ»»ÆµµãÎªµÍ 1mhz
-0x89 COM_TEST_SW_STOP	//Í£Ö¹×Ô¶¯ÇÐ»»Æµµã
-0x8a COM_TEST_POW_5		//ÉèÖÃÊä³ö¹¦ÂÊ5dbm
+0x81 COM_TEST_SC		//	ï¿½ï¿½ï¿½ëµ¥ï¿½Ø²ï¿½
+0x82 COM_TEST_CD		// fccï¿½ï¿½ï¿½ï¿½
+0x83 COM_TEST_DAT		// ï¿½ï¿½ï¿½Ý²ï¿½ï¿½ï¿½
+0x84 COM_TEST_LOW_CH  //ï¿½ï¿½Æµï¿½ï¿½
+0x85 COM_TEST_MID_CH	//ï¿½ï¿½Æµï¿½ï¿½
+0x86 COM_TEST_HIG_CH	//ï¿½ï¿½Æµï¿½ï¿½
+0x87 COM_TEST_SW_HIG	//ï¿½Ô¶ï¿½ï¿½Ð»ï¿½Æµï¿½ï¿½Îªï¿½ï¿½ 1mhz
+0x88 COIM_TEST_SW_LOW	//ï¿½Ô¶ï¿½ï¿½Ð»ï¿½Æµï¿½ï¿½Îªï¿½ï¿½ 1mhz
+0x89 COM_TEST_SW_STOP	//Í£Ö¹ï¿½Ô¶ï¿½ï¿½Ð»ï¿½Æµï¿½ï¿½
+0x8a COM_TEST_POW_5		//ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½5dbm
 0x8b COM_TEST_POW_0		//0dbm
 0x8c COM_TEST_POW_N5		//-5dbm
 0x8d COM_TEST_POW_N10		//-10dbm
-0x8e COM_TEST_EXIT			//ÍË³ö²âÊÔÄ£Ê½
+0x8e COM_TEST_EXIT			//ï¿½Ë³ï¿½ï¿½ï¿½ï¿½ï¿½Ä£Ê½
 )
 (
 0xa6 COMMAND_CURRENT_PROJECT
@@ -2744,6 +2747,7 @@
 
 
 0xFF GPIO_DISABLE
+0x03 ICE_GPIO
 
 //DPI button state 
 0x00 DPI_BUTTON_STATE_UP
@@ -2765,7 +2769,8 @@
 0X5A MOUSE_DPI_EEPROM_OFFECT	//1byte
 0X5B MOUSE_G24_ADDR_EEPROM_OFFECT	//4bytes
 0X5F MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET	//2bytes
-0X61 MOUSE_EEPROM_MODULE_INIT_FLAG
+0X61 MOUSE_EEPROM_MODULE_INIT_FLAG	//2byte
+0X63 MOUSE_LOGO_EEPROM_OFFECT	//1byte
 
 // Sensor id number
 0x30 P32XX_ID1
@@ -2941,15 +2946,32 @@
 1 MULTI_LED_BLINK
 )
 
+//new led function enable
+(
+0 MOUSE_ENABLE_LED_NEW_INTERFACE
+1 MOUSE_ENABLE_BT_RECONN_LED_EFFECT
+2 MOUSE_ENABLE_LED_BLINK_LIMIT
+3 MOUSE_ENABLE_LOW_LED
+4 MOUSE_ENABLE_LOW_LED_BLINK_LIMIT
+5 MOUSE_ENABLE_1IO2LED
+)
+
+//led multi type:DPI+LOW+LED
+(
+1 MOUSE_ENABLE_LOW_FOR_LED
+2 MOUSE_ENABLE_DPI_FOR_LED
+3 MOUSE_ENABLE_DPI_LOW_FOR_LED
+)
+
+(
+0x20 MOUSE_BLE_L2CAP_TXBUFF_SIZE_NEW
+)
+
+//led multi type:DPI+LOW+LOGO
 (
-0x00 MOUSE_ENABLE_1IO2LED
-0x01 MOUSE_ENABLE_BT_RECONN_LED_EFFECT
-0x02 MOUSE_ENABLE_LED_BLINK_LIMIT
-0x03 MOUSE_ENABLE_LOW_LED
-0x04 MOUSE_ENABLE_LOW_LED_BLINK_LIMIT
-0x05 MOUSE_ENABLE_LOW_FOR_LED
-0x06 MOUSE_ENABLE_DPI_FOR_LED
-0x07 MOUSE_ENABLE_DPI_LOW_FOR_LED
+0 LOGO_LED_MEMORY
+1 COMMBATION_LOGO
+2 DPI_LOGO
 )
 
 (
@@ -4734,6 +4756,7 @@
 	0x828a core_docd_pdata
 
 	0x8900 modem_en
+	0x890d core_tx_test_mode
 	0x8938 mod_value_scale1
 	0x8960 core_rf_rx_agc_ctrl
 	0x8961 core_rf_rx_gain_fix
@@ -7148,7 +7171,7 @@
 	1 mem_mesh_access_layer_payload_len
 	0 mem_mesh_access_layer_payload
 	50 mem_mesh_access_payload
-	50 mem_mesh_access_payload_padding	//ÎªÁËÍ¸´«Ä£¿éÔ¤Áô
+	50 mem_mesh_access_payload_padding	//Îªï¿½ï¿½Í¸ï¿½ï¿½Ä£ï¿½ï¿½Ô¤ï¿½ï¿½
 )
 memalloc ali_mesh(
 	0 mem_mesh_queue_ele_temp
@@ -7657,7 +7680,7 @@
 
 )
 amemalloc mem_mesh_receive_model_message_payload(
-	//Scene recall Ä£Ê½ÉèÖÃ
+	//Scene recall Ä£Ê½ï¿½ï¿½ï¿½ï¿½
 	1 mem_mesh_module_message_opcode_scene_recall
 	2 mem_mesh_scene_recall_payload_scene_number
 	1 mem_mesh_scene_recall_payload_TID
@@ -8615,12 +8638,12 @@
 )
 xmemalloc ali_mesh(
 	1 mem_mesh_advertising_unprovisioned_device_beacon_switch
-	//Î´ÅäÍø¹ã²¥¼ä¸ô
+	//Î´ï¿½ï¿½ï¿½ï¿½ï¿½ã²¥ï¿½ï¿½ï¿½
 	2 mem_mesh_advertising_unprovisioned_device_beacon_timer
 
-	//¹ã²¥Éú´æÖÜÆÚ
+	//ï¿½ã²¥ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½
 	1 mem_mesh_advertising_unprovisioned_device_beacon_duration
-	//¹ã²¥ÖÜÆÚÖ®¼äµÄ¼ä¸ô
+	//ï¿½ã²¥ï¿½ï¿½ï¿½ï¿½Ö®ï¿½ï¿½Ä¼ï¿½ï¿½
 	1 mem_mesh_advertising_unprovisioned_device_beacon_interval
 
 )
@@ -8690,10 +8713,10 @@
 )
 xmemalloc ali_mesh(
 
-	// provisioning flag ±êÖ¾ÊÇ·ñÈëÍø
+	// provisioning flag ï¿½ï¿½Ö¾ï¿½Ç·ï¿½ï¿½ï¿½ï¿½ï¿½
 	1 mem_mesh_provisioned_flag
 
-	//ÈëÍøÊ±µÄ×´Ì¬»ú
+	//ï¿½ï¿½ï¿½ï¿½Ê±ï¿½ï¿½×´Ì¬ï¿½ï¿½
 	1 mem_mesh_Provisioning_State_Flag
 	
 	1 mem_mesh_Device_PID
@@ -8716,7 +8739,7 @@
 
 )
 xmemalloc ali_mesh(
-//GATT Ð­Òé
+//GATT Ð­ï¿½ï¿½
 	1 mem_mesh_gatt_receive_msg_timer
 	//fast pairing 
 	//APP control 
@@ -8726,22 +8749,22 @@
 
 )
 xmemalloc ali_mesh(
-	// three tuple °¢ÀïÔÆÆ½Ì¨·ÖÅäµÄÈýÔª×é
+	// three tuple ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Æ½Ì¨ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ôªï¿½ï¿½
 	4 mem_mesh_three_tuple_ProductID
 	6 mem_mesh_three_tuple_MAC
 	16 mem_mesh_three_tuple_secret
 
-	//ble ºËÐÄÐ­ÒéÕ»£¬scanµ½Êý¾ÝµÄ»Øµ÷
+	//ble ï¿½ï¿½ï¿½ï¿½Ð­ï¿½ï¿½Õ»ï¿½ï¿½scanï¿½ï¿½ï¿½ï¿½ï¿½ÝµÄ»Øµï¿½
 	2 mem_mesh_cb_receive_advertising
 
-	//alarm¼Ä´æÆ÷²»ÄÜÐÞ¸Ä
-	//meshºËÐÄ¹æ·¶½ÓÊÕµ½ÈÎºÎTMALLÖ¸Áî
+	//alarmï¿½Ä´ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Þ¸ï¿½
+	//meshï¿½ï¿½ï¿½Ä¹æ·¶ï¿½ï¿½ï¿½Õµï¿½ï¿½Îºï¿½TMALLÖ¸ï¿½ï¿½
 	2 mem_mesh_cb_receive_access_message
 
-	//½ÓÊÕµ½ÅäÖÃapplication keyÖ¸Áî(¿ÉÒÔÈÏÎªÈëÍø³É¹¦)
+	//ï¿½ï¿½ï¿½Õµï¿½ï¿½ï¿½ï¿½ï¿½application keyÖ¸ï¿½ï¿½(ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Îªï¿½ï¿½ï¿½ï¿½ï¿½É¹ï¿½)
 	2 mem_mesh_cb_receive_config_appkey_add
 
-	//¸÷ÖÖÔ­ÒòÅäÍøÊ§°Ü»Øµ÷
+	//ï¿½ï¿½ï¿½ï¿½Ô­ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ê§ï¿½Ü»Øµï¿½
 	2 mem_mesh_cb_pairing_fail
 
 	2 mem_mesh_cb_generic_onoff_get
@@ -8755,18 +8778,18 @@
 	2 mem_mesh_cb_background_onoff_set
 	2 mem_mesh_cb_color_set
 
-	//relay µÄ¹¦ÄÜ»Øµ÷
+	//relay ï¿½Ä¹ï¿½ï¿½Ü»Øµï¿½
 	2 mem_mesh_cb_network_relay
 
-	//Ä£¿é¸´Î»µÄ»Øµ÷£¬ÐèÒª3sÖ®ºó¸´Î»
+	//Ä£ï¿½é¸´Î»ï¿½Ä»Øµï¿½ï¿½ï¿½ï¿½ï¿½Òª3sÖ®ï¿½ï¿½Î»
 	2 mem_mesh_cb_receive_node_reset
 
-	//seq¸Ä±äÊ±µÄ»Øµ÷£¬ÐèÒª´æµ½¶ÔÓ¦µÄ´æ´¢Æ÷ÖÐ
+	//seqï¿½Ä±ï¿½Ê±ï¿½Ä»Øµï¿½ï¿½ï¿½ï¿½ï¿½Òªï¿½æµ½ï¿½ï¿½Ó¦ï¿½Ä´æ´¢ï¿½ï¿½ï¿½ï¿½
 	2 mem_mesh_cb_seq_changed
 
 	2 mem_mesh_cb_subscriptuion_list_changed
 
-	//Timer ¶¨Ê±Æ÷¸Ä±äÊ±£¬ÐèÒª´æµ½¶ÔÓ¦µÄ´æ´¢Æ÷ÖÐ
+	//Timer ï¿½ï¿½Ê±ï¿½ï¿½ï¿½Ä±ï¿½Ê±ï¿½ï¿½ï¿½ï¿½Òªï¿½æµ½ï¿½ï¿½Ó¦ï¿½Ä´æ´¢ï¿½ï¿½ï¿½ï¿½
 	2 mem_mesh_cb_vendor_timing_changed
 	
 
@@ -8804,7 +8827,7 @@
 	1 mem_mesh_element_device_upper_queue_current_num
 	1 mem_mesh_element_device_upper_queue_read_ptr
 	1 mem_mesh_element_device_upper_queue_write_ptr
-	//ÔªËØ³¤¶ÈÎª47
+	//Ôªï¿½Ø³ï¿½ï¿½ï¿½Îª47
 	188 mem_mesh_element_device_upper_queue_ele
 
 )
@@ -9703,6 +9726,7 @@
 1 mem_mouse_multi_led_type
 1 mem_mouse_multi_led_state
 1 mem_mouse_multi_led_blink_type				//00:rtn	01:24g blink	02:le blink		03:reconn blink 	04:low blink	05:dpi blink
+1 mem_mouse_led_multi_type					//00:no multi	01:low+led	02:dpi+led	03:low+dpi_led
 //time parm
 1 mem_mouse_multi_led_powon_timer_init		//power on time
 1 mem_mouse_multi_led_powon_timer
@@ -9763,26 +9787,43 @@
 1 mem_sensor_s201_dpi_3
 1 mem_sensor_s201_dpi_4
 
+64 mem_le_tx_buffer0_omemalloc_new
+64 mem_le_tx_buffer1_omemalloc_new
+64 mem_le_tx_buffer2_omemalloc_new
+64 mem_le_tx_buffer3_omemalloc_new
+
+1 mem_mouse_pair_flag
 //commbination_dpi
-1 mem_mouse_commbination_dpi_check_enable
 1 mem_commbination_dpi_timer
-1 mem_mouse_commbination_dpi_gpio
-
-//rgb
-1 mem_rgb_led_off_enable
-1 mem_rgb_led_on_enable
-1 mem_rgb_led_off_enable_timer
-1 mem_rgb_led_on_enable_timer
-2 mem_rgb_led_on_timer
-
-2 mem_rgb_led_off_check_count
-2 mem_rgb_led_on_check_count
-1 mem_rgb_led_on_continue_1min_timeout_flag
-1 mem_mbutton_function_disable
-1 mem_mouse_rgb_ctrl_gpio
-1 mem_mouse_rgb_adc_no_power_flag
-
-1 mem_mouse_dpi_led_blink_enable
+1 mem_mouse_commbination_key_dpi
+1 mem_long_sleep_flag
+1 mem_mouse_customer_key_connect_vin_flag
+
+//freq test
+1 mem_mouse_ch_count
+0 mem_mouse_ch
+1 mem_mouse_ch_l
+1 mem_mouse_ch_m
+1 mem_mouse_ch_h
+1 mem_mouse_ch_set_flag
+
+//logo memery
+1 mem_mouse_logo_led_state
+1 mem_mouse_logo_key_count
+1 mem_mouse_logo_ctrl_type
+1 mem_mouse_commbination_logo_key
+
+//combation key selct device
+1 mem_mouse_select_device_commbation_key_gpio
+1 mem_mouse_select_device_commbation_key_count
+
+//le name
+1 mem_mouse_le_name_modify_enable
+
+20 mem_ble_device2_name
+20 mem_bt_device2_name
+1 mem_mouse_d_l_l_led_multi_type
+1 mem_mouse_select_sensor_angle_type
 )
 
 
Index: output/eeprom.dat
===================================================================
--- /YC1308AC/branch/mouse_project/BR_Project/MultiMode/PBSwitch_3mode_3ch_CM892B/output/eeprom.dat	(revision 4624)
+++ /YC1308AC/branch/mouse_project/BR_Project/MultiMode/PBSwitch_3mode_3ch_CM892B/output/eeprom.dat	(working copy)
@@ -2,8 +2,8 @@
 02
 aa
 55
-ba
-16
+7a
+18
 c2
 84
 00
@@ -11,195 +11,207 @@
 c0
 00
 00
-32
-c0
-01
-80
-5d
+35
 c0
 41
 01
-29
+4b
 c0
 41
 80
-70
+9f
 c0
 42
 00
-77
+a6
 c0
 45
 00
-9f
+cc
 c0
 45
 81
-1c
+3e
 c0
 46
 00
-85
+b4
 c0
 4f
 81
-30
+52
+c0
+52
+00
+6c
 c0
 57
 01
-32
+54
 c0
 61
 83
-32
+6c
 c0
 62
 00
-37
+74
 c0
 63
 82
-3f
+6c
 c0
 64
 82
-45
+72
 c0
 65
 02
-78
+a0
 c0
 66
 00
-c9
+f4
 c0
 67
 05
-13
+2e
 c0
 67
 85
-9c
+e8
 c0
 68
 03
-43
+87
 c0
 68
 85
-3e
+69
 c0
 69
 83
-5c
+8b
 c0
 6a
 05
-26
+51
 c0
 6b
 02
-9a
+c9
 c0
 6c
 83
-84
+a7
 c0
 6d
 04
-9d
+b8
 c0
 6d
 84
-a7
+c2
 c0
 6f
 05
-76
+b2
 c0
 6f
 80
-50
+8b
 c0
 70
 80
-48
+84
 c0
 71
 00
-44
+81
 c0
 74
 04
-ae
+c9
 20
 20
 13
 7c
 c0
+0c
+00
+56
+c0
 0d
 04
-c2
+dd
+c0
+0f
+80
+60
 c0
 10
 00
-42
+7f
+c0
+15
+80
+3b
 c0
 19
 80
-a9
+d4
 c0
 1a
 00
-ae
+d9
 c0
 43
 84
-aa
+c5
 c0
 50
 84
-cc
+e7
 c0
 51
 84
-d6
+f1
 c0
 5a
 84
-d8
+f3
 c0
 60
 04
-e2
+fd
 c0
-6e
-83
-2e
+6c
+80
+43
 c0
 71
-02
-f2
+03
+2d
 c0
 74
-82
-fa
+83
+35
 c0
 75
-01
-e1
+02
+08
 c0
 75
 82
-0f
+35
 c0
 76
 05
-08
+23
 c0
 76
 85
-a6
+f0
 20
 20
 13
@@ -215,7 +227,11 @@
 24
 55
 80
-4c
+87
+20
+55
+c1
+68
 20
 40
 3b
@@ -224,314 +240,486 @@
 20
 08
 04
-da
-20
-49
-39
 6f
-e0
-c9
-38
-1f
-e0
-ff
-ff
-1f
-ef
+f0
+8a
+0b
+79
+3f
+fe
+05
+79
+3f
+fe
+04
+79
+3f
 fe
-1d
-9a
-20
-a2
 00
-ef
-e0
-80
-11
 67
-e0
-c4
-82
-6f
-e0
-c4
-82
-c0
-19
-bd
-6f
-c0
-1a
-3d
-7b
-20
-20
-42
-eb
-6f
-e0
-c9
-1f
-20
+f0
+8a
+0b
 20
-5a
-f8
-18
-42
-7e
-00
-c1
-7f
-80
 00
-1f
-e2
-04
 00
-20
-20
-49
-30
 18
-42
-7e
-00
-c1
-7f
-80
-00
-1f
-e2
-04
-00
+79
+3f
+fe
+03
 20
 20
-49
-2c
-6f
-e0
-cb
-af
+5e
+a4
+20
+40
+1b
+77
 24
 7a
 00
 00
-70
-44
-8c
-00
-20
-60
-00
-00
 6f
 e0
-cb
-b4
-c1
-00
-80
+c3
+9b
+c0
+06
 00
+48
 20
-40
-46
-c2
-60
-48
-c9
-38
 20
-40
-03
-f0
 20
-40
-01
-12
-70
+81
+6f
+e0
+c3
+4f
+68
+48
+c3
+56
+98
 41
-ca
+7e
 00
-20
-40
-46
-da
-20
-40
+2f
+ec
 00
-5a
+01
 20
 20
-46
-bd
-6f
-e1
-47
-8c
-c3
-83
-80
-00
+a0
+b1
+70
+43
+9b
+0d
 20
 20
-43
+00
+4f
 18
+00
+22
+11
 20
 40
-70
-6c
-20
-40
-75
-97
+21
+09
+58
+00
+00
+08
+e7
+e0
+80
+05
+df
 20
-40
-6e
-a7
+00
+10
+d8
+c0
+43
+16
 20
-40
-1b
-92
 20
-40
-08
-3a
+7d
+5f
+6f
+e0
+80
+d0
+67
+e0
+83
+9d
+c0
+09
+80
+5a
 20
-40
-00
-64
 20
+54
+65
+6f
+e0
+80
+bd
+79
+3f
+fe
+02
+67
+e0
+80
+bd
+70
+09
+5b
 20
-08
-1a
 20
 40
-00
-66
+78
+71
 20
 20
-31
 09
+df
 20
 40
+59
+e1
+24
+7a
+00
 00
-68
-20
-20
-78
-50
 6f
 e0
-c4
-8c
+80
+56
 20
 7a
 00
 00
 6f
-e1
-44
-8d
-1f
-e2
-24
-00
-1a
-40
-a4
-02
-ef
 e0
 80
-12
-c1
-7f
-80
+56
+c0
+02
 00
+67
 20
 20
-78
-13
+5a
+45
 70
-89
 00
+56
 05
-20
-00
-00
-02
 70
-89
-00
-00
-6f
-e0
-c0
-c5
-c0
-0c
-11
-68
+03
+a6
+ff
+79
+3f
+80
+22
 70
-8a
-87
-29
+00
+7d
+33
 20
 20
-11
-7d
+53
+90
 20
 40
-11
-90
-58
-00
-76
-76
-67
-f1
-09
-68
+14
+65
+6f
+e1
+c1
+74
 20
-60
-00
-00
-c6
-93
+7a
 00
 00
 6f
-e2
-48
-91
-68
-4a
-48
-8d
-98
-46
-7c
-00
-20
-22
-80
-82
-70
-41
-ea
-ff
+e0
+c0
+99
 20
-60
+7a
 00
 00
-70
+6f
+e0
+cc
 41
-ea
+24
+7a
 00
-70
+00
+20
+20
+14
+e3
+da
+20
+49
+39
+6f
+e0
+c9
+38
+1f
+e0
+ff
+ff
+1f
+ef
+fe
+1d
+9a
+20
+a2
+00
+ef
+e0
+80
+11
+67
+e0
+c4
+82
+6f
+e0
+c4
+82
+c0
+19
+bd
+6f
+c0
+1a
+3d
+7b
+20
+20
+42
+eb
+6f
+e0
+c9
+1f
+20
+20
+5a
+f8
+18
+46
+7c
+ff
+c1
+02
+80
+00
+20
+20
+49
+30
+18
+46
+7c
+ff
+c1
+02
+80
+00
+20
+20
+49
+2c
+6f
+e0
+cb
+af
+24
+7a
+00
+00
+70
+44
+8c
+00
+20
+60
+00
+00
+6f
+e0
+cb
+b4
+c1
+00
+80
+00
+20
+40
+46
+c2
+60
+48
+c9
+38
+20
+40
+04
+14
+20
+40
+01
+34
+70
 41
-e8
+ca
+00
+20
+40
+46
+da
+20
+40
+00
+9c
+20
+40
+31
+73
+20
+40
+00
+97
+20
+20
+46
+bd
+58
+00
+00
+00
+67
+e4
+40
+40
+70
+00
+31
+00
+70
+47
+8b
+00
+20
+60
+00
+00
+6f
+e1
+47
+8c
+c3
+83
+80
+00
+20
+20
+43
+18
+70
+89
+00
+05
+20
+00
+00
+02
+70
+89
+00
+00
+6f
+e0
+c0
+c5
+c0
+0c
+11
+68
+70
+8a
+87
+29
+20
+20
+11
+7d
+20
+40
+11
+90
+58
+00
+76
+76
+67
+f1
+09
+68
+20
+60
+00
+00
+c6
+93
+00
+00
+6f
+e2
+48
 91
+68
+4a
+48
+8d
+98
+46
+7c
+00
+20
+22
+80
+b1
+70
+41
+ea
+ff
+20
+60
+00
+00
+70
+41
+ea
+00
+70
+41
+e8
+aa
 20
 60
 00
@@ -583,7 +771,7 @@
 20
 40
 00
-9a
+c9
 1f
 e6
 7e
@@ -607,7 +795,7 @@
 24
 20
 80
-98
+c7
 58
 00
 00
@@ -628,30 +816,22 @@
 60
 80
 00
-d8
-40
-ff
-00
-98
-41
-fe
-00
 20
-60
-00
-00
+20
+42
+d4
 6f
 e0
 c1
 e8
 c0
+55
+12
+44
+c0
 4a
 00
-a3
-c0
-48
-80
-a6
+d0
 20
 20
 12
@@ -659,7 +839,7 @@
 70
 8a
 39
-05
+04
 70
 8a
 3a
@@ -668,18 +848,10 @@
 20
 12
 2a
-70
-8a
-39
-09
-70
-8a
-3a
-00
 20
 20
 12
-2a
+47
 da
 20
 09
@@ -811,7 +983,7 @@
 20
 40
 00
-ae
+d9
 70
 48
 f6
@@ -830,8 +1002,8 @@
 a0
 c0
 81
+01
 00
-d5
 68
 49
 48
@@ -869,17 +1041,13 @@
 c4
 a4
 c2
-81
-3f
-1a
-c2
 80
-80
-dc
+81
+06
 c3
 00
-00
-df
+01
+09
 20
 20
 3e
@@ -895,7 +1063,7 @@
 20
 20
 02
-3f
+6c
 6f
 e0
 cc
@@ -914,8 +1082,8 @@
 f4
 70
 4c
-4e
-0c
+4f
+01
 6f
 e0
 c8
@@ -931,7 +1099,7 @@
 20
 20
 01
-0f
+31
 78
 54
 7c
@@ -948,55 +1116,23 @@
 62
 80
 00
-78
-34
-7c
-00
 20
-60
-00
-00
+20
+7e
+54
 6f
 e0
 cc
 40
-c3
-00
-49
-56
 c4
 01
 80
 00
 6f
-e1
-4a
-c2
-24
-7a
-00
-00
-6f
-e1
-48
-83
-24
-7a
-00
-00
-6f
-e1
-48
-87
-24
-7a
-00
-00
-6f
 e0
-cc
-46
-24
+cd
+96
+20
 7a
 00
 00
@@ -1010,8 +1146,8 @@
 00
 20
 40
-00
-e8
+01
+12
 20
 74
 00
@@ -1019,15 +1155,15 @@
 6f
 e0
 cc
-53
+54
 20
 3a
 01
-18
+3a
 68
 48
 cc
-4e
+4f
 18
 40
 84
@@ -1035,11 +1171,11 @@
 60
 48
 cc
-4e
+4f
 6f
 e0
 cc
-4c
+4d
 98
 46
 7c
@@ -1047,11 +1183,11 @@
 24
 41
 01
-0d
+2f
 6f
 e0
 cc
-4d
+4e
 98
 46
 7c
@@ -1059,59 +1195,59 @@
 24
 21
 01
-0f
+31
 6f
 e0
 cc
-40
-c2
-82
+45
+c0
+00
 84
-0f
-c2
-83
+31
+c0
+01
 84
-0f
+31
 68
 48
 cc
-57
+58
 20
 20
 04
-1b
+3d
 70
 4c
-4e
+4f
 01
 20
 40
 01
-14
+36
 6f
 e0
 cc
-40
-c2
-82
+45
+c0
+00
 84
-21
-c2
-83
+43
+c0
+01
 84
-21
+43
 68
 48
 cc
-57
+58
 20
 20
-04
-2b
+60
+7b
 6f
 e0
 cc
-53
+54
 1f
 e0
 ff
@@ -1119,7 +1255,7 @@
 67
 e0
 cc
-53
+54
 20
 60
 00
@@ -1131,15 +1267,15 @@
 c2
 82
 01
-0f
+31
 20
 40
 03
-aa
+d2
 20
 20
-00
-ff
+01
+21
 70
 8a
 8b
@@ -1239,23 +1375,31 @@
 20
 40
 01
-6d
+83
+24
+55
+81
+a0
+24
+55
+81
+69
 20
 40
-03
-5c
+41
+a7
 20
 75
 80
 00
 70
-4c
-a6
+4d
+96
 00
 20
 40
 03
-45
+89
 20
 40
 3d
@@ -1267,203 +1411,147 @@
 20
 40
 01
-93
+b6
 20
 40
 05
-35
+60
 20
 20
 3b
 c9
 6f
-e4
-4c
-1f
+e0
+c9
+12
+c1
+7f
+80
+00
+c4
+03
+80
+00
+79
+3f
+fe
+07
+67
+e0
+c9
+12
+70
+4d
+9a
+01
 20
-7a
+60
 00
 00
 6f
 e0
-cc
-1e
-1f
-e2
-22
+cd
+a6
+c0
 00
-1f
-e6
-7c
-0b
-24
-21
 01
-54
+6d
+c0
+00
+81
+73
 20
-40
-01
-4d
-d8
-a0
-4a
-db
-20
-40
-01
-4a
-d8
-a0
-44
-0a
+60
+00
+00
+6f
+e0
+cc
+1e
 20
-40
-01
-4a
-d8
-a0
-42
-f8
+7a
+00
+00
 d8
 c0
 4c
+1e
 1f
-1a
-22
-72
-00
-20
-20
-7d
-5f
-d8
-a0
-4a
-db
-20
-40
-01
-52
-d8
-a0
-44
-0a
-20
-40
+e0
+f2
 01
-52
 d8
 a0
 42
-f8
-df
-20
-00
-0b
+f7
 20
 20
 7d
-26
-20
-40
-01
-6a
+5f
 6f
 e0
-cc
-1e
-1f
-e0
-fe
-01
-67
-e0
-ca
-d2
-70
-4a
-d3
-09
-d8
+c9
+38
 c0
-4c
-1f
-d8
-a0
-4a
-d4
-1a
-22
-72
+00
+81
+6d
+c0
+01
+01
+77
+20
+60
+00
 00
 20
 40
-7d
-5f
+01
+7f
 6f
 e0
-cc
-1e
+c0
+ad
 1f
 e0
 fe
 01
 67
 e0
-c4
-08
-70
-44
-09
-09
-d8
 c0
-4c
-1f
-d8
-a0
-44
-0a
-1a
-22
-72
-00
+ad
+df
 20
-40
-7d
-5f
+00
+14
 d8
 c0
-4c
-1e
+4d
+bb
 d8
 a0
-42
-f7
-1a
-22
-72
-00
-1f
-20
-f2
-01
+45
+fc
 20
 20
 7d
 5f
-d8
-a0
-4a
-d2
-df
+6f
+e0
+cd
+a7
 20
+7a
 00
-14
+00
+d8
+c0
+4d
+a7
 20
 20
-7d
-26
+01
+70
 20
 75
 80
@@ -1482,28 +1570,32 @@
 1e
 20
 40
-01
-3e
-20
-40
 3d
 13
 20
 40
+01
+ae
+20
+40
 03
-a1
+c9
 20
 40
 01
-8d
+62
+20
+40
+01
+b3
 20
 40
 1b
 16
 20
 40
-1b
-3f
+01
+a3
 20
 40
 1b
@@ -1516,17 +1608,9 @@
 e4
 4b
 ab
-c2
-89
-81
-7d
-c2
-89
-45
-f6
-20
-60
-00
+c4
+09
+80
 00
 20
 40
@@ -1548,6 +1632,10 @@
 40
 46
 3b
+20
+40
+01
+a9
 6f
 e1
 49
@@ -1592,34 +1680,86 @@
 60
 00
 00
-6f
-e0
-c1
-e8
+59
+00
+03
+02
 67
-e0
-cc
-8f
+e2
+43
+50
+58
+03
+00
+10
+67
+e1
+c3
+54
+70
+43
+9d
+01
 20
 60
 00
 00
 6f
 e0
-cc
-8f
-67
-e0
-c1
-e8
+c9
+38
+1f
+e6
+7c
+03
+20
+61
+00
+00
+70
+49
+38
+00
 20
 60
 00
 00
 58
 00
-01
-98
+4c
+96
+67
+e1
+43
+de
+58
+00
+00
+20
+67
+e1
+43
+e0
+20
+60
+00
+00
+6f
+e0
+c1
+e8
+67
+e0
+cc
+90
+20
+60
+00
+00
+58
+00
+01
+bb
 67
 e1
 48
@@ -1627,7 +1767,7 @@
 58
 00
 01
-b2
+da
 67
 e1
 48
@@ -1649,13 +1789,25 @@
 00
 00
 6f
+e0
+cd
+99
+70
+4d
+99
+00
+24
+5a
+01
+d8
+6f
 e4
 4b
 ab
 c3
 0a
 81
-9f
+c5
 6f
 e0
 cb
@@ -1675,7 +1827,7 @@
 c2
 80
 81
-ae
+d4
 68
 48
 c7
@@ -1740,6 +1892,14 @@
 20
 26
 e1
+20
+40
+7f
+dc
+20
+20
+15
+b1
 6f
 e4
 4b
@@ -1807,7 +1967,7 @@
 24
 21
 01
-c8
+f0
 20
 40
 25
@@ -1818,16 +1978,16 @@
 5b
 24
 2c
-01
-d7
+02
+06
 24
 37
-81
-d7
+82
+06
 20
 40
 01
-ce
+fd
 20
 40
 25
@@ -1844,14 +2004,42 @@
 e0
 cb
 a3
-c0
-08
-01
-d9
-20
-60
+c1
+88
 00
 00
+70
+4b
+a3
+00
+6f
+e0
+cb
+a4
+c3
+80
+00
+00
+79
+20
+7e
+00
+67
+e0
+cb
+a4
+6f
+e1
+4b
+bc
+67
+e1
+4a
+b2
+20
+20
+05
+60
 6f
 e0
 c8
@@ -1887,7 +2075,7 @@
 20
 20
 03
-5e
+8d
 20
 40
 22
@@ -1895,39 +2083,7 @@
 20
 20
 01
-be
-70
-4b
-a3
-00
-6f
-e0
-cb
-a4
-c3
-80
-00
-00
-79
-20
-7e
-00
-67
-e0
-cb
-a4
-6f
-e1
-4b
-bc
-67
-e1
-4a
-b2
-20
-20
-05
-35
+e6
 20
 40
 26
@@ -1935,11 +2091,11 @@
 24
 34
 02
-80
+ac
 20
 40
-01
-f1
+02
+18
 20
 40
 26
@@ -1947,15 +2103,15 @@
 20
 40
 00
-7b
+aa
 6f
 e0
 cb
 e1
 24
 3a
-01
-ec
+02
+13
 6f
 e4
 48
@@ -2018,12 +2174,12 @@
 51
 24
 2c
-01
-fc
+02
+23
 24
 37
-81
-fc
+82
+23
 20
 40
 26
@@ -2031,7 +2187,7 @@
 20
 40
 02
-34
+60
 20
 20
 26
@@ -2047,11 +2203,7 @@
 20
 40
 02
-24
-20
-40
-02
-19
+41
 6f
 e0
 c8
@@ -2087,11 +2239,11 @@
 20
 40
 02
-0a
+30
 20
 20
-01
-f2
+02
+19
 6f
 e0
 c8
@@ -2127,7 +2279,7 @@
 24
 21
 02
-14
+3a
 20
 20
 26
@@ -2149,9 +2301,17 @@
 a2
 cb
 20
+40
+06
+15
+20
+40
+27
+24
 20
-26
-9c
+20
+22
+cb
 d8
 e0
 00
@@ -2167,7 +2327,11 @@
 20
 40
 02
-21
+4e
+20
+40
+02
+4a
 20
 40
 40
@@ -2195,7 +2359,11 @@
 20
 20
 05
-88
+d6
+70
+4b
+94
+03
 6f
 e0
 c9
@@ -2204,6 +2372,14 @@
 7f
 80
 00
+6f
+e0
+c9
+bf
+24
+7a
+00
+00
 da
 20
 00
@@ -2231,7 +2407,7 @@
 c0
 7f
 82
-31
+5d
 20
 40
 41
@@ -2259,7 +2435,7 @@
 20
 20
 02
-2e
+5a
 6f
 e0
 cb
@@ -2267,7 +2443,7 @@
 24
 5a
 02
-38
+64
 70
 4b
 e1
@@ -2276,10 +2452,14 @@
 60
 00
 00
+70
+4d
+96
+01
 20
 40
 03
-5e
+8d
 6f
 e4
 4b
@@ -2319,11 +2499,11 @@
 20
 40
 05
-30
+5b
 20
 40
 05
-35
+60
 20
 20
 3e
@@ -2338,32 +2518,8 @@
 dc
 20
 40
-04
-48
-20
-40
-49
-76
-20
-40
 40
 15
-68
-48
-c9
-10
-20
-40
-60
-69
-68
-48
-c9
-10
-20
-40
-60
-42
 6f
 e0
 c9
@@ -2371,7 +2527,7 @@
 20
 40
 05
-70
+9c
 d8
 40
 00
@@ -2383,7 +2539,7 @@
 20
 40
 02
-78
+a0
 20
 40
 60
@@ -2391,7 +2547,11 @@
 20
 40
 04
-2e
+58
+20
+40
+04
+72
 d8
 40
 00
@@ -2403,15 +2563,15 @@
 20
 40
 02
-5a
+82
 20
 40
 02
-5e
+86
 20
 20
 02
-6e
+96
 6f
 e0
 c9
@@ -2429,14 +2589,6 @@
 60
 7f
 6f
-e0
-cc
-40
-c2
-80
-02
-62
-6f
 e4
 4b
 ab
@@ -2444,10 +2596,18 @@
 0a
 00
 00
+68
+48
+c8
+fd
+c1
+81
+00
+00
 20
 40
 02
-66
+8e
 6f
 e0
 c8
@@ -2471,7 +2631,7 @@
 20
 21
 02
-6c
+94
 18
 40
 84
@@ -2491,7 +2651,7 @@
 20
 20
 02
-6a
+92
 6f
 e4
 4b
@@ -2535,6 +2695,22 @@
 68
 48
 c9
+10
+20
+40
+60
+69
+68
+48
+c9
+10
+20
+40
+60
+42
+68
+48
+c9
 13
 20
 40
@@ -2559,7 +2735,7 @@
 20
 40
 05
-70
+9c
 20
 20
 3e
@@ -2571,7 +2747,7 @@
 20
 5a
 02
-8c
+b9
 6f
 e0
 c8
@@ -2587,7 +2763,7 @@
 20
 40
 05
-08
+23
 24
 74
 00
@@ -2596,6 +2772,10 @@
 40
 26
 c4
+70
+4d
+99
+01
 6f
 e0
 cb
@@ -2603,9 +2783,9 @@
 24
 5a
 02
-45
+72
 6f
-e2
+e4
 48
 5c
 20
@@ -2616,10 +2796,18 @@
 48
 36
 01
-70
-48
+6f
+e0
+cb
+e1
+79
+40
+7e
+00
+67
+e0
+c8
 a7
-01
 20
 40
 26
@@ -2666,8 +2854,8 @@
 91
 20
 20
-01
-e3
+02
+0a
 1a
 62
 7e
@@ -2675,39 +2863,43 @@
 c0
 00
 82
-aa
+de
 c0
 1e
 02
-c6
+fa
 c0
 1c
 82
-bf
+f6
 c0
 1d
-02
-d7
+03
+0a
 c0
 19
 02
-b3
+e6
 c0
 0a
 82
-ad
+e0
 c0
 0a
 02
-a8
+dc
 c0
 20
 02
-ba
+ed
 c0
 09
 02
-a5
+d5
+c0
+03
+02
+d8
 20
 20
 43
@@ -2726,12 +2918,8 @@
 27
 20
 40
-03
-ba
-20
-20
-43
-50
+42
+ca
 20
 40
 45
@@ -2739,11 +2927,27 @@
 20
 40
 03
-ba
+e2
+20
+20
+32
+44
+20
+40
+03
+e2
 20
 20
 43
-fa
+50
+70
+4a
+ae
+00
+20
+20
+43
+fc
 58
 00
 00
@@ -2755,11 +2959,11 @@
 67
 e0
 cc
-79
+7a
 67
 e0
 cc
-7a
+7b
 67
 e0
 ca
@@ -2775,7 +2979,7 @@
 c0
 00
 82
-b7
+ea
 70
 4b
 76
@@ -2799,18 +3003,18 @@
 6f
 e0
 cc
-79
+7a
 24
 7a
 00
 00
 70
 4c
-79
+7a
 01
 70
 4c
-7a
+7b
 1e
 20
 60
@@ -2819,31 +3023,35 @@
 20
 40
 00
-80
+af
+6f
+e0
+cc
+90
+67
+e0
+c1
+e8
+20
+60
+00
+00
 20
 40
-01
-90
+02
+f2
 20
 40
 45
 44
-d8
-e0
-00
-01
-20
-40
-46
-f4
 20
 40
 03
-ba
+e2
 20
 20
 48
-59
+57
 6f
 e2
 48
@@ -2863,7 +3071,7 @@
 20
 40
 03
-ba
+e2
 20
 40
 45
@@ -2902,40 +3110,40 @@
 00
 20
 40
-00
-80
-20
-40
-01
-90
+02
+f2
 20
 20
 48
 22
 20
 40
-00
-80
-20
-40
-01
-90
+02
+f2
 6f
 e0
 c8
 a5
 24
 3a
-02
-e9
+03
+22
 6f
 e0
 c8
 8b
 c0
 01
+03
+12
+c0
+00
+83
+12
+c0
 02
-de
+c8
+44
 20
 20
 48
@@ -2970,21 +3178,45 @@
 00
 20
 22
-82
-e7
+83
+1f
 20
 20
 48
 06
+6f
+e1
+48
+81
+67
+e1
+48
+87
+70
+48
+8b
+05
+20
+20
+25
+59
 70
 48
 8b
 00
 20
+40
+03
+ea
+20
 20
 48
 27
 70
+4d
+96
+00
+70
 48
 a5
 00
@@ -2997,7 +3229,7 @@
 ff
 ff
 67
-e2
+e4
 48
 5c
 58
@@ -3008,6 +3240,10 @@
 e3
 c8
 d0
+67
+e0
+c8
+a7
 70
 4b
 e1
@@ -3015,11 +3251,11 @@
 20
 40
 05
-35
+60
 20
 20
 02
-85
+b1
 70
 48
 8b
@@ -3067,7 +3303,7 @@
 20
 3a
 03
-02
+3d
 6f
 e1
 48
@@ -3095,11 +3331,11 @@
 24
 2c
 03
-1b
+5a
 24
 37
 83
-1b
+5a
 20
 40
 26
@@ -3118,8 +3354,8 @@
 00
 20
 22
-a3
-2e
+83
+56
 6f
 e2
 48
@@ -3135,7 +3371,7 @@
 20
 42
 83
-17
+52
 6f
 e0
 c8
@@ -3185,6 +3421,22 @@
 25
 7e
 6f
+e4
+4b
+ab
+c2
+98
+48
+2e
+c2
+97
+c8
+2e
+20
+20
+25
+6e
+6f
 e0
 c8
 8c
@@ -3213,81 +3465,57 @@
 c8
 8b
 c0
-00
+02
 83
-26
+65
 c0
-01
+02
 03
-2a
+67
 c0
-02
+01
 03
-2c
+69
 20
 20
 25
-aa
+a8
 20
 20
 a5
 6e
-70
-41
-e8
-91
-20
-40
-00
-a6
 20
 20
-25
-68
+23
+39
 20
 20
 a5
 75
 20
 20
-03
-27
+23
+39
 20
 20
 a5
 75
+70
+41
+e8
+aa
 20
 20
-23
-39
-c5
-13
-a4
-0e
-c6
-93
-00
-00
-6f
-e0
-c8
-a1
-20
-20
-26
-1d
-20
-40
-03
-ba
+25
+68
 6f
 e4
 4b
 ab
 c2
 97
-c8
-0a
+83
+72
 6f
 e0
 c9
@@ -3295,15 +3523,43 @@
 c0
 00
 03
-39
+79
 20
 40
 03
-cd
+f3
 20
 20
 3d
 57
+20
+40
+3d
+65
+20
+34
+48
+16
+70
+49
+38
+00
+6f
+e1
+4b
+ba
+67
+e1
+48
+87
+70
+48
+8b
+01
+20
+20
+25
+59
 6f
 e4
 4b
@@ -3314,6 +3570,10 @@
 03
 20
 40
+03
+ea
+20
+40
 3d
 65
 20
@@ -3326,8 +3586,8 @@
 ab
 c2
 98
-48
-0c
+03
+74
 c3
 18
 c8
@@ -3340,10 +3600,22 @@
 21
 7e
 07
+68
+48
+cb
+cb
+98
+46
+7c
+00
+20
+22
+83
+1f
 20
 20
-47
-ff
+48
+0c
 20
 40
 40
@@ -3351,99 +3623,15 @@
 20
 40
 03
-6f
+9f
 6f
 e0
 c9
 27
-c0
-06
-03
-48
 20
 20
 40
 98
-6f
-e0
-c9
-92
-c0
-00
-03
-4c
-c0
-00
-83
-4f
-c0
-01
-03
-52
-6f
-e0
-cc
-90
-1f
-e2
-22
-00
-20
-20
-03
-54
-6f
-e0
-cc
-92
-1f
-e2
-22
-00
-20
-20
-03
-54
-6f
-e0
-cc
-93
-1f
-e2
-22
-00
-58
-00
-c3
-09
-20
-40
-5b
-0c
-1a
-22
-7e
-00
-1f
-ed
-7e
-00
-1f
-e0
-fe
-23
-20
-40
-5b
-0c
-58
-00
-00
-09
-20
-20
-5b
-0c
 20
 40
 3f
@@ -3463,7 +3651,7 @@
 c0
 18
 03
-66
+95
 c0
 18
 c2
@@ -3483,7 +3671,7 @@
 20
 20
 03
-5f
+8e
 6f
 e0
 c9
@@ -3491,88 +3679,52 @@
 c0
 68
 83
-69
-20
-20
-41
-bd
-58
-00
-00
-49
-20
-40
-5b
-0d
+9e
 c0
-50
-83
-6d
+2d
+03
+99
 20
 20
 41
-da
+be
 70
 49
 27
-0c
+05
 20
-60
-00
-00
-6f
-e0
-cc
 40
-c2
-80
-03
-73
-6f
-e0
-c9
-23
-c1
-7f
-80
-00
-6f
-e1
+42
+32
+20
+40
+7d
+12
+da
+60
 4a
-c2
-24
-7a
-00
-00
-6f
-e1
-48
-83
-24
-7a
-00
-00
-6f
-e1
-48
-87
-24
-7a
-00
-00
+39
+20
+20
+05
+56
+20
+20
+41
+da
 6f
 e0
 cc
 40
-c2
-80
-03
-81
+c4
+00
+00
+00
 6f
 e0
-cb
-a7
-24
+cd
+96
+20
 7a
 00
 00
@@ -3583,7 +3735,7 @@
 20
 3a
 04
-4f
+79
 67
 e0
 cb
@@ -3592,26 +3744,14 @@
 60
 00
 00
-6f
-e0
-cc
-46
-24
-7a
-00
-00
-20
-20
-03
-7d
 20
 40
 3e
 9b
 20
 40
-00
-ee
+01
+17
 20
 40
 23
@@ -3626,20 +3766,16 @@
 cd
 20
 40
-48
-be
-20
-40
 04
-4c
+76
 20
 40
-03
-e5
+04
+09
 20
 40
 04
-3e
+68
 20
 40
 40
@@ -3651,7 +3787,7 @@
 20
 40
 04
-78
+95
 20
 40
 44
@@ -3659,7 +3795,7 @@
 20
 40
 03
-9d
+bf
 20
 40
 45
@@ -3667,7 +3803,7 @@
 20
 40
 04
-91
+ac
 20
 40
 45
@@ -3675,7 +3811,7 @@
 20
 40
 04
-94
+af
 20
 40
 45
@@ -3686,8 +3822,8 @@
 2d
 20
 40
-45
-32
+03
+c3
 20
 40
 45
@@ -3703,7 +3839,7 @@
 20
 20
 04
-97
+b2
 da
 60
 4b
@@ -3720,6 +3856,30 @@
 20
 45
 07
+da
+60
+4a
+c4
+da
+40
+03
+c6
+20
+20
+31
+8a
+6f
+e4
+4b
+ab
+c2
+99
+84
+b8
+20
+20
+3e
+20
 70
 4c
 41
@@ -3735,7 +3895,7 @@
 20
 40
 04
-2e
+58
 70
 4c
 44
@@ -3743,7 +3903,7 @@
 6f
 e0
 cc
-4c
+4d
 1f
 e3
 7e
@@ -3751,7 +3911,7 @@
 67
 e0
 cc
-4d
+4e
 20
 60
 00
@@ -3759,11 +3919,11 @@
 6f
 e0
 cc
-52
+53
 67
 e0
 cc
-53
+54
 20
 60
 00
@@ -3775,23 +3935,23 @@
 c0
 00
 83
-b4
+dc
 c0
 01
 03
-b6
+de
 c0
 01
 83
-b8
+e0
 6f
 e0
 cc
-4a
+4b
 67
 e0
 cc
-4b
+4c
 20
 60
 00
@@ -3799,27 +3959,27 @@
 6f
 e0
 cc
-47
+48
 20
 20
 03
-b2
+da
 6f
 e0
 cc
-48
+49
 20
 20
 03
-b2
+da
 6f
 e0
 cc
-49
+4a
 20
 20
 03
-b2
+da
 6f
 e0
 cc
@@ -3831,11 +3991,11 @@
 6f
 e0
 cc
-45
+46
 67
 e0
 cc
-46
+47
 70
 4c
 42
@@ -3860,18 +4020,6 @@
 00
 00
 00
-20
-40
-03
-e2
-6f
-e0
-c9
-38
-c1
-80
-00
-00
 70
 4c
 44
@@ -3879,7 +4027,11 @@
 20
 40
 03
-b4
+dc
+20
+40
+04
+06
 6f
 e0
 cc
@@ -3891,11 +4043,11 @@
 6f
 e0
 cc
-4f
+50
 20
 20
 03
-d9
+fd
 6f
 e0
 cc
@@ -3906,24 +4058,16 @@
 00
 6f
 e0
-c9
-38
-c1
-00
-00
-00
-20
-40
-03
-e2
-6f
-e0
 cc
 40
 c4
 00
 80
 00
+20
+40
+04
+06
 70
 4c
 44
@@ -3931,7 +4075,7 @@
 20
 40
 03
-b8
+e0
 6f
 e0
 cc
@@ -3943,11 +4087,11 @@
 6f
 e0
 cc
-50
+51
 67
 e0
 cc
-51
+52
 20
 60
 00
@@ -3979,7 +4123,7 @@
 20
 40
 03
-b6
+de
 70
 4c
 41
@@ -3991,7 +4135,7 @@
 20
 20
 04
-0e
+30
 6f
 e0
 cc
@@ -4006,16 +4150,16 @@
 42
 c0
 00
-83
-f2
+84
+16
 6f
 e0
 cc
-46
+47
 20
 3a
-03
-ee
+04
+12
 1f
 e0
 ff
@@ -4023,19 +4167,19 @@
 67
 e0
 cc
-46
+47
 20
 20
 04
-0f
+31
 70
-4c
-a6
+4d
+96
 01
 20
 40
 03
-aa
+d2
 70
 4c
 41
@@ -4043,15 +4187,7 @@
 20
 20
 04
-21
-6f
-e0
-cc
-46
-24
-7a
-00
-00
+43
 6f
 e0
 cc
@@ -4062,40 +4198,40 @@
 00
 c0
 02
-03
-fb
+04
+1d
 20
 20
-03
-f8
-6f
+04
+1a
+6f
 e0
 cc
 40
 c2
 81
-03
-fb
+04
+1d
 20
 20
-03
-fd
+04
+1f
 6f
 e0
 cc
-51
+52
 20
 3a
 04
-1c
+3e
 da
 60
 4c
-4b
+4c
 da
 40
 04
-00
+22
 20
 20
 31
@@ -4107,7 +4243,7 @@
 c0
 02
 04
-08
+2a
 6f
 e0
 cc
@@ -4115,11 +4251,11 @@
 c2
 81
 04
-08
+2a
 20
 40
 03
-ad
+d5
 6f
 e0
 cc
@@ -4127,15 +4263,15 @@
 c0
 00
 84
-1e
+40
 20
 20
 04
-0c
+2e
 6f
 e0
 cc
-51
+52
 1f
 e0
 ff
@@ -4143,11 +4279,11 @@
 67
 e0
 cc
-51
+52
 20
 20
 04
-04
+26
 6f
 e0
 cc
@@ -4155,7 +4291,7 @@
 c0
 02
 04
-39
+63
 70
 4c
 43
@@ -4167,15 +4303,15 @@
 c0
 00
 04
-14
+36
 c0
 00
 84
-16
+38
 c0
 01
 04
-18
+3a
 20
 60
 00
@@ -4183,31 +4319,31 @@
 68
 48
 cc
-54
+55
 20
 20
 04
-1b
+3d
 68
 48
 cc
-55
+56
 20
 20
 04
-1b
+3d
 68
 48
 cc
-56
+57
 20
 20
 04
-1b
+3d
 68
 48
 cc
-58
+59
 20
 20
 60
@@ -4227,7 +4363,7 @@
 c0
 02
 04
-33
+5d
 70
 4c
 43
@@ -4239,15 +4375,15 @@
 c0
 00
 04
-26
+48
 c0
 00
 84
-28
+4c
 c0
 01
 04
-2a
+50
 20
 60
 00
@@ -4255,23 +4391,47 @@
 68
 48
 cc
-54
+55
+6f
+e0
+cc
+40
+c3
+02
+84
+62
 20
 20
 04
-2b
+53
 68
 48
 cc
-55
+56
+6f
+e0
+cc
+40
+c3
+02
+84
+62
 20
 20
 04
-2b
+53
 68
 48
 cc
-56
+57
+6f
+e0
+cc
+40
+c3
+02
+84
+62
 18
 46
 7c
@@ -4280,30 +4440,38 @@
 62
 80
 00
+18
+46
+7c
+03
+20
+22
+e0
+65
 20
 20
 60
-7f
+7b
 20
 40
 04
-26
+48
 20
 40
 04
-28
+4c
 20
 40
 04
-2a
+50
 20
 40
 01
-0f
+31
 20
 20
 04
-33
+5d
 70
 4c
 43
@@ -4311,19 +4479,19 @@
 6f
 e0
 cc
-40
-c2
-83
+45
+c0
+01
 04
-20
-c2
-83
+42
+c0
+01
 84
-20
+42
 68
 48
 cc
-58
+59
 20
 20
 60
@@ -4335,19 +4503,19 @@
 6f
 e0
 cc
-40
-c2
-83
+45
+c0
+01
 04
-0e
-c2
-83
+30
+c0
+01
 84
-0e
+30
 20
 20
 04
-1a
+3c
 6f
 e0
 cb
@@ -4387,7 +4555,7 @@
 20
 21
 04
-4a
+74
 68
 48
 cb
@@ -4411,7 +4579,7 @@
 da
 40
 04
-4f
+79
 20
 20
 31
@@ -4420,90 +4588,34 @@
 e0
 cc
 40
+c4
+00
+00
+00
+6f
+e4
+4b
+ab
 c2
-80
+8e
 04
-66
+82
 6f
 e0
 c9
-27
-c0
-01
-c8
-f2
+92
 c0
-05
-c8
-f2
-6f
-e0
-c9
-23
-67
-e0
-c9
-2f
-6f
-e1
-4b
-c2
-67
-e1
-49
-30
-67
-e1
-49
-32
-da
-20
 00
-00
-68
-48
-c9
-92
-18
-40
-84
-02
-18
-46
-7c
-03
-20
-41
-04
-60
-24
-41
 04
-64
-20
-20
-48
-ff
-6f
-e4
-4b
-ab
-c4
-0e
-00
+8a
+c0
 00
-18
-40
 84
+8c
+c0
 01
-20
-60
-00
-00
-18
-40
-85
-fd
+04
+88
 20
 60
 00
@@ -4511,47 +4623,63 @@
 6f
 e0
 c9
-27
+92
 c0
-01
-84
-75
+00
+04
+8c
 c0
-05
+00
 84
-75
-68
-48
-c9
-92
-18
-40
+8e
+c0
+01
+04
+88
+c0
+01
 84
+8a
+20
+60
+00
+00
+58
+00
+00
 02
-18
-46
-7c
-03
 20
-41
+20
 04
-60
-24
-41
+90
+58
+00
+00
 04
-64
-18
-42
-7e
+20
+20
+04
+90
+58
+00
+00
+06
+20
+20
+04
+90
+58
 00
-9f
-e0
-fe
 00
+08
+20
+20
+04
+90
 67
 e0
 cc
-51
+52
 70
 4c
 44
@@ -4559,7 +4687,7 @@
 20
 40
 03
-b1
+d9
 70
 4c
 42
@@ -4567,19 +4695,7 @@
 20
 20
 03
-bf
-68
-48
-c9
-92
-18
-40
-84
-01
-20
-20
-04
-6b
+e7
 6f
 e0
 c9
@@ -4587,7 +4703,7 @@
 c0
 00
 04
-7e
+9b
 6f
 e4
 4b
@@ -4603,7 +4719,7 @@
 20
 20
 04
-81
+9e
 6f
 e4
 4b
@@ -4623,7 +4739,7 @@
 20
 40
 05
-3e
+69
 1f
 e1
 7e
@@ -4639,7 +4755,7 @@
 20
 22
 84
-88
+a5
 20
 20
 44
@@ -4647,7 +4763,7 @@
 20
 40
 04
-8d
+aa
 6f
 e0
 cb
@@ -4666,20 +4782,12 @@
 00
 da
 40
-04
-8f
+03
+1f
 20
 20
 44
 f7
-20
-40
-03
-c2
-20
-20
-02
-e7
 6f
 e4
 4b
@@ -4695,7 +4803,7 @@
 da
 60
 4c
-7a
+7b
 da
 40
 43
@@ -4711,7 +4819,7 @@
 da
 40
 04
-9a
+b5
 20
 20
 31
@@ -4722,8 +4830,8 @@
 38
 c0
 00
-02
-e9
+03
+22
 20
 20
 43
@@ -4731,7 +4839,7 @@
 20
 40
 03
-db
+ff
 6f
 e1
 47
@@ -4823,7 +4931,7 @@
 c0
 04
 84
-b6
+d1
 20
 20
 4d
@@ -4899,7 +5007,7 @@
 c0
 03
 84
-c9
+e4
 20
 20
 57
@@ -5010,8 +5118,8 @@
 06
 c0
 02
-04
-e5
+05
+00
 20
 20
 19
@@ -5026,12 +5134,12 @@
 36
 c0
 05
-04
-ea
+05
+05
 c0
 09
-04
-f9
+05
+14
 20
 20
 1c
@@ -5058,8 +5166,8 @@
 c0
 c2
 81
-84
-f4
+85
+0f
 6f
 e1
 44
@@ -5086,12 +5194,12 @@
 00
 24
 22
-84
-f0
+85
+0b
 24
 34
-04
-f0
+05
+0b
 20
 20
 1e
@@ -5214,12 +5322,20 @@
 d1
 20
 40
-42
+05
+3e
+58
+00
+00
+89
+20
 40
+5b
+0c
 20
 40
 03
-45
+89
 20
 40
 3f
@@ -5231,7 +5347,7 @@
 20
 40
 05
-3c
+67
 6f
 e0
 c8
@@ -5246,24 +5362,76 @@
 d0
 24
 34
-05
-21
+47
+28
 20
 40
 05
-23
+4d
 20
 20
 45
 44
+6f
+e0
+c4
+ac
+c1
+80
+00
+00
+6f
+e0
+c9
+27
+c0
+05
+85
+43
+20
+20
+42
+43
 20
 40
-47
-28
+42
+c4
+6f
+e0
+c9
+11
+c0
+7f
+c2
+94
+68
+48
+c9
+11
 20
+40
+60
+59
+24
 60
+80
+00
+58
+00
 00
 00
+20
+40
+5b
+0d
+c0
+ac
+41
+b2
+20
+20
+42
+79
 6f
 e0
 c9
@@ -5272,6 +5440,10 @@
 01
 80
 00
+c1
+05
+80
+00
 20
 20
 47
@@ -5287,7 +5459,7 @@
 c0
 05
 85
-2d
+58
 20
 40
 42
@@ -5303,11 +5475,11 @@
 20
 20
 03
-45
+89
 20
 40
 05
-33
+5e
 da
 60
 4b
@@ -5315,7 +5487,7 @@
 20
 20
 05
-2b
+56
 6f
 e0
 c9
@@ -5323,7 +5495,7 @@
 c0
 05
 85
-33
+5e
 20
 20
 42
@@ -5351,7 +5523,7 @@
 c0
 05
 85
-3a
+65
 20
 20
 42
@@ -5367,7 +5539,7 @@
 20
 40
 05
-3e
+69
 20
 20
 40
@@ -5387,27 +5559,31 @@
 20
 40
 05
-47
+73
 20
 40
 05
-4c
+78
 20
 40
 05
-51
+7d
 20
 40
 05
-56
+82
 20
 40
 05
-63
+8f
+20
+40
+05
+a2
 20
 20
 41
-1e
+1f
 6f
 e0
 c9
@@ -5415,7 +5591,7 @@
 20
 40
 05
-70
+9c
 20
 40
 41
@@ -5435,7 +5611,7 @@
 20
 40
 05
-70
+9c
 20
 40
 41
@@ -5455,7 +5631,7 @@
 20
 40
 05
-70
+9c
 20
 40
 41
@@ -5499,7 +5675,7 @@
 c0
 7f
 85
-5f
+8b
 20
 20
 41
@@ -5511,7 +5687,7 @@
 20
 40
 05
-73
+9f
 68
 48
 c9
@@ -5551,7 +5727,7 @@
 c0
 7f
 85
-6c
+98
 20
 20
 41
@@ -5563,7 +5739,7 @@
 20
 40
 05
-73
+9f
 68
 48
 c9
@@ -5596,10 +5772,74 @@
 20
 60
 93
+6f
+e0
+cd
+9a
+20
+3a
+41
+6a
+70
+4b
+8b
+00
+6f
+e4
+4b
+ab
+c4
+0a
+80
+00
+70
+4b
+96
+07
+6f
+e0
+cb
+95
+1f
+e2
+26
+00
+6f
+e0
+c9
+12
 20
 40
 05
-7b
+9f
+68
+48
+c9
+12
+20
+40
+41
+95
+67
+e0
+cb
+95
+20
+40
+41
+74
+68
+48
+c9
+12
+20
+20
+3f
+56
+20
+40
+05
+b8
 20
 40
 79
@@ -5607,23 +5847,27 @@
 20
 40
 05
-88
+d6
 20
 40
 05
-7f
+bc
+20
+40
+05
+c7
 20
 20
 46
-50
+51
 6f
 e0
 cc
 40
-c3
+c4
 01
-c9
-90
+80
+00
 6f
 e4
 4b
@@ -5639,11 +5883,11 @@
 c2
 94
 85
-83
+c0
 c2
 9b
 85
-83
+c0
 20
 60
 00
@@ -5654,28 +5898,88 @@
 8c
 c2
 83
-05
-86
+02
+4d
+6f
+e0
+c9
+1b
+c1
+7f
+80
+00
+6f
+e0
+c9
+bf
+24
+7a
+00
+00
 20
 20
 46
-5a
-70
-4b
-94
-03
-20
-20
-02
-24
+5c
 6f
 e4
 4b
 ab
-c2
-97
+c4
+15
+00
+00
+68
+48
+c9
+1e
+20
 40
-36
+3f
+56
+68
+48
+c9
+1e
+20
+40
+60
+59
+20
+20
+85
+d2
+6f
+e0
+c9
+38
+c1
+00
+80
+00
+70
+49
+38
+01
+20
+20
+46
+c0
+6f
+e0
+c9
+38
+c1
+00
+00
+00
+70
+49
+38
+00
+20
+20
+46
+c0
 6f
 e0
 c9
@@ -5699,7 +6003,7 @@
 20
 40
 05
-91
+dd
 20
 20
 40
@@ -5727,7 +6031,7 @@
 c0
 7f
 85
-98
+e4
 20
 20
 40
@@ -5739,7 +6043,7 @@
 20
 40
 05
-73
+9f
 68
 48
 c9
@@ -5748,14 +6052,6 @@
 20
 41
 95
-6f
-e0
-cc
-a6
-20
-7a
-00
-00
 20
 40
 40
@@ -5783,11 +6079,11 @@
 20
 40
 03
-43
-20
+87
 20
-46
-43
+60
+00
+00
 6f
 e1
 47
@@ -5816,39 +6112,191 @@
 48
 c8
 c7
-20
-20
-26
-f6
-3b
-0d
-aa
-55
-40
-00
-00
-40
-09
-00
-00
-00
-00
-00
-00
-00
+6f
+e0
+c8
+cc
+c5
+13
+05
+fa
+6f
+e0
+c8
+cf
+98
+46
+7c
 00
+24
+21
+06
+14
+6f
+e0
+c8
+c9
+1f
+e6
+7c
+02
+24
+21
+06
+02
+6f
+e0
+c8
+c9
+c0
 00
+06
+15
+20
+60
 00
 00
+6f
+e0
+c8
+c9
+68
+48
+c8
+ca
+98
+46
+7c
+00
+24
+62
+80
+00
+70
+48
+c9
+00
+68
+48
+c8
+c7
+6f
+e0
+c8
+cb
+c5
+13
+06
+0b
+6f
+e0
+c8
+ce
+98
+46
+7c
+00
+24
+61
+00
+00
+6f
+e0
+c8
+c8
+c0
 00
+27
+1b
+1f
+e0
+ff
+ff
+67
+e0
+c8
+c8
+c0
+01
+06
+1c
+c0
 00
+a7
+11
+20
+20
+27
+1b
+70
+48
+c9
 00
+6f
+e0
+c8
+c8
+c0
+01
+86
+1b
+1f
+e0
+fe
+01
+67
+e0
+c8
+c8
+c0
 00
+a7
+11
+c0
+01
+06
 1c
+20
+20
+06
 1c
+70
+41
+e8
+03
+20
+60
+00
+00
+66
+be
+aa
+55
+40
+00
+00
+40
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
 00
-80
 00
+00
+1c
+1c
+00
+80
+10
 40
 00
 00
@@ -5863,9 +6311,9 @@
 00
 00
 00
-04
+85
 01
-00
+08
 18
 00
 00
@@ -5887,7 +6335,7 @@
 01
 00
 00
-20
+02
 04
 3e
 00
@@ -5967,7 +6415,7 @@
 00
 00
 22
-0a
+81
 1b
 aa
 55
@@ -5975,7 +6423,7 @@
 00
 40
 4c
-0b
+2b
 aa
 55
 0c
@@ -6045,13 +6493,6 @@
 ff
 aa
 55
-01
-00
-a4
-4c
-ff
-aa
-55
 03
 00
 24
@@ -6072,14 +6513,30 @@
 55
 01
 00
+a2
+4d
+00
+aa
+55
+02
+00
+cf
+4d
+00
+00
+aa
+55
+02
+00
 45
 4c
-0a
+00
+14
 aa
 55
 03
 00
-47
+48
 4c
 05
 02
@@ -6088,41 +6545,41 @@
 55
 01
 00
-4c
+4d
 4c
 14
 aa
 55
 01
 00
-4a
+4b
 4c
 02
 aa
 55
 02
 00
-4f
+50
 4c
-02
-06
+01
+05
 aa
 55
 01
 00
-52
+53
 4c
 0a
 aa
 55
 05
 00
-54
+55
 4c
 8a
-0a
-08
 88
+08
+0a
 ff
 aa
 55
@@ -6138,9 +6595,9 @@
 cc
 4b
 00
-05
+08
 00
-04
+07
 00
 00
 00
@@ -6237,14 +6694,14 @@
 0a
 60
 06
-05
+0a
 00
 64
 00
 70
 17
 14
-0a
+05
 90
 01
 e8
@@ -6258,13 +6715,21 @@
 ca
 4b
 07
-03
+06
 aa
 55
 01
 00
-97
-4c
+98
+4d
+ff
+aa
+55
+02
+00
+a3
+4d
+ff
 ff
 aa
 55
@@ -6272,7 +6737,7 @@
 00
 c0
 49
-02
+01
 aa
 55
 01
@@ -6380,7 +6845,7 @@
 00
 a8
 40
-15
+10
 a3
 c8
 12
@@ -6568,21 +7033,64 @@
 65
 aa
 55
-08
-00
-72
-43
-06
-00
-09
+0c
 00
+a7
+4d
+0b
+42
+54
+35
+2e
+32
 20
+4d
+6f
+75
+73
+65
+aa
+55
+0c
 00
-2c
-01
+bb
+4d
+0b
+42
+54
+33
+2e
+30
+20
+4d
+6f
+75
+73
+65
 aa
 55
-06
+01
+00
+a6
+4d
+00
+aa
+55
+08
+00
+72
+43
+06
+00
+09
+00
+20
+00
+2c
+01
+aa
+55
+06
 00
 cc
 4a
@@ -6694,13 +7202,6 @@
 ff
 aa
 55
-01
-00
-8f
-47
-1e
-aa
-55
 0c
 00
 d0
@@ -6715,13 +7216,13 @@
 15
 14
 1b
-11
+36
 0e
 aa
 55
 05
 00
-90
+91
 4c
 8a
 8b
@@ -6730,7 +7231,7 @@
 88
 aa
 55
-b2
+74
 00
 df
 49
@@ -6836,77 +7337,15 @@
 41
 a1
 12
-a5
-84
 a7
 ff
-b5
-d0
 b6
 00
-ff
-00
-09
-00
-ff
-ff
-09
-5a
-0d
-10
-0e
-c5
-5b
-9a
-10
-38
-11
-42
-28
-28
-41
-23
-49
-39
-4a
-b0
-4b
-a0
-4c
-90
-4d
-70
-09
-00
-ff
-ff
-09
-5a
-06
-02
-09
-69
-0d
-48
-0e
-9f
-0f
-ba
-09
-00
-ff
-ff
-09
+b5
+c8
 a5
-46
-34
-60
-07
-69
-04
-7d
-20
-7e
+af
+ff
 00
 09
 00
@@ -6914,736 +7353,297 @@
 ff
 aa
 55
-08
+0c
 00
-a3
+97
 4a
+05
+b9
 09
 5a
 0b
-f3
+72
+0c
+52
 09
 00
 ff
 ff
 aa
 55
-08
+40
 00
-e3
-4b
-09
-a5
-0b
-f3
+53
+4a
 09
-00
-ff
-ff
-aa
-55
-02
-00
-8d
-44
-2d
-49
-aa
-55
-01
-00
-8c
-44
-01
-aa
-55
-01
-00
-65
-48
-01
-aa
-55
-01
-00
-64
-48
-01
-aa
-55
-01
-00
-36
-48
-01
-aa
-55
-01
-00
-a8
-48
-06
-aa
-55
-02
-00
-38
-48
-c0
-12
-aa
-55
-03
-00
-54
-48
-19
-19
-1c
-aa
-55
+5a
+0d
 10
-00
-40
-48
-00
-13
-2c
-42
-06
-15
-36
-48
-0f
-1a
-3a
-4c
-11
-23
-31
-4d
-aa
-55
-01
-00
+0e
+c5
 5b
-48
-00
-aa
-55
-05
-00
-77
-48
-20
-15
-10
-05
-4e
-aa
-55
-05
-00
-8c
-48
-01
-0f
-0f
-0f
-0f
-aa
-55
-06
-00
-ad
-48
-0c
-f8
-00
-00
-77
-01
-aa
-55
-03
-00
-5c
-48
-00
-48
-60
-aa
-55
-01
-00
-7d
-48
-07
-aa
-55
-02
-00
-99
-48
-b5
-4a
-aa
-55
-01
-00
-ca
-48
-80
-aa
-55
-02
-00
-c2
-48
-14
-00
-aa
-55
-02
-00
-c0
-48
-50
-00
-aa
-55
-03
-00
-b8
-48
-00
-a6
-0e
-aa
-55
-03
-00
-b8
-49
-00
-50
-00
-aa
-55
-02
-00
-79
-44
-80
-1f
-aa
-55
-01
-00
-83
-44
-80
-aa
-55
-01
-00
-e8
-41
-03
-aa
-55
-05
-00
-f0
-4b
-02
-40
-00
-04
-1c
-55
-aa
-aa
-55
-02
-93
-a7
-17
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+9a
+10
+38
+11
+42
+28
+28
+41
+23
+49
+39
+4a
+b0
+4b
+a0
+4c
+90
+4d
+70
+09
+00
 ff
 ff
+09
+5a
+06
+02
+09
+69
+0d
+48
+0e
+9f
+0f
+ba
+09
+00
 ff
 ff
+09
+a5
+26
+34
+19
+04
+60
+07
+69
+04
+7d
+20
+7e
+00
+09
+00
 ff
 ff
+aa
+55
+08
+00
+a3
+4a
+09
+5a
+0b
+f3
+09
+00
 ff
 ff
+aa
+55
+08
+00
+e3
+4b
+09
+a5
+0b
+f3
+09
+00
 ff
 ff
+aa
+55
+02
+00
+8d
+44
+2d
+49
+aa
+55
+01
+00
+65
+48
+01
+aa
+55
+01
+00
+64
+48
+01
+aa
+55
+01
+00
+36
+48
+01
+aa
+55
+01
+00
+a8
+48
+06
+aa
+55
+02
+00
+38
+48
+c0
+12
+aa
+55
+01
+00
+5b
+48
+00
+aa
+55
+05
+00
+77
+48
+20
+15
+10
+05
+4e
+aa
+55
+05
+00
+8c
+48
+01
+0f
+0f
+0f
+0f
+aa
+55
+03
+00
+5c
+48
+00
+48
+60
+aa
+55
+01
+00
+7d
+48
+07
+aa
+55
+02
+00
+99
+48
+b5
+4a
+aa
+55
+01
+00
+ca
+48
+80
+aa
+55
+02
+00
+c2
+48
+14
+00
+aa
+55
+02
+00
+c0
+48
+50
+00
+aa
+55
+03
+00
+b8
+48
+00
+a6
+0e
+aa
+55
+03
+00
+b8
+49
+00
+50
+00
+aa
+55
+02
+00
+79
+44
+80
+1f
+aa
+55
+01
+00
+83
+44
+80
+aa
+55
+01
+00
+e8
+41
+03
+aa
+55
+03
+00
+9c
+4d
+00
+26
+4c
+55
+aa
+aa
+55
+41
+a0
+31
+71
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-2c
-13
+eb
+96
Index: output/memmap.format
===================================================================
--- /YC1308AC/branch/mouse_project/BR_Project/MultiMode/PBSwitch_3mode_3ch_CM892B/output/memmap.format	(revision 4624)
+++ /YC1308AC/branch/mouse_project/BR_Project/MultiMode/PBSwitch_3mode_3ch_CM892B/output/memmap.format	(working copy)
@@ -470,7 +470,7 @@
 0x0a0f mem_mesh_access_layer_payload_len
 0x0a10 mem_mesh_access_layer_payload
 0x0a10 mem_mesh_access_payload
-0x0a42 mem_mesh_access_payload_padding//ÎªÁËÍ¸´«Ä£¿éÔ¤Áô
+0x0a42 mem_mesh_access_payload_padding//Îªï¿½ï¿½Í¸ï¿½ï¿½Ä£ï¿½ï¿½Ô¤ï¿½ï¿½
 0x0a74 mem_mesh_queue_ele_temp
 0x0a74 mem_mesh_queue_ele_duration
 0x0a75 mem_mesh_queue_ele_gatt_msg_id
@@ -2238,63 +2238,75 @@
 0x4c42 mem_mouse_multi_led_type
 0x4c43 mem_mouse_multi_led_state
 0x4c44 mem_mouse_multi_led_blink_type//00:rtn	01:24g blink	02:le blink		03:reconn blink 	04:low blink	05:dpi blink
-0x4c45 mem_mouse_multi_led_powon_timer_init//power on time
-0x4c46 mem_mouse_multi_led_powon_timer
-0x4c47 mem_mouse_multi_24gled_blink_timer_init//24gled blink time
-0x4c48 mem_mouse_multi_le_discovery_blink_timer_init//le discovery blink time
-0x4c49 mem_mouse_multi_le_reconn_blink_timer_init//le reconn blink time
-0x4c4a mem_mouse_dpi_led_blink_timer_init//dpi blink time
-0x4c4b mem_mouse_multi_led_blink_timer
-0x4c4c mem_mouse_low_led_blink_timer//low blink time
-0x4c4d mem_mouse_low_led_blink_half_timer
-0x4c4e mem_adc_low_volatage_led_timer_count_new
-0x4c4f mem_mouse_multi_24gled_blink_count_init//24g count
-0x4c50 mem_mouse_multi_le_reconn_blink_count_init//le reconn count
-0x4c51 mem_mouse_multi_led_blink_count
-0x4c52 mem_mouse_multi_lowled_blink_count_init//low count
-0x4c53 mem_mouse_multi_low_led_blink_count
-0x4c54 mem_mouse_1io2led_multi_24gled
-0x4c55 mem_mouse_1io2led_multi_bt1led
-0x4c56 mem_mouse_1io2led_multi_bt2led
-0x4c57 mem_mouse_low_gpio
-0x4c58 mem_mouse_dpi_gpio
-0x4c59 mem_mouse_rssi_signal_buf_patch
-0x4c69 mem_mouse_rssi_signal_buf_temp
-0x4c79 mem_mouse_le_send_conn_param_update
-0x4c7a mem_mouse_le_send_conn_param_update_timer
-0x4c7b mem_device_uart_tx_gpio
-0x4c7c mem_device_uart_rx_gpio
-0x4c7d mem_device_uart_rx_buffer
-0x4c7f mem_device_uart_rx_buffer_end
-0x4c81 mem_device_uart_tx_buffer
-0x4c83 mem_device_uart_tx_buffer_end
-0x4c85 mem_device_uart_baud_rate
-0x4c87 mem_24g_paccnt
-0x4c88 mem_rssi_mouse
-0x4c89 mem_clkn_bt_patch
-0x4c8d mem_txpower_print
-0x4c8f mem_normal_tx_power
-0x4c90 mem_sensor_s201_dpi
-0x4c90 mem_sensor_s201_dpi_0
-0x4c91 mem_sensor_s201_dpi_1
-0x4c92 mem_sensor_s201_dpi_2
-0x4c93 mem_sensor_s201_dpi_3
-0x4c94 mem_sensor_s201_dpi_4
-0x4c95 mem_mouse_commbination_dpi_check_enable
-0x4c96 mem_commbination_dpi_timer
-0x4c97 mem_mouse_commbination_dpi_gpio
-0x4c98 mem_rgb_led_off_enable
-0x4c99 mem_rgb_led_on_enable
-0x4c9a mem_rgb_led_off_enable_timer
-0x4c9b mem_rgb_led_on_enable_timer
-0x4c9c mem_rgb_led_on_timer
-0x4c9e mem_rgb_led_off_check_count
-0x4ca0 mem_rgb_led_on_check_count
-0x4ca2 mem_rgb_led_on_continue_1min_timeout_flag
-0x4ca3 mem_mbutton_function_disable
-0x4ca4 mem_mouse_rgb_ctrl_gpio
-0x4ca5 mem_mouse_rgb_adc_no_power_flag
-0x4ca6 mem_mouse_dpi_led_blink_enable
+0x4c45 mem_mouse_led_multi_type//00:no multi	01:low+led	02:dpi+led	03:low+dpi_led
+0x4c46 mem_mouse_multi_led_powon_timer_init//power on time
+0x4c47 mem_mouse_multi_led_powon_timer
+0x4c48 mem_mouse_multi_24gled_blink_timer_init//24gled blink time
+0x4c49 mem_mouse_multi_le_discovery_blink_timer_init//le discovery blink time
+0x4c4a mem_mouse_multi_le_reconn_blink_timer_init//le reconn blink time
+0x4c4b mem_mouse_dpi_led_blink_timer_init//dpi blink time
+0x4c4c mem_mouse_multi_led_blink_timer
+0x4c4d mem_mouse_low_led_blink_timer//low blink time
+0x4c4e mem_mouse_low_led_blink_half_timer
+0x4c4f mem_adc_low_volatage_led_timer_count_new
+0x4c50 mem_mouse_multi_24gled_blink_count_init//24g count
+0x4c51 mem_mouse_multi_le_reconn_blink_count_init//le reconn count
+0x4c52 mem_mouse_multi_led_blink_count
+0x4c53 mem_mouse_multi_lowled_blink_count_init//low count
+0x4c54 mem_mouse_multi_low_led_blink_count
+0x4c55 mem_mouse_1io2led_multi_24gled
+0x4c56 mem_mouse_1io2led_multi_bt1led
+0x4c57 mem_mouse_1io2led_multi_bt2led
+0x4c58 mem_mouse_low_gpio
+0x4c59 mem_mouse_dpi_gpio
+0x4c5a mem_mouse_rssi_signal_buf_patch
+0x4c6a mem_mouse_rssi_signal_buf_temp
+0x4c7a mem_mouse_le_send_conn_param_update
+0x4c7b mem_mouse_le_send_conn_param_update_timer
+0x4c7c mem_device_uart_tx_gpio
+0x4c7d mem_device_uart_rx_gpio
+0x4c7e mem_device_uart_rx_buffer
+0x4c80 mem_device_uart_rx_buffer_end
+0x4c82 mem_device_uart_tx_buffer
+0x4c84 mem_device_uart_tx_buffer_end
+0x4c86 mem_device_uart_baud_rate
+0x4c88 mem_24g_paccnt
+0x4c89 mem_rssi_mouse
+0x4c8a mem_clkn_bt_patch
+0x4c8e mem_txpower_print
+0x4c90 mem_normal_tx_power
+0x4c91 mem_sensor_s201_dpi
+0x4c91 mem_sensor_s201_dpi_0
+0x4c92 mem_sensor_s201_dpi_1
+0x4c93 mem_sensor_s201_dpi_2
+0x4c94 mem_sensor_s201_dpi_3
+0x4c95 mem_sensor_s201_dpi_4
+0x4c96 mem_le_tx_buffer0_omemalloc_new
+0x4cd6 mem_le_tx_buffer1_omemalloc_new
+0x4d16 mem_le_tx_buffer2_omemalloc_new
+0x4d56 mem_le_tx_buffer3_omemalloc_new
+0x4d96 mem_mouse_pair_flag
+0x4d97 mem_commbination_dpi_timer
+0x4d98 mem_mouse_commbination_key_dpi
+0x4d99 mem_long_sleep_flag
+0x4d9a mem_mouse_customer_key_connect_vin_flag
+0x4d9b mem_mouse_ch_count
+0x4d9c mem_mouse_ch
+0x4d9c mem_mouse_ch_l
+0x4d9d mem_mouse_ch_m
+0x4d9e mem_mouse_ch_h
+0x4d9f mem_mouse_ch_set_flag
+0x4da0 mem_mouse_logo_led_state
+0x4da1 mem_mouse_logo_key_count
+0x4da2 mem_mouse_logo_ctrl_type
+0x4da3 mem_mouse_commbination_logo_key
+0x4da4 mem_mouse_select_device_commbation_key_gpio
+0x4da5 mem_mouse_select_device_commbation_key_count
+0x4da6 mem_mouse_le_name_modify_enable
+0x4da7 mem_ble_device2_name
+0x4dbb mem_bt_device2_name
+0x4dcf mem_mouse_d_l_l_led_multi_type
+0x4dd0 mem_mouse_select_sensor_angle_type
 0x48d0 mem_remote_car_hard_soft_switch
 0x48d1 mem_remote_car_queue_each_size
 0x48d2 mem_remote_car_queue_length
Index: output/program.lis
===================================================================
--- /YC1308AC/branch/mouse_project/BR_Project/MultiMode/PBSwitch_3mode_3ch_CM892B/output/program.lis	(revision 4624)
+++ /YC1308AC/branch/mouse_project/BR_Project/MultiMode/PBSwitch_3mode_3ch_CM892B/output/program.lis	(working copy)
@@ -1,1997 +1,2157 @@
               include "bt_format "
               org 0x0000
 0000 c2840021 bbit1 8 ,pf_patch_ext 
-0001 c0000032 beq patch00_0 ,p_soft_reset 
-0002 c001805d beq patch00_3 ,p_main_loop 
-0003 c0410129 beq patch10_2 ,p_shutdown_radio 
-0004 c0418070 beq patch10_3 ,p_set_sync_on 
-0005 c0420077 beq patch10_4 ,p_set_freq_rx 
-0006 c045009f beq patch11_2 ,p_txon_next 
-0007 c045811c beq patch11_3 ,p_initialize_radio_cont 
-0008 c0460085 beq patch11_4 ,p_save_rssi 
-0009 c04f8130 beq patch13_7 ,p_init_param 
-000a c0570132 beq patch15_6 ,p_app_init 
-000b c0618332 beq patch18_3 ,p_mouse_start_work 
-000c c0620037 beq patch18_4 ,p_mouse_start_reconnect_device 
-000d c063823f beq patch18_7 ,p_mouse_app_enter_hibernate 
-000e c0648245 beq patch19_1 ,p_mouse_setgpio_hibernate 
-000f c0650278 beq patch19_2 ,p_mouse_lpm_before_common 
-0010 c06600c9 beq patch19_4 ,p_mouse_adc_read_start 
-0011 c0670513 beq patch19_6 ,p_mouse_motion 
-0012 c067859c beq patch19_7 ,p_mouse_dpi_process 
-0013 c0680343 beq patch1a_0 ,p_mouse_seting_dpi 
-0014 c068853e beq patch1a_1 ,p_mouse_check_key_gpio 
-0015 c069835c beq patch1a_3 ,p_mouse_init_sunt 
-0016 c06a0526 beq patch1a_4 ,p_mouse_sensor_poweron 
-0017 c06b029a beq patch1a_6 ,p_mouse_priority_bb_event 
-0018 c06c8384 beq patch1b_1 ,p_mouse_bb_event_timer 
-0019 c06d049d beq patch1b_2 ,p_mouse_start_discovery 
-001a c06d84a7 beq patch1b_3 ,p_mouse_stop_discovery 
-001b c06f0576 beq patch1b_6 ,p_mouse_idle 
-001c c06f8050 beq patch1b_7 ,p_mouse_ready_reconnection_by_button 
-001d c0708048 beq patch1c_1 ,p_mouse_led_off 
-001e c0710044 beq patch1c_2 ,p_mouse_led_on 
-001f c07404ae beq patch1d_0 ,p_hid_rx_process 
+0001 c0000035 beq patch00_0 ,p_soft_reset 
+0002 c041014b beq patch10_2 ,p_shutdown_radio 
+0003 c041809f beq patch10_3 ,p_set_sync_on 
+0004 c04200a6 beq patch10_4 ,p_set_freq_rx 
+0005 c04500cc beq patch11_2 ,p_txon_next 
+0006 c045813e beq patch11_3 ,p_initialize_radio_cont 
+0007 c04600b4 beq patch11_4 ,p_save_rssi 
+0008 c04f8152 beq patch13_7 ,p_init_param 
+0009 c052006c beq patch14_4 ,p_lpm_dispatch 
+000a c0570154 beq patch15_6 ,p_app_init 
+000b c061836c beq patch18_3 ,p_mouse_start_work 
+000c c0620074 beq patch18_4 ,p_mouse_start_reconnect_device 
+000d c063826c beq patch18_7 ,p_mouse_app_enter_hibernate 
+000e c0648272 beq patch19_1 ,p_mouse_setgpio_hibernate 
+000f c06502a0 beq patch19_2 ,p_mouse_lpm_before_common 
+0010 c06600f4 beq patch19_4 ,p_mouse_adc_read_start 
+0011 c067052e beq patch19_6 ,p_mouse_motion 
+0012 c06785e8 beq patch19_7 ,p_mouse_dpi_process 
+0013 c0680387 beq patch1a_0 ,p_mouse_seting_dpi 
+0014 c0688569 beq patch1a_1 ,p_mouse_check_key_gpio 
+0015 c069838b beq patch1a_3 ,p_mouse_init_sunt 
+0016 c06a0551 beq patch1a_4 ,p_mouse_sensor_poweron 
+0017 c06b02c9 beq patch1a_6 ,p_mouse_priority_bb_event 
+0018 c06c83a7 beq patch1b_1 ,p_mouse_bb_event_timer 
+0019 c06d04b8 beq patch1b_2 ,p_mouse_start_discovery 
+001a c06d84c2 beq patch1b_3 ,p_mouse_stop_discovery 
+001b c06f05b2 beq patch1b_6 ,p_mouse_idle 
+001c c06f808b beq patch1b_7 ,p_mouse_ready_reconnection_by_button 
+001d c0708084 beq patch1c_1 ,p_mouse_led_off 
+001e c0710081 beq patch1c_2 ,p_mouse_led_on 
+001f c07404c9 beq patch1d_0 ,p_hid_rx_process 
 0020 2020137c branch loop 
 
 pf_patch_ext:
-0021 c00d04c2 beq patch23_2 ,p_send_lmp 
-0022 c0100042 beq patch24_0 ,p_twspi_reset 
-0023 c01980a9 beq patch26_3 ,p_adc_init_data 
-0024 c01a00ae beq patch26_4 ,p_enable_adc 
-0025 c04384aa beq patch30_7 ,p_ui_timer_check 
-0026 c05084cc beq patch34_1 ,p_le_slave_match 
-0027 c05184d6 beq patch34_3 ,p_le_slave_unsync 
-0028 c05a84d8 beq patch36_5 ,p_le_transmit 
-0029 c06004e2 beq patch38_0 ,p_le_parse_l2cap 
-002a c06e832e beq patch3b_5 ,p_g24_dispatch 
-002b c07102f2 beq patch3c_2 ,p_g24_pair_dispatch 
-002c c07482fa beq patch3d_1 ,p_g24_reconn_dispatch 
-002d c07501e1 beq patch3d_2 ,p_g24_transmit_no_interrupt 
-002e c075820f beq patch3d_3 ,p_g24_transmit_hop_process 
-002f c0760508 beq patch3d_4 ,p_g24_lpm_wait 
-0030 c07685a6 beq patch3d_5 ,p_power_ctrl_start 
-0031 2020137c branch loop 
+0021 c00c0056 beq patch23_0 ,p_parse_lmp_accepted 
+0022 c00d04dd beq patch23_2 ,p_send_lmp 
+0023 c00f8060 beq patch23_7 ,p_process_conn_sm 
+0024 c010007f beq patch24_0 ,p_twspi_reset 
+0025 c015803b beq patch25_3 ,p_efuse_vdd_off 
+0026 c01980d4 beq patch26_3 ,p_adc_init_data 
+0027 c01a00d9 beq patch26_4 ,p_enable_adc 
+0028 c04384c5 beq patch30_7 ,p_ui_timer_check 
+0029 c05084e7 beq patch34_1 ,p_le_slave_match 
+002a c05184f1 beq patch34_3 ,p_le_slave_unsync 
+002b c05a84f3 beq patch36_5 ,p_le_transmit 
+002c c06004fd beq patch38_0 ,p_le_parse_l2cap 
+002d c06c8043 beq patch3b_1 ,p_le_pairing_sm 
+002e c071032d beq patch3c_2 ,p_g24_pair_dispatch 
+002f c0748335 beq patch3d_1 ,p_g24_reconn_dispatch 
+0030 c0750208 beq patch3d_2 ,p_g24_transmit_no_interrupt 
+0031 c0758235 beq patch3d_3 ,p_g24_transmit_hop_process 
+0032 c0760523 beq patch3d_4 ,p_g24_lpm_wait 
+0033 c07685f0 beq patch3d_5 ,p_power_ctrl_start 
+0034 2020137c branch loop 
 
 p_soft_reset:
-0032 20800000 clear_stack 
-0033 204030f3 call app_param_init 
-0034 2455804c ncall p_led_num_check ,wake 
-0035 20403bfd call mouse_xtal_init 
-0036 20200804 branch soft_reset + 3 
+0035 20800000 clear_stack 
+0036 204030f3 call app_param_init 
+0037 24558087 ncall p_led_num_check ,wake 
+0038 2055c168 call mouse_matrix_public_gpio_reset ,wake 
+0039 20403bfd call mouse_xtal_init 
+003a 20200804 branch soft_reset + 3 
+
+p_efuse_vdd_off:
+003b 6ff08a0b fetch 1 ,core_rf_ldo_en1 
+003c 793ffe05 set0 5 ,pdata 
+003d 793ffe04 set0 4 ,pdata 
+003e 793ffe00 set0 0 ,pdata 
+003f 67f08a0b store 1 ,core_rf_ldo_en1 
+0040 20000018 nop 24 
+0041 793ffe03 set0 3 ,pdata 
+0042 20205ea4 branch efuse_vdd_off + 6 
+
+p_le_pairing_sm:
+0043 20401b77 call le_fifo_check_nearly_full 
+0044 247a0000 nrtn blank 
+0045 6fe0c39b fetch 1 ,mem_le_pairing_state 
+0046 c0060048 beq flag_le_paring_send_master_identification ,p_le_pairng_sm_send_master_indentification 
+0047 20202081 branch le_pairing_sm + 4 
+
+p_le_pairng_sm_send_master_indentification:
+0048 6fe0c34f fetch 1 ,mem_le_preq_resp_key_distribution 
+0049 6848c356 fetcht 1 ,mem_le_pres_resp_key_distribution 
+004a 98417e00 iand temp ,pdata 
+004b 2fec0001 isolate0 le_initator_irk_bit ,pdata 
+004c 2020a0b1 branch le_parse_start_enc_rsp_after_auth_end ,true 
+004d 70439b0d jam flag_le_paring_send_indentity_information ,mem_le_pairing_state 
+004e 2020004f branch p_le_send_smp_identity_information 
+
+p_le_send_smp_identity_information:
+004f 18002211 force 17 ,rega 
+0050 20402109 call le_fifo_malloc_tx_l2cap_smp 
+0051 58000008 setarg smp_identity_information 
+0052 e7e08005 istore 1 ,contw 
+0053 df200010 arg 16 ,loopcnt 
+0054 d8c04316 arg mem_le_ltk ,contr 
+0055 20207d5f branch memcpy 
+
+p_parse_lmp_accepted:
+0056 6fe080d0 fetch 1 ,mem_rxbuf + 1 
+0057 67e0839d store 1 ,mem_lmi_accepted_opcode 
+0058 c009805a beq lmp_switch_req ,p_parse_lmp_accepted_switch 
+0059 20205465 branch parse_lmp_accepted + 3 
+
+p_parse_lmp_accepted_switch:
+005a 6fe080bd fetch 1 ,mem_connection_options 
+005b 793ffe02 set0 connection_switch ,pdata 
+005c 67e080bd store 1 ,mem_connection_options 
+005d 70095b20 jam bt_evt_switch_accept ,mem_fifo_temp 
+005e 20407871 call ui_ipc_send_event 
+005f 202009df branch role_switch_prepare0 
+
+p_process_conn_sm:
+0060 204059e1 call lmo_fifo_check 
+0061 247a0000 nrtn blank 
+
+p_process_conn_sm_continue:
+0062 6fe08056 fetch 1 ,mem_conn_sm 
+0063 207a0000 rtn blank 
+0064 6fe08056 fetch 1 ,mem_conn_sm 
+0065 c0020067 beq conn_sm_send_conn_req ,p_host_create_conn_send_conn_req 
+0066 20205a45 branch process_conn_sm_continue + 2 
+
+p_host_create_conn_send_conn_req:
+0067 70005605 jam conn_sm_wait_conn_accept ,mem_conn_sm 
+0068 7003a6ff jam 0xfff ,mem_soft_timer 
+0069 793f8022 set0 mark_reconn_recieve_switch ,mark 
+006a 70007d33 jam lmp_host_connection_req ,mem_lmo_opcode2 
+006b 20205390 branch init_lmp_reinit 
+
+p_lpm_dispatch:
+006c 20401465 call lpo_calibration 
+006d 6fe1c174 fetch 3 ,mem_clks_per_lpo 
+006e 207a0000 rtn blank 
+006f 6fe0c099 fetch 1 ,mem_lpm_mode 
+0070 207a0000 rtn blank 
+0071 6fe0cc41 fetch 1 ,mem_mouse_multi_led_blink_enable 
+0072 247a0000 nrtn blank 
+0073 202014e3 branch lpm_dispatch + 6 
 
 p_mouse_start_reconnect_device:
-0037 da204939 arg mem_device1_type ,rega 
-0038 6fe0c938 fetch 1 ,mem_device_flag 
-0039 1fe0ffff increase -1 ,pdata 
-003a 1feffe1d mul32 pdata ,29 ,pdata 
-003b 9a20a200 iadd rega ,rega 
-003c efe08011 ifetch 1 ,rega 
-003d 67e0c482 store 1 ,mem_xrecord_mode 
+0074 da204939 arg mem_device1_type ,rega 
+0075 6fe0c938 fetch 1 ,mem_device_flag 
+0076 1fe0ffff increase -1 ,pdata 
+0077 1feffe1d mul32 pdata ,29 ,pdata 
+0078 9a20a200 iadd rega ,rega 
+0079 efe08011 ifetch 1 ,rega 
+007a 67e0c482 store 1 ,mem_xrecord_mode 
 
 p_mouse_start_reconnect:
-003e 6fe0c482 fetch 1 ,mem_xrecord_mode 
-003f c019bd6f beq rec_3_mode ,mouse3_0_check_reconn_target 
-0040 c01a3d7b beq rec_4_mode ,mouse4_0_check_reconn_target 
-0041 202042eb branch mouse_buletooth_fast_conn_init 
+007b 6fe0c482 fetch 1 ,mem_xrecord_mode 
+007c c019bd6f beq rec_3_mode ,mouse3_0_check_reconn_target 
+007d c01a3d7b beq rec_4_mode ,mouse4_0_check_reconn_target 
+007e 202042eb branch mouse_buletooth_fast_conn_init 
 
 p_twspi_reset:
-0042 6fe0c91f fetch 1 ,mem_mouse_sensor_sclk_gpio 
-0043 20205af8 branch twspi_reset + 1 
+007f 6fe0c91f fetch 1 ,mem_mouse_sensor_sclk_gpio 
+0080 20205af8 branch twspi_reset + 1 
 
 p_mouse_led_on:
-0044 18427e00 copy temp ,pdata 
-0045 c17f8000 rtneq gpio_disable 
-0046 1fe20400 copy pdata ,temp 
-0047 20204930 branch mouse_led_on + 1 
+0081 18467cff sub temp ,gpio_disable ,null 
+0082 c1028000 rtneq zero 
+0083 20204930 branch mouse_led_on + 1 
 
 p_mouse_led_off:
-0048 18427e00 copy temp ,pdata 
-0049 c17f8000 rtneq gpio_disable 
-004a 1fe20400 copy pdata ,temp 
-004b 2020492c branch mouse_led_off + 1 
+0084 18467cff sub temp ,gpio_disable ,null 
+0085 c1028000 rtneq zero 
+0086 2020492c branch mouse_led_off + 1 
 
 p_led_num_check:
-004c 6fe0cbaf fetch 1 ,mem_mouse_flag + 4 
-004d 247a0000 nrtn blank 
-004e 70448c00 jam 0 ,mem_ui_led_struct_num 
-004f 20600000 rtn 
+0087 6fe0cbaf fetch 1 ,mem_mouse_flag + 4 
+0088 247a0000 nrtn blank 
+0089 70448c00 jam 0 ,mem_ui_led_struct_num 
+008a 20600000 rtn 
 
 p_mouse_ready_reconnection_by_button:
-0050 6fe0cbb4 fetch 1 ,mem_device_number 
-0051 c1008000 rtneq 1 
-0052 204046c2 call mouse_select_device_number 
-0053 6048c938 storet 1 ,mem_device_flag 
-0054 204003f0 call p_mouse_device_led_disable 
-0055 20400112 call p_mouse_low_voltage_led_off 
+008b 6fe0cbb4 fetch 1 ,mem_device_number 
+008c c1008000 rtneq 1 
+008d 204046c2 call mouse_select_device_number 
+008e 6048c938 storet 1 ,mem_device_flag 
+008f 20400414 call p_mouse_devide_led_disable 
+0090 20400134 call p_mouse_low_voltage_led_off 
 
 p_mouse_store_device_number_before_reset:
-0056 7041ca00 jam 0 ,mem_link_key_exists 
-0057 204046da call mouse_select_device_enable 
-0058 2040005a call p_mouse_stop_bluetooth_mode 
-0059 202046bd branch mouse_store_device_number_before_reset + 3 
+0091 7041ca00 jam 0 ,mem_link_key_exists 
+0092 204046da call mouse_select_device_enable 
+0093 2040009c call p_mouse_stop_bluetooth_mode 
+0094 20403173 call app_evt_button_long_pressed 
+0095 20400097 call p_mouse_le_state_clear 
+0096 202046bd branch mouse_store_device_number_before_reset + 3 
+
+p_mouse_le_state_clear:
+0097 58000000 setarg 0 
+0098 67e44040 store 8 ,mem_context 
+0099 70003100 jam 0 ,mem_state 
+009a 70478b00 jam 0 ,memui_reconnect_mode 
+009b 20600000 rtn 
 
 p_mouse_stop_bluetooth_mode:
-005a 6fe1478c fetch 2 ,mem_ui_state_map 
-005b c3838000 rtnbit1 ui_state_bt_reconnect 
-005c 20204318 branch mouse_stop_bluetooth_mode + 2 
-
-p_main_loop:
-005d 2040706c call sp_calc_sequence 
-005e 20407597 call sp_calc_sequence_256 
-005f 20406ea7 call sp_calc_sequence_256_check 
-0060 20401b92 call le_advertising_dispatch 
-0061 2040083a call idle_dispatch 
-0062 20400064 call p_app_process_idle 
-0063 2020081a branch main_loop + 7 
-
-p_app_process_idle:
-0064 20400066 call p_ui_dispatch 
-0065 20203109 branch app_process_idle + 2 
-
-p_ui_dispatch:
-0066 20400068 call p_ui_led_dispatch 
-0067 20207850 branch ui_timer_check 
-
-p_ui_led_dispatch:
-0068 6fe0c48c fetch 1 ,mem_ui_led_struct_num 
-0069 207a0000 rtn blank 
-006a 6fe1448d fetch 2 ,mem_ui_led_struct_ptr 
-006b 1fe22400 copy pdata ,regb 
-006c 1a40a402 add regb ,led_offset_led_gpio ,regb 
-006d efe08012 ifetch 1 ,regb 
-006e c17f8000 rtneq gpio_disable 
-006f 20207813 branch ui_led_dispatch + 2 
+009c 6fe1478c fetch 2 ,mem_ui_state_map 
+009d c3838000 rtnbit1 ui_state_bt_reconnect 
+009e 20204318 branch mouse_stop_bluetooth_mode + 2 
 
 p_set_sync_on:
-0070 70890005 jam 0x5 ,modem_en 
-0071 20000002 nop 2 
-0072 70890000 jam 0x0 ,modem_en 
-0073 6fe0c0c5 fetch 1 ,mem_fcomp_div 
-0074 c00c1168 beq xtal_24m ,set_sync_on_24m 
+009f 70890005 jam 0x5 ,modem_en 
+00a0 20000002 nop 2 
+00a1 70890000 jam 0x0 ,modem_en 
+00a2 6fe0c0c5 fetch 1 ,mem_fcomp_div 
+00a3 c00c1168 beq xtal_24m ,set_sync_on_24m 
 
 p_set_sync_on_16m:
-0075 708a8729 jam 0x29 ,core_syn_afc_cfg1 
-0076 2020117d branch set_sync_on_16m 
+00a4 708a8729 jam 0x29 ,core_syn_afc_cfg1 
+00a5 2020117d branch set_sync_on_16m 
 
 p_set_freq_rx:
-0077 20401190 call set_freq_rx + 1 
-0078 58007676 setarg 0x7676 
-0079 67f10968 store 2 ,0x8968 
-007a 20600000 rtn 
+00a6 20401190 call set_freq_rx + 1 
+00a7 58007676 setarg 0x7676 
+00a8 67f10968 store 2 ,0x8968 
+00a9 20600000 rtn 
 
 p_mouse_24g_fast_conn_mode_check:
-007b c6930000 rtnmark0 mark_24g 
-007c 6fe24891 fetch 4 ,mem_24g_receiver_addr 
-007d 684a488d fetcht 4 ,mem_24g_fast_conn_addr 
-007e 98467c00 isub temp ,null 
-007f 20228082 branch p_mouse_soft_agc_enable ,zero 
+00aa c6930000 rtnmark0 mark_24g 
+00ab 6fe24891 fetch 4 ,mem_24g_receiver_addr 
+00ac 684a488d fetcht 4 ,mem_24g_fast_conn_addr 
+00ad 98467c00 isub temp ,null 
+00ae 202280b1 branch p_mouse_soft_agc_enable ,zero 
 
 p_mouse_soft_agc_disable:
-0080 7041eaff jam 0xff ,mem_gain_fix 
-0081 20600000 rtn 
+00af 7041eaff jam 0xff ,mem_gain_fix 
+00b0 20600000 rtn 
 
 p_mouse_soft_agc_enable:
-0082 7041ea00 jam 0 ,mem_gain_fix 
-0083 7041e891 jam tx_power_f17db ,mem_tx_power 
-0084 20600000 rtn 
+00b1 7041ea00 jam 0 ,mem_gain_fix 
+00b2 7041e8aa jam tx_power_fast_conn ,mem_tx_power 
+00b3 20600000 rtn 
 
 p_save_rssi:
-0085 6ff089a2 fetch 1 ,modem_nb_pow 
-0086 2feffe06 isolate1 6 ,pdata 
-0087 7920fe07 setflag true ,7 ,pdata 
-0088 67e0c1e9 store 1 ,mem_modem_rssi 
-0089 6ff089a3 fetch 1 ,modem_gain 
-008a 1fe1040f and pdata ,0x0f ,temp 
-008b 18438400 lshift temp ,temp 
-008c 1ff1fe00 rshift4 pdata ,pdata 
-008d 98408400 iadd temp ,temp 
-008e 184fa203 mul32 temp ,3 ,rega 
-008f 6fe0c1e9 fetch 1 ,mem_modem_rssi 
-0090 2040009a call p_byte_sign_extern 
-0091 1fe67e00 sub pdata ,0 ,pdata 
-0092 9a20fe00 iadd rega ,pdata 
-0093 1fe0fff7 increase -9 ,pdata 
-0094 1fe17fff and pdata ,0x1ff ,pdata 
-0095 2feffe08 isolate1 8 ,pdata 
-0096 24208098 nbranch p_save_rssi_store ,true 
-0097 58000000 setarg 0 
+00b4 6ff089a2 fetch 1 ,modem_nb_pow 
+00b5 2feffe06 isolate1 6 ,pdata 
+00b6 7920fe07 setflag true ,7 ,pdata 
+00b7 67e0c1e9 store 1 ,mem_modem_rssi 
+00b8 6ff089a3 fetch 1 ,modem_gain 
+00b9 1fe1040f and pdata ,0x0f ,temp 
+00ba 18438400 lshift temp ,temp 
+00bb 1ff1fe00 rshift4 pdata ,pdata 
+00bc 98408400 iadd temp ,temp 
+00bd 184fa203 mul32 temp ,3 ,rega 
+00be 6fe0c1e9 fetch 1 ,mem_modem_rssi 
+00bf 204000c9 call p_byte_sign_extern 
+00c0 1fe67e00 sub pdata ,0 ,pdata 
+00c1 9a20fe00 iadd rega ,pdata 
+00c2 1fe0fff7 increase -9 ,pdata 
+00c3 1fe17fff and pdata ,0x1ff ,pdata 
+00c4 2feffe08 isolate1 8 ,pdata 
+00c5 242080c7 nbranch p_save_rssi_store ,true 
+00c6 58000000 setarg 0 
 
 p_save_rssi_store:
-0098 67e08019 store 1 ,mem_rssi_hex 
-0099 20600000 rtn 
+00c7 67e08019 store 1 ,mem_rssi_hex 
+00c8 20600000 rtn 
 
 p_byte_sign_extern:
-009a 2feffe07 isolate1 7 ,pdata 
-009b 24608000 nrtn true 
-009c d840ff00 arg 0xff00 ,temp 
-009d 9841fe00 ior temp ,pdata 
-009e 20600000 rtn 
+00c9 2feffe07 isolate1 7 ,pdata 
+00ca 24608000 nrtn true 
+00cb 202042d4 branch mouse_data_overflow 
 
 p_txon_next:
-009f 6fe0c1e8 fetch 1 ,mem_tx_power 
-00a0 c04a00a3 beq tx_power_f20db ,p_set_tx_power_pair 
-00a1 c04880a6 beq tx_power_f17db ,p_set_tx_power_fast_conn 
-00a2 2020121e branch txon_next + 1 
+00cc 6fe0c1e8 fetch 1 ,mem_tx_power 
+00cd c0551244 beq tx_power_fast_conn ,set_tx_power_f20db 
+00ce c04a00d0 beq tx_power_f20db ,p_set_tx_power_pair 
+00cf 2020121e branch txon_next + 1 
 
 p_set_tx_power_pair:
-00a3 708a3905 jam 0x05 ,core_tx_pwr_ctrl0 
-00a4 708a3a00 jam 0x00 ,core_tx_pwr_ctrl1 
-00a5 2020122a branch set_rf_ldo_cfg89 
-
-p_set_tx_power_fast_conn:
-00a6 708a3909 jam 0x09 ,core_tx_pwr_ctrl0 
-00a7 708a3a00 jam 0x00 ,core_tx_pwr_ctrl1 
-00a8 2020122a branch set_rf_ldo_cfg89 
+00d0 708a3904 jam 0x04 ,core_tx_pwr_ctrl0 
+00d1 708a3a00 jam 0x00 ,core_tx_pwr_ctrl1 
+00d2 2020122a branch set_rf_ldo_cfg89 
+00d3 20201247 branch set_tx_power_f30db 
 
 p_adc_init_data:
-00a9 da20099e arg mem_temp_block2 ,rega 
-00aa d840000c arg 12 ,temp 
-00ab 58000030 setarg efuse_offset_adc_param 
-00ac 20405e63 call efuse_read_data 
-00ad 202060bf branch adc_init_data + 6 
+00d4 da20099e arg mem_temp_block2 ,rega 
+00d5 d840000c arg 12 ,temp 
+00d6 58000030 setarg efuse_offset_adc_param 
+00d7 20405e63 call efuse_read_data 
+00d8 202060bf branch adc_init_data + 6 
 
 p_enable_adc:
-00ae 6a508a12 fetchr regb ,1 ,core_rf_ldo_cfg6 
-00af 708a123d jam 0x3d ,core_rf_ldo_cfg6 
-00b0 708a11aa jam 0xaa ,core_rf_ldo_cfg5 
-00b1 708a0a0c jam 0x0c ,core_rf_ldo_en0 
-00b2 6ff08a09 fetch 1 ,core_clkpll_cfg6 
-00b3 79207e07 set1 7 ,pdata 
-00b4 67f08a09 store 1 ,core_clkpll_cfg6 
-00b5 708a0b04 jam 0x04 ,core_rf_ldo_en1 
-00b6 2000003c nop 60 
-00b7 708a1600 jam 0 ,core_syn_en 
-00b8 708a1706 jam 6 ,core_rx_en0 
-00b9 2040611a call read_adc_mode 
-00ba 67f08a97 store 1 ,core_gpadc_ctrl 
-00bb 7080dc03 jam 0x03 ,core_sum_ctrl 
-00bc 2000003c nop 60 
-00bd 6ff08053 fetch 1 ,core_sum_en 
-00be 79207e07 set1 7 ,pdata 
-00bf 67f08053 store 1 ,core_sum_en 
-00c0 200003e8 nop 1000 
-00c1 6ff10150 fetch 2 ,core_adc_sum 
-00c2 67e144a2 store 2 ,mem_adc_current_value 
-00c3 6ff08053 fetch 1 ,core_sum_en 
-00c4 793ffe07 set0 7 ,pdata 
-00c5 67f08053 store 1 ,core_sum_en 
-00c6 708a9700 jam 0 ,core_gpadc_ctrl 
-00c7 62508a12 storer regb ,1 ,core_rf_ldo_cfg6 
-00c8 20600000 rtn 
+00d9 6a508a12 fetchr regb ,1 ,core_rf_ldo_cfg6 
+00da 708a123d jam 0x3d ,core_rf_ldo_cfg6 
+00db 708a11aa jam 0xaa ,core_rf_ldo_cfg5 
+00dc 708a0a0c jam 0x0c ,core_rf_ldo_en0 
+00dd 6ff08a09 fetch 1 ,core_clkpll_cfg6 
+00de 79207e07 set1 7 ,pdata 
+00df 67f08a09 store 1 ,core_clkpll_cfg6 
+00e0 708a0b04 jam 0x04 ,core_rf_ldo_en1 
+00e1 2000003c nop 60 
+00e2 708a1600 jam 0 ,core_syn_en 
+00e3 708a1706 jam 6 ,core_rx_en0 
+00e4 2040611a call read_adc_mode 
+00e5 67f08a97 store 1 ,core_gpadc_ctrl 
+00e6 7080dc03 jam 0x03 ,core_sum_ctrl 
+00e7 2000003c nop 60 
+00e8 6ff08053 fetch 1 ,core_sum_en 
+00e9 79207e07 set1 7 ,pdata 
+00ea 67f08053 store 1 ,core_sum_en 
+00eb 200003e8 nop 1000 
+00ec 6ff10150 fetch 2 ,core_adc_sum 
+00ed 67e144a2 store 2 ,mem_adc_current_value 
+00ee 6ff08053 fetch 1 ,core_sum_en 
+00ef 793ffe07 set0 7 ,pdata 
+00f0 67f08053 store 1 ,core_sum_en 
+00f1 708a9700 jam 0 ,core_gpadc_ctrl 
+00f2 62508a12 storer regb ,1 ,core_rf_ldo_cfg6 
+00f3 20600000 rtn 
 
 p_mouse_adc_read_start:
-00c9 204000ae call p_enable_adc 
-00ca 7048f600 jam 0 ,mem_adc_read_timer 
-00cb 20406125 call vdd_calculate_by_mode 
-00cc 67e148e9 store 2 ,mem_mouse_vdd_now_vol 
-00cd 6fe0c4a0 fetch 1 ,mem_adc_config_flag 
-00ce c08100d5 bne adc_config_gpio ,p_mouse_adc_data_process 
-00cf 684948e9 fetcht 2 ,mem_mouse_vdd_now_vol 
-00d0 184ffe08 mul32 temp ,8 ,pdata 
-00d1 1fe6fc0a div pdata ,10 
-00d2 20407dec call get_div_result 
-00d3 9840fe00 iadd temp ,pdata 
-00d4 67e148e9 store 2 ,mem_mouse_vdd_now_vol 
+00f4 204000d9 call p_enable_adc 
+00f5 7048f600 jam 0 ,mem_adc_read_timer 
+00f6 20406125 call vdd_calculate_by_mode 
+00f7 67e148e9 store 2 ,mem_mouse_vdd_now_vol 
+00f8 6fe0c4a0 fetch 1 ,mem_adc_config_flag 
+00f9 c0810100 bne adc_config_gpio ,p_mouse_adc_data_process 
+00fa 684948e9 fetcht 2 ,mem_mouse_vdd_now_vol 
+00fb 184ffe08 mul32 temp ,8 ,pdata 
+00fc 1fe6fc0a div pdata ,10 
+00fd 20407dec call get_div_result 
+00fe 9840fe00 iadd temp ,pdata 
+00ff 67e148e9 store 2 ,mem_mouse_vdd_now_vol 
 
 p_mouse_adc_data_process:
-00d5 da2048e3 arg mem_mouse_vdd_calculate_set ,rega 
-00d6 20403ed8 call mouse_adc_bat_percent_lowpower_out 
-00d7 6fe0c4a4 fetch 1 ,mem_adc_power_flag 
-00d8 c2813f1a bbit1 2 ,mouse_adc_button_press 
-00d9 c28080dc bbit1 1 ,p_mouse_power_down 
-00da c30000df bbit0 0 ,p_mouse_adc_no_low_voltage 
-00db 20203ecc branch mouse_adc_data_process_next 
+0100 da2048e3 arg mem_mouse_vdd_calculate_set ,rega 
+0101 20403ed8 call mouse_adc_bat_percent_lowpower_out 
+0102 6fe0c4a4 fetch 1 ,mem_adc_power_flag 
+0103 c2808106 bbit1 1 ,p_mouse_power_down 
+0104 c3000109 bbit0 0 ,p_mouse_adc_no_low_voltage 
+0105 20203ecc branch mouse_adc_data_process_next 
 
 p_mouse_power_down:
-00dc 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
-00dd c3003f1c bbit0 mouse_enable_1io2led ,mouse_power_down 
-00de 2020023f branch p_mouse_app_enter_hibernate 
+0106 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
+0107 c3003f1c bbit0 mouse_enable_led_new_interface ,mouse_power_down 
+0108 2020026c branch p_mouse_app_enter_hibernate 
 
 p_mouse_adc_no_low_voltage:
-00df 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
-00e0 c3003ed0 bbit0 mouse_enable_1io2led ,mouse_adc_no_low_voltage 
-00e1 d8e00004 arg mouse_low_voltage_flag ,queue 
-00e2 204046f4 call mouse_disable_function_flag 
-00e3 704c4e0c jam 12 ,mem_adc_low_volatage_led_timer_count_new 
-00e4 6fe0c8fa fetch 1 ,mem_mouse_adc_last_low_voltage_flag 
-00e5 207a0000 rtn blank 
-00e6 7048fa00 jam 0 ,mem_mouse_adc_last_low_voltage_flag 
-00e7 2020010f branch p_mouse_low_voltage_led_off_judge 
+0109 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
+010a c3003ed0 bbit0 mouse_enable_led_new_interface ,mouse_adc_no_low_voltage 
+010b d8e00004 arg mouse_low_voltage_flag ,queue 
+010c 204046f4 call mouse_disable_function_flag 
+010d 704c4f01 jam 1 ,mem_adc_low_volatage_led_timer_count_new 
+010e 6fe0c8fa fetch 1 ,mem_mouse_adc_last_low_voltage_flag 
+010f 207a0000 rtn blank 
+0110 7048fa00 jam 0 ,mem_mouse_adc_last_low_voltage_flag 
+0111 20200131 branch p_mouse_low_voltage_led_off_judge 
 
 p_mouse_check_dpi_blink:
-00e8 78547c00 disable user 
-00e9 6fe0cc44 fetch 1 ,mem_mouse_multi_led_blink_type 
-00ea 1fe67c04 sub pdata ,4 ,null 
-00eb 24628000 nrtn zero 
-00ec 78347c00 enable user 
-00ed 20600000 rtn 
+0112 78547c00 disable user 
+0113 6fe0cc44 fetch 1 ,mem_mouse_multi_led_blink_type 
+0114 1fe67c04 sub pdata ,4 ,null 
+0115 24628000 nrtn zero 
+0116 20207e54 branch enable_user 
 
 p_mouse_low_voltage_led_timer:
-00ee 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
-00ef c3004956 bbit0 mouse_enable_1io2led ,mouse_low_voltage_led_timer 
-
-p_mouse_low_voltage_led_timer_new:
-00f0 c4018000 rtnbit0 mouse_enable_low_led 
-00f1 6fe14ac2 fetch 2 ,mem_mouse_discovery_timer 
-00f2 247a0000 nrtn blank 
-00f3 6fe14883 fetch 2 ,mem_24g_pair_timeout 
-00f4 247a0000 nrtn blank 
-00f5 6fe14887 fetch 2 ,mem_24g_reconn_timeout 
-00f6 247a0000 nrtn blank 
-00f7 6fe0cc46 fetch 1 ,mem_mouse_multi_led_powon_timer 
-00f8 247a0000 nrtn blank 
-00f9 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-00fa c4020000 rtnbit0 mouse_low_voltage_flag 
-00fb 204000e8 call p_mouse_check_dpi_blink 
-00fc 20740000 rtn user 
-00fd 6fe0cc53 fetch 1 ,mem_mouse_multi_low_led_blink_count 
-00fe 203a0118 branch p_mouse_low_led_blink_count_init_judge ,blank 
+0117 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
+0118 c4018000 rtnbit0 mouse_enable_low_led 
+0119 6fe0cd96 fetch 1 ,mem_mouse_pair_flag 
+011a 207a0000 rtn blank 
+011b 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+011c c4020000 rtnbit0 mouse_low_voltage_flag 
+011d 20400112 call p_mouse_check_dpi_blink 
+011e 20740000 rtn user 
+011f 6fe0cc54 fetch 1 ,mem_mouse_multi_low_led_blink_count 
+0120 203a013a branch p_mouse_low_led_blink_count_init_judge ,blank 
 
 p_mouse_low_led_blink_timer:
-00ff 6848cc4e fetcht 1 ,mem_adc_low_volatage_led_timer_count_new 
-0100 18408401 increase 1 ,temp 
-0101 6048cc4e storet 1 ,mem_adc_low_volatage_led_timer_count_new 
-0102 6fe0cc4c fetch 1 ,mem_mouse_low_led_blink_timer 
-0103 98467c00 isub temp ,null 
-0104 2441010d ncall p_mouse_low_led_timer_count_clean ,positive 
-0105 6fe0cc4d fetch 1 ,mem_mouse_low_led_blink_half_timer 
-0106 98467c00 isub temp ,null 
-0107 2421010f nbranch p_mouse_low_voltage_led_off_judge ,positive 
+0121 6848cc4f fetcht 1 ,mem_adc_low_volatage_led_timer_count_new 
+0122 18408401 increase 1 ,temp 
+0123 6048cc4f storet 1 ,mem_adc_low_volatage_led_timer_count_new 
+0124 6fe0cc4d fetch 1 ,mem_mouse_low_led_blink_timer 
+0125 98467c00 isub temp ,null 
+0126 2441012f ncall p_mouse_low_led_timer_count_clean ,positive 
+0127 6fe0cc4e fetch 1 ,mem_mouse_low_led_blink_half_timer 
+0128 98467c00 isub temp ,null 
+0129 24210131 nbranch p_mouse_low_voltage_led_off_judge ,positive 
 
 p_mouse_low_voltage_led_on_judge:
-0108 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
-0109 c282840f bbit1 mouse_enable_low_for_led ,p_mouse_device_multi_led_on + 1 
-010a c283840f bbit1 mouse_enable_dpi_low_for_led ,p_mouse_device_multi_led_on + 1 
+012a 6fe0cc45 fetch 1 ,mem_mouse_led_multi_type 
+012b c0008431 beq mouse_enable_low_for_led ,p_mouse_device_multi_led_on + 1 
+012c c0018431 beq mouse_enable_dpi_low_for_led ,p_mouse_device_multi_led_on + 1 
 
 p_mouse_low_voltage_led_on:
-010b 6848cc57 fetcht 1 ,mem_mouse_low_gpio 
-010c 2020041b branch p_mouse_multi_led_on 
+012d 6848cc58 fetcht 1 ,mem_mouse_low_gpio 
+012e 2020043d branch p_mouse_multi_led_on 
 
 p_mouse_low_led_timer_count_clean:
-010d 704c4e01 jam 1 ,mem_adc_low_volatage_led_timer_count_new 
-010e 20400114 call p_mouse_low_led_blink_decrease 
+012f 704c4f01 jam 1 ,mem_adc_low_volatage_led_timer_count_new 
+0130 20400136 call p_mouse_low_led_blink_decrease 
 
 p_mouse_low_voltage_led_off_judge:
-010f 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
-0110 c2828421 bbit1 mouse_enable_low_for_led ,p_mouse_device_multi_led_off + 1 
-0111 c2838421 bbit1 mouse_enable_dpi_low_for_led ,p_mouse_device_multi_led_off + 1 
+0131 6fe0cc45 fetch 1 ,mem_mouse_led_multi_type 
+0132 c0008443 beq mouse_enable_low_for_led ,p_mouse_device_multi_led_off + 1 
+0133 c0018443 beq mouse_enable_dpi_low_for_led ,p_mouse_device_multi_led_off + 1 
 
 p_mouse_low_voltage_led_off:
-0112 6848cc57 fetcht 1 ,mem_mouse_low_gpio 
-0113 2020042b branch p_gpio_set_high_impedance 
+0134 6848cc58 fetcht 1 ,mem_mouse_low_gpio 
+0135 2020607b branch gpio_set_analog 
 
 p_mouse_low_led_blink_decrease:
-0114 6fe0cc53 fetch 1 ,mem_mouse_multi_low_led_blink_count 
-0115 1fe0ffff increase -1 ,pdata 
-0116 67e0cc53 store 1 ,mem_mouse_multi_low_led_blink_count 
-0117 20600000 rtn 
+0136 6fe0cc54 fetch 1 ,mem_mouse_multi_low_led_blink_count 
+0137 1fe0ffff increase -1 ,pdata 
+0138 67e0cc54 store 1 ,mem_mouse_multi_low_led_blink_count 
+0139 20600000 rtn 
 
 p_mouse_low_led_blink_count_init_judge:
-0118 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
-0119 c282010f bbit1 mouse_enable_low_led_blink_limit ,p_mouse_low_voltage_led_off_judge 
-011a 204003aa call p_mouse_multi_low_led_blink_count_init 
-011b 202000ff branch p_mouse_low_led_blink_timer 
+013a 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
+013b c2820131 bbit1 mouse_enable_low_led_blink_limit ,p_mouse_low_voltage_led_off_judge 
+013c 204003d2 call p_mouse_multi_low_led_blink_count_init 
+013d 20200121 branch p_mouse_low_led_blink_timer 
 
 p_initialize_radio_cont:
-011c 708a8be6 jam 0xe6 ,core_syn_aac_cfg1 
-011d 2040126a call initialize_syn_afc_cfg1 
-011e 20401271 call initialize_rf_ldo_cfg1 
-011f 20401277 call initialize_rc_cal 
-0120 708a6d09 jam 0x09 ,core_rx_bq_cfg0 
-0121 708a0305 jam 5 ,core_clkpll_cfg0 
-0122 708a7a94 jam 0x94 ,core_rx_iqadc_cfg 
-0123 708a0e0b jam 0x0b ,core_rf_ldo_cfg2 
-0124 708a0f05 jam 0x05 ,core_rf_ldo_cfg3 
-0125 708a8390 jam 0x90 ,core_syn_pfd_lkd_cfg 
-0126 708a8500 jam 0x00 ,core_syn_loopdiv_dsm_cfg 
-0127 70892140 jam 0x40 ,core_rx_ctrl1 
-0128 2020125d branch initialize_radio_cont + 8 
+013e 708a8be6 jam 0xe6 ,core_syn_aac_cfg1 
+013f 2040126a call initialize_syn_afc_cfg1 
+0140 20401271 call initialize_rf_ldo_cfg1 
+0141 20401277 call initialize_rc_cal 
+0142 708a6d09 jam 0x09 ,core_rx_bq_cfg0 
+0143 708a0305 jam 5 ,core_clkpll_cfg0 
+0144 708a7a94 jam 0x94 ,core_rx_iqadc_cfg 
+0145 708a0e0b jam 0x0b ,core_rf_ldo_cfg2 
+0146 708a0f05 jam 0x05 ,core_rf_ldo_cfg3 
+0147 708a8390 jam 0x90 ,core_syn_pfd_lkd_cfg 
+0148 708a8500 jam 0x00 ,core_syn_loopdiv_dsm_cfg 
+0149 70892140 jam 0x40 ,core_rx_ctrl1 
+014a 2020125d branch initialize_radio_cont + 8 
 
 p_shutdown_radio:
-0129 6fe0c1ea fetch 1 ,mem_gain_fix 
-012a 67e08964 store 1 ,mem_temp 
-012b 20401150 call shutdown_radio + 1 
-012c 708a0a00 jam 0x00 ,core_rf_ldo_en0 
-012d 6fe08964 fetch 1 ,mem_temp 
-012e 67e0c1ea store 1 ,mem_gain_fix 
-012f 20600000 rtn 
+014b 6fe0c1ea fetch 1 ,mem_gain_fix 
+014c 67e08964 store 1 ,mem_temp 
+014d 20401150 call shutdown_radio + 1 
+014e 708a0a00 jam 0x00 ,core_rf_ldo_en0 
+014f 6fe08964 fetch 1 ,mem_temp 
+0150 67e0c1ea store 1 ,mem_gain_fix 
+0151 20600000 rtn 
 
 p_init_param:
-0130 70008000 jam 0 ,mem_lmo_tid2 
-0131 202013b7 branch init_param_next + 1 
+0152 70008000 jam 0 ,mem_lmo_tid2 
+0153 202013b7 branch init_param_next + 1 
 
 p_app_init:
-0132 793f8034 set0 mark_adc_enable ,mark 
-0133 20406df3 call enable_authrom 
-0134 2040016d call p_mouse_setting_config 
-0135 2040035c call p_mouse_init_sunt 
-0136 20758000 rtn wake 
-0137 704ca600 jam 0 ,mem_mouse_dpi_led_blink_enable 
-0138 20400345 call p_mouse_seting_sensor_type 
-0139 20403d8a call mouse_usb_check_enable 
-013a 20404728 call mouse_drawing_optima_init 
-013b 20400193 call p_mouse_cb_fuction 
-013c 20400535 call p_mouse_sensor_powerdown 
-013d 20203bc9 branch mouse_init + 8 
+0154 793f8034 set0 mark_adc_enable ,mark 
+0155 20406df3 call enable_authrom 
+0156 20400183 call p_mouse_setting_config 
+0157 245581a0 ncall p_mouse_load_default_dpi ,wake 
+0158 24558169 ncall p_mouse_le_name_load ,wake 
+0159 204041a7 call mouse_init_sunt 
+015a 20758000 rtn wake 
+015b 704d9600 jam 0 ,mem_mouse_pair_flag 
+015c 20400389 call p_mouse_seting_sensor_type 
+015d 20403d8a call mouse_usb_check_enable 
+015e 20404728 call mouse_drawing_optima_init 
+015f 204001b6 call p_mouse_cb_fuction 
+0160 20400560 call p_mouse_sensor_powerdown 
+0161 20203bc9 branch mouse_init + 8 
+
+p_mouse_customer_key_connect_vin:
+0162 6fe0c912 fetch 1 ,mem_customer_key_gpio 
+0163 c17f8000 rtneq gpio_disable 
+0164 c4038000 rtnbit0 7 
+0165 793ffe07 set0 gpio_active_bit ,pdata 
+0166 67e0c912 store 1 ,mem_customer_key_gpio 
+0167 704d9a01 jam 1 ,mem_mouse_customer_key_connect_vin_flag 
+0168 20600000 rtn 
 
 p_mouse_le_name_load:
-013e 6fe44c1f fetch 8 ,mem_le_name_patch 
-013f 207a0000 rtn blank 
-0140 6fe0cc1e fetch 1 ,mem_le_name_patch_len 
-0141 1fe22200 copy pdata ,rega 
-0142 1fe67c0b sub pdata ,11 ,null 
-0143 24210154 nbranch p_mouse_le_name_patch_len_overflow ,positive 
-0144 2040014d call p_mouse_le_name_clear 
-0145 d8a04adb arg mem_le_adv_swift_pair + 9 ,contw 
-0146 2040014a call p_mouse_le_name_load_next 
-0147 d8a0440a arg mem_le_scan_data + 2 ,contw 
-0148 2040014a call p_mouse_le_name_load_next 
-0149 d8a042f8 arg mem_le_name ,contw 
-
-p_mouse_le_name_load_next:
-014a d8c04c1f arg mem_le_name_patch ,contr 
-014b 1a227200 copy rega ,loopcnt 
-014c 20207d5f branch memcpy 
-
-p_mouse_le_name_clear:
-014d d8a04adb arg mem_le_adv_swift_pair + 9 ,contw 
-014e 20400152 call p_mouse_le_name_clear_next 
-014f d8a0440a arg mem_le_scan_data + 2 ,contw 
-0150 20400152 call p_mouse_le_name_clear_next 
-0151 d8a042f8 arg mem_le_name ,contw 
-
-p_mouse_le_name_clear_next:
-0152 df20000b arg 11 ,loopcnt 
-0153 20207d26 branch clear_mem 
-
-p_mouse_le_name_patch_len_overflow:
-0154 2040016a call p_mouse_le_swift_pair_disable 
-0155 6fe0cc1e fetch 1 ,mem_le_name_patch_len 
-0156 1fe0fe01 increase 1 ,pdata 
-0157 67e0cad2 store 1 ,mem_le_adv_swift_pair 
-0158 704ad309 jam 9 ,mem_le_adv_swift_pair + 1 
-0159 d8c04c1f arg mem_le_name_patch ,contr 
-015a d8a04ad4 arg mem_le_adv_swift_pair + 2 ,contw 
-015b 1a227200 copy rega ,loopcnt 
-015c 20407d5f call memcpy 
-015d 6fe0cc1e fetch 1 ,mem_le_name_patch_len 
-015e 1fe0fe01 increase 1 ,pdata 
-015f 67e0c408 store 1 ,mem_le_scan_data 
-0160 70440909 jam 9 ,mem_le_scan_data + 1 
-0161 d8c04c1f arg mem_le_name_patch ,contr 
-0162 d8a0440a arg mem_le_scan_data + 2 ,contw 
-0163 1a227200 copy rega ,loopcnt 
-0164 20407d5f call memcpy 
-0165 d8c04c1e arg mem_le_name_patch_len ,contr 
-0166 d8a042f7 arg mem_le_name_len ,contw 
-0167 1a227200 copy rega ,loopcnt 
-0168 1f20f201 increase 1 ,loopcnt 
-0169 20207d5f branch memcpy 
-
-p_mouse_le_swift_pair_disable:
-016a d8a04ad2 arg mem_le_adv_swift_pair ,contw 
-016b df200014 arg 20 ,loopcnt 
-016c 20207d26 branch clear_mem 
+0169 6fe0cda6 fetch 1 ,mem_mouse_le_name_modify_enable 
+016a c000016d beq 0 ,p_mouse_ble_set_single_name 
+016b c0008173 beq 1 ,p_mouse_le_set_double_name 
+016c 20600000 rtn 
+
+p_mouse_ble_set_single_name:
+016d 6fe0cc1e fetch 1 ,mem_le_name_patch_len 
+016e 207a0000 rtn blank 
+016f d8c04c1e arg mem_le_name_patch_len ,contr 
+
+p_mouse_ble_name_set:
+0170 1fe0f201 add pdata ,1 ,loopcnt 
+0171 d8a042f7 arg mem_le_name_len ,contw 
+0172 20207d5f branch memcpy 
+
+p_mouse_le_set_double_name:
+0173 6fe0c938 fetch 1 ,mem_device_flag 
+0174 c000816d beq mode_bt_device1 ,p_mouse_ble_set_single_name 
+0175 c0010177 beq mode_bt_device2 ,p_mouse_le_device2_name_set 
+0176 20600000 rtn 
+
+p_mouse_le_device2_name_set:
+0177 2040017f call p_mouse_le_set_another_name 
+0178 6fe0c0ad fetch 1 ,mem_lap + 5 
+0179 1fe0fe01 pincrease 1 ,pdata 
+017a 67e0c0ad store 1 ,mem_lap + 5 
+017b df200014 arg 20 ,loopcnt 
+017c d8c04dbb arg mem_bt_device2_name ,contr 
+017d d8a045fc arg mem_local_name_length ,contw 
+017e 20207d5f branch memcpy 
+
+p_mouse_le_set_another_name:
+017f 6fe0cda7 fetch 1 ,mem_ble_device2_name 
+0180 207a0000 rtn blank 
+0181 d8c04da7 arg mem_ble_device2_name ,contr 
+0182 20200170 branch p_mouse_ble_name_set 
 
 p_mouse_setting_config:
-016d 20758000 rtn wake 
-016e 20402607 call g24_transmit_init 
-016f 204022ff call g24_chmap_param_init 
-0170 20403f1e call mouse_gpio_init 
-0171 2040013e call p_mouse_le_name_load 
-0172 20403d13 call mouse_param_init 
-0173 204003a1 call p_mouse_device_multi_led_parm_init 
-0174 2040018d call p_mouse_store_normal_tx_power 
-0175 20401b16 call le_set_config_fixed_ltk 
-0176 20401b3f call le_set_justwork 
-0177 20401b32 call le_set_fixed_ltk 
-0178 20401b1e call le_set_config_read_authentication 
-0179 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-017a c289817d bbit1 mouse_enable_eeprom ,p_mouse_load_eeprom_info_check 
-017b c28945f6 bbit1 mouse_enable_flash ,mouse_load_flash_info_check 
-017c 20600000 rtn 
+0183 20758000 rtn wake 
+0184 20402607 call g24_transmit_init 
+0185 204022ff call g24_chmap_param_init 
+0186 20403f1e call mouse_gpio_init 
+0187 20403d13 call mouse_param_init 
+0188 204001ae call p_mouse_le_buff_modify 
+0189 204003c9 call p_mouse_device_multi_led_parm_init 
+018a 20400162 call p_mouse_customer_key_connect_vin 
+018b 204001b3 call p_mouse_store_normal_tx_power 
+018c 20401b16 call le_set_config_fixed_ltk 
+018d 204001a3 call p_le_set_justwork 
+018e 20401b32 call le_set_fixed_ltk 
+018f 20401b1e call le_set_config_read_authentication 
+0190 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0191 c4098000 rtnbit0 mouse_enable_eeprom 
 
 p_mouse_load_eeprom_info_check:
-017d 20405da5 call iicd_read_init_pin 
-017e 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-017f 2feffe09 isolate1 mouse_enable_2k_eeprom ,pdata 
-0180 2440ddbf ncall clear_eeprom_size_2k ,true 
-0181 2040463b call mouse_eeprom_load_recon_info 
-0182 6fe14990 fetch 2 ,mem_store_flag 
-0183 d840aa55 arg eeprom_init_flag ,temp 
-0184 98467c00 isub temp ,null 
-0185 2022c5e2 branch mouse_load_device_info ,zero 
-0186 60494990 storet 2 ,mem_store_flag 
-0187 204045e7 call mouse_ble_init_address 
-0188 6fe0cab4 fetch 1 ,mem_device_flag_temp 
-0189 67e0c938 store 1 ,mem_device_flag 
-018a 6fe0c926 fetch 1 ,mem_config_sensor_dpi 
-018b 67e0c992 store 1 ,mem_mouse_dpi 
-018c 20600000 rtn 
+0192 20405da5 call iicd_read_init_pin 
+0193 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0194 2feffe09 isolate1 mouse_enable_2k_eeprom ,pdata 
+0195 2440ddbf ncall clear_eeprom_size_2k ,true 
+0196 2040463b call mouse_eeprom_load_recon_info 
+0197 204001a9 call p_mouse_load_device_flag_check 
+0198 6fe14990 fetch 2 ,mem_store_flag 
+0199 d840aa55 arg eeprom_init_flag ,temp 
+019a 98467c00 isub temp ,null 
+019b 2022c5e2 branch mouse_load_device_info ,zero 
+019c 60494990 storet 2 ,mem_store_flag 
+019d 204045e7 call mouse_ble_init_address 
+019e 6fe0cab4 fetch 1 ,mem_device_flag_temp 
+019f 67e0c938 store 1 ,mem_device_flag 
+
+p_mouse_load_default_dpi:
+01a0 6fe0c926 fetch 1 ,mem_config_sensor_dpi 
+01a1 67e0c992 store 1 ,mem_mouse_dpi 
+01a2 20600000 rtn 
+
+p_le_set_justwork:
+01a3 59000302 setarg 0x01000302 
+01a4 67e24350 store 4 ,mem_le_pres 
+01a5 58030010 setarg 0x030010 
+01a6 67e1c354 store 3 ,mem_le_pres_max_keysize 
+01a7 70439d01 jam 1 ,mem_le_pairing_mode 
+01a8 20600000 rtn 
+
+p_mouse_load_device_flag_check:
+01a9 6fe0c938 fetch 1 ,mem_device_flag 
+01aa 1fe67c03 sub pdata ,3 ,null 
+01ab 20610000 rtn positive 
+01ac 70493800 jam mode_24g_device ,mem_device_flag 
+01ad 20600000 rtn 
+
+p_mouse_le_buff_modify:
+01ae 58004c96 setarg mem_le_tx_buffer0_omemalloc_new 
+01af 67e143de store 2 ,mem_ble_l2cap_tx_buff0_ptr 
+01b0 58000020 setarg mouse_ble_l2cap_txbuff_size_new 
+01b1 67e143e0 store 2 ,mem_ble_l2cap_tx_buff_size_ptr 
+01b2 20600000 rtn 
 
 p_mouse_store_normal_tx_power:
-018d 6fe0c1e8 fetch 1 ,mem_tx_power 
-018e 67e0cc8f store 1 ,mem_normal_tx_power 
-018f 20600000 rtn 
-
-p_mouse_fetch_normal_tx_power:
-0190 6fe0cc8f fetch 1 ,mem_normal_tx_power 
-0191 67e0c1e8 store 1 ,mem_tx_power 
-0192 20600000 rtn 
+01b3 6fe0c1e8 fetch 1 ,mem_tx_power 
+01b4 67e0cc90 store 1 ,mem_normal_tx_power 
+01b5 20600000 rtn 
 
 p_mouse_cb_fuction:
-0193 58000198 setarg p_mouse_24g_package_data 
-0194 67e1489b store 2 ,mem_cb_24g_transmit_data 
-0195 580001b2 setarg p_mouse_24g_search_dongle 
-0196 67e1489d store 2 ,mem_cb_24g_search_receiver 
-0197 20203bd3 branch mouse_cb_fuction + 4 
+01b6 580001bb setarg p_mouse_24g_package_data 
+01b7 67e1489b store 2 ,mem_cb_24g_transmit_data 
+01b8 580001da setarg p_mouse_24g_search_dongle 
+01b9 67e1489d store 2 ,mem_cb_24g_search_receiver 
+01ba 20203bd3 branch mouse_cb_fuction + 4 
 
 p_mouse_24g_package_data:
-0198 c6930000 rtnmark0 mark_24g 
-0199 20403f70 call mouse_motion 
-019a 24740000 nrtn user 
-019b 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-019c c30a819f bbit0 mouse_enable_keyboard ,p_mouse_24g_mouse_package_data 
-019d 6fe0cb8b fetch 1 ,mem_customer_key 
-019e 243a4884 nbranch mouse_24g_keyboard_package_data ,blank 
+01bb c6930000 rtnmark0 mark_24g 
+01bc 20403f70 call mouse_motion 
+01bd 24740000 nrtn user 
+01be 6fe0cd99 fetch 1 ,mem_long_sleep_flag 
+01bf 704d9900 jam 0 ,mem_long_sleep_flag 
+01c0 245a01d8 ncall p_mouse_short_sleep_clear_wake ,blank 
+01c1 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+01c2 c30a81c5 bbit0 mouse_enable_keyboard ,p_mouse_24g_mouse_package_data 
+01c3 6fe0cb8b fetch 1 ,mem_customer_key 
+01c4 243a4884 nbranch mouse_24g_keyboard_package_data ,blank 
 
 p_mouse_24g_mouse_package_data:
-019f 204042cb call mouse_data_xy_release 
-01a0 6fe0c836 fetch 1 ,mem_24g_data_type 
-01a1 c28081ae bbit1 1 ,p_mouse_24g_mouse_package_data_now 
-01a2 6848c7c7 fetcht 1 ,mem_24g_txbuf + 1 
-01a3 6fe0c8d0 fetch 1 ,mem_mouse_key 
-01a4 9841fe00 ior temp ,pdata 
-01a5 67e0c8d0 store 1 ,mem_mouse_key 
-01a6 6848c7cc fetcht 1 ,mem_24g_txbuf + 6 
-01a7 6fe0c8d5 fetch 1 ,mem_mouse_z 
-01a8 9840fe00 iadd temp ,pdata 
-01a9 67e0c8d5 store 1 ,mem_mouse_z 
-01aa 6848c7cd fetcht 1 ,mem_24g_txbuf + 7 
-01ab 6fe0c8d6 fetch 1 ,mem_mouse_tz 
-01ac 9840fe00 iadd temp ,pdata 
-01ad 67e0c8d6 store 1 ,mem_mouse_tz 
+01c5 204042cb call mouse_data_xy_release 
+01c6 6fe0c836 fetch 1 ,mem_24g_data_type 
+01c7 c28081d4 bbit1 1 ,p_mouse_24g_mouse_package_data_now 
+01c8 6848c7c7 fetcht 1 ,mem_24g_txbuf + 1 
+01c9 6fe0c8d0 fetch 1 ,mem_mouse_key 
+01ca 9841fe00 ior temp ,pdata 
+01cb 67e0c8d0 store 1 ,mem_mouse_key 
+01cc 6848c7cc fetcht 1 ,mem_24g_txbuf + 6 
+01cd 6fe0c8d5 fetch 1 ,mem_mouse_z 
+01ce 9840fe00 iadd temp ,pdata 
+01cf 67e0c8d5 store 1 ,mem_mouse_z 
+01d0 6848c7cd fetcht 1 ,mem_24g_txbuf + 7 
+01d1 6fe0c8d6 fetch 1 ,mem_mouse_tz 
+01d2 9840fe00 iadd temp ,pdata 
+01d3 67e0c8d6 store 1 ,mem_mouse_tz 
 
 p_mouse_24g_mouse_package_data_now:
-01ae 70483601 jam type_ms ,mem_24g_data_type 
-01af da200007 arg 7 ,rega 
-01b0 da4048d0 arg mem_mouse_key ,regb 
-01b1 202026e1 branch g24_transmit_by_interrupt_enable 
+01d4 70483601 jam type_ms ,mem_24g_data_type 
+01d5 da200007 arg 7 ,rega 
+01d6 da4048d0 arg mem_mouse_key ,regb 
+01d7 202026e1 branch g24_transmit_by_interrupt_enable 
+
+p_mouse_short_sleep_clear_wake:
+01d8 20407fdc call clear_wake 
+01d9 202015b1 branch lpm_write_gpio_wakeup 
 
 p_mouse_24g_search_dongle:
-01b2 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-01b3 c40b0000 rtnbit0 mouse_enable_24g_search_dongle 
-01b4 6fe0caae fetch 1 ,mem_mouse_long_mult_flag 
-01b5 207a0000 rtn blank 
-01b6 6fe0c8a7 fetch 1 ,mem_24g_abort_pac 
-01b7 207a0000 rtn blank 
-01b8 6fe0cba1 fetch 1 ,mem_mouse_search_dongle_interval 
-01b9 1fe0fe01 increase 1 ,pdata 
-01ba 1fe17e03 and_into 3 ,pdata 
-01bb 67e0cba1 store 1 ,mem_mouse_search_dongle_interval 
-01bc 247a0000 nrtn blank 
-01bd 704ba200 jam 0 ,mem_mouse_search_dongle_ch 
+01da 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+01db c40b0000 rtnbit0 mouse_enable_24g_search_dongle 
+01dc 6fe0caae fetch 1 ,mem_mouse_long_mult_flag 
+01dd 207a0000 rtn blank 
+01de 6fe0c8a7 fetch 1 ,mem_24g_abort_pac 
+01df 207a0000 rtn blank 
+01e0 6fe0cba1 fetch 1 ,mem_mouse_search_dongle_interval 
+01e1 1fe0fe01 increase 1 ,pdata 
+01e2 1fe17e03 and_into 3 ,pdata 
+01e3 67e0cba1 store 1 ,mem_mouse_search_dongle_interval 
+01e4 247a0000 nrtn blank 
+01e5 704ba200 jam 0 ,mem_mouse_search_dongle_ch 
 
 p_mouse_24g_search_dongle_loop:
-01be 6fe0cba2 fetch 1 ,mem_mouse_search_dongle_ch 
-01bf 1fe0fe01 increase 1 ,pdata 
-01c0 67e0cba2 store 1 ,mem_mouse_search_dongle_ch 
-01c1 1fe67c08 sub pdata ,g24_ch_number ,null 
-01c2 242101c8 nbranch p_mouse_24g_search_dongle_loop_end ,positive 
-01c3 2040259a call g24_reconn_data_prep 
-01c4 2040265b call g24_transmit_receive_ack 
-01c5 242c01d7 nbranch p_mouse_24g_search_dongle_loop_retry ,sync 
-01c6 243781d7 nbranch p_mouse_24g_search_dongle_loop_retry ,user3 
-01c7 204001ce call p_mouse_24g_search_dongle_success 
+01e6 6fe0cba2 fetch 1 ,mem_mouse_search_dongle_ch 
+01e7 1fe0fe01 increase 1 ,pdata 
+01e8 67e0cba2 store 1 ,mem_mouse_search_dongle_ch 
+01e9 1fe67c08 sub pdata ,g24_ch_number ,null 
+01ea 242101f0 nbranch p_mouse_24g_search_dongle_loop_end ,positive 
+01eb 2040259a call g24_reconn_data_prep 
+01ec 2040265b call g24_transmit_receive_ack 
+01ed 242c0206 nbranch p_mouse_24g_search_dongle_loop_retry ,sync 
+01ee 24378206 nbranch p_mouse_24g_search_dongle_loop_retry ,user3 
+01ef 204001fd call p_mouse_24g_search_dongle_success 
 
 p_mouse_24g_search_dongle_loop_end:
-01c8 20402597 call g24_txbuf_clear 
-01c9 6fe0cba3 fetch 1 ,mem_mouse_search_dongle_count 
-01ca 1fe0fe01 increase 1 ,pdata 
-01cb 67e0cba3 store 1 ,mem_mouse_search_dongle_count 
-01cc c00801d9 beq g24_ch_poll_count ,p_mouse_24g_search_dongle_check 
-01cd 20600000 rtn 
+01f0 20402597 call g24_txbuf_clear 
+01f1 6fe0cba3 fetch 1 ,mem_mouse_search_dongle_count 
+01f2 1fe0fe01 increase 1 ,pdata 
+01f3 67e0cba3 store 1 ,mem_mouse_search_dongle_count 
+01f4 c1880000 rtnne g24_ch_poll_count 
+
+p_mouse_24g_search_dongle_check:
+01f5 704ba300 jam 0 ,mem_mouse_search_dongle_count 
+01f6 6fe0cba4 fetch 1 ,mem_mouse_search_dongle_action 
+01f7 c3800000 rtnbit1 g24_disconn_state 
+01f8 79207e00 set1 g24_disconn_state ,pdata 
+01f9 67e0cba4 store 1 ,mem_mouse_search_dongle_action 
+01fa 6fe14bbc fetch 2 ,mem_mouse_24g_search_dongle_time_init 
+01fb 67e14ab2 store 2 ,mem_mouse_no_data_timer 
+01fc 20200560 branch p_mouse_sensor_powerdown 
 
 p_mouse_24g_search_dongle_success:
-01ce 6fe0c8a7 fetch 1 ,mem_24g_abort_pac 
-01cf 203a488c branch mouse_24g_search_dongle_init ,blank 
-01d0 704ba300 jam 0 ,mem_mouse_search_dongle_count 
-01d1 6fe0cba4 fetch 1 ,mem_mouse_search_dongle_action 
-01d2 c4000000 rtnbit0 g24_disconn_state 
-01d3 793ffe00 set0 g24_disconn_state ,pdata 
-01d4 67e0cba4 store 1 ,mem_mouse_search_dongle_action 
-01d5 20404544 call mouse_no_data_timer_init 
-01d6 2020035e branch p_mouse_init_sensor_wakeup 
+01fd 6fe0c8a7 fetch 1 ,mem_24g_abort_pac 
+01fe 203a488c branch mouse_24g_search_dongle_init ,blank 
+01ff 704ba300 jam 0 ,mem_mouse_search_dongle_count 
+0200 6fe0cba4 fetch 1 ,mem_mouse_search_dongle_action 
+0201 c4000000 rtnbit0 g24_disconn_state 
+0202 793ffe00 set0 g24_disconn_state ,pdata 
+0203 67e0cba4 store 1 ,mem_mouse_search_dongle_action 
+0204 20404544 call mouse_no_data_timer_init 
+0205 2020038d branch p_mouse_init_sensor_wakeup 
 
 p_mouse_24g_search_dongle_loop_retry:
-01d7 204022cb call g24_ch 
-01d8 202001be branch p_mouse_24g_search_dongle_loop 
-
-p_mouse_24g_search_dongle_check:
-01d9 704ba300 jam 0 ,mem_mouse_search_dongle_count 
-01da 6fe0cba4 fetch 1 ,mem_mouse_search_dongle_action 
-01db c3800000 rtnbit1 g24_disconn_state 
-01dc 79207e00 set1 g24_disconn_state ,pdata 
-01dd 67e0cba4 store 1 ,mem_mouse_search_dongle_action 
-01de 6fe14bbc fetch 2 ,mem_mouse_24g_search_dongle_time_init 
-01df 67e14ab2 store 2 ,mem_mouse_no_data_timer 
-01e0 20200535 branch p_mouse_sensor_powerdown 
+0206 204022cb call g24_ch 
+0207 202001e6 branch p_mouse_24g_search_dongle_loop 
 
 p_g24_transmit_no_interrupt:
-01e1 20402631 call g24_txdata_prep 
-01e2 24340280 nbranch p_g24_nodata_transmit ,user 
+0208 20402631 call g24_txdata_prep 
+0209 243402ac nbranch p_g24_nodata_transmit ,user 
 
 p_g24_transmit_start:
-01e3 204001f1 call p_g24_transmit_process 
-01e4 204026ee call power_ctrl_start 
-01e5 2040007b call p_mouse_24g_fast_conn_mode_check 
-01e6 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
-01e7 243a01ec nbranch p_g24_short_sleep ,blank 
-01e8 6fe448b0 fetch 8 ,mem_24g_long_sleep_set 
-01e9 67e4485c store 8 ,mem_24g_enter_hibernate 
-01ea 6fe148c2 fetch 2 ,mem_24g_long_sleep_param_update_timer_init 
-01eb 67e148c4 store 2 ,mem_24g_long_sleep_param_update_timer 
+020a 20400218 call p_g24_transmit_process 
+020b 204026ee call power_ctrl_start 
+020c 204000aa call p_mouse_24g_fast_conn_mode_check 
+020d 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+020e 243a0213 nbranch p_g24_short_sleep ,blank 
+020f 6fe448b0 fetch 8 ,mem_24g_long_sleep_set 
+0210 67e4485c store 8 ,mem_24g_enter_hibernate 
+0211 6fe148c2 fetch 2 ,mem_24g_long_sleep_param_update_timer_init 
+0212 67e148c4 store 2 ,mem_24g_long_sleep_param_update_timer 
 
 p_g24_short_sleep:
-01ec 204026bb call g24_lpm_wait 
-01ed 24740000 nrtn user 
-01ee 20407fdc call clear_wake 
-01ef 6fe1c8ad fetch 3 ,mem_24g_short_sleep_set 
-01f0 202026b8 branch g24_long_sleep2 
+0213 204026bb call g24_lpm_wait 
+0214 24740000 nrtn user 
+0215 20407fdc call clear_wake 
+0216 6fe1c8ad fetch 3 ,mem_24g_short_sleep_set 
+0217 202026b8 branch g24_long_sleep2 
 
 p_g24_transmit_process:
-01f1 7048a600 jam 0 ,mem_24g_retry 
+0218 7048a600 jam 0 ,mem_24g_retry 
 
 p_g24_transmit_loop:
-01f2 6961015f fetchr timeup ,2 ,mem_param_rx_setup 
-01f3 34730200 until clkn_rt ,meet 
-01f4 2040265b call g24_transmit_receive_ack 
-01f5 6fe0c82c fetch 1 ,mem_24g_no_ack 
-01f6 c000a651 beq no_ack_24g ,g24_transmit_no_ack 
-01f7 242c01fc nbranch p_g24_retransmit ,sync 
-01f8 243781fc nbranch p_g24_retransmit ,user3 
-01f9 20402672 call g24_ackpayload_parse 
-01fa 20400234 call p_mouse_wakeup_24g 
-01fb 20202651 branch g24_transmit_no_ack 
+0219 6961015f fetchr timeup ,2 ,mem_param_rx_setup 
+021a 34730200 until clkn_rt ,meet 
+021b 2040265b call g24_transmit_receive_ack 
+021c 6fe0c82c fetch 1 ,mem_24g_no_ack 
+021d c000a651 beq no_ack_24g ,g24_transmit_no_ack 
+021e 242c0223 nbranch p_g24_retransmit ,sync 
+021f 24378223 nbranch p_g24_retransmit ,user3 
+0220 20402672 call g24_ackpayload_parse 
+0221 20400260 call p_mouse_wakeup_24g 
+0222 20202651 branch g24_transmit_no_ack 
 
 p_g24_retransmit:
-01fc 6fe0cac5 fetch 1 ,mem_mouse_need_soft_reset 
-01fd 247a0000 nrtn blank 
-01fe 20400224 call p_mouse_select_device_by_pb_button 
-01ff 20400219 call p_mouse_select_device_by_dpi_button_once 
-0200 6fe0c8a7 fetch 1 ,mem_24g_abort_pac 
-0201 247a0000 nrtn blank 
-0202 6fe148a3 fetch 2 ,mem_24g_txfail_cnt 
-0203 1fe0fe01 increase 1 ,pdata 
-0204 67e148a3 store 2 ,mem_24g_txfail_cnt 
-0205 6fe0c8a4 fetch 1 ,mem_24g_txfail_cnt + 1 
-0206 c280a679 bbit1 1 ,g24_tx_attempt_fail 
-0207 2040267e call g24_transmit_hop_process 
-0208 2040020a call p_delay_40ms 
-0209 202001f2 branch p_g24_transmit_loop 
+0223 6fe0cac5 fetch 1 ,mem_mouse_need_soft_reset 
+0224 247a0000 nrtn blank 
+0225 20400241 call p_mouse_g24_retransmit_key_scan 
+0226 6fe0c8a7 fetch 1 ,mem_24g_abort_pac 
+0227 247a0000 nrtn blank 
+0228 6fe148a3 fetch 2 ,mem_24g_txfail_cnt 
+0229 1fe0fe01 increase 1 ,pdata 
+022a 67e148a3 store 2 ,mem_24g_txfail_cnt 
+022b 6fe0c8a4 fetch 1 ,mem_24g_txfail_cnt + 1 
+022c c280a679 bbit1 1 ,g24_tx_attempt_fail 
+022d 2040267e call g24_transmit_hop_process 
+022e 20400230 call p_delay_40ms 
+022f 20200219 branch p_g24_transmit_loop 
 
 p_delay_40ms:
-020a 6fe0c8a4 fetch 1 ,mem_24g_txfail_cnt + 1 
-020b 1fe67c00 sub pdata ,0x00 ,null 
-020c 20610000 rtn positive 
-020d df200028 arg 40 ,loopcnt 
-020e 20207d13 branch delay_ms_wait 
+0230 6fe0c8a4 fetch 1 ,mem_24g_txfail_cnt + 1 
+0231 1fe67c00 sub pdata ,0x00 ,null 
+0232 20610000 rtn positive 
+0233 df200028 arg 40 ,loopcnt 
+0234 20207d13 branch delay_ms_wait 
 
 p_g24_transmit_hop_process:
-020f 6848c8a6 fetcht 1 ,mem_24g_retry 
-0210 6fe0c8c6 fetch 1 ,mem_24g_fast_hop_count 
-0211 98467c00 isub temp ,null 
-0212 24210214 nbranch p_g24_tx_fast_hop ,positive 
-0213 20202683 branch g24_transmit_hop_process + 5 
+0235 6848c8a6 fetcht 1 ,mem_24g_retry 
+0236 6fe0c8c6 fetch 1 ,mem_24g_fast_hop_count 
+0237 98467c00 isub temp ,null 
+0238 2421023a nbranch p_g24_tx_fast_hop ,positive 
+0239 20202683 branch g24_transmit_hop_process + 5 
 
 p_g24_tx_fast_hop:
-0214 6fe2483c fetch 4 ,mem_24g_addr 
-0215 684a488d fetcht 4 ,mem_24g_fast_conn_addr 
-0216 98467c00 isub temp ,null 
-0217 2022a2cb branch g24_ch ,zero 
-0218 2020269c branch g24_tx_fast_hop 
-
-p_mouse_select_device_by_dpi_button_once:
-0219 d8e0000c arg 12 ,queue 
-021a 20407d74 call timer_check 
-021b 247a0000 nrtn blank 
-021c 20400221 call p_mouse_dpi_check_once 
-021d 2040407c call mouse_dpi_key_check_long_press 
+023a 6fe2483c fetch 4 ,mem_24g_addr 
+023b 684a488d fetcht 4 ,mem_24g_fast_conn_addr 
+023c 98467c00 isub temp ,null 
+023d 2022a2cb branch g24_ch ,zero 
+023e 20400615 call p_power_ctrl_txpower_incrs 
+023f 20402724 call power_ctrl_pac_succ_decrs 
+0240 202022cb branch g24_ch 
+
+p_mouse_g24_retransmit_key_scan:
+0241 d8e0000c arg 12 ,queue 
+0242 20407d74 call timer_check 
+0243 247a0000 nrtn blank 
+0244 2040024e call p_mouse_select_device_by_pb_button 
+0245 2040024a call p_mouse_dpi_check_once 
+0246 2040407c call mouse_dpi_key_check_long_press 
 
 p_mouse_g24_retransmit_100ms_timer_init:
-021e d8e0000c arg 12 ,queue 
-021f 580000a0 setarg 160 
-0220 20207d66 branch timer_init 
+0247 d8e0000c arg 12 ,queue 
+0248 580000a0 setarg 160 
+0249 20207d66 branch timer_init 
 
 p_mouse_dpi_check_once:
-0221 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0222 c4140000 rtnbit0 mouse_enable_select_device_by_dpi_button 
-0223 20200588 branch p_mouse_dpi_check 
+024a 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+024b c4140000 rtnbit0 mouse_enable_select_device_by_dpi_button 
+024c 202005d6 branch p_mouse_dpi_check 
+
+p_mouse_select_device_by_pb_button_check_once:
+024d 704b9403 jam 0x03 ,mem_mouse_pbkey_press_status 
 
 p_mouse_select_device_by_pb_button:
-0224 6fe0c91b fetch 1 ,mem_config_select_device_button_gpio 
-0225 c17f8000 rtneq gpio_disable 
-0226 da200000 arg 0 ,rega 
-0227 704b9606 jam mouse_pb_key ,mem_mouse_key_temp 
-0228 6848c91b fetcht 1 ,mem_config_select_device_button_gpio 
-0229 2040466a call mouse_pb_button_check 
-022a 67e0cb94 store 1 ,mem_mouse_pbkey_press_status 
-022b 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
-022c c07f8231 beq gpio_disable ,p_mouse_3io6key_pb_button_check_end 
-022d 20404168 call mouse_matrix_public_gpio_reset 
+024e 6fe0c91b fetch 1 ,mem_config_select_device_button_gpio 
+024f c17f8000 rtneq gpio_disable 
+0250 6fe0c9bf fetch 1 ,mem_store_information_delay_timer 
+0251 247a0000 nrtn blank 
+0252 da200000 arg 0 ,rega 
+0253 704b9606 jam mouse_pb_key ,mem_mouse_key_temp 
+0254 6848c91b fetcht 1 ,mem_config_select_device_button_gpio 
+0255 2040466a call mouse_pb_button_check 
+0256 67e0cb94 store 1 ,mem_mouse_pbkey_press_status 
+0257 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+0258 c07f825d beq gpio_disable ,p_mouse_3io6key_pb_button_check_end 
+0259 20404168 call mouse_matrix_public_gpio_reset 
 
 p_mouse_select_device_by_pb_button_exit:
-022e 1a227e00 copy rega ,pdata 
-022f c283468d bbit1 mouse_pb_key ,mouse_select_device_button_down + 2 
-0230 20204680 branch mouse_select_device_button_up 
+025a 1a227e00 copy rega ,pdata 
+025b c283468d bbit1 mouse_pb_key ,mouse_select_device_button_down + 2 
+025c 20204680 branch mouse_select_device_button_up 
 
 p_mouse_3io6key_pb_button_check_end:
-0231 6848c91b fetcht 1 ,mem_config_select_device_button_gpio 
-0232 20403f56 call mouse_gpio_config_input_pu 
-0233 2020022e branch p_mouse_select_device_by_pb_button_exit 
+025d 6848c91b fetcht 1 ,mem_config_select_device_button_gpio 
+025e 20403f56 call mouse_gpio_config_input_pu 
+025f 2020025a branch p_mouse_select_device_by_pb_button_exit 
 
 p_mouse_wakeup_24g:
-0234 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
-0235 245a0238 ncall p_mouse_wakeup_24g_from_long_sleep ,blank 
-0236 704be100 jam 0 ,mem_sensor_shutdown_flag 
-0237 20600000 rtn 
+0260 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+0261 245a0264 ncall p_mouse_wakeup_24g_from_long_sleep ,blank 
+0262 704be100 jam 0 ,mem_sensor_shutdown_flag 
+0263 20600000 rtn 
 
 p_mouse_wakeup_24g_from_long_sleep:
-0238 2040035e call p_mouse_init_sensor_wakeup 
-0239 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-023a c41e0000 rtnbit0 mouse_enable_wheel_wake_up_cancel 
+0264 704d9601 jam 1 ,mem_mouse_pair_flag 
+0265 2040038d call p_mouse_init_sensor_wakeup 
+0266 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0267 c41e0000 rtnbit0 mouse_enable_wheel_wake_up_cancel 
 
 p_mouse_wheel_set_wakeup:
-023b 6848c913 fetcht 1 ,mem_whee_a_data_gpio 
-023c 20403f56 call mouse_gpio_config_input_pu 
-023d 6848c914 fetcht 1 ,mem_whee_b_data_gpio 
-023e 20203f56 branch mouse_gpio_config_input_pu 
+0268 6848c913 fetcht 1 ,mem_whee_a_data_gpio 
+0269 20403f56 call mouse_gpio_config_input_pu 
+026a 6848c914 fetcht 1 ,mem_whee_b_data_gpio 
+026b 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_app_enter_hibernate:
-023f 58000006 setarg pan_reg_config 
-0240 20405b0d call twspi_read 
-0241 c281be23 bbit1 3 ,mouse_app_enter_hibernate + 3 
-0242 20400530 call p_mouse_sensor_reset 
-0243 20400535 call p_mouse_sensor_powerdown 
-0244 20203e23 branch mouse_app_enter_hibernate + 3 
+026c 58000006 setarg pan_reg_config 
+026d 20405b0d call twspi_read 
+026e c281be23 bbit1 3 ,mouse_app_enter_hibernate + 3 
+026f 2040055b call p_mouse_sensor_reset 
+0270 20400560 call p_mouse_sensor_powerdown 
+0271 20203e23 branch mouse_app_enter_hibernate + 3 
 
 p_mouse_setgpio_hibernate:
-0245 204042e9 call mouse_set_sdio_high 
-0246 20407fdc call clear_wake 
-0247 20400448 call p_mouse_logo_led_off 
-0248 20404976 call mouse_low_voltage_led_off 
-0249 20404015 call mouse_before_hibernate_wheel_gpio_set 
-024a 6848c910 fetcht 1 ,mem_matrix_public_gpio 
-024b 20406069 call gpio_out_active 
-024c 6848c910 fetcht 1 ,mem_matrix_public_gpio 
-024d 20406042 call gpio_clr_wake 
-024e 6fe0c920 fetch 1 ,mem_mouse_sensor_sdio_gpio 
-024f 20400570 call p_mouse_gpio_config_output_high 
-0250 d8400003 arg 3 ,temp 
-0251 20403f56 call mouse_gpio_config_input_pu 
-0252 20400278 call p_mouse_lpm_before_common 
-0253 20406082 call gpio_pd_idle 
-0254 2040042e call p_mouse_device_multi_led_all_off 
-0255 d8400013 arg 19 ,temp 
-0256 20403f56 call mouse_gpio_config_input_pu 
-0257 2040025a call p_mouse_device_switch_gpio_high_impedance 
-0258 2040025e call p_mouse_adc_gpio_set_before_hibernate 
-0259 2020026e branch p_mouse_wheel_gpio_set_before_hibernate 
+0272 204042e9 call mouse_set_sdio_high 
+0273 20407fdc call clear_wake 
+0274 20404015 call mouse_before_hibernate_wheel_gpio_set 
+0275 6fe0c920 fetch 1 ,mem_mouse_sensor_sdio_gpio 
+0276 2040059c call p_mouse_gpio_config_output_high 
+0277 d8400003 arg 3 ,temp 
+0278 20403f56 call mouse_gpio_config_input_pu 
+0279 204002a0 call p_mouse_lpm_before_common 
+027a 20406082 call gpio_pd_idle 
+027b 20400458 call p_mouse_device_multi_led_all_off 
+027c 20400472 call p_mouse_logo_led_off 
+027d d8400013 arg 19 ,temp 
+027e 20403f56 call mouse_gpio_config_input_pu 
+027f 20400282 call p_mouse_device_switch_gpio_high_impedance 
+0280 20400286 call p_mouse_adc_gpio_set_before_hibernate 
+0281 20200296 branch p_mouse_wheel_gpio_set_before_hibernate 
 
 p_mouse_device_switch_gpio_high_impedance:
-025a 6fe0c91e fetch 1 ,mem_device_switch_gpio 
-025b c17f8000 rtneq gpio_disable 
-025c 6848c91e fetcht 1 ,mem_device_switch_gpio 
-025d 2020607f branch gpio_set_high_impedance 
+0282 6fe0c91e fetch 1 ,mem_device_switch_gpio 
+0283 c17f8000 rtneq gpio_disable 
+0284 6848c91e fetcht 1 ,mem_device_switch_gpio 
+0285 2020607f branch gpio_set_high_impedance 
 
 p_mouse_adc_gpio_set_before_hibernate:
-025e 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
-025f c2800262 bbit1 mouse_enable_1io2led ,p_mouse_adc_gpio_set_before_hibernate_next 
-0260 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0261 c40a0000 rtnbit0 mouse_enable_adc 
+0286 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0287 c40a0000 rtnbit0 mouse_enable_adc 
+0288 6848c8fd fetcht 1 ,mem_adc_config_flag_init 
+0289 c1810000 rtnne adc_config_gpio 
 
 p_mouse_adc_gpio_set_before_hibernate_next:
-0262 20400266 call p_mouse_adc_gpio_set 
-0263 6fe0c8fc fetch 1 ,mem_adc_channel_gpio 
-0264 d84000c0 arg gpcfg_no_ie ,temp 
-0265 20206093 branch gpio_config_function_int 
+028a 2040028e call p_mouse_adc_gpio_set 
+028b 6fe0c8fc fetch 1 ,mem_adc_channel_gpio 
+028c d84000c0 arg gpcfg_no_ie ,temp 
+028d 20206093 branch gpio_config_function_int 
 
 p_mouse_adc_gpio_set:
-0266 6848c4a1 fetcht 1 ,mem_adc_channel 
-0267 18467c03 sub temp ,3 ,null 
-0268 2021026c branch p_mouse_adc_gpio_4_7_set ,positive 
-0269 18408405 increase 5 ,temp 
+028e 6848c4a1 fetcht 1 ,mem_adc_channel 
+028f 18467c03 sub temp ,3 ,null 
+0290 20210294 branch p_mouse_adc_gpio_4_7_set ,positive 
+0291 18408405 increase 5 ,temp 
 
 p_mouse_adc_gpio_store:
-026a 6048c8fc storet 1 ,mem_adc_channel_gpio 
-026b 20600000 rtn 
+0292 6048c8fc storet 1 ,mem_adc_channel_gpio 
+0293 20600000 rtn 
 
 p_mouse_adc_gpio_4_7_set:
-026c 18408404 increase 4 ,temp 
-026d 2020026a branch p_mouse_adc_gpio_store 
+0294 18408404 increase 4 ,temp 
+0295 20200292 branch p_mouse_adc_gpio_store 
 
 p_mouse_wheel_gpio_set_before_hibernate:
-026e 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-026f c41e0000 rtnbit0 mouse_enable_wheel_wake_up_cancel 
+0296 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0297 c41e0000 rtnbit0 mouse_enable_wheel_wake_up_cancel 
 
 p_mouse_wheel_clr_wakeup:
-0270 6848c913 fetcht 1 ,mem_whee_a_data_gpio 
-0271 20406042 call gpio_clr_wake 
-0272 6848c914 fetcht 1 ,mem_whee_b_data_gpio 
-0273 20406042 call gpio_clr_wake 
-0274 6848c913 fetcht 1 ,mem_whee_a_data_gpio 
-0275 20403f54 call mouse_gpio_config_input_pd 
-0276 6848c914 fetcht 1 ,mem_whee_b_data_gpio 
-0277 20203f54 branch mouse_gpio_config_input_pd 
+0298 6848c913 fetcht 1 ,mem_whee_a_data_gpio 
+0299 20406042 call gpio_clr_wake 
+029a 6848c914 fetcht 1 ,mem_whee_b_data_gpio 
+029b 20406042 call gpio_clr_wake 
+029c 6848c913 fetcht 1 ,mem_whee_a_data_gpio 
+029d 20403f54 call mouse_gpio_config_input_pd 
+029e 6848c914 fetcht 1 ,mem_whee_b_data_gpio 
+029f 20203f54 branch mouse_gpio_config_input_pd 
 
 p_mouse_lpm_before_common:
-0278 6848c913 fetcht 1 ,mem_whee_a_data_gpio 
-0279 20406050 call gpio_config_input 
-027a 6848c914 fetcht 1 ,mem_whee_b_data_gpio 
-027b 20406050 call gpio_config_input 
-027c 20403f88 call mouse_wheel_check 
-027d 6fe0c91f fetch 1 ,mem_mouse_sensor_sclk_gpio 
-027e 20400570 call p_mouse_gpio_config_output_high 
-027f 20203e44 branch mouse_lpm_before_common + 4 
+02a0 6848c910 fetcht 1 ,mem_matrix_public_gpio 
+02a1 20406069 call gpio_out_active 
+02a2 6848c910 fetcht 1 ,mem_matrix_public_gpio 
+02a3 20406042 call gpio_clr_wake 
+02a4 6848c913 fetcht 1 ,mem_whee_a_data_gpio 
+02a5 20406050 call gpio_config_input 
+02a6 6848c914 fetcht 1 ,mem_whee_b_data_gpio 
+02a7 20406050 call gpio_config_input 
+02a8 20403f88 call mouse_wheel_check 
+02a9 6fe0c91f fetch 1 ,mem_mouse_sensor_sclk_gpio 
+02aa 2040059c call p_mouse_gpio_config_output_high 
+02ab 20203e44 branch mouse_lpm_before_common + 4 
 
 p_g24_nodata_transmit:
-0280 6fe0c8a7 fetch 1 ,mem_24g_abort_pac 
-0281 205a028c call p_g24_send_abort_packet ,blank 
-0282 6fe0c8bd fetch 1 ,mem_24g_transmit_by_interrupt 
-0283 c1008000 rtneq g24_tx_timer_int_enable 
-0284 2040269f call g24_search_receiver 
+02ac 6fe0c8a7 fetch 1 ,mem_24g_abort_pac 
+02ad 205a02b9 call p_g24_send_abort_packet ,blank 
+02ae 6fe0c8bd fetch 1 ,mem_24g_transmit_by_interrupt 
+02af c1008000 rtneq g24_tx_timer_int_enable 
+02b0 2040269f call g24_search_receiver 
 
 p_g24_long_sleep:
-0285 20400508 call p_g24_lpm_wait 
-0286 24740000 nrtn user 
-0287 204026c4 call g24_setgpio_lpm_before 
-0288 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
-0289 245a0245 ncall p_mouse_setgpio_hibernate ,blank 
-028a 6fe2485c fetch 4 ,mem_24g_enter_hibernate 
-028b 202026b8 branch g24_long_sleep2 
+02b1 20400523 call p_g24_lpm_wait 
+02b2 24740000 nrtn user 
+02b3 204026c4 call g24_setgpio_lpm_before 
+02b4 704d9901 jam 1 ,mem_long_sleep_flag 
+02b5 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+02b6 245a0272 ncall p_mouse_setgpio_hibernate ,blank 
+02b7 6fe4485c fetch 8 ,mem_24g_enter_hibernate 
+02b8 202026b8 branch g24_long_sleep2 
 
 p_g24_send_abort_packet:
-028c 70483601 jam type_ms ,mem_24g_data_type 
-028d 7048a701 jam 1 ,mem_24g_abort_pac 
-028e 20402642 call g24_transmit_rf_ctrl_clear 
-028f 67e0c7c6 store 1 ,mem_24g_txbuf 
-0290 58000000 setarg 0 
-0291 67e3c7c7 store 7 ,mem_24g_txbuf + 1 
-0292 6fe248a9 fetch 4 ,mem_24g_device_addr 
-0293 67e247ce store 4 ,mem_24g_txbuf + 8 
-0294 7048350c jam 12 ,mem_24g_datalen 
-0295 6fe0c836 fetch 1 ,mem_24g_data_type 
-0296 79207e03 set1 bit_abort ,pdata 
-0297 67e0c836 store 1 ,mem_24g_data_type 
-0298 20402291 call g24_transmit_prep 
-0299 202001e3 branch p_g24_transmit_start 
+02b9 70483601 jam type_ms ,mem_24g_data_type 
+02ba 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+02bb 79407e00 setflip 0 ,pdata 
+02bc 67e0c8a7 store 1 ,mem_24g_abort_pac 
+02bd 20402642 call g24_transmit_rf_ctrl_clear 
+02be 67e0c7c6 store 1 ,mem_24g_txbuf 
+02bf 58000000 setarg 0 
+02c0 67e3c7c7 store 7 ,mem_24g_txbuf + 1 
+02c1 6fe248a9 fetch 4 ,mem_24g_device_addr 
+02c2 67e247ce store 4 ,mem_24g_txbuf + 8 
+02c3 7048350c jam 12 ,mem_24g_datalen 
+02c4 6fe0c836 fetch 1 ,mem_24g_data_type 
+02c5 79207e03 set1 bit_abort ,pdata 
+02c6 67e0c836 store 1 ,mem_24g_data_type 
+02c7 20402291 call g24_transmit_prep 
+02c8 2020020a branch p_g24_transmit_start 
 
 p_mouse_priority_bb_event:
-029a 1a627e00 copy regc ,pdata 
-029b c00082aa beq bt_evt_bb_connected ,p_mouse_bb_event_connected 
-029c c01e02c6 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
-029d c01c82bf beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
-029e c01d02d7 beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
-029f c01902b3 beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
-02a0 c00a82ad beq bt_evt_le_disconnected ,p_mouse_le_bb_disconnected 
-02a1 c00a02a8 beq bt_evt_le_connected ,p_mouse_le_bb_event_connected 
-02a2 c02002ba beq bt_evt_le_parse_conn_papa_update_rsp ,p_mouse_le_conn_param_update_rsp_recieved 
-02a3 c00902a5 beq bt_evt_hid_handshake ,p_mouse_bt_hid_handshake 
-02a4 20204336 branch mouse_priority_bb_event + 2 
+02c9 1a627e00 copy regc ,pdata 
+02ca c00082de beq bt_evt_bb_connected ,p_mouse_bb_event_connected 
+02cb c01e02fa beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
+02cc c01c82f6 beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
+02cd c01d030a beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
+02ce c01902e6 beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
+02cf c00a82e0 beq bt_evt_le_disconnected ,p_mouse_le_bb_disconnected 
+02d0 c00a02dc beq bt_evt_le_connected ,p_mouse_le_bb_event_connected 
+02d1 c02002ed beq bt_evt_le_parse_conn_papa_update_rsp ,p_mouse_le_conn_param_update_rsp_recieved 
+02d2 c00902d5 beq bt_evt_hid_handshake ,p_mouse_bt_hid_handshake 
+02d3 c00302d8 beq bt_evt_hid_connected ,p_app_hid_connected 
+02d4 20204336 branch mouse_priority_bb_event + 2 
 
 p_mouse_bt_hid_handshake:
-02a5 70445401 jam app_handshake_done ,mem_app_handshake_flag 
-02a6 20403223 call app_lpm_mult_enable 
-02a7 20204427 branch mouse_bt_hid_handshake + 3 
+02d5 70445401 jam app_handshake_done ,mem_app_handshake_flag 
+02d6 20403223 call app_lpm_mult_enable 
+02d7 20204427 branch mouse_bt_hid_handshake + 3 
+
+p_app_hid_connected:
+02d8 204042ca call mouse_init_sensor_reset 
+02d9 20404544 call mouse_no_data_timer_init 
+02da 204003e2 call p_mouse_device_poweron_led_config 
+02db 20203244 branch app_hid_connected 
 
 p_mouse_le_bb_event_connected:
-02a8 204003ba call p_mouse_device_poweron_led_config 
-02a9 20204350 branch mouse_le_bb_event_connected 
+02dc 204003e2 call p_mouse_device_poweron_led_config 
+02dd 20204350 branch mouse_le_bb_event_connected 
 
 p_mouse_bb_event_connected:
-02aa 20404544 call mouse_no_data_timer_init 
-02ab 204003ba call p_mouse_device_poweron_led_config 
-02ac 202043fa branch mouse_bb_event_connected 
+02de 704aae00 jam 0 ,mem_mouse_long_mult_flag 
+02df 202043fc branch mouse_bb_event_connected + 2 
 
 p_mouse_le_bb_disconnected:
-02ad 58000000 setarg 0 
-02ae 67e14af2 store 2 ,mem_le_battery_level_updata_timer 
-02af 67e0cc79 store 1 ,mem_mouse_le_send_conn_param_update 
-02b0 67e0cc7a store 1 ,mem_mouse_le_send_conn_param_update_timer 
-02b1 67e0cac6 store 1 ,mem_mouse_le_bb_connected_flag 
-02b2 20204366 branch mouse_le_bb_disconnected + 7 
+02e0 58000000 setarg 0 
+02e1 67e14af2 store 2 ,mem_le_battery_level_updata_timer 
+02e2 67e0cc7a store 1 ,mem_mouse_le_send_conn_param_update 
+02e3 67e0cc7b store 1 ,mem_mouse_le_send_conn_param_update_timer 
+02e4 67e0cac6 store 1 ,mem_mouse_le_bb_connected_flag 
+02e5 20204366 branch mouse_le_bb_disconnected + 7 
 
 p_mouse_le_ll_start_encryt:
-02b3 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
-02b4 c00082b7 beq 1 ,p_mouse_le_ll_reconn_start_encryt 
-02b5 704b7614 jam 20 ,mem_le_start_encrypt_timer 
-02b6 20204373 branch mouse_le_ll_enable_start_enc_flag 
+02e6 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
+02e7 c00082ea beq 1 ,p_mouse_le_ll_reconn_start_encryt 
+02e8 704b7614 jam 20 ,mem_le_start_encrypt_timer 
+02e9 20204373 branch mouse_le_ll_enable_start_enc_flag 
 
 p_mouse_le_ll_reconn_start_encryt:
-02b7 2040436c call mouse_updata_le_param 
-02b8 704b760a jam 10 ,mem_le_start_encrypt_timer 
-02b9 20204373 branch mouse_le_ll_enable_start_enc_flag 
+02ea 2040436c call mouse_updata_le_param 
+02eb 704b760a jam 10 ,mem_le_start_encrypt_timer 
+02ec 20204373 branch mouse_le_ll_enable_start_enc_flag 
 
 p_mouse_le_conn_param_update_rsp_recieved:
-02ba 6fe0cc79 fetch 1 ,mem_mouse_le_send_conn_param_update 
-02bb 247a0000 nrtn blank 
-02bc 704c7901 jam 1 ,mem_mouse_le_send_conn_param_update 
-02bd 704c7a1e jam 30 ,mem_mouse_le_send_conn_param_update_timer 
-02be 20600000 rtn 
+02ed 6fe0cc7a fetch 1 ,mem_mouse_le_send_conn_param_update 
+02ee 247a0000 nrtn blank 
+02ef 704c7a01 jam 1 ,mem_mouse_le_send_conn_param_update 
+02f0 704c7b1e jam 30 ,mem_mouse_le_send_conn_param_update_timer 
+02f1 20600000 rtn 
+
+p_mouse_agc_disable_nomal_power:
+02f2 204000af call p_mouse_soft_agc_disable 
+
+p_mouse_fetch_normal_tx_power:
+02f3 6fe0cc90 fetch 1 ,mem_normal_tx_power 
+02f4 67e0c1e8 store 1 ,mem_tx_power 
+02f5 20600000 rtn 
 
 p_mouse_24g_pairing_complete:
-02bf 20400080 call p_mouse_soft_agc_disable 
-02c0 20400190 call p_mouse_fetch_normal_tx_power 
-02c1 20404544 call mouse_no_data_timer_init 
-02c2 d8e00001 arg mouse_24g_pairing_flag ,queue 
-02c3 204046f4 call mouse_disable_function_flag 
-02c4 204003ba call p_mouse_device_poweron_led_config 
-02c5 20204859 branch mouse_24g_pairing_complete + 2 
+02f6 204002f2 call p_mouse_agc_disable_nomal_power 
+02f7 20404544 call mouse_no_data_timer_init 
+02f8 204003e2 call p_mouse_device_poweron_led_config 
+02f9 20204857 branch mouse_24g_pairing_complete 
 
 p_mouse_24g_attempt_success:
-02c6 6fe2483c fetch 4 ,mem_24g_addr 
-02c7 67e24891 store 4 ,mem_24g_receiver_addr 
-02c8 67e24993 store 4 ,mem_mouse_24g_addr 
-02c9 2040257e call g24_ch_syncword_crc8_init 
-02ca 204003ba call p_mouse_device_poweron_led_config 
-02cb 20404544 call mouse_no_data_timer_init 
-02cc 204042ca call mouse_init_sensor_reset 
-02cd 704aae00 jam 0 ,mem_mouse_long_mult_flag 
-02ce 7048a100 jam 0 ,mem_24g_conn_sm 
-02cf 70488b00 jam 0 ,mem_24g_reconn_type 
-02d0 6fe24891 fetch 4 ,mem_24g_receiver_addr 
-02d1 684a488d fetcht 4 ,mem_24g_fast_conn_addr 
-02d2 98467c00 isub temp ,null 
-02d3 20628000 rtn zero 
-02d4 20400080 call p_mouse_soft_agc_disable 
-02d5 20400190 call p_mouse_fetch_normal_tx_power 
-02d6 20204822 branch mouse_24g_first_store_reconn_info 
+02fa 6fe2483c fetch 4 ,mem_24g_addr 
+02fb 67e24891 store 4 ,mem_24g_receiver_addr 
+02fc 67e24993 store 4 ,mem_mouse_24g_addr 
+02fd 2040257e call g24_ch_syncword_crc8_init 
+02fe 204003e2 call p_mouse_device_poweron_led_config 
+02ff 20404544 call mouse_no_data_timer_init 
+0300 204042ca call mouse_init_sensor_reset 
+0301 704aae00 jam 0 ,mem_mouse_long_mult_flag 
+0302 7048a100 jam 0 ,mem_24g_conn_sm 
+0303 70488b00 jam 0 ,mem_24g_reconn_type 
+0304 6fe24891 fetch 4 ,mem_24g_receiver_addr 
+0305 684a488d fetcht 4 ,mem_24g_fast_conn_addr 
+0306 98467c00 isub temp ,null 
+0307 20628000 rtn zero 
+0308 204002f2 call p_mouse_agc_disable_nomal_power 
+0309 20204822 branch mouse_24g_first_store_reconn_info 
 
 p_mouse_24g_attempt_fail:
-02d7 20400080 call p_mouse_soft_agc_disable 
-02d8 20400190 call p_mouse_fetch_normal_tx_power 
-02d9 6fe0c8a5 fetch 1 ,mem_24g_attempt_fail_flag 
-02da 243a02e9 nbranch p_mouse_24g_hibernate_set ,blank 
-02db 6fe0c88b fetch 1 ,mem_24g_reconn_type 
-02dc c00102de beq fast_conn_and_3_0_addr ,p_mouse_24g_fast_conn_attempt_fail 
-02dd 20204837 branch mouse_24g_attempt_fail + 4 
+030a 204002f2 call p_mouse_agc_disable_nomal_power 
+030b 6fe0c8a5 fetch 1 ,mem_24g_attempt_fail_flag 
+030c 243a0322 nbranch p_mouse_24g_hibernate_set ,blank 
+030d 6fe0c88b fetch 1 ,mem_24g_reconn_type 
+030e c0010312 beq fast_conn_and_3_0_addr ,p_mouse_24g_fast_conn_attempt_fail 
+030f c0008312 beq fast_conn_and_receiver ,p_mouse_24g_fast_conn_attempt_fail 
+0310 c002c844 beq pair_and_receiver ,mouse_24g_auto_pair_attempt_fail 
+0311 20204837 branch mouse_24g_attempt_fail + 4 
 
 p_mouse_24g_fast_conn_attempt_fail:
-02de 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-02df c297c811 bbit1 mouse_enable_24g_first_auto_pairing ,mouse_24g_start_auto_pair 
-02e0 c2984811 bbit1 mouse_enable_auto_24g_paring ,mouse_24g_start_auto_pair 
-02e1 c31d4806 bbit0 mouse_enable_24g_auto_pair_nerver_been_paired ,mouse_24g_reconn_dongle_start 
-02e2 6fe24993 fetch 4 ,mem_mouse_24g_addr 
-02e3 684a4974 fetcht 4 ,mem_mouse_compare_addr_ff 
-02e4 98467c00 isub temp ,null 
-02e5 202282e7 branch p_mouse_24g_start_pair_mode ,zero 
-02e6 20204806 branch mouse_24g_reconn_dongle_start 
+0312 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0313 c297c811 bbit1 mouse_enable_24g_first_auto_pairing ,mouse_24g_start_auto_pair 
+0314 c2984811 bbit1 mouse_enable_auto_24g_paring ,mouse_24g_start_auto_pair 
+0315 c31d4806 bbit0 mouse_enable_24g_auto_pair_nerver_been_paired ,mouse_24g_reconn_dongle_start 
+0316 6fe24993 fetch 4 ,mem_mouse_24g_addr 
+0317 684a4974 fetcht 4 ,mem_mouse_compare_addr_ff 
+0318 98467c00 isub temp ,null 
+0319 2022831f branch p_mouse_24g_start_pair_mode ,zero 
+031a 20204806 branch mouse_24g_reconn_dongle_start 
+
+p_mouse_24g_start_auto_pair:
+031b 6fe14881 fetch 2 ,mem_24g_pair_timeout_init 
+031c 67e14887 store 2 ,mem_24g_reconn_timeout 
+031d 70488b05 jam pair_and_receiver ,mem_24g_reconn_type 
+031e 20202559 branch g24_reconn_start 
 
 p_mouse_24g_start_pair_mode:
-02e7 70488b00 jam 0 ,mem_24g_reconn_type 
-02e8 20204827 branch mouse_24g_start_pair_mode 
+031f 70488b00 jam 0 ,mem_24g_reconn_type 
+0320 204003ea call p_mouse_device_pair_led_config 
+0321 20204827 branch mouse_24g_start_pair_mode 
 
 p_mouse_24g_hibernate_set:
-
-p_mouse_24g_hibernate_set_next:
-02e9 7048a500 jam 0 ,mem_24g_attempt_fail_flag 
-02ea 20402652 call g24_transmit_next_packet 
-02eb 5fffffff setarg -1 
-02ec 67e2485c store 4 ,mem_24g_enter_hibernate 
-02ed 58000000 setarg 0 
-02ee 67e3c8d0 store 7 ,mem_mouse_key 
-02ef 704be101 jam 1 ,mem_sensor_shutdown_flag 
-02f0 20400535 call p_mouse_sensor_powerdown 
-02f1 20200285 branch p_g24_long_sleep 
+0322 704d9600 jam 0 ,mem_mouse_pair_flag 
+0323 7048a500 jam 0 ,mem_24g_attempt_fail_flag 
+0324 20402652 call g24_transmit_next_packet 
+0325 5fffffff setarg -1 
+0326 67e4485c store 8 ,mem_24g_enter_hibernate 
+0327 58000000 setarg 0 
+0328 67e3c8d0 store 7 ,mem_mouse_key 
+0329 67e0c8a7 store 1 ,mem_24g_abort_pac 
+032a 704be101 jam 1 ,mem_sensor_shutdown_flag 
+032b 20400560 call p_mouse_sensor_powerdown 
+032c 202002b1 branch p_g24_long_sleep 
 
 p_g24_pair_dispatch:
-02f2 70488b00 jam default_24g_device ,mem_24g_reconn_type 
-02f3 6fe14beb fetch 2 ,mem_24g_pair_count 
-02f4 1fe0fe01 increase 1 ,pdata 
-02f5 67e14beb store 2 ,mem_24g_pair_count 
-02f6 6fe0cbeb fetch 1 ,mem_24g_pair_count 
-02f7 1fe17eff and pdata ,0xff ,pdata 
-02f8 c0002341 beq 0 ,g24_pair_dispatch + 1 
-02f9 20600000 rtn 
+032d 70488b00 jam default_24g_device ,mem_24g_reconn_type 
+032e 6fe14beb fetch 2 ,mem_24g_pair_count 
+032f 1fe0fe01 increase 1 ,pdata 
+0330 67e14beb store 2 ,mem_24g_pair_count 
+0331 6fe0cbeb fetch 1 ,mem_24g_pair_count 
+0332 1fe17eff and pdata ,0xff ,pdata 
+0333 c0002341 beq 0 ,g24_pair_dispatch + 1 
+0334 20600000 rtn 
 
 p_g24_reconn_dispatch:
-02fa 6fe14889 fetch 2 ,mem_24g_reconn_count 
-02fb d84001f8 arg 0x01f8 ,temp 
-02fc 98417e00 iand temp ,pdata 
-02fd 203a0302 branch p_g24_reconn_dispatch_next ,blank 
-02fe 6fe14889 fetch 2 ,mem_24g_reconn_count 
-02ff 1fe0fe01 increase 1 ,pdata 
-0300 67e14889 store 2 ,mem_24g_reconn_count 
-0301 20600000 rtn 
+0335 6fe14889 fetch 2 ,mem_24g_reconn_count 
+0336 d84001f8 arg 0x01f8 ,temp 
+0337 98417e00 iand temp ,pdata 
+0338 203a033d branch p_g24_reconn_dispatch_next ,blank 
+0339 6fe14889 fetch 2 ,mem_24g_reconn_count 
+033a 1fe0fe01 increase 1 ,pdata 
+033b 67e14889 store 2 ,mem_24g_reconn_count 
+033c 20600000 rtn 
 
 p_g24_reconn_dispatch_next:
-0302 2040259a call g24_reconn_data_prep 
-0303 2040265b call g24_transmit_receive_ack 
-0304 242c031b nbranch p_g24_reconn_device_fail ,sync 
-0305 2437831b nbranch p_g24_reconn_device_fail ,user3 
-0306 20402672 call g24_ackpayload_parse 
-0307 6fe24877 fetch 4 ,mem_24g_pair_addr 
-0308 684a483c fetcht 4 ,mem_24g_addr 
-0309 98467c00 isub temp ,null 
-030a 2022a32e branch g24_pair_start ,zero 
-030b 6fe248a9 fetch 4 ,mem_24g_device_addr 
-030c 684a483c fetcht 4 ,mem_24g_addr 
-030d 98467c00 isub temp ,null 
-030e 20428317 call p_g24_store_receiver_addr ,zero 
-030f 6fe0c8a1 fetch 1 ,mem_24g_conn_sm 
-0310 793ffe02 set0 state_24g_reconn ,pdata 
-0311 67e0c8a1 store 1 ,mem_24g_conn_sm 
-0312 58000000 setarg 0 
-0313 67e14883 store 2 ,mem_24g_pair_timeout 
-0314 67e14889 store 2 ,mem_24g_reconn_count 
-0315 67e14887 store 2 ,mem_24g_reconn_timeout 
-0316 20202595 branch g24_reconn_attempt_success 
+033d 2040259a call g24_reconn_data_prep 
+033e 2040265b call g24_transmit_receive_ack 
+033f 242c035a nbranch p_g24_reconn_device_fail ,sync 
+0340 2437835a nbranch p_g24_reconn_device_fail ,user3 
+0341 20402672 call g24_ackpayload_parse 
+0342 6fe24877 fetch 4 ,mem_24g_pair_addr 
+0343 684a483c fetcht 4 ,mem_24g_addr 
+0344 98467c00 isub temp ,null 
+0345 20228356 branch p_mouse_g24_reconn_mode_judge ,zero 
+0346 6fe248a9 fetch 4 ,mem_24g_device_addr 
+0347 684a483c fetcht 4 ,mem_24g_addr 
+0348 98467c00 isub temp ,null 
+0349 20428352 call p_g24_store_receiver_addr ,zero 
+034a 6fe0c8a1 fetch 1 ,mem_24g_conn_sm 
+034b 793ffe02 set0 state_24g_reconn ,pdata 
+034c 67e0c8a1 store 1 ,mem_24g_conn_sm 
+034d 58000000 setarg 0 
+034e 67e14883 store 2 ,mem_24g_pair_timeout 
+034f 67e14889 store 2 ,mem_24g_reconn_count 
+0350 67e14887 store 2 ,mem_24g_reconn_timeout 
+0351 20202595 branch g24_reconn_attempt_success 
 
 p_g24_store_receiver_addr:
-0317 6fe2480c fetch 4 ,mem_24g_rxpayload + 2 
-0318 207a0000 rtn blank 
-0319 67e24891 store 4 ,mem_24g_receiver_addr 
-031a 2020257e branch g24_ch_syncword_crc8_init 
+0352 6fe2480c fetch 4 ,mem_24g_rxpayload + 2 
+0353 207a0000 rtn blank 
+0354 67e24891 store 4 ,mem_24g_receiver_addr 
+0355 2020257e branch g24_ch_syncword_crc8_init 
+
+p_mouse_g24_reconn_mode_judge:
+0356 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0357 c298482e bbit1 mouse_enable_auto_24g_paring ,mouse_24g_pair_mode_check 
+0358 c297c82e bbit1 mouse_enable_24g_first_auto_pairing ,mouse_24g_pair_mode_check 
+0359 2020256e branch g24_reconn_receiver_addr 
 
 p_g24_reconn_device_fail:
-031b 6fe0c88c fetch 1 ,mem_24g_fast_conn_enable 
-031c 203a22cb branch g24_ch ,blank 
-031d 6fe14889 fetch 2 ,mem_24g_reconn_count 
-031e 1fe0fe01 increase 1 ,pdata 
-031f 67e14889 store 2 ,mem_24g_reconn_count 
-0320 2feffe09 isolate1 9 ,pdata 
-0321 6fe0c88b fetch 1 ,mem_24g_reconn_type 
-0322 c0008326 beq fast_conn_and_receiver ,p_g24_reconn_fast_conn_and_receiver 
-0323 c001032a beq fast_conn_and_3_0_addr ,p_g24_reconn_fast_conn_and_3_0 
-0324 c002032c beq pair_and_3_0_addr ,p_g24_reconn_pair_and_3_0 
-0325 202025aa branch g24_reconn_device_fail + 9 
-
-p_g24_reconn_fast_conn_and_receiver:
-0326 2020a56e branch g24_reconn_receiver_addr ,true 
-
-p_mouse_fast_conn_tx_power_set:
-0327 7041e891 jam tx_power_f17db ,mem_tx_power 
-0328 204000a6 call p_set_tx_power_fast_conn 
-0329 20202568 branch g24_reconn_fast_conn + 2 
-
-p_g24_reconn_fast_conn_and_3_0:
-032a 2020a575 branch g24_reconn_device_3_0_addr ,true 
-032b 20200327 branch p_mouse_fast_conn_tx_power_set 
+035a 6fe0c88c fetch 1 ,mem_24g_fast_conn_enable 
+035b 203a22cb branch g24_ch ,blank 
+035c 6fe14889 fetch 2 ,mem_24g_reconn_count 
+035d 1fe0fe01 increase 1 ,pdata 
+035e 67e14889 store 2 ,mem_24g_reconn_count 
+035f 2feffe09 isolate1 9 ,pdata 
+0360 6fe0c88b fetch 1 ,mem_24g_reconn_type 
+0361 c0028365 beq pair_and_receiver ,p_g24_reconn_pair_receiver 
+0362 c0020367 beq pair_and_3_0_addr ,p_g24_reconn_pair_and_3_0 
+0363 c0010369 beq fast_conn_and_3_0_addr ,p_g24_reconn_fast_conn_and_3_0 
+0364 202025a8 branch g24_reconn_device_fail + 7 
+
+p_g24_reconn_pair_receiver:
+0365 2020a56e branch g24_reconn_receiver_addr ,true 
+0366 20202339 branch g24_pair_init_param 
 
 p_g24_reconn_pair_and_3_0:
-032c 2020a575 branch g24_reconn_device_3_0_addr ,true 
-032d 20202339 branch g24_pair_init_param 
+0367 2020a575 branch g24_reconn_device_3_0_addr ,true 
+0368 20202339 branch g24_pair_init_param 
 
-p_g24_dispatch:
-032e c513a40e bmark1 mark_24g_rxmode ,g24_receive_dispatch 
+p_g24_reconn_fast_conn_and_3_0:
+0369 2020a575 branch g24_reconn_device_3_0_addr ,true 
 
-p_g24_transmit_dispatch:
-032f c6930000 rtnmark0 mark_24g 
-0330 6fe0c8a1 fetch 1 ,mem_24g_conn_sm 
-0331 2020261d branch g24_transmit_dispatch + 2 
+p_mouse_fast_conn_tx_power_set:
+036a 7041e8aa jam tx_power_fast_conn ,mem_tx_power 
+036b 20202568 branch g24_reconn_fast_conn + 2 
 
 p_mouse_start_work:
-0332 204003ba call p_mouse_device_poweron_led_config 
-0333 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0334 c297c80a bbit1 mouse_enable_24g_first_auto_pairing ,mouse_24g_first_start_auto_pair_mode 
-0335 6fe0c938 fetch 1 ,mem_device_flag 
-0336 c0000339 beq mode_24g_device ,p_mouse_24g_start_mode 
-0337 204003cd call p_mouse_device_le_reconn_led_config 
-0338 20203d57 branch mouse_start_work + 5 
+036c 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+036d c2978372 bbit1 mouse_enable_24g_first_auto_pairing ,p_mouse_24g_first_start_auto_pair_mode 
+036e 6fe0c938 fetch 1 ,mem_device_flag 
+036f c0000379 beq mode_24g_device ,p_mouse_24g_start_mode 
+0370 204003f3 call p_mouse_device_le_reconn_led_config 
+0371 20203d57 branch mouse_start_work + 5 
+
+p_mouse_24g_first_start_auto_pair_mode:
+0372 20403d65 call mouse_wakeup_from_power_check 
+0373 20344816 branch mouse_24g_first_start_reconn ,user 
+
+p_mouse_24g_reconn_general_dongle:
+0374 70493800 jam mode_24g_device ,mem_device_flag 
+0375 6fe14bba fetch 2 ,mem_mouse_24g_power_on_fast_conn_timer 
+0376 67e14887 store 2 ,mem_24g_reconn_timeout 
+0377 70488b01 jam fast_conn_and_receiver ,mem_24g_reconn_type 
+0378 20202559 branch g24_reconn_start 
 
 p_mouse_24g_start_mode:
-0339 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-033a c308c803 bbit0 mouse_enable_24g ,mouse_24g_mode_setup_error 
-033b 20403d65 call mouse_wakeup_from_power_check 
-033c 20344806 branch mouse_24g_reconn_dongle_start ,user 
-033d 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-033e c298480c bbit1 mouse_enable_auto_24g_paring ,mouse_24g_reconn_general_dongle 
-033f c318c80c bbit0 mouse_enable_24g_power_on_pairing ,mouse_24g_reconn_general_dongle 
-0340 20404110 call mouse_key_check_once 
-0341 1a217e07 and rega ,0x07 ,pdata 
-0342 202047ff branch mouse_24g_start_mode + 9 
+0379 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+037a c308c803 bbit0 mouse_enable_24g ,mouse_24g_mode_setup_error 
+037b 204003ea call p_mouse_device_pair_led_config 
+037c 20403d65 call mouse_wakeup_from_power_check 
+037d 20344806 branch mouse_24g_reconn_dongle_start ,user 
+037e 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+037f c2980374 bbit1 mouse_enable_auto_24g_paring ,p_mouse_24g_reconn_general_dongle 
+0380 c318c80c bbit0 mouse_enable_24g_power_on_pairing ,mouse_24g_reconn_general_dongle 
+0381 20404110 call mouse_key_check_once 
+0382 1a217e07 and rega ,0x07 ,pdata 
+0383 6848cbcb fetcht 1 ,mem_mouse_commbination_key_24g 
+0384 98467c00 isub temp ,null 
+0385 2022831f branch p_mouse_24g_start_pair_mode ,zero 
+0386 2020480c branch mouse_24g_reconn_general_dongle 
 
 p_mouse_seting_dpi:
-0343 2040408f call mouse_setting_dpi_4_level 
-0344 2040036f call p_mouse_dpi_led_blink_delay 
+0387 2040408f call mouse_setting_dpi_4_level 
+0388 2040039f call p_mouse_dpi_led_blink_delay 
 
 p_mouse_seting_sensor_type:
-0345 6fe0c927 fetch 1 ,mem_config_sensor_type 
-0346 c0060348 beq s201x ,p_mouse_seting_s201_dpi 
-0347 20204098 branch mouse_seting_sensor_type 
-
-p_mouse_seting_s201_dpi:
-0348 6fe0c992 fetch 1 ,mem_mouse_dpi 
-0349 c000034c beq mouse_dpi_level1 ,p_mouse_set_s201_dpi_0 
-034a c000834f beq mouse_dpi_level2 ,p_mouse_set_s201_dpi_2 
-034b c0010352 beq mouse_dpi_level3 ,p_mouse_set_s201_dpi_3 
-
-p_mouse_set_s201_dpi_0:
-034c 6fe0cc90 fetch 1 ,mem_sensor_s201_dpi_0 
-034d 1fe22200 copy pdata ,rega 
-034e 20200354 branch p_mouse_dpi_s201_store 
-
-p_mouse_set_s201_dpi_2:
-034f 6fe0cc92 fetch 1 ,mem_sensor_s201_dpi_2 
-0350 1fe22200 copy pdata ,rega 
-0351 20200354 branch p_mouse_dpi_s201_store 
-
-p_mouse_set_s201_dpi_3:
-0352 6fe0cc93 fetch 1 ,mem_sensor_s201_dpi_3 
-0353 1fe22200 copy pdata ,rega 
-
-p_mouse_dpi_s201_store:
-0354 5800c309 setarg 0xc309 
-0355 20405b0c call twspi_write 
-0356 1a227e00 copy rega ,pdata 
-0357 1fed7e00 lshift8 pdata ,pdata 
-0358 1fe0fe23 add pdata ,0x23 ,pdata 
-0359 20405b0c call twspi_write 
-035a 58000009 setarg 0x0009 
-035b 20205b0c branch twspi_write 
+0389 6fe0c927 fetch 1 ,mem_config_sensor_type 
+038a 20204098 branch mouse_seting_sensor_type 
 
 p_mouse_init_sunt:
-035c 20403f65 call mouse_sensor_spi_init 
-035d 20758000 rtn wake 
+038b 20403f65 call mouse_sensor_spi_init 
+038c 20758000 rtn wake 
 
 p_mouse_init_sensor_wakeup:
-035e 20404236 call mouse_sensor_poweron 
+038d 20404236 call mouse_sensor_poweron 
 
 p_mouse_init_sensor:
-035f 204041b5 call mouse_read_sensor_id 
-0360 c0180366 beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
-0361 c018c217 beq p3065_id1 ,mouse_init_p3065 
-0362 c02c4220 beq pka8g2_id1 ,mouse_ka8g2_id2_judge 
-0363 204041b2 call mouse_twspi_reset 
-0364 20001af4 nop 6900 
-0365 2020035f branch p_mouse_init_sensor 
+038e 204041b5 call mouse_read_sensor_id 
+038f c0180395 beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
+0390 c018c217 beq p3065_id1 ,mouse_init_p3065 
+0391 c02c4220 beq pka8g2_id1 ,mouse_ka8g2_id2_judge 
+0392 204041b2 call mouse_twspi_reset 
+0393 20001af4 nop 6900 
+0394 2020038e branch p_mouse_init_sensor 
 
 p_mouse_init_p32xx_id2_judge:
-0366 6fe0c9c2 fetch 1 ,mem_sensor_id2 
-0367 c0688369 beq p3205_tj3t_id2 ,p_mouse_3205_3t_init_param 
-0368 202041bd branch mouse_init_p32xx_id2_judge + 1 
+0395 6fe0c9c2 fetch 1 ,mem_sensor_id2 
+0396 c068839e beq p3205_tj3t_id2 ,p_mouse_3205_3t_init_param 
+0397 c02d0399 beq p_mx8650 ,p_mouse_mx8650_init_param 
+0398 202041be branch mouse_init_p32xx_id2_judge + 2 
+
+p_mouse_mx8650_init_param:
+0399 70492705 jam mx8650 ,mem_config_sensor_type 
+039a 20404232 call mouse_sensor_reset 
+039b 20407d12 call delay_10ms 
+039c da604a39 arg mem_sensor_8650_init ,regc 
+039d 20200556 branch p_mouse_sensor_end 
 
 p_mouse_3205_3t_init_param:
-0369 58000049 setarg 0x49 
-036a 20405b0d call twspi_read 
-036b c050836d beq 0xa1 ,p_mouse_s201x_init_param 
-036c 202041da branch mouse_3205_3t_init_param 
-
-p_mouse_s201x_init_param:
-036d 7049270c jam s201x ,mem_config_sensor_type 
-036e 20600000 rtn 
+039e 202041da branch mouse_3205_3t_init_param 
 
 p_mouse_dpi_led_blink_delay:
-036f 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
-0370 c2800373 bbit1 mouse_enable_1io2led ,p_mouse_dpi_led_blink_delay_new1 
-0371 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
-0372 c17f8000 rtneq gpio_disable 
-
-p_mouse_dpi_led_blink_delay_new1:
-0373 6fe14ac2 fetch 2 ,mem_mouse_discovery_timer 
-0374 247a0000 nrtn blank 
-0375 6fe14883 fetch 2 ,mem_24g_pair_timeout 
-0376 247a0000 nrtn blank 
-0377 6fe14887 fetch 2 ,mem_24g_reconn_timeout 
-0378 247a0000 nrtn blank 
-0379 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
-037a c2800381 bbit1 mouse_enable_1io2led ,p_mouse_dpi_led_blink_delay_new2 
-037b 6fe0cba7 fetch 1 ,mem_mouse_device_poweron_timer_count 
-037c 247a0000 nrtn blank 
-
-p_mouse_dpi_led_blink_delay_next:
-037d 6fe0cbc1 fetch 1 ,mem_mouse_dpi_led_delay_count_init 
-037e 203a044f branch p_mouse_dpi_led_blink_init ,blank 
-037f 67e0cba8 store 1 ,mem_mouse_dpi_led_delay_count 
-0380 20600000 rtn 
-
-p_mouse_dpi_led_blink_delay_new2:
-0381 6fe0cc46 fetch 1 ,mem_mouse_multi_led_powon_timer 
-0382 247a0000 nrtn blank 
-0383 2020037d branch p_mouse_dpi_led_blink_delay_next 
+039f 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
+03a0 c4000000 rtnbit0 mouse_enable_led_new_interface 
+03a1 6fe0cd96 fetch 1 ,mem_mouse_pair_flag 
+03a2 207a0000 rtn blank 
+03a3 6fe0cbc1 fetch 1 ,mem_mouse_dpi_led_delay_count_init 
+03a4 203a0479 branch p_mouse_dpi_led_blink_init ,blank 
+03a5 67e0cba8 store 1 ,mem_mouse_dpi_led_delay_count 
+03a6 20600000 rtn 
 
 p_mouse_bb_event_timer:
-0384 20403e9b call mouse_adc_read 
-0385 204000ee call p_mouse_low_voltage_led_timer 
-0386 2040232b call g24_pair_timeout_timer 
-0387 20402556 call g24_reconn_timeout_timer 
-0388 204047cd call mouse_24g_long_sleep_param_update_timer 
-0389 204048be call mouse_device_poweron_timer 
-038a 2040044c call p_mouse_dpi_led_blink_delay_timer 
-038b 204003e5 call p_mouse_led_multi_timer 
-038c 2040043e call p_mouse_logo_led_on_timer 
-038d 2040407c call mouse_dpi_key_check_long_press 
-038e 204044cc call mouse_bt_discovery_check 
-038f 20400478 call p_mouse_commbination_key_process 
-0390 204044ff call mouse_check_discovery_timeout_timer 
-0391 2040039d call p_mouse_check_direct_timeout_timer 
-0392 20404512 call mouse_le_enable_att_list_timer 
-0393 20400491 call p_mouse_le_battery_updata_timer 
-0394 20404515 call mouse_le_send_smp_security_request_timer 
-0395 20400494 call p_mouse_le_send_conn_param_update_timer 
-0396 2040452a call mouse_check_hid_handshake_timer 
-0397 2040452d call mouse_bt_check_sniff_req_timeout_timer 
-0398 20404532 call mouse_check_reconnect_delay_long_sleep 
-0399 20404535 call mouse_current_mult_update_timer 
-039a 20404022 call mouse_wheel_trigger_timer 
-039b 20404547 call mouse_store_information_delay_timer 
-039c 20200497 branch p_mouse_check_no_data_timeout_timer 
+03a7 20403e9b call mouse_adc_read 
+03a8 20400117 call p_mouse_low_voltage_led_timer 
+03a9 2040232b call g24_pair_timeout_timer 
+03aa 20402556 call g24_reconn_timeout_timer 
+03ab 204047cd call mouse_24g_long_sleep_param_update_timer 
+03ac 20400476 call p_mouse_dpi_led_blink_delay_timer 
+03ad 20400409 call p_mouse_led_multi_timer 
+03ae 20400468 call p_mouse_logo_led_on_timer 
+03af 2040407c call mouse_dpi_key_check_long_press 
+03b0 204044cc call mouse_bt_discovery_check 
+03b1 20400495 call p_mouse_commbination_key_process 
+03b2 204044ff call mouse_check_discovery_timeout_timer 
+03b3 204003bf call p_mouse_check_direct_timeout_timer 
+03b4 20404512 call mouse_le_enable_att_list_timer 
+03b5 204004ac call p_mouse_le_battery_updata_timer 
+03b6 20404515 call mouse_le_send_smp_security_request_timer 
+03b7 204004af call p_mouse_le_send_conn_param_update_timer 
+03b8 2040452a call mouse_check_hid_handshake_timer 
+03b9 2040452d call mouse_bt_check_sniff_req_timeout_timer 
+03ba 204003c3 call p_mouse_check_reconnect_delay_long_sleep 
+03bb 20404535 call mouse_current_mult_update_timer 
+03bc 20404022 call mouse_wheel_trigger_timer 
+03bd 20404547 call mouse_store_information_delay_timer 
+03be 202004b2 branch p_mouse_check_no_data_timeout_timer 
 
 p_mouse_check_direct_timeout_timer:
-039d da604b77 arg mem_mouse_direct_timer ,regc 
-039e da40450a arg mouse_check_direct_timeout ,regb 
-039f 2040318a call timer_single_step 
-03a0 20204507 branch mouse_check_direct_timeout_timer + 3 
+03bf da604b77 arg mem_mouse_direct_timer ,regc 
+03c0 da40450a arg mouse_check_direct_timeout ,regb 
+03c1 2040318a call timer_single_step 
+03c2 20204507 branch mouse_check_direct_timeout_timer + 3 
+
+p_mouse_check_reconnect_delay_long_sleep:
+03c3 da604ac4 arg mem_mouse_bluetooth_reconnect_timeout ,regc 
+03c4 da4003c6 arg p_mouse_app_enter_hibernate_check ,regb 
+03c5 2020318a branch timer_single_step 
+
+p_mouse_app_enter_hibernate_check:
+03c6 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+03c7 c29984b8 bbit1 mouse_enable_bt_reconnect_timeout_enter_discovery ,p_mouse_start_discovery 
+03c8 20203e20 branch mouse_app_enter_hibernate 
 
 p_mouse_device_multi_led_parm_init:
-03a1 704c4100 jam 0 ,mem_mouse_multi_led_blink_enable 
-03a2 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
-03a3 c4000000 rtnbit0 mouse_enable_1io2led 
-03a4 2040042e call p_mouse_device_multi_led_all_off 
+03c9 704c4100 jam 0 ,mem_mouse_multi_led_blink_enable 
+03ca 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
+03cb c4000000 rtnbit0 mouse_enable_led_new_interface 
+03cc 20400458 call p_mouse_device_multi_led_all_off 
 
 p_mouse_multi_led_parm_init:
-03a5 704c4400 jam 0 ,mem_mouse_multi_led_blink_type 
+03cd 704c4400 jam 0 ,mem_mouse_multi_led_blink_type 
 
 p_mouse_multi_low_led_blink_timer_init:
-03a6 6fe0cc4c fetch 1 ,mem_mouse_low_led_blink_timer 
-03a7 1fe37e00 rshift pdata ,pdata 
-03a8 67e0cc4d store 1 ,mem_mouse_low_led_blink_half_timer 
-03a9 20600000 rtn 
+03ce 6fe0cc4d fetch 1 ,mem_mouse_low_led_blink_timer 
+03cf 1fe37e00 rshift pdata ,pdata 
+03d0 67e0cc4e store 1 ,mem_mouse_low_led_blink_half_timer 
+03d1 20600000 rtn 
 
 p_mouse_multi_low_led_blink_count_init:
-03aa 6fe0cc52 fetch 1 ,mem_mouse_multi_lowled_blink_count_init 
-03ab 67e0cc53 store 1 ,mem_mouse_multi_low_led_blink_count 
-03ac 20600000 rtn 
+03d2 6fe0cc53 fetch 1 ,mem_mouse_multi_lowled_blink_count_init 
+03d3 67e0cc54 store 1 ,mem_mouse_multi_low_led_blink_count 
+03d4 20600000 rtn 
 
 p_mouse_multi_led_blink_timer_init:
-03ad 6fe0cc44 fetch 1 ,mem_mouse_multi_led_blink_type 
-03ae c00083b4 beq 1 ,p_mouse_device_24g_led_blink_timer_init 
-03af c00103b6 beq 2 ,p_mouse_device_le_discovery_led_blink_timer_init 
-03b0 c00183b8 beq 3 ,p_mouse_device_le_reconn_led_blink_timer_init 
+03d5 6fe0cc44 fetch 1 ,mem_mouse_multi_led_blink_type 
+03d6 c00083dc beq 1 ,p_mouse_device_24g_led_blink_timer_init 
+03d7 c00103de beq 2 ,p_mouse_device_le_discovery_led_blink_timer_init 
+03d8 c00183e0 beq 3 ,p_mouse_device_le_reconn_led_blink_timer_init 
 
 p_mouse_multi_dpi_led_blink_timer_init:
-03b1 6fe0cc4a fetch 1 ,mem_mouse_dpi_led_blink_timer_init 
+03d9 6fe0cc4b fetch 1 ,mem_mouse_dpi_led_blink_timer_init 
 
-p_mouse_multi_led_blink_timer_init_next:
-03b2 67e0cc4b store 1 ,mem_mouse_multi_led_blink_timer 
-03b3 20600000 rtn 
+p_mouse_store_multi_led_blink_timer:
+03da 67e0cc4c store 1 ,mem_mouse_multi_led_blink_timer 
+03db 20600000 rtn 
 
 p_mouse_device_24g_led_blink_timer_init:
-03b4 6fe0cc47 fetch 1 ,mem_mouse_multi_24gled_blink_timer_init 
-03b5 202003b2 branch p_mouse_multi_led_blink_timer_init_next 
+03dc 6fe0cc48 fetch 1 ,mem_mouse_multi_24gled_blink_timer_init 
+03dd 202003da branch p_mouse_store_multi_led_blink_timer 
 
 p_mouse_device_le_discovery_led_blink_timer_init:
-03b6 6fe0cc48 fetch 1 ,mem_mouse_multi_le_discovery_blink_timer_init 
-03b7 202003b2 branch p_mouse_multi_led_blink_timer_init_next 
+03de 6fe0cc49 fetch 1 ,mem_mouse_multi_le_discovery_blink_timer_init 
+03df 202003da branch p_mouse_store_multi_led_blink_timer 
 
 p_mouse_device_le_reconn_led_blink_timer_init:
-03b8 6fe0cc49 fetch 1 ,mem_mouse_multi_le_reconn_blink_timer_init 
-03b9 202003b2 branch p_mouse_multi_led_blink_timer_init_next 
+03e0 6fe0cc4a fetch 1 ,mem_mouse_multi_le_reconn_blink_timer_init 
+03e1 202003da branch p_mouse_store_multi_led_blink_timer 
 
 p_mouse_device_poweron_led_config:
-03ba 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
-03bb c4000000 rtnbit0 mouse_enable_1io2led 
-03bc 6fe0cc45 fetch 1 ,mem_mouse_multi_led_powon_timer_init 
-03bd 67e0cc46 store 1 ,mem_mouse_multi_led_powon_timer 
-03be 704c4200 jam multi_led_on ,mem_mouse_multi_led_type 
+03e2 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
+03e3 c4000000 rtnbit0 mouse_enable_led_new_interface 
+03e4 6fe0cc46 fetch 1 ,mem_mouse_multi_led_powon_timer_init 
+03e5 67e0cc47 store 1 ,mem_mouse_multi_led_powon_timer 
+03e6 704c4200 jam multi_led_on ,mem_mouse_multi_led_type 
 
 p_mouse_multi_led_enable:
-03bf 704c4300 jam off ,mem_mouse_multi_led_state 
-03c0 704c4101 jam on ,mem_mouse_multi_led_blink_enable 
-03c1 20600000 rtn 
+03e7 704c4300 jam off ,mem_mouse_multi_led_state 
+03e8 704c4101 jam on ,mem_mouse_multi_led_blink_enable 
+03e9 20600000 rtn 
 
 p_mouse_device_pair_led_config:
-03c2 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
-03c3 c4000000 rtnbit0 mouse_enable_1io2led 
-03c4 204003e2 call p_mouse_multi_led_blink_enable_init 
-03c5 6fe0c938 fetch 1 ,mem_device_flag 
-03c6 c1800000 rtnne mode_24g_device 
+03ea 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
+03eb c4000000 rtnbit0 mouse_enable_led_new_interface 
 
 p_mouse_device_24g_led_blink:
-03c7 704c4401 jam 1 ,mem_mouse_multi_led_blink_type 
-03c8 204003b4 call p_mouse_device_24g_led_blink_timer_init 
-03c9 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
-03ca c4010000 rtnbit0 mouse_enable_led_blink_limit 
-03cb 6fe0cc4f fetch 1 ,mem_mouse_multi_24gled_blink_count_init 
-03cc 202003d9 branch p_mouse_device_led_blink_count_init 
+03ec 704c4401 jam 1 ,mem_mouse_multi_led_blink_type 
+03ed 204003dc call p_mouse_device_24g_led_blink_timer_init 
+03ee 20400406 call p_mouse_multi_led_blink_enable_init 
+03ef 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
+03f0 c4010000 rtnbit0 mouse_enable_led_blink_limit 
+03f1 6fe0cc50 fetch 1 ,mem_mouse_multi_24gled_blink_count_init 
+03f2 202003fd branch p_mouse_device_led_blink_count_init 
 
 p_mouse_device_le_reconn_led_config:
-03cd 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
-03ce c4000000 rtnbit0 mouse_enable_1io2led 
-03cf 6fe0c938 fetch 1 ,mem_device_flag 
-03d0 c1000000 rtneq mode_24g_device 
-03d1 204003e2 call p_mouse_multi_led_blink_enable_init 
+03f3 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
+03f4 c4000000 rtnbit0 mouse_enable_led_new_interface 
 
 p_mouse_device_le_reconn_led_blink:
-03d2 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
-03d3 c4008000 rtnbit0 mouse_enable_bt_reconn_led_effect 
-03d4 704c4403 jam 3 ,mem_mouse_multi_led_blink_type 
-03d5 204003b8 call p_mouse_device_le_reconn_led_blink_timer_init 
-03d6 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
-03d7 c4010000 rtnbit0 mouse_enable_led_blink_limit 
-03d8 6fe0cc50 fetch 1 ,mem_mouse_multi_le_reconn_blink_count_init 
+03f5 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
+03f6 c4008000 rtnbit0 mouse_enable_bt_reconn_led_effect 
+03f7 20400406 call p_mouse_multi_led_blink_enable_init 
+03f8 704c4403 jam 3 ,mem_mouse_multi_led_blink_type 
+03f9 204003e0 call p_mouse_device_le_reconn_led_blink_timer_init 
+03fa 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
+03fb c4010000 rtnbit0 mouse_enable_led_blink_limit 
+03fc 6fe0cc51 fetch 1 ,mem_mouse_multi_le_reconn_blink_count_init 
 
 p_mouse_device_led_blink_count_init:
-03d9 67e0cc51 store 1 ,mem_mouse_multi_led_blink_count 
-03da 20600000 rtn 
+03fd 67e0cc52 store 1 ,mem_mouse_multi_led_blink_count 
+03fe 20600000 rtn 
 
 p_mouse_device_discovery_led_config:
-03db 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
-03dc c4000000 rtnbit0 mouse_enable_1io2led 
-03dd 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
-03de 793ffe02 set0 mouse_enable_led_blink_limit ,pdata 
-03df 67e0cc40 store 1 ,mem_mouse_led_new_interface_config 
-03e0 704c4402 jam 2 ,mem_mouse_multi_led_blink_type 
-03e1 204003b6 call p_mouse_device_le_discovery_led_blink_timer_init 
+03ff 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
+0400 c4000000 rtnbit0 mouse_enable_led_new_interface 
+0401 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
+0402 793ffe02 set0 mouse_enable_led_blink_limit ,pdata 
+0403 67e0cc40 store 1 ,mem_mouse_led_new_interface_config 
+0404 704c4402 jam 2 ,mem_mouse_multi_led_blink_type 
+0405 204003de call p_mouse_device_le_discovery_led_blink_timer_init 
 
 p_mouse_multi_led_blink_enable_init:
-03e2 704c4101 jam 1 ,mem_mouse_multi_led_blink_enable 
-03e3 704c4201 jam multi_led_blink ,mem_mouse_multi_led_type 
-03e4 2020040e branch p_mouse_device_multi_led_on 
+0406 704c4101 jam 1 ,mem_mouse_multi_led_blink_enable 
+0407 704c4201 jam multi_led_blink ,mem_mouse_multi_led_type 
+0408 20200430 branch p_mouse_device_multi_led_on 
 
 p_mouse_led_multi_timer:
-03e5 6fe0cc41 fetch 1 ,mem_mouse_multi_led_blink_enable 
-03e6 207a0000 rtn blank 
-03e7 6fe0cc42 fetch 1 ,mem_mouse_multi_led_type 
-03e8 c00083f2 beq multi_led_blink ,p_mouse_multi_led_type_blink 
+0409 6fe0cc41 fetch 1 ,mem_mouse_multi_led_blink_enable 
+040a 207a0000 rtn blank 
+040b 6fe0cc42 fetch 1 ,mem_mouse_multi_led_type 
+040c c0008416 beq multi_led_blink ,p_mouse_multi_led_type_blink 
 
 p_mouse_device_multi_led_type_on:
-03e9 6fe0cc46 fetch 1 ,mem_mouse_multi_led_powon_timer 
-03ea 203a03ee branch p_mouse_device_poweron_led_off ,blank 
-03eb 1fe0ffff increase -1 
-03ec 67e0cc46 store 1 ,mem_mouse_multi_led_powon_timer 
-03ed 2020040f branch p_mouse_device_multi_led_on + 1 
+040d 6fe0cc47 fetch 1 ,mem_mouse_multi_led_powon_timer 
+040e 203a0412 branch p_mouse_device_poweron_led_off ,blank 
+040f 1fe0ffff increase -1 ,pdata 
+0410 67e0cc47 store 1 ,mem_mouse_multi_led_powon_timer 
+0411 20200431 branch p_mouse_device_multi_led_on + 1 
 
 p_mouse_device_poweron_led_off:
-03ee 704ca601 jam 1 ,mem_mouse_dpi_led_blink_enable 
-03ef 204003aa call p_mouse_multi_low_led_blink_count_init 
+0412 704d9601 jam 1 ,mem_mouse_pair_flag 
+0413 204003d2 call p_mouse_multi_low_led_blink_count_init 
 
-p_mouse_device_led_disable:
-03f0 704c4100 jam 0 ,mem_mouse_multi_led_blink_enable 
-03f1 20200421 branch p_mouse_device_multi_led_off + 1 
+p_mouse_devide_led_disable:
+0414 704c4100 jam 0 ,mem_mouse_multi_led_blink_enable 
+0415 20200443 branch p_mouse_device_multi_led_off + 1 
 
 p_mouse_multi_led_type_blink:
-03f2 6fe0cc46 fetch 1 ,mem_mouse_multi_led_powon_timer 
-03f3 247a0000 nrtn blank 
-03f4 6fe0cc44 fetch 1 ,mem_mouse_multi_led_blink_type 
-03f5 207a0000 rtn blank 
-03f6 c00203fb beq 4 ,p_mouse_device_led_blink_limit 
-03f7 202003f8 branch p_mouse_device_led_blink_judge 
+0416 6fe0cc44 fetch 1 ,mem_mouse_multi_led_blink_type 
+0417 207a0000 rtn blank 
+0418 c002041d beq 4 ,p_mouse_device_led_blink_limit 
+0419 2020041a branch p_mouse_device_led_blink_judge 
 
 p_mouse_device_led_blink_judge:
-03f8 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
-03f9 c28103fb bbit1 mouse_enable_led_blink_limit ,p_mouse_device_led_blink_limit 
-03fa 202003fd branch p_mouse_multi_led_type_blink_next 
+041a 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
+041b c281041d bbit1 mouse_enable_led_blink_limit ,p_mouse_device_led_blink_limit 
+041c 2020041f branch p_mouse_multi_led_type_blink_next 
 
 p_mouse_device_led_blink_limit:
-03fb 6fe0cc51 fetch 1 ,mem_mouse_multi_led_blink_count 
-03fc 203a041c branch p_mouse_multi_led_off_judge ,blank 
+041d 6fe0cc52 fetch 1 ,mem_mouse_multi_led_blink_count 
+041e 203a043e branch p_mouse_multi_led_off_judge ,blank 
 
 p_mouse_multi_led_type_blink_next:
-03fd da604c4b arg mem_mouse_multi_led_blink_timer ,regc 
-03fe da400400 arg p_mouse_multi_led_type_blink_start ,regb 
-03ff 2020318a branch timer_single_step 
+041f da604c4c arg mem_mouse_multi_led_blink_timer ,regc 
+0420 da400422 arg p_mouse_multi_led_type_blink_start ,regb 
+0421 2020318a branch timer_single_step 
 
 p_mouse_multi_led_type_blink_start:
-0400 6fe0cc44 fetch 1 ,mem_mouse_multi_led_blink_type 
-0401 c0020408 beq 4 ,p_mouse_multi_led_blink_count_decrease 
-0402 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
-0403 c2810408 bbit1 mouse_enable_led_blink_limit ,p_mouse_multi_led_blink_count_decrease 
+0422 6fe0cc44 fetch 1 ,mem_mouse_multi_led_blink_type 
+0423 c002042a beq 4 ,p_mouse_multi_led_blink_count_decrease 
+0424 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
+0425 c281042a bbit1 mouse_enable_led_blink_limit ,p_mouse_multi_led_blink_count_decrease 
 
 p_mouse_multi_led_blink:
-0404 204003ad call p_mouse_multi_led_blink_timer_init 
-0405 6fe0cc43 fetch 1 ,mem_mouse_multi_led_state 
-0406 c000841e beq on ,p_mouse_multi_led_off_judge_next 
-0407 2020040c branch p_mouse_multi_led_on_judge 
+0426 204003d5 call p_mouse_multi_led_blink_timer_init 
+0427 6fe0cc43 fetch 1 ,mem_mouse_multi_led_state 
+0428 c0008440 beq on ,p_mouse_multi_led_off_judge_next 
+0429 2020042e branch p_mouse_multi_led_on_judge 
 
 p_mouse_multi_led_blink_count_decrease:
-0408 6fe0cc51 fetch 1 ,mem_mouse_multi_led_blink_count 
-0409 1fe0ffff increase -1 
-040a 67e0cc51 store 1 ,mem_mouse_multi_led_blink_count 
-040b 20200404 branch p_mouse_multi_led_blink 
+042a 6fe0cc52 fetch 1 ,mem_mouse_multi_led_blink_count 
+042b 1fe0ffff increase -1 ,pdata 
+042c 67e0cc52 store 1 ,mem_mouse_multi_led_blink_count 
+042d 20200426 branch p_mouse_multi_led_blink 
 
 p_mouse_multi_led_on_judge:
-040c 6fe0cc44 fetch 1 ,mem_mouse_multi_led_blink_type 
-040d c0020439 beq 4 ,p_mouse_multi_dpi_led_on_judge 
+042e 6fe0cc44 fetch 1 ,mem_mouse_multi_led_blink_type 
+042f c0020463 beq 4 ,p_mouse_multi_dpi_led_on_judge 
 
 p_mouse_device_multi_led_on:
-040e 704c4301 jam on ,mem_mouse_multi_led_state 
-040f 6fe0c938 fetch 1 ,mem_device_flag 
-0410 c0000414 beq mode_24g_device ,p_mouse_device_24g_led_on 
-0411 c0008416 beq mode_bt_device1 ,p_mouse_device_bt1_led_on 
-0412 c0010418 beq mode_bt_device2 ,p_mouse_device_bt2_led_on 
-0413 20600000 rtn 
+0430 704c4301 jam on ,mem_mouse_multi_led_state 
+0431 6fe0c938 fetch 1 ,mem_device_flag 
+0432 c0000436 beq mode_24g_device ,p_mouse_device_24g_led_on 
+0433 c0008438 beq mode_bt_device1 ,p_mouse_device_bt1_led_on 
+0434 c001043a beq mode_bt_device2 ,p_mouse_device_bt2_led_on 
+0435 20600000 rtn 
 
 p_mouse_device_24g_led_on:
-0414 6848cc54 fetcht 1 ,mem_mouse_1io2led_multi_24gled 
-0415 2020041b branch p_mouse_multi_led_on 
+0436 6848cc55 fetcht 1 ,mem_mouse_1io2led_multi_24gled 
+0437 2020043d branch p_mouse_multi_led_on 
 
 p_mouse_device_bt1_led_on:
-0416 6848cc55 fetcht 1 ,mem_mouse_1io2led_multi_bt1led 
-0417 2020041b branch p_mouse_multi_led_on 
+0438 6848cc56 fetcht 1 ,mem_mouse_1io2led_multi_bt1led 
+0439 2020043d branch p_mouse_multi_led_on 
 
 p_mouse_device_bt2_led_on:
-0418 6848cc56 fetcht 1 ,mem_mouse_1io2led_multi_bt2led 
-0419 2020041b branch p_mouse_multi_led_on 
+043a 6848cc57 fetcht 1 ,mem_mouse_1io2led_multi_bt2led 
+043b 2020043d branch p_mouse_multi_led_on 
 
 p_mouse_multi_dpi_led_on:
-041a 6848cc58 fetcht 1 ,mem_mouse_dpi_gpio 
+043c 6848cc59 fetcht 1 ,mem_mouse_dpi_gpio 
 
 p_mouse_multi_led_on:
-041b 20206069 branch gpio_out_active 
+043d 20206069 branch gpio_out_active 
 
 p_mouse_multi_led_off_judge:
-041c 704c4100 jam 0 ,mem_mouse_multi_led_blink_enable 
-041d 704c4400 jam 0 ,mem_mouse_multi_led_blink_type 
+043e 704c4100 jam 0 ,mem_mouse_multi_led_blink_enable 
+043f 704c4400 jam 0 ,mem_mouse_multi_led_blink_type 
 
 p_mouse_multi_led_off_judge_next:
-041e 6fe0cc44 fetch 1 ,mem_mouse_multi_led_blink_type 
-041f c0020433 beq 4 ,p_mouse_multi_dpi_led_off_judge 
+0440 6fe0cc44 fetch 1 ,mem_mouse_multi_led_blink_type 
+0441 c002045d beq 4 ,p_mouse_multi_dpi_led_off_judge 
 
 p_mouse_device_multi_led_off:
-0420 704c4300 jam off ,mem_mouse_multi_led_state 
-0421 6fe0c938 fetch 1 ,mem_device_flag 
-0422 c0000426 beq mode_24g_device ,p_mouse_device_24g_led_off 
-0423 c0008428 beq mode_bt_device1 ,p_mouse_device_bt1_led_off 
-0424 c001042a beq mode_bt_device2 ,p_mouse_device_bt2_led_off 
-0425 20600000 rtn 
+0442 704c4300 jam off ,mem_mouse_multi_led_state 
+0443 6fe0c938 fetch 1 ,mem_device_flag 
+0444 c0000448 beq mode_24g_device ,p_mouse_device_24g_led_off 
+0445 c000844c beq mode_bt_device1 ,p_mouse_device_bt1_led_off 
+0446 c0010450 beq mode_bt_device2 ,p_mouse_device_bt2_led_off 
+0447 20600000 rtn 
 
 p_mouse_device_24g_led_off:
-0426 6848cc54 fetcht 1 ,mem_mouse_1io2led_multi_24gled 
-0427 2020042b branch p_gpio_set_high_impedance 
+0448 6848cc55 fetcht 1 ,mem_mouse_1io2led_multi_24gled 
+0449 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
+044a c3028462 bbit0 mouse_enable_1io2led ,p_mouse_multi_led_off 
+044b 20200453 branch p_mouse_gpio_set_analog 
 
 p_mouse_device_bt1_led_off:
-0428 6848cc55 fetcht 1 ,mem_mouse_1io2led_multi_bt1led 
-0429 2020042b branch p_gpio_set_high_impedance 
+044c 6848cc56 fetcht 1 ,mem_mouse_1io2led_multi_bt1led 
+044d 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
+044e c3028462 bbit0 mouse_enable_1io2led ,p_mouse_multi_led_off 
+044f 20200453 branch p_mouse_gpio_set_analog 
 
 p_mouse_device_bt2_led_off:
-042a 6848cc56 fetcht 1 ,mem_mouse_1io2led_multi_bt2led 
-
-p_gpio_set_high_impedance:
-042b 18467cff sub temp ,gpio_disable ,null 
-042c 20628000 rtn zero 
-042d 2020607f branch gpio_set_high_impedance 
+0450 6848cc57 fetcht 1 ,mem_mouse_1io2led_multi_bt2led 
+0451 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
+0452 c3028462 bbit0 mouse_enable_1io2led ,p_mouse_multi_led_off 
+
+p_mouse_gpio_set_analog:
+0453 18467cff sub temp ,gpio_disable ,null 
+0454 20628000 rtn zero 
+0455 18467c03 sub temp ,ice_gpio ,null 
+0456 2022e065 branch gpio_out_inactive ,zero 
+0457 2020607b branch gpio_set_analog 
 
 p_mouse_device_multi_led_all_off:
-042e 20400426 call p_mouse_device_24g_led_off 
-042f 20400428 call p_mouse_device_bt1_led_off 
-0430 2040042a call p_mouse_device_bt2_led_off 
-0431 2040010f call p_mouse_low_voltage_led_off_judge 
-0432 20200433 branch p_mouse_multi_dpi_led_off_judge 
+0458 20400448 call p_mouse_device_24g_led_off 
+0459 2040044c call p_mouse_device_bt1_led_off 
+045a 20400450 call p_mouse_device_bt2_led_off 
+045b 20400131 call p_mouse_low_voltage_led_off_judge 
+045c 2020045d branch p_mouse_multi_dpi_led_off_judge 
 
 p_mouse_multi_dpi_led_off_judge:
-0433 704c4300 jam off ,mem_mouse_multi_led_state 
-0434 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
-0435 c2830420 bbit1 mouse_enable_dpi_for_led ,p_mouse_device_multi_led_off 
-0436 c2838420 bbit1 mouse_enable_dpi_low_for_led ,p_mouse_device_multi_led_off 
+045d 704c4300 jam off ,mem_mouse_multi_led_state 
+045e 6fe0cc45 fetch 1 ,mem_mouse_led_multi_type 
+045f c0010442 beq mouse_enable_dpi_for_led ,p_mouse_device_multi_led_off 
+0460 c0018442 beq mouse_enable_dpi_low_for_led ,p_mouse_device_multi_led_off 
 
 p_mouse_multi_dpi_led_off:
-0437 6848cc58 fetcht 1 ,mem_mouse_dpi_gpio 
+0461 6848cc59 fetcht 1 ,mem_mouse_dpi_gpio 
 
 p_mouse_multi_led_off:
-0438 20206065 branch gpio_out_inactive 
+0462 20206065 branch gpio_out_inactive 
 
 p_mouse_multi_dpi_led_on_judge:
-0439 704c4301 jam on ,mem_mouse_multi_led_state 
-043a 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
-043b c283040e bbit1 mouse_enable_dpi_for_led ,p_mouse_device_multi_led_on 
-043c c283840e bbit1 mouse_enable_dpi_low_for_led ,p_mouse_device_multi_led_on 
-043d 2020041a branch p_mouse_multi_dpi_led_on 
+0463 704c4301 jam on ,mem_mouse_multi_led_state 
+0464 6fe0cc45 fetch 1 ,mem_mouse_led_multi_type 
+0465 c0010430 beq mouse_enable_dpi_for_led ,p_mouse_device_multi_led_on 
+0466 c0018430 beq mouse_enable_dpi_low_for_led ,p_mouse_device_multi_led_on 
+0467 2020043c branch p_mouse_multi_dpi_led_on 
 
 p_mouse_logo_led_on_timer:
-043e 6fe0cbed fetch 1 ,mem_mouse_logo_led_gpio 
-043f c17f8000 rtneq gpio_disable 
-0440 6fe14ab2 fetch 2 ,mem_mouse_no_data_timer 
-0441 207a0000 rtn blank 
-0442 6fe14bbe fetch 2 ,mem_mouse_no_data_timeout 
-0443 68494ab2 fetcht 2 ,mem_mouse_no_data_timer 
-0444 98460400 isub temp ,temp 
-0445 6fe14bee fetch 2 ,mem_mouse_logo_led_on_time_init 
-0446 98467e00 isub temp ,pdata 
-0447 2021044a branch p_mouse_logo_led_on ,positive 
+
+p_mouse_logo_led_on_timer_set:
+0468 6fe0cbed fetch 1 ,mem_mouse_logo_led_gpio 
+0469 c17f8000 rtneq gpio_disable 
+046a 6fe14ab2 fetch 2 ,mem_mouse_no_data_timer 
+046b 207a0000 rtn blank 
+046c 6fe14bbe fetch 2 ,mem_mouse_no_data_timeout 
+046d 68494ab2 fetcht 2 ,mem_mouse_no_data_timer 
+046e 98460400 isub temp ,temp 
+046f 6fe14bee fetch 2 ,mem_mouse_logo_led_on_time_init 
+0470 98467e00 isub temp ,pdata 
+0471 20210474 branch p_mouse_logo_led_on ,positive 
 
 p_mouse_logo_led_off:
-0448 6848cbed fetcht 1 ,mem_mouse_logo_led_gpio 
-0449 20206065 branch gpio_out_inactive 
+0472 6848cbed fetcht 1 ,mem_mouse_logo_led_gpio 
+0473 20206065 branch gpio_out_inactive 
 
 p_mouse_logo_led_on:
-044a 6848cbed fetcht 1 ,mem_mouse_logo_led_gpio 
-044b 20206069 branch gpio_out_active 
+0474 6848cbed fetcht 1 ,mem_mouse_logo_led_gpio 
+0475 20206069 branch gpio_out_active 
 
 p_mouse_dpi_led_blink_delay_timer:
-044c da604ba8 arg mem_mouse_dpi_led_delay_count ,regc 
-044d da40044f arg p_mouse_dpi_led_blink_init ,regb 
-044e 2020318a branch timer_single_step 
+0476 da604ba8 arg mem_mouse_dpi_led_delay_count ,regc 
+0477 da400479 arg p_mouse_dpi_led_blink_init ,regb 
+0478 2020318a branch timer_single_step 
 
 p_mouse_dpi_led_blink_init:
-044f 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
-0450 c2800466 bbit1 mouse_enable_1io2led ,p_mouse_dpi_led_blink_init_new1 
-0451 6fe0c927 fetch 1 ,mem_config_sensor_type 
-0452 c001c8f2 beq p3212 ,mouse_dpi_led_blink_init 
-0453 c005c8f2 beq ka8g2 ,mouse_dpi_led_blink_init 
-0454 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
-0455 67e0c92f store 1 ,mem_mouse_struct_led_gpio 
-0456 6fe14bc2 fetch 2 ,mem_mouse_dpi_led_blink_time 
-0457 67e14930 store 2 ,mem_mouse_on_time 
-0458 67e14932 store 2 ,mem_mouse_off_time 
-0459 da200000 arg 0 ,rega 
-045a 6848c992 fetcht 1 ,mem_mouse_dpi 
-045b 18408402 increase 2 ,temp 
-045c 18467c03 sub temp ,3 ,null 
-045d 20410460 call p_mouse_dpi_led_blink_init_level_4 ,positive 
-045e 24410464 ncall p_mouse_dpi_led_blink_count_clean ,positive 
-045f 202048ff branch mouse_dpi_led_blink_init_end 
-
-p_mouse_dpi_led_blink_init_level_4:
-0460 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0461 c40e0000 rtnbit0 mouse_enable_dpi_level_4 
-0462 18408401 increase 1 ,temp 
-0463 20600000 rtn 
-
-p_mouse_dpi_led_blink_count_clean:
-0464 184085fd increase -3 ,temp 
-0465 20600000 rtn 
-
-p_mouse_dpi_led_blink_init_new1:
-0466 6fe0c927 fetch 1 ,mem_config_sensor_type 
-0467 c0018475 beq p3212 ,p_mouse_dpi_led_blink_init_new2 
-0468 c0058475 beq ka8g2 ,p_mouse_dpi_led_blink_init_new2 
-0469 6848c992 fetcht 1 ,mem_mouse_dpi 
-046a 18408402 increase 2 ,temp 
-
-p_mouse_dpi_led_blink_init_new1_next:
-046b 18467c03 sub temp ,3 ,null 
-046c 20410460 call p_mouse_dpi_led_blink_init_level_4 ,positive 
-046d 24410464 ncall p_mouse_dpi_led_blink_count_clean ,positive 
-046e 18427e00 copy temp ,pdata 
-046f 9fe0fe00 iadd pdata ,pdata 
-0470 67e0cc51 store 1 ,mem_mouse_multi_led_blink_count 
+0479 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
+047a c4000000 rtnbit0 mouse_enable_led_new_interface 
+047b 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+047c c28e0482 bbit1 mouse_enable_dpi_level_4 ,p_mouse_dpi_led_blink_set_4_level 
+
+p_mouse_dpi_led_blink_set_3_level:
+047d 6fe0c992 fetch 1 ,mem_mouse_dpi 
+047e c000048a beq mouse_dpi_level1 ,p_mouse_dpi_level_2_blink 
+047f c000848c beq mouse_dpi_level2 ,p_mouse_dpi_level_3_blink 
+0480 c0010488 beq mouse_dpi_level3 ,p_mouse_dpi_level_1_blink 
+0481 20600000 rtn 
+
+p_mouse_dpi_led_blink_set_4_level:
+0482 6fe0c992 fetch 1 ,mem_mouse_dpi 
+0483 c000048c beq mouse_dpi_level1 ,p_mouse_dpi_level_3_blink 
+0484 c000848e beq mouse_dpi_level2 ,p_mouse_dpi_level_4_blink 
+0485 c0010488 beq mouse_dpi_level3 ,p_mouse_dpi_level_1_blink 
+0486 c001848a beq mouse_dpi_level4 ,p_mouse_dpi_level_2_blink 
+0487 20600000 rtn 
+
+p_mouse_dpi_level_1_blink:
+0488 58000002 setarg 2 
+0489 20200490 branch p_mouse_multi_dpi_led_blink_enable 
+
+p_mouse_dpi_level_2_blink:
+048a 58000004 setarg 4 
+048b 20200490 branch p_mouse_multi_dpi_led_blink_enable 
+
+p_mouse_dpi_level_3_blink:
+048c 58000006 setarg 6 
+048d 20200490 branch p_mouse_multi_dpi_led_blink_enable 
+
+p_mouse_dpi_level_4_blink:
+048e 58000008 setarg 8 
+048f 20200490 branch p_mouse_multi_dpi_led_blink_enable 
 
 p_mouse_multi_dpi_led_blink_enable:
-0471 704c4404 jam 4 ,mem_mouse_multi_led_blink_type 
-0472 204003b1 call p_mouse_multi_dpi_led_blink_timer_init 
-0473 704c4201 jam multi_led_blink ,mem_mouse_multi_led_type 
-0474 202003bf branch p_mouse_multi_led_enable 
-
-p_mouse_dpi_led_blink_init_new2:
-0475 6848c992 fetcht 1 ,mem_mouse_dpi 
-0476 18408401 increase 1 ,temp 
-0477 2020046b branch p_mouse_dpi_led_blink_init_new1_next 
+0490 67e0cc52 store 1 ,mem_mouse_multi_led_blink_count 
+0491 704c4404 jam 4 ,mem_mouse_multi_led_blink_type 
+0492 204003d9 call p_mouse_multi_dpi_led_blink_timer_init 
+0493 704c4201 jam multi_led_blink ,mem_mouse_multi_led_type 
+0494 202003e7 branch p_mouse_multi_led_enable 
 
 p_mouse_commbination_key_process:
-0478 6fe0c938 fetch 1 ,mem_device_flag 
-0479 c000047e beq mode_24g_device ,p_mouse_24g_commbination_key_process 
-047a 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-047b c41a8000 rtnbit0 mouse_enable_commbination_key_by_bt_discovery 
-047c 6848cbca fetcht 1 ,mem_mouse_commbination_key_bt 
-047d 20200481 branch p_mouse_commbination_key_start 
+0495 6fe0c938 fetch 1 ,mem_device_flag 
+0496 c000049b beq mode_24g_device ,p_mouse_24g_commbination_key_process 
+0497 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0498 c41a8000 rtnbit0 mouse_enable_commbination_key_by_bt_discovery 
+0499 6848cbca fetcht 1 ,mem_mouse_commbination_key_bt 
+049a 2020049e branch p_mouse_commbination_key_start 
 
 p_mouse_24g_commbination_key_process:
-047e 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-047f c4190000 rtnbit0 mouse_enable_commbination_key_by_24g_pairing 
-0480 6848cbcb fetcht 1 ,mem_mouse_commbination_key_24g 
+049b 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+049c c4190000 rtnbit0 mouse_enable_commbination_key_by_24g_pairing 
+049d 6848cbcb fetcht 1 ,mem_mouse_commbination_key_24g 
 
 p_mouse_commbination_key_start:
-0481 6048cb9d storet 1 ,mem_mouse_commbination_key 
-0482 2040053e call p_mouse_check_key_gpio 
-0483 1fe17e07 and pdata ,0x07 ,pdata 
-0484 6848cb9d fetcht 1 ,mem_mouse_commbination_key 
-0485 98467c00 isub temp ,null 
-0486 20228488 branch p_mouse_commbination_key_down ,zero 
-0487 202044eb branch mouse_commbination_key_up 
+049e 6048cb9d storet 1 ,mem_mouse_commbination_key 
+049f 20400569 call p_mouse_check_key_gpio 
+04a0 1fe17e07 and pdata ,0x07 ,pdata 
+04a1 6848cb9d fetcht 1 ,mem_mouse_commbination_key 
+04a2 98467c00 isub temp ,null 
+04a3 202284a5 branch p_mouse_commbination_key_down ,zero 
+04a4 202044eb branch mouse_commbination_key_up 
 
 p_mouse_commbination_key_down:
-0488 2040048d call p_mouse_combination_ui_timer 
-0489 6fe0cb9f fetch 1 ,mem_commbination_key_statue 
-048a c1008000 rtneq commbination_key_state_down 
-048b 704b9f01 jam commbination_key_state_down ,mem_commbination_key_statue 
-048c 20600000 rtn 
+04a5 204004aa call p_mouse_combination_ui_timer 
+04a6 6fe0cb9f fetch 1 ,mem_commbination_key_statue 
+04a7 c1008000 rtneq commbination_key_state_down 
+04a8 704b9f01 jam commbination_key_state_down ,mem_commbination_key_statue 
+04a9 20600000 rtn 
 
 p_mouse_combination_ui_timer:
-048d da40048f arg p_mouse_24g_start_pair ,regb 
-048e 202044f7 branch mouse_combination_ui_timer + 1 
-
-p_mouse_24g_start_pair:
-048f 204003c2 call p_mouse_device_pair_led_config 
-0490 202002e7 branch p_mouse_24g_start_pair_mode 
+04aa da40031f arg p_mouse_24g_start_pair_mode ,regb 
+04ab 202044f7 branch mouse_combination_ui_timer + 1 
 
 p_mouse_le_battery_updata_timer:
-0491 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0492 c39d8000 rtnbit1 mouse_enable_le_battery_service_cancel 
-0493 2020451f branch mouse_le_battery_updata_timer 
+04ac 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+04ad c39d8000 rtnbit1 mouse_enable_le_battery_service_cancel 
+04ae 2020451f branch mouse_le_battery_updata_timer 
 
 p_mouse_le_send_conn_param_update_timer:
-0494 da604c7a arg mem_mouse_le_send_conn_param_update_timer ,regc 
-0495 da40436c arg mouse_updata_le_param ,regb 
-0496 2020318a branch timer_single_step 
+04af da604c7b arg mem_mouse_le_send_conn_param_update_timer ,regc 
+04b0 da40436c arg mouse_updata_le_param ,regb 
+04b1 2020318a branch timer_single_step 
 
 p_mouse_check_no_data_timeout_timer:
-0497 da604ab2 arg mem_mouse_no_data_timer ,regc 
-0498 da40049a arg p_mouse_check_no_data_timeout ,regb 
-0499 20203191 branch timer_single_step_2b 
+04b2 da604ab2 arg mem_mouse_no_data_timer ,regc 
+04b3 da4004b5 arg p_mouse_check_no_data_timeout ,regb 
+04b4 20203191 branch timer_single_step_2b 
 
 p_mouse_check_no_data_timeout:
-049a 6fe0c938 fetch 1 ,mem_device_flag 
-049b c00002e9 beq mode_24g_device ,p_mouse_24g_hibernate_set 
-049c 2020431b branch mouse_disconnect 
+04b5 6fe0c938 fetch 1 ,mem_device_flag 
+04b6 c0000322 beq mode_24g_device ,p_mouse_24g_hibernate_set 
+04b7 2020431b branch mouse_disconnect 
 
 p_mouse_start_discovery:
-049d 204003db call p_mouse_device_discovery_led_config 
-049e 6fe1478c fetch 2 ,mem_ui_state_map 
-049f 2feffe0b isolate1 ui_state_ble_adv ,pdata 
-04a0 2040c581 call mouse_stop_le_adv ,true 
-04a1 6fe1478c fetch 2 ,mem_ui_state_map 
-04a2 2feffe07 isolate1 ui_state_bt_reconnect ,pdata 
-04a3 2040c322 call mouse_cancel_reconnect ,true 
-04a4 58000000 setarg 0 
-04a5 67e14af2 store 2 ,mem_le_battery_level_updata_timer 
-04a6 20204554 branch mouse_start_discovery + 1 
+04b8 204003ff call p_mouse_device_discovery_led_config 
+04b9 6fe1478c fetch 2 ,mem_ui_state_map 
+04ba 2feffe0b isolate1 ui_state_ble_adv ,pdata 
+04bb 2040c581 call mouse_stop_le_adv ,true 
+04bc 6fe1478c fetch 2 ,mem_ui_state_map 
+04bd 2feffe07 isolate1 ui_state_bt_reconnect ,pdata 
+04be 2040c322 call mouse_cancel_reconnect ,true 
+04bf 58000000 setarg 0 
+04c0 67e14af2 store 2 ,mem_le_battery_level_updata_timer 
+04c1 20204554 branch mouse_start_discovery + 1 
 
 p_mouse_stop_discovery:
-04a7 58000000 setarg 0 
-04a8 67e14ac2 store 2 ,mem_mouse_discovery_timer 
-04a9 20204577 branch mouse_stop_discovery + 1 
+04c2 58000000 setarg 0 
+04c3 67e14ac2 store 2 ,mem_mouse_discovery_timer 
+04c4 20204577 branch mouse_stop_discovery + 1 
 
 p_ui_timer_check:
-04aa 6fe0cbe2 fetch 1 ,mem_power_on_flag 
-04ab 245a7861 ncall ui_timer_init ,blank 
-04ac 704be200 jam 0 ,mem_power_on_flag 
-04ad 20207851 branch ui_timer_check + 1 
+04c5 6fe0cbe2 fetch 1 ,mem_power_on_flag 
+04c6 245a7861 ncall ui_timer_init ,blank 
+04c7 704be200 jam 0 ,mem_power_on_flag 
+04c8 20207851 branch ui_timer_check + 1 
 
 p_hid_rx_process:
-04ae 6fe10315 fetch 2 ,mem_l2cap_payload_ptr 
-04af 1fe20c00 copy pdata ,contr 
-04b0 efe08006 ifetch 1 ,contr 
-04b1 67e0c5f5 store 1 ,mem_l2cap_rcv_hidtype 
-04b2 1fe1040f and pdata ,0x0f ,temp 
-04b3 1ff1fe00 rshift4 pdata ,pdata 
-04b4 c00484b6 beq hid_type_set_idle ,p_hid_rx_process_handshake 
-04b5 20204d93 branch hid_rx_process + 7 
+04c9 6fe10315 fetch 2 ,mem_l2cap_payload_ptr 
+04ca 1fe20c00 copy pdata ,contr 
+04cb efe08006 ifetch 1 ,contr 
+04cc 67e0c5f5 store 1 ,mem_l2cap_rcv_hidtype 
+04cd 1fe1040f and pdata ,0x0f ,temp 
+04ce 1ff1fe00 rshift4 pdata ,pdata 
+04cf c00484d1 beq hid_type_set_idle ,p_hid_rx_process_handshake 
+04d0 20204d93 branch hid_rx_process + 7 
 
 p_hid_rx_process_handshake:
-04b6 da200001 arg 1 ,rega 
-04b7 20404dc0 call hid_malloc_tx_buff 
-04b8 6fe144dc fetch 2 ,mem_hid_ctrl_remote_cid 
-04b9 e7e10005 istore 2 ,contw 
-04ba 58000000 setarg 0 
-04bb e7e08005 istore 1 ,contw 
-04bc 70095001 jam 1 ,mem_ui_data_txbuff_length 
-04bd 6fe0c4e2 fetch 1 ,mem_hid_control_state 
-04be 79207e06 set1 l2cap_channel_hid_handshake_done ,pdata 
-04bf 67e0c4e2 store 1 ,mem_hid_control_state 
-04c0 70095b12 jam bt_evt_hid_handshake ,mem_fifo_temp 
-04c1 20207871 branch ui_ipc_send_event 
+04d1 da200001 arg 1 ,rega 
+04d2 20404dc0 call hid_malloc_tx_buff 
+04d3 6fe144dc fetch 2 ,mem_hid_ctrl_remote_cid 
+04d4 e7e10005 istore 2 ,contw 
+04d5 58000000 setarg 0 
+04d6 e7e08005 istore 1 ,contw 
+04d7 70095001 jam 1 ,mem_ui_data_txbuff_length 
+04d8 6fe0c4e2 fetch 1 ,mem_hid_control_state 
+04d9 79207e06 set1 l2cap_channel_hid_handshake_done ,pdata 
+04da 67e0c4e2 store 1 ,mem_hid_control_state 
+04db 70095b12 jam bt_evt_hid_handshake ,mem_fifo_temp 
+04dc 20207871 branch ui_ipc_send_event 
 
 p_send_lmp:
-04c2 78547c00 disable user 
-04c3 204059e6 call lmo_fifo_process 
-04c4 6fe08049 fetch 1 ,mem_lmp_to_send 
-04c5 207a0000 rtn blank 
-04c6 c283d730 bbit1 7 ,send_lmp_escape 
+04dd 78547c00 disable user 
+04de 204059e6 call lmo_fifo_process 
+04df 6fe08049 fetch 1 ,mem_lmp_to_send 
+04e0 207a0000 rtn blank 
+04e1 c283d730 bbit1 7 ,send_lmp_escape 
 
 p_send_lmp0:
-04c7 c00384c9 beq lmp_detach ,p_send_lmp_detach 
-04c8 20205701 branch send_lmp0 
+04e2 c00384e4 beq lmp_detach ,p_send_lmp_detach 
+04e3 20205701 branch send_lmp0 
 
 p_send_lmp_detach:
-04c9 2040585d call send_lmp_detach 
-04ca 70007378 jam 120 ,mem_conn_timer 
-04cb 20600000 rtn 
+04e4 2040585d call send_lmp_detach 
+04e5 70007378 jam 120 ,mem_conn_timer 
+04e6 20600000 rtn 
 
 p_le_slave_match:
-04cc 6fe0c3dd fetch 1 ,mem_le_md_count 
-04cd 1fe0fe01 pincrease 1 
-04ce 67e0c3dd store 1 ,mem_le_md_count 
-04cf c006165a beq le_md_max_count ,le_slave_cont 
-04d0 2040191b call le_acknowledge 
-04d1 2040196a call le_prepare_tx 
-04d2 6fe082bd fetch 1 ,mem_le_tx_phy 
-04d3 2040168b call le_enable_phy_by_pdata 
-04d4 20401838 call le_transmit 
-04d5 20201655 branch le_slave_match + 10 
+04e7 6fe0c3dd fetch 1 ,mem_le_md_count 
+04e8 1fe0fe01 pincrease 1 
+04e9 67e0c3dd store 1 ,mem_le_md_count 
+04ea c006165a beq le_md_max_count ,le_slave_cont 
+04eb 2040191b call le_acknowledge 
+04ec 2040196a call le_prepare_tx 
+04ed 6fe082bd fetch 1 ,mem_le_tx_phy 
+04ee 2040168b call le_enable_phy_by_pdata 
+04ef 20401838 call le_transmit 
+04f0 20201655 branch le_slave_match + 10 
 
 p_le_slave_unsync:
-04d6 20400e80 call end_of_packet 
-04d7 20201661 branch le_slave_unsync + 1 
+04f1 20400e80 call end_of_packet 
+04f2 20201661 branch le_slave_unsync + 1 
 
 p_le_transmit:
-04d8 204016be call le_prep 
-04d9 204016cc call le_tx_setfreq 
-04da 20404cb5 call rf_debug_tx_on_line 
-04db 79202a00 set1 txgfsk ,radio_ctrl 
-04dc 782efc00 enable encode_fec0 
-04dd 78307c00 enable is_tx 
-04de 7850fc00 disable is_rx 
-04df 20401744 call le_wait_tx 
-04e0 2000000a nop 10 
-04e1 20201841 branch le_transmit + 9 
+04f3 204016be call le_prep 
+04f4 204016cc call le_tx_setfreq 
+04f5 20404cb5 call rf_debug_tx_on_line 
+04f6 79202a00 set1 txgfsk ,radio_ctrl 
+04f7 782efc00 enable encode_fec0 
+04f8 78307c00 enable is_tx 
+04f9 7850fc00 disable is_rx 
+04fa 20401744 call le_wait_tx 
+04fb 2000000a nop 10 
+04fc 20201841 branch le_transmit + 9 
 
 p_le_parse_l2cap:
-04e2 efe10006 ifetch 2 ,contr 
-04e3 c00204e5 beq le_l2cap_cid_att ,p_le_parse_att 
-04e4 202019e4 branch le_parse_l2cap + 10 
+04fd efe10006 ifetch 2 ,contr 
+04fe c0020500 beq le_l2cap_cid_att ,p_le_parse_att 
+04ff 202019e4 branch le_parse_l2cap + 10 
 
 p_le_parse_att:
-04e5 efe18006 ifetch 3 ,contr 
-04e6 67e1c436 store 3 ,mem_le_att_opcode 
-04e7 c00504ea beq attop_read_request ,p_le_parse_att_read_request 
-04e8 c00904f9 beq attop_write_request ,p_le_parse_att_write_request 
-04e9 20201cd3 branch le_parse_att + 2 
+0500 efe18006 ifetch 3 ,contr 
+0501 67e1c436 store 3 ,mem_le_att_opcode 
+0502 c0050505 beq attop_read_request ,p_le_parse_att_read_request 
+0503 c0090514 beq attop_write_request ,p_le_parse_att_write_request 
+0504 20201cd3 branch le_parse_att + 2 
 
 p_le_parse_att_read_request:
-04ea 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-04eb c31d9de7 bbit0 mouse_enable_le_battery_service_cancel ,le_parse_att_read_request 
-04ec 20401e8d call le_check_encrypt_state 
-04ed 68494437 fetcht 2 ,mem_le_att_handle 
-04ee 6fe0c3c0 fetch 1 ,mem_le_configuration 
-04ef c28184f4 bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
+0505 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0506 c31d9de7 bbit0 mouse_enable_le_battery_service_cancel ,le_parse_att_read_request 
+0507 20401e8d call le_check_encrypt_state 
+0508 68494437 fetcht 2 ,mem_le_att_handle 
+0509 6fe0c3c0 fetch 1 ,mem_le_configuration 
+050a c281850f bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
 
 p_le_send_att_read_response:
-04f0 6fe14437 fetch 2 ,mem_le_att_handle 
-04f1 c0181ec8 beq 0x30 ,le_send_att_error_response_notfound 
-04f2 68494437 fetcht 2 ,mem_le_att_handle 
-04f3 20201deb branch le_send_att_read_response 
+050b 6fe14437 fetch 2 ,mem_le_att_handle 
+050c c0181ec8 beq 0x30 ,le_send_att_error_response_notfound 
+050d 68494437 fetcht 2 ,mem_le_att_handle 
+050e 20201deb branch le_send_att_read_response 
 
 p_le_send_att_read_response_check_auth:
-04f4 6fe143d1 fetch 2 ,mem_le_pairing_handle 
-04f5 98467c00 isub temp ,null 
-04f6 242284f0 nbranch p_le_send_att_read_response ,zero 
-04f7 243404f0 nbranch p_le_send_att_read_response ,user 
-04f8 20201e10 branch le_send_att_read_response_error_insufficient_auth 
+050f 6fe143d1 fetch 2 ,mem_le_pairing_handle 
+0510 98467c00 isub temp ,null 
+0511 2422850b nbranch p_le_send_att_read_response ,zero 
+0512 2434050b nbranch p_le_send_att_read_response ,user 
+0513 20201e10 branch le_send_att_read_response_error_insufficient_auth 
 
 p_le_parse_att_write_request:
-04f9 18c22200 copy contr ,rega 
-04fa 6fe143d4 fetch 2 ,mem_le_l2cap_size 
-04fb 1fe0a5fd add pdata ,-3 ,regb 
-04fc 20401a25 call le_writeatt_cb 
-04fd 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
-04fe c07f9e73 beq 0xff ,le_send_att_write_response_check_auth 
-04ff 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
-0500 203a1e73 branch le_send_att_write_response_check_auth ,blank 
-0501 6fe0cb75 fetch 1 ,mem_le_connect_status_flag 
-0502 c2809e73 bbit1 ll_start_enc_flag ,le_send_att_write_response_check_auth 
-0503 5800001a setarg 0x001a 
-0504 68494437 fetcht 2 ,mem_le_att_handle 
-0505 98467c00 isub temp ,null 
-0506 24229e73 nbranch le_send_att_write_response_check_auth ,zero 
-0507 20201e10 branch le_send_att_read_response_error_insufficient_auth 
+0514 18c22200 copy contr ,rega 
+0515 6fe143d4 fetch 2 ,mem_le_l2cap_size 
+0516 1fe0a5fd add pdata ,-3 ,regb 
+0517 20401a25 call le_writeatt_cb 
+0518 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
+0519 c07f9e73 beq 0xff ,le_send_att_write_response_check_auth 
+051a 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
+051b 203a1e73 branch le_send_att_write_response_check_auth ,blank 
+051c 6fe0cb75 fetch 1 ,mem_le_connect_status_flag 
+051d c2809e73 bbit1 ll_start_enc_flag ,le_send_att_write_response_check_auth 
+051e 5800001a setarg 0x001a 
+051f 68494437 fetcht 2 ,mem_le_att_handle 
+0520 98467c00 isub temp ,null 
+0521 24229e73 nbranch le_send_att_write_response_check_auth ,zero 
+0522 20201e10 branch le_send_att_read_response_error_insufficient_auth 
 
 p_g24_lpm_wait:
-0508 78347c00 enable user 
-0509 20401465 call lpo_calibration 
-050a 6fe1c174 fetch 3 ,mem_clks_per_lpo 
-050b 203a7e56 branch disable_user ,blank 
-050c 6fe0c099 fetch 1 ,mem_lpm_mode 
-050d 203a7e56 branch disable_user ,blank 
-050e 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
-050f 247a0000 nrtn blank 
-0510 6fe0c8bd fetch 1 ,mem_24g_transmit_by_interrupt 
-0511 c000fe56 beq g24_tx_timer_int_enable ,disable_user 
-0512 20600000 rtn 
+0523 78347c00 enable user 
+0524 20401465 call lpo_calibration 
+0525 6fe1c174 fetch 3 ,mem_clks_per_lpo 
+0526 203a7e56 branch disable_user ,blank 
+0527 6fe0c099 fetch 1 ,mem_lpm_mode 
+0528 203a7e56 branch disable_user ,blank 
+0529 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+052a 247a0000 nrtn blank 
+052b 6fe0c8bd fetch 1 ,mem_24g_transmit_by_interrupt 
+052c c000fe56 beq g24_tx_timer_int_enable ,disable_user 
+052d 20600000 rtn 
 
 p_mouse_motion:
-0513 78547c00 disable user 
-0514 58000000 setarg 0 
-0515 67e348d1 store 6 ,mem_mouse_x 
-0516 20404240 call mouse_check_sensor_data 
-0517 20400345 call p_mouse_seting_sensor_type 
-0518 20403f7e call mouse_zwheel 
-0519 20403f83 call mouse_t_zwheel 
-051a 2040053c call p_mouse_key 
-051b 6fe0c8d0 fetch 1 ,mem_mouse_key 
-051c 1fe17e1f and_into 0x1f ,pdata 
-051d 67e0c8d0 store 1 ,mem_mouse_key 
-051e 24340521 nbranch p_mouse_motion_nodata ,user 
-051f 20400523 call p_mouse_drawing_optima 
-0520 20204544 branch mouse_no_data_timer_init 
-
-p_mouse_motion_nodata:
-0521 20404728 call mouse_drawing_optima_init 
-0522 20600000 rtn 
+052e 78547c00 disable user 
+052f 58000000 setarg 0 
+0530 67e348d1 store 6 ,mem_mouse_x 
+0531 2040053e call p_mouse_check_sensor_data 
+0532 58000089 setarg 0x0089 
+0533 20405b0c call twspi_write 
+0534 20400389 call p_mouse_seting_sensor_type 
+0535 20403f7e call mouse_zwheel 
+0536 20403f83 call mouse_t_zwheel 
+0537 20400567 call p_mouse_key 
+0538 6fe0c8d0 fetch 1 ,mem_mouse_key 
+0539 1fe17e1f and_into 0x1f ,pdata 
+053a 67e0c8d0 store 1 ,mem_mouse_key 
+053b 24344728 nbranch mouse_drawing_optima_init ,user 
+053c 2040054d call p_mouse_drawing_optima 
+053d 20204544 branch mouse_no_data_timer_init 
+
+p_mouse_check_sensor_data:
+053e 6fe0c4ac fetch 1 ,mem_spi_write_flash_sm 
+053f c1800000 rtnne flash_sm_no_buys 
+0540 6fe0c927 fetch 1 ,mem_config_sensor_type 
+0541 c0058543 beq ka8g2 ,p_mouse_ka8g2_sensor_motion 
+0542 20204243 branch mouse_check_sensor_data + 3 
+
+p_mouse_ka8g2_sensor_motion:
+0543 204042c4 call mouse_clear_sensor_data 
+0544 6fe0c911 fetch 1 ,mem_sensor_motion_gpio 
+0545 c07fc294 beq gpio_disable ,mouse_pka8g2_sensor_motion_1 
+0546 6848c911 fetcht 1 ,mem_sensor_motion_gpio 
+0547 20406059 call gpio_get_bit 
+0548 24608000 nrtn true 
+
+p_mouse_pka8g2_sensor_motion_1:
+0549 58000000 setarg pan_reg_pid_l 
+054a 20405b0d call twspi_read 
+054b c0ac41b2 bne pka8g2_id1 ,mouse_twspi_reset 
+054c 20204279 branch mouse_p3212_sensor_motion_2 
 
 p_mouse_drawing_optima:
-0523 6fe0c927 fetch 1 ,mem_config_sensor_type 
-0524 c1018000 rtneq p3212 
-0525 2020471a branch mouse_drawing_optima 
+054d 6fe0c927 fetch 1 ,mem_config_sensor_type 
+054e c1018000 rtneq p3212 
+054f c1058000 rtneq ka8g2 
+0550 2020471a branch mouse_drawing_optima 
 
 p_mouse_sensor_poweron:
-0526 20403f65 call mouse_sensor_spi_init 
-0527 6fe0c927 fetch 1 ,mem_config_sensor_type 
-0528 c005852d beq ka8g2 ,p_mouse_ka8g2_sensor_init 
-0529 20404232 call mouse_sensor_reset 
-052a da604aa3 arg mem_sensor_poweron_init ,regc 
+0551 20403f65 call mouse_sensor_spi_init 
+0552 6fe0c927 fetch 1 ,mem_config_sensor_type 
+0553 c0058558 beq ka8g2 ,p_mouse_ka8g2_sensor_init 
+0554 20404232 call mouse_sensor_reset 
+0555 da604aa3 arg mem_sensor_poweron_init ,regc 
 
 p_mouse_sensor_end:
-052b 2040422b call mouse_sensor_wr_seq 
-052c 20200345 branch p_mouse_seting_sensor_type 
+0556 2040422b call mouse_sensor_wr_seq 
+0557 20200389 branch p_mouse_seting_sensor_type 
 
 p_mouse_ka8g2_sensor_init:
-052d 20400533 call p_mouse_ka8g2_sensor_reset 
-052e da604be3 arg mem_ka8g2_sensor_poweron_init ,regc 
-052f 2020052b branch p_mouse_sensor_end 
+0558 2040055e call p_mouse_ka8g2_sensor_reset 
+0559 da604be3 arg mem_ka8g2_sensor_poweron_init ,regc 
+055a 20200556 branch p_mouse_sensor_end 
 
 p_mouse_sensor_reset:
-0530 6fe0c927 fetch 1 ,mem_config_sensor_type 
-0531 c0058533 beq ka8g2 ,p_mouse_ka8g2_sensor_reset 
-0532 20204232 branch mouse_sensor_reset 
+055b 6fe0c927 fetch 1 ,mem_config_sensor_type 
+055c c005855e beq ka8g2 ,p_mouse_ka8g2_sensor_reset 
+055d 20204232 branch mouse_sensor_reset 
 
 p_mouse_ka8g2_sensor_reset:
-0533 58009706 setarg 0x9706 
-0534 20204233 branch mouse_sensor_reset_end 
+055e 58009706 setarg 0x9706 
+055f 20204233 branch mouse_sensor_reset_end 
 
 p_mouse_sensor_powerdown:
-0535 204041a7 call mouse_init_sunt 
-0536 20403f65 call mouse_sensor_spi_init 
-0537 6fe0c927 fetch 1 ,mem_config_sensor_type 
-0538 c005853a beq ka8g2 ,p_mouse_ka8g2_sensor_powerdown 
-0539 2020423e branch mouse_sensor_powerdown_end 
+0560 204041a7 call mouse_init_sunt 
+0561 20403f65 call mouse_sensor_spi_init 
+0562 6fe0c927 fetch 1 ,mem_config_sensor_type 
+0563 c0058565 beq ka8g2 ,p_mouse_ka8g2_sensor_powerdown 
+0564 2020423e branch mouse_sensor_powerdown_end 
 
 p_mouse_ka8g2_sensor_powerdown:
-053a 58001f06 setarg 0x1f06 
-053b 20205b0c branch twspi_write 
+0565 58001f06 setarg 0x1f06 
+0566 20205b0c branch twspi_write 
 
 p_mouse_key:
-053c 2040053e call p_mouse_check_key_gpio 
-053d 202040dd branch mouse_key + 1 
+0567 20400569 call p_mouse_check_key_gpio 
+0568 202040dd branch mouse_key + 1 
 
 p_mouse_check_key_gpio:
-053e 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
-053f 245a4121 ncall mouse_check_key_gpio_once ,blank 
-0540 da200000 arg 0 ,rega 
-0541 20400547 call p_mouse_check_lkey_gpio 
-0542 2040054c call p_mouse_check_rkey_gpio 
-0543 20400551 call p_mouse_check_mkey_gpio 
-0544 20400556 call p_mouse_check_bkkey_gpio 
-0545 20400563 call p_mouse_check_fwkey_gpio 
-0546 2020411e branch mouse_check_key_gpio_next 
+0569 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+056a 245a4121 ncall mouse_check_key_gpio_once ,blank 
+056b da200000 arg 0 ,rega 
+056c 20400573 call p_mouse_check_lkey_gpio 
+056d 20400578 call p_mouse_check_rkey_gpio 
+056e 2040057d call p_mouse_check_mkey_gpio 
+056f 20400582 call p_mouse_check_bkkey_gpio 
+0570 2040058f call p_mouse_check_fwkey_gpio 
+0571 204005a2 call p_mouse_check_customerkey_gpio 
+0572 2020411f branch mouse_check_key_gpio_next + 1 
 
 p_mouse_check_lkey_gpio:
-0547 6fe0c918 fetch 1 ,mem_lbutton_gpio 
-0548 20400570 call p_mouse_gpio_config_output_high 
-0549 20404124 call mouse_check_lkey_gpio 
-054a 6848c918 fetcht 1 ,mem_lbutton_gpio 
-054b 20203f56 branch mouse_gpio_config_input_pu 
+0573 6fe0c918 fetch 1 ,mem_lbutton_gpio 
+0574 2040059c call p_mouse_gpio_config_output_high 
+0575 20404124 call mouse_check_lkey_gpio 
+0576 6848c918 fetcht 1 ,mem_lbutton_gpio 
+0577 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_rkey_gpio:
-054c 6fe0c919 fetch 1 ,mem_rbutton_gpio 
-054d 20400570 call p_mouse_gpio_config_output_high 
-054e 2040412a call mouse_check_rkey_gpio 
-054f 6848c919 fetcht 1 ,mem_rbutton_gpio 
-0550 20203f56 branch mouse_gpio_config_input_pu 
+0578 6fe0c919 fetch 1 ,mem_rbutton_gpio 
+0579 2040059c call p_mouse_gpio_config_output_high 
+057a 2040412a call mouse_check_rkey_gpio 
+057b 6848c919 fetcht 1 ,mem_rbutton_gpio 
+057c 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_mkey_gpio:
-0551 6fe0c91a fetch 1 ,mem_mbutton_gpio 
-0552 20400570 call p_mouse_gpio_config_output_high 
-0553 20404130 call mouse_check_mkey_gpio 
-0554 6848c91a fetcht 1 ,mem_mbutton_gpio 
-0555 20203f56 branch mouse_gpio_config_input_pu 
+057d 6fe0c91a fetch 1 ,mem_mbutton_gpio 
+057e 2040059c call p_mouse_gpio_config_output_high 
+057f 20404130 call mouse_check_mkey_gpio 
+0580 6848c91a fetcht 1 ,mem_mbutton_gpio 
+0581 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_bkkey_gpio:
-0556 6fe0c90d fetch 1 ,mem_bk_button_gpio 
-0557 c17f8000 rtneq gpio_disable 
-0558 704b9603 jam mouse_bk_key ,mem_mouse_key_temp 
-0559 6fe0cb91 fetch 1 ,mem_mouse_bkkey_press_status 
-055a 1fe22600 copy pdata ,regc 
-055b 6848c90d fetcht 1 ,mem_bk_button_gpio 
-055c 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
-055d c07f855f beq gpio_disable ,p_mouse_3io6key_bk_check 
-055e 2020413e branch mouse_check_bkkey_gpio_next 
+0582 6fe0c90d fetch 1 ,mem_bk_button_gpio 
+0583 c17f8000 rtneq gpio_disable 
+0584 704b9603 jam mouse_bk_key ,mem_mouse_key_temp 
+0585 6fe0cb91 fetch 1 ,mem_mouse_bkkey_press_status 
+0586 1fe22600 copy pdata ,regc 
+0587 6848c90d fetcht 1 ,mem_bk_button_gpio 
+0588 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+0589 c07f858b beq gpio_disable ,p_mouse_3io6key_bk_check 
+058a 2020413e branch mouse_check_bkkey_gpio_next 
 
 p_mouse_3io6key_bk_check:
-055f 6fe0c90d fetch 1 ,mem_bk_button_gpio 
-0560 20400573 call p_mouse_gpio_config_output_low 
-0561 6848c90d fetcht 1 ,mem_bk_button_gpio 
-0562 2020414b branch mouse_3io6key_bk_check 
+058b 6fe0c90d fetch 1 ,mem_bk_button_gpio 
+058c 2040059f call p_mouse_gpio_config_output_low 
+058d 6848c90d fetcht 1 ,mem_bk_button_gpio 
+058e 2020414b branch mouse_3io6key_bk_check 
 
 p_mouse_check_fwkey_gpio:
-0563 6fe0c90e fetch 1 ,mem_fw_button_gpio 
-0564 c17f8000 rtneq gpio_disable 
-0565 704b9604 jam mouse_fw_key ,mem_mouse_key_temp 
-0566 6fe0cb92 fetch 1 ,mem_mouse_fwkey_press_status 
-0567 1fe22600 copy pdata ,regc 
-0568 6848c90e fetcht 1 ,mem_fw_button_gpio 
-0569 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
-056a c07f856c beq gpio_disable ,p_mouse_3io6key_fw_check 
-056b 20204157 branch mouse_check_fwkey_gpio_next 
+058f 6fe0c90e fetch 1 ,mem_fw_button_gpio 
+0590 c17f8000 rtneq gpio_disable 
+0591 704b9604 jam mouse_fw_key ,mem_mouse_key_temp 
+0592 6fe0cb92 fetch 1 ,mem_mouse_fwkey_press_status 
+0593 1fe22600 copy pdata ,regc 
+0594 6848c90e fetcht 1 ,mem_fw_button_gpio 
+0595 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+0596 c07f8598 beq gpio_disable ,p_mouse_3io6key_fw_check 
+0597 20204157 branch mouse_check_fwkey_gpio_next 
 
 p_mouse_3io6key_fw_check:
-056c 6fe0c90e fetch 1 ,mem_fw_button_gpio 
-056d 20400573 call p_mouse_gpio_config_output_low 
-056e 6848c90e fetcht 1 ,mem_fw_button_gpio 
-056f 20204164 branch mouse_3io6key_fw_check 
+0598 6fe0c90e fetch 1 ,mem_fw_button_gpio 
+0599 2040059f call p_mouse_gpio_config_output_low 
+059a 6848c90e fetcht 1 ,mem_fw_button_gpio 
+059b 20204164 branch mouse_3io6key_fw_check 
 
 p_mouse_gpio_config_output_high:
-0570 c17f8000 rtneq gpio_disable 
-0571 d840003f arg gpcfg_output_high ,temp 
-0572 20206093 branch gpio_config_function_int 
+059c c17f8000 rtneq gpio_disable 
+059d d840003f arg gpcfg_output_high ,temp 
+059e 20206093 branch gpio_config_function_int 
 
 p_mouse_gpio_config_output_low:
-0573 c17f8000 rtneq gpio_disable 
-0574 d840003e arg gpcfg_output_low ,temp 
-0575 20206093 branch gpio_config_function_int 
+059f c17f8000 rtneq gpio_disable 
+05a0 d840003e arg gpcfg_output_low ,temp 
+05a1 20206093 branch gpio_config_function_int 
+
+p_mouse_check_customerkey_gpio:
+05a2 6fe0cd9a fetch 1 ,mem_mouse_customer_key_connect_vin_flag 
+05a3 203a416a branch mouse_check_customerkey_gpio ,blank 
+05a4 704b8b00 jam 0 ,mem_customer_key 
+05a5 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+05a6 c40a8000 rtnbit0 mouse_enable_keyboard 
+05a7 704b9607 jam mouse_customer_key ,mem_mouse_key_temp 
+05a8 6fe0cb95 fetch 1 ,mem_mouse_customerkey_press_status 
+05a9 1fe22600 copy pdata ,regc 
+
+p_mouse_3io6key_customerkey_check:
+05aa 6fe0c912 fetch 1 ,mem_customer_key_gpio 
+05ab 2040059f call p_mouse_gpio_config_output_low 
+05ac 6848c912 fetcht 1 ,mem_customer_key_gpio 
+05ad 20404195 call mouse_3io6key_check 
+05ae 67e0cb95 store 1 ,mem_mouse_customerkey_press_status 
+05af 20404174 call mouse_check_customerkey_state 
+05b0 6848c912 fetcht 1 ,mem_customer_key_gpio 
+05b1 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_idle:
-0576 2040057b call p_mouse_low_voltage_led_no_enter_lpm 
-0577 20407936 call ui_check_paring_button 
-0578 20400588 call p_mouse_dpi_check 
-0579 2040057f call p_mouse_select_device_check 
-057a 20204650 branch mouse_idle + 5 
+05b2 204005b8 call p_mouse_low_voltage_led_no_enter_lpm 
+05b3 20407936 call ui_check_paring_button 
+05b4 204005d6 call p_mouse_dpi_check 
+05b5 204005bc call p_mouse_select_device_check 
+05b6 204005c7 call p_mouse_check_select_device_by_switch 
+05b7 20204651 branch mouse_idle + 6 
 
 p_mouse_low_voltage_led_no_enter_lpm:
-057b 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
-057c c301c990 bbit0 mouse_enable_low_led ,mouse_low_voltage_led_no_enter_lpm 
-
-p_mouse_low_voltage_led_no_enter_lpm_next:
-057d 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-057e 20204992 branch mouse_low_voltage_led_no_enter_lpm + 2 
+05b8 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
+05b9 c4018000 rtnbit0 mouse_enable_low_led 
+05ba 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+05bb 20204992 branch mouse_low_voltage_led_no_enter_lpm + 2 
 
 p_mouse_select_device_check:
-057f 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0580 c2948583 bbit1 mouse_enable_select_device_by_pb_button ,p_mouse_select_device_by_pb_button_check_judge 
-0581 c29b8583 bbit1 mouse_enable_pb_button_long_press_disconvery ,p_mouse_select_device_by_pb_button_check_judge 
-0582 20600000 rtn 
+05bc 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+05bd c29485c0 bbit1 mouse_enable_select_device_by_pb_button ,p_mouse_select_device_by_pb_button_check_judge 
+05be c29b85c0 bbit1 mouse_enable_pb_button_long_press_disconvery ,p_mouse_select_device_by_pb_button_check_judge 
+05bf 20600000 rtn 
 
 p_mouse_select_device_by_pb_button_check_judge:
-0583 6fe1478c fetch 2 ,mem_ui_state_map 
-0584 c2830586 bbit1 ui_state_bt_discovery ,p_mouse_select_device_by_pb_button_check_once 
-0585 2020465a branch mouse_select_device_by_pb_button 
-
-p_mouse_select_device_by_pb_button_check_once:
-0586 704b9403 jam 0x03 ,mem_mouse_pbkey_press_status 
-0587 20200224 branch p_mouse_select_device_by_pb_button 
+05c0 6fe1478c fetch 2 ,mem_ui_state_map 
+05c1 c283024d bbit1 ui_state_bt_discovery ,p_mouse_select_device_by_pb_button_check_once 
+05c2 6fe0c91b fetch 1 ,mem_config_select_device_button_gpio 
+05c3 c17f8000 rtneq gpio_disable 
+05c4 6fe0c9bf fetch 1 ,mem_store_information_delay_timer 
+05c5 247a0000 nrtn blank 
+05c6 2020465c branch mouse_select_device_by_pb_button + 2 
+
+p_mouse_check_select_device_by_switch:
+05c7 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+05c8 c4150000 rtnbit0 mouse_enable_select_device_by_switch_gpio 
+05c9 6848c91e fetcht 1 ,mem_device_switch_gpio 
+05ca 20403f56 call mouse_gpio_config_input_pu 
+05cb 6848c91e fetcht 1 ,mem_device_switch_gpio 
+05cc 20406059 call gpio_get_bit 
+05cd 202085d2 branch p_mouse_check_select_24g_device ,true 
+
+p_mouse_select_btdevice:
+05ce 6fe0c938 fetch 1 ,mem_device_flag 
+05cf c1008000 rtneq mode_bt_device1 
+05d0 70493801 jam mode_bt_device1 ,mem_device_flag 
+05d1 202046c0 branch mouse_soft_reset 
+
+p_mouse_check_select_24g_device:
+05d2 6fe0c938 fetch 1 ,mem_device_flag 
+05d3 c1000000 rtneq mode_24g_device 
+05d4 70493800 jam mode_24g_device ,mem_device_flag 
+05d5 202046c0 branch mouse_soft_reset 
 
 p_mouse_dpi_check:
-0588 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0589 c2974036 bbit1 mouse_enable_dpi_key_connect_adc ,mouse_dpi_check_connect_adc 
-058a 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
-058b c17f8000 rtneq gpio_disable 
-058c da200000 arg 0 ,rega 
-058d 704b9605 jam mouse_dpi_key ,mem_mouse_key_temp 
-058e 6848c90f fetcht 1 ,mem_dpi_button_gpio 
-058f 20400591 call p_mouse_dpi_key_check 
-0590 2020402f branch mouse_dpi_check_next 
+05d6 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
+05d7 c17f8000 rtneq gpio_disable 
+05d8 da200000 arg 0 ,rega 
+05d9 704b9605 jam mouse_dpi_key ,mem_mouse_key_temp 
+05da 6848c90f fetcht 1 ,mem_dpi_button_gpio 
+05db 204005dd call p_mouse_dpi_key_check 
+05dc 2020402f branch mouse_dpi_check_next 
 
 p_mouse_dpi_key_check:
-0591 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0592 c2964048 bbit1 mouse_enable_dpi_key_connect_gnd ,mouse_dpi_key_connect_gnd 
-0593 6fe0cb93 fetch 1 ,mem_mouse_dpikey_press_status 
-0594 1fe22600 copy pdata ,regc 
-0595 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
-0596 c07f8598 beq gpio_disable ,p_mouse_3io6key_dpi_check 
-0597 2020403f branch mouse_dpi_key_check_next 
+05dd 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+05de c2964048 bbit1 mouse_enable_dpi_key_connect_gnd ,mouse_dpi_key_connect_gnd 
+05df 6fe0cb93 fetch 1 ,mem_mouse_dpikey_press_status 
+05e0 1fe22600 copy pdata ,regc 
+05e1 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+05e2 c07f85e4 beq gpio_disable ,p_mouse_3io6key_dpi_check 
+05e3 2020403f branch mouse_dpi_key_check_next 
 
 p_mouse_3io6key_dpi_check:
-0598 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
-0599 20400573 call p_mouse_gpio_config_output_low 
-059a 6848c90f fetcht 1 ,mem_dpi_button_gpio 
-059b 20204195 branch mouse_3io6key_check 
+05e4 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
+05e5 2040059f call p_mouse_gpio_config_output_low 
+05e6 6848c90f fetcht 1 ,mem_dpi_button_gpio 
+05e7 20204195 branch mouse_3io6key_check 
 
 p_mouse_dpi_process:
-059c 6fe0cca6 fetch 1 ,mem_mouse_dpi_led_blink_enable 
-059d 207a0000 rtn blank 
-059e 20404072 call mouse_dpi_ghost_check 
-059f 20740000 rtn user 
+05e8 20404072 call mouse_dpi_ghost_check 
+05e9 20740000 rtn user 
 
 p_mouse_dpi_process_next:
-05a0 6fe0c992 fetch 1 ,mem_mouse_dpi 
-05a1 1fe0fe01 increase 1 ,pdata 
-05a2 1fe17e03 and pdata ,0x03 ,pdata 
+05ea 6fe0c992 fetch 1 ,mem_mouse_dpi 
+05eb 1fe0fe01 increase 1 ,pdata 
+05ec 1fe17e03 and pdata ,0x03 ,pdata 
 
 p_mouse_dpi_store:
-05a3 67e0c992 store 1 ,mem_mouse_dpi 
-05a4 20400343 call p_mouse_seting_dpi 
-05a5 20204643 branch mouse_store_eerpom_dpi 
+05ed 67e0c992 store 1 ,mem_mouse_dpi 
+05ee 20400387 call p_mouse_seting_dpi 
+05ef 20600000 rtn 
 
 p_power_ctrl_start:
-05a6 6fe1478c fetch 2 ,mem_ui_state_map 
-05a7 c3858000 rtnbit1 ui_state_ble_adv 
-05a8 c3838000 rtnbit1 ui_state_bt_reconnect 
-05a9 c3830000 rtnbit1 ui_state_bt_discovery 
-05aa 6a214899 fetchr rega ,2 ,mem_rssi_signal_buf_ptr 
-05ab 204025cb call rssi_average 
-05ac 6048c8c7 storet 1 ,mem_rssi_avg_received 
-05ad 202026f6 branch power_ctrl_rssi_avg_compare 
+05f0 6fe1478c fetch 2 ,mem_ui_state_map 
+05f1 c3858000 rtnbit1 ui_state_ble_adv 
+05f2 c3838000 rtnbit1 ui_state_bt_reconnect 
+05f3 c3830000 rtnbit1 ui_state_bt_discovery 
+05f4 6a214899 fetchr rega ,2 ,mem_rssi_signal_buf_ptr 
+05f5 204025cb call rssi_average 
+05f6 6048c8c7 storet 1 ,mem_rssi_avg_received 
+05f7 6fe0c8cc fetch 1 ,mem_rssi_dis_max_24g 
+05f8 c51305fa bmark1 mark_24g ,p_power_ctrl_start_next 
+05f9 6fe0c8cf fetch 1 ,mem_rssi_dis_max_ble 
+
+p_power_ctrl_start_next:
+05fa 98467c00 isub temp ,null 
+05fb 24210614 nbranch p_power_ctrl_txpower_incrs_force ,positive 
+05fc 6fe0c8c9 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+05fd 1fe67c02 sub pdata ,2 ,null 
+05fe 24210602 nbranch p_power_ctrl_txpower_decrs_check ,positive 
+05ff 6fe0c8c9 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0600 c0000615 beq 0 ,p_power_ctrl_txpower_incrs 
+0601 20600000 rtn 
+
+p_power_ctrl_txpower_decrs_check:
+0602 6fe0c8c9 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0603 6848c8ca fetcht 1 ,mem_power_ctrl_pac_succ_cnt_init 
+0604 98467c00 isub temp ,null 
+0605 24628000 nrtn zero 
+0606 7048c900 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+
+p_power_ctrl_txpower_decrs:
+0607 6848c8c7 fetcht 1 ,mem_rssi_avg_received 
+0608 6fe0c8cb fetch 1 ,mem_rssi_dis_min_24g 
+0609 c513060b bmark1 mark_24g ,p_power_ctrl_txpower_decrs_next 
+060a 6fe0c8ce fetch 1 ,mem_rssi_dis_min_ble 
+
+p_power_ctrl_txpower_decrs_next:
+060b 98467c00 isub temp ,null 
+060c 24610000 nrtn positive 
+060d 6fe0c8c8 fetch 1 ,mem_power_ctrl_level 
+060e c000271b beq 0 ,power_ctrl_decrs_level0 
+060f 1fe0ffff increase -1 ,pdata 
+0610 67e0c8c8 store 1 ,mem_power_ctrl_level 
+0611 c001061c beq 2 ,p_power_ctrl_decrs_level2 
+0612 c000a711 beq 1 ,power_ctrl_decrs_level1 
+0613 2020271b branch power_ctrl_decrs_level0 
+
+p_power_ctrl_txpower_incrs_force:
+0614 7048c900 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+
+p_power_ctrl_txpower_incrs:
+0615 6fe0c8c8 fetch 1 ,mem_power_ctrl_level 
+0616 c001861b beq 3 ,p_power_ctrl_incrs_level3 
+0617 1fe0fe01 increase 1 ,pdata 
+0618 67e0c8c8 store 1 ,mem_power_ctrl_level 
+0619 c000a711 beq 1 ,power_ctrl_incrs_level1 
+061a c001061c beq 2 ,p_power_ctrl_incrs_level2 
+
+p_power_ctrl_incrs_level3:
+061b 2020061c branch p_power_ctrl_incrs_level2 
+
+p_power_ctrl_decrs_level2:
+
+p_power_ctrl_incrs_level2:
+061c 7041e803 jam tx_power_3db ,mem_tx_power 
+061d 20600000 rtn 
               org 0x3bc1
 
 mouse_init:
@@ -3870,6 +4030,8 @@
 4171 6fe0cb95 fetch 1 ,mem_mouse_customerkey_press_status 
 4172 20404187 call mouse_check_key_connect_gnd 
 4173 67e0cb95 store 1 ,mem_mouse_customerkey_press_status 
+
+mouse_check_customerkey_state:
 4174 1a227e00 copy rega ,pdata 
 4175 c283c17a bbit1 mouse_customer_key ,mouse_customerkey_press 
 4176 2040417d call mouse_customerkey_release 
@@ -4364,6 +4526,8 @@
 
 mouse_data_extsign:
 42d3 c4038000 rtnbit0 7 
+
+mouse_data_overflow:
 42d4 d840ff00 arg 0xff00 ,temp 
 42d5 9841fe00 ior temp ,pdata 
 42d6 20600000 rtn 
@@ -6256,6 +6420,8 @@
 482b 20404576 call mouse_stop_discovery 
 482c 2040498e call mouse_low_voltage_led_blink_disable 
 482d 204048cc call mouse_discover_setting_led_gpio 
+
+mouse_24g_pair_mode_check:
 482e 70483601 jam type_ms ,mem_24g_data_type 
 482f 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
 4830 c30aa32e bbit0 mouse_enable_keyboard ,g24_pair_start 
Index: program/app_mouse.prog
===================================================================
--- /YC1308AC/branch/mouse_project/BR_Project/MultiMode/PBSwitch_3mode_3ch_CM892B/program/app_mouse.prog	(revision 4624)
+++ /YC1308AC/branch/mouse_project/BR_Project/MultiMode/PBSwitch_3mode_3ch_CM892B/program/app_mouse.prog	(working copy)
@@ -1981,6 +1981,7 @@
 	fetch 1,mem_mouse_customerkey_press_status
 	call mouse_check_key_connect_gnd
 	store 1,mem_mouse_customerkey_press_status
+mouse_check_customerkey_state:
 	copy rega,pdata
 	bbit1 MOUSE_CUSTOMER_KEY,mouse_customerkey_press
 	call mouse_customerkey_release
@@ -2464,6 +2465,7 @@
 
 mouse_data_extsign:
 	rtnbit0 7
+mouse_data_overflow:
 	arg 0xff00,temp
 	ior temp,pdata
 	rtn
@@ -4384,6 +4386,7 @@
 	call mouse_stop_discovery
 	call mouse_low_voltage_led_blink_disable
 	call mouse_discover_setting_led_gpio
+mouse_24g_pair_mode_check:
 	jam TYPE_MS,mem_24g_data_type
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
 	bbit0 MOUSE_ENABLE_KEYBOARD,g24_pair_start
Index: program/patch.prog
===================================================================
--- /YC1308AC/branch/mouse_project/BR_Project/MultiMode/PBSwitch_3mode_3ch_CM892B/program/patch.prog	(revision 4624)
+++ /YC1308AC/branch/mouse_project/BR_Project/MultiMode/PBSwitch_3mode_3ch_CM892B/program/patch.prog	(working copy)
@@ -1,22 +1,24 @@
 
-//define G24_OTA
-//define FIRE_KEY
 //define UART_LOG
 //define RSSI_SORT
+//define FIRE_KEY
 //define DOUBLE_DPI_KEY
-define LOGO_LED
-define S201X_SENSOR
-//define RGB_LED
-//define RGB_LED_MKEY
-//define RGB_LED_ON_AFTER_PAIR
 //define COMMBINATION_DPI
-define G24_RETRANSMIT_DPI
-//define YJX_ICE_SELECT_ANGLE
-//define LOAD_DEFAULT_DPI
+//define COMMBINATION_KEY_SELECT_DEVICE
+define G24_RETRANSMIT_KEY_SCAN
+define SEARCH_DONGLE
+// define S201X_SENSOR
+// define SELECT_ANGLE
+define PAIR_POWER_CTRL_20_50cm
+// define PAIR_POWER_CTRL_50_110cm
+define DISTANCE_DISCON
+//define FREQ_TEST
+//define LOGO_CTRL
+//define DPI_LOW_LOGO_MULTI
+define LOAD_DEFAULT_DPI
 
 	bbit1 8,pf_patch_ext
 	beq patch00_0,p_soft_reset
-	beq patch00_3,p_main_loop
 	beq patch10_2,p_shutdown_radio
 	beq patch10_3,p_set_sync_on
 	beq patch10_4,p_set_freq_rx
@@ -24,6 +26,7 @@
 	beq patch11_3,p_initialize_radio_cont	
 	beq patch11_4,p_save_rssi
 	beq patch13_7,p_init_param
+	beq patch14_4,p_lpm_dispatch
 	beq patch15_6,p_app_init
 	beq patch18_3,p_mouse_start_work
 	beq patch18_4,p_mouse_start_reconnect_device
@@ -49,8 +52,11 @@
 	branch loop
 
 pf_patch_ext:
-	beq patch23_2,p_send_lmp		
+	beq patch23_0,p_parse_lmp_accepted
+	beq patch23_2,p_send_lmp
+	beq patch23_7,p_process_conn_sm		
 	beq patch24_0,p_twspi_reset
+	beq patch25_3,p_efuse_vdd_off
 	beq patch26_3,p_adc_init_data
 	beq patch26_4,p_enable_adc
 	beq patch30_7,p_ui_timer_check		
@@ -58,7 +64,7 @@
 	beq patch34_3,p_le_slave_unsync
 	beq patch36_5,p_le_transmit
 	beq patch38_0,p_le_parse_l2cap
-	beq patch3b_5,p_g24_dispatch
+	beq patch3b_1,p_le_pairing_sm	
 	beq patch3c_2,p_g24_pair_dispatch
 	beq patch3d_1,p_g24_reconn_dispatch
 	beq patch3d_2,p_g24_transmit_no_interrupt
@@ -76,9 +82,83 @@
 	setarg mem_mouse_rssi_signal_buf_patch
 	store 2,mem_rssi_signal_buf_ptr	
 endif
+	call mouse_matrix_public_gpio_reset,wake
 	call mouse_xtal_init		// 16M / 24M
 	branch soft_reset+3
 
+p_efuse_vdd_off:
+	fetch 1,core_rf_ldo_en1
+	set0 5,pdata
+	set0 4,pdata
+	set0 0,pdata
+	store 1,core_rf_ldo_en1
+	nop 24
+	set0 3,pdata
+	branch efuse_vdd_off+6
+
+p_le_pairing_sm:
+	call le_fifo_check_nearly_full
+	nrtn blank	
+	fetch 1,mem_le_pairing_state
+	beq FLAG_LE_PARING_SEND_MASTER_IDENTIFICATION,p_le_pairng_sm_send_master_indentification
+	branch le_pairing_sm+4
+p_le_pairng_sm_send_master_indentification:	
+	fetch 1,mem_le_preq_resp_key_distribution
+	fetcht 1,mem_le_pres_resp_key_distribution
+	iand temp,pdata
+	isolate0 LE_INITATOR_IRK_BIT,pdata
+	branch le_parse_start_enc_rsp_after_auth_end,true
+	jam FLAG_LE_PARING_SEND_INDENTITY_INFORMATION,mem_le_pairing_state
+	branch p_le_send_smp_identity_information	
+p_le_send_smp_identity_information:
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_IDENTITY_INFORMATION
+	istore 1,contw
+	arg 16,loopcnt
+	arg mem_le_ltk,contr
+	branch memcpy
+
+p_parse_lmp_accepted:
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_SWITCH_REQ,p_parse_lmp_accepted_switch
+	branch parse_lmp_accepted+3
+p_parse_lmp_accepted_switch:
+	fetch 1,mem_connection_options
+	set0 CONNECTION_SWITCH,pdata
+	store 1,mem_connection_options
+	jam BT_EVT_SWITCH_ACCEPT,mem_fifo_temp
+	call ui_ipc_send_event
+	branch role_switch_prepare0
+
+p_process_conn_sm:
+	//nrtn master
+	call lmo_fifo_check
+	nrtn blank
+p_process_conn_sm_continue:
+	fetch 1,mem_conn_sm
+	rtn blank
+	fetch 1,mem_conn_sm
+	beq CONN_SM_SEND_CONN_REQ,p_host_create_conn_send_conn_req
+	branch process_conn_sm_continue+2
+p_host_create_conn_send_conn_req:
+	jam CONN_SM_WAIT_CONN_ACCEPT,mem_conn_sm
+	jam 0xfff,mem_soft_timer
+	set0 mark_reconn_recieve_switch,mark
+	jam LMP_HOST_CONNECTION_REQ,mem_lmo_opcode2
+	branch init_lmp_reinit
+
+p_lpm_dispatch:
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	fetch 1,mem_lpm_mode
+	rtn blank
+	fetch 1,mem_mouse_multi_led_blink_enable
+	nrtn blank
+	branch lpm_dispatch+6
+
 p_mouse_start_reconnect_device:
 	arg mem_device1_type,rega
 	fetch 1,mem_device_flag
@@ -98,15 +178,13 @@
 	branch twspi_reset+1
 
 p_mouse_led_on:
-	copy temp,pdata
-	rtneq GPIO_DISABLE
-	copy pdata,temp
+	sub temp,GPIO_DISABLE,null
+	rtneq zero
 	branch mouse_led_on+1
 
 p_mouse_led_off:
-	copy temp,pdata
-	rtneq GPIO_DISABLE
-	copy pdata,temp
+	sub temp,GPIO_DISABLE,null
+	rtneq zero
 	branch mouse_led_off+1
 
 p_led_num_check:		
@@ -115,60 +193,34 @@
 	jam 0,mem_ui_led_struct_num
 	rtn
 
-
 p_mouse_ready_reconnection_by_button:
 	fetch 1,mem_device_number
 	rtneq 1		// 1channel
 	call mouse_select_device_number
 	storet 1,mem_device_flag
-	call p_mouse_device_led_disable
+	call p_mouse_devide_led_disable
 	call p_mouse_low_voltage_led_off
 p_mouse_store_device_number_before_reset:	
 	jam 0,mem_link_key_exists
 	call mouse_select_device_enable
 	call p_mouse_stop_bluetooth_mode
+	call app_evt_button_long_pressed
+	call p_mouse_le_state_clear
 	branch mouse_store_device_number_before_reset+3
 
+p_mouse_le_state_clear:
+	setarg 0
+	store 8,mem_context
+	jam 0,mem_state
+	jam 0,memui_reconnect_mode
+//	call init_lmp_work
+	rtn
+
 p_mouse_stop_bluetooth_mode:
 	fetch 2,mem_ui_state_map
 	rtnbit1 UI_STATE_BT_RECONNECT
 	branch mouse_stop_bluetooth_mode+2
 
-p_main_loop:
-ifdef SIMPLE_PAIRING
-	call sp_calc_sequence
-endif
-ifdef SECURE_CONNECTION
-	call sp_calc_sequence_256
-endif
-ifdef SIMPLE_PAIRING
-ifdef SECURE_CONNECTION
-	call sp_calc_sequence_256_check
-endif
-endif
-	call le_advertising_dispatch
-	call idle_dispatch
-	call p_app_process_idle
-	branch main_loop+7
-
-p_app_process_idle:
-	call p_ui_dispatch
-	branch app_process_idle+2
-
-p_ui_dispatch:
-	call p_ui_led_dispatch
-	branch ui_timer_check
-
-p_ui_led_dispatch:
-	fetch 1,mem_ui_led_struct_num
-	rtn blank
-	fetch 2,mem_ui_led_struct_ptr
-	copy pdata,regb
-	add regb,LED_OFFSET_LED_GPIO,regb
-	ifetch 1,regb
-	rtneq GPIO_DISABLE
-	branch ui_led_dispatch+2
-
 /////////////////////////////////// adc//////////////////////////////////////
 p_set_sync_on:
 	jam 0x5,modem_en
@@ -198,7 +250,7 @@
 
 p_mouse_soft_agc_enable:
 	jam 0,mem_gain_fix
-	jam TX_POWER_F17DB,mem_tx_power
+	jam TX_POWER_FAST_CONN,mem_tx_power
 	rtn
 
 p_save_rssi:
@@ -230,41 +282,27 @@
 p_byte_sign_extern:
 	isolate1 7,pdata
 	nrtn true
-	arg 0xff00,temp
-	ior temp,pdata
-	rtn
+	branch mouse_data_overflow
 
 p_txon_next:
 	fetch 1,mem_tx_power
+	beq TX_POWER_FAST_CONN,set_tx_power_f20db	//fast conn
 	beq TX_POWER_F20DB,p_set_tx_power_pair
-	beq TX_POWER_F17DB,p_set_tx_power_fast_conn	//fast conn
 	branch txon_next+1
 
 p_set_tx_power_pair:
-	jam 0x05,core_tx_pwr_ctrl0
+ifdef PAIR_POWER_CTRL_50_110cm
+	jam 0x07,core_tx_pwr_ctrl0
 	jam 0x00,core_tx_pwr_ctrl1
 	branch set_rf_ldo_cfg89
+endif
 
-p_set_tx_power_fast_conn:
-	jam 0x09,core_tx_pwr_ctrl0
+ifdef PAIR_POWER_CTRL_20_50cm
+	jam 0x04,core_tx_pwr_ctrl0
 	jam 0x00,core_tx_pwr_ctrl1
 	branch set_rf_ldo_cfg89
-	
-ifdef G24_OTA
-p_g24_load_ota_config_poweron:
-	call iicd_load_gpio_init
-	call p_g24_check_ota_data
-	branch p_g24_load_ota_config,user
-	rtn
-
-p_g24_load_ota_config:	
-	arg iicd_read_eep,regc
-	fetch 2,mem_g24_ota_config_addr
-	increase 3,pdata
-	byteswap pdata,pdata
-	store 2,mem_addr_mi
-	branch load_storage_loop
-endif	
+endif
+	branch set_tx_power_f30db
 	
 p_adc_init_data:
 	arg mem_temp_block2,rega
@@ -304,10 +342,7 @@
 	storer regb,1,core_rf_ldo_cfg6
 	rtn
 
-
 p_mouse_adc_read_start:
-//	fetch 1,mem_24g_device_led_status
-//	nrtn blank
 	call p_enable_adc
 	jam 0,mem_adc_read_timer
 	call vdd_calculate_by_mode
@@ -324,22 +359,22 @@
 	arg mem_mouse_vdd_calculate_set,rega
 	call mouse_adc_bat_percent_lowpower_out
 	fetch 1,mem_adc_power_flag
-	bbit1 2,mouse_adc_button_press
+//	bbit1 2,mouse_adc_button_press
 	bbit1 1,p_mouse_power_down
 	bbit0 0,p_mouse_adc_no_low_voltage
 	branch mouse_adc_data_process_next
 
 p_mouse_power_down:
 	fetch 1,mem_mouse_led_new_interface_config		//can be remove?
-	bbit0 MOUSE_ENABLE_1IO2LED,mouse_power_down
+	bbit0 MOUSE_ENABLE_LED_NEW_INTERFACE,mouse_power_down
 	branch p_mouse_app_enter_hibernate
 	
 p_mouse_adc_no_low_voltage:
 	fetch 1,mem_mouse_led_new_interface_config
-	bbit0 MOUSE_ENABLE_1IO2LED,mouse_adc_no_low_voltage
+	bbit0 MOUSE_ENABLE_LED_NEW_INTERFACE,mouse_adc_no_low_voltage
 	arg MOUSE_LOW_VOLTAGE_FLAG,queue
 	call mouse_disable_function_flag
-	jam 12,mem_adc_low_volatage_led_timer_count_new
+	jam 1,mem_adc_low_volatage_led_timer_count_new
 	fetch 1,mem_mouse_adc_last_low_voltage_flag
 	rtn blank
 	jam 0,mem_mouse_adc_last_low_voltage_flag
@@ -354,28 +389,17 @@
 	sub pdata,4,null
 	nrtn zero
 //	jam 0,mem_adc_low_volatage_led_blink_enable
-	enable user
-	rtn
+	branch enable_user
 
 p_mouse_low_voltage_led_timer:
 	fetch 1,mem_mouse_led_new_interface_config
-	bbit0 MOUSE_ENABLE_1IO2LED,mouse_low_voltage_led_timer
-p_mouse_low_voltage_led_timer_new:	//new interface,multi lio2led
 	rtnbit0 MOUSE_ENABLE_LOW_LED
-	fetch 2,mem_mouse_discovery_timer
-	nrtn blank
-	fetch 2,mem_24g_pair_timeout
-	nrtn blank
-	fetch 2,mem_24g_reconn_timeout
-	nrtn blank
-	fetch 1,mem_mouse_multi_led_powon_timer
-	nrtn blank
+	fetch 1,mem_mouse_pair_flag
+	rtn blank
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
 	rtnbit0 MOUSE_LOW_VOLTAGE_FLAG
-
 	call p_mouse_check_dpi_blink		//need judge blink led=dpi? if led=dpi led->rtn
 	rtn user
-	
 	fetch 1,mem_mouse_multi_low_led_blink_count
 	branch p_mouse_low_led_blink_count_init_judge,blank
 p_mouse_low_led_blink_timer:
@@ -389,9 +413,9 @@
 	isub temp,null
 	nbranch p_mouse_low_voltage_led_off_judge,positive
 p_mouse_low_voltage_led_on_judge:
-	fetch 1,mem_mouse_led_new_interface_config
-	bbit1 MOUSE_ENABLE_LOW_FOR_LED,p_mouse_device_multi_led_on+1
-	bbit1 MOUSE_ENABLE_DPI_LOW_FOR_LED,p_mouse_device_multi_led_on+1
+	fetch 1,mem_mouse_led_multi_type
+	beq MOUSE_ENABLE_LOW_FOR_LED,p_mouse_device_multi_led_on+1
+	beq MOUSE_ENABLE_DPI_LOW_FOR_LED,p_mouse_device_multi_led_on+1
 p_mouse_low_voltage_led_on:
 	fetcht 1,mem_mouse_low_gpio 
 	branch p_mouse_multi_led_on
@@ -400,12 +424,12 @@
 	jam 1,mem_adc_low_volatage_led_timer_count_new
 	call p_mouse_low_led_blink_decrease		//blink count decrease
 p_mouse_low_voltage_led_off_judge:
-	fetch 1,mem_mouse_led_new_interface_config
-	bbit1 MOUSE_ENABLE_LOW_FOR_LED,p_mouse_device_multi_led_off+1
-	bbit1 MOUSE_ENABLE_DPI_LOW_FOR_LED,p_mouse_device_multi_led_off+1
+	fetch 1,mem_mouse_led_multi_type
+	beq MOUSE_ENABLE_LOW_FOR_LED,p_mouse_device_multi_led_off+1
+	beq MOUSE_ENABLE_DPI_LOW_FOR_LED,p_mouse_device_multi_led_off+1
 p_mouse_low_voltage_led_off:
 	fetcht 1,mem_mouse_low_gpio
-	branch p_gpio_set_high_impedance
+	branch gpio_set_analog
 
 p_mouse_low_led_blink_decrease:
 	fetch 1,mem_mouse_multi_low_led_blink_count
@@ -461,18 +485,10 @@
 ifdef LOAD_DEFAULT_DPI
 	ncall p_mouse_load_default_dpi,wake
 endif
-	call p_mouse_init_sunt
-	rtn wake
-	jam 0,mem_mouse_dpi_led_blink_enable
-	
-ifdef RGB_LED_ON_AFTER_PAIR
-	jam 1,mem_rgb_led_on_continue_1min_timeout_flag
-	call p_mouse_rgb_led_off_time_init
-endif
-
-ifdef COMMBINATION_DPI
-	jam 0,mem_mouse_commbination_dpi_check_enable
-endif
+	ncall p_mouse_le_name_load,wake
+	call mouse_init_sunt
+	rtn wake	
+	jam 0,mem_mouse_pair_flag
 	call p_mouse_seting_sensor_type
 	call mouse_usb_check_enable
 	call mouse_drawing_optima_init
@@ -480,14 +496,6 @@
 	call p_mouse_sensor_powerdown
 	branch mouse_init+8
 
-
-ifdef LOAD_DEFAULT_DPI
-p_mouse_load_default_dpi:
-	fetch 1,mem_config_sensor_dpi
-	store 1,mem_mouse_dpi
-	rtn
-endif
-
 ifdef DOUBLE_DPI_KEY
 p_mouse_double_dpi_judge:
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
@@ -498,6 +506,8 @@
 	jam 0,mem_mouse_another_dpi_connect_vin_flag
 	rtn
 p_mouse_another_dpi_connect_vin:
+	set0 gpio_active_bit,pdata
+	store 1,mem_dpi_another_button_gpio
 	jam 1,mem_mouse_another_dpi_connect_vin_flag
 	rtn
 endif
@@ -511,114 +521,100 @@
 	jam 0,mem_mouse_firebutton_connect_vin_flag
 	rtn
 p_mouse_firebutton_connect_vin:
+	set0 gpio_active_bit,pdata
+	store 1,mem_firebutton_gpio
 	jam 1,mem_mouse_firebutton_connect_vin_flag
 	rtn
 endif
 
-p_mouse_le_name_load:
-	fetch 8,mem_le_name_patch
-	rtn blank
-	fetch 1,mem_le_name_patch_len
-	copy pdata,rega
-	sub pdata,11,null
-	nbranch p_mouse_le_name_patch_len_overflow,positive
-
-	call p_mouse_le_name_clear
-		
-	arg mem_le_adv_swift_pair+9,contw
-	call p_mouse_le_name_load_next
-	
-	arg mem_le_scan_data+2,contw
-	call p_mouse_le_name_load_next
-	
-	arg mem_le_name,contw
-p_mouse_le_name_load_next:
-	arg mem_le_name_patch,contr
-	copy rega,loopcnt
-	branch memcpy
-
-p_mouse_le_name_clear:
-	arg mem_le_adv_swift_pair+9,contw
-	call p_mouse_le_name_clear_next
-	
-	arg mem_le_scan_data+2,contw
-	call p_mouse_le_name_clear_next
-
-	arg mem_le_name,contw
-p_mouse_le_name_clear_next:
-	arg 11,loopcnt
-	branch clear_mem	
+p_mouse_customer_key_connect_vin:
+	fetch 1,mem_customer_key_gpio
+	rtneq GPIO_DISABLE
+	rtnbit0 7
+	set0 gpio_active_bit,pdata
+	store 1,mem_customer_key_gpio
+	jam 1,mem_mouse_customer_key_connect_vin_flag
+	rtn
 
-p_mouse_le_name_patch_len_overflow:
-	call p_mouse_le_swift_pair_disable
-	fetch 1,mem_le_name_patch_len
-	increase 1,pdata
-	store 1,mem_le_adv_swift_pair
-	jam 9,mem_le_adv_swift_pair+1
-	arg mem_le_name_patch,contr
-	arg mem_le_adv_swift_pair+2,contw
-	copy rega,loopcnt
-	call memcpy
+/**************************************LE Name Set**********************************/	
+p_mouse_le_name_load:
+	fetch 1,mem_mouse_le_name_modify_enable
+	beq 0,p_mouse_ble_set_single_name
+	beq 1,p_mouse_le_set_double_name
+	rtn
 
+p_mouse_ble_set_single_name:	
 	fetch 1,mem_le_name_patch_len
-	increase 1,pdata
-	store 1,mem_le_scan_data
-	jam 9,mem_le_scan_data+1
-	arg mem_le_name_patch,contr
-	arg mem_le_scan_data+2,contw
-	copy rega,loopcnt
-	call memcpy
-
+	rtn blank
 	arg mem_le_name_patch_len,contr
+p_mouse_ble_name_set:
+	add pdata,1,loopcnt
 	arg mem_le_name_len,contw
-	copy rega,loopcnt
-	increase 1,loopcnt
 	branch memcpy
-	
-p_mouse_le_swift_pair_disable:
-	arg mem_le_adv_swift_pair,contw
+
+p_mouse_le_set_double_name:
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,p_mouse_ble_set_single_name
+	beq MODE_BT_DEVICE2,p_mouse_le_device2_name_set
+	rtn
+
+p_mouse_le_device2_name_set:
+	call p_mouse_le_set_another_name
+	fetch 1,mem_lap+5
+	pincrease 1,pdata
+	store 1,mem_lap+5
 	arg 20,loopcnt
-	branch clear_mem
+	arg mem_bt_device2_name,contr
+	arg mem_local_name_length,contw
+	branch memcpy
+
+p_mouse_le_set_another_name:
+	fetch 1,mem_ble_device2_name
+	rtn blank
+	arg mem_ble_device2_name,contr
+	branch p_mouse_ble_name_set
+	
+/**************************************LE Name Set**********************************/	
 
 p_mouse_setting_config:
 	rtn wake
-ifdef G24_OTA
-	ncall p_g24_load_ota_config_poweron,wake
-endif
 	call g24_transmit_init
 	call g24_chmap_param_init
-	call mouse_gpio_init
-	call p_mouse_le_name_load	
+	call mouse_gpio_init	
 	call mouse_param_init
-ifdef YJX_ICE_SELECT_ANGLE
-	call p_mouse_sensor_set_angle
-	fetcht 1,mem_mouse_sensor_sdio_gpio
-	call gpio_config_input
-	call p_ice_gpio_set_float
+	call p_mouse_le_buff_modify
+ifdef SELECT_ANGLE
+	call p_mouse_sensor_angle_set
 endif
 	call p_mouse_device_multi_led_parm_init
+ifdef DPI_LOW_LOGO_MULTI
+	call p_mouse_d_l_l_led_multi_parm_init
+endif
+
 ifdef FIRE_KEY
 	call p_mouse_firebutton_connect_state_check
 endif	
 ifdef DOUBLE_DPI_KEY
 	call p_mouse_double_dpi_judge
 endif
+	call p_mouse_customer_key_connect_vin
 	call p_mouse_store_normal_tx_power
 	call le_set_config_fixed_ltk
-	call le_set_justwork
+	call p_le_set_justwork
 	call le_set_fixed_ltk
 	call le_set_config_read_authentication
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	bbit1 MOUSE_ENABLE_EEPROM,p_mouse_load_eeprom_info_check
-	bbit1 MOUSE_ENABLE_FLASH,mouse_load_flash_info_check
-	rtn
-
+	rtnbit0 MOUSE_ENABLE_EEPROM
 p_mouse_load_eeprom_info_check:
 	call iicd_read_init_pin
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
 	isolate1 MOUSE_ENABLE_2K_EEPROM,pdata
 	ncall clear_eeprom_size_2k,true
 	call mouse_eeprom_load_recon_info
+ifdef LOGO_CTRL	
+	call p_mouse_logo_state_flag_check
+endif	
+	call p_mouse_load_device_flag_check
 
 	fetch 2,mem_store_flag
 	arg EEPROM_INIT_FLAG,temp
@@ -628,35 +624,113 @@
 	call mouse_ble_init_address
 	fetch 1,mem_device_flag_temp
 	store 1,mem_device_flag
+p_mouse_load_default_dpi:
 	fetch 1,mem_config_sensor_dpi
 	store 1,mem_mouse_dpi
 	rtn
 
+p_le_set_justwork:
+	setarg 0x01000302
+	store 4,mem_le_pres
+	setarg 0x030010
+	store 3,mem_le_pres_max_keysize
+	jam 1,mem_le_pairing_mode
+	rtn
+	
+ifdef LOGO_CTRL
+p_mouse_logo_state_flag_check:
+	fetch 1,mem_mouse_logo_ctrl_type
+	rtnbit0 LOGO_LED_MEMORY
+	fetch 1,mem_mouse_retention+2
+	sub pdata,0xff,null
+	call set_pdata_0,zero
+	store 1,mem_mouse_logo_led_state
+	rtn
+endif
+
+p_mouse_load_device_flag_check:
+	fetch 1,mem_device_flag
+	sub pdata,3,null
+	rtn positive
+	jam MODE_24G_DEVICE,mem_device_flag
+	rtn
+
+p_mouse_le_buff_modify:
+	setarg mem_le_tx_buffer0_omemalloc_new
+	store 2,mem_ble_l2cap_tx_buff0_ptr
+	setarg MOUSE_BLE_L2CAP_TXBUFF_SIZE_NEW
+	store 2,mem_ble_l2cap_tx_buff_size_ptr
+	rtn
 
-ifdef YJX_ICE_SELECT_ANGLE
-p_mouse_sensor_set_angle:
+ifdef SELECT_ANGLE
+p_mouse_sensor_angle_set:
 	fetch 1,mem_sensor_angle_default
 	store 1,mem_config_sensor_angle
 	fetch 1,mem_select_sensor_angle_gpio
 	rtneq GPIO_DISABLE
+	fetch 1,mem_mouse_select_sensor_angle_type	//default:00  ice:01 mz:02
+	rtn blank
+	beq 1,p_mouse_select_sensor_angle_by_ice
+	beq 2,p_mouse_select_sensor_angle_by_gpio
+	rtn
+
+p_mouse_select_sensor_angle_by_ice:
 	fetch 1,mem_select_sensor_angle_gpio
-	arg gpcfg_output_low,temp
- 	call gpio_config_function_int
- 	arg 0x03,pdata	//gpio3
-	arg gpcfg_output_low,temp
- 	call gpio_config_function_int
+	call p_mouse_gpio_config_output_low
+	arg 0x13,pdata
+ 	call p_mouse_gpio_config_output_low
  	fetcht 1,mem_mouse_sensor_sdio_gpio
 	call mouse_gpio_config_input_pu
 	fetcht 1,mem_mouse_sensor_sdio_gpio
 	call gpio_get_bit
 	ncall mouse_sensor_switch_angle,true
-	branch mouse_gpio_config_input_pd	
-
+	call mouse_gpio_config_input_pd	
 p_ice_gpio_set_float:
  	fetcht 1,mem_select_sensor_angle_gpio
 	call gpio_set_high_impedance
-	arg 0x03,temp	//gpio3
+	arg 0x13,temp
 	branch gpio_set_high_impedance
+
+
+p_mouse_select_sensor_angle_by_gpio:
+	call p_mouse_select_angle
+p_mouse_set_sensor_gpio_sleep: 
+	fetch 1,mem_config_sensor_angle
+	beq MOUSE_3CLK_ANGLE,p_mouse_set_sensor_gnd_set
+	beq MOUSE_12CLK_ANGLE,p_mouse_set_sensor_vin_set
+	rtn
+
+p_mouse_set_sensor_gnd_set:
+	fetch 1,mem_select_sensor_angle_gpio
+	call p_mouse_gpio_config_output_low
+	fetcht 1,mem_select_sensor_angle_gpio
+	branch mouse_gpio_config_input_pd
+	
+p_mouse_set_sensor_vin_set:
+	fetch 1,mem_select_sensor_angle_gpio
+	call p_mouse_gpio_config_output_high
+	fetcht 1,mem_select_sensor_angle_gpio
+	branch mouse_gpio_config_input_pu
+	
+p_mouse_select_angle:
+	call p_mouse_set_sensor_vin_set
+	fetcht 1,mem_select_sensor_angle_gpio
+	call gpio_get_bit
+	branch p_mouse_set_sensor_angle_gnd,true
+
+	call p_mouse_set_sensor_gnd_set
+	fetcht 1,mem_select_sensor_angle_gpio
+	call gpio_get_bit
+	branch p_mouse_set_sensor_angle_float,true	
+p_mouse_set_sensor_angle_vin:
+	jam MOUSE_12CLK_ANGLE,mem_config_sensor_angle
+	rtn
+p_mouse_set_sensor_angle_gnd:
+	jam MOUSE_3CLK_ANGLE,mem_config_sensor_angle
+	rtn
+p_mouse_set_sensor_angle_float:
+	jam MOUSE_6CLK_ANGLE,mem_config_sensor_angle
+	rtn
 endif
 
 p_mouse_store_normal_tx_power:
@@ -664,26 +738,24 @@
 	store 1,mem_normal_tx_power
 	rtn
 
-p_mouse_fetch_normal_tx_power:
-	fetch 1,mem_normal_tx_power
-	store 1,mem_tx_power
-	rtn
-
 p_mouse_cb_fuction:
 	setarg p_mouse_24g_package_data
 	store 2,mem_cb_24g_transmit_data
+ifdef SEARCH_DONGLE
 	setarg p_mouse_24g_search_dongle
 	store 2,mem_cb_24g_search_receiver
+endif
 	branch mouse_cb_fuction+4
 
 p_mouse_24g_package_data:		// 250Hz
 	rtnmark0 mark_24g
-ifdef G24_OTA
-	fetch 1,mem_g24_ota_mode
-	nbranch p_mouse_24g_package_ota,blank
-endif
 	call mouse_motion
 	nrtn user
+	fetch 1,mem_long_sleep_flag
+	jam 0,mem_long_sleep_flag
+	ncall p_mouse_short_sleep_clear_wake,blank
+//	branch mouse_24g_package_data+3
+	
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
 	bbit0 MOUSE_ENABLE_KEYBOARD,p_mouse_24g_mouse_package_data
 	fetch 1,mem_customer_key
@@ -712,6 +784,11 @@
 	//rtn blank
 	branch g24_transmit_by_interrupt_enable
 
+p_mouse_short_sleep_clear_wake:
+	call clear_wake
+	branch lpm_write_gpio_wakeup
+
+ifdef SEARCH_DONGLE
 p_mouse_24g_search_dongle:
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
 	rtnbit0 MOUSE_ENABLE_24G_SEARCH_DONGLE
@@ -741,8 +818,16 @@
 	fetch 1,mem_mouse_search_dongle_count
 	increase 1,pdata
 	store 1,mem_mouse_search_dongle_count
-	beq G24_CH_POLL_COUNT,p_mouse_24g_search_dongle_check
-	rtn	
+	rtnne G24_CH_POLL_COUNT
+p_mouse_24g_search_dongle_check:
+	jam 0,mem_mouse_search_dongle_count
+	fetch 1,mem_mouse_search_dongle_action
+	rtnbit1 G24_DISCONN_STATE
+	set1 G24_DISCONN_STATE,pdata
+	store 1,mem_mouse_search_dongle_action
+	fetch 2,mem_mouse_24g_search_dongle_time_init		
+	store 2,mem_mouse_no_data_timer
+	branch p_mouse_sensor_powerdown
 
 p_mouse_24g_search_dongle_success:
 	fetch 1,mem_24g_abort_pac
@@ -758,16 +843,7 @@
 p_mouse_24g_search_dongle_loop_retry:
 	call g24_ch
 	branch p_mouse_24g_search_dongle_loop
-
-p_mouse_24g_search_dongle_check:
-	jam 0,mem_mouse_search_dongle_count
-	fetch 1,mem_mouse_search_dongle_action
-	rtnbit1 G24_DISCONN_STATE
-	set1 G24_DISCONN_STATE,pdata
-	store 1,mem_mouse_search_dongle_action
-	fetch 2,mem_mouse_24g_search_dongle_time_init		
-	store 2,mem_mouse_no_data_timer
-	branch p_mouse_sensor_powerdown
+endif
 
 p_g24_transmit_no_interrupt:
 	call g24_txdata_prep
@@ -800,9 +876,6 @@
 	nbranch p_g24_retransmit,sync
 	nbranch p_g24_retransmit,user3
 	call g24_ackpayload_parse		
-ifdef G24_OTA
-	call p_g24_mouse_parse_rx
-endif
 	call p_mouse_wakeup_24g
 	branch g24_transmit_no_ack
 
@@ -810,9 +883,8 @@
 p_g24_retransmit:
 	fetch 1,mem_mouse_need_soft_reset
 	nrtn blank
-	call p_mouse_select_device_by_pb_button
-ifdef G24_RETRANSMIT_DPI
-	call p_mouse_select_device_by_dpi_button_once
+ifdef G24_RETRANSMIT_KEY_SCAN
+	call p_mouse_g24_retransmit_key_scan
 endif
 	fetch 1,mem_24g_abort_pac
 	nrtn  blank
@@ -831,7 +903,7 @@
 	rtn positive
 	arg 40,loopcnt
 	branch delay_ms_wait
-
+	
 p_g24_transmit_hop_process:
 	fetcht 1,mem_24g_retry
 	fetch 1,mem_24g_fast_hop_count			// 125Hz=11  250Hz=5
@@ -843,16 +915,27 @@
 	fetch 4,mem_24g_addr
 	fetcht 4,mem_24g_fast_conn_addr
 	isub temp,null
-	branch g24_ch,zero
+	branch g24_ch,zero		//fast conn->power no chage
+ifdef DISTANCE_DISCON
+	call p_power_ctrl_txpower_incrs
+	call power_ctrl_pac_succ_decrs
+	branch g24_ch
+else
 	branch g24_tx_fast_hop
+endif
+
 
-ifdef G24_RETRANSMIT_DPI
-p_mouse_select_device_by_dpi_button_once:
+ifdef G24_RETRANSMIT_KEY_SCAN
+p_mouse_g24_retransmit_key_scan:
 	arg 12,queue
 	call timer_check
 	nrtn blank
+	call p_mouse_select_device_by_pb_button
 	call p_mouse_dpi_check_once
 	call mouse_dpi_key_check_long_press
+ifdef COMMBINATION_KEY_SELECT_DEVICE
+	call p_mouse_retransmit_mouse_key_check
+endif
 p_mouse_g24_retransmit_100ms_timer_init:
 	arg 12,queue
 	setarg 160
@@ -861,13 +944,16 @@
 p_mouse_dpi_check_once:
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
 	rtnbit0 MOUSE_ENABLE_SELECT_DEVICE_BY_DPI_BUTTON
-//	jam 0x03,mem_mouse_dpikey_press_status
 	branch p_mouse_dpi_check
 endif
 
+p_mouse_select_device_by_pb_button_check_once:
+	jam 0x03,mem_mouse_pbkey_press_status
 p_mouse_select_device_by_pb_button:
 	fetch 1,mem_config_select_device_button_gpio
 	rtneq GPIO_DISABLE
+	fetch 1,mem_store_information_delay_timer
+	nrtn blank
 	arg 0,rega
 	jam MOUSE_PB_KEY,mem_mouse_key_temp
 	fetcht 1,mem_config_select_device_button_gpio
@@ -893,6 +979,7 @@
 	rtn	
 	
 p_mouse_wakeup_24g_from_long_sleep:
+	jam 1,mem_mouse_pair_flag
 	call p_mouse_init_sensor_wakeup
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
 	rtnbit0 MOUSE_ENABLE_WHEEL_WAKE_UP_CANCEL
@@ -905,33 +992,17 @@
 /////////////////////////////////// g24 250Hz use lpm//////////////////////////////////////
 	
 p_mouse_app_enter_hibernate:	// 1.3mA hibernate after sensroe reset
-ifdef RGB_LED
-	fetch 1,mem_mouse_rgb_adc_no_power_flag
-	nrtn blank
-	jam 1,mem_mouse_rgb_adc_no_power_flag
-endif
 	setarg PAN_REG_CONFIG
 	call twspi_read
 	bbit1 3,mouse_app_enter_hibernate+3
 	call p_mouse_sensor_reset
 	call p_mouse_sensor_powerdown
-ifdef RGB_LED
-	branch p_mouse_rgb_led_off
-endif
 	branch mouse_app_enter_hibernate+3
 
 p_mouse_setgpio_hibernate:
 	call mouse_set_sdio_high
 	call clear_wake
-ifdef LOGO_LED
-	call p_mouse_logo_led_off
-endif
-	call mouse_low_voltage_led_off
 	call mouse_before_hibernate_wheel_gpio_set
-	fetcht 1,mem_matrix_public_gpio		// enable b4/b5/dpi wakeup
-	call gpio_out_active
-	fetcht 1,mem_matrix_public_gpio
-	call gpio_clr_wake
 	fetch 1,mem_mouse_sensor_sdio_gpio
 	call p_mouse_gpio_config_output_high
 	arg 3,temp
@@ -939,6 +1010,7 @@
 	call p_mouse_lpm_before_common
 	call gpio_pd_idle
 	call p_mouse_device_multi_led_all_off
+	call p_mouse_logo_led_off
 	arg 19,temp
 	call mouse_gpio_config_input_pu
 	call p_mouse_device_switch_gpio_high_impedance
@@ -969,10 +1041,10 @@
 //	rtn
 
 p_mouse_adc_gpio_set_before_hibernate:	
-	fetch 1,mem_mouse_led_new_interface_config
-	bbit1 MOUSE_ENABLE_1IO2LED,p_mouse_adc_gpio_set_before_hibernate_next
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
 	rtnbit0 MOUSE_ENABLE_ADC
+	fetcht 1,mem_adc_config_flag_init
+	rtnne ADC_CONFIG_GPIO
 p_mouse_adc_gpio_set_before_hibernate_next:
 	call p_mouse_adc_gpio_set
 	fetch 1,mem_adc_channel_gpio	
@@ -1006,6 +1078,11 @@
 	branch mouse_gpio_config_input_pd
 
 p_mouse_lpm_before_common:
+	fetcht 1,mem_matrix_public_gpio		// enable b4/b5/dpi wakeup
+	call gpio_out_active
+	fetcht 1,mem_matrix_public_gpio
+	call gpio_clr_wake
+	
 	fetcht 1,mem_whee_a_data_gpio		//reinit gpio pu after disable wheel wakeup
 	call gpio_config_input
 	fetcht 1,mem_whee_b_data_gpio
@@ -1026,14 +1103,17 @@
 	call p_g24_lpm_wait
 	nrtn user
 	call g24_setgpio_lpm_before
+	jam 1,mem_long_sleep_flag
 	fetch 1,mem_sensor_shutdown_flag
 	ncall p_mouse_setgpio_hibernate,blank
-	fetch 4,mem_24g_enter_hibernate
+	fetch 8,mem_24g_enter_hibernate
 	branch g24_long_sleep2
 
 p_g24_send_abort_packet:
 	jam TYPE_MS,mem_24g_data_type
-	jam 1,mem_24g_abort_pac
+	fetch 1,mem_sensor_shutdown_flag
+	setflip 0,pdata
+	store 1,mem_24g_abort_pac
 	call g24_transmit_rf_ctrl_clear
 	store 1,mem_24g_txbuf
 	setarg 0
@@ -1058,6 +1138,7 @@
 	beq BT_EVT_LE_CONNECTED,p_mouse_le_bb_event_connected
 	beq BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,p_mouse_le_conn_param_update_rsp_recieved
 	beq BT_EVT_HID_HANDSHAKE,p_mouse_bt_hid_handshake
+	beq BT_EVT_HID_CONNECTED,p_app_hid_connected
 	branch mouse_priority_bb_event+2
 
 p_mouse_bt_hid_handshake:
@@ -1065,26 +1146,19 @@
 	call app_lpm_mult_enable
 	branch mouse_bt_hid_handshake+3
 
+p_app_hid_connected:
+	call mouse_init_sensor_reset
+	call mouse_no_data_timer_init
+	call p_mouse_device_poweron_led_config
+	branch app_hid_connected
+
 p_mouse_le_bb_event_connected:
-ifdef RGB_LED_ON_AFTER_PAIR
-	call p_mouse_rgb_led_on_check_next
-endif
-ifdef COMMBINATION_DPI
-	jam 1,mem_mouse_commbination_dpi_check_enable
-endif
 	call p_mouse_device_poweron_led_config
 	branch mouse_le_bb_event_connected
 	
 p_mouse_bb_event_connected:
-	call mouse_no_data_timer_init
-ifdef RGB_LED_ON_AFTER_PAIR
-	call p_mouse_rgb_led_on_check_next
-endif
-ifdef COMMBINATION_DPI
-	jam 1,mem_mouse_commbination_dpi_check_enable
-endif
-	call p_mouse_device_poweron_led_config
-	branch mouse_bb_event_connected
+	jam 0,mem_mouse_long_mult_flag
+	branch mouse_bb_event_connected+2
 	
 p_mouse_le_bb_disconnected:
 	setarg 0
@@ -1110,29 +1184,21 @@
 	jam 1,mem_mouse_le_send_conn_param_update
 	jam 30,mem_mouse_le_send_conn_param_update_timer
 	rtn
+
+p_mouse_agc_disable_nomal_power:
+	call p_mouse_soft_agc_disable
+p_mouse_fetch_normal_tx_power:
+	fetch 1,mem_normal_tx_power
+	store 1,mem_tx_power
+	rtn
 	
 p_mouse_24g_pairing_complete:
-ifdef RGB_LED_ON_AFTER_PAIR
-	call p_mouse_rgb_led_on_check_next
-endif
-ifdef COMMBINATION_DPI
-	jam 1,mem_mouse_commbination_dpi_check_enable
-endif
-	call p_mouse_soft_agc_disable
-	call p_mouse_fetch_normal_tx_power
+	call p_mouse_agc_disable_nomal_power
 	call mouse_no_data_timer_init
-	arg MOUSE_24G_PAIRING_FLAG,queue
-	call mouse_disable_function_flag
 	call p_mouse_device_poweron_led_config
-	branch mouse_24g_pairing_complete+2
+	branch mouse_24g_pairing_complete
 
 p_mouse_24g_attempt_success:
-ifdef RGB_LED_ON_AFTER_PAIR
-	call p_mouse_rgb_led_on_check_next
-endif
-ifdef COMMBINATION_DPI
-	jam 1,mem_mouse_commbination_dpi_check_enable
-endif
 	fetch 4,mem_24g_addr
 	store 4,mem_24g_receiver_addr
 	store 4,mem_mouse_24g_addr		// if need store 24g address to eeprom/flash,need get mem_24g_addr
@@ -1147,18 +1213,18 @@
 	fetcht 4,mem_24g_fast_conn_addr
 	isub temp,null
 	rtn zero
-	call p_mouse_soft_agc_disable
-	call p_mouse_fetch_normal_tx_power
+	call p_mouse_agc_disable_nomal_power
 	branch mouse_24g_first_store_reconn_info
 
 
 p_mouse_24g_attempt_fail:
-	call p_mouse_soft_agc_disable
-	call p_mouse_fetch_normal_tx_power
+	call p_mouse_agc_disable_nomal_power
 	fetch 1,mem_24g_attempt_fail_flag
 	nbranch p_mouse_24g_hibernate_set,blank
 	fetch 1,mem_24g_reconn_type
 	beq FAST_CONN_AND_3_0_ADDR,p_mouse_24g_fast_conn_attempt_fail
+	beq FAST_CONN_AND_RECEIVER,p_mouse_24g_fast_conn_attempt_fail
+	beq PAIR_AND_RECEIVER,mouse_24g_auto_pair_attempt_fail
 	branch mouse_24g_attempt_fail+4
 
 p_mouse_24g_fast_conn_attempt_fail:
@@ -1171,23 +1237,30 @@
 	isub temp,null
 	branch p_mouse_24g_start_pair_mode,zero
 	branch mouse_24g_reconn_dongle_start
-	
+
+p_mouse_24g_start_auto_pair:
+	fetch 2,mem_24g_pair_timeout_init
+	store 2,mem_24g_reconn_timeout
+	jam PAIR_AND_RECEIVER,mem_24g_reconn_type
+	branch g24_reconn_start
+
 p_mouse_24g_start_pair_mode:
+ifdef LOGO_CTRL	
+	call p_mouse_logo_ctrl_off_set
+endif
 	jam 0,mem_24g_reconn_type
+	call p_mouse_device_pair_led_config
 	branch mouse_24g_start_pair_mode
 
 p_mouse_24g_hibernate_set:
-ifdef RGB_LED
-	set0 mark_24g,mark
-	branch p_mouse_rgb_led_off
-endif
-p_mouse_24g_hibernate_set_next:
+	jam 0,mem_mouse_pair_flag
 	jam 0,mem_24g_attempt_fail_flag
 	call g24_transmit_next_packet
 	setarg -1
-	store 4,mem_24g_enter_hibernate
+	store 8,mem_24g_enter_hibernate
 	setarg 0
 	store 7,mem_mouse_key
+	store 1,mem_24g_abort_pac				// when dpi/pb wakeup 	
 	jam 1,mem_sensor_shutdown_flag
 	call p_mouse_sensor_powerdown
 	branch p_g24_long_sleep
@@ -1220,7 +1293,7 @@
 	fetch 4,mem_24g_pair_addr
 	fetcht 4,mem_24g_addr
 	isub temp,null
-	branch g24_pair_start,zero
+	branch p_mouse_g24_reconn_mode_judge,zero
 	
 	fetch 4,mem_24g_device_addr
 	fetcht 4,mem_24g_addr
@@ -1240,6 +1313,12 @@
 	rtn blank
 	store 4,mem_24g_receiver_addr	
 	branch g24_ch_syncword_crc8_init
+
+p_mouse_g24_reconn_mode_judge:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_AUTO_24G_PARING,mouse_24g_pair_mode_check
+	bbit1 MOUSE_ENABLE_24G_FIRST_AUTO_PAIRING,mouse_24g_pair_mode_check
+	branch g24_reconn_receiver_addr
 	
 p_g24_reconn_device_fail:
 	fetch 1,mem_24g_fast_conn_enable
@@ -1248,81 +1327,72 @@
 	increase 1,pdata
 	store 2,mem_24g_reconn_count
 	isolate1 9,pdata	// each 8 times switch
-	fetch 1,mem_24g_reconn_type	
-	beq FAST_CONN_AND_RECEIVER,p_g24_reconn_fast_conn_and_receiver
-	beq FAST_CONN_AND_3_0_ADDR,p_g24_reconn_fast_conn_and_3_0
+	fetch 1,mem_24g_reconn_type
+	beq PAIR_AND_RECEIVER,p_g24_reconn_pair_receiver
 	beq PAIR_AND_3_0_ADDR,p_g24_reconn_pair_and_3_0
-	branch g24_reconn_device_fail+9
+	beq FAST_CONN_AND_3_0_ADDR,p_g24_reconn_fast_conn_and_3_0
+	branch g24_reconn_device_fail+7
 
-p_g24_reconn_fast_conn_and_receiver:
+p_g24_reconn_pair_receiver:
 	branch g24_reconn_receiver_addr,true
-p_mouse_fast_conn_tx_power_set:
-	jam TX_POWER_F17DB,mem_tx_power
-	call p_set_tx_power_fast_conn
-	branch g24_reconn_fast_conn+2
-
-p_g24_reconn_fast_conn_and_3_0:
-	branch g24_reconn_device_3_0_addr,true
-	branch p_mouse_fast_conn_tx_power_set
+	branch g24_pair_init_param
 
 p_g24_reconn_pair_and_3_0:
 	branch g24_reconn_device_3_0_addr,true
 	branch g24_pair_init_param
 
-p_g24_dispatch:
-ifdef RGB_LED
-	fetch 1,mem_sensor_shutdown_flag
-	ncall p_mouse_enable_g24_mark,blank
-endif
-	bmark1 mark_24g_rxmode,g24_receive_dispatch
-p_g24_transmit_dispatch:
-	rtnmark0 mark_24g
-	fetch 1,mem_24g_conn_sm
-ifdef G24_OTA
-	bbit1 STATE_24G_OTA,p_g24_ota_dispatch
-endif
-	branch g24_transmit_dispatch+2
-
-ifdef RGB_LED
-p_mouse_enable_g24_mark:
-	jam ON,mem_rgb_led_on_enable
-	call p_mouse_rgb_led_on_enable_timer_init
-	set1 mark_24g,mark
-	rtn
-p_mouse_rgb_led_on_enable_timer_init:	
-	jam OFF,mem_rgb_led_off_enable	//gpio ouput active 1s enable rgb led
-	jam 11,mem_rgb_led_on_enable_timer
-	rtn
-endif
+p_g24_reconn_fast_conn_and_3_0:
+	branch g24_reconn_device_3_0_addr,true
+p_mouse_fast_conn_tx_power_set:
+	jam TX_POWER_FAST_CONN,mem_tx_power
+	branch g24_reconn_fast_conn+2
 
 p_mouse_start_work:
-	call p_mouse_device_poweron_led_config
+ifdef FREQ_TEST
+	call mouse_key_check_once
+	and rega,0x07,pdata
+	beq MOUSE_LMR_BUTTON,p_mouse_freq_test_mode
+endif
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	bbit1 MOUSE_ENABLE_24G_FIRST_AUTO_PAIRING,mouse_24g_first_start_auto_pair_mode
+	bbit1 MOUSE_ENABLE_24G_FIRST_AUTO_PAIRING,p_mouse_24g_first_start_auto_pair_mode
 	fetch 1,mem_device_flag
 	beq MODE_24G_DEVICE,p_mouse_24g_start_mode
 	call p_mouse_device_le_reconn_led_config
 	branch mouse_start_work+5
+
+p_mouse_24g_first_start_auto_pair_mode:
+	call mouse_wakeup_from_power_check
+	branch mouse_24g_first_start_reconn,user  	// wake from hibernate :enble user
+p_mouse_24g_reconn_general_dongle:
+	jam MODE_24G_DEVICE,mem_device_flag
+	fetch 2,mem_mouse_24g_power_on_fast_conn_timer
+	store 2,mem_24g_reconn_timeout
+	jam FAST_CONN_AND_RECEIVER,mem_24g_reconn_type
+	branch g24_reconn_start
 	
 p_mouse_24g_start_mode:
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
 	bbit0 MOUSE_ENABLE_24G,mouse_24g_mode_setup_error
+	call p_mouse_device_pair_led_config
 	call mouse_wakeup_from_power_check	// wake from hibernate :enble user
 	branch mouse_24g_reconn_dongle_start,user
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	bbit1 MOUSE_ENABLE_AUTO_24G_PARING,mouse_24g_reconn_general_dongle
+	bbit1 MOUSE_ENABLE_AUTO_24G_PARING,p_mouse_24g_reconn_general_dongle
 	bbit0 MOUSE_ENABLE_24G_POWER_ON_PAIRING,mouse_24g_reconn_general_dongle
 	call mouse_key_check_once		
 	and rega,0x07,pdata
-	branch mouse_24g_start_mode+9
+	fetcht 1,mem_mouse_commbination_key_24g
+	isub temp,null
+	branch p_mouse_24g_start_pair_mode,zero
+	branch mouse_24g_reconn_general_dongle
 	
 //=============dpi level setting===========//
 p_mouse_seting_dpi:
 	call mouse_setting_dpi_4_level
 	call p_mouse_dpi_led_blink_delay
 p_mouse_seting_sensor_type:
-ifdef S201X_SENSOR
 	fetch 1,mem_config_sensor_type
+ifdef S201X_SENSOR
 	beq S201X,p_mouse_seting_S201_dpi
 endif
 	branch mouse_seting_sensor_type
@@ -1330,41 +1400,38 @@
 ifdef S201X_SENSOR
 p_mouse_seting_S201_dpi:
 	fetch 1,mem_mouse_dpi
-	beq MOUSE_DPI_LEVEL1,p_mouse_set_S201_dpi_0	//1200
+	beq MOUSE_DPI_LEVEL1,p_mouse_set_S201_dpi_1	//1600
 	beq MOUSE_DPI_LEVEL2,p_mouse_set_S201_dpi_2	//2400
 	beq MOUSE_DPI_LEVEL3,p_mouse_set_S201_dpi_3	//3200
+	beq MOUSE_DPI_LEVEL4,p_mouse_set_S201_dpi_4	//800
+	rtn
 p_mouse_set_S201_dpi_0:	//1200
 	fetch 1,mem_sensor_s201_dpi_0
-	copy pdata,rega
+	branch p_mouse_dpi_S201_store
+
+p_mouse_set_S201_dpi_1:	//1600
+	fetch 1,mem_sensor_s201_dpi_1
 	branch p_mouse_dpi_S201_store
 	
 p_mouse_set_S201_dpi_2:	//2400
 	fetch 1,mem_sensor_s201_dpi_2
-	copy pdata,rega
 	branch p_mouse_dpi_s201_store
 
 p_mouse_set_S201_dpi_3:	//3200
 	fetch 1,mem_sensor_s201_dpi_3
-	copy pdata,rega
 p_mouse_dpi_s201_store:
+	copy pdata,rega
 	setarg 0xc309
 	call twspi_write
 	copy rega,pdata
 	lshift8 pdata,pdata
 	add pdata,0x23,pdata
 	call twspi_write
-	setarg 0x0009
-	branch twspi_write
+	branch mouse_sensor_enable_wp
 
-//p_mouse_set_S201_dpi_1:	//1600
-//	fetch 1,mem_sensor_s201_dpi_1
-//	copy pdata,rega
-//	branch p_mouse_dpi_S201_store
-	
-//p_mouse_set_S201_dpi_4:	//800
-//	fetch 1,mem_sensor_s201_dpi_4
-//	copy pdata,rega
-//	branch p_mouse_dpi_s201_store
+p_mouse_set_S201_dpi_4:	//800
+	fetch 1,mem_sensor_s201_dpi_4
+	branch p_mouse_dpi_s201_store
 endif
 p_mouse_init_sunt:
 	call mouse_sensor_spi_init		
@@ -1383,7 +1450,15 @@
 p_mouse_init_p32xx_id2_judge:
 	fetch 1,mem_sensor_id2
 	beq P3205_TJ3T_ID2,p_mouse_3205_3t_init_param
-	branch mouse_init_p32xx_id2_judge+1
+	beq P_MX8650,p_mouse_mx8650_init_param
+	branch mouse_init_p32xx_id2_judge+2
+
+p_mouse_mx8650_init_param:
+	jam MX8650,mem_config_sensor_type
+	call mouse_sensor_reset
+	call delay_10ms
+	arg mem_sensor_8650_init,regc
+	branch p_mouse_sensor_end
 
 p_mouse_3205_3t_init_param:
 ifdef S201X_SENSOR
@@ -1402,29 +1477,13 @@
 //===========dpi led blink==============//
 p_mouse_dpi_led_blink_delay:
 	fetch 1,mem_mouse_led_new_interface_config
-	bbit1 MOUSE_ENABLE_1IO2LED,p_mouse_dpi_led_blink_delay_new1
-	fetch 1,mem_dpi_led_gpio
-	rtneq GPIO_DISABLE
-p_mouse_dpi_led_blink_delay_new1:
-	fetch 2,mem_mouse_discovery_timer
-	nrtn blank
-	fetch 2,mem_24g_pair_timeout
-	nrtn blank
-	fetch 2,mem_24g_reconn_timeout
-	nrtn blank
-	fetch 1,mem_mouse_led_new_interface_config
-	bbit1 MOUSE_ENABLE_1IO2LED,p_mouse_dpi_led_blink_delay_new2
-	fetch 1,mem_mouse_device_poweron_timer_count
-	nrtn blank
-p_mouse_dpi_led_blink_delay_next:
+	rtnbit0 MOUSE_ENABLE_LED_NEW_INTERFACE
+	fetch 1,mem_mouse_pair_flag
+	rtn blank
 	fetch 1,mem_mouse_dpi_led_delay_count_init
 	branch p_mouse_dpi_led_blink_init,blank
 	store 1,mem_mouse_dpi_led_delay_count  //delay 1s led blink
 	rtn
-p_mouse_dpi_led_blink_delay_new2:
-	fetch 1,mem_mouse_multi_led_powon_timer
-	nrtn blank
-	branch p_mouse_dpi_led_blink_delay_next
 
 p_mouse_bb_event_timer:
 	call mouse_adc_read
@@ -1434,17 +1493,13 @@
 	call g24_reconn_timeout_timer
 	call mouse_24g_long_sleep_param_update_timer
 	//led
-	call mouse_device_poweron_timer
+//	call mouse_device_poweron_timer
 	call p_mouse_dpi_led_blink_delay_timer
 	call p_mouse_led_multi_timer
-ifdef RGB_LED
-	call p_mouse_rgb_led_off_enable_timer
-	call p_mouse_rgb_led_on_enable_timer
-	call p_mouse_rgb_led_on_timer
+ifdef LOGO_CTRL
+	call p_mouse_logo_led_ctrl_check_timer
 endif
-ifdef LOGO_LED
 	call p_mouse_logo_led_on_timer
-endif
 	call mouse_dpi_key_check_long_press
 	call mouse_bt_discovery_check
 	call p_mouse_commbination_key_process
@@ -1452,6 +1507,9 @@
 ifdef COMMBINATION_DPI
 	call p_mouse_commbination_dpi_check_timer
 endif
+ifdef COMMBINATION_KEY_SELECT_DEVICE
+	call p_mouse_check_mouse_key_select_device_timer
+endif
 	//ble
 	call p_mouse_check_direct_timeout_timer
 	call mouse_le_enable_att_list_timer
@@ -1461,13 +1519,10 @@
 	//bt
 	call mouse_check_hid_handshake_timer
 	call mouse_bt_check_sniff_req_timeout_timer
-	call mouse_check_reconnect_delay_long_sleep		//delete 3.0,reconnect fail
+	call p_mouse_check_reconnect_delay_long_sleep		//delete 3.0,reconnect fail
 	call mouse_current_mult_update_timer
 	call mouse_wheel_trigger_timer
 	call mouse_store_information_delay_timer
-ifdef G24_OTA	
-	call p_mouse_g24_ota_reset_timer
-endif
 	branch p_mouse_check_no_data_timeout_timer
 
 p_mouse_check_direct_timeout_timer:
@@ -1475,23 +1530,26 @@
 	arg mouse_check_direct_timeout,regb
 	call timer_single_step
 	branch mouse_check_direct_timeout_timer+3
-	
-ifdef G24_OTA
-p_mouse_g24_ota_reset_timer:
-	arg mem_g24_ota_reset_timer,regc
-	arg soft_reset_chip,regb
+
+p_mouse_check_reconnect_delay_long_sleep:
+	arg mem_mouse_bluetooth_reconnect_timeout,regc
+	arg p_mouse_app_enter_hibernate_check,regb
 	branch timer_single_step
-endif
+
+p_mouse_app_enter_hibernate_check:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_BT_RECONNECT_TIMEOUT_ENTER_DISCOVERY,p_mouse_start_discovery
+	branch mouse_app_enter_hibernate
 
 ifdef COMMBINATION_DPI
 p_mouse_commbination_dpi_check_timer:
-	fetch 1,mem_mouse_commbination_dpi_gpio
+	fetch 1,mem_mouse_commbination_key_dpi
 	rtneq GPIO_DISABLE
-	fetch 1,mem_mouse_commbination_dpi_check_enable
+	fetch 1,mem_mouse_pair_flag
 	rtn blank
 	call p_mouse_check_key_gpio
 	and pdata,0x07,pdata
-	fetcht 1,mem_mouse_commbination_dpi_gpio
+	fetcht 1,mem_mouse_commbination_key_dpi
 	isub temp,null
 	branch p_mouse_commbination_dpi_check,zero
 	jam 0x1e,mem_commbination_dpi_timer
@@ -1502,86 +1560,49 @@
 	branch timer_single_step
 endif
 
-ifdef RGB_LED
-/**************************rgb led start************************/
-/*********************
-****rgb on--mbutton output active 1s****
-****rgb off--mbutton output active 3s****
-**********************/
-p_mouse_rgb_led_off:
-	jam 0,mem_rgb_led_on_continue_1min_timeout_flag
-	branch p_mouse_rgb_led_off_time_init
-	
-p_mouse_rgb_led_off_enable_timer:
-	fetch 1,mem_rgb_led_off_enable
+ifdef COMMBINATION_KEY_SELECT_DEVICE
+p_mouse_retransmit_mouse_key_check:
+	fetch 1,mem_sensor_shutdown_flag
 	rtn blank
-	arg mem_rgb_led_off_enable_timer,regc
-	arg p_mouse_rgb_led_off_timeout,regb
+p_mouse_check_mouse_key_select_device_timer:
+	fetch 1,mem_mouse_select_device_commbation_key_gpio
+	rtneq GPIO_DISABLE
+	call mouse_check_key_gpio
+	and rega,0x07,pdata
+	fetcht 1,mem_mouse_select_device_commbation_key_gpio
+	isub temp,null
+	branch p_mouse_check_mouse_key_select_device_set,zero
+	jam 0x1e,mem_mouse_select_device_commbation_key_count
+	rtn
+	
+p_mouse_check_mouse_key_select_device_set:
+	arg mem_mouse_select_device_commbation_key_count,regc
+	arg mouse_ready_reconnection_by_button,regb
 	branch timer_single_step
-
-p_mouse_rgb_led_off_timeout:
-	call p_mouse_mbutton_function_enable
-	fetch 1,mem_rgb_led_on_continue_1min_timeout_flag
-	nrtn blank
-	jam 0,mem_rgb_led_on_continue_1min_timeout_flag
-	fetch 1,mem_device_flag
-	beq MODE_24G_DEVICE,p_mouse_24g_hibernate_set_next
-	branch mouse_app_enter_hibernate+3
 	
-p_mouse_rgb_led_off_time_init:
-	jam 0x1e,mem_rgb_led_off_enable_timer
-	jam ON,mem_rgb_led_off_enable
-p_mouse_mbutton_function_disable:
-ifdef RGB_LED_MKEY
-	jam ON,mem_mbutton_function_disable
 endif
-	fetcht 1,mem_mouse_rgb_ctrl_gpio
-	branch p_mouse_multi_led_on
 
-p_mouse_rgb_led_on_enable_timer:
-	fetch 1,mem_rgb_led_off_enable
-	nrtn blank
-	fetch 1,mem_rgb_led_on_enable_timer
+ifdef DPI_LOW_LOGO_MULTI
+/**************************dpi_logo_low multi**************************************/
+p_mouse_d_l_l_led_multi_parm_init:
+	fetch 1,mem_mouse_d_l_l_led_multi_type		//00 mo multi 	01:dpi+logo	02:low+logo	03:dpi+low+logo
 	rtn blank
-	beq 1,p_mouse_rgb_led_enable_timeout
-	increase -1,pdata
-	store 1,mem_rgb_led_on_enable_timer
-	branch p_mouse_mbutton_function_disable
-
-p_mouse_rgb_led_enable_timeout:
-	jam 0,mem_rgb_led_on_enable_timer
-p_mouse_mbutton_function_enable:
-ifdef RGB_LED_MKEY
-	jam OFF,mem_mbutton_function_disable
-endif
-	fetcht 1,mem_mouse_rgb_ctrl_gpio
-	call p_mouse_multi_led_on
-ifdef RGB_LED_MKEY
-	nop 12000
-	fetcht 1,mem_mouse_rgb_ctrl_gpio
-	call mouse_gpio_config_input_pu
-endif
+	beq 1,p_mouse_dpi_logo_multi
+	beq 2,p_mouse_low_logo_multi
+	beq 3,p_mouse_dpi_low_logo_multi
 	rtn
 
-p_mouse_rgb_led_on_timer:
-	fetch 1,mem_rgb_led_on_enable
-	nrtn blank
-	fetch 1,mem_rgb_led_off_enable
-	nrtn blank
-p_mouse_rgb_led_on:
-	fetch 2,mem_rgb_led_on_timer
-	increase 1,pdata
-	store 2,mem_rgb_led_on_timer
-	arg 0x0258,temp	//1min
-	isub temp,null
-	call p_mouse_rgb_led_on_continue_1min,zero
+p_mouse_dpi_low_logo_multi:
+	call p_mouse_low_logo_multi
+p_mouse_dpi_logo_multi:
+	fetch 1,mem_mouse_logo_led_gpio
+	store 1,mem_mouse_dpi_gpio
 	rtn
 
-p_mouse_rgb_led_on_continue_1min:
-	jam 1,mem_rgb_led_on_continue_1min_timeout_flag
-	call p_mouse_rgb_led_on_timer_init
-	branch p_mouse_rgb_led_off_time_init
-
+p_mouse_low_logo_multi:
+	fetch 1,mem_mouse_logo_led_gpio
+	store 1,mem_mouse_low_gpio
+	rtn
 endif
 
 //================led multi start===================//
@@ -1590,7 +1611,7 @@
 p_mouse_device_multi_led_parm_init:
 	jam 0,mem_mouse_multi_led_blink_enable
 	fetch 1,mem_mouse_led_new_interface_config
-	rtnbit0 MOUSE_ENABLE_1IO2LED
+	rtnbit0 MOUSE_ENABLE_LED_NEW_INTERFACE
 	call p_mouse_device_multi_led_all_off		//can be remove?
 p_mouse_multi_led_parm_init:
 	jam 0,mem_mouse_multi_led_blink_type
@@ -1611,23 +1632,23 @@
 	beq 3,p_mouse_device_le_reconn_led_blink_timer_init
 p_mouse_multi_dpi_led_blink_timer_init:
 	fetch 1,mem_mouse_dpi_led_blink_timer_init
-p_mouse_multi_led_blink_timer_init_next:
+p_mouse_store_multi_led_blink_timer:
 	store 1,mem_mouse_multi_led_blink_timer
 	rtn
 p_mouse_device_24g_led_blink_timer_init:
 	fetch 1,mem_mouse_multi_24gled_blink_timer_init
-	branch p_mouse_multi_led_blink_timer_init_next
+	branch p_mouse_store_multi_led_blink_timer
 p_mouse_device_le_discovery_led_blink_timer_init:
 	fetch 1,mem_mouse_multi_le_discovery_blink_timer_init
-	branch p_mouse_multi_led_blink_timer_init_next
+	branch p_mouse_store_multi_led_blink_timer
 p_mouse_device_le_reconn_led_blink_timer_init:
 	fetch 1,mem_mouse_multi_le_reconn_blink_timer_init
-	branch p_mouse_multi_led_blink_timer_init_next
+	branch p_mouse_store_multi_led_blink_timer
 
 //===led poweron config===//
 p_mouse_device_poweron_led_config:	//power on
 	fetch 1,mem_mouse_led_new_interface_config
-	rtnbit0 MOUSE_ENABLE_1IO2LED
+	rtnbit0 MOUSE_ENABLE_LED_NEW_INTERFACE
 	fetch 1,mem_mouse_multi_led_powon_timer_init
 	store 1,mem_mouse_multi_led_powon_timer
 	jam MULTI_LED_ON,mem_mouse_multi_led_type
@@ -1639,13 +1660,11 @@
 //===led blink config===//
 p_mouse_device_pair_led_config:		//24g pair led config
 	fetch 1,mem_mouse_led_new_interface_config
-	rtnbit0 MOUSE_ENABLE_1IO2LED
-	call p_mouse_multi_led_blink_enable_init
-	fetch 1,mem_device_flag
-	rtnne MODE_24G_DEVICE
+	rtnbit0 MOUSE_ENABLE_LED_NEW_INTERFACE
 p_mouse_device_24g_led_blink:
 	jam 1,mem_mouse_multi_led_blink_type
 	call p_mouse_device_24g_led_blink_timer_init
+	call p_mouse_multi_led_blink_enable_init
 	fetch 1,mem_mouse_led_new_interface_config
 	rtnbit0 MOUSE_ENABLE_LED_BLINK_LIMIT
 	fetch 1,mem_mouse_multi_24gled_blink_count_init
@@ -1653,13 +1672,11 @@
 
 p_mouse_device_le_reconn_led_config:		//le recon led config
 	fetch 1,mem_mouse_led_new_interface_config
-	rtnbit0 MOUSE_ENABLE_1IO2LED
-	fetch 1,mem_device_flag
-	rtneq MODE_24G_DEVICE
-	call p_mouse_multi_led_blink_enable_init
+	rtnbit0 MOUSE_ENABLE_LED_NEW_INTERFACE
 p_mouse_device_le_reconn_led_blink:
 	fetch 1,mem_mouse_led_new_interface_config
 	rtnbit0 MOUSE_ENABLE_BT_RECONN_LED_EFFECT
+	call p_mouse_multi_led_blink_enable_init
 	jam 3,mem_mouse_multi_led_blink_type
 	call p_mouse_device_le_reconn_led_blink_timer_init
 	fetch 1,mem_mouse_led_new_interface_config
@@ -1671,7 +1688,7 @@
 
 p_mouse_device_discovery_led_config:		//ble discovery led config
 	fetch 1,mem_mouse_led_new_interface_config
-	rtnbit0 MOUSE_ENABLE_1IO2LED
+	rtnbit0 MOUSE_ENABLE_LED_NEW_INTERFACE
 	fetch 1,mem_mouse_led_new_interface_config
 	set0 MOUSE_ENABLE_LED_BLINK_LIMIT,pdata
 	store 1,mem_mouse_led_new_interface_config
@@ -1691,20 +1708,18 @@
 p_mouse_device_multi_led_type_on:
 	fetch 1,mem_mouse_multi_led_powon_timer
 	branch p_mouse_device_poweron_led_off,blank
-	increase -1
+	increase -1,pdata
 	store 1,mem_mouse_multi_led_powon_timer
 	branch p_mouse_device_multi_led_on+1		//skip led state
 
 p_mouse_device_poweron_led_off:
-	jam 1,mem_mouse_dpi_led_blink_enable
+	jam 1,mem_mouse_pair_flag
 	call p_mouse_multi_low_led_blink_count_init
-p_mouse_device_led_disable:
+p_mouse_devide_led_disable:
 	jam 0,mem_mouse_multi_led_blink_enable
 	branch p_mouse_device_multi_led_off+1		//skip led state
 
 p_mouse_multi_led_type_blink:
-	fetch 1,mem_mouse_multi_led_powon_timer
-	nrtn blank
 	fetch 1,mem_mouse_multi_led_blink_type	//00:rtn	01:24g blink	02:le blink		03:reconn blink 	04:low blink	05:dpi blink
 	rtn blank
 	beq 4,p_mouse_device_led_blink_limit	//dpi blink
@@ -1736,7 +1751,7 @@
 
 p_mouse_multi_led_blink_count_decrease:
 	fetch 1,mem_mouse_multi_led_blink_count	
-	increase -1
+	increase -1,pdata
 	store 1,mem_mouse_multi_led_blink_count
 	branch p_mouse_multi_led_blink
 
@@ -1781,16 +1796,24 @@
 	rtn
 p_mouse_device_24g_led_off:
 	fetcht 1,mem_mouse_1io2led_multi_24gled
-	branch p_gpio_set_high_impedance
+	fetch 1,mem_mouse_led_new_interface_config
+	bbit0 MOUSE_ENABLE_1IO2LED,p_mouse_multi_led_off
+	branch p_mouse_gpio_set_analog
 p_mouse_device_bt1_led_off:
 	fetcht 1,mem_mouse_1io2led_multi_bt1led
-	branch p_gpio_set_high_impedance
+	fetch 1,mem_mouse_led_new_interface_config
+	bbit0 MOUSE_ENABLE_1IO2LED,p_mouse_multi_led_off
+	branch p_mouse_gpio_set_analog
 p_mouse_device_bt2_led_off:
 	fetcht 1,mem_mouse_1io2led_multi_bt2led
-p_gpio_set_high_impedance:
+	fetch 1,mem_mouse_led_new_interface_config
+	bbit0 MOUSE_ENABLE_1IO2LED,p_mouse_multi_led_off
+p_mouse_gpio_set_analog:
 	sub temp,GPIO_DISABLE,null
 	rtn zero
-	branch gpio_set_high_impedance
+	sub temp,ICE_GPIO,null
+	branch gpio_out_inactive,zero
+	branch gpio_set_analog
 
 p_mouse_device_multi_led_all_off:		//dpi+low no
 	call p_mouse_device_24g_led_off
@@ -1801,9 +1824,9 @@
 	
 p_mouse_multi_dpi_led_off_judge:
 	jam OFF,mem_mouse_multi_led_state
-	fetch 1,mem_mouse_led_new_interface_config
-	bbit1 MOUSE_ENABLE_DPI_FOR_LED,p_mouse_device_multi_led_off
-	bbit1 MOUSE_ENABLE_DPI_LOW_FOR_LED,p_mouse_device_multi_led_off
+	fetch 1,mem_mouse_led_multi_type
+	beq MOUSE_ENABLE_DPI_FOR_LED,p_mouse_device_multi_led_off
+	beq MOUSE_ENABLE_DPI_LOW_FOR_LED,p_mouse_device_multi_led_off
 p_mouse_multi_dpi_led_off:
 	fetcht 1,mem_mouse_dpi_gpio
 p_mouse_multi_led_off:
@@ -1811,18 +1834,78 @@
 	
 p_mouse_multi_dpi_led_on_judge:
 	jam ON,mem_mouse_multi_led_state
-	fetch 1,mem_mouse_led_new_interface_config
-	bbit1 MOUSE_ENABLE_DPI_FOR_LED,p_mouse_device_multi_led_on
-	bbit1 MOUSE_ENABLE_DPI_LOW_FOR_LED,p_mouse_device_multi_led_on
+	fetch 1,mem_mouse_led_multi_type
+	beq MOUSE_ENABLE_DPI_FOR_LED,p_mouse_device_multi_led_on
+	beq MOUSE_ENABLE_DPI_LOW_FOR_LED,p_mouse_device_multi_led_on
 	branch p_mouse_multi_dpi_led_on
 
 //================led multi end===================//
-ifdef LOGO_LED
+ifdef LOGO_CTRL
+p_mouse_logo_led_ctrl_check_timer:
+	fetch 1,mem_mouse_logo_ctrl_type
+	rtn blank
+	bbit1 COMMBATION_LOGO,p_mouse_commbination_key_ctrl_logo
+	bbit1 DPI_LOGO,p_mouse_dpi_key_ctrl_logo
+	rtn
+p_mouse_commbination_key_ctrl_logo:	
+	fetch 1,mem_mouse_commbination_logo_key
+	rtneq GPIO_DISABLE
+	fetch 1,mem_mouse_pair_flag
+	rtn blank
+	call p_mouse_check_key_gpio
+	and rega,0x07,pdata
+	fetcht 1,mem_mouse_commbination_logo_key
+	isub temp,null
+	branch p_mouse_logo_led_state_check,zero
+p_mouse_logo_key_count_init:
+	jam 0x1e,mem_mouse_logo_key_count
+	rtn
+
+p_mouse_dpi_key_ctrl_logo:
+	fetch 1,mem_mouse_dpi_button_state
+	branch p_mouse_logo_key_count_init,blank
+p_mouse_logo_led_state_check:
+	arg mem_mouse_logo_key_count,regc
+	arg p_mouse_logo_led_state_set,regb		//skip gost key
+	branch timer_single_step
+
+p_mouse_logo_led_state_set:
+	fetch 1,mem_mouse_logo_led_state
+	beq ON,p_mouse_logo_ctrl_off_set
+	beq OFF,p_mouse_logo_ctrl_on_set
+	rtn
+
+p_mouse_logo_ctrl_off_set:
+	jam OFF,mem_mouse_logo_led_state
+	jam OFF,mem_mouse_retention+2
+	branch p_mouse_logo_led_state_store
+
+p_mouse_logo_ctrl_on_set:
+	jam ON,mem_mouse_logo_led_state
+	jam ON,mem_mouse_retention+2
+p_mouse_logo_led_state_store:
+	fetch 1,mem_mouse_logo_ctrl_type
+	rtnbit0 LOGO_LED_MEMORY
+	arg 1,temp
+	arg mem_mouse_logo_led_state,rega
+	arg MOUSE_LOGO_EEPROM_OFFECT,regb
+	branch iicd_write_protect_eep_data
+endif
+	
 p_mouse_logo_led_on_timer:
+ifdef DPI_LOW_LOGO_MULTI
+	fetch 1,mem_mouse_d_l_l_led_multi_type		//01:dpi+logo	02:low+logo	03:dpi+low+logo
+	nbranch p_mouse_logo_multi_check,blank
+endif
+p_mouse_logo_led_on_timer_set:
 	fetch 1,mem_mouse_logo_led_gpio
 	rtneq GPIO_DISABLE
 	fetch 2,mem_mouse_no_data_timer
 	rtn blank
+ifdef LOGO_CTRL		
+	fetch 1,mem_mouse_logo_led_state
+	nbranch p_mouse_logo_led_off,blank
+endif
 	fetch 2,mem_mouse_no_data_timeout
 	fetcht 2,mem_mouse_no_data_timer
 	isub temp,temp
@@ -1835,8 +1918,17 @@
 p_mouse_logo_led_on:
 	fetcht 1,mem_mouse_logo_led_gpio
 	branch gpio_out_active
+
+ifdef DPI_LOW_LOGO_MULTI
+p_mouse_logo_multi_check:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit1 MOUSE_LOW_VOLTAGE_FLAG
+	call p_mouse_check_dpi_blink		//need judge blink led=dpi? if led=dpi led->rtn
+	rtn user
+	branch p_mouse_logo_led_on_timer_set
 endif
 
+
 p_mouse_dpi_led_blink_delay_timer:
 	arg mem_mouse_dpi_led_delay_count,regc
 	arg p_mouse_dpi_led_blink_init,regb
@@ -1844,56 +1936,48 @@
 	
 p_mouse_dpi_led_blink_init:	//result:    level3: 2  3  1     level4: 3  4  1  2
 	fetch 1,mem_mouse_led_new_interface_config
-	bbit1 MOUSE_ENABLE_1IO2LED,p_mouse_dpi_led_blink_init_new1
-	fetch 1,mem_config_sensor_type
-	beq P3212,mouse_dpi_led_blink_init		//result:    level3: 1  2  3     level4: 2  3  4  1
-	beq KA8G2,mouse_dpi_led_blink_init	//result:    level3: 1  2  3     level4: 2  3  4  1
-	fetch 1,mem_dpi_led_gpio
-	store 1,mem_mouse_struct_led_gpio
-	fetch 2,mem_mouse_dpi_led_blink_time
-	store 2,mem_mouse_on_time
-	store 2,mem_mouse_off_time
-	arg 0,rega
-	fetcht 1,mem_mouse_dpi
-	increase 2,temp	// 2 3 4 (5)
-	sub temp,3,null
-	call p_mouse_dpi_led_blink_init_level_4,positive
-	ncall p_mouse_dpi_led_blink_count_clean,positive
-	branch mouse_dpi_led_blink_init_end
-
-p_mouse_dpi_led_blink_init_level_4:
+	rtnbit0 MOUSE_ENABLE_LED_NEW_INTERFACE
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	rtnbit0 MOUSE_ENABLE_DPI_LEVEL_4
-	increase 1,temp  	// 2-->3   3-->4
-	rtn
-p_mouse_dpi_led_blink_count_clean:
-	increase -3,temp		// 4-->1  5-->2
+	bbit1 MOUSE_ENABLE_DPI_LEVEL_4,p_mouse_dpi_led_blink_set_4_level
+p_mouse_dpi_led_blink_set_3_level:			//800-1200-1600
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,p_mouse_dpi_level_2_blink	//1200
+	beq MOUSE_DPI_LEVEL2,p_mouse_dpi_level_3_blink	//1600		
+	beq MOUSE_DPI_LEVEL3,p_mouse_dpi_level_1_blink	//800
+	rtn	
+
+	
+p_mouse_dpi_led_blink_set_4_level:		//800-1000-1200-1600
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,p_mouse_dpi_level_3_blink		//1200
+	beq MOUSE_DPI_LEVEL2,p_mouse_dpi_level_4_blink		//1600
+	beq MOUSE_DPI_LEVEL3,p_mouse_dpi_level_1_blink		//800
+	beq MOUSE_DPI_LEVEL4,p_mouse_dpi_level_2_blink		//1000
 	rtn
 
-p_mouse_dpi_led_blink_init_new1:
-	fetch 1,mem_config_sensor_type
-	beq P3212,p_mouse_dpi_led_blink_init_new2		//result:    level3: 1  2  3     level4: 2  3  4  1
-	beq KA8G2,p_mouse_dpi_led_blink_init_new2	//result:    level3: 1  2  3     level4: 2  3  4  1
-	fetcht 1,mem_mouse_dpi
-	increase 2,temp	// 2 3 4 (5)
-p_mouse_dpi_led_blink_init_new1_next:
-	sub temp,3,null
-	call p_mouse_dpi_led_blink_init_level_4,positive
-	ncall p_mouse_dpi_led_blink_count_clean,positive
-	copy temp,pdata
-	iadd pdata,pdata
+p_mouse_dpi_level_1_blink:
+	setarg 2
+	branch p_mouse_multi_dpi_led_blink_enable
+
+p_mouse_dpi_level_2_blink:
+	setarg 4
+	branch p_mouse_multi_dpi_led_blink_enable
+
+p_mouse_dpi_level_3_blink:
+	setarg 6
+	branch p_mouse_multi_dpi_led_blink_enable
+
+p_mouse_dpi_level_4_blink:
+	setarg 8
+	branch p_mouse_multi_dpi_led_blink_enable
+
+p_mouse_multi_dpi_led_blink_enable:	
 	store 1,mem_mouse_multi_led_blink_count
-p_mouse_multi_dpi_led_blink_enable:
 	jam 4,mem_mouse_multi_led_blink_type
 	call p_mouse_multi_dpi_led_blink_timer_init	
 	jam MULTI_LED_BLINK,mem_mouse_multi_led_type
 	branch p_mouse_multi_led_enable
 
-p_mouse_dpi_led_blink_init_new2:
-	fetcht 1,mem_mouse_dpi
-	increase 1,temp
-	branch p_mouse_dpi_led_blink_init_new1_next
-
 /////////////////////////////////////////////////////////////////////////////////////////////////
 
 p_mouse_commbination_key_process:
@@ -1926,13 +2010,9 @@
 	rtn
 
 p_mouse_combination_ui_timer:
-	arg p_mouse_24g_start_pair,regb
+	arg p_mouse_24g_start_pair_mode,regb
 	branch mouse_combination_ui_timer+1
 
-p_mouse_24g_start_pair:
-	call p_mouse_device_pair_led_config
-	branch p_mouse_24g_start_pair_mode
-
 p_mouse_le_battery_updata_timer:
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
 	rtnbit1 MOUSE_ENABLE_LE_BATTERY_SERVICE_CANCEL
@@ -1956,6 +2036,9 @@
 	branch mouse_disconnect	
 
 p_mouse_start_discovery:
+ifdef LOGO_CTRL	
+	call p_mouse_logo_ctrl_off_set
+endif
 	call p_mouse_device_discovery_led_config
 	fetch 2,mem_ui_state_map
 	isolate1 UI_STATE_BLE_ADV,pdata
@@ -2121,7 +2204,9 @@
 	disable user
 	setarg 0
 	store 6,mem_mouse_x
-	call mouse_check_sensor_data
+	call p_mouse_check_sensor_data
+	setarg 0x0089
+	call twspi_write
 	call p_mouse_seting_sensor_type
 	call mouse_zwheel
 	call mouse_t_zwheel
@@ -2129,54 +2214,37 @@
 	fetch 1,mem_mouse_key
 	and_into 0x1f,pdata
 	store 1,mem_mouse_key
-	nbranch p_mouse_motion_nodata,user
+	nbranch mouse_drawing_optima_init,user
 	call p_mouse_drawing_optima
-ifdef RGB_LED
-	call p_mouse_rgb_led_on_check
-endif
 	branch mouse_no_data_timer_init
 
-p_mouse_motion_nodata:	
-	call mouse_drawing_optima_init
-ifdef RGB_LED
-	fetch 2,mem_rgb_led_off_check_count
-	increase 1,pdata
-	store 2,mem_rgb_led_off_check_count
-	arg 0x0258,temp
-	isub temp,null
-	nrtn zero
-	setarg 0
-	store 2,mem_rgb_led_off_check_count
-	jam OFF,mem_rgb_led_on_enable
-endif
-	rtn
+p_mouse_check_sensor_data:
+	fetch 1,mem_spi_write_flash_sm
+	rtnne FLASH_SM_NO_BUYS
+	fetch 1,mem_config_sensor_type
+	beq KA8G2,p_mouse_ka8g2_sensor_motion
+	branch mouse_check_sensor_data+3
+
+p_mouse_ka8g2_sensor_motion:
+	call mouse_clear_sensor_data
+	fetch 1,mem_sensor_motion_gpio
+	beq GPIO_DISABLE,mouse_pka8g2_sensor_motion_1
+	fetcht 1,mem_sensor_motion_gpio
+	call gpio_get_bit
+	nrtn true
+p_mouse_pka8g2_sensor_motion_1:
+	setarg PAN_REG_PID_L
+	call twspi_read
+	bne PKA8G2_ID1,mouse_twspi_reset
+	branch mouse_p3212_sensor_motion_2
+
 
 p_mouse_drawing_optima:
 	fetch 1,mem_config_sensor_type
 	rtneq P3212
+	rtneq KA8G2
 	branch mouse_drawing_optima
 
-ifdef RGB_LED
-p_mouse_rgb_led_on_check:
-	fetch 2,mem_rgb_led_on_check_count
-	increase 1,pdata
-	store 2,mem_rgb_led_on_check_count
-	arg 0x0258,temp
-	isub temp,null
-	nrtn zero
-	setarg 0
-	store 2,mem_rgb_led_on_check_count
-	fetch 1,mem_rgb_led_on_enable
-	rtneq ON
-p_mouse_rgb_led_on_check_next:
-	jam ON,mem_rgb_led_on_enable
-	jam OFF,mem_rgb_led_off_enable
-	jam 11,mem_rgb_led_on_enable_timer
-p_mouse_rgb_led_on_timer_init:
-	setarg 0
-	store 2,mem_rgb_led_on_timer
-	rtn
-endif
 p_mouse_sensor_poweron:
 	call mouse_sensor_spi_init
 	fetch 1,mem_config_sensor_type
@@ -2236,7 +2304,8 @@
 ifdef FIRE_KEY	
 	call p_mouse_check_firekey_gpio
 endif
-	branch mouse_check_key_gpio_next
+	call p_mouse_check_customerkey_gpio
+	branch mouse_check_key_gpio_next+1
 
 p_mouse_check_lkey_gpio:
 	fetch 1,mem_lbutton_gpio
@@ -2251,10 +2320,6 @@
 	fetcht 1,mem_rbutton_gpio
 	branch mouse_gpio_config_input_pu
 p_mouse_check_mkey_gpio:
-ifdef RGB_LED_MKEY
-	fetch 1,mem_mbutton_function_disable
-	nrtn blank
-endif
 	fetch 1,mem_mbutton_gpio
 	call p_mouse_gpio_config_output_high
 	call mouse_check_mkey_gpio
@@ -2305,6 +2370,25 @@
 	arg gpcfg_output_low,temp
 	branch gpio_config_function_int	
 
+p_mouse_check_customerkey_gpio:
+	fetch 1,mem_mouse_customer_key_connect_vin_flag
+	branch mouse_check_customerkey_gpio,blank
+	jam 0,mem_customer_key
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_KEYBOARD
+	jam MOUSE_CUSTOMER_KEY,mem_mouse_key_temp
+	fetch 1,mem_mouse_customerkey_press_status
+	copy pdata,regc
+p_mouse_3io6key_customerkey_check:
+	fetch 1,mem_customer_key_gpio
+	call p_mouse_gpio_config_output_low
+	fetcht 1,mem_customer_key_gpio
+	call mouse_3io6key_check
+	store 1,mem_mouse_customerkey_press_status
+	call mouse_check_customerkey_state
+	fetcht 1,mem_customer_key_gpio
+	branch mouse_gpio_config_input_pu
+
 /////////////////////////////////////////////firekey start//////////////////////////////////////////
 
 ifdef FIRE_KEY
@@ -2326,9 +2410,6 @@
 	rtn
 
 p_mouse_check_firekey_connect_vin:
-	fetch 1,mem_firebutton_gpio
-	set0 gpio_active_bit,pdata
-	store 1,mem_firebutton_gpio
 	fetcht 1,mem_firebutton_gpio
 	call mouse_gpio_config_input_pd
 	fetcht 1,mem_firebutton_gpio
@@ -2402,12 +2483,12 @@
 	call p_mouse_dpi_another_gpio_check
 endif
 	call p_mouse_select_device_check
-	branch mouse_idle+5
+	call p_mouse_check_select_device_by_switch
+	branch mouse_idle+6
 
 p_mouse_low_voltage_led_no_enter_lpm:
 	fetch 1,mem_mouse_led_new_interface_config
-	bbit0 MOUSE_ENABLE_LOW_LED,mouse_low_voltage_led_no_enter_lpm
-p_mouse_low_voltage_led_no_enter_lpm_next:
+	rtnbit0 MOUSE_ENABLE_LOW_LED
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
 	branch mouse_low_voltage_led_no_enter_lpm+2
 
@@ -2419,15 +2500,33 @@
 p_mouse_select_device_by_pb_button_check_judge:
 	fetch 2,mem_ui_state_map
 	bbit1 UI_STATE_BT_DISCOVERY,p_mouse_select_device_by_pb_button_check_once
-	branch mouse_select_device_by_pb_button
-	
-p_mouse_select_device_by_pb_button_check_once:
-	jam 0x03,mem_mouse_pbkey_press_status
-	branch p_mouse_select_device_by_pb_button
+	fetch 1,mem_config_select_device_button_gpio
+	rtneq GPIO_DISABLE
+	fetch 1,mem_store_information_delay_timer
+	nrtn blank
+	branch mouse_select_device_by_pb_button+2
+
+p_mouse_check_select_device_by_switch:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_SELECT_DEVICE_BY_SWITCH_GPIO	
+	fetcht 1,mem_device_switch_gpio
+	call mouse_gpio_config_input_pu
+	fetcht 1,mem_device_switch_gpio
+	call gpio_get_bit
+	branch p_mouse_check_select_24g_device,true
+p_mouse_select_btdevice:
+	fetch 1,mem_device_flag
+	rtneq MODE_BT_DEVICE1
+	jam MODE_BT_DEVICE1,mem_device_flag
+	branch mouse_soft_reset
+
+p_mouse_check_select_24g_device:	
+	fetch 1,mem_device_flag
+	rtneq MODE_24G_DEVICE
+	jam MODE_24G_DEVICE,mem_device_flag
+	branch mouse_soft_reset
 	
 p_mouse_dpi_check:
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	bbit1 MOUSE_ENABLE_DPI_KEY_CONNECT_ADC,mouse_dpi_check_connect_adc
 	fetch 1,mem_dpi_button_gpio
 	rtneq GPIO_DISABLE
 	arg 0,rega
@@ -2465,8 +2564,6 @@
 
 p_mouse_dpi_another_gpio_connect_vin_check:
 	fetch 1,mem_dpi_another_button_gpio
-	set0 gpio_active_bit,pdata
-	store 1,mem_dpi_another_button_gpio
 	call p_mouse_gpio_config_output_low
 	jam MOUSE_DPI_ANOTHER_KEY,mem_mouse_key_temp_patch
 	fetcht 1,mem_dpi_another_button_gpio
@@ -2475,13 +2572,6 @@
 	call p_mouse_dpi_another_state_check
 	fetcht 1,mem_dpi_another_button_gpio
 	branch mouse_gpio_config_input_pu	
-
-p_mouse_dpi_another_down_new:
-	call mouse_gpio_config_input_pu	
-	fetch 1,mem_dpi_another_button_state
-	rtneq DPI_BUTTON_STATE_DOWN
-	jam DPI_BUTTON_STATE_DOWN,mem_dpi_another_button_state
-	branch mouse_dpi_process
 	
 p_mouse_dpi_another_check:
 	jam MOUSE_DPI_ANOTHER_KEY,mem_mouse_key_temp_patch
@@ -2538,8 +2628,6 @@
 endif
 
 p_mouse_dpi_process:
-	fetch 1,mem_mouse_dpi_led_blink_enable
-	rtn blank
 	call mouse_dpi_ghost_check
 	rtn user
 p_mouse_dpi_process_next:
@@ -2617,518 +2705,78 @@
 //////////////////////////////modify key end///////////////////////////////////////////////
 
 
-///////////////////////////// 2.4g ota start ///////////////////////////////////////////////////////////	
-ifdef G24_OTA
-p_g24_parse_rx_ota_sm:
-	fetch 1,mem_g24_ota_mode
-	rtn blank
-	fetch 1,mem_g24_ota_sm
-	beq G24_OTA_SM_TX_VERSION,p_g24_ota_sm_tx_version
-	beq G24_OTA_SM_TX_INFO,p_g24_ota_sm_tx_info
-	beq G24_OTA_SM_TX_CONFIG,p_g24_ota_sm_tx_config
-	beq G24_OTA_SM_TX_SET_CONFIG_END,p_g24_ota_sm_tx_config_end
-	beq G24_OTA_SM_TX_DATA,p_g24_ota_sm_tx_data
-	beq G24_OTA_SM_TX_RESET,p_g24_ota_sm_tx_reset
-	rtn
-
-p_g24_ota_sm_tx_reset:
-	jam G24_OTA_SM_TX_RESET_OK,mem_g24_ota_sm
-	rtn
-	
-p_g24_ota_sm_tx_version:
-	jam G24_OTA_SM_TX_VERSION_OK,mem_g24_ota_sm
-	rtn
-	
-p_g24_ota_sm_tx_info:
-	jam G24_OTA_SM_TX_INFO_OK,mem_g24_ota_sm
-	rtn	
-
-p_g24_ota_sm_tx_config:
-	jam G24_OTA_SM_TX_CONFIG_OK,mem_g24_ota_sm
-	rtn	
-	
-p_g24_ota_sm_tx_config_end:
-	jam G24_OTA_SM_TX_SET_CONFIG_END_OK,mem_g24_ota_sm
-	rtn		
-
-p_g24_ota_sm_tx_data:
-	jam G24_OTA_SM_TX_DATA_OK,mem_g24_ota_sm
-	rtn		
-
-p_g24_mouse_parse_rx:
-	fetch 1,mem_24g_rxdata_length
-	branch  p_g24_parse_rx_ota_sm, blank
-	copy pdata,regb //len
-//	fetch 1,mem_g24_ota_mode
-//	nbranch p_g24_mouse_parse_rx_mode_ota,blank
-	jam 0,mem_24g_rxdata_length
-	fetch 1,mem_24g_rxpayload
-	beq DATATYPE_OTA,p_g24_rx_ota	//mouse
-	rtn
-
-p_g24_ota_mode_enable:
-	jam 1,mem_g24_ota_mode
-//	jam CLEAR_INIT,mem_24g_mode_init
-	jam 0,mem_lpm_mode
-	branch p_ota_init
-
-p_g24_ota_dispatch:
-	rtn
-
-p_g24_ota_transmit:
-	jam DATATYPE_OTA,mem_24g_txbuf
-	call g24_transmit_prep
-	call g24_transmit_receive_ack
-	nrtn sync
-	nrtn user3
-	call g24_txbuf_clear
-	branch g24_ackpayload_parse
-
-p_g24_rx_ota:
-	fetch 1,mem_24g_rxpayload
-	rtnne DATATYPE_OTA
-	ifetch 1,contr
-//	store 1,mem_g24_ota_tx_opcode
-	ifetcht 1,contr
-	sub temp,G24_OTA_TARGET_MOUSE,null
-	nbranch assert,zero
-	beq G24_OTA_CMD_VERSION,p_g24_mouse_ota_process_version
-	beq  G24_OTA_CMD_INFO,p_g24_mouse_ota_process_info
-	beq  G24_OTA_CMD_CONFIG,p_g24_mouse_ota_process_config
-	beq G24_OTA_CMD_SET_CONFIG_END,p_g24_mouse_ota_process_set_config_end
-	beq G24_OTA_CMD_DATA,p_g24_mouse_ota_process_data
-	beq G24_OTA_CMD_RESET,p_g24_mouse_ota_process_reset
-	beq G24_OTA_CMD_PING,p_g24_mouse_ota_process_ping
-	branch assert
-
-p_g24_mouse_ota_process_ping:
-	rtn
-
-p_g24_mouse_ota_process_version:
-//	call  g24_transmit_prep
-	call p_g24_ota_mode_enable 
-	jam G24_OTA_SM_RX_VERSION,mem_g24_ota_sm	
-	rtn
-	
-p_g24_mouse_ota_process_info:
-	jam G24_OTA_SM_RX_INFO,mem_g24_ota_sm
-	rtn
-	
-p_g24_mouse_ota_process_config:
-	jam G24_OTA_SM_RX_CONFIG,mem_g24_ota_sm
-	rtn
-
-p_g24_mouse_ota_process_set_config_end:
-	jam G24_OTA_SM_RX_SET_CONFIG_END,mem_g24_ota_sm
-	ifetch 2,contr
-	ifetcht 2,contr
-	fetchr rega, 2,mem_g24_ota_rx_alllen
-	isub rega,null
-	nbranch p_g24_mouse_ota_process_fail,zero
-	fetch 2,mem_g24_ota_rx_sum
-	isub temp,null
-	nbranch p_g24_mouse_ota_process_fail,zero
-	call p_g24_check_ota_data_all
-	nbranch p_g24_mouse_ota_process_fail,user
-	branch p_g24_mouse_ota_process_ok	
-
-p_g24_check_ota_data_all:
-	call p_g24_check_ota_data
-	nrtn user	
-	fetch 2,mem_g24_ota_rx_sum
-	isub alarm,null
-	nbranch disable_user,zero	
-	fetcht 2,mem_temp_block6
-	fetch 2,mem_g24_ota_rx_alllen
-	increase -5,pdata
-	isub temp,null
-	nbranch disable_user,zero
-	branch enable_user
-
-p_g24_check_ota_data:
-	fetch 2,mem_g24_ota_config_addr
-	byteswap pdata,pdata
-	store 2,mem_addr_mi
-	arg 3,temp
-	arg mem_temp_block5,rega
-	call iicd_read_eep	
-
-	fetch 1,mem_temp_block5
-	bne  G24_OTA_DATA_HEADER,disable_user
-	ifetcht 2,contr
-//	fetch 2,mem_g24_ota_rx_alllen
-//	increase -5,pdata
-//	isub temp,null
-//	nbranch disable_user,zero
-	storet 2,mem_pdatatemp //len
-	storet 2,mem_temp_block6 //len
-	
-	fetch 1,mem_temp_block5
-	arg 0xffff,rege //crc
-	arg 0,temp
-	arg mem_temp_block5,contr
-	arg 3,loopcnt
-	call p_g24_mouse_data_sum
-	copy temp,alarm
-	
-	fetch 2,mem_g24_ota_config_addr
-	add pdata,3,regf
-	call p_g24_check_ota_data_loop
-
-	byteswap regf,pdata
-	store 2,mem_addr_mi
-	arg 2,temp
-	arg mem_temp_block5,rega
-	call iicd_read_eep	
-	fetch 2,mem_temp_block5
-	isub rege, null
-	nbranch disable_user,zero
-	fetch 1,mem_temp_block5
-	iadd alarm,alarm
-	ifetch 1,contr
-	iadd alarm,alarm
-	setarg 0xffff
-	iand alarm,alarm
-	branch enable_user
-
-p_g24_check_ota_data_loop:
-	fetch 2,mem_pdatatemp
-	rtn blank
-	copy pdata,temp
-	sub pdata,16,null
-	branch p_g24_check_ota_data_loopend,positive
-	increase -16,pdata
-	arg 0x10,temp //len
-p_g24_check_ota_data_loop2:
-	store 2,mem_pdatatemp
-	copy temp,regext
-	copy regf,pdata
-	byteswap pdata,pdata
-	store 2,mem_addr_mi
-	arg mem_temp_block5,rega
-	call iicd_read_eep
-	copy regf,pdata
-	iadd regext,regf
-	copy regext,loopcnt
-	copy rege,pdata
-	arg mem_temp_block5,contr
-	icrc contr
-	copy pdata,rege
-	copy regext,loopcnt
-	arg mem_temp_block5,contr
-	copy alarm,temp
-	call p_g24_mouse_data_sum
-	copy temp,alarm
-	branch p_g24_check_ota_data_loop
-
-p_g24_check_ota_data_loopend:
-	setarg 0
-	branch p_g24_check_ota_data_loop2	
-
-p_g24_mouse_ota_process_data:
-	jam G24_OTA_SM_RX_DATA,mem_g24_ota_sm
-	ifetch 1,contr
-	copy contr,rega
-	fetcht 1,mem_g24_ota_rx_data_count
-	isub temp,null
-	branch p_g24_mouse_ota_process_ok,zero //retrasmit
-	call p_g24_cmd_ota_data_check_count
-	nbranch p_g24_mouse_ota_process_fail,user
-	sub regb,4,null
-	branch p_g24_mouse_ota_process_fail,positive
-	increase -4,regb
-	
-	storer regb,2,mem_hold_contw
-	storer rega,2,mem_hold_contr
-	call iicd_eeprom_write_enable
-	call 	p_dongle_usb_cmd_ota_write_data
-	call iicd_eeprom_write_disable
-	fetchr regb,2,mem_hold_contw
-	fetchr rega,2,mem_hold_contr
-	
-	fetch 2,mem_g24_ota_rx_alllen
-	iadd regb,pdata
-	store 2,mem_g24_ota_rx_alllen
-	copy regb,loopcnt
-	arg 0,temp
-	copy rega,contr
-	call p_g24_mouse_data_sum	
-	fetch 2,mem_g24_ota_rx_sum
-	iadd temp,pdata
-	store 2,mem_g24_ota_rx_sum	
-p_g24_mouse_ota_process_ok:	
-	jam G24_OTA_STATUS_SUCCESS,mem_g24_ota_rtn_state
-	rtn
-	
-p_g24_mouse_ota_process_fail:	
-	jam G24_OTA_STATUS_FAIL,mem_g24_ota_rtn_state
-	rtn
-
-p_dongle_usb_cmd_ota_write_data:
-//	fetch 1,mem_g24_ota_config_type
-	fetch 2,mem_g24_ota_config_addr
-	rtn blank
-	fetcht 2,mem_g24_ota_rx_alllen
-	iadd temp,pdata
-	copy regb,temp
-	branch iicd_write_ota_data 
 
-p_g24_mouse_ota_process_reset:
-	fetch 1,mem_g24_ota_sm
-	rtneq G24_OTA_SM_RX_RESET
-	rtneq G24_OTA_SM_TX_RESET
-	rtneq G24_OTA_SM_TX_RESET_OK
-	jam 5,mem_g24_ota_reset_timer
-	jam G24_OTA_SM_RX_RESET,mem_g24_ota_sm
-	rtn
-	
-p_g24_cmd_ota_data_check_count:
-	fetcht 1,mem_g24_ota_rx_data_count
-	store 1,mem_g24_ota_rx_data_count
-	beq 0,p_g24_cmd_ota_data_check_count_0
-	isub temp,pdata
-	beq  1,enable_user	
-	branch disable_user
+/************************************Freq Test Fuction************************************/
+ifdef FREQ_TEST
 
-p_g24_cmd_ota_data_check_count_0:	
-	sub temp,0xff,null
-	branch enable_user,zero
-	branch disable_user
+p_mouse_freq_test_mode:
+	jam 0x01,mem_24g_tx_phy
+	jam 0,mem_mouse_ch_count
+	call p_mouse_set_ch_l
+p_mouse_freq_test_mode_loop:
+	call p_mouse_freq_test_mode_state_check
+	call p_mouse_freq_test_single_wave
+	branch p_mouse_freq_test_mode_loop
 
-p_g24_mouse_data_sum:
-	ifetch 1,contr
-	iadd temp,temp
-	loop p_g24_mouse_data_sum
+p_mouse_freq_test_mode_state_check:
+	call p_mouse_check_key_gpio
+	and rega,0x07,pdata
+	beq MOUSE_L_BUTTON,p_mouse_change_freq_set
+	jam 0,mem_mouse_ch_set_flag
 	rtn
+p_mouse_change_freq_set:
+	fetch 1,mem_mouse_ch_set_flag
+	nrtn blank
+	jam 1,mem_mouse_ch_set_flag
 	
-//input loopcnt :len ; contr :data ptr 
-//ouput pdata :crc
-p_g24_mouse_ota_crc:
+	fetch 1,mem_mouse_ch_count
+	increase 1,pdata
+	and pdata,0x03,pdata
+	store 1,mem_mouse_ch_count
+	beq 0,p_mouse_set_ch_l
+	beq 1,p_mouse_set_ch_m
+	beq 2,p_mouse_set_ch_h
+	rtn
+
+p_mouse_set_ch_l:
+	fetch 1,mem_mouse_ch_l
+p_mouse_store_ch:
+	store 1,mem_24g_ch
+	rtn
+
+p_mouse_set_ch_m:
+	fetch 1,mem_mouse_ch_m
+	branch p_mouse_store_ch
+
+p_mouse_set_ch_h:
+	fetch 1,mem_mouse_ch_h
+	branch p_mouse_store_ch
+
+p_mouse_freq_test_single_wave:
+	jam TX_POWER_0DB,mem_tx_power
+	call g24_set_freq_tx
+//	call set_sync_on
+//	fetcht 1,mem_24g_ch
+//	call set_freq_tx
+	disable enable_white
+	enable encode_fec0
+	enable is_tx
+	set1 TXGFSK,radio_ctrl
+	call p_test_mode
 	setarg 0xffff
-	icrc contr
-	rtn
-	
-p_g24_mouse_ota_check_crc:
-	fetchr loopcnt, 1,mem_24g_rxdata_length
-	sub loopcnt,2,null
-	branch disable_user,positive
-	arg mem_24g_rxpayload,pdata
-	iadd loopcnt,contr
-	increase -2,contr
-	ifetcht 2,contr // rx crc
-	arg mem_24g_rxpayload,contr	
-	call p_g24_mouse_ota_crc
-	isub temp,null
-	branch enable_user,zero
-	branch disable_user
-
-p_g24_mouse_ota_check_data:
+	copy pdata,loopcnt
+p_pnloop_carrier:
 	ifetch 1,contr
-	bne 0x5a,p_g24_mouse_ota_load_fail
-	copy rega,1,contr
-	fetcht  2,contr
-p_g24_mouse_ota_check_data_loop:
-	sub temp,3,null
-	branch p_g24_mouse_ota_load_fail,positive
-	increase 2,contr
-	ifetchr loopcnt, 1,contr
-	sub loopcnt,0,null
-	nbranch p_g24_mouse_ota_load_fail,zero
-	copy loopcnt,pdata
-	iadd contr,contr
-	copy temp,pdata
-	increase 3,loopcnt
-	isub loopcnt,temp
-	nbranch p_g24_mouse_ota_check_data_loop,zero
-	ifetcht 2,contr //crc
-	add rega,1,contr
-	ifetch 2,contr 
-	add pdata,2,loopcnt
-	add rega,1,contr
-	call p_g24_mouse_ota_crc
-	isub temp,null
-	nbranch p_g24_mouse_ota_load_fail,zero	
-p_g24_mouse_ota_load_success:
-	branch enable_user	
-
-p_g24_mouse_ota_load_fail:
-	branch disable_user
-
-p_g24_mouse_ota_get_otaaddr:
-	fetch 2,mem_g24_ota_config_addr
-	copy pdata,contr
-	call p_g24_mouse_ota_check_data
-	nbranch p_g24_mouse_ota_config_end,user
-	fetchr rega, 2,mem_g24_ota_config_addr
-	add rega,1,contr
-	ifetch 2,contr
-	increase 5,pdata //header 1, len 2, crc 2
-	iadd rega,pdata
-	store 2,mem_g24_ota_config_addr
-	branch p_g24_mouse_ota_get_otaaddr
-
-p_g24_mouse_ota_config_end:
-	fetch 2,mem_g24_ota_storage_size
-	fetcht 2,mem_g24_ota_config_addr
-	isub temp,pdata	
+	inject mod,8
+	loop p_pnloop_carrier
 	rtn
 
-p_ota_init:
-	setarg 0
-	store 2,mem_g24_ota_rx_alllen
-	store 2,mem_g24_ota_rx_sum
-	store 1,mem_g24_ota_rx_data_count
-	store 1,mem_g24_ota_sm
-	rtn
-
-p_mouse_24g_package_ota:
-	call disable_user
-	fetch 1,mem_g24_ota_sm
-	beq G24_OTA_SM_RX_VERSION,p_mouse_24g_package_ota_version
-	beq G24_OTA_SM_RX_INFO,p_mouse_24g_package_ota_info
-	beq G24_OTA_SM_RX_CONFIG,p_mouse_24g_package_ota_config
-	beq G24_OTA_SM_RX_SET_CONFIG_END,p_mouse_24g_package_ota_set_config_end
-	beq G24_OTA_SM_RX_DATA,p_mouse_24g_package_ota_data
-	beq G24_OTA_SM_RX_RESET,p_mouse_24g_package_ota_reset
-	branch p_mouse_24g_package_ping
-	
-p_mouse_24g_package_ota_version:
-	jam DATATYPE_OTA,mem_24g_txbuf
-	jam G24_OTA_CMD_VERSION,mem_24g_txbuf+1
-	jam G24_OTA_STATUS_SUCCESS,mem_24g_txbuf+2
-	jam G24_OTA_TARGET_MOUSE,mem_24g_txbuf+3
-	setarg G24_OTA_VERSION
-	store 2,mem_24g_txbuf+4
-	jam TYPE_MS,mem_24g_data_type
-	jam 6,mem_24g_datalen
-//	arg 6,rega	//length
-//	arg mem_g24_ota_txbuf,regb //tx buff	
-//	branch enable_user
-	jam G24_OTA_SM_TX_VERSION,mem_g24_ota_sm
+p_test_mode:
+	jam 0x22,core_tx_test_mode
 	rtn
 
-p_mouse_24g_package_ota_info:
-	jam DATATYPE_OTA,mem_24g_txbuf
-	jam G24_OTA_CMD_INFO,mem_24g_txbuf+1
-	jam G24_OTA_STATUS_SUCCESS,mem_24g_txbuf+2
-	jam G24_OTA_TARGET_MOUSE,mem_24g_txbuf+3
-	fetch 2,core_chipid
-	store 2,mem_24g_txbuf+4
-	setarg 0x6661
-	istore 2,contw
-	setarg 1
-	istore 6,contw
-	setarg 0
-	istore 2,contw
-	istore 2,contw
-	call p_mouse_24g_storage_type
-	istore 1,contw
-	setarg 0
-	istore 1,contw
-	fetcht 2,mem_g24_ota_config_addr
-	istoret 2,contw
-	fetch 2,mem_g24_ota_storage_size
-	lshift8 pdata,pdata
-	rshift  pdata,pdata 
-	isub temp,pdata
-	nbranch  p_dongle_usb_cmd_ota_info_dongle_empty,positive
-p_dongle_usb_cmd_ota_info_dongle_common:	
-	istore 2,contw	
-	jam 24,mem_24g_datalen	
-	jam TYPE_MS,mem_24g_data_type
-	jam G24_OTA_SM_TX_INFO,mem_g24_ota_sm
-	rtn	
-
-p_dongle_usb_cmd_ota_info_dongle_empty:
-	setarg 0
-	branch p_dongle_usb_cmd_ota_info_dongle_common
-	
-p_mouse_24g_package_ota_config:
-	jam G24_OTA_SM_TX_CONFIG,mem_g24_ota_sm
-	jam G24_OTA_CMD_CONFIG,mem_24g_txbuf+1
-	jam 4,mem_24g_datalen
-	branch p_mouse_24g_package_ota_common_ok
-
-p_mouse_24g_package_ota_reset:
-	jam G24_OTA_SM_TX_RESET,mem_g24_ota_sm
-	jam G24_OTA_CMD_RESET,mem_24g_txbuf+1
-	jam 4,mem_24g_datalen
-	branch p_mouse_24g_package_ota_common_ok	
-
-p_mouse_24g_storage_type:
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	bbit1 MOUSE_ENABLE_EEPROM,p_mouse_24g_storage_type_eeprom
-	bbit1 MOUSE_ENABLE_FLASH,p_mouse_24g_storage_type_flash
-	setarg G24_OTA_STORAGE_ERROR
-	rtn
-	
-p_mouse_24g_storage_type_eeprom:
-	setarg G24_OTA_STORAGE_EEPROM
-	rtn
-	
-p_mouse_24g_storage_type_flash:
-	setarg G24_OTA_STORAGE_FLASH
-	rtn
-	
-p_mouse_24g_package_ota_common_ok:
-	jam TYPE_MS,mem_24g_data_type
-	jam DATATYPE_OTA,mem_24g_txbuf
-	jam G24_OTA_STATUS_SUCCESS,mem_24g_txbuf+2
-	jam G24_OTA_TARGET_MOUSE,mem_24g_txbuf+3
-	rtn
-
-p_mouse_24g_package_ota_common_fail:
-	jam G24_OTA_STATUS_FAIL,mem_24g_txbuf+2
-	jam TYPE_MS,mem_24g_data_type
-	jam DATATYPE_OTA,mem_24g_txbuf
-	jam G24_OTA_TARGET_MOUSE,mem_24g_txbuf+3
-	rtn
-
-p_mouse_24g_package_ota_data:
-	jam G24_OTA_SM_TX_DATA_OK,mem_g24_ota_sm
-	jam G24_OTA_CMD_DATA,mem_24g_txbuf+1
-	fetch 1,mem_g24_ota_rx_data_count
-	store 1,mem_24g_txbuf+4	
-	jam 5,mem_24g_datalen
-	jam TYPE_MS,mem_24g_data_type
-	jam DATATYPE_OTA,mem_24g_txbuf
-	fetch 1,mem_g24_ota_rtn_state
-	store 1,mem_24g_txbuf+2
-	jam G24_OTA_TARGET_MOUSE,mem_24g_txbuf+3
-	rtn
-
-p_mouse_24g_package_ota_set_config_end:
-	jam G24_OTA_SM_TX_SET_CONFIG_END_OK,mem_g24_ota_sm
-	jam G24_OTA_CMD_SET_CONFIG_END,mem_24g_txbuf+1
-	jam 4,mem_24g_datalen
-	jam TYPE_MS,mem_24g_data_type
-	jam DATATYPE_OTA,mem_24g_txbuf
-	fetch 1,mem_g24_ota_rtn_state
-	store 1,mem_24g_txbuf+2
-	jam G24_OTA_TARGET_MOUSE,mem_24g_txbuf+3
-	rtn
-
-p_mouse_24g_package_ping:
-	jam DATATYPE_OTA,mem_24g_txbuf
-	jam G24_OTA_CMD_PING,mem_24g_txbuf+1
-	jam G24_OTA_STATUS_SUCCESS,mem_24g_txbuf+2
-	jam G24_OTA_TARGET_MOUSE,mem_24g_txbuf+3
-//	jam DATATYPE_OTA,mem_24g_txbuf
-//	jam G24_OTA_CMD_PING,mem_24g_txbuf+1
-	jam TYPE_MS,mem_24g_data_type
-	jam 4,mem_24g_datalen
-	rtn
-
-p_mouse_24g_package_data_ota:
-	copy pdata,rega //length
-	jam 0,mem_g24_ota_prepare_send_len
-	jam TYPE_MS,mem_24g_data_type
-	arg mem_g24_ota_txbuf,regb //tx buff		
-	rtn
-
-///////////////////////////// 2.4g ota  ///////////////////////////////////////////////////////////	
 endif
-
+/**********************************Freq Test Fuction End**********************************/
 
 p_power_ctrl_start:
 	fetch 2,mem_ui_state_map
@@ -3143,7 +2791,64 @@
 	call rssi_average
 endif
 	storet 1,mem_rssi_avg_received
+
+ifndef DISTANCE_DISCON
 	branch power_ctrl_rssi_avg_compare
+else
+
+	fetch 1,mem_rssi_dis_max_24g
+	bmark1 mark_24g,p_power_ctrl_start_next
+	fetch 1,mem_rssi_dis_max_ble
+p_power_ctrl_start_next:
+	isub temp,null
+	nbranch p_power_ctrl_txpower_incrs_force,positive
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	sub pdata,2,null
+	nbranch p_power_ctrl_txpower_decrs_check,positive
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	beq 0,p_power_ctrl_txpower_incrs
+	rtn
+
+p_power_ctrl_txpower_decrs_check:
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	fetcht 1,mem_power_ctrl_pac_succ_cnt_init
+	isub temp,null
+	nrtn zero
+	jam 0,mem_power_ctrl_pac_succ_cnt
+p_power_ctrl_txpower_decrs:
+	fetcht 1,mem_rssi_avg_received
+	fetch 1,mem_rssi_dis_min_24g
+	bmark1 mark_24g,p_power_ctrl_txpower_decrs_next
+	fetch 1,mem_rssi_dis_min_ble
+p_power_ctrl_txpower_decrs_next:	
+	isub temp,null
+	nrtn positive
+	fetch 1,mem_power_ctrl_level
+	beq 0,power_ctrl_decrs_level0
+	increase -1,pdata
+	store 1,mem_power_ctrl_level
+	beq 2,p_power_ctrl_decrs_level2				//3-->0-->-5
+	beq 1,power_ctrl_decrs_level1	//0dBm
+	branch power_ctrl_decrs_level0 //-5dBm
+
+p_power_ctrl_txpower_incrs_force:		//0-->3-->5
+	jam 0,mem_power_ctrl_pac_succ_cnt
+p_power_ctrl_txpower_incrs:
+	fetch 1,mem_power_ctrl_level
+	beq 3,p_power_ctrl_incrs_level3
+	increase 1,pdata
+	store 1,mem_power_ctrl_level
+	beq 1,power_ctrl_incrs_level1	//0dBm
+	beq 2,p_power_ctrl_incrs_level2
+p_power_ctrl_incrs_level3:	//+5dBm
+	branch p_power_ctrl_incrs_level2	//+3db
+//	jam TX_POWER_5DB,mem_tx_power
+//	rtn	
+p_power_ctrl_decrs_level2:	
+p_power_ctrl_incrs_level2:	//+3dBm
+	jam TX_POWER_3DB,mem_tx_power
+	rtn
+endif
 
 ifdef RSSI_SORT
 p_rssi_average:
Index: sched/mouse.dat
===================================================================
--- /YC1308AC/branch/mouse_project/BR_Project/MultiMode/PBSwitch_3mode_3ch_CM892B/sched/mouse.dat	(revision 4624)
+++ /YC1308AC/branch/mouse_project/BR_Project/MultiMode/PBSwitch_3mode_3ch_CM892B/sched/mouse.dat	(working copy)
@@ -85,7 +85,7 @@
 #bit5 MOUSE_ENABLE_COMMBINATION_KEY_BY_BT_DISCOVERY
 #bit6 MOUSE_ENABLE_DPI_KEY_LONG_PRESS_DISCONVERY
 #bit7 MOUSE_ENABLE_PB_BUTTON_LONG_PRESS_DISCONVERY
-0a
+81
 
 #mouse flag byte8
 #bit0 MOUSE_ENABLE_SMOOTHER
@@ -97,22 +97,20 @@
 1b
 
 mem_mouse_led_new_interface_config:
-#bit0 MOUSE_ENABLE_1IO2LED
+#bit0 MOUSE_ENABLE_LED_NEW_INTERFACE
 #bit1 MOUSE_ENABLE_BT_RECONN_LED_EFFECT
 #bit2 MOUSE_ENABLE_LED_BLINK_LIMIT
 #bit3 MOUSE_ENABLE_LOW_LED
 #bit4 MOUSE_ENABLE_LOW_LED_BLINK_LIMIT
-#bit5 MOUSE_ENABLE_LOW_FOR_LED
-#bit6 MOUSE_ENABLE_DPI_FOR_LED
-#bit7 MOUSE_ENABLE_DPI_LOW_FOR_LED
-0b
+#bit5 MOUSE_ENABLE_1IO2LED
+2b
 
 mem_mouse_discovery_timeout:b0 04	#2min
 mem_mouse_24g_pair_timeout_init:58 02  #1min	    24g reconn timer&pair timer
 mem_mouse_direct_timeout:64  #05s
 mem_mouse_24g_reconn_timeout_init:64 #10s
 
-mem_mouse_24g_pair_tx_power:94 #-20dBm
+mem_mouse_24g_pair_tx_power:94 #pair power
 mem_rssi_dis_min_24g_init:85
 mem_rssi_dis_max_24g_init:90
 mem_rssi_hex_received_max_value_init:63
@@ -143,35 +141,38 @@
 mem_mouse_sensor_sdio_gpio:06
 mem_config_low_voltage_alarm_gpio:ff
 mem_config_device_bt2_led_gpio:ff
-mem_dpi_led_gpio:ff #03
+mem_dpi_led_gpio:ff
 mem_firebutton_gpio:ff
 
-mem_mouse_rgb_ctrl_gpio:ff
 mem_sensor_angle_default:03	#00--6CLK   01--9CLK   02--12CLK   03--3CLK
 mem_sensor_angle_switch:03	#00--6CLK   01--9CLK   02--12CLK   03--3CLK
 mem_config_sensor_dpi:01		#00--1200   01--1600
 
 mem_mouse_logo_led_gpio:ff
 mem_mouse_logo_led_on_time_init:58 02	#1min
+mem_mouse_logo_ctrl_type:00	#00 disable  bit0=1:memory	bit1=1:commbation ctrl	bit2=1:dpi ctrl
 
+mem_mouse_d_l_l_led_multi_type:00	#00 mo multi 	01:dpi+logo	02:low+logo	03:dpi+low+logo
 
+mem_mouse_select_sensor_angle_type:00 #00:default    01:ice select   02:mz select
 #1io2led multi start
 #time parm
-mem_mouse_multi_led_powon_timer_init:0a	#1s
+mem_mouse_led_multi_type:00				#00:no multi	01:low+led	02:dpi+led	03:low+dpi_led
+mem_mouse_multi_led_powon_timer_init:14	#2s
 mem_mouse_multi_24gled_blink_timer_init:05			#24gled blink time		500ms on,500ms off
 mem_mouse_multi_le_discovery_blink_timer_init:02		#le discovery blink time	500ms on,500ms off
 mem_mouse_multi_le_reconn_blink_timer_init:05			#le reconn blink time		500ms on,500ms off
 mem_mouse_low_led_blink_timer:14				#low blink time			1000ms on,1000ms off
 mem_mouse_dpi_led_blink_timer_init:02			#dpi blink time			200ms on,200ms off
 #blink count=count/2
-mem_mouse_multi_24gled_blink_count_init:02		#24g count
-mem_mouse_multi_le_reconn_blink_count_init:06	#le reconn count
+mem_mouse_multi_24gled_blink_count_init:01		#24g count
+mem_mouse_multi_le_reconn_blink_count_init:05	#le reconn count
 mem_mouse_multi_lowled_blink_count_init:0a		#low count=count
 #io config
 mem_mouse_1io2led_multi_24gled:8a
-mem_mouse_1io2led_multi_bt1led:0a
+mem_mouse_1io2led_multi_bt1led:88
 mem_mouse_1io2led_multi_bt2led:08
-mem_mouse_low_gpio:88
+mem_mouse_low_gpio:0a
 mem_mouse_dpi_gpio:ff
 #1io2led multi end
 
@@ -181,14 +182,16 @@
 mem_customer_key_press:
 #03 ea 00 00 00 00 00 00 00 #VOL DOWN
 #02 01 00 00 00 00 00 00 00 #POWERDOWN
-00 05 00 04 00 00 00 00 00#CTRL+ALT+A
-#00 08 00 07 00 00 00 00 00#One-click desktop
+#00 05 00 04 00 00 00 00 00#CTRL+ALT+A
+#00 0a 00 72 00 00 00 00 00#copilot=win+shift+f23
+00 08 00 07 00 00 00 00 00#One-click desktop
 
 mem_customer_key_release:
 #03 00 00 00 00 00 00 00 00 #MEDIA RELEASE
 #02 00 00 00 00 00 00 00 00 #SYSTEM CRTL RELEASE
-00 00 00 00 00 00 00 00 00#STANDARD KEY RELEASE
-#00 00 00 00 00 00 00 00 00#One-click desktop
+#00 00 00 00 00 00 00 00 00#STANDARD KEY RELEASE
+#00 00 00 00 00 00 00 00 00#copilot
+00 00 00 00 00 00 00 00 00#One-click desktop
 
 mem_lpm_mode:01
 
@@ -212,12 +215,12 @@
 mem_mouse_page_to:00 40		# 16384*0.625ms=10s
 mem_mouse_fast_direct_timeout:0a #1s
 mem_mouse_fast_page_to:60 06	# 1600*0.625ms = 1s
-mem_mouse_24g_power_on_fast_conn_timer:05 00 #1s
+mem_mouse_24g_power_on_fast_conn_timer:0a 00 #1s
 mem_mouse_24g_search_dongle_time_init: 64 00
 mem_mouse_no_data_timeout:70 17 #10min
 
 mem_mouse_device_poweron_timer_count_init:14	#2s
-mem_mouse_dpi_led_delay_count_init:0a	#1s
+mem_mouse_dpi_led_delay_count_init:05	#500ms
 mem_mouse_dpi_led_blink_time: 90 01		#200ms on,200ms off
 mem_mouse_disconvey_led_blink_time: e8 03	#500ms on,500ms off
 mem_mouse_low_v_led_blink_time:90 01		#200ms on,200ms off
@@ -225,15 +228,17 @@
 
 #bit0:mouse_key_l    bit1:mouse_key_r  bit2:mouse_key_m
 mem_mouse_commbination_key_bt:07
-mem_mouse_commbination_key_24g:03
-mem_mouse_commbination_dpi_gpio:ff
+mem_mouse_commbination_key_24g:06
+mem_mouse_commbination_key_dpi:ff
+mem_mouse_commbination_logo_key:ff
+mem_mouse_select_device_commbation_key_gpio:ff
 
-mem_store_information_delay_timer_init:02
+mem_store_information_delay_timer_init:01
 
 #adc start
 mem_adc_config_flag_init:01 		#00-vinlpm   01-hvin   02-gpio
 mem_adc_channel:05 		#00-gpio4   01-gpio5   02-gpio6  03-gpio7    04-gpio9  05-gpio10  06-gpio11  07-gpio12
-#mem_mouse_vdd_full_vol:0f 01		#1.5V
+#mem_mouse_vdd_full_vol:#0f 01		#1.5V
 #a2 00#mem_mouse_vdd_empty_vol  :0.9V
 #b4 00#mem_mouse_vdd_low_vol   :1.0V
 mem_mouse_vdd_full_vol:72 01		#3.7V
@@ -257,7 +262,7 @@
 mem_lpm_mult_init:20
 
 mem_app_connection_options:06
-mem_lap:15 a3 c8 12 23 51
+mem_lap:10 a3 c8 12 23 51
 mem_local_name_length:
 'BT3.0 Mouse
 mem_sniff_param_interval:
@@ -309,6 +314,14 @@
 mem_le_name_patch_len:	#max 18bytes
 'BT5.2 Mouse
 
+mem_ble_device2_name:	#max 18bytes
+'BT5.2 Mouse
+
+mem_bt_device2_name:
+'BT3.0 Mouse
+
+mem_mouse_le_name_modify_enable:00	#00 disable  01 enable
+
 mem_le_interval_min:
 06 00 #min interval
 09 00 #max interval
@@ -340,7 +353,7 @@
 
 mem_spi_ncs_gpio:ff
 mem_ui_button_gpio:ff
-mem_ui_button_timeout:1e
+#mem_ui_button_timeout:1e
 
 
 mem_mouse_dpi_seting:
@@ -356,7 +369,7 @@
 
 14##mem_ka8g2_dpi_0	1200
 1b##mem_ka8g2_dpi_1	1600
-11##mem_ka8g2_dpi_2	1000
+36##mem_ka8g2_dpi_2	3200
 0e##mem_ka8g2_dpi_3	800
 
 mem_sensor_s201_dpi:
@@ -428,14 +441,22 @@
 be d1
 a0 41
 a1 12
-a5 84
 a7 ff
-b5 d0
 b6 00
+b5 c8
+a5 af
 ff 00
 09 00
 ff ff
 
+mem_sensor_p6520_init:
+05 b9
+09 5a
+0b 72
+0c 52
+09 00
+ff ff
+
 mem_sensor_ka8ul_init:
 09 5a
 0d 10
@@ -465,7 +486,8 @@
 
 mem_sensor_ka8g2_init:
 09 a5
-46 34
+26 34
+19 04
 60 07
 69 04
 7d 20
@@ -486,7 +508,7 @@
 ff ff	
 
 mem_ui_led_struct_ptr:mem_mouse_led_type
-mem_ui_led_struct_num:01
+#mem_ui_led_struct_num:00
 
   
 #24g init
@@ -495,20 +517,20 @@
 mem_24g_data_type:01        #mouse 1,kb 2
 mem_24g_max_retry:06#max tx retry
 mem_24g_rx_window:c0 12     #400us  ## e0 2e#1ms #transmitter long range min:520us
-mem_24g_interval:19
-mem_24g_interval_min:19
-mem_24g_interval_max:1c
-mem_24g_ch_map1:00 13 2c 42
-mem_24g_ch_map2:06 15 36 48
-mem_24g_ch_map3:0f 1a 3a 4c
-mem_24g_ch_map4:11 23 31 4d
+#mem_24g_interval:19
+#mem_24g_interval_min:19
+#mem_24g_interval_max:1c
+#mem_24g_ch_map1:00 13 2c 42
+#mem_24g_ch_map2:06 15 36 48
+#mem_24g_ch_map3:0f 1a 3a 4c
+#mem_24g_ch_map4:11 23 31 4d
 mem_24g_pair_switch:00
 mem_24g_pair_addr:20 15 10 05
 mem_24g_pair_ch:4e
 mem_24g_fast_conn_enable:01
 mem_24g_fast_conn_addr:0f 0f 0f 0f
-mem_24g_short_sleep_set:0c f8 00
-mem_24g_long_sleep_set:00 77 01
+#mem_24g_short_sleep_set:0c f8 00
+#mem_24g_long_sleep_set:00 77 01
 mem_24g_enter_hibernate:00 48 60
 mem_rssi_buff_index:07
 mem_rssi_signal_buf_ptr:mem_mouse_rssi_signal_buf
@@ -525,7 +547,11 @@
 mem_tx_power:03#3dbm
 
 
-
+#freq test
+mem_mouse_ch:
+00#mem_mouse_ch_l	#2402
+26#mem_mouse_ch_m#2440
+4c#mem_mouse_ch_h #2478
 
 
 #log log log log log log log log log log log
Index: util/mergepatch.pl
===================================================================
--- /YC1308AC/branch/mouse_project/BR_Project/MultiMode/PBSwitch_3mode_3ch_CM892B/util/mergepatch.pl	(revision 4624)
+++ /YC1308AC/branch/mouse_project/BR_Project/MultiMode/PBSwitch_3mode_3ch_CM892B/util/mergepatch.pl	(working copy)
@@ -127,6 +127,17 @@
 }
 
 
+sub getdefs {
+	my($def) = @_;
+	my(@ifdefs) = split(/\s*\|\s*/, $def);
+	my $v = 0;
+	foreach (@ifdefs) {
+		s/\s//g;
+		$v = 1 if($defs =~ /(^|\s)$_(\s|$)/);
+	}
+	return $v;
+}
+
 sub parseif {
 	my($fname) = @_;
 	open file, $fname;
@@ -142,11 +153,12 @@
 			$comment = 0 if(/\*\//);
 			next;
 		}
-		$defs .= $1 . " " if(/^define\s+(\w+)\s*/);
-		if(/^\s*ifdef\s+(\w+)\s*/) {
-			push @valid, ($defs =~ /(^|\s)$1(\s|$)/ ? 1 : 0) & $valid[$#valid];
-		} elsif(/^\s*ifndef\s+(\w+)\s*/) {
-			push @valid, ($defs =~ /(^|\s)$1(\s|$)/ ? 0 : 1) & $valid[$#valid];
+		if(/^\s*ifdef\s+(.+)$/) {
+			$v = getdefs($1) ? 1 : 0;
+			push @valid, $v & $valid[$#valid];
+		} elsif(/^\s*ifndef\s+(.+)$/) {
+			$v = getdefs($1) ? 0 : 1;
+			push @valid, $v & $valid[$#valid];
 		} elsif(/^\s*else/) {
 			printf "%s\nelse without if at line %d\n", $f[$i - 3], $i if($#valid == 0);
 			if($#valid == 0) {
@@ -174,6 +186,9 @@
 				close file2;
 				splice(@f, $i + 1, 0, @f2);
 			} else {
+			if(/^define\s+(\w+)\s*/) {
+				$defs .= $1 . " " 
+			}
 				print file $_;
 			}
 		}
@@ -185,7 +200,7 @@
 {
 	print "genpatch\n";
 	$patched = 0;
-	open file,"program/patch.prog";
+	open file,"output/bt_program23.meta";
 	while(<file>) {
 		if(/^\s*beq\s+patch([0-9a-f]+)_([0-7]),/) {
 			$a = hex($1), $b = hex($2);
@@ -223,10 +238,11 @@
 	open file, "output/bt_program23.meta";
 	@f = <file>;
 	close file;
-	for($i = $label = $line = 0, $z = 1;$i < @f;$i++) {
+	for($i = $label = $line[0] = 0, $z = 1;$i < @f;$i++) {
 		$_ = $f[$i];
-		$line = $i - 1 if(/^org\s+0x[23]000/ && $line == 0);
+		$line[0] = $i - 1 if(/^org\s+0x([23]000|800)/ && $line[0] == 0);
 		if(/^org z\s*$/) {
+			$line[$z/0x10000 + 1] = $i - 1;
 			$z += 0x10000;
 			$f[$i] = sprintf("org 0x%x\n", $z);
 			$label = 1;
@@ -237,20 +253,28 @@
 		}
 	}
 	return if($z == 1);
+	$line[$z/0x10000 + 1] = $i - 1;
 	for($i = 0;$i < @f;$i++) {
 		$_ = $f[$i];
 		$label = "";
-		if(/^\s*(branch|nbranch|call|ncall)\s+(\w+)\s*$/ || /^\s*(branch|nbranch|call|ncall)\s+(\w+)\s*,\s*(\w+)\s*$/) {
+		if(/^\s*(branch|nbranch|call|ncall|setarg)\s+(\w+)\s*$/ || /^\s*(branch|nbranch|call|ncall|arg)\s+(\w+)\s*,\s*(\w+)\s*$/) {
 			$label = $2;
 		}
 		if(/^\s*(bmark|beq|bne|bbit[01])\s+(\w+)\s*,\s*(\w+)\s*$/) {
 			$label = $3;
 		}
+		$branch = /^\s+branch\s+$label\s*$/ ? 1 : 0;
 		if(exists($lab{$label})) {
 			$nlabel = "jmpz_" . $label;
 			$f[$i] =~ s/$label/eval "$nlabel"/e;
 			if($lab{$label} > 100) {
-				$f[$line] .= sprintf("%s:\n\tsetarg 0x%x\n\tbranch p_zcode_entrance_2Bytes_common\n\n", $nlabel, int($lab{$label}/0x1000));
+				$z = int($lab{$label}/0x1000);
+				$l = $i < $line[1] ? $line[0] : $line[$z/10 - 1];
+				if($branch && $i >= $line[1]) {
+					$f[$i] = sprintf("\tsetarg 0x%x\n\tbranch p_zcode_entrance_2Bytes_common\n\n", $z);
+				} else {
+					$f[$l] .= sprintf("%s:\n\tsetarg 0x%x\n\tbranch p_zcode_entrance_2Bytes_common\n\n", $nlabel, $z);
+				}
 				$lab{$label} = 1;
 			}
 		}
@@ -269,6 +293,41 @@
 	close file;
 }
 
+sub authrom {
+	$addr = 0x9000;
+	foreach $s (@ARGV) {
+		open f, "../sched/" . $s . ".dat" or die "cannot open dat file $s";
+		@ff = <f>;
+		close f;
+		foreach (@ff) { $_ =~ s/\s//g;push @auth, $_ . "\n"; }
+		printf "0x%x %s_ADDR\n", $addr, uc($s);
+		$addr += $#ff + 1;
+	}
+	open f,">auth.rom";
+	print f @auth;
+	close f;
+	open f,"romcode.rom" or return;
+	@rom = <f>;
+	close f;
+	for($i = 0, $j = $#rom - 0x1ff;$i < 0x200;$i++,$j++) {
+		for($k = 0, $l = "";$k < 4;$k++) {
+			$_ = $auth[$i*4 + $k];
+			s/\s//g;
+			$_ = "00" if(/^$/);
+			$l =  $_ . $l;
+		}
+		$rom[$j] = $l . "\n";
+	}
+	open f,">romcode.rom";
+	print f @rom;
+	close f;
+}
+
+if(@ARGV > 0) {
+	authrom();
+	exit;
+}
+
 parseif("output/bt_program23.meta");
 parseif("output/bt_format.meta");
 genpatch() if($defs !~ / SIM /);
