root/platform/g7x/platform_camera.h

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

INCLUDED FROM


   1 // Camera - G7x - platform_camera.h
   2 
   3 // This file contains the various settings values specific to the G7x 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                         7
  24 
  25     // RAW in hybrid auto actually works if you enable "unsafe IO", otherwise hangs
  26     #define CAM_DISABLE_RAW_IN_HYBRID_AUTO      1
  27     #define CAM_DISABLE_RAW_IN_HANDHELD_NIGHT_SCN   1 // raw hook not currently called, probably doesn't make sense
  28     #define CAM_DISABLE_RAW_IN_HDR              1 // raw hook not currently called, probably doesn't make sense
  29 
  30     #define CAM_AV_OVERRIDE_IRIS_FIX            1   // for cameras that require _MoveIrisWithAv function to override Av (for bracketing).
  31     #define CAM_HAS_NATIVE_ND_FILTER            1   // Camera has built-in ND filter with Canon menu support for enable/disable
  32     #define CAM_HAS_ND_FILTER                   1           // Camera has built-in ND filter (in addition to iris)
  33 
  34     #define CAM_BRACKETING                      1 // camera has native bracketing
  35 
  36     #undef  CAM_KEY_PRESS_DELAY
  37     #define CAM_KEY_PRESS_DELAY                 60          // delay after a press
  38 
  39     #define CAM_ADJUSTABLE_ALT_BUTTON           1
  40 
  41     #define CAM_ALT_BUTTON_NAMES                { "Playback", "Video", "Wifi" }
  42     #define CAM_ALT_BUTTON_OPTIONS              { KEY_PLAYBACK, KEY_VIDEO, KEY_WIFI}
  43     #define CAM_DRIVE_MODE_FROM_TIMER_MODE      1
  44 
  45     // default zebra shortcut (left) conflicts with canon AF lock
  46     #define SHORTCUT_TOGGLE_ZEBRA               KEY_MENU
  47 
  48     #define CAM_DRYOS                           1
  49     #define CAM_DRYOS_2_3_R39                   1
  50     #define CAM_DRYOS_2_3_R47                   1
  51 
  52     #define CAM_RAW_ROWPIX                      5632
  53     #define CAM_RAW_ROWS                        3710
  54 
  55     #define CAM_HAS_CMOS                        1
  56 
  57     // unlocked by default, not needed
  58     #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
  59     #define CAM_HAS_VIDEO_BUTTON                1
  60 
  61     #undef  CAM_HAS_DISP_BUTTON
  62     #undef  CAM_USE_ZOOM_FOR_MF
  63 
  64 // not implemented
  65     #undef  CAM_CHDK_HAS_EXT_VIDEO_MENU
  66     #undef  CAM_VIDEO_CONTROL
  67 
  68 // minimal recording or not only
  69     #define CAM_SIMPLE_MOVIE_STATUS             1
  70 
  71     #define  CAM_IS_VID_REC_WORKS               1 // Define if the 'is_video_recording()' function works
  72 
  73     #define CAM_HAS_JOGDIAL                     1
  74     #undef  CAM_USE_ZOOM_FOR_MF
  75 
  76 // OK
  77     #undef  CAM_UNCACHED_BIT
  78     #define CAM_UNCACHED_BIT                    0x40000000
  79 
  80     #undef  CAM_CIRCLE_OF_CONFUSION
  81     #define CAM_CIRCLE_OF_CONFUSION             11  // CoC value for camera/sensor (see http://www.dofmaster.com/digital_coc.html)
  82 
  83 // OK
  84     #define CAM_DNG_LENS_INFO                   { 88,10,368,10,18,10,28,10 }
  85 // OK
  86     #define cam_CFAPattern                      0x02010100
  87 
  88     #define cam_CalibrationIlluminant1          17
  89 
  90     // from CR2 converted to DNG with adobe DNG converter
  91     #define CAM_COLORMATRIX1 \
  92     11125, 10000, -5937, 10000,  355, 10000, \
  93     -2979, 10000, 10926, 10000, 2360, 10000, \
  94      -116, 10000,   835, 10000, 6064, 10000
  95 
  96     #define cam_CalibrationIlluminant2          21      // D65
  97 
  98     #define CAM_COLORMATRIX2 \
  99      9602, 10000, -3823, 10000, -937, 10000, \
 100     -2984, 10000, 11495, 10000, 1675, 10000, \
 101      -407, 10000,  1415, 10000, 5049, 10000,
 102 
 103     #define CAM_FORWARDMATRIX1 \
 104      4264, 10000, 4193, 10000, 1187, 10000, \
 105      1832, 10000, 7811, 10000,  357, 10000, \
 106       854, 10000,   16, 10000, 7381, 10000
 107 
 108     #define CAM_FORWARDMATRIX2 \
 109          4036, 10000, 4056, 10000, 1551, 10000, \
 110      1780, 10000, 7757, 10000,  463, 10000, \
 111       764, 10000,    1, 10000, 7487, 10000
 112 
 113     #define CAM_JPEG_WIDTH                      5472
 114     #define CAM_JPEG_HEIGHT                     3648
 115 
 116 // TODO - from cr2
 117     #define CAM_ACTIVE_AREA_X1                  132
 118     #define CAM_ACTIVE_AREA_Y1                  40
 119     #define CAM_ACTIVE_AREA_X2                  5604
 120     #define CAM_ACTIVE_AREA_Y2                  3688
 121 
 122     #define PARAM_CAMERA_NAME                   3
 123 // found by calling GetImageFolder with single bits sets
 124     #define CAM_DATE_FOLDER_NAMING              0x80
 125     #define CAM_FILE_COUNTER_IS_VAR             1     // file counter is variable file_counter_var in stubs, not a param
 126     #undef  CAM_SENSOR_BITS_PER_PIXEL
 127     #define CAM_SENSOR_BITS_PER_PIXEL           12
 128 
 129     // black level appears to be ~512 in normal shooting (ISO125 P or M)
 130     #undef CAM_BLACK_LEVEL
 131     #define CAM_BLACK_LEVEL                     511
 132 
 133 // TODO expdrv not implemented, but camera does multi-minute exposures natively
 134 // this allows > 60s in overrid (untested)
 135     #define CAM_EXT_TV_RANGE                    1
 136 
 137     // TODO actual range untested
 138     // #undef CAM_EXT_AV_RANGE
 139     // #define CAM_EXT_AV_RANGE                    ?   // Number of 1/3 stop increments to extend the Av range beyond the Canon default smallest aperture
 140 
 141     #define CAM_SHOW_OSD_IN_SHOOT_MENU          1
 142 
 143     #define DRAW_ON_ACTIVE_BITMAP_BUFFER_ONLY   1           // Draw pixels on active bitmap buffer only.
 144     //#undef  CAM_USES_ASPECT_CORRECTION
 145     //#define CAM_USES_ASPECT_CORRECTION          1
 146     // TODO
 147     #undef  CAM_BITMAP_WIDTH
 148     #undef  CAM_BITMAP_HEIGHT
 149     #undef  CAM_SCREEN_WIDTH
 150     #undef  CAM_SCREEN_HEIGHT
 151     #define CAM_BITMAP_WIDTH                    736 // Actual width of bitmap screen in <s>bytes</s> pixels
 152     #define CAM_BITMAP_HEIGHT                   480 // Actual height of bitmap screen in rows
 153     #define CAM_SCREEN_WIDTH                    720 // Width of bitmap screen in CHDK co-ordinates (360 or 480)
 154     #define CAM_SCREEN_HEIGHT                   480 // Height of bitmap screen in CHDK co-ordinates (always 240 on all cameras so far)
 155 // TODO
 156 //    #define CAM_SUPPORT_BITMAP_RES_CHANGE       1
 157     
 158 
 159     #undef  EDGE_HMARGIN
 160     #define EDGE_HMARGIN                        10
 161 
 162     // doesn't appear to use complicated multi pass or seek in normal cases
 163     #define CAM_HAS_FILEWRITETASK_HOOK          1
 164     //#define CAM_FILEWRITETASK_SEEKS             1
 165 
 166     #undef  CAM_BITMAP_PALETTE
 167     #define CAM_BITMAP_PALETTE                  100
 168 
 169     #define CAM_ZEBRA_NOBUF                     1
 170 
 171     #undef  CAMERA_MIN_DIST
 172     #define CAMERA_MIN_DIST                     50         // Override min subject distance, min get_focus() value using MF
 173     #undef  CAMERA_MAX_DIST
 174     #define CAMERA_MAX_DIST                     177552     // Override max subject distance, max get_focus() value at max zoom using MF before it goes to -1
 175 
 176 
 177     //#define CAM_CHDK_HAS_EXT_VIDEO_TIME         1
 178 
 179     #undef  CAM_USB_EVENTID
 180     #define CAM_USB_EVENTID                     0x202       // Levent ID for USB control. Changed in DryOS R49, R50 so needs to be overridable.
 181 
 182 //    #define CAM_HAS_MOVIE_DIGEST_MODE           1 
 183 
 184 // TODO - haven't checked default values, these seem to work
 185     #define CAM_USE_ALT_SET_ZOOM_POINT          1           // Define to use the alternate code in lens_set_zoom_point()
 186     #define CAM_USE_ALT_PT_MoveOpticalZoomAt    1           // Define to use the PT_MoveOpticalZoomAt() function in lens_set_zoom_point()
 187     #define CAM_NEED_SET_ZOOM_DELAY             300
 188 
 189     #define MKDIR_RETURN_ONE_ON_SUCCESS         1    // mkdir() return 1 on success, 0 on fail.
 190 
 191     #undef  REMOTE_SYNC_STATUS_LED
 192     // #define REMOTE_SYNC_STATUS_LED              0xC022C30C  // TODO specifies an LED that turns on while camera waits for USB remote to sync
 193     #define CAM_REMOTE_HDMI_HPD                 1 // Camera supports using HDMI hotplug detect for remote signal
 194     #define CAM_REMOTE_HDMI_POWER_OVERRIDE      1 // Camera requires HDMI power to be forced on in rec mode
 195     #define CAM_REMOTE_ANALOG_AV                1 // Camera supports analog AV detect for remote signal
 196     #define CAM_REMOTE_AtoD_CHANNEL             3 // Camera supports using 3rd battery terminal as well as USB for remote - value = A/D channel to poll
 197     // g7x - Open circuit = ~4090, 10k ohm = ~1380 (=25c bat temp), 3.5k = ~620 (55c)
 198     #undef CAM_REMOTE_AtoD_THRESHOLD
 199     #define CAM_REMOTE_AtoD_THRESHOLD       800 // 3rd battery terminal A/D reading threshold ( lower = 1, higher = 0 )
 200 
 201 // crashes with ASSERT!! FocusLensController.c Line 1106 on shoot
 202 //    #define CAM_SD_OVER_IN_AF                   1
 203     #define CAM_SD_OVER_IN_AFL                  1
 204     #define CAM_SD_OVER_IN_MF                   1
 205  
 206     // "real" to "market" conversion definitions
 207     #define SV96_MARKET_OFFSET                  0   // market and real appear to be identical on this cam
 208     #define ISO_MARKET_TO_REAL_MULT         1
 209     #define ISO_MARKET_TO_REAL_SHIFT        0
 210     #define ISO_MARKET_TO_REAL_ROUND        0
 211     #define ISO_REAL_TO_MARKET_MULT         1
 212     #define ISO_REAL_TO_MARKET_SHIFT        0
 213     #define ISO_REAL_TO_MARKET_ROUND        0
 214 
 215 // AF led, for MD test code
 216     #undef CAM_AF_LED
 217     #define CAM_AF_LED                      1
 218 
 219     #define CAM_HAS_CANON_RAW                   1   // has native Canon raw
 220 
 221 //--------------------------------------------------

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