Index: output/eeprom.dat
===================================================================
--- /YC1308AC/branch/mouse_project/mouse_pubulic/output/eeprom.dat	(revision 1336)
+++ /YC1308AC/branch/mouse_project/mouse_pubulic/output/eeprom.dat	(working copy)
@@ -5739,7 +5739,7 @@
 01
 80
 03
-03
+13
 aa
 55
 0c
@@ -6490,14 +6490,14 @@
 62
 4c
 10
-b4
-bb
-ff
-ff
-ff
-ff
-ff
-ff
+55
+aa
+aa
+55
+39
+25
+8d
+f0
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-c3
-2b
+70
+40
Index: output/flash.dat
===================================================================
--- /YC1308AC/branch/mouse_project/mouse_pubulic/output/flash.dat	(revision 1336)
+++ /YC1308AC/branch/mouse_project/mouse_pubulic/output/flash.dat	(working copy)
@@ -5739,7 +5739,7 @@
 01
 80
 03
-03
+13
 aa
 55
 0c
@@ -6490,14 +6490,14 @@
 62
 4c
 10
-b4
-bb
-ff
-ff
-ff
-ff
-ff
-ff
+55
+aa
+aa
+55
+39
+25
+8d
+f0
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-c3
-2b
+70
+40
Index: program/patch.prog
===================================================================
--- /YC1308AC/branch/mouse_project/mouse_pubulic/program/patch.prog	(revision 1336)
+++ /YC1308AC/branch/mouse_project/mouse_pubulic/program/patch.prog	(working copy)
@@ -5,6 +5,7 @@
 //define FCC
 define FIRE_KEY
 //define UART_LOG
+//define SELECT_ANGLE
 
 	bbit1 8,pf_patch_ext
 	beq patch00_0,p_soft_reset
@@ -93,6 +94,9 @@
 	call g24_chmap_param_init
 	call p_mouse_gpio_init
 	call mouse_param_init
+ifdef SELECT_ANGLE	
+	call p_mouse_select_angle
+endif
 ifdef FIRE_KEY
 	call p_mouse_firebutton_connect_state_check
 endif
@@ -104,6 +108,36 @@
 	call p_g24_short_sleep_set_4ms
 	branch mouse_setting_config_next
 
+ifdef SELECT_ANGLE	
+p_mouse_select_angle:
+	fetch 1,mem_select_sensor_angle_gpio
+	arg gpcfg_pullup,temp
+	call gpio_config_function_int
+	fetcht 1,mem_select_sensor_angle_gpio
+	call gpio_get_bit
+	branch p_mouse_set_sensor_angle_gnd,true
+
+	fetch 1,mem_select_sensor_angle_gpio
+	arg gpcfg_pulldown,temp
+	call gpio_config_function_int
+	fetcht 1,mem_select_sensor_angle_gpio
+	call gpio_get_bit
+	branch p_mouse_set_sensor_angle_float,true	
+	branch p_mouse_set_sensor_angle_vin
+
+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
+	
+p_mouse_set_sensor_angle_vin:
+	jam MOUSE_12CLK_ANGLE,mem_config_sensor_angle
+	rtn
+endif
+
 p_mouse_gpio_init:
 	fetch 1,mem_mouse_1io2led_led_enable
 	ncall p_mouse_1io2led_all_off,blank
@@ -234,10 +268,31 @@
 	call gpio_pd_idle
 	arg 19,temp
 	call mouse_gpio_config_input_pu
+ifdef SELECT_ANGLE	
+	call p_mouse_set_sensor_gpio_sleep
+endif
 	call p_mouse_gpio_set_high_impedance
 	call p_mouse_adc_gpio_set_before_hibernate
 	branch p_mouse_wheel_gpio_set_before_hibernate
+
+ifdef SELECT_ANGLE	
+p_mouse_set_sensor_gpio_sleep:
+	fetch 1,mem_config_sensor_angle
+	call ice_break
+	beq MOUSE_3CLK_ANGLE,p_mouse_set_sensor_gnd_low_level
+	beq MOUSE_12CLK_ANGLE,p_mouse_set_sensor_float_high_level
+	rtn
+
+p_mouse_set_sensor_gnd_low_level:
+	fetcht 1,mem_select_sensor_angle_gpio
+	branch gpio_out_active
 	
