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) 계속 읽기
[카테고리:] 생활코딩
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) 계속 읽기
raspberry pi4 bluetooth pairing with cli
살다 보면 터미널로 블루투스 페이링을 할 필요가 있다. bluetoothctl가 제공하는 scan on, pair, trust, connect로 가능하다. [bluetooth]# pair 34:88:5D:5C:C2:65 Device 34:88:5D:5C:C2:65 not available [bluetooth]# scan on Discovery started [CHG] Controller AA:AA:AA:AA:AA:AA Discovering: yes [CHG] Device 74:31:32:C6:8F:67 RSSI: -72 [CHG] Device 74:31:32:C6:8F:67 TxPower: 12 [CHG] Device 00:17:55:B0:CF:2E RSSI: -84 [CHG] Device 5F:B7:26:83:54:58 RSSI: -73 [CHG] Device…… raspberry pi4 bluetooth pairing with cli 계속 읽기