Closed skoregon closed 1 year ago
maybe also @drmason789 could be interested on this ;)
@skoregon you would like to use this running QZ with the -no-gui switch, isn't it?
@cagnulein Yes, my apologies for leaving that part out. I would like to have a headless pi using -no-gui switch but still accept keyboard (or game controller) input to trigger speed/incline/start/stop events via qdomyos->GPIO on the raspberry pi.
from linux this should be the solution https://stackoverflow.com/questions/7543313/how-to-handle-keypress-events-in-a-qt-console-application
@skoregon done, could you please try to pull and build and try?
keys:
q = speed up w = speed down a = inclination up s = inclination down
When I run qmake I get a warning on a json file qmake WARNING: Failure to find: qdomyos-zwift_metatypes.json
If I ignore it and move forward with make -j4 I get an error in ConsoleReader.h: No such file or directory (see below).
In file included from dirconmanager.h:15,
from virtualbike.h:29,
from keepbike.h:30,
from keepbike.cpp:1:
dirconprocessor.h: In copy constructor ‘DirconProcessorCharacteristic::DirconProcessorCharacteristic(const DirconProcessorCharacteristic&)’:
dirconprocessor.h:21:5: warning: base class ‘class QObject’ should be explicitly initialized in the copy constructor -Wextra]
21 | DirconProcessorCharacteristic(const DirconProcessorCharacteristic &cp) { this->operator=(cp); }
| ^~~~~~~~~
g++ -c -pipe -fno-sized-deallocation -O3 -std=gnu++1z -flto -fno-fat-lto-objects -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DIO_UNDER_QT -DSMTP_BUILD -DQT_NO_DEBUG -DQT_CHARTS_LIB -DQT_WIDGETS_LIB -DQT_LOCATION_LIB -DQT_POSITIONINGQUICK_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICK_LIB -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_BLUETOOTH_LIB -DQT_XML_LIB -DQT_POSITIONING_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORKAUTH_LIB -DQT_WEBSOCKETS_LIB -DQT_NETWORK_LIB -DQT_TEXTTOSPEECH_LIB -DQT_CORE_LIB -I. -Iqmdnsengine/src/include -Ifit-sdk -Ipurchasing/qmltypes -Ipurchasing/inapp -I/usr/include/aarch64-linux-gnu/qt5 -I/usr/include/aarch64-linux-gnu/qt5/QtCharts -I/usr/include/aarch64-linux-gnu/qt5/QtWidgets -I/usr/include/aarch64-linux-gnu/qt5/QtLocation -I/usr/include/aarch64-linux-gnu/qt5/QtPositioningQuick -I/usr/include/aarch64-linux-gnu/qt5/QtQuickControls2 -I/usr/include/aarch64-linux-gnu/qt5/QtQuick -I/usr/include/aarch64-linux-gnu/qt5/QtMultimedia -I/usr/include/aarch64-linux-gnu/qt5/QtGui -I/usr/include/aarch64-linux-gnu/qt5/QtBluetooth -I/usr/include/aarch64-linux-gnu/qt5/QtXml -I/usr/include/aarch64-linux-gnu/qt5/QtPositioning -I/usr/include/aarch64-linux-gnu/qt5/QtQmlModels -I/usr/include/aarch64-linux-gnu/qt5/QtQml -I/usr/include/aarch64-linux-gnu/qt5/QtNetworkAuth -I/usr/include/aarch64-linux-gnu/qt5/QtWebSockets -I/usr/include/aarch64-linux-gnu/qt5/QtNetwork -I/usr/include/aarch64-linux-gnu/qt5/QtTextToSpeech -I/usr/include/aarch64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o kingsmithr2treadmill.o kingsmithr2treadmill.cpp
g++ -c -pipe -fno-sized-deallocation -O3 -std=gnu++1z -flto -fno-fat-lto-objects -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DIO_UNDER_QT -DSMTP_BUILD -DQT_NO_DEBUG -DQT_CHARTS_LIB -DQT_WIDGETS_LIB -DQT_LOCATION_LIB -DQT_POSITIONINGQUICK_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICK_LIB -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_BLUETOOTH_LIB -DQT_XML_LIB -DQT_POSITIONING_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORKAUTH_LIB -DQT_WEBSOCKETS_LIB -DQT_NETWORK_LIB -DQT_TEXTTOSPEECH_LIB -DQT_CORE_LIB -I. -Iqmdnsengine/src/include -Ifit-sdk -Ipurchasing/qmltypes -Ipurchasing/inapp -I/usr/include/aarch64-linux-gnu/qt5 -I/usr/include/aarch64-linux-gnu/qt5/QtCharts -I/usr/include/aarch64-linux-gnu/qt5/QtWidgets -I/usr/include/aarch64-linux-gnu/qt5/QtLocation -I/usr/include/aarch64-linux-gnu/qt5/QtPositioningQuick -I/usr/include/aarch64-linux-gnu/qt5/QtQuickControls2 -I/usr/include/aarch64-linux-gnu/qt5/QtQuick -I/usr/include/aarch64-linux-gnu/qt5/QtMultimedia -I/usr/include/aarch64-linux-gnu/qt5/QtGui -I/usr/include/aarch64-linux-gnu/qt5/QtBluetooth -I/usr/include/aarch64-linux-gnu/qt5/QtXml -I/usr/include/aarch64-linux-gnu/qt5/QtPositioning -I/usr/include/aarch64-linux-gnu/qt5/QtQmlModels -I/usr/include/aarch64-linux-gnu/qt5/QtQml -I/usr/include/aarch64-linux-gnu/qt5/QtNetworkAuth -I/usr/include/aarch64-linux-gnu/qt5/QtWebSockets -I/usr/include/aarch64-linux-gnu/qt5/QtNetwork -I/usr/include/aarch64-linux-gnu/qt5/QtTextToSpeech -I/usr/include/aarch64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o main.o main.cpp
main.cpp:7:10: fatal error: ConsoleReader.h: No such file or directory
7 | #include "ConsoleReader.h"
| ^~~~~
compilation terminated.
make: [Makefile:14043: main.o] Error 1
make: Waiting for unfinished jobs....
keepbike.cpp: In member function ‘void keepbike::forceResistance(resistance_t)’:
keepbike.cpp:75:13: warning: unused variable ‘down’ [-Wunused-variable]
75 | uint8_t down[] = {0x5b, 0x02, 0xf1, 0x03, 0x5d};
| ^~~~
keepbike.cpp:73:45: warning: unused parameter ‘requestResistance’ [-Wunused-parameter]
73 | void keepbike::forceResistance(resistance_t requestResistance) {
| ~~~^~~~~~~
In file included from dirconmanager.h:15,
from virtualbike.h:29,
from kingsmithr1protreadmill.h:31,
from kingsmithr1protreadmill.cpp:1:
dirconprocessor.h: In copy constructor ‘DirconProcessorCharacteristic::DirconProcessorCharacteristic(const DirconProcessorCharacteristic&)’:
dirconprocessor.h:21:5: warning: base class ‘class QObject’ should be explicitly initialized in the copy constructor -Wextra]
21 | DirconProcessorCharacteristic(const DirconProcessorCharacteristic &cp) { this->operator=(cp); }
| ^~~~~~~~~
In file included from dirconmanager.h:15,
from virtualbike.h:29,
from kingsmithr2treadmill.h:32,
from kingsmithr2treadmill.cpp:1:
dirconprocessor.h: In copy constructor ‘DirconProcessorCharacteristic::DirconProcessorCharacteristic(const DirconProcessorCharacteristic&)’:
dirconprocessor.h:21:5: warning: base class ‘class QObject’ should be explicitly initialized in the copy constructor -Wextra]
21 | DirconProcessorCharacteristic(const DirconProcessorCharacteristic &cp) { this->operator=(cp); }
| ^~~~~~~~~
kingsmithr1protreadmill.cpp: In member function ‘void kingsmithr1protreadmill::updateDisplay(uint16_t)’:
kingsmithr1protreadmill.cpp:74:54: warning: unused parameter ‘elapsed’ [-Wunused-parameter]
74 | void kingsmithr1protreadmill::updateDisplay(uint16_t elapsed) {}
| ~~~^~~~~
kingsmithr1protreadmill.cpp: In member function ‘void kingsmithr1protreadmill::btinit(bool)’:
kingsmithr1protreadmill.cpp:379:43: warning: unused parameter ‘startTape’ [-Wunused-parameter]
379 | void kingsmithr1protreadmill::btinit(bool startTape) {
| ~^~~~~
kingsmithr2treadmill.cpp: In member function ‘void kingsmithr2treadmill::updateDisplay(uint16_t)’:
kingsmithr2treadmill.cpp:89:51: warning: unused parameter ‘elapsed’ [-Wunused-parameter]
89 | void kingsmithr2treadmill::updateDisplay(uint16_t elapsed) {}
| ~~~^~~~~
kingsmithr2treadmill.cpp: In member function ‘void kingsmithr2treadmill::characteristicChanged(const QLowEnergyCharacteristic&, const QByteArray&)’:
kingsmithr2treadmill.cpp:272:67: warning: ‘QString::SkipEmptyParts’ is deprecated [-Wdeprecated-declarations]
272 | QStringList _props = data.split(QStringLiteral(" "), QString::SkipEmptyParts);
| ^~~~~~
In file included from /usr/include/aarch64-linux-gnu/qt5/QtCore/qobject.h:47,
from /usr/include/aarch64-linux-gnu/qt5/QtCore/QObject:1,
from /usr/include/aarch64-linux-gnu/qt5/QtBluetooth/qbluetoothdevicediscoveryagent.h:46,
from /usr/include/aarch64-linux-gnu/qt5/QtBluetooth/QBluetoothDeviceDiscoveryAgent:1,
from kingsmithr2treadmill.h:4,
from kingsmithr2treadmill.cpp:1:
/usr/include/aarch64-linux-gnu/qt5/QtCore/qstring.h:605:9: note: declared here
605 | SkipEmptyParts Q_DECL_ENUMERATOR_DEPRECATED
| ^~~~~~
kingsmithr2treadmill.cpp:272:67: warning: ‘QString::SkipEmptyParts’ is deprecated [-Wdeprecated-declarations]
272 | QStringList _props = data.split(QStringLiteral(" "), QString::SkipEmptyParts);
| ^~~~~~
In file included from /usr/include/aarch64-linux-gnu/qt5/QtCore/qobject.h:47,
from /usr/include/aarch64-linux-gnu/qt5/QtCore/QObject:1,
from /usr/include/aarch64-linux-gnu/qt5/QtBluetooth/qbluetoothdevicediscoveryagent.h:46,
from /usr/include/aarch64-linux-gnu/qt5/QtBluetooth/QBluetoothDeviceDiscoveryAgent:1,
from kingsmithr2treadmill.h:4,
from kingsmithr2treadmill.cpp:1:
/usr/include/aarch64-linux-gnu/qt5/QtCore/qstring.h:605:9: note: declared here
605 | SkipEmptyParts Q_DECL_ENUMERATOR_DEPRECATED
| ^~~~~~
kingsmithr2treadmill.cpp:272:81: warning: ‘QStringList QString::split(const QString&, QString::SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use Qt::SplitBehavior variant instead [-Wdeprecated-declarations]
272 | QStringList _props = data.split(QStringLiteral(" "), QString::SkipEmptyParts);
| ^
In file included from /usr/include/aarch64-linux-gnu/qt5/QtCore/qobject.h:47,
from /usr/include/aarch64-linux-gnu/qt5/QtCore/QObject:1,
from /usr/include/aarch64-linux-gnu/qt5/QtBluetooth/qbluetoothdevicediscoveryagent.h:46,
from /usr/include/aarch64-linux-gnu/qt5/QtBluetooth/QBluetoothDeviceDiscoveryAgent:1,
from kingsmithr2treadmill.h:4,
from kingsmithr2treadmill.cpp:1:
/usr/include/aarch64-linux-gnu/qt5/QtCore/qstring.h:609:17: note: declared here
609 | QStringList split(const QString &sep, SplitBehavior behavior,
| ^~~~~
kingsmithr2treadmill.cpp: In member function ‘void kingsmithr2treadmill::btinit(bool)’:
kingsmithr2treadmill.cpp:366:40: warning: unused parameter ‘startTape’ [-Wunused-parameter]
366 | void kingsmithr2treadmill::btinit(bool startTape) {
| ~^~~~~
sorry @skoregon pull it and build it again, i forgot the case sensitiviness on linux about the file names
Looks like there might be one more instance hiding somewhere:
(see main.cpp:559:54: error: no matching function below)
irconprocessor.h: In copy constructor ‘DirconProcessorCharacteristic::DirconProcessorCharacteristic(const DirconProcessorCharacteristic&)’: dirconprocessor.h:21:5: warning: base class ‘class QObject’ should be explicitly initialized in the copy constructor [-Wextra] 21 | DirconProcessorCharacteristic(const DirconProcessorCharacteristic &cp) { this->operator=(cp); } | ^ |
[&](QString workout_name, QString instructor) { app->exit(0); }); | [&](QString workout_name, QString instructor) { app->exit(0); }); | ConsoleReader *consoleReader = new ConsoleReader(); | ^ In file included from main.cpp:7: ConsoleReader.h:13:5: note: candidate: ‘ConsoleReader::ConsoleReader(bluetooth*)’ 13 | ConsoleReader(bluetooth *bt); | ^ |
consoleReader->start(&bl); | ^~~ | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|
bluetooth* |
In file included from /usr/include/aarch64-linux-gnu/qt5/QtCore/QThread:1,
from gpiotreadmill.h:29,
from bluetooth.h:48,
from ConsoleReader.h:4,
from main.cpp:7:
/usr/include/aarch64-linux-gnu/qt5/QtCore/qthread.h:132:16: note: initializing argument 1 of ‘void QThread::start(QThread::Priority)’
132 | void start(Priority = InheritPriority);
| ^~~~~~
g++ -c -pipe -fno-sized-deallocation -O3 -std=gnu++1z -flto -fno-fat-lto-objects -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DIO_UNDER_QT -DSMTP_BUILD -DQT_NO_DEBUG -DQT_CHARTS_LIB -DQT_WIDGETS_LIB -DQT_LOCATION_LIB -DQT_POSITIONINGQUICK_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICK_LIB -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_BLUETOOTH_LIB -DQT_XML_LIB -DQT_POSITIONING_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORKAUTH_LIB -DQT_WEBSOCKETS_LIB -DQT_NETWORK_LIB -DQT_TEXTTOSPEECH_LIB -DQT_CORE_LIB -I. -Iqmdnsengine/src/include -Ifit-sdk -Ipurchasing/qmltypes -Ipurchasing/inapp -I/usr/include/aarch64-linux-gnu/qt5 -I/usr/include/aarch64-linux-gnu/qt5/QtCharts -I/usr/include/aarch64-linux-gnu/qt5/QtWidgets -I/usr/include/aarch64-linux-gnu/qt5/QtLocation -I/usr/include/aarch64-linux-gnu/qt5/QtPositioningQuick -I/usr/include/aarch64-linux-gnu/qt5/QtQuickControls2 -I/usr/include/aarch64-linux-gnu/qt5/QtQuick -I/usr/include/aarch64-linux-gnu/qt5/QtMultimedia -I/usr/include/aarch64-linux-gnu/qt5/QtGui -I/usr/include/aarch64-linux-gnu/qt5/QtBluetooth -I/usr/include/aarch64-linux-gnu/qt5/QtXml -I/usr/include/aarch64-linux-gnu/qt5/QtPositioning -I/usr/include/aarch64-linux-gnu/qt5/QtQmlModels -I/usr/include/aarch64-linux-gnu/qt5/QtQml -I/usr/include/aarch64-linux-gnu/qt5/QtNetworkAuth -I/usr/include/aarch64-linux-gnu/qt5/QtWebSockets -I/usr/include/aarch64-linux-gnu/qt5/QtNetwork -I/usr/include/aarch64-linux-gnu/qt5/QtTextToSpeech -I/usr/include/aarch64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o nautiluselliptical.o nautiluselliptical.cpp
make: [Makefile:14158: main.o] Error 1
make: Waiting for unfinished jobs....
In file included from dirconmanager.h:15,
from virtualbike.h:29,
from nautiluselliptical.h:30,
from nautiluselliptical.cpp:1:
dirconprocessor.h: In copy constructor ‘DirconProcessorCharacteristic::DirconProcessorCharacteristic(const DirconProcessorCharacteristic&)’:
dirconprocessor.h:21:5: warning: base class ‘class QObject’ should be explicitly initialized in the copy constructor [-Wextra]
21 | DirconProcessorCharacteristic(const DirconProcessorCharacteristic &cp) { this->operator=(cp); }
| ^~~~~~~~~
@skoregon Ops sorry, fixed
@cagnulein It errored out during Make on the following line:
In case more of the error message is needed: T_NETWORKAUTH_LIB -DQT_WEBSOCKETS_LIB -DQT_NETWORK_LIB -DQT_TEXTTOSPEECH_LIB -DQT_CORE_LIB -I. -Iqmdnsengine/src/include -Ifit-sdk -Ipurchasing/qmltypes -Ipurchasing/inapp -I/usr/include/arm-linux-gnueabihf/qt5 -I/usr/include/arm-linux-gnueabihf/qt5/QtCharts -I/usr/include/arm-linux-gnueabihf/qt5/QtWidgets -I/usr/include/arm-linux-gnueabihf/qt5/QtLocation -I/usr/include/arm-linux-gnueabihf/qt5/QtPositioningQuick -I/usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -I/usr/include/arm-linux-gnueabihf/qt5/QtQuick -I/usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -I/usr/include/arm-linux-gnueabihf/qt5/QtGui -I/usr/include/arm-linux-gnueabihf/qt5/QtBluetooth -I/usr/include/arm-linux-gnueabihf/qt5/QtXml -I/usr/include/arm-linux-gnueabihf/qt5/QtPositioning -I/usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -I/usr/include/arm-linux-gnueabihf/qt5/QtQml -I/usr/include/arm-linux-gnueabihf/qt5/QtNetworkAuth -I/usr/include/arm-linux-gnueabihf/qt5/QtWebSockets -I/usr/include/arm-linux-gnueabihf/qt5/QtNetwork -I/usr/include/arm-linux-gnueabihf/qt5/QtTextToSpeech -I/usr/include/arm-linux-gnueabihf/qt5/QtCore -I. -I. -I/usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -o moc_inapptransaction.o moc_inapptransaction.cpp g++ -Wl,-O1 -s -pipe -fno-sized-deallocation -O3 -std=gnu++1z -flto -fno-fat-lto-objects -fuse-linker-plugin -Wl,-rpath-link,/usr/lib/arm-linux-gnueabihf -fPIC -o qdomyos-zwift PathController.o characteristicnotifier2a53.o characteristicnotifier2a5b.o characteristicnotifier2acc.o characteristicnotifier2acd.o characteristicnotifier2ad9.o ConsoleReader.o fakeelliptical.o faketreadmill.o kmlworkout.o nautilusbike.o nordictrackelliptical.o nordictrackifitadbbike.o nordictrackifitadbtreadmill.o octanetreadmill.o proformellipticaltrainer.o proformrower.o proformwifibike.o proformwifitreadmill.o abstractserver.o bitmap.o browser.o cache.o dns.o hostname.o mdns.o message.o prober.o provider.o query.o record.o resolver.o server.o service.o activiotreadmill.o bhfitnesselliptical.o bike.o bluetooth.o bluetoothdevice.o characteristicnotifier2a37.o characteristicnotifier2a63.o characteristicnotifier2ad2.o characteristicwriteprocessor2ad9.o bowflext216treadmill.o bowflextreadmill.o chronobike.o concept2skierg.o cscbike.o dirconmanager.o dirconpacket.o dirconprocessor.o domyoselliptical.o domyosrower.o domyostreadmill.o echelonconnectsport.o echelonrower.o echelonstride.o eliterizer.o elitesterzosmart.o elliptical.o eslinkertreadmill.o fakebike.o filedownloader.o fitmetria_fanfit.o fitplusbike.o fitshowtreadmill.o fit.o fit_accumulated_field.o fit_accumulator.o fit_buffer_encode.o fit_buffered_mesg_broadcaster.o fit_buffered_record_mesg_broadcaster.o fit_crc.o fit_date_time.o fit_decode.o fit_developer_field.o fit_developer_field_definition.o fit_developer_field_description.o fit_encode.o fit_factory.o fit_field.o fit_field_base.o fit_field_definition.o fit_mesg.o fit_mesg_broadcaster.o fit_mesg_definition.o fit_mesg_with_event_broadcaster.o fit_profile.o fit_protocol_validator.o fit_unicode.o flywheelbike.o ftmsbike.o ftmsrower.o gpiotreadmill.o gpx.o heartratebelt.o homefitnessbuddy.o homeform.o horizongr7bike.o horizontreadmill.o iconceptbike.o inspirebike.o keepawakehelper.o keepbike.o kingsmithr1protreadmill.o kingsmithr2treadmill.o main.o mcfbike.o metric.o nautiluselliptical.o nautilustreadmill.o npecablebike.o pafersbike.o paferstreadmill.o peloton.o powerzonepack.o proformbike.o proformelliptical.o proformtreadmill.o qfit.o renphobike.o rower.o schwinnic4bike.o screencapture.o sessionline.o shuaa5treadmill.o signalhandler.o simplecrypt.o skandikawiribike.o smartrowrower.o smartspin2k.o emailaddress.o mimeattachment.o mimecontentformatter.o mimefile.o mimehtml.o mimeinlinefile.o mimemessage.o mimemultipart.o mimepart.o mimetext.o quotedprintable.o smtpclient.o snodebike.o solebike.o soleelliptical.o solef80treadmill.o spirittreadmill.o sportsplusbike.o sportstechbike.o strydrunpowersensor.o tacxneo2.o tcpclientinfosender.o technogymmyruntreadmill.o technogymmyruntreadmillrfcomm.o templateinfosender.o templateinfosenderbuilder.o stagesbike.o toorxtreadmill.o treadmill.o truetreadmill.o trxappgateusbbike.o ultrasportbike.o virtualrower.o wahookickrsnapbike.o yesoulbike.o trainprogram.o trxappgateusbtreadmill.o virtualbike.o virtualtreadmill.o m3ibike.o domyosbike.o scanrecordresult.o zwiftworkout.o mainwindow.o charts.o inappproductqmltype.o inappstoreqmltype.o inappproduct.o inapppurchasebackend.o inappstore.o inapptransaction.o qdomyos-zwift_qmltyperegistrations.o qrc_icons.o qrc_qml.o moc_ConsoleReader.o moc_fakeelliptical.o moc_faketreadmill.o moc_nautilusbike.o moc_nordictrackelliptical.o moc_nordictrackifitadbbike.o moc_nordictrackifitadbtreadmill.o moc_octanetreadmill.o moc_proformellipticaltrainer.o moc_proformrower.o moc_proformwifibike.o moc_proformwifitreadmill.o moc_abstractserver.o moc_browser.o moc_cache.o moc_hostname.o moc_prober.o moc_provider.o moc_resolver.o moc_server.o moc_browser_p.o moc_cache_p.o moc_hostname_p.o moc_prober_p.o moc_provider_p.o moc_resolver_p.o moc_server_p.o moc_activiotreadmill.o moc_bhfitnesselliptical.o moc_bike.o moc_bluetooth.o moc_bluetoothdevice.o moc_characteristicnotifier.o moc_characteristicwriteprocessor.o moc_characteristicwriteprocessor2ad9.o moc_bowflext216treadmill.o moc_bowflextreadmill.o moc_chronobike.o moc_concept2skierg.o moc_cscbike.o moc_dirconmanager.o moc_dirconprocessor.o moc_domyoselliptical.o moc_domyosrower.o moc_domyostreadmill.o moc_echelonconnectsport.o moc_echelonrower.o moc_echelonstride.o moc_eliterizer.o moc_elitesterzosmart.o moc_elliptical.o moc_eslinkertreadmill.o moc_fakebike.o moc_filedownloader.o moc_fitmetria_fanfit.o moc_fitplusbike.o moc_ftmsrower.o moc_gpiotreadmill.o moc_homefitnessbuddy.o moc_horizongr7bike.o moc_iconceptbike.o moc_keepbike.o moc_kingsmithr1protreadmill.o moc_kingsmithr2treadmill.o moc_m3ibike.o moc_fitshowtreadmill.o moc_flywheelbike.o moc_ftmsbike.o moc_heartratebelt.o moc_homeform.o moc_horizontreadmill.o moc_inspirebike.o moc_material.o moc_mcfbike.o moc_nautiluselliptical.o moc_nautilustreadmill.o moc_npecablebike.o moc_pafersbike.o moc_paferstreadmill.o moc_peloton.o moc_powerzonepack.o moc_proformbike.o moc_proformelliptical.o moc_proformtreadmill.o moc_qfit.o moc_renphobike.o moc_rower.o moc_schwinnic4bike.o moc_screencapture.o moc_shuaa5treadmill.o moc_skandikawiribike.o moc_smartrowrower.o moc_smartspin2k.o moc_emailaddress.o moc_mimeattachment.o moc_mimecontentformatter.o moc_mimefile.o moc_mimehtml.o moc_mimemultipart.o moc_mimepart.o moc_quotedprintable.o moc_smtpclient.o moc_snodebike.o moc_solebike.o moc_soleelliptical.o moc_solef80treadmill.o moc_spirittreadmill.o moc_sportsplusbike.o moc_sportstechbike.o moc_strydrunpowersensor.o moc_tacxneo2.o moc_tcpclientinfosender.o moc_technogymmyruntreadmill.o moc_technogymmyruntreadmillrfcomm.o moc_templateinfosender.o moc_templateinfosenderbuilder.o moc_stagesbike.o moc_toorxtreadmill.o moc_gpx.o moc_treadmill.o moc_mainwindow.o moc_trainprogram.o moc_truetreadmill.o moc_trxappgateusbbike.o moc_trxappgateusbtreadmill.o moc_ultrasportbike.o moc_virtualbike.o moc_virtualrower.o moc_virtualtreadmill.o moc_domyosbike.o moc_wahookickrsnapbike.o moc_wobjectdefs.o moc_yesoulbike.o moc_charts.o moc_inappproductqmltype.o moc_inappstoreqmltype.o moc_inappproduct.o moc_inapppurchasebackend.o moc_inappstore.o moc_inapptransaction.o -lwiringPi /usr/lib/arm-linux-gnueabihf/libQt5Charts.so /usr/lib/arm-linux-gnueabihf/libQt5Widgets.so /usr/lib/arm-linux-gnueabihf/libQt5Location.so /usr/lib/arm-linux-gnueabihf/libQt5PositioningQuick.so /usr/lib/arm-linux-gnueabihf/libQt5QuickControls2.so /usr/lib/arm-linux-gnueabihf/libQt5Quick.so /usr/lib/arm-linux-gnueabihf/libQt5Multimedia.so /usr/lib/arm-linux-gnueabihf/libQt5Gui.so /usr/lib/arm-linux-gnueabihf/libQt5Bluetooth.so /usr/lib/arm-linux-gnueabihf/libQt5Xml.so /usr/lib/arm-linux-gnueabihf/libQt5Positioning.so /usr/lib/arm-linux-gnueabihf/libQt5QmlModels.so /usr/lib/arm-linux-gnueabihf/libQt5Qml.so /usr/lib/arm-linux-gnueabihf/libQt5NetworkAuth.so /usr/lib/arm-linux-gnueabihf/libQt5WebSockets.so /usr/lib/arm-linux-gnueabihf/libQt5Network.so /usr/lib/arm-linux-gnueabihf/libQt5TextToSpeech.so /usr/lib/arm-linux-gnueabihf/libQt5Core.so -lGLESv2 -lpthread -latomic /usr/bin/ld: /tmp/qdomyos-zwift.xL5612.ltrans39.ltrans.o: in function `main':
@skoregon i found an issue on a call but it's not releated to the linker issue. I suggest to pull it again, make clean and make again, i guess something was dirty in the compiler cache. Let me know
@cagnulein I get the same error. I am trying to compile it on a Pi zero W if that matters. See attached for the full log. I am just using "make" not "make -j4". I am running the Lite version of the OS. Are there other changes I need to make to get it to compile on a pi zero?
pi@raspberrypi:~/qdomyos-zwift/src $ cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)" NAME="Raspbian GNU/Linux" VERSION_ID="11" VERSION="11 (bullseye)" VERSION_CODENAME=bullseye ID=raspbian ID_LIKE=debian HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
pi@raspberrypi:~/qdomyos-zwift/src $ cat /sys/firmware/devicetree/base/model Raspberry Pi Zero W Rev 1.1
WARNING: Failure to find: qdomyos-zwift_metatypes.json
is it Ok to ignore this WARNING ?
WARNING: Failure to find: qdomyos-zwift_metatypes.json
is it Ok to ignore this WARNING ?
yes it's safe, i'm checking the log
I guess I fixed it now. It was always an issue about uppercase and undercase of the files. Do a
make clean qmake make -j2
Let me know and sorry for the issues @shoulih
@skoregon
I guess I fixed it now. It was always an issue about uppercase and undercase of the files. Do a
make clean qmake make -j2
Let me know and sorry for the issues @shoulih
still getting this WARMING:
WARNING: Failure to find: qdomyos-zwift_metatypes.json
root@DietPi:~/qdomyos-zwift# git status On branch master Your branch is up to date with 'origin/master'.
where is file "qdomyos-zwift_metatypes.json" located?
@shoulih yes the warning is ok. is it building now?
@cagnulein Sadly still errors out.
/usr/lib/qt5/bin/qmltyperegistrar --generate-qmltypes=qdomyos-zwift.qmltypes --import-name=org.cagnulein.qdomyoszwift --major-version=1 --minor-version=0 --foreign-types=/usr/lib/arm-linux-gnueabihf/metatypes/qt5charts_metatypes.json,/usr/lib/arm-linux-gnueabihf/metatypes/qt5widgets_metatypes.json,/usr/lib/arm-linux-gnueabihf/metatypes/qt5location_metatypes.json,/usr/lib/arm-linux-gnueabihf/metatypes/qt5positioningquick_metatypes.json,/usr/lib/arm-linux-gnueabihf/metatypes/qt5quickcontrols2_metatypes.json,/usr/lib/arm-linux-gnueabihf/metatypes/qt5quick_metatypes.json,/usr/lib/arm-linux-gnueabihf/metatypes/qt5multimedia_metatypes.json,/usr/lib/arm-linux-gnueabihf/metatypes/qt5gui_metatypes.json,/usr/lib/arm-linux-gnueabihf/metatypes/qt5bluetooth_metatypes.json,/usr/lib/arm-linux-gnueabihf/metatypes/qt5concurrent_metatypes.json,/usr/lib/arm-linux-gnueabihf/metatypes/qt5dbus_metatypes.json,/usr/lib/arm-linux-gnueabihf/metatypes/qt5qmlmodels_metatypes.json,/usr/lib/arm-linux-gnueabihf/metatypes/qt5qml_metatypes.json,/usr/lib/arm-linux-gnueabihf/metatypes/qt5networkauth_metatypes.json,/usr/lib/arm-linux-gnueabihf/metatypes/qt5websockets_metatypes.json,/usr/lib/arm-linux-gnueabihf/metatypes/qt5network_metatypes.json,/usr/lib/arm-linux-gnueabihf/metatypes/qt5xml_metatypes.json,/usr/lib/arm-linux-gnueabihf/metatypes/qt5positioning_metatypes.json,/usr/lib/arm-linux-gnueabihf/metatypes/qt5texttospeech_metatypes.json,/usr/lib/arm-linux-gnueabihf/metatypes/qt5core_metatypes.json,/usr/lib/arm-linux-gnueabihf/metatypes/qt5quicktemplates2_metatypes.json -o qdomyos-zwift_qmltyperegistrations.cpp qdomyos-zwift_metatypes.json Cannot open foreign types file /usr/lib/arm-linux-gnueabihf/metatypes/qt5charts_metatypes.json Cannot open foreign types file /usr/lib/arm-linux-gnueabihf/metatypes/qt5location_metatypes.json Cannot open foreign types file /usr/lib/arm-linux-gnueabihf/metatypes/qt5positioningquick_metatypes.json Cannot open foreign types file /usr/lib/arm-linux-gnueabihf/metatypes/qt5quickcontrols2_metatypes.json Cannot open foreign types file /usr/lib/arm-linux-gnueabihf/metatypes/qt5multimedia_metatypes.json Cannot open foreign types file /usr/lib/arm-linux-gnueabihf/metatypes/qt5bluetooth_metatypes.json Cannot open foreign types file /usr/lib/arm-linux-gnueabihf/metatypes/qt5concurrent_metatypes.json Cannot open foreign types file /usr/lib/arm-linux-gnueabihf/metatypes/qt5dbus_metatypes.json Cannot open foreign types file /usr/lib/arm-linux-gnueabihf/metatypes/qt5networkauth_metatypes.json Cannot open foreign types file /usr/lib/arm-linux-gnueabihf/metatypes/qt5websockets_metatypes.json Cannot open foreign types file /usr/lib/arm-linux-gnueabihf/metatypes/qt5network_metatypes.json Cannot open foreign types file /usr/lib/arm-linux-gnueabihf/metatypes/qt5xml_metatypes.json Cannot open foreign types file /usr/lib/arm-linux-gnueabihf/metatypes/qt5positioning_metatypes.json Cannot open foreign types file /usr/lib/arm-linux-gnueabihf/metatypes/qt5texttospeech_metatypes.json Cannot open foreign types file /usr/lib/arm-linux-gnueabihf/metatypes/qt5quicktemplates2_metatypes.json g++ -c -pipe -fno-sized-deallocation -O3 -std=gnu++1z -flto -fno-fat-lto-objects -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DIO_UNDER_QT -DSMTP_BUILD -DQT_NO_DEBUG -DQT_CHARTS_LIB -DQT_WIDGETS_LIB -DQT_LOCATION_LIB -DQT_POSITIONINGQUICK_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICK_LIB -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_BLUETOOTH_LIB -DQT_XML_LIB -DQT_POSITIONING_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORKAUTH_LIB -DQT_WEBSOCKETS_LIB -DQT_NETWORK_LIB -DQT_TEXTTOSPEECH_LIB -DQT_CORE_LIB -I. -Iqmdnsengine/src/include -Ifit-sdk -Ipurchasing/qmltypes -Ipurchasing/inapp -I/usr/include/arm-linux-gnueabihf/qt5 -I/usr/include/arm-linux-gnueabihf/qt5/QtCharts -I/usr/include/arm-linux-gnueabihf/qt5/QtWidgets -I/usr/include/arm-linux-gnueabihf/qt5/QtLocation -I/usr/include/arm-linux-gnueabihf/qt5/QtPositioningQuick -I/usr/include/arm-linux-gnueabihf/qt5/QtQuickControls2 -I/usr/include/arm-linux-gnueabihf/qt5/QtQuick -I/usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -I/usr/include/arm-linux-gnueabihf/qt5/QtGui -I/usr/include/arm-linux-gnueabihf/qt5/QtBluetooth -I/usr/include/arm-linux-gnueabihf/qt5/QtXml -I/usr/include/arm-linux-gnueabihf/qt5/QtPositioning -I/usr/include/arm-linux-gnueabihf/qt5/QtQmlModels -I/usr/include/arm-linux-gnueabihf/qt5/QtQml -I/usr/include/arm-linux-gnueabihf/qt5/QtNetworkAuth -I/usr/include/arm-linux-gnueabihf/qt5/QtWebSockets -I/usr/include/arm-linux-gnueabihf/qt5/QtNetwork -I/usr/include/arm-linux-gnueabihf/qt5/QtTextToSpeech -I/usr/include/arm-linux-gnueabihf/qt5/QtCore -I. -I. -I/usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -o qdomyos-zwift_qmltyperegistrations.o qdomyos-zwift_qmltyperegistrations.cpp g++ -Wl,-O1 -s -pipe -fno-sized-deallocation -O3 -std=gnu++1z -flto -fno-fat-lto-objects -fuse-linker-plugin -Wl,-rpath-link,/usr/lib/arm-linux-gnueabihf -fPIC -o qdomyos-zwift PathController.o characteristicnotifier2a53.o characteristicnotifier2a5b.o characteristicnotifier2acc.o characteristicnotifier2acd.o characteristicnotifier2ad9.o ConsoleReader.o fakeelliptical.o faketreadmill.o kmlworkout.o nautilusbike.o nordictrackelliptical.o nordictrackifitadbbike.o nordictrackifitadbtreadmill.o octanetreadmill.o proformellipticaltrainer.o proformrower.o proformwifibike.o proformwifitreadmill.o abstractserver.o bitmap.o browser.o cache.o dns.o hostname.o mdns.o message.o prober.o provider.o query.o record.o resolver.o server.o service.o activiotreadmill.o bhfitnesselliptical.o bike.o bluetooth.o bluetoothdevice.o characteristicnotifier2a37.o characteristicnotifier2a63.o characteristicnotifier2ad2.o characteristicwriteprocessor2ad9.o bowflext216treadmill.o bowflextreadmill.o chronobike.o concept2skierg.o cscbike.o dirconmanager.o dirconpacket.o dirconprocessor.o domyoselliptical.o domyosrower.o domyostreadmill.o echelonconnectsport.o echelonrower.o echelonstride.o eliterizer.o elitesterzosmart.o elliptical.o eslinkertreadmill.o fakebike.o filedownloader.o fitmetria_fanfit.o fitplusbike.o fitshowtreadmill.o fit.o fit_accumulated_field.o fit_accumulator.o fit_buffer_encode.o fit_buffered_mesg_broadcaster.o fit_buffered_record_mesg_broadcaster.o fit_crc.o fit_date_time.o fit_decode.o fit_developer_field.o fit_developer_field_definition.o fit_developer_field_description.o fit_encode.o fit_factory.o fit_field.o fit_field_base.o fit_field_definition.o fit_mesg.o fit_mesg_broadcaster.o fit_mesg_definition.o fit_mesg_with_event_broadcaster.o fit_profile.o fit_protocol_validator.o fit_unicode.o flywheelbike.o ftmsbike.o ftmsrower.o gpiotreadmill.o gpx.o heartratebelt.o homefitnessbuddy.o homeform.o horizongr7bike.o horizontreadmill.o iconceptbike.o inspirebike.o keepawakehelper.o keepbike.o kingsmithr1protreadmill.o kingsmithr2treadmill.o main.o mcfbike.o metric.o nautiluselliptical.o nautilustreadmill.o npecablebike.o pafersbike.o paferstreadmill.o peloton.o powerzonepack.o proformbike.o proformelliptical.o proformtreadmill.o qfit.o renphobike.o rower.o schwinnic4bike.o screencapture.o sessionline.o shuaa5treadmill.o signalhandler.o simplecrypt.o skandikawiribike.o smartrowrower.o smartspin2k.o emailaddress.o mimeattachment.o mimecontentformatter.o mimefile.o mimehtml.o mimeinlinefile.o mimemessage.o mimemultipart.o mimepart.o mimetext.o quotedprintable.o smtpclient.o snodebike.o solebike.o soleelliptical.o solef80treadmill.o spirittreadmill.o sportsplusbike.o sportstechbike.o strydrunpowersensor.o tacxneo2.o tcpclientinfosender.o technogymmyruntreadmill.o technogymmyruntreadmillrfcomm.o templateinfosender.o templateinfosenderbuilder.o stagesbike.o toorxtreadmill.o treadmill.o truetreadmill.o trxappgateusbbike.o ultrasportbike.o virtualrower.o wahookickrsnapbike.o yesoulbike.o trainprogram.o trxappgateusbtreadmill.o virtualbike.o virtualtreadmill.o m3ibike.o domyosbike.o scanrecordresult.o zwiftworkout.o mainwindow.o charts.o inappproductqmltype.o inappstoreqmltype.o inappproduct.o inapppurchasebackend.o inappstore.o inapptransaction.o qdomyos-zwift_qmltyperegistrations.o qrc_icons.o qrc_qml.o moc_ConsoleReader.o moc_fakeelliptical.o moc_faketreadmill.o moc_nautilusbike.o moc_nordictrackelliptical.o moc_nordictrackifitadbbike.o moc_nordictrackifitadbtreadmill.o moc_octanetreadmill.o moc_proformellipticaltrainer.o moc_proformrower.o moc_proformwifibike.o moc_proformwifitreadmill.o moc_abstractserver.o moc_browser.o moc_cache.o moc_hostname.o moc_prober.o moc_provider.o moc_resolver.o moc_server.o moc_browser_p.o moc_cache_p.o moc_hostname_p.o moc_prober_p.o moc_provider_p.o moc_resolver_p.o moc_server_p.o moc_activiotreadmill.o moc_bhfitnesselliptical.o moc_bike.o moc_bluetooth.o moc_bluetoothdevice.o moc_characteristicnotifier.o moc_characteristicwriteprocessor.o moc_characteristicwriteprocessor2ad9.o moc_bowflext216treadmill.o moc_bowflextreadmill.o moc_chronobike.o moc_concept2skierg.o moc_cscbike.o moc_dirconmanager.o moc_dirconprocessor.o moc_domyoselliptical.o moc_domyosrower.o moc_domyostreadmill.o moc_echelonconnectsport.o moc_echelonrower.o moc_echelonstride.o moc_eliterizer.o moc_elitesterzosmart.o moc_elliptical.o moc_eslinkertreadmill.o moc_fakebike.o moc_filedownloader.o moc_fitmetria_fanfit.o moc_fitplusbike.o moc_ftmsrower.o moc_gpiotreadmill.o moc_homefitnessbuddy.o moc_horizongr7bike.o moc_iconceptbike.o moc_keepbike.o moc_kingsmithr1protreadmill.o moc_kingsmithr2treadmill.o moc_m3ibike.o moc_fitshowtreadmill.o moc_flywheelbike.o moc_ftmsbike.o moc_heartratebelt.o moc_homeform.o moc_horizontreadmill.o moc_inspirebike.o moc_material.o moc_mcfbike.o moc_nautiluselliptical.o moc_nautilustreadmill.o moc_npecablebike.o moc_pafersbike.o moc_paferstreadmill.o moc_peloton.o moc_powerzonepack.o moc_proformbike.o moc_proformelliptical.o moc_proformtreadmill.o moc_qfit.o moc_renphobike.o moc_rower.o moc_schwinnic4bike.o moc_screencapture.o moc_shuaa5treadmill.o moc_skandikawiribike.o moc_smartrowrower.o moc_smartspin2k.o moc_emailaddress.o moc_mimeattachment.o moc_mimecontentformatter.o moc_mimefile.o moc_mimehtml.o moc_mimemultipart.o moc_mimepart.o moc_quotedprintable.o moc_smtpclient.o moc_snodebike.o moc_solebike.o moc_soleelliptical.o moc_solef80treadmill.o moc_spirittreadmill.o moc_sportsplusbike.o moc_sportstechbike.o moc_strydrunpowersensor.o moc_tacxneo2.o moc_tcpclientinfosender.o moc_technogymmyruntreadmill.o moc_technogymmyruntreadmillrfcomm.o moc_templateinfosender.o moc_templateinfosenderbuilder.o moc_stagesbike.o moc_toorxtreadmill.o moc_gpx.o moc_treadmill.o moc_mainwindow.o moc_trainprogram.o moc_truetreadmill.o moc_trxappgateusbbike.o moc_trxappgateusbtreadmill.o moc_ultrasportbike.o moc_virtualbike.o moc_virtualrower.o moc_virtualtreadmill.o moc_domyosbike.o moc_wahookickrsnapbike.o moc_wobjectdefs.o moc_yesoulbike.o moc_charts.o moc_inappproductqmltype.o moc_inappstoreqmltype.o moc_inappproduct.o moc_inapppurchasebackend.o moc_inappstore.o moc_inapptransaction.o -lwiringPi /usr/lib/arm-linux-gnueabihf/libQt5Charts.so /usr/lib/arm-linux-gnueabihf/libQt5Widgets.so /usr/lib/arm-linux-gnueabihf/libQt5Location.so /usr/lib/arm-linux-gnueabihf/libQt5PositioningQuick.so /usr/lib/arm-linux-gnueabihf/libQt5QuickControls2.so /usr/lib/arm-linux-gnueabihf/libQt5Quick.so /usr/lib/arm-linux-gnueabihf/libQt5Multimedia.so /usr/lib/arm-linux-gnueabihf/libQt5Gui.so /usr/lib/arm-linux-gnueabihf/libQt5Bluetooth.so /usr/lib/arm-linux-gnueabihf/libQt5Xml.so /usr/lib/arm-linux-gnueabihf/libQt5Positioning.so /usr/lib/arm-linux-gnueabihf/libQt5QmlModels.so /usr/lib/arm-linux-gnueabihf/libQt5Qml.so /usr/lib/arm-linux-gnueabihf/libQt5NetworkAuth.so /usr/lib/arm-linux-gnueabihf/libQt5WebSockets.so /usr/lib/arm-linux-gnueabihf/libQt5Network.so /usr/lib/arm-linux-gnueabihf/libQt5TextToSpeech.so /usr/lib/arm-linux-gnueabihf/libQt5Core.so -lGLESv2 -lpthread -latomic /usr/bin/ld: /tmp/qdomyos-zwift.P56bD9.ltrans39.ltrans.o: in function
main':
Argh @skoregon ok I will setup a raspberry myself Sorry for the troubles
@skoregon Same issue here, I'm fixing it
@skoregon Ok pull it again and build. This time it's fixed
@cagnulein I did get a new error this time. It appears to have compiled successfully.
pi@raspberrypi:~/qdomyos-zwift/src $ sudo ./qdomyos-zwift -no-gui -heart-service OK, you are root. Segmentation fault
@shoulih yes the warning is ok. is it building now?
built successfully on Pi 3B+ with the DietPi 8.8 now, but the binary runs very sluggish or not usable on Pi zero w. Any suggestion?
@shoulih yes the warning is ok. is it building now?
built successfully on Pi 3B+ with the DietPi 8.8 now, but the binary runs very sluggish or not usable on Pi zero w. Any suggestion?
probably the new keyboard thread is eating a lot of resources. let me double check it. i did the test on a raspberry 4
Just to check, I tried setting up a different pi zero with a different microsd card with a suitable power supply and then make the gpio version. make finishing successfully (or without error) in both cases, but still has "Segmentation fault" as soon as is executed (-no-gui). I know it has previously run on a pi zero earlier in development but is it possible more recent changes in qt or other pieces are no longer compatible with pi zero?
no @skoregon i guess it's just a simple bug that i have to fix. unfortunately today i didn't have time. i will check it tomorrow
@skoregon pull it again and build it, i fixed the segmentation fault and now it should works ok with the -no-gui selector Let me know
@cagnulein I have successfully compiled the software and it runs with sudo ./qdomyos-zwift -no-gui -gpiotreadmill and responds in the console to the key presses. It works very well! Thank you for sticking with it.
Is there a way with the keyboard input to still have it load at boot automatically? The procedure in the md file has it running as a background service so it appears not to be able to intercept keyboard commands. https://github.com/cagnulein/qdomyos-zwift/blob/master/docs/10_Installation.md
Also, is there a way to change the expected keys for each function (increase speed) without recompiling? I would like to assign it to numbers or arrow keys so I can using a 10 key pad or even just an arrow pad attached to USB.
I have successfully compiled the software and it runs with sudo ./qdomyos-zwift -no-gui -gpiotreadmill and responds in the console to the key presses. It works very well! Thank you for sticking with it.
Great!
Is there a way with the keyboard input to still have it load at boot automatically? The procedure in the md file has it running as a background service so it appears not to be able to intercept keyboard commands. https://github.com/cagnulein/qdomyos-zwift/blob/master/docs/10_Installation.md
The background service can't work because in order to "feel" the keyboard, the process MUST running on the current shell. One workaround could be: 1) autologin on a bash shell on startup https://raspberrypi.stackexchange.com/questions/40415/how-to-enable-auto-login 2) autostart qz on login https://unix.stackexchange.com/questions/56083/how-to-write-a-shell-script-that-gets-executed-on-login
Also, is there a way to change the expected keys for each function (increase speed) without recompiling? I would like to assign it to numbers or arrow keys so I can using a 10 key pad or even just an arrow pad attached to USB.
not yet, which would be your perfect setup? I mean do you need also the key for a target speed (for example 3 for 3km/h and so on?)? and what about the inclination?
@skoregon pull it again and build it, i fixed the segmentation fault and now it should works ok with the -no-gui selector Let me know
For some reason, I am still getting "Segmentation fault" with -no-gui selector after the latest pull and built from your latest commits or check-ins. Do I miss anything else?
@shoulih are you sure you're on the last commit? show me a git log
@cagnulein here is the git log: git_log.txt
@shoulih Got the issue, you're not in the gpio-treadmill branch ;)
@shoulih Got the issue, you're not in the gpio-treadmill branch ;)
Got it; are you merging this branch fix to master?
Thanks Robert for your quick reply!
Yes @shoulih I will do tomorrow
Yes @shoulih I will do tomorrow
Thanks again and good night!
done @shoulih
done @shoulih
Thanks Robert and it works now! it seems that the no gui mode will be good for running on Pi zero; is there an easy way to configure the QZ settings while running on no gui mode?
@shoulih Which settings do you need? We should need a switch on command line for each setting. So let's start with the one that you need :)
@shoulih Also I guess you can edit the setting file by an editor
that is what I need and can you please share the location of the setting file?
BTW, I don't need x11 for running QZ on no gui mode, right?
@shoulih Mine is under
/root/.config/Roberto\ Viola/
@shoulih No you don't need x11 :)
found it
@shoulih Mine is under
/root/.config/Roberto\ Viola/
found it!
@shoulih No you don't need x11 :)
Great and that will make Pi zero a super hero! :-)
I have successfully compiled the software and it runs with sudo ./qdomyos-zwift -no-gui -gpiotreadmill and responds in the console to the key presses. It works very well! Thank you for sticking with it.
Great!
Is there a way with the keyboard input to still have it load at boot automatically? The procedure in the md file has it running as a background service so it appears not to be able to intercept keyboard commands. https://github.com/cagnulein/qdomyos-zwift/blob/master/docs/10_Installation.md
** > The background service can't work because in order to "feel" the keyboard, the process MUST running on the current shell. One workaround could be:
- autologin on a bash shell on startup https://raspberrypi.stackexchange.com/questions/40415/how-to-enable-auto-login
- autostart qz on login https://unix.stackexchange.com/questions/56083/how-to-write-a-shell-script-that-gets-executed-on-login**
Thank you, I will try these steps.
Also, is there a way to change the expected keys for each function (increase speed) without recompiling? I would like to assign it to numbers or arrow keys so I can using a 10 key pad or even just an arrow pad attached to USB.
> not yet, which would be your perfect setup? I mean do you need also the key for a target speed (for example 3 for 3km/h and so on?)? and what about the inclination?
I have a 6 key keyboard.
https://a.co/d/aaPm8zI
By default it is organized 123 456
I think ideally I would be able to assign it as follows: 1 set to 5 km per hour speed (3.1 mi/hour) (walk) 2 Incline up one increment 3 set to 10 km per hour speed (6.22 mi per hour) (run) 4 speed down increment 5 incline down increment 6 speed up increment
I run in -miles so I suppose that makes that setting a bit difficult if it just counts clicks.
done @skoregon ;)
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Is your feature request related to a problem? Please describe. I'd like to be able to provide input for speed/incline/stop/start status to my headless pi directly controlling the treadmill.
Describe the solution you'd like I'd like for the headless mode to accept input from an attached usb keyboard, ideally via a config file to set the keys and the corresponding action (a=incline up). More sophisticated options such a bluetooth input or game controller input would work as well and would be wireless, but are not required.
Describe alternatives you've considered Currently use GUI pulled up via VNC on a laptop next to treadmill. It works but having a treadmill next to a laptop is not ideal.
Additional context I appreciate all the effort you put into this project!
This is connected with the headless pi controller for treadmills thread. https://github.com/cagnulein/qdomyos-zwift/issues/525