root/platform/s110/platform_camera.h

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

INCLUDED FROM


   1 // Camera - S110 - platform_camera.h
   2 
   3 // This file contains the various settings values specific to the S110 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                         5
  24     #define CAM_DRYOS                           1
  25     #define CAM_DRYOS_2_3_R39                   1 // Defined for cameras with DryOS version R39 or higher
  26     #define CAM_DRYOS_2_3_R47                   1 // Defined for cameras with DryOS version R47 or higher
  27 
  28     #undef  CAM_CIRCLE_OF_CONFUSION
  29     #define CAM_CIRCLE_OF_CONFUSION             7   // CoC value for camera/sensor (see http://www.dofmaster.com/digital_coc.html)
  30 
  31     #define DRAW_ON_ACTIVE_BITMAP_BUFFER_ONLY   1   // Draw pixels on active bitmap buffer only. Requires active_bitmap_buffer location in stubs_min.S or stubs_entry.S.
  32 
  33     #undef  CAM_AF_LED
  34     #define CAM_AF_LED                          0 // Index of AF led in camera_set_led function
  35 
  36     #undef  CAM_UNCACHED_BIT
  37     #define CAM_UNCACHED_BIT                    0x40000000 // Found @0xf8039b1c
  38 
  39     #define CAM_HAS_ND_FILTER                   1
  40     #define CAM_HAS_NATIVE_ND_FILTER            1   // Camera has built-in ND filter with Canon menu support for enable/disable
  41 
  42     #define CAM_ADJUSTABLE_ALT_BUTTON           1
  43     #define CAM_ALT_BUTTON_NAMES                { "Playback", "Video", "Display" }
  44     #define CAM_ALT_BUTTON_OPTIONS              { KEY_PLAYBACK, KEY_VIDEO, KEY_DISPLAY }
  45 
  46     #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
  47     #define CAM_HAS_VIDEO_BUTTON                1
  48     #define CAM_VIDEO_QUALITY_ONLY              1
  49     #define CAM_BRACKETING                      1
  50     #undef  CAM_VIDEO_CONTROL
  51     #define CAM_HAS_JOGDIAL                     1
  52     #undef  CAM_USE_ZOOM_FOR_MF
  53     #define CAM_SHOW_OSD_IN_SHOOT_MENU          1
  54 
  55     #undef DEFAULT_RAW_EXT
  56     #define DEFAULT_RAW_EXT                     2   // use .CR2
  57 
  58     #define CAM_DNG_LENS_INFO                   { 52,10, 260,10, 20,10, 59,10 }
  59 
  60     // From S110 native RAW file as converted to DNG using Adobe DNG Converter
  61     // http://www.adobe.com/support/downloads/product.jsp?product=106&platform=Windows
  62     // Matrices from converted DNG's EXIF data
  63     #define cam_CalibrationIlluminant1          17      // Standard Light A
  64     #define cam_CalibrationIlluminant2          21      // D65
  65     #define CAM_COLORMATRIX1    \
  66       9063, 10000,  -4110, 10000,    240, 10000, \
  67      -2713, 10000,   9326, 10000,   3987, 10000, \
  68        140, 10000,    247, 10000,   4262, 10000
  69     #define CAM_COLORMATRIX2    \
  70       8039, 10000,  -2643, 10000,   -654, 10000, \
  71      -3783, 10000,  11230, 10000,   2930, 10000, \
  72       -206, 10000,    690, 10000,   4194, 10000
  73     #define CAM_CAMERACALIBRATION1    \
  74      10099, 10000,      0, 10000,      0, 10000, \
  75          0, 10000,  10000, 10000,      0, 10000, \
  76          0, 10000,      0, 10000,   9551, 10000
  77     #define CAM_CAMERACALIBRATION2    \
  78      10099, 10000,      0, 10000,      0, 10000, \
  79          0, 10000,  10000, 10000,      0, 10000, \
  80          0, 10000,      0, 10000,   9551, 10000
  81     #define CAM_FORWARDMATRIX1    \
  82       6336, 10000,   2874, 10000,    433, 10000, \
  83       1716, 10000,  10221, 10000,  -1937, 10000, \
  84       -769, 10000,  -2436, 10000,  11483, 10000
  85     #define CAM_FORWARDMATRIX2    \
  86       6304, 10000,   4163, 10000,   -825, 10000, \
  87       2185, 10000,  11354, 10000,  -3539, 10000, \
  88        -54, 10000,  -1114, 10000,   9419, 10000
  89     #define CAM_DNG_EXPOSURE_BIAS               -3,4 // EXIF: Baseline Exposure
  90 
  91     #define CAM_RAW_ROWPIX                      4160 // Found @0xf81fdae4
  92     #define CAM_RAW_ROWS                        3124 // Found @0xf81fdaec
  93 
  94     #define CAM_JPEG_WIDTH                      4034
  95     #define CAM_JPEG_HEIGHT                     3040
  96     // S110 native RAW converted to DNG's EXIF had Active Area Y1=11, Y2=3059.
  97     // Changed to even values due to CHDK code requirements
  98     #define CAM_ACTIVE_AREA_X1                  104
  99     #define CAM_ACTIVE_AREA_Y1                  12
 100     #define CAM_ACTIVE_AREA_X2                  4152
 101     #define CAM_ACTIVE_AREA_Y2                  3058
 102     // S110 native RAW converted to DNG's EXIF data: CFA Pattern was 0x02010100 // [Red,Green][Green,Blue]
 103     // changed to [Green,Blue][Red,Green] to reflect CHDK active area
 104     #define cam_CFAPattern                      0x01000201
 105     #define PARAM_CAMERA_NAME                   4       // parameter number for GetParameterData - Camera Model name
 106     #define PARAM_OWNER_NAME                    7       // parameter number for GetParameterData - Owner name
 107     #define PARAM_DISPLAY_MODE1                 59      // param number for LCD display mode when camera in playback
 108     #define PARAM_DISPLAY_MODE2                 62      // param number for LCD display mode when camera in record view hold mode
 109     #undef  CAM_SENSOR_BITS_PER_PIXEL
 110     #define CAM_SENSOR_BITS_PER_PIXEL           12
 111 
 112     #define CAM_CHDK_HAS_EXT_VIDEO_TIME         1
 113     #define CAM_QUALITY_OVERRIDE                1
 114     #define CAM_REAR_CURTAIN                    1
 115 
 116     #undef CAM_USES_ASPECT_CORRECTION
 117     #define CAM_USES_ASPECT_CORRECTION          1       //camera uses the modified graphics primitives to map screens an viewports to buffers more sized
 118     #undef CAM_BITMAP_WIDTH
 119     #undef CAM_BITMAP_HEIGHT
 120     #define CAM_BITMAP_WIDTH                    960     // Actual width of bitmap screen in bytes
 121     #define CAM_BITMAP_HEIGHT                   270     // Actual height of bitmap screen in rows
 122 
 123     #undef  EDGE_HMARGIN
 124     #define EDGE_HMARGIN 2
 125 
 126     #define CAM_DATE_FOLDER_NAMING              0x400
 127 
 128     #undef  CAM_KEY_PRESS_DELAY
 129     #define CAM_KEY_PRESS_DELAY                 60      // delay after a press
 130 
 131     #define CAM_DRIVE_MODE_FROM_TIMER_MODE      1       // use PROPCASE_TIMER_MODE to check for multiple shot custom timer.
 132                                                         // Used to enabled bracketing in custom timer, required on many recent cameras
 133                                                         // see http://chdk.setepontos.com/index.php/topic,3994.405.html
 134 
 135     #define CAM_AV_OVERRIDE_IRIS_FIX            1       // for cameras that require _MoveIrisWithAv function to override Av in bracketing.
 136     #define CAM_HAS_MOVIE_DIGEST_MODE           1       // Changes the values in the 'movie_status' variable if the camera has this mode
 137 
 138     #define CAM_LOAD_CUSTOM_COLORS              1       // Enable loading CHDK colors into the camera palette memory/hardware
 139 
 140     #undef  CAM_USB_EVENTID
 141     #define CAM_USB_EVENTID                     0x202   // Levent ID for USB control. Changed in DryOS R49 so needs to be overridable.
 142 
 143 //    #define REMOTE_SYNC_STATUS_LED     0xC0xxyyyy        // specifies an LED that turns on while camera waits for USB remote to sync
 144 
 145     #define CAM_HAS_CMOS                        1
 146 
 147     #undef  CAMERA_MIN_DIST
 148     #define CAMERA_MIN_DIST                     74 // Override min subject distance
 149     #undef  CAMERA_MAX_DIST
 150     #define CAMERA_MAX_DIST                     131579  // Override max subject distance
 151 
 152     #define MKDIR_RETURN_ONE_ON_SUCCESS         1       // mkdir() return 1 on success, 0 on fail.
 153 
 154     // Define shortcut overrides where defaults are not suitable
 155     #define SHORTCUT_TOGGLE_ZEBRA               KEY_ERASE   // On camera Shutter Half Press + Up = switch MF on/off
 156 
 157     #define CAM_HAS_FILEWRITETASK_HOOK          1
 158     #define CAM_FILEWRITETASK_SEEKS             1
 159 
 160     #define CAM_SD_OVER_IN_AF                   1
 161     #define CAM_SD_OVER_IN_MF                   1
 162 
 163     #define CAM_HAS_CANON_RAW                   1   // has native Canon raw
 164 
 165 //--------------------------------------------------

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