root/platform/sx730hs/platform_camera.h

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

INCLUDED FROM


   1 // Camera - sx730hs - platform_camera.h
   2 
   3 // This file contains the various settings values specific to the sx730hs 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                         12
  24 
  25     // g7x 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 // probably doesn't make sense
  28 
  29     #define CAM_HAS_SPORTS_MODE                 1
  30 
  31     #define CAM_AV_OVERRIDE_IRIS_FIX            1  // for cameras that require _MoveIrisWithAv function to override Av (for bracketing).
  32 
  33     // doesn't seem to needed
  34 //    #undef  CAM_KEY_PRESS_DELAY
  35 //    #define CAM_KEY_PRESS_DELAY                 60          // delay after a press
  36 
  37     #define CAM_ADJUSTABLE_ALT_BUTTON           1
  38 
  39     #define CAM_ALT_BUTTON_NAMES                { "Playback", "Video", "Wifi" }
  40     #define CAM_ALT_BUTTON_OPTIONS              { KEY_PLAYBACK, KEY_VIDEO, KEY_WIFI}
  41     #define CAM_DRIVE_MODE_FROM_TIMER_MODE      1
  42 
  43     // default zebra shortcut (left) conflicts with canon AF lock
  44     #define SHORTCUT_TOGGLE_ZEBRA               KEY_MENU
  45     // default histo shortcut (up) conflicts with canon AE lock
  46     #define SHORTCUT_TOGGLE_HISTO               KEY_DUMMY
  47 
  48     #define CAM_DRYOS                           1
  49     #define CAM_DRYOS_2_3_R39                   1
  50     #define CAM_DRYOS_2_3_R47                   1
  51     #define CAM_DRYOS_2_3_R59                   1
  52 
  53     #define CAM_HAS_CMOS                        1
  54 
  55     // unlocked by default, not needed
  56     #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
  57     #define CAM_HAS_VIDEO_BUTTON                1
  58 
  59 // framing assist = erase
  60 // no dedicated DISP
  61 //    #undef  CAM_HAS_ERASE_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     #undef  CAM_UNCACHED_BIT
  77     #define CAM_UNCACHED_BIT                    0x40000000
  78 
  79 // default
  80 //    #define CAM_CIRCLE_OF_CONFUSION             5  // CoC value for camera/sensor (see http://www.dofmaster.com/digital_coc.html)
  81 
  82     #define CAM_DNG_LENS_INFO                   { 43,10,1720,10,33,10,69,10 }
  83     #define cam_CFAPattern                      0x02010100
  84 
  85 // TODO C&P form sx60hs
  86     #define cam_CalibrationIlluminant1          17
  87 
  88     #define CAM_COLORMATRIX1 \
  89     15686, 10000, -8326, 10000, -246, 10000, \
  90     -1888, 10000, 10463, 10000, 1645, 10000, \
  91       286, 10000,   708, 10000, 6145, 10000
  92 
  93     #define cam_CalibrationIlluminant2          21     // D65 
  94 
  95     #define CAM_COLORMATRIX2 \
  96     13161, 10000, -5451, 10000, -1344, 10000, \
  97     -1989, 10000, 10654, 10000,  1531, 10000, \
  98       -47, 10000,  1271, 10000,  4955, 10000
  99     #define CAM_FORWARDMATRIX1 \
 100     3002, 10000, 3390, 10000, 3251, 10000, \
 101     1080, 10000, 6247, 10000, 2674, 10000, \
 102      341, 10000,   42, 10000, 7868, 10000
 103 
 104     #define CAM_FORWARDMATRIX2 \
 105     3678, 10000, 4352, 10000, 1613, 10000, \
 106     1429, 10000, 8091, 10000,  480, 10000, \
 107      577, 10000,   26, 10000, 7648, 10000
 108 
 109     #define CAM_RAW_ROWPIX                      5344
 110     #define CAM_RAW_ROWS                        3950
 111 
 112     #define CAM_JPEG_WIDTH                      5184
 113     #define CAM_JPEG_HEIGHT                     3888
 114 
 115     // sx730 verified identical to sx710
 116     #define CAM_ACTIVE_AREA_X1                  96 // normal level at 120
 117     #define CAM_ACTIVE_AREA_Y1                  18 // visible pixels start at 17, 18 to keep even, normal level at 22
 118     #define CAM_ACTIVE_AREA_X2                  5344 // active area extends to right
 119     #define CAM_ACTIVE_AREA_Y2                  3950 // active area extends to bottom of image
 120 
 121     #define PARAM_CAMERA_NAME                   3
 122 
 123 // same as sx710 value found by calling GetImageFolder with single bits sets
 124     #define CAM_DATE_FOLDER_NAMING              0x80
 125 
 126     #define CAM_FILE_COUNTER_IS_VAR             1     // file counter is variable file_counter_var in stubs, not a param
 127 
 128     #undef  CAM_SENSOR_BITS_PER_PIXEL
 129     #define CAM_SENSOR_BITS_PER_PIXEL           12
 130 
 131     #define CAM_EXT_TV_RANGE                    1   // up to 1024s appears to be supported natively in firmware, exp_drv required for short exposure
 132 
 133     #undef CAM_EXT_AV_RANGE
 134     // up to APEX 850 F21.5 at max zoom,  640 F 10 at wide
 135     #define CAM_EXT_AV_RANGE                    9   // Number of 1/3 stop increments to extend the Av range beyond the Canon default smallest aperture
 136 
 137     #define CAM_SHOW_OSD_IN_SHOOT_MENU          1
 138 
 139     #define DRAW_ON_ACTIVE_BITMAP_BUFFER_ONLY   1           // Draw pixels on active bitmap buffer only.
 140    
 141     // seems to be 640x480
 142     #undef  CAM_BITMAP_WIDTH
 143     #undef  CAM_BITMAP_HEIGHT
 144     #undef  CAM_SCREEN_WIDTH
 145     #undef  CAM_SCREEN_HEIGHT
 146     #define CAM_BITMAP_WIDTH                    640 // Actual width of bitmap screen in <s>bytes</s> pixels
 147     #define CAM_BITMAP_HEIGHT                   480 // Actual height of bitmap screen in rows
 148     #define CAM_SCREEN_WIDTH                    640 // Width of bitmap screen in CHDK co-ordinates (360 or 480 pre digic 6, actual width for digic 6)
 149     #define CAM_SCREEN_HEIGHT                   480 // Height of bitmap screen in CHDK co-ordinates (always 240 pre digic 6, actual height for digic 6)
 150     #define CAM_SUPPORT_BITMAP_RES_CHANGE       1
 151     
 152 
 153 // TODO
 154     #undef  EDGE_HMARGIN
 155     #define EDGE_HMARGIN                        10
 156 
 157 // TODO SX730 doesn't have filewrite task
 158 //    #define CAM_HAS_FILEWRITETASK_HOOK          1
 159     // doesn't appear to use complicated multi pass or seek in normal cases
 160     //#define CAM_FILEWRITETASK_SEEKS             1
 161 
 162     #undef  CAM_BITMAP_PALETTE
 163     #define CAM_BITMAP_PALETTE                  100
 164 
 165     #define CAM_ZEBRA_NOBUF                     1
 166 
 167     #undef  CAMERA_MIN_DIST
 168     #define CAMERA_MIN_DIST                     10         // Override min subject distance, min get_focus() value using MF
 169     #undef  CAMERA_MAX_DIST
 170     #define CAMERA_MAX_DIST                     1818088     // Override max subject distance, max get_focus() value at max zoom using MF before it goes to -1
 171 
 172     //#define CAM_CHDK_HAS_EXT_VIDEO_TIME         1
 173 
 174     #undef  CAM_USB_EVENTID
 175     #define CAM_USB_EVENTID                     0x302       // Levent ID for USB control. 
 176 
 177 //    #define CAM_HAS_MOVIE_DIGEST_MODE           1 
 178 
 179 // didn't try default default values
 180 // ignored with above
 181 //    #define CAM_NEED_SET_ZOOM_DELAY             300
 182 
 183     #define MKDIR_RETURN_ONE_ON_SUCCESS         1    // mkdir() return 1 on success, 0 on fail.
 184 
 185     #undef  REMOTE_SYNC_STATUS_LED
 186     // #define REMOTE_SYNC_STATUS_LED              0xC022C30C  // TODO specifies an LED that turns on while camera waits for USB remote to sync
 187     #define CAM_REMOTE_HDMI_HPD                 1 // Camera supports using HDMI hotplug detect for remote signal
 188     #define CAM_REMOTE_HDMI_POWER_OVERRIDE      1 // Camera requires HDMI power to be forced on in rec mode
 189 //    #define CAM_REMOTE_AtoD_CHANNEL             3 // Camera supports using 3rd battery terminal as well as USB for remote - value = A/D channel to poll
 190     // sx710 - Open circuit = ~4090, 10k ohm = ~1380?, 3.5k = ~600 (56C as bat temp)
 191 //    #undef CAM_REMOTE_AtoD_THRESHOLD
 192 //    #define CAM_REMOTE_AtoD_THRESHOLD       800 // 3rd battery terminal A/D reading threshold ( lower = 1, higher = 0 )
 193  
 194 // camera crashes if sd override used in AF
 195 //    #define CAM_SD_OVER_IN_AF                   1
 196     #define CAM_SD_OVER_IN_AFL                  1
 197     #define CAM_SD_OVER_IN_MF                   1
 198  
 199 // AF led, for MD test code
 200     #undef CAM_AF_LED
 201     #define CAM_AF_LED                      1
 202 
 203 //--------------------------------------------------

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