Hand Held Products 4X00 Series manual Programming Notes

Page 20

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

Image 20
Contents User’s Guide Disclaimer FCC/CELaser Eye Safety Statement for IT4300 Series Engines IT4300 is intended for use in CDRH/IEC Class 2 devicesPage Table of Contents Page Design Overview User LayerOEM API Layer Image Acquisition LayerAlphabetic Function List AimIsOnICMediaAimOffICMedia AimOnICMediaBindPhysicalMemoryToVirtualMemoryICMedia CaptureInitiatedICMediaDeinitializeImageLineDataProcessingICMedia DeinitializeVsyncProcessingICMediaDisableImageLineDataProcessingICMedia DisableVsyncInterruptICMediaEnableImageLineDataProcessingICMedia EnableVsyncInterruptICMediaGetHardwareDllRevisionICMedia FreePhysicalScanSpaceICMediaGetFrequencyPerFrameOfLineDataCallbackICMedia GetImagerPropertiesICMedia GetNumberOfValidRowsICMediaBool GetImagerPropertiesICMedia Dword GetNumberOfValidRowsICMediaGetRegisterSettingsForHHPExposureControlICMedia GetScanHeightICMediaGetScanWidthICMedia IllumIsOnICMediaImagerIsPoweredICMedia ImagerPowerDownICMediaImagerPowerOffAndSuspendICMedia IllumOffICMediaInDownTimeICMedia ImagerPowerOnAndResumeICMediaImagerPowerUpICMedia InitializeVsyncProcessingICMedia InitCaptureICMediaInitializeImageLineDataProcessingICMedia RequestSynchronizedPowerDownICMedia ReadIICICMediaRegisterImageLineDataNotificationICMedia RegisterVsyncNotificationICMediaResetTransferHardwareICMedia SynchronizedPowerDownICMediaUnBindPhysicalMemoryFromVirtualMemoryICMedia WaitForVsyncICMediaVoid WaitMillisecondsICMedia Dword nTime WaitMillisecondsICMediaWriteIICICMedia Programming Notes Technical Assistance Online Technical AssistanceImageteam 4X00 Series Hardware Interface Layer Specification Page Hand Held Products, Inc