拍照version

This commit is contained in:
flower
2026-02-02 17:06:20 +08:00
parent 47016c00a6
commit d2b7b833b6
111 changed files with 19371 additions and 997 deletions

View File

@@ -1,27 +1,40 @@
# ninja log v6
1 237 1768965744018577716 skylink_station_autogen/timestamp 67b8a88a4f836678
1 237 1768965744018577716 /home/flower/code/camera/flyLink/skylink_qt_station/build/Desktop_Qt_6_5_3_GCC_64bit-Debug/skylink_station_autogen/mocs_compilation.cpp 67b8a88a4f836678
1 237 1768965744018577716 skylink_station_autogen/mocs_compilation.cpp 67b8a88a4f836678
1 237 1768965744018577716 /home/flower/code/camera/flyLink/skylink_qt_station/build/Desktop_Qt_6_5_3_GCC_64bit-Debug/skylink_station_autogen/timestamp 67b8a88a4f836678
237 246 1768965744032578704 skylink_station_autogen/EWIEGA46WW/qrc_resources.cpp e63e0a667a42556f
237 246 1768965744032578704 /home/flower/code/camera/flyLink/skylink_qt_station/build/Desktop_Qt_6_5_3_GCC_64bit-Debug/skylink_station_autogen/EWIEGA46WW/qrc_resources.cpp e63e0a667a42556f
247 259 1768965744034578845 CMakeFiles/skylink_station.dir/skylink_station_autogen/EWIEGA46WW/qrc_resources.cpp.o b144aef3415b71b2
247 1139 1768965744034578845 CMakeFiles/skylink_station.dir/src/main.cpp.o 7a56a74093adf479
247 2179 1768965744034578845 CMakeFiles/skylink_station.dir/src/GroundReceiver.cpp.o 6c56ad0b07b7bab9
247 1231 1768965744034578845 CMakeFiles/skylink_station.dir/src/DataLogger.cpp.o 3aaa238c7e188637
2 233 1768965948743624643 skylink_station_autogen/timestamp 67b8a88a4f836678
2 233 1768965948743624643 skylink_station_autogen/mocs_compilation.cpp 67b8a88a4f836678
2 233 1768965948743624643 /home/flower/code/camera/flyLink/skylink_qt_station/build/Desktop_Qt_6_5_3_GCC_64bit-Debug/skylink_station_autogen/timestamp 67b8a88a4f836678
2 233 1768965948743624643 /home/flower/code/camera/flyLink/skylink_qt_station/build/Desktop_Qt_6_5_3_GCC_64bit-Debug/skylink_station_autogen/mocs_compilation.cpp 67b8a88a4f836678
235 246 1768965948751625104 CMakeFiles/skylink_station.dir/skylink_station_autogen/EWIEGA46WW/qrc_resources.cpp.o af974169bd9ed7a4
234 1112 1768965948750625047 CMakeFiles/skylink_station.dir/src/DataLogger.cpp.o b87ed818438f6507
2 234 1768966062311868601 skylink_station_autogen/timestamp 67b8a88a4f836678
2 234 1768966062311868601 skylink_station_autogen/mocs_compilation.cpp 67b8a88a4f836678
2 234 1768966062311868601 /home/flower/code/camera/flyLink/skylink_qt_station/build/Desktop_Qt_6_5_3_GCC_64bit-Debug/skylink_station_autogen/timestamp 67b8a88a4f836678
2 234 1768966062311868601 /home/flower/code/camera/flyLink/skylink_qt_station/build/Desktop_Qt_6_5_3_GCC_64bit-Debug/skylink_station_autogen/mocs_compilation.cpp 67b8a88a4f836678
235 1024 1768966062321869125 CMakeFiles/skylink_station.dir/src/DeviceInfoReceiver.cpp.o a36de3bc6879b4b2
234 1120 1768966062320869073 CMakeFiles/skylink_station.dir/src/main.cpp.o a2b53bd089c5d0a9
234 2045 1768966062320869073 CMakeFiles/skylink_station.dir/skylink_station_autogen/mocs_compilation.cpp.o ef5337e928a073c4
234 2159 1768966062320869073 CMakeFiles/skylink_station.dir/src/GroundReceiver.cpp.o 161e05dd02078224
234 2219 1768966062320869073 CMakeFiles/skylink_station.dir/src/MainWindow.cpp.o fd43d8ab38120043
234 1120 1768966062320869073 CMakeFiles/skylink_station.dir/src/main.cpp.o a2b53bd089c5d0a9
2219 2440 1768966064305973131 skylink_station 1a20341c5a20a204
234 2045 1768966062320869073 CMakeFiles/skylink_station.dir/skylink_station_autogen/mocs_compilation.cpp.o ef5337e928a073c4
2 234 1768966062311868601 skylink_station_autogen/timestamp 67b8a88a4f836678
2 234 1768966062311868601 /home/flower/code/camera/flyLink/skylink_qt_station/build/Desktop_Qt_6_5_3_GCC_64bit-Debug/skylink_station_autogen/mocs_compilation.cpp 67b8a88a4f836678
2 234 1768966062311868601 /home/flower/code/camera/flyLink/skylink_qt_station/build/Desktop_Qt_6_5_3_GCC_64bit-Debug/skylink_station_autogen/timestamp 67b8a88a4f836678
237 246 1768965744032578704 skylink_station_autogen/EWIEGA46WW/qrc_resources.cpp e63e0a667a42556f
235 1024 1768966062321869125 CMakeFiles/skylink_station.dir/src/DeviceInfoReceiver.cpp.o a36de3bc6879b4b2
234 2219 1768966062320869073 CMakeFiles/skylink_station.dir/src/MainWindow.cpp.o fd43d8ab38120043
237 246 1768965744032578704 /home/flower/code/camera/flyLink/skylink_qt_station/build/Desktop_Qt_6_5_3_GCC_64bit-Debug/skylink_station_autogen/EWIEGA46WW/qrc_resources.cpp e63e0a667a42556f
2 234 1768966062311868601 skylink_station_autogen/mocs_compilation.cpp 67b8a88a4f836678
235 246 1768965948751625104 CMakeFiles/skylink_station.dir/skylink_station_autogen/EWIEGA46WW/qrc_resources.cpp.o af974169bd9ed7a4
2 233 1770021668864715294 skylink_station_autogen/timestamp 67b8a88a4f836678
2 233 1770021668864715294 skylink_station_autogen/mocs_compilation.cpp 67b8a88a4f836678
2 233 1770021668864715294 /home/flower/code/camera/flyLink/skylink_qt_station/build/Desktop_Qt_6_5_3_GCC_64bit-Debug/skylink_station_autogen/timestamp 67b8a88a4f836678
2 233 1770021668864715294 /home/flower/code/camera/flyLink/skylink_qt_station/build/Desktop_Qt_6_5_3_GCC_64bit-Debug/skylink_station_autogen/mocs_compilation.cpp 67b8a88a4f836678
234 1013 1770021668872715450 CMakeFiles/skylink_station.dir/src/DeviceInfoReceiver.cpp.o a36de3bc6879b4b2
233 1127 1770021668871715431 CMakeFiles/skylink_station.dir/src/main.cpp.o a2b53bd089c5d0a9
233 2068 1770021668871715431 CMakeFiles/skylink_station.dir/skylink_station_autogen/mocs_compilation.cpp.o ef5337e928a073c4
233 2156 1770021668871715431 CMakeFiles/skylink_station.dir/src/GroundReceiver.cpp.o 161e05dd02078224
233 2264 1770021668871715431 CMakeFiles/skylink_station.dir/src/MainWindow.cpp.o fd43d8ab38120043
2264 2520 1770021670902755003 skylink_station 1a20341c5a20a204
2 139 1770022201333131084 skylink_station_autogen/timestamp 67b8a88a4f836678
2 139 1770022201333131084 skylink_station_autogen/mocs_compilation.cpp 67b8a88a4f836678
2 139 1770022201333131084 /home/flower/code/camera/flyLink/skylink_qt_station/build/Desktop_Qt_6_5_3_GCC_64bit-Debug/skylink_station_autogen/timestamp 67b8a88a4f836678
2 139 1770022201333131084 /home/flower/code/camera/flyLink/skylink_qt_station/build/Desktop_Qt_6_5_3_GCC_64bit-Debug/skylink_station_autogen/mocs_compilation.cpp 67b8a88a4f836678
139 1010 1770022201341131292 CMakeFiles/skylink_station.dir/src/main.cpp.o a2b53bd089c5d0a9
139 1948 1770022201341131292 CMakeFiles/skylink_station.dir/skylink_station_autogen/mocs_compilation.cpp.o ef5337e928a073c4
140 2054 1770022201341131292 CMakeFiles/skylink_station.dir/src/GroundReceiver.cpp.o 161e05dd02078224
140 2461 1770022201341131292 CMakeFiles/skylink_station.dir/src/MainWindow.cpp.o fd43d8ab38120043
2461 2682 1770022203662191772 skylink_station 1a20341c5a20a204
1 22 1770022435693402494 skylink_station_autogen/timestamp 67b8a88a4f836678
1 22 1770022435693402494 skylink_station_autogen/mocs_compilation.cpp 67b8a88a4f836678
1 22 1770022435693402494 /home/flower/code/camera/flyLink/skylink_qt_station/build/Desktop_Qt_6_5_3_GCC_64bit-Debug/skylink_station_autogen/timestamp 67b8a88a4f836678
1 22 1770022435693402494 /home/flower/code/camera/flyLink/skylink_qt_station/build/Desktop_Qt_6_5_3_GCC_64bit-Debug/skylink_station_autogen/mocs_compilation.cpp 67b8a88a4f836678
22 2151 1770022435714403069 CMakeFiles/skylink_station.dir/src/MainWindow.cpp.o fd43d8ab38120043
2151 2376 1770022437843461352 skylink_station 1a20341c5a20a204

