Nikon DSLR Plugin
Posted: 07 Dec 2018, 16:17
Hi All,
Just by way of introduction I'm a complete newbie I have just started with astrophotography (2 months) and purchased AA a week ago. I'm having a great time learning the ropes!
I have an old Nikon DSLR camera lying around that I wanted to use and noticed on the forum that there is no nikon plugin for AA. So, as I'm not new to programming, I've written a simple nikon plugin for my old D90 based on the demo CCD_Driver.
It is all working nicely, AA connects to the camera. Exposure times are set using the AA ccd control panel, and exposures are triggering as normal from the start button. Raw NEF images are downloaded in memory and loaded directly into AA as 16bit colour (3 channel) images. Sequences and subframes are all working as expected.
So far so good
Now I have two questions.
Firstly, it was not clear to me how to "cancel" an AA image acquisition in the event of some failure. Let's say for example that AA is calling d_ReadImage for the second time (i.e. green channel) and for some reason something goes wrong on my side - is there a way to cancel the image acquisition at that point? i.e. how do I stop AA from continuing to try to finishing reading the image?
The reason I bring this up is that currently if I run a script to capture multiple images and don't add an additional pause after the Camera.wait, AA starts asking for additional d_ReadImages (i.e. more than 3 colour channels with no d_StartExposure calls in between). This only occurs when scripting. And only if I do NOT include an additional pause(3) after my Camera.Wait.
As mentioned it works fine with the additional pause but I'm just wondering what I might be doing wrong to need the additional pause?
Second question relates to the possibility of adding a general purpose SetParam/GetParam pair for the purposes of custom camera scripting - I'm thinking in particular of ISO, but it would be great for many other things also.
I'm thinking of something like:
int d_GetParam(int param_id)
void d_SetParam(int param_id, int param_val)
which would have scriptable corollaries something like:
ISOID = 1
isoval = Camera.GetParam(ISOID)
Camera.SetParam(ISOID,400)
newisoval = Camera.GetParam(ISOID)
Is there anyway for me to do this currently?
Cheers,
Andrew.
Just by way of introduction I'm a complete newbie I have just started with astrophotography (2 months) and purchased AA a week ago. I'm having a great time learning the ropes!
I have an old Nikon DSLR camera lying around that I wanted to use and noticed on the forum that there is no nikon plugin for AA. So, as I'm not new to programming, I've written a simple nikon plugin for my old D90 based on the demo CCD_Driver.
It is all working nicely, AA connects to the camera. Exposure times are set using the AA ccd control panel, and exposures are triggering as normal from the start button. Raw NEF images are downloaded in memory and loaded directly into AA as 16bit colour (3 channel) images. Sequences and subframes are all working as expected.
So far so good
Now I have two questions.
Firstly, it was not clear to me how to "cancel" an AA image acquisition in the event of some failure. Let's say for example that AA is calling d_ReadImage for the second time (i.e. green channel) and for some reason something goes wrong on my side - is there a way to cancel the image acquisition at that point? i.e. how do I stop AA from continuing to try to finishing reading the image?
The reason I bring this up is that currently if I run a script to capture multiple images and don't add an additional pause after the Camera.wait, AA starts asking for additional d_ReadImages (i.e. more than 3 colour channels with no d_StartExposure calls in between). This only occurs when scripting. And only if I do NOT include an additional pause(3) after my Camera.Wait.
As mentioned it works fine with the additional pause but I'm just wondering what I might be doing wrong to need the additional pause?
Second question relates to the possibility of adding a general purpose SetParam/GetParam pair for the purposes of custom camera scripting - I'm thinking in particular of ISO, but it would be great for many other things also.
I'm thinking of something like:
int d_GetParam(int param_id)
void d_SetParam(int param_id, int param_val)
which would have scriptable corollaries something like:
ISOID = 1
isoval = Camera.GetParam(ISOID)
Camera.SetParam(ISOID,400)
newisoval = Camera.GetParam(ISOID)
Is there anyway for me to do this currently?
Cheers,
Andrew.