도와주세요!!
EZ-X5 (2.6.21), mk712 드라이버는 커널 2.4의 것을 수정하여 사용하고 있습니다.
터치 디바이스 등록 되고, 인터럽트도 잘 걸리고 잘 동작하는거 같습니다.
tslib 1.3 버젼을 받아 calibrtion 하고 나서, test 프로그램을 돌려보면
좌표값이 완전 이상하게 설정 되어 있습니다, 몇십번을 다시 calibration 해봐도 마찬가지네요...
혹시 비슷한 문제 해결하신분 계신가요 !
ts_calibration 에서 찍은 좌표값을 프린트 되어 나오는 값들입니다.
-------------------------------------------------------------------------------------------------
[root@falinux bin]$ ./ts_calibrate
[START]MK712 USERS [0]
[ING]MK712 CONTORL VALUE [0000005B]
xres = 1024, yres = 768
Took 127 samples...
Top left : X = 23 Y = 172
Took 127 samples...
Top right : X = 238 Y = 197
Took 127 samples...
Bot right : X = 249 Y = 226
Took 127 samples...
Bot left : X = 33 Y = 189
Took 127 samples...
Center : X = 51 Y = 53
415.983398 4.681011 -2.748436
232.951660 -0.197102 1.042196
Calibration constants: 27261888 306774 -180121 15266720 -12917 68301 65536
[root@falinux bin]$
---------------------------------------------------------------------------------------------------
도대체 뭐가 문제일까요...
네, 어떤걸 말씀하신것인지 알 것 같습니다
이미 해보기도 한 방법이기도 하구요
calibration 할 때, 2.4 버젼에서는 위 수치중 top left 만 제외하고는 top right나 나머지것들의 값들이 대충 1000 들이 넘었습니다
그러나, 커널 2.6에서는 저렇게 모든 수치가 250 이하더라구요.
대충 느끼기로는 lcd 출력은 1024x768 로 인식을 하고, 터치 입력은 그보다 더 적은 해상도로 인식을 하는 것 같은데요..
저렇게 calibration 하고 test 해보면, 마치 1024x768 화면에 대강 480x272 정도의 해상도로 출력한것 처럼 터치를 조금만 움직이면
마우스 커서가 터치 움직인것의 열배 스무배는 더 많이 이동해버리더라구요..
이것을 어디서 고쳐야 할지 도무지 알 수가 없어서... 혹시 조금 더 조언해 주실 수 있으신가요?
저희가 판매하는 보드는 모두 저항막 방식 터치를 사용합니다.
저항막 방식은 아래 4개의 신호선이 있습니다.
X+, X-, Y+, Y-
그리고 터치의 경우 딱히 위의 신호선의 이름으로 나오지 않습니다.
결론적으로 선이 꼬일수 있다는 것이죠
상태 A: X가 뒤집힌 경우
상태 B: Y가 뒤집힌 경우
상태 C: X 와 Y 가 바뀐경우
위의 상태 A,B,C 가 조합된 형태로 나올수 있습니다.
mk712 드라이버에서 수정하시는게 한결 쉽습니다.