1 // Camera - a2100 - platform_camera.h 2 3 // This file contains the various settings values specific to the a2100 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 2 24 #define CAM_DRYOS 1 25 26 #define CAM_RAW_ROWPIX 4104 // Found @0xffcc7c70 27 #define CAM_RAW_ROWS 3048 // Found @0xffcc7c78 28 29 // left as test 30 31 #undef CAM_USE_ZOOM_FOR_MF // Zoom lever can be used for manual focus adjustments 32 33 #define CAM_DRAW_EXPOSITION 1 // Output expo-pair on screen (for cameras which (sometimes) don't do that) 34 #undef CAM_HAS_ERASE_BUTTON // Camera has dedicated erase button 35 #undef CAM_HAS_IRIS_DIAPHRAGM // Camera has real diaphragm mechanism (http://en.wikipedia.org/wiki/Diaphragm_%28optics%29) 36 #define CAM_HAS_ND_FILTER 1 // Camera has build-in ND filter 37 #undef CAM_HAS_MANUAL_FOCUS // Camera has manual focus mode 38 #undef CAM_HAS_USER_TV_MODES // Camera has tv-priority or manual modes with ability to set tv value 39 40 //#undef CAM_SHOW_OSD_IN_SHOOT_MENU // On some cameras Canon shoot menu has additional functionality and useful in this case to see CHDK OSD in this mode 41 42 #define CAM_MULTIPART 1 43 #undef CAM_VIDEO_CONTROL 44 #define CAM_VIDEO_QUALITY_ONLY 1 45 46 #define CAM_REAR_CURTAIN 1 // Camera do not have front/rear curtain flash sync in menu 47 //#undef CAM_BRACKETING // Cameras that have bracketing (focus & ev) in original firmware already, most likely s- & g-series (propcase for digic III not found yet!) 48 49 #undef CAM_UNCACHED_BIT 50 #define CAM_UNCACHED_BIT 0x40000000 // Found @0xffc16e84 51 52 #undef CAM_SENSOR_BITS_PER_PIXEL 53 #define CAM_SENSOR_BITS_PER_PIXEL 12 // Bits per pixel. 10 is standard, 12 is supported except for curves 54 55 // Older cameras had a screen/bitmap buffer that was 360 pixels wide (or 480 for wide screen models) 56 // CHDK was built around this 360 pixel wide display model 57 // Newer cameras have a 720 pixel wide bitmap (960 for wide screen cameras) 58 // To accomadate this the CHDK co-ordinate system assumes a 360/480 wide buffer and the 59 // pixel drawing routines draw every pixel twice to scale the image up to the actual buffer size 60 // Define CAM_USES_ASPECT_CORRECTION with a value of 1 to enable this scaled display 61 #undef CAM_USES_ASPECT_CORRECTION 62 #define CAM_USES_ASPECT_CORRECTION 1 //camera uses the modified graphics primitives to map screens an viewports to buffers more sized 63 #undef CAM_BITMAP_WIDTH 64 #define CAM_BITMAP_WIDTH 720 // Actual width of bitmap screen in bytes 65 66 #define CAM_QUALITY_OVERRIDE 1 // define this in platform_camera.h to enable 'Super Fine' JPEG compression mode 67 // used to allow super fine JPEG option on cameras where this has been removed 68 // from the Canon menu. Note: may not actually work on all cameras. 69 70 // RAW & DNG related values 71 #undef DEFAULT_RAW_EXT 72 #define DEFAULT_RAW_EXT 2 // use .CR2 // extension to use for raw (see raw_exts in conf.c) 73 #define CAM_JPEG_WIDTH 4000 74 #define CAM_JPEG_HEIGHT 3000 75 76 #define CAM_ACTIVE_AREA_X1 20 77 #define CAM_ACTIVE_AREA_Y1 24 78 #define CAM_ACTIVE_AREA_X2 4020 79 #define CAM_ACTIVE_AREA_Y2 3024 80 81 #define cam_CFAPattern 0x01000201 // GBRG // Camera Bayer sensor data layout (DNG colors are messed up if not correct - should be either 0x01000201 = [Green Blue Red Green] or 0x02010100 = [Red Green Green Blue] 82 83 #define CAM_COLORMATRIX1 \ 84 793137, 1000000, -271722, 1000000, -113158, 1000000, \ 85 -55013, 1000000, 541027, 1000000, 32394, 1000000, \ 86 21921, 1000000, 71395, 1000000, 181847, 1000000 // DNG color profile matrix 87 #define cam_CalibrationIlluminant1 1 // Daylight // DNG color profile illuminant - set it to 17 for standard light A 88 89 //A2100 36-216mm (35mm equiv), F3.2 - F5.9, 90 //#undef CAM_DNG_LENS_INFO // Define this to include camera lens information in DNG files 91 // Value should be an array of 4 DNG 'RATIONAL' values specifying 92 // - min focal length in mm 93 // - max focal length in mm 94 // - max aperture at min focal length 95 // - max aperture at max focal length 96 // E.G - SX30 = { 43,10, 1505,10, 27,10, 58,10 } 97 // = 4.3 - 150.5mm, f/2.7 - f.5.8 98 // Each pair of integers is one 'RATIONAL' value (numerator,denominator) 99 100 #define CAM_DNG_LENS_INFO { 360,10, 2160,10, 32,10, 59,10 } // See comments in camera.h 101 102 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData to get camera name 103 104 //#undef CAM_DRIVE_MODE_FROM_TIMER_MODE // use PROPCASE_TIMER_MODE to check for multiple shot custom timer. 105 // Used to enabled bracketing in custom timer, required on many recent cameras 106 // see http://chdk.setepontos.com/index.php/topic,3994.405.html 107 108 //#undef CAM_LOAD_CUSTOM_COLORS // Define to enable loading CHDK custom colors into the camera color palette 109 // requires load_chdk_palette() and vid_get_bitmap_active_palette() to be defined 110 // correctly for the camera along with 111 //#undef CAM_USE_COLORED_ICONS // If the color palette contains enough shades of red, green, yellow and grey 112 // defined then enable this use the better icons (from CHDK-DE). See gui_batt.c 113 // and gui_space.c. 114 115 #define CAM_HAS_FILEWRITETASK_HOOK 1 // file write hook for remote capture etc 116 117 #define REMOTE_SYNC_STATUS_LED 0xC022000C // specifies an LED that turns on while camera waits for USB remote to sync 118 119 #define CAM_SD_OVER_IN_AF 1 120 #define CAM_SD_OVER_IN_AFL 1 121 #define CAM_SD_OVER_IN_MF 1 122 123 #define CAM_PTP_USE_NATIVE_BUFFER 1 // use firmware buffers to avoid problems with uncached memory 124 125 //--------------------------------------------------