Репка / Repka-Pi

  • Автор темы Репка / Repka-Pi
  • Дата начала
Всем привет. Подскажите пожалуйста где посмотреть как настраивать gpio с помощью c++? Какие библиотеки можно использовать? Что необходимо установить для этого
 
Уважаемые коллеги, прошу помощи в правильном использовании gpio для Репки4. Мой проект работает на распберри. Сейчас запускаю его на Репке.
 
QT поставился без проблем:
apt install -y qtcreator qtbase5-dev qt5-qmake cmake
 
мой проект собрался без проблем, если я не компилирую те части, которые работают с аппаратурой.
 
а вот с подключением GPIO - все пока плохо. В примерах из интернета можно скомпилировать с использованием gpiod. Но я не нашел способп, как эту библиотеку внедрить в QT
 
может быть, кто-то из вас сможет помочьс СИ и портами ввода вывода.
 
Посмотрите тут, возможно вы не подключили библиотеку для работы с gpio
 
pi@Repka-Pi:~/LK2Rpi$
pi@Repka-Pi:~/LK2Rpi$ g++ -Wl,-O1 -o LK2Rpi main.o mainwindow.o lowlevelinout.o home.o aspiration.o box.o endoscope.o fen.o kreslo.o lamp.o lk.o mbp.o water.o bcm2835.o qr.o help.o numkbrd.o qrc_resources.o moc_mainwindow.o moc_home.o moc_aspiration.o moc_box.o moc_endoscope.o moc_fen.o moc_kreslo.o moc_lamp.o moc_lk.o moc_mbp.o moc_water.o moc_qr.o moc_help.o moc_numkbrd.o /usr/lib/aarch64-linux-gnu/libQt5Widgets.so /usr/lib/aarch64-linux-gnu/libQt5Gui.so /usr/lib/aarch64-linux-gnu/libQt5Core.so -lGL -lpthread
/usr/bin/ld: lowlevelinout.o: в функции «potok2::run()»:
lowlevelinout.cpp:(.text+0x234): неопределённая ссылка на «gpiod_chip_open_by_name»
/usr/bin/ld: lowlevelinout.cpp:(.text+0x240): неопределённая ссылка на «gpiod_chip_get_line»
/usr/bin/ld: lowlevelinout.cpp:(.text+0x250): неопределённая ссылка на «gpiod_chip_get_line»
/usr/bin/ld: lowlevelinout.cpp:(.text+0x26c): неопределённая ссылка на «gpiod_line_request_output»
/usr/bin/ld: lowlevelinout.cpp:(.text+0x278): неопределённая ссылка на «gpiod_line_request_input»
collect2: error: ld returned 1 exit status
pi@Repka-Pi:~/LK2Rpi$
pi@Repka-Pi:~/LK2Rpi$
pi@Repka-Pi:~/LK2Rpi$
pi@Repka-Pi:~/LK2Rpi$ g++ -Wl,-O1 -o LK2Rpi main.o mainwindow.o lowlevelinout.o home.o aspiration.o box.o endoscope.o fen.o kreslo.o lamp.o lk.o mbp.o water.o bcm2835.o qr.o help.o numkbrd.o qrc_resources.o moc_mainwindow.o moc_home.o moc_aspiration.o moc_box.o moc_endoscope.o moc_fen.o moc_kreslo.o moc_lamp.o moc_lk.o moc_mbp.o moc_water.o moc_qr.o moc_help.o moc_numkbrd.o /usr/lib/aarch64-linux-gnu/libQt5Widgets.so /usr/lib/aarch64-linux-gnu/libQt5Gui.so /usr/lib/aarch64-linux-gnu/libQt5Core.so -lGL -lpthread -lgpiod
pi@Repka-Pi:~/LK2Rpi$
 
первая команда - сборка без библиотеки gpiod
 
(фото из Telegram export не включено в файл экспорта)
 
но все равно, несмотря на компиляцию без ошибок - файлик запускаемый падает
 
root@Repka-Pi:~# apt list --installed | grep gpiod

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

gpiod/jammy,now 1.6.3-1build1 arm64 [установлен]
libgpiod-dev/jammy,now 1.6.3-1build1 arm64 [установлен]
libgpiod2/jammy,now 1.6.3-1build1 arm64 [установлен]
root@Repka-Pi:~#
 
бибоиотеки все есть, как написано в статье выше