rtsp切换修改

This commit is contained in:
cxf 2026-03-04 11:20:07 +08:00
parent 1ee8a7f916
commit 480c546506
38 changed files with 1378 additions and 637 deletions

View File

@ -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 ¨ ÃÖ<C383>˜Á3
VC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\libcxx_helper\CMakeLists.txt  ¼èƶË3 ¨ ÃÖ<C383>˜Á3

View File

@ -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  <EFBFBD>鯶Ë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  <EFBFBD>鯶Ë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  <EFBFBD>鯶Ë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  <EFBFBD>鯶Ë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  <EFBFBD>鯶Ë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  <EFBFBD>鯶Ë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  <EFBFBD>鯶Ë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  <EFBFBD>鯶Ë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  <EFBFBD>鯶Ë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  <EFBFBD>鯶Ë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  <EFBFBD>鯶Ë3  p •שœÁ3Z
X
VC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\libcxx_helper\CMakeLists.txt  òЂœÉ3 ¨ ÃÖ<C383>˜Á3
VC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\libcxx_helper\CMakeLists.txt  <EFBFBD>鯶Ë3 ¨ ÃÖ<C383>˜Á3

View File

@ -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 ¨ ÃÖ<C383>˜Á3
VC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\libcxx_helper\CMakeLists.txt  —êÆ¶Ë3 ¨ ÃÖ<C383>˜Á3

View File

@ -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ª
<20>婜Á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 ¨ ÃÖ<C383>˜Á3
VC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\libcxx_helper\CMakeLists.txt  •ëÆ¶Ë3 ¨ ÃÖ<C383>˜Á3

View File

@ -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
},

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
}
]

View File

@ -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

View File

@ -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
}
]

View File

@ -1,3 +1,6 @@
# C/C++ build system timings
generate_cxx_metadata 16ms
# C/C++ build system timings
generate_cxx_metadata 18ms

View File

@ -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

View File

@ -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

View File

@ -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
}
]

View File

@ -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

View File

@ -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
}
]

View File

@ -11,6 +11,6 @@
"fieldsDescending": {}
},
"memoizedSize": -1,
"memoizedHashCode": -735102328
"memoizedHashCode": -931797841
}
]

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
}
]

View File

@ -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)){

View File

@ -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<View>(
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<LensControlWidget>(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<LensControlWidget>( 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<TextView>( 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,8 +575,7 @@ open class MainActivity : BaseActivity() {
}
private val handler: Handler = Handler(Looper.getMainLooper())
private var initTimes = 0
private var initTimes=0
private fun initDJIManager() {
//如果没有云台修改这里
@ -651,14 +583,9 @@ open class MainActivity : BaseActivity() {
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<LEDsSettings?>(
KeyTools.createKey<LEDsSettings?>(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<EmptyMsg>(
KeyTools.createKey<EmptyMsg, EmptyMsg>(FlightControllerKey.KeyStartAutoLanding),
object : CommonCallbacks.CompletionCallbackWithParam<EmptyMsg?> {
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<EmptyMsg>(
KeyTools.createKey<EmptyMsg, EmptyMsg>(FlightControllerKey.KeyStartAutoLanding),
object : CommonCallbacks.CompletionCallbackWithParam<EmptyMsg?> {
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<EmptyMsg>(
KeyTools.createKey<EmptyMsg, EmptyMsg>(FlightControllerKey.KeyStartAutoLanding),
object : CommonCallbacks.CompletionCallbackWithParam<EmptyMsg?> {
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

View File

@ -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

View File

@ -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;
}
}
}

View File

@ -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";
}

View File

@ -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";
}

View File

@ -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();

View File

@ -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();

View File

@ -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

View File

@ -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<PayloadInfo> 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));

View File

@ -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

View File

@ -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配置参数有误");
}
}
}

View File

@ -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.生成航线