dukus / digiCamControl

DSLR camera remote control open source software
http://digicamcontrol.com/
Other
664 stars 224 forks source link

Feature request: expose digicamcontrol as an ASCOM camera device #308

Open shlomiv opened 5 years ago

shlomiv commented 5 years ago

By exposing DCC as an ASCOM device, we could use almost any astronomy camera software with almost any nikon camera by simply connecting to a virtual DCC camera.

This will be useful mainly because DCC lets us take bulb pictures of any lengths, even with entry level models which have this option disabled through the usb port.

There is a project, https://github.com/vtorkalo/ASCOM.DSLR, which is using DCC as a library, but for some reason it is also limited by the disabled bulb mode on entry models. Tp solve it, they refer owners to construct some DIY cable which will allow for bulb. Obviously though, this is unnecessary, as proven by DCC bulb-over-usb feature.

Thanks for your hard work, DCC is really awesome!

shlomiv commented 5 years ago

We can now achieve this using ASCOM Alpaca (remote).

Basically, by exposing an http server in DDC that implements the following swagger api definition https://www.ascom-standards.org/api/#/ (look for Camera Specific Methods) we can have digiCamControl act as a full blown astronomy camera to any astronomy tool such as SequenceGeneratorPro.

Unfortunately I am not a dot net developer, I don't have a windows dev machine to do it. If DDC could at least expose its astronomy camera control parts as some apis (REST would be awesome) I could then write an adapter in python or clojure that implement the ASCOM Alpaca interface.

Looking forward to your thoughts on this!

shlomiv commented 5 years ago

Made a bunch of progress, see https://github.com/shlomiv/dcc-ascom/blob/master/src/dcc_ascom/handler.clj. I can now connect to this simulated camera from sharpcap and SGPro!

Its just simple api endpoints, beautifully documented and simple to follow. Should be rather simple to add directly into dcc, however, I cannot do it myself as I am not a dot.net dev, and have no dot.net environment in which to do so..