Index: format/app.format
===================================================================
--- /1121s/branch/shutter/branch/dy/Xinfeiyi/yc1088s_xfy_drag_7key/format/app.format	(revision 3640)
+++ /1121s/branch/shutter/branch/dy/Xinfeiyi/yc1088s_xfy_drag_7key/format/app.format	(working copy)
@@ -65,10 +65,19 @@
 
 
 //adc
+0 mem_reference_inter1p8v_2v_adc_io_data
+0 mem_inter1v_adc_ft_data
 2 mem_3v_adc_io_data
+0 mem_reference_inter1p8v_2p6v_adc_vdcdc_data
+0 mem_inter1p2v_adc_ft_data
 2 mem_2v_adc_hvin_data
+0 mem_reference_inter1p8v_1v_adc_io_data
+0 mem_io1v_adc_ft_data
 2 mem_1v_adc_io_data
+0 mem_reference_inter1p8v_4p6v_adc_vdcdc_data
+0 mem_io2v_adc_ft_data
 2 mem_3v_adc_hvin_data
+0 mem_adc_ratio
 2 mem_reference_voltage
 1 mem_adc_config_flag
 1 mem_adc_channel
@@ -209,6 +218,8 @@
 7 OTP_OFFSET_XRAM_BISTFIX	//2 byte
 9 OTP_OFFSET_PATCH_BISTFIX	//2 byte
 
+0xfc0 OTP_OFFSET_ADC_PARAM_L_C0
+
 0xfd0 OTP_OFFSET_ADC_PARAM_L
 0xff0 OTP_OFFSET_UCODE_KEY_L
 0x1000 OTP_OFFSET_H
@@ -369,3 +380,8 @@
 0x0e ADC_CH_GPIO13
 )
 
+//mem_adc_reference_mode 
+(
+1 SADC_REFERENCE_INTER3V
+2 SADC_REFERENCE_INTER1P8V_DIV2
+)
\ No newline at end of file
Index: format/app_shutter_dy.format
===================================================================
--- /1121s/branch/shutter/branch/dy/Xinfeiyi/yc1088s_xfy_drag_7key/format/app_shutter_dy.format	(revision 3640)
+++ /1121s/branch/shutter/branch/dy/Xinfeiyi/yc1088s_xfy_drag_7key/format/app_shutter_dy.format	(working copy)
@@ -210,6 +210,24 @@
 2 mem_dy_ios_release
 // 8 mem_ble_shutter_dy_interval_min_new_drag
 
+//adc
+//adc struct
+0 mem_shutter_vdd_calculate_set
+2 mem_shutter_vdd_full_vol
+2 mem_shutter_vdd_empty_vol
+2 mem_shutter_vdd_low_vol
+2 mem_shutter_vdd_now_vol
+
+1 mem_shutter_start_adc_flag
+1 mem_shutter_adc_read_timer
+1 mem_shutter_enable_low_voltage_flag
+1 mem_shutter_adc_last_low_voltage_flag
+1 mem_shutter_battery_level_percentage
+1 mem_shutter_adc_read_time_init
+
+1 mem_shutter_led_voltage_timer
+1 mem_shutter_led_voltage_flag
+1 mem_shutter_led_voltage_gpio
 0 mem_shutter_dy_end
 )
 
Index: format/bt.format
===================================================================
--- /1121s/branch/shutter/branch/dy/Xinfeiyi/yc1088s_xfy_drag_7key/format/bt.format	(revision 3640)
+++ /1121s/branch/shutter/branch/dy/Xinfeiyi/yc1088s_xfy_drag_7key/format/bt.format	(working copy)
@@ -209,8 +209,18 @@
 1 mem_system_clk
 
 ifdef DEBUG_RF_INIT
-18 mem_rf_init_data
+5 mem_rf_init_data
 endif
+
+0 mem_adc_reference3v_ft_data
+2 mem_adc_reference3v_gpio1v_ft_data
+2 mem_adc_reference3v_gpio2v_ft_data
+2 mem_adc_reference3v_vdcdc3p6v_ft_data
+2 mem_adc_reference3v_vdcdc4p6v_ft_data
+2 mem_adc_reference3v_inter1v_ft_data
+2 mem_adc_reference3v_inter1v_now_data
+1 mem_adc_reference_mode
+
 1 mem_otp_charge_pump_x
 1 mem_otp_dpll_ibais_x
 
Index: output/otp.dat
===================================================================
--- /1121s/branch/shutter/branch/dy/Xinfeiyi/yc1088s_xfy_drag_7key/output/otp.dat	(revision 3640)
+++ /1121s/branch/shutter/branch/dy/Xinfeiyi/yc1088s_xfy_drag_7key/output/otp.dat	(working copy)
@@ -11,92 +11,100 @@
 00
 aa
 55
-76
-11
+1e
+14
 c2
 84
 00
-16
+18
 c0
 00
 00
-1d
+1f
 c0
 01
 01
-e0
+e2
 c0
 08
 81
-e9
+eb
 c0
 0a
 04
-1c
+18
 c0
 0a
 82
-75
+77
 c0
 0c
 02
-83
+85
 c0
 0c
 82
-42
+44
 c0
 0d
 01
-fb
+fd
 c0
 12
 84
-3e
+3a
 c0
 13
 80
-48
+4a
 c0
 51
 80
-84
+86
 c0
 52
 81
-c1
+c3
 c0
 53
 00
-53
+55
 c0
 53
 80
-5f
+61
 c0
 55
 01
-b0
+b2
 c0
 56
 80
-a0
+a2
 c0
 58
 82
-8d
+8f
 c0
 62
 82
-8a
+8c
 c0
 6d
-03
-ed
+04
+01
+c0
+6d
+84
+ae
 c0
 6e
-03
-fd
+04
+eb
+c0
+6e
+84
+cc
 20
 20
 23
@@ -104,23 +112,23 @@
 c0
 12
 00
-21
+23
 c0
 12
 81
-99
+9b
 c0
 13
 01
-9e
+a0
 c0
 1c
 84
-38
+34
 c0
 26
 84
-3c
+38
 c1
 7f
 80
@@ -152,7 +160,7 @@
 c5
 97
 80
-27
+29
 78
 3c
 fc
@@ -196,7 +204,7 @@
 20
 37
 00
-30
+32
 1b
 42
 04
@@ -244,7 +252,7 @@
 20
 40
 00
-3e
+40
 6f
 e0
 81
@@ -348,7 +356,7 @@
 20
 40
 00
-59
+5b
 c1
 83
 00
@@ -384,11 +392,11 @@
 c0
 02
 02
-c8
+d8
 c0
 01
 03
-08
+18
 20
 60
 00
@@ -408,7 +416,7 @@
 20
 40
 00
-65
+67
 20
 74
 00
@@ -456,7 +464,7 @@
 20
 22
 80
-71
+73
 18
 e0
 8e
@@ -464,7 +472,7 @@
 20
 20
 00
-66
+68
 67
 e1
 4a
@@ -492,7 +500,7 @@
 20
 40
 00
-a9
+ab
 20
 20
 66
@@ -516,11 +524,11 @@
 20
 22
 80
-7f
+81
 20
 20
 00
-7e
+80
 70
 4e
 c0
@@ -536,7 +544,7 @@
 20
 40
 00
-a9
+ab
 20
 20
 66
@@ -584,7 +592,7 @@
 24
 42
 81
-93
+95
 6f
 e0
 ce
@@ -592,7 +600,7 @@
 24
 5a
 01
-8e
+90
 18
 e2
 7e
@@ -612,7 +620,7 @@
 20
 22
 80
-99
+9b
 6f
 e0
 ce
@@ -620,7 +628,7 @@
 24
 3a
 00
-9b
+9d
 20
 20
 65
@@ -632,7 +640,7 @@
 20
 20
 00
-ad
+af
 20
 40
 67
@@ -648,11 +656,11 @@
 20
 40
 00
-b2
+b4
 20
 20
 00
-ad
+af
 20
 40
 68
@@ -664,7 +672,7 @@
 20
 3a
 00
-a4
+a6
 20
 20
 68
@@ -704,11 +712,11 @@
 20
 40
 00
-b2
+b4
 20
 40
 00
-f5
+f7
 20
 40
 67
@@ -716,7 +724,7 @@
 24
 3a
 00
-c4
+c6
 df
 e0
 00
@@ -732,11 +740,11 @@
 c0
 00
 80
-b6
+b8
 c0
 00
 00
-bc
+be
 20
 60
 00
@@ -747,20 +755,20 @@
 00
 c0
 02
-80
-ff
+81
+01
 c0
 00
 01
-10
+12
 c0
 02
 01
-18
+1a
 c0
 01
 01
-36
+38
 20
 60
 00
@@ -771,24 +779,24 @@
 13
 c0
 00
-80
-ff
+81
+01
 c0
 01
 01
-10
+12
 c0
 01
 81
-18
+1a
 c0
 02
 01
-36
+38
 c0
 02
 80
-c3
+c5
 20
 60
 00
@@ -796,19 +804,19 @@
 20
 20
 01
-77
+79
 20
 40
 00
-cc
+ce
 20
 40
 00
-e1
+e3
 20
 40
 00
-eb
+ed
 df
 e0
 00
@@ -832,7 +840,7 @@
 20
 40
 00
-d7
+d9
 18
 42
 7e
