Monday, July 17, 2017

Eclipse Scripting

Auto Hot Key to the rescue


Because the automated scripting tools for the eclipse are only able to control Canon and Nikon cameras, I have to depend on tethering software for the Pentax camera to control it.

Alas, these software have their own limitations and are not scriptable.

Thus, I'm turning to Auto Hot Key to control the mouse and clicks.

Over the weekend, I was able to get my desktop computer to control the Pentax K1 via the Image Transmitter 2 software and AHK.  I found that a full 5 shot bracket exposure needs 6 seconds to complete.  What's also nice is that I can force the IT2 software to not download the picture, thus saving bandwidth.

Next step is to test the timing controls via this temporary script.



; Get target time in a format we can:
;  - compare (with "<")
; < comparison should be safe as long as both are in the *exact* same format.
; target_time is 2305 format

filter1timeS = %A_YYYY%%A_MM%%A_DD%%target_time ; 11:05 pm
filter1timeE = %A_YYYY%%A_MM%%A_DD%%target_time ; 11:05 pm
beads1timeS = %A_YYYY%%A_MM%%A_DD%%target_time ; 11:05 pm
beads1timeE = %A_YYYY%%A_MM%%A_DD%%target_time ; 11:05 pm
brackettimeS = %A_YYYY%%A_MM%%A_DD%%target_time ; 11:05 pm
brackettimeE = %A_YYYY%%A_MM%%A_DD%%target_time ; 11:05 pm
beads2timeS = %A_YYYY%%A_MM%%A_DD%%target_time ; 11:05 pm
beads2timeE = %A_YYYY%%A_MM%%A_DD%%target_time ; 11:05 pm
filter2timeS = %A_YYYY%%A_MM%%A_DD%%target_time ; 11:05 pm
filter2timeE = %A_YYYY%%A_MM%%A_DD%%target_time ; 11:05 pm


send filtersettings ; set single frame shooting with appropriate fstop and shutter speed
while (A_Now >= filter1timeS and A_Now <= filter1timeE) ; this is first to second contact
{ ; send a picture click once a minute
stuff
}

 ; remove filters audio warning
; beads1
send beadsettings ; set continuous shooting speed to Low with appropriate fstop and shutter speedset beads
while (A_Now >= beads1timeS and A_Now <= beads1timeE) ; this is when first beads goes
{ ; spam beads
click ; at the start
}
click ; at the end, click again to stop the continuous shooting mode


send bracketsettings
while {A_Now >= brackettimeS and A_Now <= brackettimeE) ; this is totality
{ ; spam brackets
click every 6 seconds
}


; beads2
set beads ; set continuous shooting speed to Low with appropriate fstop and shutter speed
while (A_Now >= beads2timeS and A_Now <= beads2timeE) ; this is when second beads goes
{ ; spam beads
click ; at the start
}
click ; at the end, click again to stop the continuous shooting mode


 ; apply filters audio warning

while (A_Now >= filter2timeS and A_Now <= filter2timeE) ; this is 3rd to 4th contact
{ ; send a picture click once a minute
stuff
}



I'll still need to figure out the best time to build in slack to adjust the filters and to run an audio announcement.  I already have the time markers for the contact points, so that's easy to put into the script.   I'll also need to test this on the laptop to ensure that the timing is still correct.