正在显示
67 个修改的文件
包含
2672 行增加
和
686 行删除
| @@ -26,8 +26,10 @@ project_build/GDU_普宙PSDK | @@ -26,8 +26,10 @@ project_build/GDU_普宙PSDK | ||
| 26 | # !project_build/DJI_大疆PSDK/samples/sample_c/platform/linux/all/hal | 26 | # !project_build/DJI_大疆PSDK/samples/sample_c/platform/linux/all/hal |
| 27 | # !project_build/DJI_大疆PSDK/samples/sample_c/platform/linux/all/CMakeLists.txt | 27 | # !project_build/DJI_大疆PSDK/samples/sample_c/platform/linux/all/CMakeLists.txt |
| 28 | 28 | ||
| 29 | -project_build/Payload-SDK-release-v3.11.0/* | 29 | +project_build/Payload-SDK-release-v3.12.0/* |
| 30 | + | ||
| 30 | project_build/特殊固件 | 31 | project_build/特殊固件 |
| 32 | +project_build/DJI_Test | ||
| 31 | 33 | ||
| 32 | 34 | ||
| 33 | # project_build/Attention_提示程序 | 35 | # project_build/Attention_提示程序 |
| @@ -146,7 +146,15 @@ | @@ -146,7 +146,15 @@ | ||
| 146 | "jzsdk_expansionapi.h": "c", | 146 | "jzsdk_expansionapi.h": "c", |
| 147 | "test_widget_speaker.h": "c", | 147 | "test_widget_speaker.h": "c", |
| 148 | "dji_expansion.h": "c", | 148 | "dji_expansion.h": "c", |
| 149 | - "test_widget.h": "c" | 149 | + "test_widget.h": "c", |
| 150 | + "jzc1.h": "c", | ||
| 151 | + "msp_errors.h": "c", | ||
| 152 | + "megaphone_tts.h": "c", | ||
| 153 | + "qtts.h": "c", | ||
| 154 | + "msp_cmn.h": "c", | ||
| 155 | + "ctype.h": "c", | ||
| 156 | + "intl_interface.h": "c", | ||
| 157 | + "iflytek_1.h": "c" | ||
| 150 | }, | 158 | }, |
| 151 | "Codegeex.GenerationPreference": "automatic", | 159 | "Codegeex.GenerationPreference": "automatic", |
| 152 | "C_Cpp.dimInactiveRegions": false, | 160 | "C_Cpp.dimInactiveRegions": false, |
| 1 | # 编译链的配置 | 1 | # 编译链的配置 |
| 2 | 2 | ||
| 3 | #1、编译链与设备类型的选择 | 3 | #1、编译链与设备类型的选择 |
| 4 | -set(DEVICE_NAME JZ_H150G) | 4 | +set(DEVICE_NAME JZ_H150S) |
| 5 | #上一行为禁止修改行 | 5 | #上一行为禁止修改行 |
| 6 | 6 | ||
| 7 | message("**************************JZSDK构建编译开始***************************\n") | 7 | message("**************************JZSDK构建编译开始***************************\n") |
| @@ -34,6 +34,8 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_ST") | @@ -34,6 +34,8 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_ST") | ||
| 34 | set(MAKE_COMPILER ARM_X86_64_ARRCH64) | 34 | set(MAKE_COMPILER ARM_X86_64_ARRCH64) |
| 35 | elseif("${DEVICE_NAME}" STREQUAL "JZ_H150G") | 35 | elseif("${DEVICE_NAME}" STREQUAL "JZ_H150G") |
| 36 | set(MAKE_COMPILER LINARO_ARM_CORTEX_LINUX) | 36 | set(MAKE_COMPILER LINARO_ARM_CORTEX_LINUX) |
| 37 | +elseif("${DEVICE_NAME}" STREQUAL "JZ_T40") | ||
| 38 | + set(MAKE_COMPILER LINARO_ARM_CORTEX_LINUX) | ||
| 37 | endif() | 39 | endif() |
| 38 | 40 | ||
| 39 | if(${MAKE_COMPILER} STREQUAL "ARM_CORTEXA9_LINUX") | 41 | if(${MAKE_COMPILER} STREQUAL "ARM_CORTEXA9_LINUX") |
| @@ -73,6 +73,30 @@ if(${LIGHTING_MODULE} STREQUAL "VERSION_SWITCH_ON") | @@ -73,6 +73,30 @@ if(${LIGHTING_MODULE} STREQUAL "VERSION_SWITCH_ON") | ||
| 73 | 73 | ||
| 74 | endif() | 74 | endif() |
| 75 | 75 | ||
| 76 | +#如果要加载探照灯模块,需要加载以下附属内容 | ||
| 77 | +if(${SEARCHLIGHT_MODULE} STREQUAL "VERSION_SWITCH_ON") | ||
| 78 | + message("\n探照灯模块加载中") | ||
| 79 | + | ||
| 80 | + #打开探照灯的代码编译部分 | ||
| 81 | + add_definitions(-DMACRO_SEARCHLIGHT_MODULE) | ||
| 82 | + | ||
| 83 | + #将探照灯的源代码加入编译中 | ||
| 84 | + file(GLOB_RECURSE SEARCHLIGHT_SRC ${ROOT_DIRS}Module/SearchLight/*.c) | ||
| 85 | + list(APPEND ALL_SRC_FILES ${SEARCHLIGHT_SRC}) | ||
| 86 | + | ||
| 87 | +endif() | ||
| 88 | + | ||
| 89 | +#如果要加载侧面激光模块,需要加载以下附属内容 | ||
| 90 | +if(${SIDE_LASER_MODULE} STREQUAL "VERSION_SWITCH_ON") | ||
| 91 | + message("\n侧面激光模块加载中") | ||
| 92 | + | ||
| 93 | + #打开侧面激光的代码编译部分 | ||
| 94 | + add_definitions(-DMACRO_SIDE_LASER_MODULE) | ||
| 95 | + | ||
| 96 | + file(GLOB_RECURSE MODULE_SIDE_LASER_SRC ${ROOT_DIRS}Module/SideLaser/*.c) | ||
| 97 | + list(APPEND ALL_SRC_FILES ${MODULE_SIDE_LASER_SRC}) | ||
| 98 | +endif() | ||
| 99 | + | ||
| 76 | #如果要加载媒体管理模块,需要加载以下附属内容 | 100 | #如果要加载媒体管理模块,需要加载以下附属内容 |
| 77 | if(${MEDIA_PROC_MODULE} STREQUAL "VERSION_SWITCH_ON") | 101 | if(${MEDIA_PROC_MODULE} STREQUAL "VERSION_SWITCH_ON") |
| 78 | message("\n媒体管理模块加载中") | 102 | message("\n媒体管理模块加载中") |
| @@ -135,11 +159,23 @@ if(${MEGAPHONE_MODULE} STREQUAL "VERSION_SWITCH_ON") | @@ -135,11 +159,23 @@ if(${MEGAPHONE_MODULE} STREQUAL "VERSION_SWITCH_ON") | ||
| 135 | file(GLOB_RECURSE MEGAPHONE_SRC ${ROOT_DIRS}Module/Megaphone/*.c) | 159 | file(GLOB_RECURSE MEGAPHONE_SRC ${ROOT_DIRS}Module/Megaphone/*.c) |
| 136 | list(APPEND ALL_SRC_FILES ${MEGAPHONE_SRC}) | 160 | list(APPEND ALL_SRC_FILES ${MEGAPHONE_SRC}) |
| 137 | 161 | ||
| 138 | - message("加载讯飞TTS模块") | ||
| 139 | - set(IFLAY_TTS_MODULE VERSION_SWITCH_ON) | 162 | + #加载tts模块 |
| 163 | + if(TTS_MODULE STREQUAL "JZ_TTS_MODULE_1" ) | ||
| 140 | 164 | ||
| 141 | - message("加载espeak模块") | ||
| 142 | - set(ESPEAK_TTS_MODULE VERSION_SWITCH_ON) | 165 | + message("加载讯飞一代TTS模块") |
| 166 | + add_definitions(-DMACRO_IFLAY_TTS_1_MODULE) | ||
| 167 | + | ||
| 168 | + message("加载espeak模块") | ||
| 169 | + add_definitions(-DMACRO_ESPEAK_TTS_MODULE) | ||
| 170 | + | ||
| 171 | + elseif(TTS_MODULE STREQUAL "JZ_TTS_MODULE_2" ) | ||
| 172 | + | ||
| 173 | + message("加载讯飞二代TTS模块") | ||
| 174 | + add_definitions(-DMACRO_IFLAY_TTS_2_MODULE) | ||
| 175 | + file(GLOB_RECURSE IFLTTEK_2_SRC ${ROOT_DIRS}Module/Megaphone/TTS/iflytek_2/*.cpp) | ||
| 176 | + list(APPEND ALL_SRC_FILES ${IFLTTEK_2_SRC}) | ||
| 177 | + | ||
| 178 | + endif() | ||
| 143 | 179 | ||
| 144 | message("加载alsalib模块") | 180 | message("加载alsalib模块") |
| 145 | set(ALSALIB_MODULE VERSION_SWITCH_ON) | 181 | set(ALSALIB_MODULE VERSION_SWITCH_ON) |
| @@ -148,6 +184,7 @@ if(${MEGAPHONE_MODULE} STREQUAL "VERSION_SWITCH_ON") | @@ -148,6 +184,7 @@ if(${MEGAPHONE_MODULE} STREQUAL "VERSION_SWITCH_ON") | ||
| 148 | set(OPUS_MODULE VERSION_SWITCH_ON) | 184 | set(OPUS_MODULE VERSION_SWITCH_ON) |
| 149 | endif() | 185 | endif() |
| 150 | 186 | ||
| 187 | + | ||
| 151 | #如果要加载通用模块,需要加载以下附属内容 | 188 | #如果要加载通用模块,需要加载以下附属内容 |
| 152 | if(${COMMON_MODULE} STREQUAL "VERSION_SWITCH_ON") | 189 | if(${COMMON_MODULE} STREQUAL "VERSION_SWITCH_ON") |
| 153 | 190 | ||
| @@ -165,16 +202,7 @@ if(${EXTENSION_API_MODULE} STREQUAL "VERSION_SWITCH_ON") | @@ -165,16 +202,7 @@ if(${EXTENSION_API_MODULE} STREQUAL "VERSION_SWITCH_ON") | ||
| 165 | list(APPEND ALL_SRC_FILES ${EXTENSION_API_MODULE_SRC}) | 202 | list(APPEND ALL_SRC_FILES ${EXTENSION_API_MODULE_SRC}) |
| 166 | endif() | 203 | endif() |
| 167 | 204 | ||
| 168 | -#如果要加载侧面激光模块,需要加载以下附属内容 | ||
| 169 | -if(${SIDE_LASER_MODULE} STREQUAL "VERSION_SWITCH_ON") | ||
| 170 | - message("\n侧面激光模块加载中") | ||
| 171 | - | ||
| 172 | - #打开侧面激光的代码编译部分 | ||
| 173 | - add_definitions(-DMACRO_SIDE_LASER_MODULE) | ||
| 174 | 205 | ||
| 175 | - file(GLOB_RECURSE MODULE_SIDE_LASER_SRC ${ROOT_DIRS}Module/SideLaser/*.c) | ||
| 176 | - list(APPEND ALL_SRC_FILES ${MODULE_SIDE_LASER_SRC}) | ||
| 177 | -endif() | ||
| 178 | 206 | ||
| 179 | #如果要加载UI模块,需要加载以下附属内容 | 207 | #如果要加载UI模块,需要加载以下附属内容 |
| 180 | if(${UI_CONTROL_MODULE} STREQUAL "VERSION_SWITCH_ON") | 208 | if(${UI_CONTROL_MODULE} STREQUAL "VERSION_SWITCH_ON") |
| @@ -15,13 +15,26 @@ set(GIMBAL_MODULE VERSION_SWITCH_OFF) | @@ -15,13 +15,26 @@ set(GIMBAL_MODULE VERSION_SWITCH_OFF) | ||
| 15 | # IRCUT 引脚处理模块 | 15 | # IRCUT 引脚处理模块 |
| 16 | set(IRCUT_MODULE VERSION_SWITCH_OFF) | 16 | set(IRCUT_MODULE VERSION_SWITCH_OFF) |
| 17 | 17 | ||
| 18 | +############### 光源模块 ########################## | ||
| 19 | + | ||
| 18 | # LIGHTING 光源处理模块 | 20 | # LIGHTING 光源处理模块 |
| 19 | set(LIGHTING_MODULE VERSION_SWITCH_OFF) | 21 | set(LIGHTING_MODULE VERSION_SWITCH_OFF) |
| 20 | 22 | ||
| 23 | +# SEARCHLIGHT 探照灯处理模块 | ||
| 24 | +set(SEARCHLIGHT_MODULE VERSION_SWITCH_OFF) | ||
| 25 | + | ||
| 26 | +################ 喊话器模块 ####################### | ||
| 21 | 27 | ||
| 22 | # 喊话器模块 | 28 | # 喊话器模块 |
| 23 | set(MEGAPHONE_MODULE VERSION_SWITCH_OFF) | 29 | set(MEGAPHONE_MODULE VERSION_SWITCH_OFF) |
| 24 | 30 | ||
| 31 | +# TTS模块 | ||
| 32 | +set(TTS_MODULE JZ_TTS_MODULE_1) | ||
| 33 | + | ||
| 34 | +################################################## | ||
| 35 | + | ||
| 36 | + | ||
| 37 | + | ||
| 25 | # 电源管理模块 | 38 | # 电源管理模块 |
| 26 | set(COMMON_MODULE VERSION_SWITCH_OFF) | 39 | set(COMMON_MODULE VERSION_SWITCH_OFF) |
| 27 | 40 | ||
| @@ -377,6 +390,35 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H150G") | @@ -377,6 +390,35 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_H150G") | ||
| 377 | list(APPEND ALL_SRC_FILES ${DEVICE_CONFOG_SRC}) | 390 | list(APPEND ALL_SRC_FILES ${DEVICE_CONFOG_SRC}) |
| 378 | 391 | ||
| 379 | message("JZ_H150G基础配置完毕\n") | 392 | message("JZ_H150G基础配置完毕\n") |
| 393 | + | ||
| 394 | +elseif("${DEVICE_NAME}" STREQUAL "JZ_T40") | ||
| 395 | + | ||
| 396 | + # 添加Gimbal 云台处理模块 | ||
| 397 | + set(GIMBAL_MODULE VERSION_SWITCH_ON) | ||
| 398 | + | ||
| 399 | + # 添加LIGHTING 光源处理模块 | ||
| 400 | + set(LIGHTING_MODULE VERSION_SWITCH_ON) | ||
| 401 | + | ||
| 402 | + # 添加探照灯模块 | ||
| 403 | + set(SEARCHLIGHT_MODULE VERSION_SWITCH_ON) | ||
| 404 | + | ||
| 405 | + # 添加AudioDeal 音频处理模块 | ||
| 406 | + set(AUDIODEAL_MODULE VERSION_SWITCH_ON) | ||
| 407 | + | ||
| 408 | + # 添加喊话器模块 | ||
| 409 | + set(MEGAPHONE_MODULE VERSION_SWITCH_ON) | ||
| 410 | + | ||
| 411 | + # 添加TTS模块 | ||
| 412 | + set(TTS_MODULE JZ_TTS_MODULE_2) | ||
| 413 | + | ||
| 414 | + # 添加FFMPEG及其附属模块 | ||
| 415 | + set(FFMPEG_MODULE VERSION_SWITCH_ON) | ||
| 416 | + | ||
| 417 | + #设备独立配置源文件 | ||
| 418 | + file(GLOB_RECURSE DEVICE_CONFOG_SRC ${ROOT_DIRS}JZsdk_Config/DeviceSample/JZ_T40/*.c) | ||
| 419 | + list(APPEND ALL_SRC_FILES ${DEVICE_CONFOG_SRC}) | ||
| 420 | + | ||
| 421 | + message("JZ_T40基础配置完毕\n") | ||
| 380 | endif() | 422 | endif() |
| 381 | 423 | ||
| 382 | message("***********************模组模块配置完毕*********************************\n") | 424 | message("***********************模组模块配置完毕*********************************\n") |
| @@ -3,17 +3,17 @@ | @@ -3,17 +3,17 @@ | ||
| 3 | # ${ROOT_DIRS}为cmakelist文件提供的工程根目录 | 3 | # ${ROOT_DIRS}为cmakelist文件提供的工程根目录 |
| 4 | 4 | ||
| 5 | 5 | ||
| 6 | -if(${IFLAY_TTS_MODULE} STREQUAL "VERSION_SWITCH_ON") | ||
| 7 | - set(iFLYTEK_TTS_DIRS "${ROOT_DIRS}ThirdParty/iFLYTEK_TTS/lib/arm-cortexa9-linux-gnueabihf") | 6 | +if(${TTS_MODULE} STREQUAL "JZ_TTS_MODULE_1") |
| 7 | + set(iFLYTEK_TTS_1_DIRS "${ROOT_DIRS}ThirdParty/iFLYTEK_TTS/lib/arm-cortexa9-linux-gnueabihf") | ||
| 8 | include_directories(${ROOT_DIRS}ThirdParty/iFLYTEK_TTS/include) | 8 | include_directories(${ROOT_DIRS}ThirdParty/iFLYTEK_TTS/include) |
| 9 | target_link_libraries( | 9 | target_link_libraries( |
| 10 | ${PROJECT_NAME} | 10 | ${PROJECT_NAME} |
| 11 | - ${iFLYTEK_TTS_DIRS}/libmsc.so | 11 | + ${iFLYTEK_TTS_1_DIRS}/libmsc.so |
| 12 | ) | 12 | ) |
| 13 | - message("讯飞TTS模块已加载\n") | 13 | + message("讯飞一代TTS模块已加载\n") |
| 14 | endif() | 14 | endif() |
| 15 | 15 | ||
| 16 | -if(${ESPEAK_TTS_MODULE} STREQUAL "VERSION_SWITCH_ON") | 16 | +if(${TTS_MODULE} STREQUAL "JZ_TTS_MODULE_1") |
| 17 | set(ESPEAK_TTS_DIRS "${ROOT_DIRS}ThirdParty/Espeak/lib/arm-cortexa9-linux-gnueabihf") | 17 | set(ESPEAK_TTS_DIRS "${ROOT_DIRS}ThirdParty/Espeak/lib/arm-cortexa9-linux-gnueabihf") |
| 18 | include_directories(${ROOT_DIRS}ThirdParty/Espeak/include) | 18 | include_directories(${ROOT_DIRS}ThirdParty/Espeak/include) |
| 19 | target_link_libraries( | 19 | target_link_libraries( |
| @@ -24,6 +24,18 @@ if(${ESPEAK_TTS_MODULE} STREQUAL "VERSION_SWITCH_ON") | @@ -24,6 +24,18 @@ if(${ESPEAK_TTS_MODULE} STREQUAL "VERSION_SWITCH_ON") | ||
| 24 | message("Espeak模块已加载\n") | 24 | message("Espeak模块已加载\n") |
| 25 | endif() | 25 | endif() |
| 26 | 26 | ||
| 27 | +if(${TTS_MODULE} STREQUAL "JZ_TTS_MODULE_2") | ||
| 28 | + set(iFLYTEK_TTS_2_DIRS "${ROOT_DIRS}ThirdParty/iFLYTEK_TTS_2/lib/arm-cortexa9-linux-gnueabihf") | ||
| 29 | + include_directories(${ROOT_DIRS}ThirdParty/iFLYTEK_TTS_2/include) | ||
| 30 | + | ||
| 31 | + target_link_libraries( | ||
| 32 | + ${PROJECT_NAME} | ||
| 33 | + aikit | ||
| 34 | + rt | ||
| 35 | + ) | ||
| 36 | + message("讯飞二代TTS模块已加载\n") | ||
| 37 | +endif() | ||
| 38 | + | ||
| 27 | if(${ALSALIB_MODULE} STREQUAL "VERSION_SWITCH_ON") | 39 | if(${ALSALIB_MODULE} STREQUAL "VERSION_SWITCH_ON") |
| 28 | set(ALSALIB_DIRS "${ROOT_DIRS}ThirdParty/AlsaLib/lib/arm-cortexa9-linux-gnueabihf") | 40 | set(ALSALIB_DIRS "${ROOT_DIRS}ThirdParty/AlsaLib/lib/arm-cortexa9-linux-gnueabihf") |
| 29 | include_directories(${ROOT_DIRS}ThirdParty/AlsaLib/include) | 41 | include_directories(${ROOT_DIRS}ThirdParty/AlsaLib/include) |
CmakeConfig/module_link_directories.cmake
0 → 100644
| @@ -29,27 +29,33 @@ | @@ -29,27 +29,33 @@ | ||
| 29 | #define VERSION_SWITCH_OFF 0x0000 //不加载 | 29 | #define VERSION_SWITCH_OFF 0x0000 //不加载 |
| 30 | 30 | ||
| 31 | //设备选择 | 31 | //设备选择 |
| 32 | -#define JZ_H1E 0x0011 | 32 | +#define JZ_H1E 0x11 |
| 33 | 33 | ||
| 34 | -#define JZ_H1T 0x0016 | 34 | +#define JZ_H1T 0x16 |
| 35 | 35 | ||
| 36 | -#define JZ_U3 0x0017 | ||
| 37 | -#define JZ_U3S 0x0018 | ||
| 38 | -#define JZ_U3D 0x0019 | ||
| 39 | -#define JZ_U30 0x001A | 36 | +#define JZ_U3 0x17 |
| 37 | +#define JZ_U3S 0x18 | ||
| 38 | +#define JZ_U3D 0x19 | ||
| 39 | +#define JZ_U30 0x1A | ||
| 40 | +#define JZ_T40 0x1C | ||
| 41 | +#define JZ_T40_LEFT_GIMBAL 0x1C11 | ||
| 42 | +#define JZ_T40_RIGHT_GIMBAL 0x1C12 | ||
| 43 | +#define JZ_T40_LEFT_LIGHT 0x1C21 | ||
| 44 | +#define JZ_T40_RIGHT_LIGHT 0x1C22 | ||
| 40 | 45 | ||
| 46 | +#define JZ_H150S 0x13 | ||
| 47 | +#define JZ_H150T 0x15 | ||
| 48 | +#define JZ_H150G 0x20 | ||
| 41 | 49 | ||
| 42 | -#define JZ_H150S 0x0013 | ||
| 43 | -#define JZ_H150T 0x0015 | ||
| 44 | -#define JZ_H150G 0x0020 | 50 | +#define JZ_H10 0x12 |
| 51 | +#define JZ_H10T 0x14 | ||
| 45 | 52 | ||
| 46 | -#define JZ_H10 0x0012 | ||
| 47 | -#define JZ_H10T 0x0014 | ||
| 48 | 53 | ||
| 49 | #define TF_A1 0x1010 | 54 | #define TF_A1 0x1010 |
| 50 | #define JZ_C1 0x1011 | 55 | #define JZ_C1 0x1011 |
| 51 | #define JZ_ST 0x1012 | 56 | #define JZ_ST 0x1012 |
| 52 | 57 | ||
| 58 | + | ||
| 53 | /*********************************** | 59 | /*********************************** |
| 54 | * | 60 | * |
| 55 | * 已退出历史舞台 | 61 | * 已退出历史舞台 |
| @@ -97,6 +97,12 @@ typedef struct { | @@ -97,6 +97,12 @@ typedef struct { | ||
| 97 | F32_t yaw; /*!< Specifies float value of yaw for attitude */ | 97 | F32_t yaw; /*!< Specifies float value of yaw for attitude */ |
| 98 | } T_JZsdkAttitude3f; | 98 | } T_JZsdkAttitude3f; |
| 99 | 99 | ||
| 100 | +typedef enum E_JZ_SingleCompensationMode{ | ||
| 101 | + JZ_SINGLE_COMPENSATION_MODE_PITCH_LEFT = 0, | ||
| 102 | + JZ_SINGLE_COMPENSATION_MODE_PITCH_RIGHT = 1, | ||
| 103 | +}E_JZ_SingleCompensationMode; | ||
| 104 | + | ||
| 105 | + | ||
| 100 | /* Exported types ------------------------------------------------------------*/ | 106 | /* Exported types ------------------------------------------------------------*/ |
| 101 | 107 | ||
| 102 | 108 |
| @@ -17,9 +17,13 @@ int JZsdk_Get_FrameSequence(char *DealBuf) | @@ -17,9 +17,13 @@ int JZsdk_Get_FrameSequence(char *DealBuf) | ||
| 17 | * 获取帧的长度 | 17 | * 获取帧的长度 |
| 18 | * | 18 | * |
| 19 | * ***************************/ | 19 | * ***************************/ |
| 20 | -int JZsdk_Get_FrameLength(char *DealBuf) | 20 | +int JZsdk_Get_FrameLength(char *DealBuf) |
| 21 | { | 21 | { |
| 22 | - return ((int)DealBuf[3]) << 8 + DealBuf[4]; | 22 | + // 转换为 unsigned char 避免符号扩展问题 |
| 23 | + unsigned char *buf = (unsigned char *)DealBuf; | ||
| 24 | + | ||
| 25 | + // 正确计算:高位字节左移8位 + 低位字节 | ||
| 26 | + return (buf[3] << 8) | buf[4]; | ||
| 23 | } | 27 | } |
| 24 | 28 | ||
| 25 | /*************************** | 29 | /*************************** |
| @@ -109,6 +109,61 @@ void JZsdk_UserLogOutput(E_JZsdkConsoleLogLevel level, const char *fmt, ...) | @@ -109,6 +109,61 @@ void JZsdk_UserLogOutput(E_JZsdkConsoleLogLevel level, const char *fmt, ...) | ||
| 109 | 109 | ||
| 110 | 110 | ||
| 111 | 111 | ||
| 112 | +void JZsdk_User_OutputHex(E_JZsdkConsoleLogLevel level, const char *fmt, ...) | ||
| 113 | +{ | ||
| 114 | + // 将日志级别转换为相应的字符串 | ||
| 115 | + const char *JZSDK_LOGGER_CONSOLE_LOG_LEVEL = ""; | ||
| 116 | + switch (level) { | ||
| 117 | + case JZSDK_LOGGER_CONSOLE_LOG_LEVEL_DEBUG: | ||
| 118 | + JZSDK_LOGGER_CONSOLE_LOG_LEVEL = "DEBUG"; | ||
| 119 | + break; | ||
| 120 | + case JZSDK_LOGGER_CONSOLE_LOG_LEVEL_INFO: | ||
| 121 | + JZSDK_LOGGER_CONSOLE_LOG_LEVEL = "INFO"; | ||
| 122 | + break; | ||
| 123 | + case JZSDK_LOGGER_CONSOLE_LOG_LEVEL_WARN: | ||
| 124 | + JZSDK_LOGGER_CONSOLE_LOG_LEVEL = "WARNING"; | ||
| 125 | + break; | ||
| 126 | + case JZSDK_LOGGER_CONSOLE_LOG_LEVEL_ERROR: | ||
| 127 | + JZSDK_LOGGER_CONSOLE_LOG_LEVEL = "ERROR"; | ||
| 128 | + break; | ||
| 129 | + default: | ||
| 130 | + break; | ||
| 131 | + } | ||
| 132 | + // 使用可变参数处理传入的格式化字符串和可变参数 | ||
| 133 | + va_list args; | ||
| 134 | + va_start(args, fmt); | ||
| 135 | + | ||
| 136 | + //格式化日志消息 | ||
| 137 | + char logMessage[10]; | ||
| 138 | + memset(logMessage, 0, sizeof(logMessage)); | ||
| 139 | + vsnprintf(logMessage, sizeof(logMessage), fmt, args); | ||
| 140 | + | ||
| 141 | + va_end(args); | ||
| 142 | + | ||
| 143 | + // 执行具体的日志输出操作 | ||
| 144 | + char finalLogMessage[512]; | ||
| 145 | + memset(finalLogMessage, 0, sizeof(finalLogMessage)); | ||
| 146 | + snprintf(finalLogMessage, 612, "%s", logMessage); | ||
| 147 | + | ||
| 148 | + | ||
| 149 | + printf("%x ",finalLogMessage[0]); | ||
| 150 | + | ||
| 151 | + //写入日志 | ||
| 152 | + //HexToLogFile(finalLogMessage); | ||
| 153 | +} | ||
| 154 | + | ||
| 155 | + | ||
| 156 | + | ||
| 157 | + | ||
| 158 | + | ||
| 159 | + | ||
| 160 | + | ||
| 161 | + | ||
| 162 | + | ||
| 163 | + | ||
| 164 | + | ||
| 165 | + | ||
| 166 | + | ||
| 112 | 167 | ||
| 113 | 168 | ||
| 114 | 169 |
| @@ -325,36 +325,41 @@ static T_JZsdkReturnCode DeviceSample_init(int mode) | @@ -325,36 +325,41 @@ static T_JZsdkReturnCode DeviceSample_init(int mode) | ||
| 325 | #if DEVICE_VERSION == JZ_H150G | 325 | #if DEVICE_VERSION == JZ_H150G |
| 326 | JZ_h150g_init(mode); | 326 | JZ_h150g_init(mode); |
| 327 | #endif | 327 | #endif |
| 328 | -} | ||
| 329 | 328 | ||
| 329 | + //T40加载 | ||
| 330 | + #if DEVICE_VERSION == JZ_T40 | ||
| 331 | + JZ_T40_init(mode); | ||
| 332 | + #endif | ||
| 333 | +} | ||
| 330 | 334 | ||
| 331 | -T_JZsdkReturnCode Main_APP_Psdk() | 335 | +//环境信息加载 |
| 336 | +static T_JZsdkReturnCode EquipmentEnvironment_Init() | ||
| 332 | { | 337 | { |
| 333 | - int value[5] = {0, 0, 0, 0, 0}; | ||
| 334 | - | ||
| 335 | //sdklib加载 | 338 | //sdklib加载 |
| 336 | JZsdk_LibInit(JZ_FLAGCODE_ON); | 339 | JZsdk_LibInit(JZ_FLAGCODE_ON); |
| 337 | 340 | ||
| 338 | - //hal加载 | 341 | + //hal信息加载,这里后期需要优化 |
| 339 | JZsdk_Hal_Init(); | 342 | JZsdk_Hal_Init(); |
| 340 | 343 | ||
| 341 | JZSDK_LOG_INFO("%x,PsdkVersion%d.%d.%d.%d\n",DEVICE_VERSION,MAJOR_VERSION, MINOR_VERSION, MODIFY_VERSION, DEBUG_VERSION); | 344 | JZSDK_LOG_INFO("%x,PsdkVersion%d.%d.%d.%d\n",DEVICE_VERSION,MAJOR_VERSION, MINOR_VERSION, MODIFY_VERSION, DEBUG_VERSION); |
| 342 | 345 | ||
| 343 | //通用模块初始化 | 346 | //通用模块初始化 |
| 344 | CommonMod_Init(); | 347 | CommonMod_Init(); |
| 345 | - | ||
| 346 | - //引脚初始化 | ||
| 347 | - Ircut_Init(); | ||
| 348 | - | 348 | + |
| 349 | //设备信息初始化 | 349 | //设备信息初始化 |
| 350 | DeviceInfo_Init(); | 350 | DeviceInfo_Init(); |
| 351 | +} | ||
| 352 | + | ||
| 353 | + | ||
| 354 | + | ||
| 355 | +T_JZsdkReturnCode Main_APP_Psdk() | ||
| 356 | +{ | ||
| 357 | + //环境加载 | ||
| 358 | + EquipmentEnvironment_Init(); | ||
| 351 | 359 | ||
| 352 | //工作模式设置函数,用于超时,及播放启动语音等 | 360 | //工作模式设置函数,用于超时,及播放启动语音等 |
| 353 | Main_WorkMode(); | 361 | Main_WorkMode(); |
| 354 | 362 | ||
| 355 | - //外接传输模块 | ||
| 356 | - JZsdk_data_transmisson_Receive_Init(); | ||
| 357 | - | ||
| 358 | //设备例程初始化 | 363 | //设备例程初始化 |
| 359 | DeviceSample_init(APP_PSDK); | 364 | DeviceSample_init(APP_PSDK); |
| 360 | 365 | ||
| @@ -373,23 +378,8 @@ T_JZsdkReturnCode Main_APP_Psdk() | @@ -373,23 +378,8 @@ T_JZsdkReturnCode Main_APP_Psdk() | ||
| 373 | 378 | ||
| 374 | int Main_APP_Uart() | 379 | int Main_APP_Uart() |
| 375 | { | 380 | { |
| 376 | - int value[5] = {0, 0, 0, 0, 0}; | ||
| 377 | - | ||
| 378 | - //lib库初始化 | ||
| 379 | - JZsdk_LibInit(JZ_FLAGCODE_ON); | ||
| 380 | - | ||
| 381 | - JZsdk_Hal_Init(); | ||
| 382 | - | ||
| 383 | - JZSDK_LOG_INFO("0x%x,UartVersion%d.%d.%d.%d\n",DEVICE_VERSION,MAJOR_VERSION, MINOR_VERSION, MODIFY_VERSION, DEBUG_VERSION); | ||
| 384 | - | ||
| 385 | - //通用模块 | ||
| 386 | - CommonMod_Init(); | ||
| 387 | - | ||
| 388 | - //引脚初始化 | ||
| 389 | - Ircut_Init(); | ||
| 390 | - | ||
| 391 | - //设备信息初始化 | ||
| 392 | - DeviceInfo_Init(); | 381 | + //环境加载 |
| 382 | + EquipmentEnvironment_Init(); | ||
| 393 | 383 | ||
| 394 | //工作模式设置函数,用于超时,及播放启动语音等 | 384 | //工作模式设置函数,用于超时,及播放启动语音等 |
| 395 | Main_WorkMode(); | 385 | Main_WorkMode(); |
| @@ -404,8 +394,6 @@ int Main_APP_Uart() | @@ -404,8 +394,6 @@ int Main_APP_Uart() | ||
| 404 | 394 | ||
| 405 | int Main_TestAPP() | 395 | int Main_TestAPP() |
| 406 | { | 396 | { |
| 407 | - int value[5] = {0, 0, 0, 0, 0}; | ||
| 408 | - | ||
| 409 | JZsdk_LibInit(JZ_FLAGCODE_ON); | 397 | JZsdk_LibInit(JZ_FLAGCODE_ON); |
| 410 | 398 | ||
| 411 | JZsdk_Hal_Init(); | 399 | JZsdk_Hal_Init(); |
| @@ -413,8 +401,12 @@ int Main_TestAPP() | @@ -413,8 +401,12 @@ int Main_TestAPP() | ||
| 413 | CommonMod_Init(); | 401 | CommonMod_Init(); |
| 414 | 402 | ||
| 415 | //串口设备1初始化 | 403 | //串口设备1初始化 |
| 416 | - value[0] = UART_DEV1_BITRATE; | ||
| 417 | - JZsdk_HalPort_Init(UART_DEV_1, value); | 404 | + s_JZ_SerialPortHalRegInfo SerialInfo = { |
| 405 | + .BitRate = UART_DEV1_BITRATE, | ||
| 406 | + .ConnectType = PORT_CONNECT_TYPE_AS_SUB | ||
| 407 | + }; | ||
| 408 | + | ||
| 409 | + JZsdk_HalPort_Init(UART_DEV_1, (void *)&SerialInfo); | ||
| 418 | } | 410 | } |
| 419 | 411 | ||
| 420 | 412 |
| @@ -245,6 +245,23 @@ extern "C" { | @@ -245,6 +245,23 @@ extern "C" { | ||
| 245 | #define NET_WORK_IPADDR NULL | 245 | #define NET_WORK_IPADDR NULL |
| 246 | #define NET_WORK_TARGET_IPADDR NULL | 246 | #define NET_WORK_TARGET_IPADDR NULL |
| 247 | #define NET_WORK_NETMASK NULL | 247 | #define NET_WORK_NETMASK NULL |
| 248 | + | ||
| 249 | +#elif DEVICE_VERSION == JZ_T40 | ||
| 250 | + #define UART_DEV1_NUM "/dev/ttyS1" | ||
| 251 | + #define UART_DEV1_BITRATE (115200) | ||
| 252 | + | ||
| 253 | + #define UART_DEV2_NUM "/dev/ttyS0" | ||
| 254 | + #define UART_DEV2_BITRATE (115200) | ||
| 255 | + | ||
| 256 | + #define COMM_4G_UART_NUM "/dev/ttyS2" | ||
| 257 | + #define COMM_4G_UART_BITRATE (115200) | ||
| 258 | + | ||
| 259 | + #define GIMBAL_UART_NUM NULL | ||
| 260 | + #define GIMBAL_UART_BITRATE (0) | ||
| 261 | + | ||
| 262 | + #define NET_WORK_IPADDR NULL | ||
| 263 | + #define NET_WORK_TARGET_IPADDR NULL | ||
| 264 | + #define NET_WORK_NETMASK NULL | ||
| 248 | 265 | ||
| 249 | #else | 266 | #else |
| 250 | #define UART_DEV1_NUM NULL | 267 | #define UART_DEV1_NUM NULL |
| @@ -26,6 +26,8 @@ | @@ -26,6 +26,8 @@ | ||
| 26 | #include "DeviceSample/JZ_U3_series/JZ_U3D/JZ_u3d.h" | 26 | #include "DeviceSample/JZ_U3_series/JZ_U3D/JZ_u3d.h" |
| 27 | #include "DeviceSample/JZ_U3_series/JZ_U30/JZ_u30.h" | 27 | #include "DeviceSample/JZ_U3_series/JZ_U30/JZ_u30.h" |
| 28 | 28 | ||
| 29 | +#include "DeviceSample/JZ_T40/JZ_T40.h" | ||
| 30 | + | ||
| 29 | #include "DeviceSample/JZC1/JZC1.h" | 31 | #include "DeviceSample/JZC1/JZC1.h" |
| 30 | #include "DeviceSample/JZ_ST/JZ_ST.h" | 32 | #include "DeviceSample/JZ_ST/JZ_ST.h" |
| 31 | 33 |
| @@ -1141,6 +1141,16 @@ static T_JZsdkReturnCode JZC1_PowerOn_Read() | @@ -1141,6 +1141,16 @@ static T_JZsdkReturnCode JZC1_PowerOn_Read() | ||
| 1141 | //c1的实际初始化函数 | 1141 | //c1的实际初始化函数 |
| 1142 | T_JZsdkReturnCode JZC1_Init(int mode) | 1142 | T_JZsdkReturnCode JZC1_Init(int mode) |
| 1143 | { | 1143 | { |
| 1144 | + //引脚初始化 | ||
| 1145 | + IrcutInfo ircut_info; | ||
| 1146 | + ircut_info.Amplifiter_Pin.Enable = JZ_FLAGCODE_ON; | ||
| 1147 | + ircut_info.Amplifiter_Pin.Port = JZ_IRC_PORT_PG; | ||
| 1148 | + ircut_info.Amplifiter_Pin.index = 5; | ||
| 1149 | + ircut_info.Amplifiter_Pin.Group = 0; | ||
| 1150 | + ircut_info.Amplifiter_Pin.mode = JZ_IRC_PIN_MODE_OUT; | ||
| 1151 | + | ||
| 1152 | + Ircut_Init(ircut_info); | ||
| 1153 | + | ||
| 1144 | //网口初始化 | 1154 | //网口初始化 |
| 1145 | if (mode == APP_UART) | 1155 | if (mode == APP_UART) |
| 1146 | { | 1156 | { |
| @@ -1148,15 +1158,21 @@ T_JZsdkReturnCode JZC1_Init(int mode) | @@ -1148,15 +1158,21 @@ T_JZsdkReturnCode JZC1_Init(int mode) | ||
| 1148 | JZsdk_NetWork_Init(); | 1158 | JZsdk_NetWork_Init(); |
| 1149 | } | 1159 | } |
| 1150 | 1160 | ||
| 1151 | - | 1161 | + if (mode == APP_PSDK) |
| 1162 | + { | ||
| 1163 | + //外接传输模块,用于与飞机的数据通信 | ||
| 1164 | + JZsdk_data_transmisson_Receive_Init(); | ||
| 1165 | + } | ||
| 1166 | + | ||
| 1152 | #ifdef RTK_MPP_STATUS_ON | 1167 | #ifdef RTK_MPP_STATUS_ON |
| 1153 | 1168 | ||
| 1154 | T_JZsdkReturnCode ret = JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 1169 | T_JZsdkReturnCode ret = JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 1155 | 1170 | ||
| 1156 | - T_JZsdkVideoMgmtHandler VideoMgmtHandler = { | ||
| 1157 | - .SetNextFrame_IDR = JZC1_SetNextFrame_IDR, | 1171 | + //媒体模块初始化 |
| 1172 | + T_JZsdkMediaProcHandler MediaProcHandler = { | ||
| 1173 | + .VideoMgmtHandler.SetNextFrame_IDR = JZC1_SetNextFrame_IDR, | ||
| 1158 | }; | 1174 | }; |
| 1159 | - VideoMgmt_Init(VideoMgmtHandler); | 1175 | + MediaProc_Init(MediaProcHandler); |
| 1160 | 1176 | ||
| 1161 | //初始化红外的编码器 | 1177 | //初始化红外的编码器 |
| 1162 | g_JZC1_info.IRC_enc_info = (T_rtk_mmp_enc_info *)malloc(sizeof(T_rtk_mmp_enc_info)); | 1178 | g_JZC1_info.IRC_enc_info = (T_rtk_mmp_enc_info *)malloc(sizeof(T_rtk_mmp_enc_info)); |
| @@ -6,6 +6,7 @@ | @@ -6,6 +6,7 @@ | ||
| 6 | #include "Megaphone/Megaphone.h" | 6 | #include "Megaphone/Megaphone.h" |
| 7 | #include "AudioDeal/AudioDeal.h" | 7 | #include "AudioDeal/AudioDeal.h" |
| 8 | #include "Gimbal/Gimbal.h" | 8 | #include "Gimbal/Gimbal.h" |
| 9 | +#include "Ircut/Ircut.h" | ||
| 9 | 10 | ||
| 10 | /**************************** | 11 | /**************************** |
| 11 | * | 12 | * |
| @@ -16,17 +17,38 @@ | @@ -16,17 +17,38 @@ | ||
| 16 | * ****************************/ | 17 | * ****************************/ |
| 17 | T_JZsdkReturnCode JZ_h10_init(int mode) | 18 | T_JZsdkReturnCode JZ_h10_init(int mode) |
| 18 | { | 19 | { |
| 19 | - //音频库初始化 | ||
| 20 | - AudioDeal_Init(); | 20 | + //引脚初始化 |
| 21 | + IrcutInfo ircut_info; | ||
| 22 | + ircut_info.Amplifiter_Pin.Enable = JZ_FLAGCODE_ON; | ||
| 23 | + ircut_info.Amplifiter_Pin.Port = JZ_IRC_PORT_PG; | ||
| 24 | + ircut_info.Amplifiter_Pin.index = 11; | ||
| 25 | + ircut_info.Amplifiter_Pin.Group = 0; | ||
| 26 | + ircut_info.Amplifiter_Pin.mode = JZ_IRC_PIN_MODE_OUT; | ||
| 27 | + | ||
| 28 | + //还有个pwm | ||
| 29 | + ircut_info.PWM_1_Pin.Enable = JZ_FLAGCODE_ON; | ||
| 30 | + | ||
| 31 | + Ircut_Init(ircut_info); | ||
| 21 | 32 | ||
| 22 | - int value[5] = {0}; | ||
| 23 | if (mode == APP_UART) | 33 | if (mode == APP_UART) |
| 24 | { | 34 | { |
| 25 | //串口设备1初始化 | 35 | //串口设备1初始化 |
| 26 | - value[0] = UART_DEV1_BITRATE; | ||
| 27 | - JZsdk_HalPort_Init(UART_DEV_1, value); | 36 | + s_JZ_SerialPortHalRegInfo SerialInfo = { |
| 37 | + .BitRate = UART_DEV1_BITRATE, | ||
| 38 | + .ConnectType = PORT_CONNECT_TYPE_AS_SUB | ||
| 39 | + }; | ||
| 40 | + | ||
| 41 | + JZsdk_HalPort_Init(UART_DEV_1, (void *)&SerialInfo); | ||
| 42 | + } | ||
| 28 | 43 | ||
| 44 | + if (mode == APP_PSDK) | ||
| 45 | + { | ||
| 46 | + //外接传输模块,用于与飞机的数据通信 | ||
| 47 | + JZsdk_data_transmisson_Receive_Init(); | ||
| 29 | } | 48 | } |
| 49 | + | ||
| 50 | + //音频库初始化 | ||
| 51 | + AudioDeal_Init(); | ||
| 30 | 52 | ||
| 31 | //喊话器初始化 | 53 | //喊话器初始化 |
| 32 | Megaphone_Init(); | 54 | Megaphone_Init(); |
| @@ -7,6 +7,7 @@ | @@ -7,6 +7,7 @@ | ||
| 7 | #include "Megaphone/Megaphone.h" | 7 | #include "Megaphone/Megaphone.h" |
| 8 | #include "AudioDeal/AudioDeal.h" | 8 | #include "AudioDeal/AudioDeal.h" |
| 9 | #include "Gimbal/Gimbal.h" | 9 | #include "Gimbal/Gimbal.h" |
| 10 | +#include "Ircut/Ircut.h" | ||
| 10 | 11 | ||
| 11 | /**************************** | 12 | /**************************** |
| 12 | * | 13 | * |
| @@ -17,21 +18,51 @@ | @@ -17,21 +18,51 @@ | ||
| 17 | * ****************************/ | 18 | * ****************************/ |
| 18 | T_JZsdkReturnCode JZ_h10t_init(int mode) | 19 | T_JZsdkReturnCode JZ_h10t_init(int mode) |
| 19 | { | 20 | { |
| 20 | - //音频库初始化 | ||
| 21 | - AudioDeal_Init(); | 21 | + //引脚初始化 |
| 22 | + IrcutInfo ircut_info; | ||
| 23 | + ircut_info.Amplifiter_Pin.Enable = JZ_FLAGCODE_ON; | ||
| 24 | + ircut_info.Amplifiter_Pin.Port = JZ_IRC_PORT_PG; | ||
| 25 | + ircut_info.Amplifiter_Pin.index = 5; | ||
| 26 | + ircut_info.Amplifiter_Pin.Group = 0; | ||
| 27 | + ircut_info.Amplifiter_Pin.mode = JZ_IRC_PIN_MODE_OUT; | ||
| 28 | + | ||
| 29 | + ircut_info.OutPutPower_Pin.Enable = JZ_FLAGCODE_ON; | ||
| 30 | + ircut_info.OutPutPower_Pin.Port = JZ_IRC_PORT_PB; | ||
| 31 | + ircut_info.OutPutPower_Pin.index = 6; | ||
| 32 | + ircut_info.OutPutPower_Pin.Group = 0; | ||
| 33 | + ircut_info.OutPutPower_Pin.mode = JZ_IRC_PIN_MODE_OUT; | ||
| 34 | + | ||
| 35 | + ircut_info.PWM_1_Pin.Enable = JZ_FLAGCODE_ON; | ||
| 36 | + | ||
| 37 | + Ircut_Init(ircut_info); | ||
| 22 | 38 | ||
| 23 | - int value[5] = {0}; | ||
| 24 | if (mode == APP_UART) | 39 | if (mode == APP_UART) |
| 25 | { | 40 | { |
| 26 | //串口设备1初始化 | 41 | //串口设备1初始化 |
| 27 | - value[0] = UART_DEV1_BITRATE; | ||
| 28 | - JZsdk_HalPort_Init(UART_DEV_1, value); | 42 | + s_JZ_SerialPortHalRegInfo SerialInfo = { |
| 43 | + .BitRate = UART_DEV1_BITRATE, | ||
| 44 | + .ConnectType = PORT_CONNECT_TYPE_AS_SUB | ||
| 45 | + }; | ||
| 46 | + | ||
| 47 | + JZsdk_HalPort_Init(UART_DEV_1, (void *)&SerialInfo); | ||
| 48 | + } | ||
| 29 | 49 | ||
| 50 | + if (mode == APP_PSDK) | ||
| 51 | + { | ||
| 52 | + //外接传输模块,用于与飞机的数据通信 | ||
| 53 | + JZsdk_data_transmisson_Receive_Init(); | ||
| 30 | } | 54 | } |
| 31 | 55 | ||
| 32 | //4g设备初始化 | 56 | //4g设备初始化 |
| 33 | - value[0] = COMM_4G_UART_BITRATE; | ||
| 34 | - JZsdk_HalPort_Init(UART_4G, value); | 57 | + s_JZ_SerialPortHalRegInfo Serial_4G_Info = { |
| 58 | + .BitRate = COMM_4G_UART_BITRATE, | ||
| 59 | + .ConnectType = PORT_CONNECT_TYPE_AS_SUB | ||
| 60 | + }; | ||
| 61 | + | ||
| 62 | + JZsdk_HalPort_Init(UART_4G, (void *)&Serial_4G_Info); | ||
| 63 | + | ||
| 64 | + //音频库初始化 | ||
| 65 | + AudioDeal_Init(); | ||
| 35 | 66 | ||
| 36 | //喊话器初始化 | 67 | //喊话器初始化 |
| 37 | Megaphone_Init(); | 68 | Megaphone_Init(); |
| @@ -7,6 +7,8 @@ | @@ -7,6 +7,8 @@ | ||
| 7 | #include "Megaphone/Megaphone.h" | 7 | #include "Megaphone/Megaphone.h" |
| 8 | #include "AudioDeal/AudioDeal.h" | 8 | #include "AudioDeal/AudioDeal.h" |
| 9 | 9 | ||
| 10 | +#include "IRCUT/ircut.h" | ||
| 11 | + | ||
| 10 | /**************************** | 12 | /**************************** |
| 11 | * | 13 | * |
| 12 | * h150g 初始化 | 14 | * h150g 初始化 |
| @@ -16,17 +18,37 @@ | @@ -16,17 +18,37 @@ | ||
| 16 | * ****************************/ | 18 | * ****************************/ |
| 17 | T_JZsdkReturnCode JZ_h150g_init(int mode) | 19 | T_JZsdkReturnCode JZ_h150g_init(int mode) |
| 18 | { | 20 | { |
| 19 | - //音频库初始化 | ||
| 20 | - //AudioDeal_Init(); | ||
| 21 | - | ||
| 22 | int value[5] = {0}; | 21 | int value[5] = {0}; |
| 22 | + | ||
| 23 | + //引脚初始化 | ||
| 24 | + IrcutInfo ircut_info; | ||
| 25 | + ircut_info.Amplifiter_Pin.Enable = JZ_FLAGCODE_ON; | ||
| 26 | + ircut_info.Amplifiter_Pin.Port = JZ_IRC_PORT_PA; | ||
| 27 | + ircut_info.Amplifiter_Pin.index = 17; | ||
| 28 | + ircut_info.Amplifiter_Pin.Group = 0; | ||
| 29 | + ircut_info.Amplifiter_Pin.mode = JZ_IRC_PIN_MODE_OUT; | ||
| 30 | + Ircut_Init(ircut_info); | ||
| 31 | + | ||
| 23 | if (mode == APP_UART) | 32 | if (mode == APP_UART) |
| 24 | { | 33 | { |
| 25 | //串口设备1初始化 | 34 | //串口设备1初始化 |
| 26 | - value[0] = UART_DEV1_BITRATE; | ||
| 27 | - JZsdk_HalPort_Init(UART_DEV_1, value); | 35 | + s_JZ_SerialPortHalRegInfo SerialInfo = { |
| 36 | + .BitRate = UART_DEV1_BITRATE, | ||
| 37 | + .ConnectType = PORT_CONNECT_TYPE_AS_SUB | ||
| 38 | + }; | ||
| 39 | + | ||
| 40 | + JZsdk_HalPort_Init(UART_DEV_1, (void *)&SerialInfo); | ||
| 28 | } | 41 | } |
| 29 | 42 | ||
| 43 | + if (mode == APP_PSDK) | ||
| 44 | + { | ||
| 45 | + //外接传输模块,用于与飞机的数据通信 | ||
| 46 | + JZsdk_data_transmisson_Receive_Init(); | ||
| 47 | + } | ||
| 48 | + | ||
| 49 | + //音频库初始化 | ||
| 50 | + //AudioDeal_Init(); | ||
| 51 | + | ||
| 30 | //喊话器初始化 | 52 | //喊话器初始化 |
| 31 | //Megaphone_Init(); | 53 | //Megaphone_Init(); |
| 32 | } | 54 | } |
| @@ -9,6 +9,7 @@ | @@ -9,6 +9,7 @@ | ||
| 9 | #include "Gimbal/Gimbal.h" | 9 | #include "Gimbal/Gimbal.h" |
| 10 | #include "MediaProc/MediaProc.h" | 10 | #include "MediaProc/MediaProc.h" |
| 11 | 11 | ||
| 12 | +#include "Ircut/Ircut.h" | ||
| 12 | 13 | ||
| 13 | 14 | ||
| 14 | 15 | ||
| @@ -67,24 +68,43 @@ T_JZsdkReturnCode JZ_h150s_h150t_init(int mode) | @@ -67,24 +68,43 @@ T_JZsdkReturnCode JZ_h150s_h150t_init(int mode) | ||
| 67 | { | 68 | { |
| 68 | T_JZsdkReturnCode ret; | 69 | T_JZsdkReturnCode ret; |
| 69 | 70 | ||
| 70 | - //音频库初始化 | ||
| 71 | - AudioDeal_Init(); | ||
| 72 | - | 71 | + //引脚初始化 |
| 72 | + IrcutInfo ircut_info; | ||
| 73 | + ircut_info.Amplifiter_Pin.Enable = JZ_FLAGCODE_ON; | ||
| 74 | + ircut_info.Amplifiter_Pin.Port = JZ_IRC_PORT_PA; | ||
| 75 | + ircut_info.Amplifiter_Pin.index = 17; | ||
| 76 | + ircut_info.Amplifiter_Pin.Group = 0; | ||
| 77 | + ircut_info.Amplifiter_Pin.mode = JZ_IRC_PIN_MODE_OUT; | ||
| 78 | + | ||
| 79 | + Ircut_Init(ircut_info); | ||
| 80 | + | ||
| 73 | if (mode == APP_UART) | 81 | if (mode == APP_UART) |
| 74 | { | 82 | { |
| 75 | //串口设备1初始化 | 83 | //串口设备1初始化 |
| 76 | - int value[1]; | ||
| 77 | - value[0] = UART_DEV1_BITRATE; | ||
| 78 | - JZsdk_HalPort_Init(UART_DEV_1, value); | 84 | + s_JZ_SerialPortHalRegInfo SerialInfo = { |
| 85 | + .BitRate = UART_DEV1_BITRATE, | ||
| 86 | + .ConnectType = PORT_CONNECT_TYPE_AS_SUB | ||
| 87 | + }; | ||
| 88 | + | ||
| 89 | + JZsdk_HalPort_Init(UART_DEV_1, (void *)&SerialInfo); | ||
| 79 | } | 90 | } |
| 80 | 91 | ||
| 92 | + if (mode == APP_PSDK) | ||
| 93 | + { | ||
| 94 | + //外接传输模块,用于与飞机的数据通信 | ||
| 95 | + JZsdk_data_transmisson_Receive_Init(); | ||
| 96 | + } | ||
| 97 | + | ||
| 81 | //h150t额外开启4g | 98 | //h150t额外开启4g |
| 82 | if (DEVICE_VERSION == JZ_H150T) | 99 | if (DEVICE_VERSION == JZ_H150T) |
| 83 | { | 100 | { |
| 84 | - //4g设备初始化 | ||
| 85 | - int value[1]; | ||
| 86 | - value[0] = COMM_4G_UART_BITRATE; | ||
| 87 | - JZsdk_HalPort_Init(UART_4G, value); | 101 | + //串口设备4g初始化 |
| 102 | + s_JZ_SerialPortHalRegInfo Serial_4G_Info = { | ||
| 103 | + .BitRate = COMM_4G_UART_BITRATE, | ||
| 104 | + .ConnectType = PORT_CONNECT_TYPE_AS_SUB | ||
| 105 | + }; | ||
| 106 | + | ||
| 107 | + JZsdk_HalPort_Init(UART_4G, (void *)&Serial_4G_Info); | ||
| 88 | } | 108 | } |
| 89 | 109 | ||
| 90 | if (mode == APP_UART) | 110 | if (mode == APP_UART) |
| @@ -93,17 +113,20 @@ T_JZsdkReturnCode JZ_h150s_h150t_init(int mode) | @@ -93,17 +113,20 @@ T_JZsdkReturnCode JZ_h150s_h150t_init(int mode) | ||
| 93 | JZsdk_NetWork_Init(); | 113 | JZsdk_NetWork_Init(); |
| 94 | } | 114 | } |
| 95 | 115 | ||
| 116 | + //音频库初始化 | ||
| 117 | + AudioDeal_Init(); | ||
| 118 | + | ||
| 96 | //喊话器初始化 | 119 | //喊话器初始化 |
| 97 | Megaphone_Init(); | 120 | Megaphone_Init(); |
| 98 | 121 | ||
| 99 | //云台初始化 | 122 | //云台初始化 |
| 100 | Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | 123 | Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); |
| 101 | 124 | ||
| 102 | - //视频流模块初始化 | ||
| 103 | - T_JZsdkVideoMgmtHandler VideoMgmtHandler = { | ||
| 104 | - .SetNextFrame_IDR = NULL, | 125 | + //媒体模块初始化 |
| 126 | + T_JZsdkMediaProcHandler MediaProcHandler = { | ||
| 127 | + .VideoMgmtHandler.SetNextFrame_IDR = NULL, | ||
| 105 | }; | 128 | }; |
| 106 | - VideoMgmt_Init(VideoMgmtHandler); | 129 | + MediaProc_Init(MediaProcHandler); |
| 107 | 130 | ||
| 108 | //相机初始化 | 131 | //相机初始化 |
| 109 | g_H150S_Info.CamereInfo = (JZsdk_CameraInfo *)malloc(sizeof(JZsdk_CameraInfo)); | 132 | g_H150S_Info.CamereInfo = (JZsdk_CameraInfo *)malloc(sizeof(JZsdk_CameraInfo)); |
| @@ -5,6 +5,7 @@ | @@ -5,6 +5,7 @@ | ||
| 5 | #include "JZsdk_Hal.h" | 5 | #include "JZsdk_Hal.h" |
| 6 | #include "Megaphone/Megaphone.h" | 6 | #include "Megaphone/Megaphone.h" |
| 7 | #include "AudioDeal/AudioDeal.h" | 7 | #include "AudioDeal/AudioDeal.h" |
| 8 | +#include "Ircut/Ircut.h" | ||
| 8 | 9 | ||
| 9 | /**************************** | 10 | /**************************** |
| 10 | * | 11 | * |
| @@ -16,16 +17,37 @@ | @@ -16,16 +17,37 @@ | ||
| 16 | T_JZsdkReturnCode JZ_h1e_init(int mode) | 17 | T_JZsdkReturnCode JZ_h1e_init(int mode) |
| 17 | { | 18 | { |
| 18 | int value[5] = {0}; | 19 | int value[5] = {0}; |
| 19 | - //音频库初始化 | ||
| 20 | - AudioDeal_Init(); | 20 | + |
| 21 | + //引脚初始化 | ||
| 22 | + IrcutInfo ircut_info; | ||
| 23 | + ircut_info.Amplifiter_Pin.Enable = JZ_FLAGCODE_ON; | ||
| 24 | + ircut_info.Amplifiter_Pin.Port = JZ_IRC_PORT_PB; | ||
| 25 | + ircut_info.Amplifiter_Pin.index = 4; | ||
| 26 | + ircut_info.Amplifiter_Pin.Group = 0; | ||
| 27 | + ircut_info.Amplifiter_Pin.mode = JZ_IRC_PIN_MODE_OUT; | ||
| 28 | + | ||
| 29 | + Ircut_Init(ircut_info); | ||
| 21 | 30 | ||
| 22 | if (mode == APP_UART) | 31 | if (mode == APP_UART) |
| 23 | { | 32 | { |
| 24 | //串口设备1初始化 | 33 | //串口设备1初始化 |
| 25 | - value[0] = UART_DEV1_BITRATE; | ||
| 26 | - JZsdk_HalPort_Init(UART_DEV_1, value); | 34 | + s_JZ_SerialPortHalRegInfo SerialInfo = { |
| 35 | + .BitRate = UART_DEV1_BITRATE, | ||
| 36 | + .ConnectType = PORT_CONNECT_TYPE_AS_SUB | ||
| 37 | + }; | ||
| 38 | + | ||
| 39 | + JZsdk_HalPort_Init(UART_DEV_1, (void *)&SerialInfo); | ||
| 40 | + } | ||
| 41 | + | ||
| 42 | + if (mode == APP_PSDK) | ||
| 43 | + { | ||
| 44 | + //外接传输模块,用于与飞机的数据通信 | ||
| 45 | + JZsdk_data_transmisson_Receive_Init(); | ||
| 27 | } | 46 | } |
| 28 | 47 | ||
| 48 | + //音频库初始化 | ||
| 49 | + AudioDeal_Init(); | ||
| 50 | + | ||
| 29 | //喊话器初始化 | 51 | //喊话器初始化 |
| 30 | Megaphone_Init(); | 52 | Megaphone_Init(); |
| 31 | 53 |
| @@ -6,10 +6,11 @@ | @@ -6,10 +6,11 @@ | ||
| 6 | #include "Megaphone/Megaphone.h" | 6 | #include "Megaphone/Megaphone.h" |
| 7 | #include "AudioDeal/AudioDeal.h" | 7 | #include "AudioDeal/AudioDeal.h" |
| 8 | #include "Gimbal/Gimbal.h" | 8 | #include "Gimbal/Gimbal.h" |
| 9 | +#include "Ircut/Ircut.h" | ||
| 9 | 10 | ||
| 10 | /**************************** | 11 | /**************************** |
| 11 | * | 12 | * |
| 12 | - * h15tt 初始化 | 13 | + * h1t 初始化 |
| 13 | * | 14 | * |
| 14 | * mode psdk为psdk模式 uart为串口模式 | 15 | * mode psdk为psdk模式 uart为串口模式 |
| 15 | * | 16 | * |
| @@ -18,19 +19,42 @@ T_JZsdkReturnCode JZ_h1t_init(int mode) | @@ -18,19 +19,42 @@ T_JZsdkReturnCode JZ_h1t_init(int mode) | ||
| 18 | { | 19 | { |
| 19 | int value[5] = {0}; | 20 | int value[5] = {0}; |
| 20 | 21 | ||
| 21 | - //音频库初始化 | ||
| 22 | - AudioDeal_Init(); | 22 | + //引脚初始化 |
| 23 | + IrcutInfo ircut_info; | ||
| 24 | + ircut_info.Amplifiter_Pin.Enable = JZ_FLAGCODE_ON; | ||
| 25 | + ircut_info.Amplifiter_Pin.Port = JZ_IRC_PORT_PG; | ||
| 26 | + ircut_info.Amplifiter_Pin.index = 5; | ||
| 27 | + ircut_info.Amplifiter_Pin.Group = 0; | ||
| 28 | + ircut_info.Amplifiter_Pin.mode = JZ_IRC_PIN_MODE_OUT; | ||
| 29 | + | ||
| 30 | + Ircut_Init(ircut_info); | ||
| 23 | 31 | ||
| 24 | if (mode == APP_UART) | 32 | if (mode == APP_UART) |
| 25 | { | 33 | { |
| 26 | //串口设备1初始化 | 34 | //串口设备1初始化 |
| 27 | - value[0] = UART_DEV1_BITRATE; | ||
| 28 | - JZsdk_HalPort_Init(UART_DEV_1, value); | 35 | + s_JZ_SerialPortHalRegInfo SerialInfo = { |
| 36 | + .BitRate = UART_DEV1_BITRATE, | ||
| 37 | + .ConnectType = PORT_CONNECT_TYPE_AS_SUB | ||
| 38 | + }; | ||
| 39 | + | ||
| 40 | + JZsdk_HalPort_Init(UART_DEV_1, (void *)&SerialInfo); | ||
| 41 | + } | ||
| 42 | + | ||
| 43 | + if (mode == APP_PSDK) | ||
| 44 | + { | ||
| 45 | + //外接传输模块,用于与飞机的数据通信 | ||
| 46 | + JZsdk_data_transmisson_Receive_Init(); | ||
| 29 | } | 47 | } |
| 30 | 48 | ||
| 31 | //4g设备初始化 | 49 | //4g设备初始化 |
| 32 | - value[0] = COMM_4G_UART_BITRATE; | ||
| 33 | - JZsdk_HalPort_Init(UART_4G, value); | 50 | + s_JZ_SerialPortHalRegInfo Serial_4G_Info = { |
| 51 | + .BitRate = COMM_4G_UART_BITRATE, | ||
| 52 | + .ConnectType = PORT_CONNECT_TYPE_AS_SUB | ||
| 53 | + }; | ||
| 54 | + JZsdk_HalPort_Init(UART_4G, (void *)&Serial_4G_Info); | ||
| 55 | + | ||
| 56 | + //音频库初始化 | ||
| 57 | + AudioDeal_Init(); | ||
| 34 | 58 | ||
| 35 | //喊话器初始化 | 59 | //喊话器初始化 |
| 36 | Megaphone_Init(); | 60 | Megaphone_Init(); |
| @@ -272,6 +272,16 @@ static T_JZsdkReturnCode JZ_IrcCameraInit() | @@ -272,6 +272,16 @@ static T_JZsdkReturnCode JZ_IrcCameraInit() | ||
| 272 | 272 | ||
| 273 | T_JZsdkReturnCode JZ_ST_Init(int mode) | 273 | T_JZsdkReturnCode JZ_ST_Init(int mode) |
| 274 | { | 274 | { |
| 275 | + //引脚初始化 | ||
| 276 | + IrcutInfo ircut_info; | ||
| 277 | + ircut_info.Amplifiter_Pin.Enable = JZ_FLAGCODE_ON; | ||
| 278 | + ircut_info.Amplifiter_Pin.Port = JZ_IRC_PORT_PA; | ||
| 279 | + ircut_info.Amplifiter_Pin.index = 17; | ||
| 280 | + ircut_info.Amplifiter_Pin.Group = 0; | ||
| 281 | + ircut_info.Amplifiter_Pin.mode = JZ_IRC_PIN_MODE_OUT; | ||
| 282 | + | ||
| 283 | + Ircut_Init(ircut_info); | ||
| 284 | + | ||
| 275 | //网口初始化 | 285 | //网口初始化 |
| 276 | if (mode == APP_UART) | 286 | if (mode == APP_UART) |
| 277 | { | 287 | { |
| @@ -279,15 +289,21 @@ T_JZsdkReturnCode JZ_ST_Init(int mode) | @@ -279,15 +289,21 @@ T_JZsdkReturnCode JZ_ST_Init(int mode) | ||
| 279 | JZsdk_NetWork_Init(); | 289 | JZsdk_NetWork_Init(); |
| 280 | } | 290 | } |
| 281 | 291 | ||
| 292 | + if (mode == APP_PSDK) | ||
| 293 | + { | ||
| 294 | + //外接传输模块,用于与飞机的数据通信 | ||
| 295 | + JZsdk_data_transmisson_Receive_Init(); | ||
| 296 | + } | ||
| 297 | + | ||
| 282 | T_JZsdkReturnCode ret = JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 298 | T_JZsdkReturnCode ret = JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 283 | 299 | ||
| 284 | #ifdef RTK_MPP_STATUS_ON | 300 | #ifdef RTK_MPP_STATUS_ON |
| 285 | 301 | ||
| 286 | - //初始化相机流管理器 | ||
| 287 | - T_JZsdkVideoMgmtHandler VideoMgmtHandler = { | ||
| 288 | - .SetNextFrame_IDR = JZST_SetNextFrame_IDR, | 302 | + //媒体模块初始化 |
| 303 | + T_JZsdkMediaProcHandler MediaProcHandler = { | ||
| 304 | + .VideoMgmtHandler.SetNextFrame_IDR = JZST_SetNextFrame_IDR, | ||
| 289 | }; | 305 | }; |
| 290 | - VideoMgmt_Init(VideoMgmtHandler); | 306 | + MediaProc_Init(MediaProcHandler); |
| 291 | 307 | ||
| 292 | //初始化红外的编码器 | 308 | //初始化红外的编码器 |
| 293 | g_JZST_info.IRC_enc_info = (T_rtk_mmp_enc_info *)malloc(sizeof(T_rtk_mmp_enc_info)); | 309 | g_JZST_info.IRC_enc_info = (T_rtk_mmp_enc_info *)malloc(sizeof(T_rtk_mmp_enc_info)); |
JZsdk_Config/DeviceSample/JZ_T40/JZ_T40.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 | +#include "Lighting/Lighting_InAndOut.h" | ||
| 11 | +#include "JZsdk_haldata_deal/JZsdk_data_transmisson.h" | ||
| 12 | + | ||
| 13 | +#include "IRCUT/ircut.h" | ||
| 14 | +#include "Hal_Send/HalSend.h" | ||
| 15 | + | ||
| 16 | +static int T40_SubConnectFlag = JZ_FLAGCODE_OFF; | ||
| 17 | + | ||
| 18 | +void *JZ_T40_SubConnectTask(void *arg) | ||
| 19 | +{ | ||
| 20 | + static int LeftGimbalConnectFlag = JZ_FLAGCODE_OFF; | ||
| 21 | + static int RightGimbalConnectFlag = JZ_FLAGCODE_OFF; | ||
| 22 | + | ||
| 23 | + static int LeftLightConnectFlag = JZ_FLAGCODE_OFF; | ||
| 24 | + static int RightLightConnectFlag = JZ_FLAGCODE_OFF; | ||
| 25 | + | ||
| 26 | + static int DelayTime = 0; //最多尝试连接设备30s | ||
| 27 | + | ||
| 28 | + while (RightGimbalConnectFlag == JZ_FLAGCODE_OFF || | ||
| 29 | + LeftGimbalConnectFlag == JZ_FLAGCODE_OFF || | ||
| 30 | + RightLightConnectFlag == JZ_FLAGCODE_OFF || | ||
| 31 | + LeftLightConnectFlag == JZ_FLAGCODE_OFF || | ||
| 32 | + DelayTime < 30000) | ||
| 33 | + { | ||
| 34 | + s_JZsdk_Hal_Info *HalInfo = JZsdk_Hal_GetHalInfo(); | ||
| 35 | + | ||
| 36 | + //遍历hal信息 | ||
| 37 | + for (int i = 0; i < HalInfo->HalPort[UART_DEV_2].SubNum; i++) | ||
| 38 | + { | ||
| 39 | + if(HalInfo->HalPort[UART_DEV_2].SubId[i] == 0x1c11) | ||
| 40 | + { | ||
| 41 | + LeftGimbalConnectFlag = JZ_FLAGCODE_ON; | ||
| 42 | + continue; | ||
| 43 | + } | ||
| 44 | + | ||
| 45 | + if(HalInfo->HalPort[UART_DEV_2].SubId[i] == 0x1c12) | ||
| 46 | + { | ||
| 47 | + RightGimbalConnectFlag = JZ_FLAGCODE_ON; | ||
| 48 | + continue; | ||
| 49 | + } | ||
| 50 | + | ||
| 51 | + if(HalInfo->HalPort[UART_DEV_2].SubId[i] == 0x1c21) | ||
| 52 | + { | ||
| 53 | + LeftLightConnectFlag = JZ_FLAGCODE_ON; | ||
| 54 | + continue; | ||
| 55 | + } | ||
| 56 | + | ||
| 57 | + if(HalInfo->HalPort[UART_DEV_2].SubId[i] == 0x1c22) | ||
| 58 | + { | ||
| 59 | + RightLightConnectFlag = JZ_FLAGCODE_ON; | ||
| 60 | + continue; | ||
| 61 | + } | ||
| 62 | + } | ||
| 63 | + | ||
| 64 | + //左云台未连接 | ||
| 65 | + if (LeftGimbalConnectFlag == JZ_FLAGCODE_OFF) | ||
| 66 | + { | ||
| 67 | + //向左云台发送连接指令 | ||
| 68 | + HalSend_type1Send_ConnectFrame(UART_DEV_2, 0x11); | ||
| 69 | + delayMs(500); | ||
| 70 | + DelayTime+=500; | ||
| 71 | + } | ||
| 72 | + | ||
| 73 | + //右云台未连接 | ||
| 74 | + if (RightGimbalConnectFlag == JZ_FLAGCODE_OFF) | ||
| 75 | + { | ||
| 76 | + //向右云台发送连接指令 | ||
| 77 | + HalSend_type1Send_ConnectFrame(UART_DEV_2, 0x12); | ||
| 78 | + delayMs(500); | ||
| 79 | + DelayTime+=500; | ||
| 80 | + } | ||
| 81 | + | ||
| 82 | + //左探照灯未连接 | ||
| 83 | + if (LeftLightConnectFlag == JZ_FLAGCODE_OFF) | ||
| 84 | + { | ||
| 85 | + //向左探照灯发送连接指令 | ||
| 86 | + HalSend_type1Send_ConnectFrame(UART_DEV_2, 0x21); | ||
| 87 | + delayMs(500); | ||
| 88 | + DelayTime+=500; | ||
| 89 | + } | ||
| 90 | + | ||
| 91 | + //右探照灯未连接 | ||
| 92 | + if (RightLightConnectFlag == JZ_FLAGCODE_OFF) | ||
| 93 | + { | ||
| 94 | + //向右探照灯发送连接指令 | ||
| 95 | + HalSend_type1Send_ConnectFrame(UART_DEV_2, 0x22); | ||
| 96 | + delayMs(500); | ||
| 97 | + DelayTime+=500; | ||
| 98 | + } | ||
| 99 | + } | ||
| 100 | + | ||
| 101 | + T40_SubConnectFlag = JZ_FLAGCODE_ON; | ||
| 102 | + JZSDK_LOG_INFO("T40 SubDevice Connect Success"); | ||
| 103 | +} | ||
| 104 | + | ||
| 105 | +/***************************** | ||
| 106 | + * | ||
| 107 | + * | ||
| 108 | + * 子设备连接 | ||
| 109 | + * 两个探照灯,两个云台 | ||
| 110 | + * | ||
| 111 | + * ***************************/ | ||
| 112 | +static T_JZsdkReturnCode JZ_T40_SubDevice_Init(void) | ||
| 113 | +{ | ||
| 114 | + T_JZsdkOsalHandler *osalHandle = JZsdk_Platform_GetOsalHandler(); | ||
| 115 | + if (osalHandle == NULL) | ||
| 116 | + { | ||
| 117 | + JZSDK_LOG_ERROR("osalHandle is NULL"); | ||
| 118 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 119 | + } | ||
| 120 | + | ||
| 121 | + T_JZTaskHandle JZ_T40_SubTaskHandle; | ||
| 122 | + | ||
| 123 | + osalHandle->TaskCreate("T40_SubDevice_Init", JZ_T40_SubConnectTask, 2048, NULL, &JZ_T40_SubTaskHandle); | ||
| 124 | + | ||
| 125 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 126 | +} | ||
| 127 | + | ||
| 128 | +T_JZsdkReturnCode JZ_T40_Ircut_Init() | ||
| 129 | +{ | ||
| 130 | + //引脚初始化 | ||
| 131 | + IrcutInfo ircut_info; | ||
| 132 | + ircut_info.Amplifiter_Pin.Enable = JZ_FLAGCODE_ON; | ||
| 133 | + ircut_info.Amplifiter_Pin.Port = JZ_IRC_PORT_PG; | ||
| 134 | + ircut_info.Amplifiter_Pin.index = 5; | ||
| 135 | + ircut_info.Amplifiter_Pin.Group = 0; | ||
| 136 | + ircut_info.Amplifiter_Pin.mode = JZ_IRC_PIN_MODE_OUT; | ||
| 137 | + | ||
| 138 | + Ircut_Init(ircut_info); | ||
| 139 | +} | ||
| 140 | + | ||
| 141 | +void *JZ_T40_CheckLightTemperatureTask(void *arg) | ||
| 142 | +{ | ||
| 143 | + //等候子设备连接成功 | ||
| 144 | + while (T40_SubConnectFlag == JZ_FLAGCODE_OFF) | ||
| 145 | + { | ||
| 146 | + delayMs(100); | ||
| 147 | + } | ||
| 148 | + | ||
| 149 | + JZSDK_LOG_INFO("开始检查灯温度"); | ||
| 150 | + | ||
| 151 | + while (1) | ||
| 152 | + { | ||
| 153 | + //检查左灯温度 | ||
| 154 | + HalSend_type1Send_CheckStatus_SearchLight_Temperture(UART_DEV_2, 0x21); | ||
| 155 | + | ||
| 156 | + delayMs(500); | ||
| 157 | + | ||
| 158 | + //检查右灯温度 | ||
| 159 | + HalSend_type1Send_CheckStatus_SearchLight_Temperture(UART_DEV_2, 0x22); | ||
| 160 | + | ||
| 161 | + delayMs(500); | ||
| 162 | + } | ||
| 163 | +} | ||
| 164 | + | ||
| 165 | +static T_JZsdkReturnCode JZ_T40_CheckLightTemperature(void) | ||
| 166 | +{ | ||
| 167 | + T_JZsdkOsalHandler *osalHandle = JZsdk_Platform_GetOsalHandler(); | ||
| 168 | + if (osalHandle == NULL) | ||
| 169 | + { | ||
| 170 | + JZSDK_LOG_ERROR("osalHandle is NULL"); | ||
| 171 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 172 | + } | ||
| 173 | + | ||
| 174 | + T_JZTaskHandle JZ_T40_CheckLightTemperatureTaskHandle; | ||
| 175 | + osalHandle->TaskCreate("T40_CheckLightTemperature", JZ_T40_CheckLightTemperatureTask, 2048, NULL, &JZ_T40_CheckLightTemperatureTaskHandle); | ||
| 176 | + | ||
| 177 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 178 | +} | ||
| 179 | + | ||
| 180 | +/******************** | ||
| 181 | + * | ||
| 182 | + * | ||
| 183 | + * T40 基础参数设置 | ||
| 184 | + * | ||
| 185 | + * | ||
| 186 | + * ****************/ | ||
| 187 | +static T_JZsdkReturnCode JZ_T40_BaseParamSet(void) | ||
| 188 | +{ | ||
| 189 | + //设置探照灯亮度 | ||
| 190 | + | ||
| 191 | + //设置探照灯模式 | ||
| 192 | + | ||
| 193 | + //设置激光模式 | ||
| 194 | + | ||
| 195 | + //设置激光开关 | ||
| 196 | + | ||
| 197 | + //设置警灯颜色 | ||
| 198 | + | ||
| 199 | + //设置警灯模式 | ||
| 200 | + | ||
| 201 | + //设置云台角度 | ||
| 202 | + | ||
| 203 | + //设置喊话器音量 | ||
| 204 | + | ||
| 205 | +} | ||
| 206 | + | ||
| 207 | +/**************************** | ||
| 208 | + * | ||
| 209 | + * T40 初始化 | ||
| 210 | + * | ||
| 211 | + * mode psdk为psdk模式 uart为串口模式 | ||
| 212 | + * | ||
| 213 | + * ****************************/ | ||
| 214 | +T_JZsdkReturnCode JZ_T40_init(int mode) | ||
| 215 | +{ | ||
| 216 | + //引脚初始化 | ||
| 217 | + JZ_T40_Ircut_Init(); | ||
| 218 | + | ||
| 219 | + if (mode == APP_UART) | ||
| 220 | + { | ||
| 221 | + //串口设备1初始化 | ||
| 222 | + s_JZ_SerialPortHalRegInfo SerialInfo = { | ||
| 223 | + .BitRate = UART_DEV1_BITRATE, | ||
| 224 | + .ConnectType = PORT_CONNECT_TYPE_AS_SUB | ||
| 225 | + }; | ||
| 226 | + | ||
| 227 | + JZsdk_HalPort_Init(UART_DEV_1, (void *)&SerialInfo); | ||
| 228 | + } | ||
| 229 | + | ||
| 230 | + if (mode == APP_PSDK) | ||
| 231 | + { | ||
| 232 | + //外接传输模块,用于与飞机的数据通信 | ||
| 233 | + JZsdk_data_transmisson_Receive_Init(); | ||
| 234 | + } | ||
| 235 | + | ||
| 236 | + //串口设备2初始化 | ||
| 237 | + s_JZ_SerialPortHalRegInfo SerialInfo2 = { | ||
| 238 | + .BitRate = UART_DEV2_BITRATE, | ||
| 239 | + .ConnectType = PORT_CONNECT_TYPE_AS_MAIN, | ||
| 240 | + }; | ||
| 241 | + | ||
| 242 | + JZsdk_HalPort_Init(UART_DEV_2, (void *)&SerialInfo2); | ||
| 243 | + | ||
| 244 | + // //4G初始化 | ||
| 245 | + // value[0] = COMM_4G_UART_BITRATE; | ||
| 246 | + // JZsdk_HalPort_Init(UART_4G, value); | ||
| 247 | + | ||
| 248 | + //子设备连接 | ||
| 249 | + JZ_T40_SubDevice_Init(); | ||
| 250 | + | ||
| 251 | + //音频库初始化 | ||
| 252 | + AudioDeal_Init(); | ||
| 253 | + | ||
| 254 | + //喊话器初始化 | ||
| 255 | + Megaphone_Init(); | ||
| 256 | + | ||
| 257 | + //云台初始化 | ||
| 258 | + Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | ||
| 259 | + | ||
| 260 | + //灯类初始化 | ||
| 261 | + Lighting_Init(); | ||
| 262 | + | ||
| 263 | + //制造一个定时查询温度的线程 | ||
| 264 | + //JZ_T40_CheckLightTemperature(); | ||
| 265 | + | ||
| 266 | + //基础参数设置 | ||
| 267 | + JZ_T40_BaseParamSet(); | ||
| 268 | + | ||
| 269 | + JZSDK_LOG_INFO("T40 Init Success"); | ||
| 270 | + | ||
| 271 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 272 | +} |
JZsdk_Config/DeviceSample/JZ_T40/JZ_T40.h
0 → 100644
| 1 | +/** | ||
| 2 | + ******************************************************************** | ||
| 3 | + * @file JZ_T40.h | ||
| 4 | + * JZ_T40.h的头文件 | ||
| 5 | + * | ||
| 6 | + ********************************************************************* | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 10 | +#ifndef JZ_T40_H | ||
| 11 | +#define JZ_T40_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_T40_init(int mode); | ||
| 29 | +T_JZsdkReturnCode JZ_T40_Ircut_Init(); | ||
| 30 | + | ||
| 31 | + | ||
| 32 | +#ifdef __cplusplus | ||
| 33 | +} | ||
| 34 | +#endif | ||
| 35 | + | ||
| 36 | +#endif |
| @@ -7,6 +7,7 @@ | @@ -7,6 +7,7 @@ | ||
| 7 | #include "Megaphone/Megaphone.h" | 7 | #include "Megaphone/Megaphone.h" |
| 8 | #include "AudioDeal/AudioDeal.h" | 8 | #include "AudioDeal/AudioDeal.h" |
| 9 | #include "Gimbal/Gimbal.h" | 9 | #include "Gimbal/Gimbal.h" |
| 10 | +#include "Ircut/ircut.h" | ||
| 10 | 11 | ||
| 11 | /**************************** | 12 | /**************************** |
| 12 | * | 13 | * |
| @@ -17,21 +18,43 @@ | @@ -17,21 +18,43 @@ | ||
| 17 | * ****************************/ | 18 | * ****************************/ |
| 18 | T_JZsdkReturnCode JZ_u3_init(int mode) | 19 | T_JZsdkReturnCode JZ_u3_init(int mode) |
| 19 | { | 20 | { |
| 20 | - //音频库初始化 | ||
| 21 | - AudioDeal_Init(); | 21 | + //引脚初始化 |
| 22 | + IrcutInfo ircut_info; | ||
| 23 | + ircut_info.Amplifiter_Pin.Enable = JZ_FLAGCODE_ON; | ||
| 24 | + ircut_info.Amplifiter_Pin.Port = JZ_IRC_PORT_PB; | ||
| 25 | + ircut_info.Amplifiter_Pin.index = 4; | ||
| 26 | + ircut_info.Amplifiter_Pin.Group = 0; | ||
| 27 | + ircut_info.Amplifiter_Pin.mode = JZ_IRC_PIN_MODE_OUT; | ||
| 22 | 28 | ||
| 23 | - int value[5] = {0}; | 29 | + Ircut_Init(ircut_info); |
| 30 | + | ||
| 24 | if (mode == APP_UART) | 31 | if (mode == APP_UART) |
| 25 | { | 32 | { |
| 26 | //串口设备1初始化 | 33 | //串口设备1初始化 |
| 27 | - value[0] = UART_DEV1_BITRATE; | ||
| 28 | - JZsdk_HalPort_Init(UART_DEV_1, value); | 34 | + s_JZ_SerialPortHalRegInfo SerialInfo = { |
| 35 | + .BitRate = UART_DEV1_BITRATE, | ||
| 36 | + .ConnectType = PORT_CONNECT_TYPE_AS_SUB | ||
| 37 | + }; | ||
| 29 | 38 | ||
| 39 | + JZsdk_HalPort_Init(UART_DEV_1, (void *)&SerialInfo); | ||
| 30 | } | 40 | } |
| 31 | 41 | ||
| 42 | + if (mode == APP_PSDK) | ||
| 43 | + { | ||
| 44 | + //外接传输模块,用于与飞机的数据通信 | ||
| 45 | + JZsdk_data_transmisson_Receive_Init(); | ||
| 46 | + } | ||
| 47 | + | ||
| 32 | //串口设备2初始化 | 48 | //串口设备2初始化 |
| 33 | - value[0] = UART_DEV2_BITRATE; | ||
| 34 | - JZsdk_HalPort_Init(UART_DEV_2, value); | 49 | + s_JZ_SerialPortHalRegInfo SerialInfo2 = { |
| 50 | + .BitRate = UART_DEV2_BITRATE, | ||
| 51 | + .ConnectType = PORT_CONNECT_TYPE_AS_SUB | ||
| 52 | + }; | ||
| 53 | + | ||
| 54 | + JZsdk_HalPort_Init(UART_DEV_2, (void *)&SerialInfo2); | ||
| 55 | + | ||
| 56 | + //音频库初始化 | ||
| 57 | + AudioDeal_Init(); | ||
| 35 | 58 | ||
| 36 | //喊话器初始化 | 59 | //喊话器初始化 |
| 37 | Megaphone_Init(); | 60 | Megaphone_Init(); |
| @@ -8,6 +8,8 @@ | @@ -8,6 +8,8 @@ | ||
| 8 | #include "AudioDeal/AudioDeal.h" | 8 | #include "AudioDeal/AudioDeal.h" |
| 9 | #include "Gimbal/Gimbal.h" | 9 | #include "Gimbal/Gimbal.h" |
| 10 | 10 | ||
| 11 | +#include "Ircut/ircut.h" | ||
| 12 | + | ||
| 11 | /**************************** | 13 | /**************************** |
| 12 | * | 14 | * |
| 13 | * u30 初始化 | 15 | * u30 初始化 |
| @@ -17,21 +19,44 @@ | @@ -17,21 +19,44 @@ | ||
| 17 | * ****************************/ | 19 | * ****************************/ |
| 18 | T_JZsdkReturnCode JZ_u30_init(int mode) | 20 | T_JZsdkReturnCode JZ_u30_init(int mode) |
| 19 | { | 21 | { |
| 20 | - //音频库初始化 | ||
| 21 | - AudioDeal_Init(); | 22 | + //引脚初始化 |
| 23 | + IrcutInfo ircut_info; | ||
| 24 | + ircut_info.Amplifiter_Pin.Enable = JZ_FLAGCODE_ON; | ||
| 25 | + ircut_info.Amplifiter_Pin.Port = JZ_IRC_PORT_PB; | ||
| 26 | + ircut_info.Amplifiter_Pin.index = 4; | ||
| 27 | + ircut_info.Amplifiter_Pin.Group = 0; | ||
| 28 | + ircut_info.Amplifiter_Pin.mode = JZ_IRC_PIN_MODE_OUT; | ||
| 22 | 29 | ||
| 23 | - int value[5] = {0}; | 30 | + Ircut_Init(ircut_info); |
| 31 | + | ||
| 24 | if (mode == APP_UART) | 32 | if (mode == APP_UART) |
| 25 | { | 33 | { |
| 26 | //串口设备1初始化 | 34 | //串口设备1初始化 |
| 27 | - value[0] = UART_DEV1_BITRATE; | ||
| 28 | - JZsdk_HalPort_Init(UART_DEV_1, value); | 35 | + s_JZ_SerialPortHalRegInfo SerialInfo = { |
| 36 | + .BitRate = UART_DEV1_BITRATE, | ||
| 37 | + .ConnectType = PORT_CONNECT_TYPE_AS_SUB | ||
| 38 | + }; | ||
| 39 | + | ||
| 40 | + JZsdk_HalPort_Init(UART_DEV_1, (void *)&SerialInfo); | ||
| 41 | + } | ||
| 29 | 42 | ||
| 43 | + | ||
| 44 | + if (mode == APP_PSDK) | ||
| 45 | + { | ||
| 46 | + //外接传输模块,用于与飞机的数据通信 | ||
| 47 | + JZsdk_data_transmisson_Receive_Init(); | ||
| 30 | } | 48 | } |
| 31 | 49 | ||
| 32 | //串口设备2初始化 | 50 | //串口设备2初始化 |
| 33 | - value[0] = UART_DEV2_BITRATE; | ||
| 34 | - JZsdk_HalPort_Init(UART_DEV_2, value); | 51 | + s_JZ_SerialPortHalRegInfo SerialInfo2 = { |
| 52 | + .BitRate = UART_DEV2_BITRATE, | ||
| 53 | + .ConnectType = PORT_CONNECT_TYPE_AS_SUB | ||
| 54 | + }; | ||
| 55 | + | ||
| 56 | + JZsdk_HalPort_Init(UART_DEV_2, (void *)&SerialInfo2); | ||
| 57 | + | ||
| 58 | + //音频库初始化 | ||
| 59 | + AudioDeal_Init(); | ||
| 35 | 60 | ||
| 36 | //喊话器初始化 | 61 | //喊话器初始化 |
| 37 | Megaphone_Init(); | 62 | Megaphone_Init(); |
| @@ -7,6 +7,7 @@ | @@ -7,6 +7,7 @@ | ||
| 7 | #include "Megaphone/Megaphone.h" | 7 | #include "Megaphone/Megaphone.h" |
| 8 | #include "AudioDeal/AudioDeal.h" | 8 | #include "AudioDeal/AudioDeal.h" |
| 9 | #include "Gimbal/Gimbal.h" | 9 | #include "Gimbal/Gimbal.h" |
| 10 | +#include "Ircut/ircut.h" | ||
| 10 | 11 | ||
| 11 | /**************************** | 12 | /**************************** |
| 12 | * | 13 | * |
| @@ -17,21 +18,43 @@ | @@ -17,21 +18,43 @@ | ||
| 17 | * ****************************/ | 18 | * ****************************/ |
| 18 | T_JZsdkReturnCode JZ_u3d_init(int mode) | 19 | T_JZsdkReturnCode JZ_u3d_init(int mode) |
| 19 | { | 20 | { |
| 20 | - //音频库初始化 | ||
| 21 | - AudioDeal_Init(); | 21 | + //引脚初始化 |
| 22 | + IrcutInfo ircut_info; | ||
| 23 | + ircut_info.Amplifiter_Pin.Enable = JZ_FLAGCODE_ON; | ||
| 24 | + ircut_info.Amplifiter_Pin.Port = JZ_IRC_PORT_PB; | ||
| 25 | + ircut_info.Amplifiter_Pin.index = 4; | ||
| 26 | + ircut_info.Amplifiter_Pin.Group = 0; | ||
| 27 | + ircut_info.Amplifiter_Pin.mode = JZ_IRC_PIN_MODE_OUT; | ||
| 22 | 28 | ||
| 23 | - int value[5] = {0}; | 29 | + Ircut_Init(ircut_info); |
| 30 | + | ||
| 24 | if (mode == APP_UART) | 31 | if (mode == APP_UART) |
| 25 | { | 32 | { |
| 26 | //串口设备1初始化 | 33 | //串口设备1初始化 |
| 27 | - value[0] = UART_DEV1_BITRATE; | ||
| 28 | - JZsdk_HalPort_Init(UART_DEV_1, value); | 34 | + s_JZ_SerialPortHalRegInfo SerialInfo = { |
| 35 | + .BitRate = UART_DEV1_BITRATE, | ||
| 36 | + .ConnectType = PORT_CONNECT_TYPE_AS_SUB | ||
| 37 | + }; | ||
| 29 | 38 | ||
| 39 | + JZsdk_HalPort_Init(UART_DEV_1, (void *)&SerialInfo); | ||
| 40 | + } | ||
| 41 | + | ||
| 42 | + if (mode == APP_PSDK) | ||
| 43 | + { | ||
| 44 | + //外接传输模块,用于与飞机的数据通信 | ||
| 45 | + JZsdk_data_transmisson_Receive_Init(); | ||
| 30 | } | 46 | } |
| 31 | 47 | ||
| 32 | //串口设备2初始化 | 48 | //串口设备2初始化 |
| 33 | - value[0] = UART_DEV2_BITRATE; | ||
| 34 | - JZsdk_HalPort_Init(UART_DEV_2, value); | 49 | + s_JZ_SerialPortHalRegInfo SerialInfo2 = { |
| 50 | + .BitRate = UART_DEV2_BITRATE, | ||
| 51 | + .ConnectType = PORT_CONNECT_TYPE_AS_SUB | ||
| 52 | + }; | ||
| 53 | + | ||
| 54 | + JZsdk_HalPort_Init(UART_DEV_2, (void *)&SerialInfo2); | ||
| 55 | + | ||
| 56 | + //音频库初始化 | ||
| 57 | + AudioDeal_Init(); | ||
| 35 | 58 | ||
| 36 | //喊话器初始化 | 59 | //喊话器初始化 |
| 37 | Megaphone_Init(); | 60 | Megaphone_Init(); |
| @@ -7,6 +7,7 @@ | @@ -7,6 +7,7 @@ | ||
| 7 | #include "AudioDeal/AudioDeal.h" | 7 | #include "AudioDeal/AudioDeal.h" |
| 8 | #include "Gimbal/Gimbal.h" | 8 | #include "Gimbal/Gimbal.h" |
| 9 | #include "SideLaser/SideLaser.h" | 9 | #include "SideLaser/SideLaser.h" |
| 10 | +#include "Ircut/ircut.h" | ||
| 10 | 11 | ||
| 11 | /**************************** | 12 | /**************************** |
| 12 | * | 13 | * |
| @@ -16,22 +17,56 @@ | @@ -16,22 +17,56 @@ | ||
| 16 | * | 17 | * |
| 17 | * ****************************/ | 18 | * ****************************/ |
| 18 | T_JZsdkReturnCode JZ_u3s_init(int mode) | 19 | T_JZsdkReturnCode JZ_u3s_init(int mode) |
| 19 | -{ | ||
| 20 | - //音频库初始化 | ||
| 21 | - AudioDeal_Init(); | 20 | +{ |
| 21 | + //引脚初始化 | ||
| 22 | + IrcutInfo ircut_info; | ||
| 23 | + ircut_info.Amplifiter_Pin.Enable = JZ_FLAGCODE_ON; | ||
| 24 | + ircut_info.Amplifiter_Pin.Port = JZ_IRC_PORT_PB; | ||
| 25 | + ircut_info.Amplifiter_Pin.index = 4; | ||
| 26 | + ircut_info.Amplifiter_Pin.Group = 0; | ||
| 27 | + ircut_info.Amplifiter_Pin.mode = JZ_IRC_PIN_MODE_OUT; | ||
| 28 | + | ||
| 29 | + ircut_info.SideLight_Left_Pin.Enable = JZ_FLAGCODE_ON; | ||
| 30 | + ircut_info.SideLight_Left_Pin.Port = JZ_IRC_PORT_PB; | ||
| 31 | + ircut_info.SideLight_Left_Pin.index = 6; | ||
| 32 | + ircut_info.SideLight_Left_Pin.Group = 0; | ||
| 33 | + ircut_info.Amplifiter_Pin.mode = JZ_IRC_PIN_MODE_OUT; | ||
| 34 | + | ||
| 35 | + ircut_info.SideLight_Right_Pin.Enable = JZ_FLAGCODE_ON; | ||
| 36 | + ircut_info.SideLight_Right_Pin.Port = JZ_IRC_PORT_PB; | ||
| 37 | + ircut_info.SideLight_Right_Pin.index = 7; | ||
| 38 | + ircut_info.SideLight_Right_Pin.Group = 0; | ||
| 39 | + ircut_info.Amplifiter_Pin.mode = JZ_IRC_PIN_MODE_OUT; | ||
| 40 | + | ||
| 41 | + Ircut_Init(ircut_info); | ||
| 22 | 42 | ||
| 23 | - int value[5] = {0}; | ||
| 24 | if (mode == APP_UART) | 43 | if (mode == APP_UART) |
| 25 | { | 44 | { |
| 26 | //串口设备1初始化 | 45 | //串口设备1初始化 |
| 27 | - value[0] = UART_DEV1_BITRATE; | ||
| 28 | - JZsdk_HalPort_Init(UART_DEV_1, value); | 46 | + s_JZ_SerialPortHalRegInfo SerialInfo = { |
| 47 | + .BitRate = UART_DEV1_BITRATE, | ||
| 48 | + .ConnectType = PORT_CONNECT_TYPE_AS_SUB | ||
| 49 | + }; | ||
| 50 | + | ||
| 51 | + JZsdk_HalPort_Init(UART_DEV_1, (void *)&SerialInfo); | ||
| 52 | + } | ||
| 29 | 53 | ||
| 54 | + if (mode == APP_PSDK) | ||
| 55 | + { | ||
| 56 | + //外接传输模块,用于与飞机的数据通信 | ||
| 57 | + JZsdk_data_transmisson_Receive_Init(); | ||
| 30 | } | 58 | } |
| 31 | 59 | ||
| 32 | //串口设备2初始化 | 60 | //串口设备2初始化 |
| 33 | - value[0] = UART_DEV2_BITRATE; | ||
| 34 | - JZsdk_HalPort_Init(UART_DEV_2, value); | 61 | + s_JZ_SerialPortHalRegInfo SerialInfo2 = { |
| 62 | + .BitRate = UART_DEV2_BITRATE, | ||
| 63 | + .ConnectType = PORT_CONNECT_TYPE_AS_SUB | ||
| 64 | + }; | ||
| 65 | + | ||
| 66 | + JZsdk_HalPort_Init(UART_DEV_2, (void *)&SerialInfo2); | ||
| 67 | + | ||
| 68 | + //音频库初始化 | ||
| 69 | + AudioDeal_Init(); | ||
| 35 | 70 | ||
| 36 | //喊话器初始化 | 71 | //喊话器初始化 |
| 37 | Megaphone_Init(); | 72 | Megaphone_Init(); |
| @@ -7,6 +7,8 @@ | @@ -7,6 +7,8 @@ | ||
| 7 | #include "Megaphone/Megaphone.h" | 7 | #include "Megaphone/Megaphone.h" |
| 8 | #include "AudioDeal/AudioDeal.h" | 8 | #include "AudioDeal/AudioDeal.h" |
| 9 | #include "Gimbal/Gimbal.h" | 9 | #include "Gimbal/Gimbal.h" |
| 10 | +#include "Ircut/ircut.h" | ||
| 11 | + | ||
| 10 | 12 | ||
| 11 | /**************************** | 13 | /**************************** |
| 12 | * | 14 | * |
| @@ -17,20 +19,45 @@ | @@ -17,20 +19,45 @@ | ||
| 17 | * ****************************/ | 19 | * ****************************/ |
| 18 | T_JZsdkReturnCode TF_a1_init(int mode) | 20 | T_JZsdkReturnCode TF_a1_init(int mode) |
| 19 | { | 21 | { |
| 20 | - //音频库初始化 | ||
| 21 | - AudioDeal_Init(); | 22 | + //引脚初始化 |
| 23 | + IrcutInfo ircut_info; | ||
| 24 | + ircut_info.Amplifiter_Pin.Enable = JZ_FLAGCODE_ON; | ||
| 25 | + ircut_info.Amplifiter_Pin.Port = JZ_IRC_PORT_PG; | ||
| 26 | + ircut_info.Amplifiter_Pin.index = 5; | ||
| 27 | + ircut_info.Amplifiter_Pin.Group = 0; | ||
| 28 | + ircut_info.Amplifiter_Pin.mode = JZ_IRC_PIN_MODE_OUT; | ||
| 22 | 29 | ||
| 23 | - int value[5] = {0}; | 30 | + Ircut_Init(ircut_info); |
| 31 | + | ||
| 32 | + //hal层初始化 | ||
| 24 | if (mode == APP_UART) | 33 | if (mode == APP_UART) |
| 25 | { | 34 | { |
| 26 | //串口设备1初始化 | 35 | //串口设备1初始化 |
| 27 | - value[0] = UART_DEV1_BITRATE; | ||
| 28 | - JZsdk_HalPort_Init(UART_DEV_1, value); | 36 | + s_JZ_SerialPortHalRegInfo SerialInfo = { |
| 37 | + .BitRate = UART_DEV1_BITRATE, | ||
| 38 | + .ConnectType = PORT_CONNECT_TYPE_AS_SUB | ||
| 39 | + }; | ||
| 40 | + | ||
| 41 | + JZsdk_HalPort_Init(UART_DEV_1, (void *)&SerialInfo); | ||
| 29 | } | 42 | } |
| 30 | 43 | ||
| 44 | + if (mode == APP_PSDK) | ||
| 45 | + { | ||
| 46 | + //外接传输模块,用于与飞机的数据通信 | ||
| 47 | + JZsdk_data_transmisson_Receive_Init(); | ||
| 48 | + } | ||
| 49 | + | ||
| 31 | //串口设备2初始化 | 50 | //串口设备2初始化 |
| 32 | - value[0] = UART_DEV2_BITRATE; | ||
| 33 | - JZsdk_HalPort_Init(UART_DEV_2, value); | 51 | + s_JZ_SerialPortHalRegInfo SerialInfo2 = { |
| 52 | + .BitRate = UART_DEV2_BITRATE, | ||
| 53 | + .ConnectType = PORT_CONNECT_TYPE_AS_SUB | ||
| 54 | + }; | ||
| 55 | + | ||
| 56 | + JZsdk_HalPort_Init(UART_DEV_2, (void *)&SerialInfo2); | ||
| 57 | + | ||
| 58 | + //音频库初始化 | ||
| 59 | + AudioDeal_Init(); | ||
| 60 | + | ||
| 34 | 61 | ||
| 35 | //喊话器初始化 | 62 | //喊话器初始化 |
| 36 | Megaphone_Init(); | 63 | Megaphone_Init(); |
| @@ -7,7 +7,7 @@ | @@ -7,7 +7,7 @@ | ||
| 7 | #define VERSION_CHOOSE_H | 7 | #define VERSION_CHOOSE_H |
| 8 | #include "JZsdk_Base/JZsdk_Code/JZsdk_DeviceCode.h" | 8 | #include "JZsdk_Base/JZsdk_Code/JZsdk_DeviceCode.h" |
| 9 | //1~10行 除了D可以修改版本选择 禁止动任何东西 | 9 | //1~10行 除了D可以修改版本选择 禁止动任何东西 |
| 10 | -#define DEVICE_VERSION JZ_H150G | 10 | +#define DEVICE_VERSION JZ_H150S |
| 11 | 11 | ||
| 12 | //禁止修改行 选择是串口程序 还是 psdk程序 | 12 | //禁止修改行 选择是串口程序 还是 psdk程序 |
| 13 | #define APP_VERSION APP_PSDK | 13 | #define APP_VERSION APP_PSDK |
| @@ -21,9 +21,9 @@ | @@ -21,9 +21,9 @@ | ||
| 21 | #define MINOR_VERSION_TEN_POSITION 0 | 21 | #define MINOR_VERSION_TEN_POSITION 0 |
| 22 | #define MINOR_VERSION_ONE_POSITION 3 | 22 | #define MINOR_VERSION_ONE_POSITION 3 |
| 23 | #define MODIFY_VERSION_TEN_POSITION 1 | 23 | #define MODIFY_VERSION_TEN_POSITION 1 |
| 24 | -#define MODIFY_VERSION_ONE_POSITION 1 | 24 | +#define MODIFY_VERSION_ONE_POSITION 2 |
| 25 | #define DEBUG_VERSION_TEN_POSITION 0 | 25 | #define DEBUG_VERSION_TEN_POSITION 0 |
| 26 | -#define DEBUG_VERSION_ONE_POSITION 3 | 26 | +#define DEBUG_VERSION_ONE_POSITION 0 |
| 27 | 27 | ||
| 28 | 28 | ||
| 29 | 29 | ||
| @@ -49,6 +49,18 @@ | @@ -49,6 +49,18 @@ | ||
| 49 | #define MEGAPHONE_CONFIG_STATUS_ON | 49 | #define MEGAPHONE_CONFIG_STATUS_ON |
| 50 | #endif | 50 | #endif |
| 51 | 51 | ||
| 52 | + #ifdef MACRO_IFLAY_TTS_1_MODULE | ||
| 53 | + #define IFLAY_TTS_1_CONFIG_STATUS_ON | ||
| 54 | + #endif | ||
| 55 | + | ||
| 56 | + #ifdef MACRO_ESPEAK_TTS_MODULE | ||
| 57 | + #define ESPEAK_TTS_CONFIG_STATUS_ON | ||
| 58 | + #endif | ||
| 59 | + | ||
| 60 | + #ifdef MACRO_IFLAY_TTS_2_MODULE | ||
| 61 | + #define IFLAY_TTS_2_CONFIG_STATUS_ON | ||
| 62 | + #endif | ||
| 63 | + | ||
| 52 | //是否开启媒体功能 | 64 | //是否开启媒体功能 |
| 53 | #ifdef MACRO_MEDIA_PROC_MODULE | 65 | #ifdef MACRO_MEDIA_PROC_MODULE |
| 54 | #define MEDIA_PROC_CONFIG_STATUS_ON | 66 | #define MEDIA_PROC_CONFIG_STATUS_ON |
| @@ -99,6 +111,11 @@ | @@ -99,6 +111,11 @@ | ||
| 99 | #define LIGHTING_STATUS_ON | 111 | #define LIGHTING_STATUS_ON |
| 100 | #endif | 112 | #endif |
| 101 | 113 | ||
| 114 | + //是否加载探照灯模块 | ||
| 115 | + #ifdef MACRO_SEARCHLIGHT_MODULE | ||
| 116 | + #define SEARCHLIGHT_STATUS_ON | ||
| 117 | + #endif | ||
| 118 | + | ||
| 102 | //是否加载云台模块 | 119 | //是否加载云台模块 |
| 103 | #ifdef MACRO_GIMBAL_MODULE | 120 | #ifdef MACRO_GIMBAL_MODULE |
| 104 | #define GIMBAL_STATUS_ON | 121 | #define GIMBAL_STATUS_ON |
| @@ -111,7 +128,10 @@ | @@ -111,7 +128,10 @@ | ||
| 111 | 128 | ||
| 112 | //是否开启喊话器功能 | 129 | //是否开启喊话器功能 |
| 113 | #define MEGAPHONE_CONFIG_STATUS_ON | 130 | #define MEGAPHONE_CONFIG_STATUS_ON |
| 114 | - | 131 | + #define IFLAY_TTS_1_CONFIG_STATUS_ON |
| 132 | + #define IFLAY_TTS_2_CONFIG_STATUS_ON | ||
| 133 | + #define ESPEAK_TTS_CONFIG_STATUS_ON | ||
| 134 | + | ||
| 115 | //是否开启媒体管理功能 | 135 | //是否开启媒体管理功能 |
| 116 | #define MEDIA_PROC_CONFIG_STATUS_ON | 136 | #define MEDIA_PROC_CONFIG_STATUS_ON |
| 117 | 137 | ||
| @@ -142,6 +162,9 @@ | @@ -142,6 +162,9 @@ | ||
| 142 | //默认开启光源模块 | 162 | //默认开启光源模块 |
| 143 | #define LIGHTING_STATUS_ON | 163 | #define LIGHTING_STATUS_ON |
| 144 | 164 | ||
| 165 | + //默认开启探照灯模块 | ||
| 166 | + #define SEARCHLIGHT_STATUS_ON | ||
| 167 | + | ||
| 145 | //默认开启云台模块 | 168 | //默认开启云台模块 |
| 146 | #define GIMBAL_STATUS_ON | 169 | #define GIMBAL_STATUS_ON |
| 147 | #endif | 170 | #endif |
| @@ -35,6 +35,9 @@ | @@ -35,6 +35,9 @@ | ||
| 35 | #include "AudioDeal/AudioDeal.h" | 35 | #include "AudioDeal/AudioDeal.h" |
| 36 | #endif | 36 | #endif |
| 37 | 37 | ||
| 38 | +#ifdef SEARCHLIGHT_STATUS_ON | ||
| 39 | + #include "Searchlight/Searchlight.h" | ||
| 40 | +#endif | ||
| 38 | 41 | ||
| 39 | static int HalRecvMode = JZ_FLAGCODE_OFF; //接收模式,主要是为了限制不同设备同时要求hal层做出 同一个数据接收相关功能 ,目前做法是只限定一个hal设备使用一种数据接收模式 | 42 | static int HalRecvMode = JZ_FLAGCODE_OFF; //接收模式,主要是为了限制不同设备同时要求hal层做出 同一个数据接收相关功能 ,目前做法是只限定一个hal设备使用一种数据接收模式 |
| 40 | static int HalRecvDataLen = 0; //用于计算接收数据长度 | 43 | static int HalRecvDataLen = 0; //用于计算接收数据长度 |
| @@ -64,7 +67,7 @@ static T_JZsdkMutexHandle GetMusicList_MutexHandle = NULL; | @@ -64,7 +67,7 @@ static T_JZsdkMutexHandle GetMusicList_MutexHandle = NULL; | ||
| 64 | 67 | ||
| 65 | /********* | 68 | /********* |
| 66 | * | 69 | * |
| 67 | - * 回复连接 | 70 | + * 作为子设备,接收到连接帧,并回复连接 与设备号 |
| 68 | * | 71 | * |
| 69 | * | 72 | * |
| 70 | **********/ | 73 | **********/ |
| @@ -3003,20 +3006,25 @@ static T_JZsdkReturnCode RecvDeal_CheckStatus_SearchLightLightAttribute(int Port | @@ -3003,20 +3006,25 @@ static T_JZsdkReturnCode RecvDeal_CheckStatus_SearchLightLightAttribute(int Port | ||
| 3003 | { | 3006 | { |
| 3004 | JZSDK_LOG_INFO("%s,灯光属性查询",JZsdk_DefineCode_GetPortName(Port)); | 3007 | JZSDK_LOG_INFO("%s,灯光属性查询",JZsdk_DefineCode_GetPortName(Port)); |
| 3005 | 3008 | ||
| 3009 | + T_JZsdkReturnCode ret = JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 3010 | + | ||
| 3011 | +#ifdef SEARCHLIGHT_STATUS_ON | ||
| 3006 | //1、获取帧的序列号 | 3012 | //1、获取帧的序列号 |
| 3007 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | 3013 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); |
| 3008 | 3014 | ||
| 3009 | //2、查询灯光属性 | 3015 | //2、查询灯光属性 |
| 3010 | - int Light_Frequency; | ||
| 3011 | - int Light_Mode; | ||
| 3012 | - int Light_LeftLumen; | ||
| 3013 | - int Light_RightLumen; | ||
| 3014 | - T_JZsdkReturnCode ret = UIcontrol_CheckStatus_SearchLightLightAttribute(&Light_Frequency, &Light_Mode, &Light_LeftLumen, &Light_RightLumen); | 3016 | + ret = UIcontrol_FlushSearchLightLightAttribute(); |
| 3017 | + | ||
| 3018 | + T_JzSearchLightAttribute LightAttribute; | ||
| 3019 | + ret = SearchLight_Get_SearchLightAttribute(&LightAttribute); | ||
| 3020 | + | ||
| 3015 | 3021 | ||
| 3016 | // 2、回复灯光属性 | 3022 | // 2、回复灯光属性 |
| 3017 | - HalSend_type1Send_SearchLight_Frequency(Port, Light_Frequency); | ||
| 3018 | - HalSend_type1Send_SearchLight_Mode(Port, Light_Mode); | ||
| 3019 | - HalSend_type1Send_SearchLight_Lumen(Port, Light_LeftLumen, Light_RightLumen); | 3023 | + HalSend_type1Send_SearchLight_Frequency(Port, LightAttribute.Frequency); |
| 3024 | + HalSend_type1Send_SearchLight_Mode(Port, LightAttribute.Mode); | ||
| 3025 | + HalSend_type1Send_SearchLight_Lumen(Port, LightAttribute.LeftBrightness, LightAttribute.RightBrightness); | ||
| 3026 | + | ||
| 3027 | +#endif | ||
| 3020 | 3028 | ||
| 3021 | return ret; | 3029 | return ret; |
| 3022 | } | 3030 | } |
| @@ -3880,11 +3888,53 @@ static T_JZsdkReturnCode RecvDeal_ObtainConnectFrame(int Port, char *getbuf) | @@ -3880,11 +3888,53 @@ static T_JZsdkReturnCode RecvDeal_ObtainConnectFrame(int Port, char *getbuf) | ||
| 3880 | //获取帧的序列号 | 3888 | //获取帧的序列号 |
| 3881 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | 3889 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); |
| 3882 | 3890 | ||
| 3883 | - //1、通过数据帧2,获取值 | ||
| 3884 | - int value = getbuf[10]; | 3891 | + //获取设备id |
| 3892 | + //计算ID长度 | ||
| 3893 | + int FrameLenth = JZsdk_Get_FrameLength(getbuf); | ||
| 3894 | + int IDLength = FrameLenth - 11; | ||
| 3885 | 3895 | ||
| 3886 | - //2、发送到本地处理 | ||
| 3887 | - //TestAPP_Connect(value); | 3896 | + //获取ID |
| 3897 | + int DeviceID = 0; | ||
| 3898 | + | ||
| 3899 | + //将ID转换为int | ||
| 3900 | + for (int i = 0; i < IDLength; i++) | ||
| 3901 | + { | ||
| 3902 | + DeviceID = DeviceID + (getbuf[9 + i] << (8 * (IDLength - i - 1))); | ||
| 3903 | + } | ||
| 3904 | + | ||
| 3905 | + JZSDK_LOG_INFO("收到连接回复帧, 设备ID: %d", DeviceID); | ||
| 3906 | + | ||
| 3907 | + //将ID放入Hal信息 | ||
| 3908 | + s_JZsdk_Hal_Info *halInfo = JZsdk_Hal_GetHalInfo(); | ||
| 3909 | + if (halInfo == NULL) | ||
| 3910 | + { | ||
| 3911 | + JZSDK_LOG_ERROR("获取Hal信息失败"); | ||
| 3912 | + return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; | ||
| 3913 | + } | ||
| 3914 | + | ||
| 3915 | + //遍历ID表 | ||
| 3916 | + for (int i = 0; i < halInfo->HalPort[Port].SubNum ; i++) | ||
| 3917 | + { | ||
| 3918 | + if (halInfo->HalPort[Port].SubId[i] == DeviceID) | ||
| 3919 | + { | ||
| 3920 | + JZSDK_LOG_INFO("已拥有设备ID: %d", DeviceID); | ||
| 3921 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 3922 | + } | ||
| 3923 | + } | ||
| 3924 | + | ||
| 3925 | + //添加ID | ||
| 3926 | + if (halInfo->HalPort[Port].SubNum >= JZ_MAX_SUB_ID_NUM) | ||
| 3927 | + { | ||
| 3928 | + JZSDK_LOG_INFO("设备ID表已满"); | ||
| 3929 | + return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; | ||
| 3930 | + } | ||
| 3931 | + else | ||
| 3932 | + { | ||
| 3933 | + JZSDK_LOG_INFO("添加设备ID: %d", DeviceID); | ||
| 3934 | + } | ||
| 3935 | + | ||
| 3936 | + halInfo->HalPort[Port].SubId[halInfo->HalPort[Port].SubNum] = DeviceID; | ||
| 3937 | + halInfo->HalPort[Port].SubNum++; | ||
| 3888 | 3938 | ||
| 3889 | return ret; | 3939 | return ret; |
| 3890 | } | 3940 | } |
| @@ -4470,11 +4520,12 @@ static void *UartReinit_thread(void *arg) | @@ -4470,11 +4520,12 @@ static void *UartReinit_thread(void *arg) | ||
| 4470 | 4520 | ||
| 4471 | int Port = arg_value[0]; | 4521 | int Port = arg_value[0]; |
| 4472 | 4522 | ||
| 4473 | - int Value[1]; | ||
| 4474 | - Value[0]= arg_value[1]; | 4523 | + s_JZ_SerialPortHalRegInfo SerialInfo = { |
| 4524 | + .BitRate = arg_value[1], | ||
| 4525 | + .ConnectType = PORT_CONNECT_TYPE_AS_SUB | ||
| 4526 | + }; | ||
| 4475 | 4527 | ||
| 4476 | - | ||
| 4477 | - JZsdk_HalPort_ReInit(Port, Value); | 4528 | + JZsdk_HalPort_ReInit(Port, (void *)&SerialInfo); |
| 4478 | 4529 | ||
| 4479 | JZSDK_LOG_INFO("串口重置完毕"); | 4530 | JZSDK_LOG_INFO("串口重置完毕"); |
| 4480 | 4531 | ||
| @@ -5337,6 +5388,7 @@ static T_JZsdkReturnCode RecvDeal_InstructInput(int Port, int Receive_mode, unsi | @@ -5337,6 +5388,7 @@ static T_JZsdkReturnCode RecvDeal_InstructInput(int Port, int Receive_mode, unsi | ||
| 5337 | //收到连接回复帧 | 5388 | //收到连接回复帧 |
| 5338 | case JZ_INSCODE_5BFRAME_INITIATECONNECT: | 5389 | case JZ_INSCODE_5BFRAME_INITIATECONNECT: |
| 5339 | RecvDeal_ObtainConnectFrame(Port,getbuf); | 5390 | RecvDeal_ObtainConnectFrame(Port,getbuf); |
| 5391 | + return 0; | ||
| 5340 | break; | 5392 | break; |
| 5341 | 5393 | ||
| 5342 | //收到心跳帧 | 5394 | //收到心跳帧 |
| @@ -12,16 +12,18 @@ | @@ -12,16 +12,18 @@ | ||
| 12 | #include "./HalSend_type1.h" | 12 | #include "./HalSend_type1.h" |
| 13 | 13 | ||
| 14 | //发送主动连接帧 | 14 | //发送主动连接帧 |
| 15 | -T_JZsdkReturnCode HalSend_type1Send_ConnectFrame(int PortNum) | 15 | +T_JZsdkReturnCode HalSend_type1Send_ConnectFrame(int PortNum, int FrameSequence) |
| 16 | { | 16 | { |
| 17 | unsigned char sendbuf[256]; | 17 | unsigned char sendbuf[256]; |
| 18 | int send_buf_len; | 18 | int send_buf_len; |
| 19 | 19 | ||
| 20 | //1、获取帧样板 | 20 | //1、获取帧样板 |
| 21 | JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_ASKFORCONNECT , sendbuf, &send_buf_len); | 21 | JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_ASKFORCONNECT , sendbuf, &send_buf_len); |
| 22 | + | ||
| 23 | + sendbuf[6] = FrameSequence; //帧序列 | ||
| 22 | 24 | ||
| 23 | //2、发送帧 | 25 | //2、发送帧 |
| 24 | - HalSend_SendData(PortNum ,sendbuf, send_buf_len, 1); | 26 | + HalSend_SendData(PortNum ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 25 | 27 | ||
| 26 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 28 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 27 | } | 29 | } |
| @@ -918,7 +920,7 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_GimbalPitchAngle(int Uartport, int Fra | @@ -918,7 +920,7 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_GimbalPitchAngle(int Uartport, int Fra | ||
| 918 | } | 920 | } |
| 919 | 921 | ||
| 920 | //设置当前云台角度 | 922 | //设置当前云台角度 |
| 921 | -T_JZsdkReturnCode HalSend_type1Send_Set_GimbalPitchAngle(int Uartport ,int angle) | 923 | +T_JZsdkReturnCode HalSend_type1Send_Set_GimbalPitchAngle(int Uartport ,int angle, int FrameSequence, int ReplyFlag) |
| 922 | { | 924 | { |
| 923 | //printf("发送设置云台角度帧 %d\n",angle); //该打印可能会造成卡顿 | 925 | //printf("发送设置云台角度帧 %d\n",angle); //该打印可能会造成卡顿 |
| 924 | unsigned char sendbuf[256]; | 926 | unsigned char sendbuf[256]; |
| @@ -938,6 +940,8 @@ T_JZsdkReturnCode HalSend_type1Send_Set_GimbalPitchAngle(int Uartport ,int angle | @@ -938,6 +940,8 @@ T_JZsdkReturnCode HalSend_type1Send_Set_GimbalPitchAngle(int Uartport ,int angle | ||
| 938 | sendbuf[9] = 0x00; | 940 | sendbuf[9] = 0x00; |
| 939 | } | 941 | } |
| 940 | 942 | ||
| 943 | + sendbuf[5] = ReplyFlag; //应答位 | ||
| 944 | + sendbuf[6] = FrameSequence; //帧序列 | ||
| 941 | sendbuf[10] = ((angle>>8) & 0xff); | 945 | sendbuf[10] = ((angle>>8) & 0xff); |
| 942 | sendbuf[11] = (angle & 0xff); | 946 | sendbuf[11] = (angle & 0xff); |
| 943 | 947 | ||
| @@ -963,7 +967,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_GimbalAngle(int Uartport ,int Fr | @@ -963,7 +967,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_GimbalAngle(int Uartport ,int Fr | ||
| 963 | } | 967 | } |
| 964 | 968 | ||
| 965 | //微调云台pitch | 969 | //微调云台pitch |
| 966 | -T_JZsdkReturnCode HalSend_type1Send_Set_GimbalFineTuningPitch(int Uartport, int PitchFineTuning) | 970 | +T_JZsdkReturnCode HalSend_type1Send_Set_GimbalFineTuningPitch(int Uartport, int PitchFineTuning, int FrameSequence) |
| 967 | { | 971 | { |
| 968 | printf("发送微调云台pitch帧\n"); | 972 | printf("发送微调云台pitch帧\n"); |
| 969 | unsigned char sendbuf[256]; | 973 | unsigned char sendbuf[256]; |
| @@ -983,6 +987,7 @@ T_JZsdkReturnCode HalSend_type1Send_Set_GimbalFineTuningPitch(int Uartport, int | @@ -983,6 +987,7 @@ T_JZsdkReturnCode HalSend_type1Send_Set_GimbalFineTuningPitch(int Uartport, int | ||
| 983 | sendbuf[9] = 0x00; | 987 | sendbuf[9] = 0x00; |
| 984 | } | 988 | } |
| 985 | 989 | ||
| 990 | + sendbuf[6] = FrameSequence; //帧序列 | ||
| 986 | sendbuf[10] = ((PitchFineTuning>>8) & 0xff); | 991 | sendbuf[10] = ((PitchFineTuning>>8) & 0xff); |
| 987 | sendbuf[11] = (PitchFineTuning & 0xff); | 992 | sendbuf[11] = (PitchFineTuning & 0xff); |
| 988 | 993 | ||
| @@ -1113,7 +1118,7 @@ T_JZsdkReturnCode HalSend_type1Send_SetGimbalRange(int Uartport,int FrameSequenc | @@ -1113,7 +1118,7 @@ T_JZsdkReturnCode HalSend_type1Send_SetGimbalRange(int Uartport,int FrameSequenc | ||
| 1113 | ****************************************************************************************************************************************************/ | 1118 | ****************************************************************************************************************************************************/ |
| 1114 | 1119 | ||
| 1115 | //发送设置探照灯爆闪频率 | 1120 | //发送设置探照灯爆闪频率 |
| 1116 | -T_JZsdkReturnCode HalSend_type1Send_Set_SearchLightFrequency(int Uartport ,int Frequency) | 1121 | +T_JZsdkReturnCode HalSend_type1Send_Set_SearchLightFrequency(int Uartport ,int Frequency, int FrameSequence) |
| 1117 | { | 1122 | { |
| 1118 | printf("发送设置爆闪频率帧\n"); | 1123 | printf("发送设置爆闪频率帧\n"); |
| 1119 | 1124 | ||
| @@ -1125,13 +1130,14 @@ T_JZsdkReturnCode HalSend_type1Send_Set_SearchLightFrequency(int Uartport ,int F | @@ -1125,13 +1130,14 @@ T_JZsdkReturnCode HalSend_type1Send_Set_SearchLightFrequency(int Uartport ,int F | ||
| 1125 | 1130 | ||
| 1126 | //2、写入数据 | 1131 | //2、写入数据 |
| 1127 | sendbuf[10] = Frequency; | 1132 | sendbuf[10] = Frequency; |
| 1133 | + sendbuf[6] = FrameSequence; | ||
| 1128 | 1134 | ||
| 1129 | //3、发送帧 | 1135 | //3、发送帧 |
| 1130 | HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); | 1136 | HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 1131 | } | 1137 | } |
| 1132 | 1138 | ||
| 1133 | //设置探照灯控制 | 1139 | //设置探照灯控制 |
| 1134 | -T_JZsdkReturnCode HalSend_type1Send_SearchLight_Control(int Uartport,int mode) | 1140 | +T_JZsdkReturnCode HalSend_type1Send_SearchLight_Control(int Uartport,int mode, int FrameSequence) |
| 1135 | { | 1141 | { |
| 1136 | printf("发送探照灯控制\n"); | 1142 | printf("发送探照灯控制\n"); |
| 1137 | 1143 | ||
| @@ -1143,13 +1149,14 @@ T_JZsdkReturnCode HalSend_type1Send_SearchLight_Control(int Uartport,int mode) | @@ -1143,13 +1149,14 @@ T_JZsdkReturnCode HalSend_type1Send_SearchLight_Control(int Uartport,int mode) | ||
| 1143 | 1149 | ||
| 1144 | //2、写入数据 | 1150 | //2、写入数据 |
| 1145 | sendbuf[10] = mode; | 1151 | sendbuf[10] = mode; |
| 1152 | + sendbuf[6] = FrameSequence; | ||
| 1146 | 1153 | ||
| 1147 | //3、发送帧 | 1154 | //3、发送帧 |
| 1148 | HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); | 1155 | HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 1149 | } | 1156 | } |
| 1150 | 1157 | ||
| 1151 | //设置探照灯亮度 | 1158 | //设置探照灯亮度 |
| 1152 | -T_JZsdkReturnCode HalSend_type1Send_SearchLight_SetLumen(int Uartport, int LeftLumen, int RightLumen) | 1159 | +T_JZsdkReturnCode HalSend_type1Send_SearchLight_SetLumen(int Uartport, int LeftLumen, int RightLumen, int FrameSequence) |
| 1153 | { | 1160 | { |
| 1154 | printf("发送设置探照灯亮度\n"); | 1161 | printf("发送设置探照灯亮度\n"); |
| 1155 | 1162 | ||
| @@ -1162,12 +1169,37 @@ T_JZsdkReturnCode HalSend_type1Send_SearchLight_SetLumen(int Uartport, int Left | @@ -1162,12 +1169,37 @@ T_JZsdkReturnCode HalSend_type1Send_SearchLight_SetLumen(int Uartport, int Left | ||
| 1162 | //2、写入数据 | 1169 | //2、写入数据 |
| 1163 | sendbuf[9] = LeftLumen; | 1170 | sendbuf[9] = LeftLumen; |
| 1164 | sendbuf[10] = RightLumen; | 1171 | sendbuf[10] = RightLumen; |
| 1172 | + sendbuf[6] = FrameSequence; | ||
| 1173 | + | ||
| 1174 | + //3、发送帧 | ||
| 1175 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); | ||
| 1176 | +} | ||
| 1177 | + | ||
| 1178 | +//设置单边探照灯亮度 | ||
| 1179 | +T_JZsdkReturnCode HalSend_type1Send_SearchLight_SetSingleLumem(int Uartport, int Lumen, int FrameSequence) | ||
| 1180 | +{ | ||
| 1181 | + printf("发送设置单边探照灯亮度\n"); | ||
| 1182 | + | ||
| 1183 | + unsigned char sendbuf[256]; | ||
| 1184 | + int send_buf_len; | ||
| 1185 | + | ||
| 1186 | + //1、获取帧样板 | ||
| 1187 | + JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_SEARCHLIGHT_SET_LUMEN, sendbuf, &send_buf_len); | ||
| 1188 | + | ||
| 1189 | + //2、将模板从14位改成13位 | ||
| 1190 | + sendbuf[4] = 0x0C; | ||
| 1191 | + memcpy(&sendbuf[9], &sendbuf[10], 4); | ||
| 1192 | + sendbuf[13] = 0x00; | ||
| 1193 | + send_buf_len=send_buf_len--; | ||
| 1194 | + | ||
| 1195 | + //2、写入数据 | ||
| 1196 | + sendbuf[6] = FrameSequence; | ||
| 1197 | + sendbuf[9] = Lumen; | ||
| 1165 | 1198 | ||
| 1166 | //3、发送帧 | 1199 | //3、发送帧 |
| 1167 | HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); | 1200 | HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 1168 | } | 1201 | } |
| 1169 | 1202 | ||
| 1170 | -//发送 | ||
| 1171 | 1203 | ||
| 1172 | //查询探照灯频率 | 1204 | //查询探照灯频率 |
| 1173 | T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Frequency(int Uartport) | 1205 | T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Frequency(int Uartport) |
| @@ -1230,7 +1262,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Attribute(int Uartpo | @@ -1230,7 +1262,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Attribute(int Uartpo | ||
| 1230 | } | 1262 | } |
| 1231 | 1263 | ||
| 1232 | //查询探照灯温度 | 1264 | //查询探照灯温度 |
| 1233 | -T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Temperture(int Uartport) | 1265 | +T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Temperture(int Uartport, int FrameSequence) |
| 1234 | { | 1266 | { |
| 1235 | printf("发送查询探照灯温度\n"); | 1267 | printf("发送查询探照灯温度\n"); |
| 1236 | 1268 | ||
| @@ -1240,6 +1272,8 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Temperture(int Uartp | @@ -1240,6 +1272,8 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Temperture(int Uartp | ||
| 1240 | //1、获取帧样板 | 1272 | //1、获取帧样板 |
| 1241 | JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_TEMPERATURE, sendbuf, &send_buf_len); | 1273 | JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_TEMPERATURE, sendbuf, &send_buf_len); |
| 1242 | 1274 | ||
| 1275 | + sendbuf[6] = FrameSequence; | ||
| 1276 | + | ||
| 1243 | //2、发送帧 | 1277 | //2、发送帧 |
| 1244 | HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); | 1278 | HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 1245 | } | 1279 | } |
| @@ -24,7 +24,7 @@ extern "C" { | @@ -24,7 +24,7 @@ extern "C" { | ||
| 24 | /* Exported types ------------------------------------------------------------*/ | 24 | /* Exported types ------------------------------------------------------------*/ |
| 25 | T_JZsdkReturnCode HalSend_type1Send_Reply_Success(int Uartport ,int FrameSequence); | 25 | T_JZsdkReturnCode HalSend_type1Send_Reply_Success(int Uartport ,int FrameSequence); |
| 26 | T_JZsdkReturnCode HalSend_type1Send_Send_Connect(int Uartport , int FrameSequence,int Version_flag); | 26 | T_JZsdkReturnCode HalSend_type1Send_Send_Connect(int Uartport , int FrameSequence,int Version_flag); |
| 27 | -T_JZsdkReturnCode HalSend_type1Send_ConnectFrame(int PortNum); | 27 | +T_JZsdkReturnCode HalSend_type1Send_ConnectFrame(int PortNum, int FrameSequence); |
| 28 | T_JZsdkReturnCode HalSend_type1Send_Send_HeartBeatStatus(int Uartport , int FrameSequence,int HeartBeatStatus); | 28 | T_JZsdkReturnCode HalSend_type1Send_Send_HeartBeatStatus(int Uartport , int FrameSequence,int HeartBeatStatus); |
| 29 | 29 | ||
| 30 | T_JZsdkReturnCode HalSend_type1Send_Set_PowerStatus(int Uartport, int FrameSequence, int status); | 30 | T_JZsdkReturnCode HalSend_type1Send_Set_PowerStatus(int Uartport, int FrameSequence, int status); |
| @@ -69,9 +69,9 @@ T_JZsdkReturnCode HalSend_type1Send_Send_OpusList_Stop(int Uartport, int FrameSe | @@ -69,9 +69,9 @@ T_JZsdkReturnCode HalSend_type1Send_Send_OpusList_Stop(int Uartport, int FrameSe | ||
| 69 | 69 | ||
| 70 | 70 | ||
| 71 | T_JZsdkReturnCode HalSend_type1Send_Reply_GimbalPitchAngle(int Uartport, int FrameSequence ,int angle); | 71 | T_JZsdkReturnCode HalSend_type1Send_Reply_GimbalPitchAngle(int Uartport, int FrameSequence ,int angle); |
| 72 | -T_JZsdkReturnCode HalSend_type1Send_Set_GimbalPitchAngle(int Uartport ,int angle); | 72 | +T_JZsdkReturnCode HalSend_type1Send_Set_GimbalPitchAngle(int Uartport ,int angle, int FrameSequence, int ReplyFlag); |
| 73 | T_JZsdkReturnCode HalSend_type1Send_Reply_GimbalFineTuningPitch(int Uartport, int FrameSequence, int FineTunigPitch); | 73 | T_JZsdkReturnCode HalSend_type1Send_Reply_GimbalFineTuningPitch(int Uartport, int FrameSequence, int FineTunigPitch); |
| 74 | -T_JZsdkReturnCode HalSend_type1Send_Set_GimbalFineTuningPitch(int Uartport, int PitchFineTuning); | 74 | +T_JZsdkReturnCode HalSend_type1Send_Set_GimbalFineTuningPitch(int Uartport, int PitchFineTuning, int FrameSequence); |
| 75 | T_JZsdkReturnCode HalSend_type1Send_CheckStatus_GimbalFineTuningPitch(int Uartport, int FrameSequence); | 75 | T_JZsdkReturnCode HalSend_type1Send_CheckStatus_GimbalFineTuningPitch(int Uartport, int FrameSequence); |
| 76 | T_JZsdkReturnCode HalSend_type1Send_Set_GimbalLinkageControl(int Uartport,int FrameSequence, int value); | 76 | T_JZsdkReturnCode HalSend_type1Send_Set_GimbalLinkageControl(int Uartport,int FrameSequence, int value); |
| 77 | T_JZsdkReturnCode HalSend_type1Send_CheckStatus_GimbalLinkage(int Uartport,int FrameSequence); | 77 | T_JZsdkReturnCode HalSend_type1Send_CheckStatus_GimbalLinkage(int Uartport,int FrameSequence); |
| @@ -88,9 +88,11 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_CurrentPlayTime(int Uartport ,int time | @@ -88,9 +88,11 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_CurrentPlayTime(int Uartport ,int time | ||
| 88 | T_JZsdkReturnCode HalSend_type1Send_Reply_CurrentPlayTimeStatus(int Uartport, int FrameSequence ,int mode); | 88 | T_JZsdkReturnCode HalSend_type1Send_Reply_CurrentPlayTimeStatus(int Uartport, int FrameSequence ,int mode); |
| 89 | 89 | ||
| 90 | 90 | ||
| 91 | -T_JZsdkReturnCode HalSend_type1Send_Set_SearchLightFrequency(int Uartport ,int Frequency); | ||
| 92 | -T_JZsdkReturnCode HalSend_type1Send_SearchLight_Control(int Uartport,int mode); | ||
| 93 | -T_JZsdkReturnCode HalSend_type1Send_SearchLight_SetLumen(int Uartport, int LeftLumen, int RightLumen); | 91 | +T_JZsdkReturnCode HalSend_type1Send_Set_SearchLightFrequency(int Uartport ,int Frequency, int FrameSequence); |
| 92 | +T_JZsdkReturnCode HalSend_type1Send_SearchLight_Control(int Uartport,int mode, int FrameSequence); | ||
| 93 | +T_JZsdkReturnCode HalSend_type1Send_SearchLight_SetLumen(int Uartport, int LeftLumen, int RightLumen, int FrameSequence); | ||
| 94 | +T_JZsdkReturnCode HalSend_type1Send_SearchLight_SetSingleLumem(int Uartport, int Lumen, int FrameSequence); | ||
| 95 | + | ||
| 94 | T_JZsdkReturnCode HalSend_type1Send_MessageSubcription_Control(int Uartport, int value); | 96 | T_JZsdkReturnCode HalSend_type1Send_MessageSubcription_Control(int Uartport, int value); |
| 95 | 97 | ||
| 96 | T_JZsdkReturnCode HalSend_type1Send_Set_WarningLight_Status(int Uartport,int status, int mode); | 98 | T_JZsdkReturnCode HalSend_type1Send_Set_WarningLight_Status(int Uartport,int status, int mode); |
| @@ -115,7 +117,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Frequency(int Uartpo | @@ -115,7 +117,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Frequency(int Uartpo | ||
| 115 | T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Lumen(int Uartport); | 117 | T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Lumen(int Uartport); |
| 116 | T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Mode(int Uartport); | 118 | T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Mode(int Uartport); |
| 117 | T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Attribute(int Uartport); | 119 | T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Attribute(int Uartport); |
| 118 | -T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Temperture(int Uartport); | 120 | +T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Temperture(int Uartport, int FrameSequence); |
| 119 | 121 | ||
| 120 | 122 | ||
| 121 | T_JZsdkReturnCode HalSend_type1Send_WarningLight_Status(int Uartport, int status, int mode); | 123 | T_JZsdkReturnCode HalSend_type1Send_WarningLight_Status(int Uartport, int status, int mode); |
| @@ -24,48 +24,36 @@ T_JZsdkReturnCode JZsdk_Hal_Init() | @@ -24,48 +24,36 @@ T_JZsdkReturnCode JZsdk_Hal_Init() | ||
| 24 | g_HalInfo = pOsalHandler->Malloc(sizeof(s_JZsdk_Hal_Info)); | 24 | g_HalInfo = pOsalHandler->Malloc(sizeof(s_JZsdk_Hal_Info)); |
| 25 | } | 25 | } |
| 26 | 26 | ||
| 27 | + //将结构体信息清空 | ||
| 28 | + memset(g_HalInfo, 0, sizeof(s_JZsdk_Hal_Info)); | ||
| 29 | + | ||
| 27 | //PSDK系列初始化 | 30 | //PSDK系列初始化 |
| 28 | for (int i = DEVICE_PSDK; i < UART_4G; i++) | 31 | for (int i = DEVICE_PSDK; i < UART_4G; i++) |
| 29 | { | 32 | { |
| 30 | - g_HalInfo->HalPort[i].UseFlag = JZ_FLAGCODE_OFF; | ||
| 31 | - g_HalInfo->HalPort[i].ConnectStatus = JZ_FLAGCODE_OFF; | ||
| 32 | - g_HalInfo->HalPort[i].HeartBeatStatusSend = JZ_FLAGCODE_OFF; | ||
| 33 | g_HalInfo->HalPort[i].PortType = PORT_TYPE_PSDK; | 33 | g_HalInfo->HalPort[i].PortType = PORT_TYPE_PSDK; |
| 34 | } | 34 | } |
| 35 | 35 | ||
| 36 | //UART系列初始化 | 36 | //UART系列初始化 |
| 37 | for (int i = UART_4G; i < USB_DEV_1; i++) | 37 | for (int i = UART_4G; i < USB_DEV_1; i++) |
| 38 | { | 38 | { |
| 39 | - g_HalInfo->HalPort[i].UseFlag = JZ_FLAGCODE_OFF; | ||
| 40 | - g_HalInfo->HalPort[i].ConnectStatus = JZ_FLAGCODE_OFF; | ||
| 41 | - g_HalInfo->HalPort[i].HeartBeatStatusSend = JZ_FLAGCODE_OFF; | ||
| 42 | g_HalInfo->HalPort[i].PortType = PORT_TYPE_UART; | 39 | g_HalInfo->HalPort[i].PortType = PORT_TYPE_UART; |
| 43 | } | 40 | } |
| 44 | 41 | ||
| 45 | //USB系列初始化 | 42 | //USB系列初始化 |
| 46 | for (int i = USB_DEV_1; i < NET_DEV_1; i++) | 43 | for (int i = USB_DEV_1; i < NET_DEV_1; i++) |
| 47 | { | 44 | { |
| 48 | - g_HalInfo->HalPort[i].UseFlag = JZ_FLAGCODE_OFF; | ||
| 49 | - g_HalInfo->HalPort[i].ConnectStatus = JZ_FLAGCODE_OFF; | ||
| 50 | - g_HalInfo->HalPort[i].HeartBeatStatusSend = JZ_FLAGCODE_OFF; | ||
| 51 | g_HalInfo->HalPort[i].PortType = PORT_TYPE_USB; | 45 | g_HalInfo->HalPort[i].PortType = PORT_TYPE_USB; |
| 52 | } | 46 | } |
| 53 | 47 | ||
| 54 | //网口系列初始化 | 48 | //网口系列初始化 |
| 55 | for (int i = NET_DEV_1; i < HAL_DATA_TRANSMISSION; i++) | 49 | for (int i = NET_DEV_1; i < HAL_DATA_TRANSMISSION; i++) |
| 56 | { | 50 | { |
| 57 | - g_HalInfo->HalPort[i].UseFlag = JZ_FLAGCODE_OFF; | ||
| 58 | - g_HalInfo->HalPort[i].ConnectStatus = JZ_FLAGCODE_OFF; | ||
| 59 | - g_HalInfo->HalPort[i].HeartBeatStatusSend = JZ_FLAGCODE_OFF; | ||
| 60 | g_HalInfo->HalPort[i].PortType = PORT_TYPE_NET; | 51 | g_HalInfo->HalPort[i].PortType = PORT_TYPE_NET; |
| 61 | } | 52 | } |
| 62 | 53 | ||
| 63 | //特殊数据层 | 54 | //特殊数据层 |
| 64 | for (int i = HAL_DATA_TRANSMISSION; i < HAL_MAX; i++) | 55 | for (int i = HAL_DATA_TRANSMISSION; i < HAL_MAX; i++) |
| 65 | { | 56 | { |
| 66 | - g_HalInfo->HalPort[i].UseFlag = JZ_FLAGCODE_OFF; | ||
| 67 | - g_HalInfo->HalPort[i].ConnectStatus = JZ_FLAGCODE_OFF; | ||
| 68 | - g_HalInfo->HalPort[i].HeartBeatStatusSend = JZ_FLAGCODE_OFF; | ||
| 69 | g_HalInfo->HalPort[i].PortType = PORT_TYPE_TRANS_DATA; | 57 | g_HalInfo->HalPort[i].PortType = PORT_TYPE_TRANS_DATA; |
| 70 | } | 58 | } |
| 71 | 59 | ||
| @@ -141,12 +129,13 @@ T_JZsdkReturnCode JZsdk_HalPort_SetUseFlag(int PortName,int UseFlag) | @@ -141,12 +129,13 @@ T_JZsdkReturnCode JZsdk_HalPort_SetUseFlag(int PortName,int UseFlag) | ||
| 141 | 129 | ||
| 142 | //用于给初始化函数调用 | 130 | //用于给初始化函数调用 |
| 143 | static T_JZsdkReturnCode JZsdK_HalPort_Init_Info(int PortName, int UseFlag | 131 | static T_JZsdkReturnCode JZsdK_HalPort_Init_Info(int PortName, int UseFlag |
| 144 | - , int ConnectStatus, int HeartBeatStatusSend, int PortType) | 132 | + , int ConnectStatus, int HeartBeatStatusSend, int PortType, int ConnectType) |
| 145 | { | 133 | { |
| 146 | g_HalInfo->HalPort[PortName].UseFlag = UseFlag; | 134 | g_HalInfo->HalPort[PortName].UseFlag = UseFlag; |
| 147 | g_HalInfo->HalPort[PortName].ConnectStatus = ConnectStatus; | 135 | g_HalInfo->HalPort[PortName].ConnectStatus = ConnectStatus; |
| 148 | g_HalInfo->HalPort[PortName].HeartBeatStatusSend = HeartBeatStatusSend; | 136 | g_HalInfo->HalPort[PortName].HeartBeatStatusSend = HeartBeatStatusSend; |
| 149 | g_HalInfo->HalPort[PortName].PortType = PortType; | 137 | g_HalInfo->HalPort[PortName].PortType = PortType; |
| 138 | + g_HalInfo->HalPort[PortName].ConnectType = ConnectType; | ||
| 150 | 139 | ||
| 151 | //记录端口 | 140 | //记录端口 |
| 152 | JZsdk_HalPort_SetUseFlag(PortName, JZ_FLAGCODE_ON); | 141 | JZsdk_HalPort_SetUseFlag(PortName, JZ_FLAGCODE_ON); |
| @@ -161,14 +150,19 @@ static T_JZsdkReturnCode JZsdK_HalPort_Init_Info(int PortName, int UseFlag | @@ -161,14 +150,19 @@ static T_JZsdkReturnCode JZsdK_HalPort_Init_Info(int PortName, int UseFlag | ||
| 161 | * uart初始化 value[0]为波特率 | 150 | * uart初始化 value[0]为波特率 |
| 162 | * | 151 | * |
| 163 | * ******************/ | 152 | * ******************/ |
| 164 | -T_JZsdkReturnCode JZsdk_HalPort_Init(int PortName, int Value[]) | 153 | +T_JZsdkReturnCode JZsdk_HalPort_Init(int PortName, void *Value) |
| 165 | { | 154 | { |
| 166 | T_JZsdkReturnCode ret; | 155 | T_JZsdkReturnCode ret; |
| 167 | 156 | ||
| 168 | //psdk初始化 | 157 | //psdk初始化 |
| 169 | if (PortName >= DEVICE_PSDK && PortName < UART_4G) | 158 | if (PortName >= DEVICE_PSDK && PortName < UART_4G) |
| 170 | { | 159 | { |
| 171 | - JZsdK_HalPort_Init_Info(PortName, JZ_FLAGCODE_ON, JZ_FLAGCODE_OFF, JZ_FLAGCODE_OFF, PORT_TYPE_PSDK); | 160 | + JZsdK_HalPort_Init_Info(PortName, |
| 161 | + JZ_FLAGCODE_ON, | ||
| 162 | + JZ_FLAGCODE_OFF, | ||
| 163 | + JZ_FLAGCODE_OFF, | ||
| 164 | + PORT_TYPE_PSDK, | ||
| 165 | + PORT_CONNECT_TYPE_AS_SUB); | ||
| 172 | 166 | ||
| 173 | JZSDK_LOG_INFO("hal%s 初始化",JZsdk_DefineCode_GetPortName(PortName)); | 167 | JZSDK_LOG_INFO("hal%s 初始化",JZsdk_DefineCode_GetPortName(PortName)); |
| 174 | 168 | ||
| @@ -179,15 +173,26 @@ T_JZsdkReturnCode JZsdk_HalPort_Init(int PortName, int Value[]) | @@ -179,15 +173,26 @@ T_JZsdkReturnCode JZsdk_HalPort_Init(int PortName, int Value[]) | ||
| 179 | if (PortName >= UART_4G && PortName < USB_DEV_1) | 173 | if (PortName >= UART_4G && PortName < USB_DEV_1) |
| 180 | { | 174 | { |
| 181 | JZSDK_LOG_INFO("hal%s 初始化",JZsdk_DefineCode_GetPortName(PortName)); | 175 | JZSDK_LOG_INFO("hal%s 初始化",JZsdk_DefineCode_GetPortName(PortName)); |
| 176 | + | ||
| 177 | + if (Value == NULL) | ||
| 178 | + { | ||
| 179 | + JZSDK_LOG_ERROR("hal%s 初始化失败,Value为NULL",JZsdk_DefineCode_GetPortName(PortName)); | ||
| 180 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 181 | + } | ||
| 182 | + | ||
| 183 | + s_JZ_SerialPortHalRegInfo *PortInfo = (s_JZ_SerialPortHalRegInfo *)Value; | ||
| 184 | + | ||
| 185 | + int BitRate = PortInfo->BitRate; | ||
| 186 | + int ConnectType = PortInfo->ConnectType; | ||
| 182 | 187 | ||
| 183 | - ret = JZsdk_Uart_ReInit(PortName, Value[0]); | 188 | + ret = JZsdk_Uart_ReInit(PortName, BitRate); |
| 184 | if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | 189 | if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) |
| 185 | { | 190 | { |
| 186 | JZSDK_LOG_ERROR("hal%s 初始化失败",JZsdk_DefineCode_GetPortName(PortName)); | 191 | JZSDK_LOG_ERROR("hal%s 初始化失败",JZsdk_DefineCode_GetPortName(PortName)); |
| 187 | return ret; | 192 | return ret; |
| 188 | } | 193 | } |
| 189 | 194 | ||
| 190 | - JZsdK_HalPort_Init_Info(PortName, JZ_FLAGCODE_ON, JZ_FLAGCODE_OFF, JZ_FLAGCODE_OFF, PORT_TYPE_UART); | 195 | + JZsdK_HalPort_Init_Info(PortName, JZ_FLAGCODE_ON, JZ_FLAGCODE_OFF, JZ_FLAGCODE_OFF, PORT_TYPE_UART, ConnectType); |
| 191 | 196 | ||
| 192 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 197 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 193 | } | 198 | } |
| @@ -207,7 +212,7 @@ T_JZsdkReturnCode JZsdk_HalPort_Init(int PortName, int Value[]) | @@ -207,7 +212,7 @@ T_JZsdkReturnCode JZsdk_HalPort_Init(int PortName, int Value[]) | ||
| 207 | //数据传输初始化 | 212 | //数据传输初始化 |
| 208 | if (PortName == HAL_DATA_TRANSMISSION) | 213 | if (PortName == HAL_DATA_TRANSMISSION) |
| 209 | { | 214 | { |
| 210 | - JZsdK_HalPort_Init_Info(PortName, JZ_FLAGCODE_ON, JZ_FLAGCODE_OFF, JZ_FLAGCODE_OFF, PORT_TYPE_TRANS_DATA); | 215 | + JZsdK_HalPort_Init_Info(PortName, JZ_FLAGCODE_ON, JZ_FLAGCODE_OFF, JZ_FLAGCODE_OFF, PORT_TYPE_TRANS_DATA, PORT_CONNECT_TYPE_AS_SUB); |
| 211 | 216 | ||
| 212 | JZSDK_LOG_INFO("hal%s 初始化",JZsdk_DefineCode_GetPortName(PortName)); | 217 | JZSDK_LOG_INFO("hal%s 初始化",JZsdk_DefineCode_GetPortName(PortName)); |
| 213 | } | 218 | } |
| @@ -223,7 +228,7 @@ T_JZsdkReturnCode JZsdk_HalPort_Init(int PortName, int Value[]) | @@ -223,7 +228,7 @@ T_JZsdkReturnCode JZsdk_HalPort_Init(int PortName, int Value[]) | ||
| 223 | * 与init的区别是, Reinit 是要调用多线程来重初始化的 | 228 | * 与init的区别是, Reinit 是要调用多线程来重初始化的 |
| 224 | * | 229 | * |
| 225 | * ***************************/ | 230 | * ***************************/ |
| 226 | -T_JZsdkReturnCode JZsdk_HalPort_ReInit(int PortName, int Value[]) | 231 | +T_JZsdkReturnCode JZsdk_HalPort_ReInit(int PortName, void *Value) |
| 227 | { | 232 | { |
| 228 | return JZsdk_HalPort_Init(PortName, Value); | 233 | return JZsdk_HalPort_Init(PortName, Value); |
| 229 | } | 234 | } |
| @@ -25,6 +25,8 @@ extern "C" { | @@ -25,6 +25,8 @@ extern "C" { | ||
| 25 | /* Exported constants --------------------------------------------------------*/ | 25 | /* Exported constants --------------------------------------------------------*/ |
| 26 | /* 常亮定义*/ | 26 | /* 常亮定义*/ |
| 27 | 27 | ||
| 28 | +#define JZ_MAX_SUB_ID_NUM 10 | ||
| 29 | + | ||
| 28 | typedef enum E_HAL_PORT_TYPE | 30 | typedef enum E_HAL_PORT_TYPE |
| 29 | { | 31 | { |
| 30 | PORT_TYPE_PSDK = 0, | 32 | PORT_TYPE_PSDK = 0, |
| @@ -35,6 +37,26 @@ typedef enum E_HAL_PORT_TYPE | @@ -35,6 +37,26 @@ typedef enum E_HAL_PORT_TYPE | ||
| 35 | PORT_TYPE_TRANS_DATA = 4, | 37 | PORT_TYPE_TRANS_DATA = 4, |
| 36 | }E_HAL_PORT_TYPE; | 38 | }E_HAL_PORT_TYPE; |
| 37 | 39 | ||
| 40 | +typedef enum E_HAL_CONNECT_TYPE | ||
| 41 | +{ | ||
| 42 | + PORT_CONNECT_TYPE_AS_SUB = 0, //作为副设备 | ||
| 43 | + PORT_CONNECT_TYPE_AS_MAIN = 1, //作为主设备 | ||
| 44 | + | ||
| 45 | +}E_HAL_CONNECT_TYPE; | ||
| 46 | + | ||
| 47 | + | ||
| 48 | +/****************** | ||
| 49 | + * | ||
| 50 | + * hal使用状态 | ||
| 51 | + * | ||
| 52 | + * ********/ | ||
| 53 | +typedef struct s_JZ_SerialPortHalRegInfo | ||
| 54 | +{ | ||
| 55 | + int BitRate; //波特率 | ||
| 56 | + E_HAL_CONNECT_TYPE ConnectType; //连接类型 | ||
| 57 | +}s_JZ_SerialPortHalRegInfo; | ||
| 58 | + | ||
| 59 | + | ||
| 38 | /****************** | 60 | /****************** |
| 39 | * | 61 | * |
| 40 | * hal使用状态 | 62 | * hal使用状态 |
| @@ -45,9 +67,17 @@ typedef enum E_HAL_PORT_TYPE | @@ -45,9 +67,17 @@ typedef enum E_HAL_PORT_TYPE | ||
| 45 | typedef struct s_JZsdk_HalStatus | 67 | typedef struct s_JZsdk_HalStatus |
| 46 | { | 68 | { |
| 47 | int UseFlag; //hal使用标志位 //初始化时开关关闭 | 69 | int UseFlag; //hal使用标志位 //初始化时开关关闭 |
| 48 | - int ConnectStatus; //接收过连接帧后打开 | ||
| 49 | - int HeartBeatStatusSend; //心跳帧的发送开关 | ||
| 50 | - int PortType; | 70 | + int PortType; //hal的端口类型 |
| 71 | + int ConnectType;//主副设备类型 | ||
| 72 | + | ||
| 73 | +//作为主设备专有 | ||
| 74 | + int SubId[JZ_MAX_SUB_ID_NUM]; //副设备ID | ||
| 75 | + int SubNum; //副设备数量 | ||
| 76 | + | ||
| 77 | +//作为副设备专有 | ||
| 78 | + int HeartBeatStatusSend; //对主设备发送心跳帧的发送开关 | ||
| 79 | + int ConnectStatus; //连接状态,接收过连接帧后打开 | ||
| 80 | + | ||
| 51 | }s_JZsdk_HalStatus; | 81 | }s_JZsdk_HalStatus; |
| 52 | 82 | ||
| 53 | typedef struct s_JZsdk_Hal_Info | 83 | typedef struct s_JZsdk_Hal_Info |
| @@ -64,8 +94,8 @@ typedef struct s_JZsdk_Hal_Info | @@ -64,8 +94,8 @@ typedef struct s_JZsdk_Hal_Info | ||
| 64 | int JZsdk_HalPort_UseFlag(int PortName); | 94 | int JZsdk_HalPort_UseFlag(int PortName); |
| 65 | T_JZsdkReturnCode JZsdk_HalPort_SetUseFlag(int PortName,int UseFlag); | 95 | T_JZsdkReturnCode JZsdk_HalPort_SetUseFlag(int PortName,int UseFlag); |
| 66 | 96 | ||
| 67 | -T_JZsdkReturnCode JZsdk_HalPort_Init(int PortName, int Value[]); | ||
| 68 | -T_JZsdkReturnCode JZsdk_HalPort_ReInit(int PortName, int Value[]); | 97 | +T_JZsdkReturnCode JZsdk_HalPort_Init(int PortName, void *Value); |
| 98 | +T_JZsdkReturnCode JZsdk_HalPort_ReInit(int PortName, void *Value); | ||
| 69 | 99 | ||
| 70 | T_JZsdkReturnCode JZsdk_Hal_Init(); | 100 | T_JZsdkReturnCode JZsdk_Hal_Init(); |
| 71 | 101 |
JZsdk_hal/JZsdk_i2c/JZsdk_i2c.c
0 → 100644
| 1 | +#include "JZsdkLib.h" | ||
| 2 | + | ||
| 3 | +/************************** | ||
| 4 | + * | ||
| 5 | + * i2c reset | ||
| 6 | + * | ||
| 7 | + * | ||
| 8 | + * **********************/ | ||
| 9 | +// static T_JZsdkReturnCode JZsdk_HalI2c_i2cReset() | ||
| 10 | +// { | ||
| 11 | +// char systemCmd[JZSDK_CMD_SIZE] = {0}; | ||
| 12 | + | ||
| 13 | +// JZ_U32 ret; | ||
| 14 | + | ||
| 15 | +// // 1. 导出GPIO | ||
| 16 | +// sprintf(systemCmd, "echo %d > /sys/class/gpio/export", I2C_DEVICE_RESET_GPIO_NUM); | ||
| 17 | +// ret = system(systemCmd); | ||
| 18 | +// if (ret != 0) { | ||
| 19 | +// printf("Export reset gpio failed, %d\r\n", ret); | ||
| 20 | +// return; // 建议提前返回避免后续错误 | ||
| 21 | +// } | ||
| 22 | + | ||
| 23 | +// // 2. 设置方向为输出 | ||
| 24 | +// sprintf(systemCmd, "echo out > /sys/class/gpio/gpio%d/direction", I2C_DEVICE_RESET_GPIO_NUM); | ||
| 25 | +// ret = system(systemCmd); | ||
| 26 | +// if (ret != 0) { | ||
| 27 | +// printf("Set gpio direction failed, %d\r\n", ret); | ||
| 28 | +// goto unexport; | ||
| 29 | +// } | ||
| 30 | + | ||
| 31 | +// // 3. 拉低复位引脚 | ||
| 32 | +// sprintf(systemCmd, "echo 0 > /sys/class/gpio/gpio%d/value", I2C_DEVICE_RESET_GPIO_NUM); | ||
| 33 | +// ret = system(systemCmd); | ||
| 34 | +// if (ret != 0) { | ||
| 35 | +// printf("Set gpio value failed, %d\r\n", ret); | ||
| 36 | +// goto unexport; | ||
| 37 | +// } | ||
| 38 | + | ||
| 39 | +// usleep(I2C_DEVICE_RESET_TIME_US); | ||
| 40 | + | ||
| 41 | +// // 4. 拉高复位引脚 | ||
| 42 | +// sprintf(systemCmd, "echo 1 > /sys/class/gpio/gpio%d/value", I2C_DEVICE_RESET_GPIO_NUM); | ||
| 43 | +// ret = system(systemCmd); | ||
| 44 | +// if (ret != 0) { | ||
| 45 | +// printf("Set gpio value failed, %d\r\n", ret); | ||
| 46 | +// goto unexport; | ||
| 47 | +// } | ||
| 48 | + | ||
| 49 | +// unexport: | ||
| 50 | +// // 5. 取消导出GPIO | ||
| 51 | +// sprintf(systemCmd, "echo %d > /sys/class/gpio/unexport", I2C_DEVICE_RESET_GPIO_NUM); | ||
| 52 | +// system(systemCmd); // 忽略取消导出的返回值 | ||
| 53 | + | ||
| 54 | +// } | ||
| 55 | + |
| @@ -221,13 +221,14 @@ static void *UartDeal_rece(void *arg) | @@ -221,13 +221,14 @@ static void *UartDeal_rece(void *arg) | ||
| 221 | // data_len2+=args->MessageLength; | 221 | // data_len2+=args->MessageLength; |
| 222 | // printf("当前接收长度%d bytesRead%d bmessage%d reslen%d\n",data_len,bytesRead,data_len2,args->ResLen); | 222 | // printf("当前接收长度%d bytesRead%d bmessage%d reslen%d\n",data_len,bytesRead,data_len2,args->ResLen); |
| 223 | 223 | ||
| 224 | - // JZSDK_LOG_INFO("从串口读取到,长度%d",(args->MessageLength-args->ResLen)); | ||
| 225 | - | ||
| 226 | - // for (int i = 0; i < (args->MessageLength-args->ResLen); i++) | ||
| 227 | - // { | ||
| 228 | - // JZSDK_LOG_OUTPUTHEX("%s",&args->Message[i+args->ResLen]); | ||
| 229 | - // } | 224 | +#if 1 |
| 225 | + JZSDK_LOG_INFO("从串口读取到,长度%d",(args->MessageLength-args->ResLen)); | ||
| 230 | 226 | ||
| 227 | + for (int i = 0; i < (args->MessageLength-args->ResLen); i++) | ||
| 228 | + { | ||
| 229 | + JZSDK_LOG_OUTPUTHEX("%s",&args->Message[i+args->ResLen]); | ||
| 230 | + } | ||
| 231 | +#endif | ||
| 231 | // 更新剩余长度 | 232 | // 更新剩余长度 |
| 232 | args->ResLen = 0; | 233 | args->ResLen = 0; |
| 233 | } | 234 | } |
| @@ -557,17 +558,17 @@ static void JZsdk_Uart_UartSend_Task(void *data) | @@ -557,17 +558,17 @@ static void JZsdk_Uart_UartSend_Task(void *data) | ||
| 557 | 558 | ||
| 558 | if (taskData->Uart_name == UART_4G) | 559 | if (taskData->Uart_name == UART_4G) |
| 559 | { | 560 | { |
| 560 | - printf("向4G设备发送\n"); | 561 | + printf("task4G设备发送\n"); |
| 561 | write(Uart_4G_fd, taskData->str, taskData->str_lenth); | 562 | write(Uart_4G_fd, taskData->str, taskData->str_lenth); |
| 562 | } | 563 | } |
| 563 | else if (taskData->Uart_name == UART_DEV_1) | 564 | else if (taskData->Uart_name == UART_DEV_1) |
| 564 | { | 565 | { |
| 565 | - printf("向串口1号设备发送\n"); | 566 | + printf("task串口1号设备发送\n"); |
| 566 | write(Uart_DEV1_fd, taskData->str, taskData->str_lenth); | 567 | write(Uart_DEV1_fd, taskData->str, taskData->str_lenth); |
| 567 | } | 568 | } |
| 568 | else if (taskData->Uart_name == UART_DEV_2) | 569 | else if (taskData->Uart_name == UART_DEV_2) |
| 569 | { | 570 | { |
| 570 | - printf("向串口2号设备发送\n"); | 571 | + printf("task串口2号设备发送\n"); |
| 571 | write(Uart_DEV2_fd, taskData->str, taskData->str_lenth); | 572 | write(Uart_DEV2_fd, taskData->str, taskData->str_lenth); |
| 572 | } | 573 | } |
| 573 | else if (taskData->Uart_name == HAL_DATA_TRANSMISSION) | 574 | else if (taskData->Uart_name == HAL_DATA_TRANSMISSION) |
| @@ -30,7 +30,7 @@ static int Audiodeal_status = JZ_FLAGCODE_OFF; | @@ -30,7 +30,7 @@ static int Audiodeal_status = JZ_FLAGCODE_OFF; | ||
| 30 | T_JZsdkReturnCode AudioDeal_Init() | 30 | T_JZsdkReturnCode AudioDeal_Init() |
| 31 | { | 31 | { |
| 32 | T_JZsdkReturnCode ret; | 32 | T_JZsdkReturnCode ret; |
| 33 | - | 33 | + |
| 34 | ret = JZsdk_Malloc((void **)&AudioDeakInfo_index, sizeof(struct AudioDealInfo)); | 34 | ret = JZsdk_Malloc((void **)&AudioDeakInfo_index, sizeof(struct AudioDealInfo)); |
| 35 | 35 | ||
| 36 | //初始化参数 | 36 | //初始化参数 |
| @@ -16,6 +16,7 @@ | @@ -16,6 +16,7 @@ | ||
| 16 | #include "Gimbal/Gimbal.h" | 16 | #include "Gimbal/Gimbal.h" |
| 17 | #include "Gimbal/Gimbal_DataDeal/Gimbal_DataDeal.h" | 17 | #include "Gimbal/Gimbal_DataDeal/Gimbal_DataDeal.h" |
| 18 | #include "Gimbal/Gimbal_MotorFineTuning/MotorFineTuning.h" | 18 | #include "Gimbal/Gimbal_MotorFineTuning/MotorFineTuning.h" |
| 19 | +#include "Gimbal/SingleCompensation/SingleCompensation.h" | ||
| 19 | 20 | ||
| 20 | #include "BaseConfig.h" | 21 | #include "BaseConfig.h" |
| 21 | #include "Hal_Send/HalSend.h" | 22 | #include "Hal_Send/HalSend.h" |
| @@ -33,6 +34,12 @@ static int g_MotorFineTuningPitch = 0; //pitch微调值 | @@ -33,6 +34,12 @@ static int g_MotorFineTuningPitch = 0; //pitch微调值 | ||
| 33 | static int g_MotorFineTuningYaw = 0; //yaw微调值 | 34 | static int g_MotorFineTuningYaw = 0; //yaw微调值 |
| 34 | static int g_MotorFineTuningRoll = 0; //roll微调值 | 35 | static int g_MotorFineTuningRoll = 0; //roll微调值 |
| 35 | 36 | ||
| 37 | +//单边微调角度,并非会在每次调整角度后发送,而是在每次单边微调和初始化时发送 | ||
| 38 | +static T_JZ_SingleCompensationInfo g_SingleCompensationInfo = { | ||
| 39 | + .Left_SingleCompensationValue = 0, | ||
| 40 | + .Right_SingleCompensationValue = 0, | ||
| 41 | +}; | ||
| 42 | + | ||
| 36 | //飞机自身角度 | 43 | //飞机自身角度 |
| 37 | static int Gimbal_UavSelfPitch = 0; | 44 | static int Gimbal_UavSelfPitch = 0; |
| 38 | 45 | ||
| @@ -366,7 +373,7 @@ T_JZsdkReturnCode Gimbal_Set_PitchFineTuning(int pitch) | @@ -366,7 +373,7 @@ T_JZsdkReturnCode Gimbal_Set_PitchFineTuning(int pitch) | ||
| 366 | g_MotorFineTuningPitch = pitch; | 373 | g_MotorFineTuningPitch = pitch; |
| 367 | 374 | ||
| 368 | #if DEVICE_VERSION == JZ_H1T | 375 | #if DEVICE_VERSION == JZ_H1T |
| 369 | - HalSend_type1Send_Set_GimbalFineTuningPitch(UART_DEV_1, g_MotorFineTuningPitch); | 376 | + HalSend_type1Send_Set_GimbalFineTuningPitch(UART_DEV_1, g_MotorFineTuningPitch, 0x00); |
| 370 | #endif | 377 | #endif |
| 371 | } | 378 | } |
| 372 | break; | 379 | break; |
| @@ -619,6 +626,73 @@ T_JZsdkReturnCode Gimbal_Obtain_Gimbal_Pitch(int Pitch) | @@ -619,6 +626,73 @@ T_JZsdkReturnCode Gimbal_Obtain_Gimbal_Pitch(int Pitch) | ||
| 619 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 626 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 620 | } | 627 | } |
| 621 | 628 | ||
| 629 | + | ||
| 630 | +/******************************** | ||
| 631 | + * | ||
| 632 | + * | ||
| 633 | + * 单边云台补偿值设置 | ||
| 634 | + * | ||
| 635 | + * | ||
| 636 | + * ************************************/ | ||
| 637 | +T_JZsdkReturnCode Gimbal_Set_SingleCompensation(int Mode, int Value) | ||
| 638 | +{ | ||
| 639 | + //判断云台是否初始化完成 | ||
| 640 | + if (g_JZsdk_GimbalStatusFlag == JZ_FLAGCODE_OFF) | ||
| 641 | + { | ||
| 642 | + JZSDK_LOG_ERROR("云台未初始化"); | ||
| 643 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 644 | + } | ||
| 645 | + | ||
| 646 | + if (Mode == JZ_SINGLE_COMPENSATION_MODE_PITCH_LEFT) | ||
| 647 | + { | ||
| 648 | + JZSDK_LOG_INFO("设置单边补偿值,模式:左补偿,值:%d\n", Value); | ||
| 649 | + g_SingleCompensationInfo.Left_SingleCompensationValue = g_SingleCompensationInfo.Left_SingleCompensationValue + Value; | ||
| 650 | + | ||
| 651 | + //设置本地的单边补偿值 | ||
| 652 | + SingleCompensation_SaveValues(&g_SingleCompensationInfo); | ||
| 653 | + | ||
| 654 | + //发送单边补偿值到云台 | ||
| 655 | + HalSend_type1Send_Set_GimbalFineTuningPitch(UART_DEV_2, g_SingleCompensationInfo.Left_SingleCompensationValue, 0x11); | ||
| 656 | + } | ||
| 657 | + | ||
| 658 | + else if (Mode == JZ_SINGLE_COMPENSATION_MODE_PITCH_RIGHT) | ||
| 659 | + { | ||
| 660 | + JZSDK_LOG_INFO("设置单边补偿值,模式:右补偿,值:%d\n", Value); | ||
| 661 | + g_SingleCompensationInfo.Right_SingleCompensationValue = g_SingleCompensationInfo.Right_SingleCompensationValue + Value; | ||
| 662 | + | ||
| 663 | + //设置本地的单边补偿值 | ||
| 664 | + SingleCompensation_SaveValues(&g_SingleCompensationInfo); | ||
| 665 | + | ||
| 666 | + //发送单边补偿值到云台 | ||
| 667 | + HalSend_type1Send_Set_GimbalFineTuningPitch(UART_DEV_2, g_SingleCompensationInfo.Right_SingleCompensationValue, 0x12); | ||
| 668 | + } | ||
| 669 | + | ||
| 670 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 671 | +} | ||
| 672 | + | ||
| 673 | + | ||
| 674 | + | ||
| 675 | + | ||
| 676 | + | ||
| 677 | + | ||
| 678 | + | ||
| 679 | + | ||
| 680 | + | ||
| 681 | + | ||
| 682 | + | ||
| 683 | + | ||
| 684 | + | ||
| 685 | + | ||
| 686 | + | ||
| 687 | + | ||
| 688 | + | ||
| 689 | + | ||
| 690 | + | ||
| 691 | + | ||
| 692 | + | ||
| 693 | + | ||
| 694 | + | ||
| 695 | + | ||
| 622 | /************************************************************** | 696 | /************************************************************** |
| 623 | * | 697 | * |
| 624 | * | 698 | * |
| @@ -758,6 +832,13 @@ static T_JZsdkReturnCode Gimbal_Set_RealPitchAngle(int pitch, int FineTuningP, i | @@ -758,6 +832,13 @@ static T_JZsdkReturnCode Gimbal_Set_RealPitchAngle(int pitch, int FineTuningP, i | ||
| 758 | 832 | ||
| 759 | 833 | ||
| 760 | 834 | ||
| 835 | + | ||
| 836 | + | ||
| 837 | + | ||
| 838 | + | ||
| 839 | + | ||
| 840 | + | ||
| 841 | + | ||
| 761 | T_JZsdkReturnCode Get_JZsdk_GimbalStatusFlag() | 842 | T_JZsdkReturnCode Get_JZsdk_GimbalStatusFlag() |
| 762 | { | 843 | { |
| 763 | return g_JZsdk_GimbalStatusFlag; | 844 | return g_JZsdk_GimbalStatusFlag; |
| @@ -841,15 +922,31 @@ static T_JZsdkReturnCode Gimbal_Init_IndependentControl() | @@ -841,15 +922,31 @@ static T_JZsdkReturnCode Gimbal_Init_IndependentControl() | ||
| 841 | { | 922 | { |
| 842 | g_Gimbal_Mode = JZ_MODULE_CONTROL_WAY_INDEPENDENT; | 923 | g_Gimbal_Mode = JZ_MODULE_CONTROL_WAY_INDEPENDENT; |
| 843 | 924 | ||
| 925 | + T_JZsdkReturnCode ret; | ||
| 926 | + | ||
| 844 | //舵机初始化 | 927 | //舵机初始化 |
| 845 | Gimal_MotorInit(); | 928 | Gimal_MotorInit(); |
| 846 | 929 | ||
| 847 | //云台微调初始化 | 930 | //云台微调初始化 |
| 848 | MotorFineTuning_Init(&g_MotorFineTuningPitch, &g_MotorFineTuningYaw, &g_MotorFineTuningRoll); | 931 | MotorFineTuning_Init(&g_MotorFineTuningPitch, &g_MotorFineTuningYaw, &g_MotorFineTuningRoll); |
| 849 | 932 | ||
| 933 | + //单边云台补偿初始化 | ||
| 934 | + ret = JZsdk_SingleCompensation_Init(&g_SingleCompensationInfo); | ||
| 935 | + if ((JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS == ret) && (DEVICE_VERSION == JZ_T40)) | ||
| 936 | + { | ||
| 937 | + JZSDK_LOG_INFO("单边云台补偿初始化成功, 读取到补偿值,左补偿值:%d,右补偿值:%d", g_SingleCompensationInfo.Left_SingleCompensationValue, g_SingleCompensationInfo.Right_SingleCompensationValue); | ||
| 938 | + | ||
| 939 | + //发送单边补偿值到云台 | ||
| 940 | + HalSend_type1Send_Set_GimbalFineTuningPitch(UART_DEV_2, g_SingleCompensationInfo.Left_SingleCompensationValue, 0x11); | ||
| 941 | + | ||
| 942 | + delayMs(500); | ||
| 943 | + | ||
| 944 | + HalSend_type1Send_Set_GimbalFineTuningPitch(UART_DEV_2, g_SingleCompensationInfo.Right_SingleCompensationValue, 0x12); | ||
| 945 | + } | ||
| 946 | + | ||
| 850 | //云台角度初始化 | 947 | //云台角度初始化 |
| 851 | Gimbal_Flush_Pitch(); | 948 | Gimbal_Flush_Pitch(); |
| 852 | - | 949 | + |
| 853 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 950 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 854 | } | 951 | } |
| 855 | 952 |
| @@ -44,6 +44,8 @@ T_JZsdkReturnCode Gimbal_Obtain_GimbalLinkage(int GimbalLinkage); | @@ -44,6 +44,8 @@ T_JZsdkReturnCode Gimbal_Obtain_GimbalLinkage(int GimbalLinkage); | ||
| 44 | T_JZsdkReturnCode Gimbal_CheckStatus_Angle(int *PitchAngle, int *YawAngle, int *RollAngle); | 44 | T_JZsdkReturnCode Gimbal_CheckStatus_Angle(int *PitchAngle, int *YawAngle, int *RollAngle); |
| 45 | T_JZsdkReturnCode Gimbal_Obtain_Gimbal_Pitch(int Pitch); | 45 | T_JZsdkReturnCode Gimbal_Obtain_Gimbal_Pitch(int Pitch); |
| 46 | 46 | ||
| 47 | +T_JZsdkReturnCode Gimbal_Set_SingleCompensation(int Mode, int Value); | ||
| 48 | + | ||
| 47 | 49 | ||
| 48 | T_JZsdkReturnCode Gimbal_PitchSelfangleMode(int Pitch); | 50 | T_JZsdkReturnCode Gimbal_PitchSelfangleMode(int Pitch); |
| 49 | int Gimbal_PitchScaleMode(int value); | 51 | int Gimbal_PitchScaleMode(int value); |
| @@ -115,12 +115,17 @@ T_JZsdkReturnCode Gimbal_DataDeal_SetRealAngle(int angle) | @@ -115,12 +115,17 @@ T_JZsdkReturnCode Gimbal_DataDeal_SetRealAngle(int angle) | ||
| 115 | || DEVICE_VERSION == TF_A1 | 115 | || DEVICE_VERSION == TF_A1 |
| 116 | 116 | ||
| 117 | //发送角度给串口2 | 117 | //发送角度给串口2 |
| 118 | - HalSend_type1Send_Set_GimbalPitchAngle(UART_DEV_2, angle); | 118 | + HalSend_type1Send_Set_GimbalPitchAngle(UART_DEV_2, angle, 0, JZ_FLAGCODE_ON); |
| 119 | 119 | ||
| 120 | #elif DEVICE_VERSION == JZ_H1T | 120 | #elif DEVICE_VERSION == JZ_H1T |
| 121 | 121 | ||
| 122 | //发送角度给串口1 | 122 | //发送角度给串口1 |
| 123 | - HalSend_type1Send_Set_GimbalPitchAngle(UART_DEV_1, angle); | 123 | + HalSend_type1Send_Set_GimbalPitchAngle(UART_DEV_1, angle, 0, JZ_FLAGCODE_ON); |
| 124 | + | ||
| 125 | +#elif DEVICE_VERSION == JZ_T40 | ||
| 126 | + | ||
| 127 | + //T40很特殊,需要控制两个子设备,所以要准备帧序列 | ||
| 128 | + HalSend_type1Send_Set_GimbalPitchAngle(UART_DEV_2, angle, 0x10, JZ_FLAGCODE_OFF); | ||
| 124 | 129 | ||
| 125 | #else | 130 | #else |
| 126 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 131 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
| @@ -67,6 +67,13 @@ extern "C" { | @@ -67,6 +67,13 @@ extern "C" { | ||
| 67 | #define MAX_PITCH 300 | 67 | #define MAX_PITCH 300 |
| 68 | #define MIN_PITCH -900 | 68 | #define MIN_PITCH -900 |
| 69 | 69 | ||
| 70 | +#elif DEVICE_VERSION == JZ_T40 | ||
| 71 | + | ||
| 72 | +#define PITCH_PWM_MAX 0 | ||
| 73 | +#define PITCH_PWM_MIN 0 | ||
| 74 | +#define MAX_PITCH 300 | ||
| 75 | +#define MIN_PITCH -900 | ||
| 76 | + | ||
| 70 | #else | 77 | #else |
| 71 | 78 | ||
| 72 | #define PITCH_PWM_MAX 0 | 79 | #define PITCH_PWM_MAX 0 |
| 1 | +#include <stdio.h> | ||
| 2 | +#include "JZsdkLib.h" | ||
| 3 | + | ||
| 4 | +#include "./SingleCompensation.h" | ||
| 5 | + | ||
| 6 | +#define SINGLE_COMPENSATION_INFO_PATH "/root/SingleCompensationInfo.txt" | ||
| 7 | + | ||
| 8 | + | ||
| 9 | +static T_JZsdkReturnCode SingleCompensation_ReadValues(T_JZ_SingleCompensationInfo *p_SingleCompensationInfo) | ||
| 10 | +{ | ||
| 11 | + FILE *file = fopen(SINGLE_COMPENSATION_INFO_PATH, "r"); | ||
| 12 | + | ||
| 13 | + // 如果文件不存在,创建默认文件 | ||
| 14 | + if (!file) | ||
| 15 | + { | ||
| 16 | + // 设置默认值 | ||
| 17 | + p_SingleCompensationInfo->Left_SingleCompensationValue = 0; | ||
| 18 | + p_SingleCompensationInfo->Right_SingleCompensationValue = 0; | ||
| 19 | + | ||
| 20 | + // 创建文件并写入默认值 | ||
| 21 | + FILE *new_file = fopen(SINGLE_COMPENSATION_INFO_PATH, "w"); | ||
| 22 | + if (!new_file) | ||
| 23 | + { | ||
| 24 | + JZSDK_LOG_ERROR("Failed to create default config file"); | ||
| 25 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 26 | + } | ||
| 27 | + | ||
| 28 | + fprintf(new_file, "%d\n%d\n", p_SingleCompensationInfo->Left_SingleCompensationValue, p_SingleCompensationInfo->Right_SingleCompensationValue); | ||
| 29 | + fclose(new_file); | ||
| 30 | + | ||
| 31 | + JZSDK_LOG_INFO("Created default config file with values: Left=0, Right=0"); | ||
| 32 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | + // 读取两个整数值 | ||
| 36 | + if (fscanf(file, "%d %d", &(p_SingleCompensationInfo->Left_SingleCompensationValue) , &(p_SingleCompensationInfo->Right_SingleCompensationValue)) != 2) | ||
| 37 | + { | ||
| 38 | + // 如果读取失败,使用默认值 | ||
| 39 | + p_SingleCompensationInfo->Left_SingleCompensationValue = 0; | ||
| 40 | + p_SingleCompensationInfo->Right_SingleCompensationValue = 0; | ||
| 41 | + } | ||
| 42 | + | ||
| 43 | + fclose(file); | ||
| 44 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 45 | +} | ||
| 46 | + | ||
| 47 | +T_JZsdkReturnCode SingleCompensation_SaveValues(T_JZ_SingleCompensationInfo *p_SingleCompensationInfo) | ||
| 48 | +{ | ||
| 49 | + FILE *file = fopen(SINGLE_COMPENSATION_INFO_PATH, "w"); | ||
| 50 | + if (!file) { | ||
| 51 | + JZSDK_LOG_ERROR("Failed to open config file for writing"); | ||
| 52 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 53 | + } | ||
| 54 | + | ||
| 55 | + // 直接写入两个值 | ||
| 56 | + fprintf(file, "%d\n%d\n", p_SingleCompensationInfo->Left_SingleCompensationValue, p_SingleCompensationInfo->Right_SingleCompensationValue); | ||
| 57 | + fclose(file); | ||
| 58 | + | ||
| 59 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 60 | +} | ||
| 61 | + | ||
| 62 | + | ||
| 63 | +T_JZsdkReturnCode JZsdk_SingleCompensation_Init(T_JZ_SingleCompensationInfo *p_SingleCompensationInfo) | ||
| 64 | +{ | ||
| 65 | + //读取本地的补偿值 | ||
| 66 | + SingleCompensation_ReadValues(p_SingleCompensationInfo); | ||
| 67 | + | ||
| 68 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 69 | +} | ||
| 70 | + |
| 1 | + | ||
| 2 | +/** | ||
| 3 | + ******************************************************************** | ||
| 4 | + * @file SingleCompensation.h | ||
| 5 | + * SingleCompensation.h 的头文件 | ||
| 6 | + * | ||
| 7 | + ********************************************************************* | ||
| 8 | + */ | ||
| 9 | + | ||
| 10 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 11 | +#ifndef SINGLE_COMPENSATION_H | ||
| 12 | +#define SINGLE_COMPENSATION_H | ||
| 13 | + | ||
| 14 | +/* Includes ------------------------------------------------------------------*/ | ||
| 15 | +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | ||
| 16 | + | ||
| 17 | +#ifdef __cplusplus | ||
| 18 | +extern "C" { | ||
| 19 | +#endif | ||
| 20 | + | ||
| 21 | +/* Exported constants --------------------------------------------------------*/ | ||
| 22 | +/* 常亮定义*/ | ||
| 23 | + | ||
| 24 | +typedef struct T_JZ_SingleCompensationInfo | ||
| 25 | +{ | ||
| 26 | + int Left_SingleCompensationValue; //左单轴补偿值 | ||
| 27 | + int Right_SingleCompensationValue; //右单轴补偿值 | ||
| 28 | +}T_JZ_SingleCompensationInfo; | ||
| 29 | + | ||
| 30 | +/* Exported types ------------------------------------------------------------*/ | ||
| 31 | + | ||
| 32 | +/* Exported functions --------------------------------------------------------*/ | ||
| 33 | +T_JZsdkReturnCode JZsdk_SingleCompensation_Init(T_JZ_SingleCompensationInfo *p_SingleCompensationInfo); | ||
| 34 | +T_JZsdkReturnCode SingleCompensation_SaveValues(T_JZ_SingleCompensationInfo *p_SingleCompensationInfo); | ||
| 35 | + | ||
| 36 | + | ||
| 37 | + | ||
| 38 | +#ifdef __cplusplus | ||
| 39 | +} | ||
| 40 | +#endif | ||
| 41 | + | ||
| 42 | +#endif |
| @@ -63,28 +63,6 @@ static int PowerContorl; | @@ -63,28 +63,6 @@ static int PowerContorl; | ||
| 63 | #define Page_Size (4096 * 2) | 63 | #define Page_Size (4096 * 2) |
| 64 | #define PIO_BASE_ADDRESS 0x01C20800 | 64 | #define PIO_BASE_ADDRESS 0x01C20800 |
| 65 | 65 | ||
| 66 | -#if DEVICE_VERSION == JZ_H1E | ||
| 67 | - #define AMPLIFIER_PIN PB | ||
| 68 | - #define AMPLIFIER_PIN_NUM 4 | ||
| 69 | -#elif DEVICE_VERSION == JZ_H1T | ||
| 70 | - #define AMPLIFIER_PIN PG | ||
| 71 | - #define AMPLIFIER_PIN_NUM 5 | ||
| 72 | -#elif DEVICE_VERSION == JZ_H10T | ||
| 73 | - #define AMPLIFIER_PIN PG | ||
| 74 | - #define AMPLIFIER_PIN_NUM 5 | ||
| 75 | -#elif DEVICE_VERSION == JZ_U3 | ||
| 76 | - #define AMPLIFIER_PIN PB | ||
| 77 | - #define AMPLIFIER_PIN_NUM 4 | ||
| 78 | -#elif DEVICE_VERSION == TF_A1 | ||
| 79 | - #define AMPLIFIER_PIN PG | ||
| 80 | - #define AMPLIFIER_PIN_NUM 5 | ||
| 81 | -#else | ||
| 82 | - #define AMPLIFIER_PIN PB | ||
| 83 | - #define AMPLIFIER_PIN_NUM 4 | ||
| 84 | -#endif | ||
| 85 | - | ||
| 86 | - | ||
| 87 | - | ||
| 88 | #define STATUS_LIGHT_PIN PG | 66 | #define STATUS_LIGHT_PIN PG |
| 89 | #define STATUS_LIGHT_PIN_NUM 2 | 67 | #define STATUS_LIGHT_PIN_NUM 2 |
| 90 | 68 | ||
| @@ -95,7 +73,7 @@ static uint32_t *gpio_dat = NULL; | @@ -95,7 +73,7 @@ static uint32_t *gpio_dat = NULL; | ||
| 95 | static uint32_t *pwm_base_map = NULL; | 73 | static uint32_t *pwm_base_map = NULL; |
| 96 | static uint32_t *pwm1_period = NULL; | 74 | static uint32_t *pwm1_period = NULL; |
| 97 | 75 | ||
| 98 | -void GPIO_ConfigPin(PORT port, unsigned int pin, PIN_MODE mode) | 76 | +static void GPIO_ConfigPin(PORT port, unsigned int pin, PIN_MODE mode) |
| 99 | { | 77 | { |
| 100 | if (base_map == NULL) | 78 | if (base_map == NULL) |
| 101 | return; | 79 | return; |
| @@ -104,7 +82,7 @@ void GPIO_ConfigPin(PORT port, unsigned int pin, PIN_MODE mode) | @@ -104,7 +82,7 @@ void GPIO_ConfigPin(PORT port, unsigned int pin, PIN_MODE mode) | ||
| 104 | printf("struct PIO_Struct size : %d\n",sizeof(PIO->Pn[port])); | 82 | printf("struct PIO_Struct size : %d\n",sizeof(PIO->Pn[port])); |
| 105 | } | 83 | } |
| 106 | 84 | ||
| 107 | -void GPIO_SetPin(PORT port, unsigned int pin, unsigned int level) | 85 | +static void GPIO_SetPin(PORT port, unsigned int pin, unsigned int level) |
| 108 | { | 86 | { |
| 109 | if (base_map == NULL) | 87 | if (base_map == NULL) |
| 110 | return; | 88 | return; |
| @@ -128,23 +106,6 @@ int GPIO_Free(void) | @@ -128,23 +106,6 @@ int GPIO_Free(void) | ||
| 128 | } | 106 | } |
| 129 | 107 | ||
| 130 | 108 | ||
| 131 | - | ||
| 132 | - | ||
| 133 | -void V3s_set_amplifier(int amplifier_mode) | ||
| 134 | -{ //功放开关 | ||
| 135 | - if(amplifier_mode==0) | ||
| 136 | - {//关闭功放 | ||
| 137 | - printf("关闭功放\n"); | ||
| 138 | - GPIO_SetPin(AMPLIFIER_PIN,AMPLIFIER_PIN_NUM,0); | ||
| 139 | - } | ||
| 140 | - else if(amplifier_mode==1) | ||
| 141 | - {//打开功放 | ||
| 142 | - printf("打开功放\n"); | ||
| 143 | - GPIO_SetPin(AMPLIFIER_PIN,AMPLIFIER_PIN_NUM,1); | ||
| 144 | - } | ||
| 145 | -} | ||
| 146 | - | ||
| 147 | - | ||
| 148 | int V3s_PWM_contrl(int PWM_num) | 109 | int V3s_PWM_contrl(int PWM_num) |
| 149 | { | 110 | { |
| 150 | 111 | ||
| @@ -191,22 +152,22 @@ static void GPIO_mmap_Init() | @@ -191,22 +152,22 @@ static void GPIO_mmap_Init() | ||
| 191 | } | 152 | } |
| 192 | 153 | ||
| 193 | 154 | ||
| 194 | -//状态灯初始化 | ||
| 195 | -static void Status_light_init() | ||
| 196 | -{ | ||
| 197 | - //状态灯初始化 | ||
| 198 | - //这里已经将0x1c20000的地址映射到了内存中,但是我们需要的地址是0x01C20800,所以要再加上地址偏移量~ | ||
| 199 | - PIO = (PIO_Map *)((unsigned int)base_map + addr_offset); | ||
| 200 | - printf("PIO:0x%.8X\n", PIO); | 155 | +// //状态灯初始化 |
| 156 | +// static void Status_light_init() | ||
| 157 | +// { | ||
| 158 | +// //状态灯初始化 | ||
| 159 | +// //这里已经将0x1c20000的地址映射到了内存中,但是我们需要的地址是0x01C20800,所以要再加上地址偏移量~ | ||
| 160 | +// PIO = (PIO_Map *)((unsigned int)base_map + addr_offset); | ||
| 161 | +// printf("PIO:0x%.8X\n", PIO); | ||
| 201 | 162 | ||
| 202 | - GPIO_ConfigPin(STATUS_LIGHT_PIN,STATUS_LIGHT_PIN_NUM,OUT); | ||
| 203 | -} | 163 | +// GPIO_ConfigPin(STATUS_LIGHT_PIN,STATUS_LIGHT_PIN_NUM,OUT); |
| 164 | +// } | ||
| 204 | 165 | ||
| 205 | -static void Status_light() | ||
| 206 | -{ | ||
| 207 | - //低电平亮 | ||
| 208 | - GPIO_SetPin(STATUS_LIGHT_PIN,STATUS_LIGHT_PIN_NUM,0); | ||
| 209 | -} | 166 | +// static void Status_light() |
| 167 | +// { | ||
| 168 | +// //低电平亮 | ||
| 169 | +// GPIO_SetPin(STATUS_LIGHT_PIN,STATUS_LIGHT_PIN_NUM,0); | ||
| 170 | +// } | ||
| 210 | 171 | ||
| 211 | static void PWM_init() //pwm初始化 | 172 | static void PWM_init() //pwm初始化 |
| 212 | { | 173 | { |
| @@ -261,89 +222,257 @@ static void PWM_init() //pwm初始化 | @@ -261,89 +222,257 @@ static void PWM_init() //pwm初始化 | ||
| 261 | printf("v3spwm初始化完成\n"); | 222 | printf("v3spwm初始化完成\n"); |
| 262 | } | 223 | } |
| 263 | 224 | ||
| 264 | -static int V3S_Power_Pin_init() | 225 | + |
| 226 | + | ||
| 227 | + | ||
| 228 | +// void V3s_Ircut_Init()//引脚初始化 | ||
| 229 | +// { | ||
| 230 | +// GPIO_mmap_Init(); //GPIO 内存映射初始化 | ||
| 231 | + | ||
| 232 | +// //这里已经将0x1c20000的地址映射到了内存中,但是我们需要的地址是0x01C20800,所以要再加上地址偏移量~ | ||
| 233 | +// PIO = (PIO_Map *)((unsigned int)base_map + addr_offset); | ||
| 234 | +// printf("PIO:0x%.8X", PIO); | ||
| 235 | + | ||
| 236 | +// //静音引脚初始化 | ||
| 237 | +// GPIO_ConfigPin(AMPLIFIER_PIN,AMPLIFIER_PIN_NUM,OUT); | ||
| 238 | + | ||
| 239 | +// //10T要初始化电机引脚 | ||
| 240 | +// if (DEVICE_VERSION == JZ_H10T) | ||
| 241 | +// { | ||
| 242 | +// PWM_init() ; //pwm初始化 | ||
| 243 | +// GPIO_ConfigPin(PB,6,OUT); //对外供电初始化 | ||
| 244 | +// } | ||
| 245 | + | ||
| 246 | +// //激光引脚初始化 | ||
| 247 | +// if (DEVICE_VERSION == JZ_U3S) | ||
| 248 | +// { | ||
| 249 | +// GPIO_ConfigPin(PB,6,OUT); | ||
| 250 | +// GPIO_ConfigPin(PB,7,OUT); | ||
| 251 | +// } | ||
| 252 | + | ||
| 253 | +// //状态灯初始化 | ||
| 254 | +// //Status_light_init(); | ||
| 255 | +// //打开状态灯 | ||
| 256 | +// //Status_light(); | ||
| 257 | +// } | ||
| 258 | + | ||
| 259 | + | ||
| 260 | +int V3s_Ircut_uInit() | ||
| 265 | { | 261 | { |
| 266 | - //这里已经将0x1c20000的地址映射到了内存中,但是我们需要的地址是0x01C20800,所以要再加上地址偏移量~ | ||
| 267 | - PIO = (PIO_Map *)((unsigned int)base_map + addr_offset); | ||
| 268 | - printf("PIO:0x%.8X", PIO); | 262 | + //GPIO 内存映射移除 |
| 263 | + munmap(base_map, Page_Size); | ||
| 264 | + printf("munmap success!\n"); | ||
| 265 | +} | ||
| 266 | + | ||
| 267 | +// void Ircut_V3S_Set_OutPutPowerControl(int power_control) | ||
| 268 | +// { | ||
| 269 | +// if (DEVICE_VERSION == JZ_H10T) | ||
| 270 | +// { | ||
| 271 | +// if (power_control == 1) | ||
| 272 | +// { | ||
| 273 | +// GPIO_ConfigPin(PB,6,OUT); //电源脚初始化 | ||
| 274 | +// GPIO_SetPin(PB,6,1); //打开开关 | ||
| 275 | +// } | ||
| 276 | +// else if(power_control ==0) | ||
| 277 | +// { | ||
| 278 | +// GPIO_SetPin(PB,6,0); //关闭开关 | ||
| 279 | +// GPIO_ConfigPin(PB,6,DISABLE); //释放引脚 | ||
| 280 | +// } | ||
| 281 | + | ||
| 282 | +// } | ||
| 283 | + | ||
| 284 | +// } | ||
| 269 | 285 | ||
| 270 | - if (DEVICE_VERSION == JZ_H10T) | ||
| 271 | - { | ||
| 272 | - GPIO_ConfigPin(PB,6,OUT); | ||
| 273 | 286 | ||
| 287 | +/******************** | ||
| 288 | + * | ||
| 289 | + * 端口组换算 | ||
| 290 | + * 将JZSDK的端口组转换成V3S的端口组 | ||
| 291 | + * | ||
| 292 | + * **********************/ | ||
| 293 | +static T_JZsdkReturnCode V3s_Port_Conversion(E_JZ_IRC_PORT port, PORT *v3s_port) | ||
| 294 | +{ | ||
| 295 | + switch (port) | ||
| 296 | + { | ||
| 297 | + case JZ_IRC_PORT_PA: | ||
| 298 | + *v3s_port = PA; | ||
| 299 | + break; | ||
| 300 | + | ||
| 301 | + case JZ_IRC_PORT_PB: | ||
| 302 | + *v3s_port = PB; | ||
| 303 | + break; | ||
| 304 | + | ||
| 305 | + case JZ_IRC_PORT_PC: | ||
| 306 | + *v3s_port = PC; | ||
| 307 | + break; | ||
| 308 | + | ||
| 309 | + case JZ_IRC_PORT_PD: | ||
| 310 | + *v3s_port = PD; | ||
| 311 | + break; | ||
| 312 | + | ||
| 313 | + case JZ_IRC_PORT_PE: | ||
| 314 | + *v3s_port = PE; | ||
| 315 | + break; | ||
| 316 | + | ||
| 317 | + case JZ_IRC_PORT_PF: | ||
| 318 | + *v3s_port = PF; | ||
| 319 | + break; | ||
| 320 | + | ||
| 321 | + case JZ_IRC_PORT_PG: | ||
| 322 | + *v3s_port = PG; | ||
| 323 | + break; | ||
| 324 | + | ||
| 325 | + default: | ||
| 326 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 327 | + break; | ||
| 274 | } | 328 | } |
| 275 | - | 329 | + |
| 330 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 276 | } | 331 | } |
| 277 | 332 | ||
| 278 | 333 | ||
| 334 | +/******************** | ||
| 335 | + * | ||
| 336 | + * 端口模式换算 | ||
| 337 | + * 将JZSDK的端口模式转换成V3S的端口模式 | ||
| 338 | + * | ||
| 339 | + * **********************/ | ||
| 340 | +static T_JZsdkReturnCode V3s_PinMode_Conversion(E_JZ_IRC_PIN_MODE mode, PIN_MODE *v3s_mode) | ||
| 341 | +{ | ||
| 342 | + switch (mode) | ||
| 343 | + { | ||
| 344 | + case JZ_IRC_PIN_MODE_IN: | ||
| 345 | + *v3s_mode = IN; | ||
| 346 | + break; | ||
| 347 | + | ||
| 348 | + case JZ_IRC_PIN_MODE_OUT: | ||
| 349 | + *v3s_mode = OUT; | ||
| 350 | + break; | ||
| 279 | 351 | ||
| 352 | + case JZ_IRC_PIN_MODE_AUX: | ||
| 353 | + *v3s_mode = AUX; | ||
| 354 | + break; | ||
| 280 | 355 | ||
| 281 | -void V3s_Ircut_Init()//引脚初始化 | 356 | + case JZ_IRC_PIN_MODE_INT: |
| 357 | + *v3s_mode = INT; | ||
| 358 | + break; | ||
| 359 | + | ||
| 360 | + case JZ_IRC_PIN_MODE_DISABLE: | ||
| 361 | + *v3s_mode = DISABLE; | ||
| 362 | + break; | ||
| 363 | + | ||
| 364 | + default: | ||
| 365 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 366 | + break; | ||
| 367 | + } | ||
| 368 | + | ||
| 369 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 370 | +} | ||
| 371 | + | ||
| 372 | + | ||
| 373 | +T_JZsdkReturnCode JZsdk_V3s_Ircut_Init(IrcutInfo *ircut_info) | ||
| 282 | { | 374 | { |
| 283 | - GPIO_mmap_Init(); //GPIO 内存映射初始化 | 375 | + //内存映射初始化 |
| 376 | + GPIO_mmap_Init(); | ||
| 284 | 377 | ||
| 378 | + //地址偏移量 | ||
| 285 | //这里已经将0x1c20000的地址映射到了内存中,但是我们需要的地址是0x01C20800,所以要再加上地址偏移量~ | 379 | //这里已经将0x1c20000的地址映射到了内存中,但是我们需要的地址是0x01C20800,所以要再加上地址偏移量~ |
| 286 | PIO = (PIO_Map *)((unsigned int)base_map + addr_offset); | 380 | PIO = (PIO_Map *)((unsigned int)base_map + addr_offset); |
| 287 | printf("PIO:0x%.8X", PIO); | 381 | printf("PIO:0x%.8X", PIO); |
| 288 | 382 | ||
| 289 | - //静音引脚初始化 | ||
| 290 | - GPIO_ConfigPin(AMPLIFIER_PIN,AMPLIFIER_PIN_NUM,OUT); | ||
| 291 | - | ||
| 292 | - //10T要初始化电机引脚 | ||
| 293 | - if (DEVICE_VERSION == JZ_H10T) | 383 | + //静音角引脚初始化 |
| 384 | + if (ircut_info->Amplifiter_Pin.Enable == JZ_FLAGCODE_ON) | ||
| 294 | { | 385 | { |
| 295 | - PWM_init() ; //pwm初始化 | ||
| 296 | - GPIO_ConfigPin(PB,6,OUT); //对外供电初始化 | 386 | + //获取引脚组 |
| 387 | + PORT Amplifiter_Pin_port; | ||
| 388 | + if(V3s_Port_Conversion(ircut_info->Amplifiter_Pin.Port, &Amplifiter_Pin_port) != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 389 | + { | ||
| 390 | + JZSDK_LOG_ERROR("V3s_Port_Conversion error!\n"); | ||
| 391 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 392 | + } | ||
| 393 | + | ||
| 394 | + //获取引脚模式 | ||
| 395 | + PIN_MODE Amplifiter_Pin_mode; | ||
| 396 | + if(V3s_PinMode_Conversion(ircut_info->Amplifiter_Pin.mode, &Amplifiter_Pin_mode) != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 397 | + { | ||
| 398 | + JZSDK_LOG_ERROR("V3s_PinMode_Conversion error!\n"); | ||
| 399 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 400 | + } | ||
| 401 | + | ||
| 402 | + //配置引脚 | ||
| 403 | + GPIO_ConfigPin(Amplifiter_Pin_port,ircut_info->Amplifiter_Pin.index,Amplifiter_Pin_mode); | ||
| 297 | } | 404 | } |
| 298 | 405 | ||
| 299 | - //激光引脚初始化 | ||
| 300 | - if (DEVICE_VERSION == JZ_U3S) | 406 | + if (ircut_info->SideLight_Right_Pin.Enable == JZ_FLAGCODE_ON) |
| 301 | { | 407 | { |
| 302 | - GPIO_ConfigPin(PB,6,OUT); | ||
| 303 | - GPIO_ConfigPin(PB,7,OUT); | ||
| 304 | - } | ||
| 305 | - | ||
| 306 | - //状态灯初始化 | ||
| 307 | - //Status_light_init(); | ||
| 308 | - //打开状态灯 | ||
| 309 | - //Status_light(); | ||
| 310 | -} | 408 | + //获取引脚组 |
| 409 | + PORT SideLight_Right_Pin_port; | ||
| 410 | + if(V3s_Port_Conversion(ircut_info->SideLight_Right_Pin.Port, &SideLight_Right_Pin_port) != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 411 | + { | ||
| 412 | + JZSDK_LOG_ERROR("V3s_Port_Conversion error!\n"); | ||
| 413 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 414 | + } | ||
| 311 | 415 | ||
| 416 | + //获取引脚模式 | ||
| 417 | + PIN_MODE SideLight_Right_Pin_mode; | ||
| 418 | + if(V3s_PinMode_Conversion(ircut_info->SideLight_Right_Pin.mode, &SideLight_Right_Pin_mode) != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 419 | + { | ||
| 420 | + JZSDK_LOG_ERROR("V3s_PinMode_Conversion error!\n"); | ||
| 421 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 422 | + } | ||
| 312 | 423 | ||
| 313 | -int V3s_Ircut_uInit() | ||
| 314 | -{ | ||
| 315 | - //GPIO 内存映射移除 | ||
| 316 | - munmap(base_map, Page_Size); | ||
| 317 | - printf("munmap success!\n"); | ||
| 318 | -} | 424 | + //配置引脚 |
| 425 | + GPIO_ConfigPin(SideLight_Right_Pin_port,ircut_info->SideLight_Right_Pin.index,SideLight_Right_Pin_mode); | ||
| 426 | + } | ||
| 319 | 427 | ||
| 320 | -void Ircut_V3S_Set_OutPutPowerControl(int power_control) | ||
| 321 | -{ | ||
| 322 | - if (DEVICE_VERSION == JZ_H10T) | 428 | + if (ircut_info->SideLight_Left_Pin.Enable == JZ_FLAGCODE_ON) |
| 323 | { | 429 | { |
| 324 | - if (power_control == 1) | 430 | + //获取引脚组 |
| 431 | + PORT SideLight_Left_Pin_port; | ||
| 432 | + if(V3s_Port_Conversion(ircut_info->SideLight_Left_Pin.Port, &SideLight_Left_Pin_port) != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 325 | { | 433 | { |
| 326 | - GPIO_ConfigPin(PB,6,OUT); //电源脚初始化 | ||
| 327 | - GPIO_SetPin(PB,6,1); //打开开关 | 434 | + JZSDK_LOG_ERROR("V3s_Port_Conversion error!\n"); |
| 435 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 328 | } | 436 | } |
| 329 | - else if(power_control ==0) | 437 | + |
| 438 | + //获取引脚模式 | ||
| 439 | + PIN_MODE SideLight_Left_Pin_mode; | ||
| 440 | + if(V3s_PinMode_Conversion(ircut_info->SideLight_Left_Pin.mode, &SideLight_Left_Pin_mode) != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 330 | { | 441 | { |
| 331 | - GPIO_SetPin(PB,6,0); //关闭开关 | ||
| 332 | - GPIO_ConfigPin(PB,6,DISABLE); //释放引脚 | 442 | + JZSDK_LOG_ERROR("V3s_PinMode_Conversion error!\n"); |
| 443 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 333 | } | 444 | } |
| 334 | 445 | ||
| 446 | + //配置引脚 | ||
| 447 | + GPIO_ConfigPin(SideLight_Left_Pin_port,ircut_info->SideLight_Left_Pin.index,SideLight_Left_Pin_mode); | ||
| 448 | + } | ||
| 449 | + | ||
| 450 | + if (ircut_info->PWM_1_Pin.Enable == JZ_FLAGCODE_ON) | ||
| 451 | + { | ||
| 452 | + //配置PWM | ||
| 453 | + PWM_init(); | ||
| 335 | } | 454 | } |
| 336 | 455 | ||
| 456 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 337 | } | 457 | } |
| 338 | 458 | ||
| 339 | -/*********************** | 459 | +/*************************** |
| 340 | * | 460 | * |
| 341 | - * 引脚控制 | 461 | + * 设置引脚状态 |
| 342 | * | 462 | * |
| 343 | * | 463 | * |
| 344 | - * ********************/ | ||
| 345 | -T_JZsdkReturnCode V3s_PinControl(int port, int num, int status) | 464 | + * ****************************/ |
| 465 | +T_JZsdkReturnCode JZsdk_V3s_Gpio_SetPin(E_JZ_IRC_PORT port, int index, int status) | ||
| 346 | { | 466 | { |
| 467 | + //转换引脚组 | ||
| 468 | + PORT gpio_port; | ||
| 469 | + if(V3s_Port_Conversion(port, &gpio_port) != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 470 | + { | ||
| 471 | + JZSDK_LOG_ERROR("V3s_Port_Conversion error!\n"); | ||
| 472 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 473 | + } | ||
| 474 | + | ||
| 475 | + //转换引脚状态 | ||
| 347 | int value = 0; | 476 | int value = 0; |
| 348 | if (status == JZ_FLAGCODE_ON) | 477 | if (status == JZ_FLAGCODE_ON) |
| 349 | { | 478 | { |
| @@ -354,5 +483,8 @@ T_JZsdkReturnCode V3s_PinControl(int port, int num, int status) | @@ -354,5 +483,8 @@ T_JZsdkReturnCode V3s_PinControl(int port, int num, int status) | ||
| 354 | value = 0; | 483 | value = 0; |
| 355 | } | 484 | } |
| 356 | 485 | ||
| 357 | - GPIO_SetPin(port,num,value); //关闭开关 | 486 | + //设置引脚状态 |
| 487 | + GPIO_SetPin(gpio_port, index, value); | ||
| 488 | + | ||
| 489 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 358 | } | 490 | } |
| @@ -2,12 +2,13 @@ | @@ -2,12 +2,13 @@ | ||
| 2 | #define V3S_IRCUT_H | 2 | #define V3S_IRCUT_H |
| 3 | 3 | ||
| 4 | #include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | 4 | #include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" |
| 5 | +#include "Ircut/ircut.h" | ||
| 5 | 6 | ||
| 6 | -void V3s_Ircut_Init(); | ||
| 7 | int V3s_Ircut_uInit() ; | 7 | int V3s_Ircut_uInit() ; |
| 8 | -void V3s_set_amplifier(int amplifier_mode); | ||
| 9 | int V3s_PWM_contrl(int PWM_num); | 8 | int V3s_PWM_contrl(int PWM_num); |
| 10 | -void Ircut_V3S_Set_OutPutPowerControl(int power_control); | ||
| 11 | -T_JZsdkReturnCode V3s_PinControl(int port, int num, int status); | 9 | + |
| 10 | + | ||
| 11 | +T_JZsdkReturnCode JZsdk_V3s_Gpio_SetPin(E_JZ_IRC_PORT port, int index, int status); | ||
| 12 | +T_JZsdkReturnCode JZsdk_V3s_Ircut_Init(IrcutInfo *ircut_info); | ||
| 12 | 13 | ||
| 13 | #endif | 14 | #endif |
| @@ -7,89 +7,87 @@ | @@ -7,89 +7,87 @@ | ||
| 7 | #include "JZsdkLib.h" | 7 | #include "JZsdkLib.h" |
| 8 | 8 | ||
| 9 | static int OutPutPower = JZ_FLAGCODE_OFF; | 9 | static int OutPutPower = JZ_FLAGCODE_OFF; |
| 10 | +static IrcutInfo *T_Ircut_info = NULL; | ||
| 11 | +static int Ircut_Init_flag = JZ_FLAGCODE_OFF; | ||
| 10 | 12 | ||
| 11 | -T_JZsdkReturnCode Ircut_Init()//引脚初始化 | 13 | +/************************** |
| 14 | + * | ||
| 15 | + * 引脚初始化 | ||
| 16 | + * | ||
| 17 | + * | ||
| 18 | + * *************************/ | ||
| 19 | +T_JZsdkReturnCode Ircut_Init(IrcutInfo ircut_info) | ||
| 12 | { | 20 | { |
| 21 | + if (T_Ircut_info != NULL) | ||
| 22 | + { | ||
| 23 | + Ircut_Init_flag = JZ_FLAGCODE_OFF; | ||
| 24 | + free(T_Ircut_info); | ||
| 25 | + T_Ircut_info = NULL; | ||
| 26 | + } | ||
| 27 | + | ||
| 28 | + T_Ircut_info = (IrcutInfo *)malloc(sizeof(IrcutInfo)); | ||
| 29 | + if (T_Ircut_info == NULL) | ||
| 30 | + { | ||
| 31 | + JZSDK_LOG_ERROR("MODULE_IRCUT_INIT_MALLOC_ERROR"); | ||
| 32 | + return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | + memcpy(T_Ircut_info, &ircut_info, sizeof(IrcutInfo)); | ||
| 36 | + | ||
| 37 | + //初始化对应的引脚 | ||
| 13 | if (DEVICE_VERSION == JZ_H1E || DEVICE_VERSION == JZ_H1T || DEVICE_VERSION == JZ_H10T || | 38 | if (DEVICE_VERSION == JZ_H1E || DEVICE_VERSION == JZ_H1T || DEVICE_VERSION == JZ_H10T || |
| 14 | DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30|| | 39 | DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30|| |
| 15 | - DEVICE_VERSION == TF_A1) | 40 | + DEVICE_VERSION == TF_A1 || DEVICE_VERSION == JZ_T40) |
| 16 | { | 41 | { |
| 17 | - V3s_Ircut_Init(); | 42 | + JZsdk_V3s_Ircut_Init(T_Ircut_info); |
| 18 | } | 43 | } |
| 19 | 44 | ||
| 45 | + //暂不修改为新式 | ||
| 20 | else if (DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T || DEVICE_VERSION == JZ_H10) | 46 | else if (DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T || DEVICE_VERSION == JZ_H10) |
| 21 | { | 47 | { |
| 22 | H3_ircut_init(); | 48 | H3_ircut_init(); |
| 23 | } | 49 | } |
| 50 | + | ||
| 51 | + //暂不修改为新式 | ||
| 24 | else if (DEVICE_VERSION == JZ_C1) | 52 | else if (DEVICE_VERSION == JZ_C1) |
| 25 | { | 53 | { |
| 26 | //快门引脚初始化 | 54 | //快门引脚初始化 |
| 27 | SysfsGPIO_Init_ircut(KT_IRC_SHUTTER_GPIO_NUM, "out"); | 55 | SysfsGPIO_Init_ircut(KT_IRC_SHUTTER_GPIO_NUM, "out"); |
| 28 | } | 56 | } |
| 29 | - | ||
| 30 | else | 57 | else |
| 31 | { | 58 | { |
| 32 | - printf("无引脚使用\n"); | 59 | + JZSDK_LOG_ERROR("无引脚使用\n"); |
| 60 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 33 | } | 61 | } |
| 34 | 62 | ||
| 63 | + Ircut_Init_flag = JZ_FLAGCODE_ON; | ||
| 64 | + | ||
| 35 | JZSDK_LOG_INFO("MODULE_IRCUT_INIT_COMPLETE"); | 65 | JZSDK_LOG_INFO("MODULE_IRCUT_INIT_COMPLETE"); |
| 36 | 66 | ||
| 37 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 67 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 38 | } | 68 | } |
| 39 | 69 | ||
| 40 | - | ||
| 41 | T_JZsdkReturnCode Ircut_uInit() | 70 | T_JZsdkReturnCode Ircut_uInit() |
| 42 | { | 71 | { |
| 43 | - if (DEVICE_VERSION == JZ_H1E) | ||
| 44 | - { | ||
| 45 | - V3s_Ircut_uInit(); | ||
| 46 | - } | ||
| 47 | - | ||
| 48 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 49 | -} | ||
| 50 | - | ||
| 51 | -//功放开关 | ||
| 52 | -T_JZsdkReturnCode set_amplifier(int amplifier_mode) | ||
| 53 | -{ | ||
| 54 | - if (DEVICE_VERSION == JZ_H1E || DEVICE_VERSION == JZ_H1T || DEVICE_VERSION == JZ_H10T || | ||
| 55 | - DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30 || | ||
| 56 | - DEVICE_VERSION == TF_A1) | ||
| 57 | - { | ||
| 58 | - V3s_set_amplifier(amplifier_mode); | ||
| 59 | - } | ||
| 60 | - | ||
| 61 | - if (DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T || DEVICE_VERSION == JZ_H10) | ||
| 62 | - { | ||
| 63 | - H3_ircut_set_amplifier(amplifier_mode); | ||
| 64 | - } | ||
| 65 | 72 | ||
| 66 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 73 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 67 | } | 74 | } |
| 68 | 75 | ||
| 69 | //PWM控制 | 76 | //PWM控制 |
| 77 | +// 函数:Ircut_PWM_control | ||
| 78 | +// 功能:控制Ircut的PWM | ||
| 79 | +// 参数:pwm_num:PWM编号 | ||
| 80 | +// 返回值:无 | ||
| 70 | int Ircut_PWM_control(int pwm_num) | 81 | int Ircut_PWM_control(int pwm_num) |
| 71 | { | 82 | { |
| 83 | + // 判断设备版本是否为JZ_H10T | ||
| 72 | if (DEVICE_VERSION == JZ_H10T) | 84 | if (DEVICE_VERSION == JZ_H10T) |
| 73 | { | 85 | { |
| 86 | + // 调用V3s_PWM_contrl函数,控制PWM | ||
| 74 | V3s_PWM_contrl(pwm_num); | 87 | V3s_PWM_contrl(pwm_num); |
| 75 | } | 88 | } |
| 76 | } | 89 | } |
| 77 | 90 | ||
| 78 | -//对外电源控制 | ||
| 79 | -T_JZsdkReturnCode Ircut_Set_OutPutPower_Control(int value) | ||
| 80 | -{ | ||
| 81 | - if (DEVICE_VERSION == JZ_H10T) | ||
| 82 | - { | ||
| 83 | - if (value == JZ_FLAGCODE_OFF || value == JZ_FLAGCODE_ON) | ||
| 84 | - { | ||
| 85 | - Ircut_V3S_Set_OutPutPowerControl(value); | ||
| 86 | - OutPutPower = value; | ||
| 87 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 88 | - } | ||
| 89 | - } | ||
| 90 | - | ||
| 91 | - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 92 | -} | ||
| 93 | 91 | ||
| 94 | 92 | ||
| 95 | //查询是否有开启电源控制 | 93 | //查询是否有开启电源控制 |
| @@ -105,18 +103,123 @@ T_JZsdkReturnCode Ircut_CheckStatus_OutPutPower(int *value) | @@ -105,18 +103,123 @@ T_JZsdkReturnCode Ircut_CheckStatus_OutPutPower(int *value) | ||
| 105 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 103 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
| 106 | } | 104 | } |
| 107 | 105 | ||
| 108 | -/*********************** | 106 | + |
| 107 | + | ||
| 108 | +/********************** | ||
| 109 | * | 109 | * |
| 110 | * 引脚控制 | 110 | * 引脚控制 |
| 111 | * | 111 | * |
| 112 | * | 112 | * |
| 113 | - * ********************/ | ||
| 114 | -T_JZsdkReturnCode Ircut_PinControl(int port, int num, int status) | 113 | + * *****************/ |
| 114 | +T_JZsdkReturnCode Ircut_PinControl(E_JZ_IRC_PORT port, int index, int status) | ||
| 115 | { | 115 | { |
| 116 | + | ||
| 116 | if (DEVICE_VERSION == JZ_H1E || DEVICE_VERSION == JZ_H1T || DEVICE_VERSION == JZ_H10T || | 117 | if (DEVICE_VERSION == JZ_H1E || DEVICE_VERSION == JZ_H1T || DEVICE_VERSION == JZ_H10T || |
| 117 | - DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30 || | ||
| 118 | - DEVICE_VERSION == TF_A1) | 118 | + DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30|| |
| 119 | + DEVICE_VERSION == TF_A1 || DEVICE_VERSION == JZ_T40) | ||
| 119 | { | 120 | { |
| 120 | - V3s_PinControl(port, num, status); | 121 | + JZsdk_V3s_Gpio_SetPin(port, index, status); |
| 122 | + } | ||
| 123 | + | ||
| 124 | + if (DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T || DEVICE_VERSION == JZ_H10) | ||
| 125 | + { | ||
| 126 | + H3_ircut_set_amplifier(status); | ||
| 127 | + } | ||
| 128 | + | ||
| 129 | +} | ||
| 130 | + | ||
| 131 | +/************************* | ||
| 132 | + * | ||
| 133 | + * 侧面激光引脚控制 | ||
| 134 | + * index 0 左 1 右 | ||
| 135 | + * 0 绿 1 红 | ||
| 136 | + * | ||
| 137 | + * ***********************/ | ||
| 138 | +T_JZsdkReturnCode Ircut_SideLaser_IrcutControl(int index, int status) | ||
| 139 | +{ | ||
| 140 | + if (T_Ircut_info == NULL) | ||
| 141 | + { | ||
| 142 | + JZSDK_LOG_ERROR("Ircut_info is NULL"); | ||
| 143 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 144 | + } | ||
| 145 | + | ||
| 146 | + if (index == 0 && T_Ircut_info->SideLight_Right_Pin.Enable == JZ_FLAGCODE_ON) | ||
| 147 | + { | ||
| 148 | + Ircut_PinControl(T_Ircut_info->SideLight_Right_Pin.Port, | ||
| 149 | + T_Ircut_info->SideLight_Right_Pin.index, | ||
| 150 | + status); | ||
| 151 | + } | ||
| 152 | + else if (index == 1 && T_Ircut_info->SideLight_Right_Pin.Enable == JZ_FLAGCODE_ON) | ||
| 153 | + { | ||
| 154 | + Ircut_PinControl(T_Ircut_info->SideLight_Left_Pin.Port, | ||
| 155 | + T_Ircut_info->SideLight_Left_Pin.index, | ||
| 156 | + status); | ||
| 121 | } | 157 | } |
| 122 | -} | ||
| 158 | + | ||
| 159 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 160 | +} | ||
| 161 | + | ||
| 162 | + | ||
| 163 | +/*********************************** | ||
| 164 | + * | ||
| 165 | + * 功放开关 | ||
| 166 | + * | ||
| 167 | + * | ||
| 168 | + * ********************************/ | ||
| 169 | +T_JZsdkReturnCode set_amplifier(int amplifier_mode) | ||
| 170 | +{ | ||
| 171 | + if (T_Ircut_info == NULL) | ||
| 172 | + { | ||
| 173 | + JZSDK_LOG_ERROR("Ircut_info is NULL"); | ||
| 174 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 175 | + } | ||
| 176 | + | ||
| 177 | + if (T_Ircut_info->Amplifiter_Pin.Enable != JZ_FLAGCODE_ON) | ||
| 178 | + { | ||
| 179 | + JZSDK_LOG_ERROR("Amplifiter_Pin is not enable"); | ||
| 180 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 181 | + } | ||
| 182 | + | ||
| 183 | + Ircut_PinControl(T_Ircut_info->Amplifiter_Pin.Port, | ||
| 184 | + T_Ircut_info->Amplifiter_Pin.index, | ||
| 185 | + amplifier_mode); | ||
| 186 | + | ||
| 187 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 188 | +} | ||
| 189 | + | ||
| 190 | +/*********************************** | ||
| 191 | + * | ||
| 192 | + * 对外电源控制 | ||
| 193 | + * | ||
| 194 | + * | ||
| 195 | + * ********************************/ | ||
| 196 | +T_JZsdkReturnCode Ircut_Set_OutPutPower_Control(int value) | ||
| 197 | +{ | ||
| 198 | + | ||
| 199 | + if (T_Ircut_info == NULL) | ||
| 200 | + { | ||
| 201 | + JZSDK_LOG_ERROR("Ircut_info is NULL"); | ||
| 202 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 203 | + } | ||
| 204 | + | ||
| 205 | + if (T_Ircut_info->OutPutPower_Pin.Enable != JZ_FLAGCODE_ON) | ||
| 206 | + { | ||
| 207 | + JZSDK_LOG_ERROR("OutPutPower_Pin is not enable"); | ||
| 208 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 209 | + } | ||
| 210 | + | ||
| 211 | + if (DEVICE_VERSION == JZ_H10T) | ||
| 212 | + { | ||
| 213 | + if (value == JZ_FLAGCODE_OFF || value == JZ_FLAGCODE_ON) | ||
| 214 | + { | ||
| 215 | + | ||
| 216 | + Ircut_PinControl(T_Ircut_info->OutPutPower_Pin.Port, | ||
| 217 | + T_Ircut_info->OutPutPower_Pin.index, | ||
| 218 | + value); | ||
| 219 | + OutPutPower = value; | ||
| 220 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 221 | + } | ||
| 222 | + } | ||
| 223 | + | ||
| 224 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 225 | +} |
| @@ -20,19 +20,78 @@ extern "C" { | @@ -20,19 +20,78 @@ extern "C" { | ||
| 20 | #endif | 20 | #endif |
| 21 | 21 | ||
| 22 | /* Exported constants --------------------------------------------------------*/ | 22 | /* Exported constants --------------------------------------------------------*/ |
| 23 | +typedef enum E_JZ_IRC_PORT{ | ||
| 24 | + JZ_IRC_PORT_PA = 0, | ||
| 25 | + JZ_IRC_PORT_PB = 1, | ||
| 26 | + JZ_IRC_PORT_PC = 2, | ||
| 27 | + JZ_IRC_PORT_PD = 3, | ||
| 28 | + JZ_IRC_PORT_PE = 4, | ||
| 29 | + JZ_IRC_PORT_PF = 5, | ||
| 30 | + JZ_IRC_PORT_PG = 6, | ||
| 31 | +}E_JZ_IRC_PORT; | ||
| 32 | + | ||
| 33 | +typedef enum E_JZ_IRC_PIN_MODE{ | ||
| 34 | + JZ_IRC_PIN_MODE_IN = 0x00, //输入模式 | ||
| 35 | + JZ_IRC_PIN_MODE_OUT = 0x01, //输出模式 | ||
| 36 | + JZ_IRC_PIN_MODE_AUX = 0x02, //辅助模式 | ||
| 37 | + JZ_IRC_PIN_MODE_INT = 0x03, //中断模式 | ||
| 38 | + JZ_IRC_PIN_MODE_DISABLE = 0x04, //禁用模式 | ||
| 39 | +}E_JZ_IRC_PIN_MODE; | ||
| 40 | + | ||
| 41 | +typedef struct T_JZsdkIrcut_GpioInfo{ | ||
| 42 | + int Enable; //使能开关 jzoff关 jzon开 | ||
| 43 | + int Group; //引脚所在组 | ||
| 44 | + E_JZ_IRC_PORT Port; //引脚所在组的端口 | ||
| 45 | + int index; //引脚所在组中的第几个引脚 | ||
| 46 | + E_JZ_IRC_PIN_MODE mode; //引脚模式 | ||
| 47 | +}T_JZsdkIrcut_GpioInfo; | ||
| 48 | + | ||
| 49 | +typedef struct T_JZsdkIrcut_PwmInfo{ | ||
| 50 | + int Enable; //使能开关 jzoff关 jzon开 | ||
| 51 | +}T_JZsdkIrcut_PwmInfo; | ||
| 52 | + | ||
| 23 | /* 常亮定义*/ | 53 | /* 常亮定义*/ |
| 54 | +/******* | ||
| 55 | + * | ||
| 56 | + * 引脚信息结构体 | ||
| 57 | + * | ||
| 58 | + * ********/ | ||
| 59 | +typedef struct IrcutInfo | ||
| 60 | +{ | ||
| 61 | +//喊话器引脚信息 | ||
| 62 | + //静音角 | ||
| 63 | + T_JZsdkIrcut_GpioInfo Amplifiter_Pin; | ||
| 64 | + | ||
| 65 | + | ||
| 66 | +//侧面激光引脚信息 | ||
| 67 | + T_JZsdkIrcut_GpioInfo SideLight_Right_Pin; | ||
| 68 | + T_JZsdkIrcut_GpioInfo SideLight_Left_Pin; | ||
| 69 | + | ||
| 70 | +//对外输出电源 | ||
| 71 | + T_JZsdkIrcut_GpioInfo OutPutPower_Pin; | ||
| 72 | + | ||
| 73 | + | ||
| 74 | +//pwm引脚信息 | ||
| 75 | + //pwm引脚1 | ||
| 76 | + T_JZsdkIrcut_PwmInfo PWM_1_Pin; | ||
| 77 | + | ||
| 78 | +}IrcutInfo; | ||
| 24 | 79 | ||
| 25 | /* Exported types ------------------------------------------------------------*/ | 80 | /* Exported types ------------------------------------------------------------*/ |
| 26 | 81 | ||
| 27 | /* Exported functions --------------------------------------------------------*/ | 82 | /* Exported functions --------------------------------------------------------*/ |
| 28 | -T_JZsdkReturnCode Ircut_Init(); | ||
| 29 | T_JZsdkReturnCode Ircut_uInit() ; | 83 | T_JZsdkReturnCode Ircut_uInit() ; |
| 30 | -T_JZsdkReturnCode set_amplifier(int amplifier_mode); | 84 | + |
| 31 | int Ircut_PWM_control(int pwm_num); | 85 | int Ircut_PWM_control(int pwm_num); |
| 32 | -T_JZsdkReturnCode Ircut_Set_OutPutPower_Control(int value); | ||
| 33 | T_JZsdkReturnCode Ircut_CheckStatus_OutPutPower(int *value); | 86 | T_JZsdkReturnCode Ircut_CheckStatus_OutPutPower(int *value); |
| 34 | 87 | ||
| 35 | -T_JZsdkReturnCode Ircut_PinControl(int port, int num, int status); | 88 | + |
| 89 | + | ||
| 90 | +T_JZsdkReturnCode Ircut_Init(IrcutInfo ircut_info); | ||
| 91 | +T_JZsdkReturnCode Ircut_SideLaser_IrcutControl(int index, int status); | ||
| 92 | +T_JZsdkReturnCode set_amplifier(int amplifier_mode); | ||
| 93 | +T_JZsdkReturnCode Ircut_Set_OutPutPower_Control(int value); | ||
| 94 | + | ||
| 36 | #ifdef __cplusplus | 95 | #ifdef __cplusplus |
| 37 | } | 96 | } |
| 38 | #endif | 97 | #endif |
| @@ -41,23 +41,23 @@ T_JZsdkReturnCode Lighting_Init() | @@ -41,23 +41,23 @@ T_JZsdkReturnCode Lighting_Init() | ||
| 41 | * 探照灯 灯光属性 | 41 | * 探照灯 灯光属性 |
| 42 | * | 42 | * |
| 43 | ********************************************************************************************************************************/ | 43 | ********************************************************************************************************************************/ |
| 44 | -//查询灯光属性 | ||
| 45 | -T_JZsdkReturnCode Lighting_CheckStatus_SearchLightLightAttribute(int *ValueFrequency, int *ValueMode, int *ValueLeftLumen, int *ValueRightLumen) | ||
| 46 | -{ | ||
| 47 | - //1、刷新查询灯光属性 | ||
| 48 | - if (DEVICE_VERSION == JZ_H1T) | ||
| 49 | - { | ||
| 50 | - SearchLight_V3S_H1T_CheckStatus_LightAttribute(); | ||
| 51 | - } | 44 | +// //查询灯光属性 |
| 45 | +// T_JZsdkReturnCode Lighting_CheckStatus_SearchLightLightAttribute(int *ValueFrequency, int *ValueMode, int *ValueLeftLumen, int *ValueRightLumen) | ||
| 46 | +// { | ||
| 47 | +// //1、刷新查询灯光属性 | ||
| 48 | +// if (DEVICE_VERSION == JZ_H1T) | ||
| 49 | +// { | ||
| 50 | +// SearchLight_V3S_H1T_CheckStatus_LightAttribute(); | ||
| 51 | +// } | ||
| 52 | 52 | ||
| 53 | - //2、获取一次本地灯光属性 | ||
| 54 | - Lighting_Get_SearchLightMode(ValueMode); | ||
| 55 | - Lighting_Get_SearchLightLumen(ValueLeftLumen, ValueRightLumen); | ||
| 56 | - Lighting_Get_SearchLightFrequency(ValueFrequency); | 53 | +// //2、获取一次本地灯光属性 |
| 54 | +// Lighting_Get_SearchLightMode(ValueMode); | ||
| 55 | +// Lighting_Get_SearchLightLumen(ValueLeftLumen, ValueRightLumen); | ||
| 56 | +// Lighting_Get_SearchLightFrequency(ValueFrequency); | ||
| 57 | 57 | ||
| 58 | 58 | ||
| 59 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 60 | -} | 59 | +// return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 60 | +// } | ||
| 61 | 61 | ||
| 62 | /******************************************************************************************************************************** | 62 | /******************************************************************************************************************************** |
| 63 | * | 63 | * |
| @@ -65,53 +65,57 @@ T_JZsdkReturnCode Lighting_CheckStatus_SearchLightLightAttribute(int *ValueFrequ | @@ -65,53 +65,57 @@ T_JZsdkReturnCode Lighting_CheckStatus_SearchLightLightAttribute(int *ValueFrequ | ||
| 65 | * | 65 | * |
| 66 | ********************************************************************************************************************************/ | 66 | ********************************************************************************************************************************/ |
| 67 | 67 | ||
| 68 | -//设置探照灯模式 | ||
| 69 | -T_JZsdkReturnCode Lighting_SearchLightControl(int mode) | ||
| 70 | -{ | ||
| 71 | - printf("设置%x探照灯模式\n",DEVICE_VERSION); | ||
| 72 | - | ||
| 73 | - SearchLight_Mode = mode; | ||
| 74 | - | ||
| 75 | - if (DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) | ||
| 76 | - { | ||
| 77 | - return SearchLight_V3S_U3_SearchLightControl(mode); | ||
| 78 | - } | ||
| 79 | - else if (DEVICE_VERSION == JZ_H1T) | ||
| 80 | - { | ||
| 81 | - return SearchLight_V3S_H1T_SearchLightControl(mode); | ||
| 82 | - } | ||
| 83 | - else if (DEVICE_VERSION == TF_A1) | ||
| 84 | - { | ||
| 85 | - return SearchLight_V3S_TFA1_SearchLightControl(mode); | ||
| 86 | - } | 68 | +// //设置探照灯模式 |
| 69 | +// T_JZsdkReturnCode Lighting_SearchLightControl(int mode) | ||
| 70 | +// { | ||
| 71 | +// printf("设置%x探照灯模式\n",DEVICE_VERSION); | ||
| 72 | + | ||
| 73 | +// SearchLight_Mode = mode; | ||
| 74 | + | ||
| 75 | +// if (DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) | ||
| 76 | +// { | ||
| 77 | +// return SearchLight_V3S_U3_SearchLightControl(mode); | ||
| 78 | +// } | ||
| 79 | +// else if (DEVICE_VERSION == JZ_T40) | ||
| 80 | +// { | ||
| 81 | +// return SearchLight_V3S_T40_SearchLightControl(mode); | ||
| 82 | +// } | ||
| 83 | +// else if (DEVICE_VERSION == JZ_H1T) | ||
| 84 | +// { | ||
| 85 | +// return SearchLight_V3S_H1T_SearchLightControl(mode); | ||
| 86 | +// } | ||
| 87 | +// else if (DEVICE_VERSION == TF_A1) | ||
| 88 | +// { | ||
| 89 | +// return SearchLight_V3S_TFA1_SearchLightControl(mode); | ||
| 90 | +// } | ||
| 87 | 91 | ||
| 88 | - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 89 | -} | 92 | +// return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
| 93 | +// } | ||
| 90 | 94 | ||
| 91 | -//收到并修改探照灯模式(中继修改) | ||
| 92 | -T_JZsdkReturnCode Lighting_Obtain_SearchLightMode(int mode) | ||
| 93 | -{ | ||
| 94 | - printf("%x探照灯模式改变%d\n",DEVICE_VERSION, mode); | 95 | +// //收到并修改探照灯模式(中继修改) |
| 96 | +// T_JZsdkReturnCode Lighting_Obtain_SearchLightMode(int mode) | ||
| 97 | +// { | ||
| 98 | +// printf("%x探照灯模式改变%d\n",DEVICE_VERSION, mode); | ||
| 95 | 99 | ||
| 96 | - SearchLight_Mode = mode; | 100 | +// SearchLight_Mode = mode; |
| 97 | 101 | ||
| 98 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 99 | -} | 102 | +// return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 103 | +// } | ||
| 100 | 104 | ||
| 101 | -//获取探照灯的灯光模式 | ||
| 102 | -T_JZsdkReturnCode Lighting_Get_SearchLightMode(int *mode) | ||
| 103 | -{ | ||
| 104 | - *mode = SearchLight_Mode; | 105 | +// //获取探照灯的灯光模式 |
| 106 | +// T_JZsdkReturnCode Lighting_Get_SearchLightMode(int *mode) | ||
| 107 | +// { | ||
| 108 | +// *mode = SearchLight_Mode; | ||
| 105 | 109 | ||
| 106 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 107 | -} | 110 | +// return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 111 | +// } | ||
| 108 | 112 | ||
| 109 | -//查询探照灯灯光模式 | ||
| 110 | -T_JZsdkReturnCode Lighting_CheckStatus_SearchLightMode() | ||
| 111 | -{ | 113 | +// //查询探照灯灯光模式 |
| 114 | +// T_JZsdkReturnCode Lighting_CheckStatus_SearchLightMode() | ||
| 115 | +// { | ||
| 112 | 116 | ||
| 113 | - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 114 | -} | 117 | +// return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
| 118 | +// } | ||
| 115 | 119 | ||
| 116 | 120 | ||
| 117 | /******************************************************************************************************************************** | 121 | /******************************************************************************************************************************** |
| @@ -120,65 +124,71 @@ T_JZsdkReturnCode Lighting_CheckStatus_SearchLightMode() | @@ -120,65 +124,71 @@ T_JZsdkReturnCode Lighting_CheckStatus_SearchLightMode() | ||
| 120 | * | 124 | * |
| 121 | ********************************************************************************************************************************/ | 125 | ********************************************************************************************************************************/ |
| 122 | 126 | ||
| 123 | -//设置探照灯的灯光亮度 | ||
| 124 | -T_JZsdkReturnCode Lighting_Set_SearchLightLumen(int LeftLumen, int RightLumen) | ||
| 125 | -{ | ||
| 126 | - printf("设置%x探照灯灯光亮度\n",DEVICE_VERSION); | ||
| 127 | - | ||
| 128 | - if (DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) | ||
| 129 | - { | ||
| 130 | - SearchLight_RightLumen = RightLumen; | ||
| 131 | - SearchLight_LeftLumen = LeftLumen; | ||
| 132 | - return SearchLight_V3S_U3_Set_SearchLightLumen(LeftLumen, RightLumen); | ||
| 133 | - } | ||
| 134 | - else if (DEVICE_VERSION == JZ_H1T) | ||
| 135 | - { | ||
| 136 | - return SearchLight_V3S_H1T_Set_SearchLightLumen(LeftLumen, RightLumen); | ||
| 137 | - } | ||
| 138 | - else if (DEVICE_VERSION == TF_A1) | ||
| 139 | - { | ||
| 140 | - SearchLight_RightLumen = RightLumen; | ||
| 141 | - SearchLight_LeftLumen = LeftLumen; | ||
| 142 | - return SearchLight_V3S_TFA1_Set_SearchLightLumen(LeftLumen, RightLumen); | ||
| 143 | - } | 127 | +// //设置探照灯的灯光亮度 |
| 128 | +// T_JZsdkReturnCode Lighting_Set_SearchLightLumen(int LeftLumen, int RightLumen) | ||
| 129 | +// { | ||
| 130 | +// printf("设置%x探照灯灯光亮度\n",DEVICE_VERSION); | ||
| 131 | + | ||
| 132 | +// if (DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) | ||
| 133 | +// { | ||
| 134 | +// SearchLight_RightLumen = RightLumen; | ||
| 135 | +// SearchLight_LeftLumen = LeftLumen; | ||
| 136 | +// return SearchLight_V3S_U3_Set_SearchLightLumen(LeftLumen, RightLumen); | ||
| 137 | +// } | ||
| 138 | +// else if (DEVICE_VERSION == JZ_T40) | ||
| 139 | +// { | ||
| 140 | +// SearchLight_RightLumen = RightLumen; | ||
| 141 | +// SearchLight_LeftLumen = LeftLumen; | ||
| 142 | +// return SearchLight_V3S_T40_Set_SearchLightLumen(LeftLumen, RightLumen); | ||
| 143 | +// } | ||
| 144 | +// else if (DEVICE_VERSION == JZ_H1T) | ||
| 145 | +// { | ||
| 146 | +// return SearchLight_V3S_H1T_Set_SearchLightLumen(LeftLumen, RightLumen); | ||
| 147 | +// } | ||
| 148 | +// else if (DEVICE_VERSION == TF_A1) | ||
| 149 | +// { | ||
| 150 | +// SearchLight_RightLumen = RightLumen; | ||
| 151 | +// SearchLight_LeftLumen = LeftLumen; | ||
| 152 | +// return SearchLight_V3S_TFA1_Set_SearchLightLumen(LeftLumen, RightLumen); | ||
| 153 | +// } | ||
| 144 | 154 | ||
| 145 | - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 146 | -} | 155 | +// return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
| 156 | +// } | ||
| 147 | 157 | ||
| 148 | -//收到并修改探照灯的灯光亮度(中继修改) | ||
| 149 | -T_JZsdkReturnCode Lighting_Obtain_SearchLightLumen(int LeftLumen, int RightLumen) | ||
| 150 | -{ | ||
| 151 | - printf("接收到%x探照灯灯光亮度 左灯%d 右灯%d\n",DEVICE_VERSION, LeftLumen, RightLumen); | 158 | +// //收到并修改探照灯的灯光亮度(中继修改) |
| 159 | +// T_JZsdkReturnCode Lighting_Obtain_SearchLightLumen(int LeftLumen, int RightLumen) | ||
| 160 | +// { | ||
| 161 | +// printf("接收到%x探照灯灯光亮度 左灯%d 右灯%d\n",DEVICE_VERSION, LeftLumen, RightLumen); | ||
| 152 | 162 | ||
| 153 | - //如果是主喊话器副灯的单一设备 | ||
| 154 | - if (DEVICE_VERSION == TF_A1 || DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) | ||
| 155 | - { | 163 | +// //如果是主喊话器副灯的单一设备 |
| 164 | +// if (DEVICE_VERSION == TF_A1 || DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) | ||
| 165 | +// { | ||
| 156 | 166 | ||
| 157 | - } | 167 | +// } |
| 158 | 168 | ||
| 159 | - else | ||
| 160 | - { | ||
| 161 | - SearchLight_RightLumen = RightLumen; | ||
| 162 | - SearchLight_LeftLumen = LeftLumen; | ||
| 163 | - } | 169 | +// else |
| 170 | +// { | ||
| 171 | +// SearchLight_RightLumen = RightLumen; | ||
| 172 | +// SearchLight_LeftLumen = LeftLumen; | ||
| 173 | +// } | ||
| 164 | 174 | ||
| 165 | 175 | ||
| 166 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 167 | -} | 176 | +// return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 177 | +// } | ||
| 168 | 178 | ||
| 169 | -//获取探照灯设置的灯光亮度 | ||
| 170 | -T_JZsdkReturnCode Lighting_Get_SearchLightLumen(int *LeftLumen, int *RightLumen) | ||
| 171 | -{ | ||
| 172 | - *LeftLumen = SearchLight_LeftLumen; | ||
| 173 | - *RightLumen = SearchLight_RightLumen; | ||
| 174 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 175 | -} | 179 | +// //获取探照灯设置的灯光亮度 |
| 180 | +// T_JZsdkReturnCode Lighting_Get_SearchLightLumen(int *LeftLumen, int *RightLumen) | ||
| 181 | +// { | ||
| 182 | +// *LeftLumen = SearchLight_LeftLumen; | ||
| 183 | +// *RightLumen = SearchLight_RightLumen; | ||
| 184 | +// return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 185 | +// } | ||
| 176 | 186 | ||
| 177 | -//查询探照灯灯光亮度 | ||
| 178 | -T_JZsdkReturnCode Lighting_CheckStatus_SearchLightLumen() | ||
| 179 | -{ | ||
| 180 | - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 181 | -} | 187 | +// //查询探照灯灯光亮度 |
| 188 | +// T_JZsdkReturnCode Lighting_CheckStatus_SearchLightLumen() | ||
| 189 | +// { | ||
| 190 | +// return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 191 | +// } | ||
| 182 | 192 | ||
| 183 | 193 | ||
| 184 | 194 | ||
| @@ -188,107 +198,111 @@ T_JZsdkReturnCode Lighting_CheckStatus_SearchLightLumen() | @@ -188,107 +198,111 @@ T_JZsdkReturnCode Lighting_CheckStatus_SearchLightLumen() | ||
| 188 | * | 198 | * |
| 189 | ********************************************************************************************************************************/ | 199 | ********************************************************************************************************************************/ |
| 190 | 200 | ||
| 191 | -//设置爆闪灯频率 | ||
| 192 | -T_JZsdkReturnCode Lighting_Set_SearchLightFrequency(int value) | ||
| 193 | -{ | ||
| 194 | - printf("设置0x%x:探照灯爆闪频率\n",DEVICE_VERSION); | ||
| 195 | - | ||
| 196 | - if (DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) | ||
| 197 | - { | ||
| 198 | - SearchLight_Frequency = value; | ||
| 199 | - return SearchLight_V3S_U3_Set_SearchLightFrequency(value); | ||
| 200 | - } | ||
| 201 | - else if (DEVICE_VERSION == JZ_H1T) | ||
| 202 | - { | ||
| 203 | - return SearchLight_V3S_H1T_Set_SearchLightFrequency(value); | ||
| 204 | - } | ||
| 205 | - else if (DEVICE_VERSION == TF_A1) | ||
| 206 | - { | ||
| 207 | - return SearchLight_V3S_TFA1_Set_SearchLightFrequency(value); | ||
| 208 | - } | ||
| 209 | - | ||
| 210 | - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 211 | -} | ||
| 212 | - | ||
| 213 | -//收到并修改探照灯的灯光频率(中继修改) | ||
| 214 | -T_JZsdkReturnCode Lighting_Obtain_SearchLightFrequency(int Frequency) | ||
| 215 | -{ | ||
| 216 | - printf("%x探照灯爆闪频率改变%d\n",DEVICE_VERSION, Frequency); | ||
| 217 | - | ||
| 218 | - SearchLight_Frequency = Frequency; | 201 | +// //设置爆闪灯频率 |
| 202 | +// T_JZsdkReturnCode Lighting_Set_SearchLightFrequency(int value) | ||
| 203 | +// { | ||
| 204 | +// printf("设置0x%x:探照灯爆闪频率\n",DEVICE_VERSION); | ||
| 205 | + | ||
| 206 | +// if (DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) | ||
| 207 | +// { | ||
| 208 | +// SearchLight_Frequency = value; | ||
| 209 | +// return SearchLight_V3S_U3_Set_SearchLightFrequency(value); | ||
| 210 | +// } | ||
| 211 | +// else if (DEVICE_VERSION == JZ_T40) | ||
| 212 | +// { | ||
| 213 | +// return SearchLight_V3S_T40_Set_SearchLightFrequency(value); | ||
| 214 | +// } | ||
| 215 | +// else if (DEVICE_VERSION == JZ_H1T) | ||
| 216 | +// { | ||
| 217 | +// return SearchLight_V3S_H1T_Set_SearchLightFrequency(value); | ||
| 218 | +// } | ||
| 219 | +// else if (DEVICE_VERSION == TF_A1) | ||
| 220 | +// { | ||
| 221 | +// return SearchLight_V3S_TFA1_Set_SearchLightFrequency(value); | ||
| 222 | +// } | ||
| 223 | + | ||
| 224 | +// return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 225 | +// } | ||
| 226 | + | ||
| 227 | +// //收到并修改探照灯的灯光频率(中继修改) | ||
| 228 | +// T_JZsdkReturnCode Lighting_Obtain_SearchLightFrequency(int Frequency) | ||
| 229 | +// { | ||
| 230 | +// printf("%x探照灯爆闪频率改变%d\n",DEVICE_VERSION, Frequency); | ||
| 231 | + | ||
| 232 | +// SearchLight_Frequency = Frequency; | ||
| 219 | 233 | ||
| 220 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 221 | -} | ||
| 222 | - | ||
| 223 | -//获取探照灯的灯光频率 | ||
| 224 | -T_JZsdkReturnCode Lighting_Get_SearchLightFrequency(int *Frequency) | ||
| 225 | -{ | ||
| 226 | - *Frequency = SearchLight_Frequency; | ||
| 227 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 228 | -} | ||
| 229 | - | ||
| 230 | -//查询探照灯灯光频率 | ||
| 231 | -T_JZsdkReturnCode Lighting_CheckStatus_SearchLightFrequency() | ||
| 232 | -{ | ||
| 233 | - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 234 | -} | ||
| 235 | - | ||
| 236 | -//收到并修改探照灯的温度(中继修改) | ||
| 237 | -T_JZsdkReturnCode Lighting_Obtain_SearchLightTemperature(int LeftTemperature, int RightTemperature) | ||
| 238 | -{ | ||
| 239 | - printf("设备0x1010%x探照灯温度改变左灯%d 右灯%d\n",DEVICE_VERSION, LeftTemperature ,RightTemperature); | ||
| 240 | - | ||
| 241 | - SearchLight_LeftTemperature = LeftTemperature; | ||
| 242 | - SearchLight_RightTemperature = RightTemperature; | ||
| 243 | - | ||
| 244 | - int Max_tmeperature; //最大温度值 | ||
| 245 | - | ||
| 246 | - Max_tmeperature = MAX(LeftTemperature, RightTemperature); | ||
| 247 | - | ||
| 248 | - //判断探照灯是否有打开 | ||
| 249 | - if (SearchLight_Mode == JZ_FLAGCODE_OFF) | ||
| 250 | - { | ||
| 251 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 252 | - } | ||
| 253 | - | ||
| 254 | - //如果是JZ u3 | ||
| 255 | - if (DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) | ||
| 256 | - { | ||
| 257 | - //输入温度进温度控制线程 | ||
| 258 | - SearchLightTemControl_Set_g_InputTemp(Max_tmeperature); | ||
| 259 | - } | ||
| 260 | - if (DEVICE_VERSION == TF_A1) | ||
| 261 | - { | ||
| 262 | - //输入温度进温度控制线程 | ||
| 263 | - SearchLightTemControl_Set_g_InputTemp(Max_tmeperature); | ||
| 264 | - } | 234 | +// return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 235 | +// } | ||
| 236 | + | ||
| 237 | +// //获取探照灯的灯光频率 | ||
| 238 | +// T_JZsdkReturnCode Lighting_Get_SearchLightFrequency(int *Frequency) | ||
| 239 | +// { | ||
| 240 | +// *Frequency = SearchLight_Frequency; | ||
| 241 | +// return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 242 | +// } | ||
| 243 | + | ||
| 244 | +// //查询探照灯灯光频率 | ||
| 245 | +// T_JZsdkReturnCode Lighting_CheckStatus_SearchLightFrequency() | ||
| 246 | +// { | ||
| 247 | +// return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 248 | +// } | ||
| 249 | + | ||
| 250 | +// //收到并修改探照灯的温度(中继修改) | ||
| 251 | +// T_JZsdkReturnCode Lighting_Obtain_SearchLightTemperature(int LeftTemperature, int RightTemperature) | ||
| 252 | +// { | ||
| 253 | +// printf("设备0x1010%x探照灯温度改变左灯%d 右灯%d\n",DEVICE_VERSION, LeftTemperature ,RightTemperature); | ||
| 254 | + | ||
| 255 | +// SearchLight_LeftTemperature = LeftTemperature; | ||
| 256 | +// SearchLight_RightTemperature = RightTemperature; | ||
| 257 | + | ||
| 258 | +// int Max_tmeperature; //最大温度值 | ||
| 259 | + | ||
| 260 | +// Max_tmeperature = MAX(LeftTemperature, RightTemperature); | ||
| 261 | + | ||
| 262 | +// //判断探照灯是否有打开 | ||
| 263 | +// if (SearchLight_Mode == JZ_FLAGCODE_OFF) | ||
| 264 | +// { | ||
| 265 | +// return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 266 | +// } | ||
| 267 | + | ||
| 268 | +// if (DEVICE_VERSION == JZ_U3 || | ||
| 269 | +// DEVICE_VERSION == JZ_U3S || | ||
| 270 | +// DEVICE_VERSION == JZ_U3D || | ||
| 271 | +// DEVICE_VERSION == JZ_U30 || | ||
| 272 | +// DEVICE_VERSION == TF_A1 || | ||
| 273 | +// DEVICE_VERSION == JZ_T40 | ||
| 274 | +// ) | ||
| 275 | +// { | ||
| 276 | +// //输入温度进温度控制线程 | ||
| 277 | +// SearchLightTemControl_Set_g_InputTemp(Max_tmeperature); | ||
| 278 | +// } | ||
| 265 | 279 | ||
| 266 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 267 | -} | ||
| 268 | - | ||
| 269 | -//获取探照灯的灯光温度 | ||
| 270 | -T_JZsdkReturnCode Lighting_Get_SearchLightTemperature(int *LeftTemperature, int *RightTemperature) | ||
| 271 | -{ | ||
| 272 | - *LeftTemperature = SearchLight_LeftTemperature; | ||
| 273 | - *RightTemperature = SearchLight_RightTemperature; | ||
| 274 | - | ||
| 275 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 276 | -} | ||
| 277 | - | ||
| 278 | -//查询灯光温度 | ||
| 279 | -T_JZsdkReturnCode Lighting_CheckStatus_SearchLightTemperture(int *ValueLeftTemperature, int *ValueRightTemperaturen) | ||
| 280 | -{ | ||
| 281 | - //1、刷新查询灯光温度 | ||
| 282 | - if (DEVICE_VERSION == JZ_H1T) | ||
| 283 | - { | ||
| 284 | - SearchLight_V3S_H1T_CheckStatus_SearchLightTemperture(); | ||
| 285 | - } | 280 | +// return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 281 | +// } | ||
| 282 | + | ||
| 283 | +// //获取探照灯的灯光温度 | ||
| 284 | +// T_JZsdkReturnCode Lighting_Get_SearchLightTemperature(int *LeftTemperature, int *RightTemperature) | ||
| 285 | +// { | ||
| 286 | +// *LeftTemperature = SearchLight_LeftTemperature; | ||
| 287 | +// *RightTemperature = SearchLight_RightTemperature; | ||
| 288 | + | ||
| 289 | +// return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 290 | +// } | ||
| 291 | + | ||
| 292 | +// //查询灯光温度 | ||
| 293 | +// T_JZsdkReturnCode Lighting_CheckStatus_SearchLightTemperture(int *ValueLeftTemperature, int *ValueRightTemperaturen) | ||
| 294 | +// { | ||
| 295 | +// //1、刷新查询灯光温度 | ||
| 296 | +// if (DEVICE_VERSION == JZ_H1T) | ||
| 297 | +// { | ||
| 298 | +// SearchLight_V3S_H1T_CheckStatus_SearchLightTemperture(); | ||
| 299 | +// } | ||
| 286 | 300 | ||
| 287 | - //2、获取一次本地灯光温度 | ||
| 288 | - Lighting_Get_SearchLightTemperature(ValueLeftTemperature, ValueRightTemperaturen); | 301 | +// //2、获取一次本地灯光温度 |
| 302 | +// Lighting_Get_SearchLightTemperature(ValueLeftTemperature, ValueRightTemperaturen); | ||
| 289 | 303 | ||
| 290 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 291 | -} | 304 | +// return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 305 | +// } | ||
| 292 | 306 | ||
| 293 | /******************************************************************************************************************************** | 307 | /******************************************************************************************************************************** |
| 294 | * | 308 | * |
| @@ -428,35 +442,35 @@ T_JZsdkReturnCode Lighting_CheckStatus_WarningLightColor(int *ValueColor1, int * | @@ -428,35 +442,35 @@ T_JZsdkReturnCode Lighting_CheckStatus_WarningLightColor(int *ValueColor1, int * | ||
| 428 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 442 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 429 | } | 443 | } |
| 430 | 444 | ||
| 431 | -/********* | ||
| 432 | - * | ||
| 433 | - *刷新亮度函数 | ||
| 434 | - * | ||
| 435 | -**********/ | ||
| 436 | -T_JZsdkReturnCode JZsdk_SearchLight_FlushLumen(int InputLumen) | ||
| 437 | -{ | ||
| 438 | - JZsdk_SearchLightTemControl_FlushLumen(InputLumen); | ||
| 439 | -} | ||
| 440 | - | ||
| 441 | -/**************** | ||
| 442 | - * | ||
| 443 | - * 获取消息订阅状态 | ||
| 444 | - * | ||
| 445 | - * *************/ | ||
| 446 | -int JZsdk_SearchLight_GetMessageSubFlag(void) | ||
| 447 | -{ | ||
| 448 | - return g_SearchLight_Subscription_Flag; | ||
| 449 | -} | ||
| 450 | - | ||
| 451 | -/*************************** | ||
| 452 | - * | ||
| 453 | - * 设置消息订阅状态 | ||
| 454 | - * | ||
| 455 | - * | ||
| 456 | -************************/ | ||
| 457 | -T_JZsdkReturnCode JZsdk_SearchLight_SetMessageSubFlag(int InputFlag) | ||
| 458 | -{ | ||
| 459 | - g_SearchLight_Subscription_Flag = InputFlag; | ||
| 460 | - | ||
| 461 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 462 | -} | ||
| 445 | +// /********* | ||
| 446 | +// * | ||
| 447 | +// *刷新亮度函数 | ||
| 448 | +// * | ||
| 449 | +// **********/ | ||
| 450 | +// T_JZsdkReturnCode JZsdk_SearchLight_FlushLumen(int InputLumen) | ||
| 451 | +// { | ||
| 452 | +// JZsdk_SearchLightTemControl_FlushLumen(InputLumen); | ||
| 453 | +// } | ||
| 454 | + | ||
| 455 | +// /**************** | ||
| 456 | +// * | ||
| 457 | +// * 获取消息订阅状态 | ||
| 458 | +// * | ||
| 459 | +// * *************/ | ||
| 460 | +// int JZsdk_SearchLight_GetMessageSubFlag(void) | ||
| 461 | +// { | ||
| 462 | +// return g_SearchLight_Subscription_Flag; | ||
| 463 | +// } | ||
| 464 | + | ||
| 465 | +// /*************************** | ||
| 466 | +// * | ||
| 467 | +// * 设置消息订阅状态 | ||
| 468 | +// * | ||
| 469 | +// * | ||
| 470 | +// ************************/ | ||
| 471 | +// T_JZsdkReturnCode JZsdk_SearchLight_SetMessageSubFlag(int InputFlag) | ||
| 472 | +// { | ||
| 473 | +// g_SearchLight_Subscription_Flag = InputFlag; | ||
| 474 | + | ||
| 475 | +// return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 476 | +// } |
| @@ -8,7 +8,7 @@ | @@ -8,7 +8,7 @@ | ||
| 8 | T_JZsdkReturnCode SearchLight_V3S_H1T_Set_SearchLightFrequency(int value) | 8 | T_JZsdkReturnCode SearchLight_V3S_H1T_Set_SearchLightFrequency(int value) |
| 9 | { | 9 | { |
| 10 | //向H1T的单片机发送调节频率帧 | 10 | //向H1T的单片机发送调节频率帧 |
| 11 | - HalSend_type1Send_Set_SearchLightFrequency(UART_DEV_1, value); | 11 | + HalSend_type1Send_Set_SearchLightFrequency(UART_DEV_1, value, 0x00); |
| 12 | 12 | ||
| 13 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 13 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 14 | } | 14 | } |
| @@ -17,7 +17,7 @@ T_JZsdkReturnCode SearchLight_V3S_H1T_Set_SearchLightFrequency(int value) | @@ -17,7 +17,7 @@ T_JZsdkReturnCode SearchLight_V3S_H1T_Set_SearchLightFrequency(int value) | ||
| 17 | T_JZsdkReturnCode SearchLight_V3S_H1T_SearchLightControl(int mode) | 17 | T_JZsdkReturnCode SearchLight_V3S_H1T_SearchLightControl(int mode) |
| 18 | { | 18 | { |
| 19 | //向H1T的单片机发送探照灯控制帧 | 19 | //向H1T的单片机发送探照灯控制帧 |
| 20 | - HalSend_type1Send_SearchLight_Control(UART_DEV_1, mode); | 20 | + HalSend_type1Send_SearchLight_Control(UART_DEV_1, mode, 0x00); |
| 21 | 21 | ||
| 22 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 22 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 23 | } | 23 | } |
| @@ -26,7 +26,7 @@ T_JZsdkReturnCode SearchLight_V3S_H1T_SearchLightControl(int mode) | @@ -26,7 +26,7 @@ T_JZsdkReturnCode SearchLight_V3S_H1T_SearchLightControl(int mode) | ||
| 26 | T_JZsdkReturnCode SearchLight_V3S_H1T_Set_SearchLightLumen(int LeftLumen, int RightLumen) | 26 | T_JZsdkReturnCode SearchLight_V3S_H1T_Set_SearchLightLumen(int LeftLumen, int RightLumen) |
| 27 | { | 27 | { |
| 28 | //向H1T的单片机发送探照灯控制帧 | 28 | //向H1T的单片机发送探照灯控制帧 |
| 29 | - HalSend_type1Send_SearchLight_SetLumen(UART_DEV_1, LeftLumen, RightLumen); | 29 | + HalSend_type1Send_SearchLight_SetLumen(UART_DEV_1, LeftLumen, RightLumen, 0x00); |
| 30 | 30 | ||
| 31 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 31 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 32 | } | 32 | } |
| @@ -72,7 +72,7 @@ T_JZsdkReturnCode SearchLight_V3S_H1T_CheckStatus_LightAttribute() | @@ -72,7 +72,7 @@ T_JZsdkReturnCode SearchLight_V3S_H1T_CheckStatus_LightAttribute() | ||
| 72 | T_JZsdkReturnCode SearchLight_V3S_H1T_CheckStatus_SearchLightTemperture() | 72 | T_JZsdkReturnCode SearchLight_V3S_H1T_CheckStatus_SearchLightTemperture() |
| 73 | { | 73 | { |
| 74 | //向H1T的单片机发送探照灯灯光模式查询帧 | 74 | //向H1T的单片机发送探照灯灯光模式查询帧 |
| 75 | - HalSend_type1Send_CheckStatus_SearchLight_Temperture(UART_DEV_1); | 75 | + HalSend_type1Send_CheckStatus_SearchLight_Temperture(UART_DEV_1, 0x00); |
| 76 | 76 | ||
| 77 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 77 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 78 | } | 78 | } |
| @@ -8,7 +8,7 @@ | @@ -8,7 +8,7 @@ | ||
| 8 | T_JZsdkReturnCode SearchLight_V3S_TFA1_Set_SearchLightFrequency(int value) | 8 | T_JZsdkReturnCode SearchLight_V3S_TFA1_Set_SearchLightFrequency(int value) |
| 9 | { | 9 | { |
| 10 | //向u3的单片机发送调节频率帧 | 10 | //向u3的单片机发送调节频率帧 |
| 11 | - HalSend_type1Send_Set_SearchLightFrequency(UART_DEV_2, value); | 11 | + HalSend_type1Send_Set_SearchLightFrequency(UART_DEV_2, value, 0x00); |
| 12 | 12 | ||
| 13 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 13 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 14 | } | 14 | } |
| @@ -16,7 +16,7 @@ T_JZsdkReturnCode SearchLight_V3S_TFA1_Set_SearchLightFrequency(int value) | @@ -16,7 +16,7 @@ T_JZsdkReturnCode SearchLight_V3S_TFA1_Set_SearchLightFrequency(int value) | ||
| 16 | T_JZsdkReturnCode SearchLight_V3S_TFA1_SearchLightControl(int mode) | 16 | T_JZsdkReturnCode SearchLight_V3S_TFA1_SearchLightControl(int mode) |
| 17 | { | 17 | { |
| 18 | //向u3的单片机发送探照灯控制帧 | 18 | //向u3的单片机发送探照灯控制帧 |
| 19 | - HalSend_type1Send_SearchLight_Control(UART_DEV_2, mode); | 19 | + HalSend_type1Send_SearchLight_Control(UART_DEV_2, mode, 0x00); |
| 20 | 20 | ||
| 21 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 21 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 22 | } | 22 | } |
| @@ -25,10 +25,7 @@ T_JZsdkReturnCode SearchLight_V3S_TFA1_SearchLightControl(int mode) | @@ -25,10 +25,7 @@ T_JZsdkReturnCode SearchLight_V3S_TFA1_SearchLightControl(int mode) | ||
| 25 | T_JZsdkReturnCode SearchLight_V3S_TFA1_Set_SearchLightLumen(int LeftLumen, int RightLumen) | 25 | T_JZsdkReturnCode SearchLight_V3S_TFA1_Set_SearchLightLumen(int LeftLumen, int RightLumen) |
| 26 | { | 26 | { |
| 27 | //向tfa1的单片机发送探照灯控制帧 | 27 | //向tfa1的单片机发送探照灯控制帧 |
| 28 | - HalSend_type1Send_SearchLight_SetLumen(UART_DEV_2, LeftLumen, RightLumen); | ||
| 29 | - | ||
| 30 | - //向tfa1的单片机发送查询亮度帧 | ||
| 31 | - //JZsdk_Uart_Send_SearchLight_CheckStatus_Lumen(UART_DEV_2); | 28 | + HalSend_type1Send_SearchLight_SetLumen(UART_DEV_2, LeftLumen, RightLumen, 0x00); |
| 32 | 29 | ||
| 33 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 30 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 34 | } | 31 | } |
| @@ -8,7 +8,7 @@ | @@ -8,7 +8,7 @@ | ||
| 8 | T_JZsdkReturnCode SearchLight_V3S_U3_Set_SearchLightFrequency(int value) | 8 | T_JZsdkReturnCode SearchLight_V3S_U3_Set_SearchLightFrequency(int value) |
| 9 | { | 9 | { |
| 10 | //向u3的单片机发送调节频率帧 | 10 | //向u3的单片机发送调节频率帧 |
| 11 | - HalSend_type1Send_Set_SearchLightFrequency(UART_DEV_2, value); | 11 | + HalSend_type1Send_Set_SearchLightFrequency(UART_DEV_2, value, 0x00); |
| 12 | 12 | ||
| 13 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 13 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 14 | } | 14 | } |
| @@ -16,7 +16,7 @@ T_JZsdkReturnCode SearchLight_V3S_U3_Set_SearchLightFrequency(int value) | @@ -16,7 +16,7 @@ T_JZsdkReturnCode SearchLight_V3S_U3_Set_SearchLightFrequency(int value) | ||
| 16 | T_JZsdkReturnCode SearchLight_V3S_U3_SearchLightControl(int mode) | 16 | T_JZsdkReturnCode SearchLight_V3S_U3_SearchLightControl(int mode) |
| 17 | { | 17 | { |
| 18 | //向u3的单片机发送探照灯控制帧 | 18 | //向u3的单片机发送探照灯控制帧 |
| 19 | - HalSend_type1Send_SearchLight_Control(UART_DEV_2, mode); | 19 | + HalSend_type1Send_SearchLight_Control(UART_DEV_2, mode, 0x00); |
| 20 | 20 | ||
| 21 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 21 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 22 | } | 22 | } |
| @@ -24,7 +24,45 @@ T_JZsdkReturnCode SearchLight_V3S_U3_SearchLightControl(int mode) | @@ -24,7 +24,45 @@ T_JZsdkReturnCode SearchLight_V3S_U3_SearchLightControl(int mode) | ||
| 24 | T_JZsdkReturnCode SearchLight_V3S_U3_Set_SearchLightLumen(int LeftLumen, int RightLumen) | 24 | T_JZsdkReturnCode SearchLight_V3S_U3_Set_SearchLightLumen(int LeftLumen, int RightLumen) |
| 25 | { | 25 | { |
| 26 | //向u3的单片机发送探照灯控制帧 | 26 | //向u3的单片机发送探照灯控制帧 |
| 27 | - HalSend_type1Send_SearchLight_SetLumen(UART_DEV_2, LeftLumen, RightLumen); | 27 | + HalSend_type1Send_SearchLight_SetLumen(UART_DEV_2, LeftLumen, RightLumen, 0x00); |
| 28 | + | ||
| 29 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 30 | +} | ||
| 31 | + | ||
| 32 | + | ||
| 33 | + | ||
| 34 | + | ||
| 35 | + | ||
| 36 | + | ||
| 37 | + | ||
| 38 | +/*********************************** | ||
| 39 | + * | ||
| 40 | + * 以下为T40的临时存放 | ||
| 41 | + * | ||
| 42 | + * | ||
| 43 | + * ********************************/ | ||
| 44 | + | ||
| 45 | + | ||
| 46 | +T_JZsdkReturnCode SearchLight_V3S_T40_Set_SearchLightFrequency(int value) | ||
| 47 | +{ | ||
| 48 | + //向u3的单片机发送调节频率帧 | ||
| 49 | + HalSend_type1Send_Set_SearchLightFrequency(UART_DEV_2, value, 0x20); | ||
| 50 | + | ||
| 51 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 52 | +} | ||
| 53 | + | ||
| 54 | +T_JZsdkReturnCode SearchLight_V3S_T40_SearchLightControl(int mode) | ||
| 55 | +{ | ||
| 56 | + //向u3的单片机发送探照灯控制帧 | ||
| 57 | + HalSend_type1Send_SearchLight_Control(UART_DEV_2, mode, 0x20); | ||
| 58 | + | ||
| 59 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 60 | +} | ||
| 61 | + | ||
| 62 | +T_JZsdkReturnCode SearchLight_V3S_T40_Set_SearchLightLumen(int LeftLumen, int RightLumen) | ||
| 63 | +{ | ||
| 64 | + //向单片机发送探照灯控制帧 | ||
| 65 | + HalSend_type1Send_SearchLight_SetSingleLumem(UART_DEV_2, LeftLumen, 0x20); | ||
| 28 | 66 | ||
| 29 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 67 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 30 | } | 68 | } |
| @@ -29,6 +29,10 @@ T_JZsdkReturnCode SearchLight_V3S_U3_SearchLightControl(int mode); | @@ -29,6 +29,10 @@ T_JZsdkReturnCode SearchLight_V3S_U3_SearchLightControl(int mode); | ||
| 29 | T_JZsdkReturnCode SearchLight_V3S_U3_Set_SearchLightLumen(int LeftLumen, int RightLumen); | 29 | T_JZsdkReturnCode SearchLight_V3S_U3_Set_SearchLightLumen(int LeftLumen, int RightLumen); |
| 30 | 30 | ||
| 31 | 31 | ||
| 32 | +T_JZsdkReturnCode SearchLight_V3S_T40_Set_SearchLightFrequency(int value); | ||
| 33 | +T_JZsdkReturnCode SearchLight_V3S_T40_SearchLightControl(int mode); | ||
| 34 | +T_JZsdkReturnCode SearchLight_V3S_T40_Set_SearchLightLumen(int LeftLumen, int RightLumen); | ||
| 35 | + | ||
| 32 | #ifdef __cplusplus | 36 | #ifdef __cplusplus |
| 33 | } | 37 | } |
| 34 | #endif | 38 | #endif |
| @@ -8,6 +8,7 @@ | @@ -8,6 +8,7 @@ | ||
| 8 | #include "version_choose.h" | 8 | #include "version_choose.h" |
| 9 | #include "BaseConfig.h" | 9 | #include "BaseConfig.h" |
| 10 | 10 | ||
| 11 | +#include "MediaProc/MediaProc.h" | ||
| 11 | #include "./VideoMgmt/VideoMgmt.h" | 12 | #include "./VideoMgmt/VideoMgmt.h" |
| 12 | #include "./MultProc/MultProc.h" | 13 | #include "./MultProc/MultProc.h" |
| 13 | #include "./MediaParm.h" | 14 | #include "./MediaParm.h" |
| @@ -50,8 +51,26 @@ static T_JZsdkReturnCode MediaProc_MultiThreading() | @@ -50,8 +51,26 @@ static T_JZsdkReturnCode MediaProc_MultiThreading() | ||
| 50 | } | 51 | } |
| 51 | 52 | ||
| 52 | //视频流模块初始化 | 53 | //视频流模块初始化 |
| 53 | -T_JZsdkReturnCode MediaProc_Init() | 54 | +T_JZsdkReturnCode MediaProc_Init(T_JZsdkMediaProcHandler MediaProcHandler) |
| 54 | { | 55 | { |
| 56 | + //初始化DCIM存储文件夹 | ||
| 57 | + if (JZsdk_check_directory_exists_posix("/root/sdcard/DCIM") != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 58 | + { | ||
| 59 | + JZsdk_Osal_Mkdir("/root/sdcard/DCIM"); | ||
| 60 | + } | ||
| 61 | + //创建录像文件夹 | ||
| 62 | + if (JZsdk_check_directory_exists_posix("/root/sdcard/DCIM/Videos") != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 63 | + { | ||
| 64 | + JZsdk_Osal_Mkdir("/root/sdcard/DCIM/Videos"); | ||
| 65 | + } | ||
| 66 | + //创建照片文件夹 | ||
| 67 | + if( JZsdk_check_directory_exists_posix("/root/sdcard/DCIM/Photos") != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 68 | + { | ||
| 69 | + JZsdk_Osal_Mkdir("/root/sdcard/DCIM/Photos"); | ||
| 70 | + } | ||
| 71 | + | ||
| 72 | + //初始化媒体模块 | ||
| 73 | + VideoMgmt_Init(MediaProcHandler.VideoMgmtHandler); | ||
| 55 | 74 | ||
| 56 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 75 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 57 | } | 76 | } |
| @@ -19,13 +19,19 @@ | @@ -19,13 +19,19 @@ | ||
| 19 | extern "C" { | 19 | extern "C" { |
| 20 | #endif | 20 | #endif |
| 21 | 21 | ||
| 22 | +typedef struct T_JZsdkMediaProcHandler | ||
| 23 | +{ | ||
| 24 | + T_JZsdkVideoMgmtHandler VideoMgmtHandler; | ||
| 25 | + | ||
| 26 | +}T_JZsdkMediaProcHandler; | ||
| 27 | + | ||
| 22 | /* Exported constants --------------------------------------------------------*/ | 28 | /* Exported constants --------------------------------------------------------*/ |
| 23 | /* 常亮定义*/ | 29 | /* 常亮定义*/ |
| 24 | 30 | ||
| 25 | /* Exported types ------------------------------------------------------------*/ | 31 | /* Exported types ------------------------------------------------------------*/ |
| 26 | 32 | ||
| 27 | /* Exported functions --------------------------------------------------------*/ | 33 | /* Exported functions --------------------------------------------------------*/ |
| 28 | -T_JZsdkReturnCode MediaProc_Init(); | 34 | +T_JZsdkReturnCode MediaProc_Init(T_JZsdkMediaProcHandler MediaProcHandler); |
| 29 | 35 | ||
| 30 | 36 | ||
| 31 | 37 |
| @@ -11,9 +11,7 @@ | @@ -11,9 +11,7 @@ | ||
| 11 | #include "BaseConfig.h" | 11 | #include "BaseConfig.h" |
| 12 | #include "JZsdk_network/JZsdk_network.h" | 12 | #include "JZsdk_network/JZsdk_network.h" |
| 13 | 13 | ||
| 14 | -#if APP_VERSION == APP_PSDK | ||
| 15 | - #include "JZsdk_PsdkExpansion/JZsdk_PsdkExpansion.h" | ||
| 16 | -#endif | 14 | +#include "ExtensionAPI/JZsdk_ExpansionApi.h" |
| 17 | 15 | ||
| 18 | //推流入口 | 16 | //推流入口 |
| 19 | T_JZsdkReturnCode VideoStream_PushFrame(unsigned char* h264_data, unsigned int data_len) | 17 | T_JZsdkReturnCode VideoStream_PushFrame(unsigned char* h264_data, unsigned int data_len) |
| @@ -37,9 +35,13 @@ T_JZsdkReturnCode VideoStream_PushFrame(unsigned char* h264_data, unsigned int d | @@ -37,9 +35,13 @@ T_JZsdkReturnCode VideoStream_PushFrame(unsigned char* h264_data, unsigned int d | ||
| 37 | 35 | ||
| 38 | //放入到对应的传输函数 | 36 | //放入到对应的传输函数 |
| 39 | #if APP_VERSION == APP_PSDK | 37 | #if APP_VERSION == APP_PSDK |
| 40 | - //大疆模式,往大疆入口推流 | ||
| 41 | - JZsdk_Expansion_Push_DJIH264Frame(h264_data, data_len); | ||
| 42 | 38 | ||
| 39 | + T_JZsdkToPsdkHandler *JzsdkToPsdkHandle = ExpansionApi_JZsdkToPsdk_GetHandler(); | ||
| 40 | + if (JzsdkToPsdkHandle != NULL && JzsdkToPsdkHandle->push_DJIH264Frame_to_plane != NULL) | ||
| 41 | + { | ||
| 42 | + JzsdkToPsdkHandle->push_DJIH264Frame_to_plane(h264_data, data_len); | ||
| 43 | + } | ||
| 44 | + | ||
| 43 | #elif APP_VERSION == APP_UART | 45 | #elif APP_VERSION == APP_UART |
| 44 | JZsdk_NetWork_SentData(h264_data, data_len); | 46 | JZsdk_NetWork_SentData(h264_data, data_len); |
| 45 | #endif | 47 | #endif |
| @@ -19,7 +19,6 @@ | @@ -19,7 +19,6 @@ | ||
| 19 | #include "Megaphone/MegTempControl/MegTempControl.h" | 19 | #include "Megaphone/MegTempControl/MegTempControl.h" |
| 20 | #include "../AudioDeal/AudioDeal.h" | 20 | #include "../AudioDeal/AudioDeal.h" |
| 21 | #include "./TTS/Megaphone_TTS.h" | 21 | #include "./TTS/Megaphone_TTS.h" |
| 22 | -#include "./TTS/cnTTS/cnTTS.h" | ||
| 23 | #include "Megaphone/Music/AudioFile/Megaphone_AudioFile.h" | 22 | #include "Megaphone/Music/AudioFile/Megaphone_AudioFile.h" |
| 24 | #include "Megaphone/Music/RealTimeMP2/Megaphone_RealTimeMP2.h" | 23 | #include "Megaphone/Music/RealTimeMP2/Megaphone_RealTimeMP2.h" |
| 25 | #include "Megaphone/opus/Megaphone_Opus.h" | 24 | #include "Megaphone/opus/Megaphone_Opus.h" |
| @@ -167,20 +166,12 @@ static T_JZsdkReturnCode Megaphone_Play(struct MegaphoneInfo *IndexInfo, enum Me | @@ -167,20 +166,12 @@ static T_JZsdkReturnCode Megaphone_Play(struct MegaphoneInfo *IndexInfo, enum Me | ||
| 167 | 166 | ||
| 168 | switch (status) | 167 | switch (status) |
| 169 | { | 168 | { |
| 170 | - case AUDIO_PLAY_STATUS_IFLAY_TTS: | 169 | + case AUDIO_PLAY_STATUS_TTS: |
| 171 | { | 170 | { |
| 172 | - JZSDK_LOG_INFO("音频播放:cnTTS"); | 171 | + JZSDK_LOG_INFO("音频播放:TTS"); |
| 173 | 172 | ||
| 174 | - //播放讯飞tts | ||
| 175 | - ret = Megaphone_cnTTS_Play(IndexInfo->str, IndexInfo->str_len, ReplyFlag); | ||
| 176 | - } | ||
| 177 | - break; | ||
| 178 | - | ||
| 179 | - case ADDIO_PLAY_STATUS_ESPEAK_TTS: | ||
| 180 | - { | ||
| 181 | - JZSDK_LOG_INFO("音频播放:esTTS"); | ||
| 182 | - | ||
| 183 | - ret = Espeak_tts(IndexInfo->str , IndexInfo->str_len); | 173 | + //播放tts |
| 174 | + ret = Megaphone_Tts_Play(IndexInfo->str, IndexInfo->str_len, ReplyFlag); | ||
| 184 | } | 175 | } |
| 185 | break; | 176 | break; |
| 186 | 177 | ||
| @@ -304,14 +295,7 @@ T_JZsdkReturnCode Megaphone_TTS_Play(unsigned char *str, unsigned int str_len, i | @@ -304,14 +295,7 @@ T_JZsdkReturnCode Megaphone_TTS_Play(unsigned char *str, unsigned int str_len, i | ||
| 304 | //1、获取当前音色 | 295 | //1、获取当前音色 |
| 305 | int tone = TTS_Get_tone(); | 296 | int tone = TTS_Get_tone(); |
| 306 | 297 | ||
| 307 | - if (tone >= 0x00 && tone <= 0x36) | ||
| 308 | - { | ||
| 309 | - ret = Megaphone_Play(g_MegaphoneInfo, AUDIO_PLAY_STATUS_IFLAY_TTS, ReplyFlag); | ||
| 310 | - } | ||
| 311 | - else | ||
| 312 | - { | ||
| 313 | - ret = Megaphone_Play(g_MegaphoneInfo, ADDIO_PLAY_STATUS_ESPEAK_TTS, ReplyFlag); | ||
| 314 | - } | 298 | + ret = Megaphone_Play(g_MegaphoneInfo, AUDIO_PLAY_STATUS_TTS, ReplyFlag); |
| 315 | 299 | ||
| 316 | //检测是否开启了预设模式,且属于是需要回复即正常播放的tts,保存tts文本和音色 | 300 | //检测是否开启了预设模式,且属于是需要回复即正常播放的tts,保存tts文本和音色 |
| 317 | if (PrsetTask_GetPrsetTaskSaveContentFlag() == JZ_FLAGCODE_ON) | 301 | if (PrsetTask_GetPrsetTaskSaveContentFlag() == JZ_FLAGCODE_ON) |
| @@ -973,6 +957,22 @@ T_JZsdkReturnCode Megaphone_Init_OnlyTTs() | @@ -973,6 +957,22 @@ T_JZsdkReturnCode Megaphone_Init_OnlyTTs() | ||
| 973 | } | 957 | } |
| 974 | 958 | ||
| 975 | MegaphoneStatusFlag = JZ_FLAGCODE_ON; | 959 | MegaphoneStatusFlag = JZ_FLAGCODE_ON; |
| 960 | + | ||
| 961 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 962 | +} | ||
| 963 | + | ||
| 964 | +/*************** | ||
| 965 | + * | ||
| 966 | + * 喊话器反初始化tts | ||
| 967 | + * | ||
| 968 | + * **************/ | ||
| 969 | +T_JZsdkReturnCode Megaphone_DeInit_OnlyTTs() | ||
| 970 | +{ | ||
| 971 | + Megaphone_TTS_DeInit(); | ||
| 972 | + | ||
| 973 | + MegaphoneStatusFlag = JZ_FLAGCODE_OFF; | ||
| 974 | + | ||
| 975 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 976 | } | 976 | } |
| 977 | 977 | ||
| 978 | 978 | ||
| @@ -1184,9 +1184,7 @@ static T_JZsdkReturnCode Megaphone_ConvertPlayStatus(int status) | @@ -1184,9 +1184,7 @@ static T_JZsdkReturnCode Megaphone_ConvertPlayStatus(int status) | ||
| 1184 | } | 1184 | } |
| 1185 | 1185 | ||
| 1186 | //B、查询是否在播放文本 | 1186 | //B、查询是否在播放文本 |
| 1187 | - if (status == AUDIO_PLAY_STATUS_IFLAY_TTS | ||
| 1188 | - || status == ADDIO_PLAY_STATUS_ESPEAK_TTS | ||
| 1189 | - ) | 1187 | + if (status == AUDIO_PLAY_STATUS_TTS) |
| 1190 | { | 1188 | { |
| 1191 | return 0x20; | 1189 | return 0x20; |
| 1192 | } | 1190 | } |
| @@ -38,8 +38,7 @@ typedef enum MegaphonePlayStatus | @@ -38,8 +38,7 @@ typedef enum MegaphonePlayStatus | ||
| 38 | { | 38 | { |
| 39 | AUDIO_PLAY_STATUS_IDLE = 0x00, //空闲状态 | 39 | AUDIO_PLAY_STATUS_IDLE = 0x00, //空闲状态 |
| 40 | AUDIO_PLAY_STATUS_MUSIC = 0x01, //播放歌曲 | 40 | AUDIO_PLAY_STATUS_MUSIC = 0x01, //播放歌曲 |
| 41 | - AUDIO_PLAY_STATUS_IFLAY_TTS = 0x02, //播放讯飞文本 | ||
| 42 | - ADDIO_PLAY_STATUS_ESPEAK_TTS = 0x03, //espeak文本 | 41 | + AUDIO_PLAY_STATUS_TTS = 0x02, //播放文本 |
| 43 | AUDIO_PLAY_STATUS_OPUS_REAL_TIME = 0x04, //opus实时语音 | 42 | AUDIO_PLAY_STATUS_OPUS_REAL_TIME = 0x04, //opus实时语音 |
| 44 | AUDIO_PLAY_STATUS_OPUS_RECORD = 0x05, //opus录音 | 43 | AUDIO_PLAY_STATUS_OPUS_RECORD = 0x05, //opus录音 |
| 45 | AUDIO_PLAY_STATUS_MP3_REAL_TIME = 0x06, //mp3实时语音 | 44 | AUDIO_PLAY_STATUS_MP3_REAL_TIME = 0x06, //mp3实时语音 |
| @@ -79,6 +78,8 @@ extern struct MegaphoneInfo *g_MegaphoneInfo; | @@ -79,6 +78,8 @@ extern struct MegaphoneInfo *g_MegaphoneInfo; | ||
| 79 | /* Exported functions --------------------------------------------------------*/ | 78 | /* Exported functions --------------------------------------------------------*/ |
| 80 | T_JZsdkReturnCode Megaphone_Init(); | 79 | T_JZsdkReturnCode Megaphone_Init(); |
| 81 | T_JZsdkReturnCode Megaphone_Init_OnlyTTs(); | 80 | T_JZsdkReturnCode Megaphone_Init_OnlyTTs(); |
| 81 | +T_JZsdkReturnCode Megaphone_DeInit_OnlyTTs(); | ||
| 82 | + | ||
| 82 | T_JZsdkReturnCode Megaphone_TTS_Play(unsigned char *str, unsigned int str_len, int ReplyFlag); | 83 | T_JZsdkReturnCode Megaphone_TTS_Play(unsigned char *str, unsigned int str_len, int ReplyFlag); |
| 83 | T_JZsdkReturnCode Megaphone_TTS_param(int flagcode, enum MegaphoneTTSParam paramflag, int *value); | 84 | T_JZsdkReturnCode Megaphone_TTS_param(int flagcode, enum MegaphoneTTSParam paramflag, int *value); |
| 84 | T_JZsdkReturnCode Megaphone_Amplifier_param(int flagcode, int *value); | 85 | T_JZsdkReturnCode Megaphone_Amplifier_param(int flagcode, int *value); |
| @@ -4,10 +4,14 @@ | @@ -4,10 +4,14 @@ | ||
| 4 | 4 | ||
| 5 | #include "Megaphone/Music/AudioFile/Megaphone_AudioFile.h" | 5 | #include "Megaphone/Music/AudioFile/Megaphone_AudioFile.h" |
| 6 | #include "Megaphone/TTS/Megaphone_TTS.h" | 6 | #include "Megaphone/TTS/Megaphone_TTS.h" |
| 7 | +#include "JZsdkLib.h" | ||
| 8 | +#include "version_choose.h" | ||
| 9 | + | ||
| 10 | + | ||
| 11 | +#ifdef ESPEAK_TTS_CONFIG_STATUS_ON | ||
| 7 | 12 | ||
| 8 | #include "Intl_interface.h" | 13 | #include "Intl_interface.h" |
| 9 | #include "version_choose.h" | 14 | #include "version_choose.h" |
| 10 | -#include "JZsdkLib.h" | ||
| 11 | 15 | ||
| 12 | #define RECODE_DIR "/root/record/" | 16 | #define RECODE_DIR "/root/record/" |
| 13 | 17 | ||
| @@ -16,7 +20,6 @@ T_JZsdkReturnCode Espeak_init() | @@ -16,7 +20,6 @@ T_JZsdkReturnCode Espeak_init() | ||
| 16 | char dict_path[]="/root";//设置资源库路径 | 20 | char dict_path[]="/root";//设置资源库路径 |
| 17 | char wav_save_path[]=RECODE_DIR;//设置生成音频路径 | 21 | char wav_save_path[]=RECODE_DIR;//设置生成音频路径 |
| 18 | tts_init(dict_path,wav_save_path);//初始化 | 22 | tts_init(dict_path,wav_save_path);//初始化 |
| 19 | - printf("espeak_init\n"); | ||
| 20 | 23 | ||
| 21 | //检查record文件夹是否存在 | 24 | //检查record文件夹是否存在 |
| 22 | if (JZsdk_check_directory_exists_posix(RECODE_DIR) != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | 25 | if (JZsdk_check_directory_exists_posix(RECODE_DIR) != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) |
| @@ -24,6 +27,8 @@ T_JZsdkReturnCode Espeak_init() | @@ -24,6 +27,8 @@ T_JZsdkReturnCode Espeak_init() | ||
| 24 | JZsdk_RunSystemCmd("mkdir /root/record"); | 27 | JZsdk_RunSystemCmd("mkdir /root/record"); |
| 25 | } | 28 | } |
| 26 | 29 | ||
| 30 | + JZSDK_LOG_DEBUG("espeak_init"); | ||
| 31 | + | ||
| 27 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 32 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 28 | } | 33 | } |
| 29 | 34 | ||
| @@ -108,3 +113,5 @@ T_JZsdkReturnCode Espeak_tts(unsigned char *tts_words ,unsigned int len) | @@ -108,3 +113,5 @@ T_JZsdkReturnCode Espeak_tts(unsigned char *tts_words ,unsigned int len) | ||
| 108 | 113 | ||
| 109 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 114 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 110 | } | 115 | } |
| 116 | + | ||
| 117 | +#endif |
| @@ -3,7 +3,10 @@ | @@ -3,7 +3,10 @@ | ||
| 3 | #include "DeviceInfo/DeviceInfo.h" | 3 | #include "DeviceInfo/DeviceInfo.h" |
| 4 | #include "Megaphone/TTS/Espeak_tts/Espeak_tts.h" | 4 | #include "Megaphone/TTS/Espeak_tts/Espeak_tts.h" |
| 5 | 5 | ||
| 6 | -#include "./cnTTS/cnTTS.h" | 6 | +#include "./iflytek_1/iflytek_1.h" |
| 7 | +#include "./iflytek_2/iflytek_2.h" | ||
| 8 | + | ||
| 9 | +#include "version_choose.h" | ||
| 7 | 10 | ||
| 8 | static int g_Megaphone_TTS_tone = 0x01; | 11 | static int g_Megaphone_TTS_tone = 0x01; |
| 9 | static int g_Megaphone_TTS_NormalVolume = 100; //生成的tts原音量 | 12 | static int g_Megaphone_TTS_NormalVolume = 100; //生成的tts原音量 |
| @@ -16,17 +19,89 @@ static int g_tts_add = JZ_FLAGCODE_OFF; //追加声音 | @@ -16,17 +19,89 @@ static int g_tts_add = JZ_FLAGCODE_OFF; //追加声音 | ||
| 16 | **********/ | 19 | **********/ |
| 17 | T_JZsdkReturnCode Megaphone_TTS_Init() | 20 | T_JZsdkReturnCode Megaphone_TTS_Init() |
| 18 | { | 21 | { |
| 22 | + | ||
| 23 | + //根据不同的喊话器初始化不同的TTS库 | ||
| 24 | + | ||
| 25 | +#ifdef IFLAY_TTS_1_CONFIG_STATUS_ON | ||
| 19 | //讯飞初始化 | 26 | //讯飞初始化 |
| 20 | - Megaphone_cnTTS_Init(); | 27 | + Iflytek_1_Init(); |
| 28 | +#endif | ||
| 29 | + | ||
| 30 | +#ifdef ESPEAK_TTS_CONFIG_STATUS_ON | ||
| 21 | 31 | ||
| 22 | //海外固件,外语初始化 | 32 | //海外固件,外语初始化 |
| 23 | Espeak_init(); | 33 | Espeak_init(); |
| 24 | 34 | ||
| 35 | +#endif | ||
| 36 | + | ||
| 37 | +#ifdef IFLAY_TTS_2_CONFIG_STATUS_ON | ||
| 38 | + //讯飞初始化 | ||
| 39 | + Iflytek_2_Init(); | ||
| 40 | +#endif | ||
| 41 | + | ||
| 25 | JZSDK_LOG_DEBUG("Megaphone_TTS_Init"); | 42 | JZSDK_LOG_DEBUG("Megaphone_TTS_Init"); |
| 26 | } | 43 | } |
| 27 | 44 | ||
| 28 | 45 | ||
| 29 | /********* | 46 | /********* |
| 47 | + * | ||
| 48 | + * TTS销毁 | ||
| 49 | + * | ||
| 50 | + * *********/ | ||
| 51 | +T_JZsdkReturnCode Megaphone_TTS_DeInit() | ||
| 52 | +{ | ||
| 53 | +#ifdef IFLAY_TTS_2_CONFIG_STATUS_ON | ||
| 54 | + //讯飞初始化 | ||
| 55 | + Iflytek_2_DeInit(); | ||
| 56 | +#endif | ||
| 57 | + | ||
| 58 | +} | ||
| 59 | + | ||
| 60 | + | ||
| 61 | + | ||
| 62 | +/********* | ||
| 63 | + * | ||
| 64 | + * TTSPLAY | ||
| 65 | + * | ||
| 66 | + * | ||
| 67 | +**********/ | ||
| 68 | +T_JZsdkReturnCode Megaphone_Tts_Play(unsigned char *str, unsigned int str_len, int ReplyFlag) | ||
| 69 | +{ | ||
| 70 | +#ifdef IFLAY_TTS_1_CONFIG_STATUS_ON | ||
| 71 | + | ||
| 72 | + //判断音色 | ||
| 73 | + int tone = TTS_Get_tone(); | ||
| 74 | + if (tone >= 0x00 && tone <= 0x36) | ||
| 75 | + { | ||
| 76 | + return Ifytek_1_Play(str, str_len, ReplyFlag); | ||
| 77 | + } | ||
| 78 | + else | ||
| 79 | + { | ||
| 80 | + return Espeak_tts(str ,str_len); | ||
| 81 | + } | ||
| 82 | + | ||
| 83 | +#endif | ||
| 84 | + | ||
| 85 | +#ifdef IFLAY_TTS_2_CONFIG_STATUS_ON | ||
| 86 | + | ||
| 87 | + return Ifytek_2_Play(str, str_len, ReplyFlag); | ||
| 88 | + | ||
| 89 | +#endif | ||
| 90 | + | ||
| 91 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 92 | +} | ||
| 93 | + | ||
| 94 | + | ||
| 95 | + | ||
| 96 | + | ||
| 97 | + | ||
| 98 | + | ||
| 99 | + | ||
| 100 | + | ||
| 101 | + | ||
| 102 | + | ||
| 103 | + | ||
| 104 | +/********* | ||
| 30 | * | 105 | * |
| 31 | * 获取生成的tts音量 | 106 | * 获取生成的tts音量 |
| 32 | * | 107 | * |
| @@ -45,7 +45,9 @@ int TTS_Set_speed(int value); | @@ -45,7 +45,9 @@ int TTS_Set_speed(int value); | ||
| 45 | int TTS_Set_TTS_AppendTone(int value); | 45 | int TTS_Set_TTS_AppendTone(int value); |
| 46 | 46 | ||
| 47 | T_JZsdkReturnCode Megaphone_TTS_Init(); | 47 | T_JZsdkReturnCode Megaphone_TTS_Init(); |
| 48 | +T_JZsdkReturnCode Megaphone_TTS_DeInit(); | ||
| 48 | 49 | ||
| 50 | +T_JZsdkReturnCode Megaphone_Tts_Play(unsigned char *str, unsigned int str_len, int ReplyFlag); | ||
| 49 | 51 | ||
| 50 | #ifdef __cplusplus | 52 | #ifdef __cplusplus |
| 51 | } | 53 | } |
| @@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
| 4 | #include <stdlib.h> | 4 | #include <stdlib.h> |
| 5 | #include <pthread.h> | 5 | #include <pthread.h> |
| 6 | 6 | ||
| 7 | -#include "./cnTTS.h" | 7 | + |
| 8 | #include "../Megaphone_TTS.h" | 8 | #include "../Megaphone_TTS.h" |
| 9 | #include "../../Megaphone.h" | 9 | #include "../../Megaphone.h" |
| 10 | 10 | ||
| @@ -14,11 +14,15 @@ | @@ -14,11 +14,15 @@ | ||
| 14 | #include "JZsdkLib.h" | 14 | #include "JZsdkLib.h" |
| 15 | 15 | ||
| 16 | #include "version_choose.h" | 16 | #include "version_choose.h" |
| 17 | + | ||
| 18 | +#ifdef IFLAY_TTS_1_CONFIG_STATUS_ON | ||
| 19 | +#include "./iflytek_1.h" | ||
| 17 | #include "qtts.h" | 20 | #include "qtts.h" |
| 18 | #include "msp_cmn.h" | 21 | #include "msp_cmn.h" |
| 19 | #include "msp_errors.h" | 22 | #include "msp_errors.h" |
| 20 | #include "msp_types.h" | 23 | #include "msp_types.h" |
| 21 | 24 | ||
| 25 | + | ||
| 22 | #define TTS_SAVE 0 | 26 | #define TTS_SAVE 0 |
| 23 | 27 | ||
| 24 | static T_JZsdkReturnCode TTS_Synthesis(const char* src_text, const char* params) | 28 | static T_JZsdkReturnCode TTS_Synthesis(const char* src_text, const char* params) |
| @@ -326,7 +330,7 @@ static void *Play_cntts_pthread(void *arg) | @@ -326,7 +330,7 @@ static void *Play_cntts_pthread(void *arg) | ||
| 326 | //广播状态开始 | 330 | //广播状态开始 |
| 327 | if (ReplyFlag == JZ_FLAGCODE_ON) | 331 | if (ReplyFlag == JZ_FLAGCODE_ON) |
| 328 | { | 332 | { |
| 329 | - Megaphone_status_Broadcast(AUDIO_PLAY_STATUS_IFLAY_TTS); | 333 | + Megaphone_status_Broadcast(AUDIO_PLAY_STATUS_TTS); |
| 330 | } | 334 | } |
| 331 | 335 | ||
| 332 | int amplifier = JZ_FLAGCODE_ON; | 336 | int amplifier = JZ_FLAGCODE_ON; |
| @@ -356,8 +360,6 @@ static void *Play_cntts_pthread(void *arg) | @@ -356,8 +360,6 @@ static void *Play_cntts_pthread(void *arg) | ||
| 356 | { | 360 | { |
| 357 | Megaphone_status_Broadcast(JZ_FLAGCODE_OFF); | 361 | Megaphone_status_Broadcast(JZ_FLAGCODE_OFF); |
| 358 | } | 362 | } |
| 359 | - | ||
| 360 | - JZSDK_LOG_INFO("TTS线程结束"); | ||
| 361 | } | 363 | } |
| 362 | 364 | ||
| 363 | 365 | ||
| @@ -392,9 +394,11 @@ relogin: | @@ -392,9 +394,11 @@ relogin: | ||
| 392 | * tts初始化 | 394 | * tts初始化 |
| 393 | * | 395 | * |
| 394 | **********/ | 396 | **********/ |
| 395 | -T_JZsdkReturnCode Megaphone_cnTTS_Init() | 397 | +T_JZsdkReturnCode Iflytek_1_Init() |
| 396 | { | 398 | { |
| 397 | login_tts(); | 399 | login_tts(); |
| 400 | + | ||
| 401 | + JZSDK_LOG_DEBUG("Iflytek_1_Init"); | ||
| 398 | } | 402 | } |
| 399 | 403 | ||
| 400 | 404 | ||
| @@ -404,7 +408,7 @@ T_JZsdkReturnCode Megaphone_cnTTS_Init() | @@ -404,7 +408,7 @@ T_JZsdkReturnCode Megaphone_cnTTS_Init() | ||
| 404 | * 讯飞TTS_播放函数 | 408 | * 讯飞TTS_播放函数 |
| 405 | * | 409 | * |
| 406 | **********/ | 410 | **********/ |
| 407 | -T_JZsdkReturnCode Megaphone_cnTTS_Play(unsigned char *str, unsigned int str_len, int ReplyFlag) | 411 | +T_JZsdkReturnCode Ifytek_1_Play(unsigned char *str, unsigned int str_len, int ReplyFlag) |
| 408 | { | 412 | { |
| 409 | //1、制造一个数据产生函数 | 413 | //1、制造一个数据产生函数 |
| 410 | pthread_t TTS_flie_task; | 414 | pthread_t TTS_flie_task; |
| @@ -441,3 +445,5 @@ T_JZsdkReturnCode Megaphone_cnTTS_Play(unsigned char *str, unsigned int str_len, | @@ -441,3 +445,5 @@ T_JZsdkReturnCode Megaphone_cnTTS_Play(unsigned char *str, unsigned int str_len, | ||
| 441 | 445 | ||
| 442 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 446 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 443 | } | 447 | } |
| 448 | + | ||
| 449 | +#endif |
| 1 | /** | 1 | /** |
| 2 | ******************************************************************** | 2 | ******************************************************************** |
| 3 | - * @file cnTTS.h | ||
| 4 | - * cnTTS的头文件 | 3 | + * @file Module/Megaphone/TTS/iflytek_1/iflytek_1.h |
| 4 | + * TTS的头文件 | ||
| 5 | * | 5 | * |
| 6 | ********************************************************************* | 6 | ********************************************************************* |
| 7 | */ | 7 | */ |
| 8 | 8 | ||
| 9 | /* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | 9 | /* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ |
| 10 | -#ifndef CN_TTS_H | ||
| 11 | -#define CN_TTS_H | 10 | +#ifndef IFLYTEK_1_H |
| 11 | +#define IFLYTEK_1_H | ||
| 12 | 12 | ||
| 13 | /* Includes ------------------------------------------------------------------*/ | 13 | /* Includes ------------------------------------------------------------------*/ |
| 14 | #include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | 14 | #include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" |
| @@ -26,8 +26,8 @@ extern "C" { | @@ -26,8 +26,8 @@ extern "C" { | ||
| 26 | 26 | ||
| 27 | 27 | ||
| 28 | 28 | ||
| 29 | -T_JZsdkReturnCode Megaphone_cnTTS_Init(); | ||
| 30 | -T_JZsdkReturnCode Megaphone_cnTTS_Play(unsigned char *str, unsigned int str_len, int ReplyFlag); | 29 | +T_JZsdkReturnCode Iflytek_1_Init(); |
| 30 | +T_JZsdkReturnCode Ifytek_1_Play(unsigned char *str, unsigned int str_len, int ReplyFlag); | ||
| 31 | 31 | ||
| 32 | 32 | ||
| 33 | #ifdef __cplusplus | 33 | #ifdef __cplusplus |
Module/Megaphone/TTS/iflytek_2/iflytek_2.c
0 → 100644
| 1 | +#include <stdio.h> | ||
| 2 | +#include <string.h> | ||
| 3 | +#include <ctype.h> | ||
| 4 | +#include <stdlib.h> | ||
| 5 | +#include <pthread.h> | ||
| 6 | + | ||
| 7 | +#include "../Megaphone_TTS.h" | ||
| 8 | +#include "../../Megaphone.h" | ||
| 9 | +#include "./iflytek_2.h" | ||
| 10 | + | ||
| 11 | +#include "AudioDeal/AudioDeal.h" | ||
| 12 | +#include "Megaphone/Volume/volume.h" | ||
| 13 | + | ||
| 14 | +#include "JZsdkLib.h" | ||
| 15 | +#include "version_choose.h" | ||
| 16 | + | ||
| 17 | +#ifdef IFLAY_TTS_2_CONFIG_STATUS_ON | ||
| 18 | + | ||
| 19 | +#include "iflytek_tts.h" | ||
| 20 | + | ||
| 21 | +static T_JZsdkReturnCode IflyTek_2_Tts_Input(int language, char *Text, int speed, int volume) | ||
| 22 | +{ | ||
| 23 | + //1、将JZSDK的Language索引值转换为 IFLTEK2的语言索引值 | ||
| 24 | + //2、将language转换为音色文件 | ||
| 25 | + int IfyTek_language = 0; | ||
| 26 | + char role[20] = {0}; | ||
| 27 | + | ||
| 28 | + switch (language) | ||
| 29 | + { | ||
| 30 | + case 0x01: // 中文女生 | ||
| 31 | + IfyTek_language = 1; | ||
| 32 | + strcpy(role, "xiaoyan"); | ||
| 33 | + break; | ||
| 34 | + | ||
| 35 | + case 0x02: // 中文男生 | ||
| 36 | + IfyTek_language = 1; | ||
| 37 | + strcpy(role, "xiaofeng"); | ||
| 38 | + break; | ||
| 39 | + | ||
| 40 | + case 0x11: // 英文女生 | ||
| 41 | + IfyTek_language = 2; | ||
| 42 | + strcpy(role, "catherine"); | ||
| 43 | + break; | ||
| 44 | + | ||
| 45 | + case 0x12: // 英文男生 | ||
| 46 | + IfyTek_language = 2; | ||
| 47 | + strcpy(role, "john"); | ||
| 48 | + break; | ||
| 49 | + | ||
| 50 | + case 0x31: // 东北 | ||
| 51 | + IfyTek_language = 1; | ||
| 52 | + strcpy(role, "xiaoqian"); | ||
| 53 | + break; | ||
| 54 | + | ||
| 55 | + case 0x32: // 四川 | ||
| 56 | + IfyTek_language = 1; | ||
| 57 | + strcpy(role, "yezi"); | ||
| 58 | + break; | ||
| 59 | + | ||
| 60 | + case 0x33: // 河南 | ||
| 61 | + IfyTek_language = 1; | ||
| 62 | + strcpy(role, "xiaokun"); | ||
| 63 | + break; | ||
| 64 | + case 0x34: // 湖南 | ||
| 65 | + IfyTek_language = 1; | ||
| 66 | + strcpy(role, "xiaoqiang"); | ||
| 67 | + break; | ||
| 68 | + | ||
| 69 | + /*case 35: // 陕西 | ||
| 70 | + role = "xiaoying"; | ||
| 71 | + break; | ||
| 72 | + */ | ||
| 73 | + | ||
| 74 | + case 0x36: // 广东 | ||
| 75 | + IfyTek_language = 12; // 粤语 | ||
| 76 | + strcpy(role, "xiaomei"); | ||
| 77 | + break; | ||
| 78 | + | ||
| 79 | + case 0x37: // 湖北 | ||
| 80 | + IfyTek_language = 1; | ||
| 81 | + strcpy(role, "xiaowang"); | ||
| 82 | + break; | ||
| 83 | + | ||
| 84 | + /*case 38: // 东北 | ||
| 85 | + role = "xiaoqian"; | ||
| 86 | + break; | ||
| 87 | + */ | ||
| 88 | + | ||
| 89 | + default: // 默认中文女生 | ||
| 90 | + IfyTek_language = 1; | ||
| 91 | + strcpy(role, "xiaoyan"); | ||
| 92 | + break; | ||
| 93 | + } | ||
| 94 | + | ||
| 95 | + IflytekLib_2_TextToTts(IfyTek_language, role, Text, speed, volume); | ||
| 96 | + | ||
| 97 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 98 | +} | ||
| 99 | + | ||
| 100 | +static T_JZsdkReturnCode TTS_FILE_play(struct t_Megaphone_tts_param *Megaphone_tts_param) | ||
| 101 | +{ | ||
| 102 | + int tone = Megaphone_tts_param->tts_tone; | ||
| 103 | + int speed = Megaphone_tts_param->tts_speed; | ||
| 104 | + char *argv = Megaphone_tts_param->ttsdata; | ||
| 105 | + int ReplyFlag = Megaphone_tts_param->ReplyFlag; | ||
| 106 | + int tts_add_mode = Megaphone_tts_param->tts_add; | ||
| 107 | + int volume = Megaphone_tts_param->tts_volume; | ||
| 108 | + | ||
| 109 | + //开始合成音频 | ||
| 110 | + int loop; | ||
| 111 | + int loop_interval; | ||
| 112 | + do | ||
| 113 | + { | ||
| 114 | + //输入数据 | ||
| 115 | + IflyTek_2_Tts_Input(tone, argv, speed, volume); | ||
| 116 | + //如果开启了追加模式 | ||
| 117 | + // if(tts_add_mode == JZ_FLAGCODE_ON) | ||
| 118 | + // { | ||
| 119 | + // //追加合成音频 | ||
| 120 | + // IflyTek_2_Tts_Input(tone, argv, volume); | ||
| 121 | + // } | ||
| 122 | + | ||
| 123 | + Megaphone_param(JZ_FLAGCODE_GET, MEGAPHONE_LOOP, &loop); | ||
| 124 | + Megaphone_param(JZ_FLAGCODE_GET, MEGAPHONE_LOOP_INTERVAL, &loop_interval); | ||
| 125 | + | ||
| 126 | + //循环播放延时 | ||
| 127 | + while (loop_interval > 0 && (loop == JZ_FLAGCODE_ON) && (Megaphone_MegDataGenFlag(JZ_FLAGCODE_GET, 0) == JZ_FLAGCODE_ON)) | ||
| 128 | + { | ||
| 129 | + delayMs(50); | ||
| 130 | + loop_interval -= 50; | ||
| 131 | + } | ||
| 132 | + | ||
| 133 | + } while ((loop == JZ_FLAGCODE_ON) && (Megaphone_MegDataGenFlag(JZ_FLAGCODE_GET, 0) == JZ_FLAGCODE_ON)); | ||
| 134 | + | ||
| 135 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 136 | +} | ||
| 137 | + | ||
| 138 | +//TTS合成线程 | ||
| 139 | +static void *Play_cntts_pthread(void *arg) | ||
| 140 | +{ | ||
| 141 | + struct t_Megaphone_tts_param *Megaphone_tts_param = (struct t_Megaphone_tts_param *) arg; | ||
| 142 | + | ||
| 143 | + int ReplyFlag = Megaphone_tts_param->ReplyFlag; | ||
| 144 | + | ||
| 145 | + //设置标志位 | ||
| 146 | + Megaphone_MegDataGenFlag(JZ_FLAGCODE_SET, JZ_FLAGCODE_ON); | ||
| 147 | + Megaphone_MegDataGenFinshFlag(JZ_FLAGCODE_SET, JZ_FLAGCODE_ON); | ||
| 148 | + | ||
| 149 | + //广播状态开始 | ||
| 150 | + if (ReplyFlag == JZ_FLAGCODE_ON) | ||
| 151 | + { | ||
| 152 | + Megaphone_status_Broadcast(AUDIO_PLAY_STATUS_TTS); | ||
| 153 | + } | ||
| 154 | + | ||
| 155 | + int amplifier = JZ_FLAGCODE_ON; | ||
| 156 | + Megaphone_Amplifier_param(JZ_FLAGCODE_SET, &lifier); | ||
| 157 | + | ||
| 158 | + //修改tts前的音量 | ||
| 159 | + Megaphone_SetVolume(0, 1); | ||
| 160 | + | ||
| 161 | + //生成tts播放文件 | ||
| 162 | + TTS_FILE_play(Megaphone_tts_param); | ||
| 163 | + | ||
| 164 | + //释放掉结构体和标志位 | ||
| 165 | + JZsdk_Free(Megaphone_tts_param); | ||
| 166 | + | ||
| 167 | + //恢复音量 | ||
| 168 | + int audio_volume = Megaphone_GetUiVolume(); | ||
| 169 | + Megaphone_SetVolume(audio_volume,0); | ||
| 170 | + | ||
| 171 | + amplifier = JZ_FLAGCODE_OFF; | ||
| 172 | + Megaphone_Amplifier_param(JZ_FLAGCODE_SET, &lifier); | ||
| 173 | + | ||
| 174 | + Megaphone_MegDataGenFlag(JZ_FLAGCODE_SET, JZ_FLAGCODE_OFF); | ||
| 175 | + Megaphone_MegDataGenFinshFlag(JZ_FLAGCODE_SET, JZ_FLAGCODE_OFF); | ||
| 176 | + | ||
| 177 | + //广播关闭 | ||
| 178 | + if (ReplyFlag == JZ_FLAGCODE_ON) | ||
| 179 | + { | ||
| 180 | + Megaphone_status_Broadcast(JZ_FLAGCODE_OFF); | ||
| 181 | + } | ||
| 182 | + | ||
| 183 | +} | ||
| 184 | + | ||
| 185 | +/********* | ||
| 186 | + * | ||
| 187 | + * 讯飞TTS_播放函数 | ||
| 188 | + * | ||
| 189 | +**********/ | ||
| 190 | +T_JZsdkReturnCode Ifytek_2_Play(unsigned char *str, unsigned int str_len, int ReplyFlag) | ||
| 191 | +{ | ||
| 192 | + //1、制造一个数据产生函数 | ||
| 193 | + pthread_t TTS_flie_task; | ||
| 194 | + pthread_attr_t task_attribute; //线程属性 | ||
| 195 | + pthread_attr_init(&task_attribute); //初始化线程属性 | ||
| 196 | + pthread_attr_setdetachstate(&task_attribute, PTHREAD_CREATE_DETACHED); //设置线程属性 | ||
| 197 | + | ||
| 198 | + //tts参数结构体 | ||
| 199 | + struct t_Megaphone_tts_param *Megaphone_tts_param = NULL; | ||
| 200 | + if(JZsdk_Malloc( (void **)&Megaphone_tts_param, sizeof(struct t_Megaphone_tts_param)) != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)//如果申请内存失败,malloc会返回一个NULl | ||
| 201 | + { | ||
| 202 | + printf("malloc use failure"); | ||
| 203 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;//申请内存失败,错误退出 | ||
| 204 | + } | ||
| 205 | + | ||
| 206 | + //清空参数 | ||
| 207 | + memset (Megaphone_tts_param,0,sizeof(struct t_Megaphone_tts_param)); | ||
| 208 | + | ||
| 209 | + //写入参数 | ||
| 210 | + Megaphone_tts_param->tts_speed = TTS_Get_speed(); | ||
| 211 | + Megaphone_tts_param->tts_tone = TTS_Get_tone(); | ||
| 212 | + Megaphone_tts_param->tts_volume = TTS_Get_NormalVolume(); | ||
| 213 | + Megaphone_tts_param->tts_add = TTS_Get_TTS_AppendTone(); | ||
| 214 | + Megaphone_tts_param->ReplyFlag = ReplyFlag; | ||
| 215 | + memset(Megaphone_tts_param->ttsdata,0,sizeof(Megaphone_tts_param->ttsdata)); | ||
| 216 | + memcpy(Megaphone_tts_param->ttsdata, str, str_len); | ||
| 217 | + | ||
| 218 | + int tts_ret = pthread_create(&TTS_flie_task,&task_attribute,Play_cntts_pthread,(void *)Megaphone_tts_param); //TTS线程 | ||
| 219 | + if(tts_ret != 0) | ||
| 220 | + { | ||
| 221 | + printf("创建TTS线程失败\n"); | ||
| 222 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 223 | + } | ||
| 224 | + | ||
| 225 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 226 | +} | ||
| 227 | + | ||
| 228 | + | ||
| 229 | + | ||
| 230 | +/********* | ||
| 231 | + * | ||
| 232 | + * tts初始化 | ||
| 233 | + * | ||
| 234 | +**********/ | ||
| 235 | +T_JZsdkReturnCode Iflytek_2_Init() | ||
| 236 | +{ | ||
| 237 | + IflytekLib_2_Init(); | ||
| 238 | + | ||
| 239 | + JZSDK_LOG_DEBUG("Iflytek_2_Init"); | ||
| 240 | + | ||
| 241 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 242 | +} | ||
| 243 | + | ||
| 244 | +/******* | ||
| 245 | + * | ||
| 246 | + * tts销毁 | ||
| 247 | + * | ||
| 248 | + * ********/ | ||
| 249 | +T_JZsdkReturnCode Iflytek_2_DeInit() | ||
| 250 | +{ | ||
| 251 | + IflytekLib_2_UnInit(); | ||
| 252 | + | ||
| 253 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 254 | +} | ||
| 255 | + | ||
| 256 | +#endif |
Module/Megaphone/TTS/iflytek_2/iflytek_2.h
0 → 100644
| 1 | +/** | ||
| 2 | + ******************************************************************** | ||
| 3 | + * @file Module/Megaphone/TTS/iflytek_2/iflytek_2.h | ||
| 4 | + * TTS的头文件 | ||
| 5 | + * | ||
| 6 | + ********************************************************************* | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 10 | +#ifndef IFLYTEK_2_H | ||
| 11 | +#define IFLYTEK_2_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 | + | ||
| 23 | +/* Exported types ------------------------------------------------------------*/ | ||
| 24 | + | ||
| 25 | +/* Exported functions --------------------------------------------------------*/ | ||
| 26 | + | ||
| 27 | + | ||
| 28 | + | ||
| 29 | +T_JZsdkReturnCode Ifytek_2_Init(); | ||
| 30 | +T_JZsdkReturnCode Iflytek_2_DeInit(); | ||
| 31 | +T_JZsdkReturnCode Ifytek_2_Play(unsigned char *str, unsigned int str_len, int ReplyFlag); | ||
| 32 | + | ||
| 33 | + | ||
| 34 | + | ||
| 35 | +#ifdef __cplusplus | ||
| 36 | +} | ||
| 37 | +#endif | ||
| 38 | + | ||
| 39 | +#endif |
-
请 注册 或 登录 后发表评论