The Compact 7 touch driver architecture includes a touch driver and a touch proxy driver (WinCE 6 legacy interface).
Component |
Description |
Touch driver |
Stream interface driver implemented as a layered driver. MDD exports standard stream interface functions (Init, PreDeInit, PreClose, Close, PowerDown, PowerUp, Read and IOContol). Since this is a stream interface driver, it is loaded by Device Manager. |
Touch proxy driver |
Provides the WinCE 6 touch API. GWES loads this driver instead of touch driver. |
Touch calibration DLL |
Not compiled in the driver. Separate DLL provided by Compact 7 |
The picture above, shows:
- The initialization mechanism with blue arrows
- The touch event management with red arrows
Where to start ?
Most of the components introduced in the first part are already included in Compact 7:
- Touch driver proxy : _WINCEROOT\Public\Common\Oak\Drivers\touch
- Touch driver MDD : _WINCEROOT\public\common\oak\drivers\touch\tchstreammdd
- Calibration DLL : _WINCEROOT\public\common\oak\drivers\touch\tchcaldll
The only part that needs to be developed is the touch driver PDD which is the platform-dependent module (MDD is the platform independent module).
The interface of PDD is defined by the DDSI (Device Driver Stream Interface) and includes the following methods:
Function |
Description |
TchPdd_Init |
Returns the pointers to the DDSI interface and initialize hardware |
TchPdd_DeInit |
Clean up (hardware deinit, memory release...) |
TchPdd_PowerUp |
Called by MDD (implicitely by power manager) at power-up |
TchPdd_PowerUp |
Called by MDD (implicitely by power manager) at power-down |
TchPdd_Ioctl |
Specific-features offered to the MDD |
Enable touch screen mechanism
To enable the Compact 7's internal touchscreen, the following variables need to be defined in the OS Design from catalog item view.
Variable |
Description |
SYSGEN_TOUCH |
If defined, the touch cursor will be set |
Cem SOYDING
Author & Editor
Senior software engineer with 12 years of experience in both embedded systems and C# .NET
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.