+p_mouse_set_sensor_float_high_level:
+	fetch 1,mem_select_sensor_angle_gpio
+	or pdata,0x80,temp
+	branch gpio_out_active
+endif
+
 p_mouse_gpio_set_high_impedance:
 	fetch 3,mem_mouse_set_high_impedance_bit_set
 	store 3,mem_pdatatemp
Index: program_patch/main_patch.prog
===================================================================
--- /YC1308AC/branch/mouse_project/mouse_pubulic/program_patch/main_patch.prog	(revision 1336)
+++ /YC1308AC/branch/mouse_project/mouse_pubulic/program_patch/main_patch.prog	(working copy)
@@ -5,6 +5,7 @@
 //define FCC
 define FIRE_KEY
 //define UART_LOG
+define SELECT_ANGLE
 
 	bbit1 8,pf_patch_ext
 	beq patch00_0,p_soft_reset
@@ -93,6 +94,9 @@
 	call g24_chmap_param_init
 	call p_mouse_gpio_init
 	call mouse_param_init
+ifdef SELECT_ANGLE	
+	call p_mouse_select_angle
+endif
 ifdef FIRE_KEY
 	call p_mouse_firebutton_connect_state_check
 endif
@@ -104,6 +108,36 @@
 	call p_g24_short_sleep_set_4ms
 	branch mouse_setting_config_next
 
+ifdef SELECT_ANGLE	
+p_mouse_select_angle:
+	fetch 1,mem_select_sensor_angle_gpio
+	arg gpcfg_pullup,temp
+	call gpio_config_function_int
+	fetcht 1,mem_select_sensor_angle_gpio
+	call gpio_get_bit
+	branch p_mouse_set_sensor_angle_gnd,true
+
+	fetch 1,mem_select_sensor_angle_gpio
+	arg gpcfg_pulldown,temp
+	call gpio_config_function_int
+	fetcht 1,mem_select_sensor_angle_gpio
+	call gpio_get_bit
+	branch p_mouse_set_sensor_angle_float,true	
+	branch p_mouse_set_sensor_angle_vin
+
+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
+	
+p_mouse_set_sensor_angle_vin:
+	jam MOUSE_12CLK_ANGLE,mem_config_sensor_angle
+	rtn
+endif
+
 p_mouse_gpio_init:
 	fetch 1,mem_mouse_1io2led_led_enable
 	ncall p_mouse_1io2led_all_off,blank
@@ -234,10 +268,30 @@
 	call gpio_pd_idle
 	arg 19,temp
 	call mouse_gpio_config_input_pu
+ifdef SELECT_ANGLE	
+	call p_mouse_set_sensor_gpio_sleep
+endif
 	call p_mouse_gpio_set_high_impedance
 	call p_mouse_adc_gpio_set_before_hibernate
 	branch p_mouse_wheel_gpio_set_before_hibernate
+
+ifdef SELECT_ANGLE	
+p_mouse_set_sensor_gpio_sleep:
+	fetch 1,mem_config_sensor_angle
+	beq MOUSE_3CLK_ANGLE,p_mouse_set_sensor_gnd_low_level
+	beq MOUSE_12CLK_ANGLE,p_mouse_set_sensor_float_high_level
+	rtn
+
+p_mouse_set_sensor_gnd_low_level:
+	fetcht 1,mem_select_sensor_angle_gpio
+	branch gpio_out_active
 	
+p_mouse_set_sensor_float_high_level:
+	fetch 1,mem_select_sensor_angle_gpio
+	or pdata,0x80,temp
+	branch gpio_out_active
+endif
+
 p_mouse_gpio_set_high_impedance:
 	fetch 3,mem_mouse_set_high_impedance_bit_set
 	store 3,mem_pdatatemp
Index: sched/mouse.dat
===================================================================
--- /YC1308AC/branch/mouse_project/mouse_pubulic/sched/mouse.dat	(revision 1336)
+++ /YC1308AC/branch/mouse_project/mouse_pubulic/sched/mouse.dat	(working copy)
@@ -88,7 +88,7 @@
 #bit3 MOUSE_ENABLE_LE_BATTERY_SERVICE_CANCEL
 #bit4 MOUSE_ENABLE_WHEEL_WAKE_UP_CANCEL
 #bit5 MOUSE_ENABLE_DOUBLE_DPI_KEY
-03
+13
 
 
 mem_mouse_discovery_timeout:b0 04	#2min
