// camera.h #ifdef CHDK_MODULE_CODE #error camera.h cannot be #included in module code (did you mean camera_info.h). #endif // This file contains the default values for various settings that may change across camera models. // Setting values specific to each camera model can be found in the platform/XXX/platform_camera.h file for camera. // If adding a new settings value put a suitable default value in here, along with documentation on // what the setting does and how to determine the correct value. // If the setting should not have a default value then add it here using the '#undef' directive // along with appropriate documentation. #ifndef CAMERA_H #define CAMERA_H //========================================================== // Camera-dependent settings //========================================================== //---------------------------------------------------------- // Default values //---------------------------------------------------------- #undef CAM_DRYOS // Camera is DryOS-based #undef CAM_PROPSET // Camera's properties group (the generation) #define CAM_FLASHPARAMS_VERSION 3 // flash parameters structure version (every camera from 2005 on is version 3) #undef CAM_DRYOS_2_3_R31 // Define for cameras with DryOS release R31 or greater -> G10 #undef CAM_DRYOS_2_3_R39 // Define for cameras with DryOS release R39 or greater #undef CAM_DRYOS_2_3_R47 // Define for cameras with DryOS release R47 or greater -> Cameras can boot from FAT32 #undef CAM_HAS_CMOS // Camera has CMOS sensor #undef CAM_SWIVEL_SCREEN // Camera has rotated LCD screen #define CAM_USE_ZOOM_FOR_MF 1 // Zoom lever can be used for manual focus adjustments #define CAM_DEFAULT_ALT_BUTTON KEY_PRINT // alt button for cameras without adjustable alt // redefine if not print to avoid need for KEY_PRINT alias in keymap #undef CAM_ADJUSTABLE_ALT_BUTTON // ALT-button can be set from menu, must set next two values as well #undef CAM_ALT_BUTTON_NAMES // Define the list of names for the ALT button - e.g. { "Print", "Display" } #undef CAM_ALT_BUTTON_OPTIONS // Define the list of options for the ALT button - e.g. { KEY_PRINT, KEY_DISPLAY } #define CAM_REMOTE 1 // Camera supports USB-remote #undef SYNCHABLE_REMOTE_NOT_ENABLED // Disable support for synchable remote switch (in kbd.c) TODO only used by one camera ??? #undef CAM_MULTIPART // Camera supports SD-card multipartitioning #define CAM_HAS_ZOOM_LEVER 1 // Camera has dedicated zoom buttons #undef CAM_DRAW_EXPOSITION // Output expo-pair on screen (for cameras which (sometimes) don't do that) #define CAM_HAS_ERASE_BUTTON 1 // Camera has dedicated erase button #define CAM_HAS_DISP_BUTTON 1 // Camera has dedicated DISP button #define CAM_HAS_IRIS_DIAPHRAGM 1 // Camera has real diaphragm mechanism (http://en.wikipedia.org/wiki/Diaphragm_%28optics%29) #undef CAM_HAS_ND_FILTER // Camera has build-in ND filter #undef CAM_HAS_NATIVE_ND_FILTER // Camera has built-in ND filter with Canon menu support for enable/disable #define CAM_CAN_SD_OVER_NOT_IN_MF 1 // Camera allows subject distance (focus) override when not in manual focus mode #undef CAM_CAN_SD_OVER_IN_AF_LOCK // Camera allows subject distance (focus) override when in AF Lock mode #undef CAM_CAN_SD_OVER_IN_AF_LOCK_ONLY // Camera allows subject distance (focus) override only when in AF Lock mode OR in movie mode #define CAM_CAN_SD_OVERRIDE 1 // Camera allows to do subject distance override #define CAM_HAS_MANUAL_FOCUS 1 // Camera has manual focus mode #define CAM_HAS_USER_TV_MODES 1 // Camera has tv-priority or manual modes with ability to set tv value #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 #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 1 // Camera can unlock optical zoom in video (if it is locked) #undef CAM_FEATURE_FEATHER // Cameras with "feather" or touch wheel. #define CAM_HAS_IS 1 // Camera has image stabilizer #undef CAM_HAS_JOGDIAL // Camera has a "jog dial" #undef CAM_CONSOLE_LOG_ENABLED // Development: internal camera stdout -> A/stdout.txt #define CAM_CHDK_HAS_EXT_VIDEO_MENU 1 // In CHDK for this camera realized adjustable video compression #undef CAM_CAN_MUTE_MICROPHONE // Camera has function to mute microphone #define CAM_EMUL_KEYPRESS_DELAY 40 // Delay to interpret -button press as longpress #define CAM_EMUL_KEYPRESS_DURATION 5 // Length of keypress emulation #define CAM_MENU_BORDERWIDTH 30 // Defines the width of the border on each side of the CHDK menu. The CHDK menu will have this // many pixels left blank to the on each side. Should not be less than 10 to allow room for the // scroll bar on the right. #undef CAM_TOUCHSCREEN_UI // Define to enable touch screen U/I (e.g. IXUS 310 HS) #define CAM_TS_BUTTON_BORDER 0 // Define this to leave a border on each side of the OSD display for touch screen buttons. // Used on the IXUS 310 to stop the OSD from overlapping the on screen buttons on each side #define CAM_DISP_ALT_TEXT 1 // Display the '' message at the bottom of the screen in ALT mode (IXUS 310 changes button color instead) #undef CAM_AF_SCAN_DURING_VIDEO_RECORD // CHDK can make single AF scan during video record #undef CAM_RESET_AEL_AFTER_VIDEO_AF // Cam needs AE Lock state reset after AF in video recording #undef CAM_HAS_VIDEO_BUTTON // Camera can take stills in video mode, and vice versa #undef CAM_EV_IN_VIDEO // CHDK can change exposure in video mode #define CAM_VIDEO_CONTROL 1 // pause / unpause video recordings #undef CAM_VIDEO_QUALITY_ONLY // Override Video Bitrate is not supported #undef CAM_CHDK_HAS_EXT_VIDEO_TIME // Camera can override time limit of video record -> sx220/230 #undef CAM_HAS_MOVIE_DIGEST_MODE // The values in the 'movie_status' variable change if the camera has this mode (see is_video_recording()) #undef CAM_HAS_SPORTS_MODE // Define to enable the RAW exception override control for SPORTS mode (s3is, sx30, sx40, etc) #define ZOOM_OVERRIDE 0 // Shall zoom-override be used? default 0 becoz not implemented right now #undef CAM_REAR_CURTAIN // Camera do not have front/rear curtain flash sync in menu #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!) #undef CAM_EXT_TV_RANGE // CHDK can make exposure time longer than 64s #define CAM_EXT_AV_RANGE 6 // Number of 1/3 stop increments to extend the Av range beyond the Canon default smallest aperture // override in platform_camera.h for cameras with different range (e.g. G1X can't go below F/16 so set this to 0) #define CAM_CHDK_PTP 1 // include CHDK PTP support #undef CAM_HAS_FILEWRITETASK_HOOK // FileWriteTask hook is available (local file write can be prevented) #undef CAM_FILEWRITETASK_SEEKS // Camera's FileWriteTask can do Lseek() - DryOS r50 or higher, the define could also be CAM_DRYOS_2_3_R50 #define CAM_UNCACHED_BIT 0x10000000 // bit indicating the uncached memory #define CAM_SENSOR_BITS_PER_PIXEL 10 // Bits per pixel. 10 is standard, 12 is supported except for curves #define CAM_WHITE_LEVEL ((1<