Is this block correct?

What I want to do is take several images while two conditions:

  1. The Hour Angle is between -3 and +3, and
  2. It is not Nautical Night end

Here is what I have (pseudo code):

1 Block: Images
2 Do if HA between a and b
3 Expose
4 If skipped
5 go to other block
6 Repeat block until nautical night end

Line 1 defines the imaging block
Line 2 only does an exposure if the star is within the HA range
Line 3 camera exposure
Line 4,5 if the expose was skipped because it was not in the HA range then jumps to a block
Line 6 repeat the imaging block until Nautical Night end

I think all of it is correct except I am not sure about the skipped instruction (If SKIPPED). If the DO if HA between a and b fails (because it is outside the range) does the If SKIPPED catch this and jump to another block. If not then it will remain looping, doing no exposures, until Nautical Night end.


It does not work. I ran a test to simulate the instruction set and found SKIPPED is not called.
But I did find a solution. Instead of checking to see if the star is in the HA range -3 to +3 I instead make two calls:
1 Check if star is in range -12 to -3, if it is then jump to next block
2 Check if star is in range +3 to +12, if it is then jump to next block
If the script fails both tests then the star must be in the range -3 to +3.
I tried this in a test (w/simulator) and it worked perfectly.

In the future, to make it easier, it would be nice if there was a Decision:

so NOT condition added.
To be more generic, it would be nice to add a NOT action or a NOT modifier to all of the instructions that make decisions.


IF SKIPPED is only for action results, when condition on constraints are not true and the sequence exit.
NOT is something not expected for the DO IF.

I hope this helps

Understood, a good way to do it.