Index: output/eeprom.dat
===================================================================
--- /1121s/branch/shutter/shutter_public/output/eeprom.dat	(revision 3984)
+++ /1121s/branch/shutter/shutter_public/output/eeprom.dat	(working copy)
@@ -2,8 +2,8 @@
 02
 aa
 55
-c2
-0c
+86
+0d
 c2
 84
 00
@@ -11,63 +11,63 @@
 c0
 00
 00
-19
+1a
 c0
 01
 00
-5b
+8b
 c0
 08
 80
-65
+95
 c0
 0a
 01
-49
+79
 c0
 0a
-80
-ec
+81
+1c
 c0
 0c
-00
-fa
+01
+2a
 c0
 0c
 80
-b9
+e9
 c0
 0d
 00
-73
+a3
 c0
 0e
 00
-1d
+44
 c0
 12
 81
-9d
+cd
 c0
 13
 81
-92
+c2
 c0
 14
 03
-2c
+5d
 c0
 58
 82
-49
+79
 c0
 62
 81
-01
+31
 c0
 6d
 01
-32
+62
 20
 20
 23
@@ -75,27 +75,31 @@
 c0
 12
 01
-6b
+9b
 c0
 12
 80
-56
+86
 c0
 13
 00
-46
+76
 c0
 1c
 81
-65
+95
+c0
+1d
+00
+1e
 c0
 1f
 80
-2b
+5b
 c0
 26
 81
-69
+99
 c1
 7f
 80
@@ -120,6 +124,158 @@
 20
 20
 02
+ef
+e1
+00
+06
+c0
+02
+00
+23
+c0
+03
+2e
+c8
+c0
+02
+ae
+8a
+20
+60
+00
+00
+18
+c2
+22
+00
+6f
+e0
+c3
+cb
+c0
+03
+66
+d5
+c0
+07
+d0
+3d
+1a
+22
+0c
+00
+ef
+e1
+80
+06
+67
+e1
+c3
+97
+c0
+06
+00
+2c
+20
+20
+2b
+96
+ef
+e1
+00
+06
+67
+e1
+06
+b5
+98
+00
+22
+00
+68
+49
+43
+98
+18
+46
+7c
+07
+20
+22
+80
+32
+d8
+c0
+42
+6b
+ef
+e0
+80
+06
+9a
+26
+72
+00
+24
+21
+2e
+03
+20
+40
+7c
+6d
+20
+40
+2e
+46
+1f
+20
+84
+01
+20
+40
+7d
+b0
+1f
+e2
+22
+00
+1f
+e2
+26
+00
+20
+40
+2e
+10
+58
+00
+00
+0d
+e7
+e0
+80
+05
+1a
+60
+f3
+ff
+68
+49
+06
+b5
+20
+40
+7c
+67
+98
+40
+8c
+00
+20
+20
+7c
+cc
 70
 8a
 20
@@ -171,11 +327,47 @@
 c3
 00
 00
-23
+4a
 20
 20
 22
 9a
+6f
+e0
+c0
+a8
+1f
+e6
+7c
+1e
+24
+21
+24
+d7
+68
+49
+40
+9a
+18
+43
+84
+00
+6f
+e1
+01
+76
+98
+40
+fe
+00
+67
+e1
+01
+76
+20
+20
+24
+d7
 78
 55
 fc
@@ -183,11 +375,11 @@
 20
 37
 00
-2e
+5e
 24
 36
-a9
-b8
+80
+52
 20
 40
 24
@@ -207,7 +399,7 @@
 24
 3a
 00
-3f
+6f
 6f
 e0
 c3
@@ -370,8 +562,8 @@
 8e
 20
 40
-02
-df
+03
+10
 20
 40
 75
@@ -407,7 +599,7 @@
 20
 20
 00
-5b
+8b
 70
 8a
 0f
@@ -507,7 +699,7 @@
 20
 40
 00
-c1
+f1
 6f
 e0
 c4
@@ -519,7 +711,7 @@
 24
 55
 80
-42
+72
 37
 d9
 82
@@ -535,7 +727,7 @@
 c0
 08
 00
-ae
+de
 6f
 e0
 c4
@@ -579,7 +771,7 @@
 20
 40
 00
-a0
+d0
 70
 80
 43
@@ -603,15 +795,15 @@
 20
 40
 01
-04
+34
 20
 40
 01
-2f
+5f
 20
 40
 00
-9b
+cb
 70
 41
 48
@@ -623,7 +815,7 @@
 20
 20
 01
-31
+61
 37
 d9
 82
@@ -651,7 +843,7 @@
 c0
 0c
 00
-a6
+d6
 6f
 e0
 c4
@@ -743,7 +935,7 @@
 20
 20
 00
-8d
+bd
 6f
 e0
 c1
@@ -751,7 +943,7 @@
 c0
 05
 00
-bc
+ec
 20
 20
 22
@@ -778,8 +970,8 @@
 00
 20
 35
-80
-e8
+81
+18
 6f
 e2
 02
@@ -946,8 +1138,8 @@
 0f
 20
 20
-00
-d2
+01
+02
 20
 40
 68
@@ -1095,7 +1287,7 @@
 20
 40
 01
-21
+51
 2a
 2f
 fe
@@ -1127,7 +1319,7 @@
 20
 40
 01
-21
+51
 d8
 a0
 8a
@@ -1155,7 +1347,7 @@
 20
 21
 01
-16
+46
 20
 20
 21
@@ -1259,7 +1451,7 @@
 20
 40
 01
-42
+72
 70
 8a
 08
@@ -1303,7 +1495,7 @@
 c3
 02
 81
-43
+73
 68
 59
 01
@@ -1339,7 +1531,7 @@
 c0
 08
 01
-62
+92
 58
 00
 57
@@ -1383,7 +1575,7 @@
 c0
 08
 01
-5f
+8f
 58
 00
 2b
@@ -1419,7 +1611,7 @@
 20
 20
 01
-5b
+8b
 58
 00
 83
@@ -1431,7 +1623,7 @@
 20
 20
 01
-50
+80
 6f
 e0
 c3
@@ -1463,7 +1655,7 @@
 c5
 97
 81
-71
+a1
 78
 3c
 fc
@@ -1507,7 +1699,7 @@
 20
 37
 01
-7a
+aa
 1b
 42
 04
@@ -1555,7 +1747,7 @@
 20
 40
 01
-88
+b8
 6f
 e0
 81
@@ -1671,7 +1863,7 @@
 20
 40
 00
-9d
+cd
 6f
 e2
 40
@@ -1687,7 +1879,7 @@
 20
 40
 01
-a6
+d6
 20
 20
 24
@@ -1759,7 +1951,7 @@
 20
 22
 81
-b9
+e9
 e7
 e0
 80
@@ -1779,7 +1971,7 @@
 c2
 00
 01
-b3
+e3
 1a
 42
 04
@@ -1867,7 +2059,7 @@
 58
 00
 02
-68
+99
 67
 e1
 43
@@ -1875,7 +2067,7 @@
 58
 00
 02
-6b
+9c
 67
 e1
 43
@@ -1891,7 +2083,7 @@
 58
 00
 02
-b3
+e4
 67
 e1
 43
@@ -1899,15 +2091,15 @@
 58
 00
 02
-7a
+ab
 67
 e1
 45
 24
 58
 00
-01
-e4
+02
+14
 67
 e1
 43
@@ -1930,8 +2122,8 @@
 1f
 58
 00
-01
-e7
+02
+17
 67
 e1
 45
@@ -1982,20 +2174,20 @@
 ce
 c2
 80
-01
-eb
+02
+1b
 20
 60
 00
 00
 20
 40
-01
-f3
+02
+23
 20
 40
 02
-0d
+3d
 20
 60
 00
@@ -2006,20 +2198,20 @@
 cf
 c2
 80
-01
-f9
+02
+29
 c2
 80
-81
-fe
+82
+2e
 c2
 81
 02
-03
+33
 c2
 81
 82
-08
+38
 20
 60
 00
@@ -2111,19 +2303,19 @@
 c2
 80
 02
-13
+43
 c2
 80
 82
-18
+48
 c2
 81
 02
-1d
+4d
 c2
 81
 82
-22
+52
 20
 60
 00
@@ -2214,12 +2406,12 @@
 07
 20
 40
-01
-ed
+02
+1d
 20
 40
-01
-f0
+02
+20
 20
 40
 29
@@ -2263,7 +2455,7 @@
 c5
 1a
 02
-36
+66
 20
 60
 00
@@ -2283,7 +2475,7 @@
 c0
 7f
 82
-40
+70
 1f
 e2
 72
@@ -2299,7 +2491,7 @@
 c2
 00
 02
-3c
+6c
 18
 42
 7e
@@ -2307,7 +2499,7 @@
 c3
 00
 02
-46
+76
 6f
 e0
 c8
@@ -2331,7 +2523,7 @@
 20
 20
 02
-38
+68
 79
 3f
 80
@@ -2343,11 +2535,11 @@
 20
 20
 02
-4e
+7e
 20
 40
 01
-be
+ee
 20
 40
 73
@@ -2355,7 +2547,7 @@
 20
 40
 02
-30
+60
 20
 75
 80
@@ -2366,16 +2558,20 @@
 d7
 20
 40
+42
+a3
+20
+40
 01
-c2
+f2
 20
 40
+02
 01
-d1
 20
 40
 02
-27
+57
 6f
 e0
 c5
@@ -2383,7 +2579,7 @@
 c0
 00
 02
-65
+96
 6f
 e1
 44
@@ -2399,7 +2595,7 @@
 c0
 00
 83
-10
+41
 6f
 e0
 c5
@@ -2435,7 +2631,7 @@
 20
 3a
 02
-62
+93
 6f
 f0
 81
@@ -2443,7 +2639,7 @@
 c2
 82
 03
-24
+55
 6f
 e1
 44
@@ -2487,23 +2683,23 @@
 c0
 0a
 02
-72
+a3
 c0
 18
 82
-74
+a5
 c0
 0a
 82
-76
+a7
 c0
 1f
-82
-d8
+83
+09
 c0
 08
 03
-0b
+3c
 20
 20
 62
@@ -2555,11 +2751,11 @@
 20
 3a
 02
-83
+b4
 20
 40
 02
-86
+b7
 20
 40
 43
@@ -2591,11 +2787,11 @@
 20
 40
 02
-88
+b9
 20
 20
 02
-9b
+cc
 6f
 e0
 c8
@@ -2603,7 +2799,7 @@
 c2
 82
 02
-8b
+bc
 20
 60
 00
@@ -2623,11 +2819,11 @@
 c0
 00
 02
-96
+c7
 c0
 00
 82
-91
+c2
 20
 60
 00
@@ -2679,7 +2875,7 @@
 c2
 82
 02
-9e
+cf
 20
 60
 00
@@ -2699,11 +2895,11 @@
 c0
 00
 02
-a9
+da
 c0
 00
 82
-a4
+d5
 20
 60
 00
@@ -2771,15 +2967,15 @@
 20
 40
 02
-b7
+e8
 20
 40
 02
-bd
+ee
 20
 40
 02
-c6
+f7
 20
 20
 63
@@ -2815,7 +3011,7 @@
 da
 40
 02
-c0
+f1
 20
 20
 42
@@ -2851,7 +3047,7 @@
 da
 40
 02
