root/platform/sx230hs/shooting.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. get_file_next_counter
  2. get_target_file_num
  3. get_target_dir_num
  4. get_target_dir_name

   1 #include "lolevel.h"
   2 #include "platform.h"
   3 #include "core.h"
   4 #include "conf.h"
   5 #include "keyboard.h"
   6 
   7 #define PARAM_FILE_COUNTER      0x3B
   8 #define PARAM_EXPOSURE_COUNTER  0x02
   9 
  10 //No zoom 3.1 3.5 4.0 4.5 5.0 5.6 6.3 7.1 8.0
  11 //maz zoom 5.9 7.1 8.0
  12 
  13 const ApertureSize aperture_sizes_table[] = {
  14     {  9, 322, "3.1" },
  15     { 10, 352, "3.5" },
  16     { 11, 384, "4.0" },
  17     { 12, 416, "4.5" },
  18     { 13, 448, "5.0" },
  19     { 14, 480, "5.6" },
  20     { 15, 512, "6.3" },
  21     { 16, 544, "7.1" },
  22     { 17, 576, "8.0" }
  23 };
  24 
  25 const ShutterSpeed shutter_speeds_table[] = {
  26     { -12, -384, "15", 15000000 },
  27     { -11, -352, "13", 13000000 },
  28     { -10, -320, "10", 10000000 },
  29     {  -9, -288, "8",   8000000 },
  30     {  -8, -256, "6",   6000000 },
  31     {  -7, -224, "5",   5000000 },
  32     {  -6, -192, "4",   4000000 },
  33     {  -5, -160, "3.2", 3200000 },
  34     {  -4, -128, "2.5", 2500000 },
  35     {  -3,  -96, "2",   2000000 },
  36     {  -2,  -64, "1.6", 1600000 },
  37     {  -1,  -32, "1.3", 1300000 },
  38     {   0,    0, "1",   1000000 },
  39     {   1,   32, "0.8",  800000 },
  40     {   2,   64, "0.6",  600000 },
  41     {   3,   96, "0.5",  500000 },
  42     {   4,  128, "0.4",  400000 },
  43     {   5,  160, "0.3",  300000 },
  44     {   6,  192, "1/4",  250000 },
  45     {   7,  224, "1/5",  200000 },
  46     {   8,  256, "1/6",  166667 },
  47     {   9,  288, "1/8",  125000 },
  48     {  10,  320, "1/10", 100000 },
  49     {  11,  352, "1/13",  76923 },
  50     {  12,  384, "1/15",  66667 },
  51     {  13,  416, "1/20",  50000 },
  52     {  14,  448, "1/25",  40000 },
  53     {  15,  480, "1/30",  33333 },
  54     {  16,  512, "1/40",  25000 },
  55     {  17,  544, "1/50",  20000 },
  56     {  18,  576, "1/60",  16667 },
  57     {  19,  608, "1/80",  12500 },
  58     {  20,  640, "1/100", 10000 },
  59     {  21,  672, "1/125",  8000 },
  60     {  22,  704, "1/160",  6250 },
  61     {  23,  736, "1/200",  5000 },
  62     {  24,  768, "1/250",  4000 },
  63     {  25,  800, "1/320",  3125 },
  64     {  26,  832, "1/400",  2500 },
  65     {  27,  864, "1/500",  2000 },
  66     {  28,  896, "1/640",  1563 },
  67     {  29,  928, "1/800",  1250 },
  68     {  30,  960, "1/1000", 1000 },
  69     {  31,  992, "1/1250",  800 },
  70     {  32, 1024, "1/1600",  625 },
  71     {  33, 1056, "1/2000",  500 },
  72     {  34, 1088, "1/2500",  400 },
  73     {  35, 1120, "1/3200",  313 },
  74 };
  75 
  76 const ISOTable iso_table[] = {
  77     {  0,    0, "Auto", -1},
  78     {  1,  100,  "100", -1},
  79     {  2,  200,  "200", -1},
  80     {  3,  400,  "400", -1},
  81     {  4,  800,  "800", -1},
  82     {  5, 1600, "1600", -1},
  83     {  6, 3200, "3200", -1},
  84 };
  85 
  86 /*
  87 http://www.usa.canon.com/cusa/support/consumer/digital_cameras/other_powershot/powershot_sx230_is#Specifications
  88 Shooting Modes
  89     M, Av, Tv, P, Auto, Easy, Movie Digest, Portrait, Landscape, Kids & Pets, SCN, Creative Filter, Movie
  90 
  91 Movie: High Definition: 1280 x 720 (30 fps);
  92     Standard Definition: 640 x 480 (30 fps), 320 x 240 (30 fps)
  93 */
  94 const CapturemodeMap modemap[] = {
  95     { MODE_AUTO                 , 0x8000    },
  96     { MODE_P                    , 0x8004    }, // Called "camera manual" on many cameras without a true manual mode, only allows +/- Ev adjustment
  97     { MODE_TV                   , 0x8003    },
  98     { MODE_AV                   , 0x8002    },
  99     { MODE_M                    , 0x8001    }, // note, use only for true manual modes that allow direct control of Tv/Av
 100     { MODE_PORTRAIT             , 0x800f    },
 101     { MODE_NIGHT_SCENE          , 0x422D    }, // "night scene" mode. Note, this can be a dail position, or under the scene menu (SCN_NIGHT_SCENE).
 102     { MODE_LANDSCAPE            , 0x800e    },
 103     { MODE_VIDEO_STD            , 0xa3d     },
 104     { MODE_VIDEO_SPEED          , 0xa42     },  //time lapse
 105     { MODE_UNDERWATER           , 0x4019    },
 106     { MODE_SNOW                 , 0x4016    },
 107     { MODE_BEACH                , 0x4017    },
 108     { MODE_FIREWORK             , 0x4018    },
 109     { MODE_COLOR_ACCENT         , 0x221d    },
 110     { MODE_COLOR_SWAP           , 0x221E    },
 111     { MODE_KIDS_PETS            , 0x8012    },
 112     { MODE_FOLIAGE              , 0x4015    },
 113     { MODE_EASY                 , 0x8222    },
 114     { MODE_STITCH               , 0x420C    },
 115     { MODE_SMART_SHUTTER        , 0x4229    },
 116     { MODE_LOWLIGHT             , 0x4021    },
 117     { MODE_SUPER_VIVID          , 0x2226    },
 118     { MODE_POSTER_EFFECT        , 0x2227    },
 119     { MODE_FISHEYE              , 0x222B    },
 120     { MODE_MINIATURE            , 0x222C    },
 121     { MODE_VIDEO_IFRAME_MOVIE   , 0xA44     },
 122     { MODE_VIDEO_MOVIE_DIGEST   , 0x8235    },
 123     { MODE_HIGHSPEED_BURST      , 0x4208    },
 124     { MODE_BEST_IMAGE           , 0x4209    },
 125     { MODE_TOY_CAMERA           , 0x222f    },
 126     { MODE_MONOCHROME           , 0x2232    },
 127     { MODE_WINK_SELF_TIMER      , 16938     },
 128     { MODE_FACE_SELF_TIMER      , 16936     },
 129 };
 130 
 131 #include "../generic/shooting.c"
 132 
 133 long get_file_next_counter() {
 134     return get_file_counter();
 135 }
 136 
 137 long get_target_file_num() {
 138     long n;
 139 
 140 
 141     n = get_file_next_counter();
 142 
 143     n = (n>>4)&0x3FFF;
 144 
 145     return n;
 146 }
 147 
 148 long get_target_dir_num() {
 149     long n;
 150 
 151     n = get_file_next_counter();
 152     n = (n>>18)&0x3FF;
 153     return n;
 154 }
 155 
 156 
 157 void get_target_dir_name(char *out)
 158 {
 159     extern void _GetImageFolder(char*,int,int,int);
 160     _GetImageFolder(out,get_file_next_counter(),CAM_DATE_FOLDER_NAMING,time(NULL));
 161 }

/* [<][>][^][v][top][bottom][index][help] */