Programming Notes

1.It is essential that callbacks for Vsync processing and Image Line Data processing not run at the same time, for example, with 2 separate threads. It is essential that checks are made in the Hardware Interface DLL to ensure that a call to one callback is complete before a second call to that callback, or a call to the other callback is made. To avoid this, use ISRs that do not allow nesting. Or, if using ISTs in the Windows CE model, use the same thread to process both callbacks.

2.It is assumed that an image transfer is initiated on the front edge of Vsync. InitCaptureICMedia (see page 10) can be called at any time during the frame, and the hardware DLL must synchronize it with the hardware. Returning a 1 or 2 from InitCaptureICMedia is not mandatory. If a specific hardware system allows for initiation of an image transfer after the front edge of Vsync, a 2 may be returned when InitCaptureICMedia is called because it takes effect for the next frame. But it is imperative that calls made to InitCaptureICMedia from the Vsync callback only take effect on the next Vsync front edge.

3.If running an Operating System on the target platform, such as Windows CE, processing of the Vsync and Image Data Line callbacks must be high priority to ensure proper timing.

4.There are times when the Vsync callback function will have to wait for longer than a single frame time for an event, resulting in a second Vsync front edge being seen. If, upon returning from the Vsync callback function, another Vsync front edge has passed, do not call the callback again. Wait for the next one.

14

IMAGETEAM™ 4X00 Series Hardware Interface Layer Specification

Page 20
Image 20
Hand Held Products 4X00 Series manual Programming Notes