-c9
+fa
 20
 20
 42
@@ -2958,12 +3154,12 @@
 00
 20
 40
-02
-e4
+03
+15
 20
 20
 03
-02
+33
 68
 4a
 48
@@ -3039,7 +3235,7 @@
 24
 3a
 03
-00
+31
 68
 49
 48
@@ -3054,8 +3250,8 @@
 00
 20
 22
-82
-fc
+83
+2d
 20
 60
 00
@@ -3082,8 +3278,8 @@
 db
 20
 20
-02
-f8
+03
+29
 20
 40
 24
@@ -3127,7 +3323,7 @@
 c3
 00
 83
-21
+52
 68
 49
 44
@@ -3139,7 +3335,7 @@
 c0
 00
 83
-17
+48
 70
 48
 e7
@@ -3167,7 +3363,7 @@
 20
 20
 03
-24
+55
 70
 48
 e6
@@ -3202,8 +3398,8 @@
 06
 20
 3a
+03
 02
-d1
 20
 20
 7d
@@ -3268,8 +3464,8 @@
 20
 24
 8d
-2d
-b3
+34
+03
 aa
 55
 40
@@ -3315,7 +3511,7 @@
 70
 00
 00
-82
+86
 00
 20
 00
@@ -3367,7 +3563,7 @@
 00
 db
 42
-3a
+4a
 31
 1f
 98
@@ -3375,17 +3571,32 @@
 2a
 aa
 55
-07
+16
 00
 6b
 42
-06
-53
-65
-6c
-66
+15
+41
+6d
+67
+72
+61
+73
+20
+54
+72
 69
-65
+70
+6f
+64
+20
+50
+30
+31
+20
+50
+72
+6f
 aa
 55
 06
@@ -3393,11 +3604,11 @@
 cb
 46
 11
-05
+ff
 90
-01
-11
 00
+11
+01
 aa
 55
 01
@@ -3712,221 +3923,10 @@
 aa
 aa
 55
-cf
-62
-58
-fc
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+b2
+68
+8b
+ee
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-cb
-5b
+d0
+2c
Index: output/flash.dat
===================================================================
--- /1121s/branch/shutter/shutter_public/output/flash.dat	(revision 3984)
+++ /1121s/branch/shutter/shutter_public/output/flash.dat	(working copy)
@@ -2,8 +2,8 @@
 02
 aa
 55
-c2
-0c
+86
+0d
 c2
 84
 00
@@ -11,63 +11,63 @@
 c0
 00
 00
-19
+1a
 c0
 01
 00
-5b
+8b
 c0
 08
 80
-65
+95
 c0
 0a
 01
-49
+79
 c0
 0a
-80
-ec
+81
+1c
 c0
 0c
-00
-fa
+01
+2a
 c0
 0c
 80
-b9
+e9
 c0
 0d
 00
-73
+a3
 c0
 0e
 00
-1d
+44
 c0
 12
 81
-9d
+cd
 c0
 13
 81
-92
+c2
 c0
 14
 03
-2c
+5d
 c0
 58
 82
-49
+79
 c0
 62
 81
-01
+31
 c0
 6d
 01
-32
+62
 20
 20
 23
@@ -75,27 +75,31 @@
 c0
 12
 01
-6b
+9b
 c0
 12
 80
-56
+86
 c0
 13
 00
-46
+76
 c0
 1c
 81
-65
+95
+c0
+1d
+00
+1e
 c0
 1f
 80
-2b
+5b
 c0
 26
 81
-69
+99
 c1
 7f
 80
@@ -120,6 +124,158 @@
 20
 20
 02
+ef
+e1
+00
+06
+c0
+02
+00
+23
+c0
+03
+2e
+c8
+c0
+02
+ae
+8a
+20
+60
+00
+00
+18
+c2
+22
+00
+6f
+e0
+c3
+cb
+c0
+03
+66
+d5
+c0
+07
+d0
+3d
+1a
+22
+0c
+00
+ef
+e1
+80
+06
+67
+e1
+c3
+97
+c0
+06
+00
+2c
+20
+20
+2b
+96
+ef
+e1
+00
+06
+67
+e1
+06
+b5
+98
+00
+22
+00
+68
+49
+43
+98
+18
+46
+7c
+07
+20
+22
+80
+32
+d8
+c0
+42
+6b
+ef
+e0
+80
+06
+9a
+26
+72
+00
+24
+21
+2e
+03
+20
+40
+7c
+6d
+20
+40
+2e
+46
+1f
+20
+84
+01
+20
+40
+7d
+b0
+1f
+e2
+22
+00
+1f
+e2
+26
+00
+20
+40
+2e
+10
+58
+00
+00
+0d
+e7
+e0
+80
+05
+1a
+60
+f3
+ff
+68
+49
+06
+b5
+20
+40
+7c
+67
+98
+40
+8c
+00
+20
+20
+7c
+cc
 70
 8a
 20
@@ -171,11 +327,47 @@
 c3
 00
 00
-23
+4a
 20
 20
 22
 9a
+6f
+e0
+c0
+a8
+1f
+e6
+7c
+1e
+24
+21
+24
+d7
+68
+49
+40
+9a
+18
+43
+84
+00
+6f
+e1
+01
+76
+98
+40
+fe
+00
+67
+e1
+01
+76
+20
+20
+24
+d7
 78
 55
 fc
@@ -183,11 +375,11 @@
 20
 37
 00
-2e
+5e
 24
 36
-a9
-b8
+80
+52
 20
 40
 24
@@ -207,7 +399,7 @@
 24
 3a
 00
-3f
+6f
 6f
 e0
 c3
@@ -370,8 +562,8 @@
 8e
 20
 40
-02
-df
+03
+10
 20
 40
 75
@@ -407,7 +599,7 @@
 20
 20
 00
-5b
+8b
 70
 8a
 0f
@@ -507,7 +699,7 @@
 20
 40
 00
-c1
+f1
 6f
 e0
 c4
@@ -519,7 +711,7 @@
 24
 55
 80
-42
+72
 37
 d9
 82
@@ -535,7 +727,7 @@
 c0
 08
 00
-ae
+de
 6f
 e0
 c4
@@ -579,7 +771,7 @@
 20
 40
 00
-a0
+d0
 70
 80
 43
@@ -603,15 +795,15 @@
 20
 40
 01
-04
+34
 20
 40
 01
-2f
+5f
 20
 40
 00
-9b
+cb
 70
 41
 48
@@ -623,7 +815,7 @@
 20
 20
 01
-31
+61
 37
 d9
 82
@@ -651,7 +843,7 @@
 c0
 0c
 00
-a6
+d6
 6f
 e0
 c4
@@ -743,7 +935,7 @@
 20
 20
 00
-8d
+bd
 6f
 e0
 c1
@@ -751,7 +943,7 @@
 c0
 05
 00
-bc
+ec
 20
 20
 22
@@ -778,8 +970,8 @@
 00
 20
 35
-80
-e8
+81
+18
 6f
 e2
 02
@@ -946,8 +1138,8 @@
 0f
 20
 20
-00
-d2
+01
+02
 20
 40
 68
@@ -1095,7 +1287,7 @@
 20
 40
 01
-21
+51
 2a
 2f
 fe
@@ -1127,7 +1319,7 @@
 20
 40
 01
-21
+51
 d8
 a0
 8a
@@ -1155,7 +1347,7 @@
 20
 21
 01
-16
+46
 20
 20
 21
@@ -1259,7 +1451,7 @@
 20
 40
 01
-42
+72
 70
 8a
 08
@@ -1303,7 +1495,7 @@
 c3
 02
 81
-43
+73
 68
 59
 01
@@ -1339,7 +1531,7 @@
 c0
 08
 01
-62
+92
 58
 00
 57
@@ -1383,7 +1575,7 @@
 c0
 08
 01
-5f
+8f
 58
 00
 2b
@@ -1419,7 +1611,7 @@
 20
 20
 01
-5b
+8b
 58
 00
 83
@@ -1431,7 +1623,7 @@
 20
 20
 01
-50
+80
 6f
 e0
 c3
@@ -1463,7 +1655,7 @@
 c5
 97
 81
-71
+a1
 78
 3c
 fc
@@ -1507,7 +1699,7 @@
 20
 37
 01
-7a
+aa
 1b
 42
 04
@@ -1555,7 +1747,7 @@
 20
 40
 01
-88
+b8
 6f
 e0
 81
@@ -1671,7 +1863,7 @@
 20
 40
 00
-9d
+cd
 6f
 e2
 40
@@ -1687,7 +1879,7 @@
 20
 40
 01
-a6
+d6
 20
 20
 24
@@ -1759,7 +1951,7 @@
 20
 22
 81
-b9
+e9
 e7
 e0
 80
@@ -1779,7 +1971,7 @@
 c2
 00
 01
-b3
+e3
 1a
 42
 04
@@ -1867,7 +2059,7 @@
 58
 00
 02
-68
+99
 67
 e1
 43
@@ -1875,7 +2067,7 @@
 58
 00
 02
-6b
+9c
 67
 e1
 43
@@ -1891,7 +2083,7 @@
 58
 00
 02
-b3
+e4
 67
 e1
 43
@@ -1899,15 +2091,15 @@
 58
 00
 02
-7a
+ab
 67
 e1
 45
 24
 58
 00
-01
-e4
+02
+14
 67
 e1
 43
@@ -1930,8 +2122,8 @@
 1f
 58
 00
-01
-e7
+02
+17
 67
 e1
 45
@@ -1982,20 +2174,20 @@
 ce
 c2
 80
-01
-eb
+02
+1b
 20
 60
 00
 00
 20
 40
-01
-f3
+02
+23
 20
 40
 02
-0d
+3d
 20
 60
 00
@@ -2006,20 +2198,20 @@
 cf
 c2
 80
-01
-f9
+02
+29
 c2
 80
-81
-fe
+82
+2e
 c2
 81
 02
-03
+33
 c2
 81
 82
-08
+38
 20
 60
 00
@@ -2111,19 +2303,19 @@
 c2
 80
 02
-13
+43
 c2
 80
 82
-18
+48
 c2
 81
 02
-1d
+4d
 c2
 81
 82
-22
+52
 20
 60
 00
@@ -2214,12 +2406,12 @@
 07
 20
 40
-01
-ed
+02
+1d
 20
 40
-01
-f0
+02
+20
 20
 40
 29
@@ -2263,7 +2455,7 @@
 c5
 1a
 02
-36
+66
 20
 60
 00
@@ -2283,7 +2475,7 @@
 c0
 7f
 82
-40
+70
 1f
 e2
 72
@@ -2299,7 +2491,7 @@
 c2
 00
 02
-3c
+6c
 18
 42
 7e
@@ -2307,7 +2499,7 @@
 c3
 00
 02
-46
+76
 6f
 e0
 c8
@@ -2331,7 +2523,7 @@
 20
 20
 02
-38
+68
 79
 3f
 80
@@ -2343,11 +2535,11 @@
 20
 20
 02
-4e
+7e
 20
 40
 01
-be
+ee
 20
 40
 73
@@ -2355,7 +2547,7 @@
 20
 40
 02
-30
+60
 20
 75
 80
@@ -2366,16 +2558,20 @@
 d7
 20
 40
+42
+a3
+20
+40
 01
