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(__PSVALUETITLES_H__)
18
#define __PSVALUETITLES_H__
19
 
20
#include <inttypes.h>
21
#include <avr/pgmspace.h>
22
#include <valuelist.h>
23
 
24
typedef uint8_t         VT_COMPQUALITY;
25
typedef uint8_t         VT_FVFILEFORMAT;    
26
typedef uint8_t         VT_IMAGESIZE;    
27
typedef uint8_t         VT_STROBE;
28
typedef uint8_t         VT_MODE;
29
typedef uint8_t         VT_APERTURE;
30
typedef uint8_t         VT_EZOOM;
31
typedef uint8_t         VT_WB;
32
typedef uint8_t         VT_SHSPEED;
33
typedef uint8_t         VT_ISO;
34
typedef uint8_t         VT_EXPCOMP;
35
typedef uint8_t         VT_CAMOUTPUT;
36
 
37
#define VT_COMPQUALITY_TEXT_LEN     6
38
#define VT_FVFILEFORMAT_TEXT_LEN    4
39
#define VT_IMAGESIZE_TEXT_LEN       6
40
#define VT_STROBE_TEXT_LEN          6
41
#define VT_MODE_TEXT_LEN            5
42
#define VT_APT_TEXT_LEN             4
43
#define VT_EZOOM_TEXT_LEN           4
44
#define VT_WB_TEXT_LEN              4
45
#define VT_SHSPEED_TEXT_LEN         5
46
#define VT_ISO_TEXT_LEN             5
47
#define VT_EXPCOMP_TEXT_LEN         7
48
#define VT_CAMOUTPUT_TEXT_LEN       4
49
 
50
 
51
const ValueTitle<VT_CAMOUTPUT, VT_CAMOUTPUT_TEXT_LEN> CamOutputTitles[] PROGMEM =
52
{
53
        {0x01{'L', 'C', 'D', 0 }     },        // LCD
54
        {0x02{'O', 'U', 'T', 0 }     },        // Video OUT
55
        {0x03{'O', 'f', 'f', 0 }     }         // Off
56
};
57
 
58
const ValueTitle<VT_COMPQUALITY, VT_COMPQUALITY_TEXT_LEN> CompQualityTitles[] PROGMEM =
59
{
60
        {0x00{'N', '/', 'D', 'e', 'f', 0 }   },              // Not Defined
61
        {0x01{'E', 'c', 'o', 'n', 'o', 0 }   },              // Econo
62
        {0x02{'N', 'o', 'r', 'm', 'l', 0 }   },              // Normal
63
        {0x03{'F', 'i', 'n', 'e', ' ', 0 }   },              // Fine
64
        {0x04{'L', 'o', 's', 's', 'l', 0 }   },              // Lossless
65
        {0x05{'S', 'u', 'p', 'e', 'r', 0 }   }               // Super Fine
66
};
67
 
68
const ValueTitle<VT_FVFILEFORMAT, VT_FVFILEFORMAT_TEXT_LEN> FullViewFileFormatTitles[] PROGMEM =
69
{
70
        {0x00{'N', '/', 'D', 0 }     },
71
        {0x01{'J', 'P', 'G', 0 }     },
72
        {0x02{'C', 'R', 'W', 0 }     }
73
};
74
 
75
const ValueTitle<VT_IMAGESIZE, VT_IMAGESIZE_TEXT_LEN> ImageSizeTitles[] PROGMEM =
76
{
77
        {0x00{'L', 'a', 'r', 'g', 'e', 0 }   },              // Large
78
        {0x01{'M', 'e', 'd', '-', '1', 0 }   },              // Medium 1
79
        {0x02{'S', 'm', 'a', 'l', 'l', 0 }   },              // Small
80
        {0x03{'M', 'e', 'd', '-', '2', 0 }   },              // Medium 2
81
        {0x07{'M', 'e', 'd', '-', '3', 0 }   }               // Medium 3
82
};
83
 
84
const ValueTitle<VT_STROBE, VT_STROBE_TEXT_LEN> StrobeTitles[] PROGMEM =
85
{
86
        {0x00{'O', 'f', 'f', ' ', ' ', 0 }   },              // Off
87
        {0x01{'A', 'u', 't', 'o', ' ', 0 }   },              // Auto
88
        {0x02{'O', 'n', ' ', ' ', ' ', 0 }   },              // On
89
        {0x03{'R', '/', 'E', 'y', 'e', 0 }   },      // Red Eye Suppression
90
        {0x04{'L', 'o', 'w', ' ', ' ', 0 }   },      // Low Speed Synchronization
91
        {0x05{'A', 'u', 't', 'R', 'E', 0 }   },      // Auto + Red Eye Suppression
92
        {0x06{'O', 'n', 'R', 'E', ' ', 0 }   }       // On + Red Eye Suppression
93
};
94
 
