1 // Camera - ixus240hs/elph320hs - platform_camera.h 2 3 // This file contains the various settings values specific to the IXUS240/ELPH320HS 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 5 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 #define CAM_RAW_ROWPIX 4784 // Found @0xff1b1290 29 #define CAM_RAW_ROWS 3516 // Found @0xff1b129c 30 #undef CAM_UNCACHED_BIT 31 #define CAM_UNCACHED_BIT 0x40000000 // Found @0xff03b324 ixus240 32 33 #define CAM_JPEG_WIDTH 4680 34 #define CAM_JPEG_HEIGHT 3498 35 #define CAM_ACTIVE_AREA_X1 96 36 #define CAM_ACTIVE_AREA_Y1 18 37 #define CAM_ACTIVE_AREA_X2 4776 38 #define CAM_ACTIVE_AREA_Y2 3516 39 40 #undef CAM_EMUL_KEYPRESS_DURATION 41 #define CAM_EMUL_KEYPRESS_DURATION 10 42 #undef CAM_USE_ZOOM_FOR_MF 43 #define CAM_BRACKETING 1 44 #undef CAM_VIDEO_CONTROL 45 #define CAM_VIDEO_QUALITY_ONLY 1 46 //#define CAM_EV_IN_VIDEO 1 47 //#define CAM_SHOW_OSD_IN_SHOOT_MENU 1 48 //#define CAM_QUALITY_OVERRIDE 1 49 50 #define CAM_HAS_CMOS 1 51 #define CAM_HAS_ND_FILTER 1 52 53 #undef CAM_HAS_ERASE_BUTTON // No erase button 54 #undef CAM_HAS_MANUAL_FOCUS // No manual focus mode 55 56 #undef CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 57 58 #undef DEFAULT_RAW_EXT 59 #define DEFAULT_RAW_EXT 2 // use .CR2 60 61 #undef CAM_TS_BUTTON_BORDER 62 #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 63 // stop the palette from overlapping the on screen buttons on each side 64 #undef CAM_DISP_ALT_TEXT // Turn off <ALT> at bottom of screen in Alt mode - changes button color instead 65 66 #define CAM_TOUCHSCREEN_UI 1 // Enable touch screen U/I 67 68 // camera name 69 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData - Camera Model name 70 #define PARAM_OWNER_NAME 7 // parameter number for GetParameterData - Owner name 71 #define PARAM_DISPLAY_MODE1 60 // param number for LCD display mode when camera in playback 72 #define PARAM_DISPLAY_MODE2 64 // param number for LCD display mode when camera in record view hold mode 73 #undef CAM_SENSOR_BITS_PER_PIXEL 74 #define CAM_SENSOR_BITS_PER_PIXEL 12 75 76 #undef CAM_USES_ASPECT_CORRECTION 77 #define CAM_USES_ASPECT_CORRECTION 1 //camera uses the modified graphics primitives to map screens an viewports to buffers more sized 78 #undef CAM_SCREEN_WIDTH 79 #undef CAM_BITMAP_WIDTH 80 #undef CAM_BITMAP_HEIGHT 81 #define CAM_SCREEN_WIDTH 480 // Width of bitmap screen in CHDK co-ordinates 82 #define CAM_BITMAP_WIDTH 960 // Actual width of bitmap screen in bytes (may be larger than displayed area) 83 #define CAM_BITMAP_HEIGHT 270 // Actual height of bitmap screen in rows (240 or 270) 84 85 #undef EDGE_HMARGIN 86 #define EDGE_HMARGIN 2 87 88 // bayer sensor pattern 89 #define cam_CFAPattern 0x02010100 // Red Green Green Blue 90 91 #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) 92 93 #define CAM_DNG_LENS_INFO { 43,10, 215,10, 27,10, 59,10 } // See comments in camera.h ixus240 94 95 #define cam_CalibrationIlluminant1 1 96 #define CAM_COLORMATRIX1 \ 97 544808, 1000000, -174047, 1000000, -80399, 1000000, \ 98 -75055, 1000000, 440444, 1000000, 11367, 1000000, \ 99 -5801, 1000000, 71589, 1000000, 118914, 1000000 // Look into updating 100 101 #define CAM_ZEBRA_ASPECT_ADJUST 1 102 103 #define CAM_DATE_FOLDER_NAMING 0x400 104 105 #define CAM_DRIVE_MODE_FROM_TIMER_MODE 1 // use PROPCASE_TIMER_MODE to check for multiple shot custom timer. 106 // Used to enabled bracketing in custom timer, required on many recent cameras 107 // see http://chdk.setepontos.com/index.php/topic,3994.405.html 108 109 // #define CAM_AV_OVERRIDE_IRIS_FIX 1 // for cameras that require _MoveIrisWithAv function to override Av in bracketing. 110 #undef CAM_HAS_IRIS_DIAPHRAGM 111 112 #define CAM_DISABLE_RAW_IN_LOW_LIGHT_MODE 1 // For cameras with 'low light' mode that does not work with raw define this 113 #define CAM_HAS_MOVIE_DIGEST_MODE 1 // Changes the values in the 'movie_status' variable if the camera has this mode 114 115 #define CAM_LOAD_CUSTOM_COLORS 1 // Enable loading CHDK colors into the camera palette memory/hardware 116 117 #undef CAM_USB_EVENTID 118 #define CAM_USB_EVENTID 0x202 // Levent ID for USB control. Changed in DryOS R49, R50 so needs to be overridable. 119 120 #define MKDIR_RETURN_ONE_ON_SUCCESS 1 // mkdir() return 1 on success, 0 on fail. 121 122 #define CAM_HAS_FILEWRITETASK_HOOK 1 123 #define CAM_FILEWRITETASK_SEEKS 1 124 125 #define CAM_CHDK_HAS_EXT_VIDEO_TIME 1 126 127 // Warning : SD override for this camera with these values has not been tested 128 #define CAM_CAN_SD_OVERRIDE_UNKNOWN_STATUS 1 129 #define CAM_SD_OVER_IN_AF 1 130 #define CAM_SD_OVER_IN_MF 1 131 132 #define CAM_HAS_WIFI 1 // Camera has wifi support 133 134 //--------------------------------------------------