- Consider a field RM if it begins with
dark_monit
ordark_rm
(as opposed to requiring an exact match).
- Add
enabled_instruments
option to the expose macro to allow for enabling/disabling instruments.
- Use
uv
for project management and workflows.
- #24 Allow the
expose
macro to run ifgoto-field
is running but has already reached the acquire or guide stages.
- Added a second, dithered FPI exposure in morning and evening APOGEE cals, both APO and LCO.
- #23 When the auto-pilot is started an a goto-field is running, it will wait for it to finish.
- Close the APOGEE shutter when an exposure is aborted.
hal auto-pilot --add-hartmann
was adding a stagehartmann
to the goto-field instead ofboss_hartmann
.
- #3 Added
--add-hartmann
and--remove-hartmann
flags toauto-pilot
.
- #20 New
abort-exposures
command will stop theexpose
macro, if running, and smoothly (hopfully) stop any ongoing APOGEE and BOSS exposures.
- Remove leftover
break
that would cause the auto-pilot to exist after one iteration.
- Fix an issue with the new auto-pilot loading a new design during an exposure when a fully loaded one was available.
- Correctly set the observed configuration if the a new one has been loaded.
- #19 Fully rewritten version of the auto-pilot. The behaviour is generally unchanged but this rewrite fixes several bugs and should allow the auto-pilot to be started and stopped at any point. The command has been changed to
hal auto-pilot
althoughhal auto
is still being aliased.
- Fail
expose
andgoto-field
macros if another macro is running.
goto-field acquire
was setting the exposure time to 5 seconds for APO but not using the dynamic exposure time flag.
- #18 Implement dynamic exposure times during acquisition.
cherno acquire
(and potentiallycherno guide
) can be called with the--dynamic-exposure-time
and--max-exposure-time
flags. Initial exposure time during acquisition defaults to 5 seconds.
- Changed the number of
max_iterations
during acquisition to 5 (from 4) at APO and 7 (from 5) at LCO.
- Fix
hal goto-field --guider-time
flag which was previously ignored. - Potentially fixed and issue in which if the auto pilot mode is turned on while a configuration is being observed and the next configuration is a repeat field, it was treated as a new field and the additional goto-field stages were executed. The old logic required the configuration to be complete (i.e., at least one exposure done). The new logic just requires the goto-field to have been executed in the previous configuration.
- When using the
auto
macro, set the exposure time correctly based on the design mode.
- Prevent the list of stages in
goto-field
with--auto
to be modified in place when adding the--with-hartmann
option.
- Added
--preload-ahead
option to override how long ahead of time the next design is preloaded in auto mode.
- We don't want 12-minute exposures for bright time designs at LCO yet. Fixed the code to accept different exposure times for bright designs depending on the observatory.
- Update
auto_mode
stages for LCO: removedboss_flat
for new fields and only doreconfiguration
andguide
for repeat fields.
- Pass
--extra-epoch-delay
when preloading a design.
- #17 Use 730 second exposure times for bright designs.
- Increase slew timeout to 300 seconds.
- Retry lamps at LCO to deal with cases when
TCS_FF
fails. - Use
/screen
flag for LCO slews.
- Reset cherno offsets when goto-field is called.
- LCO: added a 25 second delay before acquisition / guiding to give observers time to remove the FFS.
- Added the option to define goto-field calibration slew offsets.
- Update
macro_id
whenMacro.reset()
is called.
- Add 3 second delay before running
goto-field
cleanup at LCO to prevent lamps being switched on/off too fast.
- [#16] Implement
goto-field
macro for LCO.
- The overheads are now recorded with a
macro_id
that increases for each new macro run. - Added a
test
macro and command that just waits but is useful for simple testing.
- Correctly mark whether a set of concurrent stages succeeded in the database overhead table.
- Deprecated Python 3.9.
- #14 Record overheads for each stage and macro in the database and output
stage_duration
keyword.
- Set maximum number of iterations for acquisition in
goto-field
to 4. - If acquisition fails to reach the target RMS after
acquisition_max_iterations
but the RMS is lower thanacquisition_min_rms
, the macro emits a warning but does not fail.
- Fixed circular import preventing the import of the goto-field macro.
- Fix getting
target_rms
in auto mode.
- Lint using
ruff
. - Update workflows.
- Emit
running_scripts
keyword when a command is running. Needed for Boson 0.3.1.
- Only register MCP callback for gang connection when at APO.
- Added the ability to pause/resume the expose macro. Users can issue
hal expose --pause
that will finish the current exposure and then wait untilhal expose --resume
is issued. If the count is changed while paused, the adjusted ETR is output on resuming. The same behaviour can be achieved withhal auto --pause
andhal auto --resume
(note that this will NOT pause thegoto-field
macro).
hal auto --modify --count X
was not refreshing theExposureHelper
after updating the parameters.- Several issues deciding how to handle command modifiers when the macro is already running.
- COS-89 (#12 Added an auto-mode macro. When active, the auto macro will run the
goto-field
andexpose
macros continuously. A few minutes before the end of theexpose
macro completes, a new design is preloaded from the queue. Thegoto-field
logic for selecting stages is similar togoto-field --auto
. The auto macro can be cancelled withhal auto --stop
which will complete the current stage and then quit, orhal auto --stop --now
that immediately aborts (ongoing exposures are never aborted). The auto mode should be able to take over from any current state; for example if the auto mode is enabled during anexpose
macro, it will skip thegoto-field
stage, wait untilexpose
is done, and then start the loop (note tha this case a new design will not be preloaded during the ongoingexpose
). The count of exposures to take can me modified withhal auto --modify --count X
which behaves similarly to thehal expose --modify
command. Requirescherno
0.5.0 or above. - COS-66 (#13 The parameters for an ongoing
expose
macro can be modified by issuing a newhal expose
command with the--modify
flag. Exposure information is handled by a newExposureHelper
class that calculates the exposures for each instrument and ensures readout time matching. The behaviour for the user should be mostly unchanged.
- Fix several typos in the lists of stages for
goto-field --auto
.
- Do not stop the guide look in
goto-field
if we are not taking BOSS calibrations or halting the axes.
- Added a new
goto-field
stage,lamps
, that runs concurrently withreslew
and turn on BOSS calibrations lamps (if needed) at that point. This saves a few seconds if we are taking a single BOSS arc. The stage is not required, and the lamps will be turned on at the calibration stage iflamps
is omitted.
- Several performance improvements to
goto-field
. FFS are only closed if we are taking BOSS calibrations; when turning off lamps, we don't wait until they are really off, just send the command; the APOGEE shutter is closed at the beginning of the goto-field, but we don't wait for it to fully close before moving to the reconfiguration. - After the BOSS FF stage, only the FF lamp is turned off.
- Fixed a case in which lamp status reporting could fail if the lamps were caught at an intermediate state in which only some of the lamps were on.
- Macro exceptions are logged to the file log with full traceback.
- COS-88 (#11):
hal goto-field
now accepts an--auto
flag that selects the stages depending on the design loaded.
- If
expose
is called with--without-fpi
, the FPI shutter is left where it is.
- #9 Some changes for LCO. Splits the script into APO and LCO version.
- #8 Go to field turns on HgCd during prepare if arcs or Hartmanns are going to be taken, even if the
fvc
stage is selected. Iffvc
is not selected both HgCd and Ne are turned on. The telescope now slews to the field rotator angle.
- #2 HAL expose macro and actor command. Multiple subsequent commits fine-tuning its behaviour.
- COS-68 Better handling of lamps during go to field macro. Reduce warm up time for HgCd lamp to 108 seconds to account for BOSS flushing.
- COS-71 Update evening/morning calibration scripts with dithered version.
- #6 Update the
goto-field
macro to execute the FVC loop at a fixed rotator angle. - #7 Check FBI LED levels before exposing.
- Improved FPI shutter handling.
- Mote
goto-field
improvements:- Go to field: add a
cherno stop
during theprepare
stage. - Do not reset cherno offset.
- Re-slew and open FFS at the same time.
- Slew timeout 160 -> 180s.
- Run 5 iterations with full corrections in the
acquire
stage before moving to guiding using the PID coefficients.
- Go to field: add a
- If a stage has been finished, do not cancel it.
- Basic infrastructure for scripts and macros.
- #1 Command to run scripts.
- Goto commands and TCC status.
goto-field
macro.