Подключение кнопки GPIO к Qt
sasamy
Пункты: 76920
Регистрация: 14.08.2009
Microniks
Пункты: 2497
Регистрация: 14.11.2017
С нее и загружаюсь, другого ничего нет.
Прошиваюсь Mgf Tool2. Ничего не меняя свой набор файлов заменил из вашего архива и перешил.
sasamy
Пункты: 76920
Регистрация: 14.08.2009
Цитата
Прошиваюсь Mgf Tool2. Ничего не меняя свой набор файлов заменил из вашего архива и перешил.
я пользуюсь Linux и скриптом mk-sd.sh, к сожалению не знаю что прошивает у вас Mgf Tool2.
Microniks
Пункты: 2497
Регистрация: 14.11.2017
Цитата я пользуюсь Linux и скриптом mk-sd.sh, к сожалению не знаю что прошивает у вас Mgf Tool2.
Данный скрипт вылетает с ошибкой на первом же пункте
Код delete partition table [ERROR]
В логе пишет:
Код umount: /dev/sdb: not mount
dd: failed to open '/dev/sdb' : No medium found
При том Mgf Tool2 работает.
sasamy
Пункты: 76920
Регистрация: 14.08.2009
sasamy
Пункты: 76920
Регистрация: 14.08.2009
Цитата
У меня собрано с этой же конфигурацией
Для чистоты эксперимента
cкачал с ftp виртуалку iMX6_Libuntu_build_machine.rar
запустил ее в vmware, добавил кнопку в DTS и указал тип платы sodimm с нужным lvds плагом - ничего не трогал больше, пересобрал только ядро и загрузчик (в вирткалке уже собран дефолтный конфиг для Qt)
./kernel_rebuild.sh
./uboot_rebuild.sh
залил на плату - все работает без каких либо дополнительных изменений
Цитата
# qmlscene tab.qml
Unable to query physical screen size, defaulting to 100 dpi.
To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
qml: tab pressed
qml: tab pressed
qml: tab pressed
qml: tab pressed
qml: tab pressed
qml: tab pressed
Microniks
Пункты: 2497
Регистрация: 14.11.2017
Да, под eMMC проводил корректировку.
Цитата ls output/build | grep qt
Код qt5base-5.4.0
Цитата На плате посмотрите переменные окружения printenv
Код # printenv
HISTFILESIZE=1000
INPUTRC=/etc/inputrc
TSLIB_TSDEVICE=/dev/input/event1
USER=root
HOSTNAME=buildroot
LD_LIBRARY_PATH=/usr/lib/imx-mm/audio-codec:/usr/lib/imx-mm/audio-codec/wrap:/usr/lib/imx-mm/parser
SHLVL=1
HOME=/root
PAGER=/bin/more
TSLIB_FBDEVICE=/dev/fb0
PS1=#
QT_QPA_EGLFS_PHYSICAL_HEIGHT=86
QT_GSTREAMER_CAMERABIN_VIDEOSRC=tvsrc
TSLIB_PLUGINDIR=/usr/lib/ts
LOGNAME=root
TERM=vt100
QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/event1
QT_QPA_EGLFS_HIDECURSOR=1
QT_QPA_EGLFS_DISABLE_INPUT=1
FB_MULTI_BUFFER=2
QT_DEBUG_PLUGINS=1
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin/X11:/usr/local/bin
DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile
HISTSIZE=1000
LANG=ru_RU.UTF-8
QT_QPA_GENERIC_PLUGINS=Tslib
TSLIB_CONFFILE=/etc/ts.conf
SHELL=/bin/sh
QT_QPA_EGLFS_PHYSICAL_WIDTH=154
QT_QPA_PLATFORM=eglfs
PWD=/root
EDITOR=/bin/vi
TSLIB_CALIBFILE=/etc/pointercal
Изменений в базовой виртуальной машине не проводил. Qt какой был, такой и есть.
sasamy
Пункты: 76920
Регистрация: 14.08.2009
Цитата
QT_QPA_EGLFS_DISABLE_INPUT=1
кнопка у вас не работает из-за этого. Надо подбирать параметры чтобы тачскрин и кнопки работали вместе
http://doc.qt.io/qt-5/embedded-linux.html
возможно некоторые переменые окружения на 5.4 не будут работать так как для последней версии Qt описано. Для начала попробуйте просто убрать экспорт этой переменной, можно без перезагрузки погасить ее
export QT_QPA_EGLFS_DISABLE_INPUT=0
или
unset QT_QPA_EGLFS_DISABLE_INPUT
Microniks
Пункты: 2497
Регистрация: 14.11.2017
Огромное СПАСИБО! Всё заработало!