-c2
+f2
 20
 40
+02
 01
-d1
 20
 40
 02
-27
+57
 6f
 e0
 c5
@@ -2383,7 +2579,7 @@
 c0
 00
 02
-65
+96
 6f
 e1
 44
@@ -2399,7 +2595,7 @@
 c0
 00
 83
-10
+41
 6f
 e0
 c5
@@ -2435,7 +2631,7 @@
 20
 3a
 02
-62
+93
 6f
 f0
 81
@@ -2443,7 +2639,7 @@
 c2
 82
 03
-24
+55
 6f
 e1
 44
@@ -2487,23 +2683,23 @@
 c0
 0a
 02
-72
+a3
 c0
 18
 82
-74
+a5
 c0
 0a
 82
-76
+a7
 c0
 1f
-82
-d8
+83
+09
 c0
 08
 03
-0b
+3c
 20
 20
 62
@@ -2555,11 +2751,11 @@
 20
 3a
 02
-83
+b4
 20
 40
 02
-86
+b7
 20
 40
 43
@@ -2591,11 +2787,11 @@
 20
 40
 02
-88
+b9
 20
 20
 02
-9b
+cc
 6f
 e0
 c8
@@ -2603,7 +2799,7 @@
 c2
 82
 02
-8b
+bc
 20
 60
 00
@@ -2623,11 +2819,11 @@
 c0
 00
 02
-96
+c7
 c0
 00
 82
-91
+c2
 20
 60
 00
@@ -2679,7 +2875,7 @@
 c2
 82
 02
-9e
+cf
 20
 60
 00
@@ -2699,11 +2895,11 @@
 c0
 00
 02
-a9
+da
 c0
 00
 82
-a4
+d5
 20
 60
 00
@@ -2771,15 +2967,15 @@
 20
 40
 02
-b7
+e8
 20
 40
 02
-bd
+ee
 20
 40
 02
-c6
+f7
 20
 20
 63
@@ -2815,7 +3011,7 @@
 da
 40
 02
-c0
+f1
 20
 20
 42
@@ -2851,7 +3047,7 @@
 da
 40
 02
-c9
+fa
 20
 20
 42
@@ -2958,12 +3154,12 @@
 00
 20
 40
-02
-e4
+03
+15
 20
 20
 03
-02
+33
 68
 4a
 48
@@ -3039,7 +3235,7 @@
 24
 3a
 03
-00
+31
 68
 49
 48
@@ -3054,8 +3250,8 @@
 00
 20
 22
-82
-fc
+83
+2d
 20
 60
 00
@@ -3082,8 +3278,8 @@
 db
 20
 20
-02
-f8
+03
+29
 20
 40
 24
@@ -3127,7 +3323,7 @@
 c3
 00
 83
-21
+52
 68
 49
 44
@@ -3139,7 +3335,7 @@
 c0
 00
 83
-17
+48
 70
 48
 e7
@@ -3167,7 +3363,7 @@
 20
 20
 03
-24
+55
 70
 48
 e6
@@ -3202,8 +3398,8 @@
 06
 20
 3a
+03
 02
-d1
 20
 20
 7d
@@ -3268,8 +3464,8 @@
 20
 24
 8d
-2d
-b3
+34
+03
 aa
 55
 40
@@ -3315,7 +3511,7 @@
 70
 00
 00
-82
+86
 00
 20
 00
@@ -3367,7 +3563,7 @@
 00
 db
 42
-3a
+4a
 31
 1f
 98
@@ -3375,17 +3571,32 @@
 2a
 aa
 55
-07
+16
 00
 6b
 42
-06
-53
-65
-6c
-66
+15
+41
+6d
+67
+72
+61
+73
+20
+54
+72
 69
-65
+70
+6f
+64
+20
+50
+30
+31
+20
+50
+72
+6f
 aa
 55
 06
@@ -3393,11 +3604,11 @@
 cb
 46
 11
-05
+ff
 90
-01
-11
 00
+11
+01
 aa
 55
 01
@@ -3712,221 +3923,10 @@
 aa
 aa
 55
-cf
-62
-58
-fc
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+b2
+68
+8b
+ee
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-cb
-5b
+d0
+2c
Index: output/otp.dat
===================================================================
--- /1121s/branch/shutter/shutter_public/output/otp.dat	(revision 3984)
+++ /1121s/branch/shutter/shutter_public/output/otp.dat	(working copy)
@@ -11,8 +11,8 @@
 00
 aa
 55
-c2
-0c
+86
+0d
 c2
 84
 00
@@ -20,63 +20,63 @@
 c0
 00
 00
-19
+1a
 c0
 01
 00
-5b
+8b
 c0
 08
 80
-65
+95
 c0
 0a
 01
-49
+79
 c0
 0a
-80
-ec
+81
+1c
 c0
 0c
-00
-fa
+01
+2a
 c0
 0c
 80
-b9
+e9
 c0
 0d
 00
-73
+a3
 c0
 0e
 00
-1d
+44
 c0
 12
 81
-9d
+cd
 c0
 13
 81
-92
+c2
 c0
 14
 03
-2c
+5d
 c0
 58
 82
-49
+79
 c0
 62
 81
-01
+31
 c0
 6d
 01
-32
+62
 20
 20
 23
@@ -84,27 +84,31 @@
 c0
 12
 01
-6b
+9b
 c0
 12
 80
-56
+86
 c0
 13
 00
-46
+76
 c0
 1c
 81
-65
+95
+c0
+1d
+00
+1e
 c0
 1f
 80
-2b
+5b
 c0
 26
 81
-69
+99
 c1
 7f
 80
@@ -129,6 +133,158 @@
 20
 20
 02
+ef
+e1
+00
+06
+c0
+02
+00
+23
+c0
+03
+2e
+c8
+c0
+02
+ae
+8a
+20
+60
+00
+00
+18
+c2
+22
+00
+6f
+e0
+c3
+cb
+c0
+03
+66
+d5
+c0
+07
+d0
+3d
+1a
+22
+0c
+00
+ef
+e1
+80
+06
+67
+e1
+c3
+97
+c0
+06
+00
+2c
+20
+20
+2b
+96
+ef
+e1
+00
+06
+67
+e1
+06
+b5
+98
+00
+22
+00
+68
+49
+43
+98
+18
+46
+7c
+07
+20
+22
+80
+32
+d8
+c0
+42
+6b
+ef
+e0
+80
+06
+9a
+26
+72
+00
+24
+21
+2e
+03
+20
+40
+7c
+6d
+20
+40
+2e
+46
+1f
+20
+84
+01
+20
+40
+7d
+b0
+1f
+e2
+22
+00
+1f
+e2
+26
+00
+20
+40
+2e
+10
+58
+00
+00
+0d
+e7
+e0
+80
+05
+1a
+60
+f3
+ff
+68
+49
+06
+b5
+20
+40
+7c
+67
+98
+40
+8c
+00
+20
+20
+7c
+cc
 70
 8a
 20
@@ -180,11 +336,47 @@
 c3
 00
 00
-23
+4a
 20
 20
 22
 9a
+6f
+e0
+c0
+a8
+1f
+e6
+7c
+1e
+24
+21
+24
+d7
+68
+49
+40
+9a
+18
+43
+84
+00
+6f
+e1
+01
+76
+98
+40
+fe
+00
+67
+e1
+01
+76
+20
+20
+24
+d7
 78
 55
 fc
@@ -192,11 +384,11 @@
 20
 37
 00
-2e
+5e
 24
 36
-a9
-b8
+80
+52
 20
 40
 24
@@ -216,7 +408,7 @@
 24
 3a
 00
-3f
+6f
 6f
 e0
 c3
@@ -379,8 +571,8 @@
 8e
 20
 40
-02
-df
+03
+10
 20
 40
 75
@@ -416,7 +608,7 @@
 20
 20
 00
-5b
+8b
 70
 8a
 0f
@@ -516,7 +708,7 @@
 20
 40
 00
-c1
+f1
 6f
 e0
 c4
@@ -528,7 +720,7 @@
 24
 55
 80
-42
+72
 37
 d9
 82
@@ -544,7 +736,7 @@
 c0
 08
 00
-ae
+de
 6f
 e0
 c4
@@ -588,7 +780,7 @@
 20
 40
 00
-a0
+d0
 70
 80
 43
@@ -612,15 +804,15 @@
 20
 40
 01
-04
+34
 20
 40
 01
-2f
+5f
 20
 40
 00
-9b
+cb
 70
 41
 48
@@ -632,7 +824,7 @@
 20
 20
 01
-31
+61
 37
 d9
 82
@@ -660,7 +852,7 @@
 c0
 0c
 00
-a6
+d6
 6f
 e0
 c4
@@ -752,7 +944,7 @@
 20
 20
 00
-8d
+bd
 6f
 e0
 c1
@@ -760,7 +952,7 @@
 c0
 05
 00
-bc
+ec
 20
 20
 22
@@ -787,8 +979,8 @@
 00
 20
 35
-80
-e8
+81
+18
 6f
 e2
 02
@@ -955,8 +1147,8 @@
 0f
 20
 20
-00
-d2
+01
+02
 20
 40
 68
@@ -1104,7 +1296,7 @@
 20
 40
 01
-21
+51
 2a
 2f
 fe
@@ -1136,7 +1328,7 @@
 20
 40
 01
-21
+51
 d8
 a0
 8a
@@ -1164,7 +1356,7 @@
 20
 21
 01
-16
+46
 20
 20
 21
@@ -1268,7 +1460,7 @@
 20
 40
 01
-42
+72
 70
 8a
 08
@@ -1312,7 +1504,7 @@
 c3
 02
 81
-43
+73
 68
 59
 01
@@ -1348,7 +1540,7 @@
 c0
 08
 01
-62
+92
 58
 00
 57
@@ -1392,7 +1584,7 @@
 c0
 08
 01
-5f
+8f
 58
 00
 2b
@@ -1428,7 +1620,7 @@
 20
 20
 01
-5b
+8b
 58
 00
 83
@@ -1440,7 +1632,7 @@
 20
 20
 01
-50
+80
 6f
 e0
 c3
@@ -1472,7 +1664,7 @@
 c5
 97
 81
-71
+a1
 78
 3c
 fc
@@ -1516,7 +1708,7 @@
 20
 37
 01
-7a
+aa
 1b
 42
 04
@@ -1564,7 +1756,7 @@
 20
 40
 01
-88
+b8
 6f
 e0
 81
@@ -1680,7 +1872,7 @@
 20
 40
 00
-9d
+cd
 6f
 e2
 40
@@ -1696,7 +1888,7 @@
 20
 40
 01
-a6
+d6
 20
 20
 24
@@ -1768,7 +1960,7 @@
 20
 22
 81
-b9
+e9
 e7
 e0
 80
@@ -1788,7 +1980,7 @@
 c2
 00
 01
-b3
+e3
 1a
 42
 04
@@ -1876,7 +2068,7 @@
 58
 00
 02
-68
+99
 67
 e1
 43
@@ -1884,7 +2076,7 @@
 58
 00
 02
-6b
+9c
 67
 e1
 43
@@ -1900,7 +2092,7 @@
 58
 00
 02
-b3
+e4
 67
 e1
 43
@@ -1908,15 +2100,15 @@
 58
 00
 02
-7a
+ab
 67
 e1
 45
 24
 58
 00
