close
複製下列檔案至目錄 C:\WINCE600\PLATFORM\nvap\src\odm_kit\platform\touch
nvodm_touch_tpk.c
nvodm_touch_tpk.h
tpk_reg.h
修改檔案 C:\WINCE600\PLATFORM\nvap\src\odm_kit\platform\touch\nvodm_touch.c
一 修改引入部分
//#include "nvodm_touch_max11801.h"
#include "nvodm_touch_tpk.h"
 
二 修改開啟部分
NvBool NvOdmTouchDeviceOpen( NvOdmTouchDeviceHandle *hDevice )
{
    NvBool ret = NV_TRUE;
    //ret = MAX_Open(hDevice);
    ret = TPK_Open(hDevice);
    return ret;
}
修改I2C位置 C:\WINCE600\PLATFORM\nvap\src\odm_kit\query\subboards\nvodm_query_discovery_acg_addresses.h
{   
    //{ NvOdmIoModule_I2c, 0x00, 0x90 }, /* MAX1180x I2C device address */
    { NvOdmIoModule_I2c, 0x00, 0x20 }, /* [Greg] Change I2C address to 0x20 */
    { NvOdmIoModule_Gpio, 0x10, 0x00 }, /* GPIO Port Q and Pin 0 - LCD_nIRQ */
    { NvOdmIoModule_Vdd, 0x00, TPS6586xPmuSupply_DCD1 },   /* VDDIO_SYS/MAX11800.VDD/LCD_nIRQ PULL-UP -> PMU_SM1_1V8 */
};
修改GUID, C:\WINCE600\PLATFORM\nvap\src\odm_kit\query\subboards\nvodm_query_discovery_acg_peripherals.h
//  Touch Panel
{
    //NV_ODM_GUID('m','a','x','t','o','u','c','h'),
    NV_ODM_GUID('t','p','k','t','o','u','c','h'),
    s_acgTouchPanelAddresses,
    NV_ARRAY_SIZE(s_acgTouchPanelAddresses),
    NvOdmPeripheralClass_HCI
},
將source code加入專案中, 修改檔案 C:\WINCE600\PLATFORM\nvap\src\odm_kit\platform\touch\sources
SOURCES= \
    nvodm_touch.c \
    nvodm_touch_max11801.c \
    nvodm_touch_tpk.c \
修改Touch校正值
1. 利用 SAMSUNG工具 TouchCalibration.exe 取得校正值
2. 利用下列敘述在Debug Mode下, 取得當前Touch座標值
NVODMTOUCH_PRINTF(("[GREG] X:%d\n",coord->xcoord));
NVODMTOUCH_PRINTF(("[GREG] Y:%d\n",coord->ycoord));
3.修改登錄檔 C:\WINCE600\PLATFORM\nvap\files\platform.reg
[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH]
    "DriverName"="libnvtouch.dll"
    "MaxCalError"=dword:64
    "TouchPanelEnable"=dword:0
    "CalibrationData"="4159,2173 601,4444 717,293 7615,187 7637,4376"
 
arrow
arrow
    全站熱搜

    神風地球喵 發表在 痞客邦 留言(0) 人氣()