6.4 List Handling
The two list areas ("List 1" and "List 2") serve as inter-
mediate storage for the continuous loading and
processing of list commands. This chapter describes
the commands that control this data transfer.
6.4.1 Loading Lists
The commands set_start_list_pos,
other control commands (see below) are used to
enable a list to be filled with list commands. An input
pointer is thereby defined for the selected list. This
input pointer specifies the memory position to which
the subsequent list commands will be transferred.
Lists are self-contained memory blocks for list
commands. Accordingly, if a list is loaded and the end
of the list is reached without setting the input pointer
to another list, then the input pointer will automati-
cally be reset to the start of the current list, where
loading will continue. An automatic change of the
input pointer to another list will never occur, particu-
larly not to the protected buffer area ("List 3").
When list commands are loaded into list buffer posi-
tions, any commands previously stored there will
thereby be overwritten, even if they have not yet
been processed or are currently being executed. Be
sure not to overwrite commands still needed by your
application (see below).
PCI transfer of the list commands into list memory is
buffered to increase the speed for continuous down-
loads. The buffer's capacity is 16 commands.
Whenever the buffer is full or when the commands
set_end_of_list, list_return,
(and related commands),
execute_list_pos
related commands), auto_change,
auto_change_pos,
start_loop
issued, this automatically results in a flush, so that
the buffered list commands will be transferred to list
memory. Flushing of an incomplete buffer can also be
initiated at any time via
set_input_pointer(get_input_pointer()). This is
only necessary in some circumstances when list
commands should be processed and list input is not
yet finished (e.g. for external starts).
®
RTC
5 PC Interface Board
Rev. 1.9 e
6 Developing User Applications
load_list
and
set_input_pointer
(and
or
release_rtc
are
"Unconditional" Loading
The command set_start_list_1 /_2 sets the input
pointer to the start of the selected list and the
command
set_start_list_pos
(see page 434)
sets the input pointer to the specified
address of the selected list. Regardless of the selected
list's current status (see
"List Status", page
next list command will be written to this address.
If needed, the current positions of the input and
output pointers can be queried via the commands
get_input_pointer
or
get_list_pointer
get_status
or
get_out_pointer
not-yet-processed list commands won't be over-
written.
or
set_input_pointer
72), the
and
- e.g. to ensure that
71
Need help?
Do you have a question about the RTC 5 PC Interface Board and is the answer not in the manual?