1 // Camera - sx730hs - platform_camera.h 2 3 // This file contains the various settings values specific to the sx730hs 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 12 24 25 #define CAM_HAS_SPORTS_MODE 1 26 27 #define CAM_AV_OVERRIDE_IRIS_FIX 1 // for cameras that require _MoveIrisWithAv function to override Av (for bracketing). 28 29 // doesn't seem to needed 30 // #undef CAM_KEY_PRESS_DELAY 31 // #define CAM_KEY_PRESS_DELAY 60 // delay after a press 32 33 #define CAM_ADJUSTABLE_ALT_BUTTON 1 34 35 #define CAM_ALT_BUTTON_NAMES { "Playback", "Video", "Wifi" } 36 #define CAM_ALT_BUTTON_OPTIONS { KEY_PLAYBACK, KEY_VIDEO, KEY_WIFI} 37 #define CAM_DRIVE_MODE_FROM_TIMER_MODE 1 38 39 // default zebra shortcut (left) conflicts with canon AF lock 40 #define SHORTCUT_TOGGLE_ZEBRA KEY_MENU 41 // default histo shortcut (up) conflicts with canon AE lock 42 #define SHORTCUT_TOGGLE_HISTO KEY_DUMMY 43 44 #define CAM_DRYOS 1 45 #define CAM_DRYOS_2_3_R39 1 46 #define CAM_DRYOS_2_3_R47 1 47 #define CAM_DRYOS_2_3_R59 1 48 49 #define CAM_HAS_CMOS 1 50 51 // unlocked by default, not needed 52 #undef CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 53 #define CAM_HAS_VIDEO_BUTTON 1 54 55 // framing assist = erase 56 // no dedicated DISP 57 // #undef CAM_HAS_ERASE_BUTTON 58 #undef CAM_USE_ZOOM_FOR_MF 59 60 // not implemented 61 #undef CAM_CHDK_HAS_EXT_VIDEO_MENU 62 #undef CAM_VIDEO_CONTROL 63 64 // minimal recording or not only 65 #define CAM_SIMPLE_MOVIE_STATUS 1 66 67 #define CAM_IS_VID_REC_WORKS 1 // Define if the 'is_video_recording()' function works 68 69 #define CAM_HAS_JOGDIAL 1 70 #undef CAM_USE_ZOOM_FOR_MF 71 72 #undef CAM_UNCACHED_BIT 73 #define CAM_UNCACHED_BIT 0x40000000 74 75 // default 76 // #define CAM_CIRCLE_OF_CONFUSION 5 // CoC value for camera/sensor (see http://www.dofmaster.com/digital_coc.html) 77 78 #define CAM_DNG_LENS_INFO { 43,10,1720,10,33,10,69,10 } 79 #define cam_CFAPattern 0x02010100 80 81 // TODO C&P form sx60hs 82 #define cam_CalibrationIlluminant1 17 83 84 #define CAM_COLORMATRIX1 \ 85 15686, 10000, -8326, 10000, -246, 10000, \ 86 -1888, 10000, 10463, 10000, 1645, 10000, \ 87 286, 10000, 708, 10000, 6145, 10000 88 89 #define cam_CalibrationIlluminant2 21 // D65 90 91 #define CAM_COLORMATRIX2 \ 92 13161, 10000, -5451, 10000, -1344, 10000, \ 93 -1989, 10000, 10654, 10000, 1531, 10000, \ 94 -47, 10000, 1271, 10000, 4955, 10000 95 #define CAM_FORWARDMATRIX1 \ 96 3002, 10000, 3390, 10000, 3251, 10000, \ 97 1080, 10000, 6247, 10000, 2674, 10000, \ 98 341, 10000, 42, 10000, 7868, 10000 99 100 #define CAM_FORWARDMATRIX2 \ 101 3678, 10000, 4352, 10000, 1613, 10000, \ 102 1429, 10000, 8091, 10000, 480, 10000, \ 103 577, 10000, 26, 10000, 7648, 10000 104 105 #define CAM_RAW_ROWPIX 5344 106 #define CAM_RAW_ROWS 3950 107 108 #define CAM_JPEG_WIDTH 5184 109 #define CAM_JPEG_HEIGHT 3888 110 111 // sx730 verified identical to sx710 112 #define CAM_ACTIVE_AREA_X1 96 // normal level at 120 113 #define CAM_ACTIVE_AREA_Y1 18 // visible pixels start at 17, 18 to keep even, normal level at 22 114 #define CAM_ACTIVE_AREA_X2 5344 // active area extends to right 115 #define CAM_ACTIVE_AREA_Y2 3950 // active area extends to bottom of image 116 117 #define PARAM_CAMERA_NAME 3 118 119 // same as sx710 value found by calling GetImageFolder with single bits sets 120 #define CAM_DATE_FOLDER_NAMING 0x80 121 122 #define CAM_FILE_COUNTER_IS_VAR 1 // file counter is variable file_counter_var in stubs, not a param 123 124 #undef CAM_SENSOR_BITS_PER_PIXEL 125 #define CAM_SENSOR_BITS_PER_PIXEL 12 126 127 #define CAM_EXT_TV_RANGE 1 // up to 1024s appears to be supported natively in firmware, exp_drv required for short exposure 128 129 #undef CAM_EXT_AV_RANGE 130 // up to APEX 850 F21.5 at max zoom, 640 F 10 at wide 131 #define CAM_EXT_AV_RANGE 9 // Number of 1/3 stop increments to extend the Av range beyond the Canon default smallest aperture 132 133 #define CAM_SHOW_OSD_IN_SHOOT_MENU 1 134 135 #define DRAW_ON_ACTIVE_BITMAP_BUFFER_ONLY 1 // Draw pixels on active bitmap buffer only. 136 137 // seems to be 640x480 138 #undef CAM_BITMAP_WIDTH 139 #undef CAM_BITMAP_HEIGHT 140 #undef CAM_SCREEN_WIDTH 141 #undef CAM_SCREEN_HEIGHT 142 #define CAM_BITMAP_WIDTH 640 // Actual width of bitmap screen in <s>bytes</s> pixels 143 #define CAM_BITMAP_HEIGHT 480 // Actual height of bitmap screen in rows 144 #define CAM_SCREEN_WIDTH 640 // Width of bitmap screen in CHDK co-ordinates (360 or 480 pre digic 6, actual width for digic 6) 145 #define CAM_SCREEN_HEIGHT 480 // Height of bitmap screen in CHDK co-ordinates (always 240 pre digic 6, actual height for digic 6) 146 #define CAM_SUPPORT_BITMAP_RES_CHANGE 1 147 148 149 // TODO 150 #undef EDGE_HMARGIN 151 #define EDGE_HMARGIN 10 152 153 // TODO SX730 doesn't have filewrite task 154 // #define CAM_HAS_FILEWRITETASK_HOOK 1 155 // doesn't appear to use complicated multi pass or seek in normal cases 156 //#define CAM_FILEWRITETASK_SEEKS 1 157 158 #undef CAM_BITMAP_PALETTE 159 #define CAM_BITMAP_PALETTE 100 160 161 #define CAM_ZEBRA_NOBUF 1 162 163 #undef CAMERA_MIN_DIST 164 #define CAMERA_MIN_DIST 10 // Override min subject distance, min get_focus() value using MF 165 #undef CAMERA_MAX_DIST 166 #define CAMERA_MAX_DIST 1818088 // Override max subject distance, max get_focus() value at max zoom using MF before it goes to -1 167 168 //#define CAM_CHDK_HAS_EXT_VIDEO_TIME 1 169 170 #undef CAM_USB_EVENTID 171 #define CAM_USB_EVENTID 0x302 // Levent ID for USB control. 172 173 // #define CAM_HAS_MOVIE_DIGEST_MODE 1 174 175 // didn't try default default values 176 // ignored with above 177 // #define CAM_NEED_SET_ZOOM_DELAY 300 178 179 #define MKDIR_RETURN_ONE_ON_SUCCESS 1 // mkdir() return 1 on success, 0 on fail. 180 181 #undef REMOTE_SYNC_STATUS_LED 182 // #define REMOTE_SYNC_STATUS_LED 0xC022C30C // TODO specifies an LED that turns on while camera waits for USB remote to sync 183 #define CAM_REMOTE_HDMI_HPD 1 // Camera supports using HDMI hotplug detect for remote signal 184 #define CAM_REMOTE_HDMI_POWER_OVERRIDE 1 // Camera requires HDMI power to be forced on in rec mode 185 // #define CAM_REMOTE_AtoD_CHANNEL 3 // Camera supports using 3rd battery terminal as well as USB for remote - value = A/D channel to poll 186 // sx710 - Open circuit = ~4090, 10k ohm = ~1380?, 3.5k = ~600 (56C as bat temp) 187 // #undef CAM_REMOTE_AtoD_THRESHOLD 188 // #define CAM_REMOTE_AtoD_THRESHOLD 800 // 3rd battery terminal A/D reading threshold ( lower = 1, higher = 0 ) 189 190 // camera crashes if sd override used in AF 191 // #define CAM_SD_OVER_IN_AF 1 192 #define CAM_SD_OVER_IN_AFL 1 193 #define CAM_SD_OVER_IN_MF 1 194 195 // AF led, for MD test code 196 #undef CAM_AF_LED 197 #define CAM_AF_LED 1 198 199 #define CAM_HAS_WIFI 1 // Camera has wifi support 200 201 //--------------------------------------------------