Closed ac4lt closed 8 months ago
After thinking about this for a few days, I don't think it is practical to do within the constraints Nina imposes. Handling the roof status would end up adding a lot of complexity to the sequence which would offset the gain in making the logic more clear.
For shared observatories it makes sense to tie the safety monitor to roof status and not look at secondary conditions such as clouds. However, in a non-shared observatory that is not true. Consider adding loop conditions such as loop while roof_is_open or loop while not roof_is_open and then base the value of the variable on either the safety status in a shared observatory or the actual roof status in a non-shared observatory where the Dome device would be available.
Stretch goal: consider a tri-state variable (ROOF_OPEN, ROOF_CLOSED, NO_ROOF) and determine appropriate logic in the NO_ROOF case.