Subversion Repositories Projects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1702 - 1
/* Copyright (C) 2010-2011 Circuits At Home, LTD. All rights reserved.
2
 
3
This software may be distributed and modified under the terms of the GNU
4
General Public License version 2 (GPL2) as published by the Free Software
5
Foundation and appearing in the file GPL2.TXT included in the packaging of
6
this file. Please note that GPL2 Section 2[b] requires that all works based
7
on this software must also be made publicly available under the terms of
8
the GPL2 ("Copyleft").
9
 
10
Contact information
11
-------------------
12
 
13
Circuits At Home, LTD
14
Web      :  http://www.circuitsathome.com
15
e-mail   :  support@circuitsathome.com
16
*/
17
#if !defined(__EOSVALUETITLES_H__)
18
#define __EOSVALUETITLES_H__
19
 
20
#include <inttypes.h>
21
#include <avr/pgmspace.h>
22
#include <valuelist.h>
23
 
24
typedef uint8_t    VT_APERTURE;
25
typedef uint8_t    VT_MODE;
26
typedef uint8_t    VT_WB;
27
typedef uint8_t    VT_SHSPEED;
28
typedef uint8_t    VT_PSTYLE;
29
typedef uint8_t    VT_ISO;
30
typedef uint8_t    VT_EXPCOMP;
31
 
32
#define VT_MODE_TEXT_LEN          4
33
#define VT_WB_TEXT_LEN            4
34
#define VT_SHSPEED_TEXT_LEN       5
35
#define VT_PSTYLE_TEXT_LEN        4
36
#define VT_ISO_TEXT_LEN           5
37
#define VT_EXPCOMP_TEXT_LEN       7
38
#define VT_APT_TEXT_LEN           4
39
 
40
const ValueTitle<VT_APERTURE, VT_APT_TEXT_LEN> ApertureTitles[] PROGMEM =
41
{
42
        {0x00{' ', ' ', '0', 0 }     },
43
        {0x08{' ', ' ', '1', 0 } },
44
        {0x0B{'1', '.', '1', 0 }     },
45
        {0x0C{'1', '.', '2', 0 }     },
46
        {0x0D{'1', '.', '2', 0 }     },
47
        {0x10{'1', '.', '4', 0 }     },
48
        {0x13{'1', '.', '6', 0 }     },
49
        {0x14{'1', '.', '8', 0 }     },
50
        {0x15{'1', '.', '8', 0 }     },
51
        {0x18{'2', '.', '0', 0 }     },
52
        {0x1B{'2', '.', '2', 0 }     },
53
        {0x1C{'2', '.', '5', 0 }     },
54
        {0x1D{'2', '.', '5', 0 }     },
55
        {0x20{'2', '.', '8', 0 }     },
56
        {0x23{'3', '.', '2', 0 }     },
57
        {0x24{'3', '.', '5', 0 }     },
58
        {0x25{'3', '.', '5', 0 }     },
59
        {0x28{'4', '.', '0', 0 }     },
60
        {0x2B{'4', '.', '5', 0 }     },
61
        {0x2C{'4', '.', '5', 0 }     },
62
        {0x2D{'5', '.', '0', 0 }     },
63
        {0x30{'5', '.', '6', 0 }     },
64
        {0x33{'6', '.', '3', 0 }     },
65
        {0x34{'6', '.', '7', 0 }     },
66
        {0x35{'7', '.', '1', 0 }     },
67
        {0x38{'8', '.', '0', 0 }     },
68
        {0x3B{'9', '.', '0', 0 }     },
69
        {0x3C{'9', '.', '5', 0 }     },
70
        {0x3D{' ', '1', '0', 0 }     },
71
        {0x40{' ', '1', '1', 0 }     },
72
        {0x43{' ', '1', '3', 0 }     },
73
        {0x44{' ', '1', '3', 0 }     },
74
        {0x45{' ', '1', '4', 0 }     },
75
        {0x48{' ', '1', '6', 0 }     },
76
        {0x4B{' ', '1', '8', 0 }     },
77
        {0x4C{' ', '1', '9', 0 }     },
78
        {0x4D{' ', '2', '0', 0 }     },
79
        {0x50{' ', '2', '2', 0 }     },
80
        {0x53{' ', '2', '5', 0 }     },
81
        {0x54{' ', '2', '7', 0 }     },
82
        {0x55{' ', '2', '9', 0 }     },
83
        {0x58{' ', '3', '2', 0 }     },
84
        {0x5B{' ', '3', '6', 0 }     },
85
        {0x5C{' ', '3', '8', 0 }     },
86
        {0x5D{' ', '4', '0', 0 }     },
87
        {0x60{' ', '4', '5', 0 }     },
88
        {0x63{' ', '5', '1', 0 }     },
89
        {0x64{' ', '5', '4', 0 }     },
90
        {0x65{' ', '5', '7', 0 }     },
91
        {0x68{' ', '6', '4', 0 }     },
92
        {0x6B{' ', '7', '2', 0 }     },
93
        {0x6C{' ', '7', '6', 0 }     },
94
        {0x6D{' ', '8', '0', 0 }     },
95
        {0x70{' ', '9', '1', 0 }     }
96
};
97
 
