Index: output/eeprom.dat
===================================================================
--- /1306ac/branch/mouse/branch/mouse_public/output/eeprom.dat	(revision 429)
+++ /1306ac/branch/mouse/branch/mouse_public/output/eeprom.dat	(working copy)
@@ -1279,7 +1279,7 @@
 a0
 0f
 00
-04
+03
 aa
 55
 04
@@ -1366,6 +1366,18 @@
 7d
 aa
 55
+06
+00
+8b
+45
+99
+00
+5d
+00
+71
+00
+aa
+55
 01
 00
 9f
@@ -1705,11 +1717,5 @@
 11
 49
 01
-55
-aa
-aa
-55
-09
-a0
-9d
-83
+2e
+a4
Index: output/program.lis
===================================================================
--- /1306ac/branch/mouse/branch/mouse_public/output/program.lis	(revision 426)
+++ /1306ac/branch/mouse/branch/mouse_public/output/program.lis	(working copy)
@@ -9485,6 +9485,8 @@
 5290 245a48e4 ncall g24_chamap_param_update ,blank 
 5291 2040526c call mouse_xtal_init 
 5292 204053a6 call mouse_adc_vol_init 
+
+mouse_default_init_next:
 5293 20405271 call mouse_24g_phy_select 
 5294 20405d72 call mouse_24g_long_sleep_set 
 5295 20204900 branch g24_pair_param_init 
Index: program/app_mouse.prog
===================================================================
--- /1306ac/branch/mouse/branch/mouse_public/program/app_mouse.prog	(revision 428)
+++ /1306ac/branch/mouse/branch/mouse_public/program/app_mouse.prog	(working copy)
@@ -123,7 +123,8 @@
 	ncall g24_chamap_param_update,blank
 
 	call mouse_xtal_init
-	call mouse_adc_vol_init	
+	call mouse_adc_vol_init
+mouse_default_init_next:
 	call mouse_24g_phy_select
 	call mouse_24g_long_sleep_set
 	branch g24_pair_param_init
Index: program/patch.prog
===================================================================
--- /1306ac/branch/mouse/branch/mouse_public/program/patch.prog	(revision 429)
+++ /1306ac/branch/mouse/branch/mouse_public/program/patch.prog	(working copy)
@@ -1,10 +1,16 @@
 
 define SENSOR_ANGLE_ICE_SDIO
+define DPI_LOAD_AND_STORE
+//define ADC_ENABLE
 
 	bbit1 8,pf_patch_ext
 ifdef SENSOR_ANGLE_ICE_SDIO
 	beq patch06_7,p_mouse_sensor_set_angle
 endif
+ifdef ADC_ENABLE
+	beq patch00_0,p_soft_reset
+	beq patch14_0,p_enable_adc
+endif
 	beq patch07_5,p_mouse_setgpio_hibernate
 	beq patch08_6,p_mouse_3io6key_check
 	beq patch09_4,p_mouse_priority_bb_event
@@ -43,7 +49,9 @@
 	call mouse_setting_config
 	rtnbit0 MOUSE_ENABLE_OTP
 p_mouse_load_otp_info_check:
+ifdef DPI_LOAD_AND_STORE
 	call p_mouse_read_otp_dpi
+endif
 	call p_mouse_read_otp_24g_addr
 p_mouse_otp_load_app_initflag:
 	arg 2,temp
@@ -63,10 +71,14 @@
 	branch otp_write
 
 p_mouse_load_device_info:
+ifdef DPI_LOAD_AND_STORE
 	arg OTP_OFFSET_DPI,pdata
 	call p_mouse_read_otp_dpi_common			
 	fetch 1,mem_mouse_dpi_temp
 	call p_mouse_load_default_dpi,blank
+else
+	call p_mouse_load_default_dpi
+endif	
 	jam MODE_24G_DEVICE,mem_device_flag
 	branch mouse_load_device_info+1
 
@@ -268,7 +280,9 @@
 	call mouse_store_device_info+1
 	rtnbit0 MOUSE_ENABLE_OTP 
 p_mouse_store_otp_device_info:
+ifdef DPI_LOAD_AND_STORE
 	call p_mouse_otp_store_dpi
+endif
 p_mouse_otp_store_24g_addr:
 	arg OTP_OFFSET_24G_ADDR,pdata
 	copy pdata,regb
@@ -294,7 +308,7 @@
 	copy regb,pdata
 	branch otp_write
 
-
+ifdef DPI_LOAD_AND_STORE
 p_mouse_otp_store_dpi:
 	arg OTP_OFFSET_DPI,pdata
 	copy pdata,regb
@@ -373,6 +387,7 @@
 p_mouse_dpi_load_end:
 	store 1,mem_mouse_dpi
 	rtn	
+endif
 
 p_mouse_read_otp_24g_addr:
 	arg OTP_OFFSET_24G_ADDR,pdata
@@ -400,4 +415,89 @@
 	store 4,mem_mouse_24g_addr
 	rtn 
 