@@ -872,7 +880,7 @@
 20
 20
 00
-d0
+d2
 68
 48
 ce
@@ -952,7 +960,7 @@
 20
 20
 00
-e4
+e6
 6f
 e0
 ce
@@ -992,7 +1000,7 @@
 20
 20
 00
-ee
+f0
 6f
 e0
 ce
@@ -1008,7 +1016,7 @@
 20
 20
 01
-06
+08
 6f
 e0
 ce
@@ -1036,7 +1044,7 @@
 20
 40
 01
-56
+58
 6f
 e1
 4e
@@ -1048,7 +1056,7 @@
 24
 41
 00
-f9
+fb
 24
 61
 00
@@ -1068,7 +1076,7 @@
 20
 3a
 01
-66
+68
 6f
 e1
 4e
@@ -1096,11 +1104,11 @@
 20
 40
 01
-6d
+6f
 20
 20
 01
-77
+79
 20
 40
 67
@@ -1108,11 +1116,11 @@
 24
 5a
 01
-5b
+5d
 20
 40
 01
-56
+58
 6f
 e1
 4e
@@ -1132,7 +1140,7 @@
 20
 20
 01
-05
+07
 20
 40
 67
@@ -1140,11 +1148,11 @@
 20
 3a
 01
-2f
+31
 20
 40
 01
-56
+58
 6f
 e1
 4e
@@ -1180,7 +1188,7 @@
 24
 21
 01
-06
+08
 58
 00
 0f
@@ -1200,7 +1208,7 @@
 20
 22
 81
-2c
+2e
 18
 40
 84
@@ -1212,7 +1220,7 @@
 20
 20
 01
-4f
+51
 70
 4e
 ad
@@ -1224,11 +1232,11 @@
 20
 20
 01
-4f
+51
 20
 40
 01
-56
+58
 6f
 e1
 4e
@@ -1252,7 +1260,7 @@
 20
 20
 01
-06
+08
 20
 40
 67
@@ -1260,11 +1268,11 @@
 20
 3a
 01
-3f
+41
 20
 40
 01
-56
+58
 6f
 e1
 4e
@@ -1284,15 +1292,15 @@
 20
 21
 01
-45
+47
 20
 20
 01
-4f
+51
 20
 40
 01
-56
+58
 6f
 e1
 4e
@@ -1312,7 +1320,7 @@
 20
 20
 01
-4f
+51
 20
 40
 67
@@ -1320,7 +1328,7 @@
 20
 3a
 01
-51
+53
 6f
 e0
 ce
@@ -1328,7 +1336,7 @@
 20
 3a
 01
-51
+53
 1f
 e0
 ff
@@ -1360,7 +1368,7 @@
 20
 20
 01
-06
+08
 58
 00
 0f
@@ -1368,7 +1376,7 @@
 20
 20
 01
-4f
+51
 70
 4e
 ac
@@ -1380,7 +1388,7 @@
 20
 20
 01
-05
+07
 d8
 40
 00
@@ -1432,7 +1440,7 @@
 20
 22
 81
-53
+55
 18
 40
 84
@@ -1444,7 +1452,7 @@
 20
 20
 01
-05
+07
 6f
 e1
 4e
@@ -1468,11 +1476,11 @@
 20
 40
 01
-6d
+6f
 20
 20
 01
-77
+79
 20
 40
 67
@@ -1480,7 +1488,7 @@
 24
 3a
 01
-81
+83
 58
 00
 00
@@ -1520,7 +1528,7 @@
 24
 3a
 01
-81
+83
 58
 00
 00
@@ -1612,7 +1620,7 @@
 c0
 03
 01
-91
+93
 20
 60
 00
@@ -1632,7 +1640,7 @@
 20
 3a
 01
-96
+98
 20
 20
 65
@@ -1760,7 +1768,7 @@
 c0
 00
 81
-b6
+b8
 20
 20
 66
@@ -1776,7 +1784,7 @@
 c0
 03
 01
-ba
+bc
 20
 60
 00
@@ -1784,7 +1792,7 @@
 20
 40
 01
-bc
+be
 20
 20
 67
@@ -1868,7 +1876,7 @@
 24
 3a
 01
-d1
+d3
 20
 20
 65
@@ -1884,7 +1892,7 @@
 20
 40
 01
-dc
+de
 da
 60
 4a
@@ -1920,7 +1928,7 @@
 20
 40
 01
-d7
+d9
 70
 4b
 fe
@@ -1968,7 +1976,7 @@
 20
 20
 01
-e0
+e2
 70
 8a
 0f
@@ -2084,7 +2092,7 @@
 20
 40
 02
-4a
+4c
 6f
 e0
 c4
@@ -2096,7 +2104,7 @@
 24
 55
 81
-f7
+f9
 37
 d9
 82
@@ -2112,7 +2120,7 @@
 c0
 08
 02
-37
+39
 6f
 e0
 c4
@@ -2156,7 +2164,7 @@
 20
 40
 02
-29
+2b
 70
 80
 43
@@ -2180,15 +2188,15 @@
 20
 40
 03
-bf
+d3
 20
 40
 03
-ea
+fe
 20
 40
 02
-23
+25
 70
 41
 48
@@ -2199,8 +2207,8 @@
 4e
 20
 20
-03
-ec
+04
+00
 20
 75
 80
@@ -2232,7 +2240,7 @@
 c0
 0c
 02
-2f
+31
 6f
 e0
 c4
@@ -2324,7 +2332,7 @@
 20
 20
 02
-15
+17
 6f
 e0
 c1
@@ -2332,7 +2340,7 @@
 c0
 05
 02
-45
+47
 20
 20
 22
@@ -2360,7 +2368,7 @@
 20
 35
 82
-71
+73
 6f
 e2
 02
@@ -2528,7 +2536,7 @@
 20
 20
 02
-5b
+5d
 20
 40
 68
@@ -2645,10 +2653,18 @@
 40
 a6
 0a
+20
+40
+04
+69
+70
+4f
+ed
+01
 58
 00
 03
-7b
+8f
 67
 e1
 43
@@ -2656,7 +2672,7 @@
 58
 00
 03
-50
+60
 67
 e1
 43
@@ -2664,7 +2680,7 @@
 58
 00
 03
-6d
+81
 67
 e1
 43
@@ -2680,7 +2696,7 @@
 58
 00
 02
-a4
+a8
 67
 e1
 43
@@ -2696,7 +2712,7 @@
 58
 00
 02
-b9
+be
 67
 e1
 43
@@ -2721,6 +2737,10 @@
 40
 6f
 35
+20
+40
+04
+69
 70
 44
 ec
@@ -2728,7 +2748,7 @@
 20
 40
 02
-a9
+ae
 20
 40
 70
@@ -2772,7 +2792,7 @@
 20
 22
 82
-b4
+b9
 1f
 e2
 04
@@ -2780,7 +2800,7 @@
 20
 40
 02
-b7
+bc
 1a
 20
 a2
@@ -2788,7 +2808,7 @@
 c2
 00
 02
-ae
+b3
 20
 60
 00
@@ -2803,12 +2823,20 @@
 dd
 20
 40
+04
+71
+20
+40
+04
+59
+20
+40
 02
-c1
+d1
 20
 40
 03
-44
+54
 20
 40
 68
@@ -2827,20 +2855,56 @@
 d3
 20
 40
-63
-11
+02
+c8
 20
 20
 64
 d9
 da
 60
+45
+18
+da
+40
+02
+cb
+20
+20
+42
+e7
+70
+45
+1c
+02
+20
+40
+43
+25
+20
+40
+04
+69
+70
+4f
+ed
+00
+20
+40
+63
+4e
+20
+20
+63
+9e
+da
+60
 4f
 ba
 da
 40
 02
-c4
+d4
 20
 20
 42
@@ -2852,11 +2916,11 @@
 c0
 00
 82
-c8
+d8
 c0
 01
 03
-08
+18
 20
 60
 00
@@ -2872,7 +2936,7 @@
 24
 3a
 02
-ef
+ff
 6f
 e0
 cf
@@ -2880,7 +2944,7 @@
 24
 5a
 02
-e5
+f5
 70
 4f
 c8
@@ -2912,7 +2976,7 @@
 20
 22
 82
-e2
+f2
 da
 40
 4f
@@ -3040,15 +3104,15 @@
 20
 22
 83
-04
+14
 6f
 e0
 cf
 ca
 24
 3a
-02
-fc
+03
+0c
 70
 4f
 ba
@@ -3128,7 +3192,7 @@
 24
 3a
 03
-2f
+3f
 6f
 e0
 cf
@@ -3136,7 +3200,7 @@
 24
 5a
 03
-25
+35
 70
 4f
 c8
@@ -3168,7 +3232,7 @@
 20
 22
 83
-22
+32
 da
 40
 4f
@@ -3296,7 +3360,7 @@
 20
 22
 83
-04
+14
 6f
 e0
 cf
@@ -3304,7 +3368,7 @@
 24
 3a
 03
-3c
+4c
 70
 4f
 ba
@@ -3372,7 +3436,7 @@
 da
 40
 03
-49
+59
 20
 20
 42
@@ -3410,17 +3474,33 @@
 7e
 00
 c0
+0a
+03
+67
+c0
+0a
+83
+66
+c0
 20
 03