98
const ValueTitle<VT_SHSPEED, VT_SHSPEED_TEXT_LEN> ShutterSpeedTitles[] PROGMEM =
99
{
100
        {0x0c{'B','u','l','b',0} },
101
        {0x10{' ','3','0','"',0} },
102
        {0x13{' ','2','5','"',0} },
103
        {0x14{' ','2','0','"',0} },
104
        {0x15{' ','2','0','"',0} },
105
        {0x18{' ','1','5','"',0} },
106
        {0x1B{' ','1','3','"',0} },
107
        {0x1C{' ','1','0','"',0} },
108
        {0x1D{' ','1','0','"',0} },
109
        {0x20{' ',' ','8','"',0} },
110
        {0x23{' ',' ','6','"',0} },
111
        {0x24{' ',' ','6','"',0} },
112
        {0x25{' ',' ','5','"',0} },
113
        {0x28{' ',' ','4','"',0} },
114
        {0x2B{' ','3','"','2',0} },
115
        {0x2C{' ',' ','3','"',0} },
116
        {0x2D{' ','2','"','5',0} },
117
        {0x30{' ',' ','2','"',0} },
118
        {0x33{' ','1','"','6',0} },
119
        {0x34{' ','1','"','5',0} },
120
        {0x35{' ','1','"','3',0} },
121
        {0x38{' ',' ','1','"',0} },
122
        {0x3B{' ','0','"','8',0} },
123
        {0x3C{' ','0','"','7',0} },
124
        {0x3D{' ','0','"','6',0} },
125
        {0x40{' ','0','"','5',0} },
126
        {0x43{' ','0','"','4',0} },
127
        {0x44{' ','0','"','3',0} },
128
        {0x45{' ','0','"','3',0} },
129
        {0x48{' ',' ',' ','4',0} },
130
        {0x4B{' ',' ',' ','5',0} },
131
        {0x4C{' ',' ',' ','6',0} },
132
        {0x4D{' ',' ',' ','6',0} },
133
        {0x50{' ',' ',' ','8',0} },
134
        {0x53{' ',' ','1','0',0} },
135
        {0x54{' ',' ','1','0',0} },
136
        {0x55{' ',' ','1','3',0} },
137
        {0x58{' ',' ','1','5',0} },
138
        {0x5B{' ',' ','2','0',0} },
139
        {0x5C{' ',' ','2','0',0} },
140
        {0x5D{' ',' ','2','5',0} },
141
        {0x60{' ',' ','3','0',0} },
142
        {0x63{' ',' ','4','0',0} },
143
        {0x64{' ',' ','4','5',0} },
144
        {0x65{' ',' ','5','0',0} },
145
        {0x68{' ',' ','6','0',0} },
146
        {0x6B{' ',' ','8','0',0} },
147
        {0x6C{' ',' ','9','0',0} },
148
        {0x6D{' ','1','0','0',0} },
149
        {0x70{' ','1','2','5',0} },
150
        {0x73{' ','1','6','0',0} },
151
        {0x74{' ','1','8','0',0} },
152
        {0x75{' ','2','0','0',0} },
153
        {0x78{' ','2','5','0',0} },
154
        {0x7B{' ','3','2','0',0} },
155
        {0x7C{' ','3','5','0',0} },
156
        {0x7D{' ','4','0','0',0} },
157
        {0x80{' ','5','0','0',0} },
158
        {0x83{' ','6','4','0',0} },
159
        {0x84{' ','7','5','0',0} },
160
        {0x85{' ','8','0','0',0} },
161
        {0x88{'1','0','0','0',0} },
162
        {0x8B{'1','2','5','0',0} },
163
        {0x8C{'1','5','0','0',0} },
164
        {0x8D{'1','6','0','0',0} },
165
        {0x90{'2','0','0','0',0} },
166
        {0x93{'2','5','0','0',0} },
167
        {0x94{'3','0','0','0',0} },
168
        {0x95{'3','2','0','0',0} },
169
        {0x98{'4','0','0','0',0} },
170
        {0x9B{'5','0','0','0',0} },
171
        {0x9C{'6','0','0','0',0} },
172
        {0x9D{'6','4','0','0',0} },
173
        {0xA0{'8','0','0','0',0} }
174
};
175
 
