合并分支 'dev_00.00.02.14' 到 'dev'
Dev 00.00.02.14 查看合并请求 !17
正在显示
64 个修改的文件
包含
2655 行增加
和
1059 行删除
| @@ -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) | ||
| 26 | - set(DEVICE_TYPE MEGAPHONE) | 20 | + set(MAKE_COMPILER ARM_CORTEXA9_LINUX) |
| 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 音频处理模块 |
| @@ -112,6 +113,12 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H1T") | @@ -112,6 +113,12 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H1T") | ||
| 112 | 113 | ||
| 113 | # 添加FFMPEG及其附属模块 | 114 | # 添加FFMPEG及其附属模块 |
| 114 | set(FFMPEG_MODULE VERSION_SWITCH_ON) | 115 | set(FFMPEG_MODULE VERSION_SWITCH_ON) |
| 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") | ||
| 115 | 122 | ||
| 116 | elseif("${DEVICE_NAME}" STREQUAL "JZ_U3") | 123 | elseif("${DEVICE_NAME}" STREQUAL "JZ_U3") |
| 117 | 124 | ||
| @@ -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 音频处理模块 |
| @@ -175,6 +194,12 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_U3D") | @@ -175,6 +194,12 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_U3D") | ||
| 175 | 194 | ||
| 176 | # 添加FFMPEG及其附属模块 | 195 | # 添加FFMPEG及其附属模块 |
| 177 | set(FFMPEG_MODULE VERSION_SWITCH_ON) | 196 | set(FFMPEG_MODULE VERSION_SWITCH_ON) |
| 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") | ||
| 178 | 203 | ||
| 179 | elseif("${DEVICE_NAME}" STREQUAL "JZ_U30") | 204 | elseif("${DEVICE_NAME}" STREQUAL "JZ_U30") |
| 180 | 205 | ||
| @@ -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 音频处理模块 |
| @@ -231,6 +268,12 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H10T") | @@ -231,6 +268,12 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H10T") | ||
| 231 | 268 | ||
| 232 | # 添加FFMPEG及其附属模块 | 269 | # 添加FFMPEG及其附属模块 |
| 233 | set(FFMPEG_MODULE VERSION_SWITCH_ON) | 270 | set(FFMPEG_MODULE VERSION_SWITCH_ON) |
| 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") | ||
| 234 | 277 | ||
| 235 | elseif("${DEVICE_NAME}" STREQUAL "JZ_H150S") | 278 | elseif("${DEVICE_NAME}" STREQUAL "JZ_H150S") |
| 236 | # 添加AudioDeal 音频处理模块 | 279 | # 添加AudioDeal 音频处理模块 |
| @@ -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 | - | ||
| 30 | - //1、初始化log | ||
| 31 | - JZsdk_LoggerInit(); | 29 | + |
| 30 | + if (LogFlag == JZ_FLAGCODE_ON) | ||
| 31 | + { | ||
| 32 | + //1、初始化log | ||
| 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 | * 获取设备初始化标志 |
| @@ -879,4 +431,4 @@ int BaseConfig_GetDeviceInitFlag() | @@ -879,4 +431,4 @@ int BaseConfig_GetDeviceInitFlag() | ||
| 879 | g_device_InitFlag = JZ_FLAGCODE_ON; | 431 | g_device_InitFlag = JZ_FLAGCODE_ON; |
| 880 | 432 | ||
| 881 | return g_device_InitFlag; | 433 | return g_device_InitFlag; |
| 882 | -} | ||
| 434 | +} |
| @@ -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; | ||
| 52 | 54 | ||
| 53 | -#endif | 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; | ||
| 62 | + | ||
| 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,17 +404,48 @@ static void *JZC1_IrcDataBuffer_Thread(void *args) | @@ -386,17 +404,48 @@ 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 | } |
| 396 | - | ||
| 397 | - | ||
| 398 | } | 415 | } |
| 399 | 416 | ||
| 417 | +// static void *JZC1_IrcDataBuffer_Thread(void *args) | ||
| 418 | +// { | ||
| 419 | +// unsigned char *TempBuffer = (unsigned char *)malloc(163840); | ||
| 420 | +// unsigned int TempBufferLen = 0; | ||
| 421 | + | ||
| 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 | +// } | ||
| 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 | { |
| 402 | //避免缓冲区被同时操作 | 451 | //避免缓冲区被同时操作 |
| @@ -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; | ||
| 591 | 670 | ||
| 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 | - * ******************/ | 671 | + rgaInfo->src_img = NULL; |
| 611 | 672 | ||
| 673 | + RK_Rga_ImageInit(&(rgaInfo->src_img), width, height, dst_format, rect_x, rect_y, rect_w, rect_h); //初始化输入模块 | ||
| 612 | 674 | ||
| 613 | -/****************** | ||
| 614 | - * | ||
| 615 | - * 混合视频处理 | ||
| 616 | - * | ||
| 617 | - * | ||
| 618 | - * ********************/ | ||
| 619 | -static void JZC1_MixedVideo_Deal() | ||
| 620 | -{ | 675 | + rgaInfo->corp_img = NULL; |
| 676 | + RK_Rga_ImageInit(&(rgaInfo->corp_img), width, height, dst_format, rect_x, rect_y, rect_w, rect_h); //初始化裁剪模块 | ||
| 621 | 677 | ||
| 678 | + rgaInfo->dst_img = NULL; | ||
| 679 | + RK_Rga_ImageInit(&(rgaInfo->dst_img), width, height, dst_format, rect_x, rect_y, rect_w, rect_h); //初始化输出模块 | ||
| 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 | +} | ||
| 1066 | + | ||
| 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 | + } | ||
| 1103 | 1073 | ||
| 1104 | - JZSDK_LOG_INFO("JZ_C1 INIT COMPLETED\n"); | 1074 | + int value = 0; |
| 1075 | + size_t read = fread(&value, sizeof(int), 1, file); | ||
| 1076 | + fclose(file); | ||
| 1105 | 1077 | ||
| 1106 | - return ret; | 1078 | + if (read != 1) { |
| 1079 | + fprintf(stderr, "Failed to read integer\n"); | ||
| 1080 | + return 0; | ||
| 1081 | + } | ||
| 1082 | + return value; | ||
| 1107 | } | 1083 | } |
| 1108 | 1084 | ||
| 1109 | 1085 | ||
| 1110 | 1086 | ||
| 1087 | +T_JZsdkReturnCode JZC1_PowerOff_Save() | ||
| 1088 | +{ | ||
| 1111 | 1089 | ||
| 1090 | + JZSDK_LOG_INFO("开始关机保存"); | ||
| 1112 | 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); | ||
| 1113 | 1114 | ||
| 1115 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 1116 | +} | ||
| 1114 | 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); | ||
| 1115 | 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); | ||
| 1116 | 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); | ||
| 1117 | 1134 | ||
| 1135 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 1136 | +} | ||
| 1118 | 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 | + } | ||
| 1119 | 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; | ||
| 1120 | 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); | ||
| 1121 | 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); | ||
| 1289 | + | ||
| 1290 | + //初始化变焦模块 | ||
| 1291 | + Cam_Zoom_Init(); | ||
| 1292 | + | ||
| 1293 | + //初始化C1的RGA模块 | ||
| 1294 | +#ifdef RTK_RGA_STATUS_ON | ||
| 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 | + } | ||
| 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); | ||
| 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 | + } | ||
| 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); | ||
| 1311 | + | ||
| 1312 | + //混合视频初始化 | ||
| 1313 | + JZC1_MixedVideo_Init(); | ||
| 1314 | +#endif | ||
| 1315 | + | ||
| 1316 | + | ||
| 1317 | +#endif | ||
| 1318 | + | ||
| 1319 | + //注册保存的回调函数 | ||
| 1320 | + PowerManager_RegisterPowerOffCallback(JZC1_PowerOff_Save); | ||
| 1321 | + | ||
| 1322 | + //注册读取保存的回调函数 | ||
| 1323 | + PowerManager_RegisterPowerOnCallback(JZC1_PowerOn_Read); | ||
| 1324 | + | ||
| 1325 | + JZSDK_LOG_INFO("JZC1_Init success"); | ||
| 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 |
| @@ -59,6 +59,10 @@ int HalRecv_type1_PreliminaryScreeningOfData(unsigned char *Data, int DataLen, i | @@ -59,6 +59,10 @@ int HalRecv_type1_PreliminaryScreeningOfData(unsigned char *Data, int DataLen, i | ||
| 59 | case HAL_DATA_TRANSMISSION: | 59 | case HAL_DATA_TRANSMISSION: |
| 60 | //JZSDK_LOG_INFO("hal-数据传输,接受到数据+未处理数据的长度len: %d", DataLen); | 60 | //JZSDK_LOG_INFO("hal-数据传输,接受到数据+未处理数据的长度len: %d", DataLen); |
| 61 | break; | 61 | break; |
| 62 | + | ||
| 63 | + case NET_DEV_1: | ||
| 64 | + //JZSDK_LOG_INFO("网络-设备1号,接受到数据+未处理数据的长度len: %d", DataLen); | ||
| 65 | + break; | ||
| 62 | 66 | ||
| 63 | /********** 未报备的接口 ************/ | 67 | /********** 未报备的接口 ************/ |
| 64 | default: | 68 | default: |
| @@ -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)); | ||
| 3335 | 3541 | ||
| 3542 | + //获取帧的序列号 | ||
| 3543 | + int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | ||
| 3336 | 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]; | ||
| 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 | + } | ||
| 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 |
| @@ -439,4 +439,9 @@ T_JZsdkReturnCode FF_Filter_Set_FilterMode(int mode) | @@ -439,4 +439,9 @@ T_JZsdkReturnCode FF_Filter_Set_FilterMode(int mode) | ||
| 439 | { | 439 | { |
| 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 | +} | ||
| 443 | + | ||
| 444 | +T_JZsdkReturnCode FF_Filter_Get_FilterMode() | ||
| 445 | +{ | ||
| 446 | + return g_FilterMode; | ||
| 442 | } | 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)) | ||
| 9 | { | 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 | +} | ||
| 10 | 23 | ||
| 24 | +T_JZsdkReturnCode PowerManager_RegisterPowerOnCallback(T_JZsdkReturnCode (*callback)(void)) | ||
| 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; | ||
| 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 | - snprintf(new_message,MESSAGE_MAX_LEN,"调试界面\n"); | 296 | + if (g_MessageLanguage == DEVICE_MESSAGE_CHINESE) |
| 297 | + { | ||
| 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() |
| @@ -420,4 +422,27 @@ T_JZsdkReturnCode Lighting_CheckStatus_WarningLightColor(int *ValueColor1, int * | @@ -420,4 +422,27 @@ T_JZsdkReturnCode Lighting_CheckStatus_WarningLightColor(int *ValueColor1, int * | ||
| 420 | T_JZsdkReturnCode JZsdk_SearchLight_FlushLumen(int InputLumen) | 422 | T_JZsdkReturnCode JZsdk_SearchLight_FlushLumen(int InputLumen) |
| 421 | { | 423 | { |
| 422 | JZsdk_SearchLightTemControl_FlushLumen(InputLumen); | 424 | JZsdk_SearchLightTemControl_FlushLumen(InputLumen); |
| 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; | ||
| 423 | } | 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) | ||
| 177 | - { | ||
| 178 | - return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; | ||
| 179 | - } | ||
| 180 | - | ||
| 181 | - t_FrameCatch_TaskFuntionInput *task = (t_FrameCatch_TaskFuntionInput*)malloc(sizeof(t_FrameCatch_TaskFuntionInput)); | ||
| 182 | - if (task == NULL) | ||
| 183 | - { | ||
| 184 | - // 处理内存分配失败的情况 | ||
| 185 | - return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; | ||
| 186 | - } | ||
| 187 | - | ||
| 188 | - //task->task_function = task_function; | ||
| 189 | - task->task_function = (void (*)(unsigned char *, unsigned int))task_function; | ||
| 190 | - | ||
| 191 | - int opus_Protection = pthread_create(&ReadDataTask,&task_attribute,JZsdk_Catch_SingleThread2,(void *)task); //线程 | ||
| 192 | - if(opus_Protection != 0) | 144 | + if (single_task == NULL) |
| 193 | { | 145 | { |
| 194 | JZSDK_LOG_ERROR("创建相机抓取并处理初始化线程失败!"); | 146 | JZSDK_LOG_ERROR("创建相机抓取并处理初始化线程失败!"); |
| 195 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 147 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
| 196 | } | 148 | } |
| 149 | + | ||
| 150 | + JZSDK_LOG_INFO("创建相机抓取并处理初始化线程成功!"); | ||
| 197 | 151 | ||
| 198 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 152 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 199 | } | 153 | } |
| 200 | 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 | + { | ||
| 184 | + unsigned int buf_size = 0; | ||
| 185 | + unsigned char *buf = NULL; | ||
| 186 | + | ||
| 187 | + //从相机中读取一张照片 | ||
| 188 | + V4L2_CameraFrameRecord_OnlyGetFrame(&buf, &buf_size); | ||
| 189 | + | ||
| 190 | + //printf("read: len:%d data[3]:%x data[4]:%x\n", buf_size, buf[3], buf[4]); | ||
| 191 | + | ||
| 192 | + if (buf == NULL) | ||
| 193 | + { | ||
| 194 | + JZSDK_LOG_ERROR("相机数据读取失败"); | ||
| 195 | + continue; | ||
| 196 | + } | ||
| 197 | + | ||
| 198 | + //放入缓冲池 //将数据放入缓冲池,从而被其他线程使用 | ||
| 199 | + VideoMgmt_write_data(&args, buf, buf_size); | ||
| 200 | + | ||
| 201 | + //归还图片 | ||
| 202 | + V4L2_CameraFrameRecord_OnlyReturnFrame(); | ||
| 203 | + } | ||
| 204 | +} | ||
| 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 | //设置亮度* |
| 27 | - ctrl.id= V4L2_CID_BRIGHTNESS; | ||
| 28 | - ctrl.value = BRIGHTNESS; | ||
| 29 | - if(ioctl(cam_fd,VIDIOC_S_CTRL,&ctrl)==-1) | 28 | + if (CameraInfo->CameraParam.Brightness != 0) |
| 30 | { | 29 | { |
| 31 | - JZSDK_LOG_INFO("相机亮度设置失败"); | 30 | + ctrl.id= V4L2_CID_BRIGHTNESS; |
| 31 | + ctrl.value = CameraInfo->CameraParam.Brightness; | ||
| 32 | + if(ioctl(CameraInfo->CameraFd,VIDIOC_S_CTRL,&ctrl)==-1) | ||
| 33 | + { | ||
| 34 | + JZSDK_LOG_INFO("相机亮度设置失败"); | ||
| 35 | + } | ||
| 32 | } | 36 | } |
| 33 | - | 37 | + |
| 34 | //设置对比度 | 38 | //设置对比度 |
| 35 | - ctrl.id = V4L2_CID_CONTRAST; | ||
| 36 | - ctrl.value= CONTRAST; | ||
| 37 | - if(ioctl(cam_fd,VIDIOC_S_CTRL,&ctrl)==-1) | 39 | + if (CameraInfo->CameraParam.Contrast != 0) |
| 38 | { | 40 | { |
| 39 | - JZSDK_LOG_INFO("相机对比度设置失败"); | 41 | + ctrl.id = V4L2_CID_CONTRAST; |
| 42 | + ctrl.value= CameraInfo->CameraParam.Contrast; | ||
| 43 | + if(ioctl(CameraInfo->CameraFd,VIDIOC_S_CTRL,&ctrl)==-1) | ||
| 44 | + { | ||
| 45 | + JZSDK_LOG_INFO("相机对比度设置失败"); | ||
| 46 | + } | ||
| 40 | } | 47 | } |
| 41 | - | 48 | + |
| 42 | //设置饱和度 | 49 | //设置饱和度 |
| 43 | - ctrl.id = V4L2_CID_SATURATION; | ||
| 44 | - ctrl.value= SATURATION; | ||
| 45 | - if(ioctl(cam_fd,VIDIOC_S_CTRL,&ctrl)==-1) | 50 | + if (CameraInfo->CameraParam.Saturation != 0) |
| 46 | { | 51 | { |
| 47 | - perror("相机饱和度设置失败"); | 52 | + ctrl.id = V4L2_CID_SATURATION; |
| 53 | + ctrl.value= CameraInfo->CameraParam.Saturation; | ||
| 54 | + if(ioctl(CameraInfo->CameraFd,VIDIOC_S_CTRL,&ctrl)==-1) | ||
| 55 | + { | ||
| 56 | + perror("相机饱和度设置失败"); | ||
| 57 | + } | ||
| 48 | } | 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 | //停止采集 |
-
请 注册 或 登录 后发表评论