Program Details

This page will provide detailed information on the use of the program. In many cases it will do so by referring back to previous sections.

Supported Cameras

This program requires use of one of several Canon listed in Supported Camera List

We support any lens that is compatible with Canon. We also support direct connection to a telescope.

Note that different camera have different levels of support. Some of the cameras that the app will support have restrictions on their use or, conversely, have added support for their specific features. Please look at the information provided to see where your camera falls.

I strongly recommend that you power cycle the camera before connecting. If there is a connection problem exit the program and start again.

I recommend you put in an empty, high speed chip to collect your eclipse photos. The Canon software takes a considerable time to restart if there are pictures already on the chip. It may also delay the camera save times.

GPS

A GPS device is not required to use this program. If you have access to the internet at your site and you are at a fixed site then the GPS adds little. However, if you are moving (i.e. on a ship) or have poor access to the internet with your Mac® then you should review the information on Time or use on a ship.

This program supports GPS dongles using the Ublox7 chip such as Stemedu VK172 USB GPS Dongle

Stemedu VK172 USB GPS Dongle

Using the device is easy. Plug it in. One caveat mentioned in the other pages. It may take up to 15 minutes to be usable as a time source. Depending on how long since it was last plugged in it may also take a while to get position. The chip does not require this program to be running to get location. Once power is applied it just needs clear sky.

Support for a GPS is enabled in the Site->new item. If you plug the device in after you get past that point you will have to restart. Once in the program will do the rest.

The status display window can be in the background or closed. The GPS does not require it to run.

The two status displays are

  • Fix 3D This means that the chip has enough confidence in its location that it can make a height prediction
  • Time Ref The chip has received information from the satellite to map GPS time into UTC. In other words it can be used as a time reference

Fix Quality is a gross indication of how good the fix is. The chip returns this, but I am not sure how useful it really is. The key is whether there is a 3D Fix

Satellites This give some indication of the sources of the fix. For this chip this can be a combination of GPS (US) and Glosnass (Russian).

Remember altitude (displayed in meters) is the least important of the lat, long, height measurements. 1 meter of height is only about 0.000009 degrees of latitude.

Main Window

The main window was previously described in the main page. This amplifies a bit on what was said there

  • The site information is on the upper left. This lists the user's site name (which is used in Site->Open). It gives the lat long of the site. Note that if a GPS is in use and we are running this does not track the GPS location. Instead "Location" tasks are included in the task list. Since every location update means the times of the C's need to be recalculated this insures that this can be done without disrupting the script.
  • The current camera state is to the right of the site
  • Below the site are two time displays.
    • The display labeled "Run Time" is what time the program thinks it is. Tasks will be triggered based on this time.

      In one of the operational time modes Time this will show a correction to a poorly sync'd system clock (or a correct system clock if you have properly synced the time).
      The practice modes are similar but the offset is chosen so the particular C is a convienient time in the future.
    • System Time this is the current clock in the computer. This is more of an FYI since all of the processing is based on Run Time
  • Moving to the upper right is the big Run button. It is big and obvious since when you are on site the last thing you want is to be searching for it. If you have a touchbar equipped Mac® then the button will also be in the touchbar.

    touch bar
    The button changes to Stop when the program is running. The program can cycle between run and stop as many times as required. In fact, it is recommended about 15 minutes before totality you hit stop and refocus. You can then resume by hitting run again.
  • To the left of the Run/Stop Button shows the running mode. The operational modes are in green, practice times in orange, and Emergency is red.
  • Below the Run button is the event list. This provides the actual times when the events will occur. These will agree with the "Run Time" time. The column to the right is the time in "System Time". This can be safely ignored.
  • Last but not least is the task list. This is a time ordered set of tasks. This is the definition of the columns
    • Countdown This give the time until the event. Task times are relative to an event from the event list. If we are stopped it gives the offset from the event. If we are running it gives the time when the event will occur.
    • EventThis is the type of the task. Choices are Image, Burst (a series of images), Play, and Location (a point where the event times will be recalculated). Note that the latter is only present when the GPS is being used
    • Trigger TimeThis is the time the event will occur (based on Run Time)
    • Exposure
    • Comment Gives the reason for this exposures such as "Chromosphere" or "Partial 10%"