View File

@@ -1,15 +1,14 @@
# Generated by CMake. Changes will be overwritten.
/home/flower/code/camera/flyLink/skylink_qt_station/src/DataLogger.h
/home/flower/code/camera/flyLink/skylink_qt_station/src/DataLogger.cpp
/home/flower/code/camera/flyLink/skylink_qt_station/src/DeviceInfo.h
/home/flower/code/camera/flyLink/skylink_qt_station/src/DeviceInfoReceiver.cpp
/home/flower/code/camera/flyLink/skylink_qt_station/src/DeviceInfoReceiver.h
/home/flower/code/camera/flyLink/skylink_qt_station/src/main.cpp
/home/flower/code/camera/flyLink/skylink_qt_station/src/GroundReceiver.cpp
/home/flower/code/camera/flyLink/skylink_qt_station/src/MainWindow.h
mmc:Q_OBJECT
mdp:/home/flower/code/camera/flyLink/skylink_qt_station/src/DeviceInfoReceiver.h
mdp:/home/flower/code/camera/flyLink/skylink_qt_station/src/MainWindow.h
mdp:/home/flower/code/camera/flyLink/skylink_qt_station/build/Desktop_Qt_6_5_3_GCC_64bit-Debug/skylink_station_autogen/moc_predefs.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/QDateTime
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/QObject
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/QString
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/QTimer
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/q20memory.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/q20type_traits.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qalgorithms.h
@@ -21,6 +20,7 @@
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qatomic.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qatomic_cxx11.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qbasicatomic.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qbasictimer.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qbindingstorage.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qbytearray.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qbytearrayalgorithms.h
@@ -55,11 +55,13 @@
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qiodevicebase.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qiterable.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qiterator.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qline.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qlist.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qlocale.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qlogging.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qmalloc.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qmap.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qmargins.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qmath.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qmetacontainer.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qmetatype.h
@@ -72,7 +74,9 @@
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qobjectdefs_impl.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qoverload.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qpair.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qpoint.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qprocessordetection.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qrect.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qrefcount.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qscopedpointer.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qscopeguard.h
@@ -81,6 +85,7 @@
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qshareddata_impl.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qsharedpointer.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qsharedpointer_impl.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qsize.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qstring.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qstringalgorithms.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qstringbuilder.h
@@ -102,6 +107,7 @@
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qtdeprecationmarkers.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qtenvironmentvariables.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qtextstream.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qtimer.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qtmetamacros.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qtnoop.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qtpreprocessorsupport.h
@@ -112,21 +118,66 @@
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qtversionchecks.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qtypeinfo.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qtypes.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qurl.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qutf8stringview.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qvariant.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qvarlengtharray.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qversiontagging.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qxptype_traits.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/QImage
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qaction.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qbitmap.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qbrush.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qcolor.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qcursor.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qfont.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qfontinfo.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qfontmetrics.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qicon.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qimage.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qkeysequence.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qpaintdevice.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qpalette.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qpicture.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qpixelformat.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qpixmap.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qpolygon.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qregion.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qrgb.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qrgba64.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qtextdocument.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qtgui-config.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qtguiexports.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qtguiglobal.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qtransform.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qwindowdefs.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtNetwork/QHostAddress
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtNetwork/QTcpSocket
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtNetwork/QUdpSocket
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtNetwork/qabstractsocket.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtNetwork/qhostaddress.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtNetwork/qtcpsocket.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtNetwork/qtnetwork-config.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtNetwork/qtnetworkexports.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtNetwork/qtnetworkglobal.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtNetwork/qudpsocket.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/QLabel
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/QMainWindow
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/QPushButton
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/qabstractbutton.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/qframe.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/qlabel.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/qmainwindow.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/qpushbutton.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/qsizepolicy.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/qtabwidget.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/qtwidgets-config.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/qtwidgetsexports.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/qtwidgetsglobal.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/qwidget.h
mdp:/home/flower/code/camera/flyLink/skylink_qt_station/protocol/protocol.h
mdp:/home/flower/code/camera/flyLink/skylink_qt_station/src/DeviceInfo.h
mdp:/home/flower/code/camera/flyLink/skylink_qt_station/src/DeviceInfoReceiver.h
mdp:/usr/include/alloca.h
mdp:/usr/include/asm-generic/errno-base.h
mdp:/usr/include/asm-generic/errno.h
@@ -382,6 +433,7 @@
mdp:/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h
mdp:/usr/lib/gcc/x86_64-linux-gnu/12/include/stdbool.h
mdp:/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h
/home/flower/code/camera/flyLink/skylink_qt_station/src/MainWindow.cpp
/home/flower/code/camera/flyLink/skylink_qt_station/src/GroundReceiver.h
mmc:Q_OBJECT
mdp:/home/flower/code/camera/flyLink/skylink_qt_station/src/GroundReceiver.h
@@ -938,15 +990,13 @@
mdp:/usr/lib/gcc/x86_64-linux-gnu/12/include/stdbool.h
mdp:/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h
mdp:/usr/lib/gcc/x86_64-linux-gnu/12/include/xmmintrin.h
/home/flower/code/camera/flyLink/skylink_qt_station/src/MainWindow.cpp
/home/flower/code/camera/flyLink/skylink_qt_station/src/MainWindow.h
/home/flower/code/camera/flyLink/skylink_qt_station/src/DeviceInfoReceiver.h
mmc:Q_OBJECT
mdp:/home/flower/code/camera/flyLink/skylink_qt_station/src/MainWindow.h
mdp:/home/flower/code/camera/flyLink/skylink_qt_station/src/DeviceInfoReceiver.h
mdp:/home/flower/code/camera/flyLink/skylink_qt_station/build/Desktop_Qt_6_5_3_GCC_64bit-Debug/skylink_station_autogen/moc_predefs.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/QDateTime
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/QObject
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/QString
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/QTimer
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/q20memory.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/q20type_traits.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qalgorithms.h
@@ -958,7 +1008,6 @@
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qatomic.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qatomic_cxx11.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qbasicatomic.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qbasictimer.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qbindingstorage.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qbytearray.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qbytearrayalgorithms.h
@@ -993,13 +1042,11 @@
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qiodevicebase.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qiterable.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qiterator.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qline.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qlist.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qlocale.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qlogging.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qmalloc.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qmap.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qmargins.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qmath.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qmetacontainer.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qmetatype.h
@@ -1012,9 +1059,7 @@
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qobjectdefs_impl.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qoverload.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qpair.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qpoint.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qprocessordetection.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qrect.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qrefcount.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qscopedpointer.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qscopeguard.h
@@ -1023,7 +1068,6 @@
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qshareddata_impl.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qsharedpointer.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qsharedpointer_impl.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qsize.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qstring.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qstringalgorithms.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qstringbuilder.h
@@ -1045,7 +1089,6 @@
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qtdeprecationmarkers.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qtenvironmentvariables.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qtextstream.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qtimer.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qtmetamacros.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qtnoop.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qtpreprocessorsupport.h
@@ -1056,66 +1099,21 @@
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qtversionchecks.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qtypeinfo.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qtypes.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qurl.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qutf8stringview.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qvariant.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qvarlengtharray.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qversiontagging.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtCore/qxptype_traits.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/QImage
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qaction.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qbitmap.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qbrush.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qcolor.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qcursor.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qfont.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qfontinfo.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qfontmetrics.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qicon.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qimage.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qkeysequence.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qpaintdevice.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qpalette.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qpicture.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qpixelformat.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qpixmap.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qpolygon.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qregion.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qrgb.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qrgba64.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qtextdocument.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qtgui-config.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qtguiexports.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qtguiglobal.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qtransform.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtGui/qwindowdefs.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtNetwork/QHostAddress
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtNetwork/QTcpSocket
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtNetwork/QUdpSocket
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtNetwork/qabstractsocket.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtNetwork/qhostaddress.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtNetwork/qtcpsocket.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtNetwork/qtnetwork-config.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtNetwork/qtnetworkexports.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtNetwork/qtnetworkglobal.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtNetwork/qudpsocket.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/QLabel
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/QMainWindow
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/QPushButton
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/qabstractbutton.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/qframe.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/qlabel.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/qmainwindow.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/qpushbutton.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/qsizepolicy.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/qtabwidget.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/qtwidgets-config.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/qtwidgetsexports.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/qtwidgetsglobal.h
mdp:/home/flower/app/Qt/6.5.3/gcc_64/include/QtWidgets/qwidget.h
mdp:/home/flower/code/camera/flyLink/skylink_qt_station/protocol/protocol.h
mdp:/home/flower/code/camera/flyLink/skylink_qt_station/src/DeviceInfo.h
mdp:/home/flower/code/camera/flyLink/skylink_qt_station/src/DeviceInfoReceiver.h
mdp:/usr/include/alloca.h
mdp:/usr/include/asm-generic/errno-base.h
mdp:/usr/include/asm-generic/errno.h
@@ -1371,5 +1369,7 @@
mdp:/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h
mdp:/usr/lib/gcc/x86_64-linux-gnu/12/include/stdbool.h
mdp:/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h
/home/flower/code/camera/flyLink/skylink_qt_station/src/GroundReceiver.cpp
/home/flower/code/camera/flyLink/skylink_qt_station/src/main.cpp
/home/flower/code/camera/flyLink/skylink_qt_station/src/DeviceInfoReceiver.cpp
/home/flower/code/camera/flyLink/skylink_qt_station/src/DeviceInfo.h
/home/flower/code/camera/flyLink/skylink_qt_station/src/DataLogger.cpp
/home/flower/code/camera/flyLink/skylink_qt_station/src/DataLogger.h

