root/platform/g16/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_name
  4. get_target_dir_num

   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      0x1        // see comments in ixus140 port
   8 
   9 // aperture values recorded at wide angle
  10 
  11 const ApertureSize aperture_sizes_table[] = {
  12     { 9,  171, "1.8" },
  13     { 10, 192, "2.0" },
  14     { 11, 224, "2.2" },
  15     { 12, 256, "2.5" },
  16     { 13, 288, "2.8" },
  17     { 14, 320, "3.2" },
  18     { 15, 352, "3.5" },
  19     { 16, 369, "4.0" },
  20     { 17, 401, "4.5" },
  21     { 18, 433, "5.0" },
  22     { 19, 465, "5.6" },
  23     { 20, 497, "6.3" },
  24     { 21, 529, "7.1" },
  25     { 22, 561, "8.0" },
  26 };
  27 
  28 const ShutterSpeed shutter_speeds_table[] = {
  29     { -12, -384, "15", 15000000 },
  30     { -11, -352, "13", 13000000 },
  31     { -10, -320, "10", 10000000 },
  32     {  -9, -288, "8",   8000000 },
  33     {  -8, -256, "6",   6000000 },
  34     {  -7, -224, "5",   5000000 },
  35     {  -6, -192, "4",   4000000 },
  36     {  -5, -160, "3.2", 3200000 },
  37     {  -4, -128, "2.5", 2500000 },
  38     {  -3,  -96, "2",   2000000 },
  39     {  -2,  -64, "1.6", 1600000 },
  40     {  -1,  -32, "1.3", 1300000 },
  41     {   0,    0, "1",   1000000 },
  42     {   1,   32, "0.8",  800000 },
  43     {   2,   64, "0.6",  600000 },
  44     {   3,   96, "0.5",  500000 },
  45     {   4,  128, "0.4",  400000 },
  46     {   5,  160, "0.3",  300000 },
  47     {   6,  192, "1/4",  250000 },
  48     {   7,  224, "1/5",  200000 },
  49     {   8,  256, "1/6",  166667 },
  50     {   9,  288, "1/8",  125000 },
  51     {  10,  320, "1/10", 100000 },
  52     {  11,  352, "1/13",  76923 },
  53     {  12,  384, "1/15",  66667 },
  54     {  13,  416, "1/20",  50000 },
  55     {  14,  448, "1/25",  40000 },
  56     {  15,  480, "1/30",  33333 },
  57     {  16,  512, "1/40",  25000 },
  58     {  17,  544, "1/50",  20000 },
  59     {  18,  576, "1/60",  16667 },
  60     {  19,  608, "1/80",  12500 },
  61     {  20,  640, "1/100", 10000 },
  62     {  21,  672, "1/125",  8000 },
  63     {  22,  704, "1/160",  6250 },
  64     {  23,  736, "1/200",  5000 },
  65     {  24,  768, "1/250",  4000 },
  66     {  25,  800, "1/320",  3125 },
  67     {  26,  832, "1/400",  2500 },
  68     {  27,  864, "1/500",  2000 },
  69     {  28,  896, "1/640",  1563 },
  70     {  29,  928, "1/800",  1250 },
  71     {  30,  960, "1/1000", 1000 },
  72     {  31,  992, "1/1250",  800 },
  73     {  32, 1024, "1/1600",  625 },
  74     {  33, 1056, "1/2000",  500 },
  75     {  34, 1088, "1/2500",  400 },
  76     {  35, 1120, "1/3200",  313 },
  77     {  36, 1152, "1/4000",  250 },
  78 };
  79 
  80 const ISOTable iso_table[] = {
  81     {  0,    0, " Auto", -1},
  82     {  1,   80,   "80", -1},
  83     {  2,  100,   "100", -1},
  84     {  3,  125,   "125", -1},
  85     {  4,  160,   "160", -1},
  86     {  5,  200,   "200", -1},
  87     {  6,  250,   "250", -1},
  88     {  7,  320,   "320", -1},
  89     {  8,  400,   "400", -1},
  90     {  9,  500,   "500", -1},
  91     { 10,  640,   "640", -1},
  92     { 11,  800,   "800", -1},
  93     { 12, 1000,  "1000", -1},
  94     { 13, 1250,  "1250", -1},
  95     { 14, 1600,  "1600", -1},
  96     { 15, 2000,  "2000", -1},
  97     { 16, 2500,  "2500", -1},
  98     { 18, 3200,  "3200", -1},
  99     { 19, 4000,  "4000", -1},
 100     { 20, 5000,  "5000", -1},
 101     { 21, 6400,  "6400", -1},
 102     { 22, 8000,  "8000", -1},
 103     { 23,10000, "10000", -1},
 104     { 24,12800, "12800", -1},
 105 };
 106 
 107 // Unknown values from canon_mode_list 0xfc7f8a3c Found @0xfc124510
 108 // 32830  0x803e In firmware but not in current modemap 
 109 // 32777  0x8009 In firmware but not in current modemap
 110 // 33332  0x8234 In firmware but not in current modemap
 111 // 33295  0x820f In firmware but not in current modemap
 112 //  4163  0x1043 In firmware but not in current modemap  <- invokes C1 when written to PROPCASE_SHOOTING_MODE 
 113 //  4164  0x1044 In firmware but not in current modemap  <- invokes C2 when written to PROPCASE_SHOOTING_MODE
 114 
 115 const CapturemodeMap modemap[] = {
 116 
 117 { MODE_VIDEO_STD             ,2633 }, //
 118 { MODE_VIDEO_SUPER_SLOW      ,2638 }, //
 119 { MODE_NOSTALGIC             ,8747 }, //
 120 { MODE_SUPER_VIVID           ,8748 }, //
 121 { MODE_POSTER_EFFECT         ,8749 }, //
 122 { MODE_FISHEYE               ,8753 }, //
 123 { MODE_MINIATURE             ,8754 }, //
 124 { MODE_TOY_CAMERA            ,8757 }, //
 125 { MODE_BACKGROUND_DEFOCUS    ,8758 }, //
 126 { MODE_SOFTFOCUS             ,8759 }, //
 127 { MODE_MONOCHROME            ,8761 }, //
 128 { MODE_HDR | MODE_DISABLE_RAW ,8769 }, //
 129 
 130 
 131 { MODE_PORTRAIT             ,16403 }, //
 132 { MODE_SNOW                 ,16411 }, //
 133 { MODE_FIREWORK             ,16413 }, //
 134 { MODE_STAR_NIGHTSCAPE      ,16447 }, //
 135 { MODE_STAR_TRAILS          ,16448 }, //
 136 { MODE_VIDEO_STAR_TIME_LAPSE,16465 }, //
 137 { MODE_UNDERWATER           ,16926 }, //
 138 { MODE_FACE_SELF_TIMER      ,16942 }, //
 139 { MODE_SMART_SHUTTER        ,16943 }, //
 140 { MODE_WINK_SELF_TIMER      ,16944 }, //
 141 { MODE_NIGHT_SCENE | MODE_DISABLE_RAW ,16947 }, //
 142 
 143 { MODE_AUTO                 ,32768 }, //
 144 { MODE_M                    ,32769 }, //
 145 { MODE_AV                   ,32770 }, //
 146 { MODE_TV                   ,32771 }, //
 147 { MODE_P                    ,32772 }, //
 148 { MODE_HYBRID_AUTO | MODE_DISABLE_RAW ,33296 }, //
 149 
 150 };
 151 
 152 #include "../generic/shooting.c"
 153 
 154 long get_file_next_counter() 
 155 {
 156     return get_file_counter();
 157 }
 158 
 159 long get_target_file_num() 
 160 {
 161     return get_exposure_counter();
 162 }
 163 
 164 #if defined(CAM_DATE_FOLDER_NAMING)
 165 /*
 166   CAM_DATE_FOLDER_NAMING should be 0x80, otherwise various filenames are returned
 167   this _GetImageFolder version only seems to take 3 arguments, but it doesn't hurt if a 4th one is provided
 168 */
 169 void get_target_dir_name(char *out)
 170 {
 171     extern void _GetImageFolder(char*,int,int,int);
 172     _GetImageFolder(out,get_file_next_counter(),CAM_DATE_FOLDER_NAMING,time(NULL));
 173 }
 174 #else
 175 long get_target_dir_num()
 176 {
 177     return 0;
 178 }
 179 #endif

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