Add support for DigiCamControl as an image source

Issue #310 closed
Shlomi Vaknin created an issue

Hi,
Just discovered this great project on cloudy nights forum, tried it and was super impressed! I would like to propose a very simple solution to the annoying lack of proper Nikon apis.

Users of Nikon cameras that are not directly supported currently need specialized hardware for bulb support. However there is a very simple solution to that!

Perhaps you are familiar with DigiCamControl. They have managed to implement a way to manually do bulb without bulb support! I can easily take 10 minutes shots on my D3300.

I started working on a generic ASCOM driver for it (https://github.com/shlomiv/dcc-ascom, through ASCOM Alpaca), which was pretty simple to do. However, I got stuck at the debayering phase, as I much rather transmit the actual raw files than debayer and transmit them using the standard ASCOM protocol..

In any case, once DigiCamControl is installed and properly configured, one could use the following URL to take a snapshot:

curl -X GET "http://localhost:5513/?slc=do&param1=BulbCaptureStart"

The list of the various commands, to set up ISO and duration, path for download the image etc can be found here:
http://digicamcontrol.com/doc/userguide/singlecmd#bulb-capture-commands-works-if-the-astro-windows-is-open

I am a programmer myself and would love to help, unfortunately I have no setup for c# development. I tried to get it installed on my only windows computer (the astro-photography one I use for my rig), but it simply would not install. I would love to help in any way I can though!

I think adding support for this could open up your wonderful software to a much larger audience of beginners.

Thanks for your wonderful efforts, your software looks fantastic!

Shlomi

Comments (9)

  1. George Hilios

    Shlomi, I’ve never written an ASCOM driver myself, but what I can say is that the other cameras in Nina transmit raw data to leave debayering to the application. Does ASCOM require you to debayer?

    If you have a Windows machine, it should be pretty straightforward to get you up and running. I don’t have a Nikon, nor do most (if not all) of the contributors, so expanding support in that space tends to be difficult. What is failing to install?

  2. Shlomi Vaknin reporter

    Hi George, thanks for replying!

    I have an ancient windows 7, and the msvc installer simply fails.. I tried for hours to set it up, but failed miserably. I am a linux/unix dev myself, so no real windows unfortunately..

    In any case, I did not mean for you to write the ASCOM driver 🙂 just to add support for the REST APIs exposed by digicam control. So for example, when NINA wants to take a picture, its just a GET rest call to some endpoint. If you want to change ISO, its another PUT call, etc. Does that make sense?

  3. Shlomi Vaknin reporter

    I guess I may be wrong regarding the debayering part.. Thanks for clarifying this, I will try to understand how to translate Nikon’s raw format to ASCOM’s raw format to transmit it over.

    In any case, do you think generalizing your camera control to a rest api control is feasible?

  4. George Hilios

    Thanks for the context, Shlomi. A few things to comment/respond to:

    1. Windows 7 will go out of support in January, and NINA won’t be able to continue supporting it when Microsoft pulls the plug. I recommend you find a way to upgrade to a more recent operating system, even if it is just to run NINA!
    2. Writing such a driver would probably be straightforward, but it doesn’t sound like the right thing to do from a NINA point of view (though @Stefan B owns the final decision). Since digicamcontrol is open source, I’d advocate for incorporating what it does into NINA directly. This would reduce extra points of failure. If bulb mode is the primary thing you’d like to see fixed, it’s probably easier and better for the long term to just put it right into NINA
    3. At the end of the day, the toughest part is that none of the contributors have Nikon cameras to test this out on. The fastest path to getting this done is having someone with such a camera contribute!

  5. Shlomi Vaknin reporter

    Thanks George!

    1. Yeah, that old machine will die before it gets upgraded to any newer windows lol.. In any case, it is rather difficult to use NINA without a properly supported camera (even with the folder listener “camera”), so I guess I will stick to my current workflow - doing everything manually - until I improve my rig
    2. Doing that would be fantastic! Much better than my original approach, but would definitely require more work.. On the other hand DSS is also written in C#, so it should be somewhat easier to port those portion over.
    3. Yes, I would have loved to be able to contribute myself, I would have totally done so if this was written in python/cpp/java etc. Perhaps when I get a new astro laptop I could do that..

    Thank you for looking into this,

    Shlomi

  6. DH LU

    There is another advantage to add the support of DigiCamControl.

    Some of astrophotographic use of Nikon DSLR, I will enable the dark current mod to get real “raw”. However, once I used the software which through Nikon SDK, the program will hang during downloading picture to PC. N.I.N.A hangs in downloading picture to PC as well. Only DigiCamControl (2.1.0) is able to process whole procedure and transfer the picture to PC Correctly. As I knew, that’s because DigiCamControl uses PTP not Nikon SDK.

  7. Log in to comment