1 // Camera - ixus175_elph180 - platform_camera.h 2 3 // This file contains the various settings values specific to the ixus175_elph180 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 24 #define CAM_PROPSET 10 25 #define CAM_DRYOS 1 26 #define CAM_DRYOS_2_3_R39 1 // Defined for cameras with DryOS version R39 or higher 27 #define CAM_DRYOS_2_3_R47 1 // Defined for cameras with DryOS version R47 or higher 28 29 #define CAM_RAW_ROWPIX 5248 // Found @0xff97c21c 30 #define CAM_RAW_ROWS 3920 // Found @0xff97c224 31 32 #define CAM_JPEG_WIDTH 5152 33 #define CAM_JPEG_HEIGHT 3864 34 35 #define CAM_ACTIVE_AREA_X1 8 // or 16 36 #define CAM_ACTIVE_AREA_Y1 16 // or 26 37 #define CAM_ACTIVE_AREA_X2 5182 // or 5184 38 #define CAM_ACTIVE_AREA_Y2 3904 // or 3894 39 40 #undef CAM_UNCACHED_BIT 41 #define CAM_UNCACHED_BIT 0x40000000 // Found @0xff825d74 42 43 #undef CAM_SENSOR_BITS_PER_PIXEL 44 #define CAM_SENSOR_BITS_PER_PIXEL 12 45 46 #define CAM_DNG_LENS_INFO { 50,10, 400,10, 32,10, 69,10 } // See comments in camera.h 47 48 #define cam_CFAPattern 0x02010100 // Red Green Green Blue ixus160 49 50 //TODO 51 #define CAM_COLORMATRIX1 \ 52 827547, 1000000, -290458, 1000000, -126086, 1000000, \ 53 -12829, 1000000, 530507, 1000000, 50537, 1000000, \ 54 5181, 1000000, 48183, 1000000, 245014, 1000000 55 56 #define cam_CalibrationIlluminant1 1 // Daylight 57 58 #define CAM_DATE_FOLDER_NAMING 0x080 // Found @0xffaba86c (pass as 3rd param to GetImageFolder) 59 #define PARAM_CAMERA_NAME 3 // Found @0xffce41a8 60 61 // MakeDirectory_Fut not found, using mkdir 62 #define MKDIR_RETURN_ONE_ON_SUCCESS 1 63 64 // doesn't appear to use complicated multi pass or seek in normal cases 65 #define CAM_HAS_FILEWRITETASK_HOOK 1 // FileWriteTask hook is available (local file write can be prevented) 66 // #define CAM_FILEWRITETASK_SEEKS 1 // Camera's FileWriteTask can do Lseek() - doesn't seem to be required 67 68 #define CAM_FILE_COUNTER_IS_VAR 1 // file counter is variable file_counter_var in stubs, not a param 69 70 #undef CAM_HAS_IRIS_DIAPHRAGM 71 #define CAM_HAS_ND_FILTER 1 72 #define CAM_ND_SET_AV_VALUE 1 // ND-only Camera needs AV propcase set to override ND 73 #define CAM_EXT_TV_RANGE 1 // CHDK can make exposure time longer than 64s (up to 1024s without exp_drv) 74 75 #define CAM_QUALITY_OVERRIDE 1 // enable JPEG quality override 76 77 #undef CAM_USES_ASPECT_CORRECTION 78 #define CAM_USES_ASPECT_CORRECTION 1 // camera uses the modified graphics primitives to map screens an viewports to buffers more sized 79 #undef CAM_BITMAP_WIDTH 80 #define CAM_BITMAP_WIDTH 720 // Actual width of bitmap screen in bytes 81 #undef CAM_BITMAP_HEIGHT 82 #define CAM_BITMAP_HEIGHT 360 83 84 // #define CAM_ZEBRA_NOBUF 1 85 86 #define CAM_LOAD_CUSTOM_COLORS 1 // Enable loading CHDK colors into the camera palette memory/hardware 87 88 #define CAM_ADJUSTABLE_ALT_BUTTON 1 89 90 #define CAM_ALT_BUTTON_NAMES { "Playback", "Erase", "Video" } 91 #define CAM_ALT_BUTTON_OPTIONS { KEY_PLAYBACK, KEY_ERASE, KEY_VIDEO } 92 93 #define DRAW_ON_ACTIVE_BITMAP_BUFFER_ONLY 1 94 95 #define CAM_DISABLE_RAW_IN_LOW_LIGHT_MODE 1 // For cameras with 'low light' mode that does not work with raw define this 96 97 #define CAM_NEED_SET_ZOOM_DELAY 500 // Define to add a delay after setting the zoom position 98 99 // #undef CAM_HAS_ERASE_BUTTON 100 #undef CAM_HAS_DISP_BUTTON 101 #undef CAM_DEFAULT_ALT_BUTTON 102 #define CAM_DEFAULT_ALT_BUTTON KEY_PLAYBACK 103 #define SHORTCUT_TOGGLE_RAW KEY_VIDEO 104 #define CAM_HAS_VIDEO_BUTTON 1 105 106 #define CAM_SD_OVER_IN_AF 1 107 #define CAM_SD_OVER_IN_AFL 1 108 #define CAM_SD_OVER_IN_MF 1 109 110 #undef CAM_USB_EVENTID 111 #define CAM_USB_EVENTID 0x302 // Levent ID for USB control. Changed in DryOS R49 so needs to be overridable. 112 113 #undef CAM_AF_LED 114 #define CAM_AF_LED 1 115 //#define CAM_VIDEO_QUALITY_ONLY 1 116 #undef CAM_VIDEO_CONTROL 117 #undef CAM_CHDK_HAS_EXT_VIDEO_MENU 118 #undef CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO // it's unlocked by default 119 #define CAM_IS_VID_REC_WORKS 1 120 121 #define CAM_REMOTE_ANALOG_AV 1 // Camera supports analog AV detect for remote signal 122 #define CAM_REMOTE_AtoD_CHANNEL 5 // Camera supports using 3rd battery terminal as well as USB for remote - value = A/D channel to poll 123 // elph180 - open circuit 1023, 10k ohm ~340 (=25c), 3.5k = ~160 (54c) 124 // #define CAM_REMOTE_AtoD_THRESHOLD 200 // 3rd battery terminal A/D reading threshold ( lower = 1, higher = 0 ) 125 126 //#define CAM_DRIVE_MODE_FROM_TIMER_MODE 1 127 128 #define CAM_UNLOCK_ANALOG_AV_IN_REC 1 // define to enable analog video out in rec mode for cameras without native support 129 130 #define CAM_3ARG_DebugAssert 1 // DebugAssert takes 3 arguments 131 132 //----------------------------------------------------------