合并分支 'dev' 到 'master'
Dev 查看合并请求 !18
正在显示
64 个修改的文件
包含
2637 行增加
和
1041 行删除
@@ -122,7 +122,17 @@ | @@ -122,7 +122,17 @@ | ||
122 | "hardwareinfo.h": "c", | 122 | "hardwareinfo.h": "c", |
123 | "jzsdk_attributedef.h": "c", | 123 | "jzsdk_attributedef.h": "c", |
124 | "msp_types.h": "c", | 124 | "msp_types.h": "c", |
125 | - "attribute.h": "c" | 125 | + "attribute.h": "c", |
126 | + "rk_venc_rc.h": "c", | ||
127 | + "rk_mpi.h": "c", | ||
128 | + "cameradef.h": "c", | ||
129 | + "cam_zoom.h": "c", | ||
130 | + "videodev2.h": "c", | ||
131 | + "jzsdk_widget.h": "c", | ||
132 | + "dji_sdk_config.h": "c", | ||
133 | + "hal_uart.h": "c", | ||
134 | + "jzsdkbase.h": "c", | ||
135 | + "dji_logger.h": "c" | ||
126 | }, | 136 | }, |
127 | "Codegeex.GenerationPreference": "automatic", | 137 | "Codegeex.GenerationPreference": "automatic", |
128 | "C_Cpp.dimInactiveRegions": false | 138 | "C_Cpp.dimInactiveRegions": false |
1 | # 编译链的配置 | 1 | # 编译链的配置 |
2 | 2 | ||
3 | #1、编译链与设备类型的选择 | 3 | #1、编译链与设备类型的选择 |
4 | -set(DEVICE_NAME JZ_H1T) | 4 | +set(DEVICE_NAME JZ_U30) |
5 | #上一行为禁止修改行 | 5 | #上一行为禁止修改行 |
6 | 6 | ||
7 | message("**************************JZSDK构建编译开始***************************\n") | 7 | message("**************************JZSDK构建编译开始***************************\n") |
8 | 8 | ||
9 | if("${DEVICE_NAME}" STREQUAL "JZ_H1E") | 9 | if("${DEVICE_NAME}" STREQUAL "JZ_H1E") |
10 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) | 10 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) |
11 | - set(DEVICE_TYPE MEGAPHONE) | ||
12 | elseif("${DEVICE_NAME}" STREQUAL "JZ_H1T") | 11 | elseif("${DEVICE_NAME}" STREQUAL "JZ_H1T") |
13 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) | 12 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) |
14 | - set(DEVICE_TYPE MEGAPHONE) | ||
15 | elseif("${DEVICE_NAME}" STREQUAL "JZ_H150S") | 13 | elseif("${DEVICE_NAME}" STREQUAL "JZ_H150S") |
16 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) | 14 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) |
17 | - set(DEVICE_TYPE MEGAPHONE) | ||
18 | elseif("${DEVICE_NAME}" STREQUAL "JZ_H150T") | 15 | elseif("${DEVICE_NAME}" STREQUAL "JZ_H150T") |
19 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) | 16 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) |
20 | - set(DEVICE_TYPE MEGAPHONE) | ||
21 | elseif("${DEVICE_NAME}" STREQUAL "JZ_H10") | 17 | elseif("${DEVICE_NAME}" STREQUAL "JZ_H10") |
22 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) | 18 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) |
23 | - set(DEVICE_TYPE MEGAPHONE) | ||
24 | elseif("${DEVICE_NAME}" STREQUAL "JZ_H10T") | 19 | elseif("${DEVICE_NAME}" STREQUAL "JZ_H10T") |
25 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) | 20 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) |
26 | - set(DEVICE_TYPE MEGAPHONE) | ||
27 | elseif("${DEVICE_NAME}" STREQUAL "JZ_U3") | 21 | elseif("${DEVICE_NAME}" STREQUAL "JZ_U3") |
28 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) | 22 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) |
29 | - set(DEVICE_TYPE MEGAPHONE) | ||
30 | elseif("${DEVICE_NAME}" STREQUAL "JZ_U3S") | 23 | elseif("${DEVICE_NAME}" STREQUAL "JZ_U3S") |
31 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) | 24 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) |
32 | - set(DEVICE_TYPE MEGAPHONE) | ||
33 | elseif("${DEVICE_NAME}" STREQUAL "JZ_U3D") | 25 | elseif("${DEVICE_NAME}" STREQUAL "JZ_U3D") |
34 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) | 26 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) |
35 | - set(DEVICE_TYPE MEGAPHONE) | ||
36 | elseif("${DEVICE_NAME}" STREQUAL "JZ_U30") | 27 | elseif("${DEVICE_NAME}" STREQUAL "JZ_U30") |
37 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) | 28 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) |
38 | - set(DEVICE_TYPE MEGAPHONE) | ||
39 | elseif("${DEVICE_NAME}" STREQUAL "TF_A1") | 29 | elseif("${DEVICE_NAME}" STREQUAL "TF_A1") |
40 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) | 30 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) |
41 | - set(DEVICE_TYPE MEGAPHONE) | ||
42 | elseif("${DEVICE_NAME}" STREQUAL "JZ_C1") | 31 | elseif("${DEVICE_NAME}" STREQUAL "JZ_C1") |
43 | set(MAKE_COMPILER ARM_X86_64_ARRCH64) | 32 | set(MAKE_COMPILER ARM_X86_64_ARRCH64) |
44 | endif() | 33 | endif() |
@@ -19,8 +19,11 @@ file(GLOB_RECURSE JZSDK_COMMON_SRC ${ROOT_DIRS}JZsdk_Common/*.c) | @@ -19,8 +19,11 @@ file(GLOB_RECURSE JZSDK_COMMON_SRC ${ROOT_DIRS}JZsdk_Common/*.c) | ||
19 | list(APPEND ALL_SRC_FILES ${JZSDK_COMMON_SRC}) | 19 | list(APPEND ALL_SRC_FILES ${JZSDK_COMMON_SRC}) |
20 | list(APPEND ALL_INC_FILES ${ROOT_DIRS}JZsdk_Common) | 20 | list(APPEND ALL_INC_FILES ${ROOT_DIRS}JZsdk_Common) |
21 | 21 | ||
22 | -file(GLOB_RECURSE JZSDK_CONFIG_SRC ${ROOT_DIRS}JZsdk_Config/*.c) | ||
23 | -list(APPEND ALL_SRC_FILES ${JZSDK_CONFIG_SRC}) | 22 | +file(GLOB_RECURSE JZSDK_CONFIG_SRC_baseConfig ${ROOT_DIRS}JZsdk_Config/BaseConfig.c) |
23 | +file(GLOB_RECURSE JZSDK_CONFIG_SRC_Paramterpar ${ROOT_DIRS}JZsdk_Config/ParamterParsing.c) | ||
24 | + | ||
25 | +list(APPEND ALL_SRC_FILES ${JZSDK_CONFIG_SRC_baseConfig}) | ||
26 | +list(APPEND ALL_SRC_FILES ${JZSDK_CONFIG_SRC_Paramterpar}) | ||
24 | list(APPEND ALL_INC_FILES ${ROOT_DIRS}JZsdk_Config) | 27 | list(APPEND ALL_INC_FILES ${ROOT_DIRS}JZsdk_Config) |
25 | 28 | ||
26 | file(GLOB_RECURSE JZSDK_HAL_SRC ${ROOT_DIRS}JZsdk_hal/*.c) | 29 | file(GLOB_RECURSE JZSDK_HAL_SRC ${ROOT_DIRS}JZsdk_hal/*.c) |
@@ -37,13 +40,6 @@ if(${DEVICE_INFO_MODULE} STREQUAL "VERSION_SWITCH_ON") | @@ -37,13 +40,6 @@ if(${DEVICE_INFO_MODULE} STREQUAL "VERSION_SWITCH_ON") | ||
37 | 40 | ||
38 | endif() | 41 | endif() |
39 | 42 | ||
40 | -#如果要加载设备配置 | ||
41 | -if(${DEVICE_CONFIG_MODULE} STREQUAL "VERSION_SWITCH_ON") | ||
42 | - message("\n设备配置源码加载中") | ||
43 | - file(GLOB_RECURSE DEVICE_CONFOG_SRC ${ROOT_DIRS}Module/DeviceConfig/*.c) | ||
44 | - list(APPEND ALL_SRC_FILES ${DEVICE_CONFOG_SRC}) | ||
45 | -endif() | ||
46 | - | ||
47 | #如果要加载云台模块,需要加载以下附属内容 | 43 | #如果要加载云台模块,需要加载以下附属内容 |
48 | if(${GIMBAL_MODULE} STREQUAL "VERSION_SWITCH_ON") | 44 | if(${GIMBAL_MODULE} STREQUAL "VERSION_SWITCH_ON") |
49 | message("\n云台模块源码加载中") | 45 | message("\n云台模块源码加载中") |
@@ -108,7 +104,16 @@ if(${MEDIA_PROC_MODULE} STREQUAL "VERSION_SWITCH_ON") | @@ -108,7 +104,16 @@ if(${MEDIA_PROC_MODULE} STREQUAL "VERSION_SWITCH_ON") | ||
108 | 104 | ||
109 | endif() | 105 | endif() |
110 | 106 | ||
107 | +#如果要加载音频库模块,需要加载以下附属内容 | ||
108 | +if(${AUDIODEAL_MODULE} STREQUAL "VERSION_SWITCH_ON") | ||
109 | + message("\n音频库模块加载中") | ||
111 | 110 | ||
111 | + message("加载音频库") | ||
112 | + add_definitions(-DMACRO_AUDIODEAL_MODULE) | ||
113 | + file(GLOB_RECURSE AUDIODEAL_SRC ${ROOT_DIRS}Module/AudioDeal/*.c) | ||
114 | + list(APPEND ALL_SRC_FILES ${AUDIODEAL_SRC}) | ||
115 | + | ||
116 | +endif() | ||
112 | 117 | ||
113 | #如果要加载喊话器模块,需要加载以下附属内容 | 118 | #如果要加载喊话器模块,需要加载以下附属内容 |
114 | if(${MEGAPHONE_MODULE} STREQUAL "VERSION_SWITCH_ON") | 119 | if(${MEGAPHONE_MODULE} STREQUAL "VERSION_SWITCH_ON") |
@@ -119,10 +124,6 @@ if(${MEGAPHONE_MODULE} STREQUAL "VERSION_SWITCH_ON") | @@ -119,10 +124,6 @@ if(${MEGAPHONE_MODULE} STREQUAL "VERSION_SWITCH_ON") | ||
119 | file(GLOB_RECURSE MEGAPHONE_SRC ${ROOT_DIRS}Module/Megaphone/*.c) | 124 | file(GLOB_RECURSE MEGAPHONE_SRC ${ROOT_DIRS}Module/Megaphone/*.c) |
120 | list(APPEND ALL_SRC_FILES ${MEGAPHONE_SRC}) | 125 | list(APPEND ALL_SRC_FILES ${MEGAPHONE_SRC}) |
121 | 126 | ||
122 | - message("加载音频库") | ||
123 | - file(GLOB_RECURSE AUDIODEAL_SRC ${ROOT_DIRS}Module/AudioDeal/*.c) | ||
124 | - list(APPEND ALL_SRC_FILES ${AUDIODEAL_SRC}) | ||
125 | - | ||
126 | message("加载讯飞TTS模块") | 127 | message("加载讯飞TTS模块") |
127 | set(IFLAY_TTS_MODULE VERSION_SWITCH_ON) | 128 | set(IFLAY_TTS_MODULE VERSION_SWITCH_ON) |
128 | 129 | ||
@@ -188,7 +189,7 @@ if(${IMAGEPROCESSING_MODULE} STREQUAL "VERSION_SWITCH_ON") | @@ -188,7 +189,7 @@ if(${IMAGEPROCESSING_MODULE} STREQUAL "VERSION_SWITCH_ON") | ||
188 | list(APPEND ALL_SRC_FILES ${MODULE_IMAGEPROCESSING_cpp_SRC}) | 189 | list(APPEND ALL_SRC_FILES ${MODULE_IMAGEPROCESSING_cpp_SRC}) |
189 | endif() | 190 | endif() |
190 | 191 | ||
191 | - | 192 | +message("\n模组加载完毕\n") |
192 | 193 | ||
193 | # 头文件加载,后续再进行优化 | 194 | # 头文件加载,后续再进行优化 |
194 | list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/Megaphone) | 195 | list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/Megaphone) |
@@ -9,9 +9,6 @@ set(AUDIODEAL_MODULE VERSION_SWITCH_OFF) | @@ -9,9 +9,6 @@ set(AUDIODEAL_MODULE VERSION_SWITCH_OFF) | ||
9 | # 信息模块 | 9 | # 信息模块 |
10 | set(DEVICE_INFO_MODULE VERSION_SWITCH_OFF) | 10 | set(DEVICE_INFO_MODULE VERSION_SWITCH_OFF) |
11 | 11 | ||
12 | -# 设备配置模块 | ||
13 | -set(DEVICE_CONFIG_MODULE VERSION_SWITCH_OFF) | ||
14 | - | ||
15 | # Gimbal 云台处理模块 | 12 | # Gimbal 云台处理模块 |
16 | set(GIMBAL_MODULE VERSION_SWITCH_OFF) | 13 | set(GIMBAL_MODULE VERSION_SWITCH_OFF) |
17 | 14 | ||
@@ -60,9 +57,6 @@ set(IMAGEPROCESSING_MODULE VERSION_SWITCH_OFF) | @@ -60,9 +57,6 @@ set(IMAGEPROCESSING_MODULE VERSION_SWITCH_OFF) | ||
60 | # 添加信息模块 | 57 | # 添加信息模块 |
61 | set(DEVICE_INFO_MODULE VERSION_SWITCH_ON) | 58 | set(DEVICE_INFO_MODULE VERSION_SWITCH_ON) |
62 | 59 | ||
63 | -# 添加设备配置模块 | ||
64 | -set(DEVICE_CONFIG_MODULE VERSION_SWITCH_ON) | ||
65 | - | ||
66 | # 添加UI管理模块 | 60 | # 添加UI管理模块 |
67 | set(UI_CONTROL_MODULE VERSION_SWITCH_ON) | 61 | set(UI_CONTROL_MODULE VERSION_SWITCH_ON) |
68 | 62 | ||
@@ -75,6 +69,7 @@ message("通用库加载完成") | @@ -75,6 +69,7 @@ message("通用库加载完成") | ||
75 | ########################### 独立库加载 ########################################## | 69 | ########################### 独立库加载 ########################################## |
76 | 70 | ||
77 | if("${DEVICE_NAME}" STREQUAL "JZ_H1E") | 71 | if("${DEVICE_NAME}" STREQUAL "JZ_H1E") |
72 | + | ||
78 | # 添加AudioDeal 音频处理模块 | 73 | # 添加AudioDeal 音频处理模块 |
79 | set(AUDIODEAL_MODULE VERSION_SWITCH_ON) | 74 | set(AUDIODEAL_MODULE VERSION_SWITCH_ON) |
80 | 75 | ||
@@ -93,6 +88,12 @@ if("${DEVICE_NAME}" STREQUAL "JZ_H1E") | @@ -93,6 +88,12 @@ if("${DEVICE_NAME}" STREQUAL "JZ_H1E") | ||
93 | # 添加FFMPEG及其附属模块 | 88 | # 添加FFMPEG及其附属模块 |
94 | set(FFMPEG_MODULE VERSION_SWITCH_ON) | 89 | set(FFMPEG_MODULE VERSION_SWITCH_ON) |
95 | 90 | ||
91 | + #设备独立配置源文件 | ||
92 | + file(GLOB_RECURSE DEVICE_CONFOG_SRC ${ROOT_DIRS}JZsdk_Config/DeviceSample/JZ_H1_series/JZ_H1E/*.c) | ||
93 | + list(APPEND ALL_SRC_FILES ${DEVICE_CONFOG_SRC}) | ||
94 | + | ||
95 | + message("h1e基础配置完毕\n") | ||
96 | + | ||
96 | elseif("${DEVICE_NAME}" STREQUAL "JZ_H1T") | 97 | elseif("${DEVICE_NAME}" STREQUAL "JZ_H1T") |
97 | 98 | ||
98 | # 添加AudioDeal 音频处理模块 | 99 | # 添加AudioDeal 音频处理模块 |
@@ -113,6 +114,12 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H1T") | @@ -113,6 +114,12 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H1T") | ||
113 | # 添加FFMPEG及其附属模块 | 114 | # 添加FFMPEG及其附属模块 |
114 | set(FFMPEG_MODULE VERSION_SWITCH_ON) | 115 | set(FFMPEG_MODULE VERSION_SWITCH_ON) |
115 | 116 | ||
117 | + #设备独立配置源文件 | ||
118 | + file(GLOB_RECURSE DEVICE_CONFOG_SRC ${ROOT_DIRS}JZsdk_Config/DeviceSample/JZ_H1_series/JZ_H1T/*.c) | ||
119 | + list(APPEND ALL_SRC_FILES ${DEVICE_CONFOG_SRC}) | ||
120 | + | ||
121 | + message("h1t基础配置完毕\n") | ||
122 | + | ||
116 | elseif("${DEVICE_NAME}" STREQUAL "JZ_U3") | 123 | elseif("${DEVICE_NAME}" STREQUAL "JZ_U3") |
117 | 124 | ||
118 | # 添加AudioDeal 音频处理模块 | 125 | # 添加AudioDeal 音频处理模块 |
@@ -133,6 +140,12 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_U3") | @@ -133,6 +140,12 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_U3") | ||
133 | # 添加FFMPEG及其附属模块 | 140 | # 添加FFMPEG及其附属模块 |
134 | set(FFMPEG_MODULE VERSION_SWITCH_ON) | 141 | set(FFMPEG_MODULE VERSION_SWITCH_ON) |
135 | 142 | ||
143 | + #设备独立配置源文件 | ||
144 | + file(GLOB_RECURSE DEVICE_CONFOG_SRC ${ROOT_DIRS}JZsdk_Config/DeviceSample/JZ_U3_series/JZ_U3/*.c) | ||
145 | + list(APPEND ALL_SRC_FILES ${DEVICE_CONFOG_SRC}) | ||
146 | + | ||
147 | + message("u3基础配置完毕\n") | ||
148 | + | ||
136 | elseif("${DEVICE_NAME}" STREQUAL "JZ_U3S") | 149 | elseif("${DEVICE_NAME}" STREQUAL "JZ_U3S") |
137 | 150 | ||
138 | # 添加AudioDeal 音频处理模块 | 151 | # 添加AudioDeal 音频处理模块 |
@@ -156,6 +169,12 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_U3S") | @@ -156,6 +169,12 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_U3S") | ||
156 | # 添加激光模块 | 169 | # 添加激光模块 |
157 | set(SIDE_LASER_MODULE VERSION_SWITCH_ON) | 170 | set(SIDE_LASER_MODULE VERSION_SWITCH_ON) |
158 | 171 | ||
172 | + #设备独立配置源文件 | ||
173 | + file(GLOB_RECURSE DEVICE_CONFOG_SRC ${ROOT_DIRS}JZsdk_Config/DeviceSample/JZ_U3_series/JZ_U3S/*.c) | ||
174 | + list(APPEND ALL_SRC_FILES ${DEVICE_CONFOG_SRC}) | ||
175 | + | ||
176 | + message("u3s基础配置完毕\n") | ||
177 | + | ||
159 | elseif("${DEVICE_NAME}" STREQUAL "JZ_U3D") | 178 | elseif("${DEVICE_NAME}" STREQUAL "JZ_U3D") |
160 | 179 | ||
161 | # 添加AudioDeal 音频处理模块 | 180 | # 添加AudioDeal 音频处理模块 |
@@ -176,6 +195,12 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_U3D") | @@ -176,6 +195,12 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_U3D") | ||
176 | # 添加FFMPEG及其附属模块 | 195 | # 添加FFMPEG及其附属模块 |
177 | set(FFMPEG_MODULE VERSION_SWITCH_ON) | 196 | set(FFMPEG_MODULE VERSION_SWITCH_ON) |
178 | 197 | ||
198 | + #设备独立配置源文件 | ||
199 | + file(GLOB_RECURSE DEVICE_CONFOG_SRC ${ROOT_DIRS}JZsdk_Config/DeviceSample/JZ_U3_series/JZ_U3D/*.c) | ||
200 | + list(APPEND ALL_SRC_FILES ${DEVICE_CONFOG_SRC}) | ||
201 | + | ||
202 | + message("u3d基础配置完毕\n") | ||
203 | + | ||
179 | elseif("${DEVICE_NAME}" STREQUAL "JZ_U30") | 204 | elseif("${DEVICE_NAME}" STREQUAL "JZ_U30") |
180 | 205 | ||
181 | # 添加AudioDeal 音频处理模块 | 206 | # 添加AudioDeal 音频处理模块 |
@@ -196,6 +221,12 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_U30") | @@ -196,6 +221,12 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_U30") | ||
196 | # 添加FFMPEG及其附属模块 | 221 | # 添加FFMPEG及其附属模块 |
197 | set(FFMPEG_MODULE VERSION_SWITCH_ON) | 222 | set(FFMPEG_MODULE VERSION_SWITCH_ON) |
198 | 223 | ||
224 | + #设备独立配置源文件 | ||
225 | + file(GLOB_RECURSE DEVICE_CONFOG_SRC ${ROOT_DIRS}JZsdk_Config/DeviceSample/JZ_U3_series/JZ_U30/*.c) | ||
226 | + list(APPEND ALL_SRC_FILES ${DEVICE_CONFOG_SRC}) | ||
227 | + | ||
228 | + message("u30基础配置完毕\n") | ||
229 | + | ||
199 | elseif("${DEVICE_NAME}" STREQUAL "JZ_H10") | 230 | elseif("${DEVICE_NAME}" STREQUAL "JZ_H10") |
200 | # 添加AudioDeal 音频处理模块 | 231 | # 添加AudioDeal 音频处理模块 |
201 | set(AUDIODEAL_MODULE VERSION_SWITCH_ON) | 232 | set(AUDIODEAL_MODULE VERSION_SWITCH_ON) |
@@ -215,6 +246,12 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H10") | @@ -215,6 +246,12 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H10") | ||
215 | # 添加FFMPEG及其附属模块 | 246 | # 添加FFMPEG及其附属模块 |
216 | set(FFMPEG_MODULE VERSION_SWITCH_ON) | 247 | set(FFMPEG_MODULE VERSION_SWITCH_ON) |
217 | 248 | ||
249 | + #设备独立配置源文件 | ||
250 | + file(GLOB_RECURSE DEVICE_CONFOG_SRC ${ROOT_DIRS}JZsdk_Config/DeviceSample/JZ_H10_series/JZ_H10/*.c) | ||
251 | + list(APPEND ALL_SRC_FILES ${DEVICE_CONFOG_SRC}) | ||
252 | + | ||
253 | + message("h10基础配置完毕\n") | ||
254 | + | ||
218 | elseif("${DEVICE_NAME}" STREQUAL "JZ_H10T") | 255 | elseif("${DEVICE_NAME}" STREQUAL "JZ_H10T") |
219 | 256 | ||
220 | # 添加AudioDeal 音频处理模块 | 257 | # 添加AudioDeal 音频处理模块 |
@@ -232,6 +269,12 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H10T") | @@ -232,6 +269,12 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H10T") | ||
232 | # 添加FFMPEG及其附属模块 | 269 | # 添加FFMPEG及其附属模块 |
233 | set(FFMPEG_MODULE VERSION_SWITCH_ON) | 270 | set(FFMPEG_MODULE VERSION_SWITCH_ON) |
234 | 271 | ||
272 | + #设备独立配置源文件 | ||
273 | + file(GLOB_RECURSE DEVICE_CONFOG_SRC ${ROOT_DIRS}JZsdk_Config/DeviceSample/JZ_H10_series/JZ_H10T/*.c) | ||
274 | + list(APPEND ALL_SRC_FILES ${DEVICE_CONFOG_SRC}) | ||
275 | + | ||
276 | + message("h10t基础配置完毕\n") | ||
277 | + | ||
235 | elseif("${DEVICE_NAME}" STREQUAL "JZ_H150S") | 278 | elseif("${DEVICE_NAME}" STREQUAL "JZ_H150S") |
236 | # 添加AudioDeal 音频处理模块 | 279 | # 添加AudioDeal 音频处理模块 |
237 | set(AUDIODEAL_MODULE VERSION_SWITCH_ON) | 280 | set(AUDIODEAL_MODULE VERSION_SWITCH_ON) |
@@ -254,6 +297,12 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H150S") | @@ -254,6 +297,12 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H150S") | ||
254 | # 添加FFMPEG及其附属模块 | 297 | # 添加FFMPEG及其附属模块 |
255 | set(FFMPEG_MODULE VERSION_SWITCH_ON) | 298 | set(FFMPEG_MODULE VERSION_SWITCH_ON) |
256 | 299 | ||
300 | + #设备独立配置源文件 | ||
301 | + file(GLOB_RECURSE DEVICE_CONFOG_SRC ${ROOT_DIRS}JZsdk_Config/DeviceSample/JZ_H150S_H150T/*.c) | ||
302 | + list(APPEND ALL_SRC_FILES ${DEVICE_CONFOG_SRC}) | ||
303 | + | ||
304 | + message("h150s基础配置完毕\n") | ||
305 | + | ||
257 | elseif("${DEVICE_NAME}" STREQUAL "JZ_H150T") | 306 | elseif("${DEVICE_NAME}" STREQUAL "JZ_H150T") |
258 | 307 | ||
259 | # 添加AudioDeal 音频处理模块 | 308 | # 添加AudioDeal 音频处理模块 |
@@ -277,6 +326,12 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H150T") | @@ -277,6 +326,12 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H150T") | ||
277 | # 添加FFMPEG及其附属模块 | 326 | # 添加FFMPEG及其附属模块 |
278 | set(FFMPEG_MODULE VERSION_SWITCH_ON) | 327 | set(FFMPEG_MODULE VERSION_SWITCH_ON) |
279 | 328 | ||
329 | + #设备独立配置源文件 | ||
330 | + file(GLOB_RECURSE DEVICE_CONFOG_SRC ${ROOT_DIRS}JZsdk_Config/DeviceSample/JZ_H150S_H150T/*.c) | ||
331 | + list(APPEND ALL_SRC_FILES ${DEVICE_CONFOG_SRC}) | ||
332 | + | ||
333 | + message("h150t基础配置完毕\n") | ||
334 | + | ||
280 | elseif("${DEVICE_NAME}" STREQUAL "JZ_C1") | 335 | elseif("${DEVICE_NAME}" STREQUAL "JZ_C1") |
281 | 336 | ||
282 | # 添加Gimbal 云台处理模块 | 337 | # 添加Gimbal 云台处理模块 |
@@ -296,6 +351,13 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_C1") | @@ -296,6 +351,13 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_C1") | ||
296 | 351 | ||
297 | # 添加昆腾模块 | 352 | # 添加昆腾模块 |
298 | set(LIB_KT_MODULE VERSION_SWITCH_ON) | 353 | set(LIB_KT_MODULE VERSION_SWITCH_ON) |
354 | + | ||
355 | + #设备独立配置源文件 | ||
356 | + file(GLOB_RECURSE DEVICE_CONFOG_SRC ${ROOT_DIRS}JZsdk_Config/DeviceSample/JZC1/*.c) | ||
357 | + list(APPEND ALL_SRC_FILES ${DEVICE_CONFOG_SRC}) | ||
358 | + | ||
359 | + message("C1基础配置完毕\n") | ||
360 | + | ||
299 | endif() | 361 | endif() |
300 | 362 | ||
301 | message("***********************模组模块配置完毕*********************************\n") | 363 | message("***********************模组模块配置完毕*********************************\n") |
@@ -22,13 +22,16 @@ static T_JZsdkReturnCode JZsdk_PrepareSystemEnvironment() | @@ -22,13 +22,16 @@ static T_JZsdkReturnCode JZsdk_PrepareSystemEnvironment() | ||
22 | 22 | ||
23 | 23 | ||
24 | //初始化sdk | 24 | //初始化sdk |
25 | -T_JZsdkReturnCode JZsdk_LibInit() | 25 | +T_JZsdkReturnCode JZsdk_LibInit(int LogFlag) |
26 | { | 26 | { |
27 | //环境初始化 | 27 | //环境初始化 |
28 | JZsdk_PrepareSystemEnvironment(); | 28 | JZsdk_PrepareSystemEnvironment(); |
29 | 29 | ||
30 | + if (LogFlag == JZ_FLAGCODE_ON) | ||
31 | + { | ||
30 | //1、初始化log | 32 | //1、初始化log |
31 | JZsdk_LoggerInit(); | 33 | JZsdk_LoggerInit(); |
34 | + } | ||
32 | 35 | ||
33 | //2、任务管理系统初始化 | 36 | //2、任务管理系统初始化 |
34 | TaskManagement_Init(); | 37 | TaskManagement_Init(); |
@@ -26,7 +26,7 @@ extern "C" { | @@ -26,7 +26,7 @@ extern "C" { | ||
26 | /* Exported types ------------------------------------------------------------*/ | 26 | /* Exported types ------------------------------------------------------------*/ |
27 | 27 | ||
28 | /* Exported functions --------------------------------------------------------*/ | 28 | /* Exported functions --------------------------------------------------------*/ |
29 | -T_JZsdkReturnCode JZsdk_LibInit(); | 29 | +T_JZsdkReturnCode JZsdk_LibInit(int LogFlag); |
30 | 30 | ||
31 | 31 | ||
32 | #ifdef __cplusplus | 32 | #ifdef __cplusplus |
@@ -21,6 +21,10 @@ unsigned char * JZsdk_DefineCode_GetPortName(int Port) | @@ -21,6 +21,10 @@ unsigned char * JZsdk_DefineCode_GetPortName(int Port) | ||
21 | return "HAL数据"; | 21 | return "HAL数据"; |
22 | break; | 22 | break; |
23 | 23 | ||
24 | + case NET_DEV_1: | ||
25 | + return "设备NET1"; | ||
26 | + break; | ||
27 | + | ||
24 | case NO_SPECIFIED: | 28 | case NO_SPECIFIED: |
25 | return "无指定设备"; | 29 | return "无指定设备"; |
26 | break; | 30 | break; |
@@ -9,6 +9,7 @@ | @@ -9,6 +9,7 @@ | ||
9 | //特殊版本号 | 9 | //特殊版本号 |
10 | #define SPECIAL_NORMAL 0x01 //普通版本 | 10 | #define SPECIAL_NORMAL 0x01 //普通版本 |
11 | #define SPECIAL_DAOTONG 0x02 //道通版本 | 11 | #define SPECIAL_DAOTONG 0x02 //道通版本 |
12 | +#define SPECIAL_H10_M300 0x03 //h10 m300版本 | ||
12 | 13 | ||
13 | //软件模式 | 14 | //软件模式 |
14 | #define APP_PSDK 0x01 | 15 | #define APP_PSDK 0x01 |
@@ -161,6 +161,22 @@ typedef enum { | @@ -161,6 +161,22 @@ typedef enum { | ||
161 | JZ_INSCODE_5AFRAME_UPGRADE_TRANS = 0x10001103, //升级传输数据 | 161 | JZ_INSCODE_5AFRAME_UPGRADE_TRANS = 0x10001103, //升级传输数据 |
162 | JZ_INSCODE_5AFRAME_UPGRADE_END = 0x10001104, //升级传输结束 | 162 | JZ_INSCODE_5AFRAME_UPGRADE_END = 0x10001104, //升级传输结束 |
163 | 163 | ||
164 | + | ||
165 | + JZ_INSCODE_5AFRAME_CAMERA_VIDEO_PUSH_INDEX = 0x10001200, //设置视频推送索引 | ||
166 | + JZ_INSOCDE_5AFRAME_CAMERA_TAKE_PHOTO = 0x10001201, //拍照 | ||
167 | + JZ_INSCODE_5AFRAME_CAMERA_VIDEO_RECORD_START = 0x10001202, //录像开始 | ||
168 | + JZ_INSCODE_5AFRAME_CAMERA_VIDEO_RECORD_STOP = 0x10001203, //录像结束 | ||
169 | + JZ_INSCODE_5AFRAME_CAMERA_SHUTTER_CONTROL = 0x10001204, //快门控制 | ||
170 | + JZ_INSCODE_5AFRAME_CAMERA_FREEZE_CONTROL = 0x10001205, //冻结控制 | ||
171 | + | ||
172 | + JZ_INSOCDE_5AFRAME_IRC_CORRECT_WAY = 0x10001300, //红外校准方式 | ||
173 | + JZ_INSCODE_5AFRAME_IRC_SPC_PARAM = 0x10001301, //单点参数 | ||
174 | + JZ_INSCODE_5AFRAME_IRC_TPC_PARAM = 0x10001302, //两点参数 | ||
175 | + | ||
176 | + JZ_INSOCDE_5AFRAME_IRC_OUTPUT_COLOR_MODE = 0x10001400, //红外输出颜色模式 | ||
177 | + JZ_INSCODE_5AFRAME_IRC_PSEUDO_COLOR_PARAM = 0x10001401, //红外伪彩色 | ||
178 | + JZ_INSCODE_5AFRAME_IRC_GAS_ENHANCE_PARAM = 0x10001402, //红外气体增强 | ||
179 | + | ||
164 | //5B类帧 | 180 | //5B类帧 |
165 | JZ_INSCODE_5BFRAME_FRAME = 0x10004000, //发送帧 | 181 | JZ_INSCODE_5BFRAME_FRAME = 0x10004000, //发送帧 |
166 | 182 |
@@ -48,9 +48,10 @@ typedef enum JZsdk_Widget_Control | @@ -48,9 +48,10 @@ typedef enum JZsdk_Widget_Control | ||
48 | 48 | ||
49 | 49 | ||
50 | JZSDK_WIDGET_GAS_ENHANCEMENT_CORRECT = 0x0036, //气体增强纠正 | 50 | JZSDK_WIDGET_GAS_ENHANCEMENT_CORRECT = 0x0036, //气体增强纠正 |
51 | + JZSDK_WIDGET_IRC_MARK_LOW_AND_HIGH_DATA = 0x0037, //红外标记高低数据 | ||
51 | 52 | ||
52 | - JZSDK_WIDGET_GAS_ENHANCEMENT_CORRECT_HIGH_CALIBRATION = 0x0037, //气体增强纠正高温校准 | ||
53 | - JZSDK_WIDGET_GAS_ENHANCEMENT_CORRECT_LOW_CALIBRATION = 0x0038, //气体增强纠正低温校准 | 53 | + JZSDK_WIDGET_GAS_ENHANCEMENT_CORRECT_HIGH_CALIBRATION = 0x0038, //气体增强纠正高温校准 |
54 | + JZSDK_WIDGET_GAS_ENHANCEMENT_CORRECT_LOW_CALIBRATION = 0x0039, //气体增强纠正低温校准 | ||
54 | 55 | ||
55 | 56 | ||
56 | 57 |
@@ -47,6 +47,8 @@ typedef uint64_t U64_t; | @@ -47,6 +47,8 @@ typedef uint64_t U64_t; | ||
47 | typedef double F64_t; | 47 | typedef double F64_t; |
48 | typedef float F32_t; | 48 | typedef float F32_t; |
49 | 49 | ||
50 | +#define JZSDK_SINGLE_THREAD 0 //jz单线程 | ||
51 | +#define JZSDK_MULTI_THREAD 1 //jz多线程 | ||
50 | 52 | ||
51 | //线程权柄 | 53 | //线程权柄 |
52 | typedef void *T_JZTaskHandle; | 54 | typedef void *T_JZTaskHandle; |
@@ -672,6 +672,85 @@ static int Comparison_5AFRAME_FirstLevelCode_0xA1(char *getdata) | @@ -672,6 +672,85 @@ static int Comparison_5AFRAME_FirstLevelCode_0xA1(char *getdata) | ||
672 | } | 672 | } |
673 | 673 | ||
674 | 674 | ||
675 | +static int Comparison_5AFRAME_FirstLevelCode_0x90(char *getdata) | ||
676 | +{ | ||
677 | + switch (getdata[8]) | ||
678 | + { | ||
679 | + case 0x00: | ||
680 | + return JZ_INSCODE_5AFRAME_CAMERA_VIDEO_PUSH_INDEX; | ||
681 | + break; | ||
682 | + | ||
683 | + case 0x01: | ||
684 | + return JZ_INSOCDE_5AFRAME_CAMERA_TAKE_PHOTO; | ||
685 | + break; | ||
686 | + | ||
687 | + case 0x02: | ||
688 | + return JZ_INSCODE_5AFRAME_CAMERA_VIDEO_RECORD_START; | ||
689 | + break; | ||
690 | + | ||
691 | + case 0x03: | ||
692 | + return JZ_INSCODE_5AFRAME_CAMERA_VIDEO_RECORD_STOP; | ||
693 | + break; | ||
694 | + | ||
695 | + case 0x04: | ||
696 | + return JZ_INSCODE_5AFRAME_CAMERA_SHUTTER_CONTROL; | ||
697 | + break; | ||
698 | + | ||
699 | + case 0x05: | ||
700 | + return JZ_INSCODE_5AFRAME_CAMERA_FREEZE_CONTROL; | ||
701 | + break; | ||
702 | + | ||
703 | + default: | ||
704 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
705 | + break; | ||
706 | + } | ||
707 | +} | ||
708 | + | ||
709 | +static int Comparison_5AFRAME_FirstLevelCode_0x93(char *getdata) | ||
710 | +{ | ||
711 | + switch (getdata[8]) | ||
712 | + { | ||
713 | + case 0x00: | ||
714 | + return JZ_INSOCDE_5AFRAME_IRC_CORRECT_WAY; | ||
715 | + break; | ||
716 | + | ||
717 | + case 0x10: | ||
718 | + return JZ_INSCODE_5AFRAME_IRC_SPC_PARAM; | ||
719 | + break; | ||
720 | + | ||
721 | + case 0x11: | ||
722 | + return JZ_INSCODE_5AFRAME_IRC_TPC_PARAM; | ||
723 | + break; | ||
724 | + | ||
725 | + default: | ||
726 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
727 | + break; | ||
728 | + } | ||
729 | +} | ||
730 | + | ||
731 | +static int Comparison_5AFRAME_FirstLevelCode_0x94(char *getdata) | ||
732 | +{ | ||
733 | + switch (getdata[8]) | ||
734 | + { | ||
735 | + case 0x00: | ||
736 | + return JZ_INSOCDE_5AFRAME_IRC_OUTPUT_COLOR_MODE; | ||
737 | + break; | ||
738 | + | ||
739 | + case 0x10: | ||
740 | + return JZ_INSCODE_5AFRAME_IRC_PSEUDO_COLOR_PARAM; | ||
741 | + break; | ||
742 | + | ||
743 | + case 0x11: | ||
744 | + return JZ_INSCODE_5AFRAME_IRC_GAS_ENHANCE_PARAM; | ||
745 | + break; | ||
746 | + | ||
747 | + default: | ||
748 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
749 | + break; | ||
750 | + } | ||
751 | +} | ||
752 | + | ||
753 | + | ||
675 | /****************************************************************** | 754 | /****************************************************************** |
676 | 755 | ||
677 | 回复帧对比 | 756 | 回复帧对比 |
@@ -813,6 +892,21 @@ int JZsdk_5AFrameComparsion(char *getdata, int len) | @@ -813,6 +892,21 @@ int JZsdk_5AFrameComparsion(char *getdata, int len) | ||
813 | return Comparison_5AFRAME_FirstLevelCode_0x6F(getdata); | 892 | return Comparison_5AFRAME_FirstLevelCode_0x6F(getdata); |
814 | break; | 893 | break; |
815 | 894 | ||
895 | + //一级功能码 90 | ||
896 | + case 0x90: | ||
897 | + return Comparison_5AFRAME_FirstLevelCode_0x90(getdata); | ||
898 | + break; | ||
899 | + | ||
900 | + //一级功能码 93 | ||
901 | + case 0x93: | ||
902 | + return Comparison_5AFRAME_FirstLevelCode_0x93(getdata); | ||
903 | + break; | ||
904 | + | ||
905 | + //一级功能码 92 | ||
906 | + case 0x94: | ||
907 | + return Comparison_5AFRAME_FirstLevelCode_0x94(getdata); | ||
908 | + break; | ||
909 | + | ||
816 | //一级功能码 升级功能 | 910 | //一级功能码 升级功能 |
817 | case 0xA1: | 911 | case 0xA1: |
818 | return Comparison_5AFRAME_FirstLevelCode_0xA1(getdata); | 912 | return Comparison_5AFRAME_FirstLevelCode_0xA1(getdata); |
@@ -820,6 +914,7 @@ int JZsdk_5AFrameComparsion(char *getdata, int len) | @@ -820,6 +914,7 @@ int JZsdk_5AFrameComparsion(char *getdata, int len) | ||
820 | 914 | ||
821 | //一级功能码 | 915 | //一级功能码 |
822 | 916 | ||
917 | + | ||
823 | /********************************************************************************************************************************************************* | 918 | /********************************************************************************************************************************************************* |
824 | * | 919 | * |
825 | * | 920 | * |
@@ -474,9 +474,9 @@ int JZsdk_GetFrameTemplate(int InsCode ,char *str, int *str_len) | @@ -474,9 +474,9 @@ int JZsdk_GetFrameTemplate(int InsCode ,char *str, int *str_len) | ||
474 | 474 | ||
475 | case JZ_INSCODE_5BFRAME_OPUS_DECODE_STATUS: | 475 | case JZ_INSCODE_5BFRAME_OPUS_DECODE_STATUS: |
476 | { | 476 | { |
477 | - char sendbuf[13] = { 0x5b, 0x5b, 0x77, 0x00, 0x0D, 0x00, 0x00, 0x59, 0xf2, 0x00, 0x00, 0x00, 0x23}; | ||
478 | - memcpy(str, sendbuf, 13); | ||
479 | - *str_len = 13; | 477 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x59, 0xf2, 0x00, 0x00, 0x23}; |
478 | + memcpy(str, sendbuf, 12); | ||
479 | + *str_len = 12; | ||
480 | } | 480 | } |
481 | break; | 481 | break; |
482 | 482 |
@@ -420,11 +420,18 @@ T_JZsdkReturnCode JZsdk_Osal_Rename(const char *oldFilePath, const char *newFile | @@ -420,11 +420,18 @@ T_JZsdkReturnCode JZsdk_Osal_Rename(const char *oldFilePath, const char *newFile | ||
420 | return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; | 420 | return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; |
421 | } | 421 | } |
422 | 422 | ||
423 | - ret = rename(oldFilePath, newFilePath); | 423 | + unsigned char cmd[256] = {0}; |
424 | + sprintf((char *)cmd, "mv %s %s", oldFilePath, newFilePath); | ||
425 | + ret = system((char *)cmd); | ||
424 | if (ret < 0) { | 426 | if (ret < 0) { |
425 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 427 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
426 | } | 428 | } |
427 | 429 | ||
430 | + // ret = rename(oldFilePath, newFilePath); | ||
431 | + // if (ret < 0) { | ||
432 | + // return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
433 | + // } | ||
434 | + | ||
428 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 435 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
429 | } | 436 | } |
430 | 437 |
1 | -#include <stdio.h> | ||
2 | -#include <stdlib.h> | ||
3 | #include <pthread.h> | 1 | #include <pthread.h> |
4 | -#include <string.h> | ||
5 | - | ||
6 | #include "JZsdkLib.h" | 2 | #include "JZsdkLib.h" |
7 | 3 | ||
8 | -#include "Hal_Send/HalSend.h" | ||
9 | - | ||
10 | #include "BaseConfig.h" | 4 | #include "BaseConfig.h" |
11 | 5 | ||
12 | -#include "ircut.h" | ||
13 | -#include "Gimbal/Gimbal.h" | 6 | +#include "Hal_Send/HalSend.h" |
7 | +#include "JZsdk_Hal.h" | ||
14 | 8 | ||
9 | +#include "ircut.h" | ||
15 | #include "Psdk_UI_io.h" | 10 | #include "Psdk_UI_io.h" |
16 | - | ||
17 | -#include "Lighting_InAndOut.h" | ||
18 | -#include "JZsdk_network/JZsdk_network.h" | ||
19 | - | ||
20 | #include "JZsdk_haldata_deal/JZsdk_data_transmisson.h" | 11 | #include "JZsdk_haldata_deal/JZsdk_data_transmisson.h" |
21 | -#include "MediaProc/MediaProc.h" | ||
22 | #include "UI_control/WidegMgmt/JZsdk_Widget.h" | 12 | #include "UI_control/WidegMgmt/JZsdk_Widget.h" |
23 | -#include "DeviceConfig/DeviceConfig.h" | 13 | +#include "DeviceSample/DeviceSample.h" |
24 | #include "CommonMod/CommonMod.h" | 14 | #include "CommonMod/CommonMod.h" |
25 | 15 | ||
26 | -#include "JZsdk_Hal.h" | ||
27 | - | ||
28 | #if APP_VERSION == APP_PSDK | 16 | #if APP_VERSION == APP_PSDK |
29 | - | ||
30 | -#include "fc_subscription/test_fc_subscription.h" | ||
31 | - | 17 | + #include "fc_subscription/test_fc_subscription.h" |
32 | #endif | 18 | #endif |
33 | 19 | ||
34 | #include "DeviceInfo/DeviceInfo.h" | 20 | #include "DeviceInfo/DeviceInfo.h" |
35 | 21 | ||
36 | #ifdef MEGAPHONE_CONFIG_STATUS_ON | 22 | #ifdef MEGAPHONE_CONFIG_STATUS_ON |
37 | - #include "AudioDeal/AudioDeal.h" | ||
38 | #include "Megaphone/Megaphone.h" | 23 | #include "Megaphone/Megaphone.h" |
39 | extern int MegaphoneStatusFlag; | 24 | extern int MegaphoneStatusFlag; |
40 | #endif | 25 | #endif |
41 | 26 | ||
42 | -#ifdef SIDE_LASER_STATUS_ON | ||
43 | - #include "SideLaser/SideLaser.h" | ||
44 | -#endif | ||
45 | - | ||
46 | static int Main_WorkMode(); | 27 | static int Main_WorkMode(); |
47 | static void *Main_WorkModeTask(void *arg); | 28 | static void *Main_WorkModeTask(void *arg); |
48 | static int WorkMode = JZ_FLAGCODE_OFF; | 29 | static int WorkMode = JZ_FLAGCODE_OFF; |
49 | 30 | ||
50 | 31 | ||
51 | -static int g_All_filter_Mode = JZ_FLAGCODE_OFF; //用于m30的滤波开关 | ||
52 | static int StartupPriorityNum = JZ_FLAGCODE_OFF; //优先启动项值 | 32 | static int StartupPriorityNum = JZ_FLAGCODE_OFF; //优先启动项值 |
53 | 33 | ||
54 | static int g_device_InitFlag = JZ_FLAGCODE_OFF; //基础配置初始化标志位,该标志位用于判断设备是否已经完成准备就绪,目前主要影响的是预设任务 | 34 | static int g_device_InitFlag = JZ_FLAGCODE_OFF; //基础配置初始化标志位,该标志位用于判断设备是否已经完成准备就绪,目前主要影响的是预设任务 |
55 | static int g_baseconfig_InitFlag = JZ_FLAGCODE_OFF; //基础配置初始化标志位,该标志位用于判断设备是否已经完成baseconfig 目前用处影响g_device_InitFlag | 35 | static int g_baseconfig_InitFlag = JZ_FLAGCODE_OFF; //基础配置初始化标志位,该标志位用于判断设备是否已经完成baseconfig 目前用处影响g_device_InitFlag |
56 | static int g_Main_WorkMode_InitFlag = JZ_FLAGCODE_OFF; //基础配置初始化标志位,该标志位用于判断设备是否已经完成连接与启动播放 目前用处影响g_device_InitFlag | 36 | static int g_Main_WorkMode_InitFlag = JZ_FLAGCODE_OFF; //基础配置初始化标志位,该标志位用于判断设备是否已经完成连接与启动播放 目前用处影响g_device_InitFlag |
57 | 37 | ||
58 | -/******************* | ||
59 | - * | ||
60 | - * mode get 是未获取 m30滤波开关 | ||
61 | - * 其他值为set+get | ||
62 | - * | ||
63 | - * ********************/ | ||
64 | -T_JZsdkReturnCode Main_M30_all_filter_mode(int *mode) | ||
65 | -{ | ||
66 | - | ||
67 | -//喊话器功能被打开时 | ||
68 | -#ifdef MEGAPHONE_CONFIG_STATUS_ON | ||
69 | - if (*mode == JZ_FLAGCODE_GET) | ||
70 | - { | ||
71 | - *mode = g_All_filter_Mode; | ||
72 | - printf("滤波模式获取%d\n",*mode); | ||
73 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
74 | - } | ||
75 | - else if ( (*mode != JZ_FLAGCODE_ON) && (*mode != JZ_FLAGCODE_OFF) ) | ||
76 | - { | ||
77 | - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
78 | - } | ||
79 | - else | ||
80 | - { | ||
81 | - printf("滤波模式设置%d\n",*mode); | ||
82 | - g_All_filter_Mode = *mode; | ||
83 | - if (*mode == JZ_FLAGCODE_ON) | ||
84 | - { | ||
85 | - //先关闭播放 | ||
86 | - //Megaphone_StopPlay(JZ_FLAGCODE_OFF); | ||
87 | - | ||
88 | - //修改滤波 | ||
89 | - AudioDeal_SetFilterMode(0x01); | ||
90 | - } | ||
91 | - else | ||
92 | - { | ||
93 | - //先关闭播放 | ||
94 | - //Megaphone_StopPlay(JZ_FLAGCODE_OFF); | ||
95 | - | ||
96 | - //修改滤波 | ||
97 | - AudioDeal_SetFilterMode(0x00); | ||
98 | - } | ||
99 | - | ||
100 | - } | ||
101 | -#endif | ||
102 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
103 | -} | ||
104 | 38 | ||
105 | /*** ************************* ************************* | 39 | /*** ************************* ************************* |
106 | * | 40 | * |
@@ -136,553 +70,6 @@ int Main_Device_Wheather_Use() | @@ -136,553 +70,6 @@ int Main_Device_Wheather_Use() | ||
136 | } | 70 | } |
137 | 71 | ||
138 | 72 | ||
139 | -T_JZsdkReturnCode Main_APP_Psdk() | ||
140 | -{ | ||
141 | - int value[5] = {0, 0, 0, 0, 0}; | ||
142 | - | ||
143 | - //sdklib加载 | ||
144 | - JZsdk_LibInit(); | ||
145 | - | ||
146 | - //hal加载 | ||
147 | - JZsdk_Hal_Init(); | ||
148 | - | ||
149 | - JZSDK_LOG_INFO("%x,PsdkVersion%x.%x.%x.%x\n",DEVICE_VERSION,MAJOR_VERSION, MINOR_VERSION, MODIFY_VERSION, DEBUG_VERSION); | ||
150 | - | ||
151 | - //通用模块初始化 | ||
152 | - CommonMod_Init(); | ||
153 | - | ||
154 | - //引脚初始化 | ||
155 | - Ircut_Init(); | ||
156 | - | ||
157 | - //设备信息初始化 | ||
158 | - DeviceInfo_Init(); | ||
159 | - | ||
160 | - //工作模式设置函数,用于超时,及播放启动语音等 | ||
161 | - Main_WorkMode(); | ||
162 | - | ||
163 | - //外接传输模块 | ||
164 | - JZsdk_data_transmisson_Receive_Init(); | ||
165 | - | ||
166 | - //喊话器功能被打开时 | ||
167 | -#ifdef MEGAPHONE_CONFIG_STATUS_ON | ||
168 | - | ||
169 | - //音频库初始化 | ||
170 | - AudioDeal_Init(); | ||
171 | - | ||
172 | -#endif | ||
173 | - | ||
174 | - if (DEVICE_VERSION == TF_A1) | ||
175 | - { | ||
176 | - //串口设备1初始化 | ||
177 | - //value[0] = UART_DEV1_BITRATE; | ||
178 | - //JZsdk_HalPort_Init(UART_DEV_1, value); | ||
179 | - | ||
180 | - //串口设备2初始化 | ||
181 | - value[0] = UART_DEV2_BITRATE; | ||
182 | - JZsdk_HalPort_Init(UART_DEV_2, value); | ||
183 | - | ||
184 | - //喊话器初始化 | ||
185 | - Megaphone_Init(); | ||
186 | - | ||
187 | - //云台初始化 | ||
188 | - Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | ||
189 | - | ||
190 | - //灯类初始化 | ||
191 | - Lighting_Init(); | ||
192 | - | ||
193 | - delayMs(1000); | ||
194 | - | ||
195 | - //消息订阅初始化 | ||
196 | - HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON); | ||
197 | - } | ||
198 | - | ||
199 | - else if (DEVICE_VERSION == JZ_H1E) | ||
200 | - { | ||
201 | - //串口设备1初始化 | ||
202 | - //value[0] = UART_DEV1_BITRATE; | ||
203 | - //JZsdk_HalPort_Init(UART_DEV_1, value); | ||
204 | - | ||
205 | - //喊话器初始化 | ||
206 | - Megaphone_Init(); | ||
207 | - } | ||
208 | - | ||
209 | - else if (DEVICE_VERSION == JZ_H1T) | ||
210 | - { | ||
211 | - //串口设备1初始化 | ||
212 | - //value[0] = UART_DEV1_BITRATE; | ||
213 | - //JZsdk_HalPort_Init(UART_DEV_1, value); | ||
214 | - | ||
215 | - //4g设备初始化 | ||
216 | - value[0] = COMM_4G_UART_BITRATE; | ||
217 | - JZsdk_HalPort_Init(UART_4G, value); | ||
218 | - | ||
219 | - //喊话器初始化 | ||
220 | - Megaphone_Init(); | ||
221 | - | ||
222 | - //云台初始化 | ||
223 | - Gimbal_Init(JZ_MODULE_CONTROL_WAY_TRANSPARENT); | ||
224 | - } | ||
225 | - | ||
226 | - else if (DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T) | ||
227 | - { | ||
228 | - //串口设备1初始化 | ||
229 | - //value[0] = UART_DEV1_BITRATE; | ||
230 | - //JZsdk_HalPort_Init(UART_DEV_1, value); | ||
231 | - | ||
232 | - if (DEVICE_VERSION == JZ_H150T) | ||
233 | - { | ||
234 | - //4g设备初始化 | ||
235 | - value[0] = COMM_4G_UART_BITRATE; | ||
236 | - JZsdk_HalPort_Init(UART_4G, value); | ||
237 | - } | ||
238 | - | ||
239 | - //喊话器初始化 | ||
240 | - Megaphone_Init(); | ||
241 | - | ||
242 | - //云台初始化 | ||
243 | - Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | ||
244 | - | ||
245 | - //相机初始化 | ||
246 | - MediaProc_Init(); | ||
247 | - } | ||
248 | - | ||
249 | - else if (DEVICE_VERSION == JZ_H10) | ||
250 | - { | ||
251 | - //串口设备1初始化 | ||
252 | - //value[0] = UART_DEV1_BITRATE; | ||
253 | - //JZsdk_HalPort_Init(UART_DEV_1, value); | ||
254 | - | ||
255 | - //喊话器初始化 | ||
256 | - Megaphone_Init(); | ||
257 | - | ||
258 | - //云台初始化 | ||
259 | - Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | ||
260 | - } | ||
261 | - | ||
262 | - else if (DEVICE_VERSION == JZ_H10T) | ||
263 | - { | ||
264 | - //串口设备1初始化 | ||
265 | - //value[0] = UART_DEV1_BITRATE; | ||
266 | - //JZsdk_HalPort_Init(UART_DEV_1, value); | ||
267 | - | ||
268 | - //4g设备初始化 | ||
269 | - value[0] = COMM_4G_UART_BITRATE; | ||
270 | - JZsdk_HalPort_Init(UART_4G, value); | ||
271 | - | ||
272 | - //喊话器初始化 | ||
273 | - Megaphone_Init(); | ||
274 | - | ||
275 | - //云台初始化 | ||
276 | - Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | ||
277 | - } | ||
278 | - | ||
279 | - else if (DEVICE_VERSION == JZ_U3) | ||
280 | - { | ||
281 | - //串口设备1初始化 | ||
282 | - //value[0] = UART_DEV1_BITRATE; | ||
283 | - //JZsdk_HalPort_Init(UART_DEV_1, value); | ||
284 | - | ||
285 | - //串口设备2初始化 | ||
286 | - value[0] = UART_DEV2_BITRATE; | ||
287 | - JZsdk_HalPort_Init(UART_DEV_2, value); | ||
288 | - | ||
289 | - //喊话器初始化 | ||
290 | - Megaphone_Init(); | ||
291 | - | ||
292 | - //云台初始化 | ||
293 | - Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | ||
294 | - | ||
295 | - //灯类初始化 | ||
296 | - Lighting_Init(); | ||
297 | - | ||
298 | - delayMs(1000); | ||
299 | - | ||
300 | - //消息订阅初始化 | ||
301 | - HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON); | ||
302 | - } | ||
303 | - | ||
304 | - else if (DEVICE_VERSION == JZ_U3S) | ||
305 | - { | ||
306 | - //串口设备1初始化 | ||
307 | - //value[0] = UART_DEV1_BITRATE; | ||
308 | - //JZsdk_HalPort_Init(UART_DEV_1, value); | ||
309 | - | ||
310 | - //串口设备2初始化 | ||
311 | - value[0] = UART_DEV2_BITRATE; | ||
312 | - JZsdk_HalPort_Init(UART_DEV_2, value); | ||
313 | - | ||
314 | - //喊话器初始化 | ||
315 | - Megaphone_Init(); | ||
316 | - | ||
317 | - //云台初始化 | ||
318 | - Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | ||
319 | - | ||
320 | - //灯类初始化 | ||
321 | - Lighting_Init(); | ||
322 | -#ifdef SIDE_LASER_STATUS_ON | ||
323 | - //侧边激光初始化 | ||
324 | - SideLaser_Init(); | ||
325 | -#endif | ||
326 | - delayMs(1000); | ||
327 | - | ||
328 | - //消息订阅初始化 | ||
329 | - HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON); | ||
330 | - } | ||
331 | - | ||
332 | - else if (DEVICE_VERSION == JZ_U3D) | ||
333 | - { | ||
334 | - //串口设备1初始化 | ||
335 | - //value[0] = UART_DEV1_BITRATE; | ||
336 | - //JZsdk_HalPort_Init(UART_DEV_1, value); | ||
337 | - | ||
338 | - //串口设备2初始化 | ||
339 | - value[0] = UART_DEV2_BITRATE; | ||
340 | - JZsdk_HalPort_Init(UART_DEV_2, value); | ||
341 | - | ||
342 | - //喊话器初始化 | ||
343 | - Megaphone_Init(); | ||
344 | - | ||
345 | - //云台初始化 | ||
346 | - Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | ||
347 | - | ||
348 | - //灯类初始化 | ||
349 | - Lighting_Init(); | ||
350 | - | ||
351 | - delayMs(1000); | ||
352 | - | ||
353 | - //消息订阅初始化 | ||
354 | - HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON); | ||
355 | - } | ||
356 | - | ||
357 | - else if (DEVICE_VERSION == JZ_U30) | ||
358 | - { | ||
359 | - //串口设备1初始化 | ||
360 | - //value[0] = UART_DEV1_BITRATE; | ||
361 | - //JZsdk_HalPort_Init(UART_DEV_1, value); | ||
362 | - | ||
363 | - //串口设备2初始化 | ||
364 | - value[0] = UART_DEV2_BITRATE; | ||
365 | - JZsdk_HalPort_Init(UART_DEV_2, value); | ||
366 | - | ||
367 | - //喊话器初始化 | ||
368 | - Megaphone_Init(); | ||
369 | - | ||
370 | - //云台初始化 | ||
371 | - Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | ||
372 | - | ||
373 | - //灯类初始化 | ||
374 | - Lighting_Init(); | ||
375 | - | ||
376 | - delayMs(1000); | ||
377 | - | ||
378 | - //消息订阅初始化 | ||
379 | - HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON); | ||
380 | - } | ||
381 | - | ||
382 | - else if (DEVICE_VERSION == JZ_C1) | ||
383 | - { | ||
384 | - //初始化C1 | ||
385 | - JZC1_Init(); | ||
386 | - } | ||
387 | - | ||
388 | - | ||
389 | - //初始化控件 | ||
390 | - JZSDK_WidgetMgMT_Init(); | ||
391 | - | ||
392 | - //初始化app模式 | ||
393 | - JZsdk_HalPort_SetUseFlag(DEVICE_PSDK ,JZ_FLAGCODE_ON); | ||
394 | - | ||
395 | - Main_WorkModeSet(JZ_FLAGCODE_ON); | ||
396 | - | ||
397 | - g_baseconfig_InitFlag = JZ_FLAGCODE_ON; | ||
398 | -} | ||
399 | - | ||
400 | - | ||
401 | - | ||
402 | -int Main_APP_Uart() | ||
403 | -{ | ||
404 | - int value[5] = {0, 0, 0, 0, 0}; | ||
405 | - | ||
406 | - //lib库初始化 | ||
407 | - JZsdk_LibInit(); | ||
408 | - | ||
409 | - JZsdk_Hal_Init(); | ||
410 | - | ||
411 | - JZSDK_LOG_INFO("0x%x,UartVersion%x.%x.%x.%x\n",DEVICE_VERSION,MAJOR_VERSION, MINOR_VERSION, MODIFY_VERSION, DEBUG_VERSION); | ||
412 | - | ||
413 | - //通用模块 | ||
414 | - CommonMod_Init(); | ||
415 | - | ||
416 | - //引脚初始化 | ||
417 | - Ircut_Init(); | ||
418 | - | ||
419 | - //设备信息初始化 | ||
420 | - DeviceInfo_Init(); | ||
421 | - | ||
422 | - //工作模式设置函数,用于超时,及播放启动语音等 | ||
423 | - Main_WorkMode(); | ||
424 | - | ||
425 | - //喊话器功能被打开时 | ||
426 | -#ifdef MEGAPHONE_CONFIG_STATUS_ON | ||
427 | - //音频库初始化 | ||
428 | - AudioDeal_Init(); | ||
429 | -#endif | ||
430 | - | ||
431 | - if (DEVICE_VERSION == JZ_H1E) | ||
432 | - { | ||
433 | - //串口设备1初始化 | ||
434 | - value[0] = UART_DEV1_BITRATE; | ||
435 | - JZsdk_HalPort_Init(UART_DEV_1, value); | ||
436 | - | ||
437 | - //喊话器初始化 | ||
438 | - Megaphone_Init(); | ||
439 | - } | ||
440 | - | ||
441 | - if (DEVICE_VERSION == JZ_H1T) | ||
442 | - { | ||
443 | - //串口设备1初始化 | ||
444 | - value[0] = UART_DEV1_BITRATE; | ||
445 | - JZsdk_HalPort_Init(UART_DEV_1, value); | ||
446 | - | ||
447 | - //4g设备初始化 | ||
448 | - value[0] = COMM_4G_UART_BITRATE; | ||
449 | - JZsdk_HalPort_Init(UART_4G, value); | ||
450 | - | ||
451 | - //喊话器初始化 | ||
452 | - Megaphone_Init(); | ||
453 | - | ||
454 | - //云台初始化 | ||
455 | - Gimbal_Init(JZ_MODULE_CONTROL_WAY_TRANSPARENT); | ||
456 | - | ||
457 | - // //测试增加选项 | ||
458 | - // //开启循环 | ||
459 | - // JZsdk_Uart_audio_PlayLoop(UART_DEV_1, 1); | ||
460 | - | ||
461 | - // //设置音量 | ||
462 | - // JZsdk_Uart_Set_Volume(UART_DEV_1, 50); | ||
463 | - } | ||
464 | - | ||
465 | - if (DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T) | ||
466 | - { | ||
467 | - //串口设备1初始化 | ||
468 | - value[0] = UART_DEV1_BITRATE; | ||
469 | - JZsdk_HalPort_Init(UART_DEV_1, value); | ||
470 | - | ||
471 | - //网口初始化 | ||
472 | - JZsdk_NetWork_Init(); | ||
473 | - | ||
474 | - if (DEVICE_VERSION == JZ_H150T) | ||
475 | - { | ||
476 | - //4g设备初始化 | ||
477 | - value[0] = COMM_4G_UART_BITRATE; | ||
478 | - JZsdk_HalPort_Init(UART_4G, value); | ||
479 | - } | ||
480 | - | ||
481 | - //云台初始化 | ||
482 | - Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | ||
483 | - | ||
484 | - //相机初始化 | ||
485 | - MediaProc_Init(); | ||
486 | - | ||
487 | - //喊话器初始化 | ||
488 | - Megaphone_Init(); | ||
489 | - } | ||
490 | - | ||
491 | - if (DEVICE_VERSION == JZ_H10) | ||
492 | - { | ||
493 | - //串口设备1初始化 | ||
494 | - value[0] = UART_DEV1_BITRATE; | ||
495 | - JZsdk_HalPort_Init(UART_DEV_1, value); | ||
496 | - | ||
497 | - //H10和10t固定打开滤波 | ||
498 | - int filter_mode = JZ_FLAGCODE_ON; | ||
499 | - Main_M30_all_filter_mode(&filter_mode); | ||
500 | - | ||
501 | - //喊话器初始化 | ||
502 | - Megaphone_Init(); | ||
503 | - | ||
504 | - //云台初始化 | ||
505 | - Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | ||
506 | - } | ||
507 | - | ||
508 | - if (DEVICE_VERSION == JZ_H10T) | ||
509 | - { | ||
510 | - //串口设备1初始化 | ||
511 | - value[0] = UART_DEV1_BITRATE; | ||
512 | - JZsdk_HalPort_Init(UART_DEV_1, value); | ||
513 | - | ||
514 | - //4g设备初始化 | ||
515 | - value[0] = COMM_4G_UART_BITRATE; | ||
516 | - JZsdk_HalPort_Init(UART_4G, value); | ||
517 | - | ||
518 | - //H10和10t固定打开滤波 | ||
519 | - int filter_mode = JZ_FLAGCODE_ON; | ||
520 | - Main_M30_all_filter_mode(&filter_mode); | ||
521 | - | ||
522 | - //喊话器初始化 | ||
523 | - Megaphone_Init(); | ||
524 | - | ||
525 | - //云台初始化 | ||
526 | - Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | ||
527 | - } | ||
528 | - | ||
529 | - if (DEVICE_VERSION == JZ_U3) | ||
530 | - { | ||
531 | - //串口设备1初始化 | ||
532 | - value[0] = UART_DEV1_BITRATE; | ||
533 | - JZsdk_HalPort_Init(UART_DEV_1, value); | ||
534 | - | ||
535 | - //串口设备2初始化 | ||
536 | - value[0] = UART_DEV2_BITRATE; | ||
537 | - JZsdk_HalPort_Init(UART_DEV_2, value); | ||
538 | - | ||
539 | - //喊话器初始化 | ||
540 | - Megaphone_Init(); | ||
541 | - | ||
542 | - //云台初始化 | ||
543 | - Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | ||
544 | - | ||
545 | - //灯类初始化 | ||
546 | - Lighting_Init(); | ||
547 | - | ||
548 | - delayMs(1000); | ||
549 | - | ||
550 | - //消息订阅初始化 | ||
551 | - HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_OFF); | ||
552 | - | ||
553 | - // //测试需要开启亮度 | ||
554 | - // JZsdk_Uart_SearchLight_Control(UART_DEV_1, 1); | ||
555 | - // JZsdk_Uart_SearchLight_Lumen(UART_DEV_1, 20, 20); | ||
556 | - | ||
557 | - } | ||
558 | - | ||
559 | - else if (DEVICE_VERSION == JZ_U3S) | ||
560 | - { | ||
561 | - //串口设备1初始化 | ||
562 | - value[0] = UART_DEV1_BITRATE; | ||
563 | - JZsdk_HalPort_Init(UART_DEV_1, value); | ||
564 | - | ||
565 | - //串口设备2初始化 | ||
566 | - value[0] = UART_DEV2_BITRATE; | ||
567 | - JZsdk_HalPort_Init(UART_DEV_2, value); | ||
568 | - | ||
569 | - //喊话器初始化 | ||
570 | - Megaphone_Init(); | ||
571 | - | ||
572 | - //云台初始化 | ||
573 | - Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | ||
574 | - | ||
575 | - //灯类初始化 | ||
576 | - Lighting_Init(); | ||
577 | -#ifdef SIDE_LASER_STATUS_ON | ||
578 | - //侧边激光初始化 | ||
579 | - SideLaser_Init(); | ||
580 | -#endif | ||
581 | - delayMs(1000); | ||
582 | - | ||
583 | - //消息订阅初始化 | ||
584 | - HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON); | ||
585 | - } | ||
586 | - | ||
587 | - else if (DEVICE_VERSION == JZ_U3D) | ||
588 | - { | ||
589 | - //串口设备1初始化 | ||
590 | - value[0] = UART_DEV1_BITRATE; | ||
591 | - JZsdk_HalPort_Init(UART_DEV_1, value); | ||
592 | - | ||
593 | - //串口设备2初始化 | ||
594 | - value[0] = UART_DEV2_BITRATE; | ||
595 | - JZsdk_HalPort_Init(UART_DEV_2, value); | ||
596 | - | ||
597 | - //喊话器初始化 | ||
598 | - Megaphone_Init(); | ||
599 | - | ||
600 | - //云台初始化 | ||
601 | - Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | ||
602 | - | ||
603 | - //灯类初始化 | ||
604 | - Lighting_Init(); | ||
605 | - | ||
606 | - delayMs(1000); | ||
607 | - | ||
608 | - //消息订阅初始化 | ||
609 | - HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON); | ||
610 | - | ||
611 | - // delayS(3); | ||
612 | - | ||
613 | - // JZSDK_LOG_INFO("开起发光"); | ||
614 | - | ||
615 | - // //开灯 | ||
616 | - // UIcontrol_SearchLightControl(UART_DEV_1, 0x02); | ||
617 | - // UIcontrol_Set_SearchLightLumen(UART_DEV_1, 1, 100, 100); | ||
618 | - | ||
619 | - } | ||
620 | - | ||
621 | - else if (DEVICE_VERSION == JZ_U30) | ||
622 | - { | ||
623 | - //串口设备1初始化 | ||
624 | - value[0] = UART_DEV1_BITRATE; | ||
625 | - JZsdk_HalPort_Init(UART_DEV_1, value); | ||
626 | - | ||
627 | - //串口设备2初始化 | ||
628 | - value[0] = UART_DEV2_BITRATE; | ||
629 | - JZsdk_HalPort_Init(UART_DEV_2, value); | ||
630 | - | ||
631 | - //喊话器初始化 | ||
632 | - Megaphone_Init(); | ||
633 | - | ||
634 | - //云台初始化 | ||
635 | - Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | ||
636 | - | ||
637 | - //灯类初始化 | ||
638 | - Lighting_Init(); | ||
639 | - | ||
640 | - delayMs(1000); | ||
641 | - | ||
642 | - //消息订阅初始化 | ||
643 | - HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON); | ||
644 | - } | ||
645 | - | ||
646 | - if (DEVICE_VERSION == TF_A1) | ||
647 | - { | ||
648 | - //串口设备1初始化 | ||
649 | - value[0] = UART_DEV1_BITRATE; | ||
650 | - JZsdk_HalPort_Init(UART_DEV_1, value); | ||
651 | - | ||
652 | - //串口设备2初始化 | ||
653 | - value[0] = UART_DEV2_BITRATE; | ||
654 | - JZsdk_HalPort_Init(UART_DEV_2, value); | ||
655 | - | ||
656 | - //喊话器初始化 | ||
657 | - Megaphone_Init(); | ||
658 | - | ||
659 | - //云台初始化 | ||
660 | - Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | ||
661 | - | ||
662 | - //消息订阅初始化 | ||
663 | - HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON); | ||
664 | - } | ||
665 | - | ||
666 | - g_baseconfig_InitFlag = JZ_FLAGCODE_ON; | ||
667 | - | ||
668 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
669 | -} | ||
670 | - | ||
671 | -int Main_TestAPP() | ||
672 | -{ | ||
673 | - int value[5] = {0, 0, 0, 0, 0}; | ||
674 | - | ||
675 | - JZsdk_LibInit(); | ||
676 | - | ||
677 | - JZsdk_Hal_Init(); | ||
678 | - | ||
679 | - CommonMod_Init(); | ||
680 | - | ||
681 | - //串口设备1初始化 | ||
682 | - value[0] = UART_DEV1_BITRATE; | ||
683 | - JZsdk_HalPort_Init(UART_DEV_1, value); | ||
684 | -} | ||
685 | - | ||
686 | //JZ_FLAGCODE_GET为返回工作值,其他值为设置 | 73 | //JZ_FLAGCODE_GET为返回工作值,其他值为设置 |
687 | int Main_WorkModeSet(int mode) | 74 | int Main_WorkModeSet(int mode) |
688 | { | 75 | { |
@@ -856,6 +243,171 @@ static void *Main_WorkModeTask(void *arg) | @@ -856,6 +243,171 @@ static void *Main_WorkModeTask(void *arg) | ||
856 | } | 243 | } |
857 | 244 | ||
858 | 245 | ||
246 | + | ||
247 | + | ||
248 | + | ||
249 | +/************************************************************************************************************************************************ | ||
250 | + * | ||
251 | + * | ||
252 | + * | ||
253 | + * | ||
254 | + * | ||
255 | + * 初始化 | ||
256 | + * | ||
257 | + * | ||
258 | + * | ||
259 | + * | ||
260 | +************************************************************************************************************************************************/ | ||
261 | +static T_JZsdkReturnCode DeviceSample_init(int mode) | ||
262 | +{ | ||
263 | + //a1加载 | ||
264 | + #if DEVICE_VERSION == JZ_A1 | ||
265 | + TF_a1_init(mode); | ||
266 | + #endif | ||
267 | + | ||
268 | + //h1e加载 | ||
269 | + #if DEVICE_VERSION == JZ_H1E | ||
270 | + JZ_h1e_init(mode); | ||
271 | + #endif | ||
272 | + | ||
273 | + //h1t加载 | ||
274 | + #if DEVICE_VERSION == JZ_H1T | ||
275 | + JZ_h1t_init(mode); | ||
276 | + #endif | ||
277 | + | ||
278 | + //h10加载 | ||
279 | + #if DEVICE_VERSION == JZ_H10 | ||
280 | + JZ_h10_init(mode); | ||
281 | + #endif | ||
282 | + | ||
283 | + //h10t加载 | ||
284 | + #if DEVICE_VERSION == JZ_H10T | ||
285 | + JZ_h10t_init(mode); | ||
286 | + #endif | ||
287 | + | ||
288 | + //h150s h150t加载 | ||
289 | + #if DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T | ||
290 | + JZ_h150s_h150t_init(mode); | ||
291 | + #endif | ||
292 | + | ||
293 | + //u3加载 | ||
294 | + #if DEVICE_VERSION == JZ_U3 | ||
295 | + JZ_u3_init(mode); | ||
296 | + #endif | ||
297 | + | ||
298 | + //u3s加载 | ||
299 | + #if DEVICE_VERSION == JZ_U3S | ||
300 | + JZ_u3s_init(mode); | ||
301 | + #endif | ||
302 | + | ||
303 | + //u3d加载 | ||
304 | + #if DEVICE_VERSION == JZ_U3D | ||
305 | + JZ_u3d_init(mode); | ||
306 | + #endif | ||
307 | + | ||
308 | + //u30加载 | ||
309 | + #if DEVICE_VERSION == JZ_U30 | ||
310 | + JZ_u30_init(mode); | ||
311 | + #endif | ||
312 | + | ||
313 | + //c1加载 | ||
314 | + #if DEVICE_VERSION == JZ_C1 | ||
315 | + JZC1_Init(mode); | ||
316 | + #endif | ||
317 | + | ||
318 | +} | ||
319 | + | ||
320 | + | ||
321 | +T_JZsdkReturnCode Main_APP_Psdk() | ||
322 | +{ | ||
323 | + int value[5] = {0, 0, 0, 0, 0}; | ||
324 | + | ||
325 | + //sdklib加载 | ||
326 | + JZsdk_LibInit(JZ_FLAGCODE_ON); | ||
327 | + | ||
328 | + //hal加载 | ||
329 | + JZsdk_Hal_Init(); | ||
330 | + | ||
331 | + JZSDK_LOG_INFO("%x,PsdkVersion%x.%x.%x.%x\n",DEVICE_VERSION,MAJOR_VERSION, MINOR_VERSION, MODIFY_VERSION, DEBUG_VERSION); | ||
332 | + | ||
333 | + //通用模块初始化 | ||
334 | + CommonMod_Init(); | ||
335 | + | ||
336 | + //引脚初始化 | ||
337 | + Ircut_Init(); | ||
338 | + | ||
339 | + //设备信息初始化 | ||
340 | + DeviceInfo_Init(); | ||
341 | + | ||
342 | + //工作模式设置函数,用于超时,及播放启动语音等 | ||
343 | + Main_WorkMode(); | ||
344 | + | ||
345 | + //外接传输模块 | ||
346 | + JZsdk_data_transmisson_Receive_Init(); | ||
347 | + | ||
348 | + //设备例程初始化 | ||
349 | + DeviceSample_init(APP_PSDK); | ||
350 | + | ||
351 | + //初始化控件 | ||
352 | + JZSDK_WidgetMgMT_Init(); | ||
353 | + | ||
354 | + //初始化app模式 | ||
355 | + JZsdk_HalPort_SetUseFlag(DEVICE_PSDK ,JZ_FLAGCODE_ON); | ||
356 | + | ||
357 | + Main_WorkModeSet(JZ_FLAGCODE_ON); | ||
358 | + | ||
359 | + g_baseconfig_InitFlag = JZ_FLAGCODE_ON; | ||
360 | +} | ||
361 | + | ||
362 | + | ||
363 | + | ||
364 | +int Main_APP_Uart() | ||
365 | +{ | ||
366 | + int value[5] = {0, 0, 0, 0, 0}; | ||
367 | + | ||
368 | + //lib库初始化 | ||
369 | + JZsdk_LibInit(JZ_FLAGCODE_ON); | ||
370 | + | ||
371 | + JZsdk_Hal_Init(); | ||
372 | + | ||
373 | + JZSDK_LOG_INFO("0x%x,UartVersion%x.%x.%x.%x\n",DEVICE_VERSION,MAJOR_VERSION, MINOR_VERSION, MODIFY_VERSION, DEBUG_VERSION); | ||
374 | + | ||
375 | + //通用模块 | ||
376 | + CommonMod_Init(); | ||
377 | + | ||
378 | + //引脚初始化 | ||
379 | + Ircut_Init(); | ||
380 | + | ||
381 | + //设备信息初始化 | ||
382 | + DeviceInfo_Init(); | ||
383 | + | ||
384 | + //工作模式设置函数,用于超时,及播放启动语音等 | ||
385 | + Main_WorkMode(); | ||
386 | + | ||
387 | + //设备例程初始化 | ||
388 | + DeviceSample_init(APP_UART); | ||
389 | + | ||
390 | + g_baseconfig_InitFlag = JZ_FLAGCODE_ON; | ||
391 | + | ||
392 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
393 | +} | ||
394 | + | ||
395 | +int Main_TestAPP() | ||
396 | +{ | ||
397 | + int value[5] = {0, 0, 0, 0, 0}; | ||
398 | + | ||
399 | + JZsdk_LibInit(JZ_FLAGCODE_ON); | ||
400 | + | ||
401 | + JZsdk_Hal_Init(); | ||
402 | + | ||
403 | + CommonMod_Init(); | ||
404 | + | ||
405 | + //串口设备1初始化 | ||
406 | + value[0] = UART_DEV1_BITRATE; | ||
407 | + JZsdk_HalPort_Init(UART_DEV_1, value); | ||
408 | +} | ||
409 | + | ||
410 | + | ||
859 | /********************************** | 411 | /********************************** |
860 | * | 412 | * |
861 | * 获取设备初始化标志 | 413 | * 获取设备初始化标志 |
@@ -207,9 +207,10 @@ extern "C" { | @@ -207,9 +207,10 @@ extern "C" { | ||
207 | #define GIMBAL_UART_NUM NULL | 207 | #define GIMBAL_UART_NUM NULL |
208 | #define GIMBAL_UART_BITRATE (0) | 208 | #define GIMBAL_UART_BITRATE (0) |
209 | 209 | ||
210 | - #define NET_WORK_IPADDR NULL | ||
211 | - #define NET_WORK_TARGET_IPADDR NULL | ||
212 | - #define NET_WORK_NETMASK NULL | 210 | + #define NET_WORK_IPADDR "192.168.5.3" |
211 | + #define NET_WORK_TARGET_IPADDR "192.168.5.10" | ||
212 | + #define NET_WORK_NETMASK "255.255.255.0" | ||
213 | + | ||
213 | 214 | ||
214 | #else | 215 | #else |
215 | #define UART_DEV1_NUM NULL | 216 | #define UART_DEV1_NUM NULL |
@@ -239,7 +240,6 @@ int Main_APP_Uart(); | @@ -239,7 +240,6 @@ int Main_APP_Uart(); | ||
239 | T_JZsdkReturnCode Main_APP_Psdk(); | 240 | T_JZsdkReturnCode Main_APP_Psdk(); |
240 | int Main_TestAPP(); | 241 | int Main_TestAPP(); |
241 | int Main_Device_Wheather_Use(); | 242 | int Main_Device_Wheather_Use(); |
242 | -T_JZsdkReturnCode Main_M30_all_filter_mode(int *mode); | ||
243 | T_JZsdkReturnCode Main_StartupPriority(int *choose); | 243 | T_JZsdkReturnCode Main_StartupPriority(int *choose); |
244 | T_JZsdkReturnCode Main_SetDeviceName(unsigned int Port, int g_DeviceID); | 244 | T_JZsdkReturnCode Main_SetDeviceName(unsigned int Port, int g_DeviceID); |
245 | int BaseConfig_GetDeviceInitFlag(); | 245 | int BaseConfig_GetDeviceInitFlag(); |
JZsdk_Config/DeviceSample/DeviceSample.h
0 → 100644
1 | +/** | ||
2 | + ******************************************************************** | ||
3 | + * @file DeviceSample.h | ||
4 | + * DeviceSample.h的头文件 | ||
5 | + * | ||
6 | + ********************************************************************* | ||
7 | + */ | ||
8 | + | ||
9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
10 | +#ifndef DEVICE_SAMPLE_H | ||
11 | +#define DEVICE_SAMPLE_H | ||
12 | + | ||
13 | +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | ||
14 | + | ||
15 | +#include "DeviceSample/JZ_H1_series/JZ_H1E/JZ_h1e.h" | ||
16 | +#include "DeviceSample/JZ_H1_series/JZ_H1T/JZ_h1t.h" | ||
17 | + | ||
18 | +#include "DeviceSample/JZ_H10_series/JZ_H10/JZ_h10.h" | ||
19 | +#include "DeviceSample/JZ_H10_series/JZ_H10T/JZ_h10t.h" | ||
20 | + | ||
21 | +#include "DeviceSample/JZ_H150S_H150T/JZ_h150s_h150t.h" | ||
22 | + | ||
23 | +#include "DeviceSample/JZ_U3_series/JZ_U3/JZ_u3.h" | ||
24 | +#include "DeviceSample/JZ_U3_series/JZ_U3S/JZ_u3s.h" | ||
25 | +#include "DeviceSample/JZ_U3_series/JZ_U3D/JZ_u3d.h" | ||
26 | +#include "DeviceSample/JZ_U3_series/JZ_U30/JZ_u30.h" | ||
27 | + | ||
28 | +#include "DeviceSample/JZC1/JZC1.h" | ||
29 | + | ||
30 | +#include "TF_A1/TF_a1.h" | ||
31 | + | ||
32 | +/* Includes ------------------------------------------------------------------*/ | ||
33 | +#ifdef __cplusplus | ||
34 | +extern "C" { | ||
35 | +#endif | ||
36 | + | ||
37 | + | ||
38 | + | ||
39 | +/* Exported constants --------------------------------------------------------*/ | ||
40 | +/* 常亮定义*/ | ||
41 | + | ||
42 | +/* Exported types ------------------------------------------------------------*/ | ||
43 | + | ||
44 | + | ||
45 | +#ifdef __cplusplus | ||
46 | +} | ||
47 | +#endif | ||
48 | + | ||
49 | +#endif |
1 | - | ||
2 | -#include <stdio.h> | ||
3 | -#include <stdlib.h> | ||
4 | -#include <string.h> | ||
5 | -#include <pthread.h> | ||
6 | -#include <time.h> | ||
7 | -#include <unistd.h> | ||
8 | - | ||
9 | #include "JZsdkLib.h" | 1 | #include "JZsdkLib.h" |
10 | #include "BaseConfig.h" | 2 | #include "BaseConfig.h" |
3 | +#include <pthread.h> | ||
4 | +#include <stdatomic.h> | ||
11 | #include "JZsdk_usb_bulk/JZsdk_usb_bulk.h" | 5 | #include "JZsdk_usb_bulk/JZsdk_usb_bulk.h" |
12 | 6 | ||
13 | #include "IRCUT/ircut.h" | 7 | #include "IRCUT/ircut.h" |
14 | 8 | ||
15 | - | ||
16 | #ifdef RTK_MPP_STATUS_ON | 9 | #ifdef RTK_MPP_STATUS_ON |
17 | #include "MediaProc/MultProc/RTK_mmp/RTK_mmp.h" | 10 | #include "MediaProc/MultProc/RTK_mmp/RTK_mmp.h" |
18 | #include "MediaProc/MultProc/RTK_mmp/Dec/RTK_mmp_dec.h" | 11 | #include "MediaProc/MultProc/RTK_mmp/Dec/RTK_mmp_dec.h" |
19 | #include "MediaProc/MultProc/RTK_mmp/Enc/RTK_mmp_enc.h" | 12 | #include "MediaProc/MultProc/RTK_mmp/Enc/RTK_mmp_enc.h" |
20 | #include "MediaProc/Camera/Camera.h" | 13 | #include "MediaProc/Camera/Camera.h" |
21 | 14 | ||
22 | -#endif | ||
23 | - | ||
24 | #ifdef RTK_RGA_STATUS_ON | 15 | #ifdef RTK_RGA_STATUS_ON |
25 | 16 | ||
26 | #include "MediaProc/RgaProc/RK_Rga/RK_Rga.h" | 17 | #include "MediaProc/RgaProc/RK_Rga/RK_Rga.h" |
27 | 18 | ||
28 | -//c1的rga结构体 | 19 | +#endif |
20 | + | ||
21 | + | ||
22 | +#include "MediaProc/MediaProc.h" | ||
23 | +#include "UI_control/UI_control.h" | ||
24 | +#include "CommonMod/PowerManger/PowerManger.h" | ||
25 | + | ||
29 | typedef struct C1_RgaInfo | 26 | typedef struct C1_RgaInfo |
30 | { | 27 | { |
31 | //源图像 | 28 | //源图像 |
@@ -42,27 +39,57 @@ typedef struct C1_RgaInfo | @@ -42,27 +39,57 @@ typedef struct C1_RgaInfo | ||
42 | 39 | ||
43 | }C1_RgaInfo; | 40 | }C1_RgaInfo; |
44 | 41 | ||
45 | -static C1_RgaInfo *g_C1_RgaIrcInfo = NULL; | ||
46 | -static C1_RgaInfo *g_C1_RgaOptInfo = NULL; | 42 | +typedef struct T_JZC1_info |
43 | +{ | ||
44 | +/*************************************************************/ | ||
45 | + //红外相机的编码器信息 | ||
46 | + T_rtk_mmp_enc_info *IRC_enc_info; | ||
47 | 47 | ||
48 | -static unsigned char *g_MixedIrc_Buffer = NULL; | 48 | + //红外相机的rga信息 |
49 | + C1_RgaInfo *IRC_rga_info; | ||
49 | 50 | ||
50 | -static unsigned char *g_MixedOpt_Buffer = NULL; | ||
51 | -static unsigned int g_MixedOptBuffer_UseFlag = JZ_FLAGCODE_OFF; | 51 | +/*************************************************************/ |
52 | + //光学相机的解码器信息 | ||
53 | + T_rtk_mmp_dec_info *Opt_dec_info; | ||
54 | + | ||
55 | + //光学相机的编码器信息 | ||
56 | + T_rtk_mmp_enc_info *Opt_enc_info; | ||
57 | + | ||
58 | + //光学相机的相机信息 | ||
59 | + JZsdk_CameraInfo *Opt_Camera_info; | ||
60 | + | ||
61 | + C1_RgaInfo *Opt_rga_info; | ||
52 | 62 | ||
53 | -#endif | ||
54 | 63 | ||
55 | -#ifdef MEDIA_PROC_CONFIG_STATUS_ON | 64 | +/*************************************************************/ |
65 | + //融合相机的编码器信息 | ||
66 | + T_rtk_mmp_enc_info *Fuse_enc_info; | ||
56 | 67 | ||
57 | -#include "MediaProc/Camera/Cam_FrameCatch/Cam_FrameCatch.h" | ||
58 | -#include "MediaProc/MediaParm.h" | ||
59 | -#include "MediaProc/VideoMgmt/VideoStreamPush/VideoStream_Push.h" | ||
60 | -#include "MediaProc/VideoMgmt/VideoMgmt.h" | ||
61 | -#include "MediaProc/IRC_funtion/IRC_Param.h" | ||
62 | -#include "MediaProc/IRC_funtion/IRC_funtion.h" | ||
63 | -#include "MediaProc/MediaProc_Param.h" | 68 | +}T_JZC1_info; |
64 | 69 | ||
70 | +#define JZ_C1_IRC_WIDTH 320 | ||
71 | +#define JZ_C1_IRC_HEIGHT 256 | ||
72 | +#define JZ_C1_IRC_FRAMERATE 30 | ||
73 | +#define JZ_C1_IRC_INDEX VIDEOMGMT_STREAMING_FLOW_INDEX_FIRST | ||
65 | 74 | ||
75 | +#define JZ_C1_OPT_WIDTH 1920 | ||
76 | +#define JZ_C1_OPT_HEIGHT 1080 | ||
77 | +#define JZ_C1_OPT_FRAMERATE 30 | ||
78 | +#define JZ_C1_OPT_INDEX VIDEOMGMT_STREAMING_FLOW_INDEX_SECOND | ||
79 | +#define JZ_C1_OPT_DEV_PATH ("/dev/video21") | ||
80 | +#define JZ_C1_OPT_PIXEL V4L2_PIX_FMT_MJPEG | ||
81 | + | ||
82 | +#define JZ_C1_FUSE_WIDTH 1920 | ||
83 | +#define JZ_C1_FUSE_HEIGHT 1080 | ||
84 | +#define JZ_C1_FUSE_FRAMERATE 30 | ||
85 | +#define JZ_C1_FUSE_INDEX VIDEOMGMT_STREAMING_FLOW_INDEX_THIRD | ||
86 | + | ||
87 | +static unsigned char *g_MixedIrc_Buffer = NULL; | ||
88 | +static unsigned char *g_MixedOpt_Buffer = NULL; | ||
89 | +static unsigned int g_MixedOptBuffer_UseFlag = JZ_FLAGCODE_OFF; | ||
90 | + | ||
91 | + | ||
92 | +static T_JZC1_info g_JZC1_info; | ||
66 | 93 | ||
67 | static void *g_usb_index = NULL; | 94 | static void *g_usb_index = NULL; |
68 | 95 | ||
@@ -72,15 +99,15 @@ static const unsigned char FRAME_HEADER[FRAME_HEADER_SIZE] = {0xaa, 0xbb, 0xcc, | @@ -72,15 +99,15 @@ static const unsigned char FRAME_HEADER[FRAME_HEADER_SIZE] = {0xaa, 0xbb, 0xcc, | ||
72 | #define NSEC_PER_SEC 1000000000L //1秒的纳秒数 | 99 | #define NSEC_PER_SEC 1000000000L //1秒的纳秒数 |
73 | #define TARGET_FPS 30 | 100 | #define TARGET_FPS 30 |
74 | 101 | ||
75 | -static unsigned char FrameBuffer[FIRST_HEIGHT * FIRST_WIDTH *2]; //用于存储帧数据的缓冲区 | 102 | +static unsigned char FrameBuffer[JZ_C1_IRC_HEIGHT * JZ_C1_IRC_WIDTH *2]; //用于存储帧数据的缓冲区 |
76 | static unsigned int FrameBufferLen = 0; //用于存储帧数据的长度 | 103 | static unsigned int FrameBufferLen = 0; //用于存储帧数据的长度 |
77 | static int FrameBuffer_UseFlag = JZ_FLAGCODE_OFF; | 104 | static int FrameBuffer_UseFlag = JZ_FLAGCODE_OFF; |
78 | 105 | ||
79 | #ifdef RTK_RGA_STATUS_ON | 106 | #ifdef RTK_RGA_STATUS_ON |
80 | static T_JZsdkReturnCode JZC1_RgaDeal(C1_RgaInfo *rga_info, int resize, unsigned char *image, unsigned int *imgage_size); | 107 | static T_JZsdkReturnCode JZC1_RgaDeal(C1_RgaInfo *rga_info, int resize, unsigned char *image, unsigned int *imgage_size); |
81 | -static T_JZsdkReturnCode JZC1_RgaInit(C1_RgaInfo **rgaInfo, int dst_width, int dst_height, int dst_format); | ||
82 | #endif | 108 | #endif |
83 | 109 | ||
110 | + | ||
84 | //数据推送函数 | 111 | //数据推送函数 |
85 | static T_JZsdkReturnCode JZC1_PushFrame(int CameraIndex, unsigned char* data, unsigned int data_len) | 112 | static T_JZsdkReturnCode JZC1_PushFrame(int CameraIndex, unsigned char* data, unsigned int data_len) |
86 | { | 113 | { |
@@ -93,7 +120,7 @@ static T_JZsdkReturnCode JZC1_PushFrame(int CameraIndex, unsigned char* data, un | @@ -93,7 +120,7 @@ static T_JZsdkReturnCode JZC1_PushFrame(int CameraIndex, unsigned char* data, un | ||
93 | } | 120 | } |
94 | 121 | ||
95 | //红外相机 | 122 | //红外相机 |
96 | - if (currentIndex == VIDEOMGMT_STREAMING_FLOW_INDEX_FIRST && CameraIndex == VIDEOMGMT_STREAMING_FLOW_INDEX_FIRST) | 123 | + if (currentIndex == JZ_C1_IRC_INDEX && CameraIndex == JZ_C1_IRC_INDEX) |
97 | { | 124 | { |
98 | 125 | ||
99 | //推送数据到流转模块 | 126 | //推送数据到流转模块 |
@@ -101,14 +128,14 @@ static T_JZsdkReturnCode JZC1_PushFrame(int CameraIndex, unsigned char* data, un | @@ -101,14 +128,14 @@ static T_JZsdkReturnCode JZC1_PushFrame(int CameraIndex, unsigned char* data, un | ||
101 | } | 128 | } |
102 | 129 | ||
103 | //光学相机 | 130 | //光学相机 |
104 | - if(CameraIndex == VIDEOMGMT_STREAMING_FLOW_INDEX_SECOND && currentIndex == VIDEOMGMT_STREAMING_FLOW_INDEX_SECOND) | 131 | + if(CameraIndex == JZ_C1_OPT_INDEX && currentIndex == JZ_C1_OPT_INDEX) |
105 | { | 132 | { |
106 | //推送数据到流转模块 | 133 | //推送数据到流转模块 |
107 | VideoMgmt_Single_FrameIn(data, data_len); | 134 | VideoMgmt_Single_FrameIn(data, data_len); |
108 | } | 135 | } |
109 | 136 | ||
110 | //组合视频流 | 137 | //组合视频流 |
111 | - if (currentIndex == VIDEOMGMT_STREAMING_FLOW_INDEX_THIRD && CameraIndex == VIDEOMGMT_STREAMING_FLOW_INDEX_THIRD) | 138 | + if (currentIndex == JZ_C1_FUSE_INDEX && CameraIndex == JZ_C1_FUSE_INDEX) |
112 | { | 139 | { |
113 | //推送数据到流转模块 | 140 | //推送数据到流转模块 |
114 | VideoMgmt_Single_FrameIn(data, data_len); | 141 | VideoMgmt_Single_FrameIn(data, data_len); |
@@ -119,17 +146,13 @@ static T_JZsdkReturnCode JZC1_PushFrame(int CameraIndex, unsigned char* data, un | @@ -119,17 +146,13 @@ static T_JZsdkReturnCode JZC1_PushFrame(int CameraIndex, unsigned char* data, un | ||
119 | 146 | ||
120 | static T_JZsdkReturnCode JZC1_OptDeal(unsigned char *data, unsigned int data_len) | 147 | static T_JZsdkReturnCode JZC1_OptDeal(unsigned char *data, unsigned int data_len) |
121 | { | 148 | { |
122 | - | ||
123 | - | ||
124 | -#ifdef RTK_MPP_STATUS_ON | ||
125 | - | ||
126 | //JZSDK_LOG_INFO("JZC1_OptDeal"); | 149 | //JZSDK_LOG_INFO("JZC1_OptDeal"); |
127 | 150 | ||
128 | MppFrame yuv_data = NULL; //用于传递yuv数据的地址 | 151 | MppFrame yuv_data = NULL; //用于传递yuv数据的地址 |
129 | MppPacket Packet = NULL; | 152 | MppPacket Packet = NULL; |
130 | 153 | ||
131 | //输入数据进入解码器 | 154 | //输入数据进入解码器 |
132 | - RTK_mmp_dec_input(JZsdk_RtkMmpGetDecHandleAddr(1), data, data_len, &yuv_data); | 155 | + RTK_mmp_dec_input(g_JZC1_info.Opt_dec_info, data, data_len, &yuv_data); |
133 | 156 | ||
134 | // int width = mpp_frame_get_width(yuv_data); | 157 | // int width = mpp_frame_get_width(yuv_data); |
135 | // int height = mpp_frame_get_height(yuv_data); | 158 | // int height = mpp_frame_get_height(yuv_data); |
@@ -180,7 +203,7 @@ static T_JZsdkReturnCode JZC1_OptDeal(unsigned char *data, unsigned int data_len | @@ -180,7 +203,7 @@ static T_JZsdkReturnCode JZC1_OptDeal(unsigned char *data, unsigned int data_len | ||
180 | unsigned char *temp_data = (unsigned char *)malloc(size); | 203 | unsigned char *temp_data = (unsigned char *)malloc(size); |
181 | memcpy(temp_data, mpp_buffer_get_ptr(temp), size); | 204 | memcpy(temp_data, mpp_buffer_get_ptr(temp), size); |
182 | 205 | ||
183 | - JZC1_RgaDeal(g_C1_RgaOptInfo, ZoomRatio, temp_data, &size); | 206 | + JZC1_RgaDeal(g_JZC1_info.Opt_rga_info, ZoomRatio, temp_data, &size); |
184 | 207 | ||
185 | //重新将数据放回 | 208 | //重新将数据放回 |
186 | memcpy(mpp_buffer_get_ptr(temp), temp_data, size); | 209 | memcpy(mpp_buffer_get_ptr(temp), temp_data, size); |
@@ -200,7 +223,7 @@ static T_JZsdkReturnCode JZC1_OptDeal(unsigned char *data, unsigned int data_len | @@ -200,7 +223,7 @@ static T_JZsdkReturnCode JZC1_OptDeal(unsigned char *data, unsigned int data_len | ||
200 | 223 | ||
201 | 224 | ||
202 | //将返回的数据输入进编码器 | 225 | //将返回的数据输入进编码器 |
203 | - RTK_mmp_enc_yuv_to_h264_byFrame(JZsdk_RtkMmpGetEncHandleAddr(1), yuv_data, &Packet); | 226 | + RTK_mmp_enc_yuv_to_h264_byFrame(g_JZC1_info.Opt_enc_info, yuv_data, &Packet); |
204 | 227 | ||
205 | //获取数据指针与长度 | 228 | //获取数据指针与长度 |
206 | int packet_len = mpp_packet_get_length(Packet); | 229 | int packet_len = mpp_packet_get_length(Packet); |
@@ -211,7 +234,6 @@ static T_JZsdkReturnCode JZC1_OptDeal(unsigned char *data, unsigned int data_len | @@ -211,7 +234,6 @@ static T_JZsdkReturnCode JZC1_OptDeal(unsigned char *data, unsigned int data_len | ||
211 | 234 | ||
212 | //释放掉编码图像 | 235 | //释放掉编码图像 |
213 | mpp_packet_deinit(&Packet); | 236 | mpp_packet_deinit(&Packet); |
214 | -#endif | ||
215 | 237 | ||
216 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 238 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
217 | } | 239 | } |
@@ -230,7 +252,6 @@ static T_JZsdkReturnCode JZC1_Irc_DataCorrect(unsigned char *data) | @@ -230,7 +252,6 @@ static T_JZsdkReturnCode JZC1_Irc_DataCorrect(unsigned char *data) | ||
230 | //在这里将灰度图数据转换成目标数据 | 252 | //在这里将灰度图数据转换成目标数据 |
231 | static T_JZsdkReturnCode JZC1_IrcDeal(unsigned char *data, unsigned int data_len) | 253 | static T_JZsdkReturnCode JZC1_IrcDeal(unsigned char *data, unsigned int data_len) |
232 | { | 254 | { |
233 | -#ifdef IRC_CONFIG_STATUS_ON | ||
234 | //JZSDK_LOG_DEBUG("irc数据处理"); | 255 | //JZSDK_LOG_DEBUG("irc数据处理"); |
235 | if (data_len == 0) | 256 | if (data_len == 0) |
236 | { | 257 | { |
@@ -291,7 +312,7 @@ static T_JZsdkReturnCode JZC1_IrcDeal(unsigned char *data, unsigned int data_len | @@ -291,7 +312,7 @@ static T_JZsdkReturnCode JZC1_IrcDeal(unsigned char *data, unsigned int data_len | ||
291 | 312 | ||
292 | if (ZoomRatio != JZ_FLAGCODE_OFF) | 313 | if (ZoomRatio != JZ_FLAGCODE_OFF) |
293 | { | 314 | { |
294 | - JZC1_RgaDeal(g_C1_RgaIrcInfo, ZoomRatio, raw_data, &raw_data_len); | 315 | + JZC1_RgaDeal(g_JZC1_info.IRC_rga_info, ZoomRatio, raw_data, &raw_data_len); |
295 | } | 316 | } |
296 | 317 | ||
297 | //将数据放入混合缓冲区 | 318 | //将数据放入混合缓冲区 |
@@ -304,10 +325,9 @@ static T_JZsdkReturnCode JZC1_IrcDeal(unsigned char *data, unsigned int data_len | @@ -304,10 +325,9 @@ static T_JZsdkReturnCode JZC1_IrcDeal(unsigned char *data, unsigned int data_len | ||
304 | unsigned char *h264Data = NULL; | 325 | unsigned char *h264Data = NULL; |
305 | unsigned int h264DataLen = 0; | 326 | unsigned int h264DataLen = 0; |
306 | 327 | ||
307 | -#ifdef RTK_MPP_STATUS_ON | ||
308 | MppPacket Packet = NULL; | 328 | MppPacket Packet = NULL; |
309 | 329 | ||
310 | - RTK_mmp_enc_data_to_h264(JZsdk_RtkMmpGetEncHandleAddr(0), raw_data, raw_data_len, &Packet); | 330 | + RTK_mmp_enc_data_to_h264(g_JZC1_info.IRC_enc_info, raw_data, raw_data_len, &Packet); |
311 | 331 | ||
312 | h264DataLen = mpp_packet_get_length(Packet); | 332 | h264DataLen = mpp_packet_get_length(Packet); |
313 | h264Data = (unsigned char *)mpp_packet_get_pos(Packet); | 333 | h264Data = (unsigned char *)mpp_packet_get_pos(Packet); |
@@ -316,7 +336,6 @@ static T_JZsdkReturnCode JZC1_IrcDeal(unsigned char *data, unsigned int data_len | @@ -316,7 +336,6 @@ static T_JZsdkReturnCode JZC1_IrcDeal(unsigned char *data, unsigned int data_len | ||
316 | 336 | ||
317 | //释放掉packet | 337 | //释放掉packet |
318 | mpp_packet_deinit(&Packet); | 338 | mpp_packet_deinit(&Packet); |
319 | -#endif | ||
320 | 339 | ||
321 | //将h264数据推送 | 340 | //将h264数据推送 |
322 | JZC1_PushFrame(1, h264Data, h264DataLen); | 341 | JZC1_PushFrame(1, h264Data, h264DataLen); |
@@ -334,11 +353,10 @@ static T_JZsdkReturnCode JZC1_IrcDeal(unsigned char *data, unsigned int data_len | @@ -334,11 +353,10 @@ static T_JZsdkReturnCode JZC1_IrcDeal(unsigned char *data, unsigned int data_len | ||
334 | u16Data = NULL; | 353 | u16Data = NULL; |
335 | } | 354 | } |
336 | 355 | ||
337 | -#endif | ||
338 | - | ||
339 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 356 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
340 | } | 357 | } |
341 | 358 | ||
359 | + | ||
342 | static void *JZC1_IrcDataBuffer_Thread(void *args) | 360 | static void *JZC1_IrcDataBuffer_Thread(void *args) |
343 | { | 361 | { |
344 | 362 | ||
@@ -350,12 +368,12 @@ static void *JZC1_IrcDataBuffer_Thread(void *args) | @@ -350,12 +368,12 @@ static void *JZC1_IrcDataBuffer_Thread(void *args) | ||
350 | long long prev_time = start_time.tv_sec * NSEC_PER_SEC + start_time.tv_nsec; | 368 | long long prev_time = start_time.tv_sec * NSEC_PER_SEC + start_time.tv_nsec; |
351 | 369 | ||
352 | //设置间隔时间 | 370 | //设置间隔时间 |
353 | - long long period = NSEC_PER_SEC / TARGET_FPS; | 371 | + long long period = NSEC_PER_SEC / JZ_C1_IRC_FRAMERATE; |
354 | 372 | ||
355 | unsigned char *TempBuffer = (unsigned char *)malloc(163840); | 373 | unsigned char *TempBuffer = (unsigned char *)malloc(163840); |
356 | unsigned int TempBufferLen = 0; | 374 | unsigned int TempBufferLen = 0; |
357 | 375 | ||
358 | - | 376 | + int num = 0; |
359 | 377 | ||
360 | while (1) | 378 | while (1) |
361 | { | 379 | { |
@@ -386,16 +404,47 @@ static void *JZC1_IrcDataBuffer_Thread(void *args) | @@ -386,16 +404,47 @@ static void *JZC1_IrcDataBuffer_Thread(void *args) | ||
386 | JZC1_IrcDeal(TempBuffer, TempBufferLen); | 404 | JZC1_IrcDeal(TempBuffer, TempBufferLen); |
387 | 405 | ||
388 | prev_time = current_time; | 406 | prev_time = current_time; |
407 | + | ||
389 | } | 408 | } |
390 | 409 | ||
391 | - // 为了防止过于频繁地调用 clock_gettime,可以添加一个小的睡眠时间 | ||
392 | - // 例如,休眠1毫秒(100000000纳秒),以减少CPU占用 | ||
393 | - struct timespec req = { .tv_sec = 0, .tv_nsec = 1000000 }; | ||
394 | - nanosleep(&req, NULL); | 410 | + // // 为了防止过于频繁地调用 clock_gettime,可以添加一个小的睡眠时间 |
411 | + // // 例如,休眠1毫秒(100000000纳秒),以减少CPU占用 | ||
412 | + // struct timespec req = { .tv_sec = 0, .tv_nsec = 1000000 }; | ||
413 | + // nanosleep(&req, NULL); | ||
395 | } | 414 | } |
415 | +} | ||
396 | 416 | ||
417 | +// static void *JZC1_IrcDataBuffer_Thread(void *args) | ||
418 | +// { | ||
419 | +// unsigned char *TempBuffer = (unsigned char *)malloc(163840); | ||
420 | +// unsigned int TempBufferLen = 0; | ||
397 | 421 | ||
398 | -} | 422 | +// const long long period = NSEC_PER_SEC / TARGET_FPS; // 33,333,333 ns |
423 | +// struct timespec next; | ||
424 | +// clock_gettime(CLOCK_MONOTONIC, &next); | ||
425 | + | ||
426 | +// while(1) { | ||
427 | +// // 精确周期控制 | ||
428 | +// next.tv_nsec += period; | ||
429 | +// if (next.tv_nsec >= NSEC_PER_SEC) { | ||
430 | +// next.tv_sec++; | ||
431 | +// next.tv_nsec -= NSEC_PER_SEC; | ||
432 | +// } | ||
433 | + | ||
434 | +// // 无锁化改造 | ||
435 | +// if(atomic_exchange(&FrameBuffer_UseFlag, JZ_FLAGCODE_ON) == JZ_FLAGCODE_OFF) { | ||
436 | +// memcpy(TempBuffer, FrameBuffer, FrameBufferLen); // 零拷贝优化见方案2 | ||
437 | +// atomic_store(&FrameBuffer_UseFlag, JZ_FLAGCODE_OFF); | ||
438 | + | ||
439 | +// JZC1_IrcDeal(TempBuffer, FrameBufferLen); | ||
440 | + | ||
441 | +// JZSDK_LOG_INFO("deal"); | ||
442 | +// } | ||
443 | + | ||
444 | +// // 高精度休眠 | ||
445 | +// clock_nanosleep(CLOCK_MONOTONIC, TIMER_ABSTIME, &next, NULL); | ||
446 | +// } | ||
447 | +// } | ||
399 | 448 | ||
400 | static T_JZsdkReturnCode JZC1_IrcDataSave(unsigned char *data, unsigned int data_len) | 449 | static T_JZsdkReturnCode JZC1_IrcDataSave(unsigned char *data, unsigned int data_len) |
401 | { | 450 | { |
@@ -419,7 +468,7 @@ static T_JZsdkReturnCode JZC1_IrcDataSave(unsigned char *data, unsigned int data | @@ -419,7 +468,7 @@ static T_JZsdkReturnCode JZC1_IrcDataSave(unsigned char *data, unsigned int data | ||
419 | //红外数据接收线程 | 468 | //红外数据接收线程 |
420 | static void *JZC1_IrcDataRecv_Thread(void *args) | 469 | static void *JZC1_IrcDataRecv_Thread(void *args) |
421 | { | 470 | { |
422 | - int frame_len = FIRST_WIDTH *2* FIRST_HEIGHT; //163840 | 471 | + int frame_len = g_JZC1_info.IRC_enc_info->width * g_JZC1_info.IRC_enc_info->height *2; //163840 |
423 | unsigned char buf[frame_len]; //usb数据缓冲区需要为512的倍数 | 472 | unsigned char buf[frame_len]; //usb数据缓冲区需要为512的倍数 |
424 | unsigned char frameData[frame_len]; // 存储整帧数据的画面缓冲区 | 473 | unsigned char frameData[frame_len]; // 存储整帧数据的画面缓冲区 |
425 | unsigned int lineNum = 0; | 474 | unsigned int lineNum = 0; |
@@ -547,14 +596,13 @@ static void *JZC1_IrcDataRecv_Thread(void *args) | @@ -547,14 +596,13 @@ static void *JZC1_IrcDataRecv_Thread(void *args) | ||
547 | } | 596 | } |
548 | } | 597 | } |
549 | 598 | ||
550 | - | ||
551 | //C1 红外相机数据的初始化 | 599 | //C1 红外相机数据的初始化 |
552 | static T_JZsdkReturnCode JZsdk_JZC1_Irc_Data_Init() | 600 | static T_JZsdkReturnCode JZsdk_JZC1_Irc_Data_Init() |
553 | { | 601 | { |
554 | T_JZsdkReturnCode ret; | 602 | T_JZsdkReturnCode ret; |
555 | 603 | ||
556 | //初始化接收的usb口 | 604 | //初始化接收的usb口 |
557 | - ret = JZsdk_HalUsbBulk_Init(&g_usb_index, 0, 0, LINUX_USB_PID, LINUX_USB_VID, USB_IN_POINT, USB_OUT_POINT); | 605 | + ret = JZsdk_HalUsbBulk_Init(&g_usb_index, 0, 0, JZSDK_USB_PID, JZSDK_USB_VID, USB_IN_POINT, USB_OUT_POINT); |
558 | if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | 606 | if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) |
559 | { | 607 | { |
560 | return ret; | 608 | return ret; |
@@ -584,44 +632,68 @@ static T_JZsdkReturnCode JZsdk_JZC1_Irc_Data_Init() | @@ -584,44 +632,68 @@ static T_JZsdkReturnCode JZsdk_JZC1_Irc_Data_Init() | ||
584 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 632 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
585 | } | 633 | } |
586 | 634 | ||
635 | + JZSDK_LOG_INFO("JZsdk_JZC1_Irc_Data_Init sucess"); | ||
636 | + | ||
587 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 637 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
588 | } | 638 | } |
589 | 639 | ||
590 | 640 | ||
641 | +// /******************** | ||
642 | +// * | ||
643 | +// * 混合视频说明 | ||
644 | +// * | ||
645 | +// * 1920*1088 做处理 并输出为 1920*1080 | ||
646 | +// * __________________________________________________________________ | ||
647 | +// * |_________________________________ | | ||
648 | +// * | |________________________________| | ||
649 | +// * | | | | ||
650 | +// * | | 1920*1088 /2 960* 544 | | ||
651 | +// * | | | | ||
652 | +// * | 320*256 拉伸4到 1280*1024 | | | ||
653 | +// * | 裁剪出 3/4 到 960 * 768 | | | ||
654 | +// * | | | | ||
655 | +// * | |________________________________| | ||
656 | +// * |_________________________________| | | ||
657 | +// * |__________________________________________________________________| | ||
658 | +// * | ||
659 | +// * ******************/ | ||
660 | + | ||
661 | + | ||
662 | +static T_JZsdkReturnCode JZC1_RgaInit(C1_RgaInfo *rgaInfo, int dst_width, int dst_height, int dst_format) | ||
663 | +{ | ||
664 | + int width = dst_width; | ||
665 | + int height = dst_height; | ||
666 | + int rect_x = 0; | ||
667 | + int rect_y = 0; | ||
668 | + int rect_w = dst_width; | ||
669 | + int rect_h = dst_height; | ||
670 | + | ||
671 | + rgaInfo->src_img = NULL; | ||
591 | 672 | ||
592 | -/******************** | ||
593 | - * | ||
594 | - * 混合视频说明 | ||
595 | - * | ||
596 | - * 1920*1088 做处理 并输出为 1920*1080 | ||
597 | - * __________________________________________________________________ | ||
598 | - * |_________________________________ | | ||
599 | - * | |________________________________| | ||
600 | - * | | | | ||
601 | - * | | 1920*1088 /2 960* 544 | | ||
602 | - * | | | | ||
603 | - * | 320*256 拉伸4到 1280*1024 | | | ||
604 | - * | 裁剪出 3/4 到 960 * 768 | | | ||
605 | - * | | | | ||
606 | - * | |________________________________| | ||
607 | - * |_________________________________| | | ||
608 | - * |__________________________________________________________________| | ||
609 | - * | ||
610 | - * ******************/ | 673 | + RK_Rga_ImageInit(&(rgaInfo->src_img), width, height, dst_format, rect_x, rect_y, rect_w, rect_h); //初始化输入模块 |
611 | 674 | ||
675 | + rgaInfo->corp_img = NULL; | ||
676 | + RK_Rga_ImageInit(&(rgaInfo->corp_img), width, height, dst_format, rect_x, rect_y, rect_w, rect_h); //初始化裁剪模块 | ||
612 | 677 | ||
613 | -/****************** | ||
614 | - * | ||
615 | - * 混合视频处理 | ||
616 | - * | ||
617 | - * | ||
618 | - * ********************/ | ||
619 | -static void JZC1_MixedVideo_Deal() | ||
620 | -{ | 678 | + rgaInfo->dst_img = NULL; |
679 | + RK_Rga_ImageInit(&(rgaInfo->dst_img), width, height, dst_format, rect_x, rect_y, rect_w, rect_h); //初始化输出模块 | ||
621 | 680 | ||
681 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
622 | } | 682 | } |
623 | 683 | ||
624 | 684 | ||
685 | +// /****************** | ||
686 | +// * | ||
687 | +// * 混合视频处理 | ||
688 | +// * | ||
689 | +// * | ||
690 | +// * ********************/ | ||
691 | +// static void JZC1_MixedVideo_Deal() | ||
692 | +// { | ||
693 | + | ||
694 | +// } | ||
695 | + | ||
696 | + | ||
625 | static void *MixedVideo_Thread(void *args) | 697 | static void *MixedVideo_Thread(void *args) |
626 | { | 698 | { |
627 | #ifdef RTK_RGA_STATUS_ON | 699 | #ifdef RTK_RGA_STATUS_ON |
@@ -642,16 +714,16 @@ static void *MixedVideo_Thread(void *args) | @@ -642,16 +714,16 @@ static void *MixedVideo_Thread(void *args) | ||
642 | im_rect Irc_Rect; | 714 | im_rect Irc_Rect; |
643 | Irc_Rect.x = 0; | 715 | Irc_Rect.x = 0; |
644 | Irc_Rect.y = 0; | 716 | Irc_Rect.y = 0; |
645 | - Irc_Rect.width = JZ_ALIGN(FIRST_WIDTH, 16); | ||
646 | - Irc_Rect.height = JZ_ALIGN(FIRST_HEIGHT, 16); | 717 | + Irc_Rect.width = g_JZC1_info.IRC_enc_info->hor_stride; |
718 | + Irc_Rect.height = g_JZC1_info.IRC_enc_info->ver_stride; | ||
647 | int IRc_Format = RK_FORMAT_YCbCr_420_SP; | 719 | int IRc_Format = RK_FORMAT_YCbCr_420_SP; |
648 | 720 | ||
649 | //红外放大图像 | 721 | //红外放大图像 |
650 | im_rect Irc_ResizeRect; | 722 | im_rect Irc_ResizeRect; |
651 | Irc_ResizeRect.x = 0; | 723 | Irc_ResizeRect.x = 0; |
652 | Irc_ResizeRect.y = 0; | 724 | Irc_ResizeRect.y = 0; |
653 | - Irc_ResizeRect.width = JZ_ALIGN(FIRST_WIDTH, 16) * 4; | ||
654 | - Irc_ResizeRect.height = JZ_ALIGN(FIRST_HEIGHT, 16) * 4; | 725 | + Irc_ResizeRect.width = g_JZC1_info.IRC_enc_info->hor_stride * 4; |
726 | + Irc_ResizeRect.height = g_JZC1_info.IRC_enc_info->ver_stride * 4; | ||
655 | 727 | ||
656 | //红外裁剪区域 | 728 | //红外裁剪区域 |
657 | im_rect Irc_CropRect; | 729 | im_rect Irc_CropRect; |
@@ -678,16 +750,16 @@ static void *MixedVideo_Thread(void *args) | @@ -678,16 +750,16 @@ static void *MixedVideo_Thread(void *args) | ||
678 | im_rect Opt_Rect; | 750 | im_rect Opt_Rect; |
679 | Opt_Rect.x = 0; | 751 | Opt_Rect.x = 0; |
680 | Opt_Rect.y = 0; | 752 | Opt_Rect.y = 0; |
681 | - Opt_Rect.width = JZ_ALIGN(SECOND_WIDTH, 16); | ||
682 | - Opt_Rect.height = JZ_ALIGN(SECOND_HEIGHT, 16); | 753 | + Opt_Rect.width = g_JZC1_info.Opt_enc_info->hor_stride; |
754 | + Opt_Rect.height = g_JZC1_info.Opt_enc_info->ver_stride; | ||
683 | int Opt_Format = RK_FORMAT_YCbCr_420_SP; | 755 | int Opt_Format = RK_FORMAT_YCbCr_420_SP; |
684 | 756 | ||
685 | //光学源缩小图像 | 757 | //光学源缩小图像 |
686 | im_rect Opt_ResizeRect; | 758 | im_rect Opt_ResizeRect; |
687 | Opt_ResizeRect.x = 0; | 759 | Opt_ResizeRect.x = 0; |
688 | Opt_ResizeRect.y = 0; | 760 | Opt_ResizeRect.y = 0; |
689 | - Opt_ResizeRect.width = JZ_ALIGN(SECOND_WIDTH, 16) / 2; | ||
690 | - Opt_ResizeRect.height = JZ_ALIGN(SECOND_HEIGHT, 16) / 2; | 761 | + Opt_ResizeRect.width = g_JZC1_info.Opt_enc_info->hor_stride / 2; |
762 | + Opt_ResizeRect.height = g_JZC1_info.Opt_enc_info->ver_stride / 2; | ||
691 | 763 | ||
692 | //光学源图像 | 764 | //光学源图像 |
693 | RK_RgaImage *Opt_SrcImg = NULL; | 765 | RK_RgaImage *Opt_SrcImg = NULL; |
@@ -704,8 +776,8 @@ static void *MixedVideo_Thread(void *args) | @@ -704,8 +776,8 @@ static void *MixedVideo_Thread(void *args) | ||
704 | im_rect Dst_Rect; | 776 | im_rect Dst_Rect; |
705 | Dst_Rect.x = 0; | 777 | Dst_Rect.x = 0; |
706 | Dst_Rect.y = 0; | 778 | Dst_Rect.y = 0; |
707 | - Dst_Rect.width = JZ_ALIGN(SECOND_WIDTH, 16); | ||
708 | - Dst_Rect.height = JZ_ALIGN(SECOND_HEIGHT, 16); | 779 | + Dst_Rect.width = g_JZC1_info.Opt_enc_info->hor_stride; |
780 | + Dst_Rect.height = g_JZC1_info.Opt_enc_info->ver_stride; | ||
709 | int Dst_Format = RK_FORMAT_YCbCr_420_SP; | 781 | int Dst_Format = RK_FORMAT_YCbCr_420_SP; |
710 | 782 | ||
711 | //目标图像中光学图像的矩形 | 783 | //目标图像中光学图像的矩形 |
@@ -765,8 +837,8 @@ static void *MixedVideo_Thread(void *args) | @@ -765,8 +837,8 @@ static void *MixedVideo_Thread(void *args) | ||
765 | memset(Opt_SrcImg->buf, 0, Opt_SrcImg->buf_size); | 837 | memset(Opt_SrcImg->buf, 0, Opt_SrcImg->buf_size); |
766 | 838 | ||
767 | //将数据放入缓冲区 | 839 | //将数据放入缓冲区 |
768 | - memcpy(Irc_SrcImg->buf, g_MixedIrc_Buffer, (JZ_ALIGN(FIRST_WIDTH, 16)) * (JZ_ALIGN(FIRST_HEIGHT, 16)) * 3 / 2); | ||
769 | - memcpy(Opt_SrcImg->buf, g_MixedOpt_Buffer, JZ_ALIGN(SECOND_WIDTH, 16) * JZ_ALIGN(SECOND_HEIGHT, 16) * 3 / 2); | 840 | + memcpy(Irc_SrcImg->buf, g_MixedIrc_Buffer, (g_JZC1_info.IRC_enc_info->hor_stride) * (g_JZC1_info.IRC_enc_info->ver_stride) * 3 / 2); |
841 | + memcpy(Opt_SrcImg->buf, g_MixedOpt_Buffer, g_JZC1_info.Opt_enc_info->hor_stride * g_JZC1_info.Opt_enc_info->ver_stride * 3 / 2); | ||
770 | 842 | ||
771 | g_MixedOptBuffer_UseFlag = JZ_FLAGCODE_OFF; | 843 | g_MixedOptBuffer_UseFlag = JZ_FLAGCODE_OFF; |
772 | 844 | ||
@@ -817,10 +889,9 @@ static void *MixedVideo_Thread(void *args) | @@ -817,10 +889,9 @@ static void *MixedVideo_Thread(void *args) | ||
817 | 889 | ||
818 | //JZSDK_LOG_DEBUG("DstImg->buf_size:%d", DstImg->buf_size); | 890 | //JZSDK_LOG_DEBUG("DstImg->buf_size:%d", DstImg->buf_size); |
819 | 891 | ||
820 | -#ifdef RTK_MPP_STATUS_ON | ||
821 | MppPacket Packet = NULL; | 892 | MppPacket Packet = NULL; |
822 | 893 | ||
823 | - RTK_mmp_enc_data_to_h264(JZsdk_RtkMmpGetEncHandleAddr(2), DstImg->buf, DstImg->buf_size, &Packet); | 894 | + RTK_mmp_enc_data_to_h264(g_JZC1_info.Fuse_enc_info, DstImg->buf, DstImg->buf_size, &Packet); |
824 | 895 | ||
825 | h264DataLen = mpp_packet_get_length(Packet); | 896 | h264DataLen = mpp_packet_get_length(Packet); |
826 | h264Data = (unsigned char *)mpp_packet_get_pos(Packet); | 897 | h264Data = (unsigned char *)mpp_packet_get_pos(Packet); |
@@ -829,7 +900,6 @@ static void *MixedVideo_Thread(void *args) | @@ -829,7 +900,6 @@ static void *MixedVideo_Thread(void *args) | ||
829 | 900 | ||
830 | //释放掉packet | 901 | //释放掉packet |
831 | mpp_packet_deinit(&Packet); | 902 | mpp_packet_deinit(&Packet); |
832 | -#endif | ||
833 | 903 | ||
834 | //推送视频流 | 904 | //推送视频流 |
835 | JZC1_PushFrame(VIDEOMGMT_STREAMING_FLOW_INDEX_THIRD, h264Data, h264DataLen); | 905 | JZC1_PushFrame(VIDEOMGMT_STREAMING_FLOW_INDEX_THIRD, h264Data, h264DataLen); |
@@ -858,8 +928,9 @@ static void *MixedVideo_Thread(void *args) | @@ -858,8 +928,9 @@ static void *MixedVideo_Thread(void *args) | ||
858 | static T_JZsdkReturnCode JZC1_MixedVideo_Init() | 928 | static T_JZsdkReturnCode JZC1_MixedVideo_Init() |
859 | { | 929 | { |
860 | #ifdef IRC_CONFIG_STATUS_ON | 930 | #ifdef IRC_CONFIG_STATUS_ON |
861 | - g_MixedIrc_Buffer = (unsigned char *)malloc(JZ_ALIGN(FIRST_WIDTH, 16)*JZ_ALIGN(FIRST_HEIGHT, 16)*3/2); | ||
862 | - g_MixedOpt_Buffer = (unsigned char *)malloc(JZ_ALIGN(SECOND_WIDTH, 16)*JZ_ALIGN(SECOND_HEIGHT, 16)*3/2); | 931 | + |
932 | + g_MixedIrc_Buffer = (unsigned char *)malloc(g_JZC1_info.IRC_enc_info->hor_stride * g_JZC1_info.IRC_enc_info->ver_stride * 3/2); | ||
933 | + g_MixedOpt_Buffer = (unsigned char *)malloc(g_JZC1_info.Opt_enc_info->hor_stride * g_JZC1_info.Opt_enc_info->ver_stride * 3/2); | ||
863 | 934 | ||
864 | //混合视频初始化 | 935 | //混合视频初始化 |
865 | pthread_t Task; | 936 | pthread_t Task; |
@@ -880,150 +951,13 @@ static T_JZsdkReturnCode JZC1_MixedVideo_Init() | @@ -880,150 +951,13 @@ static T_JZsdkReturnCode JZC1_MixedVideo_Init() | ||
880 | } | 951 | } |
881 | 952 | ||
882 | 953 | ||
883 | -#endif | ||
884 | - | ||
885 | -//JZ_C1 的媒体初始化 | ||
886 | -static T_JZsdkReturnCode JZC1_MediaInit() | ||
887 | -{ | ||
888 | - T_JZsdkReturnCode ret = JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
889 | - | ||
890 | - | ||
891 | -//初始化媒体模块 | ||
892 | -#ifdef MEDIA_PROC_CONFIG_STATUS_ON | ||
893 | - | ||
894 | - //初始化videoMgmt模块 | ||
895 | - VideoMgmt_Init(); | ||
896 | - | ||
897 | - //初始化Mulit模块 | ||
898 | - #ifdef RTK_MPP_STATUS_ON | ||
899 | - //初始化红外的编解码器 | ||
900 | - RTK_mmp_enc_Init(JZsdk_RtkMmpGetEncHandleAddr(0), MPP_VIDEO_CodingAVC, MPP_FMT_YUV420SP, FIRST_WIDTH, FIRST_HEIGHT, 30, 5); | ||
901 | - | ||
902 | - //初始化光学的编解码器 | ||
903 | - RTK_mmp_dec_Init(JZsdk_RtkMmpGetDecHandleAddr(1), MPP_VIDEO_CodingMJPEG, MPP_FMT_YUV420SP, SECOND_WIDTH, SECOND_HEIGHT); | ||
904 | - RTK_mmp_enc_Init(JZsdk_RtkMmpGetEncHandleAddr(1), MPP_VIDEO_CodingAVC, MPP_FMT_YUV420SP, SECOND_WIDTH, SECOND_HEIGHT, 30, 15); | ||
905 | - | ||
906 | - // RTK_mmp_dec_Init(JZsdk_RtkMmpGetDecHandleAddr(1), MPP_VIDEO_CodingMJPEG, MPP_FMT_YUV420SP, SECOND_WIDTH, SECOND_HEIGHT); | ||
907 | - // RTK_mmp_enc_Init(JZsdk_RtkMmpGetEncHandleAddr(1), MPP_VIDEO_CodingAVC, MPP_FMT_YUV420SP, SECOND_WIDTH, SECOND_HEIGHT, 30, 15); | ||
908 | - | ||
909 | - //初始化混合视频流的编码器 | ||
910 | - RTK_mmp_enc_Init(JZsdk_RtkMmpGetEncHandleAddr(2), MPP_VIDEO_CodingAVC, MPP_FMT_YUV420SP, SECOND_WIDTH, SECOND_HEIGHT, 30, 15); | ||
911 | - | ||
912 | - #endif | ||
913 | - | ||
914 | - //初始化Camera模块 | ||
915 | - int CameraFd = -1; | ||
916 | - ret = V4l2_Camarainit2(&CameraFd, SECOND_WIDTH, SECOND_HEIGHT, 30); | ||
917 | - if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
918 | - { | ||
919 | - JZSDK_LOG_ERROR("光学相机启动失败"); | ||
920 | - } | ||
921 | - else | ||
922 | - { | ||
923 | - | ||
924 | - //光学相机的抓取 | ||
925 | - ret = JZsdk_FrameCatch_Single(JZC1_OptDeal); | ||
926 | - } | ||
927 | - | ||
928 | - //初始化IRC_funtion模块 | ||
929 | - ret = IRC_ParamInit(FIRST_HEIGHT, FIRST_WIDTH, 25); | ||
930 | - if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
931 | - { | ||
932 | - JZSDK_LOG_ERROR("初始化红外的数据处理失败"); | ||
933 | - } | ||
934 | - else | ||
935 | - { | ||
936 | - //初始化红外的数据输入 | ||
937 | - ret = JZsdk_JZC1_Irc_Data_Init(); | ||
938 | - if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
939 | - { | ||
940 | - JZSDK_LOG_ERROR("红外相机初始化失败"); | ||
941 | - } | ||
942 | - } | ||
943 | - | ||
944 | - //设置默认参数 | ||
945 | - | ||
946 | - //默认推送红外摄像头 后续改成 红外+光学 的组合画面 | ||
947 | - VideoMgmt_VideoStreamFlowIndex(VIDEOMGMT_STREAMING_FLOW_INDEX_THIRD); | ||
948 | - | ||
949 | - //设置快门为开 | ||
950 | - JZsdk_Camera_ShutterSwitch(JZ_FLAGCODE_ON); | ||
951 | - | ||
952 | - //设置伪彩颜色为hot | ||
953 | - int value = 8; | ||
954 | - Camera_param(JZ_FLAGCODE_SET, CAMERA_PSEUDO_COLOR, &value); | ||
955 | - | ||
956 | - //设置为默认输出模式 | ||
957 | - value = 0; | ||
958 | - Camera_param(JZ_FLAGCODE_SET, CAMERA_PIXEL_PSEUDO_COLOR_MODE, &value); | ||
959 | - | ||
960 | - //设置默认打开自动校正 | ||
961 | - value = JZ_FLAGCODE_ON; | ||
962 | - Proc_IRC_param(JZ_FLAGCODE_SET, JZSDK_WIDGET_BAD_PIXEL_CORRECT_MODE, &value); | ||
963 | - | ||
964 | - //初始化变焦模块 | ||
965 | - Cam_Zoom_Init(); | ||
966 | - | ||
967 | - //初始化RGA模块 | ||
968 | -#ifdef RTK_RGA_STATUS_ON | ||
969 | - ret = JZC1_RgaInit(&g_C1_RgaIrcInfo, JZ_ALIGN(FIRST_WIDTH, 16), JZ_ALIGN(FIRST_HEIGHT, 16), RK_FORMAT_YCbCr_420_SP); | ||
970 | - ret = JZC1_RgaInit(&g_C1_RgaOptInfo, JZ_ALIGN(SECOND_WIDTH, 16), JZ_ALIGN(SECOND_HEIGHT, 16), RK_FORMAT_YCbCr_420_SP); | ||
971 | - | ||
972 | - //混合视频初始化 | ||
973 | - JZC1_MixedVideo_Init(); | ||
974 | -#endif | ||
975 | - | ||
976 | -#endif | ||
977 | - | ||
978 | - | ||
979 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
980 | -} | ||
981 | - | ||
982 | -#ifdef RTK_RGA_STATUS_ON | ||
983 | - | ||
984 | -static T_JZsdkReturnCode JZC1_RgaInit(C1_RgaInfo **rgaInfo, int dst_width, int dst_height, int dst_format) | ||
985 | -{ | ||
986 | - | ||
987 | - | ||
988 | - //初始化rga结构体 | ||
989 | - (*rgaInfo) = (C1_RgaInfo *)malloc(sizeof(C1_RgaInfo)); | ||
990 | - if ((*rgaInfo) == NULL) | ||
991 | - { | ||
992 | - JZSDK_LOG_ERROR("RGA初始化失败"); | ||
993 | - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
994 | - } | ||
995 | - | ||
996 | - int width = dst_width; | ||
997 | - int height = dst_height; | ||
998 | - int rect_x = 0; | ||
999 | - int rect_y = 0; | ||
1000 | - int rect_w = dst_width; | ||
1001 | - int rect_h = dst_height; | ||
1002 | - | ||
1003 | - | ||
1004 | - (*rgaInfo)->src_img = NULL; | ||
1005 | - RK_Rga_ImageInit(&(*rgaInfo)->src_img, width, height, dst_format, rect_x, rect_y, rect_w, rect_h); //初始化输入模块 | ||
1006 | - | ||
1007 | - (*rgaInfo)->corp_img = NULL; | ||
1008 | - RK_Rga_ImageInit(&(*rgaInfo)->corp_img, width, height, dst_format, rect_x, rect_y, rect_w, rect_h); //初始化裁剪模块 | ||
1009 | - | ||
1010 | - (*rgaInfo)->dst_img = NULL; | ||
1011 | - RK_Rga_ImageInit(&(*rgaInfo)->dst_img, width, height, dst_format, rect_x, rect_y, rect_w, rect_h); //初始化输出模块 | ||
1012 | - | ||
1013 | - | ||
1014 | - | ||
1015 | -} | ||
1016 | - | ||
1017 | -#endif | ||
1018 | - | ||
1019 | //rga处理 | 954 | //rga处理 |
1020 | -#ifdef RTK_RGA_STATUS_ON | ||
1021 | static T_JZsdkReturnCode JZC1_RgaDeal(C1_RgaInfo *rga_info, int resize, unsigned char *image, unsigned int *imgage_size) | 955 | static T_JZsdkReturnCode JZC1_RgaDeal(C1_RgaInfo *rga_info, int resize, unsigned char *image, unsigned int *imgage_size) |
1022 | { | 956 | { |
1023 | int d_ret; | 957 | int d_ret; |
1024 | 958 | ||
1025 | 959 | ||
1026 | - if (g_C1_RgaIrcInfo == NULL || *imgage_size != rga_info->src_img->buf_size) | 960 | + if (g_JZC1_info.IRC_rga_info == NULL || *imgage_size != rga_info->src_img->buf_size) |
1027 | { | 961 | { |
1028 | printf("C1_Rga_Deal failed imagesize:%d bufsize:%d\n", *imgage_size, rga_info->src_img->buf_size); | 962 | printf("C1_Rga_Deal failed imagesize:%d bufsize:%d\n", *imgage_size, rga_info->src_img->buf_size); |
1029 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 963 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
@@ -1089,33 +1023,306 @@ static T_JZsdkReturnCode JZC1_RgaDeal(C1_RgaInfo *rga_info, int resize, unsigned | @@ -1089,33 +1023,306 @@ static T_JZsdkReturnCode JZC1_RgaDeal(C1_RgaInfo *rga_info, int resize, unsigned | ||
1089 | 1023 | ||
1090 | } | 1024 | } |
1091 | 1025 | ||
1026 | +T_JZsdkReturnCode JZC1_SetNextFrame_IDR(unsigned int index) | ||
1027 | +{ | ||
1028 | + if (index == JZ_C1_IRC_INDEX) | ||
1029 | + { | ||
1030 | + RTK_mmp_enc_SetNextFrame_IDR(g_JZC1_info.IRC_enc_info); | ||
1031 | + } | ||
1032 | + else if (index == JZ_C1_OPT_INDEX) | ||
1033 | + { | ||
1034 | + RTK_mmp_enc_SetNextFrame_IDR(g_JZC1_info.Opt_enc_info); | ||
1035 | + } | ||
1036 | + else if (index == JZ_C1_FUSE_INDEX) | ||
1037 | + { | ||
1038 | + RTK_mmp_enc_SetNextFrame_IDR(g_JZC1_info.Fuse_enc_info); | ||
1039 | + } | ||
1040 | + | ||
1041 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
1042 | + | ||
1043 | +} | ||
1044 | + | ||
1045 | + | ||
1092 | #endif | 1046 | #endif |
1093 | 1047 | ||
1094 | -T_JZsdkReturnCode JZC1_Init() | 1048 | + |
1049 | +static int save_int_to_file(const char* filename, int value) | ||
1095 | { | 1050 | { |
1096 | - T_JZsdkReturnCode ret; | 1051 | + FILE* file = fopen(filename, "wb"); |
1052 | + if (!file) { | ||
1053 | + perror("fopen failed"); | ||
1054 | + return -1; | ||
1055 | + } | ||
1097 | 1056 | ||
1098 | - //初始化引脚 | ||
1099 | - Ircut_Init(); | 1057 | + size_t written = fwrite(&value, sizeof(int), 1, file); |
1058 | + fclose(file); | ||
1100 | 1059 | ||
1101 | - //初始化媒体模块 | ||
1102 | - ret = JZC1_MediaInit(); | 1060 | + if (written != 1) { |
1061 | + fprintf(stderr, "Failed to write integer\n"); | ||
1062 | + return -1; | ||
1063 | + } | ||
1064 | + return 0; | ||
1065 | +} | ||
1103 | 1066 | ||
1104 | - JZSDK_LOG_INFO("JZ_C1 INIT COMPLETED\n"); | 1067 | +static int read_int_from_file(const char* filename) { |
1068 | + FILE* file = fopen(filename, "rb"); | ||
1069 | + if (!file) { | ||
1070 | + perror("fopen failed"); | ||
1071 | + return 0; | ||
1072 | + } | ||
1105 | 1073 | ||
1106 | - return ret; | 1074 | + int value = 0; |
1075 | + size_t read = fread(&value, sizeof(int), 1, file); | ||
1076 | + fclose(file); | ||
1077 | + | ||
1078 | + if (read != 1) { | ||
1079 | + fprintf(stderr, "Failed to read integer\n"); | ||
1080 | + return 0; | ||
1081 | + } | ||
1082 | + return value; | ||
1083 | +} | ||
1084 | + | ||
1085 | + | ||
1086 | + | ||
1087 | +T_JZsdkReturnCode JZC1_PowerOff_Save() | ||
1088 | +{ | ||
1089 | + | ||
1090 | + JZSDK_LOG_INFO("开始关机保存"); | ||
1091 | + | ||
1092 | + JZsdk_Osal_Mkdir("/root/ValueSave"); | ||
1093 | + | ||
1094 | + //获取校正类型 | ||
1095 | + int correction_type; | ||
1096 | + Camera_param(JZ_FLAGCODE_GET, CAMERA_CORRCTION_MODE, &correction_type); | ||
1097 | + //保存 | ||
1098 | + save_int_to_file("/root/ValueSave/correction_type", correction_type); | ||
1099 | + JZSDK_LOG_INFO("已存储校正类型:%d", correction_type); | ||
1100 | + | ||
1101 | + //保存单点校正模式 | ||
1102 | + int single_point_correction_mode; | ||
1103 | + Proc_IRC_param(JZ_FLAGCODE_GET, JZSDK_WIDGET_SPC_MODE, &single_point_correction_mode); | ||
1104 | + //保存 | ||
1105 | + save_int_to_file("/root/ValueSave/single_point_correction_mode", single_point_correction_mode); | ||
1106 | + JZSDK_LOG_INFO("已存储单点校正模式:%d", single_point_correction_mode); | ||
1107 | + | ||
1108 | + //保存两点校正模式 | ||
1109 | + int double_point_correction_mode; | ||
1110 | + Proc_IRC_param(JZ_FLAGCODE_GET, JZSDK_WIDGET_TPC_MODE, &double_point_correction_mode); | ||
1111 | + //保存 | ||
1112 | + save_int_to_file("/root/ValueSave/double_point_correction_mode", double_point_correction_mode); | ||
1113 | + JZSDK_LOG_INFO("已存储两点校正模式:%d", double_point_correction_mode); | ||
1114 | + | ||
1115 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
1107 | } | 1116 | } |
1108 | 1117 | ||
1118 | +static T_JZsdkReturnCode JZC1_PowerOn_Read() | ||
1119 | +{ | ||
1120 | + //读取校正类型 | ||
1121 | + int correction_type = read_int_from_file("/root/ValueSave/correction_type"); | ||
1122 | + //设置校正类型 | ||
1123 | + UIcontrol_CameraCorrectionMode(NO_SPECIFIED ,correction_type); | ||
1124 | + | ||
1125 | + //读取单点校正模式 | ||
1126 | + int single_point_correction_mode = read_int_from_file("/root/ValueSave/single_point_correction_mode"); | ||
1127 | + //设置单点校正模式 | ||
1128 | + UIcontrol_Set_SPCmode(NO_SPECIFIED, single_point_correction_mode); | ||
1129 | + | ||
1130 | + //读取两点校正模式 | ||
1131 | + int double_point_correction_mode = read_int_from_file("/root/ValueSave/double_point_correction_mode"); | ||
1132 | + //设置两点校正模式 | ||
1133 | + UIcontrol_Set_TpcMode(NO_SPECIFIED, double_point_correction_mode); | ||
1134 | + | ||
1135 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
1136 | +} | ||
1137 | + | ||
1138 | +//c1的实际初始化函数 | ||
1139 | +T_JZsdkReturnCode JZC1_Init(int mode) | ||
1140 | +{ | ||
1141 | + //网口初始化 | ||
1142 | + if (mode == APP_UART) | ||
1143 | + { | ||
1144 | + //网口初始化 | ||
1145 | + JZsdk_NetWork_Init(); | ||
1146 | + } | ||
1147 | + | ||
1148 | + | ||
1149 | +#ifdef RTK_MPP_STATUS_ON | ||
1150 | + | ||
1151 | + T_JZsdkReturnCode ret = JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
1152 | + | ||
1153 | + T_JZsdkVideoMgmtHandler VideoMgmtHandler = { | ||
1154 | + .SetNextFrame_IDR = JZC1_SetNextFrame_IDR, | ||
1155 | + }; | ||
1156 | + VideoMgmt_Init(VideoMgmtHandler); | ||
1157 | + | ||
1158 | + //初始化红外的编码器 | ||
1159 | + g_JZC1_info.IRC_enc_info = (T_rtk_mmp_enc_info *)malloc(sizeof(T_rtk_mmp_enc_info)); | ||
1160 | + if (g_JZC1_info.IRC_enc_info == NULL) | ||
1161 | + { | ||
1162 | + JZSDK_LOG_ERROR("malloc enc_info failed"); | ||
1163 | + } | ||
1164 | + | ||
1165 | + g_JZC1_info.IRC_enc_info->Input_fmt = MPP_FMT_YUV420SP; | ||
1166 | + g_JZC1_info.IRC_enc_info->encType = MPP_VIDEO_CodingAVC; | ||
1167 | + g_JZC1_info.IRC_enc_info->width = JZ_C1_IRC_WIDTH; | ||
1168 | + g_JZC1_info.IRC_enc_info->height = JZ_C1_IRC_HEIGHT; | ||
1169 | + g_JZC1_info.IRC_enc_info->FrameNum = JZ_C1_IRC_FRAMERATE; | ||
1170 | + g_JZC1_info.IRC_enc_info->IDR_gop = 5; | ||
1171 | + | ||
1172 | + g_JZC1_info.IRC_enc_info->hor_stride = JZ_ALIGN(g_JZC1_info.IRC_enc_info->width, 16); | ||
1173 | + g_JZC1_info.IRC_enc_info->ver_stride = JZ_ALIGN(g_JZC1_info.IRC_enc_info->height, 16); | ||
1174 | + | ||
1175 | + RTK_mmp_enc_Init(g_JZC1_info.IRC_enc_info); | ||
1176 | + | ||
1177 | + //初始化光学摄像头的解码器 | ||
1178 | + g_JZC1_info.Opt_dec_info = (T_rtk_mmp_dec_info *)malloc(sizeof(T_rtk_mmp_dec_info)); | ||
1179 | + if (g_JZC1_info.Opt_dec_info == NULL) | ||
1180 | + { | ||
1181 | + JZSDK_LOG_ERROR("malloc dec_info failed"); | ||
1182 | + } | ||
1183 | + | ||
1184 | + g_JZC1_info.Opt_dec_info->Dec_type = MPP_VIDEO_CodingMJPEG; | ||
1185 | + g_JZC1_info.Opt_dec_info->out_format = MPP_FMT_YUV420SP; | ||
1186 | + g_JZC1_info.Opt_dec_info->width = JZ_C1_OPT_WIDTH; | ||
1187 | + g_JZC1_info.Opt_dec_info->height = JZ_C1_OPT_HEIGHT; | ||
1188 | + | ||
1189 | + g_JZC1_info.Opt_dec_info->hor_stride = JZ_ALIGN(g_JZC1_info.Opt_dec_info->width, 16); | ||
1190 | + g_JZC1_info.Opt_dec_info->ver_stride = JZ_ALIGN(g_JZC1_info.Opt_dec_info->height, 16); | ||
1191 | + | ||
1192 | + RTK_mmp_dec_Init(g_JZC1_info.Opt_dec_info); | ||
1193 | + | ||
1194 | + //初始化光学的编码器 | ||
1195 | + g_JZC1_info.Opt_enc_info = (T_rtk_mmp_enc_info *)malloc(sizeof(T_rtk_mmp_enc_info)); | ||
1196 | + if (g_JZC1_info.Opt_enc_info == NULL) | ||
1197 | + { | ||
1198 | + JZSDK_LOG_ERROR("malloc enc_info failed"); | ||
1199 | + } | ||
1200 | + | ||
1201 | + g_JZC1_info.Opt_enc_info->Input_fmt = MPP_FMT_YUV420SP; | ||
1202 | + g_JZC1_info.Opt_enc_info->encType = MPP_VIDEO_CodingAVC; | ||
1203 | + g_JZC1_info.Opt_enc_info->width = JZ_C1_OPT_WIDTH; | ||
1204 | + g_JZC1_info.Opt_enc_info->height = JZ_C1_OPT_HEIGHT; | ||
1205 | + g_JZC1_info.Opt_enc_info->FrameNum = JZ_C1_OPT_FRAMERATE; | ||
1206 | + g_JZC1_info.Opt_enc_info->IDR_gop = 15; | ||
1207 | + | ||
1208 | + g_JZC1_info.Opt_enc_info->hor_stride = JZ_ALIGN(g_JZC1_info.Opt_enc_info->width, 16); | ||
1209 | + g_JZC1_info.Opt_enc_info->ver_stride = JZ_ALIGN(g_JZC1_info.Opt_enc_info->height, 16); | ||
1210 | + | ||
1211 | + RTK_mmp_enc_Init(g_JZC1_info.Opt_enc_info); | ||
1212 | + | ||
1213 | + //初始化融合的编码器 | ||
1214 | + g_JZC1_info.Fuse_enc_info = (T_rtk_mmp_enc_info *)malloc(sizeof(T_rtk_mmp_enc_info)); | ||
1215 | + if (g_JZC1_info.Fuse_enc_info == NULL) | ||
1216 | + { | ||
1217 | + JZSDK_LOG_ERROR("malloc enc_info failed"); | ||
1218 | + } | ||
1219 | + | ||
1220 | + g_JZC1_info.Fuse_enc_info->Input_fmt = MPP_FMT_YUV420SP; | ||
1221 | + g_JZC1_info.Fuse_enc_info->encType = MPP_VIDEO_CodingAVC; | ||
1222 | + g_JZC1_info.Fuse_enc_info->width = JZ_C1_FUSE_WIDTH; | ||
1223 | + g_JZC1_info.Fuse_enc_info->height = JZ_C1_FUSE_HEIGHT; | ||
1224 | + g_JZC1_info.Fuse_enc_info->FrameNum = JZ_C1_FUSE_FRAMERATE; | ||
1225 | + g_JZC1_info.Fuse_enc_info->IDR_gop = 15; | ||
1226 | + | ||
1227 | + g_JZC1_info.Fuse_enc_info->hor_stride = JZ_ALIGN(g_JZC1_info.Fuse_enc_info->width, 16); | ||
1228 | + g_JZC1_info.Fuse_enc_info->ver_stride = JZ_ALIGN(g_JZC1_info.Fuse_enc_info->height, 16); | ||
1229 | + | ||
1230 | + RTK_mmp_enc_Init(g_JZC1_info.Fuse_enc_info); | ||
1231 | + | ||
1232 | + //初始化光学相机 | ||
1233 | + g_JZC1_info.Opt_Camera_info = (JZsdk_CameraInfo *)malloc(sizeof(JZsdk_CameraInfo)); | ||
1234 | + if (g_JZC1_info.Opt_Camera_info == NULL) | ||
1235 | + { | ||
1236 | + JZSDK_LOG_ERROR("malloc camera_info failed"); | ||
1237 | + } | ||
1238 | + | ||
1239 | + g_JZC1_info.Opt_Camera_info->width = JZ_C1_OPT_WIDTH; | ||
1240 | + g_JZC1_info.Opt_Camera_info->height = JZ_C1_OPT_HEIGHT; | ||
1241 | + g_JZC1_info.Opt_Camera_info->FrameNum = JZ_C1_OPT_FRAMERATE; | ||
1242 | + g_JZC1_info.Opt_Camera_info->CameraFormat = JZ_C1_OPT_PIXEL; | ||
1243 | + g_JZC1_info.Opt_Camera_info->ThreadMode = JZSDK_SINGLE_THREAD; | ||
1244 | + memset(&(g_JZC1_info.Opt_Camera_info->CameraParam), 0, sizeof(JZsdk_CameraParam)); | ||
1245 | + memset(g_JZC1_info.Opt_Camera_info->CmeraDevPath, 0, sizeof(g_JZC1_info.Opt_Camera_info->CmeraDevPath)); | ||
1246 | + memcpy(g_JZC1_info.Opt_Camera_info->CmeraDevPath, JZ_C1_OPT_DEV_PATH, strlen(JZ_C1_OPT_DEV_PATH)); | ||
1247 | + g_JZC1_info.Opt_Camera_info->SingleDataOutput = JZC1_OptDeal; | ||
1248 | + | ||
1249 | + | ||
1250 | + ret = Camera_Init(g_JZC1_info.Opt_Camera_info); | ||
1251 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
1252 | + { | ||
1253 | + JZSDK_LOG_ERROR("光学相机启动失败"); | ||
1254 | + } | ||
1255 | + | ||
1256 | + //初始化IRC_funtion模块 | ||
1257 | + ret = IRC_ParamInit(JZ_C1_IRC_HEIGHT, JZ_C1_IRC_WIDTH, 25); | ||
1258 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
1259 | + { | ||
1260 | + JZSDK_LOG_ERROR("初始化红外的数据处理失败"); | ||
1261 | + } | ||
1262 | + else | ||
1263 | + { | ||
1264 | + //初始化红外的数据输入 | ||
1265 | + ret = JZsdk_JZC1_Irc_Data_Init(); | ||
1266 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
1267 | + { | ||
1268 | + JZSDK_LOG_ERROR("红外相机初始化失败"); | ||
1269 | + } | ||
1270 | + } | ||
1271 | + | ||
1272 | + //默认推送红外摄像头 后续改成 红外+光学 的组合画面 | ||
1273 | + VideoMgmt_VideoStreamFlowIndex(JZ_C1_FUSE_INDEX); | ||
1274 | + | ||
1275 | + //设置快门为开 | ||
1276 | + JZsdk_Camera_ShutterSwitch(JZ_FLAGCODE_ON); | ||
1277 | + | ||
1278 | + //设置伪彩颜色为hot | ||
1279 | + int value = 8; | ||
1280 | + Camera_param(JZ_FLAGCODE_SET, CAMERA_PSEUDO_COLOR, &value); | ||
1281 | + | ||
1282 | + //设置为默认输出模式 | ||
1283 | + value = 0; | ||
1284 | + Camera_param(JZ_FLAGCODE_SET, CAMERA_PIXEL_PSEUDO_COLOR_MODE, &value); | ||
1285 | + | ||
1286 | + //设置默认打开自动校正 | ||
1287 | + value = JZ_FLAGCODE_ON; | ||
1288 | + Proc_IRC_param(JZ_FLAGCODE_SET, JZSDK_WIDGET_BAD_PIXEL_CORRECT_MODE, &value); | ||
1109 | 1289 | ||
1290 | + //初始化变焦模块 | ||
1291 | + Cam_Zoom_Init(); | ||
1110 | 1292 | ||
1293 | + //初始化C1的RGA模块 | ||
1294 | +#ifdef RTK_RGA_STATUS_ON | ||
1111 | 1295 | ||
1296 | + g_JZC1_info.IRC_rga_info = (C1_RgaInfo *)malloc(sizeof(C1_RgaInfo)); | ||
1297 | + if (g_JZC1_info.IRC_rga_info == NULL) | ||
1298 | + { | ||
1299 | + JZSDK_LOG_ERROR("malloc IRC_rga_info failed"); | ||
1300 | + } | ||
1112 | 1301 | ||
1302 | + ret = JZC1_RgaInit(g_JZC1_info.IRC_rga_info, g_JZC1_info.IRC_enc_info->hor_stride, g_JZC1_info.IRC_enc_info->ver_stride, RK_FORMAT_YCbCr_420_SP); | ||
1113 | 1303 | ||
1304 | + g_JZC1_info.Opt_rga_info = (C1_RgaInfo *)malloc(sizeof(C1_RgaInfo)); | ||
1305 | + if (g_JZC1_info.Opt_rga_info == NULL) | ||
1306 | + { | ||
1307 | + JZSDK_LOG_ERROR("malloc Opt_rga_info failed"); | ||
1308 | + } | ||
1114 | 1309 | ||
1310 | + ret = JZC1_RgaInit(g_JZC1_info.Opt_rga_info, g_JZC1_info.Opt_enc_info->hor_stride, g_JZC1_info.Opt_enc_info->ver_stride, RK_FORMAT_YCbCr_420_SP); | ||
1115 | 1311 | ||
1312 | + //混合视频初始化 | ||
1313 | + JZC1_MixedVideo_Init(); | ||
1314 | +#endif | ||
1116 | 1315 | ||
1117 | 1316 | ||
1317 | +#endif | ||
1118 | 1318 | ||
1319 | + //注册保存的回调函数 | ||
1320 | + PowerManager_RegisterPowerOffCallback(JZC1_PowerOff_Save); | ||
1119 | 1321 | ||
1322 | + //注册读取保存的回调函数 | ||
1323 | + PowerManager_RegisterPowerOnCallback(JZC1_PowerOn_Read); | ||
1120 | 1324 | ||
1325 | + JZSDK_LOG_INFO("JZC1_Init success"); | ||
1121 | 1326 | ||
1327 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
1328 | +} |
@@ -25,7 +25,7 @@ extern "C" { | @@ -25,7 +25,7 @@ extern "C" { | ||
25 | 25 | ||
26 | /* Exported types ------------------------------------------------------------*/ | 26 | /* Exported types ------------------------------------------------------------*/ |
27 | 27 | ||
28 | -T_JZsdkReturnCode JZC1_Init(); | 28 | +T_JZsdkReturnCode JZC1_Init(int mode); |
29 | 29 | ||
30 | 30 | ||
31 | #ifdef __cplusplus | 31 | #ifdef __cplusplus |
1 | +#include "JZsdkLib.h" | ||
2 | +#include "BaseConfig.h" | ||
3 | +#include <pthread.h> | ||
4 | + | ||
5 | +#include "JZsdk_Hal.h" | ||
6 | +#include "Megaphone/Megaphone.h" | ||
7 | +#include "AudioDeal/AudioDeal.h" | ||
8 | +#include "Gimbal/Gimbal.h" | ||
9 | + | ||
10 | +/**************************** | ||
11 | + * | ||
12 | + * h10 h10t 初始化 | ||
13 | + * | ||
14 | + * mode psdk为psdk模式 uart为串口模式 | ||
15 | + * | ||
16 | + * ****************************/ | ||
17 | +T_JZsdkReturnCode JZ_h10_init(int mode) | ||
18 | +{ | ||
19 | + //音频库初始化 | ||
20 | + AudioDeal_Init(); | ||
21 | + | ||
22 | + int value[5] = {0}; | ||
23 | + if (mode == APP_UART) | ||
24 | + { | ||
25 | + //串口设备1初始化 | ||
26 | + value[0] = UART_DEV1_BITRATE; | ||
27 | + JZsdk_HalPort_Init(UART_DEV_1, value); | ||
28 | + | ||
29 | + } | ||
30 | + | ||
31 | + //喊话器初始化 | ||
32 | + Megaphone_Init(); | ||
33 | + | ||
34 | + //云台初始化 | ||
35 | + Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | ||
36 | +} |
1 | /** | 1 | /** |
2 | ******************************************************************** | 2 | ******************************************************************** |
3 | - * @file DeviceConfig.h | ||
4 | - * DeviceConfig.h的头文件 | 3 | + * @file JZ_h10.h |
4 | + * JZ_h10.h的头文件 | ||
5 | * | 5 | * |
6 | ********************************************************************* | 6 | ********************************************************************* |
7 | */ | 7 | */ |
8 | 8 | ||
9 | /* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | 9 | /* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ |
10 | -#ifndef DEVICE_CONFIG_H | ||
11 | -#define DEVICE_CONFIG_H | 10 | +#ifndef JZ_h10_H |
11 | +#define JZ_h10_H | ||
12 | 12 | ||
13 | #include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | 13 | #include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" |
14 | 14 | ||
15 | -#include "DeviceConfig/JZC1/JZC1.h" | ||
16 | - | ||
17 | 15 | ||
18 | /* Includes ------------------------------------------------------------------*/ | 16 | /* Includes ------------------------------------------------------------------*/ |
19 | #ifdef __cplusplus | 17 | #ifdef __cplusplus |
@@ -27,6 +25,8 @@ extern "C" { | @@ -27,6 +25,8 @@ extern "C" { | ||
27 | 25 | ||
28 | /* Exported types ------------------------------------------------------------*/ | 26 | /* Exported types ------------------------------------------------------------*/ |
29 | 27 | ||
28 | +T_JZsdkReturnCode JZ_h10_init(int mode); | ||
29 | + | ||
30 | 30 | ||
31 | #ifdef __cplusplus | 31 | #ifdef __cplusplus |
32 | } | 32 | } |
1 | +#include "JZsdkLib.h" | ||
2 | +#include "BaseConfig.h" | ||
3 | +#include <pthread.h> | ||
4 | + | ||
5 | + | ||
6 | +#include "JZsdk_Hal.h" | ||
7 | +#include "Megaphone/Megaphone.h" | ||
8 | +#include "AudioDeal/AudioDeal.h" | ||
9 | +#include "Gimbal/Gimbal.h" | ||
10 | + | ||
11 | +/**************************** | ||
12 | + * | ||
13 | + * h10 h10t 初始化 | ||
14 | + * | ||
15 | + * mode psdk为psdk模式 uart为串口模式 | ||
16 | + * | ||
17 | + * ****************************/ | ||
18 | +T_JZsdkReturnCode JZ_h10t_init(int mode) | ||
19 | +{ | ||
20 | + //音频库初始化 | ||
21 | + AudioDeal_Init(); | ||
22 | + | ||
23 | + int value[5] = {0}; | ||
24 | + if (mode == APP_UART) | ||
25 | + { | ||
26 | + //串口设备1初始化 | ||
27 | + value[0] = UART_DEV1_BITRATE; | ||
28 | + JZsdk_HalPort_Init(UART_DEV_1, value); | ||
29 | + | ||
30 | + } | ||
31 | + | ||
32 | + //4g设备初始化 | ||
33 | + value[0] = COMM_4G_UART_BITRATE; | ||
34 | + JZsdk_HalPort_Init(UART_4G, value); | ||
35 | + | ||
36 | + //喊话器初始化 | ||
37 | + Megaphone_Init(); | ||
38 | + | ||
39 | + //云台初始化 | ||
40 | + Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | ||
41 | +} |
1 | +/** | ||
2 | + ******************************************************************** | ||
3 | + * @file JZ_h10.h | ||
4 | + * JZ_h10.h的头文件 | ||
5 | + * | ||
6 | + ********************************************************************* | ||
7 | + */ | ||
8 | + | ||
9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
10 | +#ifndef JZ_h10_H | ||
11 | +#define JZ_h10_H | ||
12 | + | ||
13 | +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | ||
14 | + | ||
15 | + | ||
16 | +/* Includes ------------------------------------------------------------------*/ | ||
17 | +#ifdef __cplusplus | ||
18 | +extern "C" { | ||
19 | +#endif | ||
20 | + | ||
21 | + | ||
22 | + | ||
23 | +/* Exported constants --------------------------------------------------------*/ | ||
24 | +/* 常亮定义*/ | ||
25 | + | ||
26 | +/* Exported types ------------------------------------------------------------*/ | ||
27 | + | ||
28 | +T_JZsdkReturnCode JZ_h10_init(int mode); | ||
29 | + | ||
30 | + | ||
31 | +#ifdef __cplusplus | ||
32 | +} | ||
33 | +#endif | ||
34 | + | ||
35 | +#endif |
1 | +#include "JZsdkLib.h" | ||
2 | +#include "BaseConfig.h" | ||
3 | +#include <pthread.h> | ||
4 | + | ||
5 | + | ||
6 | +#include "JZsdk_Hal.h" | ||
7 | +#include "Megaphone/Megaphone.h" | ||
8 | +#include "AudioDeal/AudioDeal.h" | ||
9 | +#include "Gimbal/Gimbal.h" | ||
10 | +#include "MediaProc/MediaProc.h" | ||
11 | + | ||
12 | + | ||
13 | + | ||
14 | + | ||
15 | +typedef struct T_H150S_Info | ||
16 | +{ | ||
17 | + JZsdk_CameraInfo *CamereInfo; | ||
18 | +}T_H150S_Info; | ||
19 | + | ||
20 | +static T_H150S_Info g_H150S_Info; | ||
21 | + | ||
22 | +#define JZ_H150S_OPT_WIDTH 1920 | ||
23 | +#define JZ_H150S_OPT_HEIGHT 1080 | ||
24 | +#define JZ_H150S_OPT_FRAMERATE 25 | ||
25 | +#define JZ_H150S_OPT_INDEX VIDEOMGMT_STREAMING_FLOW_INDEX_FIRST | ||
26 | +#define JZ_H150S_OPT_DEV_PATH ("/dev/video0") | ||
27 | +#define JZ_H150S_OPT_PIXEL V4L2_PIX_FMT_H264 | ||
28 | + | ||
29 | +#define JZ_H150S_OPT_BRIGHTNESS (80) //亮度,该摄像头亮度范围为 1-255 默认128 | ||
30 | +#define JZ_H150S_OPT_CONTRAST (155) //对比度,摄像头对比度范围为 1-255 默认128 | ||
31 | +#define JZ_H150S_OPT_SATURATION (128) //饱和度 摄像头饱和度范围为 1-255 默认128 | ||
32 | + | ||
33 | +static T_JZsdkReturnCode JZ_h150s_h150t_PushFrame(int CameraIndex,unsigned char *data, int data_len) | ||
34 | +{ | ||
35 | + int currentIndex = VideoMgmt_GetVideoStreamFlowIndexNum(); //获取当前视频流索引 | ||
36 | + //无视频流 | ||
37 | + if (currentIndex == 0) | ||
38 | + { | ||
39 | + //不推送视频 | ||
40 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
41 | + } | ||
42 | + | ||
43 | + //相机 | ||
44 | + if (currentIndex == JZ_H150S_OPT_INDEX && CameraIndex == JZ_H150S_OPT_INDEX) | ||
45 | + { | ||
46 | + //推送数据到流转模块 | ||
47 | + VideoMgmt_Single_FrameIn(data, data_len); | ||
48 | + } | ||
49 | + | ||
50 | +} | ||
51 | + | ||
52 | +static T_JZsdkReturnCode JZ_h150s_h150t_Opt_deal(unsigned char *buf, int len) | ||
53 | +{ | ||
54 | + JZ_h150s_h150t_PushFrame(VIDEOMGMT_STREAMING_FLOW_INDEX_FIRST, buf, len); | ||
55 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
56 | +} | ||
57 | + | ||
58 | + | ||
59 | +/**************************** | ||
60 | + * | ||
61 | + * h150s h150t 初始化 | ||
62 | + * | ||
63 | + * mode psdk为psdk模式 uart为串口模式 | ||
64 | + * | ||
65 | + * ****************************/ | ||
66 | +T_JZsdkReturnCode JZ_h150s_h150t_init(int mode) | ||
67 | +{ | ||
68 | + T_JZsdkReturnCode ret; | ||
69 | + | ||
70 | + //音频库初始化 | ||
71 | + AudioDeal_Init(); | ||
72 | + | ||
73 | + if (mode == APP_UART) | ||
74 | + { | ||
75 | + //串口设备1初始化 | ||
76 | + int value[1]; | ||
77 | + value[0] = UART_DEV1_BITRATE; | ||
78 | + JZsdk_HalPort_Init(UART_DEV_1, value); | ||
79 | + } | ||
80 | + | ||
81 | + //h150t额外开启4g | ||
82 | + if (DEVICE_VERSION == JZ_H150T) | ||
83 | + { | ||
84 | + //4g设备初始化 | ||
85 | + int value[1]; | ||
86 | + value[0] = COMM_4G_UART_BITRATE; | ||
87 | + JZsdk_HalPort_Init(UART_4G, value); | ||
88 | + } | ||
89 | + | ||
90 | + if (mode == APP_UART) | ||
91 | + { | ||
92 | + //网口初始化 | ||
93 | + JZsdk_NetWork_Init(); | ||
94 | + } | ||
95 | + | ||
96 | + //喊话器初始化 | ||
97 | + Megaphone_Init(); | ||
98 | + | ||
99 | + //云台初始化 | ||
100 | + Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | ||
101 | + | ||
102 | + //视频流模块初始化 | ||
103 | + T_JZsdkVideoMgmtHandler VideoMgmtHandler = { | ||
104 | + .SetNextFrame_IDR = NULL, | ||
105 | + }; | ||
106 | + VideoMgmt_Init(VideoMgmtHandler); | ||
107 | + | ||
108 | + //相机初始化 | ||
109 | + g_H150S_Info.CamereInfo = (JZsdk_CameraInfo *)malloc(sizeof(JZsdk_CameraInfo)); | ||
110 | + if (g_H150S_Info.CamereInfo == NULL) | ||
111 | + { | ||
112 | + JZSDK_LOG_ERROR("malloc error"); | ||
113 | + } | ||
114 | + | ||
115 | + memset(g_H150S_Info.CamereInfo, 0, sizeof(JZsdk_CameraInfo)); | ||
116 | + g_H150S_Info.CamereInfo->width = JZ_H150S_OPT_WIDTH; | ||
117 | + g_H150S_Info.CamereInfo->height = JZ_H150S_OPT_HEIGHT; | ||
118 | + g_H150S_Info.CamereInfo->FrameNum = JZ_H150S_OPT_FRAMERATE; | ||
119 | + g_H150S_Info.CamereInfo->CameraFormat = JZ_H150S_OPT_PIXEL; | ||
120 | + memcpy(g_H150S_Info.CamereInfo->CmeraDevPath, JZ_H150S_OPT_DEV_PATH, strlen(JZ_H150S_OPT_DEV_PATH)); | ||
121 | + g_H150S_Info.CamereInfo->ThreadMode = JZSDK_SINGLE_THREAD; | ||
122 | + g_H150S_Info.CamereInfo->SingleDataOutput = JZ_h150s_h150t_Opt_deal; | ||
123 | + g_H150S_Info.CamereInfo->CameraParam.Brightness = JZ_H150S_OPT_BRIGHTNESS; | ||
124 | + g_H150S_Info.CamereInfo->CameraParam.Contrast = JZ_H150S_OPT_CONTRAST; | ||
125 | + g_H150S_Info.CamereInfo->CameraParam.Saturation = JZ_H150S_OPT_SATURATION; | ||
126 | + | ||
127 | + ret = Camera_Init(g_H150S_Info.CamereInfo); | ||
128 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
129 | + { | ||
130 | + JZSDK_LOG_ERROR("光学相机启动失败"); | ||
131 | + } | ||
132 | + | ||
133 | + VideoMgmt_VideoStreamFlowIndex(JZ_H150S_OPT_INDEX); | ||
134 | + | ||
135 | + JZSDK_LOG_INFO("Module Init success"); | ||
136 | + | ||
137 | +} |
1 | +/** | ||
2 | + ******************************************************************** | ||
3 | + * @file JZ_h150s_h150t.h | ||
4 | + * JZ_h150s_h150t.h的头文件 | ||
5 | + * | ||
6 | + ********************************************************************* | ||
7 | + */ | ||
8 | + | ||
9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
10 | +#ifndef JZ_H150S_H150T_H | ||
11 | +#define JZ_H150S_H150T_H | ||
12 | + | ||
13 | +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | ||
14 | + | ||
15 | + | ||
16 | +/* Includes ------------------------------------------------------------------*/ | ||
17 | +#ifdef __cplusplus | ||
18 | +extern "C" { | ||
19 | +#endif | ||
20 | + | ||
21 | + | ||
22 | + | ||
23 | +/* Exported constants --------------------------------------------------------*/ | ||
24 | +/* 常亮定义*/ | ||
25 | + | ||
26 | +/* Exported types ------------------------------------------------------------*/ | ||
27 | + | ||
28 | +T_JZsdkReturnCode JZ_h150s_h150t_init(int mode); | ||
29 | + | ||
30 | + | ||
31 | +#ifdef __cplusplus | ||
32 | +} | ||
33 | +#endif | ||
34 | + | ||
35 | +#endif |
1 | +#include "JZsdkLib.h" | ||
2 | +#include "BaseConfig.h" | ||
3 | +#include <pthread.h> | ||
4 | + | ||
5 | +#include "JZsdk_Hal.h" | ||
6 | +#include "Megaphone/Megaphone.h" | ||
7 | +#include "AudioDeal/AudioDeal.h" | ||
8 | + | ||
9 | +/**************************** | ||
10 | + * | ||
11 | + * h1e 初始化 | ||
12 | + * | ||
13 | + * mode psdk为psdk模式 uart为串口模式 | ||
14 | + * | ||
15 | + * ****************************/ | ||
16 | +T_JZsdkReturnCode JZ_h1e_init(int mode) | ||
17 | +{ | ||
18 | + int value[5] = {0}; | ||
19 | + //音频库初始化 | ||
20 | + AudioDeal_Init(); | ||
21 | + | ||
22 | + if (mode == APP_UART) | ||
23 | + { | ||
24 | + //串口设备1初始化 | ||
25 | + value[0] = UART_DEV1_BITRATE; | ||
26 | + JZsdk_HalPort_Init(UART_DEV_1, value); | ||
27 | + } | ||
28 | + | ||
29 | + //喊话器初始化 | ||
30 | + Megaphone_Init(); | ||
31 | + | ||
32 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
33 | +} |
1 | +/** | ||
2 | + ******************************************************************** | ||
3 | + * @file JZ_h1e.h | ||
4 | + * JZ_h1e.h的头文件 | ||
5 | + * | ||
6 | + ********************************************************************* | ||
7 | + */ | ||
8 | + | ||
9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
10 | +#ifndef JZ_H1E_H | ||
11 | +#define JZ_H1E_H | ||
12 | + | ||
13 | +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | ||
14 | + | ||
15 | + | ||
16 | +/* Includes ------------------------------------------------------------------*/ | ||
17 | +#ifdef __cplusplus | ||
18 | +extern "C" { | ||
19 | +#endif | ||
20 | + | ||
21 | + | ||
22 | + | ||
23 | +/* Exported constants --------------------------------------------------------*/ | ||
24 | +/* 常亮定义*/ | ||
25 | + | ||
26 | +/* Exported types ------------------------------------------------------------*/ | ||
27 | + | ||
28 | +T_JZsdkReturnCode JZ_h1e_init(int mode); | ||
29 | + | ||
30 | + | ||
31 | +#ifdef __cplusplus | ||
32 | +} | ||
33 | +#endif | ||
34 | + | ||
35 | +#endif |
1 | +#include "JZsdkLib.h" | ||
2 | +#include "BaseConfig.h" | ||
3 | +#include <pthread.h> | ||
4 | + | ||
5 | +#include "JZsdk_Hal.h" | ||
6 | +#include "Megaphone/Megaphone.h" | ||
7 | +#include "AudioDeal/AudioDeal.h" | ||
8 | +#include "Gimbal/Gimbal.h" | ||
9 | + | ||
10 | +/**************************** | ||
11 | + * | ||
12 | + * h15tt 初始化 | ||
13 | + * | ||
14 | + * mode psdk为psdk模式 uart为串口模式 | ||
15 | + * | ||
16 | + * ****************************/ | ||
17 | +T_JZsdkReturnCode JZ_h1t_init(int mode) | ||
18 | +{ | ||
19 | + int value[5] = {0}; | ||
20 | + | ||
21 | + //音频库初始化 | ||
22 | + AudioDeal_Init(); | ||
23 | + | ||
24 | + if (mode == APP_UART) | ||
25 | + { | ||
26 | + //串口设备1初始化 | ||
27 | + value[0] = UART_DEV1_BITRATE; | ||
28 | + JZsdk_HalPort_Init(UART_DEV_1, value); | ||
29 | + } | ||
30 | + | ||
31 | + //4g设备初始化 | ||
32 | + value[0] = COMM_4G_UART_BITRATE; | ||
33 | + JZsdk_HalPort_Init(UART_4G, value); | ||
34 | + | ||
35 | + //喊话器初始化 | ||
36 | + Megaphone_Init(); | ||
37 | + | ||
38 | + //云台初始化 | ||
39 | + Gimbal_Init(JZ_MODULE_CONTROL_WAY_TRANSPARENT); | ||
40 | + | ||
41 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
42 | +} |
1 | +/** | ||
2 | + ******************************************************************** | ||
3 | + * @file JZ_h1t.h | ||
4 | + * JZ_h1t.h的头文件 | ||
5 | + * | ||
6 | + ********************************************************************* | ||
7 | + */ | ||
8 | + | ||
9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
10 | +#ifndef JZ_H1T_H | ||
11 | +#define JZ_H1T_H | ||
12 | + | ||
13 | +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | ||
14 | + | ||
15 | + | ||
16 | +/* Includes ------------------------------------------------------------------*/ | ||
17 | +#ifdef __cplusplus | ||
18 | +extern "C" { | ||
19 | +#endif | ||
20 | + | ||
21 | + | ||
22 | + | ||
23 | +/* Exported constants --------------------------------------------------------*/ | ||
24 | +/* 常亮定义*/ | ||
25 | + | ||
26 | +/* Exported types ------------------------------------------------------------*/ | ||
27 | + | ||
28 | +T_JZsdkReturnCode JZ_h1t_init(int mode); | ||
29 | + | ||
30 | + | ||
31 | +#ifdef __cplusplus | ||
32 | +} | ||
33 | +#endif | ||
34 | + | ||
35 | +#endif |
1 | +#include "JZsdkLib.h" | ||
2 | +#include "BaseConfig.h" | ||
3 | +#include <pthread.h> | ||
4 | + | ||
5 | + | ||
6 | +#include "JZsdk_Hal.h" | ||
7 | +#include "Megaphone/Megaphone.h" | ||
8 | +#include "AudioDeal/AudioDeal.h" | ||
9 | +#include "Gimbal/Gimbal.h" | ||
10 | + | ||
11 | +/**************************** | ||
12 | + * | ||
13 | + * u3 初始化 | ||
14 | + * | ||
15 | + * mode psdk为psdk模式 uart为串口模式 | ||
16 | + * | ||
17 | + * ****************************/ | ||
18 | +T_JZsdkReturnCode JZ_u3_init(int mode) | ||
19 | +{ | ||
20 | + //音频库初始化 | ||
21 | + AudioDeal_Init(); | ||
22 | + | ||
23 | + int value[5] = {0}; | ||
24 | + if (mode == APP_UART) | ||
25 | + { | ||
26 | + //串口设备1初始化 | ||
27 | + value[0] = UART_DEV1_BITRATE; | ||
28 | + JZsdk_HalPort_Init(UART_DEV_1, value); | ||
29 | + | ||
30 | + } | ||
31 | + | ||
32 | + //串口设备2初始化 | ||
33 | + value[0] = UART_DEV2_BITRATE; | ||
34 | + JZsdk_HalPort_Init(UART_DEV_2, value); | ||
35 | + | ||
36 | + //喊话器初始化 | ||
37 | + Megaphone_Init(); | ||
38 | + | ||
39 | + //云台初始化 | ||
40 | + Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | ||
41 | + | ||
42 | + //灯类初始化 | ||
43 | + Lighting_Init(); | ||
44 | + | ||
45 | + delayMs(1000); | ||
46 | + | ||
47 | + //消息订阅初始化 | ||
48 | + HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON); | ||
49 | + | ||
50 | +} |
1 | +/** | ||
2 | + ******************************************************************** | ||
3 | + * @file JZ_u3.h | ||
4 | + * JZ_u3.h的头文件 | ||
5 | + * | ||
6 | + ********************************************************************* | ||
7 | + */ | ||
8 | + | ||
9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
10 | +#ifndef JZ_u3_H | ||
11 | +#define JZ_u3_H | ||
12 | + | ||
13 | +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | ||
14 | + | ||
15 | + | ||
16 | +/* Includes ------------------------------------------------------------------*/ | ||
17 | +#ifdef __cplusplus | ||
18 | +extern "C" { | ||
19 | +#endif | ||
20 | + | ||
21 | + | ||
22 | + | ||
23 | +/* Exported constants --------------------------------------------------------*/ | ||
24 | +/* 常亮定义*/ | ||
25 | + | ||
26 | +/* Exported types ------------------------------------------------------------*/ | ||
27 | + | ||
28 | +T_JZsdkReturnCode JZ_u3_init(int mode); | ||
29 | + | ||
30 | + | ||
31 | +#ifdef __cplusplus | ||
32 | +} | ||
33 | +#endif | ||
34 | + | ||
35 | +#endif |
1 | +#include "JZsdkLib.h" | ||
2 | +#include "BaseConfig.h" | ||
3 | +#include <pthread.h> | ||
4 | + | ||
5 | + | ||
6 | +#include "JZsdk_Hal.h" | ||
7 | +#include "Megaphone/Megaphone.h" | ||
8 | +#include "AudioDeal/AudioDeal.h" | ||
9 | +#include "Gimbal/Gimbal.h" | ||
10 | + | ||
11 | +/**************************** | ||
12 | + * | ||
13 | + * u30 初始化 | ||
14 | + * | ||
15 | + * mode psdk为psdk模式 uart为串口模式 | ||
16 | + * | ||
17 | + * ****************************/ | ||
18 | +T_JZsdkReturnCode JZ_u30_init(int mode) | ||
19 | +{ | ||
20 | + //音频库初始化 | ||
21 | + AudioDeal_Init(); | ||
22 | + | ||
23 | + int value[5] = {0}; | ||
24 | + if (mode == APP_UART) | ||
25 | + { | ||
26 | + //串口设备1初始化 | ||
27 | + value[0] = UART_DEV1_BITRATE; | ||
28 | + JZsdk_HalPort_Init(UART_DEV_1, value); | ||
29 | + | ||
30 | + } | ||
31 | + | ||
32 | + //串口设备2初始化 | ||
33 | + value[0] = UART_DEV2_BITRATE; | ||
34 | + JZsdk_HalPort_Init(UART_DEV_2, value); | ||
35 | + | ||
36 | + //喊话器初始化 | ||
37 | + Megaphone_Init(); | ||
38 | + | ||
39 | + //云台初始化 | ||
40 | + Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | ||
41 | + | ||
42 | + //灯类初始化 | ||
43 | + Lighting_Init(); | ||
44 | + | ||
45 | + delayMs(1000); | ||
46 | + | ||
47 | + //消息订阅初始化 | ||
48 | + HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON); | ||
49 | + | ||
50 | +} |
1 | +/** | ||
2 | + ******************************************************************** | ||
3 | + * @file JZ_u30.h | ||
4 | + * JZ_u30.h的头文件 | ||
5 | + * | ||
6 | + ********************************************************************* | ||
7 | + */ | ||
8 | + | ||
9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
10 | +#ifndef JZ_u30_H | ||
11 | +#define JZ_u30_H | ||
12 | + | ||
13 | +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | ||
14 | + | ||
15 | + | ||
16 | +/* Includes ------------------------------------------------------------------*/ | ||
17 | +#ifdef __cplusplus | ||
18 | +extern "C" { | ||
19 | +#endif | ||
20 | + | ||
21 | + | ||
22 | + | ||
23 | +/* Exported constants --------------------------------------------------------*/ | ||
24 | +/* 常亮定义*/ | ||
25 | + | ||
26 | +/* Exported types ------------------------------------------------------------*/ | ||
27 | + | ||
28 | +T_JZsdkReturnCode JZ_u30_init(int mode); | ||
29 | + | ||
30 | + | ||
31 | +#ifdef __cplusplus | ||
32 | +} | ||
33 | +#endif | ||
34 | + | ||
35 | +#endif |
1 | +#include "JZsdkLib.h" | ||
2 | +#include "BaseConfig.h" | ||
3 | +#include <pthread.h> | ||
4 | + | ||
5 | + | ||
6 | +#include "JZsdk_Hal.h" | ||
7 | +#include "Megaphone/Megaphone.h" | ||
8 | +#include "AudioDeal/AudioDeal.h" | ||
9 | +#include "Gimbal/Gimbal.h" | ||
10 | + | ||
11 | +/**************************** | ||
12 | + * | ||
13 | + * u3d 初始化 | ||
14 | + * | ||
15 | + * mode psdk为psdk模式 uart为串口模式 | ||
16 | + * | ||
17 | + * ****************************/ | ||
18 | +T_JZsdkReturnCode JZ_u3d_init(int mode) | ||
19 | +{ | ||
20 | + //音频库初始化 | ||
21 | + AudioDeal_Init(); | ||
22 | + | ||
23 | + int value[5] = {0}; | ||
24 | + if (mode == APP_UART) | ||
25 | + { | ||
26 | + //串口设备1初始化 | ||
27 | + value[0] = UART_DEV1_BITRATE; | ||
28 | + JZsdk_HalPort_Init(UART_DEV_1, value); | ||
29 | + | ||
30 | + } | ||
31 | + | ||
32 | + //串口设备2初始化 | ||
33 | + value[0] = UART_DEV2_BITRATE; | ||
34 | + JZsdk_HalPort_Init(UART_DEV_2, value); | ||
35 | + | ||
36 | + //喊话器初始化 | ||
37 | + Megaphone_Init(); | ||
38 | + | ||
39 | + //云台初始化 | ||
40 | + Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | ||
41 | + | ||
42 | + //灯类初始化 | ||
43 | + Lighting_Init(); | ||
44 | + | ||
45 | + delayMs(1000); | ||
46 | + | ||
47 | + //消息订阅初始化 | ||
48 | + HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON); | ||
49 | + | ||
50 | +} |
1 | +/** | ||
2 | + ******************************************************************** | ||
3 | + * @file JZ_u3d.h | ||
4 | + * JZ_u3d.h的头文件 | ||
5 | + * | ||
6 | + ********************************************************************* | ||
7 | + */ | ||
8 | + | ||
9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
10 | +#ifndef JZ_u3d_H | ||
11 | +#define JZ_u3d_H | ||
12 | + | ||
13 | +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | ||
14 | + | ||
15 | + | ||
16 | +/* Includes ------------------------------------------------------------------*/ | ||
17 | +#ifdef __cplusplus | ||
18 | +extern "C" { | ||
19 | +#endif | ||
20 | + | ||
21 | + | ||
22 | + | ||
23 | +/* Exported constants --------------------------------------------------------*/ | ||
24 | +/* 常亮定义*/ | ||
25 | + | ||
26 | +/* Exported types ------------------------------------------------------------*/ | ||
27 | + | ||
28 | +T_JZsdkReturnCode JZ_u3d_init(int mode); | ||
29 | + | ||
30 | + | ||
31 | +#ifdef __cplusplus | ||
32 | +} | ||
33 | +#endif | ||
34 | + | ||
35 | +#endif |
1 | +#include "JZsdkLib.h" | ||
2 | +#include "BaseConfig.h" | ||
3 | +#include <pthread.h> | ||
4 | + | ||
5 | +#include "JZsdk_Hal.h" | ||
6 | +#include "Megaphone/Megaphone.h" | ||
7 | +#include "AudioDeal/AudioDeal.h" | ||
8 | +#include "Gimbal/Gimbal.h" | ||
9 | +#include "SideLaser/SideLaser.h" | ||
10 | + | ||
11 | +/**************************** | ||
12 | + * | ||
13 | + * u3s 初始化 | ||
14 | + * | ||
15 | + * mode psdk为psdk模式 uart为串口模式 | ||
16 | + * | ||
17 | + * ****************************/ | ||
18 | +T_JZsdkReturnCode JZ_u3s_init(int mode) | ||
19 | +{ | ||
20 | + //音频库初始化 | ||
21 | + AudioDeal_Init(); | ||
22 | + | ||
23 | + int value[5] = {0}; | ||
24 | + if (mode == APP_UART) | ||
25 | + { | ||
26 | + //串口设备1初始化 | ||
27 | + value[0] = UART_DEV1_BITRATE; | ||
28 | + JZsdk_HalPort_Init(UART_DEV_1, value); | ||
29 | + | ||
30 | + } | ||
31 | + | ||
32 | + //串口设备2初始化 | ||
33 | + value[0] = UART_DEV2_BITRATE; | ||
34 | + JZsdk_HalPort_Init(UART_DEV_2, value); | ||
35 | + | ||
36 | + //喊话器初始化 | ||
37 | + Megaphone_Init(); | ||
38 | + | ||
39 | + //云台初始化 | ||
40 | + Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | ||
41 | + | ||
42 | + //灯类初始化 | ||
43 | + Lighting_Init(); | ||
44 | +#ifdef SIDE_LASER_STATUS_ON | ||
45 | + //侧边激光初始化 | ||
46 | + SideLaser_Init(); | ||
47 | +#endif | ||
48 | + delayMs(1000); | ||
49 | + | ||
50 | + //消息订阅初始化 | ||
51 | + HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON); | ||
52 | + | ||
53 | +} |
1 | +/** | ||
2 | + ******************************************************************** | ||
3 | + * @file JZ_u3s.h | ||
4 | + * JZ_u3s.h的头文件 | ||
5 | + * | ||
6 | + ********************************************************************* | ||
7 | + */ | ||
8 | + | ||
9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
10 | +#ifndef JZ_u3s_H | ||
11 | +#define JZ_u3s_H | ||
12 | + | ||
13 | +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | ||
14 | + | ||
15 | + | ||
16 | +/* Includes ------------------------------------------------------------------*/ | ||
17 | +#ifdef __cplusplus | ||
18 | +extern "C" { | ||
19 | +#endif | ||
20 | + | ||
21 | + | ||
22 | + | ||
23 | +/* Exported constants --------------------------------------------------------*/ | ||
24 | +/* 常亮定义*/ | ||
25 | + | ||
26 | +/* Exported types ------------------------------------------------------------*/ | ||
27 | + | ||
28 | +T_JZsdkReturnCode JZ_u3s_init(int mode); | ||
29 | + | ||
30 | + | ||
31 | +#ifdef __cplusplus | ||
32 | +} | ||
33 | +#endif | ||
34 | + | ||
35 | +#endif |
JZsdk_Config/DeviceSample/TF_A1/TF_a1.c
0 → 100644
1 | +#include "JZsdkLib.h" | ||
2 | +#include "BaseConfig.h" | ||
3 | +#include <pthread.h> | ||
4 | + | ||
5 | + | ||
6 | +#include "JZsdk_Hal.h" | ||
7 | +#include "Megaphone/Megaphone.h" | ||
8 | +#include "AudioDeal/AudioDeal.h" | ||
9 | +#include "Gimbal/Gimbal.h" | ||
10 | + | ||
11 | +/**************************** | ||
12 | + * | ||
13 | + * a1 初始化 | ||
14 | + * | ||
15 | + * mode psdk为psdk模式 uart为串口模式 | ||
16 | + * | ||
17 | + * ****************************/ | ||
18 | +T_JZsdkReturnCode TF_a1_init(int mode) | ||
19 | +{ | ||
20 | + //音频库初始化 | ||
21 | + AudioDeal_Init(); | ||
22 | + | ||
23 | + int value[5] = {0}; | ||
24 | + if (mode == APP_UART) | ||
25 | + { | ||
26 | + //串口设备1初始化 | ||
27 | + value[0] = UART_DEV1_BITRATE; | ||
28 | + JZsdk_HalPort_Init(UART_DEV_1, value); | ||
29 | + } | ||
30 | + | ||
31 | + //串口设备2初始化 | ||
32 | + value[0] = UART_DEV2_BITRATE; | ||
33 | + JZsdk_HalPort_Init(UART_DEV_2, value); | ||
34 | + | ||
35 | + //喊话器初始化 | ||
36 | + Megaphone_Init(); | ||
37 | + | ||
38 | + //云台初始化 | ||
39 | + Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | ||
40 | + | ||
41 | + //灯类初始化 | ||
42 | + Lighting_Init(); | ||
43 | + | ||
44 | + delayMs(1000); | ||
45 | + | ||
46 | + //消息订阅初始化 | ||
47 | + HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON); | ||
48 | +} |
JZsdk_Config/DeviceSample/TF_A1/TF_a1.h
0 → 100644
1 | +/** | ||
2 | + ******************************************************************** | ||
3 | + * @file tf_a1.h | ||
4 | + * tf_a1.h的头文件 | ||
5 | + * | ||
6 | + ********************************************************************* | ||
7 | + */ | ||
8 | + | ||
9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
10 | +#ifndef TF_A1_H | ||
11 | +#define TF_A1_H | ||
12 | + | ||
13 | +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | ||
14 | + | ||
15 | + | ||
16 | +/* Includes ------------------------------------------------------------------*/ | ||
17 | +#ifdef __cplusplus | ||
18 | +extern "C" { | ||
19 | +#endif | ||
20 | + | ||
21 | + | ||
22 | + | ||
23 | +/* Exported constants --------------------------------------------------------*/ | ||
24 | +/* 常亮定义*/ | ||
25 | + | ||
26 | +/* Exported types ------------------------------------------------------------*/ | ||
27 | + | ||
28 | +T_JZsdkReturnCode TF_a1_init(int mode); | ||
29 | + | ||
30 | + | ||
31 | +#ifdef __cplusplus | ||
32 | +} | ||
33 | +#endif | ||
34 | + | ||
35 | +#endif |
@@ -7,19 +7,19 @@ | @@ -7,19 +7,19 @@ | ||
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_H1T | 10 | +#define DEVICE_VERSION JZ_U30 |
11 | 11 | ||
12 | //禁止修改行 选择是串口程序 还是 psdk程序 | 12 | //禁止修改行 选择是串口程序 还是 psdk程序 |
13 | -#define APP_VERSION APP_UART | 13 | +#define APP_VERSION APP_PSDK |
14 | 14 | ||
15 | //禁止修改行 板子型号 | 15 | //禁止修改行 板子型号 |
16 | #define PLATFORM_VERSION PLATFORM_V3S | 16 | #define PLATFORM_VERSION PLATFORM_V3S |
17 | 17 | ||
18 | //禁止修改行 串口连接程序的软件版本号 | 18 | //禁止修改行 串口连接程序的软件版本号 |
19 | -#define MAJOR_VERSION 0x00 | ||
20 | -#define MINOR_VERSION 0x00 | ||
21 | -#define MODIFY_VERSION 0x02 | ||
22 | -#define DEBUG_VERSION 0x13 | 19 | +#define MAJOR_VERSION 0x01 |
20 | +#define MINOR_VERSION 0x03 | ||
21 | +#define MODIFY_VERSION 0x10 | ||
22 | +#define DEBUG_VERSION 0x00 | ||
23 | 23 | ||
24 | //禁止修改行 滤波方式 | 24 | //禁止修改行 滤波方式 |
25 | #define FILTERING_TYPE HIGH_PASS_FILTERING | 25 | #define FILTERING_TYPE HIGH_PASS_FILTERING |
@@ -38,6 +38,11 @@ | @@ -38,6 +38,11 @@ | ||
38 | 38 | ||
39 | //这个开关可以方便日常代码编写的跳转功能 | 39 | //这个开关可以方便日常代码编写的跳转功能 |
40 | #ifdef COMPILE_MODE_MODULE | 40 | #ifdef COMPILE_MODE_MODULE |
41 | + //是否开启音频库功能 | ||
42 | + #ifdef MACRO_AUDIODEAL_MODULE | ||
43 | + #define AUDIODEAL_CONFIG_STATUS_ON | ||
44 | + #endif | ||
45 | + | ||
41 | //是否开启喊话器功能 | 46 | //是否开启喊话器功能 |
42 | #ifdef MACRO_MEGAPHONE_MODULE | 47 | #ifdef MACRO_MEGAPHONE_MODULE |
43 | #define MEGAPHONE_CONFIG_STATUS_ON | 48 | #define MEGAPHONE_CONFIG_STATUS_ON |
@@ -89,6 +94,10 @@ | @@ -89,6 +94,10 @@ | ||
89 | #endif | 94 | #endif |
90 | 95 | ||
91 | #else //这里用于方便调试使用,不是实际加载的模组 | 96 | #else //这里用于方便调试使用,不是实际加载的模组 |
97 | + | ||
98 | + //是否开启音频库功能 | ||
99 | + #define AUDIODEAL_CONFIG_STATUS_ON | ||
100 | + | ||
92 | //是否开启喊话器功能 | 101 | //是否开启喊话器功能 |
93 | #define MEGAPHONE_CONFIG_STATUS_ON | 102 | #define MEGAPHONE_CONFIG_STATUS_ON |
94 | 103 |
@@ -60,6 +60,10 @@ int HalRecv_type1_PreliminaryScreeningOfData(unsigned char *Data, int DataLen, i | @@ -60,6 +60,10 @@ int HalRecv_type1_PreliminaryScreeningOfData(unsigned char *Data, int DataLen, i | ||
60 | //JZSDK_LOG_INFO("hal-数据传输,接受到数据+未处理数据的长度len: %d", DataLen); | 60 | //JZSDK_LOG_INFO("hal-数据传输,接受到数据+未处理数据的长度len: %d", DataLen); |
61 | break; | 61 | break; |
62 | 62 | ||
63 | + case NET_DEV_1: | ||
64 | + //JZSDK_LOG_INFO("网络-设备1号,接受到数据+未处理数据的长度len: %d", DataLen); | ||
65 | + break; | ||
66 | + | ||
63 | /********** 未报备的接口 ************/ | 67 | /********** 未报备的接口 ************/ |
64 | default: | 68 | default: |
65 | ResidualLength = 0; | 69 | ResidualLength = 0; |
@@ -25,9 +25,13 @@ | @@ -25,9 +25,13 @@ | ||
25 | #include "Megaphone/Music/AudioFile/Megaphone_AudioFile.h" | 25 | #include "Megaphone/Music/AudioFile/Megaphone_AudioFile.h" |
26 | #include "Megaphone/Opus/Megaphone_Opus.h" | 26 | #include "Megaphone/Opus/Megaphone_Opus.h" |
27 | #include "Megaphone/PcmAudio/PcmAudioFile.h" | 27 | #include "Megaphone/PcmAudio/PcmAudioFile.h" |
28 | +#endif | ||
28 | 29 | ||
30 | +#ifdef AUDIODEAL_CONFIG_STATUS_ON | ||
31 | + #include "AudioDeal/AudioDeal.h" | ||
29 | #endif | 32 | #endif |
30 | 33 | ||
34 | + | ||
31 | static int HalRecvMode = JZ_FLAGCODE_OFF; //接收模式,主要是为了限制不同设备同时要求hal层做出 同一个数据接收相关功能 ,目前做法是只限定一个hal设备使用一种数据接收模式 | 35 | static int HalRecvMode = JZ_FLAGCODE_OFF; //接收模式,主要是为了限制不同设备同时要求hal层做出 同一个数据接收相关功能 ,目前做法是只限定一个hal设备使用一种数据接收模式 |
32 | static int HalRecvDataLen = 0; //用于计算接收数据长度 | 36 | static int HalRecvDataLen = 0; //用于计算接收数据长度 |
33 | 37 | ||
@@ -1640,6 +1644,8 @@ static T_JZsdkReturnCode RecvDeal_Delete_Audio(int Port, char *getbuf) | @@ -1640,6 +1644,8 @@ static T_JZsdkReturnCode RecvDeal_Delete_Audio(int Port, char *getbuf) | ||
1640 | memcpy(FileName, &getbuf[9], FileName_Length); | 1644 | memcpy(FileName, &getbuf[9], FileName_Length); |
1641 | FileName[FileName_Length] = '\0'; // 确保文件名以null结尾 | 1645 | FileName[FileName_Length] = '\0'; // 确保文件名以null结尾 |
1642 | 1646 | ||
1647 | + JZSDK_LOG_INFO("删除音频:%s", FileName); | ||
1648 | + | ||
1643 | //3、拼接指令 | 1649 | //3、拼接指令 |
1644 | char FilePath[512]; | 1650 | char FilePath[512]; |
1645 | snprintf(FilePath, 512 ,"/root/sdcard/audio/%s", FileName); | 1651 | snprintf(FilePath, 512 ,"/root/sdcard/audio/%s", FileName); |
@@ -3063,6 +3069,8 @@ static T_JZsdkReturnCode RecvDeal_SearchLight_SubscriptionControl(int Port, char | @@ -3063,6 +3069,8 @@ static T_JZsdkReturnCode RecvDeal_SearchLight_SubscriptionControl(int Port, char | ||
3063 | HalSend_type1Send_Reply_Failure(Port, FrameSequence); | 3069 | HalSend_type1Send_Reply_Failure(Port, FrameSequence); |
3064 | } | 3070 | } |
3065 | 3071 | ||
3072 | + UIcontrol_Set_SearchLight_MessageSubscribe(Port, value); | ||
3073 | + | ||
3066 | //回复操作成功 | 3074 | //回复操作成功 |
3067 | HalSend_type1Send_Reply_Success(Port, FrameSequence); | 3075 | HalSend_type1Send_Reply_Success(Port, FrameSequence); |
3068 | 3076 | ||
@@ -3332,8 +3340,305 @@ static T_JZsdkReturnCode RecvDeal_Upgrade_End(int Port, char *getbuf) | @@ -3332,8 +3340,305 @@ static T_JZsdkReturnCode RecvDeal_Upgrade_End(int Port, char *getbuf) | ||
3332 | return ret; | 3340 | return ret; |
3333 | } | 3341 | } |
3334 | 3342 | ||
3343 | +/******************************************************************************************************************************* | ||
3344 | + * | ||
3345 | + * 视频流部分 | ||
3346 | + * | ||
3347 | + * *******************************************************************************************************************************/ | ||
3348 | +T_JZsdkReturnCode RecvDeal_Set_VideoPushIndex(int Port, char *getbuf) | ||
3349 | +{ | ||
3350 | + JZSDK_LOG_INFO("%s,视频推送索引",JZsdk_DefineCode_GetPortName(Port)); | ||
3351 | + | ||
3352 | + //获取帧的序列号 | ||
3353 | + int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | ||
3354 | + | ||
3355 | + //1、通过数据帧,获取控制值 | ||
3356 | + int value = getbuf[9]; | ||
3357 | + | ||
3358 | + T_JZsdkReturnCode ret = UIcontrol_Set_VideoMgmtPushIndex(Port, value); | ||
3359 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
3360 | + { | ||
3361 | + //回复操作成功 | ||
3362 | + HalSend_type1Send_Reply_Success(Port, FrameSequence); | ||
3363 | + } | ||
3364 | + else | ||
3365 | + { | ||
3366 | + //回复操作失败 | ||
3367 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
3368 | + } | ||
3369 | + | ||
3370 | + return ret; | ||
3371 | +} | ||
3372 | + | ||
3373 | +T_JZsdkReturnCode RecvDeal_Set_ShutterControl(int Port, char *getbuf) | ||
3374 | +{ | ||
3375 | + JZSDK_LOG_INFO("%s,快门控制",JZsdk_DefineCode_GetPortName(Port)); | ||
3376 | + | ||
3377 | + //获取帧的序列号 | ||
3378 | + int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | ||
3379 | + | ||
3380 | + //1、通过数据帧,获取控制值 | ||
3381 | + int value = getbuf[9]; | ||
3382 | + | ||
3383 | + T_JZsdkReturnCode ret = UIcontrol_Set_ShutterSwitch(Port, value); | ||
3384 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
3385 | + { | ||
3386 | + //回复操作成功 | ||
3387 | + HalSend_type1Send_Reply_Success(Port, FrameSequence); | ||
3388 | + } | ||
3389 | + else | ||
3390 | + { | ||
3391 | + //回复操作失败 | ||
3392 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
3393 | + } | ||
3394 | + | ||
3395 | + return ret; | ||
3396 | +} | ||
3397 | + | ||
3398 | +T_JZsdkReturnCode RecvDeal_Set_FreezeControl(int Port, char *getbuf) | ||
3399 | +{ | ||
3400 | + JZSDK_LOG_INFO("%s,冻结控制",JZsdk_DefineCode_GetPortName(Port)); | ||
3401 | + | ||
3402 | + //获取帧的序列号 | ||
3403 | + int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | ||
3404 | + | ||
3405 | + //1、通过数据帧,获取控制值 | ||
3406 | + int value = getbuf[9]; | ||
3407 | + | ||
3408 | + T_JZsdkReturnCode ret = UIcontrol_FreezeVideo(Port, value); | ||
3409 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
3410 | + { | ||
3411 | + //回复操作成功 | ||
3412 | + HalSend_type1Send_Reply_Success(Port, FrameSequence); | ||
3413 | + } | ||
3414 | + else | ||
3415 | + { | ||
3416 | + //回复操作失败 | ||
3417 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
3418 | + } | ||
3419 | + | ||
3420 | + return ret; | ||
3421 | +} | ||
3422 | + | ||
3423 | +T_JZsdkReturnCode RecvDeal_Set_IRCCorrectWay(int Port, char *getbuf) | ||
3424 | +{ | ||
3425 | + JZSDK_LOG_INFO("%s,红外校正方式",JZsdk_DefineCode_GetPortName(Port)); | ||
3426 | + | ||
3427 | + //获取帧的序列号 | ||
3428 | + int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | ||
3429 | + | ||
3430 | + //1、通过数据帧,获取控制值 | ||
3431 | + int value = getbuf[10]; | ||
3432 | + | ||
3433 | + T_JZsdkReturnCode ret = UIcontrol_CameraCorrectionMode(Port, value); | ||
3434 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
3435 | + { | ||
3436 | + //回复操作成功 | ||
3437 | + HalSend_type1Send_Reply_Success(Port, FrameSequence); | ||
3438 | + } | ||
3439 | + else | ||
3440 | + { | ||
3441 | + //回复操作失败 | ||
3442 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
3443 | + } | ||
3444 | + | ||
3445 | + return ret; | ||
3446 | +} | ||
3447 | + | ||
3448 | +T_JZsdkReturnCode RecvDeal_Set_IRCCorrectSPCParam(int Port, char *getbuf) | ||
3449 | +{ | ||
3450 | + JZSDK_LOG_INFO("%s,红外spc控制",JZsdk_DefineCode_GetPortName(Port)); | ||
3451 | + | ||
3452 | + T_JZsdkReturnCode ret; | ||
3453 | + | ||
3454 | + //获取帧的序列号 | ||
3455 | + int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | ||
3456 | + | ||
3457 | + //1、通过数据帧,获取控制值 | ||
3458 | + int mode = getbuf[9]; | ||
3459 | + int value = getbuf[10]; | ||
3460 | + | ||
3461 | + //单点档位 | ||
3462 | + if (mode == 0x00) | ||
3463 | + { | ||
3464 | + ret = UIcontrol_Set_SPCmode(Port, value); | ||
3465 | + } | ||
3466 | + //单点校正模式 | ||
3467 | + else if (mode == 0x01) | ||
3468 | + { | ||
3469 | + ret = UIcontrol_Camera_SPC_ResetSwitch(Port, value); | ||
3470 | + } | ||
3471 | + //修改自动校正时间 | ||
3472 | + else if (mode == 0x02) | ||
3473 | + { | ||
3474 | + ret = UIcontrol_Set_SpcAutoTime(Port, value); | ||
3475 | + } | ||
3476 | + else | ||
3477 | + { | ||
3478 | + ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
3479 | + } | ||
3480 | + | ||
3481 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
3482 | + { | ||
3483 | + //回复操作成功 | ||
3484 | + HalSend_type1Send_Reply_Success(Port, FrameSequence); | ||
3485 | + } | ||
3486 | + else | ||
3487 | + { | ||
3488 | + //回复操作失败 | ||
3489 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
3490 | + } | ||
3491 | + | ||
3492 | + return ret; | ||
3493 | +} | ||
3494 | + | ||
3495 | + | ||
3496 | +T_JZsdkReturnCode RecvDeal_Set_IRCCorrectTPCParam(int Port, char *getbuf) | ||
3497 | +{ | ||
3498 | + JZSDK_LOG_INFO("%s,红外tpc控制",JZsdk_DefineCode_GetPortName(Port)); | ||
3499 | + | ||
3500 | + T_JZsdkReturnCode ret; | ||
3501 | + | ||
3502 | + //获取帧的序列号 | ||
3503 | + int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | ||
3504 | + | ||
3505 | + //1、通过数据帧,获取控制值 | ||
3506 | + int mode = getbuf[9]; | ||
3507 | + int value = getbuf[10]; | ||
3508 | + | ||
3509 | + //单点档位 | ||
3510 | + if (mode == 0x00) | ||
3511 | + { | ||
3512 | + ret = UIcontrol_Set_TpcMode(Port, value); | ||
3513 | + } | ||
3514 | + //修改两点校正数据组 | ||
3515 | + else if (mode == 0x01) | ||
3516 | + { | ||
3517 | + ret = UI_control_IrcMarkLowAndHighTemp(Port, value); | ||
3518 | + } | ||
3519 | + else | ||
3520 | + { | ||
3521 | + ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
3522 | + } | ||
3523 | + | ||
3524 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
3525 | + { | ||
3526 | + //回复操作成功 | ||
3527 | + HalSend_type1Send_Reply_Success(Port, FrameSequence); | ||
3528 | + } | ||
3529 | + else | ||
3530 | + { | ||
3531 | + //回复操作失败 | ||
3532 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
3533 | + } | ||
3534 | + | ||
3535 | + return ret; | ||
3536 | +} | ||
3537 | + | ||
3538 | +T_JZsdkReturnCode RecvDeal_Set_IRCCorrectColorOutputMode(int Port, char *getbuf) | ||
3539 | +{ | ||
3540 | + JZSDK_LOG_INFO("%s,红外校正颜色输出模式",JZsdk_DefineCode_GetPortName(Port)); | ||
3541 | + | ||
3542 | + //获取帧的序列号 | ||
3543 | + int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | ||
3544 | + | ||
3545 | + //1、通过数据帧,获取控制值 | ||
3546 | + int value = getbuf[10]; | ||
3547 | + | ||
3548 | + T_JZsdkReturnCode ret = UIcontrol_Set_PixelColorMode(Port, value); | ||
3549 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
3550 | + { | ||
3551 | + //回复操作成功 | ||
3552 | + HalSend_type1Send_Reply_Success(Port, FrameSequence); | ||
3553 | + } | ||
3554 | + else | ||
3555 | + { | ||
3556 | + //回复操作失败 | ||
3557 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
3558 | + } | ||
3559 | + | ||
3560 | + return ret; | ||
3561 | +} | ||
3562 | + | ||
3563 | +T_JZsdkReturnCode RecvDeal_Set_IRCCorrectPseudoColorParam(int Port, char *getbuf) | ||
3564 | +{ | ||
3565 | + JZSDK_LOG_INFO("%s,红外伪彩参数",JZsdk_DefineCode_GetPortName(Port)); | ||
3566 | + | ||
3567 | + T_JZsdkReturnCode ret; | ||
3568 | + | ||
3569 | + //获取帧的序列号 | ||
3570 | + int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | ||
3571 | + | ||
3572 | + //1、通过数据帧,获取控制值 | ||
3573 | + int mode = getbuf[9]; | ||
3574 | + int value = getbuf[10]; | ||
3575 | + | ||
3576 | + //修改伪彩颜色 | ||
3577 | + if(mode == 0x00) | ||
3578 | + { | ||
3579 | + ret = UIcontrol_Set_PseudoColor(Port, value); | ||
3580 | + } | ||
3581 | + else | ||
3582 | + { | ||
3583 | + ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
3584 | + } | ||
3585 | + | ||
3586 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
3587 | + { | ||
3588 | + //回复操作成功 | ||
3589 | + HalSend_type1Send_Reply_Success(Port, FrameSequence); | ||
3590 | + } | ||
3591 | + else | ||
3592 | + { | ||
3593 | + //回复操作失败 | ||
3594 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
3595 | + } | ||
3596 | + | ||
3597 | + return ret; | ||
3598 | +} | ||
3599 | + | ||
3600 | + | ||
3601 | + | ||
3602 | +T_JZsdkReturnCode RecvDeal_Set_IRCCorrectGasEnhanceParam(int Port, char *getbuf) | ||
3603 | +{ | ||
3604 | + JZSDK_LOG_INFO("%s,红外气体增强参数",JZsdk_DefineCode_GetPortName(Port)); | ||
3605 | + | ||
3606 | + T_JZsdkReturnCode ret; | ||
3607 | + | ||
3608 | + //获取帧的序列号 | ||
3609 | + int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | ||
3610 | + | ||
3611 | + //1、通过数据帧,获取控制值 | ||
3612 | + int mode = getbuf[9]; | ||
3613 | + int value = getbuf[10]; | ||
3335 | 3614 | ||
3615 | + //修改气体增强颜色 | ||
3616 | + if(mode == 0x00) | ||
3617 | + { | ||
3618 | + ret = UIcontrol_Set_GasEnhancementColor(Port, value); | ||
3619 | + } | ||
3620 | + else if (mode == 0x01) | ||
3621 | + { | ||
3622 | + ret = UIcontrol_GasEnhancementCorrect(Port, value); | ||
3623 | + } | ||
3624 | + else | ||
3625 | + { | ||
3626 | + ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
3627 | + } | ||
3628 | + | ||
3629 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
3630 | + { | ||
3631 | + //回复操作成功 | ||
3632 | + HalSend_type1Send_Reply_Success(Port, FrameSequence); | ||
3633 | + } | ||
3634 | + else | ||
3635 | + { | ||
3636 | + //回复操作失败 | ||
3637 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
3638 | + } | ||
3336 | 3639 | ||
3640 | + return ret; | ||
3641 | +} | ||
3337 | 3642 | ||
3338 | /******************************************************************************************************************************* | 3643 | /******************************************************************************************************************************* |
3339 | * | 3644 | * |
@@ -4152,11 +4457,15 @@ static T_JZsdkReturnCode RecvDeal_SetSpecialParameters(int Port, char *getbuf) | @@ -4152,11 +4457,15 @@ static T_JZsdkReturnCode RecvDeal_SetSpecialParameters(int Port, char *getbuf) | ||
4152 | //0x01设置滤波 | 4457 | //0x01设置滤波 |
4153 | case 0x01: | 4458 | case 0x01: |
4154 | { | 4459 | { |
4155 | - ret = Main_M30_all_filter_mode(&value); | 4460 | +#ifdef MEGAPHONE_CONFIG_STATUS_ON |
4461 | + | ||
4462 | + ret = AudioDeal_SetFilterMode(value); | ||
4156 | if(ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | 4463 | if(ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) |
4157 | { | 4464 | { |
4158 | JZSDK_LOG_ERROR("特参一失败"); | 4465 | JZSDK_LOG_ERROR("特参一失败"); |
4159 | } | 4466 | } |
4467 | + | ||
4468 | +#endif | ||
4160 | } | 4469 | } |
4161 | break; | 4470 | break; |
4162 | 4471 | ||
@@ -4209,11 +4518,11 @@ static T_JZsdkReturnCode RecvDeal_CheckSpecialParameters(int Port, char *getbuf) | @@ -4209,11 +4518,11 @@ static T_JZsdkReturnCode RecvDeal_CheckSpecialParameters(int Port, char *getbuf) | ||
4209 | //0x01设置滤波 | 4518 | //0x01设置滤波 |
4210 | case 0x01: | 4519 | case 0x01: |
4211 | { | 4520 | { |
4212 | - ret = Main_M30_all_filter_mode(&value); | ||
4213 | - if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
4214 | - { | ||
4215 | - JZSDK_LOG_ERROR("特参一获取失败"); | ||
4216 | - } | 4521 | +#ifdef MEGAPHONE_CONFIG_STATUS_ON |
4522 | + | ||
4523 | + value = AudioDeal_GetFilterMode(); | ||
4524 | + ret = JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
4525 | +#endif | ||
4217 | } | 4526 | } |
4218 | break; | 4527 | break; |
4219 | 4528 | ||
@@ -4853,6 +5162,50 @@ static T_JZsdkReturnCode RecvDeal_InstructInput(int Port, int Receive_mode, unsi | @@ -4853,6 +5162,50 @@ static T_JZsdkReturnCode RecvDeal_InstructInput(int Port, int Receive_mode, unsi | ||
4853 | RecvDeal_Upgrade_End(Port,getbuf); | 5162 | RecvDeal_Upgrade_End(Port,getbuf); |
4854 | break; | 5163 | break; |
4855 | 5164 | ||
5165 | + //设置推流索引值 | ||
5166 | + case JZ_INSCODE_5AFRAME_CAMERA_VIDEO_PUSH_INDEX: | ||
5167 | + RecvDeal_Set_VideoPushIndex(Port,getbuf); | ||
5168 | + break; | ||
5169 | + | ||
5170 | + //设置快门控制 | ||
5171 | + case JZ_INSCODE_5AFRAME_CAMERA_SHUTTER_CONTROL: | ||
5172 | + RecvDeal_Set_ShutterControl(Port,getbuf); | ||
5173 | + break; | ||
5174 | + | ||
5175 | + //冻结控制 | ||
5176 | + case JZ_INSCODE_5AFRAME_CAMERA_FREEZE_CONTROL: | ||
5177 | + RecvDeal_Set_FreezeControl(Port,getbuf); | ||
5178 | + break; | ||
5179 | + | ||
5180 | + //红外校正方式 | ||
5181 | + case JZ_INSOCDE_5AFRAME_IRC_CORRECT_WAY: | ||
5182 | + RecvDeal_Set_IRCCorrectWay(Port,getbuf); | ||
5183 | + break; | ||
5184 | + | ||
5185 | + //红外单点参数 | ||
5186 | + case JZ_INSCODE_5AFRAME_IRC_SPC_PARAM: | ||
5187 | + RecvDeal_Set_IRCCorrectSPCParam(Port,getbuf); | ||
5188 | + break; | ||
5189 | + | ||
5190 | + //红外两点参数 | ||
5191 | + case JZ_INSCODE_5AFRAME_IRC_TPC_PARAM: | ||
5192 | + RecvDeal_Set_IRCCorrectTPCParam(Port,getbuf); | ||
5193 | + break; | ||
5194 | + | ||
5195 | + //红外色彩输出模式 | ||
5196 | + case JZ_INSOCDE_5AFRAME_IRC_OUTPUT_COLOR_MODE: | ||
5197 | + RecvDeal_Set_IRCCorrectColorOutputMode(Port,getbuf); | ||
5198 | + break; | ||
5199 | + | ||
5200 | + //红外伪彩输出控制 | ||
5201 | + case JZ_INSCODE_5AFRAME_IRC_PSEUDO_COLOR_PARAM: | ||
5202 | + RecvDeal_Set_IRCCorrectPseudoColorParam(Port,getbuf); | ||
5203 | + break; | ||
5204 | + | ||
5205 | + //红外气体增强控制 | ||
5206 | + case JZ_INSCODE_5AFRAME_IRC_GAS_ENHANCE_PARAM: | ||
5207 | + RecvDeal_Set_IRCCorrectGasEnhanceParam(Port,getbuf); | ||
5208 | + break; | ||
4856 | 5209 | ||
4857 | /******************************************************************************************************************************* | 5210 | /******************************************************************************************************************************* |
4858 | * | 5211 | * |
@@ -20,8 +20,8 @@ extern "C" { | @@ -20,8 +20,8 @@ extern "C" { | ||
20 | 20 | ||
21 | /* Exported constants --------------------------------------------------------*/ | 21 | /* Exported constants --------------------------------------------------------*/ |
22 | /* 常亮定义*/ | 22 | /* 常亮定义*/ |
23 | -#define SINGLE_THREAD_SEND 0 | ||
24 | -#define MULTI_THREAD_SEND 1 | 23 | +#define SINGLE_THREAD_SEND JZSDK_SINGLE_THREAD |
24 | +#define MULTI_THREAD_SEND JZSDK_MULTI_THREAD | ||
25 | 25 | ||
26 | /* Exported types ------------------------------------------------------------*/ | 26 | /* Exported types ------------------------------------------------------------*/ |
27 | 27 |
1 | #include <stdio.h> | 1 | #include <stdio.h> |
2 | #include <string.h> | 2 | #include <string.h> |
3 | #include <stdlib.h> | 3 | #include <stdlib.h> |
4 | -#include <termios.h> | 4 | +#include <unistd.h> |
5 | + | ||
5 | #include <sys/socket.h> | 6 | #include <sys/socket.h> |
6 | #include <netinet/in.h> | 7 | #include <netinet/in.h> |
7 | #include <arpa/inet.h> | 8 | #include <arpa/inet.h> |
8 | 9 | ||
10 | +#include <termios.h> | ||
11 | + | ||
9 | #include "BaseConfig.h" | 12 | #include "BaseConfig.h" |
10 | #include "version_choose.h" | 13 | #include "version_choose.h" |
11 | 14 | ||
12 | #include "JZsdkLib.h" | 15 | #include "JZsdkLib.h" |
13 | #include "./JZsdk_network.h" | 16 | #include "./JZsdk_network.h" |
14 | 17 | ||
18 | +#include "../Hal_Recv/HalRecv.h" | ||
19 | + | ||
15 | #define LINUX_CMD_STR_MAX_SIZE (128) | 20 | #define LINUX_CMD_STR_MAX_SIZE (128) |
16 | #define LINUX_NETWORK_DEV "eth0" | 21 | #define LINUX_NETWORK_DEV "eth0" |
22 | + | ||
17 | #define UDP_SERVER_PORT (23003) | 23 | #define UDP_SERVER_PORT (23003) |
24 | +#define TCP_SERVER_PORT (23004) | ||
25 | +#define MAX_LISTEN_NUM (5) | ||
18 | 26 | ||
19 | #define MAX_SEND_FRAME_LENTH (60000) | 27 | #define MAX_SEND_FRAME_LENTH (60000) |
20 | 28 | ||
21 | #define JZSDK_UTIL_MIN(a, b) (((a) < (b)) ? (a) : (b)) | 29 | #define JZSDK_UTIL_MIN(a, b) (((a) < (b)) ? (a) : (b)) |
22 | 30 | ||
23 | -static int udp_socket = 0; | ||
24 | -static struct sockaddr_in udp_server_addr; | 31 | +typedef struct T_JZsdk_network_Info |
32 | +{ | ||
33 | + //udp套接字 | ||
34 | + int udp_socket; | ||
35 | + | ||
36 | + //udp服务器地址 | ||
37 | + struct sockaddr_in udp_server_addr; | ||
38 | + | ||
39 | + //udp端口 | ||
40 | + int udp_port; | ||
41 | + | ||
42 | + //tcp套接字 | ||
43 | + int tcp_socket; | ||
44 | + | ||
45 | + //tcp服务器地址 | ||
46 | + struct sockaddr_in tcp_server_addr; | ||
47 | + | ||
48 | + //tcp端口 | ||
49 | + int tcp_port; | ||
50 | +}T_JZsdk_network_Info; | ||
51 | + | ||
52 | +T_JZsdk_network_Info g_JZsdk_network_Info; | ||
53 | + | ||
54 | + | ||
25 | static int NetworkMode = JZ_FLAGCODE_OFF; //网络模式 | 55 | static int NetworkMode = JZ_FLAGCODE_OFF; //网络模式 |
26 | 56 | ||
57 | +static T_JZsdkReturnCode JZsdk_NetWork_UdpInit() | ||
58 | +{ | ||
59 | + //创建UDP socket 套接字 | ||
60 | + g_JZsdk_network_Info.udp_socket = socket(AF_INET, SOCK_DGRAM, 0); | ||
61 | + if (g_JZsdk_network_Info.udp_socket == -1) { | ||
62 | + JZSDK_LOG_ERROR("网口套接字注册失败"); | ||
63 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
64 | + } | ||
65 | + | ||
66 | + //配置udp服务器地址 | ||
67 | + memset(&g_JZsdk_network_Info.udp_server_addr, 0, sizeof(g_JZsdk_network_Info.udp_server_addr)); | ||
68 | + g_JZsdk_network_Info.udp_server_addr.sin_family = AF_INET; | ||
69 | + g_JZsdk_network_Info.udp_server_addr.sin_port = htons(g_JZsdk_network_Info.udp_port); | ||
70 | + if(inet_aton(NET_WORK_TARGET_IPADDR, &g_JZsdk_network_Info.udp_server_addr.sin_addr) == 0) | ||
71 | + { | ||
72 | + JZSDK_LOG_ERROR("udp服务器配置失败"); | ||
73 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
74 | + } | ||
75 | +} | ||
76 | + | ||
77 | +static T_JZsdkReturnCode handle_client(int client_socket, int port) | ||
78 | +{ | ||
79 | + char buffer[4096] = {0}; // 初始化接收缓冲区 | ||
80 | + ssize_t bytes_read; | ||
81 | + | ||
82 | + // 读取客户端发送的数据 | ||
83 | + bytes_read = read(client_socket, buffer, 4096 - 1); | ||
84 | + if (bytes_read > 0) | ||
85 | + { | ||
86 | + //printf("%s\n", buffer); | ||
87 | + | ||
88 | + // 检查是否是 OPTIONS 请求 | ||
89 | + if (strstr(buffer, "OPTIONS / HTTP/1.1") != NULL) { | ||
90 | + // 返回允许跨域的响应头 | ||
91 | + const char *options_response = | ||
92 | + "HTTP/1.1 200 OK\r\n" | ||
93 | + "Access-Control-Allow-Origin: *\r\n" | ||
94 | + "Access-Control-Allow-Methods: POST, OPTIONS\r\n" | ||
95 | + "Access-Control-Allow-Headers: Content-Type\r\n" | ||
96 | + "Content-Length: 0\r\n" | ||
97 | + "\r\n"; | ||
98 | + write(client_socket, options_response, strlen(options_response)); | ||
99 | + close(client_socket); | ||
100 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
101 | + } | ||
102 | + | ||
103 | + // 解析 HTTP 请求头中的 Content-Length | ||
104 | + char *content_length = strstr(buffer, "Content-Length: "); | ||
105 | + if (content_length) { | ||
106 | + int len = atoi(content_length + 16); // 跳过 "Content-Length: " 的16个字符 | ||
107 | + unsigned char *body = strstr(buffer, "\r\n\r\n") + 4; // 定位消息体起始位置 | ||
108 | + //JZSDK_LOG_INFO("[Port %d] Received: %d%s\n", port, len, body); // 打印消息体内容 | ||
109 | + | ||
110 | + HalRecv_type1_PreliminaryScreeningOfData(body, len, NET_DEV_1); | ||
111 | + } | ||
112 | + } | ||
113 | + | ||
114 | + // 发送固定 HTTP 响应 | ||
115 | + const char *response = | ||
116 | + "HTTP/1.1 200 OK\r\n" | ||
117 | + "Access-Control-Allow-Origin: *\r\n" | ||
118 | + "Content-Length: 19\r\n" | ||
119 | + "\r\n" | ||
120 | + "Data received successfully"; | ||
121 | + write(client_socket, response, strlen(response)); | ||
122 | + close(client_socket); // 关闭客户端连接 | ||
123 | + | ||
124 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
125 | +} | ||
126 | + | ||
127 | +static void *JZsdk_Tcp_RecvThread(void *arg) | ||
128 | +{ | ||
129 | + while (1) | ||
130 | + { | ||
131 | + struct sockaddr_in client_addr; | ||
132 | + socklen_t client_addr_len = sizeof(client_addr); | ||
133 | + int client_socket = accept(g_JZsdk_network_Info.tcp_socket, (struct sockaddr *)&client_addr, &client_addr_len); | ||
134 | + if(client_socket == -1) | ||
135 | + { | ||
136 | + JZSDK_LOG_ERROR("tcp服务器接收失败"); | ||
137 | + continue; | ||
138 | + } | ||
139 | + | ||
140 | + handle_client(client_socket, g_JZsdk_network_Info.tcp_port); // 处理客户端请求 | ||
141 | + } | ||
142 | +} | ||
143 | + | ||
144 | +static T_JZsdkReturnCode JZsdk_NetWork_TcpInit() | ||
145 | +{ | ||
146 | + T_JZsdkOsalHandler *osal_handler = JZsdk_Platform_GetOsalHandler(); | ||
147 | + if(osal_handler == NULL) | ||
148 | + { | ||
149 | + JZSDK_LOG_ERROR("osal_handler is NULL"); | ||
150 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
151 | + } | ||
152 | + | ||
153 | + //创建tcp socket套接字 | ||
154 | + g_JZsdk_network_Info.tcp_socket = socket(AF_INET, SOCK_STREAM, 0); | ||
155 | + if (g_JZsdk_network_Info.tcp_socket == -1) | ||
156 | + { | ||
157 | + JZSDK_LOG_ERROR("网口套接字注册失败"); | ||
158 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
159 | + } | ||
160 | + | ||
161 | + //配置tcp服务器 | ||
162 | + memset(&g_JZsdk_network_Info.tcp_server_addr, 0, sizeof(g_JZsdk_network_Info.tcp_server_addr)); | ||
163 | + g_JZsdk_network_Info.tcp_server_addr.sin_family = AF_INET; | ||
164 | + g_JZsdk_network_Info.tcp_server_addr.sin_port = htons(g_JZsdk_network_Info.tcp_port); | ||
165 | + g_JZsdk_network_Info.tcp_server_addr.sin_addr.s_addr = inet_addr("192.168.5.3"); | ||
166 | + | ||
167 | + //把tcp套接字绑定到指定地址 | ||
168 | + if(bind(g_JZsdk_network_Info.tcp_socket, (struct sockaddr *)&g_JZsdk_network_Info.tcp_server_addr, sizeof(g_JZsdk_network_Info.tcp_server_addr)) == -1) | ||
169 | + { | ||
170 | + JZSDK_LOG_ERROR("tcp服务器配置失败"); | ||
171 | + close(g_JZsdk_network_Info.tcp_socket); | ||
172 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
173 | + } | ||
174 | + | ||
175 | + //进入监听状态 | ||
176 | + if(listen(g_JZsdk_network_Info.tcp_socket, MAX_LISTEN_NUM) == -1) | ||
177 | + { | ||
178 | + JZSDK_LOG_ERROR("tcp服务器监听失败"); | ||
179 | + close(g_JZsdk_network_Info.tcp_socket); | ||
180 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
181 | + } | ||
182 | + | ||
183 | + | ||
184 | + T_JZTaskHandle g_tcp_server_task = NULL; | ||
185 | + | ||
186 | + //创建监听线程 | ||
187 | + osal_handler->TaskCreate("tcp_server", JZsdk_Tcp_RecvThread, 8192, NULL, &g_tcp_server_task); | ||
188 | + | ||
189 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
190 | +} | ||
191 | + | ||
192 | + | ||
27 | T_JZsdkReturnCode JZsdk_NetWork_Init() | 193 | T_JZsdkReturnCode JZsdk_NetWork_Init() |
28 | { | 194 | { |
29 | T_JZsdkReturnCode ret; | 195 | T_JZsdkReturnCode ret; |
@@ -35,6 +201,9 @@ T_JZsdkReturnCode JZsdk_NetWork_Init() | @@ -35,6 +201,9 @@ T_JZsdkReturnCode JZsdk_NetWork_Init() | ||
35 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 201 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
36 | } | 202 | } |
37 | 203 | ||
204 | + g_JZsdk_network_Info.udp_port = UDP_SERVER_PORT; | ||
205 | + g_JZsdk_network_Info.tcp_port = TCP_SERVER_PORT; | ||
206 | + | ||
38 | //1、打开网卡设备 | 207 | //1、打开网卡设备 |
39 | memset(cmdStr, 0, sizeof(cmdStr)); | 208 | memset(cmdStr, 0, sizeof(cmdStr)); |
40 | snprintf(cmdStr, sizeof(cmdStr), "ifconfig %s up", LINUX_NETWORK_DEV); | 209 | snprintf(cmdStr, sizeof(cmdStr), "ifconfig %s up", LINUX_NETWORK_DEV); |
@@ -46,7 +215,7 @@ T_JZsdkReturnCode JZsdk_NetWork_Init() | @@ -46,7 +215,7 @@ T_JZsdkReturnCode JZsdk_NetWork_Init() | ||
46 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 215 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
47 | } | 216 | } |
48 | 217 | ||
49 | - //2、打开网络 | 218 | + //2、配置IP地址 |
50 | memset(cmdStr, 0, sizeof(cmdStr)); | 219 | memset(cmdStr, 0, sizeof(cmdStr)); |
51 | snprintf(cmdStr, sizeof(cmdStr), "ifconfig %s %s netmask %s", LINUX_NETWORK_DEV, NET_WORK_IPADDR, NET_WORK_NETMASK); | 220 | snprintf(cmdStr, sizeof(cmdStr), "ifconfig %s %s netmask %s", LINUX_NETWORK_DEV, NET_WORK_IPADDR, NET_WORK_NETMASK); |
52 | ret = system(cmdStr); | 221 | ret = system(cmdStr); |
@@ -57,22 +226,11 @@ T_JZsdkReturnCode JZsdk_NetWork_Init() | @@ -57,22 +226,11 @@ T_JZsdkReturnCode JZsdk_NetWork_Init() | ||
57 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 226 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
58 | } | 227 | } |
59 | 228 | ||
60 | - //3、创建UDP socket 套接字 | ||
61 | - udp_socket = socket(AF_INET, SOCK_DGRAM, 0); | ||
62 | - if (udp_socket == -1) { | ||
63 | - JZSDK_LOG_ERROR("网口套接字注册失败"); | ||
64 | - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
65 | - } | 229 | + //udp初始化 |
230 | + JZsdk_NetWork_UdpInit(); | ||
66 | 231 | ||
67 | - //4、配置udp服务器地址 | ||
68 | - memset(&udp_server_addr, 0, sizeof(udp_server_addr)); | ||
69 | - udp_server_addr.sin_family = AF_INET; | ||
70 | - udp_server_addr.sin_port = htons(UDP_SERVER_PORT); | ||
71 | - if(inet_aton(NET_WORK_TARGET_IPADDR, &udp_server_addr.sin_addr) == 0) | ||
72 | - { | ||
73 | - JZSDK_LOG_ERROR("udp服务器配置失败"); | ||
74 | - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
75 | - } | 232 | + //tcp初始化 |
233 | + JZsdk_NetWork_TcpInit(); | ||
76 | 234 | ||
77 | NetworkMode = JZ_FLAGCODE_ON; | 235 | NetworkMode = JZ_FLAGCODE_ON; |
78 | 236 | ||
@@ -87,8 +245,8 @@ T_JZsdkReturnCode JZsdk_NetWork_DeInit() | @@ -87,8 +245,8 @@ T_JZsdkReturnCode JZsdk_NetWork_DeInit() | ||
87 | 245 | ||
88 | static T_JZsdkReturnCode JZsdk_NetWork_Sent(const unsigned char *data, const int data_len) | 246 | static T_JZsdkReturnCode JZsdk_NetWork_Sent(const unsigned char *data, const int data_len) |
89 | { | 247 | { |
90 | - int bytes_sent = sendto(udp_socket, data, data_len, 0, | ||
91 | - (struct sockaddr *) &udp_server_addr, sizeof(udp_server_addr)); | 248 | + int bytes_sent = sendto(g_JZsdk_network_Info.udp_socket, data, data_len, 0, |
249 | + (struct sockaddr *) &g_JZsdk_network_Info.udp_server_addr, sizeof(g_JZsdk_network_Info.udp_server_addr)); | ||
92 | 250 | ||
93 | if (bytes_sent == -1) | 251 | if (bytes_sent == -1) |
94 | { | 252 | { |
@@ -17,8 +17,8 @@ | @@ -17,8 +17,8 @@ | ||
17 | extern "C" { | 17 | extern "C" { |
18 | #endif | 18 | #endif |
19 | 19 | ||
20 | -#define LINUX_USB_VID (0x04b4) | ||
21 | -#define LINUX_USB_PID (0x00f1) | 20 | +#define JZSDK_USB_VID (0x04b4) |
21 | +#define JZSDK_USB_PID (0x00f1) | ||
22 | #define USB_OUT_POINT (0x02) | 22 | #define USB_OUT_POINT (0x02) |
23 | #define USB_IN_POINT (0x86) | 23 | #define USB_IN_POINT (0x86) |
24 | 24 |
@@ -89,6 +89,14 @@ T_JZsdkReturnCode AudioDeal_SetFilterMode(int mode) | @@ -89,6 +89,14 @@ T_JZsdkReturnCode AudioDeal_SetFilterMode(int mode) | ||
89 | FF_Filter_Set_FilterMode(mode); | 89 | FF_Filter_Set_FilterMode(mode); |
90 | } | 90 | } |
91 | 91 | ||
92 | +/* | ||
93 | + 获取音频库的滤波模式 | ||
94 | + 0x00 默认滤波 0x01 M30滤波 | ||
95 | +*/ | ||
96 | +T_JZsdkReturnCode AudioDeal_GetFilterMode() | ||
97 | +{ | ||
98 | + return FF_Filter_Get_FilterMode(); | ||
99 | +} | ||
92 | 100 | ||
93 | 101 | ||
94 | /****************************** | 102 | /****************************** |
@@ -102,6 +102,8 @@ int AudioDeal_GetPauseAndContinuePlayStatus(); | @@ -102,6 +102,8 @@ int AudioDeal_GetPauseAndContinuePlayStatus(); | ||
102 | 102 | ||
103 | T_JZsdkReturnCode Get_AudioDealStatus(); | 103 | T_JZsdkReturnCode Get_AudioDealStatus(); |
104 | T_JZsdkReturnCode AudioDeal_SetFilterMode(int mode); | 104 | T_JZsdkReturnCode AudioDeal_SetFilterMode(int mode); |
105 | +T_JZsdkReturnCode AudioDeal_GetFilterMode(); | ||
106 | + | ||
105 | T_JZsdkReturnCode AudioDeal_Mp3DataStop(); | 107 | T_JZsdkReturnCode AudioDeal_Mp3DataStop(); |
106 | 108 | ||
107 | #ifdef __cplusplus | 109 | #ifdef __cplusplus |
@@ -440,3 +440,8 @@ T_JZsdkReturnCode FF_Filter_Set_FilterMode(int mode) | @@ -440,3 +440,8 @@ T_JZsdkReturnCode FF_Filter_Set_FilterMode(int mode) | ||
440 | g_FilterMode = mode; | 440 | g_FilterMode = mode; |
441 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 441 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
442 | } | 442 | } |
443 | + | ||
444 | +T_JZsdkReturnCode FF_Filter_Get_FilterMode() | ||
445 | +{ | ||
446 | + return g_FilterMode; | ||
447 | +} |
@@ -21,6 +21,7 @@ T_JZsdkReturnCode FF_Filter_Init(struct AudioDealInfo *AD_Info, int AudioType); | @@ -21,6 +21,7 @@ T_JZsdkReturnCode FF_Filter_Init(struct AudioDealInfo *AD_Info, int AudioType); | ||
21 | T_JZsdkReturnCode FF_Filter_push_frame_to_fliter(struct AudioDealInfo *AD_Info ,AVFrame* in_frame); | 21 | T_JZsdkReturnCode FF_Filter_push_frame_to_fliter(struct AudioDealInfo *AD_Info ,AVFrame* in_frame); |
22 | T_JZsdkReturnCode FF_Filter_get_frame_from_filter(struct AudioDealInfo *AD_Info ,AVFrame* out_frame); | 22 | T_JZsdkReturnCode FF_Filter_get_frame_from_filter(struct AudioDealInfo *AD_Info ,AVFrame* out_frame); |
23 | T_JZsdkReturnCode FF_Filter_Set_FilterMode(int mode); | 23 | T_JZsdkReturnCode FF_Filter_Set_FilterMode(int mode); |
24 | +T_JZsdkReturnCode FF_Filter_Get_FilterMode(); | ||
24 | 25 | ||
25 | /* Exported constants --------------------------------------------------------*/ | 26 | /* Exported constants --------------------------------------------------------*/ |
26 | /* 常亮定义*/ | 27 | /* 常亮定义*/ |
@@ -4,21 +4,76 @@ | @@ -4,21 +4,76 @@ | ||
4 | #define POWER_STATUS_OFF 0 | 4 | #define POWER_STATUS_OFF 0 |
5 | #define POWER_STATUS_REBOOT 1 | 5 | #define POWER_STATUS_REBOOT 1 |
6 | 6 | ||
7 | -//电源管理初始化 | ||
8 | -T_JZsdkReturnCode PowerManger_Init() | 7 | +// 使用static限制全局变量可见范围 |
8 | +static T_JZsdkReturnCode (*g_PoweroffCallback)(void) = NULL; | ||
9 | +static T_JZsdkReturnCode (*g_PoweronCallback)(void) = NULL; | ||
10 | + | ||
11 | +T_JZsdkReturnCode PowerManager_RegisterPowerOffCallback(T_JZsdkReturnCode (*callback)(void)) | ||
12 | +{ | ||
13 | + if (!callback) | ||
14 | + { | ||
15 | + JZSDK_LOG_ERROR("Invalid NULL callback"); | ||
16 | + return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; | ||
17 | + } | ||
18 | + | ||
19 | + g_PoweroffCallback = callback; | ||
20 | + | ||
21 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
22 | +} | ||
23 | + | ||
24 | +T_JZsdkReturnCode PowerManager_RegisterPowerOnCallback(T_JZsdkReturnCode (*callback)(void)) | ||
9 | { | 25 | { |
26 | + if (!callback) | ||
27 | + { | ||
28 | + JZSDK_LOG_ERROR("Invalid NULL callback"); | ||
29 | + return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; | ||
30 | + } | ||
31 | + | ||
32 | + g_PoweronCallback = callback; | ||
10 | 33 | ||
34 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
11 | } | 35 | } |
12 | 36 | ||
37 | + | ||
13 | //电源开关 | 38 | //电源开关 |
14 | T_JZsdkReturnCode PowerManger_PowerOff() | 39 | T_JZsdkReturnCode PowerManger_PowerOff() |
15 | { | 40 | { |
16 | JZSDK_LOG_INFO("执行关闭电源"); | 41 | JZSDK_LOG_INFO("执行关闭电源"); |
42 | + | ||
43 | + if (g_PoweroffCallback) { | ||
44 | + T_JZsdkReturnCode callbackRet = g_PoweroffCallback(); | ||
45 | + if (callbackRet != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
46 | + { | ||
47 | + JZSDK_LOG_ERROR("关机任务未正常执行"); | ||
48 | + } | ||
49 | + } | ||
50 | + | ||
17 | JZsdk_RunSystemCmd("poweroff"); | 51 | JZsdk_RunSystemCmd("poweroff"); |
18 | 52 | ||
19 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 53 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
20 | } | 54 | } |
21 | 55 | ||
56 | +//电源开机时的任务 //这意味着已经完成所有初始化 | ||
57 | +T_JZsdkReturnCode PowerManger_PowerOn() | ||
58 | +{ | ||
59 | + JZSDK_LOG_INFO("执行开机任务"); | ||
60 | + | ||
61 | + if (g_PoweronCallback) { | ||
62 | + T_JZsdkReturnCode callbackRet = g_PoweronCallback(); | ||
63 | + if (callbackRet != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
64 | + { | ||
65 | + JZSDK_LOG_ERROR("开机任务未正常执行"); | ||
66 | + } | ||
67 | + } | ||
68 | + | ||
69 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
70 | +} | ||
71 | + | ||
72 | +//电源管理初始化 | ||
73 | +T_JZsdkReturnCode PowerManger_Init() | ||
74 | +{ | ||
75 | + | ||
76 | +} | ||
22 | 77 | ||
23 | //电源重启 | 78 | //电源重启 |
24 | T_JZsdkReturnCode PowerManger_PowerReboot() | 79 | T_JZsdkReturnCode PowerManger_PowerReboot() |
@@ -25,6 +25,9 @@ extern "C" { | @@ -25,6 +25,9 @@ extern "C" { | ||
25 | 25 | ||
26 | /* Exported functions --------------------------------------------------------*/ | 26 | /* Exported functions --------------------------------------------------------*/ |
27 | T_JZsdkReturnCode PowerManger_SetPowerStatus(int status); | 27 | T_JZsdkReturnCode PowerManger_SetPowerStatus(int status); |
28 | +T_JZsdkReturnCode PowerManager_RegisterPowerOffCallback(T_JZsdkReturnCode (*callback)(void)); | ||
29 | +T_JZsdkReturnCode PowerManager_RegisterPowerOnCallback(T_JZsdkReturnCode (*callback)(void)); | ||
30 | +T_JZsdkReturnCode PowerManger_PowerOn(); | ||
28 | 31 | ||
29 | 32 | ||
30 | #ifdef __cplusplus | 33 | #ifdef __cplusplus |
@@ -293,7 +293,14 @@ static T_JZsdkReturnCode DeviceMessage_Enter_Debug(unsigned char *message) | @@ -293,7 +293,14 @@ static T_JZsdkReturnCode DeviceMessage_Enter_Debug(unsigned char *message) | ||
293 | memset(old_message, 0, MESSAGE_MAX_LEN); | 293 | memset(old_message, 0, MESSAGE_MAX_LEN); |
294 | memset(new_message, 0, MESSAGE_MAX_LEN); | 294 | memset(new_message, 0, MESSAGE_MAX_LEN); |
295 | 295 | ||
296 | + if (g_MessageLanguage == DEVICE_MESSAGE_CHINESE) | ||
297 | + { | ||
296 | snprintf(new_message,MESSAGE_MAX_LEN,"调试界面\n"); | 298 | snprintf(new_message,MESSAGE_MAX_LEN,"调试界面\n"); |
299 | + } | ||
300 | + else | ||
301 | + { | ||
302 | + snprintf(new_message,MESSAGE_MAX_LEN,"Debug-Perspective\n"); | ||
303 | + } | ||
297 | snprintf(old_message,MESSAGE_MAX_LEN,"%s",message); | 304 | snprintf(old_message,MESSAGE_MAX_LEN,"%s",message); |
298 | snprintf(message,MESSAGE_MAX_LEN,"%s%s",old_message,new_message); | 305 | snprintf(message,MESSAGE_MAX_LEN,"%s%s",old_message,new_message); |
299 | 306 |
@@ -83,6 +83,14 @@ T_JZsdkReturnCode FOMAT_FirewareOriginRegion_Init(int SerialType, unsigned char | @@ -83,6 +83,14 @@ T_JZsdkReturnCode FOMAT_FirewareOriginRegion_Init(int SerialType, unsigned char | ||
83 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 83 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
84 | } | 84 | } |
85 | 85 | ||
86 | + //检测是否是欧洲定制区域固件 | ||
87 | + if ((SerialNumber[4] == 'E' || SerialNumber[4] == 'e') | ||
88 | + && (SerialNumber[5] == 'U' || SerialNumber[5] == 'u')) | ||
89 | + { | ||
90 | + g_OriginRegionNum = ORIGIN_EU; | ||
91 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
92 | + } | ||
93 | + | ||
86 | //无匹配序列号 | 94 | //无匹配序列号 |
87 | if (FIRMWARE_ORIGIN == DOMESTIC_VERSION) | 95 | if (FIRMWARE_ORIGIN == DOMESTIC_VERSION) |
88 | { | 96 | { |
@@ -26,6 +26,8 @@ static int WarningLight_Mode; //警灯模式 | @@ -26,6 +26,8 @@ static int WarningLight_Mode; //警灯模式 | ||
26 | static int WarningLight_Color1; //警灯颜色1 | 26 | static int WarningLight_Color1; //警灯颜色1 |
27 | static int WarningLight_Color2; //警灯颜色2 | 27 | static int WarningLight_Color2; //警灯颜色2 |
28 | 28 | ||
29 | +static int g_SearchLight_Subscription_Flag = JZ_FLAGCODE_ON; //消息订阅状态 | ||
30 | + | ||
29 | #define MAX(a,b) ( (a>b) ?a:b ) | 31 | #define MAX(a,b) ( (a>b) ?a:b ) |
30 | 32 | ||
31 | T_JZsdkReturnCode Lighting_Init() | 33 | T_JZsdkReturnCode Lighting_Init() |
@@ -421,3 +423,26 @@ T_JZsdkReturnCode JZsdk_SearchLight_FlushLumen(int InputLumen) | @@ -421,3 +423,26 @@ T_JZsdkReturnCode JZsdk_SearchLight_FlushLumen(int InputLumen) | ||
421 | { | 423 | { |
422 | JZsdk_SearchLightTemControl_FlushLumen(InputLumen); | 424 | JZsdk_SearchLightTemControl_FlushLumen(InputLumen); |
423 | } | 425 | } |
426 | + | ||
427 | +/**************** | ||
428 | + * | ||
429 | + * 获取消息订阅状态 | ||
430 | + * | ||
431 | + * *************/ | ||
432 | +int JZsdk_SearchLight_GetMessageSubFlag(void) | ||
433 | +{ | ||
434 | + return g_SearchLight_Subscription_Flag; | ||
435 | +} | ||
436 | + | ||
437 | +/*************************** | ||
438 | + * | ||
439 | + * 设置消息订阅状态 | ||
440 | + * | ||
441 | + * | ||
442 | +************************/ | ||
443 | +T_JZsdkReturnCode JZsdk_SearchLight_SetMessageSubFlag(int InputFlag) | ||
444 | +{ | ||
445 | + g_SearchLight_Subscription_Flag = InputFlag; | ||
446 | + | ||
447 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
448 | +} |
@@ -55,6 +55,11 @@ T_JZsdkReturnCode Lighting_CheckStatus_WarningLightColor(int *ValueColor1, int * | @@ -55,6 +55,11 @@ T_JZsdkReturnCode Lighting_CheckStatus_WarningLightColor(int *ValueColor1, int * | ||
55 | 55 | ||
56 | T_JZsdkReturnCode JZsdk_SearchLight_FlushLumen(int InputLumen); | 56 | T_JZsdkReturnCode JZsdk_SearchLight_FlushLumen(int InputLumen); |
57 | 57 | ||
58 | + | ||
59 | +int JZsdk_SearchLight_GetMessageSubFlag(void); | ||
60 | +T_JZsdkReturnCode JZsdk_SearchLight_SetMessageSubFlag(int InputFlag); | ||
61 | + | ||
62 | + | ||
58 | #ifdef __cplusplus | 63 | #ifdef __cplusplus |
59 | } | 64 | } |
60 | #endif | 65 | #endif |
@@ -94,39 +94,11 @@ T_JZsdkReturnCode JZsdk_FrameCatch_Init(int ThreadMode) | @@ -94,39 +94,11 @@ T_JZsdkReturnCode JZsdk_FrameCatch_Init(int ThreadMode) | ||
94 | 94 | ||
95 | /*******************************************************************************************************************************************/ | 95 | /*******************************************************************************************************************************************/ |
96 | 96 | ||
97 | -//多线程抓取数据线程 | ||
98 | -static void *JZsdk_Catch_MultiThread2(void *args) | ||
99 | -{ | ||
100 | - while (1) | ||
101 | - { | ||
102 | - unsigned int buf_size = 0; | ||
103 | - unsigned char *buf = NULL; | ||
104 | - | ||
105 | - //从相机中读取一张照片 | ||
106 | - V4L2_CameraFrameRecord_OnlyGetFrame(&buf, &buf_size); | ||
107 | - | ||
108 | - //printf("read: len:%d data[3]:%x data[4]:%x\n", buf_size, buf[3], buf[4]); | ||
109 | - | ||
110 | - if (buf == NULL) | ||
111 | - { | ||
112 | - JZSDK_LOG_ERROR("相机数据读取失败"); | ||
113 | - continue; | ||
114 | - } | ||
115 | - | ||
116 | - //放入缓冲池 //将数据放入缓冲池,从而被其他线程使用 | ||
117 | - VideoMgmt_write_data(&args, buf, buf_size); | ||
118 | - | ||
119 | - //归还图片 | ||
120 | - V4L2_CameraFrameRecord_OnlyReturnFrame(); | ||
121 | - } | ||
122 | -} | ||
123 | - | ||
124 | 97 | ||
125 | //单线程抓取数据线程 | 98 | //单线程抓取数据线程 |
126 | -static void *JZsdk_Catch_SingleThread2(void *args) | 99 | +static void *JZsdk_Catch_SingleThread(void *args) |
127 | { | 100 | { |
128 | - t_FrameCatch_TaskFuntionInput *task = (t_FrameCatch_TaskFuntionInput *)args; | ||
129 | - | 101 | + JZsdk_CameraInfo *CameraInfo = (JZsdk_CameraInfo *)args; |
130 | while (1) | 102 | while (1) |
131 | { | 103 | { |
132 | 104 | ||
@@ -134,7 +106,7 @@ static void *JZsdk_Catch_SingleThread2(void *args) | @@ -134,7 +106,7 @@ static void *JZsdk_Catch_SingleThread2(void *args) | ||
134 | unsigned char *buf = NULL; | 106 | unsigned char *buf = NULL; |
135 | 107 | ||
136 | //从相机中读取一张照片 | 108 | //从相机中读取一张照片 |
137 | - V4L2_CameraFrameRecord_OnlyGetFrame(&buf, &buf_size); | 109 | + V4L2_CameraFrameRecord_OnlyGetFrame2(CameraInfo ,&buf, &buf_size); |
138 | 110 | ||
139 | //JZSDK_LOG_INFO("read: len:%d data[3]:%x data[4]:%x\n", buf_size, buf[3], buf[4]); | 111 | //JZSDK_LOG_INFO("read: len:%d data[3]:%x data[4]:%x\n", buf_size, buf[3], buf[4]); |
140 | 112 | ||
@@ -145,10 +117,10 @@ static void *JZsdk_Catch_SingleThread2(void *args) | @@ -145,10 +117,10 @@ static void *JZsdk_Catch_SingleThread2(void *args) | ||
145 | } | 117 | } |
146 | 118 | ||
147 | //进行数据处理 | 119 | //进行数据处理 |
148 | - task->task_function(buf, buf_size); | 120 | + CameraInfo->SingleDataOutput(buf, buf_size); |
149 | 121 | ||
150 | //归还图片 | 122 | //归还图片 |
151 | - V4L2_CameraFrameRecord_OnlyReturnFrame(); | 123 | + V4L2_CameraFrameRecord_OnlyReturnFrame2(CameraInfo); |
152 | } | 124 | } |
153 | } | 125 | } |
154 | 126 | ||
@@ -161,43 +133,79 @@ static void *JZsdk_Catch_SingleThread2(void *args) | @@ -161,43 +133,79 @@ static void *JZsdk_Catch_SingleThread2(void *args) | ||
161 | * 传入线程的处理函数 task_function | 133 | * 传入线程的处理函数 task_function |
162 | * | 134 | * |
163 | * *****************************************/ | 135 | * *****************************************/ |
164 | -T_JZsdkReturnCode JZsdk_FrameCatch_Single(T_JZsdkReturnCode (*task_function)(unsigned char*, unsigned int)) | 136 | +T_JZsdkReturnCode JZsdk_FrameCatch_Single(JZsdk_CameraInfo *CameraInfo) |
165 | { | 137 | { |
166 | T_JZsdkReturnCode ret; | 138 | T_JZsdkReturnCode ret; |
167 | 139 | ||
168 | - //初始化数据接收线程 | ||
169 | - pthread_t ReadDataTask; | ||
170 | - pthread_attr_t task_attribute; //线程属性 | ||
171 | - pthread_attr_init(&task_attribute); //初始化线程属性 | ||
172 | - pthread_attr_setdetachstate(&task_attribute, PTHREAD_CREATE_DETACHED); //设置线程分离属性 | ||
173 | - | 140 | + T_JZTaskHandle single_task = NULL; |
141 | + T_JZsdkOsalHandler *osal_handler = JZsdk_Platform_GetOsalHandler(); | ||
142 | + osal_handler->TaskCreate("framecatch_single",JZsdk_Catch_SingleThread, 8192, (void *)CameraInfo, &single_task); | ||
174 | 143 | ||
175 | - //单线程模式 | ||
176 | - if (task_function == NULL) | 144 | + if (single_task == NULL) |
177 | { | 145 | { |
178 | - return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; | 146 | + JZSDK_LOG_ERROR("创建相机抓取并处理初始化线程失败!"); |
147 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
179 | } | 148 | } |
180 | 149 | ||
181 | - t_FrameCatch_TaskFuntionInput *task = (t_FrameCatch_TaskFuntionInput*)malloc(sizeof(t_FrameCatch_TaskFuntionInput)); | ||
182 | - if (task == NULL) | 150 | + JZSDK_LOG_INFO("创建相机抓取并处理初始化线程成功!"); |
151 | + | ||
152 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
153 | +} | ||
154 | + | ||
155 | + | ||
156 | + | ||
157 | + | ||
158 | + | ||
159 | + | ||
160 | + | ||
161 | + | ||
162 | + | ||
163 | + | ||
164 | + | ||
165 | + | ||
166 | + | ||
167 | + | ||
168 | + | ||
169 | + | ||
170 | + | ||
171 | + | ||
172 | + | ||
173 | + | ||
174 | + | ||
175 | + | ||
176 | + | ||
177 | + | ||
178 | + | ||
179 | +//多线程抓取数据线程 | ||
180 | +static void *JZsdk_Catch_MultiThread2(void *args) | ||
181 | +{ | ||
182 | + while (1) | ||
183 | { | 183 | { |
184 | - // 处理内存分配失败的情况 | ||
185 | - return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; | ||
186 | - } | 184 | + unsigned int buf_size = 0; |
185 | + unsigned char *buf = NULL; | ||
187 | 186 | ||
188 | - //task->task_function = task_function; | ||
189 | - task->task_function = (void (*)(unsigned char *, unsigned int))task_function; | 187 | + //从相机中读取一张照片 |
188 | + V4L2_CameraFrameRecord_OnlyGetFrame(&buf, &buf_size); | ||
190 | 189 | ||
191 | - int opus_Protection = pthread_create(&ReadDataTask,&task_attribute,JZsdk_Catch_SingleThread2,(void *)task); //线程 | ||
192 | - if(opus_Protection != 0) | 190 | + //printf("read: len:%d data[3]:%x data[4]:%x\n", buf_size, buf[3], buf[4]); |
191 | + | ||
192 | + if (buf == NULL) | ||
193 | { | 193 | { |
194 | - JZSDK_LOG_ERROR("创建相机抓取并处理初始化线程失败!"); | ||
195 | - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 194 | + JZSDK_LOG_ERROR("相机数据读取失败"); |
195 | + continue; | ||
196 | } | 196 | } |
197 | 197 | ||
198 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 198 | + //放入缓冲池 //将数据放入缓冲池,从而被其他线程使用 |
199 | + VideoMgmt_write_data(&args, buf, buf_size); | ||
200 | + | ||
201 | + //归还图片 | ||
202 | + V4L2_CameraFrameRecord_OnlyReturnFrame(); | ||
203 | + } | ||
199 | } | 204 | } |
200 | 205 | ||
206 | + | ||
207 | + | ||
208 | + | ||
201 | /************************* | 209 | /************************* |
202 | * | 210 | * |
203 | * | 211 | * |
@@ -24,10 +24,10 @@ extern "C" { | @@ -24,10 +24,10 @@ extern "C" { | ||
24 | /* Exported types ------------------------------------------------------------*/ | 24 | /* Exported types ------------------------------------------------------------*/ |
25 | 25 | ||
26 | /* Exported functions --------------------------------------------------------*/ | 26 | /* Exported functions --------------------------------------------------------*/ |
27 | -T_JZsdkReturnCode JZsdk_FrameCatch_Init(int ThreadMode); | ||
28 | -T_JZsdkReturnCode JZsdk_FrameCatch_Single(T_JZsdkReturnCode (*task_function)(unsigned char*, unsigned int)); | 27 | +T_JZsdkReturnCode JZsdk_FrameCatch_Single(JZsdk_CameraInfo *CameraInfo); |
29 | T_JZsdkReturnCode JZsdk_FrameCatch_Multi(void *FrameIndex); | 28 | T_JZsdkReturnCode JZsdk_FrameCatch_Multi(void *FrameIndex); |
30 | 29 | ||
30 | +T_JZsdkReturnCode JZsdk_FrameCatch_Init(int ThreadMode); | ||
31 | 31 | ||
32 | #ifdef __cplusplus | 32 | #ifdef __cplusplus |
33 | } | 33 | } |
@@ -97,6 +97,7 @@ T_JZsdkReturnCode Cam_Zoom_Init() | @@ -97,6 +97,7 @@ T_JZsdkReturnCode Cam_Zoom_Init() | ||
97 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 97 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
98 | } | 98 | } |
99 | 99 | ||
100 | + JZSDK_LOG_INFO("变焦模块初始化成功!"); | ||
100 | 101 | ||
101 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 102 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
102 | } | 103 | } |
@@ -31,41 +31,41 @@ int g_CameraRegionBox_FirstPixel[2] = {0, 0}; // 初始化第一点坐标(x, y) | @@ -31,41 +31,41 @@ int g_CameraRegionBox_FirstPixel[2] = {0, 0}; // 初始化第一点坐标(x, y) | ||
31 | int g_CameraRegionBox_SecondPixel[2] = {0, 0}; // 初始化第二点坐标(x, y)为(0, 0) | 31 | int g_CameraRegionBox_SecondPixel[2] = {0, 0}; // 初始化第二点坐标(x, y)为(0, 0) |
32 | int g_CameraRegionBox_ClickTime = 0; | 32 | int g_CameraRegionBox_ClickTime = 0; |
33 | 33 | ||
34 | -/****************************** | ||
35 | - * | ||
36 | - * 相机初始化 | ||
37 | - * ThreadMode: 0为单线程 1为多线程 | ||
38 | - * width: 宽 | ||
39 | - * height: 高 | ||
40 | - * frame_num: 帧数 | ||
41 | - * | ||
42 | - * ******************************/ | ||
43 | -T_JZsdkReturnCode Camera_Init(int ThreadMode, int width, int height, int frame_num) | 34 | + |
35 | +T_JZsdkReturnCode Camera_Init(JZsdk_CameraInfo *CameraInfo) | ||
44 | { | 36 | { |
45 | T_JZsdkReturnCode ret; | 37 | T_JZsdkReturnCode ret; |
46 | 38 | ||
47 | //初始化摄像头 | 39 | //初始化摄像头 |
48 | - ret = V4l2_Camarainit2(&g_CameraFd,width,height,frame_num); | 40 | + ret = V4L2_CameraInit_2(CameraInfo); |
49 | if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | 41 | if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) |
50 | { | 42 | { |
51 | return ret; | 43 | return ret; |
52 | } | 44 | } |
53 | 45 | ||
54 | -#if DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T | ||
55 | //初始化摄像头参数 | 46 | //初始化摄像头参数 |
56 | - ret = V4L2_Parameter_Setting(g_CameraFd); | 47 | + ret = V4L2_Parameter_Setting(CameraInfo); |
57 | if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | 48 | if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) |
58 | { | 49 | { |
59 | JZSDK_LOG_ERROR("摄像头参数调整失败"); | 50 | JZSDK_LOG_ERROR("摄像头参数调整失败"); |
60 | return ret; | 51 | return ret; |
61 | } | 52 | } |
62 | -#endif | ||
63 | 53 | ||
64 | - //根据线程模式初始化抓取和初步处理的线程 | ||
65 | - JZsdk_FrameCatch_Init(ThreadMode); | 54 | + if (CameraInfo->ThreadMode == JZSDK_SINGLE_THREAD && CameraInfo->SingleDataOutput != NULL) |
55 | + { | ||
56 | + JZsdk_FrameCatch_Single(CameraInfo); | ||
57 | + } | ||
58 | + else if(CameraInfo->ThreadMode == JZSDK_MULTI_THREAD) | ||
59 | + { | ||
60 | + //JZsdk_FrameCatch_Init(ThreadMode); | ||
61 | + } | ||
62 | + else | ||
63 | + { | ||
64 | + JZSDK_LOG_ERROR("线程模式错误"); | ||
65 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
66 | + } | ||
66 | 67 | ||
67 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 68 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
68 | - | ||
69 | } | 69 | } |
70 | 70 | ||
71 | 71 | ||
@@ -136,6 +136,7 @@ T_JZsdkReturnCode JZsdk_CameraSPC_ResetSwitch() | @@ -136,6 +136,7 @@ T_JZsdkReturnCode JZsdk_CameraSPC_ResetSwitch() | ||
136 | * **************************/ | 136 | * **************************/ |
137 | T_JZsdkReturnCode JZsdk_Camera_GasEnhancementCorrectSwitch() | 137 | T_JZsdkReturnCode JZsdk_Camera_GasEnhancementCorrectSwitch() |
138 | { | 138 | { |
139 | + JZSDK_LOG_INFO("气体增强打档"); | ||
139 | IRC_SetDGCE_ResetFlag(); | 140 | IRC_SetDGCE_ResetFlag(); |
140 | } | 141 | } |
141 | 142 | ||
@@ -206,17 +207,21 @@ static T_JZsdkReturnCode Camera_CorrectionMode(int mode) | @@ -206,17 +207,21 @@ static T_JZsdkReturnCode Camera_CorrectionMode(int mode) | ||
206 | { | 207 | { |
207 | case 0: | 208 | case 0: |
208 | RealMode = JZ_FLAGCODE_OFF; | 209 | RealMode = JZ_FLAGCODE_OFF; |
210 | + JZSDK_LOG_INFO("无校正"); | ||
209 | break; | 211 | break; |
210 | 212 | ||
211 | case 1: | 213 | case 1: |
212 | RealMode = IRC_CORRCTION_SPC; | 214 | RealMode = IRC_CORRCTION_SPC; |
215 | + JZSDK_LOG_INFO("单点校正"); | ||
213 | break; | 216 | break; |
214 | 217 | ||
215 | case 2: | 218 | case 2: |
216 | RealMode = IRC_CORRCTION_TPC; | 219 | RealMode = IRC_CORRCTION_TPC; |
220 | + JZSDK_LOG_INFO("两点校正"); | ||
217 | break; | 221 | break; |
218 | 222 | ||
219 | default: | 223 | default: |
224 | + JZSDK_LOG_INFO("模式错误:%d",mode); | ||
220 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 225 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
221 | break; | 226 | break; |
222 | } | 227 | } |
@@ -242,18 +247,22 @@ static T_JZsdkReturnCode Camera_GasEnhancementColor(int mode) | @@ -242,18 +247,22 @@ static T_JZsdkReturnCode Camera_GasEnhancementColor(int mode) | ||
242 | switch (mode) | 247 | switch (mode) |
243 | { | 248 | { |
244 | case 0: | 249 | case 0: |
250 | + JZSDK_LOG_INFO("气体增强红色"); | ||
245 | RealMode = IRC_GAS_ENHANCEMENT_RED; | 251 | RealMode = IRC_GAS_ENHANCEMENT_RED; |
246 | break; | 252 | break; |
247 | 253 | ||
248 | case 1: | 254 | case 1: |
255 | + JZSDK_LOG_INFO("气体增强绿色"); | ||
249 | RealMode = IRC_GAS_ENHANCEMENT_GREEN; | 256 | RealMode = IRC_GAS_ENHANCEMENT_GREEN; |
250 | break; | 257 | break; |
251 | 258 | ||
252 | case 2: | 259 | case 2: |
260 | + JZSDK_LOG_INFO("气体增强蓝色"); | ||
253 | RealMode = IRC_GAS_ENHANCEMENT_BLUE; | 261 | RealMode = IRC_GAS_ENHANCEMENT_BLUE; |
254 | break; | 262 | break; |
255 | 263 | ||
256 | default: | 264 | default: |
265 | + JZSDK_LOG_ERROR("气体增强错误:%d",mode); | ||
257 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 266 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
258 | break; | 267 | break; |
259 | } | 268 | } |
@@ -13,6 +13,7 @@ | @@ -13,6 +13,7 @@ | ||
13 | /* Includes ------------------------------------------------------------------*/ | 13 | /* Includes ------------------------------------------------------------------*/ |
14 | #include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | 14 | #include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" |
15 | #include "MediaProc/MediaProc_Param.h" | 15 | #include "MediaProc/MediaProc_Param.h" |
16 | +#include "MediaProc/Camera/CameraDef.h" | ||
16 | 17 | ||
17 | #include "MediaProc/Camera/Cam_FrameCatch/Cam_FrameCatch.h" | 18 | #include "MediaProc/Camera/Cam_FrameCatch/Cam_FrameCatch.h" |
18 | #include "MediaProc/Camera/V4L2_camera/V4L2_CameraParameterSetting.h" | 19 | #include "MediaProc/Camera/V4L2_camera/V4L2_CameraParameterSetting.h" |
@@ -37,7 +38,7 @@ T_JZsdkReturnCode JZsdk_Camera_BadPixelSwitch(); | @@ -37,7 +38,7 @@ T_JZsdkReturnCode JZsdk_Camera_BadPixelSwitch(); | ||
37 | T_JZsdkReturnCode JZsdk_CameraSPC_ResetSwitch(); | 38 | T_JZsdkReturnCode JZsdk_CameraSPC_ResetSwitch(); |
38 | T_JZsdkReturnCode JZsdk_Camera_GasEnhancementCorrectSwitch(); | 39 | T_JZsdkReturnCode JZsdk_Camera_GasEnhancementCorrectSwitch(); |
39 | 40 | ||
40 | -T_JZsdkReturnCode Camera_Init(int ThreadMode, int width, int height, int frame_num); | 41 | +T_JZsdkReturnCode Camera_Init(JZsdk_CameraInfo *CameraInfo); |
41 | 42 | ||
42 | 43 | ||
43 | #ifdef __cplusplus | 44 | #ifdef __cplusplus |
Module/MediaProc/Camera/CameraDef.h
0 → 100644
1 | +/** | ||
2 | + ******************************************************************** | ||
3 | + * @file CameraDef.h | ||
4 | + * Camera的头文件 | ||
5 | + * | ||
6 | + ********************************************************************* | ||
7 | + */ | ||
8 | + | ||
9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
10 | +#ifndef CMAERA_DEF_H | ||
11 | +#define CMAERA_DEF_H | ||
12 | + | ||
13 | +/* Includes ------------------------------------------------------------------*/ | ||
14 | +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | ||
15 | + | ||
16 | +#ifdef __cplusplus | ||
17 | +extern "C" { | ||
18 | +#endif | ||
19 | + | ||
20 | +/* Exported constants --------------------------------------------------------*/ | ||
21 | +/* 常亮定义*/ | ||
22 | +typedef struct JZsdk_CameraParam | ||
23 | +{ | ||
24 | + unsigned int Brightness; //亮度,该摄像头亮度范围为 1-255 默认128 | ||
25 | + unsigned int Contrast; //对比度,该摄像头对比度范围为 1-255 默认128 | ||
26 | + unsigned int Saturation; //饱和度,该摄像头饱和度范围为 1-255 默认128 | ||
27 | + unsigned int expsure; //曝光,该摄像头曝光范围为 1-255 默认128 | ||
28 | +}JZsdk_CameraParam; | ||
29 | + | ||
30 | + | ||
31 | +typedef struct JZsdk_CameraInfo | ||
32 | +{ | ||
33 | + /***************** 摄像头基础配置 ******************/ | ||
34 | + | ||
35 | + int CameraFd; //摄像头文件描述符 | ||
36 | + unsigned char CmeraDevPath[JZSDK_FILE_PATH_SIZE_MAX]; //摄像头设备路径 | ||
37 | + int width; | ||
38 | + int height; | ||
39 | + int FrameNum; | ||
40 | + int CameraFormat; | ||
41 | + | ||
42 | + /***************** 摄像头参数配置 ******************/ | ||
43 | + JZsdk_CameraParam CameraParam; | ||
44 | + | ||
45 | + /***************** 设置画面数据的输出配置 ******************/ | ||
46 | + | ||
47 | + //相机拍摄的画面流的输出模式 分为单线程和多线程 | ||
48 | + int ThreadMode; | ||
49 | + | ||
50 | + //单线程时,需要提供一个数据输出的函数 | ||
51 | + T_JZsdkReturnCode (*SingleDataOutput)(unsigned char *data, unsigned int len); | ||
52 | + | ||
53 | + //多线程时,输出的缓冲区索引值 | ||
54 | + int VideoMgmt_index; | ||
55 | +}JZsdk_CameraInfo; | ||
56 | + | ||
57 | +/* Exported types ------------------------------------------------------------*/ | ||
58 | + | ||
59 | + | ||
60 | +/* Exported functions --------------------------------------------------------*/ | ||
61 | + | ||
62 | +#ifdef __cplusplus | ||
63 | +} | ||
64 | +#endif | ||
65 | + | ||
66 | +#endif |
@@ -16,36 +16,48 @@ | @@ -16,36 +16,48 @@ | ||
16 | #include <linux/videodev2.h> | 16 | #include <linux/videodev2.h> |
17 | #include "./V4L2_CameraParameterSetting.h" | 17 | #include "./V4L2_CameraParameterSetting.h" |
18 | #include "JZsdkLib.h" | 18 | #include "JZsdkLib.h" |
19 | +#include "../Camera.h" | ||
19 | 20 | ||
20 | #include "MediaProc/MediaParm.h" | 21 | #include "MediaProc/MediaParm.h" |
21 | 22 | ||
22 | -T_JZsdkReturnCode V4L2_Parameter_Setting(int cam_fd) | 23 | +T_JZsdkReturnCode V4L2_Parameter_Setting(JZsdk_CameraInfo *CameraInfo) |
23 | { | 24 | { |
24 | struct v4l2_control ctrl; | 25 | struct v4l2_control ctrl; |
25 | 26 | ||
26 | //设置亮度* | 27 | //设置亮度* |
28 | + if (CameraInfo->CameraParam.Brightness != 0) | ||
29 | + { | ||
27 | ctrl.id= V4L2_CID_BRIGHTNESS; | 30 | ctrl.id= V4L2_CID_BRIGHTNESS; |
28 | - ctrl.value = BRIGHTNESS; | ||
29 | - if(ioctl(cam_fd,VIDIOC_S_CTRL,&ctrl)==-1) | 31 | + ctrl.value = CameraInfo->CameraParam.Brightness; |
32 | + if(ioctl(CameraInfo->CameraFd,VIDIOC_S_CTRL,&ctrl)==-1) | ||
30 | { | 33 | { |
31 | JZSDK_LOG_INFO("相机亮度设置失败"); | 34 | JZSDK_LOG_INFO("相机亮度设置失败"); |
32 | } | 35 | } |
36 | + } | ||
33 | 37 | ||
34 | //设置对比度 | 38 | //设置对比度 |
39 | + if (CameraInfo->CameraParam.Contrast != 0) | ||
40 | + { | ||
35 | ctrl.id = V4L2_CID_CONTRAST; | 41 | ctrl.id = V4L2_CID_CONTRAST; |
36 | - ctrl.value= CONTRAST; | ||
37 | - if(ioctl(cam_fd,VIDIOC_S_CTRL,&ctrl)==-1) | 42 | + ctrl.value= CameraInfo->CameraParam.Contrast; |
43 | + if(ioctl(CameraInfo->CameraFd,VIDIOC_S_CTRL,&ctrl)==-1) | ||
38 | { | 44 | { |
39 | JZSDK_LOG_INFO("相机对比度设置失败"); | 45 | JZSDK_LOG_INFO("相机对比度设置失败"); |
40 | } | 46 | } |
47 | + } | ||
41 | 48 | ||
42 | //设置饱和度 | 49 | //设置饱和度 |
50 | + if (CameraInfo->CameraParam.Saturation != 0) | ||
51 | + { | ||
43 | ctrl.id = V4L2_CID_SATURATION; | 52 | ctrl.id = V4L2_CID_SATURATION; |
44 | - ctrl.value= SATURATION; | ||
45 | - if(ioctl(cam_fd,VIDIOC_S_CTRL,&ctrl)==-1) | 53 | + ctrl.value= CameraInfo->CameraParam.Saturation; |
54 | + if(ioctl(CameraInfo->CameraFd,VIDIOC_S_CTRL,&ctrl)==-1) | ||
46 | { | 55 | { |
47 | perror("相机饱和度设置失败"); | 56 | perror("相机饱和度设置失败"); |
48 | } | 57 | } |
58 | + } | ||
59 | + | ||
60 | + | ||
49 | /* | 61 | /* |
50 | //设置色度 | 62 | //设置色度 |
51 | ctrl.id = V4L2_CID_HUE; | 63 | ctrl.id = V4L2_CID_HUE; |
@@ -104,6 +116,7 @@ T_JZsdkReturnCode V4L2_Parameter_Setting(int cam_fd) | @@ -104,6 +116,7 @@ T_JZsdkReturnCode V4L2_Parameter_Setting(int cam_fd) | ||
104 | exit(EXIT_FAILURE); | 116 | exit(EXIT_FAILURE); |
105 | } | 117 | } |
106 | */ | 118 | */ |
119 | + JZSDK_LOG_INFO("V4L2_Parameter_Setting success"); | ||
107 | 120 | ||
108 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 121 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
109 | } | 122 | } |
@@ -12,7 +12,7 @@ | @@ -12,7 +12,7 @@ | ||
12 | 12 | ||
13 | /* Includes ------------------------------------------------------------------*/ | 13 | /* Includes ------------------------------------------------------------------*/ |
14 | #include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | 14 | #include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" |
15 | - | 15 | +#include "../CameraDef.h" |
16 | 16 | ||
17 | #ifdef __cplusplus | 17 | #ifdef __cplusplus |
18 | extern "C" { | 18 | extern "C" { |
@@ -26,7 +26,7 @@ extern "C" { | @@ -26,7 +26,7 @@ extern "C" { | ||
26 | 26 | ||
27 | 27 | ||
28 | /* Exported functions --------------------------------------------------------*/ | 28 | /* Exported functions --------------------------------------------------------*/ |
29 | -T_JZsdkReturnCode V4L2_Parameter_Setting(int cam_fd); | 29 | +T_JZsdkReturnCode V4L2_Parameter_Setting(JZsdk_CameraInfo *CameraInfo); |
30 | 30 | ||
31 | 31 | ||
32 | #ifdef __cplusplus | 32 | #ifdef __cplusplus |
@@ -275,7 +275,7 @@ static int open_device() | @@ -275,7 +275,7 @@ static int open_device() | ||
275 | return 0; | 275 | return 0; |
276 | } | 276 | } |
277 | 277 | ||
278 | -T_JZsdkReturnCode V4l2_Camarainit2(int *dev_fd, int width, int height, int frame_num) | 278 | +T_JZsdkReturnCode V4l2_Camarainit(int *dev_fd, int width, int height, int frame_num) |
279 | { | 279 | { |
280 | int ret; | 280 | int ret; |
281 | 281 | ||
@@ -314,7 +314,8 @@ T_JZsdkReturnCode V4l2_Camarainit2(int *dev_fd, int width, int height, int frame | @@ -314,7 +314,8 @@ T_JZsdkReturnCode V4l2_Camarainit2(int *dev_fd, int width, int height, int frame | ||
314 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 314 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
315 | } | 315 | } |
316 | 316 | ||
317 | -int V4L2_CamaraUninit2() | 317 | + |
318 | +int V4L2_CamaraUninit() | ||
318 | { | 319 | { |
319 | 320 | ||
320 | //停止采集 | 321 | //停止采集 |
-
请 注册 或 登录 后发表评论