176
const ValueTitle<VT_ISO, VT_ISO_TEXT_LEN> IsoTitles[] PROGMEM =
177
{
178
        {0x28{'6',' ',' ',' ',0} },
179
        {0x30{'1','2',' ',' ',0} },
180
        {0x38{'2','5',' ',' ',0} },
181
        {0x40{'5','0',' ',' ',0} },
182
        {0x48{'1','0','0',' ',0} },
183
        {0x4b{'1','2','5',' ',0} },
184
        {0x4d{'1','6','0',' ',0} },
185
        {0x50{'2','0','0',' ',0} },
186
        {0x53{'2','5','0',' ',0} },
187
        {0x55{'3','2','0',' ',0} },
188
        {0x58{'4','0','0',' ',0} },
189
        {0x5b{'5','0','0',' ',0} },
190
        {0x5d{'6','4','0',' ',0} },
191
        {0x60{'8','0','0',' ',0} },
192
        {0x63{'1','0','0','0',0} },
193
        {0x65{'1','2','5','0',0} },
194
        {0x68{'1','6','0','0',0} },
195
        {0x70{'3','2','0','0',0} },
196
        {0x78{'6','4','0','0',0} }
197
};
198
 
199
// Exposure Compensation Title Array
200
const ValueTitle<VT_EXPCOMP, VT_EXPCOMP_TEXT_LEN> ExpCompTitles[] PROGMEM =
201
{
202
        {0x28{'+','5',' ',' ',' ',' ',0} },                         
203
        {0x25{'+','4',' ','2','/','3',0} },                         
204
        {0x23{'+','4',' ','1','/','3',0} },                         
205
        {0x20{'+','4',' ',' ',' ',' ',0} },                         
206
        {0x1d{'+','3',' ','2','/','3',0} },                         
207
        {0x1b{'+','3',' ','1','/','3',0} },                         
208
        {0x18{'+','3',' ',' ',' ',' ',0} },                         
209
        {0x15{'+','2',' ','2','/','3',0} },                         
210
        {0x14{'+','2',' ','1','/','2',0} },                         
211
        {0x13{'+','2',' ','1','/','3',0} },                         
212
        {0x10{'+','2',' ',' ',' ',' ',0} },                         
213
        {0x0d{'+','1',' ','2','/','3',0} },                         
214
        {0x0c{'+','1',' ','1','/','2',0} },                         
215
        {0x0b{'+','1',' ','1','/','3',0} },                         
216
        {0x08{'+','1',' ',' ',' ',' ',0} },                         
217
        {0x05{'+','2','/','3',' ',' ',0} },                         
218
        {0x04{'+','1','/','2',' ',' ',0} },                         
219
        {0x03{'+','1','/','3',' ',' ',0} },                         
220
        {0x00{'0',' ',' ',' ',' ',' ',0} },                         
221
        {0xfd{'-','1','/','3',' ',' ',0} },                         
222
        {0xfc{'-','1','/','2',' ',' ',0} },                         
223
        {0xfb{'-','2','/','3',' ',' ',0} },                         
224
        {0xf8{'-','1',' ',' ',' ',' ',0} },                         
225
        {0xf5{'-','1',' ','1','/','3',0} },                         
226
        {0xf4{'-','1',' ','1','/','2',0} },                         
227
        {0xf3{'-','1',' ','2','/','3',0} },                         
228
        {0xf0{'-','2',' ',' ',' ',' ',0} },                         
229
        {0xed{'-','2',' ','1','/','3',0} },                         
230
        {0xec{'-','2',' ','1','/','2',0} },                         
231
        {0xeb{'-','2',' ','2','/','3',0} },                         
232
        {0xe8{'-','3',' ',' ',' ',' ',0} },                 
233
        {0xe5{'-','3',' ','1','/','3',0} },                 
234
        {0xe3{'-','3',' ','2','/','3',0} },                 
235
        {0xe0{'-','4',' ',' ',' ',' ',0} },                 
236
        {0xdd{'-','4',' ','1','/','3',0} },                 
237
        {0xdb{'-','3',' ','2','/','3',0} },                 
238
        {0xd8{'-','5',' ',' ',' ',' ',0} }                  
239
};
240
 
