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 #define CAM_HAS_WIFI 1 // Camera has wifi support 150 151 //----------------------------------------------------------