RTC
®
5 PC Interface Board
Rev. 1.9 e
6 Developing User Applications
75
and switched back on (the laser is started with the
standard laser parameters, i.e. without any softstart
or similar parameters that might have been defined
prior to pause_list).
The pause_list command sets the PAUSED status
(queryable via get_status) and the restart_list
command resets it. The BUSY status is not affected by
either of these commands.
6.4.6 Automatic List Changing
If the memory was configured for two list buffer
areas “List 1” and “List 2” (see page 70), then a
second list can be loaded while the first list is
executing. It typically takes substantially longer to
process a list than to load it into the memory.
Continuous execution of arbitrarily long lists (when
divided into command blocks) is therefore also
possible.
Continuous command output, which requires
switching between two lists, can be achieved via
automatic list changing – aided by a few commands
as described below.
The commands for automatic list changing only take
effect upon execution of the next encountered
set_end_of_list command – i.e. automatic list
changing after processing a list can only occur if that
list was terminated with a set_end_of_list
command. Otherwise, processing would resume at
the start of the same list.
If the size of the second buffer area (“List 2”) was set
to 0 during memory configuration, then all automatic
list change commands will cause a repetition of
“List 1” (at the specified position, if applicable).
One-Time List Change
The commands auto_change and auto_change_pos
(see page 239) activate an automatic, one-time list
change between “List 1” and “List 2”. After execution
of the current list (when the set_end_of_list
command is encountered), output of the next list will
be thereby automatically started. The auto_change
command causes the next list to be started at
position 0; the auto_change_pos command causes
starting at a specified position (list buffer address as
an offset to the beginning of the list).
Alternating List Changes
Another way to achieve continuous data transfer is by
alternatingly repeating output of the two lists. To do
so, issue the command start_loop (see page 512).
This causes a continuous, automatic and alternat-
ingly repeating output of both lists, assuming both
lists were terminated with set_end_of_list
commands. The alternating output repeats until
issuance of a quit_loop command, which terminates
continuous output as soon as the current list is
finished.
The currently non-active list can be newly reloaded
even as the other list executes. This allows continuous
alternating output of two lists with not only fixed
content, but also constantly new content.
Notes
• The commands for starting alternating list
changes, and the start_loop command, can be
issued at any point in time.
• When loading a list while another is executing,
make sure no still-needed commands will be
thereby overwritten. Useful here is the load_list
command, which only starts loading a list if it is
non-active or has already finished execution (see
"Loading Lists", page 71).
• Moreover, the currently new list should have
made a certain amount of loading progress
before the list change occurs. Otherwise, “old”
commands might be unintentionally executed.
The input pointer should always be adequately
ahead of the output pointer to enable PCI transfer
of buffered list commands (see page 71) and
possible use of so-called short list commands (see
page 61).
• The RTC
®
5 does not support the circular queue
mode. Nevertheless, this operational mode can
be effectively emulated via the alternating list
change commands described above and the
load_list command.