root/platform/ixus175_elph180/platform_camera.h

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

INCLUDED FROM


   1 // Camera - ixus175_elph180 - platform_camera.h
   2 
   3 // This file contains the various settings values specific to the ixus175_elph180 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 
  24     #define CAM_PROPSET                     10
  25     #define CAM_DRYOS                       1
  26     #define CAM_DRYOS_2_3_R39               1       // Defined for cameras with DryOS version R39 or higher
  27     #define CAM_DRYOS_2_3_R47               1       // Defined for cameras with DryOS version R47 or higher
  28 
  29 #define CAM_RAW_ROWPIX    5248 // Found @0xff97c21c
  30 #define CAM_RAW_ROWS      3920 // Found @0xff97c224
  31 
  32     #define CAM_JPEG_WIDTH                  5152
  33     #define CAM_JPEG_HEIGHT                 3864
  34     
  35     #define CAM_ACTIVE_AREA_X1              8 // or 16
  36     #define CAM_ACTIVE_AREA_Y1              16 // or 26
  37     #define CAM_ACTIVE_AREA_X2              5182 // or 5184
  38     #define CAM_ACTIVE_AREA_Y2              3904 // or 3894
  39 
  40     #undef  CAM_UNCACHED_BIT
  41     #define CAM_UNCACHED_BIT                0x40000000 // Found @0xff825d74
  42 
  43     #undef  CAM_SENSOR_BITS_PER_PIXEL
  44     #define CAM_SENSOR_BITS_PER_PIXEL       12
  45     
  46     #define CAM_DNG_LENS_INFO               { 50,10, 400,10, 32,10, 69,10 } // See comments in camera.h
  47     
  48     #define cam_CFAPattern                  0x02010100 // Red  Green  Green  Blue ixus160
  49     
  50     //TODO
  51     #define CAM_COLORMATRIX1                             \
  52     827547, 1000000, -290458, 1000000, -126086, 1000000, \
  53     -12829, 1000000,  530507, 1000000,   50537, 1000000, \
  54       5181, 1000000,   48183, 1000000,  245014, 1000000
  55 
  56     #define cam_CalibrationIlluminant1      1       // Daylight
  57 
  58 #define CAM_DATE_FOLDER_NAMING 0x080 // Found @0xffaba86c (pass as 3rd param to GetImageFolder)
  59 #define PARAM_CAMERA_NAME 3 // Found @0xffce41a8
  60 
  61     // MakeDirectory_Fut not found, using mkdir
  62     #define MKDIR_RETURN_ONE_ON_SUCCESS     1
  63 
  64     // doesn't appear to use complicated multi pass or seek in normal cases
  65     #define CAM_HAS_FILEWRITETASK_HOOK      1       // FileWriteTask hook is available (local file write can be prevented)
  66 //    #define CAM_FILEWRITETASK_SEEKS         1       // Camera's FileWriteTask can do Lseek() - doesn't seem to be required
  67 
  68     #define CAM_FILE_COUNTER_IS_VAR         1       // file counter is variable file_counter_var in stubs, not a param
  69 
  70     #undef  CAM_HAS_IRIS_DIAPHRAGM
  71     #define CAM_HAS_ND_FILTER               1
  72     #define CAM_ND_SET_AV_VALUE             1       // ND-only Camera needs AV propcase set to override ND
  73     #define CAM_EXT_TV_RANGE                1       // CHDK can make exposure time longer than 64s (up to 1024s without exp_drv)
  74 
  75     #define CAM_QUALITY_OVERRIDE            1       // enable JPEG quality override
  76 
  77     #undef  CAM_USES_ASPECT_CORRECTION
  78     #define CAM_USES_ASPECT_CORRECTION      1       // camera uses the modified graphics primitives to map screens an viewports to buffers more sized
  79     #undef  CAM_BITMAP_WIDTH
  80     #define CAM_BITMAP_WIDTH                720     // Actual width of bitmap screen in bytes
  81     #undef  CAM_BITMAP_HEIGHT
  82     #define CAM_BITMAP_HEIGHT               360
  83 
  84  //   #define CAM_ZEBRA_NOBUF                 1
  85 
  86     #define CAM_LOAD_CUSTOM_COLORS          1       // Enable loading CHDK colors into the camera palette memory/hardware
  87 
  88     #define CAM_ADJUSTABLE_ALT_BUTTON       1
  89 
  90     #define CAM_ALT_BUTTON_NAMES            { "Playback", "Erase", "Video" }
  91     #define CAM_ALT_BUTTON_OPTIONS          { KEY_PLAYBACK, KEY_ERASE, KEY_VIDEO }
  92 
  93     #define DRAW_ON_ACTIVE_BITMAP_BUFFER_ONLY   1
  94 
  95     #define CAM_DISABLE_RAW_IN_LOW_LIGHT_MODE   1   // For cameras with 'low light' mode that does not work with raw define this
  96 
  97     #define CAM_USE_ALT_SET_ZOOM_POINT          1   // Define to use the alternate code in lens_set_zoom_point()
  98     #define CAM_USE_ALT_PT_MoveOpticalZoomAt    1   // Define to use the PT_MoveOpticalZoomAt() function in lens_set_zoom_point()
  99     #define CAM_NEED_SET_ZOOM_DELAY             500 // Define to add a delay after setting the zoom position
 100     
 101 //    #undef  CAM_HAS_ERASE_BUTTON
 102     #undef  CAM_HAS_DISP_BUTTON
 103     #undef  CAM_DEFAULT_ALT_BUTTON
 104     #define CAM_DEFAULT_ALT_BUTTON          KEY_PLAYBACK
 105     #define SHORTCUT_TOGGLE_RAW             KEY_VIDEO
 106     #define CAM_HAS_VIDEO_BUTTON            1
 107 
 108         #define CAM_SD_OVER_IN_AF               1
 109     #define CAM_SD_OVER_IN_AFL              1
 110     #define CAM_SD_OVER_IN_MF               1
 111 
 112         #undef  CAM_USB_EVENTID
 113     #define CAM_USB_EVENTID                 0x302   // Levent ID for USB control. Changed in DryOS R49 so needs to be overridable.
 114         
 115         #undef CAM_AF_LED
 116     #define CAM_AF_LED                      1
 117     //#define CAM_VIDEO_QUALITY_ONLY          1
 118     #undef  CAM_VIDEO_CONTROL
 119     #undef  CAM_CHDK_HAS_EXT_VIDEO_MENU
 120     #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO    // it's unlocked by default
 121     #define CAM_IS_VID_REC_WORKS            1
 122 
 123     #define CAM_REMOTE_ANALOG_AV                1 // Camera supports analog AV detect for remote signal
 124     #define CAM_REMOTE_AtoD_CHANNEL             5 // Camera supports using 3rd battery terminal as well as USB for remote - value = A/D channel to poll
 125 // elph180 - open circuit 1023, 10k ohm ~340 (=25c), 3.5k = ~160 (54c)
 126 //    #define CAM_REMOTE_AtoD_THRESHOLD       200 // 3rd battery terminal A/D reading threshold ( lower = 1, higher = 0 )
 127 
 128     //#define CAM_DRIVE_MODE_FROM_TIMER_MODE  1
 129 
 130    
 131 //----------------------------------------------------------

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