-64
+78
 c0
 18
 83
-54
+68
 20
 20
 64
 e0
+20
+20
+64
+ef
+20
+20
+64
+f4
 70
 4e
 c2
@@ -3428,7 +3508,7 @@
 20
 40
 03
-57
+6b
 20
 60
 00
@@ -3440,11 +3520,11 @@
 20
 3a
 03
-5a
+6e
 20
 20
 03
-5f
+73
 6f
 e1
 4f
@@ -3508,7 +3588,7 @@
 24
 3a
 03
-78
+8c
 6f
 e4
 4f
@@ -3528,7 +3608,7 @@
 c0
 12
 03
-70
+84
 20
 60
 00
@@ -3552,7 +3632,7 @@
 24
 3a
 03
-78
+8c
 6f
 e4
 4f
@@ -3616,7 +3696,7 @@
 20
 20
 03
-85
+99
 6f
 e1
 48
@@ -3680,7 +3760,7 @@
 20
 40
 03
-a2
+b6
 6f
 e1
 06
@@ -3728,7 +3808,7 @@
 c2
 00
 03
-8e
+a2
 20
 60
 00
@@ -3772,7 +3852,7 @@
 20
 20
 03
-ac
+c0
 1a
 60
 8c
@@ -3784,7 +3864,7 @@
 20
 20
 03
-af
+c3
 20
 40
 65
@@ -3808,7 +3888,7 @@
 20
 40
 03
-b6
+ca
 20
 20
 65
@@ -3900,7 +3980,7 @@
 20
 40
 03
-dc
+f0
 2a
 2f
 fe
@@ -3932,7 +4012,7 @@
 20
 40
 03
-dc
+f0
 d8
 a0
 8a
@@ -3960,7 +4040,7 @@
 20
 21
 03
-d1
+e5
 20
 20
 21
@@ -4064,7 +4144,7 @@
 20
 40
 04
-15
+11
 70
 8a
 08
@@ -4097,151 +4177,55 @@
 60
 00
 00
-20
-40
-04
-0b
+70
+80
+cc
+03
 6f
 f0
-8a
-09
-79
-3f
-fe
-07
-67
-f0
-8a
-09
+81
+29
+c3
+02
+84
+12
+68
+59
+01
+64
+60
+49
+44
+0a
+70
+80
+cc
+00
+20
+60
+00
+00
 70
 8a
-07
-77
+82
+11
 70
 8a
-08
-c1
+8d
+12
 70
 8a
-0b
-01
-20
-40
-6f
-90
+8e
+0a
 6f
 e0
-c4
-09
-67
-f0
-80
-cd
-20
-00
-0b
-b8
-20
-40
+c0
+99
+c0
+08
 04
-15
-70
-80
-cd
-00
-20
-20
-6f
-a1
-6f
-f0
-80
-cc
-79
-20
-7e
-01
-67
-f0
-80
-cc
-6a
-40
-c4
-19
-6f
-e0
-c4
-33
-67
-e0
-c4
-19
-df
-20
-00
-08
-20
-40
-6f
-67
-62
-40
-c4
-19
-20
-60
-00
-00
-70
-80
-cc
-03
-6f
-f0
-81
-29
-c3
-02
-84
-16
-68
-59
-01
-64
-60
-49
-44
-0a
-70
-80
-cc
-00
-20
-60
-00
-00
-70
-8a
-82
-11
-70
-8a
-8d
-12
-70
-8a
-8e
-0a
-6f
-e0
-c0
-99
-c0
-08
-04
-35
-58
+31
+58
 00
 57
 62
@@ -4284,7 +4268,7 @@
 c0
 08
 04
-32
+2e
 58
 00
 2b
@@ -4320,7 +4304,7 @@
 20
 20
 04
-2e
+2a
 58
 00
 83
@@ -4332,7 +4316,7 @@
 20
 20
 04
-23
+1f
 6f
 e0
 c3
@@ -4341,148 +4325,844 @@
 00
 00
 00
-c0
-01
-b0
-4a
-20
-20
-28
-e1
-79
-3f
-80
-30
+c0
+01
+b0
+4a
+20
+20
+28
+e1
+79
+3f
+80
+30
+20
+20
+2a
+f6
+6f
+e1
+43
+e9
+20
+40
+7d
+79
+6f
+e2
+40
+ad
+98
+40
+fe
+00
+67
+e2
+40
+ad
+20
+40
+04
+41
+20
+20
+24
+25
+60
+04
+40
+e7
+d8
+c0
+80
+70
+d8
+a0
+40
+cc
+20
+40
+7c
+8f
+d8
+c0
+80
+d4
+20
+40
+7c
+89
+6f
+f0
+80
+80
+67
+e0
+c0
+ef
+18
+42
+24
+00
+df
+20
+00
+0c
+da
+20
+00
+16
+da
+60
+81
+4d
+37
+d9
+82
+00
+ef
+e0
+80
+11
+e8
+40
+80
+13
+98
+46
+7c
+00
+20
+22
+84
+54
+e7
+e0
+80
+13
+37
+d9
+82
+00
+1a
+20
+a2
+01
+1a
+60
+a6
+01
+c2
+00
+04
+4e
+1a
+42
+04
+00
+20
+60
+00
+00
+6f
+e0
+cf
+ed
+20
+7a
+00
+00
+6f
+e0
+cf
+ef
+20
+7a
+00
+00
+da
+60
+4f
+f3
+da
+40
+04
+60
+20
+20
+42
+e0
+70
+4f
+f3
+02
+6f
+e0
+cf
+f4
+79
+40
+7e
+00
+67
+e0
+cf
+f4
+c0
+00
+84
+67
+c0
+00
+04
+69
+20
+60
+00
+00
+68
+48
+cf
+f5
+20
+20
+6e
+f7
+68
+48
+cf
+f5
+20
+20
+6e
+f3
+6f
+e0
+cf
+ee
+1f
+e0
+fe
+01
+67
+e0
+cf
+ee
+68
+48
+cf
+f2
+98
+46
+7c
+00
+20
+60
+00
+00
+6f
+e0
+cf
+ed
+20
+7a
+00
+00
+20
+40
+04
+6b
+24
+61
+00
+00
+70
+4f
+ee
+00
+70
+44
+07
+01
+20
+40
+6f
+f3
+20
+40
+6f
+eb
+20
+40
+04
+eb
+20
+40
+04
+cc
+67
+e1
+4f
+eb
+da
+20
+4f
+e5
+20
+40
+04
+83
+6f
+e0
+c4
+0c
+c2
+80
+84
+a3
+c3
+00
+04
+a8
+70
+4f
+f0
+01
+20
+20
+04
+a6
+ef
+e4
+00
+11
+67
+e4
+06
+70
+20
+40
+6f
+f3
+20
+40
+6f
+eb
+6f
+e1
+06
+76
+68
+49
+06
+72
+98
+46
+7c
+00
+24
+41
+6f
+ef
+68
+49
+06
+74
+98
+46
+7c
+00
+24
+41
+6f
+e7
+6f
+e1
+06
+76
+68
+49
+06
+70
+98
+46
+7c
+00
+20
+21
+04
+9f
+68
+49
+06
+72
+98
+46
+7e
+00
+24
+21
+04
+a1
+20
+3a
+04
+a1
+1f
+ef
+a2
+64
+6f
+e1
+06
+70
+68
+49
+06
+72
+98
+46
+04
+00
+1a
+22
+7e
+00
+98
+46
+fc
+00
+20
+40
+7d
+5f
+67
+e0
+cf
+f1
+20
+60
+00
+00
+70
+4f
+f1
+64
+20
+60
+00
+00
+70
+4f
+f1
+00
+20
+60
+00
+00
+20
+40
+04
+69
+20
+40
+43
+25
+20
+20
+43
+27
+70
+4f
+ef
+01
+20
+60
+00
+00
+20
+40
+04
+69
+70
+4f
+ef
+00
+6f
+e0
+cf
+f0
+20
+7a
+00
+00
+70
+4f
+f0
+00
+20
+60
+00
+00
+6f
+e4
+01
+fd
+20
+3a
+6f
+79
+67
+e4
+43
+fd
+20
+40
+6b
+3a
+20
+40
+6a
+ad
+df
+e0
+0f
+c0
+9a
+40
+a4
+00
+df
+20
+00
+0a
+da
+20
+01
+fd
+20
+40
+6b
+74
+20
+40
+6b
+37
+6f
+e4
+01
+fd
+20
+7a
+00
+00
+67
+e4
+41
+4e
+ef
+e1
+00
+06
+e7
+e1
+00
+05
+20
+60
+00
+00
+6f
+f0
+80
+cc
+79
+20
+7e
+01
+67
+f0
+80
+cc
+6a
+40
+c4
+19
+6f
+e0
+c4
+33
+67
+e0
+c4
+19
+df
+20
+00
+08
+20
+40
+6f
+67
+62
+40
+c4
+19
+6f
+f0
+8a
+0a
+79
+3f
+fe
+04
+67
+f0
+8a
+0a
+20
+60
+00
+00
+6f
+e0
+c4
+07
+c0
+00
+84
+d0
+c0
+01
+04
+d7
+20
+60
+00
+00
+58
+00
+03
+e8
+67
+e1
+44
+05
+68
+49
+41
+52
+6f
+e1
+41
+54
+da
+60
+0e
+10
+20
+40
+6f
+c0
+20
+20
+04
+dd
+58
+00
+03
+e8
+67
+e1
+44
+05
+68
+49
+41
+4e
+6f
+e1
+41
+50
+da
+60
+03
+e8
+20
+40
+6f
+c0
+68
+49
+41
+56
+98
+4f
+fe
+00
+68
+49
+41
+58
+98
+46
+fc
+00
+20
+20
+7d
+5f
+20
+40
+04
+bf
+6f
+f0
+8a
+09
+79
+3f
+fe
+07
+67
+f0
+8a
+09
+70
+8a
+07
+77
+70
+8a
+08
+c1
+70
+8a
+0d
+61
+70
+8a
+0b
+00
+20
+60
+00
+00
 20
