RTC6 boards
Doc. Rev. 1.0.21 en-US
6 Developing RTC6-User Programs
106
Loading with Protection
The loading process is initialized by load_list, which
sets the input pointer to the specified address in the
selected list (just like set_start_list_pos). However,
this occurs only, if the selected list is not currently in
use.
Alternatively, you can simply let the input pointer be
set to a currently non-active or already processed list
by load_list (the RTC6 PCIe Board automatically
determines the corresponding appropriate list).
The return value of load_list reveals if, and in which
list, the loading procedure has been successfully
initialized.
Otherwise, the input pointer is set to an invalid
position. Then, no further list commands can be
input until the input pointer is correctly set back to a
valid position again (for example, by repeating
load_list with a positive result or set_start_list_pos).
This automatically prevents unintentional
overwriting of commands that are still to be
executed.
load_list is useful in scenarios such as alternating list
changes, where you want to wait specifically for a list
to be processed, see Section ”Alternating List
Changes”, page 111.
Terminating Lists
A command list can be, but need not necessarily be,
terminated by a set_end_of_list.
However, if an unterminated command list is
executed and the output pointer thereby encounters
the last possible position in the list, the
output pointer automatically resets to the start of the
list and processing continues there.
Automatic list changing after a list is processed can
only occur, if the list has been terminated by
set_end_of_list, see Chapter 6.4.6 ”Changing Lists
Automatically”, page 110.
The loading of a set_end_of_list does not stop the
loading procedure itself. Therefore, list commands
immediately following a set_end_of_list are still
loaded into the same list.