TL;DR
ls_i2c는 여러 I2C 버스를 동시에 스캔하고, 50개가 넘는 인식 대상 기기의 모델과 종류를 표시하는i2cdetect대체 도구임.- 기기 주소를 시작점으로 삼고
WHO_AM_I레지스터 같은 고유 정보를 대조해 응답 기기를 식별함. - 감지된 주소와 기기 정보를 보기 좋게 정리해 출력함.
BitBang_I2C라이브러리에 사용한 코드를 활용해 도구를 구현함.- 프로젝트는 단일
.C파일과makefile로 구성되며, 저장소를 복제한 뒤make로 빌드할 수 있음.
어떤 기능을 제공하나
ls_i2c는 오래된 리눅스 도구i2cdetect를 더 편리하고 기능이 풍부하게 대체하는 용도의 I2C 질의 도구임.- 여러 I2C 버스를 한 번에 스캔하고, 인식 대상 기기 50종 이상을 자동 감지함.
- 감지된 주소를 목록으로 표시하며, 지원 대상 기기라면 모델과 종류 정보도 함께 출력함.
- 기기 주소를 기준으로 삼은 뒤
WHO_AM_I레지스터 등 고유 정보를 대조해 응답 기기를 판별함.
개발 배경
- 센서 라이브러리 작업을 진행하면서 여러 리눅스 단일 보드 컴퓨터(SBC)에서 I2C 오버레이를 동작시키는 데 어려움을 겪음.
i2cdetect를 여러 차례 실행하는 과정에서 정보를 더 나은 방식으로 표시할 수 있다고 판단함.Arduino BitBang_I2C라이브러리용으로 작성한 코드를 활용하는 접근이 적절했으며, 그 결과 더 유용하다고 느끼는 도구를 구현함.
출력 비교
- 같은 컴퓨터와 센서에서
i2cdetect출력과ls_i2c출력을 비교하는 이미지가 제시됨.
시작하기
- 프로젝트는 단일
.C파일과makefile로 구성됨. - 저장소를 복제한 뒤
make를 입력해 빌드함. - 매개변수 없이 도구를 실행하면 터미널에 사용 안내가 출력됨.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요