gphoto / libgphoto2

The libgphoto2 camera access and control library.
GNU Lesser General Public License v2.1
1.06k stars 325 forks source link

Canon EOS R support for HDR, set shutter speed range and Fv mode #608

Open bogardeblaksteen opened 3 years ago

bogardeblaksteen commented 3 years ago

We can successfully control some features on a Canon EOS R with libgphoto2 2.5.26. but there is a lot of features/settings we can not seem to access. Is it because we are doing it wrong, or because there is only a select few settings controllable with libgphoto2?

If possible, we would like to control all parameters remotely, as if we had the camera in our hands, specifically HDR mode, "set shutter speed range" and Fv mode.

For example, shouldn't there be an Fv mode here: }, "autoexposuremode": { "label": "Canon Auto Exposure Mode", "type": "choice", "value": "AV", "choices": [ "P", "TV", "AV", "Manual", "Bulb", "A_DEP", "DEP", "Custom", "Lock", "Green", "Night Portrait", "Sports", "Portrait", "Landscape", "Closeup", "Flash Off" ] },

Thank you very much.

When we run gphoto2 --set-config capture=on, this is the full readout: { "main": { "type": "section", "label": "Camera and Driver Configuration", "children": { "actions": { "type": "section", "label": "Camera Actions", "children": { "autofocusdrive": { "label": "Drive Canon DSLR Autofocus", "type": "toggle", "value": 0 }, "cancelautofocus": { "label": "Cancel Canon DSLR Autofocus", "type": "toggle", "value": 0 }, "eosremoterelease": { "label": "Canon EOS Remote Release", "type": "choice", "value": "None", "choices": [ "None", "Press Half", "Press Full", "Release Half", "Release Full", "Immediate", "Press 1", "Press 2", "Press 3", "Release 1", "Release 2", "Release 3" ] }, "eoszoom": { "label": "Canon EOS Zoom", "type": "string", "value": "0" }, "eoszoomposition": { "label": "Canon EOS Zoom Position", "type": "string", "value": "0,0" }, "manualfocusdrive": { "label": "Drive Canon DSLR Manual focus", "type": "choice", "value": "None", "choices": [ "Near 1", "Near 2", "Near 3", "None", "Far 1", "Far 2", "Far 3" ] }, "opcode": { "label": "PTP Opcode", "type": "string", "value": "0x1001,0xparam1,0xparam2" }, "popupflash": { "label": "Popup Flash", "type": "toggle", "value": 2 }, "syncdatetime": { "label": "Synchronize camera date and time with PC", "type": "toggle", "value": 0 }, "syncdatetimeutc": { "label": "Synchronize camera date and time with PC", "type": "toggle", "value": 0 }, "uilock": { "label": "UI Lock", "type": "toggle", "value": 2 }, "viewfinder": { "label": "Canon EOS Viewfinder", "type": "toggle", "value": 0 } } }, "capturesettings": { "type": "section", "label": "Capture Settings", "children": { "aeb": { "label": "Auto Exposure Bracketing", "type": "choice", "value": "off", "choices": [ "off", "+/- 1/3", "+/- 2/3", "+/- 1", "+/- 1 1/3", "+/- 1 2/3", "+/- 2", "+/- 2 1/3", "+/- 2 2/3", "+/- 3" ] }, "alomode": { "label": "Auto Lighting Optimization", "type": "choice", "value": "Standard (disabled in manual exposure)", "choices": [ "x3", "x1", "Standard (disabled in manual exposure)", "x2" ] }, "aperture": { "label": "Aperture", "type": "choice", "value": "14", "choices": [ "4", "4.5", "5", "5.6", "6.3", "7.1", "8", "9", "10", "11", "13", "14", "16", "18", "20", "22" ] }, "aspectratio": { "label": "Aspect Ratio", "type": "choice", "value": "3:2", "choices": [ "3:2", "Unknown value 000d", "1:1", "4:3", "16:9" ] }, "autoexposuremode": { "label": "Canon Auto Exposure Mode", "type": "choice", "value": "AV", "choices": [ "P", "TV", "AV", "Manual", "Bulb", "A_DEP", "DEP", "Custom", "Lock", "Green", "Night Portrait", "Sports", "Portrait", "Landscape", "Closeup", "Flash Off" ] }, "bracketmode": { "label": "Bracket Mode", "type": "choice", "value": "Unknown value 0000", "choices": [ "Unknown value 0000" ] }, "continuousaf": { "label": "Continuous AF", "type": "choice", "value": "Off", "choices": [ "Off", "On" ] }, "drivemode": { "label": "Drive Mode", "type": "choice", "value": "Single", "choices": [ "Single", "Continuous high speed", "Continuous low speed", "Timer 10 sec", "Timer 2 sec" ] }, "exposurecompensation": { "label": "Exposure Compensation", "type": "choice", "value": "0", "choices": [ "-3", "-2.6", "-2.3", "-2", "-1.6", "-1.3", "-1", "-0.6", "-0.3", "0", "0.3", "0.6", "1", "1.3", "1.6", "2", "2.3", "2.6", "3" ] }, "focusmode": { "label": "Focus Mode", "type": "choice", "value": "Manual", "choices": [ "Manual" ] }, "highisonr": { "label": "High ISO Noise Reduction", "type": "choice", "value": "Off", "choices": [ "High", "Low", "Off", "Normal" ] }, "meteringmode": { "label": "Metering Mode", "type": "choice", "value": "Evaluative", "choices": [ "Evaluative", "Partial", "Spot", "Center-weighted average" ] }, "picturestyle": { "label": "Picture Style", "type": "choice", "value": "Landscape", "choices": [ "Auto", "Standard", "Portrait", "Landscape", "Fine detail", "Neutral", "Faithful", "Monochrome", "User defined 1", "User defined 2", "User defined 3" ] }, "shutterspeed": { "label": "Shutter Speed", "type": "choice", "value": "auto", "choices": [ "auto" ] }, "storageid": { "label": "Storage Device", "type": "string", "value": "00020000" }, "zoomspeed": { "label": "Zoom Speed", "type": "string", "value": "0" } } }, "imgsettings": { "type": "section", "label": "Image Settings", "children": { "colorspace": { "label": "Color Space", "type": "choice", "value": "sRGB", "choices": [ "sRGB", "AdobeRGB" ] }, "colortemperature": { "label": "Color Temperature", "type": "choice", "value": "5600", "choices": [ "2500", "2600", "2700", "2800", "2900", "3000", "3100", "3200", "3300", "3400", "3500", "3600", "3700", "3800", "3900", "4000", "4100", "4200", "4300", "4400", "4500", "4600", "4700", "4800", "4900", "5000", "5100", "5200", "5300", "5400", "5500", "5600", "5700", "5800", "5900", "6000", "6100", "6200", "6300", "6400", "6500", "6600", "6700", "6800", "6900", "7000", "7100", "7200", "7300", "7400", "7500", "7600", "7700", "7800", "7900", "8000", "8100", "8200", "8300", "8400", "8500", "8600", "8700", "8800", "8900", "9000", "9100", "9200", "9300", "9400", "9500", "9600", "9700", "9800", "9900", "10000" ] }, "imageformat": { "label": "Image Format", "type": "choice", "value": "Large Fine JPEG", "choices": [ "Large Fine JPEG", "Large Normal JPEG", "Medium Fine JPEG", "Medium Normal JPEG", "Small Fine JPEG", "Small Normal JPEG", "Smaller JPEG", "RAW + Large Fine JPEG", "RAW + Large Normal JPEG", "RAW + Medium Fine JPEG", "RAW + Medium Normal JPEG", "RAW + Small Fine JPEG", "RAW + Small Normal JPEG", "RAW + Smaller JPEG", "cRAW + Large Fine JPEG", "cRAW + Large Normal JPEG", "cRAW + Medium Fine JPEG", "cRAW + Medium Normal JPEG", "cRAW + Small Fine JPEG", "cRAW + Small Normal JPEG", "cRAW + Smaller JPEG", "RAW", "cRAW" ] }, "imageformatcf": { "label": "Image Format CF", "type": "choice", "value": "Large Fine JPEG", "choices": [ "Large Fine JPEG", "Large Normal JPEG", "Medium Fine JPEG", "Medium Normal JPEG", "Small Fine JPEG", "Small Normal JPEG", "Smaller JPEG", "RAW + Large Fine JPEG", "RAW + Large Normal JPEG", "RAW + Medium Fine JPEG", "RAW + Medium Normal JPEG", "RAW + Small Fine JPEG", "RAW + Small Normal JPEG", "RAW + Smaller JPEG", "cRAW + Large Fine JPEG", "cRAW + Large Normal JPEG", "cRAW + Medium Fine JPEG", "cRAW + Medium Normal JPEG", "cRAW + Small Fine JPEG", "cRAW + Small Normal JPEG", "cRAW + Smaller JPEG", "RAW", "cRAW" ] }, "imageformatsd": { "label": "Image Format SD", "type": "choice", "value": "Large Fine JPEG", "choices": [ "Large Fine JPEG", "Large Normal JPEG", "Medium Fine JPEG", "Medium Normal JPEG", "Small Fine JPEG", "Small Normal JPEG", "Smaller JPEG", "RAW + Large Fine JPEG", "RAW + Large Normal JPEG", "RAW + Medium Fine JPEG", "RAW + Medium Normal JPEG", "RAW + Small Fine JPEG", "RAW + Small Normal JPEG", "RAW + Smaller JPEG", "cRAW + Large Fine JPEG", "cRAW + Large Normal JPEG", "cRAW + Medium Fine JPEG", "cRAW + Medium Normal JPEG", "cRAW + Small Fine JPEG", "cRAW + Small Normal JPEG", "cRAW + Smaller JPEG", "RAW", "cRAW" ] }, "iso": { "label": "ISO Speed", "type": "choice", "value": "100", "choices": [ "Auto", "100", "125", "160", "200", "250", "320", "400", "500", "640", "800", "1000", "1250", "1600", "2000", "2500", "3200", "4000", "5000", "6400", "8000", "10000", "12800", "16000", "20000", "25600", "32000", "40000" ] }, "whitebalance": { "label": "WhiteBalance", "type": "choice", "value": "Manual", "choices": [ "Auto", "AWB White", "Daylight", "Shadow", "Cloudy", "Tungsten", "Fluorescent", "Flash", "Manual", "Color Temperature" ] }, "whitebalanceadjusta": { "label": "WhiteBalance Adjust A", "type": "choice", "value": "0", "choices": [ "-9", "-8", "-7", "-6", "-5", "-4", "-3", "-2", "-1", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" ] }, "whitebalanceadjustb": { "label": "WhiteBalance Adjust B", "type": "choice", "value": "0", "choices": [ "-9", "-8", "-7", "-6", "-5", "-4", "-3", "-2", "-1", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" ] }, "whitebalancexa": { "label": "WhiteBalance X A", "type": "choice", "value": "0", "choices": [ "0", "1", "2", "3" ] }, "whitebalancexb": { "label": "WhiteBalance X B", "type": "choice", "value": "0", "choices": [ "0", "1", "2", "3" ] } } }, "other": { "type": "section", "label": "Other PTP Device Properties", "children": { "5001": { "label": "Battery Level", "type": "choice", "value": "100", "choices": [ "100", "0", "75", "0", "50" ] }, "d303": { "label": "PTP Property 0xd303", "type": "string", "value": "1" }, "d402": { "label": "PTP Property 0xd402", "type": "string", "value": "Canon EOS R" }, "d406": { "label": "PTP Property 0xd406", "type": "string", "value": "Unknown Initiator" }, "d407": { "label": "PTP Property 0xd407", "type": "string", "value": "1" } } }, "settings": { "type": "section", "label": "Camera Settings", "children": { "artist": { "label": "Artist", "type": "string", "value": "" }, "autopoweroff": { "label": "Auto Power Off", "type": "string", "value": "0" }, "capture": { "label": "Capture", "type": "toggle", "value": 0 }, "capturetarget": { "label": "Capture Target", "type": "choice", "value": "Internal RAM", "choices": [ "Internal RAM", "Memory card" ] }, "copyright": { "label": "Copyright", "type": "string", "value": "" }, "customfuncex": { "label": "Custom Functions Ex", "type": "string", "value": "20,1,6,14,1,102,1,0," }, "datetime": { "label": "Camera Date and Time", "type": "date", "value": "2021-01-10T20:48:27.000Z" }, "datetimeutc": { "label": "Camera Date and Time", "type": "date", "value": "2021-01-10T20:48:27.000Z" }, "depthoffield": { "label": "Depth of Field", "type": "string", "value": "0" }, "evfmode": { "label": "EVF Mode", "type": "choice", "value": "1", "choices": [ "1" ] }, "focusarea": { "label": "Focus Area", "type": "string", "value": "2867484503" }, "movierecordtarget": { "label": "Recording Destination", "type": "choice", "value": "SDRAM", "choices": [ "Card", "None", "SDRAM" ] }, "output": { "label": "Camera Output", "type": "choice", "value": "TFT", "choices": [ "Off", "TFT", "PC", "TFT + PC", "MOBILE", "TFT + MOBILE", "PC + MOBILE", "TFT + PC + MOBILE", "MOBILE2", "TFT + MOBILE2", "PC + MOBILE2", "TFT + PC + MOBILE2" ] }, "ownername": { "label": "Owner Name", "type": "string", "value": "" }, "remotemode": { "label": "Remote Mode", "type": "string", "value": "0" } } }, "status": { "type": "section", "label": "Camera Status Information", "children": { "Battery Level": { "label": "Battery Level", "type": "string", "value": "100%" }, "availableshots": { "label": "Available Shots", "type": "string", "value": "121904" }, "batterylevel": { "label": "Battery Level", "type": "string", "value": "100%" }, "cameramodel": { "label": "Camera Model", "type": "string", "value": "Canon EOS R" }, "deviceversion": { "label": "Device Version", "type": "string", "value": "3-1.7.0" }, "eosserialnumber": { "label": "Serial Number", "type": "string", "value": "263028002005" }, "lensname": { "label": "Lens Name", "type": "string", "value": "12-24mm F4 DG HSM | Art 016" }, "manufacturer": { "label": "Camera Manufacturer", "type": "string", "value": "Canon.Inc" }, "model": { "label": "Camera Model", "type": "string", "value": "2147484708" }, "serialnumber": { "label": "Serial Number", "type": "string", "value": "f522ed3711684f8490d0d352b146eef1" }, "vendorextension": { "label": "Vendor Extension", "type": "string", "value": "None" } } } } } }

msmeissn commented 3 years ago

I need to implement decoders for those usually, not all are covered. i added autoexposuremodes from EOS M6 Mark II, which should likely cover a lot of the EOS R ones.

If you want to supply more:

I am also trying to see if I can implement other things you miss. shutter speed range seems not there on eos m6, or hidden in another menu

sorenkrabbe commented 3 years ago

With a Canon EOS R, when I set mode to FV, --get-config returns:

...
Label: Canon Auto Exposure Mode
Readonly: 0
Type: RADIO
Current: Unknown value 0037
...

Further, when in FV mode, aperture is set to auto on the camera, but the aperture --get-config, returns

"label": "Aperture",
"type": "choice",
"value": "Unknown value 00ff",
"choices": [
    "Unknown value 00ff",
    "4",
    ...

Hope this could helps

msmeissn commented 3 years ago

FV i have already added in current libgphoto2 GIT. aperture I need to check