IR: rc_keymap을 사용하여 반송파 값을 지정합니다.

IR: rc_keymap을 사용하여 반송파 값을 지정합니다.

lirc를 대체한 것처럼 원격을 대체하기 위해 ir-keytableir-ctl명령과 TOML 구성 파일을 사용하려고 합니다 . rc_keymap저는 라즈베리 OS 불스아이를 사용하고 있습니다.

내 리모컨 중 하나가 알 수 없는 프로토콜을 사용하므로 원시 신호를 저장하기로 결정했습니다.

ir-ctl -rMY_KEY.txt --mode2 -r --device=/dev/lirc1 -1 특정 리모콘이 38kHz 캐리어를 사용한다는 것을 알았기 때문에 먼저 각 버튼 신호 저장을 사용했습니다. 그래서 carrier 38000남자에 설명된 대로 각 신호를 첨부했습니다.

신호 보내기를 사용하려고 하면 ir-ctl -sMY_KEY.txt예상된 작업이 트리거됩니다.

이제 아래 언급된 것처럼 버튼당 파일 1개를 갖는 대신 rc_keymap TOML 파일을 사용하여 리모컨을 저장하고 싶습니다.여기

프로토콜을 모르기 때문에 프로토콜을 사용하고 있으므로 raw명령을 사용하여 ir-ctl --mode2 -r --device=/dev/lirc1 -1각 버튼의 신호를 검색한 다음 복사하여 TOML 파일에 붙여넣습니다.

나는 지금 이것을 한다 ir-ctl -kmy_remote.toml -KMY_kEY. 아무 일도하지. 이제 동일한 명령을 사용하여 실행하면 --carrier 38000경고와 함께 작동합니다.warning: carrier specified but overwritten on command line

제 질문은: 구성 파일에서 rc_keymap 연산자 값이 어디에 정의되어 있으며 어떻게 이를 무시할 수 있습니까? 문서에서 이에 대해 아무것도 볼 수 없습니다.

답변1

C 코드를 읽어야 해요ir-ctl추측하고 답을 찾아보세요. carrier이 값을 설정하려면 TOML 파일에 필드를 추가하기 만 하면 됩니다 .

그래서 이것은 작동합니다

[[protocols]]
name = "MY_REMOTE"
protocol = "raw"
carrier = 38000

관련 정보