Unsolved Using socketcan on QT
-
I'm currently using your CAN example and socket can to read CAN frames. I notices I get the same time stamp for 2 or 3 (sometimes more) consecutive messages, So I found out it was because this is "software" timestamp and not "hardware". I found out because I asked Peak and they clear this for me, so when I call:
"candump -tA -H can0"
the -H gets the correct time stamp, although from 1970 but that's OK.
My question is how can I set QT so that it uses the hardware timestamp?
Thanks,
Kind regards,
Jorge Garza -
Hi @Garza,
that's currently not possible. You may want to comment and vote on QTBUG-55295 to get that implemented.
Regards
Edit: Of course you can also use the
peakcan
plugin together with Peak's own driver on Linux, where this should already work as expected. -
@aha_1980 I tried installing peak driver but always ended ruining my system.
-
@Garza you can try to patch the socketcan plugin locally and recompile QtSerialBus.
An official solution is not that easy, as all the plugins need to be adjusted. I don't expect that to happen anytime soon. As always: Patches welcome.
Regards
-
@aha_1980 how can I do that? I only see .so files where the QtSerialBus is located.
-
@Garza said in Using socketcan on QT:
how can I do that?
https://wiki.qt.io/Building_Qt_5_from_Git
But don't build whole Qt, just QtSerialBus module. -
@jsulm So, do I need to pull the whole QT code and then build only the module I want or should should I pull only the module I need?
-
@Garza You can clone the modules you need as described in the link I gave you: https://wiki.qt.io/Building_Qt_5_from_Git
-
@jsulm I downloaded the sub module I wanted and went to the branch 5.12.2. then there is no CMakelists.txt on that branch, only on the main branch and when running the CMakelists.txt that is there It asks for qt6 which I dont have.
-
@Garza Qt5 uses QMake, Qt6 uses CMake. Main branch is Qt6. If you want to build Qt5 modules use QMake.
-
@jsulm said in Using socketcan on QT:
Main branch is Qt6
sorry my dumb questions, so I need to run qmake with the .pro file and then run make, and the .so files on the bin folder will be the ones I have to substitute on the qt?
-
@Garza Yes, use qmake from your Qt, then "make" and "make install"