Интересует, в частности, функция MouseMove. В этом примере как надо прописать, что данные для вычисления перемещения поступают по SDA/SCL (в цифровом виде +/-)?
Не очень понимаю, в чем проблема. Для начало мышку надо подключить по I2C (TWI). Полагаю, это уже сделано. Затем, просто обращаться по адресу слейва и получать данные. А дальше все зависит от того, какие данные Вы получаете, если абсолютные, просто заменить Код (Text): // считываем значение с аналогового входа: int reading = analogRead(axis[axisNumber]); На полученное значение. Если именно + и -. То придется начинать с каких начальных значений, хранить их в переменных для X и Y, прибавляя отнимая в зависимости от полученных данных. Так же неплохо сохранять предпоследние значения X и Y и если они изменились дергать метод Mouse.move(). Вот как это сделали - http://www.hobbytronics.co.uk/usb-host-mouse. Только в примере идет отображение на экран и у них абсолютные значения.
Общий подход тот же, получаем данные в данном случае о перемещении. Получаем данные об ускорении, переводим ускорение. Перевод ускорения в координаты, скорее всего придется подобрать опытным путем. Код конечно отойти от примера, но это нюансы. Основная проблема разобраться с акселерометром и его шумом. Сам только недавно начал заниматься IMU, поэтому как его победить не подскажу.
Для всех кто смотрит эту тему: В примере для Mouse.move() используются отдельные аналоговые входы получения данных для осей X и Y. А в моем случае все цифровые данные передаются по SDA/SCL. Как же их завести в Mouse.move()?