Changeset 739
- Timestamp:
- 08/08/11 09:48:00 (23 months ago)
- Location:
- trunk
- Files:
-
- 6 edited
-
core/gui.c (modified) (1 diff)
-
include/keyboard.h (modified) (1 diff)
-
platform/generic/shooting.c (modified) (1 diff)
-
platform/sx220hs/kbd.c (modified) (3 diffs)
-
platform/sx220hs/lib.c (modified) (1 diff)
-
platform/sx220hs/platform_camera.h (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/core/gui.c
r722 r739 1391 1391 static const int keys[] = {KEY_PRINT, KEY_DISPLAY}; 1392 1392 #elif defined(CAMERA_sx220hs) 1393 static const char* names[]={ "Disp+Set", "Display", " Video"};1394 static const int keys[] = {KEY_PRINT, KEY_DISPLAY, KEY_ VIDEO};1393 static const char* names[]={ "Disp+Set", "Display", "Playback", "Video"}; 1394 static const int keys[] = {KEY_PRINT, KEY_DISPLAY, KEY_PLAYBACK, KEY_VIDEO}; 1395 1395 #else 1396 1396 #error camera alt-buttons not defined -
trunk/include/keyboard.h
r711 r739 39 39 #define KEY_METERING 32 // G12 metering mode button 40 40 41 #define KEY_SHOOT_FULL_ONLY 33 // As KEY_SHOOT_FULL but press/release KEY_SHOOT_HALF is not included 41 //SX220 42 #define KEY_PLAYBACK 33 43 #define KEY_LEFT_SOFT 34 // jogdial keys have two steps 44 #define KEY_RIGHT_SOFT 35 45 #define KEY_UP_SOFT 36 46 #define KEY_DOWN_SOFT 37 47 48 #define KEY_SHOOT_FULL_ONLY 38 // As KEY_SHOOT_FULL but press/release KEY_SHOOT_HALF is not included 42 49 43 50 #define JOGDIAL_LEFT 100 -
trunk/platform/generic/shooting.c
r715 r739 1303 1303 if (shooting_get_drive_mode()!=0) { 1304 1304 int m=mode_get()&MODE_SHOOTING_MASK; 1305 if (m!=MODE_STITCH ) {1305 if (m!=MODE_STITCH&& m!=MODE_SCN_BEST_IMAGE) { 1306 1306 if (state_shooting_progress != SHOOTING_PROGRESS_PROCESSING) { 1307 1307 bracketing.shoot_counter=0; -
trunk/platform/sx220hs/kbd.c
r711 r739 26 26 27 27 // override key and feather bits to avoid feather osd messing up chdk display in ALT mode 28 #define KEYS_MASK0 (0x000 7FC0F) // sx220 physw_status[0] 7FC0528 #define KEYS_MASK0 (0x000FFC0F) // sx220 physw_status[0] 29 29 #define KEYS_MASK1 (0x00200000) 30 #define KEYS_MASK2 (0x00002182) // sx220 physw_status[2]30 #define KEYS_MASK2 (0x00002182) // sx220 physw_status[2] 31 31 32 32 #define NEW_SS (0x2000) … … 34 34 #define USB_MASK (0x4000000) 35 35 #define USB_REG 2 36 #define SD_READONLY_IDX 2 37 #define USB_IDX 2 36 #define SD_READONLY_IDX 2 37 #define USB_IDX 2 38 38 39 39 #ifndef MALLOCD_STACK … … 41 41 #endif 42 42 43 #define KEY_SOFT_LEFT 987 //added just to disable soft_left in alt mode44 45 43 static KeyMap keymap[] = { 46 44 47 /* tiny bug: key order matters. see kbd_get_pressed_key()48 * for example*/45 /* tiny bug: key order matters. see kbd_get_pressed_key() 46 * for example*/ 49 47 50 48 51 { 0, KEY_ZOOM_OUT , 0x00000001 }, 52 { 0, KEY_ZOOM_OUT1 , 0x00000001 }, 53 { 0, KEY_ZOOM_OUT , 0x00000002 }, 54 { 0, KEY_ZOOM_OUT3 , 0x00000002 }, 55 { 0, KEY_ZOOM_OUT , 0x00000003 }, 56 { 0, KEY_ZOOM_OUT2 , 0x00000003 }, 57 { 0, KEY_ZOOM_IN , 0x00000004 }, 58 { 0, KEY_ZOOM_IN1 , 0x00000004 }, 59 { 0, KEY_ZOOM_IN , 0x00000008 }, 60 { 0, KEY_ZOOM_IN3 , 0x00000008 }, 61 { 0, KEY_ZOOM_IN , 0x0000000C }, 62 { 0, KEY_ZOOM_IN2 , 0x0000000C }, 63 { 0, KEY_DISPLAY , 0x00000800 }, 64 { 0, KEY_UP , 0x00001400 }, 65 { 0, KEY_RIGHT , 0x00006000 }, 66 { 0, KEY_SET , 0x00010000 }, 67 { 0, KEY_PRINT , 0x00010800 }, //DISP+SET for ALT menu 68 { 0, KEY_DOWN , 0x00028000 }, 69 { 0, KEY_MENU , 0x00040000 }, 70 71 { 2, KEY_SHOOT_FULL , 0x00002002 }, 72 { 2, KEY_SHOOT_FULL_ONLY , 0x00000002 }, 73 { 2, KEY_SOFT_LEFT , 0x00000080 }, 74 { 2, KEY_LEFT , 0x00000100 }, 75 { 2, KEY_SHOOT_HALF , 0x00002000 }, 76 77 { 1, KEY_VIDEO , 0x00200000 }, 78 79 { 0, 0, 0 } 49 { 0, KEY_ZOOM_OUT , 0x00000001 }, 50 { 0, KEY_ZOOM_OUT1 , 0x00000001 }, 51 { 0, KEY_ZOOM_OUT , 0x00000002 }, 52 { 0, KEY_ZOOM_OUT3 , 0x00000002 }, 53 { 0, KEY_ZOOM_OUT , 0x00000003 }, 54 { 0, KEY_ZOOM_OUT2 , 0x00000003 }, 55 { 0, KEY_ZOOM_IN , 0x00000004 }, 56 { 0, KEY_ZOOM_IN1 , 0x00000004 }, 57 { 0, KEY_ZOOM_IN , 0x00000008 }, 58 { 0, KEY_ZOOM_IN3 , 0x00000008 }, 59 { 0, KEY_ZOOM_IN , 0x0000000C }, 60 { 0, KEY_ZOOM_IN2 , 0x0000000C }, 61 { 0, KEY_DISPLAY , 0x00000800 }, 62 { 0, KEY_UP , 0x00001000 }, 63 { 0, KEY_RIGHT , 0x00006000 }, 64 { 0, KEY_SET , 0x00010000 }, 65 { 0, KEY_PRINT , 0x00010800 }, //DISP+SET for ALT menu 66 { 0, KEY_DOWN , 0x00020000 }, 67 { 0, KEY_MENU , 0x00040000 }, 68 { 0, KEY_VIDEO , 0x00080000 }, 69 { 0, KEY_RIGHT_SOFT , 0x00002000 }, 70 { 0, KEY_UP_SOFT , 0x00000400 }, 71 { 0, KEY_DOWN_SOFT , 0x00008000 }, 72 73 { 2, KEY_LEFT_SOFT , 0x00000080 }, 74 { 2, KEY_LEFT , 0x00000100 }, 75 { 2, KEY_SHOOT_FULL , 0x00002002 }, 76 { 2, KEY_SHOOT_FULL_ONLY , 0x00000002 }, 77 { 2, KEY_SHOOT_HALF , 0x00002000 }, 78 79 { 1, KEY_PLAYBACK , 0x00200000 }, 80 81 { 0, 0, 0 } 80 82 }; 81 83 -
trunk/platform/sx220hs/lib.c
r702 r739 40 40 41 41 void camera_set_led(int led, int state, int bright) { 42 static char led_table[ 5]={4,5,7,8,9};42 static char led_table[2]={0,9}; 43 43 _LEDDrive(led_table[led%sizeof(led_table)], state<=1 ? !state : state); 44 44 } -
trunk/platform/sx220hs/platform_camera.h
r732 r739 40 40 #undef CAM_CAN_SD_OVER_NOT_IN_MF 41 41 #undef CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 42 43 #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 0 42 44 43 #define CAM_HAS_VIDEO_BUTTON 1 45 44 #define CAM_VIDEO_QUALITY_ONLY 1 46 45 47 46 #undef CAM_VIDEO_CONTROL 48 49 //#define CAM_MULTIPART 1 47 50 48 #define CAM_HAS_JOGDIAL 1 51 49 #undef CAM_USE_ZOOM_FOR_MF 52 53 //#define CAM_BRACKETING 154 55 50 56 51 #undef CAM_UNCACHED_BIT // shut up compiler … … 58 53 #define DNG_SUPPORT 1 59 54 60 61 55 #define cam_CFAPattern 0x02010100 62 56 … … 67 61 -1336, 1000000, 2334, 1000000, 4387, 1000000 68 62 69 #define cam_CalibrationIlluminant1 17 // Standard Light A was 1763 #define cam_CalibrationIlluminant1 17 70 64 71 65 #define CAM_JPEG_WIDTH 4000 72 66 #define CAM_JPEG_HEIGHT 3000 73 74 67 #define CAM_ACTIVE_AREA_X1 96 75 68 #define CAM_ACTIVE_AREA_Y1 24 … … 79 72 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData 80 73 #undef CAM_SENSOR_BITS_PER_PIXEL 81 #undef CAM_WHITE_LEVEL82 #undef CAM_BLACK_LEVEL83 74 #define CAM_SENSOR_BITS_PER_PIXEL 12 84 #define CAM_WHITE_LEVEL ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)85 #define CAM_BLACK_LEVEL 12786 75 87 76 #define CAM_EXT_TV_RANGE 1 … … 102 91 103 92 #undef ASPECT_GRID_XCORRECTION 104 #define ASPECT_GRID_XCORRECTION(x) ( (x)+60 ) //+ shift the grid 60 pixels right for 16:9 displays //grids are designed on a 360x240 basis and screen is 320x240, we need x*320/360=x*8/9 , 8 is the right value for sx21093 #define ASPECT_GRID_XCORRECTION(x) ( (x)+60 ) //+ shift the grid 60 pixels right for 16:9 displays 105 94 #undef ASPECT_GRID_YCORRECTION 106 #define ASPECT_GRID_YCORRECTION(y) ( (y) ) //y correction for grids made on a 360x240 As the buffer is 720x240 we have no correction here.95 #define ASPECT_GRID_YCORRECTION(y) ( (y) ) 107 96 108 97 #undef ASPECT_VIEWPORT_XCORRECTION 109 #define ASPECT_VIEWPORT_XCORRECTION(x) ( (x) ) //ASPECT_GRID_XCORRECTION(x) //viewport is 360x240 and screen 320x240, we need x*320/360=x*8/9, equal than grids, used by edgeoverlay98 #define ASPECT_VIEWPORT_XCORRECTION(x) ( (x) ) 110 99 #undef ASPECT_VIEWPORT_YCORRECTION 111 100 #define ASPECT_VIEWPORT_YCORRECTION(y) ( (y) ) … … 114 103 #define EDGE_HMARGIN 10 115 104 116 //games mappings117 105 #undef GAMES_SCREEN_WIDTH 118 106 #undef GAMES_SCREEN_HEIGHT … … 120 108 #define GAMES_SCREEN_HEIGHT 240 121 109 #undef ASPECT_GAMES_XCORRECTION 122 // 720/360=2 same aspect than grids and viewport but another approach: there is a lot of corrections to do in game's code, and we decide to paint directly on display buffer wirh another resolution123 // used by gui.c that configures the draw environment (trhough new draw_gui function) depending on gui_mode: we have then 360x240 for games (but deformed output:circles are not circles) and 320x240 for124 // other modes in perfect aspect ratio 4/3: slightly better visualization: file menus more readable, ...125 110 #define ASPECT_GAMES_XCORRECTION(x) ( ((x)<<1) ) 126 111 #undef ASPECT_GAMES_YCORRECTION 127 #define ASPECT_GAMES_YCORRECTION(y) ( (y) ) //none112 #define ASPECT_GAMES_YCORRECTION(y) ( (y) ) 128 113 129 //zebra letterbox for saving memory130 114 #undef ZEBRA_HMARGIN0 131 #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).115 #define ZEBRA_HMARGIN0 30 132 116 133 //Testing Zebra stuff asmp1989 Dec2010134 117 #define CAM_ZEBRA_ASPECT_ADJUST 1 135 118 #define CAM_ZEBRA_NOBUF 1 136 119 137 120 #define CAM_QUALITY_OVERRIDE 1 138 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 0139 121 140 122 #define CAM_STARTUP_CRASH_FILE_OPEN_FIX 1
Note: See TracChangeset
for help on using the changeset viewer.