• 전체강좌

    [WAD-A64U] Android 8.1 에서 멀티 Touch 동작시키기

    twitter facebook

    안녕하세요? 러찌입니다.


    이번 글에서는, Android 8.1 운영체제가 실행되는 WAD-A64U 보드에서
    Touch 동작을 확인해 보았습니다.


    사용된 Touch 컨트롤러는 GOODIX사의 GT9271입니다.
    이전 글에서 소개된 MIPI-DSI LCD가 GT9271 Touch 컨트롤러를 사용합니다.

    WAD-A64U 보드에서, MIPI-DSI LCD와 함께

    Touch 동작도 확인해 보았습니다.


    GT9271 Touch 컨트롤러는

    7인치에서 10.1인치 크기의 LCD를 위해 설계되었고,
    10 Point의 Touch 입력을 동시에 처리할 수 있습니다.


    실제로 10 Point Touch 입력이 잘 되는지 확인하기 위해,
    WAD-A64U 보드에 테스트 앱을 설치하고,

    Touch 동작을 확인해 보았습니다.


    다음 캡쳐된 사진처럼, 10 Point Touch 입력이

    정상적으로 동작되었습니다.



    WAD-A64U 보드는 MIPI-DSI 커넥터를 이용하여 LCD와 연결됩니다.
    이 커넥터에는 Touch를 제어하기 위한 Pin도 포함되어 있습니다.


    Touch 리셋과 인터럽트를 처리하기 위해 GPIO Pin이 사용되고,
    Touch 입력 수와 좌표 값을 받아오기 위해 TWI(I2C) Pin을 사용합니다.


    GT9271 Touch 컨트롤러에서 사용하는 TWI Slave Address는 0x5D입니다.
    이 Address를 이용하여, WAD-A64U 보드와 Touch 컨트롤러는 TWI 통신을 합니다.


    WAD-A64U 보드가 부팅할 때,
    Touch 컨트롤러가 제대로 연결되어 있는지,
    확인하기 위해 TWI 명령을 주고 받습니다.


    Touch 컨트롤러가 제대로 연결되어 있다면, ACK를 응답할 것입니다.
    그러면, WAD-A64U 보드에서 실행되는 Touch 드라이버는

    초기화를 완료하고, Touch 인터럽트를 대기하게 됩니다.


    이후부터 사용자가 LCD 화면에 Touch하게 되면,
    Touch 컨트롤러로부터 인터럽트가 발생하게 됩니다.
    Touch 드라이버는 인터럽트를 확인하고, LCD에서 어느 위치가 눌렸는지

    TWI 통신으로 좌표 값을 받아오게 됩니다.


    결국, 이 값은 Android APP 에서 OnTouchListener로 들어오는
    ACTION_DOWN, ACTION_UP과 같은 좌표 값으로

    변환되는 것이죠.


    WAD-A64U 보드는 GT9271 터치 드라이버 뿐만 아니라,
    다양한 터치 컨트롤러를 지원합니다.
    정전식 터치와 감압식 터치를 모두 지원합니다.


    사용하고 있는 터치 컨트롤러를 WAD-A64U 보드에서 사용하고 싶다면
    help@wearedev.net으로 문의 주시기 바랍니다.


    지금까지 Android 8.1 운영체제가 실행되는 WAD-A64U 보드에서
    멀티 Touch 동작이 잘 되는 것을 확인하였습니다.


    다음은 관련 영상입니다.



    * 다음 링크는 저희 페이스북입니다. 방문해 주시면 감사하겠습니다.
       https://www.facebook.com/wearedev1


    * 유튜브 채널 구독 부탁 드립니다.
       https://www.youtube.com/c/wearedev


    감사합니다.
    안녕히 계십시오.