正在显示
38 个修改的文件
包含
4611 行增加
和
0 行删除
.vscode/settings.json
0 → 100644
CMakeLists.txt
0 → 100644
| 1 | +# cmake 最低版本要求 | ||
| 2 | +cmake_minimum_required(VERSION 2.8) | ||
| 3 | + | ||
| 4 | +# 编译标志 | ||
| 5 | +set(CMAKE_C_FLAGS "-pthread -std=gnu99 -lm -ldl -lstdc++") | ||
| 6 | +#"-pthread":指定在编译时链接POSIX线程库,以支持多线程程序。 | ||
| 7 | +#"-std=gnu99":指定C语言标准为GNU C99(也就是C99加上GNU的扩展特性),该标准对于一些特性和库的使用是必须的。 | ||
| 8 | +#"-lm":指定在编译时链接数学库,以使用一些数学函数。 | ||
| 9 | +#"-ldl":指定在编译时链接动态库加载库,以使用动态加载。 | ||
| 10 | +#"-lstdc++":指定在编译时链接C++标准库,以使用C++的一些特性和函数。 | ||
| 11 | + | ||
| 12 | +# 配置编译器 | ||
| 13 | +# 交叉编译链① | ||
| 14 | +set(CMAKE_C_COMPILER "/usr/local/arm/4.9.3/bin/arm-cortexa9-linux-gnueabihf-gcc") | ||
| 15 | +set(CMAKE_CXX_COMPILER "/usr/local/arm/4.9.3/bin/arm-cortexa9-linux-gnueabihf-g++") | ||
| 16 | + | ||
| 17 | +# 本地测试编译链 | ||
| 18 | +# set(CMAKE_C_COMPILER /usr/bin/gcc) | ||
| 19 | +# set(CMAKE_CXX_COMPILER /usr/bin/g++) | ||
| 20 | + | ||
| 21 | +# 工程名 JZ_UART_APP | ||
| 22 | +project(JZ_UART_APP) | ||
| 23 | +# 设置滤波方式 24行不能被改动,因为会被sh修改滤波方式 | ||
| 24 | +set(filtering_type directed_stopband_filtering) | ||
| 25 | + | ||
| 26 | +# 指定源文件 | ||
| 27 | +file(GLOB_RECURSE APPLICATION_SRC application/*.c) | ||
| 28 | +file(GLOB_RECURSE JZSDK_SRC JZsdk/*.c) | ||
| 29 | +file(GLOB_RECURSE JZSDK_UART_DEAL_SRC JZsdk_Uart/*.c) | ||
| 30 | +file(GLOB_RECURSE GIMBAL_SRC Module/Gimbal/*.c) | ||
| 31 | +file(GLOB_RECURSE MEGAPHONE_SRC Module/Megaphone/*.c) | ||
| 32 | +file(GLOB_RECURSE LIGHTING_SRC Module/Lighting/*.c) | ||
| 33 | + | ||
| 34 | +file(GLOB_RECURSE MODULE_IRCUT_SRC Module/Ircut/*.c) | ||
| 35 | +file(GLOB_RECURSE MODULE_UICONTROL_SRC Module/UI_control/*.c) | ||
| 36 | + | ||
| 37 | + | ||
| 38 | + | ||
| 39 | +# 生成可执行文件 | ||
| 40 | +add_executable( | ||
| 41 | + JZ_UART_APP | ||
| 42 | + ${APPLICATION_SRC} | ||
| 43 | + ${JZSDK_SRC} | ||
| 44 | + ${JZSDK_UART_DEAL_SRC} | ||
| 45 | + ${MEGAPHONE_SRC} | ||
| 46 | + ${MODULE_IRCUT_SRC} | ||
| 47 | + ${GIMBAL_SRC} | ||
| 48 | + ${MODULE_UICONTROL_SRC} | ||
| 49 | + ${LIGHTING_SRC} | ||
| 50 | +) | ||
| 51 | + | ||
| 52 | +# 头文件路径 | ||
| 53 | +include_directories(./application) | ||
| 54 | +include_directories(./JZsdk) | ||
| 55 | +include_directories(./JZsdk_Uart) | ||
| 56 | + | ||
| 57 | +include_directories(./Module/Megaphone) | ||
| 58 | +include_directories(./Module/Ircut) | ||
| 59 | +include_directories(./Module/Ircut/H3_ircut/wiringPi) | ||
| 60 | +include_directories(./Module/Gimbal) | ||
| 61 | +include_directories(./Module/Lighting) | ||
| 62 | +include_directories(./Module/UI_control) | ||
| 63 | + | ||
| 64 | +# 库文件路径 | ||
| 65 | +if(${filtering_type} STREQUAL "directed_stopband_filtering") | ||
| 66 | + message("Using library for directed stopband filtering") | ||
| 67 | + target_link_libraries(${PROJECT_NAME} ${CMAKE_CURRENT_LIST_DIR}/ModuleLib/music/directed_stopband_filtering/libAudioPlayer.so) | ||
| 68 | +elseif(${filtering_type} STREQUAL "high_pass_filtering") | ||
| 69 | + message("Using library for high pass filtering") | ||
| 70 | + target_link_libraries(${PROJECT_NAME} ${CMAKE_CURRENT_LIST_DIR}/ModuleLib/music/high_pass_filtering/libAudioPlayer.so) | ||
| 71 | +else() | ||
| 72 | + message(FATAL_ERROR "Invalid filtering type") | ||
| 73 | +endif() | ||
| 74 | + | ||
| 75 | +target_link_libraries(${PROJECT_NAME} | ||
| 76 | + | ||
| 77 | + ${CMAKE_CURRENT_LIST_DIR}/ModuleLib/TTS/libmsc.so | ||
| 78 | + ${CMAKE_CURRENT_LIST_DIR}/ModuleLib/opus/libopus.so | ||
| 79 | +) | ||
| 80 | + |
JZsdk/JZsdkLib.c
0 → 100644
JZsdk/JZsdkLib.h
0 → 100644
| 1 | +/** | ||
| 2 | + ******************************************************************** | ||
| 3 | + * @file JZsdkLib.h | ||
| 4 | + * JZsdk的头文件 | ||
| 5 | + * | ||
| 6 | + ********************************************************************* | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 10 | +#ifndef JZSDKLIB_H | ||
| 11 | +#define JZSDKLIB_H | ||
| 12 | + | ||
| 13 | +/* Includes ------------------------------------------------------------------*/ | ||
| 14 | + | ||
| 15 | +#ifdef __cplusplus | ||
| 16 | +extern "C" { | ||
| 17 | +#endif | ||
| 18 | + | ||
| 19 | +/* Exported constants --------------------------------------------------------*/ | ||
| 20 | +/* 常亮定义*/ | ||
| 21 | +#include "JZsdk_Base/JZsdkBase.h" | ||
| 22 | +#include "JZsdk_CommonFuntion/JZsdkCommonFuntion.h" | ||
| 23 | +//#include "JZsdk_Normal_Module/JZsdk_normal_module.h" | ||
| 24 | +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | ||
| 25 | + | ||
| 26 | +/* Exported types ------------------------------------------------------------*/ | ||
| 27 | + | ||
| 28 | +/* Exported functions --------------------------------------------------------*/ | ||
| 29 | +T_JZsdkReturnCode JZsdk_LibInit(); | ||
| 30 | + | ||
| 31 | + | ||
| 32 | +#ifdef __cplusplus | ||
| 33 | +} | ||
| 34 | +#endif | ||
| 35 | + | ||
| 36 | +#endif | ||
| 37 | +/************************ (C) COPYRIGHT DJI Innovations *******END OF FILE******/ |
JZsdk/JZsdk_Base/JZsdkBase.h
0 → 100644
| 1 | +/** | ||
| 2 | + ******************************************************************** | ||
| 3 | + * @file JZsdkBase.h | ||
| 4 | + * JZsdk基础部件的头文件 | ||
| 5 | + * | ||
| 6 | + ********************************************************************* | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 10 | +#ifndef JZSDKBASE_H | ||
| 11 | +#define JZSDKBASE_H | ||
| 12 | + | ||
| 13 | +/* Includes ------------------------------------------------------------------*/ | ||
| 14 | + | ||
| 15 | +#ifdef __cplusplus | ||
| 16 | +extern "C" { | ||
| 17 | +#endif | ||
| 18 | + | ||
| 19 | +/* Exported constants --------------------------------------------------------*/ | ||
| 20 | +/* 常亮定义*/ | ||
| 21 | +#include "JZsdk_Logger/JZsdk_Logger.h" | ||
| 22 | +#include "JZsdk_Osal/JZsdk_FileSystm.h" | ||
| 23 | +#include "JZsdk_Delay/JZsdk_Delay.h" | ||
| 24 | +#include "JZsdk_Code/JZsdk_FLagCode.h" | ||
| 25 | +/* Exported types ------------------------------------------------------------*/ | ||
| 26 | + | ||
| 27 | + | ||
| 28 | +/* Exported functions --------------------------------------------------------*/ | ||
| 29 | + | ||
| 30 | + | ||
| 31 | +#ifdef __cplusplus | ||
| 32 | +} | ||
| 33 | +#endif | ||
| 34 | + | ||
| 35 | +#endif |
JZsdk/JZsdk_Base/JZsdk_Code/JZsdk_Code.h
0 → 100644
| 1 | +/** | ||
| 2 | + ******************************************************************** | ||
| 3 | + * @file JZsdk_Code.h | ||
| 4 | + * 用于记录各类码的表 | ||
| 5 | + * | ||
| 6 | + ********************************************************************* | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 10 | +#ifndef JZSDK_CODE_H | ||
| 11 | +#define JZSDK_CODE_H | ||
| 12 | + | ||
| 13 | +/* Includes ------------------------------------------------------------------*/ | ||
| 14 | + | ||
| 15 | +#ifdef __cplusplus | ||
| 16 | +extern "C" { | ||
| 17 | +#endif | ||
| 18 | + | ||
| 19 | +/* Exported constants --------------------------------------------------------*/ | ||
| 20 | +/* 常亮定义*/ | ||
| 21 | + | ||
| 22 | +#include "JZsdk_InsCode.h" | ||
| 23 | +#include "JZsdk_FLagCode.h" | ||
| 24 | +#include "JZsdk_ReturnCode.h" | ||
| 25 | + | ||
| 26 | +/* Exported types ------------------------------------------------------------*/ | ||
| 27 | + | ||
| 28 | + | ||
| 29 | +/* Exported functions --------------------------------------------------------*/ | ||
| 30 | + | ||
| 31 | +#ifdef __cplusplus | ||
| 32 | +} | ||
| 33 | +#endif | ||
| 34 | + | ||
| 35 | +#endif |
| 1 | +/** | ||
| 2 | + ******************************************************************** | ||
| 3 | + * @file JZsdk_ErrorCode.h | ||
| 4 | + * 用于错误码的表 | ||
| 5 | + * | ||
| 6 | + ********************************************************************* | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 10 | +#ifndef JZSDK_ERRORCODE_H | ||
| 11 | +#define JZSDK_ERRORCODE_H | ||
| 12 | + | ||
| 13 | +/* Includes ------------------------------------------------------------------*/ | ||
| 14 | + | ||
| 15 | +#ifdef __cplusplus | ||
| 16 | +extern "C" { | ||
| 17 | +#endif | ||
| 18 | + | ||
| 19 | +/* Exported constants --------------------------------------------------------*/ | ||
| 20 | +/* 常亮定义*/ | ||
| 21 | + | ||
| 22 | + | ||
| 23 | +/* Exported types ------------------------------------------------------------*/ | ||
| 24 | +typedef enum { | ||
| 25 | + JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS = 0x0000, | ||
| 26 | + JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE = 0x0001 | ||
| 27 | +} JZ_SYSTEM_Code; | ||
| 28 | + | ||
| 29 | +typedef enum { | ||
| 30 | + JZ_ERROR_SYSTEM_FRAME_ERROR = 0x0100, | ||
| 31 | + | ||
| 32 | +} JZ_Syetem_frame_ErrorCode; | ||
| 33 | + | ||
| 34 | +typedef enum { | ||
| 35 | + JZ_ERRORCODE_MUSIC_NOT_FOUND_IN_LIST = 0x1000 | ||
| 36 | + | ||
| 37 | +} JZ_Megaphone_music_ErrorCode; | ||
| 38 | + | ||
| 39 | +typedef enum { | ||
| 40 | + JZ_ERRORCODE_REALTIMEVOICE_HAS_BEEN_ON = 0x1201 | ||
| 41 | + | ||
| 42 | +} JZ_Megaphone_opus_ErrorCode; | ||
| 43 | + | ||
| 44 | +typedef enum { | ||
| 45 | + JZ_ERRORCODE_TTS_INVALID_TONE = 0x1300, | ||
| 46 | + JZ_ERRORCODE_TTS_INVALID_SPEED = 0x1301, | ||
| 47 | + JZ_ERRORCODE_TTS_INVALID_ADDTONE = 0x1302, | ||
| 48 | + | ||
| 49 | +} JZ_Megaphone_TTS_ErrorCode; | ||
| 50 | + | ||
| 51 | +typedef enum { | ||
| 52 | + JZ_ERRORCODE_GIMBAL_INVALID_PITCH = 0x4000, | ||
| 53 | + JZ_ERRORCODE_GIMBAL_INVALID_YAW = 0x4001, | ||
| 54 | + JZ_ERRORCODE_GIMBAL_INVALID_ROLL = 0x4002, | ||
| 55 | + | ||
| 56 | +} JZ_Gimbal_ErrorCode; | ||
| 57 | +/* Exported functions --------------------------------------------------------*/ | ||
| 58 | + | ||
| 59 | +#ifdef __cplusplus | ||
| 60 | +} | ||
| 61 | +#endif | ||
| 62 | + | ||
| 63 | +#endif |
JZsdk/JZsdk_Base/JZsdk_Code/JZsdk_FLagCode.h
0 → 100644
| 1 | +/** | ||
| 2 | + ******************************************************************** | ||
| 3 | + * @file JZsdk_FLagCode.h | ||
| 4 | + * 用于标识码的表 | ||
| 5 | + * | ||
| 6 | + ********************************************************************* | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 10 | +#ifndef JZSDK_FLAGCODE_H | ||
| 11 | +#define JZSDK_FLAGCODE_H | ||
| 12 | + | ||
| 13 | +/* Includes ------------------------------------------------------------------*/ | ||
| 14 | + | ||
| 15 | +#ifdef __cplusplus | ||
| 16 | +extern "C" { | ||
| 17 | +#endif | ||
| 18 | + | ||
| 19 | +/* Exported constants --------------------------------------------------------*/ | ||
| 20 | +/* 常亮定义*/ | ||
| 21 | +#define JZ_FLAGCODE_OFF 0x00 | ||
| 22 | +#define JZ_FLAGCODE_ON 0x01 | ||
| 23 | + | ||
| 24 | +/* Exported types ------------------------------------------------------------*/ | ||
| 25 | + | ||
| 26 | + | ||
| 27 | +/* Exported functions --------------------------------------------------------*/ | ||
| 28 | + | ||
| 29 | +#ifdef __cplusplus | ||
| 30 | +} | ||
| 31 | +#endif | ||
| 32 | + | ||
| 33 | +#endif |
JZsdk/JZsdk_Base/JZsdk_Code/JZsdk_InsCode.h
0 → 100644
| 1 | +/** | ||
| 2 | + ******************************************************************** | ||
| 3 | + * @file JZsdk_InsCode.h | ||
| 4 | + * 用于错误码的表 | ||
| 5 | + * | ||
| 6 | + ********************************************************************* | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 10 | +#ifndef JZSDK_INSCODE_H | ||
| 11 | +#define JZSDK_INSCODE_H | ||
| 12 | + | ||
| 13 | +/* Includes ------------------------------------------------------------------*/ | ||
| 14 | + | ||
| 15 | +#ifdef __cplusplus | ||
| 16 | +extern "C" { | ||
| 17 | +#endif | ||
| 18 | + | ||
| 19 | +/* Exported constants --------------------------------------------------------*/ | ||
| 20 | +/* 常亮定义*/ | ||
| 21 | + | ||
| 22 | +typedef enum { | ||
| 23 | + | ||
| 24 | +//5A类帧 | ||
| 25 | + JZ_INSCODE_5AFRAME_FRAME = 0x10000000, //接收类帧 | ||
| 26 | + | ||
| 27 | + JZ_INSCODE_5AFRAME_ASKFORCONNECT = 0x10000100, //申请连接 | ||
| 28 | + | ||
| 29 | + JZ_INSCODE_5AFRAME_REALTIMEMP2_START = 0x10000200, //开启实时MP2 | ||
| 30 | + JZ_INSCODE_5AFRAME_REALTIMEMP2_TRANSMISSION = 0x10000201, //传输实时MP2 | ||
| 31 | + JZ_INSCODE_5AFRAME_REALTIMEMP2_STOP = 0x10000202, //结束实时MP2 | ||
| 32 | + | ||
| 33 | + JZ_INSCODE_5AFRAME_AUDIOFILE_TRANS_START = 0x10000300, //打开音频文件上传 | ||
| 34 | + JZ_INSCODE_5AFRAME_AUDIOFILE_TRANS_TRANSMISSION = 0x10000301, //传输音频文件 | ||
| 35 | + JZ_INSCODE_5AFRAME_AUDIOFILE_TRANS_STOP = 0x10000302, //关闭音频文件上传 | ||
| 36 | + | ||
| 37 | + JZ_INSCODE_5AFRAME_AUDIO_PLAYFILE = 0x10000400, //播放指定音频 | ||
| 38 | + JZ_INSCODE_5AFRAME_AUDIO_CONTINUE = 0x10000401, //音频继续播放 | ||
| 39 | + JZ_INSCODE_5AFRAME_AUDIO_PAUSE = 0x10000402, //音频暂停播放 | ||
| 40 | + JZ_INSCODE_5AFRAME_AUDIO_STOP = 0x10000403, //音频停止播放 | ||
| 41 | + | ||
| 42 | + JZ_INSCODE_5AFRAME_AUDIO_LASTSONG = 0x10000410, //音频上一曲 | ||
| 43 | + JZ_INSCODE_5AFRAME_AUDIO_NEXTSONG = 0x10000411, //音频下一曲 | ||
| 44 | + | ||
| 45 | + JZ_INSCODE_5AFRAME_AUDIO_GETMUSICLIST = 0x10000420, //获取音频列表 | ||
| 46 | + | ||
| 47 | + | ||
| 48 | + JZ_INSCODE_5AFRAME_AMPLIFIER_STOP = 0x10000500, //强制关闭功放 | ||
| 49 | + JZ_INSCODE_5AFRAME_AMPLIFIER_OPEN = 0x10000501, //强制开启功放 | ||
| 50 | + JZ_INSCODE_5AFRAME_AMPLIFIER_AUTO = 0x10000502, //恢复自动功放 | ||
| 51 | + | ||
| 52 | + JZ_INSCODE_5AFRAME_VOLUME = 0x10000600, //调节音量 | ||
| 53 | + | ||
| 54 | + JZ_INSCODE_5AFRAME_CHECKSTATUS_VOLUME = 0x10000620, //查询音量 | ||
| 55 | + JZ_INSCODE_5AFRAME_CHECKSTATUS_PLAY = 0x10000621, //查询播放状态 | ||
| 56 | + JZ_INSCODE_5AFRAME_CHECKSTATUS_GIMBAL = 0x10000622, //查询云台角度 | ||
| 57 | + JZ_INSCODE_5AFRAME_CHECKSTATUS_GIMBAL_FINETUNING = 0x10000623, //查询云台微调角度 | ||
| 58 | + | ||
| 59 | + JZ_INSCODE_5AFRAME_CHECKSTATUS_PLAYFILENAME = 0x10000624, //查询播放文件名 | ||
| 60 | + JZ_INSCODE_5AFRAME_CHECKSTATUS_SOFTWAREVERSION = 0x10000625, //查询软件版本号 | ||
| 61 | + JZ_INSCODE_5AFRAME_CHECKSTATUS_LOOPPLAY = 0x10000626, //查询是否打开循环 | ||
| 62 | + JZ_INSCODE_5AFRAME_CHECKSTATUS_TTSTONE = 0x10000627, //查询音色 | ||
| 63 | + JZ_INSCODE_5AFRAME_CHECKSTATUS_TTSSPEED = 0x10000628, //查询语速 | ||
| 64 | + JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_LIGHTATTRIBUTE = 0x10000629, //查询探照灯 灯3个属性 | ||
| 65 | + JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_LUMEN = 0x10000630, //查询探照灯流明 | ||
| 66 | + JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_FREQUENCY = 0x10000631, //查询探照灯频率 | ||
| 67 | + JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_MODE = 0x10000632, //查询探照灯模式 | ||
| 68 | + JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_TEMPERATURE = 0x10000633, //查询探照灯温度 | ||
| 69 | + | ||
| 70 | + JZ_INSCODE_5AFRAME_CHECKSTATUS_LASER_STATUS = 0x10000634, //查询激光状态 | ||
| 71 | + JZ_INSCODE_5AFRAME_CHECKSTATUS_WARNINGLIGHT_STATUS = 0x10000635, //查询警灯状态 | ||
| 72 | + JZ_INSCODE_5AFRAME_CHECKSTATUS_WARNINGLIGHT_COLOR = 0x10000636, //查询警灯颜色 | ||
| 73 | + JZ_INSCODE_5AFRAME_CHECKSTATUS_SERIALNUMBER = 0x10000637, //查询序列号 | ||
| 74 | + | ||
| 75 | + | ||
| 76 | + JZ_INSCODE_5AFRAME_PLAY_LOOP = 0x10000690, //开启关闭循环 | ||
| 77 | + | ||
| 78 | + JZ_INSCODE_5AFRAME_DELETE_AUDIO = 0x10000700, //删除音频 | ||
| 79 | + JZ_INSCODE_5AFRAME_DELETE_VOICE_RECORD = 0x10000710, //删除录音 | ||
| 80 | + JZ_INSCODE_5AFRAME_DELETE_VIDEO_RECORD = 0x10000720, //删除视频 | ||
| 81 | + | ||
| 82 | + | ||
| 83 | + JZ_INSCODE_5AFRAME_TTS_SET_TONE = 0x10000801, //TTS设置音色 | ||
| 84 | + JZ_INSCODE_5AFRAME_TTS_SET_SPEED = 0x10000802, //TTS设置语速 | ||
| 85 | + JZ_INSCODE_5AFRAME_TTS_TRANS_START = 0x10000803, //TTS开始发送 | ||
| 86 | + JZ_INSCODE_5AFRAME_TTS_TRANS_TRANSMISSION = 0x10000804, //TTS正在接收 | ||
| 87 | + JZ_INSCODE_5AFRAME_TTS_TRANS_STOP = 0x10000805, //TTS发送完毕 | ||
| 88 | + | ||
| 89 | + JZ_INSCODE_5AFRAME_OPUS_TRANS_START = 0x10000900, //opus传输开始 | ||
| 90 | + JZ_INSCODE_5AFRAME_OPUS_TRANS_TRANSMISSION = 0x10000901, //opus传输中 | ||
| 91 | + JZ_INSCODE_5AFRAME_OPUS_TRANS_STOP = 0x10000902, //opus传输结束 | ||
| 92 | + JZ_INSCODE_5AFRAME_OPUS_PLAY = 0x10000910, //opus播放 | ||
| 93 | + | ||
| 94 | + JZ_INSCODE_5AFRAME_OPUS_REALTIMEVOICE_START = 0x10000A00, //开启opus实时语音 | ||
| 95 | + JZ_INSCODE_5AFRAME_OPUS_REALTIMEVOICE_TRANSMISSION = 0x10000A01, //传输opus实时语音 | ||
| 96 | + JZ_INSCODE_5AFRAME_OPUS_REALTIMEVOICE_STOP = 0x10000A02, //结束opus实时语音 | ||
| 97 | + | ||
| 98 | + JZ_INSCODE_5AFRAME_GIMBAL_PITCH_CONTROL = 0x10000B00, //云台俯仰控制 | ||
| 99 | + JZ_INSCODE_5AFRAME_GIMBAL_YAW_CONTROL = 0x10000B01, //云台朝向控制 | ||
| 100 | + JZ_INSCODE_5AFRAME_GIMBAL_ROLL_CONTROL = 0x10000B02, //云台旋转控制 | ||
| 101 | + JZ_INSCODE_5AFRAME_GIMBAL_PITCH_FINETUNING_CONTROL = 0x10000B04, //云台俯仰微调 | ||
| 102 | + JZ_INSCODE_5AFRAME_GIMBAL_YAW_FINETUNING_CONTROL = 0x10000B05, //云台朝向微调 | ||
| 103 | + JZ_INSCODE_5AFRAME_GIMBAL_ROLL_FINETUNING_CONTROL = 0x10000B06, //云台旋转微调 | ||
| 104 | + | ||
| 105 | + | ||
| 106 | + JZ_INSCODE_5AFRAME_LASER_CONTROL = 0x10000C00, //激光控制 | ||
| 107 | + | ||
| 108 | + JZ_INSCODE_5AFRAME_SEARCHLIGHT_CONTROL = 0x10000E00, //探照灯开光 | ||
| 109 | + JZ_INSCODE_5AFRAME_SEARCHLIGHT_SET_LUMEN = 0x10000E10, //设置探照灯亮度 | ||
| 110 | + JZ_INSCODE_5AFRAME_SEARCHLIGHT_SET_FREQUENCY = 0x10000E20, //设置把爆闪频率 | ||
| 111 | + JZ_INSCODE_5AFRAME_SEARCHLIGHT_MESSAGE_SUBSCRIPTION_CONTROL = 0x10000E21,//探照灯消息订阅控制 | ||
| 112 | + | ||
| 113 | + JZ_INSCODE_5AFRAME_WARNINGLIGHT_CONTROL = 0x10000F00, //警示灯模式控制 | ||
| 114 | + JZ_INSCODE_5AFRAME_WARNINGLIGHT_COLOUR = 0x10000F10, //警示灯颜色控制 | ||
| 115 | + | ||
| 116 | + | ||
| 117 | +//5B类帧 | ||
| 118 | + JZ_INSCODE_5BFRAME_FRAME = 0x10004000, //发送帧 | ||
| 119 | + | ||
| 120 | + JZ_INSCODE_5BFRAME_INITIATECONNECT = 0x10004101, //主动连接 | ||
| 121 | + | ||
| 122 | + JZ_INSCODE_5BFRAME_SUCESS = 0x10004200, //操作成功 | ||
| 123 | + JZ_INSCODE_5BFRAME_DEFEAT = 0x10004201, //操作失败 | ||
| 124 | + | ||
| 125 | + JZ_INSCODE_5BFRAME_MUSICLIST_START = 0x10004300, //开启发送音乐列表帧 | ||
| 126 | + JZ_INSCODE_5BFRAME_MUSICLIST_TRANS = 0x10004301, //发送音乐列表帧 | ||
| 127 | + JZ_INSCODE_5BFRAME_MUSICLIST_STOP = 0x10004302, //结束发送音乐列表帧 | ||
| 128 | + | ||
| 129 | + JZ_INSCODE_5BFRAME_AUDIO_PLAYSTATUS = 0x10004310, //音频播放状态返回帧 | ||
| 130 | + JZ_INSCODE_5BFRAME_AUDIO_PLAYSTATUS_END = 0x10004311, //音频播放状态结束帧 | ||
| 131 | + | ||
| 132 | + JZ_INSCODE_5BFRAME_VOLUME = 0x10004400, //音量返回帧 | ||
| 133 | + JZ_INSCODE_5BFRAME_AUDIO_PLAYLOOPSTATUS = 0x10004401, //发送音频循环播放状态 | ||
| 134 | + JZ_INSCODE_5BFRAME_TTS_TONE = 0x10004402, //发送tts音色 | ||
| 135 | + JZ_INSCODE_5BFRAME_TTS_SPEED = 0x10004403, //发送tts语速 | ||
| 136 | + JZ_INSCODE_5BFRAME_AUDIO_PLAYFILENAME = 0x10004404, //当前播放的音频名字 | ||
| 137 | + | ||
| 138 | + | ||
| 139 | + JZ_INSCODE_5BFRAME_GIMBAL_PITCH = 0x10004500, //云台俯仰角度 | ||
| 140 | + JZ_INSCODE_5BFRAME_GIMBAL_YAW = 0x10004501, //云台航向角度 | ||
| 141 | + JZ_INSCODE_5BFRAME_GIMBAL_ROLL = 0x10004502, // | ||
| 142 | + | ||
| 143 | + JZ_INSCODE_5BFRAME_GIMBAL_PITCH_FINETUNING = 0x10004510, //云台俯仰微调值 | ||
| 144 | + | ||
| 145 | + | ||
| 146 | + JZ_INSCODE_5BFRAME_CHECKSTATUS_SEARCHLIGHT_TEMPERATURE = 0x10004600, //查询探照灯温度 | ||
| 147 | + JZ_INSCODE_5BFRAME_CHECKSTATUS_LASER_STATUS = 0x10004601, //查询激光状态 | ||
| 148 | + JZ_INSCODE_5BFRAME_CHECKSTATUS_SEARCHLIGHT_FREQUENCY = 0x10004602, //查询探照灯频率 | ||
| 149 | + JZ_INSCODE_5BFRAME_CHECKSTATUS_SEARCHLIGHT_MODE = 0x10004603, //查询探照灯模式 | ||
| 150 | + JZ_INSCODE_5BFRAME_CHECKSTATUS_SEARCHLIGHT_LUMEN = 0x10004604, //查询探照灯流明 | ||
| 151 | + | ||
| 152 | + JZ_INSCODE_5BFRAME_CHECKSTATUS_WARNINGLIGHT_STATUS = 0x10004700, //警示灯模式控制 | ||
| 153 | + JZ_INSCODE_5BFRAME_CHECKSTATUS_WARNINGLIGHT_COLOR = 0x10004701, //警示灯颜色控制 | ||
| 154 | + | ||
| 155 | + | ||
| 156 | + JZ_INSCODE_5BFRAME_SORTWAREVERSION = 0x10004800, //发送软件版本号 | ||
| 157 | + JZ_INSCODE_5BFRAME_HARDWAREVERSION = 0x10004801, //发送硬件版本号 | ||
| 158 | + JZ_INSCODE_5BFRAME_CHECKSTATUS_SERIALNUMBER = 0x10004802, //回复序列号 | ||
| 159 | + | ||
| 160 | +//6A类 | ||
| 161 | + JZ_INSCODE_6AFRAME_FRAME = 0x10008000, //发送帧 | ||
| 162 | + | ||
| 163 | + JZ_INSCODE_6AFRAME_SET_GIMBAL_ORIGIN = 0x10008101, //设置坐标0值 | ||
| 164 | + JZ_INSCODE_6AFRAME_SET_GIMBAL_MAXMIN_RANGE = 0x10008102, //设置云台范围最大最小值 | ||
| 165 | + JZ_INSCODE_6AFRAME_SET_LUMEN_MAXMIN_RANGE = 0x10008103, //设置灯光范围最大最小值 | ||
| 166 | + JZ_INSCODE_6AFRAME_SET_SERIALNUMBER = 0x10008104, //设置序列号 | ||
| 167 | + JZ_INSCODE_6AFRAME_SERVO_SELFCHECK = 0x10008105, //舵机自检 | ||
| 168 | + JZ_INSCODE_6AFRAME_GIMBAL_LINKAGE_CONTROL = 0x10008106, //开关云台联动 | ||
| 169 | + | ||
| 170 | + JZ_INSCODE_6AFRAME_CHECKSTATUS_SECONDARY_DEVICE_NAME = 0x10008400, //查询从设备设备名 | ||
| 171 | + JZ_INSCODE_6AFRAME_CHECKSTATUS_GIMBAL_LINKAGE = 0x10008401, //查询云台联动 | ||
| 172 | + | ||
| 173 | +//6B类 | ||
| 174 | + JZ_INSCODE_6BFRAME_CHECKSTATUS_SECONDARY_DEVICE_NAME = 0x1000C400, //回复从设备名 | ||
| 175 | + JZ_INSCODE_6BFRAME_CHECKSTATUS_GIMBAL_LINKAGE = 0x1000C401, //回复云台联动 | ||
| 176 | + | ||
| 177 | + | ||
| 178 | + | ||
| 179 | +} JZ_InsCode; | ||
| 180 | + | ||
| 181 | + | ||
| 182 | +/* Exported types ------------------------------------------------------------*/ | ||
| 183 | + | ||
| 184 | + | ||
| 185 | +/* Exported functions --------------------------------------------------------*/ | ||
| 186 | + | ||
| 187 | +#ifdef __cplusplus | ||
| 188 | +} | ||
| 189 | +#endif | ||
| 190 | + | ||
| 191 | +#endif |
| 1 | +#include <stdint.h> | ||
| 2 | +#include <stdbool.h> | ||
| 3 | +#include <stddef.h> | ||
| 4 | +#include <string.h> | ||
| 5 | +#include <stdlib.h> | ||
| 6 | +#include <stdio.h> | ||
| 7 | +#include <string.h> | ||
| 8 | + | ||
| 9 | +#include "./JZsdk_Code.h" | ||
| 10 | + | ||
| 11 | + | ||
| 12 | + | ||
| 13 | +//获取返回码的信息 | ||
| 14 | +const char* JZsdk_GetReturnCodeMessage(T_JZsdkReturnCode ReturnCode) | ||
| 15 | +{ | ||
| 16 | + switch (ReturnCode) { | ||
| 17 | + case JZ_ERRORCODE_REALTIMEVOICE_HAS_BEEN_ON: | ||
| 18 | + return "实时语音被开启,该操作失败"; | ||
| 19 | + | ||
| 20 | + default: | ||
| 21 | + return "未知错误:Unknown error."; | ||
| 22 | + } | ||
| 23 | +} |
| 1 | + | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + ******************************************************************** | ||
| 5 | + * @file JZsdk_ReturnCode.h | ||
| 6 | + * 用于记录各类码的表 | ||
| 7 | + * | ||
| 8 | + ********************************************************************* | ||
| 9 | + */ | ||
| 10 | + | ||
| 11 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 12 | +#ifndef JZSDK_RETURNCODE_H | ||
| 13 | +#define JZSDK_RETURNCODE_H | ||
| 14 | + | ||
| 15 | +/* Includes ------------------------------------------------------------------*/ | ||
| 16 | +#include <stdint.h> | ||
| 17 | +#include "JZsdk_ErrorCode.h" | ||
| 18 | + | ||
| 19 | +#ifdef __cplusplus | ||
| 20 | +extern "C" { | ||
| 21 | +#endif | ||
| 22 | + | ||
| 23 | +/* Exported constants --------------------------------------------------------*/ | ||
| 24 | +/* 常亮定义*/ | ||
| 25 | + | ||
| 26 | + | ||
| 27 | + | ||
| 28 | + | ||
| 29 | + | ||
| 30 | + | ||
| 31 | + | ||
| 32 | +/* Exported types ------------------------------------------------------------*/ | ||
| 33 | +//重定义一个返回码 | ||
| 34 | +typedef uint64_t T_JZsdkReturnCode; | ||
| 35 | + | ||
| 36 | +/* Exported functions --------------------------------------------------------*/ | ||
| 37 | +const char* JZsdk_GetReturnCodeMessage(T_JZsdkReturnCode ReturnCode); | ||
| 38 | + | ||
| 39 | +#ifdef __cplusplus | ||
| 40 | +} | ||
| 41 | +#endif | ||
| 42 | + | ||
| 43 | +#endif |
JZsdk/JZsdk_Base/JZsdk_Delay/JZsdk_Delay.c
0 → 100644
JZsdk/JZsdk_Base/JZsdk_Delay/JZsdk_Delay.h
0 → 100644
| 1 | +/** | ||
| 2 | + ******************************************************************** | ||
| 3 | + * @file JZsdk_FileSystem.h | ||
| 4 | + * 用于文件系统操作 | ||
| 5 | + * | ||
| 6 | + ********************************************************************* | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 10 | +#ifndef JZSDK_DELAY_H | ||
| 11 | +#define JZSDK_DELAY_H | ||
| 12 | + | ||
| 13 | +/* Includes ------------------------------------------------------------------*/ | ||
| 14 | + | ||
| 15 | +#ifdef __cplusplus | ||
| 16 | +extern "C" { | ||
| 17 | +#endif | ||
| 18 | + | ||
| 19 | +/* Exported constants --------------------------------------------------------*/ | ||
| 20 | +/* 常亮定义*/ | ||
| 21 | + | ||
| 22 | + | ||
| 23 | +/* Exported types ------------------------------------------------------------*/ | ||
| 24 | + | ||
| 25 | + | ||
| 26 | +/* Exported functions --------------------------------------------------------*/ | ||
| 27 | +int delayMs(unsigned long msec); | ||
| 28 | +int delayS(unsigned long sec); | ||
| 29 | + | ||
| 30 | +#ifdef __cplusplus | ||
| 31 | +} | ||
| 32 | +#endif | ||
| 33 | + | ||
| 34 | +#endif | ||
| 35 | +/************************ (C) COPYRIGHT DJI Innovations *******END OF FILE******/ |
| 1 | +#include <stdio.h> | ||
| 2 | +#include "./JZsdk_FrameComparsion.h" | ||
| 3 | +#include "../JZsdk_Code/JZsdk_Code.h" | ||
| 4 | + | ||
| 5 | +/************************* | ||
| 6 | + * | ||
| 7 | + * 获取帧的序列号 | ||
| 8 | + * | ||
| 9 | + * ***************************/ | ||
| 10 | +int JZsdk_Get_FrameSequence(char *DealBuf) | ||
| 11 | +{ | ||
| 12 | + return DealBuf[6]; | ||
| 13 | +} | ||
| 14 | + | ||
| 15 | +/*************************** | ||
| 16 | + * 、 | ||
| 17 | + * | ||
| 18 | + * 帧校对 获取功能 | ||
| 19 | + * | ||
| 20 | + * | ||
| 21 | + * ***********************/ | ||
| 22 | +int JZsdk_FrameComparsion(char *getdata, int len) | ||
| 23 | +{ | ||
| 24 | + //1、判断是否是5A帧 | ||
| 25 | + if (getdata[0] == 0x5A && getdata[1] == 0x5A && getdata[2] == 0x77) | ||
| 26 | + { | ||
| 27 | + printf("JZsdk_FrameComparsion:5A帧\n"); | ||
| 28 | + return JZsdk_5AFrameComparsion(getdata, len); | ||
| 29 | + } | ||
| 30 | + | ||
| 31 | + //2、判断是否是5B帧 | ||
| 32 | + if (getdata[0] == 0x5b && getdata[1] == 0x5b && getdata[2] == 0x77) | ||
| 33 | + { | ||
| 34 | + printf("JZsdk_FrameComparsion:5B帧\n"); | ||
| 35 | + return JZsdk_5BFrameComparsion(getdata, len); | ||
| 36 | + } | ||
| 37 | + | ||
| 38 | + //3、判断是否是6A帧 | ||
| 39 | + if (getdata[0] == 0x6A && getdata[1] == 0x6A && getdata[2] == 0x77) | ||
| 40 | + { | ||
| 41 | + printf("JZsdk_FrameComparsion:6A帧\n"); | ||
| 42 | + return JZsdk_6AFrameComparsion(getdata, len); | ||
| 43 | + } | ||
| 44 | + | ||
| 45 | + //4、判断是否是6B帧 | ||
| 46 | + if (getdata[0] == 0x6b && getdata[1] == 0x6b && getdata[2] == 0x77) | ||
| 47 | + { | ||
| 48 | + printf("JZsdk_FrameComparsion:6B帧\n"); | ||
| 49 | + return JZsdk_6BFrameComparsion(getdata, len); | ||
| 50 | + } | ||
| 51 | + | ||
| 52 | + //判断帧头帧尾 | ||
| 53 | + if ( | ||
| 54 | + ( (getdata[0]!= 0x5a) && (getdata[1] != 0x5a) && (getdata[2]!=0x77) ) | ||
| 55 | + || ( (getdata[len -2]!= 0x00) && (getdata[ len -1] != 0x23) ) | ||
| 56 | + ) | ||
| 57 | + { | ||
| 58 | + printf("接受到的帧,没有帧头或者帧尾,退出recv帧判断函数\n"); | ||
| 59 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 60 | + } | ||
| 61 | +} |
| 1 | +/** | ||
| 2 | + ******************************************************************** | ||
| 3 | + * @file JZsdk_FrameComparsion.h | ||
| 4 | + * 用于帧对比的头文件 | ||
| 5 | + * | ||
| 6 | + ********************************************************************* | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 10 | +#ifndef JZSDK_FRAMECOMPARSION_H | ||
| 11 | +#define JZSDK_FRAMECOMPARSION_H | ||
| 12 | + | ||
| 13 | +/* Includes ------------------------------------------------------------------*/ | ||
| 14 | + | ||
| 15 | +#ifdef __cplusplus | ||
| 16 | +extern "C" { | ||
| 17 | +#endif | ||
| 18 | + | ||
| 19 | +/* Exported constants --------------------------------------------------------*/ | ||
| 20 | +/* 常亮定义*/ | ||
| 21 | +#include "JZsdk_FrameComparsion_5Aframe.h" | ||
| 22 | +#include "JZsdk_FrameComparsion_5Bframe.h" | ||
| 23 | +#include "JZsdk_FrameComparsion_6Aframe.h" | ||
| 24 | +#include "JZsdk_FrameComparsion_6Bframe.h" | ||
| 25 | +#include "JZsdk_GetFrameTemplate.h" | ||
| 26 | + | ||
| 27 | +/* Exported types ------------------------------------------------------------*/ | ||
| 28 | + | ||
| 29 | + | ||
| 30 | +/* Exported functions --------------------------------------------------------*/ | ||
| 31 | +int JZsdk_Get_FrameSequence(char *DealBuf); | ||
| 32 | +int JZsdk_FrameComparsion(char *getdata, int len); | ||
| 33 | + | ||
| 34 | +#ifdef __cplusplus | ||
| 35 | +} | ||
| 36 | +#endif | ||
| 37 | + | ||
| 38 | +#endif |
| 1 | +#include <stdio.h> | ||
| 2 | +#include "../JZsdk_Code/JZsdk_Code.h" | ||
| 3 | + | ||
| 4 | +/****************************************************** | ||
| 5 | + | ||
| 6 | + 接收一级功能码区 | ||
| 7 | + | ||
| 8 | +/******************************************************/ | ||
| 9 | +//一级功能码是连接功能 | ||
| 10 | +static int Comparison_5AFRAME_FirstLevelCode_0x50(char *getdata) | ||
| 11 | +{ | ||
| 12 | + //二级功能位 | ||
| 13 | + switch (getdata[8]) | ||
| 14 | + { | ||
| 15 | + //开启连接 | ||
| 16 | + case 0x51: | ||
| 17 | + return JZ_INSCODE_5AFRAME_ASKFORCONNECT; | ||
| 18 | + break; | ||
| 19 | + | ||
| 20 | + default: | ||
| 21 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 22 | + break; | ||
| 23 | + } | ||
| 24 | +} | ||
| 25 | +//一级功能码是语音 或是 文件功能 | ||
| 26 | +static int Comparison_5AFRAME_FirstLevelCode_0x51(char *getdata) | ||
| 27 | +{ | ||
| 28 | + //二级功能位 | ||
| 29 | + switch (getdata[8]) | ||
| 30 | + { | ||
| 31 | + //开启语音 | ||
| 32 | + case 0xb1: | ||
| 33 | + return JZ_INSCODE_5AFRAME_REALTIMEMP2_START; | ||
| 34 | + break; | ||
| 35 | + | ||
| 36 | + //结束语音 | ||
| 37 | + case 0xb2: | ||
| 38 | + return JZ_INSCODE_5AFRAME_REALTIMEMP2_STOP; | ||
| 39 | + break; | ||
| 40 | + | ||
| 41 | + //打开音频文件上传 | ||
| 42 | + case 0x01: | ||
| 43 | + return JZ_INSCODE_5AFRAME_AUDIOFILE_TRANS_START; | ||
| 44 | + break; | ||
| 45 | + | ||
| 46 | + //关闭音频文件上传 | ||
| 47 | + case 0x03: | ||
| 48 | + return JZ_INSCODE_5AFRAME_AUDIOFILE_TRANS_STOP; | ||
| 49 | + break; | ||
| 50 | + | ||
| 51 | + default: | ||
| 52 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 53 | + break; | ||
| 54 | + } | ||
| 55 | +} | ||
| 56 | +//一级功能码是音频/功放/音量调节 | ||
| 57 | +static int Comparison_5AFRAME_FirstLevelCode_0x52(char *getdata) | ||
| 58 | +{ | ||
| 59 | + //二级功能位 | ||
| 60 | + switch (getdata[8]) | ||
| 61 | + { | ||
| 62 | + //播放指定音频 | ||
| 63 | + case 0x02: | ||
| 64 | + return JZ_INSCODE_5AFRAME_AUDIO_PLAYFILE; | ||
| 65 | + break; | ||
| 66 | + | ||
| 67 | + //音频继续播放 | ||
| 68 | + case 0x04: | ||
| 69 | + return JZ_INSCODE_5AFRAME_AUDIO_CONTINUE; | ||
| 70 | + break; | ||
| 71 | + | ||
| 72 | + //音频暂停播放 | ||
| 73 | + case 0x05: | ||
| 74 | + return JZ_INSCODE_5AFRAME_AUDIO_PAUSE; | ||
| 75 | + break; | ||
| 76 | + | ||
| 77 | + //音频停止播放 | ||
| 78 | + case 0x06: | ||
| 79 | + return JZ_INSCODE_5AFRAME_AUDIO_STOP; | ||
| 80 | + break; | ||
| 81 | + | ||
| 82 | + //音频上一曲 | ||
| 83 | + case 0x07: | ||
| 84 | + return JZ_INSCODE_5AFRAME_AUDIO_LASTSONG; | ||
| 85 | + break; | ||
| 86 | + | ||
| 87 | + //音频下一曲 | ||
| 88 | + case 0x08: | ||
| 89 | + return JZ_INSCODE_5AFRAME_AUDIO_NEXTSONG; | ||
| 90 | + break; | ||
| 91 | + | ||
| 92 | + //强制关闭功放 | ||
| 93 | + case 0x20: | ||
| 94 | + return JZ_INSCODE_5AFRAME_AMPLIFIER_STOP; | ||
| 95 | + break; | ||
| 96 | + | ||
| 97 | + //强制开启功放 | ||
| 98 | + case 0x21: | ||
| 99 | + return JZ_INSCODE_5AFRAME_AMPLIFIER_OPEN; | ||
| 100 | + break; | ||
| 101 | + | ||
| 102 | + //恢复自动功放 | ||
| 103 | + case 0x22: | ||
| 104 | + return JZ_INSCODE_5AFRAME_AMPLIFIER_AUTO; | ||
| 105 | + break; | ||
| 106 | + | ||
| 107 | + //调节音量 | ||
| 108 | + case 0x10: | ||
| 109 | + return JZ_INSCODE_5AFRAME_VOLUME; | ||
| 110 | + break; | ||
| 111 | + | ||
| 112 | + default: | ||
| 113 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 114 | + break; | ||
| 115 | + } | ||
| 116 | +} | ||
| 117 | +//一级功能码是查询状态 | ||
| 118 | +static int Comparison_5AFRAME_FirstLevelCode_0x53(char *getdata) | ||
| 119 | +{ | ||
| 120 | + //二级功能位 | ||
| 121 | + switch (getdata[8]) | ||
| 122 | + { | ||
| 123 | + //查询音量 | ||
| 124 | + case 0x01: | ||
| 125 | + return JZ_INSCODE_5AFRAME_CHECKSTATUS_VOLUME; | ||
| 126 | + break; | ||
| 127 | + | ||
| 128 | + //查询播放状态 | ||
| 129 | + case 0x02: | ||
| 130 | + return JZ_INSCODE_5AFRAME_CHECKSTATUS_PLAY; | ||
| 131 | + break; | ||
| 132 | + | ||
| 133 | + //查询云台角度(已舍弃) | ||
| 134 | + case 0x03: | ||
| 135 | + return JZ_INSCODE_5AFRAME_CHECKSTATUS_GIMBAL; | ||
| 136 | + break; | ||
| 137 | + | ||
| 138 | + //查询播放文件名 | ||
| 139 | + case 0x04: | ||
| 140 | + return JZ_INSCODE_5AFRAME_CHECKSTATUS_PLAYFILENAME; | ||
| 141 | + break; | ||
| 142 | + | ||
| 143 | + //查询是否打开循环 | ||
| 144 | + case 0x05: | ||
| 145 | + return JZ_INSCODE_5AFRAME_CHECKSTATUS_LOOPPLAY; | ||
| 146 | + break; | ||
| 147 | + | ||
| 148 | + //查询音色 | ||
| 149 | + case 0x06: | ||
| 150 | + return JZ_INSCODE_5AFRAME_CHECKSTATUS_TTSTONE; | ||
| 151 | + break; | ||
| 152 | + | ||
| 153 | + //查询语速 | ||
| 154 | + case 0x07: | ||
| 155 | + return JZ_INSCODE_5AFRAME_CHECKSTATUS_TTSSPEED; | ||
| 156 | + break; | ||
| 157 | + | ||
| 158 | + | ||
| 159 | + //查询软件版本号 | ||
| 160 | + case 0xf1: | ||
| 161 | + return JZ_INSCODE_5AFRAME_CHECKSTATUS_SOFTWAREVERSION; | ||
| 162 | + break; | ||
| 163 | + | ||
| 164 | + default: | ||
| 165 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 166 | + break; | ||
| 167 | + } | ||
| 168 | + | ||
| 169 | +} | ||
| 170 | +//一级功能码是删除 | ||
| 171 | +static int Comparison_5AFRAME_FirstLevelCode_0x54(char *getdata) | ||
| 172 | +{ | ||
| 173 | + //二级功能位 | ||
| 174 | + switch (getdata[8]) | ||
| 175 | + { | ||
| 176 | + //删除音频 | ||
| 177 | + case 0x02: | ||
| 178 | + return JZ_INSCODE_5AFRAME_DELETE_AUDIO; | ||
| 179 | + break; | ||
| 180 | + | ||
| 181 | + //删除录音 | ||
| 182 | + case 0x03: | ||
| 183 | + return JZ_INSCODE_5AFRAME_DELETE_VOICE_RECORD; | ||
| 184 | + break; | ||
| 185 | + | ||
| 186 | + // //删除视频 | ||
| 187 | + // case 0x02: | ||
| 188 | + // return JZ_INSCODE_DELETE_VIDEO_RECORD; | ||
| 189 | + // break; | ||
| 190 | + | ||
| 191 | + default: | ||
| 192 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 193 | + break; | ||
| 194 | + } | ||
| 195 | +} | ||
| 196 | +//一级功能码开启关闭循环 | ||
| 197 | +static int Comparison_5AFRAME_FirstLevelCode_0x55(char *getdata) | ||
| 198 | +{ | ||
| 199 | + //二级功能位 | ||
| 200 | + switch (getdata[8]) | ||
| 201 | + { | ||
| 202 | + //开启关闭循环 | ||
| 203 | + case 0x00: | ||
| 204 | + return JZ_INSCODE_5AFRAME_PLAY_LOOP; | ||
| 205 | + break; | ||
| 206 | + | ||
| 207 | + default: | ||
| 208 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 209 | + break; | ||
| 210 | + } | ||
| 211 | +} | ||
| 212 | +//一级功能码 | ||
| 213 | +static int Comparison_5AFRAME_FirstLevelCode_0x56(char *getdata) | ||
| 214 | +{ | ||
| 215 | + //二级功能位 | ||
| 216 | + switch (getdata[8]) | ||
| 217 | + { | ||
| 218 | + default: | ||
| 219 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 220 | + break; | ||
| 221 | + } | ||
| 222 | +} | ||
| 223 | +//一级功能码是 文本播放 | ||
| 224 | +static int Comparison_5AFRAME_FirstLevelCode_0x57(char *getdata) | ||
| 225 | +{ | ||
| 226 | + //二级功能位 | ||
| 227 | + switch (getdata[8]) | ||
| 228 | + { | ||
| 229 | + //设置音色 | ||
| 230 | + case 0x01: | ||
| 231 | + return JZ_INSCODE_5AFRAME_TTS_SET_TONE; | ||
| 232 | + break; | ||
| 233 | + | ||
| 234 | + //设置语速 | ||
| 235 | + case 0x02: | ||
| 236 | + return JZ_INSCODE_5AFRAME_TTS_SET_SPEED; | ||
| 237 | + break; | ||
| 238 | + | ||
| 239 | + //开始发送TTS | ||
| 240 | + case 0x03: | ||
| 241 | + return JZ_INSCODE_5AFRAME_TTS_TRANS_START; | ||
| 242 | + break; | ||
| 243 | + | ||
| 244 | + case 0x04: | ||
| 245 | + return JZ_INSCODE_5AFRAME_TTS_TRANS_STOP; | ||
| 246 | + break; | ||
| 247 | + | ||
| 248 | + default: | ||
| 249 | + break; | ||
| 250 | + } | ||
| 251 | +} | ||
| 252 | +//一级功能 查询列表 | ||
| 253 | +static int Comparison_5AFRAME_FirstLevelCode_0x58(char *getdata) | ||
| 254 | +{ | ||
| 255 | + //二级功能位 | ||
| 256 | + switch (getdata[8]) | ||
| 257 | + { | ||
| 258 | + //设置音色 | ||
| 259 | + case 0x01: | ||
| 260 | + return JZ_INSCODE_5AFRAME_AUDIO_GETMUSICLIST; | ||
| 261 | + break; | ||
| 262 | + | ||
| 263 | + default: | ||
| 264 | + break; | ||
| 265 | + } | ||
| 266 | +} | ||
| 267 | +//一级功能码opus功能 | ||
| 268 | +static int Comparison_5AFRAME_FirstLevelCode_0x59(char *getdata) | ||
| 269 | +{ | ||
| 270 | + //二级功能位 | ||
| 271 | + switch (getdata[8]) | ||
| 272 | + { | ||
| 273 | + //opus录音传输 | ||
| 274 | + //opus传输开始 | ||
| 275 | + case 0xF1: | ||
| 276 | + return JZ_INSCODE_5AFRAME_OPUS_TRANS_START; | ||
| 277 | + break; | ||
| 278 | + | ||
| 279 | + //opus传输结束 | ||
| 280 | + case 0xF2: | ||
| 281 | + return JZ_INSCODE_5AFRAME_OPUS_TRANS_STOP; | ||
| 282 | + break; | ||
| 283 | + | ||
| 284 | + //opus播放 | ||
| 285 | + case 0x01: | ||
| 286 | + return JZ_INSCODE_5AFRAME_OPUS_PLAY; | ||
| 287 | + break; | ||
| 288 | + | ||
| 289 | + //opus实时语音开始 | ||
| 290 | + case 0xE1: | ||
| 291 | + return JZ_INSCODE_5AFRAME_OPUS_REALTIMEVOICE_START; | ||
| 292 | + break; | ||
| 293 | + | ||
| 294 | + case 0xE2: | ||
| 295 | + return JZ_INSCODE_5AFRAME_OPUS_REALTIMEVOICE_STOP; | ||
| 296 | + break; | ||
| 297 | + | ||
| 298 | + default: | ||
| 299 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 300 | + break; | ||
| 301 | + } | ||
| 302 | +} | ||
| 303 | + | ||
| 304 | + | ||
| 305 | +//一级功能码 激光控制 | ||
| 306 | +static int Comparison_5AFRAME_FirstLevelCode_0x60(char *getdata) | ||
| 307 | +{ | ||
| 308 | + //二级功能位 | ||
| 309 | + switch (getdata[8]) | ||
| 310 | + { | ||
| 311 | + //激光控制 | ||
| 312 | + case 0x51: | ||
| 313 | + return JZ_INSCODE_5AFRAME_LASER_CONTROL; | ||
| 314 | + break; | ||
| 315 | + | ||
| 316 | + default: | ||
| 317 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 318 | + break; | ||
| 319 | + } | ||
| 320 | +} | ||
| 321 | + | ||
| 322 | +//一级功能码 爆闪频率 | ||
| 323 | +static int Comparison_5AFRAME_FirstLevelCode_0x61(char *getdata) | ||
| 324 | +{ | ||
| 325 | + //二级功能位 | ||
| 326 | + switch (getdata[8]) | ||
| 327 | + { | ||
| 328 | + //爆闪频率 | ||
| 329 | + case 0x51: | ||
| 330 | + return JZ_INSCODE_5AFRAME_SEARCHLIGHT_SET_FREQUENCY; | ||
| 331 | + break; | ||
| 332 | + | ||
| 333 | + default: | ||
| 334 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 335 | + break; | ||
| 336 | + } | ||
| 337 | +} | ||
| 338 | + | ||
| 339 | +//一级功能码 灯光控制 | ||
| 340 | +static int Comparison_5AFRAME_FirstLevelCode_0x62(char *getdata) | ||
| 341 | +{ | ||
| 342 | + //二级功能位 | ||
| 343 | + switch (getdata[8]) | ||
| 344 | + { | ||
| 345 | + //灯光模式 | ||
| 346 | + case 0x51: | ||
| 347 | + return JZ_INSCODE_5AFRAME_SEARCHLIGHT_CONTROL; | ||
| 348 | + break; | ||
| 349 | + | ||
| 350 | + default: | ||
| 351 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 352 | + break; | ||
| 353 | + } | ||
| 354 | +} | ||
| 355 | + | ||
| 356 | +//一级功能码 灯光亮度 | ||
| 357 | +static int Comparison_5AFRAME_FirstLevelCode_0x63(char *getdata) | ||
| 358 | +{ | ||
| 359 | + //二级功能位 | ||
| 360 | + switch (getdata[8]) | ||
| 361 | + { | ||
| 362 | + //灯光亮度 | ||
| 363 | + case 0x51: | ||
| 364 | + return JZ_INSCODE_5AFRAME_SEARCHLIGHT_SET_LUMEN; | ||
| 365 | + break; | ||
| 366 | + | ||
| 367 | + default: | ||
| 368 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 369 | + break; | ||
| 370 | + } | ||
| 371 | +} | ||
| 372 | + | ||
| 373 | +//一级功能码云台功能 | ||
| 374 | +static int Comparison_5AFRAME_FirstLevelCode_0x64(char *getdata) | ||
| 375 | +{ | ||
| 376 | + //二级功能位 | ||
| 377 | + switch (getdata[8]) | ||
| 378 | + { | ||
| 379 | + //云台俯仰控制 | ||
| 380 | + case 0x51: | ||
| 381 | + return JZ_INSCODE_5AFRAME_GIMBAL_PITCH_CONTROL; | ||
| 382 | + break; | ||
| 383 | + | ||
| 384 | + //云台俯仰微调控制 | ||
| 385 | + case 0x52: | ||
| 386 | + return JZ_INSCODE_5AFRAME_GIMBAL_PITCH_FINETUNING_CONTROL; | ||
| 387 | + break; | ||
| 388 | + | ||
| 389 | + default: | ||
| 390 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 391 | + break; | ||
| 392 | + } | ||
| 393 | +} | ||
| 394 | + | ||
| 395 | +//一级功能码 云台航向 | ||
| 396 | +static int Comparison_5AFRAME_FirstLevelCode_0x65(char *getdata) | ||
| 397 | +{ | ||
| 398 | + | ||
| 399 | +} | ||
| 400 | + | ||
| 401 | +//一级功能码 警灯模式控制 | ||
| 402 | +static int Comparison_5AFRAME_FirstLevelCode_0x66(char *getdata) | ||
| 403 | +{ | ||
| 404 | + switch (getdata[8]) | ||
| 405 | + { | ||
| 406 | + //警灯模式控制 | ||
| 407 | + case 0x51: | ||
| 408 | + return JZ_INSCODE_5AFRAME_WARNINGLIGHT_CONTROL; | ||
| 409 | + break; | ||
| 410 | + | ||
| 411 | + default: | ||
| 412 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 413 | + break; | ||
| 414 | + } | ||
| 415 | +} | ||
| 416 | + | ||
| 417 | +//一级功能码 警灯眼色选择 | ||
| 418 | +static int Comparison_5AFRAME_FirstLevelCode_0x67(char *getdata) | ||
| 419 | +{ | ||
| 420 | + switch (getdata[8]) | ||
| 421 | + { | ||
| 422 | + //警灯颜色选择 | ||
| 423 | + case 0x51: | ||
| 424 | + return JZ_INSCODE_5AFRAME_WARNINGLIGHT_COLOUR; | ||
| 425 | + break; | ||
| 426 | + | ||
| 427 | + default: | ||
| 428 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 429 | + break; | ||
| 430 | + } | ||
| 431 | +} | ||
| 432 | + | ||
| 433 | +//一级功能码 探照灯消息订阅 | ||
| 434 | +static int Comparison_5AFRAME_FirstLevelCode_0x68(char *getdata) | ||
| 435 | +{ | ||
| 436 | + switch (getdata[8]) | ||
| 437 | + { | ||
| 438 | + //探照灯消息订阅 | ||
| 439 | + case 0x51: | ||
| 440 | + return JZ_INSCODE_5AFRAME_SEARCHLIGHT_MESSAGE_SUBSCRIPTION_CONTROL; | ||
| 441 | + break; | ||
| 442 | + | ||
| 443 | + default: | ||
| 444 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 445 | + break; | ||
| 446 | + } | ||
| 447 | + | ||
| 448 | +} | ||
| 449 | + | ||
| 450 | +//一级功能码 私有协议 | ||
| 451 | +static int Comparison_5AFRAME_FirstLevelCode_0x69(char *getdata) | ||
| 452 | +{ | ||
| 453 | + | ||
| 454 | +} | ||
| 455 | + | ||
| 456 | +//一级功能码 6F查询帧 | ||
| 457 | +static int Comparison_5AFRAME_FirstLevelCode_0x6F(char *getdata) | ||
| 458 | +{ | ||
| 459 | + //二级功能位 | ||
| 460 | + switch (getdata[8]) | ||
| 461 | + { | ||
| 462 | + //灯光查询 | ||
| 463 | + case 0x51: | ||
| 464 | + return JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_LIGHTATTRIBUTE; | ||
| 465 | + break; | ||
| 466 | + | ||
| 467 | + //温度查询 | ||
| 468 | + case 0x52: | ||
| 469 | + return JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_TEMPERATURE; | ||
| 470 | + break; | ||
| 471 | + | ||
| 472 | + //激光查询 | ||
| 473 | + case 0x53: | ||
| 474 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 475 | + break; | ||
| 476 | + | ||
| 477 | + //云台角度查询 | ||
| 478 | + case 0x54: | ||
| 479 | + return JZ_INSCODE_5AFRAME_CHECKSTATUS_GIMBAL; | ||
| 480 | + break; | ||
| 481 | + | ||
| 482 | + //警灯状态查询 | ||
| 483 | + case 0x55: | ||
| 484 | + return JZ_INSCODE_5AFRAME_CHECKSTATUS_WARNINGLIGHT_STATUS; | ||
| 485 | + break; | ||
| 486 | + | ||
| 487 | + //警灯颜色查询 | ||
| 488 | + case 0x56: | ||
| 489 | + return JZ_INSCODE_5AFRAME_CHECKSTATUS_WARNINGLIGHT_COLOR; | ||
| 490 | + break; | ||
| 491 | + | ||
| 492 | + //产品序列号查询 | ||
| 493 | + case 0x57: | ||
| 494 | + return JZ_INSCODE_5AFRAME_CHECKSTATUS_SERIALNUMBER; | ||
| 495 | + break; | ||
| 496 | + | ||
| 497 | + //云台微调值查询 | ||
| 498 | + case 0x58: | ||
| 499 | + return JZ_INSCODE_5AFRAME_CHECKSTATUS_GIMBAL_FINETUNING; | ||
| 500 | + break; | ||
| 501 | + | ||
| 502 | + default: | ||
| 503 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 504 | + break; | ||
| 505 | + } | ||
| 506 | +} | ||
| 507 | + | ||
| 508 | +/****************************************************************** | ||
| 509 | + | ||
| 510 | + 回复帧对比 | ||
| 511 | + 成功返回帧类型 无对比数据返回 JZ_ERROR_SYSTEM_FRAME_ERROR | ||
| 512 | + | ||
| 513 | +******************************************************************/ | ||
| 514 | +int JZsdk_5AFrameComparsion(char *getdata, int len) | ||
| 515 | +{ | ||
| 516 | + //1、判断帧头帧尾 | ||
| 517 | + if ( | ||
| 518 | + ( (getdata[0]!= 0x5a) && (getdata[1] != 0x5a) && (getdata[2]!=0x77) ) | ||
| 519 | + || ( (getdata[len -2]!= 0x00) && (getdata[ len -1] != 0x23) ) | ||
| 520 | + ) | ||
| 521 | + { | ||
| 522 | + printf("接受到的帧,没有帧头或者帧尾,退出JZsdk_5AFrameComparsion函数\n"); | ||
| 523 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 524 | + } | ||
| 525 | + | ||
| 526 | + //一级功能码 | ||
| 527 | + switch (getdata[7]) | ||
| 528 | + { | ||
| 529 | +/********************************************************************************************************************************************************* | ||
| 530 | + * | ||
| 531 | + * 连接请求码 | ||
| 532 | + * | ||
| 533 | +*********************************************************************************************************************************************************/ | ||
| 534 | + //一级功能码是连接请求 | ||
| 535 | + case 0x50: | ||
| 536 | + return Comparison_5AFRAME_FirstLevelCode_0x50(getdata); | ||
| 537 | + break; | ||
| 538 | + | ||
| 539 | +/********************************************************************************************************************************************************* | ||
| 540 | + * | ||
| 541 | + * 喊话器功能码 | ||
| 542 | + * | ||
| 543 | +*********************************************************************************************************************************************************/ | ||
| 544 | + //一级功能码 语音 / 音频文件功能 | ||
| 545 | + case 0x51: | ||
| 546 | + return Comparison_5AFRAME_FirstLevelCode_0x51(getdata); | ||
| 547 | + break; | ||
| 548 | + | ||
| 549 | + //一级功能码 音频/ 功放/ 音量调节 | ||
| 550 | + case 0x52: | ||
| 551 | + return Comparison_5AFRAME_FirstLevelCode_0x52(getdata); | ||
| 552 | + break; | ||
| 553 | + | ||
| 554 | + //一级功能码 查询状态 | ||
| 555 | + case 0x53: | ||
| 556 | + return Comparison_5AFRAME_FirstLevelCode_0x53(getdata); | ||
| 557 | + break; | ||
| 558 | + | ||
| 559 | + //一级功能码 删除 | ||
| 560 | + case 0x54: | ||
| 561 | + return Comparison_5AFRAME_FirstLevelCode_0x54(getdata); | ||
| 562 | + break; | ||
| 563 | + | ||
| 564 | + //一级功能码 开启关闭循环 | ||
| 565 | + case 0x55: | ||
| 566 | + return Comparison_5AFRAME_FirstLevelCode_0x55(getdata); | ||
| 567 | + break; | ||
| 568 | + | ||
| 569 | + //一级功能码 | ||
| 570 | + case 0x56: | ||
| 571 | + return Comparison_5AFRAME_FirstLevelCode_0x56(getdata); | ||
| 572 | + break; | ||
| 573 | + | ||
| 574 | + //一级功能码 TTS | ||
| 575 | + case 0x57: | ||
| 576 | + return Comparison_5AFRAME_FirstLevelCode_0x57(getdata); | ||
| 577 | + break; | ||
| 578 | + | ||
| 579 | + //一级功能码 查询列表功能 | ||
| 580 | + case 0x58: | ||
| 581 | + return Comparison_5AFRAME_FirstLevelCode_0x58(getdata); | ||
| 582 | + break; | ||
| 583 | + | ||
| 584 | + //一级功能码 opus | ||
| 585 | + case 0x59: | ||
| 586 | + return Comparison_5AFRAME_FirstLevelCode_0x59(getdata); | ||
| 587 | + break; | ||
| 588 | + | ||
| 589 | + //一级功能码 激光控制 | ||
| 590 | + case 0x60: | ||
| 591 | + return Comparison_5AFRAME_FirstLevelCode_0x60(getdata); | ||
| 592 | + break; | ||
| 593 | + | ||
| 594 | + //一级功能码 爆闪控制 | ||
| 595 | + case 0x61: | ||
| 596 | + return Comparison_5AFRAME_FirstLevelCode_0x61(getdata); | ||
| 597 | + break; | ||
| 598 | + | ||
| 599 | + //一级功能码 灯光控制 | ||
| 600 | + case 0x62: | ||
| 601 | + return Comparison_5AFRAME_FirstLevelCode_0x62(getdata); | ||
| 602 | + break; | ||
| 603 | + | ||
| 604 | + //一级功能码 灯光亮度 | ||
| 605 | + case 0x63: | ||
| 606 | + return Comparison_5AFRAME_FirstLevelCode_0x63(getdata); | ||
| 607 | + break; | ||
| 608 | + | ||
| 609 | + //一级功能码 云台俯仰 | ||
| 610 | + case 0x64: | ||
| 611 | + return Comparison_5AFRAME_FirstLevelCode_0x64(getdata); | ||
| 612 | + break; | ||
| 613 | + | ||
| 614 | + //一级功能码 云台航向 | ||
| 615 | + case 0x65: | ||
| 616 | + return Comparison_5AFRAME_FirstLevelCode_0x65(getdata); | ||
| 617 | + break; | ||
| 618 | + | ||
| 619 | + //一级功能码 警灯模式控制 | ||
| 620 | + case 0x66: | ||
| 621 | + return Comparison_5AFRAME_FirstLevelCode_0x66(getdata); | ||
| 622 | + break; | ||
| 623 | + | ||
| 624 | + //一级功能码 警灯眼色选择 | ||
| 625 | + case 0x67: | ||
| 626 | + return Comparison_5AFRAME_FirstLevelCode_0x67(getdata); | ||
| 627 | + break; | ||
| 628 | + | ||
| 629 | + //一级功能码 探照灯消息订阅 | ||
| 630 | + case 0x68: | ||
| 631 | + return Comparison_5AFRAME_FirstLevelCode_0x68(getdata); | ||
| 632 | + break; | ||
| 633 | + | ||
| 634 | + //一级功能码 私有协议 | ||
| 635 | + case 0x69: | ||
| 636 | + return Comparison_5AFRAME_FirstLevelCode_0x69(getdata); | ||
| 637 | + break; | ||
| 638 | + | ||
| 639 | + //一级功能码 6f查询帧 | ||
| 640 | + case 0x6F: | ||
| 641 | + return Comparison_5AFRAME_FirstLevelCode_0x6F(getdata); | ||
| 642 | + break; | ||
| 643 | + | ||
| 644 | + | ||
| 645 | + break; | ||
| 646 | + | ||
| 647 | + //一级功能码 | ||
| 648 | + | ||
| 649 | +/********************************************************************************************************************************************************* | ||
| 650 | + * | ||
| 651 | + * | ||
| 652 | + * | ||
| 653 | +*********************************************************************************************************************************************************/ | ||
| 654 | + default: | ||
| 655 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 656 | + break; | ||
| 657 | + } | ||
| 658 | +} | ||
| 659 | + |
| 1 | +/********************************************************************** | ||
| 2 | + * @file | ||
| 3 | + * | ||
| 4 | + * | ||
| 5 | + ********************************************************************* | ||
| 6 | + */ | ||
| 7 | + | ||
| 8 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 9 | +#ifndef JZSDK_FRAMECOMPARSION_5AFRAME_H | ||
| 10 | +#define JZSDK_FRAMECOMPARSION_5AFRAME_H | ||
| 11 | + | ||
| 12 | +/* Includes ------------------------------------------------------------------*/ | ||
| 13 | + | ||
| 14 | +#ifdef __cplusplus | ||
| 15 | +extern "C" { | ||
| 16 | +#endif | ||
| 17 | + | ||
| 18 | +/* Exported constants --------------------------------------------------------*/ | ||
| 19 | +/* 常亮定义*/ | ||
| 20 | + | ||
| 21 | +/* Exported types ------------------------------------------------------------*/ | ||
| 22 | + | ||
| 23 | +/* Exported functions --------------------------------------------------------*/ | ||
| 24 | + | ||
| 25 | +int JZsdk_5AFrameComparsion(char *getdata, int len); | ||
| 26 | + | ||
| 27 | +#ifdef __cplusplus | ||
| 28 | +} | ||
| 29 | +#endif | ||
| 30 | + | ||
| 31 | +#endif |
| 1 | +#include <stdio.h> | ||
| 2 | +#include "../JZsdk_Code/JZsdk_Code.h" | ||
| 3 | + | ||
| 4 | + | ||
| 5 | +/****************************************************** | ||
| 6 | + | ||
| 7 | + 接收一级功能码区 | ||
| 8 | + | ||
| 9 | +/******************************************************/ | ||
| 10 | +//一级功能码是连接功能 | ||
| 11 | +static int Comparison_5BFRAME_FirstLevelCode_0x50(char *getdata) | ||
| 12 | +{ | ||
| 13 | + //二级功能位 | ||
| 14 | + switch (getdata[8]) | ||
| 15 | + { | ||
| 16 | + //回复连接 | ||
| 17 | + case 0x51: | ||
| 18 | + return JZ_INSCODE_5BFRAME_INITIATECONNECT; | ||
| 19 | + break; | ||
| 20 | + | ||
| 21 | + default: | ||
| 22 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 23 | + break; | ||
| 24 | + } | ||
| 25 | +} | ||
| 26 | + | ||
| 27 | +//一级功能码是操作功能 | ||
| 28 | +static int Comparison_5BFRAME_FirstLevelCode_0x51(char *getdata) | ||
| 29 | +{ | ||
| 30 | + //二级功能位 | ||
| 31 | + switch (getdata[8]) | ||
| 32 | + { | ||
| 33 | + //回复操作成功 | ||
| 34 | + case 0x01: | ||
| 35 | + return JZ_INSCODE_5BFRAME_SUCESS; | ||
| 36 | + break; | ||
| 37 | + | ||
| 38 | + //回复操作失败 | ||
| 39 | + case 0xff: | ||
| 40 | + return JZ_INSCODE_5BFRAME_DEFEAT; | ||
| 41 | + break; | ||
| 42 | + | ||
| 43 | + default: | ||
| 44 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 45 | + break; | ||
| 46 | + } | ||
| 47 | +} | ||
| 48 | +//一级功能码是音频列表功能 | ||
| 49 | +static int Comparison_5BFRAME_FirstLevelCode_0x53(char *getdata) | ||
| 50 | +{ | ||
| 51 | + //二级功能位 | ||
| 52 | + switch (getdata[8]) | ||
| 53 | + { | ||
| 54 | + //音量返回 | ||
| 55 | + case 0x01: | ||
| 56 | + return JZ_INSCODE_5BFRAME_VOLUME; | ||
| 57 | + break; | ||
| 58 | + | ||
| 59 | + //播放状态返回 | ||
| 60 | + case 0x02: | ||
| 61 | + return JZ_INSCODE_5BFRAME_AUDIO_PLAYSTATUS; | ||
| 62 | + break; | ||
| 63 | + | ||
| 64 | + //当前播放文件名返回 | ||
| 65 | + case 0x04: | ||
| 66 | + return JZ_INSCODE_5BFRAME_AUDIO_PLAYFILENAME; | ||
| 67 | + break; | ||
| 68 | + | ||
| 69 | + //查询是否开启循环 | ||
| 70 | + case 0x05: | ||
| 71 | + return JZ_INSCODE_5BFRAME_AUDIO_PLAYLOOPSTATUS; | ||
| 72 | + break; | ||
| 73 | + | ||
| 74 | + //查询音色 | ||
| 75 | + case 0x06: | ||
| 76 | + return JZ_INSCODE_5BFRAME_TTS_TONE; | ||
| 77 | + break; | ||
| 78 | + | ||
| 79 | + //查询语速 | ||
| 80 | + case 0x07: | ||
| 81 | + return JZ_INSCODE_5BFRAME_TTS_SPEED; | ||
| 82 | + break; | ||
| 83 | + | ||
| 84 | + //版本返回 | ||
| 85 | + case 0xf1: | ||
| 86 | + return JZ_INSCODE_5BFRAME_SORTWAREVERSION; | ||
| 87 | + break; | ||
| 88 | + | ||
| 89 | + //播放结束(主动返回) | ||
| 90 | + case 0xff: | ||
| 91 | + return JZ_INSCODE_5BFRAME_AUDIO_PLAYSTATUS_END; | ||
| 92 | + break; | ||
| 93 | + | ||
| 94 | + default: | ||
| 95 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 96 | + break; | ||
| 97 | + } | ||
| 98 | +} | ||
| 99 | + | ||
| 100 | +//一级功能码是音频列表功能 | ||
| 101 | +static int Comparison_5BFRAME_FirstLevelCode_0x58(char *getdata) | ||
| 102 | +{ | ||
| 103 | + //二级功能位 | ||
| 104 | + switch (getdata[8]) | ||
| 105 | + { | ||
| 106 | + //查询列表开始 | ||
| 107 | + case 0x00: | ||
| 108 | + return JZ_INSCODE_5BFRAME_MUSICLIST_START; | ||
| 109 | + break; | ||
| 110 | + | ||
| 111 | + //文件列表帧 | ||
| 112 | + case 0x02: | ||
| 113 | + return JZ_INSCODE_5BFRAME_MUSICLIST_TRANS; | ||
| 114 | + break; | ||
| 115 | + | ||
| 116 | + //结束列表返回 | ||
| 117 | + case 0xff: | ||
| 118 | + return JZ_INSCODE_5BFRAME_MUSICLIST_STOP; | ||
| 119 | + break; | ||
| 120 | + | ||
| 121 | + default: | ||
| 122 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 123 | + break; | ||
| 124 | + } | ||
| 125 | +} | ||
| 126 | + | ||
| 127 | +//一级功能码是激光 | ||
| 128 | +static int Comparison_5BFRAME_FirstLevelCode_0x60(char *getdata) | ||
| 129 | +{ | ||
| 130 | + //二级功能位 | ||
| 131 | + switch (getdata[8]) | ||
| 132 | + { | ||
| 133 | + //回复激光查询 | ||
| 134 | + case 0x51: | ||
| 135 | + return JZ_INSCODE_5BFRAME_CHECKSTATUS_LASER_STATUS; | ||
| 136 | + break; | ||
| 137 | + | ||
| 138 | + default: | ||
| 139 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 140 | + break; | ||
| 141 | + } | ||
| 142 | +} | ||
| 143 | + | ||
| 144 | +//一级功能码是回复灯光频率 | ||
| 145 | +static int Comparison_5BFRAME_FirstLevelCode_0x61(char *getdata) | ||
| 146 | +{ | ||
| 147 | + //二级功能位 | ||
| 148 | + switch (getdata[8]) | ||
| 149 | + { | ||
| 150 | + //回复灯光频率 | ||
| 151 | + case 0x51: | ||
| 152 | + return JZ_INSCODE_5BFRAME_CHECKSTATUS_SEARCHLIGHT_FREQUENCY; | ||
| 153 | + break; | ||
| 154 | + | ||
| 155 | + default: | ||
| 156 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 157 | + break; | ||
| 158 | + } | ||
| 159 | +} | ||
| 160 | + | ||
| 161 | +//一级功能码是回复灯光模式 | ||
| 162 | +static int Comparison_5BFRAME_FirstLevelCode_0x62(char *getdata) | ||
| 163 | +{ | ||
| 164 | + //二级功能位 | ||
| 165 | + switch (getdata[8]) | ||
| 166 | + { | ||
| 167 | + //回复灯光模式 | ||
| 168 | + case 0x51: | ||
| 169 | + return JZ_INSCODE_5BFRAME_CHECKSTATUS_SEARCHLIGHT_MODE; | ||
| 170 | + break; | ||
| 171 | + | ||
| 172 | + default: | ||
| 173 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 174 | + break; | ||
| 175 | + } | ||
| 176 | +} | ||
| 177 | + | ||
| 178 | +//一级功能码是回复灯光亮度 | ||
| 179 | +static int Comparison_5BFRAME_FirstLevelCode_0x63(char *getdata) | ||
| 180 | +{ | ||
| 181 | + //二级功能位 | ||
| 182 | + switch (getdata[8]) | ||
| 183 | + { | ||
| 184 | + //回复灯光亮度 | ||
| 185 | + case 0x51: | ||
| 186 | + return JZ_INSCODE_5BFRAME_CHECKSTATUS_SEARCHLIGHT_LUMEN; | ||
| 187 | + break; | ||
| 188 | + | ||
| 189 | + default: | ||
| 190 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 191 | + break; | ||
| 192 | + } | ||
| 193 | +} | ||
| 194 | + | ||
| 195 | +//一级功能码是云台俯仰 | ||
| 196 | +static int Comparison_5BFRAME_FirstLevelCode_0x64(char *getdata) | ||
| 197 | +{ | ||
| 198 | + //二级功能位 | ||
| 199 | + switch (getdata[8]) | ||
| 200 | + { | ||
| 201 | + //回复云台俯仰 | ||
| 202 | + case 0x51: | ||
| 203 | + return JZ_INSCODE_5BFRAME_GIMBAL_PITCH; | ||
| 204 | + break; | ||
| 205 | + | ||
| 206 | + //回复云台俯仰微调值 | ||
| 207 | + case 0x52: | ||
| 208 | + return JZ_INSCODE_5BFRAME_GIMBAL_PITCH_FINETUNING; | ||
| 209 | + break; | ||
| 210 | + | ||
| 211 | + default: | ||
| 212 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 213 | + break; | ||
| 214 | + } | ||
| 215 | +} | ||
| 216 | +//一级功能码是云台航向 | ||
| 217 | +static int Comparison_5BFRAME_FirstLevelCode_0x65(char *getdata) | ||
| 218 | +{ | ||
| 219 | + //二级功能位 | ||
| 220 | + switch (getdata[8]) | ||
| 221 | + { | ||
| 222 | + //回复云台航向 | ||
| 223 | + case 0x51: | ||
| 224 | + return JZ_INSCODE_5BFRAME_GIMBAL_YAW; | ||
| 225 | + break; | ||
| 226 | + | ||
| 227 | + | ||
| 228 | + default: | ||
| 229 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 230 | + break; | ||
| 231 | + } | ||
| 232 | +} | ||
| 233 | +//一级功能码是回复警灯状态 | ||
| 234 | +static int Comparison_5BFRAME_FirstLevelCode_0x66(char *getdata) | ||
| 235 | +{ | ||
| 236 | + //二级功能位 | ||
| 237 | + switch (getdata[8]) | ||
| 238 | + { | ||
| 239 | + //回复警灯状态 | ||
| 240 | + case 0x51: | ||
| 241 | + return JZ_INSCODE_5BFRAME_CHECKSTATUS_WARNINGLIGHT_STATUS; | ||
| 242 | + break; | ||
| 243 | + | ||
| 244 | + | ||
| 245 | + default: | ||
| 246 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 247 | + break; | ||
| 248 | + } | ||
| 249 | +}//一级功能码是回复警灯颜色 | ||
| 250 | +static int Comparison_5BFRAME_FirstLevelCode_0x67(char *getdata) | ||
| 251 | +{ | ||
| 252 | + //二级功能位 | ||
| 253 | + switch (getdata[8]) | ||
| 254 | + { | ||
| 255 | + //回复回复警灯颜色 | ||
| 256 | + case 0x51: | ||
| 257 | + return JZ_INSCODE_5BFRAME_CHECKSTATUS_WARNINGLIGHT_COLOR; | ||
| 258 | + break; | ||
| 259 | + | ||
| 260 | + | ||
| 261 | + default: | ||
| 262 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 263 | + break; | ||
| 264 | + } | ||
| 265 | +}//一级功能码是回复温度/序列号查询 | ||
| 266 | +static int Comparison_5BFRAME_FirstLevelCode_0x69(char *getdata) | ||
| 267 | +{ | ||
| 268 | + //二级功能位 | ||
| 269 | + switch (getdata[8]) | ||
| 270 | + { | ||
| 271 | + //回复温度查询 | ||
| 272 | + case 0x51: | ||
| 273 | + return JZ_INSCODE_5BFRAME_CHECKSTATUS_SEARCHLIGHT_TEMPERATURE; | ||
| 274 | + break; | ||
| 275 | + | ||
| 276 | + //回复产品序列号 | ||
| 277 | + case 0x54: | ||
| 278 | + return JZ_INSCODE_5BFRAME_CHECKSTATUS_SERIALNUMBER; | ||
| 279 | + break; | ||
| 280 | + | ||
| 281 | + default: | ||
| 282 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 283 | + break; | ||
| 284 | + } | ||
| 285 | +} | ||
| 286 | +/****************************************************************** | ||
| 287 | + | ||
| 288 | + 回复帧对比 | ||
| 289 | + 成功返回帧类型 无对比数据返回 JZ_ERROR_SYSTEM_FRAME_ERROR | ||
| 290 | + | ||
| 291 | +******************************************************************/ | ||
| 292 | +int JZsdk_5BFrameComparsion(char *getdata, int len) | ||
| 293 | +{ | ||
| 294 | + //1、判断帧头帧尾 | ||
| 295 | + if ( | ||
| 296 | + ( (getdata[0]!= 0x5B) && (getdata[1] != 0x5B) && (getdata[2]!=0x77) ) | ||
| 297 | + || ( (getdata[len -2]!= 0x00) && (getdata[ len -1] != 0x23) ) | ||
| 298 | + ) | ||
| 299 | + { | ||
| 300 | + printf("接受到的帧,没有帧头或者帧尾,退出JZsdk_5BFrameComparsion函数\n"); | ||
| 301 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 302 | + } | ||
| 303 | + | ||
| 304 | + //一级功能码 | ||
| 305 | + switch (getdata[7]) | ||
| 306 | + { | ||
| 307 | + case 0x50: | ||
| 308 | + return Comparison_5BFRAME_FirstLevelCode_0x50(getdata); | ||
| 309 | + break; | ||
| 310 | + | ||
| 311 | + case 0x51: | ||
| 312 | + return Comparison_5BFRAME_FirstLevelCode_0x51(getdata); | ||
| 313 | + break; | ||
| 314 | + | ||
| 315 | + case 0x53: | ||
| 316 | + return Comparison_5BFRAME_FirstLevelCode_0x53(getdata); | ||
| 317 | + break; | ||
| 318 | + | ||
| 319 | + case 0x58: | ||
| 320 | + return Comparison_5BFRAME_FirstLevelCode_0x58(getdata); | ||
| 321 | + break; | ||
| 322 | + | ||
| 323 | + case 0x60: | ||
| 324 | + return Comparison_5BFRAME_FirstLevelCode_0x60(getdata); | ||
| 325 | + break; | ||
| 326 | + | ||
| 327 | + case 0x61: | ||
| 328 | + return Comparison_5BFRAME_FirstLevelCode_0x61(getdata); | ||
| 329 | + break; | ||
| 330 | + | ||
| 331 | + case 0x62: | ||
| 332 | + return Comparison_5BFRAME_FirstLevelCode_0x62(getdata); | ||
| 333 | + break; | ||
| 334 | + | ||
| 335 | + case 0x63: | ||
| 336 | + return Comparison_5BFRAME_FirstLevelCode_0x63(getdata); | ||
| 337 | + break; | ||
| 338 | + | ||
| 339 | + case 0x64: | ||
| 340 | + return Comparison_5BFRAME_FirstLevelCode_0x64(getdata); | ||
| 341 | + break; | ||
| 342 | + | ||
| 343 | + case 0x65: | ||
| 344 | + return Comparison_5BFRAME_FirstLevelCode_0x65(getdata); | ||
| 345 | + break; | ||
| 346 | + | ||
| 347 | + case 0x66: | ||
| 348 | + return Comparison_5BFRAME_FirstLevelCode_0x66(getdata); | ||
| 349 | + break; | ||
| 350 | + | ||
| 351 | + case 0x67: | ||
| 352 | + return Comparison_5BFRAME_FirstLevelCode_0x67(getdata); | ||
| 353 | + break; | ||
| 354 | + | ||
| 355 | + case 0x69: | ||
| 356 | + return Comparison_5BFRAME_FirstLevelCode_0x69(getdata); | ||
| 357 | + break; | ||
| 358 | + | ||
| 359 | + | ||
| 360 | + default: | ||
| 361 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 362 | + break; | ||
| 363 | + } | ||
| 364 | +} |
| 1 | +/** | ||
| 2 | + ******************************************************************** | ||
| 3 | + * @file | ||
| 4 | + * | ||
| 5 | + * | ||
| 6 | + ********************************************************************* | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 10 | +#ifndef JZSDK_FRAMECOMPARSION_5BFRAME_H | ||
| 11 | +#define JZSDK_FRAMECOMPARSION_5BFRAME_H | ||
| 12 | + | ||
| 13 | +/* Includes ------------------------------------------------------------------*/ | ||
| 14 | + | ||
| 15 | +#ifdef __cplusplus | ||
| 16 | +extern "C" { | ||
| 17 | +#endif | ||
| 18 | + | ||
| 19 | +/* Exported constants --------------------------------------------------------*/ | ||
| 20 | +/* 常亮定义*/ | ||
| 21 | + | ||
| 22 | +/* Exported types ------------------------------------------------------------*/ | ||
| 23 | + | ||
| 24 | +/* Exported functions --------------------------------------------------------*/ | ||
| 25 | +int JZsdk_5BFrameComparsion(char *getdata, int len); | ||
| 26 | + | ||
| 27 | + | ||
| 28 | +#ifdef __cplusplus | ||
| 29 | +} | ||
| 30 | +#endif | ||
| 31 | + | ||
| 32 | +#endif |
| 1 | +#include <stdio.h> | ||
| 2 | +#include "../JZsdk_Code/JZsdk_Code.h" | ||
| 3 | + | ||
| 4 | + | ||
| 5 | +//一级功能码是私有协议 | ||
| 6 | +static int Comparison_6AFRAME_FirstLevelCode_0x69(char *getdata) | ||
| 7 | +{ | ||
| 8 | + //二级功能位 | ||
| 9 | + switch (getdata[8]) | ||
| 10 | + { | ||
| 11 | + //设置当前为云台零值 | ||
| 12 | + case 0x51: | ||
| 13 | + return JZ_INSCODE_6AFRAME_SET_GIMBAL_ORIGIN; | ||
| 14 | + break; | ||
| 15 | + | ||
| 16 | + //设置云台当前为最大最小值 | ||
| 17 | + case 0x52: | ||
| 18 | + return JZ_INSCODE_6AFRAME_SET_GIMBAL_MAXMIN_RANGE; | ||
| 19 | + break; | ||
| 20 | + | ||
| 21 | + //设置灯光当前亮度为最大最小值 | ||
| 22 | + case 0x53: | ||
| 23 | + return JZ_INSCODE_6AFRAME_SET_LUMEN_MAXMIN_RANGE; | ||
| 24 | + break; | ||
| 25 | + | ||
| 26 | + //设置产品序列号 | ||
| 27 | + case 0x54: | ||
| 28 | + return JZ_INSCODE_6AFRAME_SET_SERIALNUMBER; | ||
| 29 | + break; | ||
| 30 | + | ||
| 31 | + //舵机自检 | ||
| 32 | + case 0x55: | ||
| 33 | + return JZ_INSCODE_6AFRAME_SERVO_SELFCHECK; | ||
| 34 | + break; | ||
| 35 | + | ||
| 36 | + //开启关闭云台联动 | ||
| 37 | + case 0x56: | ||
| 38 | + return JZ_INSCODE_6AFRAME_GIMBAL_LINKAGE_CONTROL; | ||
| 39 | + break; | ||
| 40 | + | ||
| 41 | + default: | ||
| 42 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 43 | + break; | ||
| 44 | + } | ||
| 45 | +} | ||
| 46 | + | ||
| 47 | +/****************************************************************** | ||
| 48 | + | ||
| 49 | + 回复帧对比 | ||
| 50 | + 成功返回帧类型 无对比数据返回 JZ_ERROR_SYSTEM_FRAME_ERROR | ||
| 51 | + | ||
| 52 | +******************************************************************/ | ||
| 53 | +int JZsdk_6AFrameComparsion(char *getdata, int len) | ||
| 54 | +{ | ||
| 55 | + //1、判断帧头帧尾 | ||
| 56 | + if ( | ||
| 57 | + ( (getdata[0]!= 0x6A) && (getdata[1] != 0x6A) && (getdata[2]!=0x77) ) | ||
| 58 | + || ( (getdata[len -2]!= 0x00) && (getdata[ len -1] != 0x23) ) | ||
| 59 | + ) | ||
| 60 | + { | ||
| 61 | + printf("接受到的帧,没有帧头或者帧尾,退出JZsdk_6AFrameComparsion函数\n"); | ||
| 62 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + //一级功能码 | ||
| 66 | + switch (getdata[7]) | ||
| 67 | + { | ||
| 68 | + case 0x69: | ||
| 69 | + return Comparison_6AFRAME_FirstLevelCode_0x69(getdata); | ||
| 70 | + break; | ||
| 71 | + | ||
| 72 | + | ||
| 73 | + default: | ||
| 74 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 75 | + break; | ||
| 76 | + } | ||
| 77 | +} |
| 1 | +/** | ||
| 2 | + ******************************************************************** | ||
| 3 | + * @file | ||
| 4 | + * | ||
| 5 | + * | ||
| 6 | + ********************************************************************* | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 10 | +#ifndef JZSDK_FRAMECOMPARSION_6AFRAME_H | ||
| 11 | +#define JZSDK_FRAMECOMPARSION_6AFRAME_H | ||
| 12 | + | ||
| 13 | +/* Includes ------------------------------------------------------------------*/ | ||
| 14 | + | ||
| 15 | +#ifdef __cplusplus | ||
| 16 | +extern "C" { | ||
| 17 | +#endif | ||
| 18 | + | ||
| 19 | +/* Exported constants --------------------------------------------------------*/ | ||
| 20 | +/* 常亮定义*/ | ||
| 21 | + | ||
| 22 | +/* Exported types ------------------------------------------------------------*/ | ||
| 23 | + | ||
| 24 | +/* Exported functions --------------------------------------------------------*/ | ||
| 25 | +int JZsdk_6AFrameComparsion(char *getdata, int len); | ||
| 26 | + | ||
| 27 | + | ||
| 28 | +#ifdef __cplusplus | ||
| 29 | +} | ||
| 30 | +#endif | ||
| 31 | + | ||
| 32 | +#endif | ||
| 33 | + |
| 1 | +#include <stdio.h> | ||
| 2 | +#include "../JZsdk_Code/JZsdk_Code.h" | ||
| 3 | + | ||
| 4 | + | ||
| 5 | +//一级功能码是私有协议 | ||
| 6 | +static int Comparison_6BFRAME_FirstLevelCode_0x6F(char *getdata) | ||
| 7 | +{ | ||
| 8 | + //二级功能位 | ||
| 9 | + switch (getdata[8]) | ||
| 10 | + { | ||
| 11 | + //从设备名返回 | ||
| 12 | + case 0x50: | ||
| 13 | + return JZ_INSCODE_6BFRAME_CHECKSTATUS_SECONDARY_DEVICE_NAME; | ||
| 14 | + break; | ||
| 15 | + | ||
| 16 | + //查询云台联动返回 | ||
| 17 | + case 0x51: | ||
| 18 | + return JZ_INSCODE_6BFRAME_CHECKSTATUS_GIMBAL_LINKAGE; | ||
| 19 | + break; | ||
| 20 | + | ||
| 21 | + | ||
| 22 | + default: | ||
| 23 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 24 | + break; | ||
| 25 | + } | ||
| 26 | +} | ||
| 27 | + | ||
| 28 | +/****************************************************************** | ||
| 29 | + | ||
| 30 | + 回复帧对比 | ||
| 31 | + 成功返回帧类型 无对比数据返回 JZ_ERROR_SYSTEM_FRAME_ERROR | ||
| 32 | + | ||
| 33 | +******************************************************************/ | ||
| 34 | +int JZsdk_6BFrameComparsion(char *getdata, int len) | ||
| 35 | +{ | ||
| 36 | + //1、判断帧头帧尾 | ||
| 37 | + if ( | ||
| 38 | + ( (getdata[0]!= 0x6B) && (getdata[1] != 0x6B) && (getdata[2]!=0x77) ) | ||
| 39 | + || ( (getdata[len -2]!= 0x00) && (getdata[ len -1] != 0x23) ) | ||
| 40 | + ) | ||
| 41 | + { | ||
| 42 | + printf("接受到的帧,没有帧头或者帧尾,退出JZsdk_6BFrameComparsion函数\n"); | ||
| 43 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 44 | + } | ||
| 45 | + | ||
| 46 | + //一级功能码 | ||
| 47 | + switch (getdata[7]) | ||
| 48 | + { | ||
| 49 | + case 0x6F: | ||
| 50 | + return Comparison_6BFRAME_FirstLevelCode_0x6F(getdata); | ||
| 51 | + break; | ||
| 52 | + | ||
| 53 | + | ||
| 54 | + default: | ||
| 55 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 56 | + break; | ||
| 57 | + } | ||
| 58 | +} |
| 1 | +/** | ||
| 2 | + ******************************************************************** | ||
| 3 | + * @file | ||
| 4 | + * | ||
| 5 | + * | ||
| 6 | + ********************************************************************* | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 10 | + | ||
| 11 | + | ||
| 12 | +#ifndef JZSDK_FRAMECOMPARSION_6BFRAME_H | ||
| 13 | +#define JZSDK_FRAMECOMPARSION_6BFRAME_H | ||
| 14 | + | ||
| 15 | +/* Includes ------------------------------------------------------------------*/ | ||
| 16 | + | ||
| 17 | +#ifdef __cplusplus | ||
| 18 | +extern "C" { | ||
| 19 | +#endif | ||
| 20 | + | ||
| 21 | +/* Exported constants --------------------------------------------------------*/ | ||
| 22 | +/* 常亮定义*/ | ||
| 23 | + | ||
| 24 | +/* Exported types ------------------------------------------------------------*/ | ||
| 25 | + | ||
| 26 | +/* Exported functions --------------------------------------------------------*/ | ||
| 27 | +int JZsdk_6BFrameComparsion(char *getdata, int len); | ||
| 28 | + | ||
| 29 | + | ||
| 30 | +#ifdef __cplusplus | ||
| 31 | +} | ||
| 32 | +#endif | ||
| 33 | + | ||
| 34 | +#endif | ||
| 35 | + |
| 1 | +#include <stdio.h> | ||
| 2 | +#include <string.h> | ||
| 3 | +#include "../JZsdk_Code/JZsdk_Code.h" | ||
| 4 | + | ||
| 5 | +/****************************************************** | ||
| 6 | + | ||
| 7 | + 用于获取帧模板 | ||
| 8 | + | ||
| 9 | +/******************************************************/ | ||
| 10 | +int JZsdk_GetFrameTemplate(int InsCode ,char *str, int *str_len) | ||
| 11 | +{ | ||
| 12 | + printf("JZsdk_GetFrameTemplate:获取0x%x帧模板\n",InsCode); | ||
| 13 | + switch (InsCode) | ||
| 14 | + { | ||
| 15 | +/******************************************************************************************************************************************************** | ||
| 16 | + * | ||
| 17 | + * 5A帧 | ||
| 18 | + * | ||
| 19 | +********************************************************************************************************************************************************/ | ||
| 20 | + | ||
| 21 | + case JZ_INSCODE_5AFRAME_SEARCHLIGHT_SET_FREQUENCY: | ||
| 22 | + { | ||
| 23 | + char sendbuf[13] = {0x5A ,0x5A ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x61 ,0x51 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
| 24 | + memcpy(str, sendbuf, 13); | ||
| 25 | + *str_len = 13; | ||
| 26 | + } | ||
| 27 | + break; | ||
| 28 | + | ||
| 29 | + case JZ_INSCODE_5AFRAME_SEARCHLIGHT_CONTROL: | ||
| 30 | + { | ||
| 31 | + char sendbuf[13] = {0x5A ,0x5A ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x62 ,0x51 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
| 32 | + memcpy(str, sendbuf, 13); | ||
| 33 | + *str_len = 13; | ||
| 34 | + } | ||
| 35 | + break; | ||
| 36 | + | ||
| 37 | + case JZ_INSCODE_5AFRAME_SEARCHLIGHT_SET_LUMEN: | ||
| 38 | + { | ||
| 39 | + char sendbuf[13] = {0x5A ,0x5A ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x63 ,0x51 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
| 40 | + memcpy(str, sendbuf, 13); | ||
| 41 | + *str_len = 13; | ||
| 42 | + } | ||
| 43 | + break; | ||
| 44 | + | ||
| 45 | + case JZ_INSCODE_5AFRAME_GIMBAL_PITCH_CONTROL: | ||
| 46 | + { | ||
| 47 | + char sendbuf[14] = {0x5A ,0x5A ,0x77 ,0x00 ,0x0E ,0x00 ,0x00 ,0x64 ,0x51 ,0x00 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
| 48 | + memcpy(str, sendbuf, 14); | ||
| 49 | + *str_len = 14; | ||
| 50 | + } | ||
| 51 | + break; | ||
| 52 | + | ||
| 53 | + case JZ_INSCODE_5AFRAME_GIMBAL_PITCH_FINETUNING_CONTROL: | ||
| 54 | + { | ||
| 55 | + char sendbuf[13] = {0x5A ,0x5A ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x64 ,0x52 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
| 56 | + memcpy(str, sendbuf, 13); | ||
| 57 | + *str_len = 13; | ||
| 58 | + } | ||
| 59 | + break; | ||
| 60 | + | ||
| 61 | + case JZ_INSCODE_5AFRAME_WARNINGLIGHT_CONTROL: | ||
| 62 | + { | ||
| 63 | + char sendbuf[13] = {0x5A ,0x5A ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x66 ,0x51 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
| 64 | + memcpy(str, sendbuf, 13); | ||
| 65 | + *str_len = 13; | ||
| 66 | + } | ||
| 67 | + break; | ||
| 68 | + | ||
| 69 | + case JZ_INSCODE_5AFRAME_WARNINGLIGHT_COLOUR: | ||
| 70 | + { | ||
| 71 | + char sendbuf[13] = {0x5A ,0x5A ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x67 ,0x51 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
| 72 | + memcpy(str, sendbuf, 13); | ||
| 73 | + *str_len = 13; | ||
| 74 | + } | ||
| 75 | + break; | ||
| 76 | + | ||
| 77 | + case JZ_INSCODE_5AFRAME_SEARCHLIGHT_MESSAGE_SUBSCRIPTION_CONTROL: | ||
| 78 | + { | ||
| 79 | + char sendbuf[13] = {0x5A ,0x5A ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x68 ,0x51 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
| 80 | + memcpy(str, sendbuf, 13); | ||
| 81 | + *str_len = 13; | ||
| 82 | + } | ||
| 83 | + break; | ||
| 84 | + | ||
| 85 | + case JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_LIGHTATTRIBUTE: | ||
| 86 | + { | ||
| 87 | + char sendbuf[13] = {0x5A ,0x5A ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x6F ,0x51 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
| 88 | + memcpy(str, sendbuf, 13); | ||
| 89 | + *str_len = 13; | ||
| 90 | + } | ||
| 91 | + break; | ||
| 92 | + | ||
| 93 | + case JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_TEMPERATURE: | ||
| 94 | + { | ||
| 95 | + char sendbuf[13] = {0x5A ,0x5A ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x6F ,0x52 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
| 96 | + memcpy(str, sendbuf, 13); | ||
| 97 | + *str_len = 13; | ||
| 98 | + } | ||
| 99 | + break; | ||
| 100 | + | ||
| 101 | + case JZ_INSCODE_5AFRAME_CHECKSTATUS_WARNINGLIGHT_STATUS: | ||
| 102 | + { | ||
| 103 | + char sendbuf[13] = {0x5A ,0x5A ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x6F ,0x55 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
| 104 | + memcpy(str, sendbuf, 13); | ||
| 105 | + *str_len = 13; | ||
| 106 | + } | ||
| 107 | + break; | ||
| 108 | + | ||
| 109 | + case JZ_INSCODE_5AFRAME_CHECKSTATUS_WARNINGLIGHT_COLOR: | ||
| 110 | + { | ||
| 111 | + char sendbuf[13] = {0x5A ,0x5A ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x6F ,0x56 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
| 112 | + memcpy(str, sendbuf, 13); | ||
| 113 | + *str_len = 13; | ||
| 114 | + } | ||
| 115 | + | ||
| 116 | + case JZ_INSCODE_5AFRAME_CHECKSTATUS_SERIALNUMBER: | ||
| 117 | + { | ||
| 118 | + char sendbuf[13] = {0x5A ,0x5A ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x6F ,0x57 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
| 119 | + memcpy(str, sendbuf, 13); | ||
| 120 | + *str_len = 13; | ||
| 121 | + } | ||
| 122 | + | ||
| 123 | + case JZ_INSCODE_5AFRAME_CHECKSTATUS_GIMBAL_FINETUNING: | ||
| 124 | + { | ||
| 125 | + char sendbuf[13] = {0x5A ,0x5A ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x6F ,0x58 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
| 126 | + memcpy(str, sendbuf, 13); | ||
| 127 | + *str_len = 13; | ||
| 128 | + } | ||
| 129 | + | ||
| 130 | + break; | ||
| 131 | +/******************************************************************************************************************************************************** | ||
| 132 | + * | ||
| 133 | + * 5B帧 | ||
| 134 | + * | ||
| 135 | +********************************************************************************************************************************************************/ | ||
| 136 | + case JZ_INSCODE_5BFRAME_INITIATECONNECT: | ||
| 137 | + { | ||
| 138 | + char sendbuf[12] = {0x5B ,0x5B ,0x77 ,0x00 ,0x0c ,0x00 ,0x00 ,0x50 ,0x51 ,0x00 ,0x00 ,0x23}; | ||
| 139 | + memcpy(str, sendbuf, 12); | ||
| 140 | + *str_len = 12; | ||
| 141 | + } | ||
| 142 | + break; | ||
| 143 | + | ||
| 144 | + case JZ_INSCODE_5BFRAME_SUCESS: | ||
| 145 | + { | ||
| 146 | + char sendbuf[12] = {0x5B, 0x5B, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x51, 0x01, 0x00, 0x00, 0x23}; | ||
| 147 | + memcpy(str, sendbuf, 12); | ||
| 148 | + *str_len = 12; | ||
| 149 | + } | ||
| 150 | + break; | ||
| 151 | + | ||
| 152 | + case JZ_INSCODE_5BFRAME_DEFEAT: | ||
| 153 | + { | ||
| 154 | + char sendbuf[12] = {0x5B, 0x5B, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x51, 0xff, 0x00, 0x00, 0x23}; | ||
| 155 | + memcpy(str, sendbuf, 12); | ||
| 156 | + *str_len = 12; | ||
| 157 | + } | ||
| 158 | + break; | ||
| 159 | + | ||
| 160 | + case JZ_INSCODE_5BFRAME_MUSICLIST_START: | ||
| 161 | + { | ||
| 162 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x23}; | ||
| 163 | + memcpy(str, sendbuf, 12); | ||
| 164 | + *str_len = 12; | ||
| 165 | + } | ||
| 166 | + break; | ||
| 167 | + | ||
| 168 | + case JZ_INSCODE_5BFRAME_MUSICLIST_TRANS: | ||
| 169 | + { | ||
| 170 | + char sendbuf[12] = {0x5B, 0x5B, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x58, 0x02, 0x00, 0x00, 0x23}; | ||
| 171 | + memcpy(str, sendbuf, 12); | ||
| 172 | + *str_len = 12; | ||
| 173 | + } | ||
| 174 | + break; | ||
| 175 | + | ||
| 176 | + case JZ_INSCODE_5BFRAME_MUSICLIST_STOP: | ||
| 177 | + { | ||
| 178 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x58, 0xff, 0x00, 0x00, 0x23}; | ||
| 179 | + memcpy(str, sendbuf, 12); | ||
| 180 | + *str_len = 12; | ||
| 181 | + } | ||
| 182 | + break; | ||
| 183 | + | ||
| 184 | + case JZ_INSCODE_5BFRAME_AUDIO_PLAYSTATUS_END: | ||
| 185 | + { | ||
| 186 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x53, 0xff, 0x00, 0x00, 0x23}; | ||
| 187 | + memcpy(str, sendbuf, 12); | ||
| 188 | + *str_len = 12; | ||
| 189 | + } | ||
| 190 | + break; | ||
| 191 | + | ||
| 192 | + case JZ_INSCODE_5BFRAME_AUDIO_PLAYSTATUS: | ||
| 193 | + { | ||
| 194 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x53, 0x02, 0x00, 0x00, 0x23}; | ||
| 195 | + memcpy(str, sendbuf, 12); | ||
| 196 | + *str_len = 12; | ||
| 197 | + } | ||
| 198 | + break; | ||
| 199 | + | ||
| 200 | + case JZ_INSCODE_5BFRAME_AUDIO_PLAYFILENAME: | ||
| 201 | + { | ||
| 202 | + char sendbuf[12] = {0x5B, 0x5B, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x53, 0x04, 0x00, 0x00, 0x23}; | ||
| 203 | + memcpy(str, sendbuf, 12); | ||
| 204 | + *str_len = 12; | ||
| 205 | + } | ||
| 206 | + break; | ||
| 207 | + | ||
| 208 | + case JZ_INSCODE_5BFRAME_VOLUME: | ||
| 209 | + { | ||
| 210 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x53, 0x01, 0x00, 0x00, 0x23}; | ||
| 211 | + memcpy(str, sendbuf, 12); | ||
| 212 | + *str_len = 12; | ||
| 213 | + } | ||
| 214 | + break; | ||
| 215 | + | ||
| 216 | + | ||
| 217 | + | ||
| 218 | + case JZ_INSCODE_5BFRAME_SORTWAREVERSION: | ||
| 219 | + { | ||
| 220 | + char sendbuf[15] = { 0x5b, 0x5b, 0x77, 0x00, 0x0f, 0x00, 0x00, 0x53, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23}; | ||
| 221 | + memcpy(str, sendbuf, 15); | ||
| 222 | + *str_len = 15; | ||
| 223 | + } | ||
| 224 | + break; | ||
| 225 | + | ||
| 226 | + case JZ_INSCODE_5BFRAME_AUDIO_PLAYLOOPSTATUS: | ||
| 227 | + { | ||
| 228 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x53, 0x05, 0x00, 0x00, 0x23}; | ||
| 229 | + memcpy(str, sendbuf, 12); | ||
| 230 | + *str_len = 12; | ||
| 231 | + } | ||
| 232 | + break; | ||
| 233 | + | ||
| 234 | + case JZ_INSCODE_5BFRAME_TTS_TONE: | ||
| 235 | + { | ||
| 236 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x53, 0x06, 0x00, 0x00, 0x23}; | ||
| 237 | + memcpy(str, sendbuf, 12); | ||
| 238 | + *str_len = 12; | ||
| 239 | + } | ||
| 240 | + break; | ||
| 241 | + | ||
| 242 | + case JZ_INSCODE_5BFRAME_TTS_SPEED: | ||
| 243 | + { | ||
| 244 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x53, 0x07, 0x00, 0x00, 0x23}; | ||
| 245 | + memcpy(str, sendbuf, 12); | ||
| 246 | + *str_len = 12; | ||
| 247 | + } | ||
| 248 | + break; | ||
| 249 | + | ||
| 250 | + case JZ_INSCODE_5BFRAME_CHECKSTATUS_SEARCHLIGHT_FREQUENCY: | ||
| 251 | + { | ||
| 252 | + char sendbuf[13] = { 0x5b, 0x5b, 0x77, 0x00, 0x0D, 0x00, 0x00, 0x61, 0x51, 0x00, 0x00, 0x00, 0x23}; | ||
| 253 | + memcpy(str, sendbuf, 13); | ||
| 254 | + *str_len = 13; | ||
| 255 | + } | ||
| 256 | + break; | ||
| 257 | + | ||
| 258 | + case JZ_INSCODE_5BFRAME_CHECKSTATUS_SEARCHLIGHT_MODE: | ||
| 259 | + { | ||
| 260 | + char sendbuf[13] = { 0x5b, 0x5b, 0x77, 0x00, 0x0D, 0x00, 0x00, 0x62, 0x51, 0x00, 0x00, 0x00, 0x23}; | ||
| 261 | + memcpy(str, sendbuf, 13); | ||
| 262 | + *str_len = 13; | ||
| 263 | + } | ||
| 264 | + break; | ||
| 265 | + | ||
| 266 | + case JZ_INSCODE_5BFRAME_CHECKSTATUS_SEARCHLIGHT_LUMEN: | ||
| 267 | + { | ||
| 268 | + char sendbuf[13] = { 0x5b, 0x5b, 0x77, 0x00, 0x0D, 0x00, 0x00, 0x63, 0x51, 0x00, 0x00, 0x00, 0x23}; | ||
| 269 | + memcpy(str, sendbuf, 13); | ||
| 270 | + *str_len = 13; | ||
| 271 | + } | ||
| 272 | + break; | ||
| 273 | + | ||
| 274 | + case JZ_INSCODE_5BFRAME_GIMBAL_PITCH: | ||
| 275 | + { | ||
| 276 | + char sendbuf[14] = { 0x5b, 0x5b, 0x77, 0x00, 0x0e, 0x00, 0x00, 0x64, 0x51, 0x00, 0x00, 0x00, 0x00, 0x23}; | ||
| 277 | + memcpy(str, sendbuf, 14); | ||
| 278 | + *str_len = 14; | ||
| 279 | + } | ||
| 280 | + break; | ||
| 281 | + | ||
| 282 | + case JZ_INSCODE_5BFRAME_GIMBAL_PITCH_FINETUNING: | ||
| 283 | + { | ||
| 284 | + char sendbuf[13] = { 0x5b, 0x5b, 0x77, 0x00, 0x0D, 0x00, 0x00, 0x64, 0x52, 0x00, 0x00, 0x00, 0x23}; | ||
| 285 | + memcpy(str, sendbuf, 13); | ||
| 286 | + *str_len = 13; | ||
| 287 | + } | ||
| 288 | + break; | ||
| 289 | + | ||
| 290 | + case JZ_INSCODE_5BFRAME_GIMBAL_YAW: | ||
| 291 | + { | ||
| 292 | + char sendbuf[14] = { 0x5b, 0x5b, 0x77, 0x00, 0x0e, 0x00, 0x00, 0x65, 0x51, 0x00, 0x00, 0x00, 0x00, 0x23}; | ||
| 293 | + memcpy(str, sendbuf, 14); | ||
| 294 | + *str_len = 14; | ||
| 295 | + } | ||
| 296 | + break; | ||
| 297 | + | ||
| 298 | + case JZ_INSCODE_5BFRAME_CHECKSTATUS_WARNINGLIGHT_STATUS: | ||
| 299 | + { | ||
| 300 | + char sendbuf[13] = { 0x5b, 0x5b, 0x77, 0x00, 0x0D, 0x00, 0x00, 0x66, 0x51, 0x00, 0x00, 0x00, 0x23}; | ||
| 301 | + memcpy(str, sendbuf, 13); | ||
| 302 | + *str_len = 13; | ||
| 303 | + } | ||
| 304 | + break; | ||
| 305 | + | ||
| 306 | + case JZ_INSCODE_5BFRAME_CHECKSTATUS_WARNINGLIGHT_COLOR: | ||
| 307 | + { | ||
| 308 | + char sendbuf[13] = { 0x5b, 0x5b, 0x77, 0x00, 0x0D, 0x00, 0x00, 0x67, 0x51, 0x00, 0x00, 0x00, 0x23}; | ||
| 309 | + memcpy(str, sendbuf, 13); | ||
| 310 | + *str_len = 13; | ||
| 311 | + } | ||
| 312 | + break; | ||
| 313 | + | ||
| 314 | + case JZ_INSCODE_5BFRAME_CHECKSTATUS_SEARCHLIGHT_TEMPERATURE: | ||
| 315 | + { | ||
| 316 | + char sendbuf[13] = { 0x5b, 0x5b, 0x77, 0x00, 0x0D, 0x00, 0x00, 0x69, 0x51, 0x00, 0x00, 0x00, 0x23}; | ||
| 317 | + memcpy(str, sendbuf, 13); | ||
| 318 | + *str_len = 13; | ||
| 319 | + } | ||
| 320 | + break; | ||
| 321 | + | ||
| 322 | + case JZ_INSCODE_5BFRAME_CHECKSTATUS_SERIALNUMBER: | ||
| 323 | + { | ||
| 324 | + char sendbuf[13] = { 0x5b, 0x5b, 0x77, 0x00, 0x0D, 0x00, 0x00, 0x69, 0x54, 0x00, 0x00, 0x00, 0x23}; | ||
| 325 | + memcpy(str, sendbuf, 13); | ||
| 326 | + *str_len = 13; | ||
| 327 | + } | ||
| 328 | + break; | ||
| 329 | + | ||
| 330 | +/******************************************************************************************************************************************************** | ||
| 331 | + * | ||
| 332 | + * 6A帧 | ||
| 333 | + * | ||
| 334 | +********************************************************************************************************************************************************/ | ||
| 335 | + case JZ_INSCODE_6AFRAME_GIMBAL_LINKAGE_CONTROL: | ||
| 336 | + { | ||
| 337 | + char sendbuf[13] = {0x6A ,0x6A ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x69 ,0x56 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
| 338 | + memcpy(str, sendbuf, 13); | ||
| 339 | + *str_len = 13; | ||
| 340 | + } | ||
| 341 | + break; | ||
| 342 | + | ||
| 343 | + case JZ_INSCODE_6AFRAME_CHECKSTATUS_SECONDARY_DEVICE_NAME: | ||
| 344 | + { | ||
| 345 | + char sendbuf[13] = {0x6A ,0x6A ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x6F ,0x50 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
| 346 | + memcpy(str, sendbuf, 13); | ||
| 347 | + *str_len = 13; | ||
| 348 | + } | ||
| 349 | + break; | ||
| 350 | + | ||
| 351 | + case JZ_INSCODE_6AFRAME_CHECKSTATUS_GIMBAL_LINKAGE: | ||
| 352 | + { | ||
| 353 | + char sendbuf[13] = {0x6A ,0x6A ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x6F ,0x51 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
| 354 | + memcpy(str, sendbuf, 13); | ||
| 355 | + *str_len = 13; | ||
| 356 | + } | ||
| 357 | + break; | ||
| 358 | + | ||
| 359 | +/******************************************************************************************************************************************************** | ||
| 360 | + * | ||
| 361 | + * 6B帧 | ||
| 362 | + * | ||
| 363 | +********************************************************************************************************************************************************/ | ||
| 364 | + case JZ_INSCODE_6BFRAME_CHECKSTATUS_SECONDARY_DEVICE_NAME: | ||
| 365 | + { | ||
| 366 | + char sendbuf[13] = {0x6B ,0x6B ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x6F ,0x50 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
| 367 | + memcpy(str, sendbuf, 13); | ||
| 368 | + *str_len = 13; | ||
| 369 | + } | ||
| 370 | + break; | ||
| 371 | + | ||
| 372 | + case JZ_INSCODE_6BFRAME_CHECKSTATUS_GIMBAL_LINKAGE: | ||
| 373 | + { | ||
| 374 | + char sendbuf[13] = {0x6B ,0x6B ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x6F ,0x51 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
| 375 | + memcpy(str, sendbuf, 13); | ||
| 376 | + *str_len = 13; | ||
| 377 | + } | ||
| 378 | + break; | ||
| 379 | + | ||
| 380 | + default: | ||
| 381 | + printf("JZsdk_GetFrameTemplate:没有对应的帧模板\n"); | ||
| 382 | + break; | ||
| 383 | + } | ||
| 384 | +} |
| 1 | +/** | ||
| 2 | + ******************************************************************** | ||
| 3 | + * @file | ||
| 4 | + * | ||
| 5 | + * | ||
| 6 | + ********************************************************************* | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 10 | +#ifndef JZSDK_GET_FRAME_TEMPLATE_H | ||
| 11 | +#define JZSDK_GET_FRAME_TEMPLATE_H | ||
| 12 | + | ||
| 13 | +/* Includes ------------------------------------------------------------------*/ | ||
| 14 | + | ||
| 15 | +#ifdef __cplusplus | ||
| 16 | +extern "C" { | ||
| 17 | +#endif | ||
| 18 | + | ||
| 19 | +/* Exported constants --------------------------------------------------------*/ | ||
| 20 | +/* 常亮定义*/ | ||
| 21 | + | ||
| 22 | +/* Exported types ------------------------------------------------------------*/ | ||
| 23 | + | ||
| 24 | +/* Exported functions --------------------------------------------------------*/ | ||
| 25 | +int JZsdk_GetFrameTemplate(int InsCode ,char *str, int *str_len); | ||
| 26 | + | ||
| 27 | + | ||
| 28 | +#ifdef __cplusplus | ||
| 29 | +} | ||
| 30 | +#endif | ||
| 31 | + | ||
| 32 | +#endif |
JZsdk/JZsdk_Base/JZsdk_Logger/JZsdk_Logger.c
0 → 100644
| 1 | +/* 头文件 ------------------------------------------------------------------*/ | ||
| 2 | +#include <stdio.h> | ||
| 3 | +#include <stdlib.h> | ||
| 4 | +#include <string.h> | ||
| 5 | +#include <stdarg.h> | ||
| 6 | +#include <stdio.h> | ||
| 7 | + | ||
| 8 | +#include "JZsdk_Logger.h" | ||
| 9 | +#include <time.h> | ||
| 10 | +#include "JZsdkLib.h" | ||
| 11 | +#include <pthread.h> | ||
| 12 | +#include <sys/time.h> | ||
| 13 | + | ||
| 14 | +// 定义全局互斥锁 | ||
| 15 | +static pthread_mutex_t LogWriteMutex = PTHREAD_MUTEX_INITIALIZER; | ||
| 16 | + | ||
| 17 | +/* 全局变量 ------------------------------------------------------------------*/ | ||
| 18 | +static struct timeval g_start_time; | ||
| 19 | +static FILE *logFile; | ||
| 20 | +static char LogFileName[JZSDK_FILENAME_SIZE]; | ||
| 21 | + | ||
| 22 | +/* 函数声明 ------------------------------------------------------------------*/ | ||
| 23 | + | ||
| 24 | +static void *MonitorTask(void *arg) | ||
| 25 | +{ | ||
| 26 | + while (1) | ||
| 27 | + { | ||
| 28 | + delayS(10); | ||
| 29 | + USER_LOG_DEBUG("Monitor"); | ||
| 30 | + } | ||
| 31 | +} | ||
| 32 | + | ||
| 33 | + | ||
| 34 | + | ||
| 35 | +static int Log_Monitor() | ||
| 36 | +{ | ||
| 37 | + pthread_t work_mode_task; | ||
| 38 | + pthread_attr_t task_attribute; //线程属性 | ||
| 39 | + pthread_attr_init(&task_attribute); //初始化线程属性 | ||
| 40 | + pthread_attr_setdetachstate(&task_attribute, PTHREAD_CREATE_DETACHED); //设置线程属性 | ||
| 41 | + int timer = pthread_create(&work_mode_task,&task_attribute,MonitorTask,NULL); //线程 | ||
| 42 | + if(timer != 0) | ||
| 43 | + { | ||
| 44 | + printf("创建计时线程失败!\n"); | ||
| 45 | + } | ||
| 46 | +} | ||
| 47 | + | ||
| 48 | +void createJZLOGFolder() | ||
| 49 | +{ | ||
| 50 | + const char *path = "/root/sdcard/JZLOG"; | ||
| 51 | + | ||
| 52 | + // 使用系统命令检测路径是否存在 | ||
| 53 | + char command[100]; | ||
| 54 | + snprintf(command, sizeof(command), "if [ ! -d \"%s\" ]; then mkdir -p \"%s\"; fi", path, path); | ||
| 55 | + JZsdk_RunSystemCmd(command); | ||
| 56 | +} | ||
| 57 | + | ||
| 58 | +int ReadLogNumFromFile() | ||
| 59 | +{ | ||
| 60 | + const char *path = "/root/sdcard/JZLOG/thelast"; | ||
| 61 | + int logNum = 0; | ||
| 62 | + | ||
| 63 | + FILE *file = fopen(path, "r"); | ||
| 64 | + if (file == NULL) | ||
| 65 | + { | ||
| 66 | + // 如果文件不存在,则创建并设置LogNum为0 | ||
| 67 | + file = fopen(path, "w"); | ||
| 68 | + fprintf(file, "%d", logNum); | ||
| 69 | + } | ||
| 70 | + else | ||
| 71 | + { | ||
| 72 | + // 从文件中读取LogNum,并自增1 | ||
| 73 | + fscanf(file, "%d", &logNum); | ||
| 74 | + logNum++; | ||
| 75 | + fclose(file); | ||
| 76 | + | ||
| 77 | + // 将新的LogNum写回文件中 | ||
| 78 | + file = fopen(path, "w"); | ||
| 79 | + fprintf(file, "%d", logNum); | ||
| 80 | + } | ||
| 81 | + fclose(file); | ||
| 82 | + | ||
| 83 | + return logNum; | ||
| 84 | +} | ||
| 85 | + | ||
| 86 | +T_JZsdkReturnCode JZsdk_LoggerInit() | ||
| 87 | +{ | ||
| 88 | + //1、记录启动时间 | ||
| 89 | + gettimeofday(&g_start_time, 0); | ||
| 90 | + | ||
| 91 | + //2、检查是否存在log文件,不在则创建 | ||
| 92 | + createJZLOGFolder(); | ||
| 93 | + | ||
| 94 | + //3、获取本地log个数 | ||
| 95 | + int LogNum = ReadLogNumFromFile(); | ||
| 96 | + | ||
| 97 | + //4、获取本地时间,拼接出log文件名 | ||
| 98 | + time_t current_time; | ||
| 99 | + struct tm *info; | ||
| 100 | + char timeString[80]; | ||
| 101 | + time(¤t_time); | ||
| 102 | + info = localtime(¤t_time); | ||
| 103 | + strftime(timeString, sizeof(timeString), "%Y-%m-%d-%H-%M-%S", info); | ||
| 104 | + snprintf(LogFileName, sizeof(LogFileName), "/root/sdcard/JZLOG/%d-%s", LogNum, timeString); | ||
| 105 | + | ||
| 106 | + printf("LogFileName:%s\n",LogFileName); | ||
| 107 | + | ||
| 108 | + // 在主函数或初始化阶段初始化互斥锁 | ||
| 109 | + pthread_mutex_init(&LogWriteMutex, NULL); | ||
| 110 | + | ||
| 111 | + //5、打开记录文件 | ||
| 112 | + logFile = fopen(LogFileName, "w"); | ||
| 113 | + if (logFile == NULL) { | ||
| 114 | + // 文件打开失败,输出错误消息 | ||
| 115 | + printf("Failed to open file: %s", LogFileName); | ||
| 116 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 117 | + } | ||
| 118 | + | ||
| 119 | + //6、写入开始时间 | ||
| 120 | + char logMessage[256]; | ||
| 121 | + snprintf(logMessage,256,"LOG_FILE:%s\n",LogFileName); | ||
| 122 | + fprintf(logFile, "%s", logMessage); | ||
| 123 | + | ||
| 124 | + fclose(logFile); | ||
| 125 | + | ||
| 126 | + | ||
| 127 | + //设立监控 | ||
| 128 | + Log_Monitor(); | ||
| 129 | +} | ||
| 130 | + | ||
| 131 | + | ||
| 132 | +T_JZsdkReturnCode writeToLogFile(const char *data) | ||
| 133 | +{ | ||
| 134 | + // 加锁 | ||
| 135 | + pthread_mutex_lock(&LogWriteMutex); | ||
| 136 | + | ||
| 137 | + logFile = fopen(LogFileName, "a"); // 使用"a"模式打开文件,以在末尾追加数据 | ||
| 138 | + | ||
| 139 | + if (logFile == NULL) { | ||
| 140 | + // 文件打开失败,输出错误消息 | ||
| 141 | + printf("Failed to open file: %s", LogFileName); | ||
| 142 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 143 | + } | ||
| 144 | + | ||
| 145 | + fprintf(logFile, "%s", data); // 写入新的数据 | ||
| 146 | + | ||
| 147 | + fclose(logFile); | ||
| 148 | + | ||
| 149 | + // 解锁 | ||
| 150 | + pthread_mutex_unlock(&LogWriteMutex); | ||
| 151 | +} | ||
| 152 | + | ||
| 153 | +void JZsdk_UserLogOutput(E_JZsdkConsoleLogLevel level, const char *fmt, ...) | ||
| 154 | +{ | ||
| 155 | + // 将日志级别转换为相应的字符串 | ||
| 156 | + const char *JZSDK_LOGGER_CONSOLE_LOG_LEVEL = ""; | ||
| 157 | + switch (level) { | ||
| 158 | + case JZSDK_LOGGER_CONSOLE_LOG_LEVEL_DEBUG: | ||
| 159 | + JZSDK_LOGGER_CONSOLE_LOG_LEVEL = "DEBUG"; | ||
| 160 | + break; | ||
| 161 | + case JZSDK_LOGGER_CONSOLE_LOG_LEVEL_INFO: | ||
| 162 | + JZSDK_LOGGER_CONSOLE_LOG_LEVEL = "INFO"; | ||
| 163 | + break; | ||
| 164 | + case JZSDK_LOGGER_CONSOLE_LOG_LEVEL_WARN: | ||
| 165 | + JZSDK_LOGGER_CONSOLE_LOG_LEVEL = "WARNING"; | ||
| 166 | + break; | ||
| 167 | + case JZSDK_LOGGER_CONSOLE_LOG_LEVEL_ERROR: | ||
| 168 | + JZSDK_LOGGER_CONSOLE_LOG_LEVEL = "ERROR"; | ||
| 169 | + break; | ||
| 170 | + default: | ||
| 171 | + break; | ||
| 172 | + } | ||
| 173 | + | ||
| 174 | + // 使用可变参数处理传入的格式化字符串和可变参数 | ||
| 175 | + va_list args; | ||
| 176 | + va_start(args, fmt); | ||
| 177 | + | ||
| 178 | + // 格式化日志消息 | ||
| 179 | + char logMessage[512]; | ||
| 180 | + memset(logMessage, 0, sizeof(logMessage)); | ||
| 181 | + vsprintf(logMessage, fmt, args); | ||
| 182 | + | ||
| 183 | + va_end(args); | ||
| 184 | + | ||
| 185 | + struct timeval current_time; | ||
| 186 | + gettimeofday(¤t_time, 0); | ||
| 187 | + | ||
| 188 | + long seconds = current_time.tv_sec - g_start_time.tv_sec; | ||
| 189 | + long microseconds = current_time.tv_usec - g_start_time.tv_usec; | ||
| 190 | + double elapsed = seconds + microseconds*1e-6; | ||
| 191 | + | ||
| 192 | + // 执行具体的日志输出操作 | ||
| 193 | + char finalLogMessage[512]; | ||
| 194 | + snprintf(finalLogMessage, 512, "[%s][%.4f]%s\n", JZSDK_LOGGER_CONSOLE_LOG_LEVEL, elapsed, logMessage); | ||
| 195 | + | ||
| 196 | + printf("%s",finalLogMessage); | ||
| 197 | + | ||
| 198 | + | ||
| 199 | + //写入日志 | ||
| 200 | + writeToLogFile(finalLogMessage); | ||
| 201 | +} |
JZsdk/JZsdk_Base/JZsdk_Logger/JZsdk_Logger.h
0 → 100644
| 1 | +/** | ||
| 2 | + ******************************************************************** | ||
| 3 | + * @file JZsdk_Logger.h | ||
| 4 | + * 用于给h150s logger显示文件 | ||
| 5 | + * | ||
| 6 | + ********************************************************************* | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 10 | +#ifndef JZSDK_LOGGER_H | ||
| 11 | +#define JZSDK_LOGGER_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 | + | ||
| 24 | +typedef enum { | ||
| 25 | + JZSDK_LOGGER_CONSOLE_LOG_LEVEL_ERROR = 0, /*!< Logger console error level. The method and level of the console are | ||
| 26 | + associated with each other. If the level of the registered console | ||
| 27 | + method is lower than this level, the level interface will not be | ||
| 28 | + printed successfully. */ | ||
| 29 | + JZSDK_LOGGER_CONSOLE_LOG_LEVEL_WARN = 1, /*!< Logger console warning level.The method and level of the console are | ||
| 30 | + associated with each other. If the level of the registered console | ||
| 31 | + method is lower than this level, the level interface will not be | ||
| 32 | + printed successfully. */ | ||
| 33 | + JZSDK_LOGGER_CONSOLE_LOG_LEVEL_INFO = 2, /*!< Logger console info level. The method and level of the console are | ||
| 34 | + associated with each other. If the level of the registered console | ||
| 35 | + method is lower than this level, the level interface will not be | ||
| 36 | + printed successfully. */ | ||
| 37 | + JZSDK_LOGGER_CONSOLE_LOG_LEVEL_DEBUG = 3, /*!< Logger console debug level. The method and level of the console are | ||
| 38 | + associated with each other. If the level of the registered console | ||
| 39 | + method is lower than this level, the level interface will not be | ||
| 40 | + printed successfully. */ | ||
| 41 | +} E_JZsdkConsoleLogLevel; | ||
| 42 | +/* Exported types ------------------------------------------------------------*/ | ||
| 43 | + | ||
| 44 | + | ||
| 45 | +/* Exported functions --------------------------------------------------------*/ | ||
| 46 | +void JZsdk_UserLogOutput(E_JZsdkConsoleLogLevel level, const char *fmt, ...); | ||
| 47 | +T_JZsdkReturnCode JZsdk_LoggerInit(); | ||
| 48 | + | ||
| 49 | +/* Exported constants --------------------------------------------------------*/ | ||
| 50 | +#define USER_LOG_DEBUG(fmt, ...) \ | ||
| 51 | + JZsdk_UserLogOutput(JZSDK_LOGGER_CONSOLE_LOG_LEVEL_DEBUG, "[%s:%d) " fmt, __FUNCTION__, __LINE__ , ##__VA_ARGS__) | ||
| 52 | +#define USER_LOG_INFO(fmt, ...) \ | ||
| 53 | + JZsdk_UserLogOutput(JZSDK_LOGGER_CONSOLE_LOG_LEVEL_INFO, "[%s:%d) " fmt, __FUNCTION__, __LINE__ , ##__VA_ARGS__) | ||
| 54 | +#define USER_LOG_WARN(fmt, ...) \ | ||
| 55 | + JZsdk_UserLogOutput(JZSDK_LOGGER_CONSOLE_LOG_LEVEL_WARN, "[%s:%d) " fmt, __FUNCTION__, __LINE__ , ##__VA_ARGS__) | ||
| 56 | +#define USER_LOG_ERROR(fmt, ...) \ | ||
| 57 | + JZsdk_UserLogOutput(JZSDK_LOGGER_CONSOLE_LOG_LEVEL_ERROR, "[%s:%d) " fmt, __FUNCTION__, __LINE__ , ##__VA_ARGS__) | ||
| 58 | + | ||
| 59 | + | ||
| 60 | +#ifdef __cplusplus | ||
| 61 | +} | ||
| 62 | +#endif | ||
| 63 | + | ||
| 64 | +#endif | ||
| 65 | +/************************ (C) COPYRIGHT JZSDK Innovations *******END OF FILE******/ |
| 1 | +#include <stdio.h> | ||
| 2 | +#include "JZsdk_FileSystm.h" | ||
| 3 | +#include <stdlib.h> | ||
| 4 | +#include <stdbool.h> | ||
| 5 | +/* | ||
| 6 | +* 用于运行指令 | ||
| 7 | +* | ||
| 8 | +*/ | ||
| 9 | +int JZsdk_RunSystemCmd(char *systemCmd) | ||
| 10 | +{ | ||
| 11 | + //FILE *fp; | ||
| 12 | + | ||
| 13 | + //printf("JZsdk_RunSystemCmd:%s\n",systemCmd); | ||
| 14 | + | ||
| 15 | + // fp = popen(systemCmd, "r"); | ||
| 16 | + // if (fp == NULL) { | ||
| 17 | + // return -1; | ||
| 18 | + // } | ||
| 19 | + | ||
| 20 | + int status = system(systemCmd); | ||
| 21 | + if (status == -1 || WIFEXITED(status) == false) { | ||
| 22 | + printf("Call %s error, status = %d\n", systemCmd, status); | ||
| 23 | + return -1; | ||
| 24 | + } | ||
| 25 | + | ||
| 26 | + if (WEXITSTATUS(status) == 0) { | ||
| 27 | + printf("指令执行成功%s\n",systemCmd); | ||
| 28 | + return 0; | ||
| 29 | + } else { | ||
| 30 | + printf("Exit status is = %d", WEXITSTATUS(status)); | ||
| 31 | + return -2; | ||
| 32 | + } | ||
| 33 | + //pclose(fp); | ||
| 34 | + | ||
| 35 | + return 0; | ||
| 36 | +} | ||
| 37 | + | ||
| 38 | +/* | ||
| 39 | + | ||
| 40 | + 运行命令 并读取返回值 | ||
| 41 | + | ||
| 42 | +*/ | ||
| 43 | +// FILE* JZsdk_RunSystemCmd_ReturnFilePointer(char *systemCmd) | ||
| 44 | +// { | ||
| 45 | +// FILE *fp; | ||
| 46 | + | ||
| 47 | +// fp = popen(systemCmd, "r"); | ||
| 48 | + | ||
| 49 | +// pclose(fp); | ||
| 50 | + | ||
| 51 | +// return fp; | ||
| 52 | +// } | ||
| 53 | + | ||
| 54 | + | ||
| 55 | +int JZsdk_Socket() | ||
| 56 | +{ | ||
| 57 | + | ||
| 58 | +} |
| 1 | +/** | ||
| 2 | + ******************************************************************** | ||
| 3 | + * @file JZsdk_FileSystem.h | ||
| 4 | + * 用于文件系统操作 | ||
| 5 | + * | ||
| 6 | + ********************************************************************* | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 10 | +#ifndef JZSDK_FILESYSTEM_H | ||
| 11 | +#define JZSDK_FILESYSTEM_H | ||
| 12 | + | ||
| 13 | +/* Includes ------------------------------------------------------------------*/ | ||
| 14 | + | ||
| 15 | +#ifdef __cplusplus | ||
| 16 | +extern "C" { | ||
| 17 | +#endif | ||
| 18 | + | ||
| 19 | +/* Exported constants --------------------------------------------------------*/ | ||
| 20 | +/* 常亮定义*/ | ||
| 21 | +#define JZSDK_FILENAME_SIZE 128 | ||
| 22 | + | ||
| 23 | +/* Exported types ------------------------------------------------------------*/ | ||
| 24 | + | ||
| 25 | + | ||
| 26 | +/* Exported functions --------------------------------------------------------*/ | ||
| 27 | +int JZsdk_RunSystemCmd(char *systemCmd); | ||
| 28 | +//FILE* JZsdk_RunSystemCmd_ReturnFilePointer(char *systemCmd); | ||
| 29 | + | ||
| 30 | +#ifdef __cplusplus | ||
| 31 | +} | ||
| 32 | +#endif | ||
| 33 | + | ||
| 34 | +#endif | ||
| 35 | +/************************ (C) COPYRIGHT DJI Innovations *******END OF FILE******/ |
| 1 | +/** | ||
| 2 | + ******************************************************************** | ||
| 3 | + * @file JZsdkCommonFuntion.h | ||
| 4 | + * JZsdk常用函数库的头文件 | ||
| 5 | + * | ||
| 6 | + ********************************************************************* | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 10 | +#ifndef JZSDKCOMMONFUNTION_H | ||
| 11 | +#define JZSDKCOMMONFUNTION_H | ||
| 12 | + | ||
| 13 | +/* Includes ------------------------------------------------------------------*/ | ||
| 14 | + | ||
| 15 | +#ifdef __cplusplus | ||
| 16 | +extern "C" { | ||
| 17 | +#endif | ||
| 18 | + | ||
| 19 | +/* Exported constants --------------------------------------------------------*/ | ||
| 20 | +/* 常亮定义*/ | ||
| 21 | +#include "JZsdk_string/JZsdk_string.h" | ||
| 22 | + | ||
| 23 | +/* Exported types ------------------------------------------------------------*/ | ||
| 24 | + | ||
| 25 | + | ||
| 26 | +/* Exported functions --------------------------------------------------------*/ | ||
| 27 | + | ||
| 28 | + | ||
| 29 | +#ifdef __cplusplus | ||
| 30 | +} | ||
| 31 | +#endif | ||
| 32 | + | ||
| 33 | +#endif |
| 1 | +#include <stdio.h> | ||
| 2 | +#include "JZsdk_string.h" | ||
| 3 | + | ||
| 4 | +/* | ||
| 5 | +* 用于字符串转int型 | ||
| 6 | +*/ | ||
| 7 | +int JZsdk_String_str_to_int(const char *str) | ||
| 8 | +{ | ||
| 9 | + int temp = 0; | ||
| 10 | + const char *ptr = str; //ptr保存str字符串开头 | ||
| 11 | + | ||
| 12 | + if (*str == '-' || *str == '+') //如果第一个字符是正负号, | ||
| 13 | + { //则移到下一个字符 | ||
| 14 | + str++; | ||
| 15 | + } | ||
| 16 | + while(*str != 0) | ||
| 17 | + { | ||
| 18 | + if ((*str < '0') || (*str > '9')) //如果当前字符不是数字 | ||
| 19 | + { //则退出循环 | ||
| 20 | + break; | ||
| 21 | + } | ||
| 22 | + temp = temp * 10 + (*str - '0'); //如果当前字符是数字则计算数值 | ||
| 23 | + str++; //移到下一个字符 | ||
| 24 | + } | ||
| 25 | + if (*ptr == '-') //如果字符串是以“-”开头,则转换成其相反数 | ||
| 26 | + { | ||
| 27 | + temp = -temp; | ||
| 28 | + } | ||
| 29 | + | ||
| 30 | + return temp; | ||
| 31 | +} | ||
| 32 | + | ||
| 33 | + | ||
| 34 | +/* | ||
| 35 | +* int型转字符串 | ||
| 36 | +*/ | ||
| 37 | +void JZsdk_String_int_to_str(int n, char *str) | ||
| 38 | +{ | ||
| 39 | + char buf[10] = ""; | ||
| 40 | + int i = 0; | ||
| 41 | + int len = 0; | ||
| 42 | + int temp = n < 0 ? -n: n; // temp为n的绝对值 | ||
| 43 | + | ||
| 44 | + if (str == NULL) | ||
| 45 | + { | ||
| 46 | + return; | ||
| 47 | + } | ||
| 48 | + while(temp) | ||
| 49 | + { | ||
| 50 | + buf[i++] = (temp % 10) + '0'; //把temp的每一位上的数存入buf | ||
| 51 | + temp = temp / 10; | ||
| 52 | + } | ||
| 53 | + | ||
| 54 | + len = n < 0 ? ++i: i; //如果n是负数,则多需要一位来存储负号 | ||
| 55 | + str[i] = 0; //末尾是结束符0 | ||
| 56 | + while(1) | ||
| 57 | + { | ||
| 58 | + i--; | ||
| 59 | + if (buf[len-i-1] ==0) | ||
| 60 | + { | ||
| 61 | + break; | ||
| 62 | + } | ||
| 63 | + str[i] = buf[len-i-1]; //把buf数组里的字符拷到字符串 | ||
| 64 | + } | ||
| 65 | + if (i == 0 ) | ||
| 66 | + { | ||
| 67 | + str[i] = '-'; //如果是负数,添加一个负号 | ||
| 68 | + } | ||
| 69 | +} | ||
| 70 | + | ||
| 71 | +/* | ||
| 72 | +* longlong型转字符串型 | ||
| 73 | +*/ | ||
| 74 | +size_t JZsdk_String_longlong_to_str(char *s, long long value,int radix) | ||
| 75 | +{ | ||
| 76 | + char *p, aux; | ||
| 77 | + unsigned long long v; | ||
| 78 | + size_t l; | ||
| 79 | + | ||
| 80 | + /* Generate the string representation, this method produces | ||
| 81 | + * an reversed string. */ | ||
| 82 | + v = (value < 0) ? -value : value; | ||
| 83 | + p = s; | ||
| 84 | + do { | ||
| 85 | + *p++ = '0' + (v % radix); // 2 | ||
| 86 | + v /= radix; // 2 | ||
| 87 | + } while (v); | ||
| 88 | + if (value < 0) *p++ = '-'; | ||
| 89 | + | ||
| 90 | + /* Compute length and add null term. */ | ||
| 91 | + l = p - s; | ||
| 92 | + *p = '\0'; | ||
| 93 | + | ||
| 94 | + /* Reverse the string. */ | ||
| 95 | + p--; | ||
| 96 | + while (s < p) { | ||
| 97 | + aux = *s; | ||
| 98 | + *s = *p; | ||
| 99 | + *p = aux; | ||
| 100 | + s++; | ||
| 101 | + p--; | ||
| 102 | + } | ||
| 103 | + return l; | ||
| 104 | +} |
| 1 | +/** | ||
| 2 | + ******************************************************************** | ||
| 3 | + * @file JZsdk_string.h | ||
| 4 | + * 用于文件系统操作 | ||
| 5 | + * | ||
| 6 | + ********************************************************************* | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 10 | +#ifndef JZSDK_STRING_H | ||
| 11 | +#define JZSDK_STRING_H | ||
| 12 | + | ||
| 13 | +/* Includes ------------------------------------------------------------------*/ | ||
| 14 | + | ||
| 15 | +#ifdef __cplusplus | ||
| 16 | +extern "C" { | ||
| 17 | +#endif | ||
| 18 | + | ||
| 19 | +/* Exported constants --------------------------------------------------------*/ | ||
| 20 | +/* 常亮定义*/ | ||
| 21 | + | ||
| 22 | + | ||
| 23 | +/* Exported types ------------------------------------------------------------*/ | ||
| 24 | + | ||
| 25 | + | ||
| 26 | +/* Exported functions --------------------------------------------------------*/ | ||
| 27 | +int JZsdk_String_str_to_int(const char *str); | ||
| 28 | +void JZsdk_String_int_to_str(int n, char *str); | ||
| 29 | +size_t JZsdk_String_longlong_to_str(char *s, long long value,int radix); | ||
| 30 | + | ||
| 31 | + | ||
| 32 | +#ifdef __cplusplus | ||
| 33 | +} | ||
| 34 | +#endif | ||
| 35 | + | ||
| 36 | +#endif |
JZsdk/README.txt
0 → 100644
| 1 | +为方便在多个板子之间移植 | ||
| 2 | +sdk包被我分成了多个部分 | ||
| 3 | +1、Base文件 | ||
| 4 | +不需要依赖任何第三方环境,只需要在linux上跑,同时为其他地方,如module提供延时函数等 | ||
| 5 | +2、JZsdk_Normal_Module | ||
| 6 | +功能模组合集,为了移植时不依赖第三方文件或板子环境,使用JZsdk_module_inport.c进行参数提供 | ||
| 7 | +当你需要使用第三方参数给module时,你应该把接口写在Module_InPort,后Module内的模块调用Module_Inport | ||
| 8 | + | ||
| 9 | +当你需要给第三方参数时 | ||
| 10 | +同样应该使用 JZsdk_Module_OutPort.c进行提供 |
JZsdk_Uart/JZsdk_Uart_Input.c
0 → 100644
| 1 | +#include <stdio.h> | ||
| 2 | +#include <string.h> | ||
| 3 | +#include <stdlib.h> | ||
| 4 | + | ||
| 5 | +#include "UartConnection/UartConnection.h" | ||
| 6 | +#include "Megaphone_InputAndOutput.h" | ||
| 7 | +#include "BaseConfig.h" | ||
| 8 | +#include "version_choose.h" | ||
| 9 | + | ||
| 10 | +#include "JZsdk_Uart_UartDeal.h" | ||
| 11 | +#include "Gimbal_InAndOut.h" | ||
| 12 | +#include "Uart_Config.h" | ||
| 13 | +#include "JZsdk_Uart_Send/JZsdk_Uart_Send.h" | ||
| 14 | + | ||
| 15 | +// 记录串口是否有被使用,方便ui_contrl进行信息反馈 | ||
| 16 | +struct UartDev_UseFlag | ||
| 17 | +{ | ||
| 18 | + int UartDev_DEV1 ; | ||
| 19 | + int UartDev_DEV2 ; | ||
| 20 | + int UartDev_4G ; | ||
| 21 | +}; | ||
| 22 | +static struct UartDev_UseFlag UartDevUseFlag = {JZ_FLAGCODE_OFF, JZ_FLAGCODE_OFF, JZ_FLAGCODE_OFF}; | ||
| 23 | + | ||
| 24 | + | ||
| 25 | +/**************** | ||
| 26 | + * | ||
| 27 | + * 回复串口是否有被调用 | ||
| 28 | + * | ||
| 29 | + * *************/ | ||
| 30 | +int JZsdk_Get_UartDev_UseFlag(int UART_DEV_NAME) | ||
| 31 | +{ | ||
| 32 | + if (UART_DEV_NAME == UART_DEV_1) | ||
| 33 | + { | ||
| 34 | + return UartDevUseFlag.UartDev_DEV1; | ||
| 35 | + } | ||
| 36 | + if (UART_DEV_NAME == UART_DEV_2) | ||
| 37 | + { | ||
| 38 | + return UartDevUseFlag.UartDev_DEV2; | ||
| 39 | + } | ||
| 40 | + if (UART_DEV_NAME == UART_4G) | ||
| 41 | + { | ||
| 42 | + return UartDevUseFlag.UartDev_4G; | ||
| 43 | + } | ||
| 44 | +} | ||
| 45 | + | ||
| 46 | +/************** | ||
| 47 | + * | ||
| 48 | + * 串口部分初始化 | ||
| 49 | + * | ||
| 50 | + * *********/ | ||
| 51 | +int JZsdk_Uart_Init(int UART_DEV_NAME) | ||
| 52 | +{ | ||
| 53 | + int Uart_fd = 0; | ||
| 54 | + | ||
| 55 | + //初始化的是一号设备 | ||
| 56 | + if (UART_DEV_NAME == UART_DEV_1) | ||
| 57 | + { | ||
| 58 | + //1、串口初始化 | ||
| 59 | + Uart_fd = UartConnection_UartEnabled(UART_DEV1_NUM, UART_DEV1_BITRATE); | ||
| 60 | + | ||
| 61 | + //2、串口接收初始化 | ||
| 62 | + JZsdk_Uart_UartDeal_Receive(Uart_fd, UART_DEV_1); | ||
| 63 | + | ||
| 64 | + //3、将使用标识打开 | ||
| 65 | + UartDevUseFlag.UartDev_DEV1 = JZ_FLAGCODE_ON; | ||
| 66 | + } | ||
| 67 | + | ||
| 68 | + //初始化的是二号设备 | ||
| 69 | + if (UART_DEV_NAME == UART_DEV_2) | ||
| 70 | + { | ||
| 71 | + //1、串口初始化 | ||
| 72 | + Uart_fd = UartConnection_UartEnabled(UART_DEV2_NUM, UART_DEV2_BITRATE); | ||
| 73 | + | ||
| 74 | + //2、串口接收初始化 | ||
| 75 | + JZsdk_Uart_UartDeal_Receive(Uart_fd, UART_DEV_2); | ||
| 76 | + | ||
| 77 | + //3、将使用标识打开 | ||
| 78 | + UartDevUseFlag.UartDev_DEV2 = JZ_FLAGCODE_ON; | ||
| 79 | + } | ||
| 80 | + | ||
| 81 | + if (UART_DEV_NAME == UART_4G) | ||
| 82 | + { | ||
| 83 | + //1、串口初始化 | ||
| 84 | + Uart_fd = UartConnection_UartEnabled(COMM_4G_UART_NUM, COMM_4G_UART_BITRATE); | ||
| 85 | + | ||
| 86 | + //2、串口接收初始化 | ||
| 87 | + JZsdk_Uart_UartDeal_Receive(Uart_fd, UART_4G); | ||
| 88 | + | ||
| 89 | + //3、将使用标识打开 | ||
| 90 | + UartDevUseFlag.UartDev_4G = JZ_FLAGCODE_ON; | ||
| 91 | + } | ||
| 92 | + | ||
| 93 | + printf("%x串口初始化完成\n", UART_DEV_NAME); | ||
| 94 | +} | ||
| 95 | + | ||
| 96 | + | ||
| 97 | +/* | ||
| 98 | +* | ||
| 99 | +* 发送播放结束状态帧 | ||
| 100 | +* | ||
| 101 | +*/ | ||
| 102 | +int JZsdk_Uart_Reply_PlayStatus_end(int PortNum) | ||
| 103 | +{ | ||
| 104 | + //发送播放状态结束帧 | ||
| 105 | + JZsdk_Uart_SendDeal_Send_PlayStatus_end(PortNum); | ||
| 106 | +} | ||
| 107 | + | ||
| 108 | +/************** | ||
| 109 | + * | ||
| 110 | + * 发送发送播放状态帧 | ||
| 111 | + * | ||
| 112 | + * ***********/ | ||
| 113 | +int JZsdk_Uart_Send_PlayStatus(int Uartport ,int num) | ||
| 114 | +{ | ||
| 115 | + JZsdk_Uart_SendDeal_Send_PlayStatus(Uartport, num); | ||
| 116 | +} | ||
| 117 | + | ||
| 118 | +/************** | ||
| 119 | + * | ||
| 120 | + * 发送音量 | ||
| 121 | + * | ||
| 122 | + * ***********/ | ||
| 123 | +int JZsdk_Uart_Reply_Volume(int Uartport,int volume) | ||
| 124 | +{ | ||
| 125 | + JZsdk_Uart_SendDeal_Reply_Volume(Uartport, volume); | ||
| 126 | +} | ||
| 127 | + | ||
| 128 | +/************** | ||
| 129 | + * | ||
| 130 | + * 发送音色 | ||
| 131 | + * | ||
| 132 | + * ***********/ | ||
| 133 | +int JZsdk_Uart_Reply_TTS_tone(int Uartport,int tone) | ||
| 134 | +{ | ||
| 135 | + JZsdk_Uart_SendDeal_Reply_TTS_tone(Uartport, tone); | ||
| 136 | +} | ||
| 137 | + | ||
| 138 | +/************** | ||
| 139 | + * | ||
| 140 | + * 发送语速 | ||
| 141 | + * | ||
| 142 | + * ***********/ | ||
| 143 | +int JZsdk_Uart_Reply_TTS_speed(int Uartport,int speed) | ||
| 144 | +{ | ||
| 145 | + JZsdk_Uart_SendDeal_Reply_TTS_speed(Uartport, speed); | ||
| 146 | +} | ||
| 147 | + | ||
| 148 | +/************** | ||
| 149 | + * | ||
| 150 | + * 发送循环状态 | ||
| 151 | + * | ||
| 152 | + * ***********/ | ||
| 153 | +int JZsdk_Uart_Reply_AudioPlayLoopStatus(int Uartport,int speed) | ||
| 154 | +{ | ||
| 155 | + JZsdk_Uart_SendDeal_Reply_LoopPlayStatus(Uartport, speed); | ||
| 156 | +} | ||
| 157 | + | ||
| 158 | + | ||
| 159 | +/************** | ||
| 160 | + * | ||
| 161 | + * 发送云台俯仰角度查询值 | ||
| 162 | + * | ||
| 163 | + * ***********/ | ||
| 164 | +int JZsdk_Uart_Reply_GimbalPitchAngle(int Uartport,int angle) | ||
| 165 | +{ | ||
| 166 | + JZsdk_Uart_SendDeal_Reply_GimbalPitchAngle(Uartport, angle); | ||
| 167 | +} | ||
| 168 | + | ||
| 169 | +/************* | ||
| 170 | + * | ||
| 171 | + * 设置云台俯仰角度 | ||
| 172 | + * | ||
| 173 | + * **************/ | ||
| 174 | +int JZsdk_Uart_Send_SetGimbalPitch(int Uartport,int angle) | ||
| 175 | +{ | ||
| 176 | + JZsdk_Uart_SendDeal_Set_GimbalPitchAngle(Uartport, angle); | ||
| 177 | +} | ||
| 178 | + | ||
| 179 | +/************* | ||
| 180 | + * | ||
| 181 | + * 设置云台俯仰角度微调 | ||
| 182 | + * | ||
| 183 | + * **************/ | ||
| 184 | +int JZsdk_Uart_Send_SetGimbalFineTuningPitch(int Uartport,int angle) | ||
| 185 | +{ | ||
| 186 | + JZsdk_Uart_SendDeal_Set_GimbalFineTuningPitch(Uartport, angle); | ||
| 187 | +} | ||
| 188 | + | ||
| 189 | +/************* | ||
| 190 | + * | ||
| 191 | + * 查询云台微调角度 | ||
| 192 | + * | ||
| 193 | + * **************/ | ||
| 194 | +int JZsdk_Uart_Send_CheckStatus_GimbalFineTuningPitch(int Uartport,int FrameSequence) | ||
| 195 | +{ | ||
| 196 | + JZsdk_Uart_SendDeal_CheckStatus_GimbalFineTuningPitch(Uartport,FrameSequence); | ||
| 197 | +} | ||
| 198 | + | ||
| 199 | +/************* | ||
| 200 | + * | ||
| 201 | + * 发送云台俯仰微调值 | ||
| 202 | + * | ||
| 203 | + * **************/ | ||
| 204 | +int JZsdk_Uart_Send_GimbalFineTuningPitch(int Uartport,int FrameSequence, int Pitch) | ||
| 205 | +{ | ||
| 206 | + JZsdk_Uart_SendDeal_Reply_GimbalFineTuningPitch(Uartport,FrameSequence, Pitch); | ||
| 207 | +} | ||
| 208 | + | ||
| 209 | +/************* | ||
| 210 | + * | ||
| 211 | + * 设置云台联动 | ||
| 212 | + * | ||
| 213 | + * **************/ | ||
| 214 | +int JZsdk_Uart_Send_Set_GimbalLinkageControl(int Uartport,int FrameSequence, int value) | ||
| 215 | +{ | ||
| 216 | + JZsdk_Uart_SendDeal_Set_GimbalLinkageControl(Uartport,FrameSequence, value); | ||
| 217 | +} | ||
| 218 | + | ||
| 219 | +/************* | ||
| 220 | + * | ||
| 221 | + * 查询云台联动值 | ||
| 222 | + * | ||
| 223 | + * **************/ | ||
| 224 | +int JZsdk_Uart_Send_CheckStatus_GimbalLinkage(int Uartport,int FrameSequence) | ||
| 225 | +{ | ||
| 226 | + JZsdk_Uart_SendDeal_CheckStatus_GimbalLinkage(Uartport,FrameSequence); | ||
| 227 | +} | ||
| 228 | + | ||
| 229 | +/************* | ||
| 230 | + * | ||
| 231 | + * 发送云台联动值 | ||
| 232 | + * | ||
| 233 | + * **************/ | ||
| 234 | +int JZsdk_Uart_Send_GimbalLinkageControl(int Uartport,int FrameSequence, int value) | ||
| 235 | +{ | ||
| 236 | + JZsdk_Uart_SendDeal_GimbalLinkageControl(Uartport,FrameSequence,value); | ||
| 237 | +} | ||
| 238 | + | ||
| 239 | +/******************************************************************************************************************************* | ||
| 240 | + * | ||
| 241 | + * 探照灯部分 | ||
| 242 | + * | ||
| 243 | + * *******************************************************************************************************************************/ | ||
| 244 | + | ||
| 245 | +/************* | ||
| 246 | + * | ||
| 247 | + * 设置探照灯爆闪频率 | ||
| 248 | + * | ||
| 249 | + * **************/ | ||
| 250 | +int JZsdk_Uart_Send_SearchLight_SetFrequency(int Uartport,int Frequency) | ||
| 251 | +{ | ||
| 252 | + JZsdk_Uart_SendDeal_Set_SearchLightFrequency(Uartport ,Frequency); | ||
| 253 | +} | ||
| 254 | + | ||
| 255 | +/************* | ||
| 256 | + * | ||
| 257 | + * 探照灯控制 | ||
| 258 | + * | ||
| 259 | + * **************/ | ||
| 260 | +int JZsdk_Uart_Send_SearchLight_Control(int Uartport,int mode) | ||
| 261 | +{ | ||
| 262 | + JZsdk_Uart_SendDeal_SearchLight_Control(Uartport, mode); | ||
| 263 | +} | ||
| 264 | + | ||
| 265 | +/************* | ||
| 266 | + * | ||
| 267 | + * 探照灯亮度 | ||
| 268 | + * | ||
| 269 | + * **************/ | ||
| 270 | +int JZsdk_Uart_Send_SearchLight_SetLumen(int Uartport, int LeftLumen, int RightLumen) | ||
| 271 | +{ | ||
| 272 | + JZsdk_Uart_SendDeal_SearchLight_SetLumen(Uartport, LeftLumen, RightLumen); | ||
| 273 | +} | ||
| 274 | + | ||
| 275 | +/************* | ||
| 276 | + * | ||
| 277 | + * 查询爆闪频率 | ||
| 278 | + * | ||
| 279 | + * **************/ | ||
| 280 | +int JZsdk_Uart_Send_SearchLight_CheckStatus_Frequency(int Uartport) | ||
| 281 | +{ | ||
| 282 | + JZsdk_Uart_SendDeal_Set_SearchLight_CheckStatus_Frequency(Uartport); | ||
| 283 | +} | ||
| 284 | + | ||
| 285 | +/************* | ||
| 286 | + * | ||
| 287 | + * 查询探照灯亮度 | ||
| 288 | + * | ||
| 289 | + * **************/ | ||
| 290 | +int JZsdk_Uart_Send_SearchLight_CheckStatus_Lumen(int Uartport) | ||
| 291 | +{ | ||
| 292 | + JZsdk_Uart_SendDeal_Set_SearchLight_CheckStatus_Lumen(Uartport); | ||
| 293 | +} | ||
| 294 | + | ||
| 295 | +/************* | ||
| 296 | + * | ||
| 297 | + * 查询探照灯模式 | ||
| 298 | + * | ||
| 299 | + * **************/ | ||
| 300 | +int JZsdk_Uart_Send_SearchLight_CheckStatus_Mode(int Uartport) | ||
| 301 | +{ | ||
| 302 | + JZsdk_Uart_SendDeal_Set_SearchLight_CheckStatus_Mode(Uartport); | ||
| 303 | +} | ||
| 304 | + | ||
| 305 | +/************* | ||
| 306 | + * | ||
| 307 | + * 查询探照灯属性 | ||
| 308 | + * | ||
| 309 | + * **************/ | ||
| 310 | +int JZsdk_Uart_Send_SearchLight_CheckStatus_LightAttribute(int Uartport) | ||
| 311 | +{ | ||
| 312 | + JZsdk_Uart_SendDeal_CheckStatus_LightAttribute(Uartport); | ||
| 313 | +} | ||
| 314 | + | ||
| 315 | +/************* | ||
| 316 | + * | ||
| 317 | + * 查询探照灯温度 | ||
| 318 | + * | ||
| 319 | + * **************/ | ||
| 320 | +int JZsdk_Uart_Send_SearchLight_CheckStatus_SearchLightTemperture(int Uartport) | ||
| 321 | +{ | ||
| 322 | + JZsdk_Uart_SendDeal_CheckStatus_SearchLightTemperture(Uartport); | ||
| 323 | +} | ||
| 324 | + | ||
| 325 | + | ||
| 326 | +/************* | ||
| 327 | + * | ||
| 328 | + * 探照灯消息订阅 | ||
| 329 | + * | ||
| 330 | + * **************/ | ||
| 331 | +int JZsdk_Uart_Send_MessageSubcription_Control(int Uartport,int value) | ||
| 332 | +{ | ||
| 333 | + JZsdk_Uart_SendDeal_MessageSubcription_Control(Uartport, value); | ||
| 334 | +} | ||
| 335 | +/******************************************************************************************************************************* | ||
| 336 | + * | ||
| 337 | + * 警灯部分 | ||
| 338 | + * | ||
| 339 | + * *******************************************************************************************************************************/ | ||
| 340 | + | ||
| 341 | +/************* | ||
| 342 | + * | ||
| 343 | + * 设置警灯状态 | ||
| 344 | + * | ||
| 345 | + * **************/ | ||
| 346 | +int JZsdk_Uart_Send_Set_WarningLight_Status(int Uartport,int status, int mode) | ||
| 347 | +{ | ||
| 348 | + JZsdk_Uart_SendDeal_Set_WarningLight_Status(Uartport, status, mode); | ||
| 349 | +} | ||
| 350 | +/************* | ||
| 351 | + * | ||
| 352 | + * 设置警灯颜色 | ||
| 353 | + * | ||
| 354 | + * **************/ | ||
| 355 | +int JZsdk_Uart_Send_Set_WarningLight_Color(int Uartport,int color1, int color2) | ||
| 356 | +{ | ||
| 357 | + JZsdk_Uart_SendDeal_Set_WarningLight_Color(Uartport, color1, color2); | ||
| 358 | +} | ||
| 359 | + | ||
| 360 | +/******************************************************************************************************************************* | ||
| 361 | + * | ||
| 362 | + * 5B类部分 | ||
| 363 | + * | ||
| 364 | + * *******************************************************************************************************************************/ | ||
| 365 | +/************* | ||
| 366 | + * | ||
| 367 | + * 发送探照灯爆闪频率 | ||
| 368 | + * | ||
| 369 | + * **************/ | ||
| 370 | +int JZsdk_Uart_Send_SearchLight_Frequency(int Uartport,int value) | ||
| 371 | +{ | ||
| 372 | + JZsdk_Uart_SendDeal_SearchLight_Frequency(Uartport, value); | ||
| 373 | +} | ||
| 374 | + | ||
| 375 | +/************* | ||
| 376 | + * | ||
| 377 | + * 发送探照灯模式 | ||
| 378 | + * | ||
| 379 | + * **************/ | ||
| 380 | +int JZsdk_Uart_Send_SearchLight_Mode(int Uartport,int value) | ||
| 381 | +{ | ||
| 382 | + JZsdk_Uart_SendDeal_SearchLight_Mode(Uartport, value); | ||
| 383 | +} | ||
| 384 | + | ||
| 385 | +/************* | ||
| 386 | + * | ||
| 387 | + * 发送探照灯亮度 | ||
| 388 | + * | ||
| 389 | + * **************/ | ||
| 390 | +int JZsdk_Uart_Send_SearchLight_Lumen(int Uartport,int LeftLumen, int RightLumen) | ||
| 391 | +{ | ||
| 392 | + JZsdk_Uart_SendDeal_SearchLight_Lumen(Uartport, LeftLumen, RightLumen); | ||
| 393 | +} | ||
| 394 | + | ||
| 395 | +/************* | ||
| 396 | + * | ||
| 397 | + * 发送探照灯温度 | ||
| 398 | + * | ||
| 399 | + * **************/ | ||
| 400 | +int JZsdk_Uart_Send_SearchLight_Temperature(int Uartport,int LeftTemperature, int RightTemperature) | ||
| 401 | +{ | ||
| 402 | + JZsdk_Uart_SendDeal_SearchLight_Temperature(Uartport, LeftTemperature, RightTemperature); | ||
| 403 | +} | ||
| 404 | + | ||
| 405 | +/******************************************************************************************************************************* | ||
| 406 | + * | ||
| 407 | + * 警灯部分 | ||
| 408 | + * | ||
| 409 | + * *******************************************************************************************************************************/ | ||
| 410 | +/************* | ||
| 411 | + * | ||
| 412 | + * 发送警灯状态 | ||
| 413 | + * | ||
| 414 | + * **************/ | ||
| 415 | +int JZsdk_Uart_Send_WarningLight_Status(int Uartport, int status, int mode) | ||
| 416 | +{ | ||
| 417 | + JZsdk_Uart_SendDeal_WarningLight_Status(Uartport, status, mode); | ||
| 418 | +} | ||
| 419 | + | ||
| 420 | +/************* | ||
| 421 | + * | ||
| 422 | + * 发送警灯颜色 | ||
| 423 | + * | ||
| 424 | + * **************/ | ||
| 425 | +int JZsdk_Uart_Send_WarningLight_Color(int Uartport, int color1, int color2) | ||
| 426 | +{ | ||
| 427 | + JZsdk_Uart_SendDeal_WarningLight_Color(Uartport, color1, color2); | ||
| 428 | +} | ||
| 429 | + | ||
| 430 | + | ||
| 431 | +/************* | ||
| 432 | + * | ||
| 433 | + * 查询警灯状态 | ||
| 434 | + * | ||
| 435 | + * **************/ | ||
| 436 | +int JZsdk_Uart_Send_CheckStatus_WarningLightStatus(int Uartport) | ||
| 437 | +{ | ||
| 438 | + JZsdk_Uart_SendDeal_CheckStatus_WarningLightStatus(Uartport); | ||
| 439 | +} | ||
| 440 | + | ||
| 441 | + | ||
| 442 | +/************* | ||
| 443 | + * | ||
| 444 | + * 查询警灯颜色 | ||
| 445 | + * | ||
| 446 | + * **************/ | ||
| 447 | +int JZsdk_Uart_Send_CheckStatus_WarningLightColor(int Uartport) | ||
| 448 | +{ | ||
| 449 | + JZsdk_Uart_SendDeal_CheckStatus_WarningLightColor(Uartport); | ||
| 450 | +} |
JZsdk_Uart/JZsdk_Uart_Input.h
0 → 100644
| 1 | +/** | ||
| 2 | + ******************************************************************** | ||
| 3 | + * @file JZsdk_Uart_Input.h | ||
| 4 | + * JZsdk_Uart_Input | ||
| 5 | + * | ||
| 6 | + ********************************************************************* | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 10 | +#ifndef JZSDK_UART_INPUT_H | ||
| 11 | +#define JZSDK_UART_INPUT_H | ||
| 12 | + | ||
| 13 | +/* Includes ------------------------------------------------------------------*/ | ||
| 14 | + | ||
| 15 | +#ifdef __cplusplus | ||
| 16 | +extern "C" { | ||
| 17 | +#endif | ||
| 18 | + | ||
| 19 | + | ||
| 20 | +/* Exported constants --------------------------------------------------------*/ | ||
| 21 | +/* 常亮定义*/ | ||
| 22 | + | ||
| 23 | +/* Exported types ------------------------------------------------------------*/ | ||
| 24 | + | ||
| 25 | +/* Exported functions --------------------------------------------------------*/ | ||
| 26 | +int JZsdk_Uart_Init(int UART_DEV_NAME); | ||
| 27 | +int JZsdk_Get_UartDev_UseFlag(int UART_DEV_NAME); | ||
| 28 | + | ||
| 29 | +int JZsdk_Uart_Reply_PlayStatus_end(int PortNum); | ||
| 30 | +int JZsdk_Uart_Send_PlayStatus(int Uartport ,int num); | ||
| 31 | +int JZsdk_Uart_Reply_Volume(int Uartport,int volume); | ||
| 32 | +int JZsdk_Uart_Reply_TTS_tone(int Uartport,int tone); | ||
| 33 | +int JZsdk_Uart_Reply_TTS_speed(int Uartport,int speed); | ||
| 34 | +int JZsdk_Uart_Reply_AudioPlayLoopStatus(int Uartport,int speed); | ||
| 35 | + | ||
| 36 | + | ||
| 37 | +int JZsdk_Uart_Reply_GimbalPitchAngle(int Uartport,int angle); | ||
| 38 | +int JZsdk_Uart_Send_SetGimbalPitch(int Uartport,int angle); | ||
| 39 | +int JZsdk_Uart_Send_SetGimbalFineTuningPitch(int Uartport,int angle); | ||
| 40 | +int JZsdk_Uart_Send_Gimbal_Pitch(int Uartport, int pitch); | ||
| 41 | +int JZsdk_Uart_Send_CheckStatus_GimbalFineTuningPitch(int Uartport,int FrameSequence); | ||
| 42 | +int JZsdk_Uart_Send_GimbalFineTuningPitch(int Uartport,int FrameSequence, int Pitch); | ||
| 43 | +int JZsdk_Uart_Send_Set_GimbalLinkageControl(int Uartport,int FrameSequence, int value); | ||
| 44 | +int JZsdk_Uart_Send_CheckStatus_GimbalLinkage(int Uartport,int FrameSequence); | ||
| 45 | +int JZsdk_Uart_Send_GimbalLinkageControl(int Uartport,int FrameSequence, int value); | ||
| 46 | + | ||
| 47 | +int JZsdk_Uart_Send_SearchLight_SetFrequency(int Uartport,int Frequency); | ||
| 48 | +int JZsdk_Uart_Send_SearchLight_Control(int Uartport,int mode); | ||
| 49 | +int JZsdk_Uart_Send_SearchLight_SetLumen(int Uartport, int LeftLumen, int RightLumen); | ||
| 50 | + | ||
| 51 | +int JZsdk_Uart_Send_MessageSubcription_Control(int Uartport,int value); | ||
| 52 | + | ||
| 53 | +int JZsdk_Uart_Send_Set_WarningLight_Status(int Uartport,int status, int mode); | ||
| 54 | +int JZsdk_Uart_Send_Set_WarningLight_Color(int Uartport,int color1, int color2); | ||
| 55 | + | ||
| 56 | +int JZsdk_Uart_Send_SearchLight_CheckStatus_Frequency(int Uartport); | ||
| 57 | +int JZsdk_Uart_Send_SearchLight_CheckStatus_Lumen(int Uartport); | ||
| 58 | +int JZsdk_Uart_Send_SearchLight_CheckStatus_Mode(int Uartport); | ||
| 59 | +int JZsdk_Uart_Send_SearchLight_CheckStatus_LightAttribute(int Uartport); | ||
| 60 | +int JZsdk_Uart_Send_SearchLight_CheckStatus_SearchLightTemperture(int Uartport); | ||
| 61 | + | ||
| 62 | +int JZsdk_Uart_Send_SearchLight_Frequency(int Uartport,int value); | ||
| 63 | +int JZsdk_Uart_Send_SearchLight_Mode(int Uartport,int value); | ||
| 64 | +int JZsdk_Uart_Send_SearchLight_Lumen(int Uartport,int LeftLumen, int RightLumen); | ||
| 65 | +int JZsdk_Uart_Send_SearchLight_Temperature(int Uartport,int LeftTemperature, int RightTemperature); | ||
| 66 | + | ||
| 67 | + | ||
| 68 | +int JZsdk_Uart_Send_WarningLight_Status(int Uartport, int status, int mode); | ||
| 69 | +int JZsdk_Uart_Send_WarningLight_Color(int Uartport, int color1, int color2); | ||
| 70 | +int JZsdk_Uart_Send_CheckStatus_WarningLightStatus(int Uartport); | ||
| 71 | +int JZsdk_Uart_Send_CheckStatus_WarningLightColor(int Uartport); | ||
| 72 | + | ||
| 73 | + | ||
| 74 | + | ||
| 75 | + | ||
| 76 | +#ifdef __cplusplus | ||
| 77 | +} | ||
| 78 | +#endif | ||
| 79 | + | ||
| 80 | +#endif |
JZsdk_Uart/JZsdk_Uart_Output.c
0 → 100644
| 1 | +#include <stdio.h> | ||
| 2 | +#include <string.h> | ||
| 3 | +#include <stdlib.h> | ||
| 4 | + | ||
| 5 | +#include "UartConnection/UartConnection.h" | ||
| 6 | +#include "Megaphone_InputAndOutput.h" | ||
| 7 | +#include "BaseConfig.h" | ||
| 8 | +#include "version_choose.h" | ||
| 9 | + | ||
| 10 | +#include "JZsdk_Uart_UartDeal.h" | ||
| 11 | +#include "Gimbal_InAndOut.h" | ||
| 12 | +#include "Uart_Config.h" | ||
| 13 | +#include "JZsdk_Uart_Send/JZsdk_Uart_Send.h" | ||
| 14 | + | ||
| 15 | +#include "UI_control.h" | ||
| 16 | + | ||
| 17 | +static int SecondaryDeviceName = 0x00; //从设备名,用于多设备相连时通知控制端 从机设备名 | ||
| 18 | + | ||
| 19 | + | ||
| 20 | +/****** | ||
| 21 | + * | ||
| 22 | + * 开关功放 | ||
| 23 | + * | ||
| 24 | + * *******/ | ||
| 25 | +int JZsdk_Uart_Set_Amplifier(int status) | ||
| 26 | +{ | ||
| 27 | + Megaphone_set_amplifier(status); | ||
| 28 | +} | ||
| 29 | + | ||
| 30 | +/****** | ||
| 31 | + * | ||
| 32 | + * 调节音量 | ||
| 33 | + * | ||
| 34 | + * *******/ | ||
| 35 | +T_JZsdkReturnCode JZsdk_Uart_Set_Volume(int DeviceName, int value) | ||
| 36 | +{ | ||
| 37 | + return UIcontrol_SetVolume(DeviceName, value); | ||
| 38 | +} | ||
| 39 | + | ||
| 40 | + | ||
| 41 | +/********* | ||
| 42 | + * | ||
| 43 | + * 1、TTS播放 | ||
| 44 | + * | ||
| 45 | + * *********/ | ||
| 46 | +T_JZsdkReturnCode JZsdk_Uart_TTS_Play(int DeviceName, char *data ,int len) | ||
| 47 | +{ | ||
| 48 | + return UIcontrol_TTS_Play(DeviceName, data, len); | ||
| 49 | +} | ||
| 50 | + | ||
| 51 | +/********* | ||
| 52 | + * | ||
| 53 | + * 2、TTS设置音色 | ||
| 54 | + * | ||
| 55 | + * *********/ | ||
| 56 | +T_JZsdkReturnCode JZsdk_Uart_TTS_SetTone(int DeviceName, int tone) | ||
| 57 | +{ | ||
| 58 | + return UIcontrol_Set_TTS_tone(DeviceName, tone); | ||
| 59 | +} | ||
| 60 | + | ||
| 61 | +/********* | ||
| 62 | + * | ||
| 63 | + * 3、TTS设置语速 | ||
| 64 | + * | ||
| 65 | + * *********/ | ||
| 66 | +T_JZsdkReturnCode JZsdk_Uart_TTS_SetSpeed(int DeviceName, int speed) | ||
| 67 | +{ | ||
| 68 | + return UIcontrol_Set_TTS_speed(DeviceName, speed); | ||
| 69 | +} | ||
| 70 | + | ||
| 71 | + | ||
| 72 | +/********* | ||
| 73 | + * | ||
| 74 | + * 刷新歌曲列表 | ||
| 75 | + * | ||
| 76 | + * | ||
| 77 | +**********/ | ||
| 78 | +int JZsdk_Uart_Flush_MusicList() | ||
| 79 | +{ | ||
| 80 | + Megaphone_Flush_MusicList(); | ||
| 81 | +} | ||
| 82 | +/********* | ||
| 83 | + * | ||
| 84 | + * 获取音乐总数 | ||
| 85 | + * | ||
| 86 | + * | ||
| 87 | +**********/ | ||
| 88 | +int JZsdk_Uart_get_music_list_sum() | ||
| 89 | +{ | ||
| 90 | + return Megaphone_get_music_list_sum(); | ||
| 91 | +} | ||
| 92 | +/********* | ||
| 93 | + * | ||
| 94 | + * 获取音乐名 | ||
| 95 | + * | ||
| 96 | + * | ||
| 97 | +**********/ | ||
| 98 | +int JZsdk_Uart_get_music_list_name(int num, char *music_name, int *music_name_length) | ||
| 99 | +{ | ||
| 100 | + return Megaphone_get_music_list_name(num, music_name, music_name_length); | ||
| 101 | +} | ||
| 102 | + | ||
| 103 | + | ||
| 104 | +/********* | ||
| 105 | + * | ||
| 106 | + * 查询音量 | ||
| 107 | + * | ||
| 108 | + * | ||
| 109 | +**********/ | ||
| 110 | +int JZsdk_Uart_CheckStatus_volume() | ||
| 111 | +{ | ||
| 112 | + return Megaphone_get_music_volume(); | ||
| 113 | +} | ||
| 114 | +/********* | ||
| 115 | + * | ||
| 116 | + * 查询播放状态 | ||
| 117 | + * | ||
| 118 | + * | ||
| 119 | +**********/ | ||
| 120 | +int JZsdk_Uart_CheckStatus_play() | ||
| 121 | +{ | ||
| 122 | + return Megaphone_get_play_status(); | ||
| 123 | +} | ||
| 124 | +/********* | ||
| 125 | + * | ||
| 126 | + * 查询云台角度 | ||
| 127 | + * | ||
| 128 | + * | ||
| 129 | +**********/ | ||
| 130 | +int JZsdk_Uart_CheckStatus_gimbal() | ||
| 131 | +{ | ||
| 132 | + int AngleType = 1; | ||
| 133 | + | ||
| 134 | + if (AngleType == 1) | ||
| 135 | + { | ||
| 136 | + return Gimbal_Get_PitchAngle(); | ||
| 137 | + } | ||
| 138 | + | ||
| 139 | + | ||
| 140 | +} | ||
| 141 | +/********* | ||
| 142 | + * | ||
| 143 | + * 查询云台微调值 | ||
| 144 | + * | ||
| 145 | + * | ||
| 146 | +**********/ | ||
| 147 | +T_JZsdkReturnCode JZsdk_Uart_CheckStatus_GimbalFineTuning(int DeviceName, int FrameSequence) | ||
| 148 | +{ | ||
| 149 | + //查询云台微调 | ||
| 150 | + printf("查询云台微调值\n"); | ||
| 151 | + | ||
| 152 | + //1、查询本地云台微调 | ||
| 153 | + int FineTunigPitch, FineTunigYaw; | ||
| 154 | + int ret = UIcontrol_CheckStatus_GimbalPitchFineTuning(&FineTunigPitch, &FineTunigYaw); | ||
| 155 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 156 | + { | ||
| 157 | + //回复操作失败 | ||
| 158 | + JZsdk_Uart_SendDeal_Reply_Failure(DeviceName, FrameSequence); | ||
| 159 | + return ret; | ||
| 160 | + } | ||
| 161 | + | ||
| 162 | + //2、发送本地云台微调 | ||
| 163 | + JZsdk_Uart_SendDeal_Reply_GimbalFineTuningPitch(DeviceName, FrameSequence, FineTunigPitch); | ||
| 164 | +} | ||
| 165 | + | ||
| 166 | + | ||
| 167 | +/********* | ||
| 168 | + * | ||
| 169 | + * 查询播放文件名 | ||
| 170 | + * | ||
| 171 | + * | ||
| 172 | +**********/ | ||
| 173 | +int JZsdk_Uart_CheckStatus_PlayFileName(char *music_name, int *music_name_len) | ||
| 174 | +{ | ||
| 175 | + Megaphone_get_play_FileName(music_name, music_name_len); | ||
| 176 | +} | ||
| 177 | +/********* | ||
| 178 | + * | ||
| 179 | + * 查询软件版本号 | ||
| 180 | + * | ||
| 181 | + * | ||
| 182 | +**********/ | ||
| 183 | +int JZsdk_Uart_CheckStatus_SoftwareVersion(char *majorVersion, char *minorVersion, char *modifyVersion, char *debugVersion) | ||
| 184 | +{ | ||
| 185 | + *majorVersion = MAJOR_VERSION; | ||
| 186 | + *minorVersion = MINOR_VERSION; | ||
| 187 | + *modifyVersion = MODIFY_VERSION; | ||
| 188 | + *debugVersion = DEBUG_VERSION; | ||
| 189 | +} | ||
| 190 | +/********* | ||
| 191 | + * | ||
| 192 | + * 查询是否打开循环 | ||
| 193 | + * | ||
| 194 | + * | ||
| 195 | +**********/ | ||
| 196 | +int JZsdk_Uart_CheckStatus_LoopPlay() | ||
| 197 | +{ | ||
| 198 | + | ||
| 199 | + return Megaphone_Get_LoopPlay(); | ||
| 200 | + | ||
| 201 | +} | ||
| 202 | +/********* | ||
| 203 | + * | ||
| 204 | + * 查询音色 | ||
| 205 | + * | ||
| 206 | + * | ||
| 207 | +**********/ | ||
| 208 | +int JZsdk_Uart_CheckStatus_TTS_tone() | ||
| 209 | +{ | ||
| 210 | + | ||
| 211 | + return Megaphone_Get_TTS_tone(); | ||
| 212 | + | ||
| 213 | +} | ||
| 214 | +/********* | ||
| 215 | + * | ||
| 216 | + * 查询语速 | ||
| 217 | + * | ||
| 218 | + * | ||
| 219 | +**********/ | ||
| 220 | +int JZsdk_Uart_CheckStatus_TTS_speed() | ||
| 221 | +{ | ||
| 222 | + | ||
| 223 | + return Megaphone_Get_TTS_speed(); | ||
| 224 | + | ||
| 225 | +} | ||
| 226 | + | ||
| 227 | +/*** | ||
| 228 | + * | ||
| 229 | + * | ||
| 230 | + * 播放歌曲 | ||
| 231 | + * | ||
| 232 | + * ***/ | ||
| 233 | +T_JZsdkReturnCode JZsdk_Uart_PlayMusic(int DeviceName, char *music_name, int datasize) | ||
| 234 | +{ | ||
| 235 | + return UIcontrol_PlayAudioFile(DeviceName, music_name, datasize); | ||
| 236 | +} | ||
| 237 | + | ||
| 238 | +/********* | ||
| 239 | + * | ||
| 240 | + * 音频继续播放 | ||
| 241 | + * | ||
| 242 | + * | ||
| 243 | +**********/ | ||
| 244 | +T_JZsdkReturnCode JZsdk_Uart_audio_PlayContinue(int DeviceName) | ||
| 245 | +{ | ||
| 246 | + return UIcontrol_ContinuePlayAudio(DeviceName); | ||
| 247 | +} | ||
| 248 | +/********* | ||
| 249 | + * | ||
| 250 | + * 音频暂停播放 | ||
| 251 | + * | ||
| 252 | + * | ||
| 253 | +**********/ | ||
| 254 | +T_JZsdkReturnCode JZsdk_Uart_audio_PlayPause(int DeviceName) | ||
| 255 | +{ | ||
| 256 | + return UIcontrol_PausePlayAudio(DeviceName); | ||
| 257 | +} | ||
| 258 | +/********* | ||
| 259 | + * | ||
| 260 | + * 音频停止播放 | ||
| 261 | + * | ||
| 262 | + * | ||
| 263 | +**********/ | ||
| 264 | +T_JZsdkReturnCode JZsdk_Uart_audio_PlayStop(int DeviceName) | ||
| 265 | +{ | ||
| 266 | + return UIcontrol_StopPlayAudio(DeviceName); | ||
| 267 | +} | ||
| 268 | + | ||
| 269 | +/********* | ||
| 270 | + * | ||
| 271 | + * 音频上一曲 | ||
| 272 | + * | ||
| 273 | + * | ||
| 274 | +**********/ | ||
| 275 | +T_JZsdkReturnCode JZsdk_Uart_audio_LastSong(int DeviceName) | ||
| 276 | +{ | ||
| 277 | + return UIcontrol_LastSong(DeviceName); | ||
| 278 | +} | ||
| 279 | + | ||
| 280 | +/********* | ||
| 281 | + * | ||
| 282 | + * 音频下一曲 | ||
| 283 | + * | ||
| 284 | + * | ||
| 285 | +**********/ | ||
| 286 | +T_JZsdkReturnCode JZsdk_Uart_audio_NextSong(int DeviceName) | ||
| 287 | +{ | ||
| 288 | + return UIcontrol_NextSong(DeviceName); | ||
| 289 | +} | ||
| 290 | + | ||
| 291 | +/********* | ||
| 292 | + * | ||
| 293 | + * 12、循环播放 | ||
| 294 | + * | ||
| 295 | + * | ||
| 296 | +**********/ | ||
| 297 | +T_JZsdkReturnCode JZsdk_Uart_audio_PlayLoop(int DeviceName, int mode) | ||
| 298 | +{ | ||
| 299 | + return UIcontrol_Set_AudioPlayLoop(DeviceName, mode); | ||
| 300 | +} | ||
| 301 | + | ||
| 302 | +/**************************************************************************************************************************************************** | ||
| 303 | +* | ||
| 304 | +* 录音opus 接口部分 | ||
| 305 | +* | ||
| 306 | +****************************************************************************************************************************************************/ | ||
| 307 | + | ||
| 308 | +/********* | ||
| 309 | + * | ||
| 310 | + * 播放固定位置的opus音频 | ||
| 311 | + * | ||
| 312 | + * | ||
| 313 | +**********/ | ||
| 314 | +T_JZsdkReturnCode JZsdk_Uart_Opus_PlayFixedFile(int DeviceName) | ||
| 315 | +{ | ||
| 316 | + return UIcontrol_Opus_PlayFixedFile(DeviceName); | ||
| 317 | +} | ||
| 318 | + | ||
| 319 | + | ||
| 320 | +/* | ||
| 321 | +* | ||
| 322 | +* 存储opus文件开始 | ||
| 323 | +* | ||
| 324 | +*/ | ||
| 325 | +int JZsdk_Uart_SaveOpusStart(int decode_rate) | ||
| 326 | +{ | ||
| 327 | + Megaphone_SaveOpusStart(decode_rate); | ||
| 328 | +} | ||
| 329 | + | ||
| 330 | +/* | ||
| 331 | +* | ||
| 332 | +* 存储opus文件中 | ||
| 333 | +* | ||
| 334 | +*/ | ||
| 335 | +int JZsdk_Uart_SaveOpusTrans(char *SaveData, int size) | ||
| 336 | +{ | ||
| 337 | + Megaphone_SaveOpusTrans(SaveData, size); | ||
| 338 | +} | ||
| 339 | + | ||
| 340 | +/* | ||
| 341 | +* | ||
| 342 | +* 存储opus文件结束 | ||
| 343 | +* | ||
| 344 | +*/ | ||
| 345 | +int JZsdk_Uart_SaveOpusStop() | ||
| 346 | +{ | ||
| 347 | + Megaphone_SaveOpusStop(); | ||
| 348 | +} | ||
| 349 | + | ||
| 350 | + | ||
| 351 | +/**************************************************************************************************************************************************** | ||
| 352 | +* | ||
| 353 | +* 实时喊话opus 接口部分 | ||
| 354 | +* | ||
| 355 | +****************************************************************************************************************************************************/ | ||
| 356 | +int JZsdk_Uart_RealTimeVoiceStart(int decode_rate) | ||
| 357 | +{ | ||
| 358 | + Megaphone_RealTimeVoice_Start(decode_rate); | ||
| 359 | +} | ||
| 360 | + | ||
| 361 | + | ||
| 362 | +int JZsdk_Uart_RealTimeVoiceTrans(char *data, int length) | ||
| 363 | +{ | ||
| 364 | + Megaphone_RealTimeVoice_Trans(data, length); | ||
| 365 | +} | ||
| 366 | + | ||
| 367 | + | ||
| 368 | +int JZsdk_Uart_RealTimeVoiceClose() | ||
| 369 | +{ | ||
| 370 | + Megaphone_RealTimeVoice_Close(); | ||
| 371 | +} | ||
| 372 | + | ||
| 373 | +/**************************************************************************************************************************************************** | ||
| 374 | +* | ||
| 375 | +* 实时MP2 接口部分 | ||
| 376 | +* | ||
| 377 | +****************************************************************************************************************************************************/ | ||
| 378 | +T_JZsdkReturnCode JZsdk_Uart_RealTimeMP2_start(int decode_rate) | ||
| 379 | +{ | ||
| 380 | + return Megaphone_RealTimeMP2_start(); | ||
| 381 | +} | ||
| 382 | + | ||
| 383 | +T_JZsdkReturnCode JZsdk_Uart_RealTimeMP2_Trans(unsigned char *data, int length) | ||
| 384 | +{ | ||
| 385 | + return Megaphone_RealTimeMP2_trans(data, length); | ||
| 386 | +} | ||
| 387 | + | ||
| 388 | + | ||
| 389 | +T_JZsdkReturnCode JZsdk_Uart_RealTimeMP2_Close() | ||
| 390 | +{ | ||
| 391 | + Megaphone_RealTimeMP2_stop(); | ||
| 392 | +} | ||
| 393 | + | ||
| 394 | + | ||
| 395 | + | ||
| 396 | + | ||
| 397 | + | ||
| 398 | + | ||
| 399 | +/**************************************************************************************************************************************************** | ||
| 400 | +* | ||
| 401 | +* 云台部分 | ||
| 402 | +* | ||
| 403 | +****************************************************************************************************************************************************/ | ||
| 404 | + | ||
| 405 | +/********* | ||
| 406 | + * | ||
| 407 | + * 云台俯仰控制 | ||
| 408 | + * | ||
| 409 | + * | ||
| 410 | +**********/ | ||
| 411 | +T_JZsdkReturnCode JZsdk_Uart_Gimbal_PitchControl(int DeviceName, int Gimbal_angle) | ||
| 412 | +{ | ||
| 413 | + return UIcontrol_Set_GimbalPitchAngle(DeviceName, Gimbal_angle); | ||
| 414 | +} | ||
| 415 | + | ||
| 416 | +/********* | ||
| 417 | + * | ||
| 418 | + * 云台俯仰微调角度 | ||
| 419 | + * | ||
| 420 | + * | ||
| 421 | +**********/ | ||
| 422 | +T_JZsdkReturnCode JZsdk_Uart_Gimbal_PitchFineTuningControl(int DeviceName, int FrameSequence,int Gimbal_angle) | ||
| 423 | +{ | ||
| 424 | + T_JZsdkReturnCode ret = UIcontrol_Set_GimbalPitchFineTuning(DeviceName, Gimbal_angle); | ||
| 425 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 426 | + { | ||
| 427 | + //回复操作成功 | ||
| 428 | + JZsdk_Uart_SendDeal_Reply_Sucesss(DeviceName, FrameSequence); | ||
| 429 | + } | ||
| 430 | + else | ||
| 431 | + { | ||
| 432 | + //回复操作失败 | ||
| 433 | + JZsdk_Uart_SendDeal_Reply_Failure(DeviceName, FrameSequence); | ||
| 434 | + } | ||
| 435 | +} | ||
| 436 | + | ||
| 437 | + | ||
| 438 | +/**************************************************************************************************************************************************** | ||
| 439 | +* | ||
| 440 | +* 探照灯部分 | ||
| 441 | +* | ||
| 442 | +****************************************************************************************************************************************************/ | ||
| 443 | +/********* | ||
| 444 | + * | ||
| 445 | + * 探照灯爆闪频率控制 | ||
| 446 | + * | ||
| 447 | + * | ||
| 448 | +**********/ | ||
| 449 | +T_JZsdkReturnCode JZsdk_Uart_Lighting_SetSearchLightFrequency(int DeviceName, int Frequency) | ||
| 450 | +{ | ||
| 451 | + return UIcontrol_Set_SearchLightFrequency(DeviceName, Frequency); | ||
| 452 | +} | ||
| 453 | + | ||
| 454 | +/********* | ||
| 455 | + * | ||
| 456 | + * 灯光模式控制 | ||
| 457 | + * | ||
| 458 | +**********/ | ||
| 459 | +T_JZsdkReturnCode JZsdk_Uart_SearchLight_Control(int DeviceName, int mode) | ||
| 460 | +{ | ||
| 461 | + return UIcontrol_SearchLightControl(DeviceName, mode); | ||
| 462 | +} | ||
| 463 | + | ||
| 464 | +/********* | ||
| 465 | + * | ||
| 466 | + * 灯光亮度 | ||
| 467 | + * | ||
| 468 | +**********/ | ||
| 469 | +T_JZsdkReturnCode JZsdk_Uart_SearchLight_Lumen(int DeviceName, int LeftLumen, int RightLumen) | ||
| 470 | +{ | ||
| 471 | + return UIcontrol_Set_SearchLightLumen(DeviceName, LeftLumen, RightLumen); | ||
| 472 | +} | ||
| 473 | + | ||
| 474 | +/********* | ||
| 475 | + * | ||
| 476 | + * 灯光属性查询 | ||
| 477 | + * | ||
| 478 | +**********/ | ||
| 479 | +T_JZsdkReturnCode JZsdk_Uart_CheckStatus_SearchLightLightAttribute(int DeviceName, int FrameSequence) | ||
| 480 | +{ | ||
| 481 | + //1、查询灯光属性 | ||
| 482 | + int Light_Frequency; | ||
| 483 | + int Light_Mode; | ||
| 484 | + int Light_LeftLumen; | ||
| 485 | + int Light_RightLumen; | ||
| 486 | + T_JZsdkReturnCode ret = UIcontrol_CheckStatus_SearchLightLightAttribute(&Light_Frequency, &Light_Mode, &Light_LeftLumen, &Light_RightLumen); | ||
| 487 | + | ||
| 488 | + //2、回复灯光属性 | ||
| 489 | + JZsdk_Uart_SendDeal_SearchLight_Frequency(DeviceName, Light_Frequency); | ||
| 490 | + JZsdk_Uart_SendDeal_SearchLight_Mode(DeviceName, Light_Mode); | ||
| 491 | + JZsdk_Uart_SendDeal_SearchLight_Lumen(DeviceName,Light_LeftLumen, Light_RightLumen); | ||
| 492 | +} | ||
| 493 | + | ||
| 494 | +/********* | ||
| 495 | + * | ||
| 496 | + * 灯光温度查询 | ||
| 497 | + * | ||
| 498 | +**********/ | ||
| 499 | +T_JZsdkReturnCode JZsdk_Uart_CheckStatus_SearchLightTemperture(int DeviceName, int FrameSequence) | ||
| 500 | +{ | ||
| 501 | + //1、查询灯光温度 | ||
| 502 | + int Light_LeftTemperature; | ||
| 503 | + int Light_RightTemperature; | ||
| 504 | + T_JZsdkReturnCode ret = UIcontrol_CheckStatus_SearchLightTemperture(&Light_LeftTemperature, &Light_RightTemperature); | ||
| 505 | + | ||
| 506 | + //2、回复灯光温度 | ||
| 507 | + JZsdk_Uart_SendDeal_SearchLight_Temperature(DeviceName, Light_LeftTemperature, Light_RightTemperature); | ||
| 508 | + | ||
| 509 | +} | ||
| 510 | + | ||
| 511 | +/********* | ||
| 512 | + * | ||
| 513 | + * 灯光消息订阅控制 | ||
| 514 | + * | ||
| 515 | +**********/ | ||
| 516 | +T_JZsdkReturnCode JZsdk_Uart_SearchLight_SubscriptionControl(int DeviceName, int value) | ||
| 517 | +{ | ||
| 518 | + if (DeviceName == UART_DEV_2) | ||
| 519 | + { | ||
| 520 | + JZsdk_Uart_SendDeal_MessageSubcription_Control(UART_DEV_1, value); | ||
| 521 | + } | ||
| 522 | + else if (DeviceName == UART_DEV_1) | ||
| 523 | + { | ||
| 524 | + JZsdk_Uart_SendDeal_MessageSubcription_Control(UART_DEV_2, value); | ||
| 525 | + } | ||
| 526 | + | ||
| 527 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 528 | +} | ||
| 529 | + | ||
| 530 | +/********* | ||
| 531 | + * | ||
| 532 | + * 警灯模式控制 | ||
| 533 | + * | ||
| 534 | +**********/ | ||
| 535 | +T_JZsdkReturnCode JZsdk_Uart_WarningLight_ModeControl(int DeviceName, int status, int mode) | ||
| 536 | +{ | ||
| 537 | + return UIcontrol_Set_WarningLight_ModeControl(DeviceName, status, mode); | ||
| 538 | +} | ||
| 539 | + | ||
| 540 | +/********* | ||
| 541 | + * | ||
| 542 | + * 警灯颜色控制 | ||
| 543 | + * | ||
| 544 | +**********/ | ||
| 545 | +T_JZsdkReturnCode JZsdk_Uart_WarningLight_SetColor(int DeviceName, int color1, int color2) | ||
| 546 | +{ | ||
| 547 | + return UIcontrol_Set_WarningLight_Color(DeviceName, color1, color2); | ||
| 548 | +} | ||
| 549 | + | ||
| 550 | +/********* | ||
| 551 | + * | ||
| 552 | + * 警灯状态查询 | ||
| 553 | + * | ||
| 554 | +**********/ | ||
| 555 | +T_JZsdkReturnCode JZsdk_Uart_CheckStatus_WarningLightStatus(int DeviceName, int FrameSequence) | ||
| 556 | +{ | ||
| 557 | + //1、查询警灯状态查询 | ||
| 558 | + int status; | ||
| 559 | + int Mode; | ||
| 560 | + T_JZsdkReturnCode ret = UIcontrol_CheckStatus_WarningLightStatus(&status, &Mode); | ||
| 561 | + | ||
| 562 | + //2、回复警灯状态查询 | ||
| 563 | + JZsdk_Uart_SendDeal_WarningLight_Status(DeviceName, status, Mode); | ||
| 564 | + | ||
| 565 | +} | ||
| 566 | + | ||
| 567 | +/********* | ||
| 568 | + * | ||
| 569 | + * 警灯颜色查询 | ||
| 570 | + * | ||
| 571 | +**********/ | ||
| 572 | +T_JZsdkReturnCode JZsdk_Uart_CheckStatus_WarningLightColor(int DeviceName, int FrameSequence) | ||
| 573 | +{ | ||
| 574 | + //1、查询灯光温度 | ||
| 575 | + int color1; | ||
| 576 | + int color2; | ||
| 577 | + | ||
| 578 | + T_JZsdkReturnCode ret = UIcontrol_CheckStatus_WarningLightColor(&color1, &color2); | ||
| 579 | + | ||
| 580 | + //2、回复警灯颜色 | ||
| 581 | + JZsdk_Uart_SendDeal_WarningLight_Color(DeviceName, color1, color2); | ||
| 582 | + | ||
| 583 | +} | ||
| 584 | + | ||
| 585 | +/* | ||
| 586 | +* | ||
| 587 | +* 获取本地主设备名 | ||
| 588 | +* | ||
| 589 | +*/ | ||
| 590 | +int JZsdk_Uart_GetVersionReplay() | ||
| 591 | +{ | ||
| 592 | + switch (DEVICE_VERSION) | ||
| 593 | + { | ||
| 594 | + case JZ_H1E: | ||
| 595 | + return 0x11; | ||
| 596 | + break; | ||
| 597 | + | ||
| 598 | + case JZ_H150S: | ||
| 599 | + return 0x13; | ||
| 600 | + break; | ||
| 601 | + | ||
| 602 | + case JZ_H150T: | ||
| 603 | + return 0x15; | ||
| 604 | + break; | ||
| 605 | + | ||
| 606 | + case JZ_H10: | ||
| 607 | + return 0x12; | ||
| 608 | + break; | ||
| 609 | + case JZ_H10T: | ||
| 610 | + return 0x14; | ||
| 611 | + break; | ||
| 612 | + | ||
| 613 | + case JZ_H1T: | ||
| 614 | + return 0x16; | ||
| 615 | + break; | ||
| 616 | + | ||
| 617 | + case JZ_U3: | ||
| 618 | + return 0x17; | ||
| 619 | + break; | ||
| 620 | + | ||
| 621 | + default: | ||
| 622 | + return 0x00; | ||
| 623 | + break; | ||
| 624 | + }; | ||
| 625 | + | ||
| 626 | +} | ||
| 627 | + | ||
| 628 | + | ||
| 629 | +/* | ||
| 630 | +* | ||
| 631 | +* 设置工作模式 | ||
| 632 | +* | ||
| 633 | +*/ | ||
| 634 | +int JZsdk_Uart_SetMainWorkMode(int mode) | ||
| 635 | +{ | ||
| 636 | + Main_WorkModeSet(mode); | ||
| 637 | +} | ||
| 638 | + | ||
| 639 | +/**************************************************************************************************************************************************** | ||
| 640 | +* | ||
| 641 | +* AudioFile 接口部分 | ||
| 642 | +* | ||
| 643 | +****************************************************************************************************************************************************/ | ||
| 644 | +/* | ||
| 645 | +1、开始传输的音频文件保存 | ||
| 646 | +2、存储音频文件中 | ||
| 647 | +3、存储音频文件结束 | ||
| 648 | +*/ | ||
| 649 | +/********* | ||
| 650 | + * | ||
| 651 | + * 1、开始传输的音频文件保存 | ||
| 652 | + * | ||
| 653 | + * | ||
| 654 | +**********/ | ||
| 655 | +T_JZsdkReturnCode JZsdk_Uart_SaveAudioFileStart(char *FileName) | ||
| 656 | +{ | ||
| 657 | + return Megaphone_SaveAudioFileStart(FileName); | ||
| 658 | +} | ||
| 659 | + | ||
| 660 | +/* | ||
| 661 | +* | ||
| 662 | +* 2、存储音频文件中 | ||
| 663 | +* | ||
| 664 | +*/ | ||
| 665 | +int JZsdk_Uart_SaveAudioFileTrans(char *SaveData, int size) | ||
| 666 | +{ | ||
| 667 | + Megaphone_SaveAudioFileTrans(SaveData, size); | ||
| 668 | +} | ||
| 669 | + | ||
| 670 | +/* | ||
| 671 | +* | ||
| 672 | +* 3、存储音频文件结束 | ||
| 673 | +* | ||
| 674 | +*/ | ||
| 675 | +int JZsdk_Uart_SaveAudioFileStop() | ||
| 676 | +{ | ||
| 677 | + Megaphone_SaveAudioFileStop(); | ||
| 678 | +} | ||
| 679 | + | ||
| 680 | +/******************************************************************************************************** | ||
| 681 | +********* ********| | ||
| 682 | +********* ********| | ||
| 683 | +********* ********| | ||
| 684 | +********* ********| | ||
| 685 | +********* ********| | ||
| 686 | +********* 5B类部分 ********| | ||
| 687 | +********* ********| | ||
| 688 | +********* ********| | ||
| 689 | +********* ********| | ||
| 690 | +********* ********| | ||
| 691 | +********* ********| | ||
| 692 | +*********************************************************************************************************/ | ||
| 693 | + | ||
| 694 | +/******************************************************************************************************************************* | ||
| 695 | + * | ||
| 696 | + * 灯光部分 | ||
| 697 | + * | ||
| 698 | + * *****************************************************************************************************************************/ | ||
| 699 | +/********* | ||
| 700 | + * | ||
| 701 | + * 收到灯光频率 | ||
| 702 | + * | ||
| 703 | +**********/ | ||
| 704 | +T_JZsdkReturnCode JZsdl_Uart_ObtainSearchLight_Frequency(int DeviceName, int Frequency) | ||
| 705 | +{ | ||
| 706 | + UIcontrol_ObtainSearchLight_Frequency(DeviceName, Frequency); | ||
| 707 | +} | ||
| 708 | + | ||
| 709 | +/********* | ||
| 710 | + * | ||
| 711 | + * 收到灯光模式 | ||
| 712 | + * | ||
| 713 | +**********/ | ||
| 714 | +T_JZsdkReturnCode JZsdl_Uart_ObtainSearchLight_Mode(int DeviceName, int mode) | ||
| 715 | +{ | ||
| 716 | + UIcontrol_ObtainSearchLight_Mode(DeviceName, mode); | ||
| 717 | +} | ||
| 718 | + | ||
| 719 | +/********* | ||
| 720 | + * | ||
| 721 | + * 收到灯光亮度 | ||
| 722 | + * | ||
| 723 | +**********/ | ||
| 724 | +T_JZsdkReturnCode JZsdl_Uart_ObtainSearchLight_Lumen(int DeviceName, int LeftLumen, int RightLumen) | ||
| 725 | +{ | ||
| 726 | + UIcontrol_ObtainSearchLight_Lumen(DeviceName, LeftLumen, RightLumen); | ||
| 727 | +} | ||
| 728 | + | ||
| 729 | +/********* | ||
| 730 | + * | ||
| 731 | + * 收到探照灯温度 | ||
| 732 | + * | ||
| 733 | +**********/ | ||
| 734 | +T_JZsdkReturnCode JZsdl_Uart_ObtainSearchLight_Temperature(int DeviceName, int LeftTemperature, int RightTemperature) | ||
| 735 | +{ | ||
| 736 | + UIcontrol_ObtainSearchLight_Temperature(DeviceName, LeftTemperature, RightTemperature); | ||
| 737 | +} | ||
| 738 | + | ||
| 739 | +/******************************************************************************************************************************* | ||
| 740 | + * | ||
| 741 | + * 云台部分 | ||
| 742 | + * | ||
| 743 | + * *****************************************************************************************************************************/ | ||
| 744 | +/********* | ||
| 745 | + * | ||
| 746 | + * 收到云台俯仰 | ||
| 747 | + * | ||
| 748 | +**********/ | ||
| 749 | +T_JZsdkReturnCode JZsdl_Uart_RecvDeal_ObtainGimbal_Pitch(int DeviceName, int pitch) | ||
| 750 | +{ | ||
| 751 | + UIcontrol_ObtainGimbal_Pitch(DeviceName, pitch); | ||
| 752 | +} | ||
| 753 | + | ||
| 754 | +/********* | ||
| 755 | + * | ||
| 756 | + * 收到云台航向 | ||
| 757 | + * | ||
| 758 | +**********/ | ||
| 759 | +T_JZsdkReturnCode JZsdl_Uart_RecvDeal_ObtainGimbal_Yaw(int DeviceName, int yaw) | ||
| 760 | +{ | ||
| 761 | + | ||
| 762 | +} | ||
| 763 | + | ||
| 764 | +/********* | ||
| 765 | + * | ||
| 766 | + * 收到云台俯仰微调值 | ||
| 767 | + * | ||
| 768 | +**********/ | ||
| 769 | +T_JZsdkReturnCode JZsdl_Uart_ObtainGimbalPitchFineTuning(int DeviceName, int FrameSequence,int pitch) | ||
| 770 | +{ | ||
| 771 | + printf("收到云台俯仰微调值\n"); | ||
| 772 | + | ||
| 773 | + //2、发送到本地处理 | ||
| 774 | + UIcontrol_Obtain_GimbalPitchFineTuninng(DeviceName, pitch); | ||
| 775 | + | ||
| 776 | + //3、回复操作成功 | ||
| 777 | + JZsdk_Uart_SendDeal_Reply_Sucesss(DeviceName, FrameSequence); | ||
| 778 | +} | ||
| 779 | + | ||
| 780 | + | ||
| 781 | +/******************************************************************************************************************************* | ||
| 782 | + * | ||
| 783 | + * 警灯部分 | ||
| 784 | + * | ||
| 785 | + * *****************************************************************************************************************************/ | ||
| 786 | +/********* | ||
| 787 | + * | ||
| 788 | + * 收到警灯状态 | ||
| 789 | + * | ||
| 790 | +**********/ | ||
| 791 | +T_JZsdkReturnCode JZsdl_Uart_RecvDeal_ObtainWaringlight_Status(int DeviceName, int status, int mode) | ||
| 792 | +{ | ||
| 793 | + UIcontrol_ObtainWarningLight_Status(DeviceName, status, mode); | ||
| 794 | +} | ||
| 795 | + | ||
| 796 | +/********* | ||
| 797 | + * | ||
| 798 | + * 收到警灯颜色 | ||
| 799 | + * | ||
| 800 | +**********/ | ||
| 801 | +T_JZsdkReturnCode JZsdl_Uart_RecvDeal_ObtainWaringlight_Color(int DeviceName, int color1, int color2) | ||
| 802 | +{ | ||
| 803 | + UIcontrol_Set_SearchLightLumen(DeviceName, color1, color2); | ||
| 804 | +} | ||
| 805 | + | ||
| 806 | +/********* | ||
| 807 | + * | ||
| 808 | + * 收到产品序列号 | ||
| 809 | + * | ||
| 810 | +**********/ | ||
| 811 | +T_JZsdkReturnCode JZsdl_Uart_RecvDeal_ObtainSerialNumber(int DeviceName, int SerialNumber) | ||
| 812 | +{ | ||
| 813 | + | ||
| 814 | +} | ||
| 815 | + | ||
| 816 | + | ||
| 817 | +/******************************************************************************************************** | ||
| 818 | +********* ********| | ||
| 819 | +********* ********| | ||
| 820 | +********* ********| | ||
| 821 | +********* ********| | ||
| 822 | +********* ********| | ||
| 823 | +********* 6A类部分 ********| | ||
| 824 | +********* ********| | ||
| 825 | +********* ********| | ||
| 826 | +********* ********| | ||
| 827 | +********* ********| | ||
| 828 | +********* ********| | ||
| 829 | +*********************************************************************************************************/ | ||
| 830 | + | ||
| 831 | +/********* | ||
| 832 | + * | ||
| 833 | + * 设置云台最大值最小值 | ||
| 834 | + * | ||
| 835 | +**********/ | ||
| 836 | +T_JZsdkReturnCode JZsdk_Uart_SetGimbalRange(int DeviceName, int value) | ||
| 837 | +{ | ||
| 838 | + return UIcontrol_SetGimbalRange(DeviceName, value); | ||
| 839 | +} | ||
| 840 | + | ||
| 841 | +/********* | ||
| 842 | + * | ||
| 843 | + * 设置云台联动 | ||
| 844 | + * | ||
| 845 | +**********/ | ||
| 846 | +T_JZsdkReturnCode JZsdk_Uart_GimbalLinkageControl(int DeviceName, int FrameSequence, int value) | ||
| 847 | +{ | ||
| 848 | + //1、设置本地的云台联动 | ||
| 849 | + int ret = UIcontrol_Set_GimbalLinkageControl(DeviceName, value); | ||
| 850 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 851 | + { | ||
| 852 | + //回复操作成功 | ||
| 853 | + JZsdk_Uart_SendDeal_Reply_Sucesss(DeviceName, FrameSequence); | ||
| 854 | + } | ||
| 855 | + else | ||
| 856 | + { | ||
| 857 | + //回复操作失败 | ||
| 858 | + JZsdk_Uart_SendDeal_Reply_Failure(DeviceName, FrameSequence); | ||
| 859 | + } | ||
| 860 | +} | ||
| 861 | + | ||
| 862 | +/********* | ||
| 863 | + * | ||
| 864 | + * 查询云台联动 | ||
| 865 | + * | ||
| 866 | +**********/ | ||
| 867 | +T_JZsdkReturnCode JZsdk_Uart_Checkstatus_GimbalLinkage(int DeviceName, int FrameSequence) | ||
| 868 | +{ | ||
| 869 | + int LinkageValue; | ||
| 870 | + | ||
| 871 | + T_JZsdkReturnCode ret = UIcontrol_CheckStatus_GimbalLinkage(&LinkageValue); | ||
| 872 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 873 | + { | ||
| 874 | + //回复操作失败 | ||
| 875 | + JZsdk_Uart_SendDeal_Reply_Failure(DeviceName, FrameSequence); | ||
| 876 | + } | ||
| 877 | + | ||
| 878 | + //成功则发送云台联动值 | ||
| 879 | + JZsdk_Uart_SendDeal_GimbalLinkageControl(DeviceName, FrameSequence, LinkageValue); | ||
| 880 | +} | ||
| 881 | + | ||
| 882 | +/* | ||
| 883 | +* | ||
| 884 | +* 设置本地从设备名 | ||
| 885 | +* | ||
| 886 | +*/ | ||
| 887 | +T_JZsdkReturnCode JZsdk_Uart_SetSecondaryDeviceName(int DeviceName) | ||
| 888 | +{ | ||
| 889 | + printf("设置本地从设备名%x\n",DeviceName); | ||
| 890 | + | ||
| 891 | + SecondaryDeviceName = DeviceName; | ||
| 892 | + | ||
| 893 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 894 | +} | ||
| 895 | + | ||
| 896 | + | ||
| 897 | +/* | ||
| 898 | +* | ||
| 899 | +* 获取本地从设备名 | ||
| 900 | +* | ||
| 901 | +*/ | ||
| 902 | +int JZsdk_Uart_GetSecondaryDeviceName() | ||
| 903 | +{ | ||
| 904 | + return SecondaryDeviceName; | ||
| 905 | +} | ||
| 906 | + | ||
| 907 | + | ||
| 908 | +/******************************************************************************************************** | ||
| 909 | +********* ********| | ||
| 910 | +********* ********| | ||
| 911 | +********* ********| | ||
| 912 | +********* ********| | ||
| 913 | +********* ********| | ||
| 914 | +********* 6B类部分 ********| | ||
| 915 | +********* ********| | ||
| 916 | +********* ********| | ||
| 917 | +********* ********| | ||
| 918 | +********* ********| | ||
| 919 | +********* ********| | ||
| 920 | +*********************************************************************************************************/ | ||
| 921 | + | ||
| 922 | +/** | ||
| 923 | + * | ||
| 924 | + * 查询从设备名 | ||
| 925 | + * | ||
| 926 | +*/ | ||
| 927 | +int JZsdk_Uart_QuerySecondaryDeviceName(int FrameSequence) | ||
| 928 | +{ | ||
| 929 | + //1、发送查询一遍从设备名, 通常位于 串口1 | ||
| 930 | + JZsdk_Uart_SendDeal_QuerySecondaryDeviceName(UART_DEV_1, FrameSequence); | ||
| 931 | +} | ||
| 932 | + | ||
| 933 | +/********* | ||
| 934 | + * | ||
| 935 | + * 收到云台联动值 | ||
| 936 | + * | ||
| 937 | +**********/ | ||
| 938 | +T_JZsdkReturnCode JZsdk_Uart_ObtainGimbalLinkage(int DeviceName,int FrameSequence, int value) | ||
| 939 | +{ | ||
| 940 | + T_JZsdkReturnCode ret = UIcontrol_Obtain_GimbalLinkage(DeviceName, value); | ||
| 941 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 942 | + { | ||
| 943 | + //回复操作成功 | ||
| 944 | + JZsdk_Uart_SendDeal_Reply_Sucesss(UART_DEV_1, FrameSequence); | ||
| 945 | + } | ||
| 946 | + else | ||
| 947 | + { | ||
| 948 | + //回复操作失败 | ||
| 949 | + JZsdk_Uart_SendDeal_Reply_Failure(UART_DEV_1, FrameSequence); | ||
| 950 | + } | ||
| 951 | +} |
JZsdk_Uart/JZsdk_Uart_Output.h
0 → 100644
| 1 | +/** | ||
| 2 | + ******************************************************************** | ||
| 3 | + * @file JZsdk_Uart_Output.h | ||
| 4 | + * JZsdk_Uart_Output的头文件 | ||
| 5 | + * | ||
| 6 | + ********************************************************************* | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 10 | +#ifndef JZSDK_UART_OUTPUT_H | ||
| 11 | +#define JZSDK_UART_OUTPUT_H | ||
| 12 | + | ||
| 13 | +/* Includes ------------------------------------------------------------------*/ | ||
| 14 | +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | ||
| 15 | + | ||
| 16 | +#ifdef __cplusplus | ||
| 17 | +extern "C" { | ||
| 18 | +#endif | ||
| 19 | + | ||
| 20 | +#include "Uart_Config.h" | ||
| 21 | + | ||
| 22 | + | ||
| 23 | +/* Exported constants --------------------------------------------------------*/ | ||
| 24 | +/* 常亮定义*/ | ||
| 25 | + | ||
| 26 | +/* Exported types ------------------------------------------------------------*/ | ||
| 27 | + | ||
| 28 | +/* Exported functions --------------------------------------------------------*/ | ||
| 29 | +int JZsdk_Uart_Init(int UART_DEV_NAME); | ||
| 30 | +int JZsdk_Get_UartDev_UseFlag(int UART_DEV_NAME); | ||
| 31 | + | ||
| 32 | +int JZsdk_Uart_Set_Amplifier(int status); | ||
| 33 | +T_JZsdkReturnCode JZsdk_Uart_Set_Volume(int DeviceName, int value); | ||
| 34 | + | ||
| 35 | +T_JZsdkReturnCode JZsdk_Uart_TTS_Play(int DeviceName, char *data ,int len); | ||
| 36 | +T_JZsdkReturnCode JZsdk_Uart_TTS_SetTone(int DeviceName, int tone); | ||
| 37 | +T_JZsdkReturnCode JZsdk_Uart_TTS_SetSpeed(int DeviceName, int speed); | ||
| 38 | + | ||
| 39 | + | ||
| 40 | +int JZsdk_Uart_Flush_MusicList(); | ||
| 41 | +int JZsdk_Uart_get_music_list_sum(); | ||
| 42 | +int JZsdk_Uart_get_music_list_name(int num, char *music_name, int *music_name_length); | ||
| 43 | + | ||
| 44 | +T_JZsdkReturnCode JZsdk_Uart_PlayMusic(int DeviceName, char *music_name, int datasize); | ||
| 45 | + | ||
| 46 | +T_JZsdkReturnCode JZsdk_Uart_audio_PlayContinue(int DeviceName); | ||
| 47 | +T_JZsdkReturnCode JZsdk_Uart_audio_PlayPause(int DeviceName); | ||
| 48 | +T_JZsdkReturnCode JZsdk_Uart_audio_PlayStop(int DeviceName); | ||
| 49 | +T_JZsdkReturnCode JZsdk_Uart_audio_LastSong(int DeviceName); | ||
| 50 | +T_JZsdkReturnCode JZsdk_Uart_audio_NextSong(int DeviceName); | ||
| 51 | + | ||
| 52 | +int JZsdk_Uart_CheckStatus_volume(); | ||
| 53 | +int JZsdk_Uart_CheckStatus_play(); | ||
| 54 | +int JZsdk_Uart_CheckStatus_gimbal(); | ||
| 55 | +int JZsdk_Uart_CheckStatus_PlayFileName(char *music_name, int *music_name_len); | ||
| 56 | +int JZsdk_Uart_CheckStatus_SoftwareVersion(char *majorVersion, char *minorVersion, char *modifyVersion, char *debugVersion); | ||
| 57 | +int JZsdk_Uart_CheckStatus_LoopPlay(); | ||
| 58 | +int JZsdk_Uart_CheckStatus_TTS_tone(); | ||
| 59 | +int JZsdk_Uart_CheckStatus_TTS_speed(); | ||
| 60 | + | ||
| 61 | +T_JZsdkReturnCode JZsdk_Uart_audio_PlayLoop(int DeviceName, int mode); | ||
| 62 | + | ||
| 63 | +T_JZsdkReturnCode JZsdk_Uart_Opus_PlayFixedFile(int DeviceName); | ||
| 64 | + | ||
| 65 | + | ||
| 66 | + | ||
| 67 | + | ||
| 68 | +int JZsdk_Uart_SaveOpusStart(int decode_rate); | ||
| 69 | +int JZsdk_Uart_SaveOpusTrans(char *SaveData, int size); | ||
| 70 | +int JZsdk_Uart_SaveOpusStop(); | ||
| 71 | + | ||
| 72 | +int JZsdk_Uart_GetVersionReplay(); | ||
| 73 | + | ||
| 74 | +int JZsdk_Uart_SetMainWorkMode(int mode); | ||
| 75 | + | ||
| 76 | + | ||
| 77 | +//1、开始传输的音频文件保存 | ||
| 78 | +T_JZsdkReturnCode JZsdk_Uart_SaveAudioFileStart(char *FileName); | ||
| 79 | +//2、存储opus文件中 | ||
| 80 | +int JZsdk_Uart_SaveAudioFileTrans(char *SaveData, int size); | ||
| 81 | +//3、存储opus文件结束 | ||
| 82 | +int JZsdk_Uart_SaveAudioFileStop(); | ||
| 83 | + | ||
| 84 | +int JZsdk_Uart_RealTimeVoiceStart(int decode_rate); | ||
| 85 | +int JZsdk_Uart_RealTimeVoiceTrans(char *data, int length); | ||
| 86 | +int JZsdk_Uart_RealTimeVoiceClose(); | ||
| 87 | + | ||
| 88 | +//实时MP2语音实时喊话 | ||
| 89 | +int JZsdk_Uart_RealTimeMP2_start(int decode_rate); | ||
| 90 | +int JZsdk_Uart_RealTimeMP2_Trans(unsigned char *data, int length); | ||
| 91 | +int JZsdk_Uart_RealTimeMP2_Close(); | ||
| 92 | + | ||
| 93 | +//云台部分 | ||
| 94 | +T_JZsdkReturnCode JZsdk_Uart_Gimbal_PitchControl(int DeviceName, int Gimbal_angle); | ||
| 95 | +T_JZsdkReturnCode JZsdk_Uart_SetGimbalRange(int DeviceName, int value); | ||
| 96 | +T_JZsdkReturnCode JZsdk_Uart_CheckStatus_GimbalFineTuning(int DeviceName, int FrameSequence); | ||
| 97 | +T_JZsdkReturnCode JZsdk_Uart_Gimbal_PitchFineTuningControl(int DeviceName, int FrameSequence,int Gimbal_angle); | ||
| 98 | +T_JZsdkReturnCode JZsdl_Uart_ObtainGimbalPitchFineTuning(int DeviceName, int FrameSequence,int pitch); | ||
| 99 | +T_JZsdkReturnCode JZsdk_Uart_GimbalLinkageControl(int DeviceName, int FrameSequence, int value); | ||
| 100 | +T_JZsdkReturnCode JZsdk_Uart_Checkstatus_GimbalLinkage(int DeviceName, int FrameSequence); | ||
| 101 | +T_JZsdkReturnCode JZsdk_Uart_ObtainGimbalLinkage(int DeviceName,int FrameSequence, int value); | ||
| 102 | + | ||
| 103 | +//探照灯部分 | ||
| 104 | +T_JZsdkReturnCode JZsdk_Uart_Lighting_SetSearchLightFrequency(int DeviceName, int Frequency); | ||
| 105 | +T_JZsdkReturnCode JZsdk_Uart_SearchLight_Control(int DeviceName, int mode); | ||
| 106 | +T_JZsdkReturnCode JZsdk_Uart_SearchLight_Lumen(int DeviceName, int LeftLumen, int RightLumen); | ||
| 107 | +T_JZsdkReturnCode JZsdk_Uart_SearchLight_SubscriptionControl(int DeviceName, int value); | ||
| 108 | +T_JZsdkReturnCode JZsdk_Uart_CheckStatus_SearchLightLightAttribute(int DeviceName, int FrameSequence); | ||
| 109 | +T_JZsdkReturnCode JZsdk_Uart_CheckStatus_SearchLightTemperture(int DeviceName, int FrameSequence); | ||
| 110 | + | ||
| 111 | +//警灯部分 | ||
| 112 | +T_JZsdkReturnCode JZsdk_Uart_WarningLight_ModeControl(int DeviceName, int status, int mode); | ||
| 113 | +T_JZsdkReturnCode JZsdk_Uart_WarningLight_SetColor(int DeviceName, int color1, int color2); | ||
| 114 | +T_JZsdkReturnCode JZsdk_Uart_CheckStatus_WarningLightStatus(int DeviceName, int FrameSequence); | ||
| 115 | +T_JZsdkReturnCode JZsdk_Uart_CheckStatus_WarningLightColor(int DeviceName, int FrameSequence); | ||
| 116 | + | ||
| 117 | + | ||
| 118 | +//5B部分 | ||
| 119 | +T_JZsdkReturnCode JZsdl_Uart_ObtainSearchLight_Frequency(int DeviceName, int Frequency); | ||
| 120 | +T_JZsdkReturnCode JZsdl_Uart_ObtainSearchLight_Mode(int DeviceName, int mode); | ||
| 121 | +T_JZsdkReturnCode JZsdl_Uart_ObtainSearchLight_Lumen(int DeviceName, int LeftLumen, int RightLumen); | ||
| 122 | +T_JZsdkReturnCode JZsdl_Uart_ObtainSearchLight_Temperature(int DeviceName, int LeftTemperature, int RightTemperature); | ||
| 123 | +T_JZsdkReturnCode JZsdl_Uart_RecvDeal_ObtainGimbal_Pitch(int DeviceName, int pitch); | ||
| 124 | +T_JZsdkReturnCode JZsdl_Uart_RecvDeal_ObtainGimbal_Yaw(int DeviceName, int yaw); | ||
| 125 | +T_JZsdkReturnCode JZsdl_Uart_RecvDeal_ObtainWaringlight_Status(int DeviceName, int status, int mode); | ||
| 126 | +T_JZsdkReturnCode JZsdl_Uart_RecvDeal_ObtainWaringlight_Color(int DeviceName, int color1, int color2); | ||
| 127 | +T_JZsdkReturnCode JZsdl_Uart_RecvDeal_ObtainSerialNumber(int DeviceName, int SerialNumber); | ||
| 128 | + | ||
| 129 | +//获取本地从设备名 | ||
| 130 | +int JZsdk_Uart_GetSecondaryDeviceName(); | ||
| 131 | +//设置本地从设备名 | ||
| 132 | +T_JZsdkReturnCode JZsdk_Uart_SetSecondaryDeviceName(int DeviceName); | ||
| 133 | +int JZsdk_Uart_QuerySecondaryDeviceName(int FrameSequence); | ||
| 134 | + | ||
| 135 | +#ifdef __cplusplus | ||
| 136 | +} | ||
| 137 | +#endif | ||
| 138 | + | ||
| 139 | +#endif |
| 1 | +/** | ||
| 2 | + ******************************************************************** | ||
| 3 | + * @file JZsdk_Uart_RecvDeal.h | ||
| 4 | + * JZsdk_Uart_RecvDeal的头文件 | ||
| 5 | + * | ||
| 6 | + ********************************************************************* | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 10 | +#ifndef JZSDK_UART_RECVDEAL_H | ||
| 11 | +#define JZSDK_UART_RECVDEAL_H | ||
| 12 | + | ||
| 13 | +/* Includes ------------------------------------------------------------------*/ | ||
| 14 | + | ||
| 15 | +#ifdef __cplusplus | ||
| 16 | +extern "C" { | ||
| 17 | +#endif | ||
| 18 | + | ||
| 19 | +/* Exported constants --------------------------------------------------------*/ | ||
| 20 | +/* 常亮定义*/ | ||
| 21 | + | ||
| 22 | +/* Exported types ------------------------------------------------------------*/ | ||
| 23 | + | ||
| 24 | +/* Exported functions --------------------------------------------------------*/ | ||
| 25 | +int JZsdk_Uart_RecvDeal_CharmDeal_Uart_4G(unsigned char *getbuf, int len); | ||
| 26 | +int JZsdk_Uart_RecvDeal_CharmDeal_Uart_DEV1(unsigned char *getbuf, int len); | ||
| 27 | +int JZsdk_Uart_RecvDeal_CharmDeal_Uart_DEV2(unsigned char *getbuf, int len); | ||
| 28 | + | ||
| 29 | + | ||
| 30 | +#ifdef __cplusplus | ||
| 31 | +} | ||
| 32 | +#endif | ||
| 33 | + | ||
| 34 | +#endif |
-
请 注册 或 登录 后发表评论