-01
-e4
+02
+14
 67
 e1
 43
@@ -1939,8 +2131,8 @@
 1f
 58
 00
-01
-e7
+02
+17
 67
 e1
 45
@@ -1991,20 +2183,20 @@
 ce
 c2
 80
-01
-eb
+02
+1b
 20
 60
 00
 00
 20
 40
-01
-f3
+02
+23
 20
 40
 02
-0d
+3d
 20
 60
 00
@@ -2015,20 +2207,20 @@
 cf
 c2
 80
-01
-f9
+02
+29
 c2
 80
-81
-fe
+82
+2e
 c2
 81
 02
-03
+33
 c2
 81
 82
-08
+38
 20
 60
 00
@@ -2120,19 +2312,19 @@
 c2
 80
 02
-13
+43
 c2
 80
 82
-18
+48
 c2
 81
 02
-1d
+4d
 c2
 81
 82
-22
+52
 20
 60
 00
@@ -2223,12 +2415,12 @@
 07
 20
 40
-01
-ed
+02
+1d
 20
 40
-01
-f0
+02
+20
 20
 40
 29
@@ -2272,7 +2464,7 @@
 c5
 1a
 02
-36
+66
 20
 60
 00
@@ -2292,7 +2484,7 @@
 c0
 7f
 82
-40
+70
 1f
 e2
 72
@@ -2308,7 +2500,7 @@
 c2
 00
 02
-3c
+6c
 18
 42
 7e
@@ -2316,7 +2508,7 @@
 c3
 00
 02
-46
+76
 6f
 e0
 c8
@@ -2340,7 +2532,7 @@
 20
 20
 02
-38
+68
 79
 3f
 80
@@ -2352,11 +2544,11 @@
 20
 20
 02
-4e
+7e
 20
 40
 01
-be
+ee
 20
 40
 73
@@ -2364,7 +2556,7 @@
 20
 40
 02
-30
+60
 20
 75
 80
@@ -2375,16 +2567,20 @@
 d7
 20
 40
+42
+a3
+20
+40
 01
-c2
+f2
 20
 40
+02
 01
-d1
 20
 40
 02
-27
+57
 6f
 e0
 c5
@@ -2392,7 +2588,7 @@
 c0
 00
 02
-65
+96
 6f
 e1
 44
@@ -2408,7 +2604,7 @@
 c0
 00
 83
-10
+41
 6f
 e0
 c5
@@ -2444,7 +2640,7 @@
 20
 3a
 02
-62
+93
 6f
 f0
 81
@@ -2452,7 +2648,7 @@
 c2
 82
 03
-24
+55
 6f
 e1
 44
@@ -2496,23 +2692,23 @@
 c0
 0a
 02
-72
+a3
 c0
 18
 82
-74
+a5
 c0
 0a
 82
-76
+a7
 c0
 1f
-82
-d8
+83
+09
 c0
 08
 03
-0b
+3c
 20
 20
 62
@@ -2564,11 +2760,11 @@
 20
 3a
 02
-83
+b4
 20
 40
 02
-86
+b7
 20
 40
 43
@@ -2600,11 +2796,11 @@
 20
 40
 02
-88
+b9
 20
 20
 02
-9b
+cc
 6f
 e0
 c8
@@ -2612,7 +2808,7 @@
 c2
 82
 02
-8b
+bc
 20
 60
 00
@@ -2632,11 +2828,11 @@
 c0
 00
 02
-96
+c7
 c0
 00
 82
-91
+c2
 20
 60
 00
@@ -2688,7 +2884,7 @@
 c2
 82
 02
-9e
+cf
 20
 60
 00
@@ -2708,11 +2904,11 @@
 c0
 00
 02
-a9
+da
 c0
 00
 82
-a4
+d5
 20
 60
 00
@@ -2780,15 +2976,15 @@
 20
 40
 02
-b7
+e8
 20
 40
 02
-bd
+ee
 20
 40
 02
-c6
+f7
 20
 20
 63
@@ -2824,7 +3020,7 @@
 da
 40
 02
-c0
+f1
 20
 20
 42
@@ -2860,7 +3056,7 @@
 da
 40
 02
-c9
+fa
 20
 20
 42
@@ -2967,12 +3163,12 @@
 00
 20
 40
-02
-e4
+03
+15
 20
 20
 03
-02
+33
 68
 4a
 48
@@ -3048,7 +3244,7 @@
 24
 3a
 03
-00
+31
 68
 49
 48
@@ -3063,8 +3259,8 @@
 00
 20
 22
-82
-fc
+83
+2d
 20
 60
 00
@@ -3091,8 +3287,8 @@
 db
 20
 20
-02
-f8
+03
+29
 20
 40
 24
@@ -3136,7 +3332,7 @@
 c3
 00
 83
-21
+52
 68
 49
 44
@@ -3148,7 +3344,7 @@
 c0
 00
 83
-17
+48
 70
 48
 e7
@@ -3176,7 +3372,7 @@
 20
 20
 03
-24
+55
 70
 48
 e6
@@ -3211,8 +3407,8 @@
 06
 20
 3a
+03
 02
-d1
 20
 20
 7d
@@ -3277,8 +3473,8 @@
 20
 24
 8d
-2d
-b3
+34
+03
 aa
 55
 40
@@ -3324,7 +3520,7 @@
 70
 00
 00
-82
+86
 00
 20
 00
@@ -3376,7 +3572,7 @@
 00
 db
 42
-3a
+4a
 31
 1f
 98
@@ -3384,17 +3580,32 @@
 2a
 aa
 55
-07
+16
 00
 6b
 42
-06
-53
-65
-6c
-66
+15
+41
+6d
+67
+72
+61
+73
+20
+54
+72
 69
-65
+70
+6f
+64
+20
+50
+30
+31
+20
+50
+72
+6f
 aa
 55
 06
@@ -3402,11 +3613,11 @@
 cb
 46
 11
-05
+ff
 90
-01
-11
 00
+11
+01
 aa
 55
 01
@@ -3721,7 +3932,7 @@
 aa
 aa
 55
-cf
-62
-58
-fc
+b2
+68
+8b
+ee
Index: output/ramcode.rom
===================================================================
--- /1121s/branch/shutter/shutter_public/output/ramcode.rom	(revision 3984)
+++ /1121s/branch/shutter/shutter_public/output/ramcode.rom	(working copy)
@@ -1,32 +1,71 @@
 c2840011
-c0000019
-c001005b
-c0088065
-c00a0149
-c00a80ec
-c00c00fa
-c00c80b9
-c00d0073
-c00e001d
-c012819d
-c0138192
-c014032c
-c0588249
-c0628101
-c06d0132
+c000001a
+c001008b
+c0088095
+c00a0179
+c00a811c
+c00c012a
+c00c80e9
+c00d00a3
+c00e0044
+c01281cd
+c01381c2
+c014035d
+c0588279
+c0628131
+c06d0162
 2020235a
-c012016b
-c0128056
-c0130046
-c01c8165
-c01f802b
-c0268169
+c012019b
+c0128086
+c0130076
+c01c8195
+c01d001e
+c01f805b
+c0268199
 c17f8000
 2020235a
 2435a002
 37d98200
 37d98200
 20202002
+efe10006
+c0020023
+c0032ec8
+c002ae8a
+20600000
+18c22200
+6fe0c3cb
+c00366d5
+c007d03d
+1a220c00
+efe18006
+67e1c397
+c006002c
+20202b96
+efe10006
+67e106b5
+98002200
+68494398
+18467c07
+20228032
+d8c0426b
+efe08006
+9a267200
+24212e03
+20407c6d
+20402e46
+1f208401
+20407db0
+1fe22200
+1fe22600
+20402e10
+5800000d
+e7e08005
+1a60f3ff
+684906b5
+20407c67
+98408c00
+20207ccc
 708a2030
 708a23dd
 204021d0
@@ -39,16 +78,25 @@
 98467c00
 20216ca3
 6ff08a7c
-c3000023
+c300004a
 2020229a
+6fe0c0a8
+1fe67c1e
+242124d7
+6849409a
+18438400
+6fe10176
+9840fe00
+67e10176
+202024d7
 7855fc00
-2037002e
-2436a9b8
+2037005e
+24368052
 204024d2
 6fe1409a
 67e10176
 6fe0c8ae
-243a003f
+243a006f
 6fe0c321
 c282a4e0
 c507a4e0
@@ -89,7 +137,7 @@
 1a20a3fc
 242126fa
 2020268e
-204002df
+20400310
 20407552
 20407448
 20402a45
@@ -98,7 +146,7 @@
 20402018
 2040310f
 2040248c
-2020005b
+2020008b
 708a0f60
 708a10aa
 708a127a
@@ -123,14 +171,14 @@
 708a844a
 708a8540
 708a16fe
-204000c1
+204000f1
 6fe0c436
 205a70d7
-24558042
+24558072
 37d98200
 70813b5f
 6fe0c099
-c00800ae
+c00800de
 6fe0c438
 1fe1fe04
 67f08a02
@@ -141,25 +189,25 @@
 67f18a73
 708a8660
 708a8b3b
-204000a0
+204000d0
 70804300
 70804205
 58557474
 67f18968
 7089606e
-20400104
-2040012f
-2040009b
+20400134
+2040015f
+204000cb
 7041480c
 20406f4e
-20200131
+20200161
 37d98200
 6fe0c11c
 67f0813a
 37d98200
 20600000
 6fe0c099
-c00c00a6
+c00c00d6
 6fe0c438
 1fe1fe06
 67f08a02
@@ -182,16 +230,16 @@
 67f18a73
 708a762a
 70890204
-2020008d
+202000bd
 6fe0c141
-c00500bc
+c00500ec
 2020220e
 708a1425
 58a93f3f
 67f18a60
 708a631f
 20600000
-203580e8
+20358118
 6fe2020d
 207a0000
 37d98200
@@ -233,7 +281,7 @@
 6fe1415b
 207a0000
 67e1020f
-202000d2
+20200102
 2040686f
 204021ba
 18002a08
@@ -270,7 +318,7 @@
 708ac200
 708ac300
 d8e00006
-20400121
+20400151
 2a2ffe0d
 2040211d
 2a4ffe0d
@@ -278,14 +326,14 @@
 d8e00005
 2040211c
 2040211e
-20400121
+20400151
 d8a08ac2
 1a31fe00
 20402117
 1a51fe00
 20402117
 18e08fff
-20210116
+20210146
 2020214f
 2000003c
 58000f00
@@ -311,7 +359,7 @@
 6fe0c409
 67f080cd
 20000bb8
-20400142
+20400172
 708a08c1
 6a40c419
 df200008
@@ -322,7 +370,7 @@
 20600000
 7080cc03
 6ff08129
-c3028143
+c3028173
 68590164
 6049440a
 7080cc00
@@ -331,7 +379,7 @@
 708a8d12
 708a8e0a
 6fe0c099
-c0080162
+c0080192
 58005762
 67f10907
 70890103
@@ -342,7 +390,7 @@
 708a8d44
 708a8e0a
 6fe0c099
-c008015f
+c008018f
 58002bb1
 67f10907
 c6978000
@@ -351,10 +399,10 @@
 20600000
 58004189
 67f10907
-2020015b
+2020018b
 58008312
 67f10907
