root/platform/ixus140_elph130/platform_camera.h

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

INCLUDED FROM


   1 // Camera - ixus140_elph130 - platform_camera.h
   2 
   3 // This file contains the various settings values specific to the elph130 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                     6
  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         6   // CoC value for camera/sensor (see http://www.dofmaster.com/digital_coc.html)
  30 
  31     #define CAM_RAW_ROWPIX                  4704    // Found @0xff1be31c
  32     #define CAM_RAW_ROWS                    3504    // Found @0xff1be328
  33 
  34     #define CAM_JPEG_WIDTH                  4608
  35     #define CAM_JPEG_HEIGHT                 3456
  36 
  37     // defined to pixels containing any data, commented excludes darker border
  38     #define CAM_ACTIVE_AREA_X1              12      // 28
  39     #define CAM_ACTIVE_AREA_Y1              10      // 20
  40     #define CAM_ACTIVE_AREA_X2              4666    // 4652
  41     #define CAM_ACTIVE_AREA_Y2              3492    // 3480
  42 
  43     #undef  CAM_UNCACHED_BIT
  44     #define CAM_UNCACHED_BIT                0x40000000 // Found @0xff038dd4
  45 
  46     #undef CAM_SENSOR_BITS_PER_PIXEL
  47     #define CAM_SENSOR_BITS_PER_PIXEL       12
  48 
  49     #define CAM_DNG_LENS_INFO               { 50,10, 400,10, 32,10, 69,10 } // See comments in camera.h
  50 
  51     // verified
  52     #define cam_CFAPattern                  0x01000201 // Green  Blue  Red  Green
  53 
  54     // TODO C&P from D10
  55     #define CAM_COLORMATRIX1                        \
  56       14052, 10000,   -5229, 10000,   -1156, 10000, \
  57       -1325, 10000,    9420, 10000,    2252, 10000, \
  58        -498, 10000,    1957, 10000,    4116, 10000
  59     #define cam_CalibrationIlluminant1      21      // D65
  60 
  61     #define CAM_HAS_VIDEO_BUTTON            1
  62     // no separate erase button
  63     #undef  CAM_HAS_ERASE_BUTTON
  64     #undef  CAM_HAS_DISP_BUTTON
  65     #undef  CAM_USE_ZOOM_FOR_MF
  66     #undef  CAM_HAS_IRIS_DIAPHRAGM
  67     #define CAM_HAS_ND_FILTER               1
  68 
  69     // long shutter is actually user TV, may work ?
  70     #undef  CAM_HAS_USER_TV_MODES
  71     #define CAM_SHOW_OSD_IN_SHOOT_MENU      1
  72 
  73     #undef  CAM_VIDEO_CONTROL
  74 // not working
  75     #undef  CAM_CHDK_HAS_EXT_VIDEO_MENU
  76 //    #define CAM_VIDEO_QUALITY_ONLY          1
  77 //    #define CAM_CHDK_HAS_EXT_VIDEO_MENU     1
  78 
  79     // TODO
  80 //    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
  81 
  82     #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO  // unlocked in canon firmware by default
  83 
  84     #undef  CAM_HAS_MANUAL_FOCUS
  85 
  86     // MakeDirectory_Fut not found, using mkdir
  87     #define MKDIR_RETURN_ONE_ON_SUCCESS
  88 
  89     //aspect correction
  90     #undef  CAM_USES_ASPECT_CORRECTION
  91     #define CAM_USES_ASPECT_CORRECTION      1       //camera uses the modified graphics primitives to map screens an viewports to buffers more sized
  92     #undef CAM_BITMAP_WIDTH
  93     #define CAM_BITMAP_WIDTH                720     // Actual width of bitmap screen in bytes
  94 
  95     #define DRAW_ON_ACTIVE_BITMAP_BUFFER_ONLY 1     // Draw pixels on active bitmap buffer only.
  96 
  97     #define CAM_LOAD_CUSTOM_COLORS          1       // Enable loading CHDK colors into the camera palette memory/hardware
  98     // doesn't seem to conflict badly with anything
  99 
 100     #define CAM_DRIVE_MODE_FROM_TIMER_MODE  1       // use PROPCASE_TIMER_MODE to check for multiple shot custom timer.
 101                                                     // Used to enabled bracketing in custom timer, required on many recent cameras
 102                                                     // see http://chdk.setepontos.com/index.php/topic,3994.405.html
 103 
 104     #define CAM_ADJUSTABLE_ALT_BUTTON       1
 105 
 106     #define CAM_ALT_BUTTON_NAMES            { "Playback", "Video" }
 107     #define CAM_ALT_BUTTON_OPTIONS          { KEY_PLAYBACK, KEY_VIDEO }
 108 
 109     // verified
 110     #undef  CAM_USB_EVENTID
 111     #define CAM_USB_EVENTID                 0x202   // Levent ID for USB control. Changed in DryOS R49 so needs to be overridable.
 112 
 113     #undef  CAMERA_MIN_DIST
 114     #define CAMERA_MIN_DIST                 45      // Override min subject distance in macro mode
 115     #undef CAMERA_MAX_DIST
 116     // TODO largest value obtained focusing at distant things
 117     #define CAMERA_MAX_DIST              775194       // Define max distance that can be set in _MoveFocusLensToDistance (allow override for superzooms - SX30/SX40)
 118 
 119     #define CAM_DATE_FOLDER_NAMING          0x80
 120 
 121     #define PARAM_CAMERA_NAME               3       // parameter number for GetParameterData
 122 
 123     #define CAM_FILE_COUNTER_IS_VAR         1       // file counter is variable file_counter_var in stubs, not a param
 124 
 125     #define  CAM_HAS_FILEWRITETASK_HOOK     1       // FileWriteTask hook is available (local file write can be prevented)
 126     #define  CAM_FILEWRITETASK_SEEKS        1       // Camera's FileWriteTask can do Lseek() - DryOS r50 or higher, the define could also be CAM_DRYOS_2_3_R50
 127 
 128 //    only non-AF led available
 129     #define REMOTE_SYNC_STATUS_LED          0xC0220094 // specifies an LED that turns on while camera waits for USB remote to sync
 130     #define CAM_REMOTE_ANALOG_AV                1 // Camera supports analog AV detect for remote signal
 131     #define CAM_REMOTE_AtoD_CHANNEL             5 // Camera supports using 3rd battery terminal as well as USB for remote - value = A/D channel to poll
 132 // elph130 - open circuit 1023, 10k ohm ~340 (=25c) 3.5k = ~160 (54c)
 133 //    #define CAM_REMOTE_AtoD_THRESHOLD       200 // 3rd battery terminal A/D reading threshold ( lower = 1, higher = 0 )
 134 
 135     #undef CAM_AF_LED
 136     #define CAM_AF_LED                      1
 137 
 138     #define CAM_DISABLE_RAW_IN_LOW_LIGHT_MODE 1     // For cameras with 'low light' mode that does not work with raw define this
 139 
 140     #define SHORTCUT_TOGGLE_RAW             KEY_VIDEO  // conflicts with adjustable alt, but not many to choose from
 141 
 142     #define CAM_SD_OVER_IN_AFL              1
 143     #define CAM_SD_OVER_IN_MF               1
 144 
 145     #define CAM_NEED_SET_ZOOM_DELAY          150    // Define to add a delay after setting the zoom position
 146 
 147     #define CAM_IS_VID_REC_WORKS                1   // is_video_recording() function works
 148 
 149 //----------------------------------------------------------

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