요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
EDT ft5x06 based Polytouch devices
----------------------------------
The edt-ft5x06 driver is useful for the EDT "Polytouch" family of capacitive
touch screens. Note that it is *not* suitable for other devices based on the
focaltec ft5x06 devices, since they contain vendor-specific firmware. In
particular this driver is not suitable for the Nook tablet.
It has been tested with the following devices:
* EP0350M06
* EP0430M06
* EP0570M06
* EP0700M06
The driver allows configuration of the touch screen via a set of sysfs files:
/sys/class/input/eventX/device/device/threshold:
allows setting the "click"-threshold in the range from 0 to 80.
/sys/class/input/eventX/device/device/gain:
allows setting the sensitivity in the range from 0 to 31. Note that
lower values indicate higher sensitivity.
/sys/class/input/eventX/device/device/offset:
allows setting the edge compensation in the range from 0 to 31.
/sys/class/input/eventX/device/device/report_rate:
allows setting the report rate in the range from 3 to 14.
For debugging purposes the driver provides a few files in the debug
filesystem (if available in the kernel). They are located in:
/sys/kernel/debug/i2c/<i2c-bus>/<i2c-device>/
If you don't know the bus and device numbers, you can look them up with this
command:
$ ls -l /sys/bus/i2c/drivers/edt_ft5x06
The dereference of the symlink will contain the needed information. You will
need the last two elements of its path:
0-0038 -> ../../../../devices/platform/soc/fcfee800.i2c/i2c-0/0-0038
So in this case, the location for the debug files is:
/sys/kernel/debug/i2c/i2c-0/0-0038/
There, you'll find the following files:
num_x, num_y:
(readonly) contains the number of sensor fields in X- and
Y-direction.
mode:
allows switching the sensor between "factory mode" and "operation
mode" by writing "1" or "0" to it. In factory mode (1) it is
possible to get the raw data from the sensor. Note that in factory
mode regular events don't get delivered and the options described
above are unavailable.
raw_data:
contains num_x * num_y big endian 16 bit values describing the raw
values for each sensor field. Note that each read() call on this
files triggers a new readout. It is recommended to provide a buffer
big enough to contain num_x * num_y * 2 bytes.
Note that reading raw_data gives a I/O error when the device is not in factory
mode. The same happens when reading/writing to the parameter files when the
device is not in regular operation mode.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
EDT Polytouch 전용 범위와 시험 장치
1-14`edt-ft5x06` 드라이버는 EDT `Polytouch` 계열 정전식 터치스크린에 사용합니다. FocalTech ft5x06 기반이라도 공급업체별 펌웨어가 들어간 다른 장치에는 맞지 않으며, 특히 Nook 태블릿에는 사용할 수 없습니다.
원문에서 동작을 확인한 네 모델입니다.
같은 컨트롤러 계열이라도 펌웨어에 따라 호환되지 않음을 구분합니다.
장치 이름만이 아니라 공급업체 펌웨어를 확인하는 순서입니다.
EDT ft5x06 based Polytouch devices
----------------------------------
The edt-ft5x06 driver is useful for the EDT "Polytouch" family of capacitive
touch screens. Note that it is *not* suitable for other devices based on the
focaltec ft5x06 devices, since they contain vendor-specific firmware. In
particular this driver is not suitable for the Nook tablet.
It has been tested with the following devices:
* EP0350M06
* EP0430M06
* EP0570M06
* EP0700M06
sysfs 터치스크린 설정
15-29드라이버는 `/sys/class/input/eventX/device/device/` 아래의 sysfs 파일로 터치스크린을 구성합니다. 각 파일은 허용 범위가 정해져 있으며 `gain`은 값이 낮을수록 감도가 높다는 점에 주의해야 합니다.
사용자 설정 파일, 값 범위와 의미입니다.
sysfs 값을 변경할 때의 기본 순서입니다.
The driver allows configuration of the touch screen via a set of sysfs files:
/sys/class/input/eventX/device/device/threshold:
allows setting the "click"-threshold in the range from 0 to 80.
/sys/class/input/eventX/device/device/gain:
allows setting the sensitivity in the range from 0 to 31. Note that
lower values indicate higher sensitivity.
/sys/class/input/eventX/device/device/offset:
allows setting the edge compensation in the range from 0 to 31.
/sys/class/input/eventX/device/device/report_rate:
allows setting the report rate in the range from 3 to 14.
I2C 장치 번호와 debugfs 위치 찾기
30-49커널에서 debug filesystem을 사용할 수 있으면 드라이버는 디버깅용 파일을 `/sys/kernel/debug/i2c/<i2c-bus>/<i2c-device>/`에 제공합니다.
버스와 장치 번호를 모르면 다음 명령으로 `edt_ft5x06` 드라이버의 심볼릭 링크를 확인합니다.
ls -l /sys/bus/i2c/drivers/edt_ft5x06
심볼릭 링크를 역참조한 경로의 마지막 두 요소가 필요한 버스와 장치 번호입니다. 원문 예제 `0-0038 -> ../../../../devices/platform/soc/fcfee800.i2c/i2c-0/0-0038`에서는 `i2c-0`과 `0-0038`을 사용합니다.
심볼릭 링크에서 debugfs 디렉터리를 만드는 대응 관계입니다.
I2C 드라이버 링크에서 실제 디버그 파일 위치를 얻는 절차입니다.
For debugging purposes the driver provides a few files in the debug
filesystem (if available in the kernel). They are located in:
/sys/kernel/debug/i2c/<i2c-bus>/<i2c-device>/
If you don't know the bus and device numbers, you can look them up with this
command:
$ ls -l /sys/bus/i2c/drivers/edt_ft5x06
The dereference of the symlink will contain the needed information. You will
need the last two elements of its path:
0-0038 -> ../../../../devices/platform/soc/fcfee800.i2c/i2c-0/0-0038
So in this case, the location for the debug files is:
/sys/kernel/debug/i2c/i2c-0/0-0038/
센서 필드와 factory mode 원시 데이터
50-71디버그 디렉터리에서 제공하는 파일과 접근 특성입니다.
`mode`에 1을 쓰면 factory mode, 0을 쓰면 operation mode로 전환합니다. factory mode에서는 센서 원시 데이터를 읽을 수 있지만 일반 입력 이벤트가 전달되지 않고 앞서 설명한 sysfs 설정도 사용할 수 없습니다.
`raw_data`는 각 센서 필드의 값을 나타내는 `num_x * num_y`개의 big-endian 16비트 값입니다. 파일을 `read()`할 때마다 센서를 새로 읽으므로, 한 번에 `num_x * num_y * 2`바이트를 담을 수 있는 버퍼를 제공하는 것이 좋습니다.
일반 이벤트·매개변수와 원시 데이터의 배타적 사용 조건입니다.
장치가 factory mode가 아니면 `raw_data` 읽기는 I/O 오류를 냅니다. 반대로 장치가 일반 operation mode가 아니면 매개변수 파일의 읽기와 쓰기가 I/O 오류를 냅니다.
일반 입력에서 공장 진단으로 전환해 한 프레임을 읽는 순서입니다.
There, you'll find the following files:
num_x, num_y:
(readonly) contains the number of sensor fields in X- and
Y-direction.
mode:
allows switching the sensor between "factory mode" and "operation
mode" by writing "1" or "0" to it. In factory mode (1) it is
possible to get the raw data from the sensor. Note that in factory
mode regular events don't get delivered and the options described
above are unavailable.
raw_data:
contains num_x * num_y big endian 16 bit values describing the raw
values for each sensor field. Note that each read() call on this
files triggers a new readout. It is recommended to provide a buffer
big enough to contain num_x * num_y * 2 bytes.
Note that reading raw_data gives a I/O error when the device is not in factory
mode. The same happens when reading/writing to the parameter files when the
device is not in regular operation mode.
요약·해설
edt-ft5x06.rst:1-71`edt-ft5x06`는 EDT Polytouch 전용 드라이버입니다. 일반 동작에서는 sysfs로 감도와 보고 특성을 조정하고, 공장 모드에서는 debugfs의 센서 배열 원시값을 읽지만 두 접근 방식은 동시에 사용할 수 없습니다.
지원 범위와 두 구성 인터페이스를 요약합니다.