안녕 하십니까?

문의하신 부분은 mk712 드라이버 부분에 관련이 있습니다.

드라이버의 수정된 부분을 올려 드립니다.

아래의 내용은 마이크로 윈도우의 src/drivers 밑에 mou_mk712.c 를 수정하시
면 됩니다.

static int MK712_Read(MWCOORD *dx, MWCOORD *dy, MWCOORD *dz, int *bp)

함수 안에 보시면 터치 디바이스로 부터 들어오는 신호를 800*600의 화면 좌표
로 매핑 시키는 부분이 있습니다.


unsigned int data[4];
unsigned int sx, sy; // 추가된 부분
int bytes_read;
int x,y;
float xf,yf;


bytes_read = read(mk712_fd, data, sizeof(data) );
if( bytes_read != sizeof(data) ) return 0;

switch( data[0] )
{
case 0 : if( checktouch == 1 )
{
MK712_xdata = data[1];
MK712_ydata = data[2];
sx = data[2]; // 추가된 부분
sy = data[1]; // 추가된 부분
if( sx < MK712_start_dx ) sx = MK712_start_dx; //수정된 부분
if( sx > MK712_end_dx ) sx = MK712_end_dx; //수정된 부분
if( sy < MK712_start_dy ) sy = MK712_start_dy; //수정된 부분
if( sy > MK712_end_dy ) sy = MK712_end_dy; //수정된 부분

xf = ( (float) sx - (float) MK712_start_dx ) / ( ( (float)
MK712_end_dx - (float) MK712_start_dx ) / 640.0 ); //수정된 부분
yf = 480 - ( (float) sy - (float) MK712_start_dy ) / ( ( (float)
MK712_end_dy - (float) MK712_start_dy ) / 480.0 ); // 수정된 부분
x = xf;
y = yf;
oldx = x;
oldy = y;
*dx = x;
*dy = y;

........
........

x 와 y 가 바뀌는 부분은 아래와 같습니다.

sx = data[2]; // 추가된 부분
sy = data[1]; // 추가된 부분


x와 y가 바뀌면

sx = data[1]; // 추가된 부분
sy = data[2]; // 추가된 부분

로 해주면 됩니다.


좌표 매핑에 관한 부분은 행렬식을 이용해 구할 수 있습니다.

이부분은 강좌란을 통하여 말씀드리겠습니다.




소영식 wrote..
: 안녕하세요..
:
: 이지보드를 사용중에 있습니다..
:
: 시디로 제공된 예제 프로그램으로 근근히 희열을 느끼고 있는
:
: 초보자 입니다..
:
: 제가 LCD 와 터치를 사용중에 질문이 있습니다..
:
: 마이크로 윈도우 예제 프로그램에서 터치의 좌표에 이상이 있는듯합니다.
:
: XY좌표에서 X와 Y의 좌표가 바뀐것처럼 움직이는 데요..(0,0)위치는 잘 맞는
:
: 것 같구요.예를 들면 (0,0) 위치에서 터치아래부분을 누르게 되면 마우스 포
:
: 인터는 오른쪽으로 움직입니다.
:
: 반대로 (0,0)위치에서 왼쪽 부분을 누르게 되면 포인터는 아래쪽으로 향하 게
:
: 됩니다. 터치판넬의 필름케이블? 이 백라이트 PCB의 트랜스 바로 위를 지 나 가
:
: 게 되있습니다..
:
: 혹시나 이런 영향때문인지도 궁금하구요... 그럼 답변 기다리겠습니다..
:
:
:
:
: 참 저는 EZBOARD를 참 잘 살듯합니다. 예전에도 모업체에서 암리눅스 기반
:
: 의 보드를 구매한적이 있었는데 피시비(CPU,롬,램, 233,케이블 딸랑)딸랑주
:
: 고 나머지는 인터넷에서 다 찾아라 하는 업체가 있었습니다.
:
: 부트소스도 공개 하지도 않고 ㅡ.ㅡ+
:
: 리눅스로 겨우 깔구선 헤메고 있던 사람에게는 너무나 힘에 겨웠습니다. 질
:
: 문을 올려도 먼소린지 하나도
:
: 이해가 되질 않았구요.. 그치만 EZBOARD의 HOWTO 문서는 저에게 정말 많은
:
: 도움이 되었습니다. 아마 이책이 없었다면 다시 포기 했을겁니다..
:
: 정말이지 JDT 직원분께 정말 감사하다는 말을 싶어서 이렇게 글을 남깁니
:
: 다.. 수고 하시구요.^^;