Index: do.bat
===================================================================
--- /1121s/branch/mouse/YC_Project/Only_BLE_189/do.bat	(revision 3320)
+++ /1121s/branch/mouse/YC_Project/Only_BLE_189/do.bat	(working copy)
@@ -93,9 +93,9 @@
 echo create auth rom
 perl ../util/mergepatch.pl mouse_ble_att_list usb_kbdata_vendor_define usb_kbdata usb_msdata usb_devicedata usb_confdata ble_shutter_gatt_list ble_shutter_key_value_list ble_car_att_list sha256 
 perl ../util/romcrc.pl romcode.rom
-perl  ../util/mergepatch.pl otp
-
-
+perl ../util/mergepatch.pl otp
+perl ../util/otpcheck.pl 
+echo.
 if "%device_option%" equ "mouse" (
 cd ..\output
 copy eeprom.dat ..\util\eeprom.dat
Index: output/otp.dat
===================================================================
--- /1121s/branch/mouse/YC_Project/Only_BLE_189/output/otp.dat	(revision 3320)
+++ /1121s/branch/mouse/YC_Project/Only_BLE_189/output/otp.dat	(working copy)
@@ -5438,7 +5438,7 @@
 32
 00
 1a
-08
+00
 49
 1b
 aa
@@ -5447,23 +5447,23 @@
 00
 44
 46
+0c
 08
-06
-07
+0f
 ff
 ff
-09
 0c
-15
+0d
+0a
+12
 14
-13
 ff
 02
 02
 00
 ff
 ff
-ff
+07
 ff
 ff
 ff
@@ -5473,7 +5473,7 @@
 05
 ff
 ff
-04
+06
 ff
 ff
 ff
@@ -6415,7 +6415,7 @@
 00
 07
 44
-02
+01
 aa
 55
 01
@@ -6429,19 +6429,19 @@
 00
 08
 44
-06
+00
 aa
 55
 06
 00
 2d
 46
-a8
-00
-78
-00
-81
-00
+70
+01
+2c
+01
+40
+01
 aa
 55
 01
@@ -6610,8 +6610,8 @@
 aa
 aa
 55
-6b
-53
-27
-c6
+aa
+51
+36
+09
 20
Index: program/patch.prog
===================================================================
--- /1121s/branch/mouse/YC_Project/Only_BLE_189/program/patch.prog	(revision 3320)
+++ /1121s/branch/mouse/YC_Project/Only_BLE_189/program/patch.prog	(working copy)
@@ -1577,6 +1577,7 @@
 	branch p_mouse_24g_start_auto_pair
 
 p_mouse_start_work:
+	// call app_param_init
 //	fetch MOUSE_FLAG_LEN,mem_mouse_flag
 //	bbit1 MOUSE_ENABLE_24G_FIRST_AUTO_PAIRING,p_mouse_24g_first_start_auto_pair_mode
 	fetch 1,mem_device_flag
Index: sched/mouse.dat
===================================================================
--- /1121s/branch/mouse/YC_Project/Only_BLE_189/sched/mouse.dat	(revision 3320)
+++ /1121s/branch/mouse/YC_Project/Only_BLE_189/sched/mouse.dat	(working copy)
@@ -61,7 +61,7 @@
 #bit5 MOUSE_ENABLE_PB_BUTTON_CONNECT_GND
 #bit6 MOUSE_ENABLE_FIRE_KEY_CONNECT_GND
 #bit7 MOUSE_ENABLE_CUSTOMER_KEY_CONNECT_VIN_OR_MATRIX
-08
+00
 
 #mouse flag byte7
 #bit0 MOUSE_ENABLE_AUTO_24G_PARING
@@ -86,23 +86,23 @@
 1b
 
 mem_mouse_param_config:
-08 #mem_lbutton_gpio
-06 #mem_mbutton_gpio
-07 #mem_rbutton_gpio
+0c #mem_lbutton_gpio
+08 #mem_mbutton_gpio
+0f #mem_rbutton_gpio
 ff #mem_bk_button_gpio
 ff #mem_fw_button_gpio
-09 #mem_dpi_button_gpio
-0c #mem_whee_a_data_gpio
-15 #mem_whee_b_data_gpio
-14 #mem_mouse_sensor_sclk_gpio
-13 #mem_mouse_sensor_sdio_gpio
+0c #mem_dpi_button_gpio
+0d #mem_whee_a_data_gpio
+0a #mem_whee_b_data_gpio
+12 #mem_mouse_sensor_sclk_gpio
+14 #mem_mouse_sensor_sdio_gpio
 ff #mem_select_sensor_angle_gpio
 02 #mem_sensor_angle_default
 02 #mem_sensor_angle_switch
 00 #mem_config_sensor_dpi	#power on default dpi 00--1200  01--1600
 ff #mem_whee_ta_data_gpio
 ff #mem_whee_tb_data_gpio
-ff #mem_matrix_public_gpio
+07 #mem_matrix_public_gpio
 ff #mem_config_select_device_button_gpio
 ff #mem_customer_key_gpio
 ff #mem_firebutton_gpio
@@ -112,7 +112,7 @@
 05 #mem_mouse_reuse_2ice_gpio
 ff #mem_mouse_logo_led_gpio
 ff #mem_mouse_1io2led_multi_24gled
-04 #mem_mouse_1io2led_multi_bt1led
+06 #mem_mouse_1io2led_multi_bt1led
 ff #mem_mouse_1io2led_multi_bt2led
 ff #mem_mouse_low_voltage_alarm_gpio
 ff #mem_mouse_dpi_gpio
@@ -414,11 +414,11 @@
 
 
 #adc config
-mem_adc_config_flag:02
+mem_adc_config_flag:01
 #01 ADC_CONFIG_HVIN
 #02 ADC_CONFIG_GPIO
 mem_adc_clkdiv:0a
-mem_adc_channel:06
+mem_adc_channel:00
 #00 ADC_CH_VBAT
 #01 ADC_CH_VDCDC5V
 #06 ADC_CH_GPIO18
@@ -432,9 +432,9 @@
 #0e ADC_CH_GPIO13
 
 #adc
-mem_mouse_vdd_full_vol:a8 00		#4.2V
-78 00#mem_mouse_vdd_empty_vol  :3.0V
-81 00#mem_mouse_vdd_low_vol   :3.2V
+mem_mouse_vdd_full_vol:70 01		#3.7V
+2c 01#mem_mouse_vdd_empty_vol  :3.0V
+40 01#mem_mouse_vdd_low_vol   :3.2V
 
 mem_adc_channel_gpio:12
 #04
Index: util/otpcheck.pl
===================================================================
--- /1121s/branch/mouse/YC_Project/Only_BLE_189/util/otpcheck.pl	(nonexistent)
+++ /1121s/branch/mouse/YC_Project/Only_BLE_189/util/otpcheck.pl	(working copy)
@@ -0,0 +1,76 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use File::Spec;  
+# 获取当前脚本的目录路径
+my $current_dir = File::Spec->rel2abs('.');
+my $parent_dir = File::Spec->catdir($current_dir, '..');  # 获取上一级目录
+
+# 指定要搜索的文件名
+my $filename = File::Spec->catfile($parent_dir, 'output', 'otp.dat');
+# 打开文件进行读取
+open(my $fh, '<',$filename) or die "无法打开文件 '$filename':$!";
+
+# 读取整个文件到数组中
+my @file_content = <$fh>;
+chomp @file_content;  # 移除每行的换行符
+
+# 关闭文件句柄
+close($fh);
+
+# 初始化变量
+my $found = 0;
+my $otp_end_address = 0;
+# 循环遍历文件内容，每次移动一个字节
+for my $start (0 ..$#file_content - 3) {
+    # 提取从当前起始位置开始的四个字节
+    my $chunk = join('', @file_content[$start .. $start + 3]);
+    
+    # 检查这四个字节是否匹配指定的字符串
+    if ($chunk eq '55aaaa55') {
+        $otp_end_address = $start +9;
+        # print "After adding 9 to the start position: $start\n";
+        $found = 1;
+    }
+}
+
+# 如果找到了 "55aaaa55"，则继续处理 sched.rom 文件
+if ($found) {
+    my $sched_filename = File::Spec->catfile($parent_dir, 'output', 'sched.rom');
+    # 打开文件进行读取
+    open(my $sched_fh, '<',$sched_filename) or die "无法打开文件 '$sched_filename'$!";
+    # 读取整个文件到字符串中
+    my $sched_content = do { local$/; <$sched_fh> };
+    chomp $sched_content;  # 移除字符串末尾的换行符
+    # print "sched_content: $sched_content\n";
+    # 关闭文件句柄
+    close($sched_fh);
+    # 在 sched_content 中查找 "mem_otp_offset_dpi:"
+    my $sched_position = index($sched_content, 'mem_otp_offset_dpi:');
+    # 如果找到了 "mem_otp_offset_dpi:"
+    if ($sched_position != -1) {
+        # 获取 "mem_otp_offset_dpi:" 后面的两个字节
+        my $five_bytes_with_spaces = substr($sched_content, $sched_position + length("mem_otp_offset_dpi:"), 5);
+        $five_bytes_with_spaces =~ s/ //g;  # 移除空格
+        my $five_bytes =$five_bytes_with_spaces;
+        # 字节颠倒
+        my $reversed_bytes = substr($five_bytes, 2, 2) . substr($five_bytes, 0, 2);
+        my $decimal_value = hex($reversed_bytes);
+        # 打印找到的字符串位置信息以及后面跟随的两个字节
+        print "Original otp dpi store start little-endian bytes: $five_bytes\n";
+        print "Reversed (big-endian) bytes:  $decimal_value\n";
+        print "otp end bytes:  $otp_end_address\n";
+        if($decimal_value>$otp_end_address)
+        {
+            print"otp check done";
+        }
+        else
+        {
+            die "系统错误：在文件 '$sched_filename' 中找不到字符串 'mem_otp_offset_dpi:'\n";
+        }
+    } else {
+        print "String 'mem_otp_offset_dpi:' not found in file '$sched_filename'.\n";
+    }
+}
+
+