+40
+04
+e2
 20
-2a
-f6
+40
 6f
-e1
-43
-e9
+90
+6f
+e0
+c4
+09
+67
+f0
+80
+cd
 20
 40
-7d
-79
 6f
-e2
-40
-ad
-98
-40
-fe
+97
+70
+8a
+0d
+60
+70
+80
+cd
 00
-67
-e2
-40
-ad
 20
 40
 04
-45
-20
-20
-24
-25
-60
-04
-40
-e7
-d8
-c0
+e2
+6f
+e0
+c4
+09
+67
+f0
 80
+cd
 70
-d8
-a0
-40
+8a
+0b
+50
+70
+8a
+0e
+c0
+df
+00
+00
+0b
+6d
+e1
+44
+0a
+70
+80
 cc
+03
 20
 40
-7c
-8f
-d8
-c0
-80
-d4
+05
+04
+68
+59
+01
+64
+60
+49
+41
+58
 20
 40
-7c
-89
 6f
-f0
-80
-80
-67
-e0
-c0
-ef
-18
-42
-24
-00
+9c
 df
-20
 00
-0c
-da
-20
 00
-16
-da
+0b
+65
+e1
+44
+0a
+70
+8a
+0d
 60
-81
-4d
-37
-d9
-82
-00
-ef
-e0
-80
-11
-e8
-40
+70
 80
-13
-98
-46
-7c
+cd
 00
-20
-22
-84
-58
-e7
-e0
+70
 80
-13
-37
-d9
-82
+cc
 00
-1a
 20
-a2
-01
-1a
 60
-a6
-01
-c2
 00
-04
-52
-1a
-42
-04
 00
+6f
+f0
+81
+29
+c3
+02
+85
+04
 20
 60
 00
 00
-7f
-1c
+c4
+36
 aa
 55
 40
@@ -4516,7 +5196,7 @@
 20
 00
 00
-14
+3c
 00
 00
 00
@@ -4617,8 +5297,8 @@
 4f
 b0
 1f
-70
-1a
+a0
+1e
 aa
 55
 02
@@ -4704,14 +5384,54 @@
 00
 0a
 4f
-58
-02
-58
-02
-58
-02
-58
-02
+78
+17
+78
+17
+78
+17
+78
+17
+aa
+55
+01
+00
+f3
+4f
+05
+aa
+55
+01
+00
+f5
+4f
+88
+aa
+55
+01
+00
+5a
+41
+01
+aa
+55
+01
+00
+f2
+4f
+05
+aa
+55
+06
+00
+e5
+4f
+e4
+0c
+c0
+09
+c8
+0b
 aa
 55
 08
@@ -6941,7 +7661,7 @@
 aa
 aa
 55
-c8
-85
-70
-53
+b2
+94
+ce
+54
Index: output/ramcode.rom
===================================================================
--- /1121s/branch/shutter/branch/dy/Xinfeiyi/yc1088s_xfy_drag_7key/output/ramcode.rom	(revision 3640)
+++ /1121s/branch/shutter/branch/dy/Xinfeiyi/yc1088s_xfy_drag_7key/output/ramcode.rom	(working copy)
@@ -1,30 +1,32 @@
-c2840016
-c000001d
-c00101e0
-c00881e9
-c00a041c
-c00a8275
-c00c0283
-c00c8242
-c00d01fb
-c012843e
-c0138048
-c0518084
-c05281c1
-c0530053
-c053805f
-c05501b0
-c05680a0
-c058828d
-c062828a
-c06d03ed
-c06e03fd
+c2840018
+c000001f
+c00101e2
+c00881eb
+c00a0418
+c00a8277
+c00c0285
+c00c8244
+c00d01fd
+c012843a
+c013804a
+c0518086
+c05281c3
+c0530055
+c0538061
+c05501b2
+c05680a2
+c058828f
+c062828c
+c06d0401
+c06d84ae
+c06e04eb
+c06e84cc
 2020235a
-c0120021
-c0128199
-c013019e
-c01c8438
-c026843c
+c0120023
+c012819b
+c01301a0
+c01c8434
+c0268438
 c17f8000
 2020235a
 2435a002
@@ -32,7 +34,7 @@
 37d98200
 20202002
 204025c2
-c5978027
+c5978029
 783cfc00
 2000001e
 204025c2
@@ -43,7 +45,7 @@
 78507c00
 19623600
 37c18400
-20370030
+20370032
 1b420400
 604b000f
 242c26fa
@@ -55,7 +57,7 @@
 984fb600
 20406877
 20372677
-2040003e
+20400040
 6fe08168
 c301a677
 2055a477
@@ -81,7 +83,7 @@
 20407d10
 1a220400
 2020247d
-20400059
+2040005b
 c1830000
 6fe0cec7
 c00065a2
@@ -90,13 +92,13 @@
 18e27e00
 c002e765
 c0006761
-c00202c8
-c0010308
+c00202d8
+c0010318
 20600000
 6fe0cec7
 c000e5cf
 20406628
-20400065
+20400067
 20740000
 202065cf
 d8e00000
@@ -108,27 +110,27 @@
 207a0000
 684906f1
 9842fc00
-20228071
+20228073
 18e08e01
-20200066
+20200068
 67e14acf
 20404323
 da604ad1
 dfe0000a
 98effe00
 9a60a600
-204000a9
+204000ab
 20206633
 6fe14acf
 207a0000
 684906f1
 18467c00
-2022807f
-2020007e
+20228081
+20200080
 704ec001
 20404325
 da604b0d
-204000a9
+204000ab
 20206639
 6fe0cf9f
 243a6502
@@ -140,27 +142,27 @@
 18e27e00
 6848cec5
 98467c00
-24428193
+24428195
 6fe0cec9
-245a018e
+245a0190
 18e27e00
 67e0cec5
 6848cec8
 98467c00
-20228099
+2022809b
 6fe0cec9
-243a009b
+243a009d
 2020651c
 704ec601
-202000ad
+202000af
 2040677f
 18e27e00
 c000e51c
-204000b2
-202000ad
+204000b4
+202000af
 20406821
 20406730
-203a00a4
+203a00a6
 20206812
 6fe14f74
 67e14eae
@@ -170,39 +172,39 @@
 2040677f
 efe08013
 207a0000
-204000b2
-204000f5
+204000b4
+204000f7
 20406730
-243a00c4
+243a00c6
 dfe00035
 20206382
 6fe0cec7
-c00080b6
-c00000bc
+c00080b8
+c00000be
 20600000
 18e27e00
-c00280ff
-c0000110
-c0020118
-c0010136
+c0028101
+c0000112
+c002011a
+c0010138
 20600000
 efe08013
-c00080ff
-c0010110
-c0018118
-c0020136
-c00280c3
-20600000
-20200177
-204000cc
-204000e1
-204000eb
+c0008101
+c0010112
+c001811a
+c0020138
+c00280c5
+20600000
+20200179
+204000ce
+204000e3
+204000ed
 dfe00005
 20406382
 7049e53c
 dfe00006
 20206382
-204000d7
+204000d9
 18427e00
 207a0000
 67e0ceb3
@@ -212,7 +214,7 @@
 1fe0ffff
 67e0ceb3
 207a0000
-202000d0
+202000d2
 6848ceaa
 20406730
 207a0000
@@ -232,7 +234,7 @@
 1fe0ffff
 67e0ceb4
 207a0000
-202000e4
+202000e6
 6fe0cead
 207a0000
 67e0ceb5
@@ -242,45 +244,45 @@
 1fe0ffff
 67e0ceb5
 207a0000
-202000ee
+202000f0
 6fe0ceab
 247a0000
 704eab01
-20200106
+20200108
 6fe0ceac
 207a0000
 1fe0ffff
 67e0ceac
 dfe00072
 20600000
-20400156
+20400158
 6fe14eae
 98467c00
-244100f9
+244100fb
 24610000
 98467e00
 67e14eae
 20406730
-203a0166
+203a0168
 6fe14eae
 68494eb0
 184d0400
 18520400
 9840fe00
 67e1cb17
-2040016d
-20200177
+2040016f
+20200179
 20406730
-245a015b
-20400156
+245a015d
+20400158
 6fe14eae
 9840fe00
 d8400fff
 20407d6c
-20200105
+20200107
 20406730
-203a012f
-20400156
+203a0131
+20400158
 6fe14eb0
 98467e00
 67e14eb0
@@ -289,44 +291,44 @@
 98467e00
 d8400072
 98460400
-24210106
+24210108
 58000fff
 98467e00
 6848cead
 18467c05
-2022812c
+2022812e
 18408401
 6048cead
