Акселерометр в Win32

Рейтинг: 2Ответов: 2Опубликовано: 20.06.2011

Люди, подскажите, пожалуйста, какие есть варианты работы с этим устройством в Windows7?
Акселерометр установлен на планшетном компьютере, не виден в списке датчиков(так что Sensor API, кажется, неприменим. Если есть возможность как-то использоваь его, буду очень рад), но есть драйвер bma150.sys (к одноименному акселерометру фирмы Bosch).

Существует ли какой-нибудь специальный интерфейс для работы с такого рода устройствами, или придётся работать напрямую с драйвером? Если вариант 2, то как примерно это будет выглядеть?

Я так понимаю, с драйверами в отсутствие спецAPI работают через DeviceIOControl? Подскажите, пожалуйста, в каком направлении копать?

Ответы

▲ 2

Навскидку нагуглил. Оно?

Graphing Accelerometer Data in Windows 7: Sample Code

Там по ссылкам исходники и какие-то "white papers".

▲ 2

Да, с драйверами работают в основном через DeviceIOControl. Чтобы начать что-то конкретно делать, Вам нужно узнать API драйвера, с которым Ваше приложение собирается работать. Если драйвер предоставляет интерфейс, необходимый для Sensor API, то устройство должно подцепиться автоматически; можно посмотреть настройки в devmgmt.msc, возможно где-то выставить галочки и т.п. Если нет, то обычно шаги такие:

  1. CreateFile
  2. DeviceIOControl
  3. CloseHandle

Пример: Calling DeviceIoControl.