1. Речь об обработке нажатий клавиатуры, которые выстреливает контроллер - одиночный импульс 8 мс(нажатие-отпускание) как ни странно винда не видит(по крайней мере у меня так) - приходится его растягивать до 16, да ещё и паузу на столько же после добавить. Частота физического "чтения" с энкодера и далее квадратурный счёт - процесс вообщем-то несинхронный с выдачей.
2. Имеется ввиду рефреш данных по всем пакетам. 125 Гц - это теоретически максимальная частота(аппаратный поллинг устройства 8мс) при одном единственном пакете данных, в данном проекте их 4, как и в Mjoy16.
При простой циклической выдаче пакетов (схема A1-A2-B1-B2) частота рефреша данных была бы на уровне 30 Гц.
Снимаю шляпу перед инженерным талантом MeanDog-a - даже в то время он предпринял меры по увеличению частоты рефреша осевых пакетов(A1,A2) до 40 Гц ( за счёт прореживания кнопочных(B1,B2) до 20 Гц), примененная им схема A1-A2-B1-A1-A2-B2.
Но это обстоятельство в свою очередь ухудшило и без того сложную ситуацию во выдаче импульсов от энкодеров - именно поэтому ему пришлось пойти на разделение на "быстрые" и "медленные" кнопки. Решение спорное(хотя и тут я опять снимаю шляпу!) В какой-то мере это спасло ситуацию, в какой-то усугубило.
В данном проекте строгой схемы нет - необходимость выдачи того или иного пакета определяется реал-тайм из его приоритета и новизны данных. В этом и состоит динамическое ранжирование пакетов - или попросту говоря "low speed" обязывает вертеться на сковородке
Частота 60 Гц названа условно - то есть в среднем лучше(по актуальным данным). Скажем, если активно работают только оси одного пакета (A1 или A2) - частота рефреша может превышать 100Гц.
Визуально это выглядит приблизительно так: (см. картинки).
Красным и черным линиям принадлежат данные из разных пакетов А1 и А2(масштаб времени везде одинаков).
Результат работы данной технологии заметен невооруженным взглядом![]()