作者 ookk303

测试

# Compiled class file
project_build
ThirdParty
ModuleLib
备份
\ No newline at end of file
备份
project_build/DJI_大疆PSDK
project_build/AUTEL_道通PSDK
project_build/GDU_普宙PSDK
project_build/Only_Serial/build
project_build/Only_Serial/Upgrade_Package
... ...
# cmake 最低版本要求 第三行名字不能动
cmake_minimum_required(VERSION 2.8)
project(JZ_UART_APP)
set(CMAKE_C_FLAGS "-pthread -std=gnu99 -lm -ldl -lstdc++")
#"-pthread":指定在编译时链接POSIX线程库,以支持多线程程序。
#"-std=gnu99":指定C语言标准为GNU C99(也就是C99加上GNU的扩展特性),该标准对于一些特性和库的使用是必须的。
#"-lm":指定在编译时链接数学库,以使用一些数学函数。
#"-ldl":指定在编译时链接动态库加载库,以使用动态加载。
#"-lstdc++":指定在编译时链接C++标准库,以使用C++的一些特性和函数。
set(CMAKE_EXE_LINKER_FLAGS "-pthread")
#预留行
set(DEVICE_TYPE MEGAPHONE)
#预留行
#预留行
#预留行
#预留行
#预留行
#预留行
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)
# 指定源文件
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)
list(APPEND ALL_SRC_FILES ${MEDIA_PROC_SRC})
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)
# 生成可执行文件
add_executable(
JZ_UART_APP
./application/main.c
${ALL_SRC_FILES}
${MODULE_IMAGEPROCESSING_SRC}
${MODULE_IMAGEPROCESSING_cpp_SRC}
)
include(${ROOT_DIRS}CmakeConfig/ModuleLoading.cmake)
... ...
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <string.h>
#include "JZsdkLib.h"
#include "version_choose.h"
#include "BaseConfig.h"
int main(int argc, char* argv[])
{
//设定本程序为 uart程序模式 还是 psdk程序模式
//前者可用于 uart连接对外接口 或者是 通过uart控制的psdk
//后者则是用于直接镶套在psdk程序里面
if (APP_VERSION == APP_UART)
{
Main_APP_Uart();
}
else if (APP_VERSION == APP_PSDK)
{
Main_APP_Psdk();
}
else if (APP_VERSION == APP_TEST)
{
Main_TestAPP();
}
while (1)
{
delayMs(1000);
}
}
... ...