Files

The program saves many hidden configuration files in its Library folder. These are not intended to be edited. There is really no reason to since each of these can be edited with tools provided.

But there is another class of files that are user editable and/or provide information that the user requested. The folder containing these files is in "Documents". The folder is marked with Application's icon to reinforce that it is special. Here is what is in the various folders

Bessel

As said elsewhere predictions are made using a technique devised in the 1800's by Bessel which was refined by Meeus in the 1980's. The current implementation is based on a port of that work by Espenak, et al. This provides a more complete explanation. Fred Espenak's site publishes the Bessel Elements for each particular eclipse. For example, this is the set for the eclipse that occurred on 12/14/20 in the table labeled "Polynomial Besselian Elements". Note that this program actually uses the elements within the JavaScript of the associated circumstances calculator which have slightly more precision.

When the program starts it will look for a file {}->Bessel->CustomBessel.xml. If present it will load it.

When a site is created via New Menu item the Bessel currently being used is written to {}->Bessel as "Default" + {eclipse name} + ".xml". You can examine the parameters being used (I suggest using an xml editor such as xml notepad).

Live Camera

When you Take a Picture with Test Shot this is where it appears

Log

Each time you press Run it creates a new log. Mostly this contains debugging information, but there is some stuff that might be useful

  • The type of run and which camera
  • The relative times for Run Time, System Time, and Camera time. This may not appear immediately since the camera has to be asked.
  • The location and event times. Note that each Location task repeats this so if a GPS is used a location marker is set about a minute after C3.
  • The RunTime of the image and how late the image executed
    Task TakePict schedule at 04/08/24 18:40:51.8 Δexecuted 0.0007 comment Chromosphere
    This indicates the command to take this Chromosphere exposure was issued at 18:40:51.8 and was late by 0.0007 seconds. Delays are almost always less than 0.05 seconds. It is one of the reasons you want this to be the only program that is running.

Note that during annular eclipses a special "marker" exposure is taken. This marks the end of a sequence of "C" or "max" exposures so the exact time of each exposure can be determined.

Download Images

This directory contains the files generated by Background Download During Partial

User Download

This directory contains the files generated by Download All Menu Item

Simulation Images

Anytime you run with the simulator it creates a directory where it places simulated images corresponding to the event being captured. These are from my own collection of images

User Visible Scripts

I realized when I was writing the program that some advanced users may not agree with the exposures or timings I use. Instead of just saying "sorry" I provided an escape hatch for them to be more creative. However, this program is intended to be used as documented so users need to be aware of the caveats should they choose this path.

  • Using this feature is unsupported beyond this description. You will be performing a Beta Test. I have verified that the settings are restored, but if you do find a bug I may add it to be fixed in a future release.
  • Simply changing the exposures is relatively safe as long as you follow the other precautions below. Changing the timing of the exposure is really risky.
  • You should assume any manually generated script applies only to a single lat/long. The script has the ability to adjust the trigger times if you move, but requires the duration to not change which means you cannot move very far.
  • This program is designed to use generated scripts. Thus if you open camera prefs or the script generator it will reset the script to new generated values
  • Anyone choosing this path needs to extensively test the script for proper execution with your camera. You can do this in simulated time

If I have not discouraged you yet then here is the information you will need to understand the generated script. The script if formatted in XML. I use the app XML Notepad. You can open the file with a simple text editor, but what you will see will not be pretty.