-20200150
+20200180
 6fe0c334
 c1000000
 c001b04a
@@ -362,7 +410,7 @@
 793f8030
 20202af6
 204025c2
-c5978171
+c59781a1
 783cfc00
 2000001e
 204025c2
@@ -373,7 +421,7 @@
 78507c00
 19623600
 37c18400
-2037017a
+203701aa
 1b420400
 604b000f
 242c26fa
@@ -385,7 +433,7 @@
 984fb600
 20406877
 20372677
-20400188
+204001b8
 6fe08168
 c301a677
 2055a477
@@ -414,11 +462,11 @@
 6fe143e9
 20407d79
 58000012
-2040009d
+204000cd
 6fe240ad
 9840fe00
 67e240ad
-204001a6
+204001d6
 20202425
 600440e7
 d8c08070
@@ -436,12 +484,12 @@
 efe08011
 e8408013
 98467c00
-202281b9
+202281e9
 e7e08013
 37d98200
 1a20a201
 1a60a601
-c20001b3
+c20001e3
 1a420400
 20600000
 70807dc0
@@ -463,23 +511,23 @@
 6fe148e9
 67e1451d
 20600000
-58000268
+58000299
 67e143db
-5800026b
+5800029c
 67e143dd
 5800638a
 67e143df
-580002b3
+580002e4
 67e143e3
-5800027a
+580002ab
 67e14524
-580001e4
+58000214
 67e143d5
 58006329
 67e143d7
 58006340
 67e1451f
-580001e7
+58000217
 67e14521
 20600000
 7044ecff
@@ -492,16 +540,16 @@
 7048b701
 20600000
 6fe0c8ce
-c28001eb
+c280021b
 20600000
-204001f3
-2040020d
+20400223
+2040023d
 20600000
 6fe0c8cf
-c28001f9
-c28081fe
-c2810203
-c2818208
+c2800229
+c280822e
+c2810233
+c2818238
 20600000
 58000000
 67e1452e
@@ -524,10 +572,10 @@
 67e14556
 20600000
 6fe0c8d0
-c2800213
-c2808218
-c281021d
-c2818222
+c2800243
+c2808248
+c281024d
+c2818252
 20600000
 58000000
 67e14533
@@ -550,8 +598,8 @@
 67e1455b
 20600000
 70415e07
-204001ed
-204001f0
+2040021d
+20400220
 20402969
 2040638d
 20406ff7
@@ -562,41 +610,42 @@
 c4008000
 6fe144e9
 c3848000
-c51a0236
+c51a0266
 20600000
 7048e800
 da204526
 efe08011
-c07f8240
+c07f8270
 1fe27200
 6859811c
 18430400
-c200023c
+c200026c
 18427e00
-c3000246
+c3000276
 6fe0c8e8
 1fe0fe01
 c1010000
 67e0c8e8
 1a20a201
-20200238
+20200268
 793f8034
 7044ee01
-2020024e
-204001be
+2020027e
+204001ee
 20407396
-20400230
+20400260
 20758000
 204070d7
-204001c2
-204001d1
-20400227
+204042a3
+204001f2
+20400201
+20400257
 6fe0c51a
-c0000265
+c0000296
 6fe144e9
 c3860000
 6fe0c8dd
-c0008310
+c0008341
 6fe0c51b
 67e0c4ec
 58000000
@@ -605,9 +654,9 @@
 20407776
 20407780
 6fe0c6d0
-203a0262
+203a0293
 6ff08132
-c2820324
+c2820355
 6fe144e9
 c3860000
 20204327
@@ -618,11 +667,11 @@
 204070c8
 20206327
 1a627e00
-c00a0272
-c0188274
-c00a8276
-c01f82d8
-c008030b
+c00a02a3
+c01882a5
+c00a82a7
+c01f8309
+c008033c
 202062da
 7048e601
 202062e2
@@ -635,8 +684,8 @@
 2040635d
 24760000
 1a227e00
-203a0283
-20400286
+203a02b4
+204002b7
 20404323
 18e27e00
 da60452e
@@ -644,16 +693,16 @@
 20404325
 da604556
 2020636e
-20400288
-2020029b
+204002b9
+202002cc
 6fe0c8cf
-c282028b
+c28202bc
 20600000
 6fe0c8c3
 79407e00
 67e0c8c3
-c0000296
-c0008291
+c00002c7
+c00082c2
 20600000
 58000000
 67e1452e
@@ -666,13 +715,13 @@
 67e14556
 20600000
 6fe0c8d0
-c282029e
+c28202cf
 20600000
 6fe0c8c3
 79407e01
 67e0c8c3
-c00002a9
-c00082a4
+c00002da
+c00082d5
 20600000
 58000000
 67e14533
@@ -689,9 +738,9 @@
 efe08005
 67e0c4eb
 20600000
-204002b7
-204002bd
-204002c6
+204002e8
+204002ee
+204002f7
 20206322
 6fe0c8ce
 c4008000
@@ -700,7 +749,7 @@
 7048e600
 20600000
 da604518
-da4002c0
+da4002f1
 202042e7
 6fe0c8ce
 c300e314
@@ -709,7 +758,7 @@
 7048e300
 20206314
 da6046ca
-da4002c9
+da4002fa
 202042e0
 6fe0c8ce
 c300e31b
@@ -736,8 +785,8 @@
 6fe0c8ce
 c4008000
 c69a0000
-204002e4
-20200302
+20400315
+20200333
 684a48de
 1c427e00
 98467c00
@@ -756,18 +805,18 @@
 67e148e3
 6fe0c8e6
 7080783e
-243a0300
+243a0331
 684948d9
 6fe148e3
 98467c00
-202282fc
+2022832d
 20600000
 7080783f
 793f8034
 20404325
 20204327
 684948db
-202002f8
+20200329
 20402408
 6fe1c0bd
 207a0000
@@ -778,17 +827,17 @@
 604a40a9
 2020241e
 6fe0c8ce
-c3008321
+c3008352
 68494430
 efe08002
-c0008317
+c0008348
 7048e700
 6fe0c51c
 c000e305
 70438801
 793f8034
 7048dd01
-20200324
+20200355
 7048e600
 7048e700
 70438800
@@ -797,7 +846,7 @@
 204063ad
 18408c05
 efe10006
-203a02d1
+203a0302
 20207d79
 68494430
 efe08002
Index: output/sched.rom
===================================================================
--- /1121s/branch/shutter/shutter_public/output/sched.rom	(revision 3984)
+++ /1121s/branch/shutter/shutter_public/output/sched.rom	(working copy)
@@ -38,7 +38,7 @@
 70   #mem_patch24
 00   #mem_patch25
 00   #mem_patch26
-82   #mem_patch27
+86   #mem_patch27
 00   #mem_patch28
 20   #mem_patch29
 00   #mem_patch2a
@@ -69,17 +69,16 @@
 mem_ui_button_gpio:ff
 mem_otp_load_check_sum:5a
 
-mem_le_lap:3a 31 1f 98 07 2a
+mem_le_lap:4a 31 1f 98 07 2a
 mem_le_name_len:
-# 'AB Shutter3
-'Selfie
+#'AB Shutter3
+'Amgras Tripod P01 Pro
 
-# mem_shutter_key_conf0_temp:11 ff 90 00 11 #pcb2022-277
-mem_shutter_key_conf0_temp:11 05 90 01 11 #pcb2022-277
-mem_shutter_soft_switch_first_power_on:00
+mem_shutter_key_conf0_temp:11 ff 90 00 11 #pcb2022-277
+#mem_shutter_key_conf0_temp:11 05 90 01 11 #pcb2022-277
+mem_shutter_soft_switch_first_power_on:01
 
 mem_tx_power:05
-
 #mem_rf_debug_tx_gpio:83
 #mem_rf_debug_rx_gpio:89
 
Index: program/ble_protocol_stack/le.prog
===================================================================
--- /1121s/branch/shutter/shutter_public/program/ble_protocol_stack/le.prog	(revision 3984)
+++ /1121s/branch/shutter/shutter_public/program/ble_protocol_stack/le.prog	(working copy)
@@ -35,7 +35,7 @@
 	force 0,pdata
 	store 5,mem_ccm_pcnt_rx
 	set1 LE_CCM_DIRECTIONBIT,pdata
-	store 5,mem_ccm_pcnt_tx	
+	store 5,mem_ccm_pcnt_tx
 	branch le_init_conn
 
 
@@ -57,7 +57,7 @@
 	rshift4 pdata,pdata
 	store 2,mem_le_superto			// vol.6 part B 4.5.2 only 6*conninterval before establish
 	branch le_init_conn
-	
+
 
 //******************************************//
 //*************LE main process*********//
@@ -73,11 +73,11 @@
 	fetch 1,mem_le_mode
 	bbit1 mode_master,le_master_dispatch
 	branch le_slave_dispatch
-	
+
 //******************************************//
 //***********LE master process*********//
 //******************************************//
-	
+
 le_master_dispatch:
 	bpatchx patch22_2,mem_patch22
 	enable master
@@ -94,12 +94,12 @@
 	call le_acknowledge
 	disable master
 	rtn
-	
+
 le_master_disconn:
 	call le_disconnect
 	disable master
 	rtn
-	
+
 //******************************************//
 //***********LE slave process***********//
 //******************************************//
@@ -123,7 +123,7 @@
 	branch le_slave_match,match
 	bmark1 mark_ble_crc_fail,le_slave_crc_fail
 	branch le_slave_cont
-	
+
 
 le_slave_crc_fail:
 le_slave_match:
@@ -194,12 +194,12 @@
 le_clear_pairing_state:
 	bpatchx patch23_1,mem_patch23
 	jam FLAG_LE_ENC_NULL,mem_le_enc_state
-	jam FLAG_LE_PAIRING_NULL,mem_le_pairing_state 
+	jam FLAG_LE_PAIRING_NULL,mem_le_pairing_state
 ifdef SECURE_CONNECTION
 	call sp_clear_flags
 endif
 	rtn
-	
+
 le_got_first_packet:
 	bpatchx patch23_2,mem_patch23
 	fetch 1,mem_le_conn_rcv
@@ -266,7 +266,7 @@
 	jam 0x80,0x8920
 	jam 0x03,0x8930
 	rtn
-	
+
 le_prep:
 	bpatchx patch23_6,mem_patch23
 	disable enable_crc
@@ -279,11 +279,11 @@
 	set1 1,temp
 	rshift temp,white_init
 	rtn
-	
+
 
 le_rx_setfreq:
 	call le_setfreq
-le_rf_rx_enable:	
+le_rf_rx_enable:
 	call set_freq_rx
 	fetch 2,mem_param_pll_setup
 	call sleep
@@ -295,7 +295,7 @@
 le_tx_setfreq0:
 	call le_setfreq
 	branch set_freq_tx
-	
+
 le_setfreq:
 	bpatchx patch23_7,mem_patch23
 	call set_sync_on
@@ -310,17 +310,17 @@
 	rtneq 38
 	force 78,temp
 	rtn
-	
+
 le_ctf_normal:
 	sub pdata,10,null
 	branch le_ctf_low,positive
 	increase 1,pdata
-	
-le_ctf_low:	
+
+le_ctf_low:
 	lshift pdata,pdata
 	add pdata,2,temp
 	rtn
