Page 68 of 79
Technical Documentation and
User Instructions
Laser Mirror Scanner LMS-Q280i
6.4.1.6 ECP Port Data Buffer
The ECP port of the instrument has a data buffer integrated. If the data
receiving unit (the PC) is temporally inactive and cannot read data - e.g. when it
has to handle other tasks – this will not cause loss of data.
This data buffer can be configured by the user via 2 parameters:
•
The
number of data points
(measurements)
in a data block
•
The number of
blocks to be hold
in memory
Configuring the ECP port buffer is automatically done with command
SCN_APPLY, so there is no need for the user to configure the ECP port buffer
These commands
divide the internal data buffer in blocks
(data lines)
according to data block size, so each block can store the desired number of
measurements.
The second parameter, the number of blocks to be hold, defines the maximum
value of blocks to be hold in memory. Setting this hold parameter to N blocks
means that the buffer
holds a maximum of N
blocks.
If N is large and reading of data is fast enough, the buffer will never fill up and
data read is always last data.
On the other hand, if reading is interrupted for a longer time (e.g. because the
data receiving unit is not interested on new data), this buffer will fill up. When
full, each new data line then
overwrites the oldest of the N blocks
already
filled.
Examples:
Blocks to be hold = 1; that means that 2 blocks are reserved. Start reading of
a block (and interrupting the reading for even a long time) locks this block
while the other block is always updated with the new data in the background.
Blocks to be hold = 2; that means that 3 blocks are reserved. Start reading of
a block (and interrupting the reading for even a long time) locks one block
while the other 2 blocks are filled alternatively in the background.
To guarantee, that
always new data is to be read
even when data reading is
interrupted for longer times, set blocks to be hold to 1.
To guarantee, that
no data or as few as possible data is lost
even when data
reading is interrupted for longer times, set blocks to be hold as large as possible
(data is lost from that time on when the internal data buffer is full) .
Data is set ready to be read via ECP as soon as a data block is filled. That
means, if a block (line) is defined to store 10 measurements, the block can be
read after 10 measurements (and not after the first one).