-2020014f
+20200151
 704ead00
 58000fff
-2020014f
-20400156
+20200151
+20400158
 6fe14eb0
 98467c00
 24610000
 98467e00
 67e14eb0
-20200106
+20200108
 20406730
-203a013f
-20400156
+203a0141
+20400158
 6fe14eb0
 9840fe00
 d8400fff
 98462200
-20210145
-2020014f
-20400156
+20210147
+20200151
+20400158
 6fe14eb0
 9840fe00
 d8400fff
 20407d6c
-2020014f
+20200151
 20406730
-203a0151
+203a0153
 6fe0cead
-203a0151
+203a0153
 1fe0ffff
 67e0cead
 58000fff
@@ -334,12 +336,12 @@
 98467e00
 9a20fe00
 67e14eb0
-20200106
+20200108
 58000fff
-2020014f
+20200151
 704eac00
 dfe00000
-20200105
+20200107
 d840002a
 20406730
 207a0000
@@ -352,19 +354,19 @@
 18427e00
 6848ceac
 18467c03
-20228153
+20228155
 18408401
 6048ceac
-20200105
+20200107
 6fe14eae
 68494eb0
 18500400
 9840fe00
 67e24b17
-2040016d
-20200177
+2040016f
+20200179
 20406730
-243a0181
+243a0183
 58000017
 1feffe0a
 d8404c02
@@ -374,7 +376,7 @@
 e7e20005
 202067be
 20406730
-243a0181
+243a0183
 58000034
 1feffe0a
 d8404c02
@@ -397,12 +399,12 @@
 e7e18005
 202067be
 18e27e00
-c0030191
+c0030193
 20600000
 704ec900
 20204325
 6fe0cec9
-203a0196
+203a0198
 20206529
 20406730
 207a0000
@@ -434,13 +436,13 @@
 efe18006
 67e1c397
 c003e704
-c00081b6
+c00081b8
 202066db
 18c08dfe
 efe08006
-c00301ba
+c00301bc
 20600000
-204001bc
+204001be
 202067bf
 704eaa01
 7049e400
@@ -461,11 +463,11 @@
 24417806
 1a608c09
 efe08006
-243a01d1
+243a01d3
 20206547
 704ec001
 2040656b
-204001dc
+204001de
 da604aae
 dfe00003
 2020655a
@@ -474,7 +476,7 @@
 704fc900
 704fc801
 20600000
-204001d7
+204001d9
 704bfe00
 704f8d00
 20600000
@@ -486,7 +488,7 @@
 20402018
 2040310f
 2040248c
-202001e0
+202001e2
 708a0f60
 708a10aa
 708a127a
@@ -515,14 +517,14 @@
 708a844a
 708a8540
 708a16fe
-2040024a
+2040024c
 6fe0c436
 205a70d7
-245581f7
+245581f9
 37d98200
 70813b5f
 6fe0c099
-c0080237
+c0080239
 6fe0c438
 1fe1fe04
 67f08a02
@@ -533,18 +535,18 @@
 67f18a73
 708a8660
 708a8b3b
-20400229
+2040022b
 70804300
 70804205
 58557474
 67f18968
 7089606e
-204003bf
-204003ea
-20400223
+204003d3
+204003fe
+20400225
 7041480c
 20406f4e
-202003ec
+20200400
 20758000
 37d98200
 6fe0c11c
@@ -552,7 +554,7 @@
 37d98200
 20600000
 6fe0c099
-c00c022f
+c00c0231
 6fe0c438
 1fe1fe06
 67f08a02
@@ -575,16 +577,16 @@
 67f18a73
 708a762a
 70890204
-20200215
+20200217
 6fe0c141
-c0050245
+c0050247
 2020220e
 708a1425
 58a93f3f
 67f18a60
 708a631f
 20600000
-20358271
+20358273
 6fe2020d
 207a0000
 37d98200
@@ -626,7 +628,7 @@
 6fe1415b
 207a0000
 67e1020f
-2020025b
+2020025d
 2040686f
 204021ba
 18002a08
@@ -656,27 +658,30 @@
 20406454
 20406459
 7040a60a
-5800037b
+20400469
+704fed01
+5800038f
 67e143db
-58000350
+58000360
 67e143dd
-5800036d
+58000381
 67e143df
 580062d3
 67e143d3
-580002a4
+580002a8
 67e143d5
 58006329
 67e143d7
-580002b9
+580002be
 67e143e3
 58006505
 67e14524
 204062c6
 2020647d
 20406f35
+20400469
 7044ecff
-204002a9
+204002ae
 2040701b
 2020739a
 6fe0c6ce
@@ -687,34 +692,45 @@
 efe08011
 6848c6cf
 98467c00
-202282b4
+202282b9
 1fe20400
-204002b7
+204002bc
 1a20a201
-c20002ae
+c20002b3
 20600000
 79200407
 20206edd
-204002c1
-20400344
+20400471
+20400459
+204002d1
+20400354
 20406858
 2040675a
 204064bc
 204064d3
-20406311
+204002c8
 202064d9
+da604518
+da4002cb
+202042e7
+70451c02
+20404325
+20400469
+704fed00
+2040634e
+2020639e
 da604fba
-da4002c4
+da4002d4
 202042e0
 6fe0cfbd
-c00082c8
-c0010308
+c00082d8
+c0010318
 20600000
 704fbd01
 20406730
-243a02ef
+243a02ff
 6fe0cfc8
-245a02e5
+245a02f5
 704fc800
 704fba01
 7049e50a
@@ -722,7 +738,7 @@
 1fe0fe01
 67e0cfbe
 1fe67c5a
-202282e2
+202282f2
 da404fbf
 d8404c02
 efe08012
@@ -754,9 +770,9 @@
 1fe0fe01
 67e0cfc9
 1fe67c28
-20228304
+20228314
 6fe0cfca
-243a02fc
+243a030c
 704fba01
 704ec500
 7049e514
@@ -776,9 +792,9 @@
 20600000
 704fbd02
 20406730
-243a032f
+243a033f
 6fe0cfc8
-245a0325
+245a0335
 704fc800
 704fba01
 7049e50a
@@ -786,7 +802,7 @@
 1fe0fe01
 67e0cfbe
 1fe67c5a
-20228322
+20228332
 da404fc2
 d8404c02
 efe08012
@@ -818,9 +834,9 @@
 1fe0fe01
 67e0cfc9
 1fe67c1e
-20228304
+20228314
 6fe0cfca
-243a033c
+243a034c
 704fba01
 704ec500
 7049e514
@@ -837,7 +853,7 @@
 6fe0cec9
 207a0000
 da604fb8
-da400349
+da400359
 202042e0
 704fb805
 6fe0cfb9
@@ -847,15 +863,19 @@
 c000c325
 20600000
 1a627e00
-c0200364
-c0188354
+c00a0367
+c00a8366
+c0200378
+c0188368
 202064e0
+202064ef
+202064f4
 704ec201
-20400357
+2040036b
 20600000
 20406730
-203a035a
-2020035f
+203a036e
+20200373
 6fe14f74
 67e14eae
 6fe14f76
@@ -871,18 +891,18 @@
 6fe4450a
 207a0000
 20406730
-243a0378
+243a038c
 6fe44f02
 67e442d3
 20202e93
 6fe14398
-c0120370
+c0120384
 20600000
 204078ad
 7044f101
 20406730
 2040432b
-243a0378
+243a038c
 6fe44f02
 67e442d3
 20202e93
@@ -898,7 +918,7 @@
 20407ce1
 78547c00
 2040701b
-20200385
+20200399
 6fe148ac
 67e1442e
 204065be
@@ -914,7 +934,7 @@
 67e1068c
 18e27e00
 67e1067a
-204003a2
+204003b6
 6fe1068c
 1fe22600
 6fe1067a
@@ -926,7 +946,7 @@
 1fe0a60a
 6fe10678
 1fe27200
-c200038e
+c20003a2
 20600000
 1a60a405
 efe20012
@@ -937,16 +957,16 @@
 24417806
 580003e8
 98467c00
-202003ac
+202003c0
 1a608c04
 efe08006
-202003af
+202003c3
 2040656b
 6fe0cec9
 243a655d
 20406561
 20216500
-204003b6
+204003ca
 20206557
 da604a30
 7049e50a
@@ -969,7 +989,7 @@
 708ac200
 708ac300
 d8e00006
-204003dc
+204003f0
 2a2ffe0d
 2040211d
 2a4ffe0d
@@ -977,14 +997,14 @@
 d8e00005
 2040211c
 2040211e
-204003dc
+204003f0
 d8a08ac2
 1a31fe00
 20402117
 1a51fe00
 20402117
 18e08fff
-202103d1
+202103e5
 2020214f
 2000003c
 58000f00
@@ -1010,7 +1030,7 @@
 6fe0c409
 67f080cd
 20000bb8
-20400415
+20400411
 708a08c1
 6a40c419
 df200008
@@ -1019,33 +1039,9 @@
 67e0c433
 6240c419
 20600000
-2040040b
-6ff08a09
-793ffe07
-67f08a09
-708a0777
-708a08c1
-708a0b01
-20406f90
-6fe0c409
-67f080cd
-20000bb8
-20400415
-7080cd00
-20206fa1
-6ff080cc
-79207e01
-67f080cc
-6a40c419
-6fe0c433
-67e0c419
-df200008
-20406f67
-6240c419
-20600000
 7080cc03
 6ff08129
