Eclipse Script Collaboration

General Discussion about digiCamControl and related photography techniques.
Post Reply
NikonShooter
Posts: 2
Joined: Sun Jun 25, 2017 7:06 pm

Eclipse Script Collaboration

Post by NikonShooter » Thu Jul 20, 2017 9:41 pm

Is anyone interested in collaborating to create a script for the Aug 21 eclipse?

There are several for Solar Eclipse Maestro but I'd much rather use a Windows laptop to control the camera.

I've started one for my Nikon D500 in DCC but am finding that it is not reliably changing the ISO, shutter speed and aperture unless I repeat the command several times in the script. It could be a timing issue and I'd like to get this figured out shortly.

Eclipse Script Collaboration

Advertisment
 

BobA49
Posts: 1
Joined: Thu Jul 27, 2017 1:30 am

Re: Eclipse Script Collaboration

Post by BobA49 » Thu Jul 27, 2017 1:42 am

I'm interested, but have done minimal tcl programming many years ago. I'd like to see what you have so far. I'd like to use it with my Nikon D3300.

jerryd
Posts: 2
Joined: Sun Aug 13, 2017 2:31 am

Re: Eclipse Script Collaboration

Post by jerryd » Sun Aug 13, 2017 2:41 am

Hi. I may be a little late to the party, but am also interested in programming to automate eclipse photos. With only a couple minutes of totality, I would like to be able to experience it and not spend all my time fiddling with the camera (Nikon D5100). I have lots of programming experience, but none with TCL (yet). I do not know if the TCL is needed for what I plan to do (a variety of photos at different pre-determined settings), or if XML is enough. Either samples or advice is appreciated. I am willing to help in any way I can as well.

whadaUwant
Posts: 3
Joined: Fri Aug 18, 2017 4:12 pm

Re: Eclipse Script Collaboration

Post by whadaUwant » Fri Aug 18, 2017 4:28 pm

I'm working on this today. I plan on looping the script for about 2 hours and doing one capture every 8 seconds with various shutter speed settings. Ideally I would like to increase the aperture 4-6 times as the script runs and the sun becomes less bright. I plan on being in the path. I just started working in this and have no idea if these settings are anywhere close to where they need to be, but I have a script that runs!

I'm getting an error 'Wrong value f/4.0 for property aperture"

<?xml version="1.0" encoding="UTF-8"?>
<dccscript>
<commands>
<!-- initial camera setup start -->
<setcamera property="iso" value="200"/>
<setcamera property="aperture" value="f/4.0"/>
<setcamera property="shutter" value="1/60"/>
<!-- initial camera setup end -->
<!-- Start shutter speed loop - 10 captures - 80 sec. per loop -->
<loop loopcount="10">
<capture/>
<wait time="8"/>
<setcamera property="shutter" value="1/80"/>
<capture/>
<wait time="8"/>
<setcamera property="shutter" value="1/100"/>
<capture/>
<wait time="8"/>
<setcamera property="shutter" value="1/125"/>
<capture/>
<wait time="8"/>
<setcamera property="shutter" value="1/160"/>
<capture/>
<wait time="8"/>
<setcamera property="shutter" value="1/200"/>
<capture/>
<wait time="8"/>
<setcamera property="shutter" value="1/250"/>
<capture/>
<wait time="8"/>
<setcamera property="shutter" value="1/320"/>
<capture/>
<wait time="8"/>
<setcamera property="shutter" value="1/400"/>
<capture/>
<wait time="8"/>
<setcamera property="shutter" value="1/500"/>
<capture/>
<wait time="8"/>
<setcamera property="shutter" value="1/640"/>
</loop>
</commands>
</dccscript>

jerryd
Posts: 2
Joined: Sun Aug 13, 2017 2:31 am

Re: Eclipse Script Collaboration

Post by jerryd » Wed Aug 23, 2017 6:51 am

Sorry that I was unable to post a reply over the weekend. While this is late for the eclipse that just occurred, this might help others on similar attempts. I learned a lot by trial and error and maybe this might speed up others learning processes. I used a lot of echo statements in trying to determine what failed. One weakness of the program is that the scripts end without any indication of what or even where something went wrong.

When trying to determine what values are valid in a dccscript, attach the camera and type the commands in the script execution code window. The program will show a popup with the valid values. It was very handy in learning how to write scripts, and what values are valid. You can type and select commands or values when they pop-up.

