source: trunk/platform/sx40hs/platform_camera.h @ 1444

Revision 1444, 5.7 KB checked in by philmoz, 2 years ago (diff)

Updates for finsig_dryos.c:

  • The 'ctypes' array used in generic/wrappers.c exists in the firmware for dryos cameras. finsig_dryos.c now adds an entry for this to stubs_entry.S so the array is no longer needed in the CHDK code.
  • Values from stubs_min.S that are correctly found by finsig_dryos.c can be removed from stubs_min.S. The entries will then be included in stubs_entry.S (as is done for stubs_entry_2.S). stubs_min.S cleaned up for G12, SX30, SX40 and IXUS310.
  • Property svn:eol-style set to native
Line 
1// Camera - SX40HS - platform_camera.h
2
3// This file contains the various settings values specific to the SX40HS 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                                     4
24        #define CAM_DRYOS                                       1
25        #define CAM_DRYOS_2_3_R39                       1
26    #define CAM_DRYOS_2_3_R47                   1
27
28        #define CAM_RAW_ROWPIX                          4176 // Found @0xff18e050
29        #define CAM_RAW_ROWS                            3060 // Found @0xff18e05c
30        #undef  CAM_UNCACHED_BIT
31        #define CAM_UNCACHED_BIT                        0x40000000 // Found @0xff02bea8
32
33    #define CAM_HAS_ND_FILTER           1
34
35        #define CAM_SWIVEL_SCREEN                       1
36        #define CAM_ADJUSTABLE_ALT_BUTTON       1
37        #undef  CAM_CAN_SD_OVER_NOT_IN_MF
38        #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
39        #define CAM_HAS_VIDEO_BUTTON            1
40        #define CAM_VIDEO_QUALITY_ONLY          1
41        #define CAM_BRACKETING                          1
42        #undef  CAM_VIDEO_CONTROL
43        #define CAM_MULTIPART                           1
44        #define CAM_HAS_JOGDIAL                         1
45        #undef  CAM_USE_ZOOM_FOR_MF
46    #define CAM_DETECT_SCREEN_ERASE     1       // Turn on guard pixels to detect screen erase and redraw CHDK buttons and menus
47
48        #undef DEFAULT_RAW_EXT
49    #define DEFAULT_RAW_EXT             2   // use .CR2
50
51    #undef CAM_MENU_BORDERWIDTH
52    #define CAM_MENU_BORDERWIDTH        10
53
54    // bayer sensor pattern
55    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
56
57        #define CAM_DNG_EXPOSURE_BIAS           0,1             // Specify DNG exposure bias value to 0 (to override default of -0.5 in the dng.c code)
58
59    #define     CAM_DNG_LENS_INFO           { 43,10, 1505,10, 27,10, 58,10 }    // See comments in camera.h
60
61        //need fixing *****************************************************
62        #define cam_CalibrationIlluminant1  1
63        #define CAM_COLORMATRIX1        \
64        544808, 100000, -174047, 100000, -80399, 100000, \
65        -75055, 100000,  440444, 100000,  11367, 100000, \
66         -5801, 100000,   71589, 100000, 118914, 100000
67
68        // cropping
69        #define CAM_JPEG_WIDTH                          4072
70        #define CAM_JPEG_HEIGHT                         3044
71        #define CAM_ACTIVE_AREA_X1                      96
72        #define CAM_ACTIVE_AREA_Y1                      16
73        #define CAM_ACTIVE_AREA_X2                      4168
74        #define CAM_ACTIVE_AREA_Y2                      3060
75
76        // camera name
77        #define PARAM_CAMERA_NAME                       4 // parameter number for GetParameterData
78        #undef  CAM_SENSOR_BITS_PER_PIXEL
79        #define CAM_SENSOR_BITS_PER_PIXEL       12
80
81        #define CAM_EXT_TV_RANGE                        1
82        #define CAM_QUALITY_OVERRIDE            1
83
84        // copied from the SX200 which has the same video buffer size
85        #undef CAM_USES_ASPECT_CORRECTION
86        #define CAM_USES_ASPECT_CORRECTION              1  //camera uses the modified graphics primitives to map screens an viewports to buffers more sized
87
88    #define CAM_ZEBRA_ASPECT_ADJUST 1
89    #define CAM_ZEBRA_NOBUF 1
90
91        #undef CAM_BITMAP_PALETTE
92        #define CAM_BITMAP_PALETTE              12
93
94        //zebra letterbox for saving memory
95        #undef ZEBRA_HMARGIN0
96        #define ZEBRA_HMARGIN0  30 //this 30 rows are not used by the display buffer is 720x240 effective, no 960x270, i.e. (270-240) reduction in widht possible but not done (more difficult to manage it and slower).
97 
98        #undef EDGE_HMARGIN
99        #define EDGE_HMARGIN 2
100       
101        #define CAM_DATE_FOLDER_NAMING  1
102
103        #define CAM_STARTUP_CRASH_FILE_OPEN_FIX 1                               // enable fix for camera crash at startup when opening the conf / font files
104                                                                                                                        // see http://chdk.setepontos.com/index.php?topic=6179.0
105
106//    #define CAM_KEY_CLICK_DELAY         150 // Does SX40 need extra delay for clicks ???
107
108    #define CAM_FIRMWARE_MEMINFO        1       // Use 'GetMemInfo' to get free memory size.
109
110    #define CAM_DRIVE_MODE_FROM_TIMER_MODE      // use PROPCASE_TIMER_MODE to check for multiple shot custom timer.
111                                                // Used to enabled bracketing in custom timer, required on many recent cameras
112                                                // see http://chdk.setepontos.com/index.php/topic,3994.405.html
113       
114        #define CAM_AV_OVERRIDE_IRIS_FIX        1                               // for cameras that require _MoveIrisWithAv function to override Av in bracketing.
115
116    #define CAM_DISABLE_RAW_IN_LOW_LIGHT_MODE   1       // For cameras with 'low light' mode that does not work with raw define this
117    #define CAM_DISABLE_RAW_IN_HQ_BURST         1       // For cameras with 'HQ Burst' mode that does not work with raw define this
118    #define CAM_DISABLE_RAW_IN_HANDHELD_NIGHT_SCN 1     // For cameras with 'HandHeld Night Scene' mode that does not work with raw define this
119
120    #define CAM_LOAD_CUSTOM_COLORS              1       // Enable loading CHDK colors into the camera palette memory/hardware
121    #define CHDK_COLOR_BASE                     0xA8    // Start color index for CHDK colors loaded into camera palette.
122    #define CAM_USE_COLORED_ICONS               1       // Enable using the CHDK-DE colored icons.
123
124        #undef  CAM_USB_EVENTID
125        #define CAM_USB_EVENTID                         0x202                   // Levent ID for USB control. Changed in DryOS R49 so needs to be overridable.
126       
127//----------------------------------------------------------
Note: See TracBrowser for help on using the repository browser.