HTS221 temperature conversion 데이터 시트에 수식을 정확하게 써야지, linear interpolation을 머 이리 어렵게 썼는지.. U가 or 같은데, 정확하게 어떤 의미로 썼는지 모르겠다. 하. T0_DegC, T_DegC, T1_DegC, T0_OUT, T_OUT, T1_OUT을 모두 확인 한 후에 위 그래프로 알아서 구하라는 말이었다. 미친!!! 위 식대로 하면 172도를 볼 수 있다. stack overflow에 있듯이 T0_degC, T1_degC가 10비트임을 인식해야 한다. T0T1MSB에…… sensehat i2c hts221 계속 읽기
[태그:] linux
linux usb driver xbox360(5)
드디어 마지막이다. xbox 패드를 마우스처럼 사용하고 싶어 이렇게 동작하도록 수정했다. 처음 연결하면 조이스틱으로 동작하고, 가운데 버튼을 누르면 마우스로 동작하도록 했다. 리눅스에서 조이스틱 쓸 일이 있나?? 초기값을 마우스로 바꿨어야 했다. input_device에 name을 설정하지 않고 등록하면 xserver로 이벤트를 전달할 수 없다. input_device에 name을 설정하지 않으면 evtest에 이름이 표시되지 않는다. xbox 스틱으로 들어오는 값을 그대로 사용하면 값이 너무…… linux usb driver xbox360(5) 계속 읽기
linux usb driver xbox360(4)
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) 계속 읽기