-c3028416
+c3028412
 68590164
 6049440a
 7080cc00
@@ -1054,7 +1050,7 @@
 708a8d12
 708a8e0a
 6fe0c099
-c0080435
+c0080431
 58005762
 67f10907
 70890103
@@ -1065,7 +1061,7 @@
 708a8d44
 708a8e0a
 6fe0c099
-c0080432
+c008042e
 58002bb1
 67f10907
 c6978000
@@ -1074,10 +1070,10 @@
 20600000
 58004189
 67f10907
-2020042e
+2020042a
 58008312
 67f10907
-20200423
+2020041f
 6fe0c334
 c1000000
 c001b04a
@@ -1089,7 +1085,7 @@
 6fe240ad
 9840fe00
 67e240ad
-20400445
+20400441
 20202425
 600440e7
 d8c08070
@@ -1107,11 +1103,185 @@
 efe08011
 e8408013
 98467c00
-20228458
+20228454
 e7e08013
 37d98200
 1a20a201
 1a60a601
-c2000452
+c200044e
 1a420400
 20600000
+6fe0cfed
+207a0000
+6fe0cfef
+207a0000
+da604ff3
+da400460
+202042e0
+704ff302
+6fe0cff4
+79407e00
+67e0cff4
+c0008467
+c0000469
+20600000
+6848cff5
+20206ef7
+6848cff5
+20206ef3
+6fe0cfee
+1fe0fe01
+67e0cfee
+6848cff2
+98467c00
+20600000
+6fe0cfed
+207a0000
+2040046b
+24610000
+704fee00
+70440701
+20406ff3
+20406feb
+204004eb
+204004cc
+67e14feb
+da204fe5
+20400483
+6fe0c40c
+c28084a3
+c30004a8
+704ff001
+202004a6
+efe40011
+67e40670
+20406ff3
+20406feb
+6fe10676
+68490672
+98467c00
+24416fef
+68490674
+98467c00
+24416fe7
+6fe10676
+68490670
+98467c00
+2021049f
+68490672
+98467e00
+242104a1
+203a04a1
+1fefa264
+6fe10670
+68490672
+98460400
+1a227e00
+9846fc00
+20407d5f
+67e0cff1
+20600000
+704ff164
+20600000
+704ff100
+20600000
+20400469
+20404325
+20204327
+704fef01
+20600000
+20400469
+704fef00
+6fe0cff0
+207a0000
+704ff000
+20600000
+6fe401fd
+203a6f79
+67e443fd
+20406b3a
+20406aad
+dfe00fc0
+9a40a400
+df20000a
+da2001fd
+20406b74
+20406b37
+6fe401fd
+207a0000
+67e4414e
+efe10006
+e7e10005
+20600000
+6ff080cc
+79207e01
+67f080cc
+6a40c419
+6fe0c433
+67e0c419
+df200008
+20406f67
+6240c419
+6ff08a0a
+793ffe04
+67f08a0a
+20600000
+6fe0c407
+c00084d0
+c00104d7
+20600000
+580003e8
+67e14405
+68494152
+6fe14154
+da600e10
+20406fc0
+202004dd
+580003e8
+67e14405
+6849414e
+6fe14150
+da6003e8
+20406fc0
+68494156
+984ffe00
+68494158
+9846fc00
+20207d5f
+204004bf
+6ff08a09
+793ffe07
+67f08a09
+708a0777
+708a08c1
+708a0d61
+708a0b00
+20600000
+204004e2
+20406f90
+6fe0c409
+67f080cd
+20406f97
+708a0d60
+7080cd00
+204004e2
+6fe0c409
+67f080cd
+708a0b50
+708a0ec0
+df00000b
+6de1440a
+7080cc03
+20400504
+68590164
+60494158
+20406f9c
+df00000b
+65e1440a
+708a0d60
+7080cd00
+7080cc00
+20600000
+6ff08129
+c3028504
+20600000
Index: output/sched.rom
===================================================================
--- /1121s/branch/shutter/branch/dy/Xinfeiyi/yc1088s_xfy_drag_7key/output/sched.rom	(revision 3640)
+++ /1121s/branch/shutter/branch/dy/Xinfeiyi/yc1088s_xfy_drag_7key/output/sched.rom	(working copy)
@@ -26,7 +26,7 @@
 20   #mem_patch18
 00   #mem_patch19
 00   #mem_patch1a
-14   #mem_patch1b
+3c   #mem_patch1b
 00   #mem_patch1c
 00   #mem_patch1d
 00   #mem_patch1e
@@ -78,7 +78,7 @@
 
 //save otp addr
 mem_shutter_efuse_start_offset: b0 1f
-mem_shutter_efuse_end_offset: 70 1a
+mem_shutter_efuse_end_offset: a0 1e
 
 mem_shutter_le_pairing_handle:2b 00
 
@@ -127,12 +127,20 @@
 
 #100ms timer
 mem_shutter_ble_discovery_time_conf:
-58 02 #discovery_timeout
-58 02 #connect_timeout
-58 02 #sleep_timeout
-58 02 #sleep_timer
-
-
+78 17 #discovery_timeout
+78 17 #connect_timeout
+78 17 #sleep_timeout
+78 17 #sleep_timer
+
+mem_shutter_led_voltage_timer:05
+mem_shutter_led_voltage_gpio:88
+mem_adc_reference_mode:01
+mem_shutter_adc_read_time_init:05
+mem_shutter_vdd_calculate_set:
+e4 0c	#mem_shutter_vdd_full_vol 3.3v*1000
+c0 09	#mem_shutter_vdd_empty_vol 2.5V
+c8 0b	#mem_shutter_vdd_low_vol 3.0V
+# 25 0c	#mem_shutter_vdd_low_vol 3.1V
 #key config
 mem_shutter_key_num_conf:07
 mem_shutter_dy_key_conf:
Index: program/patch.prog
===================================================================
--- /1121s/branch/shutter/branch/dy/Xinfeiyi/yc1088s_xfy_drag_7key/program/patch.prog	(revision 3640)
+++ /1121s/branch/shutter/branch/dy/Xinfeiyi/yc1088s_xfy_drag_7key/program/patch.prog	(working copy)
@@ -1,6 +1,9 @@
 
 //define AUTO_TEST
-
+define ADC_1121SB
+ifdef ADC_1121SB
+//define ADC_1121SB_1V8_MODE
+endif
 	bbit1 8,pf_patch_ext
 	beq patch00_0,p_soft_reset
 	beq patch00_2,p_main_loop
@@ -24,7 +27,11 @@
 	beq patch16_1,p_shutter_dy_init
 	beq patch18_5,p_otp_read_data
 	beq patch1b_2,p_sadc_calibration
+ifdef ADC_1121SB
+	beq patch1b_3,p_adc_init_data
 	beq patch1b_4,p_enable_adc
+	beq patch1b_5,p_vdd_calculate_by_mode
+endif
 	branch assert
 
 pf_patch_ext:
@@ -846,12 +853,15 @@
 	branch otp_disable_chgpump
 
 p_shutter_dy_init:
+	// jam 0,mem_lpm_mode
 	call enable_authrom
 	rtn wake
 	call shutter_dy_key_conf
 	call shutter_dy_adv_conf
 	jam 0x0a,mem_lpm_overhead
-
+	call p_shutter_led_voltage_off
+	jam 1,mem_shutter_start_adc_flag
+	
 	setarg p_shutter_dy_process_idle
 	store 2,mem_cb_idle_process
 
@@ -882,6 +892,7 @@
 
 p_shutter_le_before_hibernate:
 	call gpio_set_before_lpm
+	call p_shutter_led_voltage_off
 	jam UI_BUTTON_GPIO_DISABLE,mem_ui_button_gpio
 	call p_set_key_gpio_before_hiernate
 	call keyscan_process_lpm_before
@@ -910,6 +921,10 @@
 
 
 p_shutter_dy_le_bb_event_timer:
+ifdef ADC_1121SB
+	call p_shutter_adc_read_timer
+	call p_shutter_led_voltage_timer
+endif
 	call p_shutter_long_key_drag_timer
 	call p_shutter_move_led_timer
 	call shutter_dy_shutter_1s_timer
@@ -917,9 +932,21 @@
 	call shutter_dy_long_key_volume_timer
 	call shutter_dy_iphone_move_mid_timer
 	call shutter_dy_clear_key_state_timer
-	call shutter_check_sleep_timer
+	call p_shutter_check_sleep_timer
 	branch shutter_dy_check_power_off_timer
 
+p_shutter_check_sleep_timer:
+	arg mem_shutter_sleep_timer,regc
+	arg p_shutter_sleep_timeout,regb
+	branch timer_single_step_2B
+p_shutter_sleep_timeout:
+	jam SS_STATE_POWER_OFF,mem_shutter_soft_switch_power_state
+	call app_led_off
+	call p_shutter_led_voltage_off
+	jam 0,mem_shutter_start_adc_flag
+	call shutter_disconnect_current_connection
+	branch shutter_wait_power_off
+
 // p_shutter_dy_drag_set_interval:
 // 	call shutter_dy_check_iphone
 // 	nbranch p_shutter_dy_drag_set_interval_ios,blank