95
const ValueTitle<VT_MODE, VT_MODE_TEXT_LEN> ModeTitles[] PROGMEM =
96
{
97
        {0x00{'A','u','t','o',0} },          // Auto
98
        {0x01{'P',' ',' ',' ',0} },          // Program
99
        {0x02{'T','v',' ',' ',0} },          // Tv
100
        {0x03{'A','v',' ',' ',0} },          // Av
101
        {0x04{'M',' ',' ',' ',0} },          // Manual
102
        {0x05{'A','D','E','P',0} },          // A-DEP
103
        {0x05{'M','D','E','P',0} },          // M-DEP
104
        {0x06{'B','u','l','b',0} },          // Bulb
105
        {0x80{'C','a','m','M',0} },          // Camera M
106
        {0x81{'M','y','C','o',0} },          // My Color
107
        {0x82{'P','o','r','t',0} },          // Portrait
108
        {0x83{'L','a','n','d',0} },          // Landscape
109
        {0x84,  {'N','g','h','t',0} },          // Night Scene
110
        {0x85{'F','r','s','t',0} },          // Forest
111
        {0x86{'S','n','o','w',0} },          // Snow
112
        {0x87{'B','e','a','c',0} },          // Beach
113
        {0x88{'F','i','r','e',0} },          // Fireworks
114
        {0x89{'P','r','t','y',0} },          // Party
115
        {0x8A{'N','t','S','n',0} },          // Night Snap
116
        {0x8B{'S','t','c','h',0} },          // Stich
117
        {0x8C{'M','o','v',' ',0} },          // Movie
118
        {0x8D{'C','u','s','t',0} },          // Custom
119
        {0x8E{'I','n','t','r',0} },          // Interval
120
        {0x8F{'D','M','c','r',0} },          // Digital Macro
121
        {0x90{'L','g','S','h',0} },          // Long Shutter
122
        {0x91{'U','W','t','r',0} },          // Underwater
123
        {0x92{'K','i','d','s',0} },          // Kids And Pets
124
        {0x93{'F','t','S','h',0} },          // Fast Shutter
125
        {0x94{'S','l','S','h',0} },          // Slow Shutter 
126
        {0x95{'C','u','s','1',0} },          // Custom 1
127
        {0x96{'C','u','s','2',0} },          // Custom 2
128
        {0x97{'N','e','u','t',0} },          // Neutral
129
        {0x98{'G','r','a','y',0} },          // Gray
130
        {0x99{'S','e','p','i',0} },          // Sepia
131
        {0x9A{'V','i','v','d',0} },          // Vivid
132
        {0x9B{'S','p','r','t',0} },          // Sport
133
        {0x9C{'M','a','c','r',0} },          // Macro
134
        {0x9D{'S','M','a','c',0} },          // Super Macro
135
        {0x9E{'P','a','m','F',0} },          // Pan Focus
136
        {0x9F{'B','/','W',' ',0} },          // Black & White
137
        {0xA0{'I','n','h','b',0} }           // Flash Inhibit
138
};
139
 
140
const ValueTitle<VT_EZOOM, VT_EZOOM_TEXT_LEN> EZoomTitles[] PROGMEM =
141
{
142
        {0x00{'O', 'f', 'f', 0 }     },
143
        {0x01{'x', '2', ' ', 0 }     },
144
        {0x02{'x', '4', ' ', 0 }     },
145
        {0x03{'S', 't', 'h', 0 }     }
146
};
147
 
148
const ValueTitle<VT_WB, VT_WB_TEXT_LEN> WbTitles[] PROGMEM =
149
{
150
        {0,     {'A','W','B',0} },      // Auto
151
        {1,     {'D','a','y',0} },      // Daylight
152
        {2,     {'C','l','d',0} },      // Cloudy
153
        {3, {'T','n','g',0} },      // Tungsteen
154
        {4, {'F','l','r',0} },      // Fluorescent
155
        {6,     {'P','r','e',0} },      // Preset
156
        {7, {'F','/','H',0} },      // Fluorescent H
157
        {9,     {'T','m','p',0} },      // Color temperature
158
        {10,    {'P','C','1',0} },  // Custom White Balance PC-1
159
        {11,    {'P','C','2',0} },  // Custom White Balance PC-2
160
        {12,    {'P','C','3',0} },  // Custom White Balance PC-3
161
        {13,    {'M','i','s',0} },  // Missing number
162
        {14,    {'F','/','H',0} },  // Fluorescent H
163
        {0xFF{'I','n','v',0} }   // Invalid
164
};
165
 
