1 // Camera - IXUS 310 HS (Elph 500 HS / IXY 31S) - platform_camera.h 2 3 // This file contains the various settings values specific to the IXUS 310 HS 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 4 24 #define CAM_DRYOS 1 25 #define CAM_DRYOS_2_3_R39 1 26 #define CAM_DRYOS_2_3_R47 1 27 28 #define DRAW_ON_ACTIVE_BITMAP_BUFFER_ONLY 1 // Draw pixels on active bitmap buffer only. 29 30 #undef CAM_AF_LED 31 #define CAM_AF_LED 1 // Index of AF led in camera_set_led function 32 33 #define CAM_RAW_ROWPIX 4168 // Found @0xff14a2ec 34 #define CAM_RAW_ROWS 3060 // Found @0xff14a2f0 35 #undef CAM_UNCACHED_BIT 36 #define CAM_UNCACHED_BIT 0x40000000 // Found @0xff02b914 37 38 // cropping 39 #define CAM_JPEG_WIDTH 4000 40 #define CAM_JPEG_HEIGHT 3000 41 #define CAM_ACTIVE_AREA_X1 120 42 #define CAM_ACTIVE_AREA_Y1 36 43 #define CAM_ACTIVE_AREA_X2 4136 44 #define CAM_ACTIVE_AREA_Y2 3040 45 46 #undef CAM_EMUL_KEYPRESS_DURATION 47 #define CAM_EMUL_KEYPRESS_DURATION 10 48 #undef CAM_USE_ZOOM_FOR_MF 49 #define CAM_BRACKETING 1 50 #undef CAM_VIDEO_CONTROL 51 #define CAM_VIDEO_QUALITY_ONLY 1 52 //#define CAM_EV_IN_VIDEO 1 53 //#define CAM_SHOW_OSD_IN_SHOOT_MENU 1 54 //#define CAM_QUALITY_OVERRIDE 1 55 56 #define CAM_HAS_CMOS 1 57 #define CAM_HAS_ND_FILTER 1 58 59 #undef CAM_HAS_ERASE_BUTTON // No erase button 60 #undef CAM_HAS_MANUAL_FOCUS // No manual focus mode 61 62 #undef CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO // Can already zoom in video, no need to unlock 63 #define CAM_HAS_VIDEO_BUTTON 1 64 65 #undef DEFAULT_RAW_EXT 66 #define DEFAULT_RAW_EXT 2 // use .CR2 67 68 #undef CAM_TS_BUTTON_BORDER 69 #define CAM_TS_BUTTON_BORDER 60 // Define this to leave a border on each side of the palette display. Used on the IXUS 310 to 70 // stop the palette from overlapping the on screen buttons on each side 71 #undef CAM_TS_MENU_BORDER 72 #define CAM_TS_MENU_BORDER 16 // Don't display menu at top and bottom where touch sensor does not work 73 #undef CAM_DISP_ALT_TEXT // Turn off <ALT> at bottom of screen in Alt mode - changes button color instead 74 75 #define CAM_TOUCHSCREEN_UI 1 // Enable touch screen U/I 76 77 // camera name 78 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData - Camera Model name 79 #define PARAM_OWNER_NAME 7 // parameter number for GetParameterData - Owner name 80 #define PARAM_DISPLAY_MODE1 60 // param number for LCD display mode when camera in playback 81 #define PARAM_DISPLAY_MODE2 64 // param number for LCD display mode when camera in record view hold mode 82 #undef CAM_SENSOR_BITS_PER_PIXEL 83 #define CAM_SENSOR_BITS_PER_PIXEL 12 84 85 #undef CAM_USES_ASPECT_CORRECTION 86 #define CAM_USES_ASPECT_CORRECTION 1 //camera uses the modified graphics primitives to map screens an viewports to buffers more sized 87 #undef CAM_SCREEN_WIDTH 88 #undef CAM_BITMAP_WIDTH 89 #undef CAM_BITMAP_HEIGHT 90 #define CAM_SCREEN_WIDTH 480 // Width of bitmap screen in CHDK co-ordinates 91 #define CAM_BITMAP_WIDTH 960 // Actual width of bitmap screen in bytes 92 #define CAM_BITMAP_HEIGHT 270 // Actual height of bitmap screen in rows 93 94 #undef EDGE_HMARGIN 95 #define EDGE_HMARGIN 2 96 97 #define CAM_MIN_ISO_OVERRIDE 100 // Defines min market (non-zero) ISO override value - lower value may crash if flash used [0 = AUTO, so always allowed] 98 99 // bayer sensor pattern 100 #define cam_CFAPattern 0x02010100 // Red Green Green Blue 101 102 #define CAM_DNG_EXPOSURE_BIAS 0,1 // Specify DNG exposure bias value to 0 (to override default of -0.5 in the dng.c code) 103 104 #define CAM_DNG_LENS_INFO { 43,10, 188,10, 20,10, 58,10 } // See comments in camera.h 105 106 #define cam_CalibrationIlluminant1 1 107 #define CAM_COLORMATRIX1 \ 108 544808, 100000, -174047, 100000, -80399, 100000, \ 109 -75055, 100000, 440444, 100000, 11367, 100000, \ 110 -5801, 100000, 71589, 100000, 118914, 100000 111 112 #define CAM_DATE_FOLDER_NAMING 0x400 113 114 #define CAM_DRIVE_MODE_FROM_TIMER_MODE 1 // use PROPCASE_TIMER_MODE to check for multiple shot custom timer. 115 // Used to enabled bracketing in custom timer, required on many recent cameras 116 // see http://chdk.setepontos.com/index.php/topic,3994.405.html 117 118 #define CAM_AV_OVERRIDE_IRIS_FIX 1 // for cameras that require _MoveIrisWithAv function to override Av in bracketing. 119 120 #define CAM_DISABLE_RAW_IN_LOW_LIGHT_MODE 1 // For cameras with 'low light' mode that does not work with raw define this 121 #define CAM_HAS_MOVIE_DIGEST_MODE 1 // Changes the values in the 'movie_status' variable if the camera has this mode 122 123 #define CAM_LOAD_CUSTOM_COLORS 1 // Enable loading CHDK colors into the camera palette memory/hardware 124 125 // #define REMOTE_SYNC_STATUS_LED 0xC0xxyyyy // specifies an LED that turns on while camera waits for USB remote to sync 126 127 #undef CAMERA_MIN_DIST 128 #define CAMERA_MIN_DIST 71 // Override min subject distance 129 #undef CAMERA_MAX_DIST 130 #define CAMERA_MAX_DIST 125392 // Override max subject distance 131 132 #define CAM_HAS_FILEWRITETASK_HOOK 1 // file write hook for remote capture etc 133 134 #define CAM_SD_OVER_IN_AF 1 135 #define CAM_SD_OVER_IN_AFL 1 136 #define CAM_SD_OVER_IN_MF 1 137 138 #define CAM_IS_VID_REC_WORKS 1 // is_video_recording() function works 139 140 //--------------------------------------------------