Like any XML it is a list of keywords and values. Here are the keyword definitions that are not obvious

  • TaskType This describes the kind of task to be created "Burst Image Task", "Priority" {i.e. Chromo and prom}, "Non Priority" {i.e. Corona}. There are also some other task types such as scripting prompts.
  • Task Name What will be recorded in the log
  • Time Offset Time of start of the event relative to the startref
  • Startref One of the calculated events for the eclipse
  • totaltasktime This is only used in Burst as the others are based on the exposure{ may be used for error checking}
  • ImagePad how long to wait until the next image {not used in script execution, but may be used for error checking}
  • Speed speed to set camera
  • f stop f stop setting (or blank if telescope)
  • iso iso
  • ImageQ  not used in script
  • lduration must be the same as total task time
  • luseHighSpeed Sadly Canon broke this feature so it is no longer used

Good Luck!

Note that following the October 24 eclipse I plan to redesign the scenario generator to allow each corona sequence to capture more images. This should remove one of the objections stated why people wanted to use scripts.

Frequently Asked Questions

I recognize that those that committed to a different camera brand would have preferred a release in Feb 24 with that support. Would I consider a version for Aug 26? At the present time the answer is that it is not possible.

I reached out to Nikon to see if they offer a Software Development Kit like Canon does. They do, but it is poorly structured and one required component of the distributed SDK is x_86 only. Thus it is unusable for modern Mac development. Further, by agreeing to the IP restrictions of the Nikon SDK I have also precluded several avenues to overcome the limitations. I emailed Nikon marketing and received a response that "the release is not supported", but did not address any of the issues I raised.

At this point I am putting this problem aside. I may check later this year to see if Nikon is shipping an SDK that is a universal binary; however, I have no personal need for a Nikon product so I have little motivation to pursue this further. And with Version 2.0 I am adding additional code to better support certain Canon cameras.

I monitor the Facebook group Solar Eclipse Chasers or you can use email: captureeclipse@almadenobservatory.net

This started as a COVID sanity project to write something for myself. As it came together I realized it might be useful to others. I have put some work into areas that I do not intend to use myself (such as exporting scripts), but this remains largely a program I need.

The second issue is how much I would actually make if I did sell it vs the extra hassle that will cause. So Apple will take 30% off top. Income Taxes will take another 30-35% plus have secondary effects as income changes ripple into other areas. Finally it will increase the fees my account charges. So when all of that is done the result is pocket change.

This is to make the lens compatible with a telescope.
This program is intended to be used in full sunlight (well at least until the shadows disappear). To see the screen requires placing it in a box (I now use a tent)
After some experimenting I determined that dark mode made reading the display quickly much easier. Light mode is not disabled, but I think you will find Dark Mode gives better contrast in the field.

Actually during development the program used High Speed mode for almost 9 months. Then the Canon software changed and I was not able to get it to work reliably again. I updated to a new SDK version in the testflight version 1.2. Part of the test plan was to see if any of the more advanced cameras could now do high speed mode. I received no feedback so in the 1.3 release I retained my 1.1 "take pictures faster" operation.

Since I felt the high speed mode was risky in the first place I am not disappointed it is gone.

The secret sauce is the input to those equations; the Bessel Elements. My source are the Fred Espenak websites, but I anticipated that these might change. Just in case I was not able to update in time the Custom Elements feature allows the user to provide an updated set of elements and use those instead of the ones built into the program. The file Documents/CaptureEclipse/Bessel/CustomBessel.xml provides a sample. The Bessel fields are laid out in the file. It is just a matter of editing this file and then selecting it in Site->New.

Basically because I am confident the ones Espenak calls for meet up with my own experience.

I did provide selections for Solar Filters because that was a case where One Size did not Fit All. There seems to be some disagreement over my Thousand Oaks exposure. After I returned from Texas I shot another test shot and still feel my exposure is correct; however, I added an additional setting one f stop slower.

Privacy

This app does not collect nor does it distribute any information about its operation.

If you have configured your Mac® under System Preferences->Security and Privacy->Analytics to share crash information with developers we will receive a report should your program ever crash. This is a Mac® feature that we have no control over.