@@ -987,7 +1014,6 @@
 	istore 2,rega
 	rtn
 
-
 p_shutter_dy_drag_up_event_ios:
 	jam 2,mem_shutter_drag_timer
 	fetch 1,mem_shutter_drag_count
@@ -1106,10 +1132,18 @@
 
 p_shutter_dy_process_bb_event:
 	copy regc,pdata
+	beq BT_EVT_LE_CONNECTED,p_ble_shutter_dy_process_baseband_connect 
+	beq BT_EVT_LE_DISCONNECTED,p_ble_shutter_dy_process_baseband_disconnect
 	beq BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,p_ble_shutter_process_parse_connect_parameter_update_response
 	beq BT_EVT_LE_PAIRING_SUCCESS,p_ble_shutter_pairing_success
 	branch shutter_dy_process_bb_event+1
 
+p_ble_shutter_dy_process_baseband_disconnect:
+	branch ble_shutter_dy_process_baseband_disconnect
+
+p_ble_shutter_dy_process_baseband_connect:
+	branch ble_shutter_dy_process_baseband_connect
+
 p_ble_shutter_pairing_success:
 	jam 1,mem_shutter_pairing_success
 	call p_shutter_move_init_set
@@ -1337,34 +1371,6 @@
 	storer regb,1,mem_spi_write_addr
 	rtn
 
-p_enable_adc:
-	call p_sadc_cal_write
-	fetch 1,core_gpadc_cfg1
-	set0 7,pdata
-	store 1,core_gpadc_cfg1
-	jam 0x77,core_gpadc_ctrl
-	jam 0xc1,core_gpadc_cfg0
-	jam 0x01,core_gpadc_cfg3
-	call sadc_channel
-	fetch 1,mem_adc_clkdiv
-	store 1,core_sadc_clkdiv
-	nop 3000
-	call p_sadc_read
-	jam 0,core_sadc_clkdiv
-	branch sadc_dma
-
-p_sadc_cal_write:
-	fetch 1,core_sadc_ctrl
-	set1 1,pdata
-	store 1,core_sadc_ctrl
-	fetchr regb,1,mem_spi_write_addr
-	fetch 1,mem_adc_cal_c7
-	store 1,mem_spi_write_addr
-	arg 8,loopcnt	//rg_gpadc_sar_dat_sel c0-c7
-	call sadc_cal_write+4
-	storer regb,1,mem_spi_write_addr
-	rtn
-
 p_sadc_read:
 	jam 0x03,core_sadc_ctrl
 p_sadc_read_wait:
@@ -1463,4 +1469,371 @@
 	copy regb,temp
 	rtn
 
+ifdef ADC_1121SB
+
+p_shutter_led_voltage_timer:
+	fetch 1,mem_shutter_start_adc_flag
+	rtn blank
+	fetch 1,mem_shutter_enable_low_voltage_flag
+	rtn blank
+	arg mem_shutter_led_voltage_timer,regc
+	arg p_shutter_dy_led_voltage_timerout,regb
+	branch timer_single_step
+
+p_shutter_dy_led_voltage_timerout:
+	jam 2,mem_shutter_led_voltage_timer
+	fetch 1,mem_shutter_led_voltage_flag
+	setflip 0,pdata
+	store 1,mem_shutter_led_voltage_flag
+	beq 1,p_shutter_led_voltage_on
+	beq 0,p_shutter_led_voltage_off
+	rtn
+
+p_shutter_led_voltage_on:
+	fetcht 1,mem_shutter_led_voltage_gpio
+	branch gpio_out_active
+
+p_shutter_led_voltage_off:
+	fetcht 1,mem_shutter_led_voltage_gpio
+	branch gpio_out_inactive
+
+p_shutter_adc_read_interval:
+	fetch 1,mem_shutter_adc_read_timer
+	increase 1,pdata
+	store 1,mem_shutter_adc_read_timer
+	fetcht 1,mem_shutter_adc_read_time_init	//1s read adc
+	isub temp,null
+	rtn
+
+p_shutter_adc_read_timer:
+	fetch 1,mem_shutter_start_adc_flag
+	rtn blank
+	call p_shutter_adc_read_interval
+p_shutter_adc_read_start_next:
+	nrtn positive
+	jam 0,mem_shutter_adc_read_timer
+	jam ADC_CONFIG_HVIN,mem_adc_config_flag
+	call adc_clear_no_power_flag
+	call adc_clear_low_power_flag
+	call p_enable_adc
+	call p_vdd_calculate_by_mode
+	store 2,mem_shutter_vdd_now_vol
+p_shutter_adc_data_process:
+	arg mem_shutter_vdd_calculate_set,rega
+	call p_shutter_bat_percent_lowpower_out
+	fetch 1,mem_adc_power_flag
+	bbit1 1,p_shutter_low_voltage_power_down
+	bbit0 0,p_shutter_adc_no_low_voltage
+	jam 1,mem_shutter_adc_last_low_voltage_flag
+	branch p_shutter_adc_low_voltage
+
+p_shutter_bat_percent_lowpower_out:
+	ifetch 8,rega
+	store 8,mem_pdatatemp
+p_shutter_bat_percent_lowpower_out_battery:
+	call adc_clear_no_power_flag
+	call adc_clear_low_power_flag
+	fetch 2,mem_pdatatemp+6
+	fetcht 2,mem_pdatatemp+2	        //shutdown voltage
+	isub temp,null
+	ncall adc_set_no_power_flag,positive
+
+	fetcht 2,mem_pdatatemp+4		//low voltage
+	isub temp,null
+	ncall adc_set_low_power_flag,positive
+p_shutter_adc_bat_level_set:
+	fetch 2,mem_pdatatemp+6		//now voltage
+	fetcht 2,mem_pdatatemp		//full voltage
+	isub temp,null
+	branch p_shutter_adc_bat_level_100_percent,positive		// now >= full
+	fetcht 2,mem_pdatatemp+2	        //shutdown voltage
+	isub temp,pdata
+	nbranch p_shutter_adc_bat_level_0_percent,positive		// now < shutdown
+	branch p_shutter_adc_bat_level_0_percent,blank			// now = shutdown
+	mul32 pdata,100,rega								// (now - shutdown)*100 /(full - shutdown)
+	fetch 2,mem_pdatatemp
+	fetcht 2,mem_pdatatemp+2
+	isub temp,temp
+	copy rega,pdata
+	idiv temp
+	call get_div_result
+	store 1,mem_shutter_battery_level_percentage
+	rtn
+
+p_shutter_adc_bat_level_100_percent:
+	jam 100,mem_shutter_battery_level_percentage
+	rtn
+p_shutter_adc_bat_level_0_percent:
+	jam 0,mem_shutter_battery_level_percentage
+	rtn
+
+p_shutter_low_voltage_power_down:	//shutterdown
+	call p_shutter_led_voltage_off
+	call app_led_off
+	branch app_enter_hibernate
+
+p_shutter_adc_low_voltage:
+	jam 1,mem_shutter_enable_low_voltage_flag
+	rtn
+
+p_shutter_adc_no_low_voltage:
+	call p_shutter_led_voltage_off
+	jam 0,mem_shutter_enable_low_voltage_flag
+	fetch 1,mem_shutter_adc_last_low_voltage_flag
+	rtn blank
+	jam 0,mem_shutter_adc_last_low_voltage_flag
+	rtn
+
 
