EasyManua.ls Logo

Scanlab RTC6 PCIe Board - Execute_List_Pos

Scanlab RTC6 PCIe Board
1004 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
RTC6 boards
Doc. Rev. 1.0.21 en-US
10 RTC6 Commands
386
innovators for industry
Ctrl Command execute_list_pos
Function Starts list execution (“List 1” or “List 2”) at the specified position.
Call
execute_list_pos( ListNo, Pos )
Parameters
ListNo
Number of the list to be executed.
As an unsigned 32-bit value.
Allowed values: [uneven: “List 1“, even: “List 2“].
Pos
Address of the first list command to be executed (offset relative to the start
of the respective list).
As an unsigned 32-bit value.
Allowed value range: [0…(2
23
–1)].
Comments execute_list_pos is not executed (get_error return value =
RTC6_BUSY
), if:
the BUSY list execution status is set
a list has been paused by set_wait (PAUSED list execution status set)
If the INTERNAL-BUSY list execution status is set, execute_list_pos is only executed
with a delay (after INTERNAL-BUSY list execution status has been reset again). No
checks are performed to determine if a list is currently being loaded. During list
processing, the other list (or even the same list) can be simultaneously reloaded (see
also Chapter 6.4 ”List Handling”, page 105).
Programs in the protected RTC6 List Memory area “List 3” cannot be directly executed
by execute_list_pos. They can only be called from a list (“List 1” or “List 2”) as a
subroutine. Alternatively, the corresponding area can be assigned by config_list to
“List 1” or “List 2”.
Uneven
ListNo
values cause “List 1to be executed; otherwise “List 2” is executed. This
allows automatically generated continuous list changing by an incremented count.
If “List 2” has not been assigned memory (
Mem2
= 0, see config_list) then “List 1“ is
opened.
If
Pos
is specified as being larger than the RTC6 List Memory area of the respective list
(
Pos
>
Mem1
or
Pos
>
Mem2
), then
Pos
is set to 0.
The BUSY list status of the selected list is set and the BUSY list status of the other
corresponding list is reset (see read_status). The BUSY list execution status-List
Execution Status (see get_status) is set.
Execution stops when a set_end_of_list is encountered. If the end of a list area is
reached without encountering a set_end_of_list, then execution continues at the
beginning of the same list area instead of with the next list. The output pointer remains
in the active list area unless a set_end_of_list has been encountered and an
auto_change_pos or start_loop has been previously called. For both lists to be treated
as a single list, you must set the configuration appropriately: for example,
config_list( Mem1+Mem2, 0 )
.

Table of Contents