View File

@@ -1,3 +1,3 @@
Start testing: Jan 21 11:24 CST
Start testing: Feb 02 16:41 CST
----------------------------------------------------------
End testing: Jan 21 11:24 CST
End testing: Feb 02 16:41 CST

View File

@@ -45,6 +45,8 @@ static constexpr auto qt_meta_stringdata_CLASSGroundReceiverENDCLASS = QtMocHelp
"lat",
"lon",
"alt",
"uint32_t",
"photo_number",
"statsUpdated",
"fps",
"kbs",
@@ -56,7 +58,7 @@ static constexpr auto qt_meta_stringdata_CLASSGroundReceiverENDCLASS = QtMocHelp
);
#else // !QT_MOC_HAS_STRING_DATA
struct qt_meta_stringdata_CLASSGroundReceiverENDCLASS_t {
uint offsetsAndSizes[30];
uint offsetsAndSizes[34];
char stringdata0[15];
char stringdata1[13];
char stringdata2[1];
@@ -64,14 +66,16 @@ struct qt_meta_stringdata_CLASSGroundReceiverENDCLASS_t {
char stringdata4[4];
char stringdata5[4];
char stringdata6[4];
char stringdata7[13];
char stringdata8[4];
char stringdata9[4];
char stringdata10[6];
char stringdata11[10];
char stringdata12[18];
char stringdata13[13];
char stringdata14[19];
char stringdata7[9];
char stringdata8[13];
char stringdata9[13];
char stringdata10[4];
char stringdata11[4];
char stringdata12[6];
char stringdata13[10];
char stringdata14[18];
char stringdata15[13];
char stringdata16[19];
};
#define QT_MOC_LITERAL(ofs, len) \
uint(sizeof(qt_meta_stringdata_CLASSGroundReceiverENDCLASS_t::offsetsAndSizes) + ofs), len
@@ -84,14 +88,16 @@ Q_CONSTINIT static const qt_meta_stringdata_CLASSGroundReceiverENDCLASS_t qt_met
QT_MOC_LITERAL(33, 3), // "lat"
QT_MOC_LITERAL(37, 3), // "lon"
QT_MOC_LITERAL(41, 3), // "alt"
QT_MOC_LITERAL(45, 12), // "statsUpdated"
QT_MOC_LITERAL(58, 3), // "fps"
QT_MOC_LITERAL(62, 3), // "kbs"
QT_MOC_LITERAL(66, 5), // "error"
QT_MOC_LITERAL(72, 9), // "error_msg"
QT_MOC_LITERAL(82, 17), // "on_udp_read_ready"
QT_MOC_LITERAL(100, 12), // "on_udp_error"
QT_MOC_LITERAL(113, 18) // "on_cleanup_timeout"
QT_MOC_LITERAL(45, 8), // "uint32_t"
QT_MOC_LITERAL(54, 12), // "photo_number"
QT_MOC_LITERAL(67, 12), // "statsUpdated"
QT_MOC_LITERAL(80, 3), // "fps"
QT_MOC_LITERAL(84, 3), // "kbs"
QT_MOC_LITERAL(88, 5), // "error"
QT_MOC_LITERAL(94, 9), // "error_msg"
QT_MOC_LITERAL(104, 17), // "on_udp_read_ready"
QT_MOC_LITERAL(122, 12), // "on_udp_error"
QT_MOC_LITERAL(135, 18) // "on_cleanup_timeout"
},
"GroundReceiver",
"frameDecoded",
@@ -100,6 +106,8 @@ Q_CONSTINIT static const qt_meta_stringdata_CLASSGroundReceiverENDCLASS_t qt_met
"lat",
"lon",
"alt",
"uint32_t",
"photo_number",
"statsUpdated",
"fps",
"kbs",
@@ -127,19 +135,19 @@ Q_CONSTINIT static const uint qt_meta_data_CLASSGroundReceiverENDCLASS[] = {
3, // signalCount
// signals: name, argc, parameters, tag, flags, initial metatype offsets
1, 4, 50, 2, 0x06, 1 /* Public */,
7, 2, 59, 2, 0x06, 6 /* Public */,
10, 1, 64, 2, 0x06, 9 /* Public */,
1, 5, 50, 2, 0x06, 1 /* Public */,
9, 2, 61, 2, 0x06, 7 /* Public */,
12, 1, 66, 2, 0x06, 10 /* Public */,
// slots: name, argc, parameters, tag, flags, initial metatype offsets
12, 0, 67, 2, 0x08, 11 /* Private */,
13, 0, 68, 2, 0x08, 12 /* Private */,
14, 0, 69, 2, 0x08, 13 /* Private */,
14, 0, 69, 2, 0x08, 12 /* Private */,
15, 0, 70, 2, 0x08, 13 /* Private */,
16, 0, 71, 2, 0x08, 14 /* Private */,
// signals: parameters
QMetaType::Void, QMetaType::QImage, QMetaType::Double, QMetaType::Double, QMetaType::Double, 3, 4, 5, 6,
QMetaType::Void, QMetaType::Int, QMetaType::Int, 8, 9,
QMetaType::Void, QMetaType::QString, 11,
QMetaType::Void, QMetaType::QImage, QMetaType::Double, QMetaType::Double, QMetaType::Double, 0x80000000 | 7, 3, 4, 5, 6, 8,
QMetaType::Void, QMetaType::Int, QMetaType::Int, 10, 11,
QMetaType::Void, QMetaType::QString, 13,
// slots: parameters
QMetaType::Void,
@@ -164,6 +172,7 @@ Q_CONSTINIT const QMetaObject GroundReceiver::staticMetaObject = { {
QtPrivate::TypeAndForceComplete<double, std::false_type>,
QtPrivate::TypeAndForceComplete<double, std::false_type>,
QtPrivate::TypeAndForceComplete<double, std::false_type>,
QtPrivate::TypeAndForceComplete<uint32_t, std::false_type>,
// method 'statsUpdated'
QtPrivate::TypeAndForceComplete<void, std::false_type>,
QtPrivate::TypeAndForceComplete<int, std::false_type>,
@@ -187,7 +196,7 @@ void GroundReceiver::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _
auto *_t = static_cast<GroundReceiver *>(_o);
(void)_t;
switch (_id) {
case 0: _t->frameDecoded((*reinterpret_cast< std::add_pointer_t<QImage>>(_a[1])),(*reinterpret_cast< std::add_pointer_t<double>>(_a[2])),(*reinterpret_cast< std::add_pointer_t<double>>(_a[3])),(*reinterpret_cast< std::add_pointer_t<double>>(_a[4]))); break;
case 0: _t->frameDecoded((*reinterpret_cast< std::add_pointer_t<QImage>>(_a[1])),(*reinterpret_cast< std::add_pointer_t<double>>(_a[2])),(*reinterpret_cast< std::add_pointer_t<double>>(_a[3])),(*reinterpret_cast< std::add_pointer_t<double>>(_a[4])),(*reinterpret_cast< std::add_pointer_t<uint32_t>>(_a[5]))); break;
case 1: _t->statsUpdated((*reinterpret_cast< std::add_pointer_t<int>>(_a[1])),(*reinterpret_cast< std::add_pointer_t<int>>(_a[2]))); break;
case 2: _t->error((*reinterpret_cast< std::add_pointer_t<QString>>(_a[1]))); break;
case 3: _t->on_udp_read_ready(); break;
@@ -198,7 +207,7 @@ void GroundReceiver::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
{
using _t = void (GroundReceiver::*)(const QImage & , double , double , double );
using _t = void (GroundReceiver::*)(const QImage & , double , double , double , uint32_t );
if (_t _q_method = &GroundReceiver::frameDecoded; *reinterpret_cast<_t *>(_a[1]) == _q_method) {
*result = 0;
return;
@@ -252,9 +261,9 @@ int GroundReceiver::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
}
// SIGNAL 0
void GroundReceiver::frameDecoded(const QImage & _t1, double _t2, double _t3, double _t4)
void GroundReceiver::frameDecoded(const QImage & _t1, double _t2, double _t3, double _t4, uint32_t _t5)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t3))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t4))) };
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t3))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t4))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t5))) };
QMetaObject::activate(this, &staticMetaObject, 0, _a);
}