241
// Shooting Mode Title Array
242
const ValueTitle<VT_MODE, VT_MODE_TEXT_LEN> ModeTitles[] PROGMEM =
243
{
244
        {0,     {'P',' ',' ',0} },            // Program
245
        {1,     {'T','v',' ',0} },            // Tv
246
        {2,     {'A','v',' ',0} },            // Av
247
        {3,     {'M',' ',' ',0} },            // Manual
248
        {4,     {'B','l','b',0} },            // Bulb
249
        {5,     {'A','-','D',0} },            // A-DEP
250
        {6,     {'D','E','P',0} },            // DEP
251
        {7,     {'C',' ',' ',0} },            // Custom
252
        {8,     {'L','c','k',0} },            // Lock
253
        {9,     {'G','r','n',0} },            // Green (Fully Automatic Mode)
254
        {10,{'N','g','h',0} },            // Night Portrait
255
        {11,{'S','p','r',0} },            // Sports
256
        {13,{'L','n','d',0} },            // Landscape
257
        {14,{'C','l','s',0} },            // Closeup
258
        {15,{'N','/','F',0} }             // No Flash
259
};
260
 
261
// White Balance Title Array
262
const ValueTitle<VT_WB, VT_WB_TEXT_LEN> WbTitles[] PROGMEM =
263
{
264
        {0,     {'A','W','B',0} },            // Auto White Balance
265
        {1,     {'D','a','y',0} },            // Daylight
266
        {2,     {'C','l','d',0} },            // Clouds
267
        {3, {'T','n','g',0} },            // Tungsteen
268
        {4, {'F','l','r',0} },            // Fluoriscent
269
        {5,     {'S','t','r',0} },            // Strobe
270
        {6, {'W','/','P',0} },            // White Paper
271
        {8,     {'S','h','d',0} }             // Shade
272
};
273
 
274
// Picture Style Title Array
275
const ValueTitle<VT_PSTYLE, VT_PSTYLE_TEXT_LEN> PStyleTitles[] PROGMEM =
276
{
277
        {0x21{'U','s','1',0} },            // User 1
278
        {0x22{'U','s','2',0} },            // User 2
279
        {0x23{'U','s','3',0} },            // User 3
280
        {0x81,  {'S','t','d',0} },            // Standard
281
        {0x82,  {'P','r','t',0} },            // Portrait
282
        {0x83,  {'L','n','d',0} },            // Landscape
283
        {0x84{'N','t','l',0} },            // Neutral
284
        {0x85,  {'F','t','h',0} },            // Faithful
285
        {0x86{'M','o','n',0} }             // Monochrome
286
};
287
 
288
#define VT_APT_COUNT             sizeof(ApertureTitles)     / (sizeof(VT_APERTURE)   + VT_APT_TEXT_LEN)
289
#define VT_MODE_COUNT            sizeof(ModeTitles)         / (sizeof(VT_MODE)       + VT_MODE_TEXT_LEN)
290
#define VT_WB_COUNT              sizeof(WbTitles)           / (sizeof(VT_WB)         + VT_WB_TEXT_LEN)
291
#define VT_SHSPEED_COUNT         sizeof(ShutterSpeedTitles) / (sizeof(VT_SHSPEED)    + VT_SHSPEED_TEXT_LEN)
292
#define VT_PSTYLE_COUNT          sizeof(PStyleTitles)       / (sizeof(VT_PSTYLE)     + VT_PSTYLE_TEXT_LEN)
293
#define VT_ISO_COUNT             sizeof(IsoTitles)          / (sizeof(VT_ISO)        + VT_ISO_TEXT_LEN)
294
#define VT_EXPCOMP_COUNT         sizeof(ExpCompTitles)      / (sizeof(VT_EXPCOMP)    + VT_EXPCOMP_TEXT_LEN)
295
 
296
#endif // __EOSVALUETITLES_H__