
I
MAGE
L
INK
-50
PAGE
17
OF
5
DISTEC GMBH
Industriestrasse 1 D-82110
Germering
30.3.2004/sw1
http://www.distec.de
Tel.: +49-89-89 43 63-0
Fax: +49-89-89 43 63-39
SPECIFICATION
5.
BULK TRANSFER OVER ENDPOINT 2
The bulk transfer endpoint 2 is the main data pipe for transmitting pictures to the ImageLink.
From the programmer’s point of view it’s very easy to use. After you have initialized the
ImageLink once by a SET_TRANSFER_COUNTER vendor call (see chapter 13), just send the
picture you will show on the display as a bitmap starting with pixel ‘1’ followed by the whole
picture ending with pixel ‘76800’ (see figure 7: pixel order). The picture will be stored in one
half of the ImageLink video graphics memory. After a whole picture has been transferred the
RAMDAC points to the new picture and shows it on the display. A status flag transmitted over
the interrupt endpoint 1 announces the successful transfer of the picture (see chapter 14). Then
the other half of the ImageLink video memory is free for receiving another picture and a new
picture transfer can start. For higher performance there is no need to wait for the status flag.
You only have to control the number of transferred bytes which must be the number of a whole
picture. If the data is committed to the USB system is very likely that the transfer will go well
because of the error controlled nature of the USB bulk transfer. So you can immediately start
another picture transfer. The ImageLink is generously buffered. But you should always take care
about the error flags transmitted over interrupt endpoint 1 (see chapter 14). In the unlikely event
of an error you have to stop your current transmission and to reinitialize the ImageLink with the
SET_TRANSVER_COUNTER vendor call over endpoint 0. Then you can resume the picture
transmission.
Each pixel is represented with 16 Bits in BGR order. The red and blue color have a depth of 5
Bits the green color 6 Bits. So it’s the common format BGR(565) (see figure 8: BGR color
order) in little endian order (see figure 9: pixel format).
figure 7: pixel order
320
1
2
3
321
322
76800
76481
640
319
xxxxxx