1 // Camera - D20 - platform_camera.h 2 3 // This file contains the various settings values specific to the D20 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_DRYOS 1 24 #define CAM_PROPSET 5 25 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 4168 // Found @0xff1469c4 d20 30 #define CAM_RAW_ROWS 3060 // Found @0xff1469d0 d20 31 32 #undef CAM_UNCACHED_BIT 33 #define CAM_UNCACHED_BIT 0x40000000 34 35 #define CAM_JPEG_WIDTH 4000 36 #define CAM_JPEG_HEIGHT 3000 37 #define CAM_ACTIVE_AREA_X1 92 // to image data, border extends to 120 38 #define CAM_ACTIVE_AREA_Y1 16 // to image data, border extends to 34 39 #define CAM_ACTIVE_AREA_X2 4164 // last image data, border at 4136 40 #define CAM_ACTIVE_AREA_Y2 3060 // image data extends to bottom, border starts 3042? 41 42 #define CAM_DNG_LENS_INFO { 50,10, 250,10, 39,10, 48,10 } // See comments in camera.h 43 //focus_lens_table seems to be here: 100b: 0xfff4abd8 to 0xfff4afd8 44 //But it is not recognized by finsig. 45 46 #undef CAM_SENSOR_BITS_PER_PIXEL 47 #define CAM_SENSOR_BITS_PER_PIXEL 12 48 49 #define cam_CFAPattern 0x02010100 // [Red Green Green Blue] 50 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 #undef CAM_USES_ASPECT_CORRECTION 59 #define CAM_USES_ASPECT_CORRECTION 1 //camera uses the modified graphics primitives to map screens an viewports to buffers more sized 60 #undef CAM_BITMAP_WIDTH 61 #undef CAM_BITMAP_HEIGHT 62 #define CAM_BITMAP_WIDTH 960 // Actual width of bitmap screen in bytes 63 #define CAM_BITMAP_HEIGHT 270 // Actual height of bitmap screen in rows 64 #undef EDGE_HMARGIN 65 #define EDGE_HMARGIN 10 66 67 #define CAM_HAS_FILEWRITETASK_HOOK 1 68 #define CAM_FILEWRITETASK_SEEKS 1 69 70 #define CAM_ZEBRA_ASPECT_ADJUST 1 71 #define CAM_ZEBRA_NOBUF 1 72 73 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData 74 75 #define CAM_HAS_ND_FILTER 1 76 77 #define CAM_HAS_VIDEO_BUTTON 1 78 #undef CAM_VIDEO_CONTROL 79 #define CAM_VIDEO_QUALITY_ONLY 1 80 81 #undef CAM_HAS_IRIS_DIAPHRAGM 82 #undef CAM_HAS_ERASE_BUTTON 83 #undef CAM_HAS_IS // Camera does not have an image stabilizer 84 #undef CAM_HAS_MANUAL_FOCUS 85 86 #define CAM_HAS_GPS 1 87 88 #define CAM_HAS_MOVIE_DIGEST_MODE 1 89 90 #define CAM_LOAD_CUSTOM_COLORS 1 // Enable loading CHDK colors into the camera palette memory/hardware 91 92 #define CAM_ADJUSTABLE_ALT_BUTTON 1 // ALT-button can be set from menu 93 #define CAM_ALT_BUTTON_NAMES { "Playback", "VIDEO" } 94 #define CAM_ALT_BUTTON_OPTIONS { KEY_PRINT, KEY_VIDEO } 95 #undef CAM_HAS_DISP_BUTTON 96 97 #define CAM_FIRMWARE_MEMINFO 1 98 99 // TO DO 100 // #define CAM_USE_ZOOM_FOR_MF 1 // Zoom lever can be used for manual focus adjustments 101 #define CAM_NEED_SET_ZOOM_DELAY 300 // Define to add a delay after setting the zoom position 102 #define CAM_USE_OPTICAL_MAX_ZOOM_STATUS 1 // Use ZOOM_OPTICAL_MAX to reset zoom_status when switching from digital to optical zoo 103 104 #define CAM_QUALITY_OVERRIDE 1 105 #define CAM_DATE_FOLDER_NAMING 0x400 106 107 #define DRAW_ON_ACTIVE_BITMAP_BUFFER_ONLY 1 108 109 #undef CAM_USB_EVENTID 110 #define CAM_USB_EVENTID 0x202 // Levent ID for USB control. Changed in DryOS R49, R50 so needs to be overridable. 111 #define MKDIR_RETURN_ONE_ON_SUCCESS 1 // mkdir() return 1 on success, 0 on fail. 112 113 // #define REMOTE_SYNC_STATUS_LED 0xC0220130 // TODO specifies an LED that turns on while camera waits for USB remote to sync 114 115 #define CAM_SD_OVER_IN_AF 1 116 #define CAM_SD_OVER_IN_MF 1 117 118 //--------------------------------------------------