From 7f56f35c6ef4102dbb9107cb2fdd910791dc1119 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Sun, 17 Jan 2010 19:09:55 +0000 Subject: [PATCH] added correct 4300 code. git-svn-id: https://svn.code.sf.net/p/gphoto/code/trunk/libgphoto2@12609 67ed7778-7388-44ab-90cf-0a291f65f57c --- camlibs/sierra/nikon-desc.c | 50 +++++++++++++++++++++++++++++++++++-- 1 file changed, 48 insertions(+), 2 deletions(-) diff --git a/camlibs/sierra/nikon-desc.c b/camlibs/sierra/nikon-desc.c index 6dd2273a7..a5464cbc4 100644 --- a/camlibs/sierra/nikon-desc.c +++ b/camlibs/sierra/nikon-desc.c @@ -652,6 +652,39 @@ static CameraRegisterType cp2500_cam_regs[] = { CAM_REG_TYPE_INIT (cp880, 53, 4, CAM_DESC_DEFAULT, 0), /* language */ }; +/* + * All of the register used to modify picture settings. The register value + * received from the camera is stored into this data area, so it cannot be + * a const. + */ +static CameraRegisterType cp4300_pic_regs[] = { + /* camera prefix, register number, size of register */ + CAM_REG_TYPE_INIT (cp880, 01, 4, CAM_DESC_DEFAULT, 0), /* resolution/size */ + CAM_REG_TYPE_INIT (cp880, 06, 4, CAM_DESC_DEFAULT, 0), /* color mode */ + CAM_REG_TYPE_INIT (cp880, 07, 4, CAM_DESC_DEFAULT, 0), /* flash */ + CAM_REG_TYPE_INIT (cp880, 19, 4, CAM_DESC_DEFAULT, 0), /* brightness/contrast */ + CAM_REG_TYPE_INIT (cp880, 20, 4, CAM_DESC_DEFAULT, 0), /* white balance */ +#ifdef REG_30_FAILS + CAM_REG_TYPE_INIT (cp880, 30, 4, CAM_DESC_DEFAULT, 0), /* LED mode */ +#endif + CAM_REG_TYPE_INIT (cp880, 33, 4, CAM_DESC_DEFAULT, 0), /* focus mode */ + CAM_REG_TYPE_INIT (cp880, 69, 8, CAM_DESC_DEFAULT, 0), /* exposure compensation */ + CAM_REG_TYPE_INIT (cp880, 70, 4, CAM_DESC_DEFAULT, 0), /* exposure metering */ + CAM_REG_TYPE_INIT (cp880, 71, 8, CAM_DESC_DEFAULT, 0), /* optical zoom */ + CAM_REG_TYPE_INIT (cp880, 72, 4, CAM_DESC_DEFAULT, 0), /* digital zoom + lense + AE lock */ +}; + +/* + * All of the register used to modify camera settings. + */ +static CameraRegisterType cp4300_cam_regs[] = { + CAM_REG_TYPE_INIT (cp880, 02, 4, CAM_DESC_DEFAULT, 0), /* date-time */ + CAM_REG_TYPE_INIT (cp880, 34, 4, CAM_DESC_SUBACTION, + SIERRA_ACTION_LCD_MODE), /* lcd mode */ + CAM_REG_TYPE_INIT (cp880, 35, 4, CAM_DESC_DEFAULT, 0), /* LCD brightness */ + CAM_REG_TYPE_INIT (cp880, 53, 4, CAM_DESC_DEFAULT, 0), /* language */ +}; + static const CameraRegisterSetType cp880_desc[] = { { @@ -675,6 +708,17 @@ static const CameraRegisterSetType cp2500_desc[] = { }, }; +static const CameraRegisterSetType cp4300_desc[] = { + { + N_("Picture Settings"), + SIZE_ADDR (CameraRegisterType, cp4300_pic_regs) + }, + { + N_("Camera Settings"), + SIZE_ADDR (CameraRegisterType, cp4300_cam_regs) + }, +}; + static const char cp880_manual[] = N_( "Nikon Coolpix 880:\n" @@ -706,8 +750,10 @@ N_( ); const CameraDescType cp880_cam_desc = { cp880_desc, cp880_manual, - SIERRA_EXT_PROTO, }; + SIERRA_EXT_PROTO, }; const CameraDescType cp995_cam_desc = { cp880_desc, cp995_manual, SIERRA_EXT_PROTO, }; const CameraDescType cp2500_cam_desc = { cp2500_desc, cp880_manual, - SIERRA_EXT_PROTO, }; + SIERRA_EXT_PROTO, }; +const CameraDescType cp4300_cam_desc = { cp4300_desc, cp880_manual, + SIERRA_EXT_PROTO, };