View File

@@ -46,6 +46,8 @@ static constexpr auto qt_meta_stringdata_CLASSMainWindowENDCLASS = QtMocHelpers:
"lat",
"lon",
"alt",
"uint32_t",
"photo_number",
"on_stats_updated",
"fps",
"kbs",
@@ -53,13 +55,14 @@ static constexpr auto qt_meta_stringdata_CLASSMainWindowENDCLASS = QtMocHelpers:
"on_record_toggled",
"checked",
"on_settings_clicked",
"on_trigger_capture_clicked",
"on_device_info_received",
"DeviceInfo",
"info"
);
#else // !QT_MOC_HAS_STRING_DATA
struct qt_meta_stringdata_CLASSMainWindowENDCLASS_t {
uint offsetsAndSizes[34];
uint offsetsAndSizes[40];
char stringdata0[11];
char stringdata1[18];
char stringdata2[1];
@@ -67,16 +70,19 @@ struct qt_meta_stringdata_CLASSMainWindowENDCLASS_t {
char stringdata4[4];
char stringdata5[4];
char stringdata6[4];
char stringdata7[17];
char stringdata8[4];
char stringdata9[4];
char stringdata10[22];
char stringdata11[18];
char stringdata12[8];
char stringdata13[20];
char stringdata14[24];
char stringdata15[11];
char stringdata16[5];
char stringdata7[9];
char stringdata8[13];
char stringdata9[17];
char stringdata10[4];
char stringdata11[4];
char stringdata12[22];
char stringdata13[18];
char stringdata14[8];
char stringdata15[20];
char stringdata16[27];
char stringdata17[24];
char stringdata18[11];
char stringdata19[5];
};
#define QT_MOC_LITERAL(ofs, len) \
uint(sizeof(qt_meta_stringdata_CLASSMainWindowENDCLASS_t::offsetsAndSizes) + ofs), len
@@ -89,16 +95,19 @@ Q_CONSTINIT static const qt_meta_stringdata_CLASSMainWindowENDCLASS_t qt_meta_st
QT_MOC_LITERAL(34, 3), // "lat"
QT_MOC_LITERAL(38, 3), // "lon"
QT_MOC_LITERAL(42, 3), // "alt"
QT_MOC_LITERAL(46, 16), // "on_stats_updated"
QT_MOC_LITERAL(63, 3), // "fps"
QT_MOC_LITERAL(67, 3), // "kbs"
QT_MOC_LITERAL(71, 21), // "on_save_frame_clicked"
QT_MOC_LITERAL(93, 17), // "on_record_toggled"
QT_MOC_LITERAL(111, 7), // "checked"
QT_MOC_LITERAL(119, 19), // "on_settings_clicked"
QT_MOC_LITERAL(139, 23), // "on_device_info_received"
QT_MOC_LITERAL(163, 10), // "DeviceInfo"
QT_MOC_LITERAL(174, 4) // "info"
QT_MOC_LITERAL(46, 8), // "uint32_t"
QT_MOC_LITERAL(55, 12), // "photo_number"
QT_MOC_LITERAL(68, 16), // "on_stats_updated"
QT_MOC_LITERAL(85, 3), // "fps"
QT_MOC_LITERAL(89, 3), // "kbs"
QT_MOC_LITERAL(93, 21), // "on_save_frame_clicked"
QT_MOC_LITERAL(115, 17), // "on_record_toggled"
QT_MOC_LITERAL(133, 7), // "checked"
QT_MOC_LITERAL(141, 19), // "on_settings_clicked"
QT_MOC_LITERAL(161, 26), // "on_trigger_capture_clicked"
QT_MOC_LITERAL(188, 23), // "on_device_info_received"
QT_MOC_LITERAL(212, 10), // "DeviceInfo"
QT_MOC_LITERAL(223, 4) // "info"
},
"MainWindow",
"on_frame_received",
@@ -107,6 +116,8 @@ Q_CONSTINIT static const qt_meta_stringdata_CLASSMainWindowENDCLASS_t qt_meta_st
"lat",
"lon",
"alt",
"uint32_t",
"photo_number",
"on_stats_updated",
"fps",
"kbs",
@@ -114,6 +125,7 @@ Q_CONSTINIT static const qt_meta_stringdata_CLASSMainWindowENDCLASS_t qt_meta_st
"on_record_toggled",
"checked",
"on_settings_clicked",
"on_trigger_capture_clicked",
"on_device_info_received",
"DeviceInfo",
"info"
@@ -128,7 +140,7 @@ Q_CONSTINIT static const uint qt_meta_data_CLASSMainWindowENDCLASS[] = {
11, // revision
0, // classname
0, 0, // classinfo
6, 14, // methods
7, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
@@ -136,20 +148,22 @@ Q_CONSTINIT static const uint qt_meta_data_CLASSMainWindowENDCLASS[] = {
0, // signalCount
// slots: name, argc, parameters, tag, flags, initial metatype offsets
1, 4, 50, 2, 0x08, 1 /* Private */,
7, 2, 59, 2, 0x08, 6 /* Private */,
10, 0, 64, 2, 0x08, 9 /* Private */,
11, 1, 65, 2, 0x08, 10 /* Private */,
13, 0, 68, 2, 0x08, 12 /* Private */,
14, 1, 69, 2, 0x08, 13 /* Private */,
1, 5, 56, 2, 0x08, 1 /* Private */,
9, 2, 67, 2, 0x08, 7 /* Private */,
12, 0, 72, 2, 0x08, 10 /* Private */,
13, 1, 73, 2, 0x08, 11 /* Private */,
15, 0, 76, 2, 0x08, 13 /* Private */,
16, 0, 77, 2, 0x08, 14 /* Private */,
17, 1, 78, 2, 0x08, 15 /* Private */,
// slots: parameters
QMetaType::Void, QMetaType::QImage, QMetaType::Double, QMetaType::Double, QMetaType::Double, 3, 4, 5, 6,
QMetaType::Void, QMetaType::Int, QMetaType::Int, 8, 9,
QMetaType::Void, QMetaType::QImage, QMetaType::Double, QMetaType::Double, QMetaType::Double, 0x80000000 | 7, 3, 4, 5, 6, 8,
QMetaType::Void, QMetaType::Int, QMetaType::Int, 10, 11,
QMetaType::Void,
QMetaType::Void, QMetaType::Bool, 12,
QMetaType::Void, QMetaType::Bool, 14,
QMetaType::Void,
QMetaType::Void, 0x80000000 | 15, 16,
QMetaType::Void,
QMetaType::Void, 0x80000000 | 18, 19,
0 // eod
};
@@ -169,6 +183,7 @@ Q_CONSTINIT const QMetaObject MainWindow::staticMetaObject = { {
QtPrivate::TypeAndForceComplete<double, std::false_type>,
QtPrivate::TypeAndForceComplete<double, std::false_type>,
QtPrivate::TypeAndForceComplete<double, std::false_type>,
QtPrivate::TypeAndForceComplete<uint32_t, std::false_type>,
// method 'on_stats_updated'
QtPrivate::TypeAndForceComplete<void, std::false_type>,
QtPrivate::TypeAndForceComplete<int, std::false_type>,
@@ -180,6 +195,8 @@ Q_CONSTINIT const QMetaObject MainWindow::staticMetaObject = { {
QtPrivate::TypeAndForceComplete<bool, std::false_type>,
// method 'on_settings_clicked'
QtPrivate::TypeAndForceComplete<void, std::false_type>,
// method 'on_trigger_capture_clicked'
QtPrivate::TypeAndForceComplete<void, std::false_type>,
// method 'on_device_info_received'
QtPrivate::TypeAndForceComplete<void, std::false_type>,
QtPrivate::TypeAndForceComplete<const DeviceInfo &, std::false_type>
@@ -193,12 +210,13 @@ void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id,
auto *_t = static_cast<MainWindow *>(_o);
(void)_t;
switch (_id) {
case 0: _t->on_frame_received((*reinterpret_cast< std::add_pointer_t<QImage>>(_a[1])),(*reinterpret_cast< std::add_pointer_t<double>>(_a[2])),(*reinterpret_cast< std::add_pointer_t<double>>(_a[3])),(*reinterpret_cast< std::add_pointer_t<double>>(_a[4]))); break;
case 0: _t->on_frame_received((*reinterpret_cast< std::add_pointer_t<QImage>>(_a[1])),(*reinterpret_cast< std::add_pointer_t<double>>(_a[2])),(*reinterpret_cast< std::add_pointer_t<double>>(_a[3])),(*reinterpret_cast< std::add_pointer_t<double>>(_a[4])),(*reinterpret_cast< std::add_pointer_t<uint32_t>>(_a[5]))); break;
case 1: _t->on_stats_updated((*reinterpret_cast< std::add_pointer_t<int>>(_a[1])),(*reinterpret_cast< std::add_pointer_t<int>>(_a[2]))); break;
case 2: _t->on_save_frame_clicked(); break;
case 3: _t->on_record_toggled((*reinterpret_cast< std::add_pointer_t<bool>>(_a[1]))); break;
case 4: _t->on_settings_clicked(); break;
case 5: _t->on_device_info_received((*reinterpret_cast< std::add_pointer_t<DeviceInfo>>(_a[1]))); break;
case 5: _t->on_trigger_capture_clicked(); break;
case 6: _t->on_device_info_received((*reinterpret_cast< std::add_pointer_t<DeviceInfo>>(_a[1]))); break;
default: ;
}
}
@@ -223,13 +241,13 @@ int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 6)
if (_id < 7)
qt_static_metacall(this, _c, _id, _a);
_id -= 6;
_id -= 7;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 6)
if (_id < 7)
*reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
_id -= 6;
_id -= 7;
}
return _id;
}