+ifdef ADC_ENABLE
+p_soft_reset:
+	clear_stack
+	call p_app_param_init
+	branch soft_reset+3
+
+p_app_param_init:
+	rtn wake
+	call adc_init_data
+p_mouse_default_init:
+	fetch 2,mem_mouse_24g_pair_timeout_init
+	store 2,mem_24g_pair_timeout_init
+
+	fetch 1,mem_mouse_24g_reconn_timeout_init
+	store 2,mem_24g_reconn_timeout_init
+
+	fetch 5,mem_rssi_dis_min_24g_init
+	store 5,mem_rssi_dis_min_24g
+
+	fetch 1,mem_mouse_24g_pair_tx_power
+	store 1,mem_24g_pair_tx_power
+
+	fetch 1,mem_mouse_enable_flag
+	isolate1 MOUSE_ADC_ENABLE,pdata
+	call mouse_adc_read_enable,true
+
+	fetch 1,mem_mouse_enable_flag
+	isolate1 MOUSE_24G_250HZ_ENABLE,pdata
+	call mouse_24g_set_250Hz,true
+	fetch 1,mem_mouse_enable_flag
+	isolate1 MOUSE_SEARCH_DONGLE_ENABLE,pdata
+	call mouse_24g_search_dongle_enable,true
+	fetch 1,mem_mouse_enable_flag
+	isolate1 MOUSE_CLK_16M_ENABLE,pdata
+	call mouse_16M_enable,true
+	fetch 1,mem_mouse_enable_flag
+	isolate1 MOUSE_DPI_4_LEVEL_ENABLE,pdata
+	call mouse_dpi_4level_enable,true
+	fetch 1,mem_mouse_enable_flag
+	isolate1 MOUSE_KEYBOARD_ENABLE,pdata
+	call mouse_customer_key_enable,true
+	
+	fetch 1,mem_24g_ch_map_update
+	ncall g24_chamap_param_update,blank
+
+	call mouse_xtal_init
+//	call mouse_adc_vol_init
+	branch mouse_default_init_next
+
+p_enable_adc:
+	fetchr regb,1,core_rf_ldo_cfg6
+	jam 0x3d,core_rf_ldo_cfg6
+	jam 0xaa,core_rf_ldo_cfg5
+	jam 0x0c,core_rf_ldo_en0
+	fetch 1,core_clkpll_cfg6
+	set1 7,pdata
+	store 1,core_clkpll_cfg6
+	jam 0x04,core_rf_ldo_en1
+	nop 60
+	jam 0,core_syn_en
+	jam 6,core_rx_en0
+	call read_adc_mode
+	store 1,core_gpadc_ctrl
+	jam 0x03,core_sum_ctrl
+	nop 60
+	fetch 1,core_sum_en
+	set1 7,pdata
+	store 1,core_sum_en
+	nop 1000  // 1/24ms
+	
+	fetch 2,mem_adc_delay
+	call sleep
+//	fetcht 1,mem_adc_config_flag
+//	sub temp,ADC_CONFIG_HVIN,null
+//	call sleep,zero	
+	fetch 2,core_adc_sum
+	store 2,mem_adc_current_value
+	fetch 1,core_sum_en
+	set0 7,pdata
+	store 1,core_sum_en
+	jam 0,core_gpadc_ctrl
+	storer regb,1,core_rf_ldo_cfg6
+	rtn
+
+endif
 
Index: sched/mouse_basic.dat
===================================================================
--- /1306ac/branch/mouse/branch/mouse_public/sched/mouse_basic.dat	(revision 429)
+++ /1306ac/branch/mouse/branch/mouse_public/sched/mouse_basic.dat	(working copy)
@@ -1,4 +1,4 @@
-
+#mem_patch00:01	#adc
 mem_patch06:80
 mem_patch07:20
 mem_patch08:40
@@ -6,6 +6,7 @@
 mem_patch0a:04
 mem_patch0b:c4
 mem_patch0e:01
+#mem_patch14:01	#adc
 mem_patch1c:08
 mem_patch2c:02
 
@@ -187,16 +188,26 @@
 mem_adc_read_time_init:0a
 mem_adc_config_flag_init:02   #00-vinlpm   01-hvin   02-gpio
 mem_adc_low_volatage_led_blink_timer:64 00
-mem_adc_channel:04       
-#00-gpio4   
-#01-gpio5   
-#02-gpio6  
-#03-gpio7
-#04-gpio9  
-#05-gpio10  
-#06-gpio11  
-#07-gpio12
-
+mem_adc_channel:03      
+#00-gpio3 
+#01-gpio4   
+#02-gpio5  
+#03-gpio6
+#04-gpio8  
+#05-gpio9  
+#06-gpio10  
+#07-gpio11
+
+#0x0172--3.7V  0x012c--3.0V  0x0140--3.2V  0x014a--3.3V
+#0x012c--3.0V  0x00c8--2.0V  0x00dc--2.2V
+#0x0099--1.5V   0x005d--0.9V  0x0068--1.0V  0x0071--1.1V
+mem_mouse_vdd_full_vol:99 00	#1.5v
+5d 00#mem_mouse_vdd_empty_vol	#0.9v
+71 00#mem_mouse_vdd_low_vol	#1.1v
+
+#mem_mouse_vdd_full_vol:72 01	#3.7v
+#2c 01#mem_mouse_vdd_empty_vol	#3.0v
+#4a 01#mem_mouse_vdd_low_vol	#3.3v
 
 #2.4g
 mem_24g_lap:14 27 32 41 51 61
