1 2 // Camera - Powershot N - platform_camera.h 3 4 // This file contains the various settings values specific to the PowerShot N camera. 5 // This file is referenced via the 'include/camera.h' file and should not be loaded directly. 6 7 // If adding a new settings value put a suitable default in 'include/camera.h', 8 // along with documentation on what the setting does and how to determine the correct value. 9 // If the setting should not have a default value then add it in 'include/camera.h' 10 // using the '#undef' directive along with appropriate documentation. 11 12 // Override any default values with your camera specific values in this file. Try and avoid 13 // having override values that are the same as the default value. 14 15 // When overriding a setting value there are two cases: 16 // 1. If removing the value, because it does not apply to your camera, use the '#undef' directive. 17 // 2. If changing the value it is best to use an '#undef' directive to remove the default value 18 // followed by a '#define' to set the new value. 19 20 // When porting CHDK to a new camera, check the documentation in 'include/camera.h' 21 // for information on each setting. If the default values are correct for your camera then 22 // don't override them again in here. 23 24 #define CAM_PROPSET 6 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 4176 // Found @0xff20165c 30 #define CAM_RAW_ROWS 3062 // Found @0xff201668 31 #undef CAM_SENSOR_BITS_PER_PIXEL 32 #define CAM_SENSOR_BITS_PER_PIXEL 12 33 34 #undef CAM_UNCACHED_BIT 35 #define CAM_UNCACHED_BIT 0x40000000 // Found @0xff03a120 36 37 #define CAM_JPEG_WIDTH 4000 // from jpeg exif info 38 #define CAM_JPEG_HEIGHT 3000 // 39 40 #define CAM_FILE_COUNTER_IS_VAR 1 // file counter is variable file_counter_var in stubs, not a param 41 #define CAM_DATE_FOLDER_NAMING 0x080 // Found @0xff3a8cd4 (pass as 3rd param to GetImageFolder) 42 43 #undef CAM_HAS_ERASE_BUTTON // No erase button 44 #undef CAM_HAS_MANUAL_FOCUS // No manual focus mode 45 #define CAM_HAS_CMOS 1 46 #define CAM_HAS_ND_FILTER 1 47 #undef CAM_HAS_IRIS_DIAPHRAGM 48 49 #undef CAM_USES_ASPECT_CORRECTION 50 #define CAM_USES_ASPECT_CORRECTION 1 // camera uses the modified graphics primitives to map screens and viewports to buffers more sized 51 #define CAM_LOAD_CUSTOM_COLORS 1 // Enable loading CHDK colors into the camera palette memory/hardware 52 53 #undef CAM_BITMAP_WIDTH 54 #define CAM_BITMAP_WIDTH 720 // Actual width of bitmap screen in bytes (may be larger than displayed area) 55 #undef EDGE_HMARGIN 56 #define EDGE_HMARGIN 1 // edge overlay margin 57 #undef CAM_MENU_BORDERWIDTH 58 #define CAM_MENU_BORDERWIDTH -3 // Need to leave this much border to avoid overlap with on screen buttons (added to CAM_TS_BUTTON_BORDER). 59 #undef CAM_TS_BUTTON_BORDER 60 #define CAM_TS_BUTTON_BORDER 50 // 60 = Define this to leave a border on each side of the palette display. 61 #undef CAM_DISP_ALT_TEXT // Turn off <ALT> at bottom of screen in Alt mode - changes button color instead 62 #define CAM_TOUCHSCREEN_UI 1 // Enable touch screen U/I 63 64 #undef CAM_EMUL_KEYPRESS_DELAY 65 #define CAM_EMUL_KEYPRESS_DELAY 80 // Delay to interpret <alt>-button press as longpress 66 #undef CAM_EMUL_KEYPRESS_DURATION 67 #define CAM_EMUL_KEYPRESS_DURATION 10 68 69 #undef MKDIR_RETURN_ONE_ON_SUCCESS // mkdir() return 1 on success, 0 on fail. 70 71 #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData - Camera Model name 72 73 #define CAM_HAS_FILEWRITETASK_HOOK 1 74 #define CAM_FILEWRITETASK_SEEKS 1 75 #define CAM_SHOW_OSD_IN_SHOOT_MENU 1 76 77 #define CAM_ACTIVE_AREA_X1 92 // DNG stuff 78 #define CAM_ACTIVE_AREA_Y1 14 79 #define CAM_ACTIVE_AREA_X2 4160 80 #define CAM_ACTIVE_AREA_Y2 3050 81 #define cam_CFAPattern 0x02010100 // bayer sensor pattern Red Green Green Blue 82 #define CAM_DNG_EXPOSURE_BIAS 0,1 // DNG exposure bias value to 0 (to override default of -0.5 in the dng.c code) 83 #define CAM_DNG_LENS_INFO { 28,10, 2240,10, 30,10, 59,10 } // See comments in camera.h 84 #define cam_CalibrationIlluminant1 1 85 #define CAM_COLORMATRIX1 \ 86 544808, 1000000, -174047, 1000000, -80399, 1000000, \ 87 -75055, 1000000, 440444, 1000000, 11367, 1000000, \ 88 -5801, 1000000, 71589, 1000000, 118914, 1000000 89 90 #undef CAM_USB_EVENTID 91 #define CAM_USB_EVENTID 0x202 // Levent ID for USB control. Changed in DryOS R49, R50 so needs to be overridable. 92 93 #define CAM_SD_OVER_IN_AFL 1 // probably not going to work well 94 #define CAM_SD_OVER_IN_MF 1 // 95 96 #undef CAM_GUI_FSELECT_SIZE 97 #define CAM_GUI_FSELECT_SIZE 15, 6, 8 // use narrow columns in file select window gui 98 99 #define CAM_IS_VID_REC_WORKS 1 // is_video_recording() function works 100 101 #define CAM_HAS_WIFI 1 // Camera has wifi support 102 103 #undef CAM_VIDEO_CONTROL 104 #define CAM_HAS_VIDEO_BUTTON 1 105 #undef CAM_CHDK_HAS_EXT_VIDEO_MENU 106 107 #undef CAM_AF_LED 108 #define CAM_AF_LED 1 109 110 //------ Powershot N - fence for values checked as okay - stuff below here not checked yet --------------- 111 112 #undef CAM_USE_ZOOM_FOR_MF // not useful if cam does not have Canon MF mode - just changes focus mode 113 #define CAM_NEED_SET_ZOOM_DELAY 300 // add a delay after setting the zoom position 114 115 #define CAM_BRACKETING 1 // allow disable of RAW saving in native Ev bracketing 116 #define CAM_DRIVE_MODE_FROM_TIMER_MODE 1 // use PROPCASE_TIMER_MODE to check for multiple shot custom timer. 117 118 // #define CAM_VIDEO_QUALITY_ONLY 1 119 #define CAM_HAS_MOVIE_DIGEST_MODE 1 120 #undef CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 121 #undef CAM_CHDK_HAS_EXT_VIDEO_TIME 122 123 124 //--------------------------------------------------