Having said that, I ended up using a tcl script because I wanted to do somethings that a dccscript could not do. Here is the script I ended up with. Note: I was only interested in the total phase because I did feel like constantly aiming the camera during the partial phases, and the partial phases are not all that interesting, and I didn't feel like buying or making a filter for the partial phases. In hindsight, I would not have been changing it at the last day, but in the end this worked perfectly for what I desired.

(unfortunately, the indents do not show in this postings in this forum)

#----------
echo "Script start"
set photonumber 0
set waitcounter 30
set waitingshutterspeed 0
while {1} {
set m [dcc get mode]
if { $m == "M" } {
echo "Camera in Manual mode"
break
} else {
echo "Camera not in Manual mode"
after 2000
}
}
set systemTime [clock seconds]
# set time for my location at the start of totality
set eclipseStart [clock scan "2017-08-21 10:24:48 AM"]
# for testing overwrite the eclipse time with a very soon time
#set eclipseStart [expr {$systemTime + 29}]
echo "systemTime = [clock format $systemTime -format {%D %H:%M:%S}]"
echo "eclipseTime = [clock format $eclipseStart -format {%D %H:%M:%S}]"
set timeToEclipse [expr {$eclipseStart - $systemTime}]
set waitCaptures [expr {int($timeToEclipse/20)}]
set timeToNextCapture [expr { $timeToEclipse - ( 20 * $waitCaptures )}]
set nextCaptureTime [expr {$systemTime + $timeToNextCapture }]
echo "nextCaptureTime = [clock format $nextCaptureTime -format {%D %H:%M:%S}]"

dcc set whitebalance "Auto"
dcc set exposurecompensation "0.0"
dcc set compressionsetting "RAW + JPEG (FINE)"
dcc set iso "100"
dcc set aperture "11.0"
dcc set shutterspeed "1/125"

set iso [dcc get iso]
set ap [dcc get aperture]
set ss [dcc get shutterspeed]

while { $timeToEclipse > 0 } {
set systemTime [clock seconds]
echo "systemTime = [clock format $systemTime -format {%D %H:%M:%S}]"
while { $systemTime < $nextCaptureTime } {
after 500
set systemTime [clock seconds]
}
echo "systemTime = [clock format $systemTime -format {%D %H:%M:%S}]"
set deltaTime [expr {$eclipseStart - $systemTime}]
echo "Time: T-$deltaTime sec "
dcc capture
after 1000
set timeToEclipse [expr {$eclipseStart - $systemTime}]
if { $timeToEclipse > 21 } {
set nextCaptureTime [ expr { $nextCaptureTime+20 } ]
} else {
set nextCaptureTime [ expr { $nextCaptureTime+5 } ]
if {$waitingshutterspeed == 0} {
set waitingshutterspeed 1
dcc set shutterspeed "1/1000"
set ss [dcc get shutterspeed]
}
}
echo "nextCaptureTime = [clock format $nextCaptureTime -format {%D %H:%M:%S}]"
}

echo ">>> start captures"
set shutterspeeds {"1/4000" "1/2000" "1/1000" "1/500" "1/125" "1/30" "1/8" "1/4" "1/15" "1/60" "1/250" "1/1000" "1/2000" "1/500" "1/4000" "1/500" "1/15" "1/2" "1/60" "1/4" "1/2000" "1/8" "1/250" "1/4000" "1/500" "1/15" "1/1000" "1/30" "1/125" "1/500" "1/4000" "1/2000" "1/1000"}
set nextCaptureTime $eclipseStart
foreach setss $shutterspeeds {
incr photonumber
set systemTime [clock seconds]
echo "systemTime = [clock format $systemTime -format {%D %H:%M:%S}]"
while { $systemTime < $nextCaptureTime } {
after 1000
set systemTime [clock seconds]
}
echo "systemTime = [clock format $systemTime -format {%D %H:%M:%S}]"
dcc set shutterspeed $setss
set ss [dcc get shutterspeed]
set deltaTime [expr {$systemTime - $eclipseStart}]
echo "Time: T+$deltaTime sec, Photo #: $photonumber, iso: $iso, aperture: f/$ap, Shutter Speed: $ss"
dcc capture
after 1000
set nextCaptureTime [ expr { $nextCaptureTime+4 } ]
echo "nextCaptureTime = [clock format $nextCaptureTime -format {%D %H:%M:%S}]"
}

echo "script complete"
#----------

Post Reply