正在显示
21 个修改的文件
包含
543 行增加
和
203 行删除
@@ -141,7 +141,11 @@ | @@ -141,7 +141,11 @@ | ||
141 | "jzsdk_monitor.h": "c", | 141 | "jzsdk_monitor.h": "c", |
142 | "*.bak": "c", | 142 | "*.bak": "c", |
143 | "ziyan_sdk_config.h": "c", | 143 | "ziyan_sdk_config.h": "c", |
144 | - "test_payload_cam_emu_base.h": "c" | 144 | + "test_payload_cam_emu_base.h": "c", |
145 | + "jzsdk_expansion.h": "c", | ||
146 | + "jzsdk_expansionapi.h": "c", | ||
147 | + "test_widget_speaker.h": "c", | ||
148 | + "dji_expansion.h": "c" | ||
145 | }, | 149 | }, |
146 | "Codegeex.GenerationPreference": "automatic", | 150 | "Codegeex.GenerationPreference": "automatic", |
147 | "C_Cpp.dimInactiveRegions": false, | 151 | "C_Cpp.dimInactiveRegions": false, |
1 | # 编译链的配置 | 1 | # 编译链的配置 |
2 | 2 | ||
3 | #1、编译链与设备类型的选择 | 3 | #1、编译链与设备类型的选择 |
4 | -set(DEVICE_NAME JZ_U3D) | 4 | +set(DEVICE_NAME JZ_H200) |
5 | #上一行为禁止修改行 | 5 | #上一行为禁止修改行 |
6 | 6 | ||
7 | message("**************************JZSDK构建编译开始***************************\n") | 7 | message("**************************JZSDK构建编译开始***************************\n") |
@@ -32,6 +32,8 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_C1") | @@ -32,6 +32,8 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_C1") | ||
32 | set(MAKE_COMPILER ARM_X86_64_ARRCH64) | 32 | set(MAKE_COMPILER ARM_X86_64_ARRCH64) |
33 | elseif("${DEVICE_NAME}" STREQUAL "JZ_ST") | 33 | elseif("${DEVICE_NAME}" STREQUAL "JZ_ST") |
34 | set(MAKE_COMPILER ARM_X86_64_ARRCH64) | 34 | set(MAKE_COMPILER ARM_X86_64_ARRCH64) |
35 | +elseif("${DEVICE_NAME}" STREQUAL "JZ_H200") | ||
36 | + set(MAKE_COMPILER ARM_CORTEX_LINUX) | ||
35 | endif() | 37 | endif() |
36 | 38 | ||
37 | if(${MAKE_COMPILER} STREQUAL "ARM_CORTEXA9_LINUX") | 39 | if(${MAKE_COMPILER} STREQUAL "ARM_CORTEXA9_LINUX") |
@@ -42,8 +44,8 @@ if(${MAKE_COMPILER} STREQUAL "ARM_CORTEXA9_LINUX") | @@ -42,8 +44,8 @@ if(${MAKE_COMPILER} STREQUAL "ARM_CORTEXA9_LINUX") | ||
42 | 44 | ||
43 | elseif(${MAKE_COMPILER} STREQUAL "ARM_CORTEX_LINUX") | 45 | elseif(${MAKE_COMPILER} STREQUAL "ARM_CORTEX_LINUX") |
44 | set(TOOLCHAIN_NAME arm-linux-gnueabihf-gcc) | 46 | set(TOOLCHAIN_NAME arm-linux-gnueabihf-gcc) |
45 | - set(CMAKE_C_COMPILER "/usr/local/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc") | ||
46 | - set(CMAKE_CXX_COMPILER "/usr/local/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++") | 47 | + set(CMAKE_C_COMPILER "/usr/local/arm/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc") |
48 | + set(CMAKE_CXX_COMPILER "/usr/local/arm/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++") | ||
47 | message("使用ARM_CORTEX_LINUX编译链") | 49 | message("使用ARM_CORTEX_LINUX编译链") |
48 | 50 | ||
49 | elseif(${MAKE_COMPILER} STREQUAL "ARM_X86_64_ARRCH64") | 51 | elseif(${MAKE_COMPILER} STREQUAL "ARM_X86_64_ARRCH64") |
@@ -47,6 +47,9 @@ if(${GIMBAL_MODULE} STREQUAL "VERSION_SWITCH_ON") | @@ -47,6 +47,9 @@ if(${GIMBAL_MODULE} STREQUAL "VERSION_SWITCH_ON") | ||
47 | file(GLOB_RECURSE GIMBAL_SRC ${ROOT_DIRS}Module/Gimbal/*.c) | 47 | file(GLOB_RECURSE GIMBAL_SRC ${ROOT_DIRS}Module/Gimbal/*.c) |
48 | list(APPEND ALL_SRC_FILES ${GIMBAL_SRC}) | 48 | list(APPEND ALL_SRC_FILES ${GIMBAL_SRC}) |
49 | 49 | ||
50 | + #打开云台的代码编译部分 | ||
51 | + add_definitions(-DMACRO_GIMBAL_MODULE) | ||
52 | + | ||
50 | endif() | 53 | endif() |
51 | 54 | ||
52 | #如果要加载引脚模块,需要加载以下附属内容 | 55 | #如果要加载引脚模块,需要加载以下附属内容 |
@@ -154,6 +157,14 @@ if(${COMMON_MODULE} STREQUAL "VERSION_SWITCH_ON") | @@ -154,6 +157,14 @@ if(${COMMON_MODULE} STREQUAL "VERSION_SWITCH_ON") | ||
154 | 157 | ||
155 | endif() | 158 | endif() |
156 | 159 | ||
160 | +#如果要加载拓展接口模块,需要加载以下附属内容 | ||
161 | +if(${EXTENSION_API_MODULE} STREQUAL "VERSION_SWITCH_ON") | ||
162 | + message("\n拓展接口模块加载中") | ||
163 | + | ||
164 | + file(GLOB_RECURSE EXTENSION_API_MODULE_SRC ${ROOT_DIRS}Module/ExtensionAPI/*.c) | ||
165 | + list(APPEND ALL_SRC_FILES ${EXTENSION_API_MODULE_SRC}) | ||
166 | +endif() | ||
167 | + | ||
157 | #如果要加载侧面激光模块,需要加载以下附属内容 | 168 | #如果要加载侧面激光模块,需要加载以下附属内容 |
158 | if(${SIDE_LASER_MODULE} STREQUAL "VERSION_SWITCH_ON") | 169 | if(${SIDE_LASER_MODULE} STREQUAL "VERSION_SWITCH_ON") |
159 | message("\n侧面激光模块加载中") | 170 | message("\n侧面激光模块加载中") |
@@ -210,6 +221,7 @@ list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/COMMONManager) | @@ -210,6 +221,7 @@ list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/COMMONManager) | ||
210 | list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/TestAPP) | 221 | list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/TestAPP) |
211 | list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/ImageProcessing) | 222 | list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/ImageProcessing) |
212 | list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/SerialManagement) | 223 | list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/SerialManagement) |
224 | +list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/ExtensionAPI) | ||
213 | list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module) | 225 | list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module) |
214 | 226 | ||
215 | message("**************************库构建完毕***************************\n") | 227 | message("**************************库构建完毕***************************\n") |
@@ -25,6 +25,9 @@ set(MEGAPHONE_MODULE VERSION_SWITCH_OFF) | @@ -25,6 +25,9 @@ set(MEGAPHONE_MODULE VERSION_SWITCH_OFF) | ||
25 | # 电源管理模块 | 25 | # 电源管理模块 |
26 | set(COMMON_MODULE VERSION_SWITCH_OFF) | 26 | set(COMMON_MODULE VERSION_SWITCH_OFF) |
27 | 27 | ||
28 | +#拓展接口模块 | ||
29 | +set(EXTENSION_API_MODULE VERSION_SWITCH_OFF) | ||
30 | + | ||
28 | # UI管理模块 | 31 | # UI管理模块 |
29 | set(UI_CONTROL_MODULE VERSION_SWITCH_OFF) | 32 | set(UI_CONTROL_MODULE VERSION_SWITCH_OFF) |
30 | 33 | ||
@@ -69,6 +72,13 @@ set(UI_CONTROL_MODULE VERSION_SWITCH_ON) | @@ -69,6 +72,13 @@ set(UI_CONTROL_MODULE VERSION_SWITCH_ON) | ||
69 | # 添加通用模块 | 72 | # 添加通用模块 |
70 | set(COMMON_MODULE VERSION_SWITCH_ON) | 73 | set(COMMON_MODULE VERSION_SWITCH_ON) |
71 | 74 | ||
75 | +# 添加IRCUT 引脚处理模块 | ||
76 | +set(IRCUT_MODULE VERSION_SWITCH_ON) | ||
77 | + | ||
78 | +# 添加拓展接口模块 | ||
79 | +set(EXTENSION_API_MODULE VERSION_SWITCH_ON) | ||
80 | + | ||
81 | + | ||
72 | 82 | ||
73 | message("通用库加载完成") | 83 | message("通用库加载完成") |
74 | 84 | ||
@@ -82,9 +92,6 @@ if("${DEVICE_NAME}" STREQUAL "JZ_H1E") | @@ -82,9 +92,6 @@ if("${DEVICE_NAME}" STREQUAL "JZ_H1E") | ||
82 | # 添加Gimbal 云台处理模块 | 92 | # 添加Gimbal 云台处理模块 |
83 | set(GIMBAL_MODULE VERSION_SWITCH_ON) | 93 | set(GIMBAL_MODULE VERSION_SWITCH_ON) |
84 | 94 | ||
85 | - # 添加IRCUT 引脚处理模块 | ||
86 | - set(IRCUT_MODULE VERSION_SWITCH_ON) | ||
87 | - | ||
88 | # 添加LIGHTING 光源处理模块 | 95 | # 添加LIGHTING 光源处理模块 |
89 | set(LIGHTING_MODULE VERSION_SWITCH_ON) | 96 | set(LIGHTING_MODULE VERSION_SWITCH_ON) |
90 | 97 | ||
@@ -108,9 +115,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H1T") | @@ -108,9 +115,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H1T") | ||
108 | # 添加Gimbal 云台处理模块 | 115 | # 添加Gimbal 云台处理模块 |
109 | set(GIMBAL_MODULE VERSION_SWITCH_ON) | 116 | set(GIMBAL_MODULE VERSION_SWITCH_ON) |
110 | 117 | ||
111 | - # 添加IRCUT 引脚处理模块 | ||
112 | - set(IRCUT_MODULE VERSION_SWITCH_ON) | ||
113 | - | ||
114 | # 添加LIGHTING 光源处理模块 | 118 | # 添加LIGHTING 光源处理模块 |
115 | set(LIGHTING_MODULE VERSION_SWITCH_ON) | 119 | set(LIGHTING_MODULE VERSION_SWITCH_ON) |
116 | 120 | ||
@@ -134,9 +138,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_U3") | @@ -134,9 +138,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_U3") | ||
134 | # 添加Gimbal 云台处理模块 | 138 | # 添加Gimbal 云台处理模块 |
135 | set(GIMBAL_MODULE VERSION_SWITCH_ON) | 139 | set(GIMBAL_MODULE VERSION_SWITCH_ON) |
136 | 140 | ||
137 | - # 添加IRCUT 引脚处理模块 | ||
138 | - set(IRCUT_MODULE VERSION_SWITCH_ON) | ||
139 | - | ||
140 | # 添加LIGHTING 光源处理模块 | 141 | # 添加LIGHTING 光源处理模块 |
141 | set(LIGHTING_MODULE VERSION_SWITCH_ON) | 142 | set(LIGHTING_MODULE VERSION_SWITCH_ON) |
142 | 143 | ||
@@ -160,9 +161,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_U3S") | @@ -160,9 +161,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_U3S") | ||
160 | # 添加Gimbal 云台处理模块 | 161 | # 添加Gimbal 云台处理模块 |
161 | set(GIMBAL_MODULE VERSION_SWITCH_ON) | 162 | set(GIMBAL_MODULE VERSION_SWITCH_ON) |
162 | 163 | ||
163 | - # 添加IRCUT 引脚处理模块 | ||
164 | - set(IRCUT_MODULE VERSION_SWITCH_ON) | ||
165 | - | ||
166 | # 添加LIGHTING 光源处理模块 | 164 | # 添加LIGHTING 光源处理模块 |
167 | set(LIGHTING_MODULE VERSION_SWITCH_ON) | 165 | set(LIGHTING_MODULE VERSION_SWITCH_ON) |
168 | 166 | ||
@@ -189,9 +187,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_U3D") | @@ -189,9 +187,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_U3D") | ||
189 | # 添加Gimbal 云台处理模块 | 187 | # 添加Gimbal 云台处理模块 |
190 | set(GIMBAL_MODULE VERSION_SWITCH_ON) | 188 | set(GIMBAL_MODULE VERSION_SWITCH_ON) |
191 | 189 | ||
192 | - # 添加IRCUT 引脚处理模块 | ||
193 | - set(IRCUT_MODULE VERSION_SWITCH_ON) | ||
194 | - | ||
195 | # 添加LIGHTING 光源处理模块 | 190 | # 添加LIGHTING 光源处理模块 |
196 | set(LIGHTING_MODULE VERSION_SWITCH_ON) | 191 | set(LIGHTING_MODULE VERSION_SWITCH_ON) |
197 | 192 | ||
@@ -215,9 +210,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_U30") | @@ -215,9 +210,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_U30") | ||
215 | # 添加Gimbal 云台处理模块 | 210 | # 添加Gimbal 云台处理模块 |
216 | set(GIMBAL_MODULE VERSION_SWITCH_ON) | 211 | set(GIMBAL_MODULE VERSION_SWITCH_ON) |
217 | 212 | ||
218 | - # 添加IRCUT 引脚处理模块 | ||
219 | - set(IRCUT_MODULE VERSION_SWITCH_ON) | ||
220 | - | ||
221 | # 添加LIGHTING 光源处理模块 | 213 | # 添加LIGHTING 光源处理模块 |
222 | set(LIGHTING_MODULE VERSION_SWITCH_ON) | 214 | set(LIGHTING_MODULE VERSION_SWITCH_ON) |
223 | 215 | ||
@@ -240,9 +232,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H10") | @@ -240,9 +232,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H10") | ||
240 | # 添加Gimbal 云台处理模块 | 232 | # 添加Gimbal 云台处理模块 |
241 | set(GIMBAL_MODULE VERSION_SWITCH_ON) | 233 | set(GIMBAL_MODULE VERSION_SWITCH_ON) |
242 | 234 | ||
243 | - # 添加IRCUT 引脚处理模块 | ||
244 | - set(IRCUT_MODULE VERSION_SWITCH_ON) | ||
245 | - | ||
246 | # 添加喊话器模块 | 235 | # 添加喊话器模块 |
247 | set(MEGAPHONE_MODULE VERSION_SWITCH_ON) | 236 | set(MEGAPHONE_MODULE VERSION_SWITCH_ON) |
248 | 237 | ||
@@ -266,9 +255,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H10T") | @@ -266,9 +255,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H10T") | ||
266 | # 添加Gimbal 云台处理模块 | 255 | # 添加Gimbal 云台处理模块 |
267 | set(GIMBAL_MODULE VERSION_SWITCH_ON) | 256 | set(GIMBAL_MODULE VERSION_SWITCH_ON) |
268 | 257 | ||
269 | - # 添加IRCUT 引脚处理模块 | ||
270 | - set(IRCUT_MODULE VERSION_SWITCH_ON) | ||
271 | - | ||
272 | # 添加喊话器模块 | 258 | # 添加喊话器模块 |
273 | set(MEGAPHONE_MODULE VERSION_SWITCH_ON) | 259 | set(MEGAPHONE_MODULE VERSION_SWITCH_ON) |
274 | 260 | ||
@@ -288,9 +274,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H150S") | @@ -288,9 +274,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H150S") | ||
288 | # 添加Gimbal 云台处理模块 | 274 | # 添加Gimbal 云台处理模块 |
289 | set(GIMBAL_MODULE VERSION_SWITCH_ON) | 275 | set(GIMBAL_MODULE VERSION_SWITCH_ON) |
290 | 276 | ||
291 | - # 添加IRCUT 引脚处理模块 | ||
292 | - set(IRCUT_MODULE VERSION_SWITCH_ON) | ||
293 | - | ||
294 | # 添加喊话器模块 | 277 | # 添加喊话器模块 |
295 | set(MEGAPHONE_MODULE VERSION_SWITCH_ON) | 278 | set(MEGAPHONE_MODULE VERSION_SWITCH_ON) |
296 | 279 | ||
@@ -317,9 +300,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H150T") | @@ -317,9 +300,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H150T") | ||
317 | # 添加Gimbal 云台处理模块 | 300 | # 添加Gimbal 云台处理模块 |
318 | set(GIMBAL_MODULE VERSION_SWITCH_ON) | 301 | set(GIMBAL_MODULE VERSION_SWITCH_ON) |
319 | 302 | ||
320 | - # 添加IRCUT 引脚处理模块 | ||
321 | - set(IRCUT_MODULE VERSION_SWITCH_ON) | ||
322 | - | ||
323 | # 添加喊话器模块 | 303 | # 添加喊话器模块 |
324 | set(MEGAPHONE_MODULE VERSION_SWITCH_ON) | 304 | set(MEGAPHONE_MODULE VERSION_SWITCH_ON) |
325 | 305 | ||
@@ -343,9 +323,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_C1") | @@ -343,9 +323,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_C1") | ||
343 | # 添加Gimbal 云台处理模块 | 323 | # 添加Gimbal 云台处理模块 |
344 | set(GIMBAL_MODULE VERSION_SWITCH_ON) | 324 | set(GIMBAL_MODULE VERSION_SWITCH_ON) |
345 | 325 | ||
346 | - # 添加IRCUT 引脚处理模块 | ||
347 | - set(IRCUT_MODULE VERSION_SWITCH_ON) | ||
348 | - | ||
349 | # 添加LIGHTING 光源处理模块 | 326 | # 添加LIGHTING 光源处理模块 |
350 | set(LIGHTING_MODULE VERSION_SWITCH_ON) | 327 | set(LIGHTING_MODULE VERSION_SWITCH_ON) |
351 | 328 | ||
@@ -369,9 +346,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_ST") | @@ -369,9 +346,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_ST") | ||
369 | # 添加Gimbal 云台处理模块 | 346 | # 添加Gimbal 云台处理模块 |
370 | set(GIMBAL_MODULE VERSION_SWITCH_ON) | 347 | set(GIMBAL_MODULE VERSION_SWITCH_ON) |
371 | 348 | ||
372 | - # 添加IRCUT 引脚处理模块 | ||
373 | - set(IRCUT_MODULE VERSION_SWITCH_ON) | ||
374 | - | ||
375 | # 添加MediaProc 媒体管理模块 | 349 | # 添加MediaProc 媒体管理模块 |
376 | set(MEDIA_PROC_MODULE VERSION_SWITCH_ON) | 350 | set(MEDIA_PROC_MODULE VERSION_SWITCH_ON) |
377 | 351 | ||
@@ -387,6 +361,9 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_ST") | @@ -387,6 +361,9 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_ST") | ||
387 | 361 | ||
388 | message("ST基础配置完毕\n") | 362 | message("ST基础配置完毕\n") |
389 | 363 | ||
364 | +elseif("${DEVICE_NAME}" STREQUAL "JZ_H200") | ||
365 | + | ||
366 | + message("JZ_H200基础配置完毕\n") | ||
390 | endif() | 367 | endif() |
391 | 368 | ||
392 | message("***********************模组模块配置完毕*********************************\n") | 369 | message("***********************模组模块配置完毕*********************************\n") |
@@ -37,6 +37,7 @@ | @@ -37,6 +37,7 @@ | ||
37 | #define JZ_U3S 0x0018 | 37 | #define JZ_U3S 0x0018 |
38 | #define JZ_U3D 0x0019 | 38 | #define JZ_U3D 0x0019 |
39 | #define JZ_U30 0x001A | 39 | #define JZ_U30 0x001A |
40 | +#define JZ_H200 0x001B | ||
40 | 41 | ||
41 | #define JZ_H150S 0x0013 | 42 | #define JZ_H150S 0x0013 |
42 | #define JZ_H150T 0x0015 | 43 | #define JZ_H150T 0x0015 |
@@ -7,7 +7,7 @@ | @@ -7,7 +7,7 @@ | ||
7 | #define VERSION_CHOOSE_H | 7 | #define VERSION_CHOOSE_H |
8 | #include "JZsdk_Base/JZsdk_Code/JZsdk_DeviceCode.h" | 8 | #include "JZsdk_Base/JZsdk_Code/JZsdk_DeviceCode.h" |
9 | //1~10行 除了D可以修改版本选择 禁止动任何东西 | 9 | //1~10行 除了D可以修改版本选择 禁止动任何东西 |
10 | -#define DEVICE_VERSION JZ_U3D | 10 | +#define DEVICE_VERSION JZ_H200 |
11 | 11 | ||
12 | //禁止修改行 选择是串口程序 还是 psdk程序 | 12 | //禁止修改行 选择是串口程序 还是 psdk程序 |
13 | #define APP_VERSION APP_PSDK | 13 | #define APP_VERSION APP_PSDK |
@@ -99,6 +99,10 @@ | @@ -99,6 +99,10 @@ | ||
99 | #define LIGHTING_STATUS_ON | 99 | #define LIGHTING_STATUS_ON |
100 | #endif | 100 | #endif |
101 | 101 | ||
102 | + //是否加载云台模块 | ||
103 | + #ifdef MACRO_GIMBAL_MODULE | ||
104 | + #define GIMBAL_STATUS_ON | ||
105 | + #endif | ||
102 | 106 | ||
103 | #else //这里用于方便调试使用,不是实际加载的模组 | 107 | #else //这里用于方便调试使用,不是实际加载的模组 |
104 | 108 | ||
@@ -137,6 +141,9 @@ | @@ -137,6 +141,9 @@ | ||
137 | 141 | ||
138 | //默认开启光源模块 | 142 | //默认开启光源模块 |
139 | #define LIGHTING_STATUS_ON | 143 | #define LIGHTING_STATUS_ON |
144 | + | ||
145 | + //默认开启云台模块 | ||
146 | + #define GIMBAL_STATUS_ON | ||
140 | #endif | 147 | #endif |
141 | 148 | ||
142 | #endif | 149 | #endif |
@@ -16,9 +16,7 @@ | @@ -16,9 +16,7 @@ | ||
16 | 16 | ||
17 | #include "Hal_Recv/HalRecv.h" | 17 | #include "Hal_Recv/HalRecv.h" |
18 | 18 | ||
19 | -#if APP_VERSION == APP_PSDK | ||
20 | - #include "data_transmission/test_data_transmission.h" | ||
21 | -#endif | 19 | +#include "ExtensionAPI/JZsdk_ExpansionApi.h" |
22 | 20 | ||
23 | // 串口参数结构体 | 21 | // 串口参数结构体 |
24 | typedef struct | 22 | typedef struct |
@@ -574,9 +572,11 @@ static void JZsdk_Uart_UartSend_Task(void *data) | @@ -574,9 +572,11 @@ static void JZsdk_Uart_UartSend_Task(void *data) | ||
574 | } | 572 | } |
575 | else if (taskData->Uart_name == HAL_DATA_TRANSMISSION) | 573 | else if (taskData->Uart_name == HAL_DATA_TRANSMISSION) |
576 | { | 574 | { |
577 | -#if APP_VERSION == APP_PSDK | ||
578 | - DJI_Low_Data_Trans(taskData->str, taskData->str_lenth); | ||
579 | -#endif | 575 | + T_JZsdkToPsdkHandler *JZsdkToPsdkHandle = ExpansionApi_JZsdkToPsdk_GetHandler(); |
576 | + if (JZsdkToPsdkHandle != NULL && JZsdkToPsdkHandle->low_data_tran != NULL) | ||
577 | + { | ||
578 | + JZsdkToPsdkHandle->low_data_tran(taskData->str, taskData->str_lenth); | ||
579 | + } | ||
580 | } | 580 | } |
581 | 581 | ||
582 | free(taskData->str); | 582 | free(taskData->str); |
@@ -327,6 +327,7 @@ static T_JZsdkReturnCode DeviceMessage_Enter_Debug(unsigned char *message) | @@ -327,6 +327,7 @@ static T_JZsdkReturnCode DeviceMessage_Enter_Debug(unsigned char *message) | ||
327 | snprintf(old_message,MESSAGE_MAX_LEN,"%s",message); | 327 | snprintf(old_message,MESSAGE_MAX_LEN,"%s",message); |
328 | snprintf(message,MESSAGE_MAX_LEN,"%s%s",old_message,new_message); | 328 | snprintf(message,MESSAGE_MAX_LEN,"%s%s",old_message,new_message); |
329 | 329 | ||
330 | +#ifdef GIMBAL_STATUS_ON | ||
330 | //如果拥有云台,将会显示云台微调值 | 331 | //如果拥有云台,将会显示云台微调值 |
331 | if (Get_JZsdk_GimbalStatusFlag() == 1) | 332 | if (Get_JZsdk_GimbalStatusFlag() == 1) |
332 | { | 333 | { |
@@ -339,6 +340,7 @@ static T_JZsdkReturnCode DeviceMessage_Enter_Debug(unsigned char *message) | @@ -339,6 +340,7 @@ static T_JZsdkReturnCode DeviceMessage_Enter_Debug(unsigned char *message) | ||
339 | snprintf(old_message,MESSAGE_MAX_LEN,"%s",message); | 340 | snprintf(old_message,MESSAGE_MAX_LEN,"%s",message); |
340 | snprintf(message,MESSAGE_MAX_LEN,"%s%s",old_message,new_message); | 341 | snprintf(message,MESSAGE_MAX_LEN,"%s%s",old_message,new_message); |
341 | } | 342 | } |
343 | +#endif | ||
342 | 344 | ||
343 | #ifdef MEGAPHONE_CONFIG_STATUS_ON | 345 | #ifdef MEGAPHONE_CONFIG_STATUS_ON |
344 | memset(new_message,0,sizeof(new_message)); | 346 | memset(new_message,0,sizeof(new_message)); |
Module/ExtensionAPI/JZsdk_ExpansionApi.c
0 → 100644
1 | +#include "JZsdkLib.h" | ||
2 | +#include "ExtensionAPI/JZsdk_ExpansionApi.h" | ||
3 | + | ||
4 | + | ||
5 | +static T_JZsdkToPsdkHandler *g_JZsdkToPsdkHandle = NULL; | ||
6 | + | ||
7 | + | ||
8 | +/********************** | ||
9 | + * | ||
10 | + * 拓展接口: | ||
11 | + * Psdk拓展接口初始化 | ||
12 | + * | ||
13 | + * | ||
14 | + * ********************/ | ||
15 | +T_JZsdkReturnCode ExpansionApi_JZsdkToPsdk_Init(T_JZsdkToPsdkHandler JZsdkToPsdkHandle) | ||
16 | +{ | ||
17 | + if (g_JZsdkToPsdkHandle != NULL) | ||
18 | + { | ||
19 | + JZSDK_LOG_INFO("Expansion_PsdkExpansion_Init: Psdk拓展接口已经初始化"); | ||
20 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
21 | + } | ||
22 | + | ||
23 | + //注册JZsdkToPsdkHandle | ||
24 | + g_JZsdkToPsdkHandle = (T_JZsdkToPsdkHandler *)malloc(sizeof(T_JZsdkToPsdkHandler)); | ||
25 | + memcpy(g_JZsdkToPsdkHandle, &JZsdkToPsdkHandle, sizeof(T_JZsdkToPsdkHandler)); | ||
26 | + | ||
27 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
28 | +} | ||
29 | + | ||
30 | +/******************* | ||
31 | + * | ||
32 | + * 拓展接口: | ||
33 | + * 获取Psdk拓展接口 | ||
34 | + * | ||
35 | + * ******************/ | ||
36 | +T_JZsdkToPsdkHandler *ExpansionApi_JZsdkToPsdk_GetHandler() | ||
37 | +{ | ||
38 | + return g_JZsdkToPsdkHandle; | ||
39 | +} |
Module/ExtensionAPI/JZsdk_ExpansionApi.h
0 → 100644
1 | +/** | ||
2 | + ******************************************************************** | ||
3 | + * @file JZsdk_ExpansionApi.h | ||
4 | + * JZsdk_ExpansionApi.c 的头文件 | ||
5 | + * | ||
6 | + * | ||
7 | + | ||
8 | + * | ||
9 | + * | ||
10 | + ********************************************************************* | ||
11 | + */ | ||
12 | + | ||
13 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
14 | +#ifndef JZSDK_EXPANSION_API_H | ||
15 | +#define JZSDK_EXPANSION_API_H | ||
16 | + | ||
17 | +/* Includes ------------------------------------------------------------------*/ | ||
18 | +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | ||
19 | + | ||
20 | +#ifdef __cplusplus | ||
21 | +extern "C" { | ||
22 | +#endif | ||
23 | + | ||
24 | +/* Exported constants --------------------------------------------------------*/ | ||
25 | +/* 常亮定义*/ | ||
26 | + | ||
27 | +/**************************************************** | ||
28 | + * PSDK_Expansion | ||
29 | + * JZsdkToPsdkHandler | ||
30 | + * 这里记录JZSDK调用各家飞机psdk的拓展接口, 比较特殊, | ||
31 | + * 是 JZSDK去往各家psdk之间的中间层 | ||
32 | + * | ||
33 | + * 请在各家的psdk中的mian.c中注册该模块,而不是在JZSDK中注册 | ||
34 | +********************************************************/ | ||
35 | +typedef struct { | ||
36 | + T_JZsdkReturnCode (*low_data_tran)(unsigned char *data ,int len); //低层数据传输接口 | ||
37 | + T_JZsdkReturnCode (*push_DJIH264Frame_to_plane)(unsigned char* h264_data, uint32_t data_len); //推送DJIH264数据到飞机,这里指的视频为djih264,但并不知在dji用 | ||
38 | + T_JZsdkReturnCode (*Set_UI_CameraTransStatus)(int status); //设置UI的摄像头传输状态 | ||
39 | + T_JZsdkReturnCode (*Set_UI_Widget_Value)(int index, int value); //设置UI的控件值 | ||
40 | + | ||
41 | + //特殊控件-喊话器 | ||
42 | + T_JZsdkReturnCode (*Set_UI_SpeakerWidget_PlayState)(int value); //喊话器控件-播放状态 | ||
43 | + T_JZsdkReturnCode (*Set_UI_SpeakerWidget_LoopMode)(int value); //喊话器控件-循环状态 | ||
44 | + T_JZsdkReturnCode (*Set_UI_SpeakerWidget_Volume)(int value); //喊话器控件-音量 | ||
45 | + T_JZsdkReturnCode (*Get_UI_SpeakerWidget_RealTimeVoiceMode)(int *mode); //喊话器控件-获取实时语音模式 | ||
46 | + | ||
47 | + | ||
48 | +} T_JZsdkToPsdkHandler; | ||
49 | + | ||
50 | +/* Exported macro ------------------------------------------------------------*/ | ||
51 | + | ||
52 | + | ||
53 | +/* Exported types ------------------------------------------------------------*/ | ||
54 | + | ||
55 | + | ||
56 | +/* Exported functions --------------------------------------------------------*/ | ||
57 | +T_JZsdkReturnCode ExpansionApi_JZsdkToPsdk_Init(T_JZsdkToPsdkHandler JZsdkToPsdkHandle); | ||
58 | +T_JZsdkToPsdkHandler *ExpansionApi_JZsdkToPsdk_GetHandler(); | ||
59 | + | ||
60 | + | ||
61 | + | ||
62 | +#ifdef __cplusplus | ||
63 | +} | ||
64 | +#endif | ||
65 | + | ||
66 | +#endif | ||
67 | +/************************ (C) COPYRIGHT DJI Innovations *******END OF FILE******/ |
@@ -12,7 +12,7 @@ | @@ -12,7 +12,7 @@ | ||
12 | #include "JZsdk_network/JZsdk_network.h" | 12 | #include "JZsdk_network/JZsdk_network.h" |
13 | 13 | ||
14 | #if APP_VERSION == APP_PSDK | 14 | #if APP_VERSION == APP_PSDK |
15 | - #include "Dji_Control/DJI_VideoDeal.h" | 15 | + #include "JZsdk_PsdkExpansion/JZsdk_PsdkExpansion.h" |
16 | #endif | 16 | #endif |
17 | 17 | ||
18 | //推流入口 | 18 | //推流入口 |
@@ -38,7 +38,7 @@ T_JZsdkReturnCode VideoStream_PushFrame(unsigned char* h264_data, unsigned int d | @@ -38,7 +38,7 @@ T_JZsdkReturnCode VideoStream_PushFrame(unsigned char* h264_data, unsigned int d | ||
38 | //放入到对应的传输函数 | 38 | //放入到对应的传输函数 |
39 | #if APP_VERSION == APP_PSDK | 39 | #if APP_VERSION == APP_PSDK |
40 | //大疆模式,往大疆入口推流 | 40 | //大疆模式,往大疆入口推流 |
41 | - DJI_VideoDeal_Push_DJIH264Frame(h264_data, data_len); | 41 | + JZsdk_Expansion_Push_DJIH264Frame(h264_data, data_len); |
42 | 42 | ||
43 | #elif APP_VERSION == APP_UART | 43 | #elif APP_VERSION == APP_UART |
44 | JZsdk_NetWork_SentData(h264_data, data_len); | 44 | JZsdk_NetWork_SentData(h264_data, data_len); |
@@ -13,18 +13,28 @@ | @@ -13,18 +13,28 @@ | ||
13 | 13 | ||
14 | #include "Gimbal/Gimbal.h" | 14 | #include "Gimbal/Gimbal.h" |
15 | #include "DeviceInfo/DeviceInfo.h" | 15 | #include "DeviceInfo/DeviceInfo.h" |
16 | +#include "ExtensionAPI/JZsdk_ExpansionApi.h" | ||
16 | 17 | ||
17 | -#if APP_VERSION == APP_PSDK | ||
18 | - #include "widget/test_widget.h" | ||
19 | - #include "widget/test_widget_speaker.h" | ||
20 | - #include "./Dji_Control/DJI_VideoDeal.h" | ||
21 | - | ||
22 | -#elif APP_VERSION == APP_UART || APP_VERSION == APP_TEST | ||
23 | -int Get_Opus_PlayMode() | 18 | +/******************** |
19 | + * | ||
20 | + * 获取UI控件里,opus实时是否有打开 | ||
21 | + * | ||
22 | + * | ||
23 | + * *********************/ | ||
24 | +int Get_UI_Widget_OpusRealTimeMode() | ||
24 | { | 25 | { |
26 | + int mode = 0; | ||
27 | + | ||
28 | + T_JZsdkToPsdkHandler *handle = ExpansionApi_JZsdkToPsdk_GetHandler(); | ||
29 | + if (handle == NULL || handle->Get_UI_SpeakerWidget_RealTimeVoiceMode == NULL) | ||
30 | + { | ||
25 | return JZ_FLAGCODE_OFF; | 31 | return JZ_FLAGCODE_OFF; |
32 | + } | ||
33 | + | ||
34 | + handle->Get_UI_SpeakerWidget_RealTimeVoiceMode(&mode); | ||
35 | + | ||
36 | + return mode; | ||
26 | } | 37 | } |
27 | -#endif | ||
28 | 38 | ||
29 | #define AUTO_CONTROL 0x02 | 39 | #define AUTO_CONTROL 0x02 |
30 | 40 | ||
@@ -67,20 +77,18 @@ typedef enum Psdk_Ui_define | @@ -67,20 +77,18 @@ typedef enum Psdk_Ui_define | ||
67 | PSDK_UI_SECONDARY_WIDGET_LOOPPLAY = 0x11008001, // 二级控件界面的音频循环开关 | 77 | PSDK_UI_SECONDARY_WIDGET_LOOPPLAY = 0x11008001, // 二级控件界面的音频循环开关 |
68 | }Psdk_Ui_define; | 78 | }Psdk_Ui_define; |
69 | 79 | ||
70 | - | ||
71 | /**************** | 80 | /**************** |
72 | * | 81 | * |
73 | * 控件设置 | 82 | * 控件设置 |
74 | * | 83 | * |
75 | * *************/ | 84 | * *************/ |
76 | -int UI_control_WidgetArraySet(int index, int value) | 85 | +static T_JZsdkReturnCode UI_control_WidgetArraySet(int index, int value) |
77 | { | 86 | { |
78 | - | ||
79 | -#if APP_VERSION == APP_PSDK | ||
80 | - set_wideget_value(index, value); | ||
81 | -#elif APP_VERSION == APP_UART | ||
82 | - | ||
83 | -#endif | 87 | + T_JZsdkToPsdkHandler *handle = ExpansionApi_JZsdkToPsdk_GetHandler(); |
88 | + if (handle != NULL && handle->Set_UI_Widget_Value != NULL) | ||
89 | + { | ||
90 | + handle->Set_UI_Widget_Value(index, value); | ||
91 | + } | ||
84 | } | 92 | } |
85 | 93 | ||
86 | /**************** | 94 | /**************** |
@@ -88,25 +96,37 @@ int UI_control_WidgetArraySet(int index, int value) | @@ -88,25 +96,37 @@ int UI_control_WidgetArraySet(int index, int value) | ||
88 | * 二级控件设置 | 96 | * 二级控件设置 |
89 | * | 97 | * |
90 | * *************/ | 98 | * *************/ |
91 | -int UI_control_SecondaryWidgetArraySet(int type, int value) | 99 | +static T_JZsdkReturnCode UI_control_SecondaryWidgetArraySet(int type, int value) |
92 | { | 100 | { |
101 | + T_JZsdkToPsdkHandler *handle = ExpansionApi_JZsdkToPsdk_GetHandler(); | ||
102 | + if (handle != NULL) | ||
103 | + { | ||
104 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
105 | + } | ||
106 | + | ||
93 | switch (type) | 107 | switch (type) |
94 | { | 108 | { |
95 | -#if APP_VERSION == APP_PSDK | 109 | + |
96 | case PSDK_UI_SECONDARY_WIDGET_PLAYSTATUS: | 110 | case PSDK_UI_SECONDARY_WIDGET_PLAYSTATUS: |
97 | - Speaker_Set_SpeakerState_state(value); | 111 | + if (handle->Set_UI_SpeakerWidget_PlayState != NULL) |
112 | + { | ||
113 | + return handle->Set_UI_SpeakerWidget_PlayState(value); | ||
114 | + } | ||
98 | break; | 115 | break; |
99 | 116 | ||
100 | case PSDK_UI_SECONDARY_WIDGET_LOOPPLAY: | 117 | case PSDK_UI_SECONDARY_WIDGET_LOOPPLAY: |
101 | - Speaker_Set_SpeakerPlaymode(value); | 118 | + if (handle->Set_UI_SpeakerWidget_LoopMode != NULL) |
119 | + { | ||
120 | + return handle->Set_UI_SpeakerWidget_LoopMode(value); | ||
121 | + } | ||
102 | break; | 122 | break; |
103 | 123 | ||
104 | case PSDK_UI_WIDGET_VOLUME://音量 | 124 | case PSDK_UI_WIDGET_VOLUME://音量 |
105 | - Speaker_Set_SpeakerVolume(value); | 125 | + if (handle->Set_UI_SpeakerWidget_Volume != NULL) |
126 | + { | ||
127 | + return handle->Set_UI_SpeakerWidget_Volume(value); | ||
128 | + } | ||
106 | break; | 129 | break; |
107 | -#elif APP_VERSION == APP_UART | ||
108 | - | ||
109 | -#endif | ||
110 | 130 | ||
111 | 131 | ||
112 | default: | 132 | default: |
@@ -304,7 +324,7 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_LastSong(int wheather_control) | @@ -304,7 +324,7 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_LastSong(int wheather_control) | ||
304 | T_JZsdkReturnCode ret; | 324 | T_JZsdkReturnCode ret; |
305 | 325 | ||
306 | // 开启实时喊话时,锁定该功能 | 326 | // 开启实时喊话时,锁定该功能 |
307 | - if (Get_Opus_PlayMode() == 1) | 327 | + if (Get_UI_Widget_OpusRealTimeMode() == JZ_FLAGCODE_ON) |
308 | { | 328 | { |
309 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 329 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
310 | } | 330 | } |
@@ -328,7 +348,7 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_NextSong(int wheather_control) | @@ -328,7 +348,7 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_NextSong(int wheather_control) | ||
328 | T_JZsdkReturnCode ret; | 348 | T_JZsdkReturnCode ret; |
329 | 349 | ||
330 | // 开启实时喊话时,锁定该功能 | 350 | // 开启实时喊话时,锁定该功能 |
331 | - if (Get_Opus_PlayMode() == 1) | 351 | + if (Get_UI_Widget_OpusRealTimeMode() == JZ_FLAGCODE_ON) |
332 | { | 352 | { |
333 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 353 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
334 | } | 354 | } |
@@ -353,7 +373,7 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_PlaySong(int wheather_control) | @@ -353,7 +373,7 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_PlaySong(int wheather_control) | ||
353 | T_JZsdkReturnCode ret; | 373 | T_JZsdkReturnCode ret; |
354 | 374 | ||
355 | // 开启实时喊话时,锁定该功能 | 375 | // 开启实时喊话时,锁定该功能 |
356 | - if (Get_Opus_PlayMode() == 1) | 376 | + if (Get_UI_Widget_OpusRealTimeMode() == JZ_FLAGCODE_ON) |
357 | { | 377 | { |
358 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 378 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
359 | } | 379 | } |
@@ -385,7 +405,7 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_PlaySong(int wheather_control) | @@ -385,7 +405,7 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_PlaySong(int wheather_control) | ||
385 | T_JZsdkReturnCode JZsdk_Psdk_UI_io_Audio_PauseAndPlayContinue(int wheather_control, int value) | 405 | T_JZsdkReturnCode JZsdk_Psdk_UI_io_Audio_PauseAndPlayContinue(int wheather_control, int value) |
386 | { | 406 | { |
387 | // 开启实时喊话时,锁定该功能 | 407 | // 开启实时喊话时,锁定该功能 |
388 | - if (Get_Opus_PlayMode() == 1) | 408 | + if (Get_UI_Widget_OpusRealTimeMode() == JZ_FLAGCODE_ON) |
389 | { | 409 | { |
390 | UI_control_WidgetSet(PSDK_UI_WIDGET_PLAYSTATUS, value); | 410 | UI_control_WidgetSet(PSDK_UI_WIDGET_PLAYSTATUS, value); |
391 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 411 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
@@ -427,7 +447,7 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_Audio_PauseAndPlayContinue(int wheather_contr | @@ -427,7 +447,7 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_Audio_PauseAndPlayContinue(int wheather_contr | ||
427 | T_JZsdkReturnCode JZsdk_Psdk_UI_io_StopPlayAudio() | 447 | T_JZsdkReturnCode JZsdk_Psdk_UI_io_StopPlayAudio() |
428 | { | 448 | { |
429 | // 开启实时喊话时,锁定该功能 | 449 | // 开启实时喊话时,锁定该功能 |
430 | - if (Get_Opus_PlayMode() == 1) | 450 | + if (Get_UI_Widget_OpusRealTimeMode() == JZ_FLAGCODE_ON) |
431 | { | 451 | { |
432 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 452 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
433 | } | 453 | } |
@@ -1088,7 +1108,7 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_Set_MINGimbalRangen(int value) | @@ -1088,7 +1108,7 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_Set_MINGimbalRangen(int value) | ||
1088 | T_JZsdkReturnCode JZsdk_Psdk_UI_io_Set_TTS_Play(char *data, int len) | 1108 | T_JZsdkReturnCode JZsdk_Psdk_UI_io_Set_TTS_Play(char *data, int len) |
1089 | { | 1109 | { |
1090 | // 开启实时喊话时,锁定该功能 | 1110 | // 开启实时喊话时,锁定该功能 |
1091 | - if (Get_Opus_PlayMode() == 1) | 1111 | + if (Get_UI_Widget_OpusRealTimeMode() == JZ_FLAGCODE_ON) |
1092 | { | 1112 | { |
1093 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 1113 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
1094 | } | 1114 | } |
@@ -1199,9 +1219,11 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_OpusRealTimeVoice_Close() | @@ -1199,9 +1219,11 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_OpusRealTimeVoice_Close() | ||
1199 | * *************/ | 1219 | * *************/ |
1200 | T_JZsdkReturnCode JZsdk_Psdk_UI_io_Reply_Camera_Status(int status) | 1220 | T_JZsdkReturnCode JZsdk_Psdk_UI_io_Reply_Camera_Status(int status) |
1201 | { | 1221 | { |
1202 | -#if APP_VERSION == APP_PSDK | ||
1203 | - DJI_Set_CameraTransStatus(status); | ||
1204 | -#endif | 1222 | + T_JZsdkToPsdkHandler *handler = ExpansionApi_JZsdkToPsdk_GetHandler(); |
1223 | + if (handler != NULL && handler->Set_UI_CameraTransStatus != NULL) | ||
1224 | + { | ||
1225 | + handler->Set_UI_CameraTransStatus(status); | ||
1226 | + } | ||
1205 | } | 1227 | } |
1206 | 1228 | ||
1207 | /*************** | 1229 | /*************** |
@@ -176,6 +176,10 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_SetPowerStatus(int value); | @@ -176,6 +176,10 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_SetPowerStatus(int value); | ||
176 | T_JZsdkReturnCode JZsdk_Psdk_UI_io_SideLaserMode(int wheather_ChangeWidget, int wheather_control, int value); | 176 | T_JZsdkReturnCode JZsdk_Psdk_UI_io_SideLaserMode(int wheather_ChangeWidget, int wheather_control, int value); |
177 | 177 | ||
178 | 178 | ||
179 | +//获取控件的实时opus模式是否开启 | ||
180 | +int Get_UI_Widget_OpusRealTimeMode(); | ||
181 | + | ||
182 | + | ||
179 | #ifdef __cplusplus | 183 | #ifdef __cplusplus |
180 | } | 184 | } |
181 | #endif | 185 | #endif |
@@ -9,7 +9,7 @@ project(JZ_U3D) | @@ -9,7 +9,7 @@ project(JZ_U3D) | ||
9 | #"-ldl":指定在编译时链接动态库加载库,以使用动态加载。 | 9 | #"-ldl":指定在编译时链接动态库加载库,以使用动态加载。 |
10 | #"-lstdc++":指定在编译时链接C++标准库,以使用C++的一些特性和函数。 | 10 | #"-lstdc++":指定在编译时链接C++标准库,以使用C++的一些特性和函数。 |
11 | 11 | ||
12 | -set(CMAKE_EXE_LINKER_FLAGS "-pthread") | 12 | +set(CMAKE_EXE_LINKER_FLAGS "-pthread") # 设置可执行文件链接选项:启用线程支持 |
13 | 13 | ||
14 | # 设置设备类型以加载主要功能模块 | 14 | # 设置设备类型以加载主要功能模块 |
15 | #预留行 | 15 | #预留行 |
@@ -29,7 +29,7 @@ set(ROOT_DIRS "${CMAKE_CURRENT_LIST_DIR}/../../../../../../../") | @@ -29,7 +29,7 @@ set(ROOT_DIRS "${CMAKE_CURRENT_LIST_DIR}/../../../../../../../") | ||
29 | include(${ROOT_DIRS}CmakeConfig/Compiler.cmake) | 29 | include(${ROOT_DIRS}CmakeConfig/Compiler.cmake) |
30 | include(${ROOT_DIRS}CmakeConfig/module_config.cmake) | 30 | include(${ROOT_DIRS}CmakeConfig/module_config.cmake) |
31 | include(${ROOT_DIRS}CmakeConfig/module_build.cmake) | 31 | include(${ROOT_DIRS}CmakeConfig/module_build.cmake) |
32 | -#PSDK动态库 | 32 | +#PSDK静态库 |
33 | link_libraries(${CMAKE_CURRENT_LIST_DIR}/../../../../../psdk_lib/lib/${TOOLCHAIN_NAME}/libpayloadsdk.a) | 33 | link_libraries(${CMAKE_CURRENT_LIST_DIR}/../../../../../psdk_lib/lib/${TOOLCHAIN_NAME}/libpayloadsdk.a) |
34 | 34 | ||
35 | if (NOT USE_SYSTEM_ARCH) | 35 | if (NOT USE_SYSTEM_ARCH) |
@@ -56,12 +56,15 @@ file(GLOB_RECURSE MODULE_COMMON_SRC ../common/*.c) #系统文件 MODULE_COMM | @@ -56,12 +56,15 @@ file(GLOB_RECURSE MODULE_COMMON_SRC ../common/*.c) #系统文件 MODULE_COMM | ||
56 | file(GLOB_RECURSE MODULE_HAL_SRC hal/*.c) #网络串口usb文件 MODULE_HAL_SRC | 56 | file(GLOB_RECURSE MODULE_HAL_SRC hal/*.c) #网络串口usb文件 MODULE_HAL_SRC |
57 | file(GLOB_RECURSE MODULE_APP_SRC application/*.c) #main MODULE_APP_SRC | 57 | file(GLOB_RECURSE MODULE_APP_SRC application/*.c) #main MODULE_APP_SRC |
58 | file(GLOB_RECURSE MODULE_SAMPLE_SRC ../../../module_sample/*.c) #基础功能文件 MODULE_SAMPLE_SRC | 58 | file(GLOB_RECURSE MODULE_SAMPLE_SRC ../../../module_sample/*.c) #基础功能文件 MODULE_SAMPLE_SRC |
59 | +file(GLOB_RECURSE MODULE_JZSDK_PSDK_EXPANSION_SRC JZsdk_PsdkExpansion/*.c) #接口文件 | ||
60 | + | ||
59 | 61 | ||
60 | # psdk额外加载的.h文件 | 62 | # psdk额外加载的.h文件 |
61 | include_directories(./application) | 63 | include_directories(./application) |
62 | include_directories(../../../module_sample) | 64 | include_directories(../../../module_sample) |
63 | include_directories(../common) | 65 | include_directories(../common) |
64 | include_directories(../../../../../psdk_lib/include) #PSDK头文件 | 66 | include_directories(../../../../../psdk_lib/include) #PSDK头文件 |
67 | +include_directories(./JZsdk_PsdkExpansion) | ||
65 | 68 | ||
66 | 69 | ||
67 | # 加载jzsdk的头文件 ***************************************************** | 70 | # 加载jzsdk的头文件 ***************************************************** |
@@ -81,6 +84,7 @@ add_executable( | @@ -81,6 +84,7 @@ add_executable( | ||
81 | ${MODULE_APP_SRC} | 84 | ${MODULE_APP_SRC} |
82 | ${MODULE_HAL_SRC} | 85 | ${MODULE_HAL_SRC} |
83 | ${MODULE_SAMPLE_SRC} | 86 | ${MODULE_SAMPLE_SRC} |
87 | + ${MODULE_JZSDK_PSDK_EXPANSION_SRC} | ||
84 | 88 | ||
85 | ${ALL_SRC_FILES} #加载jzsdk的源文件 ***************************************************** | 89 | ${ALL_SRC_FILES} #加载jzsdk的源文件 ***************************************************** |
86 | ) | 90 | ) |
1 | -#include <stdio.h> | ||
2 | -#include <stdlib.h> | ||
3 | -#include <string.h> | ||
4 | #include "JZsdkLib.h" | 1 | #include "JZsdkLib.h" |
5 | -#include "version_choose.h" | ||
6 | - | ||
7 | -#if APP_VERSION == APP_PSDK | 2 | +#include "data_transmission/test_data_transmission.h" |
3 | +#include "ExtensionAPI/JZsdk_ExpansionApi.h" | ||
4 | +#include "DJI_Expansion/DJI_Expansion.h" | ||
8 | 5 | ||
6 | +#include "widget/test_widget.h" | ||
7 | +#include "widget/test_widget_speaker.h" | ||
9 | 8 | ||
10 | #include "dji_typedef.h" | 9 | #include "dji_typedef.h" |
11 | #include "dji_payload_camera.h" | 10 | #include "dji_payload_camera.h" |
@@ -13,6 +12,7 @@ | @@ -13,6 +12,7 @@ | ||
13 | #include "dji_error.h" | 12 | #include "dji_error.h" |
14 | #include "utils/util_misc.h" | 13 | #include "utils/util_misc.h" |
15 | 14 | ||
15 | + | ||
16 | #include "MediaProc/MediaProc.h" | 16 | #include "MediaProc/MediaProc.h" |
17 | #include "camera_emu/test_payload_cam_emu_base.h" | 17 | #include "camera_emu/test_payload_cam_emu_base.h" |
18 | 18 | ||
@@ -25,6 +25,7 @@ | @@ -25,6 +25,7 @@ | ||
25 | static const uint8_t s_frameAudInfo[VIDEO_FRAME_AUD_LEN] = {0x00, 0x00, 0x00, 0x01, 0x09, 0x10}; | 25 | static const uint8_t s_frameAudInfo[VIDEO_FRAME_AUD_LEN] = {0x00, 0x00, 0x00, 0x01, 0x09, 0x10}; |
26 | #define Temp_H264 "/root/sdcard/DCIM/Videos/out.h264" //临时h264的存放地址 | 26 | #define Temp_H264 "/root/sdcard/DCIM/Videos/out.h264" //临时h264的存放地址 |
27 | 27 | ||
28 | + | ||
28 | struct FrameInfo | 29 | struct FrameInfo |
29 | { | 30 | { |
30 | float DurationTime ; | 31 | float DurationTime ; |
@@ -40,8 +41,39 @@ int PlayFrameNumber = 0; //当前播放的帧数 | @@ -40,8 +41,39 @@ int PlayFrameNumber = 0; //当前播放的帧数 | ||
40 | int transcode_flag = JZ_FLAGCODE_OFF; | 41 | int transcode_flag = JZ_FLAGCODE_OFF; |
41 | unsigned int old_command_timeMS = 0; | 42 | unsigned int old_command_timeMS = 0; |
42 | 43 | ||
43 | -//大疆推流函数,将输入的视频帧,输入到DjiPayloadCamera_SendVideoStream | ||
44 | -int DJI_VideoDeal_Push_DJIH264Frame(unsigned char* h264_data, uint32_t data_len) | 44 | +/************************** |
45 | + * | ||
46 | + * 拓展接口: 低速数据传输接口 | ||
47 | + * | ||
48 | + * *************************/ | ||
49 | +T_JZsdkReturnCode JZsdk_Expansion_low_data_tran(unsigned char *data ,int len) | ||
50 | +{ | ||
51 | + if(DJI_Low_Data_Trans(data,len) == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
52 | + { | ||
53 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
54 | + } | ||
55 | + | ||
56 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
57 | +} | ||
58 | + | ||
59 | + | ||
60 | + | ||
61 | + | ||
62 | + | ||
63 | + | ||
64 | +/********************************************************************************************* | ||
65 | + * | ||
66 | + * 拓展接口 : 视频流相关 | ||
67 | + * | ||
68 | +*************************************************************************************************/ | ||
69 | + | ||
70 | + | ||
71 | +/************************** | ||
72 | + * | ||
73 | + * 拓展接口: 视频数据数据传输接口 | ||
74 | + * | ||
75 | + * *************************/ | ||
76 | +T_JZsdkReturnCode JZsdk_PsdkExpansion_Push_DJIH264Frame(unsigned char* h264_data, uint32_t data_len) | ||
45 | { | 77 | { |
46 | //USER_LOG_INFO("推流%d",data_len); | 78 | //USER_LOG_INFO("推流%d",data_len); |
47 | 79 | ||
@@ -91,6 +123,7 @@ int DJI_VideoDeal_Push_DJIH264Frame(unsigned char* h264_data, uint32_t data_len) | @@ -91,6 +123,7 @@ int DJI_VideoDeal_Push_DJIH264Frame(unsigned char* h264_data, uint32_t data_len) | ||
91 | USER_LOG_ERROR("get video stream state error."); | 123 | USER_LOG_ERROR("get video stream state error."); |
92 | } | 124 | } |
93 | 125 | ||
126 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
94 | } | 127 | } |
95 | 128 | ||
96 | //视频添加帧头,并推送给飞机 | 129 | //视频添加帧头,并推送给飞机 |
@@ -98,9 +131,10 @@ static int DJI_VideoDeal_H264_TO_PUSH_DJIH264Frame(char* h264_data, uint32_t dat | @@ -98,9 +131,10 @@ static int DJI_VideoDeal_H264_TO_PUSH_DJIH264Frame(char* h264_data, uint32_t dat | ||
98 | { | 131 | { |
99 | memcpy(h264_data + data_len, s_frameAudInfo, VIDEO_FRAME_AUD_LEN); | 132 | memcpy(h264_data + data_len, s_frameAudInfo, VIDEO_FRAME_AUD_LEN); |
100 | data_len += VIDEO_FRAME_AUD_LEN; | 133 | data_len += VIDEO_FRAME_AUD_LEN; |
101 | - DJI_VideoDeal_Push_DJIH264Frame(h264_data, data_len); | 134 | + JZsdk_PsdkExpansion_Push_DJIH264Frame(h264_data, data_len); |
102 | } | 135 | } |
103 | 136 | ||
137 | + | ||
104 | //继续播放录像 | 138 | //继续播放录像 |
105 | static int VideoReplay_ContinuePlay() | 139 | static int VideoReplay_ContinuePlay() |
106 | { | 140 | { |
@@ -397,11 +431,67 @@ int DJI_VideoReplay_input(int command, unsigned int Command_timeMS, char* path) | @@ -397,11 +431,67 @@ int DJI_VideoReplay_input(int command, unsigned int Command_timeMS, char* path) | ||
397 | } | 431 | } |
398 | } | 432 | } |
399 | 433 | ||
400 | -//大疆psdk下,设置转码状态 | ||
401 | -int DJI_Set_CameraTransStatus(int status) | 434 | + |
435 | + | ||
436 | + | ||
437 | + | ||
438 | + | ||
439 | + | ||
440 | + | ||
441 | + | ||
442 | + | ||
443 | + | ||
444 | + | ||
445 | +/********************************************************************************************* | ||
446 | + * | ||
447 | + * 拓展接口 : 控件相关 | ||
448 | + * | ||
449 | +*************************************************************************************************/ | ||
450 | +T_DjiReturnCode Get_RealTimeVoiceMode(int *mode) | ||
402 | { | 451 | { |
403 | - DJI_CamEmu_base_CameraTransLock(status); | 452 | + if ( Get_Opus_PlayMode()==1 )//播放模式 为实时育英中 |
453 | + { | ||
454 | + *mode = JZ_FLAGCODE_ON; | ||
455 | + } | ||
456 | + else | ||
457 | + { | ||
458 | + *mode = JZ_FLAGCODE_OFF; | ||
459 | + } | ||
460 | + | ||
461 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
404 | } | 462 | } |
405 | 463 | ||
406 | 464 | ||
407 | -#endif | ||
465 | + | ||
466 | + | ||
467 | + | ||
468 | + | ||
469 | + | ||
470 | + | ||
471 | + | ||
472 | + | ||
473 | + | ||
474 | + | ||
475 | + | ||
476 | + | ||
477 | + | ||
478 | +T_JZsdkReturnCode DJI_JZsdkToPsdk_ExpnasionInit() | ||
479 | +{ | ||
480 | + T_JZsdkToPsdkHandler handler = { | ||
481 | + .low_data_tran = JZsdk_Expansion_low_data_tran, | ||
482 | + .push_DJIH264Frame_to_plane = JZsdk_PsdkExpansion_Push_DJIH264Frame, | ||
483 | + .Set_UI_Widget_Value = set_wideget_value, | ||
484 | + .Set_UI_SpeaakerWidget_PlayState = Speaker_Set_SpeakerState_state, | ||
485 | + .Set_UI_SpeaakerWidget_LoopMode = Speaker_Set_SpeakerPlaymode, | ||
486 | + .Set_UI_SpeaakerWidget_Volume = Speaker_Set_SpeakerVolume, | ||
487 | + .Get_UI_SpeakerWidget_RealTimeVoiceMode = Get_RealTimeVoiceMode, | ||
488 | + }; | ||
489 | + | ||
490 | + if(Expansion_PsdkExpansion_Init(handler) != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
491 | + { | ||
492 | + JZSDK_LOG_ERROR("Expansion_PsdkExpansion_Init error"); | ||
493 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
494 | + } | ||
495 | + | ||
496 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
497 | +} |
project_build/DJI_大疆PSDK/samples/sample_c/platform/linux/all/DJI_Expansion/DJI_Expansion.h
0 → 100644
1 | +/** | ||
2 | + ******************************************************************** | ||
3 | + * @file JZsdk_PsdkExpansion.h | ||
4 | + * JZsdk_PsdkExpansion.c 的头文件 | ||
5 | + * | ||
6 | + ********************************************************************* | ||
7 | + */ | ||
8 | + | ||
9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
10 | +#ifndef JZSDK_PSDK_EXPANSION_H | ||
11 | +#define JZSDK_PSDK_EXPANSION_H | ||
12 | + | ||
13 | +/* Includes ------------------------------------------------------------------*/ | ||
14 | +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | ||
15 | + | ||
16 | +#ifdef __cplusplus | ||
17 | +extern "C" { | ||
18 | +#endif | ||
19 | + | ||
20 | + | ||
21 | +/* Exported constants --------------------------------------------------------*/ | ||
22 | +/* 常亮定义*/ | ||
23 | + | ||
24 | +/* Exported types ------------------------------------------------------------*/ | ||
25 | + | ||
26 | +/* Exported functions --------------------------------------------------------*/ | ||
27 | +T_JZsdkReturnCode JZsdk_Expansion_low_data_tran(unsigned char *data ,int len); | ||
28 | +T_JZsdkReturnCode DJI_JZsdkToPsdk_ExpnasionInit(); | ||
29 | + | ||
30 | +#ifdef __cplusplus | ||
31 | +} | ||
32 | +#endif | ||
33 | + | ||
34 | +#endif |
@@ -65,6 +65,7 @@ | @@ -65,6 +65,7 @@ | ||
65 | #include "Psdk_UI_io.h" | 65 | #include "Psdk_UI_io.h" |
66 | #include "DeviceInfo/DeviceInfo.h" | 66 | #include "DeviceInfo/DeviceInfo.h" |
67 | #include "CommonMod/PowerManger/PowerManger.h" | 67 | #include "CommonMod/PowerManger/PowerManger.h" |
68 | +#include "DJI_Expansion/DJI_Expansion.h" | ||
68 | 69 | ||
69 | #ifdef AUDIODEAL_CONFIG_STATUS_ON | 70 | #ifdef AUDIODEAL_CONFIG_STATUS_ON |
70 | #include "AudioDeal/AudioDeal.h" | 71 | #include "AudioDeal/AudioDeal.h" |
@@ -557,6 +558,9 @@ int main(int argc, char *argv[]) | @@ -557,6 +558,9 @@ int main(int argc, char *argv[]) | ||
557 | Psdk_UI_io_Set_DJI_SkyPort_SerialNumber(Jz_SerialNumber); | 558 | Psdk_UI_io_Set_DJI_SkyPort_SerialNumber(Jz_SerialNumber); |
558 | } | 559 | } |
559 | 560 | ||
561 | + //配置拓展接口 | ||
562 | + DJI_JZsdkToPsdk_ExpnasionInit(); | ||
563 | + | ||
560 | //自己配置 | 564 | //自己配置 |
561 | Main_APP_Psdk(); | 565 | Main_APP_Psdk(); |
562 | 566 |
@@ -17,8 +17,8 @@ set(CMAKE_EXE_LINKER_FLAGS "-pthread") | @@ -17,8 +17,8 @@ set(CMAKE_EXE_LINKER_FLAGS "-pthread") | ||
17 | 17 | ||
18 | # 修改增添 | 18 | # 修改增添 |
19 | set(TOOLCHAIN_NAME arm-linux-gnueabihf) | 19 | set(TOOLCHAIN_NAME arm-linux-gnueabihf) |
20 | -set(CMAKE_C_COMPILER "/usr/local/arm/4.9.3/bin/arm-cortexa9-linux-gnueabihf-gcc") | ||
21 | -set(CMAKE_CXX_COMPILER "/usr/local/arm/4.9.3/bin/arm-cortexa9-linux-gnueabihf-g++") | 20 | +set(CMAKE_C_COMPILER "/usr/local/arm/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc") |
21 | +set(CMAKE_CXX_COMPILER "/usr/local/arm/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++") | ||
22 | add_definitions(-DPLATFORM_ARCH_arm=1) # 定义ARM平台宏 | 22 | add_definitions(-DPLATFORM_ARCH_arm=1) # 定义ARM平台宏 |
23 | 23 | ||
24 | set(ROOT_DIRS "${CMAKE_CURRENT_LIST_DIR}/../../../../../../../") | 24 | set(ROOT_DIRS "${CMAKE_CURRENT_LIST_DIR}/../../../../../../../") |
@@ -41,7 +41,7 @@ endif () | @@ -41,7 +41,7 @@ endif () | ||
41 | 41 | ||
42 | set(COMMON_CXX_FLAGS "-std=c++11 -pthread") | 42 | set(COMMON_CXX_FLAGS "-std=c++11 -pthread") |
43 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") | 43 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") |
44 | -set(CMAKE_C_FLAGS "-pthread -std=gnu99 -lm -ldl -lstdc++ -fprofile-arcs -ftest-coverage") | 44 | +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fprofile-arcs -ftest-coverage") |
45 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage -lgcov") | 45 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage -lgcov") |
46 | 46 | ||
47 | 47 |
1 | -# 指定CMake最低版本要求为3.5 | ||
2 | -cmake_minimum_required(VERSION 3.5) | ||
3 | -# 定义项目名称和编程语言(C语言) | ||
4 | -project(ziyan_sdk_demo_on_jetson C) | ||
5 | - | ||
6 | -# 设置C编译器选项:启用POSIX线程,使用GNU99标准 | ||
7 | -set(CMAKE_C_FLAGS "-pthread -std=gnu99") | ||
8 | -# 设置C++编译器选项:使用C++11标准,启用POSIX线程 | ||
9 | -set(CMAKE_CXX_FLAGS "-std=c++11 -pthread") | ||
10 | -# 设置可执行文件链接选项:启用线程支持 | ||
11 | -set(CMAKE_EXE_LINKER_FLAGS "-pthread") | ||
12 | -# 指定C编译器为gcc | ||
13 | -#set(CMAKE_C_COMPILER "gcc") | ||
14 | - | ||
15 | -# 指定C++编译器为g++ | ||
16 | -#set(CMAKE_CXX_COMPILER "g++") | ||
17 | - | ||
18 | -# 修改增添 | ||
19 | -set(TOOLCHAIN_NAME arm-linux-gnueabihf) | ||
20 | -set(CMAKE_C_COMPILER "/usr/local/arm/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc") | ||
21 | -set(CMAKE_CXX_COMPILER "/usr/local/arm/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++") | ||
22 | -add_definitions(-DPLATFORM_ARCH_arm=1) # 定义ARM平台宏 | ||
23 | - | 1 | +# cmake 最低版本要求 第三行名字不能动 |
2 | +cmake_minimum_required(VERSION 2.8) | ||
3 | +project(JZ_H200) | ||
4 | + | ||
5 | +#set(CMAKE_C_FLAGS "-pthread -std=gnu99 -lm -ldl -lstdc++") | ||
6 | +#"-pthread":指定在编译时链接POSIX线程库,以支持多线程程序。 | ||
7 | +#"-std=gnu99":指定C语言标准为GNU C99(也就是C99加上GNU的扩展特性),该标准对于一些特性和库的使用是必须的。 | ||
8 | +#"-lm":指定在编译时链接数学库,以使用一些数学函数。 | ||
9 | +#"-ldl":指定在编译时链接动态库加载库,以使用动态加载。 | ||
10 | +#"-lstdc++":指定在编译时链接C++标准库,以使用C++的一些特性和函数。 | ||
11 | + | ||
12 | +set(CMAKE_EXE_LINKER_FLAGS "-pthread") # 设置可执行文件链接选项:启用线程支持 | ||
13 | + | ||
14 | +# 设置设备类型以加载主要功能模块 | ||
15 | +#预留行 | ||
16 | +#预留行 | ||
17 | +#预留行 | ||
18 | +#预留行 | ||
19 | +#预留行 | ||
20 | +#预留行 | ||
21 | +#预留行 | ||
22 | +#预留行 | ||
23 | +#预留行 | ||
24 | +#预留行 | ||
25 | +#预留行 | ||
24 | set(ROOT_DIRS "${CMAKE_CURRENT_LIST_DIR}/../../../../../../../") | 26 | set(ROOT_DIRS "${CMAKE_CURRENT_LIST_DIR}/../../../../../../../") |
25 | -message("ROOT_DIRS: ${ROOT_DIRS}") | ||
26 | 27 | ||
27 | -# 定义GNU扩展源特性宏 | ||
28 | -add_definitions(-D_GNU_SOURCE) | 28 | +# 包含模块配置 |
29 | +include(${ROOT_DIRS}CmakeConfig/Compiler.cmake) | ||
30 | +include(${ROOT_DIRS}CmakeConfig/module_config.cmake) | ||
31 | +include(${ROOT_DIRS}CmakeConfig/module_build.cmake) | ||
32 | +#PSDK静态库 | ||
33 | +link_libraries(${CMAKE_CURRENT_LIST_DIR}/../../../../../psdk_lib/lib/${TOOLCHAIN_NAME}/libpayloadsdk.a) | ||
29 | 34 | ||
30 | # 如果未使用系统架构定义,则添加Linux系统架构宏 | 35 | # 如果未使用系统架构定义,则添加Linux系统架构宏 |
31 | if (NOT USE_SYSTEM_ARCH) | 36 | if (NOT USE_SYSTEM_ARCH) |
32 | add_definitions(-DSYSTEM_ARCH_LINUX) | 37 | add_definitions(-DSYSTEM_ARCH_LINUX) |
33 | endif () | 38 | endif () |
34 | 39 | ||
35 | -# 如果开启测试用例构建,添加代码覆盖率相关编译选项 | ||
36 | -# if (BUILD_TEST_CASES_ON MATCHES TRUE) | ||
37 | -# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") | ||
38 | -# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fprofile-arcs -ftest-coverage") | ||
39 | -# set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage -lgcov") | ||
40 | -# endif () | ||
41 | - | ||
42 | set(COMMON_CXX_FLAGS "-std=c++11 -pthread") | 40 | set(COMMON_CXX_FLAGS "-std=c++11 -pthread") |
43 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") | 41 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") |
44 | -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fprofile-arcs -ftest-coverage") | 42 | +set(CMAKE_C_FLAGS "-pthread -std=gnu99 -lm -ldl -lstdc++ -fprofile-arcs -ftest-coverage") |
45 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage -lgcov") | 43 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage -lgcov") |
46 | 44 | ||
47 | - | ||
48 | -# 定义软件包名称为payloadsdk | ||
49 | -set(PACKAGE_NAME payloadsdk) | ||
50 | - | ||
51 | ## "uname -m" to auto distinguish Manifold2-G or Manifold2-C | 45 | ## "uname -m" to auto distinguish Manifold2-G or Manifold2-C |
52 | ## 通过执行uname -m命令自动区分硬件平台类型 | 46 | ## 通过执行uname -m命令自动区分硬件平台类型 |
53 | -# execute_process(COMMAND uname -m | ||
54 | -# OUTPUT_VARIABLE DEVICE_SYSTEM_ID) | ||
55 | - | 47 | +execute_process(COMMAND uname -m |
48 | + OUTPUT_VARIABLE DEVICE_SYSTEM_ID) | ||
56 | 49 | ||
50 | +# 定义GNU扩展源特性宏 | ||
51 | +add_definitions(-D_GNU_SOURCE) | ||
52 | +add_definitions(-DPLATFORM_ARCH_arm=1) # 定义ARM平台宏 | ||
57 | # 根据系统架构设置工具链和平台定义 | 53 | # 根据系统架构设置工具链和平台定义 |
58 | # if (DEVICE_SYSTEM_ID MATCHES x86_64) | 54 | # if (DEVICE_SYSTEM_ID MATCHES x86_64) |
59 | # set(TOOLCHAIN_NAME x86_64-linux-gnu) # x86_64架构工具链 | 55 | # set(TOOLCHAIN_NAME x86_64-linux-gnu) # x86_64架构工具链 |
@@ -69,40 +65,151 @@ set(PACKAGE_NAME payloadsdk) | @@ -69,40 +65,151 @@ set(PACKAGE_NAME payloadsdk) | ||
69 | # message(FATAL_ERROR "FATAL: Please confirm your platform. SYSTEM_ID:${DEVICE_SYSTEM_ID}") | 65 | # message(FATAL_ERROR "FATAL: Please confirm your platform. SYSTEM_ID:${DEVICE_SYSTEM_ID}") |
70 | # endif () | 66 | # endif () |
71 | 67 | ||
72 | - | ||
73 | - | ||
74 | # 递归收集源代码文件 | 68 | # 递归收集源代码文件 |
75 | file(GLOB_RECURSE MODULE_COMMON_SRC ../common/*.c) # 公共模块C文件 | 69 | file(GLOB_RECURSE MODULE_COMMON_SRC ../common/*.c) # 公共模块C文件 |
76 | file(GLOB_RECURSE MODULE_HAL_SRC hal/*.c) # HAL硬件抽象层C文件 | 70 | file(GLOB_RECURSE MODULE_HAL_SRC hal/*.c) # HAL硬件抽象层C文件 |
77 | file(GLOB_RECURSE MODULE_APP_SRC application/*.c) # 应用层C文件 | 71 | file(GLOB_RECURSE MODULE_APP_SRC application/*.c) # 应用层C文件 |
78 | file(GLOB_RECURSE MODULE_SAMPLE_SRC ../../../module_sample/*.c) # 示例模块C文件 | 72 | file(GLOB_RECURSE MODULE_SAMPLE_SRC ../../../module_sample/*.c) # 示例模块C文件 |
73 | +file(GLOB_RECURSE MODULE_JZSDK_PSDK_EXPANSION_SRC JZsdk_PsdkExpansion/*.c) #接口文件 | ||
79 | 74 | ||
80 | # 添加包含目录 | 75 | # 添加包含目录 |
81 | include_directories(../../../module_sample) # 示例模块头文件目录 | 76 | include_directories(../../../module_sample) # 示例模块头文件目录 |
82 | include_directories(../common) # 公共头文件目录 | 77 | include_directories(../common) # 公共头文件目录 |
78 | +include_directories(./JZsdk_PsdkExpansion) | ||
83 | 79 | ||
84 | # 添加PSDK库的包含目录和链接设置 | 80 | # 添加PSDK库的包含目录和链接设置 |
85 | include_directories(../../../../../psdk_lib/include) # PSDK头文件目录 | 81 | include_directories(../../../../../psdk_lib/include) # PSDK头文件目录 |
86 | link_directories(../../../../../psdk_lib/lib/${TOOLCHAIN_NAME}) # PSDK库目录 | 82 | link_directories(../../../../../psdk_lib/lib/${TOOLCHAIN_NAME}) # PSDK库目录 |
87 | -# 链接静态库文件 | ||
88 | -link_libraries(${CMAKE_CURRENT_LIST_DIR}/../../../../../psdk_lib/lib/${TOOLCHAIN_NAME}/lib${PACKAGE_NAME}.a) | 83 | + |
84 | + | ||
85 | +# 加载jzsdk的头文件 ***************************************************** | ||
86 | +include_directories(${ALL_INC_FILES}) | ||
87 | + | ||
88 | + | ||
89 | 89 | ||
90 | # 设置可执行文件输出路径(默认到构建目录的bin子目录) | 90 | # 设置可执行文件输出路径(默认到构建目录的bin子目录) |
91 | if (NOT EXECUTABLE_OUTPUT_PATH) | 91 | if (NOT EXECUTABLE_OUTPUT_PATH) |
92 | set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin) | 92 | set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin) |
93 | endif () | 93 | endif () |
94 | 94 | ||
95 | - | ||
96 | # 创建可执行目标,包含所有收集的源代码 | 95 | # 创建可执行目标,包含所有收集的源代码 |
97 | add_executable(${PROJECT_NAME} | 96 | add_executable(${PROJECT_NAME} |
98 | ${MODULE_APP_SRC} | 97 | ${MODULE_APP_SRC} |
99 | ${MODULE_SAMPLE_SRC} | 98 | ${MODULE_SAMPLE_SRC} |
100 | ${MODULE_COMMON_SRC} | 99 | ${MODULE_COMMON_SRC} |
101 | - ${MODULE_HAL_SRC}) | 100 | + ${MODULE_HAL_SRC} |
101 | + ${MODULE_SAMPLE_SRC} | ||
102 | + ${MODULE_JZSDK_PSDK_EXPANSION_SRC} | ||
103 | + | ||
104 | + ${ALL_SRC_FILES} #加载jzsdk的源文件 ***************************************************** | ||
105 | +) | ||
106 | + | ||
107 | + | ||
108 | +message("USB库已加载\n") | ||
109 | +include_directories(${ROOT_DIRS}/ThirdParty/libusb/arm-cortexa9-linux-gnueabihf/include) | ||
110 | +target_link_libraries( | ||
111 | + ${PROJECT_NAME} | ||
112 | + ${ROOT_DIRS}/ThirdParty/libusb/arm-cortexa9-linux-gnueabihf/lib/libusb-1.0.so.0 | ||
113 | +) | ||
114 | + | ||
115 | +include(${ROOT_DIRS}CmakeConfig/module_lib_loading.cmake) | ||
116 | + | ||
117 | +# 添加预链接自定义命令:在链接前执行cmake .. | ||
118 | +add_custom_command(TARGET ${PROJECT_NAME} | ||
119 | + PRE_LINK COMMAND cmake .. | ||
120 | + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) | ||
121 | + | ||
122 | + | ||
123 | +message("USB库已加载\n") | ||
124 | +include_directories(${ROOT_DIRS}/ThirdParty/libusb/arm-cortexa9-linux-gnueabihf/include) | ||
125 | +target_link_libraries( | ||
126 | + ${PROJECT_NAME} | ||
127 | + ${ROOT_DIRS}/ThirdParty/libusb/arm-cortexa9-linux-gnueabihf/lib/libusb-1.0.so.0 | ||
128 | +) | ||
129 | + | ||
130 | + | ||
131 | + | ||
132 | + | ||
133 | + | ||
134 | + | ||
135 | + | ||
136 | + | ||
137 | + | ||
138 | + | ||
139 | + | ||
140 | +# 如果开启测试用例构建,添加代码覆盖率相关编译选项 | ||
141 | +# if (BUILD_TEST_CASES_ON MATCHES TRUE) | ||
142 | +# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") | ||
143 | +# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fprofile-arcs -ftest-coverage") | ||
144 | +# set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage -lgcov") | ||
145 | +# endif () | ||
146 | + | ||
147 | + | ||
148 | +# 定义软件包名称为payloadsdk | ||
149 | + | ||
150 | + | ||
151 | + | ||
152 | + | ||
153 | + | ||
154 | + | ||
155 | + | ||
156 | + | ||
157 | + | ||
158 | + | ||
159 | +# 链接静态库文件 | ||
160 | + | ||
161 | + | ||
162 | + | ||
102 | 163 | ||
103 | 164 | ||
104 | # 设置第三方库查找路径 | 165 | # 设置第三方库查找路径 |
105 | -set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../common/3rdparty) | 166 | +# set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../common/3rdparty) |
167 | + | ||
168 | + | ||
169 | +# message("USB库已加载\n") | ||
170 | +# include_directories(${ROOT_DIRS}/ThirdParty/libusb/arm-cortexa9-linux-gnueabihf/include) | ||
171 | +# target_link_libraries( | ||
172 | +# ${PROJECT_NAME} | ||
173 | +# ${ROOT_DIRS}/ThirdParty/libusb/arm-cortexa9-linux-gnueabihf/lib/libusb-1.0.so.0 | ||
174 | +# ) | ||
175 | + | ||
176 | + | ||
177 | + | ||
178 | +# # 链接数学库 | ||
179 | +# target_link_libraries(${PROJECT_NAME} m) | ||
180 | +# # 链接C++标准库 | ||
181 | +# target_link_libraries(${PROJECT_NAME} stdc++) | ||
182 | + | ||
183 | + | ||
184 | + | ||
185 | + | ||
186 | +# # 使用pkg-config查找FFmpeg相关库 | ||
187 | +# find_package(PkgConfig REQUIRED) | ||
188 | +# pkg_check_modules(AVFORMAT REQUIRED libavformat) # 查找avformat模块 | ||
189 | +# pkg_check_modules(AVCODEC REQUIRED libavcodec) # 查找avcodec模块 | ||
190 | +# pkg_check_modules(AVUTIL REQUIRED libavutil) # 查找avutil模块 | ||
191 | + | ||
192 | +# # 添加FFmpeg头文件目录 | ||
193 | +# include_directories(${AVFORMAT_INCLUDE_DIRS}) | ||
194 | +# include_directories(${AVCODEC_INCLUDE_DIRS}) | ||
195 | +# include_directories(${AVUTIL_INCLUDE_DIRS}) | ||
196 | + | ||
197 | +# # 链接FFmpeg相关库 | ||
198 | +# target_link_libraries(${PROJECT_NAME} ${AVFORMAT_LIBRARIES} ${AVCODEC_LIBRARIES} ${AVUTIL_LIBRARIES}) | ||
199 | +# message("\nffmpeg模块加载\n") | ||
200 | +# set(FFMPEG_6_0_DIRS "${ROOT_DIRS}ThirdParty/ffmpeg_6_0/lib/arm-cortexa9-linux-gnueabihf") | ||
201 | +# include_directories(${ROOT_DIRS}ThirdParty/ffmpeg_6_0/include) | ||
202 | +# target_link_libraries( | ||
203 | +# ${PROJECT_NAME} | ||
204 | +# ${FFMPEG_6_0_DIRS}/libavcodec.so.60 | ||
205 | +# ${FFMPEG_6_0_DIRS}/libavdevice.so.60 | ||
206 | +# ${FFMPEG_6_0_DIRS}/libavfilter.so.9 | ||
207 | +# ${FFMPEG_6_0_DIRS}/libavformat.so.60 | ||
208 | +# ${FFMPEG_6_0_DIRS}/libavutil.so.58 | ||
209 | +# ${FFMPEG_6_0_DIRS}/libpostproc.so.57 | ||
210 | +# ${FFMPEG_6_0_DIRS}/libswresample.so.4 | ||
211 | +# ${FFMPEG_6_0_DIRS}/libswscale.so.7 | ||
212 | +# ) | ||
106 | 213 | ||
107 | # # 查找OPUS音频编解码库 | 214 | # # 查找OPUS音频编解码库 |
108 | # #find_package(OPUS REQUIRED) | 215 | # #find_package(OPUS REQUIRED) |
@@ -163,49 +270,3 @@ set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../common/3rdparty) | @@ -163,49 +270,3 @@ set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../common/3rdparty) | ||
163 | # message(STATUS "Cannot Find LIBUSB") | 270 | # message(STATUS "Cannot Find LIBUSB") |
164 | # endif (LIBUSB_FOUND) | 271 | # endif (LIBUSB_FOUND) |
165 | # 读取本地的libusb | 272 | # 读取本地的libusb |
166 | -message("USB库已加载\n") | ||
167 | -include_directories(${ROOT_DIRS}/ThirdParty/libusb/arm-cortexa9-linux-gnueabihf/include) | ||
168 | -target_link_libraries( | ||
169 | - ${PROJECT_NAME} | ||
170 | - ${ROOT_DIRS}/ThirdParty/libusb/arm-cortexa9-linux-gnueabihf/lib/libusb-1.0.so.0 | ||
171 | -) | ||
172 | - | ||
173 | - | ||
174 | -# # 使用pkg-config查找FFmpeg相关库 | ||
175 | -# find_package(PkgConfig REQUIRED) | ||
176 | -# pkg_check_modules(AVFORMAT REQUIRED libavformat) # 查找avformat模块 | ||
177 | -# pkg_check_modules(AVCODEC REQUIRED libavcodec) # 查找avcodec模块 | ||
178 | -# pkg_check_modules(AVUTIL REQUIRED libavutil) # 查找avutil模块 | ||
179 | - | ||
180 | -# # 添加FFmpeg头文件目录 | ||
181 | -# include_directories(${AVFORMAT_INCLUDE_DIRS}) | ||
182 | -# include_directories(${AVCODEC_INCLUDE_DIRS}) | ||
183 | -# include_directories(${AVUTIL_INCLUDE_DIRS}) | ||
184 | - | ||
185 | -# # 链接FFmpeg相关库 | ||
186 | -# target_link_libraries(${PROJECT_NAME} ${AVFORMAT_LIBRARIES} ${AVCODEC_LIBRARIES} ${AVUTIL_LIBRARIES}) | ||
187 | -# message("\nffmpeg模块加载\n") | ||
188 | -# set(FFMPEG_6_0_DIRS "${ROOT_DIRS}ThirdParty/ffmpeg_6_0/lib/arm-cortexa9-linux-gnueabihf") | ||
189 | -# include_directories(${ROOT_DIRS}ThirdParty/ffmpeg_6_0/include) | ||
190 | -# target_link_libraries( | ||
191 | -# ${PROJECT_NAME} | ||
192 | -# ${FFMPEG_6_0_DIRS}/libavcodec.so.60 | ||
193 | -# ${FFMPEG_6_0_DIRS}/libavdevice.so.60 | ||
194 | -# ${FFMPEG_6_0_DIRS}/libavfilter.so.9 | ||
195 | -# ${FFMPEG_6_0_DIRS}/libavformat.so.60 | ||
196 | -# ${FFMPEG_6_0_DIRS}/libavutil.so.58 | ||
197 | -# ${FFMPEG_6_0_DIRS}/libpostproc.so.57 | ||
198 | -# ${FFMPEG_6_0_DIRS}/libswresample.so.4 | ||
199 | -# ${FFMPEG_6_0_DIRS}/libswscale.so.7 | ||
200 | -# ) | ||
201 | - | ||
202 | - | ||
203 | -# 链接数学库 | ||
204 | -target_link_libraries(${PROJECT_NAME} m) | ||
205 | -# 链接C++标准库 | ||
206 | -target_link_libraries(${PROJECT_NAME} stdc++) | ||
207 | - | ||
208 | -# 添加预链接自定义命令:在链接前执行cmake .. | ||
209 | -add_custom_command(TARGET ${PROJECT_NAME} | ||
210 | - PRE_LINK COMMAND cmake .. | ||
211 | - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) |
1 | +#include "JZsdkLib.h" | ||
2 | +#include "data_transmission/test_data_transmission.h" | ||
3 | +#include "./JZsdk_Expansion.h" | ||
4 | + | ||
5 | +T_JZsdkReturnCode JZsdk_Expansion_low_data_tran(unsigned char *data ,int len) | ||
6 | +{ | ||
7 | + if(DJI_Low_Data_Trans(data,len) == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
8 | + { | ||
9 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
10 | + } | ||
11 | + | ||
12 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
13 | +} |
1 | /** | 1 | /** |
2 | ******************************************************************** | 2 | ******************************************************************** |
3 | - * @file DJI_VideoDeal.h | ||
4 | - * DJI_VideoDeal的头文件 | 3 | + * @file JZsdk_Expansion.h |
4 | + * JZsdk_Expansion.c 的头文件 | ||
5 | * | 5 | * |
6 | ********************************************************************* | 6 | ********************************************************************* |
7 | */ | 7 | */ |
8 | 8 | ||
9 | /* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | 9 | /* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ |
10 | -#ifndef DJI_VIDEODEAL_H | ||
11 | -#define DJI_VIDEODEAL_H | 10 | +#ifndef JZSDK_EXPANSION_H |
11 | +#define JZSDK_EXPANSION_H | ||
12 | 12 | ||
13 | /* Includes ------------------------------------------------------------------*/ | 13 | /* Includes ------------------------------------------------------------------*/ |
14 | #include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | 14 | #include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" |
@@ -17,17 +17,14 @@ | @@ -17,17 +17,14 @@ | ||
17 | extern "C" { | 17 | extern "C" { |
18 | #endif | 18 | #endif |
19 | 19 | ||
20 | + | ||
20 | /* Exported constants --------------------------------------------------------*/ | 21 | /* Exported constants --------------------------------------------------------*/ |
21 | /* 常亮定义*/ | 22 | /* 常亮定义*/ |
22 | 23 | ||
23 | /* Exported types ------------------------------------------------------------*/ | 24 | /* Exported types ------------------------------------------------------------*/ |
24 | 25 | ||
25 | /* Exported functions --------------------------------------------------------*/ | 26 | /* Exported functions --------------------------------------------------------*/ |
26 | -int DJI_VideoDeal_Push_DJIH264Frame(unsigned char* h264_data, uint32_t data_len); | ||
27 | -int DJI_VideoReplay_input(int command, unsigned int Command_timeMS, char* path); | ||
28 | -int DJI_VideoRecordStart(); | ||
29 | -int DJI_VideoRecordClose(); | ||
30 | -int DJI_Set_CameraTransStatus(int status); | 27 | +T_JZsdkReturnCode JZsdk_Expansion_low_data_tran(unsigned char *data ,int len); |
31 | 28 | ||
32 | 29 | ||
33 | #ifdef __cplusplus | 30 | #ifdef __cplusplus |
-
请 注册 或 登录 后发表评论