input 테스트 usb로 들어오는 버튼 입력을 테스트 했다. LED를 켜는 출력과 비슷하게 진행된다. 역시 출력을 보는 작업이 제일 어려웠다. 입력 디바이스 할당: input_allocate_device();urb 할당usb_alloc_coherentusb_alloc_urb인터럽트로 urb 설정: usb_rcvintpipe, usb_fill_int_urbinput device 주소 변경?: input_set_drvdataopen, close 함수 오버로드input_dev->open = xpad_openinput_dev->close = xpad_closeusb_submit_urb call back 함수 설정 input_dev->close에 usb_kill_urb로 urb를 해제하지 않으면 다시 입력 디이스를 열었을 때 사용할 수…… linux usb driver xbox360(4) 계속 읽기
[태그:] c
linux usb driver xbox360(3)
IDA 사용하기 고유한 번호를 부여하기 위하여 define_ida, ida_simple_get, ida_simple_remove 형식으로 사용한다. //사용할 구조체 선언. struct usb_xpad{ struct input_dev *dev; /* input device interface */ … int pad_nr; // order }; … static DEFINE_IDA(xpad_pad_seq); static int xpad_led_probe(struct usb_xpad *xpad) { //ida 할당 //pad_nr을 계속 증가.. //led가 몇번에 연결되어 있는지 알 수 있음. //0~0x8,000,000 – 1까지 증가…… linux usb driver xbox360(3) 계속 읽기
linux usb driver xbox360(2)
LED 제어하기 xbox 360 컨트롤러가 4개 LED를 가지고 있다. 총 4명 플레이어가 있을 경우 1 ~ 4까지 시계 방향으로 램프를 켜주게 된다. usb -> input 버튼 입력을 받아 들이기 전 간단해 보는 LED 제어를 해보기로 했다. 하..어렵다. 입력 받아들이는 것 보다 더 어려운 듯 하다. cdev_led_register를 실행하면 /sys/class/led에 led 모듈이 등록된다. pi@raspberrypi:/sys/class/leds $ dmesg |…… linux usb driver xbox360(2) 계속 읽기
linux usb driver xbox360(1)
집에서 놀고 있던 8년 전에 구매한 xbox 360 유선 usb 패드를 raspberry pi4에 등록하여 사용하고 싶다. 나온 지 오래되어 이미 xpad 리눅스 드라이버가 공개되어 있다. 그러나 usb, input을 한번에 사용하여 잘 이해되지 않는다. 남은 출장 기간 중 천천히 공부 하기로 했다. usb를 등록하려면 vendor id, product id, 연결되면 실행되는 call back probe, disconnect 등 을…… linux usb driver xbox360(1) 계속 읽기
라즈베리 파이4 사용기
회사에 있는 좋은 프로그램으로 라즈베리 파이4를 구했다. 나는 시간만 썼다. 11월 말까지 진행할 계획인데, 시간이 지날수록 그 프로그램 목적 달성하기 어려워 보인다. 나는 얻은 바 있어 거래에 만족한다. 나중에 보고서를 작성하면 된다. 저가형 모터를 돌리려 라즈베리 파이를 사용함은 너무 비싸다. 단순 독립된 디바이스와 달리 IoT 디바이스로 라즈베리 만큼 좋은 장차가 없다. 아무리 싸게 만들어도 같은…… 라즈베리 파이4 사용기 계속 읽기