拍照version
This commit is contained in:
Binary file not shown.
@@ -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
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Binary file not shown.
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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信号已发出";
|
||||
}
|
||||
|
||||
|
||||
@@ -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 统计信息更新信号
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user