166
const ValueTitle<VT_ISO, VT_ISO_TEXT_LEN> IsoTitles[] PROGMEM =
167
{
168
        {0x00{'A','u','t','o',0} },
169
        {0x28{'6',' ',' ',' ',0} },
170
        {0x30{'1','2',' ',' ',0} },
171
        {0x38{'2','5',' ',' ',0} },
172
        {0x40{'5','0',' ',' ',0} },
173
        {0x45{'8','0',' ',' ',0} },
174
        {0x48{'1','0','0',' ',0} },
175
        {0x4b{'1','2','5',' ',0} },
176
        {0x4d{'1','6','0',' ',0} },
177
        {0x50{'2','0','0',' ',0} },
178
        {0x53{'2','5','0',' ',0} },
179
        {0x55{'3','2','0',' ',0} },
180
        {0x58{'4','0','0',' ',0} },
181
        {0x5b{'5','0','0',' ',0} },
182
        {0x5d{'6','4','0',' ',0} },
183
        {0x60{'8','0','0',' ',0} },
184
        {0x63{'1','0','0','0',0} },
185
        {0x65{'1','2','5','0',0} },
186
        {0x68{'1','6','0','0',0} },
187
        {0x70{'3','2','0','0',0} },
188
        {0x78{'6','4','0','0',0} }
189
};
190
 
191
const ValueTitle<VT_APERTURE, VT_APT_TEXT_LEN> ApertureTitles[] PROGMEM =
192
{
193
        {0x00{' ', ' ', '0', 0 }     },
194
        {0x08{' ', ' ', '1', 0 } },
195
        {0x0B{'1', '.', '1', 0 }     },
196
        {0x0C{'1', '.', '2', 0 }     },
197
        {0x0D{'1', '.', '2', 0 }     },
198
        {0x10{'1', '.', '4', 0 }     },
199
        {0x13{'1', '.', '6', 0 }     },
200
        {0x14{'1', '.', '8', 0 }     },
201
        {0x15{'1', '.', '8', 0 }     },
202
        {0x18{'2', '.', '0', 0 }     },
203
        {0x1B{'2', '.', '2', 0 }     },
204
        {0x1C{'2', '.', '5', 0 }     },
205
        {0x1D{'2', '.', '5', 0 }     },
206
        {0x20{'2', '.', '8', 0 }     },
207
        {0x23{'3', '.', '2', 0 }     },
208
        {0x24{'3', '.', '5', 0 }     },
209
        {0x25{'3', '.', '5', 0 }     },
210
        {0x28{'4', '.', '0', 0 }     },
211
        {0x2B{'4', '.', '5', 0 }     },
212
        {0x2C{'4', '.', '5', 0 }     },
213
        {0x2D{'5', '.', '0', 0 }     },
214
        {0x30{'5', '.', '6', 0 }     },
215
        {0x33{'6', '.', '3', 0 }     },
216
        {0x34{'6', '.', '7', 0 }     },
217
        {0x35{'7', '.', '1', 0 }     },
218
        {0x38{'8', '.', '0', 0 }     },
219
        {0x3B{'9', '.', '0', 0 }     },
220
        {0x3C{'9', '.', '5', 0 }     },
221
        {0x3D{' ', '1', '0', 0 }     },
222
        {0x40{' ', '1', '1', 0 }     },
223
        {0x43{' ', '1', '3', 0 }     },
224
        {0x44{' ', '1', '3', 0 }     },
225
        {0x45{' ', '1', '4', 0 }     },
226
        {0x48{' ', '1', '6', 0 }     },
227
        {0x4B{' ', '1', '8', 0 }     },
228
        {0x4C{' ', '1', '9', 0 }     },
229
        {0x4D{' ', '2', '0', 0 }     },
230
        {0x50{' ', '2', '2', 0 }     },
231
        {0x53{' ', '2', '5', 0 }     },
232
        {0x54{' ', '2', '7', 0 }     },
233
        {0x55{' ', '2', '9', 0 }     },
234
        {0x58{' ', '3', '2', 0 }     },
235
        {0x5B{' ', '3', '6', 0 }     },
236
        {0x5C{' ', '3', '8', 0 }     },
237
        {0x5D{' ', '4', '0', 0 }     },
238
        {0x60{' ', '4', '5', 0 }     },
239
        {0x63{' ', '5', '1', 0 }     },
240
        {0x64{' ', '5', '4', 0 }     },
241
        {0x65{' ', '5', '7', 0 }     },
242
        {0x68{' ', '6', '4', 0 }     },
243
        {0x6B{' ', '7', '2', 0 }     },
244
        {0x6C{' ', '7', '6', 0 }     },
245
        {0x6D{' ', '8', '0', 0 }     },
246
        {0x70{' ', '9', '1', 0 }     }
247
};
248
 