View File

@@ -47,7 +47,7 @@ void GroundReceiver::start() {
return;
}
std::cout << " UDP 接收器已启动,监听端口: " << listen_port_ << std::endl;
std::cout << " UDP 接收器已启动,监听端口: " << listen_port_ << std::endl;
}
void GroundReceiver::stop() {
@@ -147,6 +147,7 @@ void GroundReceiver::process_packet(const uint8_t* data, size_t len) {
fb.lon = header->lon;
fb.alt = header->alt;
fb.receive_time_ms = QDateTime::currentMSecsSinceEpoch();
fb.photo_number = header->reserve; // 从reserve字段提取照片编号
it = frame_buffers_.insert({header->frame_id, fb}).first;
}
@@ -343,10 +344,10 @@ void GroundReceiver::handle_complete_frame(const FrameBuffer& frame) {
last_complete_frame_id_ = frame.frame_id;
}
// 发出信号
// 发出信号(包含照片编号)
qDebug() << "" << frame.frame_id << "解码成功,图像大小:" << image.width() << "x" << image.height()
<< "格式:" << image.format() << "准备发出frameDecoded信号";
emit frameDecoded(image, frame.lat, frame.lon, frame.alt);
<< "格式:" << image.format() << "照片编号:" << frame.photo_number << "准备发出frameDecoded信号";
emit frameDecoded(image, frame.lat, frame.lon, frame.alt, frame.photo_number);
qDebug() << "frameDecoded信号已发出";
}

