root/platform/d10/platform_camera.h

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

INCLUDED FROM


   1 // Camera - d10 - platform_camera.h
   2 
   3 // This file contains the various settings values specific to the d10 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     #define CAM_PROPSET                     2
  24     #define CAM_DRYOS                       1
  25 
  26     #define CAM_RAW_ROWPIX                  4104    // 12 MP 12bpp
  27     #define CAM_RAW_ROWS                    3048    // from " CrwAddress %lx, CrwSize H %ld V %ld\r"
  28 
  29     #undef  CAM_CIRCLE_OF_CONFUSION
  30     #define CAM_CIRCLE_OF_CONFUSION         6   // CoC value for camera/sensor (see http://www.dofmaster.com/digital_coc.html)
  31 
  32     #undef  CAM_HAS_ERASE_BUTTON
  33     #undef  CAM_USE_ZOOM_FOR_MF
  34     #define CAM_MULTIPART                   1
  35     #undef  CAM_HAS_IRIS_DIAPHRAGM
  36     #define CAM_HAS_ND_FILTER               1
  37 
  38     // long shutter is acutally user TV, may work ?
  39     #undef  CAM_HAS_USER_TV_MODES
  40     #define CAM_SHOW_OSD_IN_SHOOT_MENU      1
  41 
  42     #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
  43 
  44 
  45     #undef  CAM_VIDEO_CONTROL
  46     #define CAM_VIDEO_QUALITY_ONLY          1
  47 
  48     #undef  CAM_UNCACHED_BIT
  49     #define CAM_UNCACHED_BIT                0x40000000
  50 
  51     // OK looks similar to ixus100 based on forum posts
  52 
  53     #define CAM_QUALITY_OVERRIDE            1
  54     #undef CAM_SENSOR_BITS_PER_PIXEL
  55     #define CAM_SENSOR_BITS_PER_PIXEL       12
  56 
  57     #define CAM_DNG_LENS_INFO               { 62,10, 186,10, 28,10, 49,10 } // See comments in camera.h
  58 
  59     #define cam_CFAPattern 0x01000201 // Green  Blue  Red  Green 
  60 
  61     #define CAM_COLORMATRIX1                        \
  62       14052, 10000,   -5229, 10000,   -1156, 10000, \
  63       -1325, 10000,    9420, 10000,    2252, 10000, \
  64        -498, 10000,    1957, 10000,    4116, 10000
  65     #define cam_CalibrationIlluminant1      21      // D65
  66 
  67     // cropping OK
  68     #define CAM_JPEG_WIDTH                  4000
  69     #define CAM_JPEG_HEIGHT                 3000
  70     #define CAM_ACTIVE_AREA_X1              0       // some data all the way to left, normal 8 ?
  71     #define CAM_ACTIVE_AREA_Y1              10
  72     #define CAM_ACTIVE_AREA_X2              4072    // or 4024
  73     #define CAM_ACTIVE_AREA_Y2              3040    // or 3041 or 3020
  74 
  75     // camera name OK
  76     #define PARAM_CAMERA_NAME               4       // parameter number for GetParameterData
  77 
  78     //aspect correction
  79     #undef  CAM_USES_ASPECT_CORRECTION
  80     #define CAM_USES_ASPECT_CORRECTION      1       //camera uses the modified graphics primitives to map screens an viewports to buffers more sized
  81     #undef CAM_BITMAP_WIDTH
  82     #define CAM_BITMAP_WIDTH                720 // Actual width of bitmap screen in bytes
  83 
  84     #define CAM_DRIVE_MODE_FROM_TIMER_MODE  1   // use PROPCASE_TIMER_MODE to check for multiple shot custom timer.
  85                                                 // Used to enabled bracketing in custom timer, required on many recent cameras
  86                                                 // see http://chdk.setepontos.com/index.php/topic,3994.405.html
  87     #define REMOTE_SYNC_STATUS_LED          0xc0220134  // specifies an LED that turns on while camera waits for USB remote to sync
  88     #define CAM_REMOTE_ANALOG_AV                1 // Camera supports analog AV detect for remote signal
  89     #define CAM_REMOTE_AtoD_CHANNEL         5   // Camera supports using 3rd battery terminal as well as USB for remote - value = A/D channel to poll
  90     // D10 - Open circuit = 1023, 10k ohm = ~350, 3.5k = ~150
  91     //#define CAM_REMOTE_AtoD_THRESHOLD       200 // 3rd battery terminal A/D reading threshold ( lower = 1, higher = 0 )
  92 
  93     #undef  CAMERA_MIN_DIST
  94     #define CAMERA_MIN_DIST                 30      // Override min subject distance
  95     #undef  CAMERA_MAX_DIST
  96     #define CAMERA_MAX_DIST                 193731  // Override max subject distance
  97 
  98     #undef CAM_AF_LED
  99     #define CAM_AF_LED                      2
 100 
 101     #define CAM_HAS_FILEWRITETASK_HOOK      1       // file write hook for remote capture etc
 102 
 103     #define CAM_SD_OVER_IN_AF               1
 104     #define CAM_SD_OVER_IN_AFL              1
 105     #define CAM_SD_OVER_IN_MF               1
 106 
 107     #define CAM_IS_VID_REC_WORKS                1   // is_video_recording() function works
 108     #define CAM_PTP_USE_NATIVE_BUFFER       1 // use firmware buffers to avoid problems with uncached memory
 109 
 110 //--------------------------------------------------

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