249
const ValueTitle<VT_SHSPEED, VT_SHSPEED_TEXT_LEN> ShutterSpeedTitles[] PROGMEM =
250
{
251
        {0x0c{'B','u','l','b',0} },
252
        {0x10{' ','3','0','"',0} },
253
        {0x13{' ','2','5','"',0} },
254
        {0x14{' ','2','0','"',0} },
255
        {0x15{' ','2','0','"',0} },
256
        {0x18{' ','1','5','"',0} },
257
        {0x1B{' ','1','3','"',0} },
258
        {0x1C{' ','1','0','"',0} },
259
        {0x1D{' ','1','0','"',0} },
260
        {0x20{' ',' ','8','"',0} },
261
        {0x23{' ',' ','6','"',0} },
262
        {0x24{' ',' ','6','"',0} },
263
        {0x25{' ',' ','5','"',0} },
264
        {0x28{' ',' ','4','"',0} },
265
        {0x2B{' ','3','"','2',0} },
266
        {0x2C{' ',' ','3','"',0} },
267
        {0x2D{' ','2','"','5',0} },
268
        {0x30{' ',' ','2','"',0} },
269
        {0x33{' ','1','"','6',0} },
270
        {0x34{' ','1','"','5',0} },
271
        {0x35{' ','1','"','3',0} },
272
        {0x38{' ',' ','1','"',0} },
273
        {0x3B{' ','0','"','8',0} },
274
        {0x3C{' ','0','"','7',0} },
275
        {0x3D{' ','0','"','6',0} },
276
        {0x40{' ','0','"','5',0} },
277
        {0x43{' ','0','"','4',0} },
278
        {0x44{' ','0','"','3',0} },
279
        {0x45{' ','0','"','3',0} },
280
        {0x48{' ',' ',' ','4',0} },
281
        {0x4B{' ',' ',' ','5',0} },
282
        {0x4C{' ',' ',' ','6',0} },
283
        {0x4D{' ',' ',' ','6',0} },
284
        {0x50{' ',' ',' ','8',0} },
285
        {0x53{' ',' ','1','0',0} },
286
        {0x54{' ',' ','1','0',0} },
287
        {0x55{' ',' ','1','3',0} },
288
        {0x58{' ',' ','1','5',0} },
289
        {0x5B{' ',' ','2','0',0} },
290
        {0x5C{' ',' ','2','0',0} },
291
        {0x5D{' ',' ','2','5',0} },
292
        {0x60{' ',' ','3','0',0} },
293
        {0x63{' ',' ','4','0',0} },
294
        {0x64{' ',' ','4','5',0} },
295
        {0x65{' ',' ','5','0',0} },
296
        {0x68{' ',' ','6','0',0} },
297
        {0x6B{' ',' ','8','0',0} },
298
        {0x6C{' ',' ','9','0',0} },
299
        {0x6D{' ','1','0','0',0} },
300
        {0x70{' ','1','2','5',0} },
301
        {0x73{' ','1','6','0',0} },
302
        {0x74{' ','1','8','0',0} },
303
        {0x75{' ','2','0','0',0} },
304
        {0x78{' ','2','5','0',0} },
305
        {0x7B{' ','3','2','0',0} },
306
        {0x7C{' ','3','5','0',0} },
307
        {0x7D{' ','4','0','0',0} },
308
        {0x80{' ','5','0','0',0} },
309
        {0x83{' ','6','4','0',0} },
310
        {0x84{' ','7','5','0',0} },
311
        {0x85{' ','8','0','0',0} },
312
        {0x88{'1','0','0','0',0} },
313
        {0x8B{'1','2','5','0',0} },
314
        {0x8C{'1','5','0','0',0} },
315
        {0x8D{'1','6','0','0',0} },
316
        {0x90{'2','0','0','0',0} },
317
        {0x93{'2','5','0','0',0} },
318
        {0x94{'3','0','0','0',0} },
319
        {0x95{'3','2','0','0',0} },
320
        {0x98{'4','0','0','0',0} },
321
        {0x9B{'5','0','0','0',0} },
322
        {0x9C{'6','0','0','0',0} },
323
        {0x9D{'6','4','0','0',0} },
324
        {0xA0{'8','0','0','0',0} }
325
};
326
 
