Configuring The Sequence - ac4lt/autonomous-nina-sequence GitHub Wiki
The sequence supplies hooks for customization through the use of NINA templates. These templates are named custom-xxxx.template.json and are located in the templates subdirectory. These are the custom templates:
- custom close shutter.template.json
- custom open shutter.template.json
- custom park scope 1.template.json
- custom park scope 2.template.json
- custom power off.template.json
- custom power on 1.template.json
- custom power on 2.template.json
- custom variable initialization.template.json
- custom warm camera.template.json
These are the places where you can customize the sequence operation for your own particular setup. None are required except for "custom variable initialization". The one does need to be modified for your own needs.
custom park scope 1 template
This template is called before parking the telescope. If you need to take any action prior to parking the mount, do it here.
custom park scope 2 template
This template is called immediately after parking the mount. If you need to take any action after the park operation, you can do that here.
custom power off template
This is called after the sequence has disconnected from all equipment (except for the switch, weather and safety monitor devices). If you aren't using an ASCOM switch, this provides a place to perform custom power off operations.
custom power on 1 template
This template is called after the startup.bat external script is called. In it, you should do any pre-requisites required before Nina can connect to the equipment.
custom power on 2 template
This template is called after the sequence connects to the equipment. It can be used to do any setup that needs to happen. For example, some domes need to be homed before use.
custom variable initialization template
This template is used to provide default values for the variables that affect the behavior of the sequence.
variable | type | description |
---|---|---|
observatory | string | the name for your observatory |
max_cycles | integer | the number of nights the sequence will run without stopping (must be >= 1) |
desired_camera_temperature | integer | the desired set point for your camera temperature |
dark and bias settings | ||
get_bb_bin1_bias | boolean | true to acquire bin1 bias frames for broadband calibration |
get_bb_bin2_bias | boolean | true to acquire bin2 bias frames for broadband calibration |
get_bb_bin1_darks | boolean | true to acquire bin1 dark frames for broadband calibration |
get_bb_bin2_darks | boolean | true to acquire bin2 dark frames for broadband calibration |
get_nb_bin1_bias | boolean | true to acquire bin1 bias frames for narrowband calibration |
get_nb_bin1_darks | boolean | true to acquire bin1 dark frames for narrowband calibration |
get_l1_flat_darks | boolean | true to acquire bin1 flat darks for the luminance filter |
get_r1_flat_darks | boolean | true to acquire bin1 flat darks for the red filter |
get_g1_flat_darks | boolean | true to acquire bin1 flat darks for the green filter |
get_b1_flat_darks | boolean | true to acquire bin1 flat darks for the blue filter |
get_r2_flat_darks | boolean | true to acquire bin2 flat darks for the red filter |
get_g2_flat_darks | boolean | true to acquire bin2 flat darks for the green filter |
get_b2_flat_darks | boolean | true to acquire bin2 flat darks for the blue filter |
get_h1_flat_darks | boolean | true to acquire bin1 flat darks for the hydrogen-alpha filter |
get_o1_flat_darks | boolean | true to acquire bin1 flat darks for the O-III filter |
get_s1_flat_darks | boolean | true to acquire bin1 flat darks for the S-II filter |
times for the sub exposure types you use | these must match what you use in Target Scheduler | |
bb_bin1_exposure_time | integer | length (in seconds) of your bin1 broadband exposures |
nb_bin1_exposure_time | integer | length (in seconds) of your bin1 narrowband exposures |
bb_bin2_exposure_time | integer | length (in seconds) of your bin2 broadband exposures |
gain for the subexposure types you use | these must match what you use in Target Scheduler | not used if your camera does not support setting gain |
bb_bin1_gain | integer | gain for your bin1 broadband exposures |
nb_bin1_gain | integer | gain for your bin1 narrowband exposures |
bb_bin2_gain | integer | gain for your bin2 broadband exposures |
offset for the subexpousre types you use | these must match what you use in Target Scheduler | not used if your camera does not support setting gain |
bb_bin1_offset | integer | offset for your bin1 broadband exposures |
nb_bin1_offset | integer | offset for your bin1 narrowband exposures |
bb_bin2_offset | integer | offset for your bin2 broadband exposures |
get_flats_when_unsafe | boolean | set to true if you want to allow flat acquisition during unsafe periods |
get_darks_when_unsafe | boolean | set to true if you want to allow dark acquisition during unsafe periods |
get_flats_when_daytime | boolean | set to true if you want to allow flat acquisition during daytime periods |
get_darks_when_daytime | boolean | set to true if you want to allow dark acquisition during daytime periods |
has_flat_panel_cover | boolean | set to true if your flat panel operates as a lens cover (like a Flip-Flat) |
in_shared_observatory | boolean | set to true if your are in a shared observatory where you don't control the roof |
custom warm camera template
The default implementation of this template calls Nina's "warm camera" instruction. It is unlikely that you will need to change it. However, we have encountered a problem with FLI cameras causing the "warm camera" instruction to hang so this hook was create to enable the user to provide an alternate implementation. See the "DSOC Ceravolo" implementation for an example.
Scripts
The sequence expects two external scripts to exist. These are used to do things that currently aren't possible to do within NINA. The sequence expects them to exist but they need not actually do anything. The release zip file for the sequence contains scripts you can use. The startup and shutdown scripts contain a single comment and may be used as is.
startup.bat
This script is called from the "power on" template. This is called after any observatory-specific activities happen. It can be used to turn power on if there isn't an ASCOM switch driver available. For those with 10Micron mounts it can "pulse" the mount to turn it on. Any power on related activities that can't be done from within NINA but can be accomplished from a Windows batch file can be done here.
shutdown.bat
This is called from the "power off" container in the main sequence. It is called after the sequence disconnects from all the equipment (except for Switch, Observing Conditions and Safety Monitor) and after any observatory-specific NINA sequence happens. It can be used to turn off power when there is no ASCOM switch driver available. Users of 10micron mounts can use it to "pulse" the mount to turn it off. As with startup, any power off related activities that can't be done from NINA but can be done from a Windows batch file can be done here.
Roof Status
If you are in an observatory where you control the roof then you probably have an ASCOM Dome driver configured in NINA. The Sequencer Powerups plugin will provide us with the roof status with the RoofStatus variable. However, if your roof is controlled outside of NINA (the normal condition if you are in a shared observatory) or you don't actually have a roof because you aren't in an observatory then you need to point Sequencer Powerups at a Roof Status file. Most shared observatories provide a file that contains the current roof status. Sequencer Powerups can read that file and pass the info on to the sequence. If you aren't in an observatory then make a file that contains the single word "OPEN" and set Sequencer Powerups to look for "OPEN" and it will report that the "roof" is always open.