source: trunk/platform/ixus120_sd940/main.c @ 665

Revision 665, 1.2 KB checked in by msl, 2 years ago (diff)

Aktualisierung auf Rev. 1177 offizieller Trunk

Line 
1#include "lolevel.h"
2#include "platform.h"
3#include "core.h"
4#include "keyboard.h"
5
6
7extern long link_bss_start;
8extern long link_bss_end;
9extern void boot();
10
11
12void startup()
13{
14        long *bss = &link_bss_start;
15        long *ptr;
16
17        // sanity check
18        if ((long)&link_bss_end > (MEMISOSTART + MEMISOSIZE)){
19                started();
20                shutdown();
21        }
22
23        // initialize .bss senment
24        while (bss<&link_bss_end)
25                *bss++ = 0;
26
27        boot();
28}
29
30
31
32static const int fl_tbl[] = {4000, 5000, 6000, 7000, 8000, 9000, 11000, 13000,15000,18000,22000};
33#define NUM_FL (sizeof(fl_tbl)/sizeof(fl_tbl[0]))
34// SD980 focal length range is 4 - 22 mm
35// So, CF_EFL = 22/4*10000=55000
36#define CF_EFL 55000
37
38const int zoom_points = NUM_FL;
39
40int get_effective_focal_length(int zp) {
41    return (CF_EFL*get_focal_length(zp))/10000;
42}
43
44int get_focal_length(int zp) {
45    if (zp<0) return fl_tbl[0];
46    else if (zp>NUM_FL-1) return fl_tbl[NUM_FL-1];
47    else return fl_tbl[zp];
48}
49
50int get_zoom_x(int zp) {
51    if (zp<1) return 10;
52    else if (zp>NUM_FL-1) return fl_tbl[NUM_FL-1]*10/fl_tbl[0];
53    else return fl_tbl[zp]*10/fl_tbl[0];
54}
55
56long get_vbatt_min()
57{
58        return 3300;
59}
60
61long get_vbatt_max()
62{
63        return 4150;
64}
65
Note: See TracBrowser for help on using the repository browser.