source: branches/release-1_0/platform/a420/shooting.c @ 1735

Revision 1735, 4.3 KB checked in by reyalp, 14 months ago (diff)

set props on a420

  • Property svn:eol-style set to native
Line 
1#define PARAM_FILE_COUNTER      0x34 //correct, according to the debug display
2#define PARAM_EXPOSURE_COUNTER  0x01 //params start at 0, this is the second one
3
4#include "platform.h"
5
6const ApertureSize aperture_sizes_table[] = {
7    {  9, 288, "2.8" },
8    { 10, 302, "3.2" },
9    { 11, 318, "3.5" },
10    { 12, 339, "3.5" },
11    { 13, 363, "4.0" },
12    { 14, 390, "4.5" },
13    { 15, 420, "5.1" },
14    { 16, 453, "8.0 ND" },
15    { 17, 470, "9.0 ND" },
16    { 18, 489, "10.0 ND" },
17    { 19, 514, "10.0 ND" },
18    { 20, 540, "11.0 ND" },
19    { 21, 569, "13.0 ND" },
20    { 22, 601, "16.0 ND" },
21};
22
23const ShutterSpeed shutter_speeds_table[] = {
24    { -12, -384, "15", 15000000 },
25    { -11, -352, "13", 13000000 },
26    { -10, -320, "10", 10000000 },
27    {  -9, -288, "8",   8000000 },
28    {  -8, -256, "6",   6000000 },
29    {  -7, -224, "5",   5000000 },
30    {  -6, -192, "4",   4000000 },
31    {  -5, -160, "3.2", 3200000 },
32    {  -4, -128, "2.5", 2500000 },
33    {  -3,  -96, "2",   2000000 },
34    {  -2,  -64, "1.6", 1600000 },
35    {  -1,  -32, "1.3", 1300000 },
36    {   0,    0, "1",   1000000 },
37    {   1,   32, "0.8",  800000 },
38    {   2,   64, "0.6",  600000 },
39    {   3,   96, "0.5",  500000 },
40    {   4,  128, "0.4",  400000 },
41    {   5,  160, "0.3",  300000 },
42    {   6,  192, "1/4",  250000 },
43    {   7,  224, "1/5",  200000 },
44    {   8,  256, "1/6",  166667 },
45    {   9,  288, "1/8",  125000 },
46    {  10,  320, "1/10", 100000 },
47    {  11,  352, "1/13",  76923 },
48    {  12,  384, "1/15",  66667 },
49    {  13,  416, "1/20",  50000 },
50    {  14,  448, "1/25",  40000 },
51    {  15,  480, "1/30",  33333 },
52    {  16,  512, "1/40",  25000 },
53    {  17,  544, "1/50",  20000 },
54    {  18,  576, "1/60",  16667 },
55    {  19,  608, "1/80",  12500 },
56    {  20,  640, "1/100", 10000 },
57    {  21,  672, "1/125",  8000 },
58    {  22,  704, "1/160",  6250 },
59    {  23,  736, "1/200",  5000 },
60    {  24,  768, "1/250",  4000 },
61    {  25,  800, "1/320",  3125 },
62    {  26,  832, "1/400",  2500 },
63    {  27,  864, "1/500",  2000 },
64    {  28,  896, "1/640",  1563 },
65    {  29,  928, "1/800",  1250 },
66    {  30,  960, "1/1000", 1000 },
67    {  31,  992, "1/1250",  800 },
68    {  32, 1021, "1/1600",  625 },
69    {  33, 1053, "1/2000",  500 },
70};
71
72const ISOTable iso_table[] = {
73    {  0,    0, "Auto", -1},
74    {  1,   64,   "64", -1},
75    {  2,  100,  "100", -1},
76    {  3,  200,  "200", -1},
77    {  4,  400,  "400", -1},
78};
79
80/*
81canon mode list ffd38ba0 in a420 100b
82*/         
83static const CapturemodeMap modemap[] = {
84//    { MODE_M,                  32769 },
85    { MODE_P,                  0x8004 },
86    { MODE_AUTO,               0x8000 },
87    { MODE_PORTRAIT,           0x400c },
88    { MODE_STITCH,             0x8209 },
89    { MODE_SCN_NIGHT_SNAPSHOT, 0x400a }, // "night snapshot"
90    { MODE_SCN_KIDS_PETS,      0x400e }, // "kids and pets"
91    { MODE_SCN_INDOOR,         0x400f }, // "indoor"
92    { MODE_SCN_FOLIAGE,        0x4010 }, // "foliage"
93    { MODE_SCN_SNOW,           0x4011 }, // "snow"
94    { MODE_SCN_BEACH,          0x4012 }, // "beach"
95    { MODE_SCN_FIREWORK,       0x4013 }, // "fireworks"
96    { MODE_SCN_COLOR_ACCENT,   0x8217 }, // "color accent"
97    { MODE_SCN_COLOR_SWAP,     0x8218 }, // "color swap"
98    { MODE_VIDEO_STD,          0xe1d  }, // from propcase 0, no distinction of movie modes here
99    { MODE_SUPER_MACRO,        0x8208 }  // "super macro"
100//    { MODE_VIDEO_SPEED,        2594  }, // "fast frame rate"
101//    { MODE_VIDEO_COMPACT,      3613  }, // "compact"
102//    { MODE_VIDEO_COLOR_ACCENT, 3613  }, // "color accent"
103//    { MODE_VIDEO_COLOR_SWAP,   3613  }, // "color swap"
104/*
105other values from the modemap that cause crash when trying to set
1060x0e1f //crashes...
1070x0e1e //crashes...
1080x0e22 //crashes...
1090x0e20 //crashes...
1100x0000 //crashes, may not be a mode
1110xffff //crashes, may not be a mode
112
1130xe1d is not in the modemap table...
114
115*/
116};
117#include "../generic/shooting.c"
118
119/*long get_file_next_counter() {
120    return get_file_counter();
121}*/
122
123long get_file_next_counter() { //looks like this hack is needed for old vxworks
124    return ((get_file_counter()>>4)+1)<<4;
125}
126
127long get_target_file_num() {
128    long n;
129   
130    n = get_file_next_counter();
131    n = (n>>4)&0x3FFF;
132    return n;
133}
134
135long get_target_dir_num() {
136    long n;
137   
138    n = get_file_next_counter();
139    n = (n>>18)&0x3FF;
140    return n;
141}
142
143int circle_of_confusion = 5;
Note: See TracBrowser for help on using the repository browser.