Solar Eclipse Workbench 1.6.0: HDR Brackets, Alias Cameras, and 300 ms Back in Your Pocket
Version 1.6.0 of Solar Eclipse Workbench (SEW) is out, and it's a big one. This release focuses on three themes: faster shutter triggering, smarter HDR sequencing, and better multi-camera support. Here's a full rundown of everything that changed.
New: take_hdr — automated HDR bursts during totality
The headline feature is the new take_hdr script command. It fires a symmetric bracket sequence — fastest speed → (N stops slower) → fastest speed again — giving you 2N+1 exposures that span the full dynamic range of the corona, from the inner streamers out to the outer corona, without any manual intervention.
What makes. this implementation particularly clean is that the available shutter speeds are queried directly from the connected camera at runtime via gphoto2's shutterspeed widget. There's no hardcoded lookup table to maintain: if your camera supports a speed, the sequencer will use it; if it doesn't, it won't. Canon and Nikon are both fully supported, and a VirtualCamera fallback is in place for simulator runs.
The shots are fired with gp_camera_trigger_capture rather than the blocking gp_camera_capture, so SEW doesn't wait for each file to be written to the card before firing the next frame. On Canon bodies, USB event queues are drained after the sequence to prevent stalls on later commands.
Script syntax:
take_hdr, MAX, -, 0:00:10.0, Canon EOS R, 1/2000, 5.6, 100, 14, "HDR at mid-totality"
Arguments: reference event, offset sign, offset time, camera name, fastest shutter speed, aperture, ISO, number of stops, and a label.
New: Wizard HDR checkbox
The wizard's Phenomena page now includes an "HDR burst at maximum eclipse" checkbox. Enable it, pick the number of stops (default 7, range 2–16), and the wizard automatically inserts a take_hdr command at MAX − 10 s in the generated script, using the inner-corona exposure as the starting speed. No manual script editing required.
| The HDR burst option in the wizard |
New: Delete Saved Cameras
The Equipment page of the wizard now has a Delete Camera button next to the camera drop-down. It's only active when a saved camera is selected. Click it, confirm the dialog, and the camera is removed from ~/.sew_wizard_config.json and the drop-down immediately. This makes it easy to clean up stale or renamed entries without manually editing config files.
New: Dual-camera support for same model, and multiple configs per body
Previously, running two cameras of the same brand and model (say, two Canon EOS 80D bodies) side by side caused a conflict because SEW keyed cameras by model name. That limitation is gone.
SEW now reads each camera's serial number via the gphoto2 serialnumber widget and maps it to one or more alias names stored in ~/.sew_wizard_config.json under camera_aliases. You can register the same physical body under multiple names — for example "Canon EOS 80D (telescope)" and "Canon EOS 80D (lens)" — so that different scripts can target the right optical setup without touching any code.
Wizard UX: The Equipment page gains a "Detect Connected Camera" button. The workflow is simple: connect one camera, type its alias, press the button. SEW reads the serial number and saves the mapping. A green ✓ confirms it worked. Repeat for each body. During a shoot, all registered aliases for a detected serial number are exposed simultaneously, so whichever name a script uses will resolve correctly.
If you don't use the alias map at all, the original behaviour (model name as key) is completely unchanged.
| The Delete Camera and Detect Connected Camera buttons. |
Changed: take_picture now uses non-blocking trigger
take_picture has been updated to use gp_camera_trigger_capture (non-blocking) instead of the older gp_camera_capture (blocking). Pending USB events are drained afterwards with the same helper used by take_hdr. A fallback to GP_CAPTURE_IMAGE is kept for cameras whose driver doesn't support trigger_capture.
Changed: Camera settings applied in a single USB round-trip
Previously, __adapt_camera_settings sent a separate gp_camera_set_config call — plus a 100 ms forced sleep — for each of ISO, aperture, and shutter speed. ISO and shutter speed are now batched onto the same in-memory config tree and pushed to the camera in one round-trip, eliminating the forced sleep. That saves roughly 300 ms of overhead per shot.
Aperture is intentionally kept in its own separate call, so a failure on a telescope or fixed-aperture lens can't silently roll back the ISO and shutter speed that were already applied.
Updating
If you're already running SEW, update with:
pip install --upgrade solareclipseworkbench
Full changelog and source: https://github.com/AstroWimSara/SolarEclipseWorkbench
Clear skies, and good shooting.

Comments
Post a Comment