Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:2
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Embedded Linux
max7360 и автоповтор
Stlkr_19
Добавлено 11.10.2016 08:56
0
Сообщение: 1
Stlkr_19
0

Пункты: 433
Регистрация: 10.03.2016
Всем доброго времени!

Имеется Embedded Linux с клавиатурой на контроллере max7360.
Прошу помощи в настройке автоповтора.

Текущие настройки регистров такие:
0х01 (Configuration) = 0x8b
0x02 (Debounce) = 0x1f (debounce_time = 40 ms)
0x03 (Key-Switch Interrupt) = 0x01 (INTK asserts every debounce cycle)
0x05 (Autorepeat) = 0xff (autorepeat rate =32x deb_time = 1280 ms, delay = 128xdeb_time = 5120 ms)
0x40 (GPIO Global Configuration ) = 0x90 (bit 4 = 1)

Изменение значений регистров 0x02, 0x03, 0x05 (при помощи i2cset), контролируемое при помощи i2cget ничего не дает.

Кроме того согласно текущим настройкам автоповтор должен срабатывать со скоростью реже чем 1 раз в секунду.
А мое приложение на Qt отрабатывает автоповтор примерно 25 раз в секунду.

Подскажите где что поправить, чтобы стало возможным регулировать параметры автоповтора.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 11.10.2016 10:40 Сообщение: 2
sasamy
4.71

Пункты: 83552
Регистрация: 14.08.2009
Цитата

А мое приложение на Qt


Посмотрите тут

http://doc.qt.io/qt-5/embedded-linux.html#keyboard
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 11.10.2016 12:44 Сообщение: 3
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Изменение значений регистров 0x02, 0x03, 0x05 (при помощи i2cset), контролируемое при помощи i2cget ничего не дает.

вероятно вы действуете так:
rmmod max7360.ko
i2cset ...
i2cset ...
modprobe max7360.ko

последняя строчка затирает ваши изменения в чипе. в исходниках драйвера в функции _probe или maxXXX_init (если такая есть) закомментарьте начальные установки драйвера в интересующие регистры и используйте модифицированный *.ko

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Stlkr_19
Добавлено 11.10.2016 13:10 Сообщение: 4
Stlkr_19
0

Пункты: 433
Регистрация: 10.03.2016
Решение нашлось в настройках драйвера клавиатуры Qt.

Добавил строчку до запуска приложения
Цитата
export QWS_KEYBOARD="LinuxInput:/dev/input/event1:repeat-delay=500:repeat-rate=80"


Спасибо sasamy!

PS получается настройки регистров max7360 не влиюят на результат...
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux