2013-10-01 3 views
0

배터리 상태와 같은 데이터를 직렬 포트를 통해 출력하는 UPS가 있습니다. 이 UPS는 직렬 포트 대 USB 어댑터를 사용하여 USB를 통해 컴퓨터에 연결됩니다. UPS와의 통신은 사용자 정의 프로토콜을 통한 하이퍼 터미널을 통해 가능합니다.직렬 포트가있는 UPS 용 HID 전원 장치 드라이버

UPS의 USB 출력을 사용하여 Windows 용 HID 전원 장치 드라이버를 작성할 수 있습니까? 이 드라이버는 사용자 정의 프로토콜을 HID 전원 장치 프로토콜로 변환해야합니다.

답변

1

예, UPS 용 WDM 또는 KMDF USB HID 미니 드라이버를 작성하여 수행 할 수 있습니다. HID Mini 드라이버에서는 hid 컬렉션에 USB 전원 장치 사용법이있는 HID 보고서 설명자를 정의해야합니다. 해당 드라이버에서 지금 구성하고 가상 직렬 포트 통신에 사용되는 USB 파이프를 열거해야합니다. USB 파이프에서 데이터를 직접 보내고 받아야합니다.

이 HID 미니 드라이버에서는 hid 보고서로 필요한 용도의 배터리 시스템과 같은 사용 페이지로 보고서 설명자를 정의하고 상위 HID 클래스 드라이버의 IOCTL 호출을 처리하면 HID UPS 배터리로 연결된 UPS가 표시됩니다 Windows 장치 관리자에서. 시스템 트레이의 노트북의 배터리 상태와 같이 UPS는 전원 옵션 패널과 시스템 트레이에 충전 상태, AC 전원 상태, 배터리 잔량 용량 %의 배터리로 표시됩니다.

또한 기존 UPS는 하이퍼 터미널을 통해 지금 전송하는 다음과 같은 HidD_GetFeature, HidD_SetFeature, HidD_GetInputReport, 사용자의 요구 사항에 따라 사용자 정의 개발 된 응용 프로그램에서 HidD_SetOutputReport 기능과 같은 HID API 호출을 통해 전송되는 어떤 명령을 보낼 수 있습니다.