+p_adc_init_data:
+	fetch 8,mem_otp_adc
+	branch adc_init_cal_data_default,blank
+	store 8,mem_reference_inter1p8v_2v_adc_io_data
+	call enable_otp_read
+	call loadcode_check_otp_lock
+	arg OTP_OFFSET_ADC_PARAM_L_C0,pdata
+	iadd regb,regb
+	arg 10,loopcnt
+	arg mem_otp_temp,rega
+	call otp_read_data
+	call disable_otp
+	fetch 8, mem_otp_temp
+	rtn blank
+	store 8,mem_adc_reference3v_gpio1v_ft_data
+	ifetch 2,contr
+	istore 2,contw
+	//call  eut_test_data_init
+	rtn
+
+p_sadc_cal_write:
+	fetch 1,core_sadc_ctrl
+	set1 1,pdata
+	store 1,core_sadc_ctrl
+	fetchr regb,1,mem_spi_write_addr
+	fetch 1,mem_adc_cal_c7
+	store 1,mem_spi_write_addr
+	arg 8,loopcnt	//rg_gpadc_sar_dat_sel c0-c7
+	call sadc_cal_write+4
+	storer regb,1,mem_spi_write_addr
+	fetch 1,core_gpadc_cfg2
+	set0 4,pdata//caliberation write disable
+	store 1,core_gpadc_cfg2
+	rtn
+
+
+
+p_vdd_calculate_by_mode:
+ifdef  ADC_1121SB_1V8_MODE
+	fetch 1,mem_adc_reference_mode
+	beq SADC_REFERENCE_INTER3V,p_vdd_reference_inter3V_calculate
+	beq SADC_REFERENCE_INTER1P8V_DIV2,p_vdd_reference_inter1p8V_calculate
+	branch p_vdd_reference_inter3V_calculate
+endif
+
+p_vdd_reference_inter3V_calculate:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_HVIN,p_vdd_reference_inter3V_calculate_by_mode_vdcdc
+	beq ADC_CONFIG_GPIO,p_vdd_reference_inter3V_calculate_by_mode_gpio
+	rtn
+
+p_vdd_reference_inter3V_calculate_by_mode_vdcdc:
+	setarg 1000
+	store 2,mem_reference_voltage
+	fetcht 2,mem_adc_reference3v_vdcdc3p6v_ft_data
+	fetch 2,mem_adc_reference3v_vdcdc4p6v_ft_data
+	arg 3600,regc
+	call vdd_calculate
+	branch p_mul1V_div1V_to_cal
+
+p_vdd_reference_inter3V_calculate_by_mode_gpio:
+	setarg 1000
+	store 2,mem_reference_voltage
+	fetcht 2,mem_adc_reference3v_gpio1v_ft_data
+	fetch 2,mem_adc_reference3v_gpio2v_ft_data
+	arg 1000,regc
+	call vdd_calculate
+p_mul1V_div1V_to_cal:
+	fetcht 2,mem_adc_reference3v_inter1v_ft_data
+	imul32 temp,pdata
+	fetcht 2,mem_adc_reference3v_inter1v_now_data
+	idiv temp
+	branch get_div_result
+
+p_enable_adc_init_config:
+	call p_sadc_cal_write
+	fetch 1,core_gpadc_cfg1
+	set0 7,pdata
+	store 1,core_gpadc_cfg1
+	jam 0x77,core_gpadc_ctrl
+	jam 0xc1,core_gpadc_cfg0
+	jam 0x61,core_vtest_ctrl0
+	jam 0x00,core_gpadc_cfg3
+	rtn
+
+p_enable_adc:
+ifdef  ADC_1121SB_1V8_MODE
+	fetch 1,mem_adc_reference_mode
+	beq SADC_REFERENCE_INTER3V,p_enable_adc_reference_source_inter3V
+	beq SADC_REFERENCE_INTER1P8V_DIV2,p_enable_adc_reference_source_inter1p8V
+	branch p_enable_adc_reference_source_inter3V
+endif
+
+p_enable_adc_reference_source_inter3V:
+	call p_enable_adc_init_config
+	call sadc_channel
+	fetch 1,mem_adc_clkdiv
+	store 1,core_sadc_clkdiv
+	call sadc_read
+	jam 0x60,core_vtest_ctrl0
+	jam 0x00,core_sadc_clkdiv
+//	rtn
+p_read_adc_inter1V:
+	call p_enable_adc_init_config
+	fetch 1,mem_adc_clkdiv
+	store 1,core_sadc_clkdiv
+	jam 0x50,core_gpadc_cfg3
+	jam 0xc0,core_vtest_ctrl1//select vref1v
+
+	arg 0xb,regext_index
+	fetchr regext, 2,mem_adc_current_value
+
+	jam 0x03,core_sadc_ctrl
+	call p_sar_adc_read_wait
+	fetcht 2,core_sadc_data
+	storet 2,mem_adc_reference3v_inter1v_now_data
+	call sadc_read_wait+4
+
+	arg 0xb,regext_index
+	storer regext,2,mem_adc_current_value
+
+	jam 0x60,core_vtest_ctrl0
+	jam 0x00,core_sadc_clkdiv
+	jam 0x00,core_sadc_ctrl
+	rtn
+
+p_sar_adc_read_wait:
+	fetch 1,core_perf_status
+	bbit0 SARADC_DONE,p_sar_adc_read_wait
+	rtn
+
+ifdef  ADC_1121SB_1V8_MODE
+p_vdd_reference_inter1p8V_calculate:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_HVIN,p_vdd_reference_inter1p8V_calculate_by_mode_vdcdc
+	beq ADC_CONFIG_GPIO,p_vdd_reference_inter1p8V_div2_calculate_by_mode_gpio
+	rtn
+
+p_vdd_reference_inter1p8V_calculate_by_mode_vdcdc:
+	setarg 2000
+	store 2,mem_reference_voltage
+	fetcht 2,mem_reference_inter1p8v_2p6v_adc_vdcdc_data
+	fetch 2,mem_reference_inter1p8v_4p6v_adc_vdcdc_data
+	arg 2600,regc
+	branch vdd_calculate
+
+p_vdd_reference_inter1p8V_div2_calculate_by_mode_gpio:
+	setarg 1000
+	store 2,mem_reference_voltage
+	fetcht 2,mem_reference_inter1p8v_2v_adc_io_data
+	fetch 2,mem_reference_inter1p8v_1v_adc_io_data
+	arg 2000,regc
+	branch p_vdd_calculate00
+
+p_vdd_calculate00:
+	isub temp,rega
+	fetch 2,mem_adc_current_value
+	isub temp,pdata
+	nbranch p_vdd_calculate11,positive
+	fetcht 2,mem_reference_voltage
+	imul32 temp,regb
+	copy regc,pdata
+	imul32 rega,pdata
+	isub regb,pdata
+	nbranch set_pdata_0,positive
+	branch vdd_calculate2
+
+p_vdd_calculate11:
+	copy temp,pdata
+	fetcht 2,mem_adc_current_value
+	isub temp,pdata
+	fetcht 2,mem_reference_voltage
+	imul32 temp,regb
+	copy regc,pdata
+	imul32 rega,pdata
+	iadd regb,pdata
+	branch vdd_calculate2
+
+
+p_enable_adc_reference_source_inter1p8V:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_HVIN,p_enable_adc_reference_source_inter1p8V_vdcdc
+p_enable_adc_reference_source_inter1p8V_div2_gpio:
+	call p_sadc_cal_write
+	fetch 1,core_gpadc_cfg1
+	set0 7,pdata
+	store 1,core_gpadc_cfg1
+	jam 0x77,core_gpadc_ctrl
+	jam 0x41,core_gpadc_cfg0
+	jam 0x14,0x8ac6			//div2
+	jam 0x00,core_gpadc_cfg3
+	call sadc_channel
+	fetch 1,mem_adc_clkdiv
+	store 1,core_sadc_clkdiv
+	call sadc_read
+
+	jam 0x00,core_sadc_clkdiv
+	jam 0x00,0x8ac6
+	rtn
+
+p_enable_adc_reference_source_inter1p8V_vdcdc:
+	call p_sadc_cal_write
+	fetch 1,core_gpadc_cfg1
+	set0 7,pdata
+	store 1,core_gpadc_cfg1
+	jam 0x77,core_gpadc_ctrl
+	jam 0x41,core_gpadc_cfg0
+	jam 0x10,0x8ac6			//not div2
+	jam 0x00,core_gpadc_cfg3
+	call sadc_channel
+	fetch 1,mem_adc_clkdiv
+	store 1,core_sadc_clkdiv
+	call  sadc_read
+
+	jam 0x00,core_sadc_clkdiv
+	jam 0x00,0x8ac6
+	rtn
+
+endif
+
+/*
+p_adc_set_gpio:
+	fetch 1,mem_adc_channel
+	call p_adc_channel_set_gpio
+	copy temp,pdata
+	set1 GPIO_ACTIVE_BIT,pdata
+	arg gpcfg_input,temp
+	branch gpio_config_function
+
+p_adc_channel_set_gpio:
+	arg 18,temp
+	rtneq 0x6
+	arg 10,temp
+	rtneq 0x7
+	arg 9,temp
+	rtneq 0x8
+	arg 12,temp
+	rtneq 0x9
+	arg 6,temp
+	rtneq 0xa
+	arg 20,temp
+	rtneq 0xb
+	arg 21,temp
+	rtneq 0xc
+	arg 22,temp
+	rtneq 0xd
+	arg 13,temp
+//	rtnne 0xe
+	rtn
+*/
+
+endif
Index: sched/shutter_dy.dat
===================================================================
--- /1121s/branch/shutter/branch/dy/Xinfeiyi/yc1088s_xfy_drag_7key/sched/shutter_dy.dat	(revision 3640)
+++ /1121s/branch/shutter/branch/dy/Xinfeiyi/yc1088s_xfy_drag_7key/sched/shutter_dy.dat	(working copy)
@@ -11,7 +11,7 @@
 
 //save otp addr
 mem_shutter_efuse_start_offset: b0 1f
-mem_shutter_efuse_end_offset: 70 1a
+mem_shutter_efuse_end_offset: a0 1e
 
 mem_shutter_le_pairing_handle:2b 00
 
@@ -60,12 +60,20 @@
 
 #100ms timer
 mem_shutter_ble_discovery_time_conf:
-58 02 #discovery_timeout
-58 02 #connect_timeout
-58 02 #sleep_timeout
-58 02 #sleep_timer
-
-
+78 17 #discovery_timeout
+78 17 #connect_timeout
+78 17 #sleep_timeout
+78 17 #sleep_timer
+
+mem_shutter_led_voltage_timer:05
+mem_shutter_led_voltage_gpio:88
+mem_adc_reference_mode:01
+mem_shutter_adc_read_time_init:05
+mem_shutter_vdd_calculate_set:
+e4 0c	#mem_shutter_vdd_full_vol 3.3v*1000
+c0 09	#mem_shutter_vdd_empty_vol 2.5V
+c8 0b	#mem_shutter_vdd_low_vol 3.0V
+# 25 0c	#mem_shutter_vdd_low_vol 3.1V
 #key config
 mem_shutter_key_num_conf:07
 mem_shutter_dy_key_conf:
