From 480c5465062aee23e81042b6ed7d2dc66b5a56ed Mon Sep 17 00:00:00 2001 From: cxf <2417125293@qq.com> Date: Wed, 4 Mar 2026 11:20:07 +0800 Subject: [PATCH] =?UTF-8?q?rtsp=E5=88=87=E6=8D=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../arm64-v8a/configure_fingerprint.bin | 24 +- .../armeabi-v7a/configure_fingerprint.bin | 24 +- .../p1g6s634/x86/configure_fingerprint.bin | 24 +- .../p1g6s634/x86_64/configure_fingerprint.bin | 24 +- .../p1g6s634/logs/arm64-v8a/build_model.json | 6 +- .../generate_cxx_metadata_1195_timing.txt | 3 + .../generate_cxx_metadata_220_timing.txt | 7 + .../generate_cxx_metadata_226_timing.txt | 14 + .../generate_cxx_metadata_420_timing.txt | 3 + .../arm64-v8a/metadata_generation_record.json | 6 +- .../generate_cxx_metadata_221_timing.txt | 6 + .../metadata_generation_record.json | 6 +- .../x86/generate_cxx_metadata_1621_timing.txt | 3 + .../x86/generate_cxx_metadata_219_timing.txt | 6 + .../x86/generate_cxx_metadata_32_timing.txt | 32 ++ .../logs/x86/metadata_generation_record.json | 6 +- .../generate_cxx_metadata_226_timing.txt | 6 + .../x86_64/metadata_generation_record.json | 6 +- .../cxx/abi_configuration_4s4k1647.log | 2 +- .../cxx/create_cxx_tasks_1032_timing.txt | 5 + .../cxx/create_cxx_tasks_303_timing.txt | 14 + .../cxx/create_cxx_tasks_32_timing.txt | 307 +++++++++++ .../cxx/create_cxx_tasks_442_timing.txt | 10 + .../cxx/create_cxx_tasks_776_timing.txt | 5 + .../cxx/ndk_locator_record_463t1h4l.log | 28 +- .../aros/apron/activity/ConnectionActivity.kt | 4 +- .../com/aros/apron/activity/MainActivity.kt | 387 ++++++------- .../java/com/aros/apron/base/BaseManager.java | 37 ++ .../com/aros/apron/callback/MqttCallBack.java | 513 +++++++++--------- .../com/aros/apron/constant/AMSConfig.java | 16 + .../com/aros/apron/constant/Constant.java | 10 +- .../com/aros/apron/manager/FlightManager.java | 1 + .../aros/apron/manager/FlyToPointManager.java | 2 + .../aros/apron/manager/MissionV3Manager.java | 18 +- .../apron/manager/PayloadWidgetManager.java | 87 +-- .../aros/apron/manager/PerceptionManager.java | 6 +- .../com/aros/apron/manager/StreamManager.java | 355 +++++++++++- .../apron/manager/TakeOffToPointManager.java | 2 - 38 files changed, 1378 insertions(+), 637 deletions(-) diff --git a/Opencv/.cxx/Debug/p1g6s634/arm64-v8a/configure_fingerprint.bin b/Opencv/.cxx/Debug/p1g6s634/arm64-v8a/configure_fingerprint.bin index 5f7721d1..386866a1 100644 --- a/Opencv/.cxx/Debug/p1g6s634/arm64-v8a/configure_fingerprint.bin +++ b/Opencv/.cxx/Debug/p1g6s634/arm64-v8a/configure_fingerprint.bin @@ -2,28 +2,28 @@ C/C++ Structured Logx v tC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\additional_project_files.txtC A -?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ϻ3  3u +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ƶ3  3u s -qC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\android_gradle_build.json  ϻ3 +qC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\android_gradle_build.json  ƶ3 3z x -vC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\android_gradle_build_mini.json  л3 3g +vC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\android_gradle_build_mini.json  ƶ3 3g e -cC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\build.ninja  л3 3k +cC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\build.ninja  ƶ3 3k i -gC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\build.ninja.txt  л3p +gC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\build.ninja.txt  ƶ3p n -lC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\build_file_index.txt  л3 V 3q +lC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\build_file_index.txt  ƶ3 V 3q o -mC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\compile_commands.json  л3 3u +mC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\compile_commands.json  ƶ3 3u s -qC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\compile_commands.json.bin  л3  3{ +qC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\compile_commands.json.bin  ƶ3  3{ y -wC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\metadata_generation_command.txt  л3 +wC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\metadata_generation_command.txt  ƶ3  3n l -jC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\prefab_config.json  л3  ( 3s +jC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\prefab_config.json  ƶ3  ( 3s q -oC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\symbol_folder_index.txt  л3  n 3Z +oC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\symbol_folder_index.txt  ƶ3  n 3Z X -VC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\libcxx_helper\CMakeLists.txt  л3  ֝3 \ No newline at end of file +VC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\libcxx_helper\CMakeLists.txt  ƶ3  ֝3 \ No newline at end of file diff --git a/Opencv/.cxx/Debug/p1g6s634/armeabi-v7a/configure_fingerprint.bin b/Opencv/.cxx/Debug/p1g6s634/armeabi-v7a/configure_fingerprint.bin index 072bc4b1..fac0a6b4 100644 --- a/Opencv/.cxx/Debug/p1g6s634/armeabi-v7a/configure_fingerprint.bin +++ b/Opencv/.cxx/Debug/p1g6s634/armeabi-v7a/configure_fingerprint.bin @@ -2,28 +2,28 @@ C/C++ Structured Logz x vC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\additional_project_files.txtC A -?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  Ђ3  ש3w +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ƶ3  ש3w u -sC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\android_gradle_build.json  Ђ3 +sC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\android_gradle_build.json  ƶ3 ש3| z -xC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\android_gradle_build_mini.json  Ђ3 ש3i +xC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\android_gradle_build_mini.json  ƶ3 ש3i g -eC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\build.ninja  Ђ3 ֩3m +eC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\build.ninja  ƶ3 ֩3m k -iC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\build.ninja.txt  Ђ3r +iC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\build.ninja.txt  ƶ3r p -nC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\build_file_index.txt  Ђ3 V ש3s +nC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\build_file_index.txt  ƶ3 V ש3s q -oC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\compile_commands.json  Ђ3 ֩3w +oC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\compile_commands.json  ƶ3 ֩3w u -sC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\compile_commands.json.bin  Ђ3  ֩3} +sC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\compile_commands.json.bin  ƶ3  ֩3} { -yC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\metadata_generation_command.txt  Ђ3 +yC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\metadata_generation_command.txt  ƶ3  ש3p n -lC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\prefab_config.json  Ђ3  ( ש3u +lC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\prefab_config.json  ƶ3  ( ש3u s -qC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\symbol_folder_index.txt  Ђ3  p ש3Z +qC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\symbol_folder_index.txt  ƶ3  p ש3Z X -VC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\libcxx_helper\CMakeLists.txt  Ђ3  ֝3 \ No newline at end of file +VC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\libcxx_helper\CMakeLists.txt  ƶ3  ֝3 \ No newline at end of file diff --git a/Opencv/.cxx/Debug/p1g6s634/x86/configure_fingerprint.bin b/Opencv/.cxx/Debug/p1g6s634/x86/configure_fingerprint.bin index 8827ff81..adb8f059 100644 --- a/Opencv/.cxx/Debug/p1g6s634/x86/configure_fingerprint.bin +++ b/Opencv/.cxx/Debug/p1g6s634/x86/configure_fingerprint.bin @@ -2,28 +2,28 @@ C/C++ Structured Logr p nC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\additional_project_files.txtC A -?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ҂3  ʛ3o +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ƶ3  ʛ3o m -kC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\android_gradle_build.json  ҂3 +kC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\android_gradle_build.json  ƶ3 ʛ3t r -pC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\android_gradle_build_mini.json  ҂3 ʛ3a +pC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\android_gradle_build_mini.json  ƶ3 ʛ3a _ -]C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\build.ninja  ҂3 ʛ3e +]C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\build.ninja  ƶ3 ʛ3e c -aC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\build.ninja.txt  ҂3j +aC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\build.ninja.txt  ƶ3j h -fC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\build_file_index.txt  ҂3 V ʛ3k +fC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\build_file_index.txt  ƶ3 V ʛ3k i -gC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\compile_commands.json  ҂3 ʛ3o +gC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\compile_commands.json  ƶ3 ʛ3o m -kC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\compile_commands.json.bin  ҂3  ʛ3u +kC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\compile_commands.json.bin  ƶ3  ʛ3u s -qC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\metadata_generation_command.txt  ҂3 +qC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\metadata_generation_command.txt  ƶ3  ʛ3h f -dC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\prefab_config.json  ҂3  ( ʛ3m +dC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\prefab_config.json  ƶ3  ( ʛ3m k -iC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\symbol_folder_index.txt  ҂3  h ʛ3Z +iC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\symbol_folder_index.txt  ƶ3  h ʛ3Z X -VC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\libcxx_helper\CMakeLists.txt  ҂3  ֝3 \ No newline at end of file +VC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\libcxx_helper\CMakeLists.txt  ƶ3  ֝3 \ No newline at end of file diff --git a/Opencv/.cxx/Debug/p1g6s634/x86_64/configure_fingerprint.bin b/Opencv/.cxx/Debug/p1g6s634/x86_64/configure_fingerprint.bin index 7a4563b5..6526e76c 100644 --- a/Opencv/.cxx/Debug/p1g6s634/x86_64/configure_fingerprint.bin +++ b/Opencv/.cxx/Debug/p1g6s634/x86_64/configure_fingerprint.bin @@ -2,28 +2,28 @@ C/C++ Structured Logu s qC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\additional_project_files.txtC A -?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ӂ3  婜3r +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ƶ3  婜3r p -nC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\android_gradle_build.json  ӂ3 +nC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\android_gradle_build.json  ƶ3 婜3w u -sC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\android_gradle_build_mini.json  ӂ3 婜3d +sC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\android_gradle_build_mini.json  ƶ3 婜3d b -`C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\build.ninja  ӂ3 䩜3h +`C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\build.ninja  ƶ3 䩜3h f -dC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\build.ninja.txt  ӂ3m +dC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\build.ninja.txt  ƶ3m k -iC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\build_file_index.txt  ӂ3 V 婜3n +iC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\build_file_index.txt  ƶ3 V 婜3n l -jC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\compile_commands.json  ӂ3 䩜3r +jC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\compile_commands.json  ƶ3 䩜3r p -nC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\compile_commands.json.bin  ӂ3  䩜3x +nC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\compile_commands.json.bin  ƶ3  䩜3x v -tC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\metadata_generation_command.txt  ӂ3 +tC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\metadata_generation_command.txt  ƶ3  婜3k i -gC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\prefab_config.json  ӂ3  ( 婜3p +gC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\prefab_config.json  ƶ3  ( 婜3p n -lC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\symbol_folder_index.txt  ӂ3  k 婜3Z +lC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\symbol_folder_index.txt  ƶ3  k 婜3Z X -VC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\libcxx_helper\CMakeLists.txt  ӂ3  ֝3 \ No newline at end of file +VC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\libcxx_helper\CMakeLists.txt  ƶ3  ֝3 \ No newline at end of file diff --git a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/build_model.json b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/build_model.json index bf8de94d..5c5feac2 100644 --- a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/build_model.json +++ b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/build_model.json @@ -25,7 +25,10 @@ "variantName": "debug", "isDebuggableEnabled": true, "validAbiList": [ - "ARM64_V8A" + "ARMEABI_V7A", + "ARM64_V8A", + "X86", + "X86_64" ], "buildTargetSet": [ "opencv_jni_shared" @@ -132,7 +135,6 @@ "rootBuildGradleFolder": "C:\\Users\\24171\\OneDrive\\Desktop\\msdk\\400apiqwq\\ams", "sdkFolder": "D:\\androidstudio\\sdk", "isBuildOnlyTargetAbiEnabled": true, - "ideBuildTargetAbi": "arm64-v8a,armeabi-v7a,armeabi", "isCmakeBuildCohabitationEnabled": false, "isPrefabEnabled": false }, diff --git a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/generate_cxx_metadata_1195_timing.txt b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/generate_cxx_metadata_1195_timing.txt index 6786d949..d9607cf2 100644 --- a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/generate_cxx_metadata_1195_timing.txt +++ b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/generate_cxx_metadata_1195_timing.txt @@ -4,3 +4,6 @@ generate_cxx_metadata [gap of 15ms] generate_cxx_metadata completed in 29ms +# C/C++ build system timings +generate_cxx_metadata 14ms + diff --git a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/generate_cxx_metadata_220_timing.txt b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/generate_cxx_metadata_220_timing.txt index dc08d549..4ecf4c2c 100644 --- a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/generate_cxx_metadata_220_timing.txt +++ b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/generate_cxx_metadata_220_timing.txt @@ -19,3 +19,10 @@ generate_cxx_metadata [gap of 37ms] generate_cxx_metadata completed in 118ms +# C/C++ build system timings +generate_cxx_metadata + [gap of 19ms] + create-invalidation-state 47ms + [gap of 36ms] +generate_cxx_metadata completed in 102ms + diff --git a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/generate_cxx_metadata_226_timing.txt b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/generate_cxx_metadata_226_timing.txt index d2d8097c..b66f90e4 100644 --- a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/generate_cxx_metadata_226_timing.txt +++ b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/generate_cxx_metadata_226_timing.txt @@ -12,3 +12,17 @@ generate_cxx_metadata [gap of 27ms] generate_cxx_metadata completed in 89ms +# C/C++ build system timings +generate_cxx_metadata + [gap of 17ms] + create-invalidation-state 43ms + [gap of 26ms] +generate_cxx_metadata completed in 86ms + +# C/C++ build system timings +generate_cxx_metadata + [gap of 13ms] + create-invalidation-state 42ms + [gap of 27ms] +generate_cxx_metadata completed in 82ms + diff --git a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/generate_cxx_metadata_420_timing.txt b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/generate_cxx_metadata_420_timing.txt index 56bdd3e5..f007905e 100644 --- a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/generate_cxx_metadata_420_timing.txt +++ b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/generate_cxx_metadata_420_timing.txt @@ -11,3 +11,6 @@ generate_cxx_metadata [gap of 33ms] generate_cxx_metadata completed in 112ms +# C/C++ build system timings +generate_cxx_metadata 19ms + diff --git a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/metadata_generation_record.json b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/metadata_generation_record.json index e2352f16..406a7f61 100644 --- a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/metadata_generation_record.json +++ b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/metadata_generation_record.json @@ -11,7 +11,7 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": 1164482061 + "memoizedHashCode": 967786548 }, { "level_": 0, @@ -25,7 +25,7 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": 596000089 + "memoizedHashCode": 399304576 }, { "level_": 0, @@ -39,6 +39,6 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": -788628757 + "memoizedHashCode": -985324270 } ] \ No newline at end of file diff --git a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/armeabi-v7a/generate_cxx_metadata_221_timing.txt b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/armeabi-v7a/generate_cxx_metadata_221_timing.txt index 53c136b4..11ba681f 100644 --- a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/armeabi-v7a/generate_cxx_metadata_221_timing.txt +++ b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/armeabi-v7a/generate_cxx_metadata_221_timing.txt @@ -4,3 +4,9 @@ generate_cxx_metadata [gap of 14ms] generate_cxx_metadata completed in 29ms +# C/C++ build system timings +generate_cxx_metadata + create-invalidation-state 13ms + [gap of 13ms] +generate_cxx_metadata completed in 28ms + diff --git a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/armeabi-v7a/metadata_generation_record.json b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/armeabi-v7a/metadata_generation_record.json index 2d51e092..cec9f007 100644 --- a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/armeabi-v7a/metadata_generation_record.json +++ b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/armeabi-v7a/metadata_generation_record.json @@ -11,7 +11,7 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": 1226785352 + "memoizedHashCode": -1485904816 }, { "level_": 0, @@ -25,7 +25,7 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": -100804716 + "memoizedHashCode": 1481472412 }, { "level_": 0, @@ -39,6 +39,6 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": -1454981464 + "memoizedHashCode": 127295664 } ] \ No newline at end of file diff --git a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/generate_cxx_metadata_1621_timing.txt b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/generate_cxx_metadata_1621_timing.txt index edd333d6..cd5ace1f 100644 --- a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/generate_cxx_metadata_1621_timing.txt +++ b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/generate_cxx_metadata_1621_timing.txt @@ -1,3 +1,6 @@ # C/C++ build system timings generate_cxx_metadata 16ms +# C/C++ build system timings +generate_cxx_metadata 18ms + diff --git a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/generate_cxx_metadata_219_timing.txt b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/generate_cxx_metadata_219_timing.txt index e7c91575..6fc42dc6 100644 --- a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/generate_cxx_metadata_219_timing.txt +++ b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/generate_cxx_metadata_219_timing.txt @@ -1,3 +1,9 @@ # C/C++ build system timings generate_cxx_metadata 24ms +# C/C++ build system timings +generate_cxx_metadata 17ms + +# C/C++ build system timings +generate_cxx_metadata 13ms + diff --git a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/generate_cxx_metadata_32_timing.txt b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/generate_cxx_metadata_32_timing.txt index fc82673e..a0ad098a 100644 --- a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/generate_cxx_metadata_32_timing.txt +++ b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/generate_cxx_metadata_32_timing.txt @@ -14,3 +14,35 @@ generate_cxx_metadata write-metadata-json-to-file 13ms generate_cxx_metadata completed in 146ms +# C/C++ build system timings +generate_cxx_metadata + [gap of 35ms] + create-invalidation-state 86ms + [gap of 44ms] + write-metadata-json-to-file 13ms +generate_cxx_metadata completed in 178ms + +# C/C++ build system timings +generate_cxx_metadata + [gap of 29ms] + create-invalidation-state 81ms + [gap of 37ms] + write-metadata-json-to-file 17ms +generate_cxx_metadata completed in 165ms + +# C/C++ build system timings +generate_cxx_metadata + [gap of 72ms] + create-invalidation-state 116ms + [gap of 53ms] + write-metadata-json-to-file 16ms +generate_cxx_metadata completed in 260ms + +# C/C++ build system timings +generate_cxx_metadata + [gap of 35ms] + create-invalidation-state 122ms + [gap of 45ms] + write-metadata-json-to-file 17ms +generate_cxx_metadata completed in 221ms + diff --git a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/metadata_generation_record.json b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/metadata_generation_record.json index 19e48979..1b16e4b9 100644 --- a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/metadata_generation_record.json +++ b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/metadata_generation_record.json @@ -11,7 +11,7 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": 120348848 + "memoizedHashCode": 1702625976 }, { "level_": 0, @@ -25,7 +25,7 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": -349159684 + "memoizedHashCode": 1233117444 }, { "level_": 0, @@ -39,6 +39,6 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": -1759975876 + "memoizedHashCode": -177698748 } ] \ No newline at end of file diff --git a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86_64/generate_cxx_metadata_226_timing.txt b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86_64/generate_cxx_metadata_226_timing.txt index b0d0561b..4f4a399e 100644 --- a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86_64/generate_cxx_metadata_226_timing.txt +++ b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86_64/generate_cxx_metadata_226_timing.txt @@ -7,3 +7,9 @@ generate_cxx_metadata [gap of 14ms] generate_cxx_metadata completed in 28ms +# C/C++ build system timings +generate_cxx_metadata 15ms + +# C/C++ build system timings +generate_cxx_metadata 14ms + diff --git a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86_64/metadata_generation_record.json b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86_64/metadata_generation_record.json index 85374c2c..bbe01ee0 100644 --- a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86_64/metadata_generation_record.json +++ b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86_64/metadata_generation_record.json @@ -11,7 +11,7 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": -1438516690 + "memoizedHashCode": 143760438 }, { "level_": 0, @@ -25,7 +25,7 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": 958909078 + "memoizedHashCode": -1753781090 }, { "level_": 0, @@ -39,6 +39,6 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": -611600693 + "memoizedHashCode": 970676435 } ] \ No newline at end of file diff --git a/Opencv/build/intermediates/cxx/abi_configuration_4s4k1647.log b/Opencv/build/intermediates/cxx/abi_configuration_4s4k1647.log index a65f99c1..b3a8e383 100644 --- a/Opencv/build/intermediates/cxx/abi_configuration_4s4k1647.log +++ b/Opencv/build/intermediates/cxx/abi_configuration_4s4k1647.log @@ -11,6 +11,6 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": -735102328 + "memoizedHashCode": -931797841 } ] \ No newline at end of file diff --git a/Opencv/build/intermediates/cxx/create_cxx_tasks_1032_timing.txt b/Opencv/build/intermediates/cxx/create_cxx_tasks_1032_timing.txt index 45356e75..3371a8f9 100644 --- a/Opencv/build/intermediates/cxx/create_cxx_tasks_1032_timing.txt +++ b/Opencv/build/intermediates/cxx/create_cxx_tasks_1032_timing.txt @@ -13,3 +13,8 @@ create_cxx_tasks [gap of 14ms] create_cxx_tasks completed in 148ms +# C/C++ build system timings +create_cxx_tasks + create-initial-cxx-model 44ms +create_cxx_tasks completed in 48ms + diff --git a/Opencv/build/intermediates/cxx/create_cxx_tasks_303_timing.txt b/Opencv/build/intermediates/cxx/create_cxx_tasks_303_timing.txt index a86ea5b7..ed112261 100644 --- a/Opencv/build/intermediates/cxx/create_cxx_tasks_303_timing.txt +++ b/Opencv/build/intermediates/cxx/create_cxx_tasks_303_timing.txt @@ -27,3 +27,17 @@ create_cxx_tasks [gap of 12ms] create_cxx_tasks completed in 126ms +# C/C++ build system timings +create_cxx_tasks + create-initial-cxx-model + create-module-model 12ms + create-ARMEABI_V7A-model 10ms + [gap of 26ms] + create-module-model 14ms + [gap of 16ms] + create-ARM64_V8A-model 12ms + [gap of 17ms] + create-initial-cxx-model completed in 116ms + [gap of 16ms] +create_cxx_tasks completed in 132ms + diff --git a/Opencv/build/intermediates/cxx/create_cxx_tasks_32_timing.txt b/Opencv/build/intermediates/cxx/create_cxx_tasks_32_timing.txt index 5d4b5854..086c04ac 100644 --- a/Opencv/build/intermediates/cxx/create_cxx_tasks_32_timing.txt +++ b/Opencv/build/intermediates/cxx/create_cxx_tasks_32_timing.txt @@ -1050,3 +1050,310 @@ create_cxx_tasks [gap of 60ms] create_cxx_tasks completed in 196ms +# C/C++ build system timings +create_cxx_tasks + create-initial-cxx-model + create-module-model 14ms + [gap of 16ms] + create-ARMEABI_V7A-model 10ms + create-X86-model 10ms + create-X86_64-model 10ms + create-module-model 17ms + create-ARMEABI_V7A-model 10ms + create-X86-model 10ms + create-X86_64-model 15ms + create-initial-cxx-model completed in 140ms + [gap of 60ms] +create_cxx_tasks completed in 200ms + +# C/C++ build system timings +create_cxx_tasks + create-initial-cxx-model + create-module-model 18ms + [gap of 10ms] + create-ARMEABI_V7A-model 13ms + create-ARM64_V8A-model 11ms + [gap of 11ms] + create-X86_64-model 10ms + create-module-model 14ms + [gap of 17ms] + create-ARM64_V8A-model 10ms + create-X86-model 11ms + create-X86_64-model 10ms + create-initial-cxx-model completed in 142ms + [gap of 15ms] +create_cxx_tasks completed in 157ms + +# C/C++ build system timings +create_cxx_tasks + create-initial-cxx-model + create-module-model 12ms + [gap of 41ms] + create-module-model 10ms + [gap of 38ms] + create-initial-cxx-model completed in 101ms + [gap of 41ms] +create_cxx_tasks completed in 142ms + +# C/C++ build system timings +create_cxx_tasks + create-initial-cxx-model + create-module-model 13ms + [gap of 49ms] + create-module-model 13ms + create-variant-model 10ms + [gap of 10ms] + create-ARM64_V8A-model 10ms + create-X86-model 11ms + create-X86_64-model 12ms + create-initial-cxx-model completed in 131ms + [gap of 49ms] +create_cxx_tasks completed in 180ms + +# C/C++ build system timings +create_cxx_tasks + create-initial-cxx-model + create-module-model 14ms + create-variant-model 10ms + [gap of 24ms] + create-X86_64-model 10ms + create-module-model 14ms + [gap of 42ms] + create-initial-cxx-model completed in 117ms +create_cxx_tasks completed in 126ms + +# C/C++ build system timings +create_cxx_tasks + create-initial-cxx-model + create-module-model 17ms + [gap of 16ms] + create-ARMEABI_V7A-model 12ms + create-ARM64_V8A-model 11ms + create-X86-model 14ms + create-X86_64-model 11ms + create-module-model 13ms + create-variant-model 10ms + create-ARMEABI_V7A-model 10ms + [gap of 10ms] + create-X86-model 13ms + create-X86_64-model 10ms + create-initial-cxx-model completed in 154ms + [gap of 76ms] +create_cxx_tasks completed in 231ms + +# C/C++ build system timings +create_cxx_tasks + create-initial-cxx-model + create-module-model 23ms + [gap of 10ms] + create-ARMEABI_V7A-model 12ms + create-ARM64_V8A-model 12ms + create-X86_64-model 10ms + create-module-model 17ms + create-ARMEABI_V7A-model 10ms + create-ARM64_V8A-model 11ms + create-X86_64-model 11ms + create-initial-cxx-model completed in 146ms + [gap of 10ms] +create_cxx_tasks completed in 156ms + +# C/C++ build system timings +create_cxx_tasks + create-initial-cxx-model + create-module-model 24ms + [gap of 11ms] + create-variant-model 25ms + create-ARMEABI_V7A-model 14ms + create-ARM64_V8A-model 13ms + create-X86-model 27ms + create-X86_64-model 13ms + create-module-model 19ms + create-variant-model 45ms + create-ARMEABI_V7A-model 18ms + create-ARM64_V8A-model 17ms + create-X86-model 35ms + create-X86_64-model 53ms + create-initial-cxx-model completed in 340ms + [gap of 91ms] +create_cxx_tasks completed in 433ms + +# C/C++ build system timings +create_cxx_tasks + create-initial-cxx-model + create-module-model 16ms + [gap of 12ms] + create-ARMEABI_V7A-model 10ms + [gap of 19ms] + create-X86_64-model 11ms + create-module-model 10ms + [gap of 34ms] + create-initial-cxx-model completed in 114ms + [gap of 37ms] +create_cxx_tasks completed in 152ms + +# C/C++ build system timings +create_cxx_tasks + create-initial-cxx-model 70ms + [gap of 33ms] +create_cxx_tasks completed in 103ms + +# C/C++ build system timings +create_cxx_tasks + create-initial-cxx-model + create-module-model 10ms + [gap of 42ms] + create-module-model 10ms + [gap of 34ms] + create-initial-cxx-model completed in 96ms + [gap of 10ms] +create_cxx_tasks completed in 106ms + +# C/C++ build system timings +create_cxx_tasks + create-initial-cxx-model + create-module-model 22ms + create-variant-model 16ms + create-ARMEABI_V7A-model 13ms + create-ARM64_V8A-model 32ms + create-X86-model 10ms + create-X86_64-model 11ms + create-module-model 18ms + create-variant-model 36ms + create-ARMEABI_V7A-model 20ms + create-ARM64_V8A-model 20ms + create-X86-model 30ms + create-X86_64-model 13ms + create-initial-cxx-model completed in 264ms + [gap of 66ms] +create_cxx_tasks completed in 332ms + +# C/C++ build system timings +create_cxx_tasks + create-initial-cxx-model + create-module-model + [gap of 32ms] + create-cmake-model 10ms + [gap of 29ms] + create-module-model completed in 71ms + create-variant-model 49ms + create-ARMEABI_V7A-model 40ms + create-ARM64_V8A-model 40ms + create-X86-model 13ms + create-X86_64-model 12ms + create-module-model 18ms + create-variant-model 17ms + create-ARMEABI_V7A-model 35ms + create-ARM64_V8A-model 32ms + create-X86-model 45ms + create-X86_64-model 54ms + create-initial-cxx-model completed in 449ms + [gap of 129ms] +create_cxx_tasks completed in 579ms + +# C/C++ build system timings +create_cxx_tasks + create-initial-cxx-model + create-module-model 17ms + [gap of 14ms] + create-ARMEABI_V7A-model 12ms + [gap of 21ms] + create-X86_64-model 12ms + create-module-model 13ms + create-ARMEABI_V7A-model 12ms + [gap of 16ms] + create-X86_64-model 11ms + create-initial-cxx-model completed in 138ms + [gap of 96ms] +create_cxx_tasks completed in 236ms + +# C/C++ build system timings +create_cxx_tasks + create-initial-cxx-model + create-module-model 11ms + [gap of 10ms] + create-ARMEABI_V7A-model 10ms + create-ARM64_V8A-model 10ms + [gap of 14ms] + create-module-model 16ms + [gap of 25ms] + create-X86-model 11ms + create-initial-cxx-model completed in 116ms +create_cxx_tasks completed in 124ms + +# C/C++ build system timings +create_cxx_tasks + create-initial-cxx-model + [gap of 43ms] + create-module-model 11ms + [gap of 42ms] + create-initial-cxx-model completed in 96ms + [gap of 35ms] +create_cxx_tasks completed in 131ms + +# C/C++ build system timings +create_cxx_tasks + create-initial-cxx-model + create-module-model 17ms + create-variant-model 12ms + create-ARMEABI_V7A-model 11ms + create-ARM64_V8A-model 12ms + create-X86-model 21ms + create-X86_64-model 10ms + create-module-model 24ms + [gap of 11ms] + create-ARMEABI_V7A-model 12ms + create-ARM64_V8A-model 14ms + create-X86-model 15ms + create-initial-cxx-model completed in 183ms + [gap of 11ms] +create_cxx_tasks completed in 194ms + +# C/C++ build system timings +create_cxx_tasks + create-initial-cxx-model + create-module-model 14ms + create-variant-model 10ms + create-ARMEABI_V7A-model 10ms + [gap of 26ms] + create-module-model 17ms + [gap of 18ms] + create-ARM64_V8A-model 10ms + create-X86-model 11ms + create-X86_64-model 12ms + create-initial-cxx-model completed in 137ms + [gap of 121ms] +create_cxx_tasks completed in 258ms + +# C/C++ build system timings +create_cxx_tasks + create-initial-cxx-model + create-module-model 16ms + create-variant-model 10ms + create-ARMEABI_V7A-model 10ms + create-ARM64_V8A-model 10ms + create-X86-model 11ms + create-X86_64-model 11ms + create-module-model 18ms + create-variant-model 10ms + create-ARMEABI_V7A-model 14ms + [gap of 10ms] + create-X86-model 11ms + create-X86_64-model 10ms + create-initial-cxx-model completed in 154ms + [gap of 14ms] +create_cxx_tasks completed in 168ms + +# C/C++ build system timings +create_cxx_tasks + create-initial-cxx-model + create-module-model 14ms + [gap of 30ms] + create-X86-model 10ms + create-module-model 14ms + create-variant-model 10ms + [gap of 24ms] + create-X86_64-model 11ms + create-initial-cxx-model completed in 123ms + [gap of 48ms] +create_cxx_tasks completed in 172ms + diff --git a/Opencv/build/intermediates/cxx/create_cxx_tasks_442_timing.txt b/Opencv/build/intermediates/cxx/create_cxx_tasks_442_timing.txt index 2d6cfc50..b53cdb59 100644 --- a/Opencv/build/intermediates/cxx/create_cxx_tasks_442_timing.txt +++ b/Opencv/build/intermediates/cxx/create_cxx_tasks_442_timing.txt @@ -8,3 +8,13 @@ create_cxx_tasks create-initial-cxx-model completed in 91ms create_cxx_tasks completed in 97ms +# C/C++ build system timings +create_cxx_tasks + create-initial-cxx-model + create-module-model 17ms + [gap of 36ms] + create-module-model 11ms + [gap of 39ms] + create-initial-cxx-model completed in 103ms +create_cxx_tasks completed in 112ms + diff --git a/Opencv/build/intermediates/cxx/create_cxx_tasks_776_timing.txt b/Opencv/build/intermediates/cxx/create_cxx_tasks_776_timing.txt index b7e6f2b5..9fc473c6 100644 --- a/Opencv/build/intermediates/cxx/create_cxx_tasks_776_timing.txt +++ b/Opencv/build/intermediates/cxx/create_cxx_tasks_776_timing.txt @@ -15,3 +15,8 @@ create_cxx_tasks [gap of 17ms] create_cxx_tasks completed in 188ms +# C/C++ build system timings +create_cxx_tasks + create-initial-cxx-model 57ms +create_cxx_tasks completed in 64ms + diff --git a/Opencv/build/intermediates/cxx/ndk_locator_record_463t1h4l.log b/Opencv/build/intermediates/cxx/ndk_locator_record_463t1h4l.log index 854d323a..718f81c6 100644 --- a/Opencv/build/intermediates/cxx/ndk_locator_record_463t1h4l.log +++ b/Opencv/build/intermediates/cxx/ndk_locator_record_463t1h4l.log @@ -11,7 +11,7 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": 106932290 + "memoizedHashCode": -89763223 }, { "level_": 0, @@ -25,7 +25,7 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": 899120393 + "memoizedHashCode": 702424880 }, { "level_": 0, @@ -39,7 +39,7 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": 439376348 + "memoizedHashCode": 242680835 }, { "level_": 0, @@ -53,7 +53,7 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": -828571640 + "memoizedHashCode": -1025267153 }, { "level_": 0, @@ -67,7 +67,7 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": -259859609 + "memoizedHashCode": -456555122 }, { "level_": 0, @@ -81,7 +81,7 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": 105050649 + "memoizedHashCode": -91644864 }, { "level_": 0, @@ -95,7 +95,7 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": 412191883 + "memoizedHashCode": 215496370 }, { "level_": 0, @@ -109,7 +109,7 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": -145955837 + "memoizedHashCode": -342651350 }, { "level_": 0, @@ -123,7 +123,7 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": 522846916 + "memoizedHashCode": 326151403 }, { "level_": 0, @@ -137,7 +137,7 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": 1227308109 + "memoizedHashCode": 1030612596 }, { "level_": 0, @@ -151,7 +151,7 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": -1204845117 + "memoizedHashCode": -1401540630 }, { "level_": 0, @@ -165,7 +165,7 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": -636133086 + "memoizedHashCode": -832828599 }, { "level_": 0, @@ -179,7 +179,7 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": 269616977 + "memoizedHashCode": 72921464 }, { "level_": 2, @@ -193,6 +193,6 @@ "fieldsDescending": {} }, "memoizedSize": -1, - "memoizedHashCode": -1573934875 + "memoizedHashCode": -1770630388 } ] \ No newline at end of file diff --git a/app/src/main/java/com/aros/apron/activity/ConnectionActivity.kt b/app/src/main/java/com/aros/apron/activity/ConnectionActivity.kt index ec43b8cf..ee3def7d 100644 --- a/app/src/main/java/com/aros/apron/activity/ConnectionActivity.kt +++ b/app/src/main/java/com/aros/apron/activity/ConnectionActivity.kt @@ -90,8 +90,8 @@ open class ConnectionActivity : BaseActivity() { } if (TextUtils.isEmpty(PreferenceUtils.getInstance().mqttServerUri)){ PreferenceUtils.getInstance().mqttServerUri = - "tcp://192.168.20.90:2883" - //"tcp://broker.emqx.io" + //"tcp://192.168.20.90:2883" + "tcp://broker.emqx.io" } if (TextUtils.isEmpty(PreferenceUtils.getInstance().mqttUserName)){ diff --git a/app/src/main/java/com/aros/apron/activity/MainActivity.kt b/app/src/main/java/com/aros/apron/activity/MainActivity.kt index 30d9aa71..f72a12d8 100644 --- a/app/src/main/java/com/aros/apron/activity/MainActivity.kt +++ b/app/src/main/java/com/aros/apron/activity/MainActivity.kt @@ -1,5 +1,4 @@ package com.aros.apron.activity - import android.annotation.SuppressLint import android.graphics.Color import android.graphics.drawable.ColorDrawable @@ -7,13 +6,11 @@ import android.os.Build import android.os.Bundle import android.os.Handler import android.os.Looper -import android.util.Log import android.view.View import android.view.Window import android.view.WindowManager import android.widget.Button import android.widget.TextView -import android.widget.Toast import androidx.annotation.RequiresApi import androidx.constraintlayout.widget.ConstraintLayout import androidx.core.view.GravityCompat @@ -38,7 +35,6 @@ import com.aros.apron.manager.MediaManager import com.aros.apron.manager.MissionV3Manager import com.aros.apron.manager.OSDManager import com.aros.apron.manager.PayloadWidgetManager -import com.aros.apron.manager.SpeakerManager import com.aros.apron.manager.StickManager import com.aros.apron.manager.StreamManager import com.aros.apron.manager.WirelessLinkManager @@ -48,29 +44,21 @@ import com.aros.apron.tools.DroneHelper import com.aros.apron.tools.LogUtil import com.aros.apron.tools.MqttManager import com.aros.apron.tools.PreferenceUtils -import com.aros.apron.tools.Utils import com.dji.wpmzsdk.manager.WPMZManager import com.google.gson.Gson -import com.iflytek.aikit.core.AiHelper -import com.iflytek.aikit.core.BaseLibrary -import com.iflytek.aikit.core.CoreListener -import com.iflytek.aikit.core.ErrType -import com.iflytek.aikit.core.LogLvl -import dji.sdk.keyvalue.key.CameraKey import dji.sdk.keyvalue.key.DJIKey import dji.sdk.keyvalue.key.FlightControllerKey -import dji.sdk.keyvalue.key.GimbalKey import dji.sdk.keyvalue.key.KeyTools import dji.sdk.keyvalue.value.common.CameraLensType import dji.sdk.keyvalue.value.common.ComponentIndexType import dji.sdk.keyvalue.value.common.EmptyMsg import dji.sdk.keyvalue.value.flightassistant.VisionAssistDirection +import dji.sdk.keyvalue.value.flightcontroller.LEDsSettings import dji.v5.common.callback.CommonCallbacks import dji.v5.common.callback.CommonCallbacks.CompletionCallback import dji.v5.common.error.IDJIError import dji.v5.common.utils.GeoidManager import dji.v5.manager.KeyManager -import dji.v5.manager.aircraft.virtualstick.VirtualStickManager import dji.v5.manager.datacenter.MediaDataCenter import dji.v5.manager.interfaces.ICameraStreamManager import dji.v5.manager.interfaces.ICameraStreamManager.AvailableCameraUpdatedListener @@ -116,6 +104,7 @@ import io.reactivex.rxjava3.functions.Consumer import org.eclipse.paho.client.mqttv3.MqttException import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode +import org.opencv.android.OpenCVLoader import org.opencv.objdetect.Dictionary import org.opencv.objdetect.Objdetect import java.util.concurrent.TimeUnit @@ -153,9 +142,6 @@ open class MainActivity : BaseActivity() { private var gimbalAdjustDone: TextView? = null private var btn_test: Button? = null private var btn_test1: Button? = null - private var btn_test2: Button? = null - private var btn_test3: Button? = null - private var gimbalFineTuneWidget: GimbalFineTuneWidget? = null private var lastDevicePosition = ComponentIndexType.UNKNOWN @@ -188,18 +174,32 @@ open class MainActivity : BaseActivity() { } - private var cameraManager: ICameraStreamManager = - MediaDataCenter.getInstance().cameraStreamManager + private var cameraManager: ICameraStreamManager = MediaDataCenter.getInstance().cameraStreamManager private var startArucoType = 0 //1执行机库二维码识别 2执行备降点二维码识别 private var dictionary: Dictionary? = null override fun useEventBus(): Boolean { return true } - override fun onResume() { super.onResume() + + + while (!OpenCVLoader.initLocal()) { + LogUtil.log("qwq", "opencv 初始化失败,阻塞等待重试...") + try { + Thread.sleep(300) // 休眠 300ms 再试,防止 CPU 爆炸 + } catch (e: InterruptedException) { + LogUtil.log("qwq", "初始化被中断,跳出循环") + break + } + } + + + LogUtil.log("qwq", "opencv 初始化完成,继续执行后续代码") + dictionary = Objdetect.getPredefinedDictionary(Objdetect.DICT_6X6_250) + compositeDisposable = CompositeDisposable() compositeDisposable!!.add( systemStatusListPanelWidget!!.closeButtonPressed() @@ -228,15 +228,14 @@ open class MainActivity : BaseActivity() { runOnUiThread { onCameraSourceUpdated(result.devicePosition, result.lensType) } }) ) - compositeDisposable!!.add( - ObservableInMemoryKeyedStore.getInstance() - .addObserver(UXKeys.create(GlobalPreferenceKeys.GIMBAL_ADJUST_CLICKED)) - .observeOn(ui()) - .subscribe { broadcastValues: BroadcastValues? -> - isGimableAdjustClicked( - broadcastValues!! - ) - }) + compositeDisposable!!.add(ObservableInMemoryKeyedStore.getInstance() + .addObserver(UXKeys.create(GlobalPreferenceKeys.GIMBAL_ADJUST_CLICKED)) + .observeOn(ui()) + .subscribe { broadcastValues: BroadcastValues? -> + isGimableAdjustClicked( + broadcastValues!! + ) + }) ViewUtil.setKeepScreen(this, true) } @@ -250,7 +249,7 @@ open class MainActivity : BaseActivity() { } //endregion - private fun hideOtherPanels(widget: View?) { + private fun hideOtherPanels(widget: View?) { val panels = arrayOf( simulatorControlWidget!! ) @@ -363,7 +362,7 @@ open class MainActivity : BaseActivity() { } } - private fun updateViewVisibility( + private fun updateViewVisibility( devicePosition: ComponentIndexType, lensType: CameraLensType ) { @@ -402,7 +401,7 @@ open class MainActivity : BaseActivity() { /** * Swap the video sources of the FPV and secondary FPV widgets. */ - private fun swapVideoSource() { + private fun swapVideoSource() { val primarySource = primaryFpvWidget!!.widgetModel.getCameraIndex() val secondarySource = secondaryFPVWidget!!.widgetModel.getCameraIndex() //两个source都存在的情况下才进行切换 @@ -422,7 +421,6 @@ open class MainActivity : BaseActivity() { val devicePosition: ComponentIndexType, val lensType: CameraLensType ) - override fun onBackPressed() { if (mDrawerLayout!!.isDrawerOpen(GravityCompat.END)) { mDrawerLayout!!.closeDrawers() @@ -457,111 +455,44 @@ open class MainActivity : BaseActivity() { initDJIManager() initCameraStream() initView() - initSDK() - } - - private fun initSDK() { - AiHelper.getInst().setLogInfo(LogLvl.VERBOSE, 1, "/sdcard/iflytek/aikit/aeeLog.txt") - //设定初始化参数 - val params = BaseLibrary.Params.builder() - .appId("753fd711") //您的应用ID,可从控制台查看 - .apiKey("35099a7d31abf2259f5ee58cbf8b6791") //您的APIKEY,可从控制台查看 - .apiSecret("ZTdiMDIwYzEwNTA1NjllYjJlYjdmYWFi") //您的APISECRET,可从控制台查看 - .workDir(Utils.getSDCardPath() + "/DJIDemo/cache") //SDK的工作目录,需要确保有读写权限。一般用于存放离线能力资源,日志存放目录等使用。 - .build() - //初始化SDK - Thread { - AiHelper.getInst().initEntry(this@MainActivity.applicationContext, params) - }.start() - AiHelper.getInst().registerListener(coreListener) // 注册SDK 初始化状态监听 - - } - - //授权结果回调 - private val coreListener = CoreListener { type, code -> - Log.i(TAG, "core listener code:$code") - runOnUiThread { - when (type) { - ErrType.AUTH -> { - if (code == 0) { - LogUtil.log(TAG, "SDK授权成功") - } else { - LogUtil.log(TAG, "SDK授权失败,授权码为:$code") - } - } - - ErrType.HTTP -> Toast.makeText( - this@MainActivity, "SDK状态:HTTP认证结果$code", - Toast.LENGTH_SHORT - ).show() - - else -> Toast.makeText( - this@MainActivity, "SDK状态:其他错误$code", - Toast.LENGTH_SHORT - ).show() - } - } } private fun initView() { - fpvParentView = findViewById(R.id.fpv_holder) - mDrawerLayout = findViewById(R.id.root_view) - topBarPanel = findViewById(R.id.panel_top_bar) + fpvParentView = findViewById( R.id.fpv_holder) + mDrawerLayout = findViewById( R.id.root_view) + topBarPanel = findViewById( R.id.panel_top_bar) settingWidget = topBarPanel?.settingWidget - primaryFpvWidget = findViewById(R.id.widget_primary_fpv) - fpvInteractionWidget = findViewById(R.id.widget_fpv_interaction) - secondaryFPVWidget = findViewById(R.id.widget_secondary_fpv) - systemStatusListPanelWidget = findViewById(R.id.widget_panel_system_status_list) - simulatorControlWidget = findViewById(R.id.widget_simulator_control) - lensControlWidget = findViewById(R.id.widget_lens_control) - ndviCameraPanel = findViewById(R.id.panel_ndvi_camera) - visualCameraPanel = findViewById(R.id.panel_visual_camera) - autoExposureLockWidget = findViewById(R.id.widget_auto_exposure_lock) - focusModeWidget = findViewById(R.id.widget_focus_mode) - focusExposureSwitchWidget = findViewById(R.id.widget_focus_exposure_switch) - pfvFlightDisplayWidget = findViewById(R.id.widget_fpv_flight_display_widget) - focalZoomWidget = findViewById(R.id.widget_focal_zoom) - cameraControlsWidget = findViewById(R.id.widget_camera_controls) + primaryFpvWidget = findViewById( R.id.widget_primary_fpv) + fpvInteractionWidget = findViewById( R.id.widget_fpv_interaction) + secondaryFPVWidget = findViewById( R.id.widget_secondary_fpv) + systemStatusListPanelWidget = findViewById( R.id.widget_panel_system_status_list) + simulatorControlWidget = findViewById( R.id.widget_simulator_control) + lensControlWidget = findViewById( R.id.widget_lens_control) + ndviCameraPanel = findViewById( R.id.panel_ndvi_camera) + visualCameraPanel = findViewById( R.id.panel_visual_camera) + autoExposureLockWidget = findViewById( R.id.widget_auto_exposure_lock) + focusModeWidget = findViewById( R.id.widget_focus_mode) + focusExposureSwitchWidget = findViewById( R.id.widget_focus_exposure_switch) + pfvFlightDisplayWidget = findViewById( R.id.widget_fpv_flight_display_widget) + focalZoomWidget = findViewById( R.id.widget_focal_zoom) + cameraControlsWidget = findViewById( R.id.widget_camera_controls) horizontalSituationIndicatorWidget = findViewById(R.id.widget_horizontal_situation_indicator) // gimbalAdjustDone = findViewById( R.id.fpv_gimbal_ok_btn) - gimbalFineTuneWidget = findViewById(R.id.setting_menu_gimbal_fine_tune) - btn_test = findViewById(R.id.btn_test) - btn_test1 = findViewById(R.id.btn_test1) - btn_test2 = findViewById(R.id.btn_test2) - btn_test3 = findViewById(R.id.btn_test3) + gimbalFineTuneWidget = findViewById( R.id.setting_menu_gimbal_fine_tune) + btn_test = findViewById( R.id.btn_test) + btn_test1 = findViewById( R.id.btn_test1) btn_test?.setOnClickListener { - - +// MissionManager.getInstance().test() + FlightManager.getInstance().startPropellerRotation(null) } btn_test1?.setOnClickListener { - - - } - btn_test2?.setOnClickListener { - - - } - btn_test3?.setOnClickListener { - - + FlightManager.getInstance().stopPropellerRotation(null) } - MediaDataCenter.getInstance().cameraStreamManager.setVisionAssistViewDirection( - VisionAssistDirection.DOWN, object : CommonCallbacks.CompletionCallback { - override fun onSuccess() { - LogUtil.log(TAG, "开启成功") - } - - override fun onFailure(p0: IDJIError) { - LogUtil.log(TAG, "开启失败" + p0) - } - }) - - initClickListener() MediaDataCenter.getInstance().cameraStreamManager.addAvailableCameraUpdatedListener( availableCameraUpdatedListener @@ -588,9 +519,11 @@ open class MainActivity : BaseActivity() { DJINetworkManager.getInstance().addNetworkStatusListener(networkStatusListener) + + } - private fun isGimableAdjustClicked(broadcastValues: BroadcastValues) { + private fun isGimableAdjustClicked(broadcastValues: BroadcastValues) { if (mDrawerLayout!!.isDrawerOpen(GravityCompat.END)) { mDrawerLayout!!.closeDrawers() } @@ -600,7 +533,7 @@ open class MainActivity : BaseActivity() { } } - private fun initClickListener() { + private fun initClickListener() { secondaryFPVWidget!!.setOnClickListener { v: View? -> swapVideoSource() } if (settingWidget != null) { settingWidget!!.setOnClickListener { v: View? -> toggleRightDrawer() } @@ -619,7 +552,7 @@ open class MainActivity : BaseActivity() { // } } - private fun toggleRightDrawer() { + private fun toggleRightDrawer() { mDrawerLayout!!.openDrawer(GravityCompat.END) } @@ -642,23 +575,17 @@ open class MainActivity : BaseActivity() { } private val handler: Handler = Handler(Looper.getMainLooper()) - private var initTimes = 0 - + private var initTimes=0 private fun initDJIManager() { //如果没有云台修改这里 // 初始化 OpenCV - + val isFlightControllerConnect = KeyManager.getInstance().getValue(DJIKey.create(FlightControllerKey.KeyConnection)) - val isCameraConnect = - KeyManager.getInstance() - .getValue(KeyTools.createKey(CameraKey.KeyConnection, ComponentIndexType.PORT_1)) - val isGimbal = KeyManager.getInstance() - .getValue(KeyTools.createKey(GimbalKey.KeyConnection, ComponentIndexType.PORT_1)) - // LogUtil.log(TAG,isCameraConnect.toString()) - - //全装在初始化 +// val isCameraConnect = +// KeyManager.getInstance().getValue(KeyTools.createKey(CameraKey.KeyConnection, ComponentIndexType.PORT_1)) + // LogUtil.log(TAG,isCameraConnect.toString()) if ((isFlightControllerConnect == null || !isFlightControllerConnect)) { handler.postDelayed({ initDJIManager() @@ -666,53 +593,72 @@ open class MainActivity : BaseActivity() { } else { initTimes++ LogUtil.log(TAG, "初始化$initTimes") + MissionV3Manager.getInstance().initMissionManager() + FlightManager.getInstance().initFlightInfo() + BatteryManager.getInstance().initBatteryInfo() + StickManager.getInstance().initStickInfo() + GimbalManager.getInstance().initGimbalInfo() + AlternateLandingManager.getInstance().initAlterLandingInfo() + OSDManager.getInstance().initOsd() + FlightTaskProgressManager.getInstance().initFlightTaskProgress() + MediaManager.getInstance().init() + StreamManager.getInstance().initStreamManager() + LEDsSettingsManager.getInstance().initLEDsInfo() + //负载 + PayloadWidgetManager.getInstance().initPayloadInfo() + //初始化上报 + LTEManager.getInstance().initLTEInfo() + WirelessLinkManager.getInstance().initWirelessLink() + CameraManager.getInstance().initCameraInfo() - LogUtil.log(TAG, "自定义推流方式:" + PreferenceUtils.getInstance().customStreamType) + + MediaDataCenter.getInstance().cameraStreamManager.setVisionAssistViewDirection( + VisionAssistDirection.DOWN,object:CommonCallbacks.CompletionCallback{ + override fun onSuccess() { + LogUtil.log(TAG,"开启成功") + } + + override fun onFailure(p0: IDJIError) { + LogUtil.log(TAG,"开启失败"+p0) + } + }) + + val leDsSettings = LEDsSettings() + leDsSettings.setNavigationLEDsOn(false) + KeyManager.getInstance().setValue( + KeyTools.createKey(FlightControllerKey.KeyLEDsSettings), + leDsSettings, + object : CompletionCallback { + override fun onSuccess() { + LogUtil.log(TAG, "夜航灯关闭成功") + } + + override fun onFailure(idjiError: IDJIError) { + LogUtil.log(TAG, "夜航灯关闭失败") + } + }) + + + LogUtil.log(TAG,"自定义推流方式:"+PreferenceUtils.getInstance().customStreamType) Handler().postDelayed(Runnable { + if (PreferenceUtils.getInstance().customStreamType==1){ + StreamManager.getInstance() + .startLiveWithRTSP() + }else if (PreferenceUtils.getInstance().customStreamType==2){ + StreamManager.getInstance() + .startLiveWithCustom() + }else { + StreamManager.getInstance() + .startLiveWithCustom() + } - - MissionV3Manager.getInstance().initMissionManager() - FlightManager.getInstance().initFlightInfo() - BatteryManager.getInstance().initBatteryInfo() - StickManager.getInstance().initStickInfo() - AlternateLandingManager.getInstance().initAlterLandingInfo() - OSDManager.getInstance().initOsd() - FlightTaskProgressManager.getInstance().initFlightTaskProgress() - MediaManager.getInstance().init() - StreamManager.getInstance().initStreamManager() - - GimbalManager.getInstance().initGimbalInfo() - //负载 - PayloadWidgetManager.getInstance().initPayloadInfo() - //初始化上报 - LTEManager.getInstance().initLTEInfo() - WirelessLinkManager.getInstance().initWirelessLink() - CameraManager.getInstance().initCameraInfo() - //tts - SpeakerManager.getInstance().initMegaphoneInfo() - LEDsSettingsManager.getInstance().initLEDsInfo() - - - - - if (PreferenceUtils.getInstance().customStreamType == 1) { - StreamManager.getInstance() - .startLiveWithRTSP() - - } else if (PreferenceUtils.getInstance().customStreamType == 2) { - StreamManager.getInstance() - .startLiveWithCustom() - } else { - StreamManager.getInstance() - .startLiveWithCustom() - } - - }, 5000) - LogUtil.log(TAG, "推流类型:" + PreferenceUtils.getInstance().customStreamType) + }, 5000) + LogUtil.log(TAG,"推流类型:"+PreferenceUtils.getInstance().customStreamType) } } + @SuppressLint("SuspiciousIndentation") private fun initCameraStream() { @@ -720,25 +666,25 @@ open class MainActivity : BaseActivity() { ComponentIndexType.FPV, ICameraStreamManager.FrameFormat.YUV420_888 ) { frameData, _, _, width, height, _ -> - Movement.getInstance().isVtx = true + Movement.getInstance().isVtx=true //检测到图传 - streamReceive = true + streamReceive=true // if (shouldExecute) { - if (startArucoType == 1) { - ApronArucoDetect.getInstance()?.detectArucoTags( - height, - width, - frameData, - dictionary - ) - } else if (startArucoType == 2) { - AlternateArucoDetect.getInstance()?.detectArucoTags( - height, - width, - frameData, - dictionary - ) - } + if (startArucoType == 1) { + ApronArucoDetect.getInstance()?.detectArucoTags( + height, + width, + frameData, + dictionary + ) + } else if (startArucoType == 2) { + AlternateArucoDetect.getInstance()?.detectArucoTags( + height, + width, + frameData, + dictionary + ) + } // } // shouldExecute = !shouldExecute } @@ -792,7 +738,7 @@ open class MainActivity : BaseActivity() { ApronArucoDetect.getInstance().setDetectedBigMarkers() DroneHelper.getInstance().setGimbalPitchDegree() //每次触发识别二维码时,为避免获取控制权失败,使多次获取控制权 - DroneHelper.getInstance().isVirtualStickEnable = false + DroneHelper.getInstance().isVirtualStickEnable=false DroneHelper.getInstance().setVerticalModeToVelocity() } }) @@ -831,48 +777,24 @@ open class MainActivity : BaseActivity() { ) DroneHelper.getInstance().setGimbalPitchDegree() //每次触发识别二维码时,为避免获取控制权失败,使多次获取控制权 - DroneHelper.getInstance().isVirtualStickEnable = false + DroneHelper.getInstance().isVirtualStickEnable=false DroneHelper.getInstance().setVerticalModeToVelocity() } }) - FLAG_DOWN_LAND -> { - VirtualStickManager.getInstance().setVirtualStickAdvancedModeEnabled(false) - - VirtualStickManager.getInstance().disableVirtualStick(object : CompletionCallback { - override fun onSuccess() { - LogUtil.log(TAG, "控制取消成功") - VirtualStickManager.getInstance().setVirtualStickAdvancedModeEnabled(false) - - KeyManager.getInstance().performAction( - KeyTools.createKey(FlightControllerKey.KeyStartAutoLanding), - object : CommonCallbacks.CompletionCallbackWithParam { - override fun onSuccess(emptyMsg: EmptyMsg?) { - startArucoType = 0 - LogUtil.log(TAG, "自动降落调用成功") - } - override fun onFailure(error: IDJIError) { - LogUtil.log(TAG, "自动降落调用失败${error.description()}") - } - }) - } - override fun onFailure(error: IDJIError) { - LogUtil.log(TAG, "拖动控制权取消成功") - KeyManager.getInstance().performAction( - KeyTools.createKey(FlightControllerKey.KeyStartAutoLanding), - object : CommonCallbacks.CompletionCallbackWithParam { - override fun onSuccess(emptyMsg: EmptyMsg?) { - startArucoType = 0 - LogUtil.log(TAG, "自动降落调用成功") - } - override fun onFailure(error: IDJIError) { - LogUtil.log(TAG, "自动降落调用失败${error.description()}") - } - }) - } - }) - } + FLAG_DOWN_LAND -> + KeyManager.getInstance().performAction( + KeyTools.createKey(FlightControllerKey.KeyStartAutoLanding), + object : CommonCallbacks.CompletionCallbackWithParam { + override fun onSuccess(emptyMsg: EmptyMsg?) { + startArucoType = 0 + LogUtil.log(TAG, "自动降落调用成功") + } + override fun onFailure(error: IDJIError) { + LogUtil.log(TAG, "自动降落调用失败${error.description()}") + } + }) FLAG_STOP_ARUCO -> startArucoType = 0 @@ -882,6 +804,9 @@ open class MainActivity : BaseActivity() { } } + + + private fun setViewVisibilityWithCleanMode() { if (PreferenceUtils.getInstance().isCleanMode) { fpvInteractionWidget?.visibility = View.GONE diff --git a/app/src/main/java/com/aros/apron/base/BaseManager.java b/app/src/main/java/com/aros/apron/base/BaseManager.java index db2a0ce2..e3ed8ab2 100644 --- a/app/src/main/java/com/aros/apron/base/BaseManager.java +++ b/app/src/main/java/com/aros/apron/base/BaseManager.java @@ -43,6 +43,43 @@ public abstract class BaseManager { public String TAG = getClass().getSimpleName(); + /** + * 推送psdkmovement + * @param + */ + public void sendpsdkinfo2Server(){ + try { + if (MqttManager.getInstance().mqttAndroidClient.isConnected()) { + MessageReply messageReply = new MessageReply(); + MessageReply.Data data=new MessageReply.Data(); + data.setResult(0); + messageReply.setData(data); + MqttMessage mqttMessage = new MqttMessage(new Gson().toJson(messageReply).getBytes("UTF-8")); + mqttMessage.setQos(0); + MqttManager.getInstance().mqttAndroidClient.publish(AMSConfig.UP_UAV_SERVICES_REPLY, mqttMessage); + } else { + LogUtil.log(TAG, "回复失败:mqtt 未连接"); + } + } catch (Exception e) { + e.printStackTrace(); + LogUtil.log(TAG, "回复异常:" + e.toString()); + } + + + + } + /** + * 推送psdkreply + * @param + */ + public void sendpsdkreply2server(){ + + + + + + } + /** * 响应reply * @param entity diff --git a/app/src/main/java/com/aros/apron/callback/MqttCallBack.java b/app/src/main/java/com/aros/apron/callback/MqttCallBack.java index 12184b7b..07c358ae 100644 --- a/app/src/main/java/com/aros/apron/callback/MqttCallBack.java +++ b/app/src/main/java/com/aros/apron/callback/MqttCallBack.java @@ -5,6 +5,8 @@ import android.os.Handler; import android.os.Looper; import android.util.Log; +import androidx.annotation.NonNull; + import com.aros.apron.app.ApronApp; import com.aros.apron.base.BaseManager; import com.aros.apron.constant.AMSConfig; @@ -37,6 +39,14 @@ import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken; import org.eclipse.paho.client.mqttv3.MqttCallbackExtended; import org.eclipse.paho.client.mqttv3.MqttMessage; +import dji.sdk.keyvalue.key.FlightControllerKey; +import dji.sdk.keyvalue.key.KeyTools; +import dji.sdk.keyvalue.value.common.ComponentIndexType; +import dji.sdk.keyvalue.value.flightcontroller.LEDsSettings; +import dji.v5.common.callback.CommonCallbacks; +import dji.v5.common.error.IDJIError; +import dji.v5.manager.KeyManager; + public class MqttCallBack extends BaseManager implements MqttCallbackExtended { private String TAG = "MqttCallBack"; @@ -56,15 +66,12 @@ public class MqttCallBack extends BaseManager implements MqttCallbackExtended { } } - - // 心跳检测 private volatile long lastDrControlTime = 0; private final Handler vsHandler = new Handler(Looper.getMainLooper()); private Runnable vsTimeoutCheck; private static final long TIMEOUT_MS = 500; // 500ms 无数据触发 - /** 每次收到控制指令都调 */ private void resetVirtualStickHeartbeat() { lastDrControlTime = System.currentTimeMillis(); @@ -108,257 +115,270 @@ public class MqttCallBack extends BaseManager implements MqttCallbackExtended { } MessageDown message = new Gson().fromJson(jsonString, MessageDown.class); //LogUtil.log(TAG,message.getMethod()); - switch (message.getMethod()) { - case Constant.PILOT_ON: + + if(topic.equals(AMSConfig.DOWN_UAV_PSDK_EVENT)){ + //负载设置控件 + + }else { + switch (message.getMethod()) { + case Constant.PILOT_ON: // LogUtil.log(TAG, "收到:遥控器是否开机" + jsonString); - SystemManager.getInstance().checkRemoteControlPowerStatus(message); - break; - case Constant.AIRCRAFT_ON: + SystemManager.getInstance().checkRemoteControlPowerStatus(message); + break; + case Constant.AIRCRAFT_ON: // LogUtil.log(TAG, "收到:飞机是否开机" + jsonString); - SystemManager.getInstance().checkAircraftPowerStatus(message); - break; - case Constant.MEDIA_UPLOAD_COMPLETE: - LogUtil.log(TAG, "收到:文件上传是否结束" + jsonString); - SystemManager.getInstance().aircraftStoredReply(message); - break; - case Constant.OPEN_SLOW_PROPELLER_ROTATION: - LogUtil.log(TAG, "收到:开启低速转浆" + jsonString); - FlightManager.getInstance().startPropellerRotation(message); - break; - case Constant.CLOSE_SLOW_PROPELLER_ROTATION: - LogUtil.log(TAG, "收到:停止低速转浆" + jsonString); - FlightManager.getInstance().stopPropellerRotation(message); - break; - case Constant.LIVE_START_PUSH: - LogUtil.log(TAG, "收到:开始直播" + jsonString); - StreamManager.getInstance().startLive(message); - break; - case Constant.LIVE_SET_QUALITY: - LogUtil.log(TAG, "收到:设置直播清晰度" + jsonString); - StreamManager.getInstance().setLiveStreamQuality(message); - break; - case Constant.LIVE_LENS_CHANGE: - LogUtil.log(TAG, "收到:切换直播镜头" + jsonString); - CameraManager.getInstance().setCameraVideoStreamSource(message); - break; - case Constant.FLIGHTTASK_EXECUTE: - LogUtil.log(TAG, "收到:航线" + jsonString); - //关闭避障 - PerceptionManager.getInstance().setPerceptionEnable(false); - PerceptionManager.getInstance().setObstacleAvoidanceHorizontalEnabled(false); - //设置modecode - Movement.getInstance().setMode_code(1); - sendFlightTaskProgress2Server(); - //设置标志为 - Movement.getInstance().setFlightmode(1); - MissionV3Manager.getInstance().taskExecute(message); - break; - case Constant.FLIGHTTASK_PAUSE: - LogUtil.log(TAG, "收到:航线暂停" + jsonString); - MissionV3Manager.getInstance().pauseMission(message); - break; - case Constant.FLIGHTTASK_RECOVERY: - LogUtil.log(TAG, "收到:航线继续" + jsonString); - clearVirtualStickHeartbeat(); - MissionV3Manager.getInstance().resumeMission(message); - break; - case Constant.RETURN_HOME: - LogUtil.log(TAG, "收到:返航" + jsonString); - //自动返航 (如果调用方法失败了 这个设置就有一个问题但是为了方便看懂我就放这里了没放成功的回调里面) - Movement.getInstance().setMode_code(9); - sendFlightTaskProgress2Server(); - FlightManager.getInstance().startGoHome(message); - break; - case Constant.RETURN_HOME_CANCEL: - LogUtil.log(TAG, "收到:取消返航" + jsonString); - FlightManager.getInstance().stopGoHome(message); - break; - case Constant.CLOSE_DOOR: - LogUtil.log(TAG, "收到:服务端响应关舱门" + jsonString); + SystemManager.getInstance().checkAircraftPowerStatus(message); + break; + case Constant.MEDIA_UPLOAD_COMPLETE: + LogUtil.log(TAG, "收到:文件上传是否结束" + jsonString); + SystemManager.getInstance().aircraftStoredReply(message); + break; + case Constant.OPEN_SLOW_PROPELLER_ROTATION: + LogUtil.log(TAG, "收到:开启低速转浆" + jsonString); + FlightManager.getInstance().startPropellerRotation(message); + break; + case Constant.CLOSE_SLOW_PROPELLER_ROTATION: + LogUtil.log(TAG, "收到:停止低速转浆" + jsonString); + FlightManager.getInstance().stopPropellerRotation(message); + break; + case Constant.LIVE_START_PUSH: + LogUtil.log(TAG, "收到:开始直播" + jsonString); + StreamManager.getInstance().startLive(message); + break; + case Constant.LIVE_SET_QUALITY: + LogUtil.log(TAG, "收到:设置直播清晰度" + jsonString); + StreamManager.getInstance().setLiveStreamQuality(message); + break; + case Constant.LIVE_LENS_CHANGE: + LogUtil.log(TAG, "收到:切换直播镜头" + jsonString); + CameraManager.getInstance().setCameraVideoStreamSource(message); + break; + case Constant.FLIGHTTASK_EXECUTE: + LogUtil.log(TAG, "收到:航线" + jsonString); + //关闭避障 + PerceptionManager.getInstance().setPerceptionEnable(false); + PerceptionManager.getInstance().setObstacleAvoidanceHorizontalEnabled(false); + //设置modecode + Movement.getInstance().setMode_code(1); + sendFlightTaskProgress2Server(); + //设置标志为 + Movement.getInstance().setFlightmode(1); + MissionV3Manager.getInstance().taskExecute(message); + break; + case Constant.FLIGHTTASK_PAUSE: + LogUtil.log(TAG, "收到:航线暂停" + jsonString); + MissionV3Manager.getInstance().pauseMission(message); + break; + case Constant.FLIGHTTASK_RECOVERY: + LogUtil.log(TAG, "收到:航线继续" + jsonString); + clearVirtualStickHeartbeat(); + MissionV3Manager.getInstance().resumeMission(message); + break; + case Constant.RETURN_HOME: + LogUtil.log(TAG, "收到:返航" + jsonString); + //自动返航 (如果调用方法失败了 这个设置就有一个问题但是为了方便看懂我就放这里了没放成功的回调里面) + Movement.getInstance().setMode_code(9); + sendFlightTaskProgress2Server(); + FlightManager.getInstance().startGoHome(message); + break; + case Constant.INBOUND: + LogUtil.log(TAG, "收到:服务端响应入库" + jsonString); + ApronExecutionStatus.getInstance().setServerReplyDockIn(true); + break; + case Constant.RETURN_HOME_CANCEL: + LogUtil.log(TAG, "收到:取消返航" + jsonString); + FlightManager.getInstance().stopGoHome(message); + break; + case Constant.CLOSE_DOOR: + LogUtil.log(TAG, "收到:服务端响应关舱门" + jsonString); // ApronExecutionStatus.getInstance().setServerReplyDockIn(true); - break; - case Constant.OPEN_DOOR: - LogUtil.log(TAG, "收到:服务端响应开舱门" + jsonString); - ApronExecutionStatus.getInstance().setServerReplyDockOpen(true); - break; - case Constant.TASK_FAIL: - LogUtil.log(TAG, "收到:服务端响应TaskFail" + jsonString); - ApronExecutionStatus.getInstance().setServerReplyTaskFail(true); - break; - case Constant.INBOUND: - LogUtil.log(TAG, "收到:服务端响应入库" + jsonString); - ApronExecutionStatus.getInstance().setServerReplyDockIn(true); - break; - case Constant.TAKEOFF_TO_POINT: - LogUtil.log(TAG, "收到:一键起飞" + jsonString); - //设置modecode - Movement.getInstance().setMode_code(1); - sendFlightTaskProgress2Server(); - //设置标志为指令飞行 - Movement.getInstance().setFlightmode(2); - TakeoffProgressScheduler.getInstance().startReporting(); + break; + case Constant.OPEN_DOOR: + LogUtil.log(TAG, "收到:服务端响应开舱门" + jsonString); + ApronExecutionStatus.getInstance().setServerReplyDockOpen(true); + break; + case Constant.TASK_FAIL: + LogUtil.log(TAG, "收到:服务端响应TaskFail" + jsonString); + ApronExecutionStatus.getInstance().setServerReplyTaskFail(true); + break; - TakeOffToPointManager.getInstance().taskExecute(message); - break; - case Constant.FLY_TO_POINT: - LogUtil.log(TAG, "收到:飞向目标点" + jsonString); - FlyToPointManager.getInstance().taskExecute(message); - break; - case Constant.FLY_TO_POINT_STOP: - LogUtil.log(TAG, "收到:结束 flyto 飞向目标点任务" + jsonString); - FlyToPointManager.getInstance().stopMission(message); - break; - case Constant.FLY_TO_POINT_STOP_UPDATE: - LogUtil.log(TAG, "收到:更新 flyto 目标点" + jsonString); - break; - case Constant.FLIGHT_AUTHORITY_GRAB: - LogUtil.log(TAG, "收到:飞行控制权抢夺" + jsonString); - StickManager.getInstance().enableVirtualStick(message); - break; - case Constant.PAYLOAD_AUTHORITY_GRAB: - LogUtil.log(TAG, "收到:负载控制权抢夺" + jsonString); - GimbalManager.getInstance().payloadAuthorityGrab(message); - break; - case Constant.DRC_MODE_ENTER: - LogUtil.log(TAG, "收到:进入指令飞行控制模式" + jsonString); - StickManager.getInstance().setVirtualStickModeEnabled(message); - break; + case Constant.TAKEOFF_TO_POINT: + LogUtil.log(TAG, "收到:一键起飞" + jsonString); + //设置modecode + Movement.getInstance().setMode_code(1); + sendFlightTaskProgress2Server(); + //设置标志为指令飞行 + Movement.getInstance().setFlightmode(2); + TakeoffProgressScheduler.getInstance().startReporting(); + + TakeOffToPointManager.getInstance().taskExecute(message); + break; + case Constant.FLY_TO_POINT: + LogUtil.log(TAG, "收到:飞向目标点" + jsonString); + FlyToPointManager.getInstance().taskExecute(message); + break; + case Constant.FLY_TO_POINT_STOP: + LogUtil.log(TAG, "收到:结束 flyto 飞向目标点任务" + jsonString); + FlyToPointManager.getInstance().stopMission(message); + break; + case Constant.FLY_TO_POINT_STOP_UPDATE: + LogUtil.log(TAG, "收到:更新 flyto 目标点" + jsonString); + break; + case Constant.FLIGHT_AUTHORITY_GRAB: + LogUtil.log(TAG, "收到:飞行控制权抢夺" + jsonString); + StickManager.getInstance().enableVirtualStick(message); + break; + case Constant.PAYLOAD_AUTHORITY_GRAB: + LogUtil.log(TAG, "收到:负载控制权抢夺" + jsonString); + GimbalManager.getInstance().payloadAuthorityGrab(message); + break; + case Constant.DRC_MODE_ENTER: + LogUtil.log(TAG, "收到:进入指令飞行控制模式" + jsonString); + StickManager.getInstance().setVirtualStickModeEnabled(message); + break; //退出控制权时,要自动触发续飞航线 - case Constant.DRC_MODE_EXIT: - LogUtil.log(TAG, "收到:退出指令飞行控制模式" + jsonString); - //清理这个时间戳循环 - clearVirtualStickHeartbeat(); - StickManager.getInstance().disableVirtualStick(message); - break; - case Constant.DRONE_CONTROL: - LogUtil.log(TAG, "收到:DRC-飞行控制" + jsonString); - resetVirtualStickHeartbeat(); - StickManager.getInstance().sendVirtualStickAdvancedParam(message); - break; - case Constant.DRONE_EMERGENCY_STOP: - LogUtil.log(TAG, "收到:DRC-飞行器急停" + jsonString); - FlightManager.getInstance().emergencyHover(message); - break; - case Constant.CAMERA_MODE_SWITCH: - LogUtil.log(TAG, "收到:负载控制—切换相机模式" + jsonString); - CameraManager.getInstance().setCameraMode(message); - break; - case Constant.CAMERA_PHOTO_TAKE: - LogUtil.log(TAG, "收到:负载控制—开始拍照" + jsonString); - CameraManager.getInstance().startShootPhoto(message); - break; - case Constant.CAMERA_PHOTO_STOP: - LogUtil.log(TAG, "收到:负载控制—停止拍照" + jsonString); - CameraManager.getInstance().stopShootPhoto(message); - break; - case Constant.CAMERA_RECORDING_START: - LogUtil.log(TAG, "收到:负载控制—开始录像" + jsonString); - CameraManager.getInstance().startRecordVideo(message); - break; - case Constant.CAMERA_RECORDING_STOP: - LogUtil.log(TAG, "收到:负载控制—停止录像" + jsonString); - CameraManager.getInstance().stopRecordVideo(message); - break; - case Constant.CAMERA_SCREEN_DRAG: - LogUtil.log(TAG, "收到:负载控制—画面拖动控制" + jsonString); - GimbalManager.getInstance().camera_screen_drag(message); - break; - case Constant.CAMERA_AIM: - LogUtil.log(TAG, "收到:负载控制—双击成为 AIM" + jsonString); - CameraManager.getInstance().tapZoomAtTarget(message); - break; - case Constant.CAMERA_FOCAL_LENGTH_SET: - LogUtil.log(TAG, "收到:负载控制—变焦" + jsonString); - CameraManager.getInstance().setCameraZoomRatios(message); - break; - case Constant.GIMBAL_RESET: - LogUtil.log(TAG, "收到:负载控制—重置云台" + jsonString); - GimbalManager.getInstance().gimbalReset(message); - break; - case Constant.CAMERA_LOOK_AT: - LogUtil.log(TAG, "收到:负载控制—Look At" + jsonString); - GimbalManager.getInstance().gimbalLookAt(message); - break; - case Constant.CAMERA_SCREEN_SPLIT: - LogUtil.log(TAG, "收到:负载控制—分屏" + jsonString); - break; - case Constant.PHOTO_STORAGE_SET: - SystemManager.getInstance().checkRemoteControlPowerStatus(message); + case Constant.DRC_MODE_EXIT: + LogUtil.log(TAG, "收到:退出指令飞行控制模式" + jsonString); + //清理这个时间戳循环 + clearVirtualStickHeartbeat(); + StickManager.getInstance().disableVirtualStick(message); + break; + case Constant.DRONE_CONTROL: + LogUtil.log(TAG, "收到:DRC-飞行控制" + jsonString); + resetVirtualStickHeartbeat(); + StickManager.getInstance().sendVirtualStickAdvancedParam(message); + break; + case Constant.DRONE_EMERGENCY_STOP: + LogUtil.log(TAG, "收到:DRC-飞行器急停" + jsonString); + FlightManager.getInstance().emergencyHover(message); + break; + case Constant.CAMERA_MODE_SWITCH: + LogUtil.log(TAG, "收到:负载控制—切换相机模式" + jsonString); + CameraManager.getInstance().setCameraMode(message); + break; + case Constant.CAMERA_PHOTO_TAKE: + LogUtil.log(TAG, "收到:负载控制—开始拍照" + jsonString); + CameraManager.getInstance().startShootPhoto(message); + break; + case Constant.CAMERA_PHOTO_STOP: + LogUtil.log(TAG, "收到:负载控制—停止拍照" + jsonString); + CameraManager.getInstance().stopShootPhoto(message); + break; + case Constant.CAMERA_RECORDING_START: + LogUtil.log(TAG, "收到:负载控制—开始录像" + jsonString); + CameraManager.getInstance().startRecordVideo(message); + break; + case Constant.CAMERA_RECORDING_STOP: + LogUtil.log(TAG, "收到:负载控制—停止录像" + jsonString); + CameraManager.getInstance().stopRecordVideo(message); + break; + case Constant.CAMERA_SCREEN_DRAG: + LogUtil.log(TAG, "收到:负载控制—画面拖动控制" + jsonString); + GimbalManager.getInstance().camera_screen_drag(message); + break; + case Constant.CAMERA_AIM: + LogUtil.log(TAG, "收到:负载控制—双击成为 AIM" + jsonString); + CameraManager.getInstance().tapZoomAtTarget(message); + break; + case Constant.CAMERA_FOCAL_LENGTH_SET: + LogUtil.log(TAG, "收到:负载控制—变焦" + jsonString); + CameraManager.getInstance().setCameraZoomRatios(message); + break; + case Constant.GIMBAL_RESET: + LogUtil.log(TAG, "收到:负载控制—重置云台" + jsonString); + GimbalManager.getInstance().gimbalReset(message); + break; + case Constant.CAMERA_LOOK_AT: + LogUtil.log(TAG, "收到:负载控制—Look At" + jsonString); + GimbalManager.getInstance().gimbalLookAt(message); + break; + case Constant.CAMERA_SCREEN_SPLIT: + LogUtil.log(TAG, "收到:负载控制—分屏" + jsonString); + break; + case Constant.PHOTO_STORAGE_SET: + SystemManager.getInstance().checkRemoteControlPowerStatus(message); // LogUtil.log(TAG, "收到:负载控制—照片存储设置" + jsonString); - break; - case Constant.VIDEO_STORAGE_SET: - SystemManager.getInstance().checkRemoteControlPowerStatus(message); + break; + case Constant.VIDEO_STORAGE_SET: + SystemManager.getInstance().checkRemoteControlPowerStatus(message); // LogUtil.log(TAG, "收到:负载控制—视频存储设置" + jsonString); - break; - case Constant.CAMERA_EXPOSURE_MODE_SET: - LogUtil.log(TAG, "收到:负载控制—相机曝光模式设置" + jsonString); - break; - case Constant.CAMERA_EXPOSURE_SET: - LogUtil.log(TAG, "收到:负载控制—相机曝光值调节" + jsonString); - break; - case Constant.CAMERA_FOCUS_MODE_SET: - LogUtil.log(TAG, "收到:负载控制—相机对焦模式" + jsonString); - break; - case Constant.CAMERA_FOCUS_MODE_VALUE_SET: - LogUtil.log(TAG, "收到:负载控制—相机对焦值设置" + jsonString); - break; - case Constant.CAMERA_POINT_FOCUS_ACTION: - LogUtil.log(TAG, "收到:负载控制—点对焦" + jsonString); - break; - case Constant.IR_METERING_MODE_SET: - LogUtil.log(TAG, "收到:负载控制—红外测温模式设置" + jsonString); - break; - case Constant.IR_METERING_POINT_SET: - LogUtil.log(TAG, "收到:负载控制—红外测温点设置" + jsonString); - break; - case Constant.IR_METERING_AREA_SET: - LogUtil.log(TAG, "收到:负载控制—红外测温区域设置" + jsonString); - break; - case Constant.POI_MODE_ENTER: - LogUtil.log(TAG, "收到:飞行控制—进入 POI 环绕模式" + jsonString); - break; - case Constant.POI_MODE_EXIT: - LogUtil.log(TAG, "收到:飞行控制—退出 POI 环绕模式" + jsonString); - break; - case Constant.POI_CIRCLE_SPEED_SET: - LogUtil.log(TAG, "收到:飞行控制—POI 环绕速度设置" + jsonString); - break; - case Constant.CAMERA_FRAME_ZOOM: - LogUtil.log(TAG, "收到:框选变焦" + jsonString); - CameraManager.getInstance().camera_frame_zoom(message); - break; - case Constant.SPEAKER_AUDIO_PLAY_START: - LogUtil.log(TAG, "收到:喊话器-开始播放音频" + jsonString); - SpeakerProgressReporter.getInstance().startAudioReport(2); - SpeakerManager.getInstance().speakerAudioPlayStart(message); - break; - case Constant.SPEAKER_TTS_PLAY_START: - LogUtil.log(TAG, "收到:喊话器-开始播放TTS文本" + jsonString); - SpeakerProgressReporter.getInstance().startTTSReport(2); - SpeakerManager.getInstance().speakerTTSPlayStart(message,0); - break; - case Constant.SPEAKER_REPLAY: - LogUtil.log(TAG, "收到:喊话器-重新播放" + jsonString); - SpeakerManager.getInstance().speakerReply(message); - break; - case Constant.SPEAKER_PLAY_STOP: - LogUtil.log(TAG, "收到:喊话器-停止播放" + jsonString); - - SpeakerManager.getInstance().speakerStop(message); - break; - case Constant.SPEAKER_PLAY_MODE_SET: - LogUtil.log(TAG, "收到:喊话器-设置播放模式" + jsonString); - SpeakerManager.getInstance().speakerPlayModeSet(message); - break; - case Constant.SPEAKER_PLAY_VOLUME_SET: - LogUtil.log(TAG, "收到:喊话器-设置音量" + jsonString); - SpeakerManager.getInstance().speakerPlayVolumeSet(message); - break; - case Constant.DRC_SPEAKER_TTS_SET: - LogUtil.log(TAG, "收到:喊话器-TTS喊话设置" + jsonString); - SpeakerManager.getInstance().speakerTTSPlayStart(message,1); - break; + break; + case Constant.CAMERA_EXPOSURE_MODE_SET: + LogUtil.log(TAG, "收到:负载控制—相机曝光模式设置" + jsonString); + break; + case Constant.CAMERA_EXPOSURE_SET: + LogUtil.log(TAG, "收到:负载控制—相机曝光值调节" + jsonString); + break; + case Constant.CAMERA_FOCUS_MODE_SET: + LogUtil.log(TAG, "收到:负载控制—相机对焦模式" + jsonString); + break; + case Constant.CAMERA_FOCUS_MODE_VALUE_SET: + LogUtil.log(TAG, "收到:负载控制—相机对焦值设置" + jsonString); + break; + case Constant.CAMERA_POINT_FOCUS_ACTION: + LogUtil.log(TAG, "收到:负载控制—点对焦" + jsonString); + break; + case Constant.IR_METERING_MODE_SET: + LogUtil.log(TAG, "收到:负载控制—红外测温模式设置" + jsonString); + break; + case Constant.IR_METERING_POINT_SET: + LogUtil.log(TAG, "收到:负载控制—红外测温点设置" + jsonString); + break; + case Constant.IR_METERING_AREA_SET: + LogUtil.log(TAG, "收到:负载控制—红外测温区域设置" + jsonString); + break; + case Constant.POI_MODE_ENTER: + LogUtil.log(TAG, "收到:飞行控制—进入 POI 环绕模式" + jsonString); + break; + case Constant.POI_MODE_EXIT: + LogUtil.log(TAG, "收到:飞行控制—退出 POI 环绕模式" + jsonString); + break; + case Constant.POI_CIRCLE_SPEED_SET: + LogUtil.log(TAG, "收到:飞行控制—POI 环绕速度设置" + jsonString); + break; + case Constant.CAMERA_FRAME_ZOOM: + LogUtil.log(TAG, "收到:框选变焦" + jsonString); + CameraManager.getInstance().camera_frame_zoom(message); + break; + case Constant.SPEAKER_AUDIO_PLAY_START: + LogUtil.log(TAG, "收到:喊话器-开始播放音频" + jsonString); + SpeakerProgressReporter.getInstance().startAudioReport(2); + SpeakerManager.getInstance().speakerAudioPlayStart(message); + break; + case Constant.SPEAKER_TTS_PLAY_START: + LogUtil.log(TAG, "收到:喊话器-开始播放TTS文本" + jsonString); + SpeakerProgressReporter.getInstance().startTTSReport(2); + SpeakerManager.getInstance().speakerTTSPlayStart(message, 0); + break; + case Constant.SPEAKER_REPLAY: + LogUtil.log(TAG, "收到:喊话器-重新播放" + jsonString); + SpeakerManager.getInstance().speakerReply(message); + break; + case Constant.SPEAKER_PLAY_STOP: + LogUtil.log(TAG, "收到:喊话器-停止播放" + jsonString); + SpeakerManager.getInstance().speakerStop(message); + break; + case Constant.SPEAKER_PLAY_MODE_SET: + LogUtil.log(TAG, "收到:喊话器-设置播放模式" + jsonString); + SpeakerManager.getInstance().speakerPlayModeSet(message); + break; + case Constant.SPEAKER_PLAY_VOLUME_SET: + LogUtil.log(TAG, "收到:喊话器-设置音量" + jsonString); + SpeakerManager.getInstance().speakerPlayVolumeSet(message); + break; + case Constant.DRC_SPEAKER_TTS_SET: + LogUtil.log(TAG, "收到:喊话器-TTS喊话设置" + jsonString); + SpeakerManager.getInstance().speakerTTSPlayStart(message, 1); + break; + case Constant.UAV_LIVE_FPV: + LogUtil.log(TAG, "收到:切换推流fpv" + jsonString); + StreamManager.getInstance().switchptsp(ComponentIndexType.FPV,message); + break; + case Constant.UAV_LIVE_CAMERA: + LogUtil.log(TAG, "收到:切换推流camera" + jsonString); + StreamManager.getInstance().switchptsp(ComponentIndexType.PORT_1,message); + break; // //获取控制权 // case 60007: @@ -701,6 +721,7 @@ public class MqttCallBack extends BaseManager implements MqttCallbackExtended { // } // break; + } } } diff --git a/app/src/main/java/com/aros/apron/constant/AMSConfig.java b/app/src/main/java/com/aros/apron/constant/AMSConfig.java index eead1ddf..fd85176a 100644 --- a/app/src/main/java/com/aros/apron/constant/AMSConfig.java +++ b/app/src/main/java/com/aros/apron/constant/AMSConfig.java @@ -75,5 +75,21 @@ public class AMSConfig { */ public static String DOWN_UAV_EVENT_REPLY = "nest/uav_event_reply"; + /** + * 负载信息发送的topic + */ + + public static String DOWN_UAV_PSDK_MOVEMENT = "nest/uav_psdk_movement"; + + /** + * 负载信息操作的topic + */ + public static String DOWN_UAV_PSDK_EVENT = "nest/uav_psdk_event"; + + /** + * 收到负载的回复 + */ + + public static String DOWN_UAV_PSDK_REPLAY = "nest/uav_psdk_reply"; } diff --git a/app/src/main/java/com/aros/apron/constant/Constant.java b/app/src/main/java/com/aros/apron/constant/Constant.java index 7ac770d6..b2be62fc 100644 --- a/app/src/main/java/com/aros/apron/constant/Constant.java +++ b/app/src/main/java/com/aros/apron/constant/Constant.java @@ -322,6 +322,12 @@ public class Constant { */ public static final String DRC_SPEAKER_TTS_SET="drc_speaker_tts_set"; - - + /** + * 推流切换fpv + */ + public static final String UAV_LIVE_FPV="uav_live_fpv"; + /** + * 推流切换camera + */ + public static final String UAV_LIVE_CAMERA="uav_live_camera"; } diff --git a/app/src/main/java/com/aros/apron/manager/FlightManager.java b/app/src/main/java/com/aros/apron/manager/FlightManager.java index ee185b71..7f875c7d 100644 --- a/app/src/main/java/com/aros/apron/manager/FlightManager.java +++ b/app/src/main/java/com/aros/apron/manager/FlightManager.java @@ -1015,6 +1015,7 @@ public class FlightManager extends BaseManager { if (!isDebugMode) { //这里可能也会触发备降点关舱门的逻辑 if (!PreferenceUtils.getInstance().getNeedTriggerAlterArucoLand()) { + LogUtil.log(TAG,""); // 发送无人机入库消息到服务器********************待修改************************ ApronExecutionStatus.getInstance().setAircraftWaitShutDown(false); DockStorageManager.getInstance().sendDockStorageMsg2Server(); diff --git a/app/src/main/java/com/aros/apron/manager/FlyToPointManager.java b/app/src/main/java/com/aros/apron/manager/FlyToPointManager.java index 6d34e364..39fb3f56 100644 --- a/app/src/main/java/com/aros/apron/manager/FlyToPointManager.java +++ b/app/src/main/java/com/aros/apron/manager/FlyToPointManager.java @@ -174,6 +174,7 @@ public class FlyToPointManager extends BaseManager { @Override public void onFailure(@NonNull IDJIError error) { sendFailMsg2Server(message,"指点航线上传失败:"+ Utils.getIDJIErrorMsg(error)); + sendEvent2Server("指点航线上传失败:"+ Utils.getIDJIErrorMsg(error),2); //待机 Movement.getInstance().setMode_code(0); sendFlightTaskProgress2Server(); @@ -210,6 +211,7 @@ public class FlyToPointManager extends BaseManager { @Override public void onFailure(@NonNull IDJIError error) { sendFailMsg2Server(message,"指点航线执行失败:" + new Gson().toJson(error)); + sendEvent2Server("指点航线执行失败:" + new Gson().toJson(error),2); //待机 Movement.getInstance().setMode_code(0); sendFlightTaskProgress2Server(); diff --git a/app/src/main/java/com/aros/apron/manager/MissionV3Manager.java b/app/src/main/java/com/aros/apron/manager/MissionV3Manager.java index 39cc5705..369359b3 100644 --- a/app/src/main/java/com/aros/apron/manager/MissionV3Manager.java +++ b/app/src/main/java/com/aros/apron/manager/MissionV3Manager.java @@ -342,6 +342,19 @@ public class MissionV3Manager extends BaseManager { PreferenceUtils.getInstance().setAlternatePointLat(message.getData().getAlternate_land_point().getLatitude() + ""); PreferenceUtils.getInstance().setAlternatePointSecurityHeight(message.getData().getAlternate_land_point().getSafe_land_height() + ""); + //设置全局返航高度 + KeyManager.getInstance().setValue(KeyTools.createKey(FlightControllerKey.KeyGoHomeHeight), message.getData().getRth_altitude(), new CommonCallbacks.CompletionCallback() { + @Override + public void onSuccess() { + LogUtil.log(TAG,"设置全局返航高度成功"); + } + + @Override + public void onFailure(@NonNull IDJIError idjiError) { + LogUtil.log(TAG,"设置全局返航高度失败"); + } + }); + Movement.getInstance().setTask_current_step(5); @@ -357,6 +370,7 @@ public class MissionV3Manager extends BaseManager { boolean statusOk = verifyAircraftStatus(message); //4.信号收敛(等待GPS搜星) if (statusOk) { + sendEvent2Server("条件满足进入自建和下发航线",1); verifyGpsAndMissionState(message); } }); @@ -441,10 +455,11 @@ public class MissionV3Manager extends BaseManager { LogUtil.log(TAG,"isMissionStateValid"+isMissionStateValid+"isPlaneMessageValid"+isPlaneMessageValid+"isGpsQualityValid"+isGpsQualityValid); // if (isMissionStateValid && isPlaneMessageValid && isGpsQualityValid) { - //sendEvent2Server("卫星数量"+GPSSatelliteCount,1); + sendEvent2Server("卫星数量"+GPSSatelliteCount+"gps是否ok"+GPSSatelliteCountValid,1); if (isGpsQualityValid||GPSSatelliteCountValid) { //5.下载航线 downLoadKMZFile(message); + sendEvent2Server("执行下载航线成功",1); verifyGpsAndMissionStateSuccess = true; } else { @@ -586,7 +601,6 @@ public class MissionV3Manager extends BaseManager { public void onProgressUpdate(Double progress) { sendEvent2Server("航线上传进度:" + progress, 1); Movement.getInstance().setTask_current_step(17); - } @Override diff --git a/app/src/main/java/com/aros/apron/manager/PayloadWidgetManager.java b/app/src/main/java/com/aros/apron/manager/PayloadWidgetManager.java index d746a6f1..8903e6c1 100644 --- a/app/src/main/java/com/aros/apron/manager/PayloadWidgetManager.java +++ b/app/src/main/java/com/aros/apron/manager/PayloadWidgetManager.java @@ -1,37 +1,16 @@ package com.aros.apron.manager; - - -import static com.aros.apron.tools.Utils.getIDJIErrorMsg; - -import android.os.Handler; -import android.text.TextUtils; -import android.util.Log; - import androidx.annotation.NonNull; import com.aros.apron.base.BaseManager; -import com.aros.apron.constant.AMSConfig; -import com.aros.apron.entity.MessageReply; -import com.aros.apron.entity.Movement; import com.aros.apron.entity.PayloadInfo; import com.aros.apron.tools.LogUtil; -import com.aros.apron.tools.MqttManager; -import com.aros.apron.tools.Utils; import com.google.gson.Gson; import com.google.gson.GsonBuilder; - -import org.eclipse.paho.android.service.MqttAndroidClient; -import org.eclipse.paho.client.mqttv3.MqttMessage; - import java.util.ArrayList; import java.util.List; import java.util.Map; - import dji.sdk.keyvalue.key.FlightControllerKey; import dji.sdk.keyvalue.key.KeyTools; -import dji.sdk.keyvalue.value.payload.CustomizeRcButtonConfig; -import dji.sdk.keyvalue.value.payload.WidgetType; -import dji.sdk.keyvalue.value.payload.WidgetValue; import dji.v5.common.callback.CommonCallbacks; import dji.v5.common.error.IDJIError; import dji.v5.manager.KeyManager; @@ -45,7 +24,7 @@ import dji.v5.manager.aircraft.payload.listener.PayloadWidgetInfoListener; import dji.v5.manager.interfaces.IPayloadManager; -public class PayloadWidgetManager { +public class PayloadWidgetManager extends BaseManager { private String TAG = this.getClass().getSimpleName(); private List payloadInfos = new ArrayList<>(); @@ -61,7 +40,6 @@ public class PayloadWidgetManager { return PayloadWidgetHolder.INSTANCE; } - // 使用GsonBuilder配置Gson实例以允许序列化特殊浮点数值 Gson gson = new GsonBuilder() .serializeSpecialFloatingPointValues() // 这是关键 @@ -75,29 +53,37 @@ public class PayloadWidgetManager { if (payloadManager != null) { IPayloadManager iPayloadManager = payloadManager.get(PayloadIndexType.PORT_1); if (iPayloadManager != null) { - //可以把负载设备控件打印 - PayloadCenter.getInstance().getPayloadManager().get(PayloadIndexType.PORT_1).addPayloadWidgetInfoListener(new PayloadWidgetInfoListener() { + PayloadCenter.getInstance().getPayloadManager().get(PayloadIndexType.PORT_1).pullWidgetInfoFromPayload(new CommonCallbacks.CompletionCallback() { @Override - public void onPayloadWidgetInfoUpdate(PayloadWidgetInfo info) { - LogUtil.log(TAG, "左侧负载控件信息:" + info.toString()); + public void onSuccess() { + //可以把负载设备控件打印 + PayloadCenter.getInstance().getPayloadManager().get(PayloadIndexType.PORT_1).addPayloadWidgetInfoListener(new PayloadWidgetInfoListener() { + @Override + public void onPayloadWidgetInfoUpdate(PayloadWidgetInfo info) { + LogUtil.log(TAG, "左侧负载控件信息:" + info.toString()); + //如果负载为空 + if(info.getConfigInterfaceWidgetList()==null||info.getMainInterfaceWidgetList()==null){ + PayloadCenter.getInstance().getPayloadManager().get(PayloadIndexType.PORT_1).pullWidgetInfoFromPayload(new CommonCallbacks.CompletionCallback() { + @Override + public void onSuccess() { + LogUtil.log(TAG,"负载重复拉取成功"); + } + + @Override + public void onFailure(@NonNull IDJIError idjiError) { + LogUtil.log(TAG,"负载重复拉取失败"); + } + }); + } + } + }); + } + + @Override + public void onFailure(@NonNull IDJIError idjiError) { + LogUtil.log(TAG,"负载第一次拉取失败"); } }); - - PayloadCenter.getInstance().getPayloadManager().get(PayloadIndexType.PORT_1).addPayloadDataListener(new PayloadDataListener() { - @Override - public void onDataFromPayloadUpdate(byte[] data) { - LogUtil.log(TAG, "onDataFromPayloadUpdate:" + data.toString()); - } - }); - PayloadCenter.getInstance().getPayloadManager().get(PayloadIndexType.PORT_1).addPayloadBasicInfoListener(new PayloadBasicInfoListener() { - @Override - public void onPayloadBasicInfoUpdate(PayloadBasicInfo info) { - LogUtil.log(TAG, "addPayloadBasicInfoListener:" + info.toString()); - } - }); - - - } else { LogUtil.log(TAG, "监听LEFT_OR_MAIN PSDK数据失败:设备未连接"); } @@ -109,6 +95,21 @@ public class PayloadWidgetManager { } } + + + + + + + + + + + + + + + // //设置三方负载控件 // public void setWidget(MQMessage message) { // Boolean isConnect = KeyManager.getInstance().getValue(KeyTools.createKey(FlightControllerKey.KeyConnection)); diff --git a/app/src/main/java/com/aros/apron/manager/PerceptionManager.java b/app/src/main/java/com/aros/apron/manager/PerceptionManager.java index c64fd789..7d5d5a62 100644 --- a/app/src/main/java/com/aros/apron/manager/PerceptionManager.java +++ b/app/src/main/java/com/aros/apron/manager/PerceptionManager.java @@ -41,7 +41,7 @@ public class PerceptionManager extends BaseManager { public void setPerceptionEnable(boolean perceptionEnable) { if (PreferenceUtils.getInstance().getCloseObsEnable() && perceptionEnable) { - LogUtil.log(TAG, "全局避障关闭,不开启避障"); + //LogUtil.log(TAG, "全局避障关闭,不开启避障"); return; } @@ -56,7 +56,7 @@ public class PerceptionManager extends BaseManager { @Override public void onSuccess() { if (perceptionEnable) { - LogUtil.log(TAG, "避障开启"); + //LogUtil.log(TAG, "避障开启"); } else { closePerceptionSuccess = true; //LogUtil.log(TAG, "避障关闭"); @@ -102,7 +102,7 @@ public class PerceptionManager extends BaseManager { perceptionManager.setObstacleAvoidanceEnabled(perceptionEnable ? true:false, PerceptionDirection.HORIZONTAL, new CommonCallbacks.CompletionCallback() { @Override public void onSuccess() { - LogUtil.log(TAG, "开启水平避障"); + //LogUtil.log(TAG, "开启水平避障"); } @Override diff --git a/app/src/main/java/com/aros/apron/manager/StreamManager.java b/app/src/main/java/com/aros/apron/manager/StreamManager.java index dbd978d7..79a67c15 100644 --- a/app/src/main/java/com/aros/apron/manager/StreamManager.java +++ b/app/src/main/java/com/aros/apron/manager/StreamManager.java @@ -55,7 +55,7 @@ public class StreamManager extends BaseManager { public void onLiveStreamStatusUpdate(LiveStreamStatus status) { if (status != null) { Movement.getInstance().setLiveStatus(status.isStreaming() ? 1 : 0); - Log.d(TAG, "推流状态"+status.isStreaming()+"帧率:" + status.getFps() + "--" + "码率:" + status.getVbps()+"---"+"延迟:"+status.getRtt()); + Log.d(TAG, "推流状态" + status.isStreaming() + "帧率:" + status.getFps() + "--" + "码率:" + status.getVbps() + "---" + "延迟:" + status.getRtt()); } } @@ -68,7 +68,7 @@ public class StreamManager extends BaseManager { } public void startLive(MessageDown message) { -sendMsg2Server(message); + sendMsg2Server(message); } @@ -80,9 +80,9 @@ sendMsg2Server(message); } else { ILiveStreamManager liveStreamManager = MediaDataCenter.getInstance().getLiveStreamManager(); if (liveStreamManager.isStreaming()) { - if (message.getData().getVideo_quality()==0||message.getData().getVideo_quality()==4){ + if (message.getData().getVideo_quality() == 0 || message.getData().getVideo_quality() == 4) { liveStreamManager.setLiveStreamQuality(StreamQuality.ORIGINAL); - }else { + } else { liveStreamManager.setLiveStreamQuality(StreamQuality.find(message.getData().getVideo_quality())); } sendMsg2Server(message); @@ -114,7 +114,7 @@ sendMsg2Server(message); // if (value != null && (value == CameraType.ZENMUSE_H20T || // value == CameraType.ZENMUSE_H20N || value == CameraType.ZENMUSE_H20) // || value == CameraType.ZENMUSE_H30 || value == CameraType.ZENMUSE_H30T) { - liveStreamManager.setCameraIndex(ComponentIndexType.PORT_1); + liveStreamManager.setCameraIndex(ComponentIndexType.PORT_1); // } else { // liveStreamManager.setCameraIndex(ComponentIndexType.FPV); // } @@ -125,13 +125,13 @@ sendMsg2Server(message); @Override public void onSuccess() { LogUtil.log(TAG, "自定义推流启动成功"); - isLiveStreamAlreadyStart=true; + isLiveStreamAlreadyStart = true; } @Override public void onFailure(@NonNull IDJIError error) { - LogUtil.log(TAG, "第"+startLiveFailTimes+"次开始推流失败:"+new Gson().toJson(error)); - if (!isLiveStreamAlreadyStart){ + LogUtil.log(TAG, "第" + startLiveFailTimes + "次开始推流失败:" + new Gson().toJson(error)); + if (!isLiveStreamAlreadyStart) { new Handler().postDelayed(new Runnable() { @Override public void run() { @@ -149,18 +149,312 @@ sendMsg2Server(message); } + private int isliveindex = 1; //1代表port 2代表fpv + + public void switchptsp(ComponentIndexType ComponentIndex, MessageDown message) { + isLiveStreamAlreadyStart = false; + sendMsg2Server(message); + LogUtil.log(TAG, "收到回复" + message.toString()); + if (ComponentIndex == ComponentIndexType.PORT_1 && isliveindex == 2) { + ILiveStreamManager liveStreamManager = MediaDataCenter.getInstance().getLiveStreamManager(); + LogUtil.log(TAG, "自定义RTSP推流:" + PreferenceUtils.getInstance().getRtspUserName() + + "--" + PreferenceUtils.getInstance().getRtspPort() + "--" + PreferenceUtils.getInstance().getRtspPassWord()); + + LiveStreamSettings.Builder streamSettingBuilder = new LiveStreamSettings.Builder(); + + LiveStreamSettings streamSettings = streamSettingBuilder.setLiveStreamType(LiveStreamType.RTSP) + .setRtspSettings(new RtspSettings.Builder().setPassWord(PreferenceUtils.getInstance().getRtspPassWord()). + setPort(Integer.parseInt(PreferenceUtils.getInstance().getRtspPort())). + setUserName(PreferenceUtils.getInstance().getRtspUserName()).build()).build(); + + liveStreamManager.setLiveStreamSettings(streamSettings); + + + CameraType value = KeyManager.getInstance().getValue(KeyTools.createKey(CameraKey.KeyCameraType, ComponentIndexType.PORT_1)); + + liveStreamManager.setCameraIndex(ComponentIndex); + + liveStreamManager.setLiveStreamQuality(StreamQuality.FULL_HD); + liveStreamManager.setLiveVideoBitrateMode(LiveVideoBitrateMode.AUTO); + isliveindex = 1; + + + } else if (ComponentIndex == ComponentIndexType.FPV && isliveindex == 1) { + ILiveStreamManager liveStreamManager = MediaDataCenter.getInstance().getLiveStreamManager(); + LogUtil.log(TAG, "自定义RTSP推流:" + PreferenceUtils.getInstance().getRtspUserName() + + "--" + PreferenceUtils.getInstance().getRtspPort() + "--" + PreferenceUtils.getInstance().getRtspPassWord()); + + LiveStreamSettings.Builder streamSettingBuilder = new LiveStreamSettings.Builder(); + + LiveStreamSettings streamSettings = streamSettingBuilder.setLiveStreamType(LiveStreamType.RTSP) + .setRtspSettings(new RtspSettings.Builder().setPassWord(PreferenceUtils.getInstance().getRtspPassWord()). + setPort(Integer.parseInt(PreferenceUtils.getInstance().getRtspPort())). + setUserName(PreferenceUtils.getInstance().getRtspUserName()).build()).build(); + + liveStreamManager.setLiveStreamSettings(streamSettings); + + + CameraType value = KeyManager.getInstance().getValue(KeyTools.createKey(CameraKey.KeyCameraType, ComponentIndexType.PORT_1)); + + liveStreamManager.setCameraIndex(ComponentIndex); + + liveStreamManager.setLiveStreamQuality(StreamQuality.FULL_HD); + liveStreamManager.setLiveVideoBitrateMode(LiveVideoBitrateMode.AUTO); + isliveindex = 2; + } + + +// if (ComponentIndex==ComponentIndexType.PORT_1&&isliveindex==2){ +// Boolean isAircraftConnected = KeyManager.getInstance().getValue(DJIKey.create(ProductKey.KeyConnection)); +// if (isAircraftConnected == null || !isAircraftConnected) { +// LogUtil.log(TAG, "飞行器未连接"); +// } else { +// if (PreferenceUtils.getInstance().getRtspUserName()!=null&& +// PreferenceUtils.getInstance().getRtspPort()!=null&& +// PreferenceUtils.getInstance().getRtspPassWord()!=null +// ){ +// ILiveStreamManager liveStreamManager = MediaDataCenter.getInstance().getLiveStreamManager(); +// LogUtil.log(TAG, "自定义RTSP推流:" + PreferenceUtils.getInstance().getRtspUserName() +// +"--"+PreferenceUtils.getInstance().getRtspPort()+"--"+PreferenceUtils.getInstance().getRtspPassWord()); +// +// LiveStreamSettings.Builder streamSettingBuilder = new LiveStreamSettings.Builder(); +// +// LiveStreamSettings streamSettings = streamSettingBuilder.setLiveStreamType(LiveStreamType.RTSP) +// .setRtspSettings(new RtspSettings.Builder().setPassWord(PreferenceUtils.getInstance().getRtspPassWord()). +// setPort(Integer.parseInt(PreferenceUtils.getInstance().getRtspPort())). +// setUserName(PreferenceUtils.getInstance().getRtspUserName()).build()).build(); +// +// liveStreamManager.setLiveStreamSettings(streamSettings); +// +// +// CameraType value = KeyManager.getInstance().getValue(KeyTools.createKey(CameraKey.KeyCameraType, ComponentIndexType.PORT_1)); +// +// liveStreamManager.setCameraIndex(ComponentIndex); +// +// liveStreamManager.setLiveStreamQuality(StreamQuality.FULL_HD); +// liveStreamManager.setLiveVideoBitrateMode(LiveVideoBitrateMode.AUTO); +// +// if (!liveStreamManager.isStreaming()) { +// liveStreamManager.startStream(new CommonCallbacks.CompletionCallback() { +// @Override +// public void onSuccess() { +// startLiveFailTimes=0; +// LogUtil.log(TAG, "自定义RTSP推流启动成功"); +// isliveindex=1; +// isLiveStreamAlreadyStart=true; +// sendEvent2Server("切换视频流成功",1); +// } +// +// @Override +// public void onFailure(@NonNull IDJIError error) { +// LogUtil.log(TAG, "第"+startLiveFailTimes+"次开始RTSP推流失败:"+new Gson().toJson(error)); +// if (!isLiveStreamAlreadyStart){ +// new Handler().postDelayed(new Runnable() { +// @Override +// public void run() { +// if (startLiveFailTimes < 10) { +// startLiveFailTimes++; +// switchptsp(ComponentIndex, message); +// } +// } +// }, 3000); +// } +// } +// }); +// }else{ +// liveStreamManager.stopStream(new CommonCallbacks.CompletionCallback() { +// @Override +// public void onSuccess() { +// new Handler().postDelayed(new Runnable() { +// @Override +// public void run() { +// liveStreamManager.startStream(new CommonCallbacks.CompletionCallback() { +// @Override +// public void onSuccess() { +// startLiveFailTimes=0; +// LogUtil.log(TAG, "自定义RTSP推流启动成功"); +// isliveindex=1; +// sendEvent2Server("切换视频流成功",1); +// isLiveStreamAlreadyStart=true; +// } +// +// @Override +// public void onFailure(@NonNull IDJIError error) { +// LogUtil.log(TAG, "第"+startLiveFailTimes+"次开始RTSP推流失败:"+new Gson().toJson(error)); +// if (!isLiveStreamAlreadyStart){ +// new Handler().postDelayed(new Runnable() { +// @Override +// public void run() { +// if (startLiveFailTimes < 10) { +// startLiveFailTimes++; +// switchptsp(ComponentIndex, message); +// } +// } +// }, 3000); +// } +// } +// }); +// } +// },2000); +// } +// +// @Override +// public void onFailure(@NonNull IDJIError error) { +// LogUtil.log(TAG, "第"+startLiveFailTimes+"次开始RTSP推流失败:"+new Gson().toJson(error)); +// if (!isLiveStreamAlreadyStart){ +// new Handler().postDelayed(new Runnable() { +// @Override +// public void run() { +// if (startLiveFailTimes < 10) { +// startLiveFailTimes++; +// switchptsp(ComponentIndex, message); +// } +// } +// }, 3000); +// } +// } +// }); +// } +// }else{ +// LogUtil.log(TAG,"RTSP配置参数有误"); +// } +// } +// +// +// }else if(ComponentIndex==ComponentIndexType.FPV&&isliveindex==1){ +// Boolean isAircraftConnected = KeyManager.getInstance().getValue(DJIKey.create(ProductKey.KeyConnection)); +// if (isAircraftConnected == null || !isAircraftConnected) { +// LogUtil.log(TAG, "飞行器未连接"); +// } else { +// if (PreferenceUtils.getInstance().getRtspUserName()!=null&& +// PreferenceUtils.getInstance().getRtspPort()!=null&& +// PreferenceUtils.getInstance().getRtspPassWord()!=null +// ){ +// ILiveStreamManager liveStreamManager = MediaDataCenter.getInstance().getLiveStreamManager(); +// LogUtil.log(TAG, "自定义RTSP推流:" + PreferenceUtils.getInstance().getRtspUserName() +// +"--"+PreferenceUtils.getInstance().getRtspPort()+"--"+PreferenceUtils.getInstance().getRtspPassWord()); +// +// LiveStreamSettings.Builder streamSettingBuilder = new LiveStreamSettings.Builder(); +// +// LiveStreamSettings streamSettings = streamSettingBuilder.setLiveStreamType(LiveStreamType.RTSP) +// .setRtspSettings(new RtspSettings.Builder().setPassWord(PreferenceUtils.getInstance().getRtspPassWord()). +// setPort(Integer.parseInt(PreferenceUtils.getInstance().getRtspPort())). +// setUserName(PreferenceUtils.getInstance().getRtspUserName()).build()).build(); +// +// liveStreamManager.setLiveStreamSettings(streamSettings); +// +// +// CameraType value = KeyManager.getInstance().getValue(KeyTools.createKey(CameraKey.KeyCameraType, ComponentIndexType.PORT_1)); +// +// liveStreamManager.setCameraIndex(ComponentIndex); +// +// liveStreamManager.setLiveStreamQuality(StreamQuality.FULL_HD); +// liveStreamManager.setLiveVideoBitrateMode(LiveVideoBitrateMode.AUTO); +// +// if (!liveStreamManager.isStreaming()) { +// liveStreamManager.startStream(new CommonCallbacks.CompletionCallback() { +// @Override +// public void onSuccess() { +// startLiveFailTimes=0; +// LogUtil.log(TAG, "自定义RTSP推流启动成功"); +// isliveindex=2; +// isLiveStreamAlreadyStart=true; +// sendEvent2Server("切换视频流成功",1); +// +// } +// +// @Override +// public void onFailure(@NonNull IDJIError error) { +// LogUtil.log(TAG, "第"+startLiveFailTimes+"次开始RTSP推流失败:"+new Gson().toJson(error)); +// if (!isLiveStreamAlreadyStart){ +// new Handler().postDelayed(new Runnable() { +// @Override +// public void run() { +// if (startLiveFailTimes < 10) { +// startLiveFailTimes++; +// switchptsp(ComponentIndex, message); +// } +// } +// }, 3000); +// } +// } +// }); +// }else{ +// liveStreamManager.stopStream(new CommonCallbacks.CompletionCallback() { +// @Override +// public void onSuccess() { +// new Handler().postDelayed(new Runnable() { +// @Override +// public void run() { +// liveStreamManager.startStream(new CommonCallbacks.CompletionCallback() { +// @Override +// public void onSuccess() { +// startLiveFailTimes=0; +// LogUtil.log(TAG, "自定义RTSP推流启动成功"); +// isLiveStreamAlreadyStart=true; +// isliveindex=2; +// sendEvent2Server("切换视频流成功",1); +// } +// +// @Override +// public void onFailure(@NonNull IDJIError error) { +// LogUtil.log(TAG, "第"+startLiveFailTimes+"次开始RTSP推流失败:"+new Gson().toJson(error)); +// if (!isLiveStreamAlreadyStart){ +// new Handler().postDelayed(new Runnable() { +// @Override +// public void run() { +// if (startLiveFailTimes < 10) { +// startLiveFailTimes++; +// switchptsp(ComponentIndex, message); +// } +// } +// }, 3000); +// } +// } +// }); +// } +// },2000); +// } +// @Override +// public void onFailure(@NonNull IDJIError error) { +// LogUtil.log(TAG, "第"+startLiveFailTimes+"次开始RTSP推流失败:"+new Gson().toJson(error)); +// if (!isLiveStreamAlreadyStart){ +// new Handler().postDelayed(new Runnable() { +// @Override +// public void run() { +// if (startLiveFailTimes < 10) { +// startLiveFailTimes++; +// switchptsp(ComponentIndex, message); +// } +// } +// }, 3000); +// } +// } +// }); +// } +// }else{ +// LogUtil.log(TAG,"RTSP配置参数有误"); +// } +// } +// +// } + + } + + public void startLiveWithRTSP() { Boolean isAircraftConnected = KeyManager.getInstance().getValue(DJIKey.create(ProductKey.KeyConnection)); if (isAircraftConnected == null || !isAircraftConnected) { LogUtil.log(TAG, "飞行器未连接"); } else { - if (PreferenceUtils.getInstance().getRtspUserName()!=null&& - PreferenceUtils.getInstance().getRtspPort()!=null&& - PreferenceUtils.getInstance().getRtspPassWord()!=null - ){ + if (PreferenceUtils.getInstance().getRtspUserName() != null && + PreferenceUtils.getInstance().getRtspPort() != null && + PreferenceUtils.getInstance().getRtspPassWord() != null + ) { ILiveStreamManager liveStreamManager = MediaDataCenter.getInstance().getLiveStreamManager(); LogUtil.log(TAG, "自定义RTSP推流:" + PreferenceUtils.getInstance().getRtspUserName() - +"--"+PreferenceUtils.getInstance().getRtspPort()+"--"+PreferenceUtils.getInstance().getRtspPassWord()); + + "--" + PreferenceUtils.getInstance().getRtspPort() + "--" + PreferenceUtils.getInstance().getRtspPassWord()); + LiveStreamSettings.Builder streamSettingBuilder = new LiveStreamSettings.Builder(); LiveStreamSettings streamSettings = streamSettingBuilder.setLiveStreamType(LiveStreamType.RTSP) @@ -168,32 +462,34 @@ sendMsg2Server(message); setPort(Integer.parseInt(PreferenceUtils.getInstance().getRtspPort())). setUserName(PreferenceUtils.getInstance().getRtspUserName()).build()).build(); - - - liveStreamManager.setLiveStreamSettings(streamSettings); + + CameraType value = KeyManager.getInstance().getValue(KeyTools.createKey(CameraKey.KeyCameraType, ComponentIndexType.PORT_1)); + // if (value != null && (value == CameraType.ZENMUSE_H20T || // value == CameraType.ZENMUSE_H20N || value == CameraType.ZENMUSE_H20) // || value == CameraType.ZENMUSE_H30 || value == CameraType.ZENMUSE_H30T) { - liveStreamManager.setCameraIndex(ComponentIndexType.PORT_1); + liveStreamManager.setCameraIndex(ComponentIndexType.PORT_1); // } else { // liveStreamManager.setCameraIndex(ComponentIndexType.FPV); // } liveStreamManager.setLiveStreamQuality(StreamQuality.FULL_HD); liveStreamManager.setLiveVideoBitrateMode(LiveVideoBitrateMode.AUTO); + if (!liveStreamManager.isStreaming()) { liveStreamManager.startStream(new CommonCallbacks.CompletionCallback() { @Override public void onSuccess() { LogUtil.log(TAG, "自定义RTSP推流启动成功"); - isLiveStreamAlreadyStart=true; + isliveindex = 1; + isLiveStreamAlreadyStart = true; } @Override public void onFailure(@NonNull IDJIError error) { - LogUtil.log(TAG, "第"+startLiveFailTimes+"次开始RTSP推流失败:"+new Gson().toJson(error)); - if (!isLiveStreamAlreadyStart){ + LogUtil.log(TAG, "第" + startLiveFailTimes + "次开始RTSP推流失败:" + new Gson().toJson(error)); + if (!isLiveStreamAlreadyStart) { new Handler().postDelayed(new Runnable() { @Override public void run() { @@ -206,7 +502,7 @@ sendMsg2Server(message); } } }); - }else{ + } else { liveStreamManager.stopStream(new CommonCallbacks.CompletionCallback() { @Override public void onSuccess() { @@ -217,13 +513,14 @@ sendMsg2Server(message); @Override public void onSuccess() { LogUtil.log(TAG, "自定义RTSP推流启动成功"); - isLiveStreamAlreadyStart=true; + isliveindex = 1; + isLiveStreamAlreadyStart = true; } @Override public void onFailure(@NonNull IDJIError error) { - LogUtil.log(TAG, "第"+startLiveFailTimes+"次开始RTSP推流失败:"+new Gson().toJson(error)); - if (!isLiveStreamAlreadyStart){ + LogUtil.log(TAG, "第" + startLiveFailTimes + "次开始RTSP推流失败:" + new Gson().toJson(error)); + if (!isLiveStreamAlreadyStart) { new Handler().postDelayed(new Runnable() { @Override public void run() { @@ -237,13 +534,13 @@ sendMsg2Server(message); } }); } - },2000); + }, 2000); } @Override public void onFailure(@NonNull IDJIError error) { - LogUtil.log(TAG, "第"+startLiveFailTimes+"次开始RTSP推流失败:"+new Gson().toJson(error)); - if (!isLiveStreamAlreadyStart){ + LogUtil.log(TAG, "第" + startLiveFailTimes + "次开始RTSP推流失败:" + new Gson().toJson(error)); + if (!isLiveStreamAlreadyStart) { new Handler().postDelayed(new Runnable() { @Override public void run() { @@ -257,8 +554,8 @@ sendMsg2Server(message); } }); } - }else{ - LogUtil.log(TAG,"RTSP配置参数有误"); + } else { + LogUtil.log(TAG, "RTSP配置参数有误"); } } } diff --git a/app/src/main/java/com/aros/apron/manager/TakeOffToPointManager.java b/app/src/main/java/com/aros/apron/manager/TakeOffToPointManager.java index 27a43f75..1d4d9faa 100644 --- a/app/src/main/java/com/aros/apron/manager/TakeOffToPointManager.java +++ b/app/src/main/java/com/aros/apron/manager/TakeOffToPointManager.java @@ -177,9 +177,7 @@ public class TakeOffToPointManager extends BaseManager { boolean isGpsQualityValid = (quality == 4 || quality == 5 || quality == 10); boolean GPSSatelliteCountValid=GPSSatelliteCount>15; - LogUtil.log(TAG,"isMissionStateValid"+isMissionStateValid+"isPlaneMessageValid"+isPlaneMessageValid+"isGpsQualityValid"+isGpsQualityValid); - // if (isMissionStateValid && isPlaneMessageValid && isGpsQualityValid) { if (GPSSatelliteCountValid||isGpsQualityValid) { //5.生成航线