-	
+
 le_ctf_test:
 	fetch 1,mem_le_ch_mapped
 	lshift pdata,temp
@@ -345,7 +345,7 @@
 	rtn
 
 
-	
+
 le_setup:
 	bpatchx patch24_0,mem_patch24
 	enable swfine
@@ -377,13 +377,13 @@
 	istore 2,contw
 	call le_update_param
 	call le_update_channel_map
-	call le_update_phy	
+	call le_update_phy
 	call le_context_nexthop
 	call pop_stack_rega_b_c
 	fetchr loopcnt ,2,mem_loopcnt
 	rtn
-	
-le_context_nexthop:	
+
+le_context_nexthop:
 	add rega,coffset_le_hop,contr
 	ifetch 1,contr
 	add rega,coffset_le_ch,contw
@@ -449,7 +449,7 @@
 	branch le_wait_master,master
 	until null,timeout
 	rtn
-	
+
 le_wait_master:
 	arg 0xea0,timeup
 	until clkn_rt,meet
@@ -526,23 +526,23 @@
 	loop le_rx_loop
 	branch le_rx_nopayload
 
-le_rx_dec: 
+le_rx_dec:
 	copy contw,regb
 	bpatchx patch24_5,mem_patch24
-	call le_check_retransmit	
+	call le_check_retransmit
 //	bmark1 mark_old_packet,le_retransmit_end_of_packet
 	fetchr rega, 1,mem_le_rxbuf_data_length
 	increase -4,rega
 	nbranch le_mic_error,positive
 //	storer rega, 1,mem_le_rxbuf_data_length
-	call le_dec_start	
+	call le_dec_start
 	copy regb,contw
 	arg 0,temp
 	fetchr loopcnt, 1,mem_le_rxbuf_data_length
 	increase -4,loopcnt
 	branch le_rx_dec_loop_end,zero
 le_rx_dec_loop:
-	
+
 	parse demod,bucket,8
 	rshift3 pwindow,pdata
 	istore 1,contw
@@ -551,13 +551,13 @@
 	call le_dec,zero
 	loop le_rx_dec_loop
 le_rx_dec_loop_end:
-	call le_dec_end	
+	call le_dec_end
 	copy regb,contw
-	
+
 
 le_rx_nopayload:
 	bpatchx patch24_6,mem_patch24
-	parse demod,bucket,24	
+	parse demod,bucket,24
 	rshift32 pdata,pdata
 	rshift16 pdata,pdata
 	istore 3,contw
@@ -586,16 +586,16 @@
 	store 1,mem_le_rx_phy
 	call le_match_set_sync_on
 	branch le_match_set_txfreq
-	
-le_match_set_sync_on:	
+
+le_match_set_sync_on:
 	disable decode_fec0
 	branch set_sync_on
-	
+
 le_match_set_txfreq:
 	bpatchx patch25_0,mem_patch25
 	fetcht 1,mem_last_freq
-	branch set_freq_tx_int	
-	
+	branch set_freq_tx_int
+
 
 le_dec_init:
 	rtnmark0 mark_ble_encryption
@@ -603,16 +603,16 @@
 	force regidx_result,regext_index
 	call aes_clear
 	branch aes_clear_data
-	
-	
+
+
 le_dec_start:
 	bpatchx patch25_1,mem_patch25
-	jam 0,core_ccm_aad0 
+	jam 0,core_ccm_aad0
 	jam 1,core_ccm_aad1
 	fetch 1,mem_le_rxbuf_data_header
 	and_into 0x3,pdata
 	store 1,core_ccm_aad2
-	
+
 	setarg mem_le_rxbuf_data_payload
 	store 2,core_ccm_input_playload_addr
 	store 2,core_ccm_output_playload_addr
@@ -620,15 +620,15 @@
 	fetchr rega, 1,mem_le_rxbuf_data_length
 	increase -4,rega
 
-	fetcht 5,mem_ccm_pcnt_rx	
+	fetcht 5,mem_ccm_pcnt_rx
 	isolate1 mark_old_packet,mark
 	call le_pcnt_rx_sub1,true
 	call ccm_b0
 	setarg 0
 	store 2,core_ccm_inptr
 	jam 6,core_ccm_ctrl
-	jam 7,core_ccm_ctrl	
-	rtn	
+	jam 7,core_ccm_ctrl
+	rtn
 
 le_pcnt_rx_sub1:
 	sub temp,0,null
@@ -653,7 +653,7 @@
 	storet 2,core_ccm_inptr
 	copy regb,contw
 	rtn
-	
+
 le_dec_end://mic
 	parse demod,bucket,32
 	rshift32 pdata,pdata
@@ -679,8 +679,8 @@
 	bmark1 mark_ble_crc_fail,le_crc_fail_consecutive //two consecutive packets received with an invalid CRC match within a connection event shall close the event
 	set1 mark_ble_crc_fail,mark
 	branch le_crc_fail_tx
-	
-le_unsync_end:	
+
+le_unsync_end:
 le_crc_fail_consecutive:
 	set0 mark_ble_crc_fail,mark
 	branch le_end_of_packet
@@ -689,7 +689,7 @@
 	bpatchx patch25_2,mem_patch25
 	call ccm_ctrl_clr
 	branch end_of_packet
-	
+
 calc_clke_all_modem:
 	bmark1 mark_ble_lr,calc_clke_modem_coded
 	bmark1 mark_ble_2M,calc_clke_modem_2M
@@ -786,7 +786,7 @@
 	bpatchx patch25_4,mem_patch25
 	call le_transmit
 	branch end_of_packet
-	
+
 le_transmit:
 	bpatchx patch25_5,mem_patch25
 	call le_prep
@@ -817,15 +817,15 @@
 	branch le_tr_nopayload,zero
 
 	fetch 1,core_ccm_ctrl
-	branch le_transmit_packet_not_enc,blank 
+	branch le_transmit_packet_not_enc,blank
 	bmark1 mark_ble_encryption,le_transmit_packet_enc
-le_transmit_packet_not_enc:	
+le_transmit_packet_not_enc:
 	arg mem_le_txpayload,contr
 le_tr_loop:
 	ifetch 1,contr
 	inject mod,8
 	loop le_tr_loop
-	
+
 le_tr_nopayload:
 	enable enable_parity
 	inject mod,24
@@ -852,12 +852,12 @@
 	fetch 1,mem_le_txpayload
 	beq LL_START_ENC_REQ,le_set_enc
 	rtn
-	
+
 
 le_transmit_packet_enc:
 	increase -4,loopcnt
-	copy loopcnt,temp	
-	call ccm_wait_enc	
+	copy loopcnt,temp
+	call ccm_wait_enc
 	arg mem_le_txpayload,contr
 le_transmit_packet_enc_loop:
 	ifetch 1,contr
@@ -893,10 +893,10 @@
 	branch le_transmit_packet
 
 le_transmit_2M:
-	fetch 1,mem_system_clk	
+	fetch 1,mem_system_clk
 	fetcht 1,mem_le_tx2m_delay
 	iadd temp,pdata
-	call sleep				//2M Ç°¶Ë·¢ËÍ±È1M¿ì
+	call sleep				//2M Ç°ï¿½Ë·ï¿½ï¿½Í±ï¿½1Mï¿½ï¿½
 	rshift16 access,pdata
 	rshift8 pdata,pdata
 	rshift4 pdata,temp
@@ -905,7 +905,7 @@
 	copy temp,pdata
 	inject mod,40
 	branch le_transmit_packet
-	
+
 
 le_update_param:
 	arg le_update_param_ahead1_cb,regc
@@ -923,7 +923,7 @@
 	ifetch 2,contr
 	lshift2 pdata,pdata
 	iadd temp,timeup	//add windowsize
-	add rega,coffset_sniff_anchor,contw  
+	add rega,coffset_sniff_anchor,contw
 	deposit timeup
 	istore 4,contw
 	ifetch 2,contr
@@ -945,28 +945,28 @@
 	jam BT_EVT_LE_PARSE_CONN_PARAM_ACCEPTED,mem_fifo_temp
 	call ui_ipc_send_event
 	fetchr rega,2,mem_rega
-	rtn	
+	rtn
 
 le_update_channel_map:
 	arg 0,regc
 	arg le_update_channel_map_cb,regb
 	arg lestate_update_map,queue
 	branch le_check_update_flag
-	
+
 le_update_channel_map_cb:
 	add rega,coffset_le_new_map,contr
 	ifetch 5,contr
 	add rega,coffset_le_channel_map,contw
 	istore 5,contw
 	branch le_calc_channel_map
-	
+
 
 le_update_phy:
 	arg 0,regc
 	arg le_update_phy_cb,regb
 	arg lestate_update_phy,queue
 	branch le_check_update_flag
-	
+
 le_update_phy_cb:
 	add rega,coffset_le_new_m2s_phy,contr
 	ifetch 1,contr
@@ -980,7 +980,7 @@
 	jam BT_EVT_LE_UPDATE_PHY,mem_fifo_temp
 	call ui_ipc_send_event
 	fetchr rega,2,mem_rega
-	rtn	
+	rtn
 
 le_update_phy_cb_m2s:
 	call le_update_phy_cb_m2s_no_change,blank
@@ -1018,7 +1018,7 @@
 	add rega,coffset_le_rx_phy,contr
 	ifetch 1,contr
 	rtn
-	
+
 
 //regb regc is cb function
 //queue is state flag
@@ -1031,14 +1031,14 @@
 	ifetcht 2,contr
 	add rega,coffset_le_instant,contr
 	ifetch 2,contr
-	
+
 	isub temp,pdata
 	branch le_update,zero
 	nbranch le_check_update_small,positive
 	sub pdata,1,null
 	branch le_update_ahead1,zero
 	rtn
-	
+
 le_update_ahead1:
 	copy regc,pdata
 	branch callback_func
@@ -1049,7 +1049,7 @@
 	istore 1,rega
 	copy regb,pdata
 	branch callback_func
-	
+
 le_check_update_small:
 	add rega,coffset_le_event_cnt,contr
 	ifetch 2,contr
@@ -1063,7 +1063,7 @@
 	isub temp,null
 	nbranch le_update,positive
 	rtn
-	
+
 
 le_check_retransmit:
 	fetcht 1,mem_le_arq
@@ -1095,7 +1095,7 @@
 	fetch 1,mem_le_state
 	bbit0 lestate_encryption,le_ack_unenc
 	fetcht 4,mem_le_peer_mic
-	fetch 4,mem_ccm_last_mic			
+	fetch 4,mem_ccm_last_mic
 	isub temp,null
 	branch assert,zero
 	storet 4,mem_ccm_last_mic
@@ -1103,7 +1103,7 @@
 	increase 1,pdata
 	set1 LE_CCM_DIRECTIONBIT,pdata
 	store 5,mem_ccm_pcnt_rx
-	
+
 le_ack_unenc:
 	fetcht 1,mem_le_arq
 	setflip nesn,temp
@@ -1120,7 +1120,7 @@
 	branch le_parse_writing_attribute_start,true
 	rtn
 
-	
+
 le_check_wak:
 	bpatchx patch26_3,mem_patch26
 	fetcht 1,mem_le_arq
@@ -1136,15 +1136,15 @@
 	compare 3,temp,3
 //	nrtn true
 	rtn