View File

@@ -44,6 +44,7 @@ struct FrameBuffer {
double timestamp;
double lat, lon, alt;
uint64_t receive_time_ms;
uint32_t photo_number = 0; // 照片编号从reserve字段提取
/**
* @brief 检查是否所有分片都已接收
@@ -139,8 +140,9 @@ signals:
* @param lat 纬度
* @param lon 经度
* @param alt 海拔
* @param photo_number 照片编号
*/
void frameDecoded(const QImage& img, double lat, double lon, double alt);
void frameDecoded(const QImage& img, double lat, double lon, double alt, uint32_t photo_number);
/**
* @brief 统计信息更新信号

View File

@@ -23,6 +23,21 @@
#include <QMessageBox>
#include <QDebug>
#include <QPixmap>
#include <QPainter>
#include <QDialog>
#include <QDialogButtonBox>
#include <QFormLayout>
#include <QDoubleSpinBox>
#include <QSpinBox>
#include <QComboBox>
#include <QProcess>
#include <QLineEdit>
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QJsonObject>
#include <QJsonDocument>
#include <QJsonParseError>
#include <iomanip>
#include <sstream>
@@ -60,9 +75,14 @@ MainWindow::MainWindow(QWidget* parent)
// 创建记录器
logger_ = std::make_shared<DataLogger>("./skylink_data");
// 创建网络管理器
network_manager_ = new QNetworkAccessManager(this);
connect(network_manager_, &QNetworkAccessManager::finished,
this, &MainWindow::onHttpReply);
// 连接信号
bool connected1 = connect(receiver_.get(), &GroundReceiver::frameDecoded,
this, &MainWindow::on_frame_received);
bool connected1 = connect(receiver_.get(), qOverload<const QImage&, double, double, double, uint32_t>(&GroundReceiver::frameDecoded),
this, &MainWindow::on_frame_received);
bool connected2 = connect(receiver_.get(), &GroundReceiver::statsUpdated,
this, &MainWindow::on_stats_updated);
@@ -155,12 +175,14 @@ void MainWindow::init_ui() {
save_frame_btn_ = new QPushButton("📸 保存帧", this);
record_btn_ = new QPushButton("⏺ 开始录制", this);
trigger_capture_btn_ = new QPushButton("📷 触发拍照", this);
settings_btn_ = new QPushButton("⚙ 设置", this);
record_btn_->setCheckable(true);
btn_layout->addWidget(save_frame_btn_);
btn_layout->addWidget(record_btn_);
btn_layout->addWidget(trigger_capture_btn_);
btn_layout->addWidget(settings_btn_);
btn_layout->addStretch();
@@ -177,6 +199,9 @@ void MainWindow::init_connections() {
connect(settings_btn_, &QPushButton::clicked,
this, &MainWindow::on_settings_clicked);
connect(trigger_capture_btn_, &QPushButton::clicked,
this, &MainWindow::on_trigger_capture_clicked);
}
void MainWindow::create_menus() {
@@ -199,7 +224,7 @@ void MainWindow::create_menus() {
});
}
void MainWindow::on_frame_received(const QImage& img, double lat, double lon, double alt) {
void MainWindow::on_frame_received(const QImage& img, double lat, double lon, double alt, uint32_t photo_number) {
// 调试信息
static int frame_count = 0;
frame_count++;
@@ -211,12 +236,17 @@ void MainWindow::on_frame_received(const QImage& img, double lat, double lon, do
}
qDebug() << "收到图像,帧" << frame_count << "大小:" << img.width() << "x" << img.height()
<< "格式:" << img.format();
<< "格式:" << img.format() << "照片编号:" << photo_number;
current_image_ = img;
current_lat_ = lat;
current_lon_ = lon;
current_alt_ = alt;
current_photo_number_ = photo_number;
if (photo_number > 0) {
total_photos_received_++;
}
// 显示图像
QPixmap pixmap = QPixmap::fromImage(img);
@@ -240,14 +270,29 @@ void MainWindow::on_frame_received(const QImage& img, double lat, double lon, do
return;
}
// 在图像上叠加显示照片编号
if (photo_number > 0) {
QPainter painter(&scaled_pixmap);
painter.setPen(QPen(Qt::white, 2));
painter.setFont(QFont("Arial", 16, QFont::Bold));
QString photo_text = QString("Photo #%1").arg(photo_number);
QRect textRect = painter.fontMetrics().boundingRect(photo_text);
painter.fillRect(10, 10, textRect.width() + 10, textRect.height() + 5, QColor(0, 0, 0, 180));
painter.drawText(15, 10 + textRect.height(), photo_text);
}
video_label_->setPixmap(scaled_pixmap);
video_label_->setText(""); // 清除文本,显示图片
// 更新状态栏
statusBar()->showMessage(QString("已接收 %1 帧 | 图像: %2x%3")
.arg(frame_count)
.arg(img.width())
.arg(img.height()), 1000);
QString status_text = QString("已接收 %1 帧 | 图像: %2x%3")
.arg(frame_count)
.arg(img.width())
.arg(img.height());
if (photo_number > 0) {
status_text += QString(" | 照片编号: %1").arg(photo_number);
}
statusBar()->showMessage(status_text, 1000);
// 更新 GPS 标签
std::ostringstream oss;
@@ -268,6 +313,9 @@ void MainWindow::on_stats_updated(int fps, int kbs) {
oss << "FPS: " << fps << "\n";
oss << "速率: " << kbs << " KB/s\n";
oss << "丢包率: " << "计算中..." << "%";
if (total_photos_received_ > 0) {
oss << "\n总照片数: " << total_photos_received_;
}
stats_label_->setText(QString::fromStdString(oss.str()));
}
@@ -310,6 +358,169 @@ void MainWindow::on_settings_clicked() {
);
}
void MainWindow::on_trigger_capture_clicked() {
// 创建参数输入对话框
QDialog dialog(this);
dialog.setWindowTitle("触发拍照");
dialog.setModal(true);
QFormLayout* form = new QFormLayout(&dialog);
// 总时间
QDoubleSpinBox* duration_spin = new QDoubleSpinBox(&dialog);
duration_spin->setRange(0.0, 3600.0);
duration_spin->setValue(5.0);
duration_spin->setSuffix("");
duration_spin->setDecimals(1);
form->addRow("总时间 (0=默认):", duration_spin);
// 拍照数量
QSpinBox* count_spin = new QSpinBox(&dialog);
count_spin->setRange(0, 1000);
count_spin->setValue(10);
count_spin->setSuffix("");
form->addRow("拍照数量 (0=默认):", count_spin);
// 时间间隔
QDoubleSpinBox* interval_spin = new QDoubleSpinBox(&dialog);
interval_spin->setRange(0.0, 60.0);
interval_spin->setValue(0.5);
interval_spin->setSuffix("");
interval_spin->setDecimals(2);
form->addRow("时间间隔 (0=自动):", interval_spin);
// 传输模式
QComboBox* mode_combo = new QComboBox(&dialog);
mode_combo->addItem("原图", 0);
mode_combo->addItem("缩略图", 1);
form->addRow("传输模式:", mode_combo);
// ROS2节点IP地址
QLineEdit* ip_edit = new QLineEdit(&dialog);
ip_edit->setText(ros2_node_ip_);
form->addRow("ROS2节点IP地址:", ip_edit);
// HTTP端口
QSpinBox* port_spin = new QSpinBox(&dialog);
port_spin->setRange(1, 65535);
port_spin->setValue(ros2_http_port_);
form->addRow("HTTP端口:", port_spin);
QDialogButtonBox* buttonBox = new QDialogButtonBox(
QDialogButtonBox::Ok | QDialogButtonBox::Cancel,
Qt::Horizontal, &dialog);
form->addRow(buttonBox);
connect(buttonBox, &QDialogButtonBox::accepted, &dialog, &QDialog::accept);
connect(buttonBox, &QDialogButtonBox::rejected, &dialog, &QDialog::reject);
if (dialog.exec() == QDialog::Accepted) {
double duration = duration_spin->value();
int count = count_spin->value();
double interval = interval_spin->value();
int mode = mode_combo->currentData().toInt();
// 保存IP和端口配置
ros2_node_ip_ = ip_edit->text();
ros2_http_port_ = port_spin->value();
// 通过HTTP调用
triggerCaptureViaHttp(duration, count, interval, mode);
}
}
void MainWindow::triggerCaptureViaHttp(double duration, int count, double interval, int mode) {
// 构建JSON请求
QJsonObject json;
json["duration"] = duration;
json["count"] = count;
json["interval"] = interval;
json["transmission_mode"] = mode;
QJsonDocument doc(json);
QByteArray json_data = doc.toJson();
// 构建URL
QString url_str = QString("http://%1:%2/api/v1/trigger_capture")
.arg(ros2_node_ip_)
.arg(ros2_http_port_);
QUrl url(url_str);
// 创建请求
QNetworkRequest request(url);
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
request.setRawHeader("User-Agent", "SkyLink-Qt-Station/1.0");
// 发送POST请求
QNetworkReply* reply = network_manager_->post(request, json_data);
// 设置超时5秒
QTimer::singleShot(5000, reply, &QNetworkReply::abort);
statusBar()->showMessage(QString("正在发送拍照请求到 %1:%2...").arg(ros2_node_ip_).arg(ros2_http_port_), 2000);
}
void MainWindow::onHttpReply(QNetworkReply* reply) {
if (!reply) {
return;
}
// 检查错误
if (reply->error() != QNetworkReply::NoError) {
QString error_msg;
if (reply->error() == QNetworkReply::TimeoutError) {
error_msg = "请求超时请检查网络连接和ROS2节点IP地址";
} else if (reply->error() == QNetworkReply::ConnectionRefusedError) {
error_msg = QString("连接被拒绝请确认ROS2节点HTTP服务器正在运行 (http://%1:%2)")
.arg(ros2_node_ip_).arg(ros2_http_port_);
} else {
error_msg = QString("网络错误: %1").arg(reply->errorString());
}
QMessageBox::warning(this, "HTTP请求失败", error_msg);
statusBar()->showMessage("HTTP请求失败", 3000);
reply->deleteLater();
return;
}
// 读取响应
QByteArray response_data = reply->readAll();
int status_code = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
// 解析JSON响应
QJsonParseError parse_error;
QJsonDocument doc = QJsonDocument::fromJson(response_data, &parse_error);
if (parse_error.error != QJsonParseError::NoError) {
QMessageBox::warning(this, "响应解析错误",
QString("无法解析服务器响应:\n%1").arg(QString::fromUtf8(response_data)));
statusBar()->showMessage("响应解析失败", 3000);
reply->deleteLater();
return;
}
QJsonObject json = doc.object();
bool success = json["success"].toBool();
QString message = json["message"].toString();
int total_photos = json["total_photos"].toInt();
if (status_code == 200 && success) {
QMessageBox::information(this, "成功",
QString("拍照任务已启动!\n\n%1\n\n总照片数: %2")
.arg(message)
.arg(total_photos));
statusBar()->showMessage(QString("拍照任务已启动 - %1").arg(message), 3000);
} else {
QMessageBox::warning(this, "请求失败",
QString("服务器返回错误:\n%1\n\n状态码: %2")
.arg(message)
.arg(status_code));
statusBar()->showMessage(QString("请求失败: %1").arg(message), 3000);
}
reply->deleteLater();
}
void MainWindow::on_device_info_received(const DeviceInfo& info) {
QString text = QString("分辨率: %1 x %2\n帧率: %3\n格式: %4\n设备: %5 (%6)\n当前FPS: %7\n总帧: %8")
.arg(info.width)

View File

@@ -17,6 +17,8 @@
#include <QUdpSocket>
#include <QTimer>
#include <QImage>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include "DeviceInfo.h"
#include "DeviceInfoReceiver.h"
#include <memory>
@@ -47,7 +49,7 @@ private slots:
/**
* @brief 处理接收到的完整帧
*/
void on_frame_received(const QImage& img, double lat, double lon, double alt);
void on_frame_received(const QImage& img, double lat, double lon, double alt, uint32_t photo_number);
/**
* @brief 处理统计信息更新
@@ -68,6 +70,11 @@ private slots:
* @brief 设置按钮点击
*/
void on_settings_clicked();
/**
* @brief 触发拍照按钮点击
*/
void on_trigger_capture_clicked();
/**
* @brief 收到设备信息
@@ -87,6 +94,7 @@ private:
QPushButton* save_frame_btn_; ///< 保存帧按钮
QPushButton* record_btn_; ///< 录制按钮
QPushButton* settings_btn_; ///< 设置按钮
QPushButton* trigger_capture_btn_; ///< 触发拍照按钮
// ========================================================================
// 业务逻辑对象
@@ -95,6 +103,7 @@ private:
std::shared_ptr<GroundReceiver> receiver_; ///< UDP 接收器
std::shared_ptr<DeviceInfoReceiver> device_info_receiver_; ///< 设备信息接收器
std::shared_ptr<DataLogger> logger_; ///< 数据记录器
QNetworkAccessManager* network_manager_; ///< HTTP 网络管理器
// ========================================================================
// 状态变量
@@ -105,6 +114,10 @@ private:
double current_lon_ = 0.0; ///< 当前经度
double current_alt_ = 0.0; ///< 当前海拔
bool is_recording_ = false; ///< 是否正在录制
uint32_t total_photos_received_ = 0; ///< 接收到的总照片数
uint32_t current_photo_number_ = 0; ///< 当前照片编号
QString ros2_node_ip_ = "localhost"; ///< ROS2 节点 IP 地址
int ros2_http_port_ = 8080; ///< ROS2 HTTP API 端口
// ========================================================================
// 初始化函数
@@ -124,4 +137,19 @@ private:
* @brief 创建菜单栏
*/
void create_menus();
/**
* @brief 通过 HTTP 触发拍照
* @param duration 总时间(秒)
* @param count 拍照数量
* @param interval 时间间隔(秒)
* @param mode 传输模式0=原图1=缩略图)
*/
void triggerCaptureViaHttp(double duration, int count, double interval, int mode);
/**
* @brief HTTP 请求响应处理
* @param reply 网络响应
*/
void onHttpReply(QNetworkReply* reply);
};