gphoto / gphoto2

The gphoto2 commandline tool for accessing and controlling digital cameras.
GNU General Public License v2.0
713 stars 116 forks source link

Reading light meter from Nikon D3300 #78

Open SarenT opened 7 years ago

SarenT commented 7 years ago

Hi,

I can't find the config for light meter in Nikon D3300. I have retrieved 2 separate outputs of --list-all-config and checked the differences with diff. For one I have blocked the light to see that the light meter changes on the screen. But none of the configs, show any difference (except the dates).

I wonder, if this is a limitation by Nikon?

Best, SarenT

msmeissn commented 7 years ago

I think it is not exposed over remote control. we might however just be missing to implement somewhere, if the windows or android app can do it, we should also be able to do it

SarenT commented 7 years ago

How should I/we proceed on this? At this point I don't have much direction. I guess Nikon is using PTP2 camlib. I see that the android app (WirelessMobileUtility) uses wireless adapter to reach the camera. I don't have the adapter to find out how it is done or what it does. (but I can ask friends to borrow it...)

SarenT commented 7 years ago

Hi again,

I looked into it a bit and I have found PTP property codes for light meter. There are 2 related codes:

libgphoto2/camlibs/ptp2/ptp.c:4717: {PTP_DPC_NIKON_LightMeter, / 0xD10A / libgphoto2/camlibs/ptp2/ptp.c:5124: {PTP_DPC_NIKON_LightMeter, PTP_VENDORNIKON, 0.08333, 0.0, N("%.1f stops")},/ D10A / libgphoto2/camlibs/ptp2/ptp.h:1854:#define PTP_DPC_NIKON_LightMeter 0xD10A / Exposure Status /

libgphoto2/camlibs/ptp2/ptp.c:4861: {PTP_DPC_NIKON_ExposureIndicateStatus, / 0xD1B1 / libgphoto2/camlibs/ptp2/ptp.c:5132: {PTP_DPC_NIKON_ExposureIndicateStatus, PTP_VENDORNIKON, 0.08333, 0.0, N("%.1f stops")},/ D1B1 - FIXME: check if correct. / libgphoto2/camlibs/ptp2/cameras/nikon-d7000.txt:4307:0xd1b1: #define PTP_DPC_NIKON_ExposureIndicateStatus 0xD1B1 libgphoto2/camlibs/ptp2/ptp.h:1935:#define PTP_DPC_NIKON_ExposureIndicateStatus 0xD1B1

I also naively wrote to Nikon. I am curious, how they are going to respond. :)

msmeissn commented 7 years ago

The d3xxx series is the lower end of nikon cameras. not everything might be exposed on those (the upper range cameras export way more configuratiuon variables)

would be interesting to see if this is possible with other software for The D3300 or how Nikon reacts :)

msmeissn commented 7 years ago

fwiw, both properties would show up as "lightmeter" in the all config tree

SarenT commented 7 years ago

I asked around to borrow a wireless adapter but noone replied yet. On my Windows machine, I could not make Nikon Camera Control Pro 2 work. It never detects the camera. Nikon replied really fast that this kind of information is handled "(company) internally" and "confidentially". (:D) Therefore, they cannot provide it. (I guess automatically) they closed my question as solved. I reopened it by stating that all the other property codes are known and I am able to control almost everything. It doesn't make sense that I cannot read the lightmeter. If the camera doesn't support it, then I will ask for a firmware update. I think, that there can't be any reason, why this shouldn't be possible (at all). At least Nikon needs to do it's part. Even low end cameras are potential tools for sophisticated applications.

According to this website: http://www.lmscope.com/produkt22/Nikon_Camera_Control_Pro_2_en.shtml Camera Control Pro 2 doesn't support D3300.

SarenT commented 7 years ago

There is digiCamControl open source software. I tried that to see if it can read light meter. The application was buggy (live view didn't work or it crashed a couple of times). But I could set the basic configurations. However, also digiCamControl didn't read lightmeter values.

ketankr9 commented 5 years ago

Any update on 'Reading light meter from Nikon D3300'?
Or at least, please let me know if it's possible or not.

Update: Arsenal supports D3300 Arsenal Supported Cameras. Since arsenal automatically configures and captures photos intelligently, it wouldn't have been possible without getting light meter readings.

SarenT commented 5 years ago

Hi, One can trigger capture with automatic programs, then light meter is not required. Or live view can also provide input on how much light there is. Nevertheless, I didn't try for a while now. Can you try with the most recent version, maybe it works now?

Vomvas commented 3 years ago

Hi, I am trying to do the same with my Nikon D3400. In version 2.5.27.1 I cannot find the config*, not even in the /main/other branch.

@SarenT What do you mean "live view can provide how much light there is"? Is there a workaround to reading the lightmeter?

Thanks!

*Edit: I cannot find the lightmeter info in the camera config.

SarenT commented 3 years ago

@Vomvas I mean that one can process live view to calculate brightness. I think that the camera doesn't provide this info.

Vomvas commented 3 years ago

@Vomvas I mean that one can process live view to calculate brightness. I think that the camera doesn't provide this info.

@SarenT Indeed, my model does not provide this. However, is there a way to process live view from a command line interface such as gphoto2 without manual interaction, or a GUI?

Another idea was to capture a low res image and try to read EXIF data for exposure values, but I couldn't find this information either...