作者 ookk303

保存内容

正在显示 34 个修改的文件 包含 716 行增加523 行删除
... ... @@ -3,7 +3,7 @@
ThirdParty
ModuleLib
备份
linux_kernel
project_build/AUTEL_道通PSDK
project_build/GDU_普宙PSDK
... ...
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"${workspaceFolder}/linux_kernel/include/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"cStandard": "c99",
"intelliSenseMode": "${default}"
}
],
"version": 4
}
\ No newline at end of file
... ...
... ... @@ -42,7 +42,8 @@
"jzsdk_uart_send.h": "c",
"espeak_tts.h": "c",
"buffersrc.h": "c",
"audiodeal.h": "c"
"audiodeal.h": "c",
"wiringpi.h": "c"
},
"Codegeex.GenerationPreference": "automatic"
}
\ No newline at end of file
... ...
# 编译链的配置
#1、编译链与设备类型的选择
set(DEVICE_NAME JZ_H1E)
set(DEVICE_NAME JZ_H150S)
#上一行为禁止修改行
message("**************************JZSDK构建编译开始***************************\n")
if("${DEVICE_NAME}" STREQUAL "JZ_H1E")
set(MAKE_COMPILER ARM_CORTEXA9_LINUX)
set(DEVICE_TYPE MEGAPHONE)
... ... @@ -70,4 +72,4 @@ else()
message(FATAL_ERROR "不支持的编译链")
endif()
message("编译链配置完毕\n")
\ No newline at end of file
message("\n**************************编译链配置完毕***********************\n")
\ No newline at end of file
... ...
# SubsidiaryThirdPartyConfig.cmake 附属第三方库配置文件
set(IFLAY_TTS_MODULE VERSION_SWITCH_OFF)
set(ESPEAK_TTS_MODULE VERSION_SWITCH_OFF)
set(ALSALIB_MODULE VERSION_SWITCH_OFF)
set(OPUS_MODULE VERSION_SWITCH_OFF)
set(LIB_RTK_MMP VERSION_SWITCH_OFF)
set(LIB_USB VERSION_SWITCH_OFF)
set(LIB_KT_IRC VERSION_SWITCH_OFF)
add_definitions(-D COMPILE_MODE_MODULE) #设置代码为编译模式
if(${MEGAPHONE_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("\n喊话器模块已加载")
add_definitions(-DMACRO_MEGAPHONE_MODULE) #加载喊话器模块
message("加载讯飞TTS模块")
set(IFLAY_TTS_MODULE VERSION_SWITCH_ON)
message("加载espeak模块")
set(ESPEAK_TTS_MODULE VERSION_SWITCH_ON)
message("加载alsalib模块")
set(ALSALIB_MODULE VERSION_SWITCH_ON)
message("加载OPUS模块")
set(OPUS_MODULE VERSION_SWITCH_ON)
endif()
if(${IRC_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("\n红外相机模块已加载")
add_definitions(-DMACRO_IRC_MODULE)
message("加载RTK模块")
set(LIB_RTK_MMP VERSION_SWITCH_ON)
message("加载USB模块")
set(LIB_USB VERSION_SWITCH_ON)
message("\n媒体管理模块已加载")
add_definitions(-DMACRO_MEDIA_PROC_MODULE)
if(${IRC_MODULE} STREQUAL "VERSION_SWITCH_ON")
set(LIB_KT_IRC VERSION_SWITCH_ON)
endif()
endif()
if(${SIDE_LASER_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("加载侧面激光模块")
add_definitions(-DMACRO_SIDE_LASER_MODULE)
endif()
message("附属库已加载\n")
\ No newline at end of file
# 模组构建文件,用于加载源代码 与 配置代码中的开关
# ${ROOT_DIRS}为cmakelist文件提供的工程根目录
message("\n*************************开始模块构建***********************\n")
set(IFLAY_TTS_MODULE VERSION_SWITCH_OFF)
set(ESPEAK_TTS_MODULE VERSION_SWITCH_OFF)
set(ALSALIB_MODULE VERSION_SWITCH_OFF)
set(OPUS_MODULE VERSION_SWITCH_OFF)
set(LIB_RTK_MMP VERSION_SWITCH_OFF)
set(LIB_USB VERSION_SWITCH_OFF)
set(LIB_KT_IRC VERSION_SWITCH_OFF)
add_definitions(-D COMPILE_MODE_MODULE) #设置代码为编译模式
#加载基础库JZSDK库基础代码
file(GLOB_RECURSE JZSDK_COMMON_SRC ${ROOT_DIRS}JZsdk_Common/*.c)
list(APPEND ALL_SRC_FILES ${JZSDK_COMMON_SRC})
list(APPEND ALL_INC_FILES ${ROOT_DIRS}JZsdk_Common)
file(GLOB_RECURSE JZSDK_CONFIG_SRC ${ROOT_DIRS}JZsdk_Config/*.c)
list(APPEND ALL_SRC_FILES ${JZSDK_CONFIG_SRC})
list(APPEND ALL_INC_FILES ${ROOT_DIRS}JZsdk_Config)
file(GLOB_RECURSE JZSDK_HAL_SRC ${ROOT_DIRS}JZsdk_hal/*.c)
list(APPEND ALL_SRC_FILES ${JZSDK_HAL_SRC})
list(APPEND ALL_INC_FILES ${ROOT_DIRS}JZsdk_hal)
file(GLOB_RECURSE JZSDK_OSAL_SRC ${ROOT_DIRS}JZsdk_osal/*.c)
list(APPEND ALL_SRC_FILES ${JZSDK_OSAL_SRC})
list(APPEND ALL_INC_FILES ${ROOT_DIRS}JZsdk_osal)
message("\nJZSDK基础代码加载完毕\n")
#如果要加载设备信息模块,需要加载以下附属内容
if(${DEVICE_INFO_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("\n设备信息模块源码加载中")
file(GLOB_RECURSE DEVICE_MESSAGE_SRC ${ROOT_DIRS}Module/DeviceInfo/*.c)
list(APPEND ALL_SRC_FILES ${DEVICE_MESSAGE_SRC})
endif()
#如果要加载云台模块,需要加载以下附属内容
if(${GIMBAL_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("\n云台模块源码加载中")
file(GLOB_RECURSE GIMBAL_SRC ${ROOT_DIRS}Module/Gimbal/*.c)
list(APPEND ALL_SRC_FILES ${GIMBAL_SRC})
endif()
#如果要加载引脚模块,需要加载以下附属内容
if(${IRCUT_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("\n引脚模块源码加载中")
file(GLOB_RECURSE MODULE_IRCUT_SRC ${ROOT_DIRS}Module/Ircut/*.c)
list(APPEND ALL_SRC_FILES ${MODULE_IRCUT_SRC})
endif()
#如果要加载光源模块,需要加载以下附属内容
if(${LIGHTING_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("\n光源模块加载中")
#打开光源的代码编译部分
add_definitions(-DMACRO_LIGHTING_MODULE)
#将光源的源代码加入编译中
file(GLOB_RECURSE LIGHTING_SRC ${ROOT_DIRS}Module/Lighting/*.c)
list(APPEND ALL_SRC_FILES ${LIGHTING_SRC})
endif()
#如果要加载媒体管理模块,需要加载以下附属内容
if(${MEDIA_PROC_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("\n媒体管理模块加载中")
#将媒体管理模块的源代码加入编译中
add_definitions(-DMACRO_MEDIA_PROC_MODULE)
file(GLOB_RECURSE MEDIA_PROC_SRC ${ROOT_DIRS}Module/MediaProc/*.c)
file(GLOB_RECURSE MEDIA_PROC_SRC_CPP ${ROOT_DIRS}Module/MediaProc/*.cpp)
list(APPEND ALL_SRC_FILES ${MEDIA_PROC_SRC})
list(APPEND ALL_SRC_FILES ${MEDIA_PROC_SRC_CPP})
#如果要加载红外相机模块,额外加载以下附属内容
if(${IRC_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("加载红外相机模块")
add_definitions(-DMACRO_IRC_MODULE)
message("加载RTK模块")
set(LIB_RTK_MMP VERSION_SWITCH_ON)
message("加载USB模块")
set(LIB_USB VERSION_SWITCH_ON)
if(${IRC_MODULE} STREQUAL "VERSION_SWITCH_ON")
set(LIB_KT_IRC VERSION_SWITCH_ON)
endif()
endif()
endif()
#如果要加载喊话器模块,需要加载以下附属内容
if(${MEGAPHONE_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("\n喊话器模块加载中")
message("加载喊话器")
add_definitions(-DMACRO_MEGAPHONE_MODULE) #加载喊话器模块
file(GLOB_RECURSE MEGAPHONE_SRC ${ROOT_DIRS}Module/Megaphone/*.c)
list(APPEND ALL_SRC_FILES ${MEGAPHONE_SRC})
message("加载音频库")
file(GLOB_RECURSE AUDIODEAL_SRC ${ROOT_DIRS}Module/AudioDeal/*.c)
list(APPEND ALL_SRC_FILES ${AUDIODEAL_SRC})
message("加载讯飞TTS模块")
set(IFLAY_TTS_MODULE VERSION_SWITCH_ON)
message("加载espeak模块")
set(ESPEAK_TTS_MODULE VERSION_SWITCH_ON)
message("加载alsalib模块")
set(ALSALIB_MODULE VERSION_SWITCH_ON)
message("加载OPUS模块")
set(OPUS_MODULE VERSION_SWITCH_ON)
endif()
#如果要加载电源管理模块,需要加载以下附属内容
if(${POWER_MANAGER_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("\n电源模块加载中")
file(GLOB_RECURSE POWERMANAGER_SRC ${ROOT_DIRS}Module/PowerManager/*.c)
list(APPEND ALL_SRC_FILES ${POWERMANAGER_SRC})
endif()
#如果要加载侧面激光模块,需要加载以下附属内容
if(${SIDE_LASER_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("\n侧面激光模块加载中")
#打开侧面激光的代码编译部分
add_definitions(-DMACRO_SIDE_LASER_MODULE)
file(GLOB_RECURSE MODULE_SIDE_LASER_SRC ${ROOT_DIRS}Module/SideLaser/*.c)
list(APPEND ALL_SRC_FILES ${MODULE_SIDE_LASER_SRC})
endif()
#如果要加载UI模块,需要加载以下附属内容
if(${UI_CONTROL_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("\nUI模块源码加载中")
file(GLOB_RECURSE MODULE_UICONTROL_SRC ${ROOT_DIRS}Module/UI_control/*.c)
list(APPEND ALL_SRC_FILES ${MODULE_UICONTROL_SRC})
endif()
# wiringPi
if(${WIRINGPI_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("\nwiringPi模块加载中")
file(GLOB_RECURSE WIRINGPI_SRC ${ROOT_DIRS}ThirdParty/wiringPi/*.c)
list(APPEND ALL_SRC_FILES ${WIRINGPI_SRC})
list(APPEND ALL_INC_FILES ${ROOT_DIRS}ThirdParty/wiringPi)
#打开wiringPi的代码编译部分
add_definitions(-DMACRO_WIRINGPI_MODULE)
endif()
# 如果要加入特殊图像处理模块,需要加载以下附属内容
if(${IMAGEPROCESSING_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("\n特殊图像处理模块加载中")
file(GLOB_RECURSE MODULE_IMAGEPROCESSING_SRC ${ROOT_DIRS}Module/ImageProcessing/*.c)
file(GLOB_RECURSE MODULE_IMAGEPROCESSING_cpp_SRC ${ROOT_DIRS}Module/ImageProcessing/*.cpp)
list(APPEND ALL_SRC_FILES ${MODULE_IMAGEPROCESSING_SRC})
list(APPEND ALL_SRC_FILES ${MODULE_IMAGEPROCESSING_cpp_SRC})
endif()
# 头文件加载,后续再进行优化
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/Megaphone)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/Ircut)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/Gimbal)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/Lighting)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/UI_control)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/Camera)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/PowerManager)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/TestAPP)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/ImageProcessing)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/SerialManagement)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module)
message("**************************库构建完毕***************************\n")
\ No newline at end of file
... ...
# ModuleConfig.cmake 模组模块的配置文件
# 设备类型的模块配置文件
# 主要用于根据设备类型
# 将对应的模块打开
###################### 自己的库 ##############################
# AudioDeal 音频处理模块
... ... @@ -16,8 +18,6 @@ set(IRCUT_MODULE VERSION_SWITCH_OFF)
# LIGHTING 光源处理模块
set(LIGHTING_MODULE VERSION_SWITCH_OFF)
# MediaProc 媒体管理模块
set(MEDIA_PROC_MODULE VERSION_SWITCH_OFF)
# 喊话器模块
set(MEGAPHONE_MODULE VERSION_SWITCH_OFF)
... ... @@ -28,6 +28,10 @@ set(POWER_MANAGER_MODULE VERSION_SWITCH_OFF)
# UI管理模块
set(UI_CONTROL_MODULE VERSION_SWITCH_OFF)
# MediaProc 媒体管理模块
set(MEDIA_PROC_MODULE VERSION_SWITCH_OFF)
# 红外相机模块
set(IRC_MODULE VERSION_SWITCH_OFF)
... ... @@ -42,7 +46,13 @@ set(FFMPEG_MODULE VERSION_SWITCH_OFF)
# cedarxLib
set(CedarxLib VERSION_SWITCH_OFF)
########################## 通用库 ###########################################
# wiringPi库
set(WIRINGPI_MODULE VERSION_SWITCH_OFF)
# OpenCV库
set(IMAGEPROCESSING_MODULE VERSION_SWITCH_OFF)
########################## 通用库加载 ###########################################
# 添加信息模块
set(DEVICE_INFO_MODULE VERSION_SWITCH_ON)
... ... @@ -50,7 +60,12 @@ set(DEVICE_INFO_MODULE VERSION_SWITCH_ON)
# 添加UI管理模块
set(UI_CONTROL_MODULE VERSION_SWITCH_ON)
#####################################################################
# 添加电源管理模块
set(POWER_MANAGER_MODULE VERSION_SWITCH_ON)
message("通用库加载完成")
########################### 独立库加载 ##########################################
if("${DEVICE_NAME}" STREQUAL "JZ_H1E")
# 添加AudioDeal 音频处理模块
... ... @@ -68,9 +83,6 @@ if("${DEVICE_NAME}" STREQUAL "JZ_H1E")
# 添加喊话器模块
set(MEGAPHONE_MODULE VERSION_SWITCH_ON)
# 添加电源管理模块
set(POWER_MANAGER_MODULE VERSION_SWITCH_ON)
# 添加FFMPEG及其附属模块
set(FFMPEG_MODULE VERSION_SWITCH_ON)
... ... @@ -91,9 +103,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H1T")
# 添加喊话器模块
set(MEGAPHONE_MODULE VERSION_SWITCH_ON)
# 添加电源管理模块
set(POWER_MANAGER_MODULE VERSION_SWITCH_ON)
# 添加FFMPEG及其附属模块
set(FFMPEG_MODULE VERSION_SWITCH_ON)
... ... @@ -114,9 +123,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_U3S")
# 添加喊话器模块
set(MEGAPHONE_MODULE VERSION_SWITCH_ON)
# 添加电源管理模块
set(POWER_MANAGER_MODULE VERSION_SWITCH_ON)
# 添加FFMPEG及其附属模块
set(FFMPEG_MODULE VERSION_SWITCH_ON)
... ... @@ -140,9 +146,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_U3D")
# 添加喊话器模块
set(MEGAPHONE_MODULE VERSION_SWITCH_ON)
# 添加电源管理模块
set(POWER_MANAGER_MODULE VERSION_SWITCH_ON)
# 添加FFMPEG及其附属模块
set(FFMPEG_MODULE VERSION_SWITCH_ON)
... ... @@ -163,8 +166,51 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_U30")
# 添加喊话器模块
set(MEGAPHONE_MODULE VERSION_SWITCH_ON)
# 添加电源管理模块
set(POWER_MANAGER_MODULE VERSION_SWITCH_ON)
# 添加FFMPEG及其附属模块
set(FFMPEG_MODULE VERSION_SWITCH_ON)
elseif("${DEVICE_NAME}" STREQUAL "JZ_H150S")
# 添加AudioDeal 音频处理模块
set(AUDIODEAL_MODULE VERSION_SWITCH_ON)
# 添加Gimbal 云台处理模块
set(GIMBAL_MODULE VERSION_SWITCH_ON)
# 添加IRCUT 引脚处理模块
set(IRCUT_MODULE VERSION_SWITCH_ON)
# 添加喊话器模块
set(MEGAPHONE_MODULE VERSION_SWITCH_ON)
# 添加MediaProc 媒体管理模块
set(MEDIA_PROC_MODULE VERSION_SWITCH_ON)
# 添加wringpi
set(WIRINGPI_MODULE VERSION_SWITCH_ON)
# 添加FFMPEG及其附属模块
set(FFMPEG_MODULE VERSION_SWITCH_ON)
elseif("${DEVICE_NAME}" STREQUAL "JZ_H150T")
# 添加AudioDeal 音频处理模块
set(AUDIODEAL_MODULE VERSION_SWITCH_ON)
# 添加Gimbal 云台处理模块
set(GIMBAL_MODULE VERSION_SWITCH_ON)
# 添加IRCUT 引脚处理模块
set(IRCUT_MODULE VERSION_SWITCH_ON)
# 添加喊话器模块
set(MEGAPHONE_MODULE VERSION_SWITCH_ON)
# 添加MediaProc 媒体管理模块
set(MEDIA_PROC_MODULE VERSION_SWITCH_ON)
# 添加wringpi
set(WIRINGPI_MODULE VERSION_SWITCH_ON)
# 添加FFMPEG及其附属模块
set(FFMPEG_MODULE VERSION_SWITCH_ON)
... ... @@ -183,9 +229,6 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_C1")
# 添加MediaProc 媒体管理模块
set(MEDIA_PROC_MODULE VERSION_SWITCH_ON)
# 添加电源管理模块
set(POWER_MANAGER_MODULE VERSION_SWITCH_ON)
# 添加红外相机模块
set(IRC_MODULE VERSION_SWITCH_ON)
... ... @@ -193,4 +236,4 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_C1")
set(LIB_KT_MODULE VERSION_SWITCH_ON)
endif()
message("模组模块已加载\n")
\ No newline at end of file
message("***********************模组模块配置完毕*********************************\n")
\ No newline at end of file
... ...
# ModuleLoading.cmake 模块加载文件
# 第一方/第三方 模块加载文件
# 主要用于加载动态库给编译使用
# ${ROOT_DIRS}为cmakelist文件提供的工程根目录
if(${IFLAY_TTS_MODULE} STREQUAL "VERSION_SWITCH_ON")
... ... @@ -170,5 +171,7 @@ if(${LIB_KT_IRC} STREQUAL "VERSION_SWITCH_ON")
${PROJECT_NAME}
${ROOT_DIRS}/ThirdParty/KT_IRC/aarch64-none-linux-gnu/lib/libktlib.so
)
add_definitions(-DMACRO_KTIRC_MODULE)
endif()
message("**************************动态库加载完毕***************************\n")
\ No newline at end of file
... ...
... ... @@ -7,25 +7,25 @@
#define VERSION_CHOOSE_H
#include "./ConfigParams.h"
//1~10行 除了D可以修改版本选择 禁止动任何东西
#define DEVICE_VERSION JZ_H1E
#define DEVICE_VERSION JZ_H150S
//禁止修改行 选择是串口程序 还是 psdk程序
#define APP_VERSION APP_PSDK
//禁止修改行 板子型号
#define PLATFORM_VERSION PLATFORM_V3S
#define PLATFORM_VERSION PLATFORM_H3
//禁止修改行 串口连接程序的软件版本号
#define MAJOR_VERSION 0x01
#define MINOR_VERSION 0x03
#define MODIFY_VERSION 0x09
#define DEBUG_VERSION 0x01
#define DEBUG_VERSION 0x02
//禁止修改行 滤波方式
#define FILTERING_TYPE HIGH_PASS_FILTERING
//禁止修改行固件属地 目前 国内版/海外版
#define FIRMWARE_ORIGIN OVERSEAS_VERSION
#define FIRMWARE_ORIGIN DOMESTIC_VERSION
//禁止修改行指定特殊固件
#define SPECIAL_VERSION SPECIAL_NORMAL
... ... @@ -60,6 +60,11 @@
#define IRC_CONFIG_STATUS VERSION_SWITCH_OFF
#endif
//是否加载ktirclib
#ifdef DMACRO_KTIRC_MODULE
#define KTIRC_LIB_STATUS_ON
#endif
//是否加载usb模块
#ifdef MACRO_USB_MODULE
#define USB_CONFIG_STATUS VERSION_SWITCH_ON
... ... @@ -76,9 +81,7 @@
//是否加载WIRINGPI模块
#ifdef MACRO_WIRINGPI_MODULE
#define WIRINGPI_STATUS VERSION_SWITCH_ON
#else
#define WIRINGPI_STATUS VERSION_SWITCH_OFF
#define WIRINGPI_STATUS_ON
#endif
//是否加载侧边激光模块
... ... @@ -86,7 +89,12 @@
#define SIDE_LASER_STATUS_ON
#endif
#else
//是否加载光源模块
#ifdef MACRO_LIGHTING_MODULE
#define LIGHTING_STATUS_ON
#endif
#else //这里用于方便调试使用,不是实际加载的模组
//是否开启喊话器功能
#define MEGAPHONE_CONFIG_STATUS VERSION_SWITCH_ON
... ... @@ -103,10 +111,16 @@
#define RTK_MPP_STATUS VERSION_SWITCH_ON
//是否加载WIRINGPI模块
#define WIRINGPI_STATUS VERSION_SWITCH_ON
#define WIRINGPI_STATUS_ON
//是否加载侧边激光模块
#define SIDE_LASER_STATUS_ON
//默认开启ktlib
#define KTIRC_LIB_STATUS_ON
//默认开启光源模块
#define LIGHTING_STATUS_ON
#endif
#endif
\ No newline at end of file
... ...
... ... @@ -681,9 +681,6 @@ int JZsdk_Uart_SendDeal_Set_GimbalPitchAngle(int Uartport ,int angle)
//1、获取帧样板
JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_GIMBAL_PITCH_CONTROL, sendbuf, &send_buf_len);
//char sendbuf[14] = {0x5A ,0x5A ,0x77 ,0x00 ,0x0E ,0x00 ,0x00 ,0x64 ,0x51 ,0x00 ,0x00 ,0x00 ,0x00 ,0x23};
//send_buf_len = 14;
//2、写入数据
if (angle < 0)
{
... ...
... ... @@ -239,23 +239,25 @@ T_JZsdkReturnCode Gimbal_Set_PitchFineTuning(int pitch)
}
//设置本地微调值
g_MotorFineTuningPitch = g_MotorFineTuningPitch + pitch;
//组合机是发到另外一个设备
#if DEVICE_VERSION == JZ_H1T
JZsdk_Uart_Send_SetGimbalFineTuningPitch(UART_DEV_1, g_MotorFineTuningPitch);
#else
int temp_pitch = g_MotorFineTuningPitch + pitch;
//微调值要小于20度
if (g_MotorFineTuningPitch >= 200)
if (temp_pitch >= 200)
{
g_MotorFineTuningPitch = 200;
temp_pitch = 200;
}
if (g_MotorFineTuningPitch <= -200)
if (temp_pitch <= -200)
{
g_MotorFineTuningPitch = -200;
temp_pitch = -200;
}
g_MotorFineTuningPitch = temp_pitch;
//组合机是发到另外一个设备
#if DEVICE_VERSION == JZ_H1T
JZsdk_Uart_Send_SetGimbalFineTuningPitch(UART_DEV_1, g_MotorFineTuningPitch);
#else
//存储到文件
MotorFineTuning_WritePitch(g_MotorFineTuningPitch);
#endif
... ...
... ... @@ -10,6 +10,7 @@
#include "JZsdk_TaskManagement/TaskManagement.h"
#include "Gimbal_SpecialUart/Gimbal_SpecialUart.h"
#include "../Gimbal_Param.h"
#if WIRINGPI_STATUS == VERSION_SWITCH_ON
#include <wiringPi.h>
... ... @@ -66,16 +67,22 @@ T_JZsdkReturnCode Gimbal_DataDeal_SetRealAngle(int angle)
Gimbal_SpecialUart_UartSend(send_angle, 4);
#elif DEVICE_VERSION == JZ_H10
int base = 200;
//完整计算公式
//angle_PWM = base + angle*195/((abs(MAX_PITCH)+abs(MIN_PITCH)))
//简化为
angle_PWM = base + angle*195/MIN_PITCH;
int base_offset = 0; //最大最小值的偏移量 //正整数时,则总体角度向0偏移 为负数时,向-900便宜
//计算方法 设置最小角度时 为 PwM - 195 - 200 //设置最大角度时 为 PwM - 0 - 200
int base = 200; //0度
//每43.5对饮20度
//完整计算公式
//angle_PWM = base + angle*195/((abs(MAX_PITCH) + abs(MIN_PITCH)))
//上调15度
//angle_PWM = 200 -angle*195/900 -150*195/900; //上调15度
#if WIRINGPI_STATUS == VERSION_SWITCH_ON
//简化为
angle_PWM = + base_offset +angle*195/MIN_PITCH;
#ifdef WIRINGPI_STATUS_ON
pwmWrite(18,angle_PWM);
#endif
... ...
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "H3_ircut.h"
#include "version_choose.h"
#if WIRINGPI_STATUS == VERSION_SWITCH_ON
#include <wiringPi.h>
#include "./H3_ircut.h"
#include "BaseConfig.h"
//如果wiringPi库安装了,则使用wiringPi库,否则使用sysfs
#ifdef WIRINGPI_STATUS_ON
#include <wiringPi.h>
#endif
#define AC 7
#define AC2 19
int now_ircut_mode=0;
#define AMPLIFIER_IRCUT_PIN_1 7
#define AMPLIFIER_IRCUT_PIN_2 19
#define MOTOR_IRCUT_PIN 18
//sys方案输入,未进行测试
int gpio_test_in(unsigned int gpio_chip_num, unsigned int gpio_offset_num)
{
FILE *fp;
... ... @@ -62,7 +66,7 @@ int gpio_test_in(unsigned int gpio_chip_num, unsigned int gpio_offset_num)
return (int)(buf[0]-48);
}
//���ܣ�����GPIO���
//sys方案输入,未进行测试
int gpio_test_out(unsigned int gpio_chip_num, unsigned int gpio_offset_num,unsigned int gpio_out_val)
{
FILE *fp;
... ... @@ -116,60 +120,62 @@ int gpio_test_out(unsigned int gpio_chip_num, unsigned int gpio_offset_num,unsig
return 0;
}
void set_mute(int mutemode){//��������
if(mutemode==1)
{//ȡ������
//gpio_test_out(1,2,1);//gpio1_2 �����
}
if(mutemode==0)
{//����
//gpio_test_out(1,2,0);//gpio1_2 �����
}
else{
printf("mutemode error\n");
}
}
void H3_init_amplifier(void)
/********************
*
*
* H3引脚初始化
*
*
* ****************/
T_JZsdkReturnCode H3_ircut_init()
{
#if WIRINGPI_STATUS == VERSION_SWITCH_ON
wiringPiSetup() ; //��ʼ��GPIO
pinMode (AC, OUTPUT) ;//�������ģʽ
digitalWrite(AC,LOW);
pinMode (AC2, OUTPUT) ;//�������ģʽ
digitalWrite(AC2,LOW);
#endif
#ifdef WIRINGPI_STATUS_ON
//wiringPi库的初始化
wiringPiSetup() ;
//静音引脚初始化
pinMode (AMPLIFIER_IRCUT_PIN_1, OUTPUT) ;
digitalWrite(AMPLIFIER_IRCUT_PIN_1,LOW);
pinMode (AMPLIFIER_IRCUT_PIN_2, OUTPUT) ;
digitalWrite(AMPLIFIER_IRCUT_PIN_2,LOW);
//H10要初始化电机引脚
if (DEVICE_VERSION == JZ_H10)
{
pinMode(MOTOR_IRCUT_PIN,PWM_OUTPUT);//设置输出模式
}
#endif
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
void H3_set_amplifier(int amplifier_mode){
#if WIRINGPI_STATUS == VERSION_SWITCH_ON
if(amplifier_mode==1)
{//���Ŵ�
if(now_ircut_mode==0){
digitalWrite(AC,HIGH);//gpio1_3 �����
digitalWrite(AC2,HIGH);//gpio1_3 �����
now_ircut_mode=1;
printf("open!!!\n");
}
//gpio_test_out(1,2,1);//gpio1_2 �����
return;
}
if(amplifier_mode==0)
{//���Źر�
if(now_ircut_mode==1){
digitalWrite(AC,LOW);
digitalWrite(AC2,LOW);//gpio1_3 �����
now_ircut_mode=0;
printf("close!!!\n");
}
//gpio_test_out(1,2,0);//gpio1_2 �����
return;
}
else{
printf("amplifier_mode error\n");
return;
}
/***********************
*
* H3引脚控制
* 静音角控制
*
* *******************/
T_JZsdkReturnCode H3_ircut_set_amplifier(int ircut_mode)
{
#ifdef WIRINGPI_STATUS_ON
if (ircut_mode == JZ_FLAGCODE_ON)
{
digitalWrite(AMPLIFIER_IRCUT_PIN_1,HIGH);
digitalWrite(AMPLIFIER_IRCUT_PIN_2,HIGH);
}
else if (ircut_mode == JZ_FLAGCODE_OFF)
{
digitalWrite(AMPLIFIER_IRCUT_PIN_1,LOW);
digitalWrite(AMPLIFIER_IRCUT_PIN_2,LOW);
}
else
{
JZSDK_LOG_ERROR("H3引脚控制错误");
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
}
#endif
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
\ No newline at end of file
... ...
/**
********************************************************************
* @file
*
*
*********************************************************************
*/
/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
#ifndef H3_IRCUT_H
#define H3_IRCUT_H
#include <stdio.h>
#include <stdint.h>
int gpio_test_in(unsigned int gpio_chip_num, unsigned int gpio_offset_num);
int gpio_test_out(unsigned int gpio_chip_num, unsigned int gpio_offset_num,unsigned int gpio_out_val);
void set_mute(int mutemode);//�������ܣ�0���� 1�رվ���
void H3_set_amplifier(int amplifier_mode);//���ſ��� 0�ر� 1��
void H3_init_amplifier(void);
/* Includes ------------------------------------------------------------------*/
#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Exported constants --------------------------------------------------------*/
/* 常亮定义*/
/* Exported types ------------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
T_JZsdkReturnCode H3_ircut_init();
T_JZsdkReturnCode H3_ircut_set_amplifier(int ircut_mode);
#ifdef __cplusplus
}
#endif
#endif //IRCUT_H
\ No newline at end of file
#endif
... ...
#include "Ircut_H3_H10.h"
#include "version_choose.h"
#include <stdio.h>
#if WIRINGPI_STATUS == VERSION_SWITCH_ON
#include <wiringPi.h>
#endif
#define AC 7
#define AC2 19
#define MOTOR 18
int H3_H10_now_ircut_mode=0;
int H3_H10_Gimbal_IrcutInit()
{
#if WIRINGPI_STATUS == VERSION_SWITCH_ON
pinMode(MOTOR,PWM_OUTPUT);//设置输出模式
#endif
}
void H3_H10_init_amplifier(void)
{
#if WIRINGPI_STATUS == VERSION_SWITCH_ON
pinMode (AC, OUTPUT) ;//�������ģʽ
digitalWrite(AC,LOW);
pinMode (AC2, OUTPUT) ;//�������ģʽ
digitalWrite(AC2,LOW);
#endif
}
int H3_H10_IrcutInit()
{
printf("正在进行H3_H10的引脚初始化\n");
#if WIRINGPI_STATUS == VERSION_SWITCH_ON
//wiringPi库的初始化
wiringPiSetup() ;
//声音引脚初始化
H3_H10_init_amplifier();
//电机引脚初始化
H3_H10_Gimbal_IrcutInit();
printf("H3_H10引脚初始化完成\n");
#endif
}
void H3_H10_set_amplifier(int amplifier_mode)
{
#if WIRINGPI_STATUS == VERSION_SWITCH_ON
if(amplifier_mode==1)
{//���Ŵ�
if(H3_H10_now_ircut_mode==0){
digitalWrite(AC,HIGH);//gpio1_3 �����
digitalWrite(AC2,HIGH);//gpio1_3 �����
H3_H10_now_ircut_mode=1;
printf("open!!!\n");
}
//gpio_test_out(1,2,1);//gpio1_2 �����
return;
}
if(amplifier_mode==0)
{//���Źر�
if(H3_H10_now_ircut_mode==1){
digitalWrite(AC,LOW);
digitalWrite(AC2,LOW);//gpio1_3 �����
H3_H10_now_ircut_mode=0;
printf("close!!!\n");
}
//gpio_test_out(1,2,0);//gpio1_2 �����
return;
}
else{
printf("amplifier_mode error\n");
return;
}
#endif
}
#ifndef IRCUT_H3_H10_H
#define IRCUT_H3_H10_H
void H3_H10_set_amplifier(int amplifier_mode);
int H3_H10_IrcutInit();
#endif
\ No newline at end of file
... ... @@ -2,14 +2,13 @@
#include "version_choose.h"
#include "./V3s_ircut/V3s_ircut.h"
#include "./H3_ircut/H3_ircut.h"
#include "./H3_ircut/Ircut_H3_H10/Ircut_H3_H10.h"
#include "ircut.h"
#include "JZsdkLib.h"
static int OutPutPower = JZ_FLAGCODE_OFF;
void Ircut_Init()//引脚初始化
T_JZsdkReturnCode Ircut_Init()//引脚初始化
{
if (DEVICE_VERSION == JZ_H1E || DEVICE_VERSION == JZ_H1T || DEVICE_VERSION == JZ_H10T ||
DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30||
... ... @@ -18,13 +17,9 @@ void Ircut_Init()//引脚初始化
V3s_Ircut_Init();
}
else if (DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T)
else if (DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T || DEVICE_VERSION == JZ_H10)
{
H3_init_amplifier();
}
else if (DEVICE_VERSION == JZ_H10)
{
H3_H10_IrcutInit();
H3_ircut_init();
}
else if (DEVICE_VERSION == JZ_C1)
{
... ... @@ -38,19 +33,23 @@ void Ircut_Init()//引脚初始化
}
JZSDK_LOG_INFO("MODULE_IRCUT_INIT_COMPLETE");
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
int Ircut_uInit()
T_JZsdkReturnCode Ircut_uInit()
{
if (DEVICE_VERSION == JZ_H1E)
{
V3s_Ircut_uInit();
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
//功放开关
void set_amplifier(int amplifier_mode)
T_JZsdkReturnCode set_amplifier(int amplifier_mode)
{
if (DEVICE_VERSION == JZ_H1E || DEVICE_VERSION == JZ_H1T || DEVICE_VERSION == JZ_H10T ||
DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30 ||
... ... @@ -59,15 +58,12 @@ void set_amplifier(int amplifier_mode)
V3s_set_amplifier(amplifier_mode);
}
if (DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T)
if (DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T || DEVICE_VERSION == JZ_H10)
{
H3_set_amplifier(amplifier_mode);
H3_ircut_set_amplifier(amplifier_mode);
}
if (DEVICE_VERSION == JZ_H10)
{
H3_H10_set_amplifier(amplifier_mode);
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
//PWM控制
... ... @@ -77,7 +73,6 @@ int Ircut_PWM_control(int pwm_num)
{
V3s_PWM_contrl(pwm_num);
}
}
//对外电源控制
... ...
... ... @@ -25,9 +25,9 @@ extern "C" {
/* Exported types ------------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
void Ircut_Init();
int Ircut_uInit() ;
void set_amplifier(int amplifier_mode);
T_JZsdkReturnCode Ircut_Init();
T_JZsdkReturnCode Ircut_uInit() ;
T_JZsdkReturnCode set_amplifier(int amplifier_mode);
int Ircut_PWM_control(int pwm_num);
T_JZsdkReturnCode Ircut_Set_OutPutPower_Control(int value);
T_JZsdkReturnCode Ircut_CheckStatus_OutPutPower(int *value);
... ...
... ... @@ -386,8 +386,8 @@ T_JZsdkReturnCode Lighting_Obtain_WarningLight_Color(int color1, int color2)
//获取探警灯颜色
T_JZsdkReturnCode Lighting_Get_WarningLight_Color(int *color1, int *color2)
{
*color1 = WarningLight_Status;
*color2 = WarningLight_Mode;
*color1 = WarningLight_Color1;
*color2 = WarningLight_Color2;
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
... ... @@ -406,7 +406,7 @@ T_JZsdkReturnCode Lighting_CheckStatus_WarningLightColor(int *ValueColor1, int *
}
//2、获取一次本地探警灯颜色
Lighting_Get_WarningLight_Status(ValueColor1, ValueColor2);
Lighting_Get_WarningLight_Color(ValueColor1, ValueColor2);
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
... ...
... ... @@ -93,6 +93,8 @@ T_JZsdkReturnCode JZsdk_Camera_GasEnhancementCorrectSwitch()
* ******************/
T_JZsdkReturnCode Camera_RegionBox(unsigned int PointX, unsigned int PointY)
{
printf("设置框选点X:%d Y:%d\n",PointX,PointY);
//1、检查该点是否合法
#if DEVICE_VERSION == JZ_C1
//红外相机下的坐标参数是0~319 0~255
... ... @@ -100,11 +102,7 @@ T_JZsdkReturnCode Camera_RegionBox(unsigned int PointX, unsigned int PointY)
{
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
}
#endif
printf("设置框选点X:%d Y:%d\n",PointX,PointY);
//如果本次操作是画第一个点
if (g_CameraRegionBox_ClickTime+1 == 1)
{
... ... @@ -129,7 +127,8 @@ T_JZsdkReturnCode Camera_RegionBox(unsigned int PointX, unsigned int PointY)
{
g_CameraRegionBox_ClickTime=0;
IRC_Set_RegionMode(0);
}
}
#endif
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
... ...
... ... @@ -9,6 +9,8 @@
#include "BaseConfig.h"
#include "../V4L2_camera/V4L2_Record.h"
#include "../V4L2_camera/V4L2_CameraParameterSetting.h"
#include "../../StreamProc/StreamProc.h"
#include "../../MediaParm.h"
#include "../../VideoMgmt/VideoMgmt.h"
... ... @@ -17,6 +19,8 @@
#include "../Camera.h"
#include "UI_control/UI_control.h"
static int CameraFd = 0;
//光学相机数据读取线程
... ... @@ -30,6 +34,8 @@ static void *JZsdk_Cam_Data_Thread(void *args)
//从相机中读取一张照片
V4L2_CameraFrameRecord_OnlyGetFrame(&buf, &buf_size);
//printf("read: len:%d data[3]:%x data[4]:%x\n", buf_size, buf[3], buf[4]);
if (buf == NULL)
{
JZSDK_LOG_ERROR("相机数据读取失败");
... ... @@ -55,6 +61,14 @@ T_JZsdkReturnCode JZsdk_H150ST_CameraInit(int width, int height, int frame_num)
{
return ret;
}
//初始化摄像头参数
ret = V4L2_Parameter_Setting(CameraFd);
if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
{
JZSDK_LOG_ERROR("摄像头参数调整失败");
return ret;
}
//初始化数据接收线程
... ...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <getopt.h> /* getopt_long() */
#include <fcntl.h> /* low-level i/o */
#include <unistd.h>
#include <errno.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/mman.h>
#include <sys/ioctl.h>
#include <linux/videodev2.h>
#include "./V4L2_CameraParameterSetting.h"
#include "JZsdkLib.h"
#include "MediaProc/MediaParm.h"
T_JZsdkReturnCode V4L2_Parameter_Setting(int cam_fd)
{
struct v4l2_control ctrl;
//设置亮度*
ctrl.id= V4L2_CID_BRIGHTNESS;
ctrl.value = BRIGHTNESS;
if(ioctl(cam_fd,VIDIOC_S_CTRL,&ctrl)==-1)
{
JZSDK_LOG_INFO("相机亮度设置失败");
}
//设置对比度
ctrl.id = V4L2_CID_CONTRAST;
ctrl.value= CONTRAST;
if(ioctl(cam_fd,VIDIOC_S_CTRL,&ctrl)==-1)
{
JZSDK_LOG_INFO("相机对比度设置失败");
}
//设置饱和度
ctrl.id = V4L2_CID_SATURATION;
ctrl.value= SATURATION;
if(ioctl(cam_fd,VIDIOC_S_CTRL,&ctrl)==-1)
{
perror("相机饱和度设置失败");
}
/*
//设置色度
ctrl.id = V4L2_CID_HUE;
ctrl.value = 1;
if(ioctl(cam_fd,VIDIOC_S_CTRL,&ctrl)==-1)
{
perror("ioctl");
exit(EXIT_FAILURE);
}
//设置手动白平衡
ctrl.id = V4L2_CID_AUTO_WHITE_BALANCE;
ctrl.value = V4L2_WHITE_BALANCE_MANUAL ;
if(ioctl(cam_fd,VIDIOC_G_CTRL,&ctrl)==-1)
{
perror("ioctl");
exit(EXIT_FAILURE);
}
//设置白平衡色温
ctrl.id = V4L2_CID_WHITE_BALANCE_TEMPERATURE;
ctrl.value = 5100;
if(ioctl(cam_fd,VIDIOC_S_CTRL,&ctrl)==-1)
{
perror("ioctl");
exit(EXIT_FAILURE);
}
//设置锐度
ctrl.id = V4L2_CID_SHARPNESS;
ctrl.value = 4;
if(ioctl(cam_fd,VIDIOC_S_CTRL,&ctrl)==-1)
{
perror("ioctl");
exit(EXIT_FAILURE);
}
//设置背光补偿
ctrl.id = V4L2_CID_BACKLIGHT_COMPENSATION;
ctrl.value = 3;
if(ioctl(cam_fd,VIDIOC_S_CTRL,&ctrl)==-1)
{
perror("ioctl");
exit(EXIT_FAILURE);
}
//设置伽玛值
ctrl.id = V4L2_CID_GAMMA;
ctrl.value = 120;
if(ioctl(cam_fd,VIDIOC_S_CTRL,&ctrl)==-1)
{
perror("ioctl");
exit(EXIT_FAILURE);
}
*/
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
... ...
/**
********************************************************************
* @file V4L2_CameraParameterSetting.h
* 用于转码拍下来的照片以及视频
*
*********************************************************************
*/
/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
#ifndef V4L2_CAMERA_PARAMETER_SETTING_H
#define V4L2_CAMERA_PARAMETER_SETTING_H
/* Includes ------------------------------------------------------------------*/
#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Exported constants --------------------------------------------------------*/
/* 常亮定义*/
/* Exported types ------------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
T_JZsdkReturnCode V4L2_Parameter_Setting(int cam_fd);
#ifdef __cplusplus
}
#endif
#endif
\ No newline at end of file
... ...
... ... @@ -19,6 +19,7 @@
#include "JZsdkLib.h"
#include "./V4L2_Record.h"
#include "MediaProc/MediaParm.h"
/* Private constants ---------------------------------------------------------*/
// 清空
... ... @@ -42,7 +43,6 @@ static struct v4l2_buffer buf;
static int camera_width;
static int camera_height;
static int camera_record_frame;
#define CAMERA_DEVICE_NAME ("/dev/video21")
//unsigned char* pucVideBuf[4]; // 视频BUFF空间地址
... ... @@ -213,8 +213,7 @@ static int init_device()
fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
fmt.fmt.pix.width = camera_width;
fmt.fmt.pix.height = camera_height;
fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_MJPEG;
//fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_H264;
fmt.fmt.pix.pixelformat = CAMERA_CATCH_PIXEL;
fmt.fmt.pix.field = V4L2_FIELD_INTERLACED;
//写入格式参数
... ... @@ -288,7 +287,7 @@ T_JZsdkReturnCode V4l2_Camarainit2(int *dev_fd, int width, int height, int frame
ret = open_device();
if (ret != 0)
{
JZSDK_LOG_ERROR("打开摄像头失败");
JZSDK_LOG_ERROR("打开摄像头失败%s", CAMERA_DEVICE_NAME);
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
}
... ...
... ... @@ -3,11 +3,18 @@
#include <string.h>
#include "JZsdkLib.h"
#include "BaseConfig.h"
#include "../IRC_data_deal/IRC_data_deal.h"
#include <vector>
#include "KTv330_CPP.h"
#ifdef KTIRC_LIB_STATUS_ON
#include "KTv330_CPP.h"
#endif
#include "MediaProc/MediaProc_Param.h"
#include "KtLibProc.h"
... ... @@ -15,7 +22,9 @@
#include "../IRC_Param.h"
// 创建一个 ClassKT 类对象
KTv330Space::ClassKT* KtObject = new KTv330Space::ClassKT();
#ifdef KTIRC_LIB_STATUS_ON
KTv330Space::ClassKT* KtObject = new KTv330Space::ClassKT();
#endif
... ... @@ -24,7 +33,7 @@ T_JZsdkReturnCode KtLib_DataDeal(U16_t* U16_data, unsigned int U16_dataSize,
struct IRC_param *dealInfo)
{
T_JZsdkReturnCode ret;
#ifdef KTIRC_LIB_STATUS_ON
// 创建一个存储转换后数据的 vector<int>
std::vector<int> inputDataVector(U16_data, U16_data + U16_dataSize);
... ... @@ -117,12 +126,14 @@ T_JZsdkReturnCode KtLib_DataDeal(U16_t* U16_data, unsigned int U16_dataSize,
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
#endif
}
T_JZsdkReturnCode KtLib_Init()
{
#ifdef KTIRC_LIB_STATUS_ON
KtObject->KT_M330_InfraredLogin("192.168.1.3", 6666, "192.168.1.2", 6666, 320, 256, 14, NULL, 0, 0);
#endif
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
... ...
... ... @@ -34,16 +34,26 @@ extern "C" {
#define SECOND_WIDTH 1920
#define SECOND_HEIGHT 1080
#define SECOND_FRAME_NUM 30
#define CAMERA_DEVICE_NAME ("/dev/video21")
#define CAMERA_CATCH_PIXEL V4L2_PIX_FMT_MJPEG
#elif DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T
#define FIRST_WIDTH 1280
#define FIRST_HEIGHT 720
#define FIRST_WIDTH 1980
#define FIRST_HEIGHT 1080
#define FIRST_FRAME_NUM 25
#define BRIGHTNESS (80) //亮度,该摄像头亮度范围为 1-255 默认128
#define CONTRAST (155) //对比度,摄像头对比度范围为 1-255 默认128
#define SATURATION (128) //饱和度 摄像头饱和度范围为 1-255 默认128
#define EXPSURE (100) //曝光值 摄像头曝光值范围: 5-2500 默认auto设置
#define SECOND_WIDTH 0
#define SECOND_HEIGHT 0
#define SECOND_FRAME_NUM 25
#define CAMERA_DEVICE_NAME ("/dev/video0")
#define CAMERA_CATCH_PIXEL V4L2_PIX_FMT_H264
#else
... ... @@ -55,6 +65,9 @@ extern "C" {
#define SECOND_HEIGHT 720
#define SECOND_FRAME_NUM 25
#define CAMERA_DEVICE_NAME ("/dev/video0")
#endif
... ...
... ... @@ -14,13 +14,11 @@
#include "./Camera/Camera.h"
#include "./Camera/Kt_Irc/Kt_Irc.h"
static int Kt_irc_flag = JZ_FLAGCODE_ON;
//视频流模块初始化
T_JZsdkReturnCode MediaProc_Init()
{
//如果是昆腾相机 红外+光学 则红外为1号,光学为2号
if (Kt_irc_flag == JZ_FLAGCODE_ON)
if (DEVICE_VERSION == JZ_C1)
{
//1、启动视频流缓冲区模块
VideoMgmt_init_buffer(&VideoMgmt_FirstVideo_index);
... ... @@ -64,6 +62,9 @@ T_JZsdkReturnCode MediaProc_Init()
//3、启用推流模块
VideoMgmt_VideoStreamFlow_Init(FIRST_FRAME_NUM, &VideoMgmt_FirstVideo_index, VIDEOMGMT_STREAMING_FLOW_INDEX_FIRST);
//转码模块
VideoStreamTransCode_Init();
VideoMgmt_VideoStreamFlowIndex(VIDEOMGMT_STREAMING_FLOW_INDEX_FIRST); //默认推送光学摄像头
}
... ...
... ... @@ -29,7 +29,7 @@ T_JZsdkReturnCode VideoStream_PushFrame(unsigned char* h264_data, unsigned int d
}
else
{
JZSDK_LOG_ERROR("视频传输发送了错误帧\n");
JZSDK_LOG_ERROR("视频传输发送了错误帧,长度%d [0]:%x [1]:%x [2]:%x [3]:%x [4]:%x",data_len, h264_data[0], h264_data[1], h264_data[2], h264_data[3], h264_data[4]);
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
}
... ...
... ... @@ -190,6 +190,8 @@ static int Video_TransCode_Thread_Init()
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
/*****
... ... @@ -210,6 +212,8 @@ T_JZsdkReturnCode VideoStreamTransCode_Init()
{
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
}
JZSDK_LOG_INFO("transcode module init success");
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
\ No newline at end of file
... ...
... ... @@ -171,6 +171,8 @@ T_JZsdkReturnCode Opus_RecordVoice_PlayFixedFile()
JZSDK_LOG_ERROR("创建Opus_PlayFixedFile线程失败!\n");
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
... ... @@ -423,7 +425,7 @@ static T_JZsdkReturnCode Opus_Decode()
for (i = 0; i < OPUS_CHANNELS * frame_size; i++) {
TempPcm [i] = out[i] & 0xFF | (out[i] >> 8) << 8;
TempPcm[i] = PcmNoiseReduction(TempPcm[i]);
//TempPcm[i] = PcmNoiseReduction(TempPcm[i]);
}
fwrite(TempPcm, sizeof(short), frame_size * OPUS_CHANNELS, fout);
... ...
... ... @@ -1049,6 +1049,7 @@ T_JZsdkReturnCode UIcontrol_Obtain_GimbalLinkage(int DeviceName, int GimbalLinka
**********/
T_JZsdkReturnCode UIcontrol_Set_SearchLightFrequency(int DeviceName,int value)
{
#ifdef LIGHTING_STATUS_ON
//调用探照灯的接口
T_JZsdkReturnCode ret = Lighting_Set_SearchLightFrequency(value);
if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
... ... @@ -1086,6 +1087,7 @@ T_JZsdkReturnCode UIcontrol_Set_SearchLightFrequency(int DeviceName,int value)
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
#endif
}
... ... @@ -1096,6 +1098,7 @@ T_JZsdkReturnCode UIcontrol_Set_SearchLightFrequency(int DeviceName,int value)
**********/
T_JZsdkReturnCode UIcontrol_SearchLightControl(int DeviceName, int value)
{
#ifdef LIGHTING_STATUS_ON
//调用探照灯的灯光模式接口
T_JZsdkReturnCode ret = Lighting_SearchLightControl(value);
if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
... ... @@ -1133,6 +1136,8 @@ T_JZsdkReturnCode UIcontrol_SearchLightControl(int DeviceName, int value)
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
#endif
}
/*********
... ... @@ -1142,6 +1147,7 @@ T_JZsdkReturnCode UIcontrol_SearchLightControl(int DeviceName, int value)
**********/
T_JZsdkReturnCode UIcontrol_Set_SearchLightLumen(int DeviceName, int WeatherFlush, int value1, int value2)
{
#ifdef LIGHTING_STATUS_ON
//检查是否合法
if (value1 >= 100)
{
... ... @@ -1204,6 +1210,7 @@ T_JZsdkReturnCode UIcontrol_Set_SearchLightLumen(int DeviceName, int WeatherFlus
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
#endif
}
/*********
... ... @@ -1213,8 +1220,10 @@ T_JZsdkReturnCode UIcontrol_Set_SearchLightLumen(int DeviceName, int WeatherFlus
**********/
T_JZsdkReturnCode UIcontrol_CheckStatus_SearchLightLightAttribute(int *ValueFrequency, int *ValueMode, int *ValueLeftLumen, int *ValueRightLumen)
{
#ifdef LIGHTING_STATUS_ON
//获取本地的灯光属性,并主动刷新一次灯光属性
Lighting_CheckStatus_SearchLightLightAttribute(ValueFrequency, ValueMode, ValueLeftLumen, ValueRightLumen);
#endif
}
/*********
... ... @@ -1224,8 +1233,10 @@ T_JZsdkReturnCode UIcontrol_CheckStatus_SearchLightLightAttribute(int *ValueFreq
**********/
T_JZsdkReturnCode UIcontrol_CheckStatus_SearchLightTemperture(int *ValueLeftTemperature, int *ValueRightTemperaturen)
{
#ifdef LIGHTING_STATUS_ON
//获取本地的灯光温度,并主动刷新一次灯光温度
Lighting_CheckStatus_SearchLightTemperture(ValueLeftTemperature, ValueRightTemperaturen);
#endif
}
/****************************************************************************************************************************************
... ... @@ -1236,6 +1247,7 @@ T_JZsdkReturnCode UIcontrol_CheckStatus_SearchLightTemperture(int *ValueLeftTemp
//设置警灯状态
T_JZsdkReturnCode UIcontrol_Set_WarningLight_ModeControl(int DeviceName, int value1, int value2)
{
#ifdef LIGHTING_STATUS_ON
//调用探照灯的接口
T_JZsdkReturnCode ret = Lighting_Set_WarningLight_Status(value1, value2);
if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
... ... @@ -1274,11 +1286,13 @@ T_JZsdkReturnCode UIcontrol_Set_WarningLight_ModeControl(int DeviceName, int val
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
#endif
}
//设置警灯颜色
T_JZsdkReturnCode UIcontrol_Set_WarningLight_Color(int DeviceName, int value1, int value2)
{
#ifdef LIGHTING_STATUS_ON
//调用探照灯的接口
T_JZsdkReturnCode ret = Lighting_Set_WarningLight_Color(value1, value2);
if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
... ... @@ -1316,6 +1330,7 @@ T_JZsdkReturnCode UIcontrol_Set_WarningLight_Color(int DeviceName, int value1, i
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
#endif
}
... ... @@ -1326,8 +1341,10 @@ T_JZsdkReturnCode UIcontrol_Set_WarningLight_Color(int DeviceName, int value1, i
**********/
T_JZsdkReturnCode UIcontrol_CheckStatus_WarningLightStatus(int *ValueSwitch, int *ValueMode)
{
#ifdef LIGHTING_STATUS_ON
//获取本地的警灯状态,并主动刷新一次警灯状态
Lighting_CheckStatus_WarningLightStatus(ValueSwitch, ValueMode);
#endif
}
/*********
... ... @@ -1337,8 +1354,10 @@ T_JZsdkReturnCode UIcontrol_CheckStatus_WarningLightStatus(int *ValueSwitch, int
**********/
T_JZsdkReturnCode UIcontrol_CheckStatus_WarningLightColor(int *ValueColor1, int *ValueColor2)
{
#ifdef LIGHTING_STATUS_ON
//获取本地的警灯颜色,并主动刷新一次警灯颜色
Lighting_CheckStatus_WarningLightColor(ValueColor1, ValueColor2);
#endif
}
/****************************************************************************************************************************************
... ... @@ -1469,6 +1488,7 @@ T_JZsdkReturnCode UIcontrol_CheckStatus_OutPutPowerValue(int *Value)
**********/
T_JZsdkReturnCode UIcontrol_ObtainSearchLight_Frequency(int DeviceName, int Frequency)
{
#ifdef LIGHTING_STATUS_ON
//1、设置本地存储值
Lighting_Obtain_SearchLightFrequency(Frequency);
... ... @@ -1494,6 +1514,7 @@ T_JZsdkReturnCode UIcontrol_ObtainSearchLight_Frequency(int DeviceName, int Freq
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
#endif
}
/*********
... ... @@ -1503,6 +1524,7 @@ T_JZsdkReturnCode UIcontrol_ObtainSearchLight_Frequency(int DeviceName, int Freq
**********/
T_JZsdkReturnCode UIcontrol_ObtainSearchLight_Mode(int DeviceName, int mode)
{
#ifdef LIGHTING_STATUS_ON
//1、设置本地存储值
Lighting_Obtain_SearchLightMode(mode);
... ... @@ -1528,6 +1550,7 @@ T_JZsdkReturnCode UIcontrol_ObtainSearchLight_Mode(int DeviceName, int mode)
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
#endif
}
/*********
... ... @@ -1537,6 +1560,7 @@ T_JZsdkReturnCode UIcontrol_ObtainSearchLight_Mode(int DeviceName, int mode)
**********/
T_JZsdkReturnCode UIcontrol_ObtainSearchLight_Lumen(int DeviceName, int LeftLumen, int RightLumen)
{
#ifdef LIGHTING_STATUS_ON
//1、设置本地存储值
Lighting_Obtain_SearchLightLumen(LeftLumen, RightLumen);
... ... @@ -1563,6 +1587,7 @@ T_JZsdkReturnCode UIcontrol_ObtainSearchLight_Lumen(int DeviceName, int LeftLume
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
#endif
}
/*********
... ... @@ -1572,6 +1597,7 @@ T_JZsdkReturnCode UIcontrol_ObtainSearchLight_Lumen(int DeviceName, int LeftLume
**********/
T_JZsdkReturnCode UIcontrol_ObtainSearchLight_Temperature(int DeviceName, int LeftTemperature, int RightTemperature)
{
#ifdef LIGHTING_STATUS_ON
//1、设置本地存储值
Lighting_Obtain_SearchLightTemperature(LeftTemperature, RightTemperature);
... ... @@ -1598,6 +1624,7 @@ T_JZsdkReturnCode UIcontrol_ObtainSearchLight_Temperature(int DeviceName, int Le
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
#endif
}
/****************************************************************************************************************************************
... ... @@ -1612,6 +1639,7 @@ T_JZsdkReturnCode UIcontrol_ObtainSearchLight_Temperature(int DeviceName, int Le
**********/
T_JZsdkReturnCode UIcontrol_ObtainWarningLight_Status(int DeviceName, int status, int mode)
{
#ifdef LIGHTING_STATUS_ON
//1、设置本地存储值
Lighting_Obtain_WarningLight_Status(status, mode);
... ... @@ -1637,6 +1665,7 @@ T_JZsdkReturnCode UIcontrol_ObtainWarningLight_Status(int DeviceName, int status
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
#endif
}
/*********
... ... @@ -1646,6 +1675,7 @@ T_JZsdkReturnCode UIcontrol_ObtainWarningLight_Status(int DeviceName, int status
**********/
T_JZsdkReturnCode UIcontrol_ObtainWarningLight_Color(int DeviceName, int color1, int color2)
{
#ifdef LIGHTING_STATUS_ON
//1、设置本地存储值
Lighting_Obtain_WarningLight_Color(color1, color2);
... ... @@ -1671,6 +1701,7 @@ T_JZsdkReturnCode UIcontrol_ObtainWarningLight_Color(int DeviceName, int color1,
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
#endif
}
/****************************************************************************************************************************************
... ...
... ... @@ -287,7 +287,7 @@ static void *DecodeAudioData_task(void *arg)
for (i = 0; i < WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS * frame_size; i++) {
TempPcm [i] = out[i] & 0xFF | (out[i] >> 8) << 8;
TempPcm[i] = PcmNoiseReduction(TempPcm[i]);
//TempPcm[i] = PcmNoiseReduction(TempPcm[i]);
}
fwrite(TempPcm, sizeof(short), frame_size * WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS, fout);
... ...
# cmake 最低版本要求 第三行名字不能动
cmake_minimum_required(VERSION 2.8)
project(JZ-H1E)
project(JZ_H150S)
set(CMAKE_C_FLAGS "-pthread -std=gnu99 -lm -ldl -lstdc++")
#"-pthread":指定在编译时链接POSIX线程库,以支持多线程程序。
... ... @@ -27,8 +27,8 @@ set(ROOT_DIRS "${CMAKE_CURRENT_LIST_DIR}/../../../../../../../")
# 包含模块配置
include(${ROOT_DIRS}CmakeConfig/Compiler.cmake)
include(${ROOT_DIRS}CmakeConfig/ModuleConfig.cmake)
include(${ROOT_DIRS}CmakeConfig/SubsidiaryThirdPartyConfig.cmake)
include(${ROOT_DIRS}CmakeConfig/module_config.cmake)
include(${ROOT_DIRS}CmakeConfig/module_build.cmake)
#PSDK动态库
link_libraries(${CMAKE_CURRENT_LIST_DIR}/../../../../../psdk_lib/lib/${TOOLCHAIN_NAME}/libpayloadsdk.a)
... ... @@ -57,111 +57,16 @@ file(GLOB_RECURSE MODULE_HAL_SRC hal/*.c) #网络串口usb文件 MODULE_HA
file(GLOB_RECURSE MODULE_APP_SRC application/*.c) #main MODULE_APP_SRC
file(GLOB_RECURSE MODULE_SAMPLE_SRC ../../../module_sample/*.c) #基础功能文件 MODULE_SAMPLE_SRC
# 指定源文件
file(GLOB_RECURSE JZSDK_COMMON_SRC ${ROOT_DIRS}JZsdk_Common/*.c)
list(APPEND ALL_SRC_FILES ${JZSDK_COMMON_SRC})
file(GLOB_RECURSE JZSDK_CONFIG_SRC ${ROOT_DIRS}JZsdk_Config/*.c)
list(APPEND ALL_SRC_FILES ${JZSDK_CONFIG_SRC})
file(GLOB_RECURSE JZSDK_HAL_SRC ${ROOT_DIRS}JZsdk_hal/*.c)
list(APPEND ALL_SRC_FILES ${JZSDK_HAL_SRC})
file(GLOB_RECURSE JZSDK_OSAL_SRC ${ROOT_DIRS}JZsdk_osal/*.c)
list(APPEND ALL_SRC_FILES ${JZSDK_OSAL_SRC})
if(${AUDIODEAL_MODULE} STREQUAL "VERSION_SWITCH_ON")
file(GLOB_RECURSE AUDIODEAL_SRC ${ROOT_DIRS}Module/AudioDeal/*.c)
list(APPEND ALL_SRC_FILES ${AUDIODEAL_SRC})
message("音频处理模块源码已加载")
endif()
if(${DEVICE_INFO_MODULE} STREQUAL "VERSION_SWITCH_ON")
file(GLOB_RECURSE DEVICE_MESSAGE_SRC ${ROOT_DIRS}Module/DeviceInfo/*.c)
list(APPEND ALL_SRC_FILES ${DEVICE_MESSAGE_SRC})
message("设备信息模块源码已加载")
endif()
if(${GIMBAL_MODULE} STREQUAL "VERSION_SWITCH_ON")
file(GLOB_RECURSE GIMBAL_SRC ${ROOT_DIRS}Module/Gimbal/*.c)
list(APPEND ALL_SRC_FILES ${GIMBAL_SRC})
message("云台模块源码已加载")
endif()
if(${IRCUT_MODULE} STREQUAL "VERSION_SWITCH_ON")
file(GLOB_RECURSE MODULE_IRCUT_SRC ${ROOT_DIRS}Module/Ircut/*.c)
list(APPEND ALL_SRC_FILES ${MODULE_IRCUT_SRC})
message("引脚模块源码已加载")
endif()
if(${LIGHTING_MODULE} STREQUAL "VERSION_SWITCH_ON")
file(GLOB_RECURSE LIGHTING_SRC ${ROOT_DIRS}Module/Lighting/*.c)
list(APPEND ALL_SRC_FILES ${LIGHTING_SRC})
message("光源模块源码已加载")
endif()
if(${MEDIA_PROC_MODULE} STREQUAL "VERSION_SWITCH_ON")
file(GLOB_RECURSE MEDIA_PROC_SRC ${ROOT_DIRS}Module/MediaProc/*.c)
file(GLOB_RECURSE MEDIA_PROC_SRC_CPP ${ROOT_DIRS}Module/MediaProc/*.cpp)
list(APPEND ALL_SRC_FILES ${MEDIA_PROC_SRC})
list(APPEND ALL_SRC_FILES ${MEDIA_PROC_SRC_CPP})
message("媒体管理模块已加载")
endif()
if(${MEGAPHONE_MODULE} STREQUAL "VERSION_SWITCH_ON")
file(GLOB_RECURSE MEGAPHONE_SRC ${ROOT_DIRS}Module/Megaphone/*.c)
list(APPEND ALL_SRC_FILES ${MEGAPHONE_SRC})
message("喊话器模块源码已加载")
endif()
if(${POWER_MANAGER_MODULE} STREQUAL "VERSION_SWITCH_ON")
file(GLOB_RECURSE POWERMANAGER_SRC ${ROOT_DIRS}Module/PowerManager/*.c)
list(APPEND ALL_SRC_FILES ${POWERMANAGER_SRC})
message("电源模块已加载")
endif()
if(${UI_CONTROL_MODULE} STREQUAL "VERSION_SWITCH_ON")
file(GLOB_RECURSE MODULE_UICONTROL_SRC ${ROOT_DIRS}Module/UI_control/*.c)
list(APPEND ALL_SRC_FILES ${MODULE_UICONTROL_SRC})
message("UI模块源码已加载")
endif()
if(${SIDE_LASER_MODULE} STREQUAL "VERSION_SWITCH_ON")
file(GLOB_RECURSE MODULE_SIDE_LASER_SRC ${ROOT_DIRS}Module/SideLaser/*.c)
list(APPEND ALL_SRC_FILES ${MODULE_SIDE_LASER_SRC})
message("侧边激光模块源码已加载")
endif()
file(GLOB_RECURSE MODULE_IMAGEPROCESSING_SRC ${ROOT_DIRS}Module/ImageProcessing/*.c)
file(GLOB_RECURSE MODULE_IMAGEPROCESSING_cpp_SRC ${ROOT_DIRS}Module/ImageProcessing/*.cpp)
#进入.h文件
include_directories(./application)
include_directories(${ROOT_DIRS}JZsdk_Common)
include_directories(${ROOT_DIRS}JZsdk_Config)
include_directories(${ROOT_DIRS}JZsdk_hal)
include_directories(${ROOT_DIRS}JZsdk_osal)
include_directories(${ROOT_DIRS}Module/Megaphone)
include_directories(${ROOT_DIRS}Module/Ircut)
include_directories(${ROOT_DIRS}Module/Ircut/H3_ircut/wiringPi)
include_directories(${ROOT_DIRS}Module/Gimbal)
include_directories(${ROOT_DIRS}Module/Lighting)
include_directories(${ROOT_DIRS}Module/UI_control)
include_directories(${ROOT_DIRS}Module/Camera)
include_directories(${ROOT_DIRS}Module/PowerManager)
include_directories(${ROOT_DIRS}Module/TestAPP)
include_directories(${ROOT_DIRS}Module/ImageProcessing)
include_directories(${ROOT_DIRS}Module/SerialManagement)
include_directories(${ROOT_DIRS}Module)
# psdk额外加载的.h文件
include_directories(./application)
include_directories(../../../module_sample)
include_directories(../common)
include_directories(../../../../../psdk_lib/include) #PSDK头文件
# 加载jzsdk的头文件  *****************************************************
include_directories(${ALL_INC_FILES})
# 工程输出目录
if (NOT EXECUTABLE_OUTPUT_PATH)
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR})
... ... @@ -177,12 +82,10 @@ add_executable(
${MODULE_HAL_SRC}
${MODULE_SAMPLE_SRC}
${ALL_SRC_FILES}
${MODULE_IMAGEPROCESSING_SRC}
${MODULE_IMAGEPROCESSING_cpp_SRC}
${ALL_SRC_FILES} #加载jzsdk的源文件 *****************************************************
)
include(${ROOT_DIRS}CmakeConfig/ModuleLoading.cmake)
include(${ROOT_DIRS}CmakeConfig/module_lib_loading.cmake)
add_custom_command(TARGET ${PROJECT_NAME}
PRE_LINK COMMAND cmake ..
... ...
... ... @@ -24,117 +24,18 @@ set(ROOT_DIRS "${CMAKE_CURRENT_LIST_DIR}/../../")
# 包含模块配置
include(${ROOT_DIRS}CmakeConfig/Compiler.cmake)
include(${ROOT_DIRS}CmakeConfig/ModuleConfig.cmake)
include(${ROOT_DIRS}CmakeConfig/SubsidiaryThirdPartyConfig.cmake)
include(${ROOT_DIRS}CmakeConfig/module_config.cmake)
include(${ROOT_DIRS}CmakeConfig/module_build.cmake)
# 指定源文件
file(GLOB_RECURSE JZSDK_COMMON_SRC ${ROOT_DIRS}JZsdk_Common/*.c)
list(APPEND ALL_SRC_FILES ${JZSDK_COMMON_SRC})
file(GLOB_RECURSE JZSDK_CONFIG_SRC ${ROOT_DIRS}JZsdk_Config/*.c)
list(APPEND ALL_SRC_FILES ${JZSDK_CONFIG_SRC})
file(GLOB_RECURSE JZSDK_HAL_SRC ${ROOT_DIRS}JZsdk_hal/*.c)
list(APPEND ALL_SRC_FILES ${JZSDK_HAL_SRC})
file(GLOB_RECURSE JZSDK_OSAL_SRC ${ROOT_DIRS}JZsdk_osal/*.c)
list(APPEND ALL_SRC_FILES ${JZSDK_OSAL_SRC})
if(${AUDIODEAL_MODULE} STREQUAL "VERSION_SWITCH_ON")
file(GLOB_RECURSE AUDIODEAL_SRC ${ROOT_DIRS}Module/AudioDeal/*.c)
list(APPEND ALL_SRC_FILES ${AUDIODEAL_SRC})
message("音频处理模块源码已加载")
endif()
if(${DEVICE_INFO_MODULE} STREQUAL "VERSION_SWITCH_ON")
file(GLOB_RECURSE DEVICE_MESSAGE_SRC ${ROOT_DIRS}Module/DeviceInfo/*.c)
list(APPEND ALL_SRC_FILES ${DEVICE_MESSAGE_SRC})
message("设备信息模块源码已加载")
endif()
if(${GIMBAL_MODULE} STREQUAL "VERSION_SWITCH_ON")
file(GLOB_RECURSE GIMBAL_SRC ${ROOT_DIRS}Module/Gimbal/*.c)
list(APPEND ALL_SRC_FILES ${GIMBAL_SRC})
message("云台模块源码已加载")
endif()
if(${IRCUT_MODULE} STREQUAL "VERSION_SWITCH_ON")
file(GLOB_RECURSE MODULE_IRCUT_SRC ${ROOT_DIRS}Module/Ircut/*.c)
list(APPEND ALL_SRC_FILES ${MODULE_IRCUT_SRC})
message("引脚模块源码已加载")
endif()
if(${LIGHTING_MODULE} STREQUAL "VERSION_SWITCH_ON")
file(GLOB_RECURSE LIGHTING_SRC ${ROOT_DIRS}Module/Lighting/*.c)
list(APPEND ALL_SRC_FILES ${LIGHTING_SRC})
message("光源模块源码已加载")
endif()
if(${MEDIA_PROC_MODULE} STREQUAL "VERSION_SWITCH_ON")
file(GLOB_RECURSE MEDIA_PROC_SRC ${ROOT_DIRS}Module/MediaProc/*.c)
file(GLOB_RECURSE MEDIA_PROC_SRC_CPP ${ROOT_DIRS}Module/MediaProc/*.cpp)
list(APPEND ALL_SRC_FILES ${MEDIA_PROC_SRC})
list(APPEND ALL_SRC_FILES ${MEDIA_PROC_SRC_CPP})
message("媒体管理模块已加载")
endif()
if(${MEGAPHONE_MODULE} STREQUAL "VERSION_SWITCH_ON")
file(GLOB_RECURSE MEGAPHONE_SRC ${ROOT_DIRS}Module/Megaphone/*.c)
list(APPEND ALL_SRC_FILES ${MEGAPHONE_SRC})
message("喊话器模块源码已加载")
endif()
if(${POWER_MANAGER_MODULE} STREQUAL "VERSION_SWITCH_ON")
file(GLOB_RECURSE POWERMANAGER_SRC ${ROOT_DIRS}Module/PowerManager/*.c)
list(APPEND ALL_SRC_FILES ${POWERMANAGER_SRC})
message("电源模块已加载")
endif()
if(${UI_CONTROL_MODULE} STREQUAL "VERSION_SWITCH_ON")
file(GLOB_RECURSE MODULE_UICONTROL_SRC ${ROOT_DIRS}Module/UI_control/*.c)
list(APPEND ALL_SRC_FILES ${MODULE_UICONTROL_SRC})
message("UI模块源码已加载")
endif()
if(${SIDE_LASER_MODULE} STREQUAL "VERSION_SWITCH_ON")
file(GLOB_RECURSE MODULE_SIDE_LASER_SRC ${ROOT_DIRS}Module/SideLaser/*.c)
list(APPEND ALL_SRC_FILES ${MODULE_SIDE_LASER_SRC})
message("侧边激光模块源码已加载")
endif()
file(GLOB_RECURSE MODULE_IMAGEPROCESSING_SRC ${ROOT_DIRS}Module/ImageProcessing/*.c)
file(GLOB_RECURSE MODULE_IMAGEPROCESSING_cpp_SRC ${ROOT_DIRS}Module/ImageProcessing/*.cpp)
# 头文件路径
include_directories(./application)
include_directories(${ROOT_DIRS}JZsdk_Common)
include_directories(${ROOT_DIRS}JZsdk_Config)
include_directories(${ROOT_DIRS}JZsdk_hal)
include_directories(${ROOT_DIRS}JZsdk_osal)
include_directories(${ROOT_DIRS}Module)
include_directories(${ROOT_DIRS}Module/Megaphone)
include_directories(${ROOT_DIRS}Module/Ircut)
include_directories(${ROOT_DIRS}Module/Ircut/H3_ircut/wiringPi)
include_directories(${ROOT_DIRS}Module/Gimbal)
include_directories(${ROOT_DIRS}Module/Lighting)
include_directories(${ROOT_DIRS}Module/UI_control)
include_directories(${ROOT_DIRS}Module/Camera)
include_directories(${ROOT_DIRS}Module/PowerManager)
include_directories(${ROOT_DIRS}Module/TestAPP)
include_directories(${ROOT_DIRS}Module/ImageProcessing)
include_directories(${ROOT_DIRS}Module/SerialManagement)
# 加载jzsdk的头文件  *****************************************************
include_directories(${ALL_INC_FILES})
# 生成可执行文件
add_executable(
JZ_UART_APP
./application/main.c
${ALL_SRC_FILES}
${MODULE_IMAGEPROCESSING_SRC}
${MODULE_IMAGEPROCESSING_cpp_SRC}
${ALL_SRC_FILES} #加载jzsdk的源文件 *****************************************************
)
include(${ROOT_DIRS}CmakeConfig/ModuleLoading.cmake)
include(${ROOT_DIRS}CmakeConfig/module_lib_loading.cmake)
... ...