root/platform/a3200/platform_camera.h

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

INCLUDED FROM


   1 // Camera - A3200 - platform_camera.h
   2 
   3 // This file contains the various settings values specific to the A3200 camera.
   4 // This file is referenced via the 'include/camera.h' file and should not be loaded directly.
   5 
   6 // If adding a new settings value put a suitable default in 'include/camera.h',
   7 // along with documentation on what the setting does and how to determine the correct value.
   8 // If the setting should not have a default value then add it in 'include/camera.h'
   9 // using the '#undef' directive along with appropriate documentation.
  10 
  11 // Override any default values with your camera specific values in this file. Try and avoid
  12 // having override values that are the same as the default value.
  13 
  14 // When overriding a setting value there are two cases:
  15 // 1. If removing the value, because it does not apply to your camera, use the '#undef' directive.
  16 // 2. If changing the value it is best to use an '#undef' directive to remove the default value
  17 //    followed by a '#define' to set the new value.
  18 
  19 // When porting CHDK to a new camera, check the documentation in 'include/camera.h'
  20 // for information on each setting. If the default values are correct for your camera then
  21 // don't override them again in here.
  22 
  23     // Sure values
  24     #define CAM_DRYOS                       1
  25     #define CAM_PROPSET                     4
  26     #define CAM_DRYOS_2_3_R39               1
  27     #define CAM_DRYOS_2_3_R47               1
  28 
  29     #define CAM_RAW_ROWPIX                  4416 // a3200 Found @0xff93a144
  30     #define CAM_RAW_ROWS                    3296 // a3200 Found @0xff93a14c
  31 
  32     #undef  CAM_UNCACHED_BIT
  33     #define CAM_UNCACHED_BIT                0x40000000  // a3200 Found @0xff83a6c0  
  34 
  35     #define CAM_JPEG_WIDTH                  4320    // a3200 from dpreview
  36     #define CAM_JPEG_HEIGHT                 3240    // a3200 from dpreview
  37 
  38 //loc_ffb20c48:
  39 //ffb20c48:       e3a00d45        mov     r0, #4416       ; 0x1140
  40 //ffb20c4c:       e5810000        str     r0, [r1]
  41 //ffb20c50:       e3a00ece        mov     r0, #3296       ; 0xce0
  42     #define CAM_ACTIVE_AREA_X1              96        // 
  43     #define CAM_ACTIVE_AREA_Y1              56        //
  44     #define CAM_ACTIVE_AREA_X2              4416    //    a3200 found @ffb20c48
  45     #define CAM_ACTIVE_AREA_Y2              3296    //    a3200 found @ffb20c50
  46     #define CAM_DNG_LENS_INFO               { 50,10, 250,10, 28,10, 59,10 } // See comments in camera.h   a3300is
  47 
  48     #undef  CAM_SENSOR_BITS_PER_PIXEL
  49     #define CAM_SENSOR_BITS_PER_PIXEL       12
  50 
  51     #undef  CAM_BITMAP_WIDTH
  52     #define CAM_BITMAP_WIDTH                720 // Actual width of bitmap screen in bytes
  53 
  54     #define cam_CFAPattern                  0x02010100  // Red  Green  Green  Blue
  55 
  56     #define CAM_COLORMATRIX1                             \
  57     827547, 1000000, -290458, 1000000, -126086, 1000000, \
  58     -12829, 1000000,  530507, 1000000,   50537, 1000000, \
  59       5181, 1000000,   48183, 1000000,  245014, 1000000
  60 
  61     #define cam_CalibrationIlluminant1      1       // Daylight
  62 
  63     #undef  CAM_USES_ASPECT_CORRECTION
  64     #define CAM_USES_ASPECT_CORRECTION      1       // camera uses the modified graphics primitives to map screens an viewports to buffers more sized
  65 
  66     #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
  67     #define CAM_QUALITY_OVERRIDE            1
  68     #define CAM_CAN_MUTE_MICROPHONE         1
  69 
  70     #define CAM_ZEBRA_NOBUF                 1        // ??
  71 
  72     #define PARAM_CAMERA_NAME               4       // parameter number for GetParameterData
  73 
  74     #define CAM_HAS_ND_FILTER               1       //
  75 
  76     #define CAM_VIDEO_QUALITY_ONLY          1       //
  77 
  78     #define CAM_DATE_FOLDER_NAMING          0x400
  79 
  80     #define CAM_DRIVE_MODE_FROM_TIMER_MODE  1       // ??
  81 
  82     #define CAM_CHDK_HAS_EXT_VIDEO_TIME     1
  83     #define CAM_HAS_MOVIE_DIGEST_MODE       1       // no, it doesn't, but movie_status is 6 in movie mode idle
  84 
  85     #undef  CAM_HAS_IRIS_DIAPHRAGM
  86     #undef  CAM_HAS_ERASE_BUTTON
  87 
  88     #undef  CAM_HAS_MANUAL_FOCUS
  89     #undef  CAM_VIDEO_CONTROL
  90 
  91     #define CAM_LOAD_CUSTOM_COLORS
  92 
  93     #define CAM_NEED_SET_ZOOM_DELAY         300  // Define to add a delay after setting the zoom position
  94     #define CAM_USE_OPTICAL_MAX_ZOOM_STATUS 1    // Use ZOOM_OPTICAL_MAX to reset zoom_status when switching from digital to optical zoo
  95 
  96     #define CAM_ADJUSTABLE_ALT_BUTTON       1
  97     #define CAM_ALT_BUTTON_NAMES            { "Playback", "Face", "Disp"}
  98     #define CAM_ALT_BUTTON_OPTIONS          { KEY_PLAYBACK, KEY_FACE, KEY_DISPLAY }
  99 
 100     #define CAM_HAS_FILEWRITETASK_HOOK      1
 101     #define CAM_FILEWRITETASK_MULTIPASS      1
 102 
 103     // Define shortcut overrides where defaults are not suitable
 104     // a3200 has no erase button, so make DISP button the toggle_raw and Alt +/- shortcuts.
 105     //Alt mode
 106     // NOTE both of these conflict with adjustable alt
 107     #define SHORTCUT_TOGGLE_RAW             KEY_DISPLAY
 108     #define SHORTCUT_MF_TOGGLE              KEY_FACE
 109 
 110     #define CAM_SD_OVER_IN_AF               1
 111     #define CAM_SD_OVER_IN_AFL              1
 112     #define CAM_SD_OVER_IN_MF               1
 113 
 114     #define CAM_IS_VID_REC_WORKS            1   // is_video_recording() function works
 115 
 116 //--------------------------------------------------

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