327
const ValueTitle<VT_EXPCOMP, VT_EXPCOMP_TEXT_LEN> ExpCompTitles[] PROGMEM =
328
{
329
        {0x00{'+','3',' ',' ',' ',' ',0} },                         
330
        {0x03{'+','2',' ','2','/','3',0} },                         
331
        {0x04{'+','2',' ','1','/','2',0} },                         
332
        {0x05{'+','2',' ','1','/','3',0} },                         
333
        {0x08{'+','2',' ',' ',' ',' ',0} },                         
334
        {0x0b{'+','1',' ','2','/','3',0} },                         
335
        {0x0c{'+','1',' ','1','/','2',0} },                         
336
        {0x0d{'+','1',' ','1','/','3',0} },                         
337
        {0x10{'+','1',' ',' ',' ',' ',0} },                         
338
        {0x13{'+','2','/','3',' ',' ',0} },                         
339
        {0x14{'+','1','/','2',' ',' ',0} },                         
340
        {0x15{'+','1','/','3',' ',' ',0} },                         
341
        {0x18{'0',' ',' ',' ',' ',' ',0} },                         
342
        {0x1b{'-','1','/','3',' ',' ',0} },                         
343
        {0x1c{'-','1','/','2',' ',' ',0} },                         
344
        {0x1d{'-','2','/','3',' ',' ',0} },                         
345
        {0x20{'-','1',' ',' ',' ',' ',0} },                         
346
        {0x23{'-','1',' ','1','/','3',0} },                         
347
        {0x24{'-','1',' ','1','/','2',0} },                         
348
        {0x25{'-','1',' ','2','/','3',0} },                         
349
        {0x28{'-','2',' ',' ',' ',' ',0} },                         
350
        {0x2b{'-','2',' ','1','/','3',0} },                         
351
        {0x2c{'-','2',' ','1','/','2',0} },                         
352
        {0x2d{'-','2',' ','2','/','3',0} },                         
353
        {0x30{'-','3',' ',' ',' ',' ',0} }
354
};
355
 
356
#define VT_COMPQUALITY_COUNT     sizeof(CompQualityTitles)      / (sizeof(VT_COMPQUALITY)       + VT_COMPQUALITY_TEXT_LEN)
357
#define VT_FVFILEFORMAT_COUNT    sizeof(FvFileFormatTitles) / (sizeof(VT_FVFILEFORMAT)  + VT_FVFILEFORMAT_TEXT_LEN)
358
#define VT_IMAGESIZE_COUNT       sizeof(ImageSizeTitles)        / (sizeof(VT_IMAGESIZE)         + VT_IMAGESIZE_TEXT_LEN)
359
#define VT_STROBE_COUNT          sizeof(StrobeTitles)           / (sizeof(VT_STROBE)            + VT_STROBE_TEXT_LEN)
360
#define VT_MODE_COUNT            sizeof(ModeTitles)                     / (sizeof(VT_MODE)                      + VT_MODE_TEXT_LEN)
361
#define VT_APT_COUNT             sizeof(ApertureTitles)         / (sizeof(VT_APERTURE)          + VT_APT_TEXT_LEN)
362
#define VT_EZOOM_COUNT           sizeof(EZoomTitles)            / (sizeof(VT_EZOOM)                     + VT_EZOOM_TEXT_LEN)
363
#define VT_WB_COUNT              sizeof(WbTitles)                       / (sizeof(VT_WB)                        + VT_WB_TEXT_LEN)
364
#define VT_SHSPEED_COUNT         sizeof(ShutterSpeedTitles) / (sizeof(VT_SHSPEED)               + VT_SHSPEED_TEXT_LEN)
365
#define VT_ISO_COUNT             sizeof(IsoTitles)                      / (sizeof(VT_ISO)                       + VT_ISO_TEXT_LEN)
366
#define VT_EXPCOMP_COUNT         sizeof(ExpCompTitles)          / (sizeof(VT_EXPCOMP)           + VT_EXPCOMP_TEXT_LEN)
367
#define VT_CAMOUTPUT_COUNT       sizeof(CamOutputTitles)        / (sizeof(VT_CAMOUTPUT)         + VT_CAMOUTPUT_TEXT_LEN)
368
 
369
#endif //__PSVALUETITLES_H__