-	
+
 
 le_set_enc:
 	fetch 1,mem_le_state
 	set1 lestate_encryption,pdata
 	store 1,mem_le_state
 	set1 mark_ble_encryption,mark
-	rtn	
-	
+	rtn
+
 le_clear_enc:
 	bpatchx patch26_4,mem_patch26
 	jam FLAG_LE_ENC_NULL,mem_le_enc_state
@@ -1197,7 +1197,7 @@
 	store 2,mem_contr
 	call le_update_tx_type
 	call le_send_packet
-	
+
 	call le_fifo_get_first_tx_ptr
 	ifetch 2,contr
 	copy pdata,rega	//rega:total length
@@ -1213,7 +1213,7 @@
 	nrtn zero
 	branch le_fifo_release_first_node
 
-	
+
 le_check_tx_md:
 	call le_check_continue
 	rtnmark1 mark_ble_tx_md
@@ -1223,7 +1223,7 @@
 	branch le_clear_md,blank
 	branch le_set_md
 
-	
+
 le_check_continue:
 	call le_fifo_get_first_tx_ptr	//no packet to send
 	branch le_clear_md,blank
@@ -1262,12 +1262,12 @@
 	copy contr,rega
 	ifetch 1,contr
 	rtn
-	
+
 
 le_send_empty:
 	force 0,temp
 	force 1,type
-	
+
 le_send_packet:
 	bpatchx patch26_7,mem_patch26
 	storet 1,mem_le_txlen
@@ -1286,15 +1286,15 @@
 	nbranch le_send_no_txlen,true
 	fetch 1,mem_le_txlen
 	rtn blank
-	
-le_send_no_txlen:	
+
+le_send_no_txlen:
 	bmark1 mark_ble_encryption,le_send_packet_enc
 	fetchr loopcnt,1,mem_le_txlen
 	fetch 2,mem_contr
 	copy pdata,contr
 	arg mem_le_txpayload,contw
 	branch memcpy_fast
-	
+
 le_send_packet_enc:
 	call load_sk
 	branch le_encrypt_new_start
@@ -1346,7 +1346,7 @@
 
 //input: pdata is CID number
 //output: 	if CID is legal ,enable user
-//		if ICD is illegal,disable user 
+//		if ICD is illegal,disable user
 le_check_l2cap_CID_legal:
 	call enable_user
 	arg LE_L2CAP_CID_ATT,temp
@@ -1360,7 +1360,7 @@
 	rtn zero
 	branch disable_user
 
-	
+
 le_check_l2cap_llid_start:
 	fetch 2,mem_le_payload_ptr
 	copy pdata,contr
@@ -1384,7 +1384,7 @@
 
 //no input
 //output: 	if CID is legal ,enable user
-//		if ICD is illegal,disable user 
+//		if ICD is illegal,disable user
 le_check_l2cap_continue_legal:
 	call enable_user
 	fetch 2,mem_le_packet_len_recved
@@ -1420,7 +1420,7 @@
 le_writeatt_cb:
 	fetch 2,mem_cb_att_write
 	branch callback_func
-	
+
 le_supervision_update:
 	bpatchx patch27_3,mem_patch27
 	fetcht 4,mem_le_supervision_timer
@@ -1432,13 +1432,13 @@
 	lshift temp,temp
 	isub temp,pdata
 	rtn
-	
+
 le_supervision_flush:
 	call get_clkbt
 	store 4,mem_le_supervision_timer
 	rtn
 
-	
+
 //input rega
 le_receive_window_size:
 	bpatchx patch27_4,mem_patch27
@@ -1459,7 +1459,7 @@
 	ifetch 1,contr
 	imul32 temp,pdata
 	iadd temp,pdata
-	store 4,mem_le_transmit_window	
+	store 4,mem_le_transmit_window
 	fetch 2,mem_rx_window_sniff
 	call wait_div_end
 	quotient temp
@@ -1468,9 +1468,6 @@
 	istore 2,contw
 	rtn
 
-	
-
-	
 le_modified_name:
 	bpatchx patch27_5,mem_patch27
 	call le_modified_name_att_list
@@ -1525,7 +1522,7 @@
 	call le_modified_name_adv_loop
 	fetch 1,mem_le_name_len
 	add pdata,1,temp
-	iadd regb,rega	
+	iadd regb,rega
 	increase 2,rega
 	sub rega,0x1f,null
 	nbranch le_modified_name_adv_and_scan_name_overflow,positive
@@ -1546,7 +1543,7 @@
 le_modified_name_adv_and_scan_name_overflow:
 	call disable_user
 	branch le_modified_name_adv_and_scan_store_data
-	
+
 le_modified_name_adv_loop:
 	ifetch 1,rega		//pdata:length
 	rtn blank			//length is zero,ending find
@@ -1554,7 +1551,7 @@
 	ifetcht 1,contr		//pdata:type
 	sub temp,GAP_ADTYPE_LOCAL_NAME_COMPLETE,null
 	branch le_modified_name_adv_found_name,zero
-	iadd regb,regb	
+	iadd regb,regb
 	copy rega,contr
 	iforce loopcnt
 	call memcpy_fast
@@ -1576,7 +1573,7 @@
 	loop memcpy_empty
 	rtn
 
-	
+
 le_lpm_set_mult:
 	bpatchx patch27_7,mem_patch27
 	disable wake
@@ -1593,13 +1590,13 @@
 	nbranch lpm_mult_short,blank		// rx not empty, short interval
 	fetch 1,mem_le_txlen
 	nbranch lpm_mult_short,blank		// tx not empty, short interval
-	
+
 	fetch 1,mem_le_state
 	bbit1 lestate_update_param,lpm_mult_short
 	bbit1 lestate_update_phy,lpm_mult_short
 	bbit1 lestate_update_map,lpm_mult_short
 	branch lpm_mult_wait_timeout
-	
+
 le_lpm_lost:
 	fetch 1,mem_sniff_unint_lost
 	sub pdata,30,null
@@ -1713,7 +1710,7 @@
 	copy regb,pdata
 	istore 1,contw
 	rtn
-	
+
 
 //rega:len regb:cid
 le_fifo_malloc_tx_l2cap:
@@ -1793,7 +1790,7 @@
 le_fifo_check_nearly_full:
 	branch l2cap_malloc_is_fifo_nearly_full
 
-	
+
 le_fifo_check_empty:
 	branch l2cap_malloc_is_fifo_empty
 
@@ -1832,7 +1829,7 @@
 
 le_set_tx_phy:
 	storer rega,1,mem_le_tx_phys
-le_set_phy_common:	
+le_set_phy_common:
 	isolate1 BIT_LE_2M_PHY,rega
 	call le_set_feature_2M_phy,true
 	isolate1 BIT_LE_CODED_PHY,rega
Index: program/ble_protocol_stack/le_l2cap_att.prog
===================================================================
--- /1121s/branch/shutter/shutter_public/program/ble_protocol_stack/le_l2cap_att.prog	(revision 3984)
+++ /1121s/branch/shutter/shutter_public/program/ble_protocol_stack/le_l2cap_att.prog	(working copy)
@@ -71,7 +71,7 @@
 	force 0,pdata
 	rtn
 
-	
+
 le_send_att_find_information_response:
 	arg 3,timeup
 	call le_init_attlist_search
@@ -103,20 +103,20 @@
 	setarg UUID_SIZE_16BIT
 	istore  1,contw
 	branch le_send_att_find_information_res_store_info
-	
+
 le_send_att_find_information_res_uuid128:
 	setarg UUID_SIZE_128BIT
 	istore 1,contw
 	arg 1,timeup
 	branch le_send_att_find_information_res_store_info
-		
+
 le_send_att_find_information_res_store_info2:
 	call get_contr
 	ifetch 2,contr
 	ifetch 1,contr
 	isub rega,null //uuid size format
 	nbranch le_send_att_find_information_res_end,zero
-	
+
 le_send_att_find_information_res_store_info:
 	call get_contr
 	ifetch 2,contr
@@ -130,11 +130,11 @@
 le_send_att_find_information_res_cont:
 	call le_att_contr_add_len
 	branch le_send_att_find_information_res_loop
-	
+
 le_send_att_find_information_res_next:
 	call le_att_contr_add_len
 	branch le_send_att_find_information_res_cont
-	
+
 le_send_att_find_information_res_end:
 	branch le_send_att_error_response_notfound,user
 	branch le_send_auto_len_by_mem
@@ -174,7 +174,7 @@
 	isub temp,null
 	branch le_send_att_find_by_type_value_res_primary,zero
 	branch le_send_att_error_response_notfound
-	
+
 
 le_send_att_find_by_type_value_res_primary:
 	jam LE_FIND_BY_TYPE_VAL_RES_NOT_FOUND,mem_le_search_res
@@ -185,7 +185,7 @@
 le_send_att_find_primary_search_loop:
 	fetcht 2,mem_temp
 	call le_att_get_handle_info
-	nbranch le_send_att_error_response_notfound2,blank	
+	nbranch le_send_att_error_response_notfound2,blank
 	copy contr,rega
 	fetch 1,mem_le_curr_att_len
 	copy pdata,loopcnt
@@ -212,7 +212,7 @@
 	beq LE_FIND_BY_TYPE_VAL_RES_FOUND_STARTING_HANDLE,le_send_att_find_primary_search_end_ending_handle_found
 	branch le_send_att_error_response_notfound
 
-	
+
 le_send_att_find_primary_search_end_start_handle_found:
 	fetch 2,mem_le_cur_uuid
 	fetcht 2,mem_le_search_uuid
@@ -231,7 +231,7 @@
 	fetcht 2,mem_temp
 	increase -1,temp
 	storet 2,mem_le_cur_handle_end
-	
+
 le_send_att_find_primary_search_end:
 	arg 5,rega
 	call le_fifo_malloc_tx_l2cap_gatt
@@ -249,7 +249,7 @@
 	call le_get_search_handle_start_end_common
 	call le_get_search_att_type
 	branch le_send_att_read_by_type_response
-	
+
 le_send_att_read_by_type_response:
 	fetcht 2,mem_le_search_handle_start
 	storet 2,mem_temp
@@ -284,7 +284,7 @@
 	istore 1,contw
 	copy contw,alarm
 	increase 1,contw
-	
+
 	call le_send_att_read_by_type_write_properties
 	call le_att_next_handle
 	call le_att_get_handle_info_from_ptr
@@ -292,7 +292,7 @@
 	fetch 1,mem_le_cur_uuid_length
 	add pdata,5,rega
 	istorer rega,1,alarm
-	
+
 	sub rega,7,null
 	ncall enable_user2,zero
 	call disable_user2,zero
@@ -327,11 +327,11 @@
 	branch le_send_att_read_by_type_response_end,zero
 	branch le_send_att_read_by_type_response_next_handle
 
-	
+
 le_send_att_read_by_type_write_properties:
 	fetch 2,mem_temp
 	istore 2,contw
-	
+
 	fetch 1,mem_le_curr_att_len
 	copy pdata,loopcnt
 	call get_contr
@@ -344,7 +344,7 @@
 	call store_contw
 	fetch 1,mem_le_cur_uuid_length
 	copy pdata,loopcnt
-	call get_contw	
+	call get_contw
 	call get_contr
 	isub loopcnt,contr
 	increase -1,contr
@@ -356,7 +356,7 @@
 	call le_att_get_uuid_ptr
 	branch le_send_att_error_response_notfound,blank
 	copy contr,regc
-	
+
 	call le_get_search_max_mtu_data
 	copy regc,contr
 	ifetcht 1,contr
@@ -377,12 +377,12 @@
 	call get_contr
 	branch  memcpy_fast
 
-	
+
 le_send_att_read_by_type_res_device_name:
 	call le_att_get_uuid_ptr
 	branch le_send_att_error_response_notfound,blank
 	increase -5,contr // point to handle
-	ifetch 2,contr		
+	ifetch 2,contr
 	store 2,mem_temp
 	call le_get_search_max_mtu_data
 	fetcht 1,mem_le_name_len
@@ -400,7 +400,7 @@
 	istore 2,contw
 	arg mem_le_name,contr
 	branch memcpy_fast
-	
+
 
 le_init_attlist_search:
 	bpatchx patch2a_6,mem_patch2a
@@ -418,7 +418,7 @@
 	call le_att_get_handle_ptr2
 	branch le_att_get_handle_ptr_found,zero
 	rtn
-	
+
 le_att_get_handle_ptr2:
 	bpatchx patch2a_7,mem_patch2a
 	fetch 2,mem_ui_le_uuid_table
@@ -432,13 +432,13 @@
 	call le_att_contr_add_len
 	call le_att_contr_add_len
 	branch le_att_get_handle_loop1
-	
+
 le_att_get_handle_ptr_found:
 le_att_contr_add_len:
 	ifetch 1,contr
-	iadd contr,contr	
-	rtn	
-	
+	iadd contr,contr
+	rtn
+
 
 le_att_get_uuid_ptr:
 	bpatchx patch2b_0,mem_patch2b
@@ -461,10 +461,10 @@
 	call string_compare
 	rtn zero
 	fetch 1,mem_le_search_att_type_length
-le_att_get_uuid_ptr_next:	
+le_att_get_uuid_ptr_next:
 	iadd contw,contr
 	call le_att_contr_add_len
-	branch le_att_get_uuid_loop	
+	branch le_att_get_uuid_loop
 
 
 
@@ -505,7 +505,7 @@
 	call le_att_contr_add_len
 	call le_att_contr_add_len
 	branch le_att_get_handle_loop
-	
+
 le_att_unfind_handle:
 	branch disable_blank
 
@@ -571,8 +571,8 @@
 	add regc,-1,loopcnt
 	arg mem_le_name,contr
 	branch memcpy
-	
-	
+
+
 le_send_att_read_response_check_auth:
 	fetch 2,mem_le_pairing_handle
 	isub temp,null
@@ -594,7 +594,7 @@
 	iforce rega
 	fetcht 2,mem_le_att_handle
 le_send_att_read_blob_response:
-	call le_att_get_handle_ptr 
+	call le_att_get_handle_ptr
 	branch le_send_att_error_response_notfound,blank
 	ifetch 1,contr
 	isub rega,loopcnt
@@ -616,7 +616,7 @@
 	branch memcpy_fast
 
 
-//²éÑ¯server
+//ï¿½ï¿½Ñ¯server
 le_parse_att_read_by_group_type_request:
 	call le_get_search_handle_start_end_common
  	call le_get_search_att_type
@@ -678,7 +678,7 @@
 	store 2,mem_le_cur_handle_start
 	call le_store_att_record
 	increase -1,timeup
-//	branch le_send_att_read_by_group_type_last_find,zero		
+//	branch le_send_att_read_by_group_type_last_find,zero
 le_send_att_read_by_group_type_next_handle:
 	call le_att_next_handle
 	branch le_send_att_read_by_group_type_response_loop
@@ -702,7 +702,7 @@
 	fetch 2,mem_temp
 	store 2,mem_le_cur_handle_end
 	branch le_send_att_read_by_group_type_end_common
-le_send_att_read_by_group_type_end1:	//>att max list handle or diff len 
+le_send_att_read_by_group_type_end1:	//>att max list handle or diff len
 	fetch 2,mem_temp
 	increase -1,pdata
 	store 2,mem_le_cur_handle_end
@@ -786,7 +786,7 @@
 	fetch 2,mem_le_att_handle
 	istore 2,contw
 	fetch 2,mem_le_l2cap_size
-	add pdata,-5,loopcnt	
+	add pdata,-5,loopcnt
 	fetch 2,mem_le_payload_ptr
 	add pdata,7,contr
 	ifetch 2,contr		//offset
@@ -848,10 +848,10 @@
 
 ///////////////////////////ATT common function////////////////////////////////////
 
-le_send_att_error_response_notfound:	
+le_send_att_error_response_notfound:
 	bpatchx patch2b_4,mem_patch2b
 	jam ATT_ERR_ATTRIBUTE_NOT_FOUND,mem_le_err_code
-le_send_att_error_response:	
+le_send_att_error_response:
 	force 5,rega
 	call le_fifo_malloc_tx_l2cap_gatt
 	setarg ATTOP_ERROR_RESPONSE
@@ -961,14 +961,14 @@
 	bpatchx patch2c_3,mem_patch2c
 	call store_contr
 	arg mem_le_search_att_type_length,contw
-le_get_search_common:	
+le_get_search_common:
 	fetch 2,mem_le_l2cap_size
 	increase -5,pdata
-le_get_search_common2:		
+le_get_search_common2:
 	istore 1,contw
 	copy pdata,loopcnt
 	call get_contr
-	branch memcpy_fast	
+	branch memcpy_fast
 
 
 
Index: program/patch.prog
===================================================================
--- /1121s/branch/shutter/shutter_public/program/patch.prog	(revision 3984)
+++ /1121s/branch/shutter/shutter_public/program/patch.prog	(working copy)
@@ -1,5 +1,5 @@
 
-//define RAMCODE_SHUTTER
+define RAMCODE_SHUTTER
 // define ADC_1121SB
 ifdef ADC_1121SB
 //define ADC_1121SB_1V8_MODE
@@ -33,6 +33,7 @@
 	beq patch24_5,p_le_rx_dec
 	beq patch24_6,p_le_rx_nopayload
 	beq patch27_1,p_le_parse
+	beq patch27_2,p_le_parse_l2cap
 	beq patch27_7,p_le_lpm_set_mult
 	beq patch29_5,p_le_init_adv
 	rtneq patch3f_7
@@ -44,6 +45,56 @@
 	until null,lpo_edge
 	branch soft_reset+1
 
+p_le_parse_l2cap:
+	ifetch 2,contr
+	beq LE_L2CAP_CID_ATT,p_le_parse_att
+	beq LE_L2CAP_CID_SMP,le_parse_smp
+	beq LE_L2CAP_CID_SIGNAL,le_parse_signaling
+	rtn
+
+p_le_parse_att:
+	copy contr,rega
+	fetch 1,mem_device_option
+	beq DVC_OP_SHUTTER_DY,shutter_dy_le_parse_att
+	beq DVC_OP_KEYBOARD,keyboard_le_att_auto_reco_process
+	copy rega,contr
+	ifetch 3,contr
+	store 3,mem_le_att_opcode
+p_le_parse_att2:
+	beq ATTOP_READ_BLOB_REQUEST,p_le_parse_att_read_blob_request
+	branch le_parse_att2
+
+p_le_parse_att_read_blob_request:
+	ifetch 2,contr
+	store 2,mem_le_att_offset
+	iforce rega
+	fetcht 2,mem_le_att_handle
+	sub temp,0x07,null
+	branch p_shutter_readblob_name_fix,zero
+	branch le_send_att_read_blob_response:
+
+
+p_shutter_readblob_name_fix:
+	//call ice_break
+	arg mem_le_name_len,contr
+	ifetch 1,contr
+	isub rega,loopcnt
+	nbranch le_send_att_error_response_notfound,positive
+	call store_contr
+	call le_get_search_max_mtu_data
+	add loopcnt,1,temp
+	call not_greater_than
+	copy pdata,rega
+	copy pdata,regc
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BLOB_RESPONSE
+	istore 1,contw
+	add regc,-1,loopcnt
+	fetcht 2,mem_le_att_offset
+	call get_contr
+	iadd temp,contr
+	branch memcpy_fast
+
 p_aac_ghpc:
 	jam 0x30,0x8a20
 	jam 0xdd,0x8a23
@@ -61,10 +112,21 @@
 	bbit0 0,p_wait_cal_done
 	branch aac_ghpc+6
 
+p_le_lpm_lost:
+	fetch 1,mem_sniff_unint_lost
+	sub pdata,30,null
+	nbranch lpm_lost,positive
+	fetcht 2,mem_rx_window_sniff
+	lshift temp,temp
+	fetch 2,mem_le_receive_window
+	iadd temp,pdata
+	store 2,mem_le_receive_window
+	branch lpm_lost
+
 p_le_lpm_set_mult:
 	disable wake
 	branch p_le_lpm_set_mult_attempt,attempt
-	nbranch le_lpm_lost,match
+	nbranch p_le_lpm_lost,match
 p_le_lpm_set_mult_attempt:
 	call lpm_match
 	fetch 2,mem_rx_window_sniff
@@ -1039,14 +1101,14 @@
 	fetch 1,mem_shutter_count
 	increase 1,pdata
 	rtneq 0x02
-	store 1,mem_shutter_count	
+	store 1,mem_shutter_count
 	increase 1,rega
 	branch p_shutter_wake_gpio_next
 
 p_shutter_clear_long_sleep_mark:
 	set0 mark_shutter_long_sleep,mark
 	jam 1,mem_ui_led_struct_num
-	branch p_shutter_init_next	
+	branch p_shutter_init_next
 
 p_shutter_init:
 	call p_shutter_disable_gpio
@@ -1430,7 +1492,7 @@
 	jam ON,mem_le_adv_enable
 	set0 mark_shutter_long_sleep,mark
 	jam 1,mem_le_shutter_long_press_flag
-	branch p_ui_soft_switch_power_on	
+	branch p_ui_soft_switch_power_on
 
 p_ui_soft_switch_power_off:
 	jam 0,mem_shutter_conn_state_flag
Index: sched/shutter.dat
===================================================================
--- /1121s/branch/shutter/shutter_public/sched/shutter.dat	(revision 3984)
+++ /1121s/branch/shutter/shutter_public/sched/shutter.dat	(working copy)
@@ -2,17 +2,16 @@
 mem_ui_button_gpio:ff
 mem_otp_load_check_sum:5a
 
-mem_le_lap:3a 31 1f 98 07 2a
+mem_le_lap:4a 31 1f 98 07 2a
 mem_le_name_len:
-# 'AB Shutter3
-'Selfie
+#'AB Shutter3
+'Amgras Tripod P01 Pro
 
-# mem_shutter_key_conf0_temp:11 ff 90 00 11 #pcb2022-277
-mem_shutter_key_conf0_temp:11 05 90 01 11 #pcb2022-277
-mem_shutter_soft_switch_first_power_on:00
+mem_shutter_key_conf0_temp:11 ff 90 00 11 #pcb2022-277
+#mem_shutter_key_conf0_temp:11 05 90 01 11 #pcb2022-277
+mem_shutter_soft_switch_first_power_on:01
 
 mem_tx_power:05
-
 #mem_rf_debug_tx_gpio:83
 #mem_rf_debug_rx_gpio:89
 
