正在显示
38 个修改的文件
包含
4866 行增加
和
0 行删除
.vscode/settings.json
0 → 100644
1 | +{ | ||
2 | + "files.associations": { | ||
3 | + "typeinfo": "c", | ||
4 | + "jzsdk_code.h": "c", | ||
5 | + "jzsdk_getframetemplate.h": "c", | ||
6 | + "uart_config.h": "c", | ||
7 | + "version_choose.h": "c", | ||
8 | + "msp_cmn.h": "c", | ||
9 | + "qtts.h": "c", | ||
10 | + "msp_errors.h": "c", | ||
11 | + "jzsdklib.h": "c", | ||
12 | + "megaphone_inputandoutput.h": "c", | ||
13 | + "tts_sample.h": "c", | ||
14 | + "cn_tts.h": "c", | ||
15 | + "intl_tts.h": "c", | ||
16 | + "megaphone_music.h": "c", | ||
17 | + "gimbal_h3_h10.h": "c", | ||
18 | + "gimbal_h3_h150st.h": "c", | ||
19 | + "uartconnection.h": "c", | ||
20 | + "megaphone_tts.h": "c" | ||
21 | + } | ||
22 | +} |
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行不能改动 | ||
27 | +set(firewarm_origin DOMESTIC_VERSION) | ||
28 | + | ||
29 | + | ||
30 | +# 指定源文件 | ||
31 | +file(GLOB_RECURSE APPLICATION_SRC application/*.c) | ||
32 | +file(GLOB_RECURSE JZSDK_SRC JZsdk/*.c) | ||
33 | +file(GLOB_RECURSE JZSDK_UART_DEAL_SRC JZsdk_Uart/*.c) | ||
34 | +file(GLOB_RECURSE GIMBAL_SRC Module/Gimbal/*.c) | ||
35 | +file(GLOB_RECURSE MEGAPHONE_SRC Module/Megaphone/*.c) | ||
36 | +file(GLOB_RECURSE LIGHTING_SRC Module/Lighting/*.c) | ||
37 | + | ||
38 | +file(GLOB_RECURSE MODULE_IRCUT_SRC Module/Ircut/*.c) | ||
39 | +file(GLOB_RECURSE MODULE_UICONTROL_SRC Module/UI_control/*.c) | ||
40 | + | ||
41 | + | ||
42 | + | ||
43 | +# 生成可执行文件 | ||
44 | +add_executable( | ||
45 | + JZ_UART_APP | ||
46 | + ${APPLICATION_SRC} | ||
47 | + ${JZSDK_SRC} | ||
48 | + ${JZSDK_UART_DEAL_SRC} | ||
49 | + ${MEGAPHONE_SRC} | ||
50 | + ${MODULE_IRCUT_SRC} | ||
51 | + ${GIMBAL_SRC} | ||
52 | + ${MODULE_UICONTROL_SRC} | ||
53 | + ${LIGHTING_SRC} | ||
54 | +) | ||
55 | + | ||
56 | +# 头文件路径 | ||
57 | +include_directories(./application) | ||
58 | +include_directories(./JZsdk) | ||
59 | +include_directories(./JZsdk_Uart) | ||
60 | + | ||
61 | +include_directories(./Module/Megaphone) | ||
62 | +include_directories(./Module/Ircut) | ||
63 | +include_directories(./Module/Ircut/H3_ircut/wiringPi) | ||
64 | +include_directories(./Module/Gimbal) | ||
65 | +include_directories(./Module/Lighting) | ||
66 | +include_directories(./Module/UI_control) | ||
67 | + | ||
68 | +# 库文件路径 | ||
69 | +if(${filtering_type} STREQUAL "directed_stopband_filtering") | ||
70 | + message("\n滤波库:高通滤波\n") | ||
71 | + target_link_libraries(${PROJECT_NAME} ${CMAKE_CURRENT_LIST_DIR}/ModuleLib/music/directed_stopband_filtering/libAudioPlayer.so) | ||
72 | +elseif(${filtering_type} STREQUAL "high_pass_filtering") | ||
73 | + message("\n滤波库:带阻滤波\n") | ||
74 | + target_link_libraries(${PROJECT_NAME} ${CMAKE_CURRENT_LIST_DIR}/ModuleLib/music/high_pass_filtering/libAudioPlayer.so) | ||
75 | +else() | ||
76 | + message(FATAL_ERROR "Invalid filtering type") | ||
77 | +endif() | ||
78 | + | ||
79 | +if(${firewarm_origin} STREQUAL "OVERSEAS_VERSION") | ||
80 | + message("\n固件版本为海外版\n") | ||
81 | + target_link_libraries(${PROJECT_NAME} ${CMAKE_CURRENT_LIST_DIR}/ModuleLib/TTS/intl_tts/libportaudio.so.2) | ||
82 | + target_link_libraries(${PROJECT_NAME} ${CMAKE_CURRENT_LIST_DIR}/ModuleLib/TTS/intl_tts/libTTS_Player.so) | ||
83 | + | ||
84 | +else() | ||
85 | + message("\n固件版本为国内版\n") | ||
86 | +endif() | ||
87 | + | ||
88 | +target_link_libraries(${PROJECT_NAME} | ||
89 | + | ||
90 | + ${CMAKE_CURRENT_LIST_DIR}/ModuleLib/TTS/libmsc.so | ||
91 | + ${CMAKE_CURRENT_LIST_DIR}/ModuleLib/opus/libopus.so | ||
92 | +) | ||
93 | + |
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 | + JZ_INSCODE_5AFRAME_OUTPUTPOWER_CONTROL = 0x10001000, //对外供电开关 | ||
117 | + JZ_INSCODE_5AFRAME_CHECKSTATUS_OUTPUTPOWER = 0x10001001, //对外供电查询 | ||
118 | + | ||
119 | +//5B类帧 | ||
120 | + JZ_INSCODE_5BFRAME_FRAME = 0x10004000, //发送帧 | ||
121 | + | ||
122 | + JZ_INSCODE_5BFRAME_INITIATECONNECT = 0x10004101, //主动连接 | ||
123 | + | ||
124 | + JZ_INSCODE_5BFRAME_SUCESS = 0x10004200, //操作成功 | ||
125 | + JZ_INSCODE_5BFRAME_DEFEAT = 0x10004201, //操作失败 | ||
126 | + | ||
127 | + JZ_INSCODE_5BFRAME_MUSICLIST_START = 0x10004300, //开启发送音乐列表帧 | ||
128 | + JZ_INSCODE_5BFRAME_MUSICLIST_TRANS = 0x10004301, //发送音乐列表帧 | ||
129 | + JZ_INSCODE_5BFRAME_MUSICLIST_STOP = 0x10004302, //结束发送音乐列表帧 | ||
130 | + | ||
131 | + JZ_INSCODE_5BFRAME_AUDIO_PLAYSTATUS = 0x10004310, //音频播放状态返回帧 | ||
132 | + JZ_INSCODE_5BFRAME_AUDIO_PLAYSTATUS_END = 0x10004311, //音频播放状态结束帧 | ||
133 | + | ||
134 | + JZ_INSCODE_5BFRAME_VOLUME = 0x10004400, //音量返回帧 | ||
135 | + JZ_INSCODE_5BFRAME_AUDIO_PLAYLOOPSTATUS = 0x10004401, //发送音频循环播放状态 | ||
136 | + JZ_INSCODE_5BFRAME_TTS_TONE = 0x10004402, //发送tts音色 | ||
137 | + JZ_INSCODE_5BFRAME_TTS_SPEED = 0x10004403, //发送tts语速 | ||
138 | + JZ_INSCODE_5BFRAME_AUDIO_PLAYFILENAME = 0x10004404, //当前播放的音频名字 | ||
139 | + | ||
140 | + | ||
141 | + JZ_INSCODE_5BFRAME_GIMBAL_PITCH = 0x10004500, //云台俯仰角度 | ||
142 | + JZ_INSCODE_5BFRAME_GIMBAL_YAW = 0x10004501, //云台航向角度 | ||
143 | + JZ_INSCODE_5BFRAME_GIMBAL_ROLL = 0x10004502, // | ||
144 | + | ||
145 | + JZ_INSCODE_5BFRAME_GIMBAL_PITCH_FINETUNING = 0x10004510, //云台俯仰微调值 | ||
146 | + | ||
147 | + | ||
148 | + JZ_INSCODE_5BFRAME_CHECKSTATUS_SEARCHLIGHT_TEMPERATURE = 0x10004600, //查询探照灯温度 | ||
149 | + JZ_INSCODE_5BFRAME_CHECKSTATUS_LASER_STATUS = 0x10004601, //查询激光状态 | ||
150 | + JZ_INSCODE_5BFRAME_CHECKSTATUS_SEARCHLIGHT_FREQUENCY = 0x10004602, //查询探照灯频率 | ||
151 | + JZ_INSCODE_5BFRAME_CHECKSTATUS_SEARCHLIGHT_MODE = 0x10004603, //查询探照灯模式 | ||
152 | + JZ_INSCODE_5BFRAME_CHECKSTATUS_SEARCHLIGHT_LUMEN = 0x10004604, //查询探照灯流明 | ||
153 | + | ||
154 | + JZ_INSCODE_5BFRAME_CHECKSTATUS_WARNINGLIGHT_STATUS = 0x10004700, //警示灯模式控制 | ||
155 | + JZ_INSCODE_5BFRAME_CHECKSTATUS_WARNINGLIGHT_COLOR = 0x10004701, //警示灯颜色控制 | ||
156 | + | ||
157 | + | ||
158 | + JZ_INSCODE_5BFRAME_SORTWAREVERSION = 0x10004800, //发送软件版本号 | ||
159 | + JZ_INSCODE_5BFRAME_HARDWAREVERSION = 0x10004801, //发送硬件版本号 | ||
160 | + JZ_INSCODE_5BFRAME_CHECKSTATUS_SERIALNUMBER = 0x10004802, //回复序列号 | ||
161 | + | ||
162 | + JZ_INSCODE_5BFRAME_CHECKSTATUS_OUTPUTPOWER = 0x10004900, //对外供电查询 | ||
163 | + | ||
164 | +//6A类 | ||
165 | + JZ_INSCODE_6AFRAME_FRAME = 0x10008000, //发送帧 | ||
166 | + | ||
167 | + JZ_INSCODE_6AFRAME_SET_GIMBAL_ORIGIN = 0x10008101, //设置坐标0值 | ||
168 | + JZ_INSCODE_6AFRAME_SET_GIMBAL_MAXMIN_RANGE = 0x10008102, //设置云台范围最大最小值 | ||
169 | + JZ_INSCODE_6AFRAME_SET_LUMEN_MAXMIN_RANGE = 0x10008103, //设置灯光范围最大最小值 | ||
170 | + JZ_INSCODE_6AFRAME_SET_SERIALNUMBER = 0x10008104, //设置序列号 | ||
171 | + JZ_INSCODE_6AFRAME_SERVO_SELFCHECK = 0x10008105, //舵机自检 | ||
172 | + JZ_INSCODE_6AFRAME_GIMBAL_LINKAGE_CONTROL = 0x10008106, //开关云台联动 | ||
173 | + | ||
174 | + JZ_INSCODE_6AFRAME_CHECKSTATUS_SECONDARY_DEVICE_NAME = 0x10008400, //查询从设备设备名 | ||
175 | + JZ_INSCODE_6AFRAME_CHECKSTATUS_GIMBAL_LINKAGE = 0x10008401, //查询云台联动 | ||
176 | + | ||
177 | +//6B类 | ||
178 | + JZ_INSCODE_6BFRAME_CHECKSTATUS_SECONDARY_DEVICE_NAME = 0x1000C400, //回复从设备名 | ||
179 | + JZ_INSCODE_6BFRAME_CHECKSTATUS_GIMBAL_LINKAGE = 0x1000C401, //回复云台联动 | ||
180 | + | ||
181 | + | ||
182 | + | ||
183 | +} JZ_InsCode; | ||
184 | + | ||
185 | + | ||
186 | +/* Exported types ------------------------------------------------------------*/ | ||
187 | + | ||
188 | + | ||
189 | +/* Exported functions --------------------------------------------------------*/ | ||
190 | + | ||
191 | +#ifdef __cplusplus | ||
192 | +} | ||
193 | +#endif | ||
194 | + | ||
195 | +#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 | +static int Comparison_5AFRAME_FirstLevelCode_0x5A(char *getdata) | ||
306 | +{ | ||
307 | + //二级功能位 | ||
308 | + switch (getdata[8]) | ||
309 | + { | ||
310 | + //对外供电开关 | ||
311 | + case 0x01: | ||
312 | + return JZ_INSCODE_5AFRAME_OUTPUTPOWER_CONTROL; | ||
313 | + break; | ||
314 | + | ||
315 | + //对外供电查询 | ||
316 | + case 0x02: | ||
317 | + return JZ_INSCODE_5AFRAME_CHECKSTATUS_OUTPUTPOWER; | ||
318 | + break; | ||
319 | + | ||
320 | + default: | ||
321 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
322 | + break; | ||
323 | + } | ||
324 | +} | ||
325 | + | ||
326 | +//一级功能码 激光控制 | ||
327 | +static int Comparison_5AFRAME_FirstLevelCode_0x60(char *getdata) | ||
328 | +{ | ||
329 | + //二级功能位 | ||
330 | + switch (getdata[8]) | ||
331 | + { | ||
332 | + //激光控制 | ||
333 | + case 0x51: | ||
334 | + return JZ_INSCODE_5AFRAME_LASER_CONTROL; | ||
335 | + break; | ||
336 | + | ||
337 | + default: | ||
338 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
339 | + break; | ||
340 | + } | ||
341 | +} | ||
342 | + | ||
343 | +//一级功能码 爆闪频率 | ||
344 | +static int Comparison_5AFRAME_FirstLevelCode_0x61(char *getdata) | ||
345 | +{ | ||
346 | + //二级功能位 | ||
347 | + switch (getdata[8]) | ||
348 | + { | ||
349 | + //爆闪频率 | ||
350 | + case 0x51: | ||
351 | + return JZ_INSCODE_5AFRAME_SEARCHLIGHT_SET_FREQUENCY; | ||
352 | + break; | ||
353 | + | ||
354 | + default: | ||
355 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
356 | + break; | ||
357 | + } | ||
358 | +} | ||
359 | + | ||
360 | +//一级功能码 灯光控制 | ||
361 | +static int Comparison_5AFRAME_FirstLevelCode_0x62(char *getdata) | ||
362 | +{ | ||
363 | + //二级功能位 | ||
364 | + switch (getdata[8]) | ||
365 | + { | ||
366 | + //灯光模式 | ||
367 | + case 0x51: | ||
368 | + return JZ_INSCODE_5AFRAME_SEARCHLIGHT_CONTROL; | ||
369 | + break; | ||
370 | + | ||
371 | + default: | ||
372 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
373 | + break; | ||
374 | + } | ||
375 | +} | ||
376 | + | ||
377 | +//一级功能码 灯光亮度 | ||
378 | +static int Comparison_5AFRAME_FirstLevelCode_0x63(char *getdata) | ||
379 | +{ | ||
380 | + //二级功能位 | ||
381 | + switch (getdata[8]) | ||
382 | + { | ||
383 | + //灯光亮度 | ||
384 | + case 0x51: | ||
385 | + return JZ_INSCODE_5AFRAME_SEARCHLIGHT_SET_LUMEN; | ||
386 | + break; | ||
387 | + | ||
388 | + default: | ||
389 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
390 | + break; | ||
391 | + } | ||
392 | +} | ||
393 | + | ||
394 | +//一级功能码云台功能 | ||
395 | +static int Comparison_5AFRAME_FirstLevelCode_0x64(char *getdata) | ||
396 | +{ | ||
397 | + //二级功能位 | ||
398 | + switch (getdata[8]) | ||
399 | + { | ||
400 | + //云台俯仰控制 | ||
401 | + case 0x51: | ||
402 | + return JZ_INSCODE_5AFRAME_GIMBAL_PITCH_CONTROL; | ||
403 | + break; | ||
404 | + | ||
405 | + //云台俯仰微调控制 | ||
406 | + case 0x52: | ||
407 | + return JZ_INSCODE_5AFRAME_GIMBAL_PITCH_FINETUNING_CONTROL; | ||
408 | + break; | ||
409 | + | ||
410 | + default: | ||
411 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
412 | + break; | ||
413 | + } | ||
414 | +} | ||
415 | + | ||
416 | +//一级功能码 云台航向 | ||
417 | +static int Comparison_5AFRAME_FirstLevelCode_0x65(char *getdata) | ||
418 | +{ | ||
419 | + | ||
420 | +} | ||
421 | + | ||
422 | +//一级功能码 警灯模式控制 | ||
423 | +static int Comparison_5AFRAME_FirstLevelCode_0x66(char *getdata) | ||
424 | +{ | ||
425 | + switch (getdata[8]) | ||
426 | + { | ||
427 | + //警灯模式控制 | ||
428 | + case 0x51: | ||
429 | + return JZ_INSCODE_5AFRAME_WARNINGLIGHT_CONTROL; | ||
430 | + break; | ||
431 | + | ||
432 | + default: | ||
433 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
434 | + break; | ||
435 | + } | ||
436 | +} | ||
437 | + | ||
438 | +//一级功能码 警灯眼色选择 | ||
439 | +static int Comparison_5AFRAME_FirstLevelCode_0x67(char *getdata) | ||
440 | +{ | ||
441 | + switch (getdata[8]) | ||
442 | + { | ||
443 | + //警灯颜色选择 | ||
444 | + case 0x51: | ||
445 | + return JZ_INSCODE_5AFRAME_WARNINGLIGHT_COLOUR; | ||
446 | + break; | ||
447 | + | ||
448 | + default: | ||
449 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
450 | + break; | ||
451 | + } | ||
452 | +} | ||
453 | + | ||
454 | +//一级功能码 探照灯消息订阅 | ||
455 | +static int Comparison_5AFRAME_FirstLevelCode_0x68(char *getdata) | ||
456 | +{ | ||
457 | + switch (getdata[8]) | ||
458 | + { | ||
459 | + //探照灯消息订阅 | ||
460 | + case 0x51: | ||
461 | + return JZ_INSCODE_5AFRAME_SEARCHLIGHT_MESSAGE_SUBSCRIPTION_CONTROL; | ||
462 | + break; | ||
463 | + | ||
464 | + default: | ||
465 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
466 | + break; | ||
467 | + } | ||
468 | + | ||
469 | +} | ||
470 | + | ||
471 | +//一级功能码 私有协议 | ||
472 | +static int Comparison_5AFRAME_FirstLevelCode_0x69(char *getdata) | ||
473 | +{ | ||
474 | + | ||
475 | +} | ||
476 | + | ||
477 | +//一级功能码 6F查询帧 | ||
478 | +static int Comparison_5AFRAME_FirstLevelCode_0x6F(char *getdata) | ||
479 | +{ | ||
480 | + //二级功能位 | ||
481 | + switch (getdata[8]) | ||
482 | + { | ||
483 | + //灯光查询 | ||
484 | + case 0x51: | ||
485 | + return JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_LIGHTATTRIBUTE; | ||
486 | + break; | ||
487 | + | ||
488 | + //温度查询 | ||
489 | + case 0x52: | ||
490 | + return JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_TEMPERATURE; | ||
491 | + break; | ||
492 | + | ||
493 | + //激光查询 | ||
494 | + case 0x53: | ||
495 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
496 | + break; | ||
497 | + | ||
498 | + //云台角度查询 | ||
499 | + case 0x54: | ||
500 | + return JZ_INSCODE_5AFRAME_CHECKSTATUS_GIMBAL; | ||
501 | + break; | ||
502 | + | ||
503 | + //警灯状态查询 | ||
504 | + case 0x55: | ||
505 | + return JZ_INSCODE_5AFRAME_CHECKSTATUS_WARNINGLIGHT_STATUS; | ||
506 | + break; | ||
507 | + | ||
508 | + //警灯颜色查询 | ||
509 | + case 0x56: | ||
510 | + return JZ_INSCODE_5AFRAME_CHECKSTATUS_WARNINGLIGHT_COLOR; | ||
511 | + break; | ||
512 | + | ||
513 | + //产品序列号查询 | ||
514 | + case 0x57: | ||
515 | + return JZ_INSCODE_5AFRAME_CHECKSTATUS_SERIALNUMBER; | ||
516 | + break; | ||
517 | + | ||
518 | + //云台微调值查询 | ||
519 | + case 0x58: | ||
520 | + return JZ_INSCODE_5AFRAME_CHECKSTATUS_GIMBAL_FINETUNING; | ||
521 | + break; | ||
522 | + | ||
523 | + default: | ||
524 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
525 | + break; | ||
526 | + } | ||
527 | +} | ||
528 | + | ||
529 | +/****************************************************************** | ||
530 | + | ||
531 | + 回复帧对比 | ||
532 | + 成功返回帧类型 无对比数据返回 JZ_ERROR_SYSTEM_FRAME_ERROR | ||
533 | + | ||
534 | +******************************************************************/ | ||
535 | +int JZsdk_5AFrameComparsion(char *getdata, int len) | ||
536 | +{ | ||
537 | + //1、判断帧头帧尾 | ||
538 | + if ( | ||
539 | + ( (getdata[0]!= 0x5a) && (getdata[1] != 0x5a) && (getdata[2]!=0x77) ) | ||
540 | + || ( (getdata[len -2]!= 0x00) && (getdata[ len -1] != 0x23) ) | ||
541 | + ) | ||
542 | + { | ||
543 | + printf("接受到的帧,没有帧头或者帧尾,退出JZsdk_5AFrameComparsion函数\n"); | ||
544 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
545 | + } | ||
546 | + | ||
547 | + //一级功能码 | ||
548 | + switch (getdata[7]) | ||
549 | + { | ||
550 | +/********************************************************************************************************************************************************* | ||
551 | + * | ||
552 | + * 连接请求码 | ||
553 | + * | ||
554 | +*********************************************************************************************************************************************************/ | ||
555 | + //一级功能码是连接请求 | ||
556 | + case 0x50: | ||
557 | + return Comparison_5AFRAME_FirstLevelCode_0x50(getdata); | ||
558 | + break; | ||
559 | + | ||
560 | +/********************************************************************************************************************************************************* | ||
561 | + * | ||
562 | + * 喊话器功能码 | ||
563 | + * | ||
564 | +*********************************************************************************************************************************************************/ | ||
565 | + //一级功能码 语音 / 音频文件功能 | ||
566 | + case 0x51: | ||
567 | + return Comparison_5AFRAME_FirstLevelCode_0x51(getdata); | ||
568 | + break; | ||
569 | + | ||
570 | + //一级功能码 音频/ 功放/ 音量调节 | ||
571 | + case 0x52: | ||
572 | + return Comparison_5AFRAME_FirstLevelCode_0x52(getdata); | ||
573 | + break; | ||
574 | + | ||
575 | + //一级功能码 查询状态 | ||
576 | + case 0x53: | ||
577 | + return Comparison_5AFRAME_FirstLevelCode_0x53(getdata); | ||
578 | + break; | ||
579 | + | ||
580 | + //一级功能码 删除 | ||
581 | + case 0x54: | ||
582 | + return Comparison_5AFRAME_FirstLevelCode_0x54(getdata); | ||
583 | + break; | ||
584 | + | ||
585 | + //一级功能码 开启关闭循环 | ||
586 | + case 0x55: | ||
587 | + return Comparison_5AFRAME_FirstLevelCode_0x55(getdata); | ||
588 | + break; | ||
589 | + | ||
590 | + //一级功能码 | ||
591 | + case 0x56: | ||
592 | + return Comparison_5AFRAME_FirstLevelCode_0x56(getdata); | ||
593 | + break; | ||
594 | + | ||
595 | + //一级功能码 TTS | ||
596 | + case 0x57: | ||
597 | + return Comparison_5AFRAME_FirstLevelCode_0x57(getdata); | ||
598 | + break; | ||
599 | + | ||
600 | + //一级功能码 查询列表功能 | ||
601 | + case 0x58: | ||
602 | + return Comparison_5AFRAME_FirstLevelCode_0x58(getdata); | ||
603 | + break; | ||
604 | + | ||
605 | + //一级功能码 opus | ||
606 | + case 0x59: | ||
607 | + return Comparison_5AFRAME_FirstLevelCode_0x59(getdata); | ||
608 | + break; | ||
609 | + | ||
610 | + //一级功能码,硬件引脚控制 | ||
611 | + case 0x5A: | ||
612 | + return Comparison_5AFRAME_FirstLevelCode_0x5A(getdata); | ||
613 | + break; | ||
614 | + | ||
615 | + //一级功能码 激光控制 | ||
616 | + case 0x60: | ||
617 | + return Comparison_5AFRAME_FirstLevelCode_0x60(getdata); | ||
618 | + break; | ||
619 | + | ||
620 | + //一级功能码 爆闪控制 | ||
621 | + case 0x61: | ||
622 | + return Comparison_5AFRAME_FirstLevelCode_0x61(getdata); | ||
623 | + break; | ||
624 | + | ||
625 | + //一级功能码 灯光控制 | ||
626 | + case 0x62: | ||
627 | + return Comparison_5AFRAME_FirstLevelCode_0x62(getdata); | ||
628 | + break; | ||
629 | + | ||
630 | + //一级功能码 灯光亮度 | ||
631 | + case 0x63: | ||
632 | + return Comparison_5AFRAME_FirstLevelCode_0x63(getdata); | ||
633 | + break; | ||
634 | + | ||
635 | + //一级功能码 云台俯仰 | ||
636 | + case 0x64: | ||
637 | + return Comparison_5AFRAME_FirstLevelCode_0x64(getdata); | ||
638 | + break; | ||
639 | + | ||
640 | + //一级功能码 云台航向 | ||
641 | + case 0x65: | ||
642 | + return Comparison_5AFRAME_FirstLevelCode_0x65(getdata); | ||
643 | + break; | ||
644 | + | ||
645 | + //一级功能码 警灯模式控制 | ||
646 | + case 0x66: | ||
647 | + return Comparison_5AFRAME_FirstLevelCode_0x66(getdata); | ||
648 | + break; | ||
649 | + | ||
650 | + //一级功能码 警灯眼色选择 | ||
651 | + case 0x67: | ||
652 | + return Comparison_5AFRAME_FirstLevelCode_0x67(getdata); | ||
653 | + break; | ||
654 | + | ||
655 | + //一级功能码 探照灯消息订阅 | ||
656 | + case 0x68: | ||
657 | + return Comparison_5AFRAME_FirstLevelCode_0x68(getdata); | ||
658 | + break; | ||
659 | + | ||
660 | + //一级功能码 私有协议 | ||
661 | + case 0x69: | ||
662 | + return Comparison_5AFRAME_FirstLevelCode_0x69(getdata); | ||
663 | + break; | ||
664 | + | ||
665 | + //一级功能码 6f查询帧 | ||
666 | + case 0x6F: | ||
667 | + return Comparison_5AFRAME_FirstLevelCode_0x6F(getdata); | ||
668 | + break; | ||
669 | + | ||
670 | + | ||
671 | + break; | ||
672 | + | ||
673 | + //一级功能码 | ||
674 | + | ||
675 | +/********************************************************************************************************************************************************* | ||
676 | + * | ||
677 | + * | ||
678 | + * | ||
679 | +*********************************************************************************************************************************************************/ | ||
680 | + default: | ||
681 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
682 | + break; | ||
683 | + } | ||
684 | +} | ||
685 | + |
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_0x5A(char *getdata) | ||
129 | +{ | ||
130 | + //二级功能位 | ||
131 | + switch (getdata[8]) | ||
132 | + { | ||
133 | + //回复对供电开关状态返回 | ||
134 | + case 0x02: | ||
135 | + return JZ_INSCODE_5BFRAME_CHECKSTATUS_OUTPUTPOWER; | ||
136 | + break; | ||
137 | + | ||
138 | + default: | ||
139 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
140 | + break; | ||
141 | + } | ||
142 | +} | ||
143 | + | ||
144 | +//一级功能码是激光 | ||
145 | +static int Comparison_5BFRAME_FirstLevelCode_0x60(char *getdata) | ||
146 | +{ | ||
147 | + //二级功能位 | ||
148 | + switch (getdata[8]) | ||
149 | + { | ||
150 | + //回复激光查询 | ||
151 | + case 0x51: | ||
152 | + return JZ_INSCODE_5BFRAME_CHECKSTATUS_LASER_STATUS; | ||
153 | + break; | ||
154 | + | ||
155 | + default: | ||
156 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
157 | + break; | ||
158 | + } | ||
159 | +} | ||
160 | + | ||
161 | +//一级功能码是回复灯光频率 | ||
162 | +static int Comparison_5BFRAME_FirstLevelCode_0x61(char *getdata) | ||
163 | +{ | ||
164 | + //二级功能位 | ||
165 | + switch (getdata[8]) | ||
166 | + { | ||
167 | + //回复灯光频率 | ||
168 | + case 0x51: | ||
169 | + return JZ_INSCODE_5BFRAME_CHECKSTATUS_SEARCHLIGHT_FREQUENCY; | ||
170 | + break; | ||
171 | + | ||
172 | + default: | ||
173 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
174 | + break; | ||
175 | + } | ||
176 | +} | ||
177 | + | ||
178 | +//一级功能码是回复灯光模式 | ||
179 | +static int Comparison_5BFRAME_FirstLevelCode_0x62(char *getdata) | ||
180 | +{ | ||
181 | + //二级功能位 | ||
182 | + switch (getdata[8]) | ||
183 | + { | ||
184 | + //回复灯光模式 | ||
185 | + case 0x51: | ||
186 | + return JZ_INSCODE_5BFRAME_CHECKSTATUS_SEARCHLIGHT_MODE; | ||
187 | + break; | ||
188 | + | ||
189 | + default: | ||
190 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
191 | + break; | ||
192 | + } | ||
193 | +} | ||
194 | + | ||
195 | +//一级功能码是回复灯光亮度 | ||
196 | +static int Comparison_5BFRAME_FirstLevelCode_0x63(char *getdata) | ||
197 | +{ | ||
198 | + //二级功能位 | ||
199 | + switch (getdata[8]) | ||
200 | + { | ||
201 | + //回复灯光亮度 | ||
202 | + case 0x51: | ||
203 | + return JZ_INSCODE_5BFRAME_CHECKSTATUS_SEARCHLIGHT_LUMEN; | ||
204 | + break; | ||
205 | + | ||
206 | + default: | ||
207 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
208 | + break; | ||
209 | + } | ||
210 | +} | ||
211 | + | ||
212 | +//一级功能码是云台俯仰 | ||
213 | +static int Comparison_5BFRAME_FirstLevelCode_0x64(char *getdata) | ||
214 | +{ | ||
215 | + //二级功能位 | ||
216 | + switch (getdata[8]) | ||
217 | + { | ||
218 | + //回复云台俯仰 | ||
219 | + case 0x51: | ||
220 | + return JZ_INSCODE_5BFRAME_GIMBAL_PITCH; | ||
221 | + break; | ||
222 | + | ||
223 | + //回复云台俯仰微调值 | ||
224 | + case 0x52: | ||
225 | + return JZ_INSCODE_5BFRAME_GIMBAL_PITCH_FINETUNING; | ||
226 | + break; | ||
227 | + | ||
228 | + default: | ||
229 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
230 | + break; | ||
231 | + } | ||
232 | +} | ||
233 | +//一级功能码是云台航向 | ||
234 | +static int Comparison_5BFRAME_FirstLevelCode_0x65(char *getdata) | ||
235 | +{ | ||
236 | + //二级功能位 | ||
237 | + switch (getdata[8]) | ||
238 | + { | ||
239 | + //回复云台航向 | ||
240 | + case 0x51: | ||
241 | + return JZ_INSCODE_5BFRAME_GIMBAL_YAW; | ||
242 | + break; | ||
243 | + | ||
244 | + | ||
245 | + default: | ||
246 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
247 | + break; | ||
248 | + } | ||
249 | +} | ||
250 | +//一级功能码是回复警灯状态 | ||
251 | +static int Comparison_5BFRAME_FirstLevelCode_0x66(char *getdata) | ||
252 | +{ | ||
253 | + //二级功能位 | ||
254 | + switch (getdata[8]) | ||
255 | + { | ||
256 | + //回复警灯状态 | ||
257 | + case 0x51: | ||
258 | + return JZ_INSCODE_5BFRAME_CHECKSTATUS_WARNINGLIGHT_STATUS; | ||
259 | + break; | ||
260 | + | ||
261 | + | ||
262 | + default: | ||
263 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
264 | + break; | ||
265 | + } | ||
266 | +}//一级功能码是回复警灯颜色 | ||
267 | +static int Comparison_5BFRAME_FirstLevelCode_0x67(char *getdata) | ||
268 | +{ | ||
269 | + //二级功能位 | ||
270 | + switch (getdata[8]) | ||
271 | + { | ||
272 | + //回复回复警灯颜色 | ||
273 | + case 0x51: | ||
274 | + return JZ_INSCODE_5BFRAME_CHECKSTATUS_WARNINGLIGHT_COLOR; | ||
275 | + break; | ||
276 | + | ||
277 | + | ||
278 | + default: | ||
279 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
280 | + break; | ||
281 | + } | ||
282 | +}//一级功能码是回复温度/序列号查询 | ||
283 | +static int Comparison_5BFRAME_FirstLevelCode_0x69(char *getdata) | ||
284 | +{ | ||
285 | + //二级功能位 | ||
286 | + switch (getdata[8]) | ||
287 | + { | ||
288 | + //回复温度查询 | ||
289 | + case 0x51: | ||
290 | + return JZ_INSCODE_5BFRAME_CHECKSTATUS_SEARCHLIGHT_TEMPERATURE; | ||
291 | + break; | ||
292 | + | ||
293 | + //回复产品序列号 | ||
294 | + case 0x54: | ||
295 | + return JZ_INSCODE_5BFRAME_CHECKSTATUS_SERIALNUMBER; | ||
296 | + break; | ||
297 | + | ||
298 | + default: | ||
299 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
300 | + break; | ||
301 | + } | ||
302 | +} | ||
303 | +/****************************************************************** | ||
304 | + | ||
305 | + 回复帧对比 | ||
306 | + 成功返回帧类型 无对比数据返回 JZ_ERROR_SYSTEM_FRAME_ERROR | ||
307 | + | ||
308 | +******************************************************************/ | ||
309 | +int JZsdk_5BFrameComparsion(char *getdata, int len) | ||
310 | +{ | ||
311 | + //1、判断帧头帧尾 | ||
312 | + if ( | ||
313 | + ( (getdata[0]!= 0x5B) && (getdata[1] != 0x5B) && (getdata[2]!=0x77) ) | ||
314 | + || ( (getdata[len -2]!= 0x00) && (getdata[ len -1] != 0x23) ) | ||
315 | + ) | ||
316 | + { | ||
317 | + printf("接受到的帧,没有帧头或者帧尾,退出JZsdk_5BFrameComparsion函数\n"); | ||
318 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
319 | + } | ||
320 | + | ||
321 | + //一级功能码 | ||
322 | + switch (getdata[7]) | ||
323 | + { | ||
324 | + case 0x50: | ||
325 | + return Comparison_5BFRAME_FirstLevelCode_0x50(getdata); | ||
326 | + break; | ||
327 | + | ||
328 | + case 0x51: | ||
329 | + return Comparison_5BFRAME_FirstLevelCode_0x51(getdata); | ||
330 | + break; | ||
331 | + | ||
332 | + case 0x53: | ||
333 | + return Comparison_5BFRAME_FirstLevelCode_0x53(getdata); | ||
334 | + break; | ||
335 | + | ||
336 | + case 0x58: | ||
337 | + return Comparison_5BFRAME_FirstLevelCode_0x58(getdata); | ||
338 | + break; | ||
339 | + | ||
340 | + case 0x5A: | ||
341 | + return Comparison_5BFRAME_FirstLevelCode_0x5A(getdata); | ||
342 | + break; | ||
343 | + | ||
344 | + case 0x60: | ||
345 | + return Comparison_5BFRAME_FirstLevelCode_0x60(getdata); | ||
346 | + break; | ||
347 | + | ||
348 | + case 0x61: | ||
349 | + return Comparison_5BFRAME_FirstLevelCode_0x61(getdata); | ||
350 | + break; | ||
351 | + | ||
352 | + case 0x62: | ||
353 | + return Comparison_5BFRAME_FirstLevelCode_0x62(getdata); | ||
354 | + break; | ||
355 | + | ||
356 | + case 0x63: | ||
357 | + return Comparison_5BFRAME_FirstLevelCode_0x63(getdata); | ||
358 | + break; | ||
359 | + | ||
360 | + case 0x64: | ||
361 | + return Comparison_5BFRAME_FirstLevelCode_0x64(getdata); | ||
362 | + break; | ||
363 | + | ||
364 | + case 0x65: | ||
365 | + return Comparison_5BFRAME_FirstLevelCode_0x65(getdata); | ||
366 | + break; | ||
367 | + | ||
368 | + case 0x66: | ||
369 | + return Comparison_5BFRAME_FirstLevelCode_0x66(getdata); | ||
370 | + break; | ||
371 | + | ||
372 | + case 0x67: | ||
373 | + return Comparison_5BFRAME_FirstLevelCode_0x67(getdata); | ||
374 | + break; | ||
375 | + | ||
376 | + case 0x69: | ||
377 | + return Comparison_5BFRAME_FirstLevelCode_0x69(getdata); | ||
378 | + break; | ||
379 | + | ||
380 | + | ||
381 | + default: | ||
382 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
383 | + break; | ||
384 | + } | ||
385 | +} |
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 | +static int Comparison_6AFRAME_FirstLevelCode_0x6F(char *getdata) | ||
51 | +{ | ||
52 | + //二级功能位 | ||
53 | + switch (getdata[8]) | ||
54 | + { | ||
55 | + //设置当前为云台零值 | ||
56 | + case 0x50: | ||
57 | + return JZ_INSCODE_6AFRAME_CHECKSTATUS_SECONDARY_DEVICE_NAME; | ||
58 | + break; | ||
59 | + | ||
60 | + //设置当前为云台零值 | ||
61 | + case 0x51: | ||
62 | + return JZ_INSCODE_6AFRAME_CHECKSTATUS_GIMBAL_LINKAGE; | ||
63 | + break; | ||
64 | + | ||
65 | + default: | ||
66 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
67 | + break; | ||
68 | + } | ||
69 | +} | ||
70 | + | ||
71 | +/****************************************************************** | ||
72 | + | ||
73 | + 回复帧对比 | ||
74 | + 成功返回帧类型 无对比数据返回 JZ_ERROR_SYSTEM_FRAME_ERROR | ||
75 | + | ||
76 | +******************************************************************/ | ||
77 | +int JZsdk_6AFrameComparsion(char *getdata, int len) | ||
78 | +{ | ||
79 | + //1、判断帧头帧尾 | ||
80 | + if ( | ||
81 | + ( (getdata[0]!= 0x6A) && (getdata[1] != 0x6A) && (getdata[2]!=0x77) ) | ||
82 | + || ( (getdata[len -2]!= 0x00) && (getdata[ len -1] != 0x23) ) | ||
83 | + ) | ||
84 | + { | ||
85 | + printf("接受到的帧,没有帧头或者帧尾,退出JZsdk_6AFrameComparsion函数\n"); | ||
86 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
87 | + } | ||
88 | + | ||
89 | + //一级功能码 | ||
90 | + switch (getdata[7]) | ||
91 | + { | ||
92 | + case 0x69: | ||
93 | + return Comparison_6AFRAME_FirstLevelCode_0x69(getdata); | ||
94 | + break; | ||
95 | + | ||
96 | + case 0x6F: | ||
97 | + return Comparison_6AFRAME_FirstLevelCode_0x6F(getdata); | ||
98 | + break; | ||
99 | + | ||
100 | + | ||
101 | + default: | ||
102 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
103 | + break; | ||
104 | + } | ||
105 | +} |
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[14] = {0x5A ,0x5A ,0x77 ,0x00 ,0x0E ,0x00 ,0x00 ,0x64 ,0x52 ,0x00 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
56 | + memcpy(str, sendbuf, 14); | ||
57 | + *str_len = 14; | ||
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_GIMBAL: | ||
102 | + { | ||
103 | + char sendbuf[13] = {0x5A ,0x5A ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x6F ,0x54 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
104 | + memcpy(str, sendbuf, 13); | ||
105 | + *str_len = 13; | ||
106 | + } | ||
107 | + break; | ||
108 | + | ||
109 | + case JZ_INSCODE_5AFRAME_CHECKSTATUS_WARNINGLIGHT_STATUS: | ||
110 | + { | ||
111 | + char sendbuf[13] = {0x5A ,0x5A ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x6F ,0x55 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
112 | + memcpy(str, sendbuf, 13); | ||
113 | + *str_len = 13; | ||
114 | + } | ||
115 | + break; | ||
116 | + | ||
117 | + case JZ_INSCODE_5AFRAME_CHECKSTATUS_WARNINGLIGHT_COLOR: | ||
118 | + { | ||
119 | + char sendbuf[13] = {0x5A ,0x5A ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x6F ,0x56 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
120 | + memcpy(str, sendbuf, 13); | ||
121 | + *str_len = 13; | ||
122 | + } | ||
123 | + break; | ||
124 | + | ||
125 | + case JZ_INSCODE_5AFRAME_CHECKSTATUS_SERIALNUMBER: | ||
126 | + { | ||
127 | + char sendbuf[13] = {0x5A ,0x5A ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x6F ,0x57 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
128 | + memcpy(str, sendbuf, 13); | ||
129 | + *str_len = 13; | ||
130 | + } | ||
131 | + break; | ||
132 | + | ||
133 | + case JZ_INSCODE_5AFRAME_CHECKSTATUS_GIMBAL_FINETUNING: | ||
134 | + { | ||
135 | + char sendbuf[13] = {0x5A ,0x5A ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x6F ,0x58 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
136 | + memcpy(str, sendbuf, 13); | ||
137 | + *str_len = 13; | ||
138 | + } | ||
139 | + break; | ||
140 | +/******************************************************************************************************************************************************** | ||
141 | + * | ||
142 | + * 5B帧 | ||
143 | + * | ||
144 | +********************************************************************************************************************************************************/ | ||
145 | + case JZ_INSCODE_5BFRAME_INITIATECONNECT: | ||
146 | + { | ||
147 | + char sendbuf[12] = {0x5B ,0x5B ,0x77 ,0x00 ,0x0c ,0x00 ,0x00 ,0x50 ,0x51 ,0x00 ,0x00 ,0x23}; | ||
148 | + memcpy(str, sendbuf, 12); | ||
149 | + *str_len = 12; | ||
150 | + } | ||
151 | + break; | ||
152 | + | ||
153 | + case JZ_INSCODE_5BFRAME_SUCESS: | ||
154 | + { | ||
155 | + char sendbuf[12] = {0x5B, 0x5B, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x51, 0x01, 0x00, 0x00, 0x23}; | ||
156 | + memcpy(str, sendbuf, 12); | ||
157 | + *str_len = 12; | ||
158 | + } | ||
159 | + break; | ||
160 | + | ||
161 | + case JZ_INSCODE_5BFRAME_DEFEAT: | ||
162 | + { | ||
163 | + char sendbuf[12] = {0x5B, 0x5B, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x51, 0xff, 0x00, 0x00, 0x23}; | ||
164 | + memcpy(str, sendbuf, 12); | ||
165 | + *str_len = 12; | ||
166 | + } | ||
167 | + break; | ||
168 | + | ||
169 | + | ||
170 | + case JZ_INSCODE_5BFRAME_AUDIO_PLAYSTATUS_END: | ||
171 | + { | ||
172 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x53, 0xff, 0x00, 0x00, 0x23}; | ||
173 | + memcpy(str, sendbuf, 12); | ||
174 | + *str_len = 12; | ||
175 | + } | ||
176 | + break; | ||
177 | + | ||
178 | + case JZ_INSCODE_5BFRAME_AUDIO_PLAYSTATUS: | ||
179 | + { | ||
180 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x53, 0x02, 0x00, 0x00, 0x23}; | ||
181 | + memcpy(str, sendbuf, 12); | ||
182 | + *str_len = 12; | ||
183 | + } | ||
184 | + break; | ||
185 | + | ||
186 | + case JZ_INSCODE_5BFRAME_AUDIO_PLAYFILENAME: | ||
187 | + { | ||
188 | + char sendbuf[12] = {0x5B, 0x5B, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x53, 0x04, 0x00, 0x00, 0x23}; | ||
189 | + memcpy(str, sendbuf, 12); | ||
190 | + *str_len = 12; | ||
191 | + } | ||
192 | + break; | ||
193 | + | ||
194 | + case JZ_INSCODE_5BFRAME_VOLUME: | ||
195 | + { | ||
196 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x53, 0x01, 0x00, 0x00, 0x23}; | ||
197 | + memcpy(str, sendbuf, 12); | ||
198 | + *str_len = 12; | ||
199 | + } | ||
200 | + break; | ||
201 | + | ||
202 | + | ||
203 | + | ||
204 | + case JZ_INSCODE_5BFRAME_SORTWAREVERSION: | ||
205 | + { | ||
206 | + char sendbuf[15] = { 0x5b, 0x5b, 0x77, 0x00, 0x0f, 0x00, 0x00, 0x53, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23}; | ||
207 | + memcpy(str, sendbuf, 15); | ||
208 | + *str_len = 15; | ||
209 | + } | ||
210 | + break; | ||
211 | + | ||
212 | + case JZ_INSCODE_5BFRAME_AUDIO_PLAYLOOPSTATUS: | ||
213 | + { | ||
214 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x53, 0x05, 0x00, 0x00, 0x23}; | ||
215 | + memcpy(str, sendbuf, 12); | ||
216 | + *str_len = 12; | ||
217 | + } | ||
218 | + break; | ||
219 | + | ||
220 | + case JZ_INSCODE_5BFRAME_TTS_TONE: | ||
221 | + { | ||
222 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x53, 0x06, 0x00, 0x00, 0x23}; | ||
223 | + memcpy(str, sendbuf, 12); | ||
224 | + *str_len = 12; | ||
225 | + } | ||
226 | + break; | ||
227 | + | ||
228 | + case JZ_INSCODE_5BFRAME_TTS_SPEED: | ||
229 | + { | ||
230 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x53, 0x07, 0x00, 0x00, 0x23}; | ||
231 | + memcpy(str, sendbuf, 12); | ||
232 | + *str_len = 12; | ||
233 | + } | ||
234 | + break; | ||
235 | + | ||
236 | + case JZ_INSCODE_5BFRAME_MUSICLIST_START: | ||
237 | + { | ||
238 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x23}; | ||
239 | + memcpy(str, sendbuf, 12); | ||
240 | + *str_len = 12; | ||
241 | + } | ||
242 | + break; | ||
243 | + | ||
244 | + case JZ_INSCODE_5BFRAME_MUSICLIST_TRANS: | ||
245 | + { | ||
246 | + char sendbuf[12] = {0x5B, 0x5B, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x58, 0x02, 0x00, 0x00, 0x23}; | ||
247 | + memcpy(str, sendbuf, 12); | ||
248 | + *str_len = 12; | ||
249 | + } | ||
250 | + break; | ||
251 | + | ||
252 | + case JZ_INSCODE_5BFRAME_MUSICLIST_STOP: | ||
253 | + { | ||
254 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x58, 0xff, 0x00, 0x00, 0x23}; | ||
255 | + memcpy(str, sendbuf, 12); | ||
256 | + *str_len = 12; | ||
257 | + } | ||
258 | + break; | ||
259 | + | ||
260 | + case JZ_INSCODE_5BFRAME_CHECKSTATUS_OUTPUTPOWER: | ||
261 | + { | ||
262 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0C, 0x00, 0x00, 0x5A, 0x02, 0x00, 0x00, 0x23}; | ||
263 | + memcpy(str, sendbuf, 12); | ||
264 | + *str_len = 12; | ||
265 | + } | ||
266 | + break; | ||
267 | + | ||
268 | + case JZ_INSCODE_5BFRAME_CHECKSTATUS_SEARCHLIGHT_FREQUENCY: | ||
269 | + { | ||
270 | + char sendbuf[13] = { 0x5b, 0x5b, 0x77, 0x00, 0x0D, 0x00, 0x00, 0x61, 0x51, 0x00, 0x00, 0x00, 0x23}; | ||
271 | + memcpy(str, sendbuf, 13); | ||
272 | + *str_len = 13; | ||
273 | + } | ||
274 | + break; | ||
275 | + | ||
276 | + case JZ_INSCODE_5BFRAME_CHECKSTATUS_SEARCHLIGHT_MODE: | ||
277 | + { | ||
278 | + char sendbuf[13] = { 0x5b, 0x5b, 0x77, 0x00, 0x0D, 0x00, 0x00, 0x62, 0x51, 0x00, 0x00, 0x00, 0x23}; | ||
279 | + memcpy(str, sendbuf, 13); | ||
280 | + *str_len = 13; | ||
281 | + } | ||
282 | + break; | ||
283 | + | ||
284 | + case JZ_INSCODE_5BFRAME_CHECKSTATUS_SEARCHLIGHT_LUMEN: | ||
285 | + { | ||
286 | + char sendbuf[13] = { 0x5b, 0x5b, 0x77, 0x00, 0x0D, 0x00, 0x00, 0x63, 0x51, 0x00, 0x00, 0x00, 0x23}; | ||
287 | + memcpy(str, sendbuf, 13); | ||
288 | + *str_len = 13; | ||
289 | + } | ||
290 | + break; | ||
291 | + | ||
292 | + case JZ_INSCODE_5BFRAME_GIMBAL_PITCH: | ||
293 | + { | ||
294 | + char sendbuf[14] = { 0x5b, 0x5b, 0x77, 0x00, 0x0e, 0x00, 0x00, 0x64, 0x51, 0x00, 0x00, 0x00, 0x00, 0x23}; | ||
295 | + memcpy(str, sendbuf, 14); | ||
296 | + *str_len = 14; | ||
297 | + } | ||
298 | + break; | ||
299 | + | ||
300 | + case JZ_INSCODE_5BFRAME_GIMBAL_PITCH_FINETUNING: | ||
301 | + { | ||
302 | + char sendbuf[14] = { 0x5b, 0x5b, 0x77, 0x00, 0x0e, 0x00, 0x00, 0x64, 0x52, 0x00, 0x00, 0x00, 0x00, 0x23}; | ||
303 | + memcpy(str, sendbuf, 14); | ||
304 | + *str_len = 14; | ||
305 | + } | ||
306 | + break; | ||
307 | + | ||
308 | + case JZ_INSCODE_5BFRAME_GIMBAL_YAW: | ||
309 | + { | ||
310 | + char sendbuf[14] = { 0x5b, 0x5b, 0x77, 0x00, 0x0e, 0x00, 0x00, 0x65, 0x51, 0x00, 0x00, 0x00, 0x00, 0x23}; | ||
311 | + memcpy(str, sendbuf, 14); | ||
312 | + *str_len = 14; | ||
313 | + } | ||
314 | + break; | ||
315 | + | ||
316 | + case JZ_INSCODE_5BFRAME_CHECKSTATUS_WARNINGLIGHT_STATUS: | ||
317 | + { | ||
318 | + char sendbuf[13] = { 0x5b, 0x5b, 0x77, 0x00, 0x0D, 0x00, 0x00, 0x66, 0x51, 0x00, 0x00, 0x00, 0x23}; | ||
319 | + memcpy(str, sendbuf, 13); | ||
320 | + *str_len = 13; | ||
321 | + } | ||
322 | + break; | ||
323 | + | ||
324 | + case JZ_INSCODE_5BFRAME_CHECKSTATUS_WARNINGLIGHT_COLOR: | ||
325 | + { | ||
326 | + char sendbuf[13] = { 0x5b, 0x5b, 0x77, 0x00, 0x0D, 0x00, 0x00, 0x67, 0x51, 0x00, 0x00, 0x00, 0x23}; | ||
327 | + memcpy(str, sendbuf, 13); | ||
328 | + *str_len = 13; | ||
329 | + } | ||
330 | + break; | ||
331 | + | ||
332 | + case JZ_INSCODE_5BFRAME_CHECKSTATUS_SEARCHLIGHT_TEMPERATURE: | ||
333 | + { | ||
334 | + char sendbuf[13] = { 0x5b, 0x5b, 0x77, 0x00, 0x0D, 0x00, 0x00, 0x69, 0x51, 0x00, 0x00, 0x00, 0x23}; | ||
335 | + memcpy(str, sendbuf, 13); | ||
336 | + *str_len = 13; | ||
337 | + } | ||
338 | + break; | ||
339 | + | ||
340 | + case JZ_INSCODE_5BFRAME_CHECKSTATUS_SERIALNUMBER: | ||
341 | + { | ||
342 | + char sendbuf[13] = { 0x5b, 0x5b, 0x77, 0x00, 0x0D, 0x00, 0x00, 0x6F, 0x57, 0x00, 0x00, 0x00, 0x23}; | ||
343 | + memcpy(str, sendbuf, 13); | ||
344 | + *str_len = 13; | ||
345 | + } | ||
346 | + break; | ||
347 | + | ||
348 | + | ||
349 | + | ||
350 | +/******************************************************************************************************************************************************** | ||
351 | + * | ||
352 | + * 6A帧 | ||
353 | + * | ||
354 | +********************************************************************************************************************************************************/ | ||
355 | + | ||
356 | + case JZ_INSCODE_6AFRAME_SET_GIMBAL_MAXMIN_RANGE: | ||
357 | + { | ||
358 | + char sendbuf[13] = {0x6A ,0x6A ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x69 ,0x52 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
359 | + memcpy(str, sendbuf, 13); | ||
360 | + *str_len = 13; | ||
361 | + } | ||
362 | + break; | ||
363 | + | ||
364 | + case JZ_INSCODE_6AFRAME_GIMBAL_LINKAGE_CONTROL: | ||
365 | + { | ||
366 | + char sendbuf[13] = {0x6A ,0x6A ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x69 ,0x56 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
367 | + memcpy(str, sendbuf, 13); | ||
368 | + *str_len = 13; | ||
369 | + } | ||
370 | + break; | ||
371 | + | ||
372 | + case JZ_INSCODE_6AFRAME_CHECKSTATUS_SECONDARY_DEVICE_NAME: | ||
373 | + { | ||
374 | + char sendbuf[13] = {0x6A ,0x6A ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x6F ,0x50 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
375 | + memcpy(str, sendbuf, 13); | ||
376 | + *str_len = 13; | ||
377 | + } | ||
378 | + break; | ||
379 | + | ||
380 | + case JZ_INSCODE_6AFRAME_CHECKSTATUS_GIMBAL_LINKAGE: | ||
381 | + { | ||
382 | + char sendbuf[13] = {0x6A ,0x6A ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x6F ,0x51 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
383 | + memcpy(str, sendbuf, 13); | ||
384 | + *str_len = 13; | ||
385 | + } | ||
386 | + break; | ||
387 | + | ||
388 | + | ||
389 | +/******************************************************************************************************************************************************** | ||
390 | + * | ||
391 | + * 6B帧 | ||
392 | + * | ||
393 | +********************************************************************************************************************************************************/ | ||
394 | + case JZ_INSCODE_6BFRAME_CHECKSTATUS_SECONDARY_DEVICE_NAME: | ||
395 | + { | ||
396 | + char sendbuf[13] = {0x6B ,0x6B ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x6F ,0x50 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
397 | + memcpy(str, sendbuf, 13); | ||
398 | + *str_len = 13; | ||
399 | + } | ||
400 | + break; | ||
401 | + | ||
402 | + case JZ_INSCODE_6BFRAME_CHECKSTATUS_GIMBAL_LINKAGE: | ||
403 | + { | ||
404 | + char sendbuf[13] = {0x6B ,0x6B ,0x77 ,0x00 ,0x0D ,0x00 ,0x00 ,0x6F ,0x51 ,0x00 ,0x00 ,0x00 ,0x23}; | ||
405 | + memcpy(str, sendbuf, 13); | ||
406 | + *str_len = 13; | ||
407 | + } | ||
408 | + break; | ||
409 | + | ||
410 | + default: | ||
411 | + printf("JZsdk_GetFrameTemplate:没有对应的帧模板\n"); | ||
412 | + break; | ||
413 | + } | ||
414 | +} |
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 | + JZSDK_LOG_INFO("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 | + pthread_mutex_unlock(&LogWriteMutex); | ||
143 | + | ||
144 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
145 | + } | ||
146 | + | ||
147 | + fprintf(logFile, "%s", data); // 写入新的数据 | ||
148 | + | ||
149 | + fclose(logFile); | ||
150 | + | ||
151 | + // 解锁 | ||
152 | + pthread_mutex_unlock(&LogWriteMutex); | ||
153 | +} | ||
154 | + | ||
155 | +void JZsdk_UserLogOutput(E_JZsdkConsoleLogLevel level, const char *fmt, ...) | ||
156 | +{ | ||
157 | + // 将日志级别转换为相应的字符串 | ||
158 | + const char *JZSDK_LOGGER_CONSOLE_LOG_LEVEL = ""; | ||
159 | + switch (level) { | ||
160 | + case JZSDK_LOGGER_CONSOLE_LOG_LEVEL_DEBUG: | ||
161 | + JZSDK_LOGGER_CONSOLE_LOG_LEVEL = "DEBUG"; | ||
162 | + break; | ||
163 | + case JZSDK_LOGGER_CONSOLE_LOG_LEVEL_INFO: | ||
164 | + JZSDK_LOGGER_CONSOLE_LOG_LEVEL = "INFO"; | ||
165 | + break; | ||
166 | + case JZSDK_LOGGER_CONSOLE_LOG_LEVEL_WARN: | ||
167 | + JZSDK_LOGGER_CONSOLE_LOG_LEVEL = "WARNING"; | ||
168 | + break; | ||
169 | + case JZSDK_LOGGER_CONSOLE_LOG_LEVEL_ERROR: | ||
170 | + JZSDK_LOGGER_CONSOLE_LOG_LEVEL = "ERROR"; | ||
171 | + break; | ||
172 | + default: | ||
173 | + break; | ||
174 | + } | ||
175 | + // 使用可变参数处理传入的格式化字符串和可变参数 | ||
176 | + va_list args; | ||
177 | + va_start(args, fmt); | ||
178 | + | ||
179 | + //格式化日志消息 | ||
180 | + char logMessage[512]; | ||
181 | + memset(logMessage, 0, sizeof(logMessage)); | ||
182 | + vsnprintf(logMessage, sizeof(logMessage), fmt, args); | ||
183 | + | ||
184 | + va_end(args); | ||
185 | + | ||
186 | + struct timeval current_time; | ||
187 | + gettimeofday(¤t_time, 0); | ||
188 | + | ||
189 | + long seconds = current_time.tv_sec - g_start_time.tv_sec; | ||
190 | + long microseconds = current_time.tv_usec - g_start_time.tv_usec; | ||
191 | + double elapsed = seconds + microseconds*1e-6; | ||
192 | + | ||
193 | + // 执行具体的日志输出操作 | ||
194 | + char finalLogMessage[612]; | ||
195 | + memset(finalLogMessage, 0, sizeof(finalLogMessage)); | ||
196 | + snprintf(finalLogMessage, 612, "[%s][%.4f]%s\n", JZSDK_LOGGER_CONSOLE_LOG_LEVEL, elapsed, logMessage); | ||
197 | + | ||
198 | + printf("%s",finalLogMessage); | ||
199 | + | ||
200 | + //写入日志 | ||
201 | + writeToLogFile(finalLogMessage); | ||
202 | +} |
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 JZSDK_LOG_DEBUG(fmt, ...) \ | ||
51 | + JZsdk_UserLogOutput(JZSDK_LOGGER_CONSOLE_LOG_LEVEL_DEBUG, "[%s:%d) " fmt, __FUNCTION__, __LINE__ , ##__VA_ARGS__) | ||
52 | +#define JZSDK_LOG_INFO(fmt, ...) \ | ||
53 | + JZsdk_UserLogOutput(JZSDK_LOGGER_CONSOLE_LOG_LEVEL_INFO, "[%s:%d) " fmt, __FUNCTION__, __LINE__ , ##__VA_ARGS__) | ||
54 | +#define JZSDK_LOG_WARN(fmt, ...) \ | ||
55 | + JZsdk_UserLogOutput(JZSDK_LOGGER_CONSOLE_LOG_LEVEL_WARN, "[%s:%d) " fmt, __FUNCTION__, __LINE__ , ##__VA_ARGS__) | ||
56 | +#define JZSDK_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 | +#include <string.h> | ||
6 | + | ||
7 | + | ||
8 | +/* | ||
9 | +* 用于运行指令 | ||
10 | +* | ||
11 | +*/ | ||
12 | +int JZsdk_RunSystemCmd(char *systemCmd) | ||
13 | +{ | ||
14 | + //FILE *fp; | ||
15 | + | ||
16 | + //printf("JZsdk_RunSystemCmd:%s\n",systemCmd); | ||
17 | + | ||
18 | + // fp = popen(systemCmd, "r"); | ||
19 | + // if (fp == NULL) { | ||
20 | + // return -1; | ||
21 | + // } | ||
22 | + | ||
23 | + int status = system(systemCmd); | ||
24 | + if (status == -1 || WIFEXITED(status) == false) { | ||
25 | + printf("Call %s error, status = %d\n", systemCmd, status); | ||
26 | + return -1; | ||
27 | + } | ||
28 | + | ||
29 | + if (WEXITSTATUS(status) == 0) { | ||
30 | + printf("指令执行成功%s\n",systemCmd); | ||
31 | + return 0; | ||
32 | + } else { | ||
33 | + printf("Exit status is = %d", WEXITSTATUS(status)); | ||
34 | + return -2; | ||
35 | + } | ||
36 | + //pclose(fp); | ||
37 | + | ||
38 | + return 0; | ||
39 | +} | ||
40 | + | ||
41 | +/* | ||
42 | + | ||
43 | + 运行命令 并读取返回值 | ||
44 | + | ||
45 | +*/ | ||
46 | +// FILE* JZsdk_RunSystemCmd_ReturnFilePointer(char *systemCmd) | ||
47 | +// { | ||
48 | +// FILE *fp; | ||
49 | + | ||
50 | +// fp = popen(systemCmd, "r"); | ||
51 | + | ||
52 | +// pclose(fp); | ||
53 | + | ||
54 | +// return fp; | ||
55 | +// } | ||
56 | + | ||
57 | + | ||
58 | +int JZsdk_Socket() | ||
59 | +{ | ||
60 | + | ||
61 | +} | ||
62 | + | ||
63 | +//获取设备序列号 | ||
64 | +T_JZsdkReturnCode GetSerialNumber(char *SerialNumber) | ||
65 | +{ | ||
66 | + FILE *num_file; | ||
67 | + char num_char[15]; | ||
68 | + | ||
69 | + num_file = fopen("/root/num", "rb+"); | ||
70 | + if (num_file == NULL) | ||
71 | + { | ||
72 | + num_file = fopen("/root/num", "wb+"); | ||
73 | + if (num_file == NULL) | ||
74 | + { | ||
75 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
76 | + } | ||
77 | + } | ||
78 | + else | ||
79 | + { | ||
80 | + int ret = fseek(num_file, 0, SEEK_SET); | ||
81 | + if (ret != 0) { | ||
82 | + printf("Seek log count file error, ret: %d.\r\n", ret); | ||
83 | + } | ||
84 | + | ||
85 | + ret = fread((char *) &num_char,14, sizeof(char), num_file); | ||
86 | + if (ret != sizeof(char)) { | ||
87 | + printf("Read num file error.\r\n"); | ||
88 | + } | ||
89 | + else{ | ||
90 | + printf("Read num file=%s\n",&num_char); | ||
91 | + } | ||
92 | + } | ||
93 | + fclose(num_file); | ||
94 | + | ||
95 | + if (SerialNumber != NULL) | ||
96 | + { | ||
97 | + memcpy(SerialNumber, num_char, 14); | ||
98 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
99 | + } | ||
100 | + | ||
101 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
102 | +} |
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 | +#include "../JZsdk_Code/JZsdk_Code.h" | ||
15 | + | ||
16 | +#ifdef __cplusplus | ||
17 | +extern "C" { | ||
18 | +#endif | ||
19 | + | ||
20 | +/* Exported constants --------------------------------------------------------*/ | ||
21 | +/* 常亮定义*/ | ||
22 | +#define JZSDK_FILENAME_SIZE 128 | ||
23 | + | ||
24 | +/* Exported types ------------------------------------------------------------*/ | ||
25 | + | ||
26 | + | ||
27 | +/* Exported functions --------------------------------------------------------*/ | ||
28 | +int JZsdk_RunSystemCmd(char *systemCmd); | ||
29 | +//FILE* JZsdk_RunSystemCmd_ReturnFilePointer(char *systemCmd); | ||
30 | +T_JZsdkReturnCode GetSerialNumber(char *SerialNumber); | ||
31 | + | ||
32 | +#ifdef __cplusplus | ||
33 | +} | ||
34 | +#endif | ||
35 | + | ||
36 | +#endif | ||
37 | +/************************ (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_CheckStatus_GimbalAngle(int Uartport ,int FrameSequence) | ||
185 | +{ | ||
186 | + JZsdk_Uart_SendDeal_CheckStatus_GimbalAngle(Uartport, FrameSequence); | ||
187 | +} | ||
188 | + | ||
189 | +/************* | ||
190 | + * | ||
191 | + * 设置云台俯仰角度微调 | ||
192 | + * | ||
193 | + * **************/ | ||
194 | +int JZsdk_Uart_Send_SetGimbalFineTuningPitch(int Uartport,int angle) | ||
195 | +{ | ||
196 | + JZsdk_Uart_SendDeal_Set_GimbalFineTuningPitch(Uartport, angle); | ||
197 | +} | ||
198 | + | ||
199 | +/************* | ||
200 | + * | ||
201 | + * 查询云台微调角度 | ||
202 | + * | ||
203 | + * **************/ | ||
204 | +int JZsdk_Uart_Send_CheckStatus_GimbalFineTuningPitch(int Uartport,int FrameSequence) | ||
205 | +{ | ||
206 | + JZsdk_Uart_SendDeal_CheckStatus_GimbalFineTuningPitch(Uartport,FrameSequence); | ||
207 | +} | ||
208 | + | ||
209 | +/************* | ||
210 | + * | ||
211 | + * 发送云台俯仰微调值 | ||
212 | + * | ||
213 | + * **************/ | ||
214 | +int JZsdk_Uart_Send_GimbalFineTuningPitch(int Uartport,int FrameSequence, int Pitch) | ||
215 | +{ | ||
216 | + JZsdk_Uart_SendDeal_Reply_GimbalFineTuningPitch(Uartport,FrameSequence, Pitch); | ||
217 | +} | ||
218 | + | ||
219 | +/************* | ||
220 | + * | ||
221 | + * 设置云台联动 | ||
222 | + * | ||
223 | + * **************/ | ||
224 | +int JZsdk_Uart_Send_Set_GimbalLinkageControl(int Uartport,int FrameSequence, int value) | ||
225 | +{ | ||
226 | + JZsdk_Uart_SendDeal_Set_GimbalLinkageControl(Uartport,FrameSequence, value); | ||
227 | +} | ||
228 | + | ||
229 | +/************* | ||
230 | + * | ||
231 | + * 查询云台联动值 | ||
232 | + * | ||
233 | + * **************/ | ||
234 | +int JZsdk_Uart_Send_CheckStatus_GimbalLinkage(int Uartport,int FrameSequence) | ||
235 | +{ | ||
236 | + JZsdk_Uart_SendDeal_CheckStatus_GimbalLinkage(Uartport,FrameSequence); | ||
237 | +} | ||
238 | + | ||
239 | +/************* | ||
240 | + * | ||
241 | + * 发送云台联动值 | ||
242 | + * | ||
243 | + * **************/ | ||
244 | +int JZsdk_Uart_Send_GimbalLinkageControl(int Uartport,int FrameSequence, int value) | ||
245 | +{ | ||
246 | + JZsdk_Uart_SendDeal_GimbalLinkageControl(Uartport,FrameSequence,value); | ||
247 | +} | ||
248 | + | ||
249 | +/************* | ||
250 | + * | ||
251 | + * 设置云台最大最小值 | ||
252 | + * | ||
253 | + * **************/ | ||
254 | +int JZsdk_Uart_Send_SetGimbalRange(int Uartport,int FrameSequence, int value) | ||
255 | +{ | ||
256 | + JZsdk_Uart_SendDeal_SetGimbalRange(Uartport,FrameSequence,value); | ||
257 | +} | ||
258 | + | ||
259 | +/******************************************************************************************************************************* | ||
260 | + * | ||
261 | + * 探照灯部分 | ||
262 | + * | ||
263 | + * *******************************************************************************************************************************/ | ||
264 | + | ||
265 | +/************* | ||
266 | + * | ||
267 | + * 设置探照灯爆闪频率 | ||
268 | + * | ||
269 | + * **************/ | ||
270 | +int JZsdk_Uart_Send_SearchLight_SetFrequency(int Uartport,int Frequency) | ||
271 | +{ | ||
272 | + JZsdk_Uart_SendDeal_Set_SearchLightFrequency(Uartport ,Frequency); | ||
273 | +} | ||
274 | + | ||
275 | +/************* | ||
276 | + * | ||
277 | + * 探照灯控制 | ||
278 | + * | ||
279 | + * **************/ | ||
280 | +int JZsdk_Uart_Send_SearchLight_Control(int Uartport,int mode) | ||
281 | +{ | ||
282 | + JZsdk_Uart_SendDeal_SearchLight_Control(Uartport, mode); | ||
283 | +} | ||
284 | + | ||
285 | +/************* | ||
286 | + * | ||
287 | + * 探照灯亮度 | ||
288 | + * | ||
289 | + * **************/ | ||
290 | +int JZsdk_Uart_Send_SearchLight_SetLumen(int Uartport, int LeftLumen, int RightLumen) | ||
291 | +{ | ||
292 | + JZsdk_Uart_SendDeal_SearchLight_SetLumen(Uartport, LeftLumen, RightLumen); | ||
293 | +} | ||
294 | + | ||
295 | +/************* | ||
296 | + * | ||
297 | + * 查询爆闪频率 | ||
298 | + * | ||
299 | + * **************/ | ||
300 | +int JZsdk_Uart_Send_SearchLight_CheckStatus_Frequency(int Uartport) | ||
301 | +{ | ||
302 | + JZsdk_Uart_SendDeal_Set_SearchLight_CheckStatus_Frequency(Uartport); | ||
303 | +} | ||
304 | + | ||
305 | +/************* | ||
306 | + * | ||
307 | + * 查询探照灯亮度 | ||
308 | + * | ||
309 | + * **************/ | ||
310 | +int JZsdk_Uart_Send_SearchLight_CheckStatus_Lumen(int Uartport) | ||
311 | +{ | ||
312 | + JZsdk_Uart_SendDeal_Set_SearchLight_CheckStatus_Lumen(Uartport); | ||
313 | +} | ||
314 | + | ||
315 | +/************* | ||
316 | + * | ||
317 | + * 查询探照灯模式 | ||
318 | + * | ||
319 | + * **************/ | ||
320 | +int JZsdk_Uart_Send_SearchLight_CheckStatus_Mode(int Uartport) | ||
321 | +{ | ||
322 | + JZsdk_Uart_SendDeal_Set_SearchLight_CheckStatus_Mode(Uartport); | ||
323 | +} | ||
324 | + | ||
325 | +/************* | ||
326 | + * | ||
327 | + * 查询探照灯属性 | ||
328 | + * | ||
329 | + * **************/ | ||
330 | +int JZsdk_Uart_Send_SearchLight_CheckStatus_LightAttribute(int Uartport) | ||
331 | +{ | ||
332 | + JZsdk_Uart_SendDeal_CheckStatus_LightAttribute(Uartport); | ||
333 | +} | ||
334 | + | ||
335 | +/************* | ||
336 | + * | ||
337 | + * 查询探照灯温度 | ||
338 | + * | ||
339 | + * **************/ | ||
340 | +int JZsdk_Uart_Send_SearchLight_CheckStatus_SearchLightTemperture(int Uartport) | ||
341 | +{ | ||
342 | + JZsdk_Uart_SendDeal_CheckStatus_SearchLightTemperture(Uartport); | ||
343 | +} | ||
344 | + | ||
345 | + | ||
346 | +/************* | ||
347 | + * | ||
348 | + * 探照灯消息订阅 | ||
349 | + * | ||
350 | + * **************/ | ||
351 | +int JZsdk_Uart_Send_MessageSubcription_Control(int Uartport,int value) | ||
352 | +{ | ||
353 | + JZsdk_Uart_SendDeal_MessageSubcription_Control(Uartport, value); | ||
354 | +} | ||
355 | +/******************************************************************************************************************************* | ||
356 | + * | ||
357 | + * 警灯部分 | ||
358 | + * | ||
359 | + * *******************************************************************************************************************************/ | ||
360 | + | ||
361 | +/************* | ||
362 | + * | ||
363 | + * 设置警灯状态 | ||
364 | + * | ||
365 | + * **************/ | ||
366 | +int JZsdk_Uart_Send_Set_WarningLight_Status(int Uartport,int status, int mode) | ||
367 | +{ | ||
368 | + JZsdk_Uart_SendDeal_Set_WarningLight_Status(Uartport, status, mode); | ||
369 | +} | ||
370 | +/************* | ||
371 | + * | ||
372 | + * 设置警灯颜色 | ||
373 | + * | ||
374 | + * **************/ | ||
375 | +int JZsdk_Uart_Send_Set_WarningLight_Color(int Uartport,int color1, int color2) | ||
376 | +{ | ||
377 | + JZsdk_Uart_SendDeal_Set_WarningLight_Color(Uartport, color1, color2); | ||
378 | +} | ||
379 | + | ||
380 | +/******************************************************************************************************************************* | ||
381 | + * | ||
382 | + * 5B类部分 | ||
383 | + * | ||
384 | + * *******************************************************************************************************************************/ | ||
385 | +/************* | ||
386 | + * | ||
387 | + * 发送探照灯爆闪频率 | ||
388 | + * | ||
389 | + * **************/ | ||
390 | +int JZsdk_Uart_Send_SearchLight_Frequency(int Uartport,int value) | ||
391 | +{ | ||
392 | + JZsdk_Uart_SendDeal_SearchLight_Frequency(Uartport, value); | ||
393 | +} | ||
394 | + | ||
395 | +/************* | ||
396 | + * | ||
397 | + * 发送探照灯模式 | ||
398 | + * | ||
399 | + * **************/ | ||
400 | +int JZsdk_Uart_Send_SearchLight_Mode(int Uartport,int value) | ||
401 | +{ | ||
402 | + JZsdk_Uart_SendDeal_SearchLight_Mode(Uartport, value); | ||
403 | +} | ||
404 | + | ||
405 | +/************* | ||
406 | + * | ||
407 | + * 发送探照灯亮度 | ||
408 | + * | ||
409 | + * **************/ | ||
410 | +int JZsdk_Uart_Send_SearchLight_Lumen(int Uartport,int LeftLumen, int RightLumen) | ||
411 | +{ | ||
412 | + JZsdk_Uart_SendDeal_SearchLight_Lumen(Uartport, LeftLumen, RightLumen); | ||
413 | +} | ||
414 | + | ||
415 | +/************* | ||
416 | + * | ||
417 | + * 发送探照灯温度 | ||
418 | + * | ||
419 | + * **************/ | ||
420 | +int JZsdk_Uart_Send_SearchLight_Temperature(int Uartport,int LeftTemperature, int RightTemperature) | ||
421 | +{ | ||
422 | + JZsdk_Uart_SendDeal_SearchLight_Temperature(Uartport, LeftTemperature, RightTemperature); | ||
423 | +} | ||
424 | + | ||
425 | + | ||
426 | +/************* | ||
427 | + * | ||
428 | + * 发送对外供电电源的状态 | ||
429 | + * | ||
430 | + * **************/ | ||
431 | +int JZsdk_Uart_Send_OutputPowerStatus(int Uartport, int FrameSequence, int status) | ||
432 | +{ | ||
433 | + JZsdk_Uart_SendDeal_OutputPowerStatus(Uartport, FrameSequence, status); | ||
434 | +} | ||
435 | + | ||
436 | +/******************************************************************************************************************************* | ||
437 | + * | ||
438 | + * 警灯部分 | ||
439 | + * | ||
440 | + * *******************************************************************************************************************************/ | ||
441 | +/************* | ||
442 | + * | ||
443 | + * 发送警灯状态 | ||
444 | + * | ||
445 | + * **************/ | ||
446 | +int JZsdk_Uart_Send_WarningLight_Status(int Uartport, int status, int mode) | ||
447 | +{ | ||
448 | + JZsdk_Uart_SendDeal_WarningLight_Status(Uartport, status, mode); | ||
449 | +} | ||
450 | + | ||
451 | +/************* | ||
452 | + * | ||
453 | + * 发送警灯颜色 | ||
454 | + * | ||
455 | + * **************/ | ||
456 | +int JZsdk_Uart_Send_WarningLight_Color(int Uartport, int color1, int color2) | ||
457 | +{ | ||
458 | + JZsdk_Uart_SendDeal_WarningLight_Color(Uartport, color1, color2); | ||
459 | +} | ||
460 | + | ||
461 | + | ||
462 | +/************* | ||
463 | + * | ||
464 | + * 查询警灯状态 | ||
465 | + * | ||
466 | + * **************/ | ||
467 | +int JZsdk_Uart_Send_CheckStatus_WarningLightStatus(int Uartport) | ||
468 | +{ | ||
469 | + JZsdk_Uart_SendDeal_CheckStatus_WarningLightStatus(Uartport); | ||
470 | +} | ||
471 | + | ||
472 | + | ||
473 | +/************* | ||
474 | + * | ||
475 | + * 查询警灯颜色 | ||
476 | + * | ||
477 | + * **************/ | ||
478 | +int JZsdk_Uart_Send_CheckStatus_WarningLightColor(int Uartport) | ||
479 | +{ | ||
480 | + JZsdk_Uart_SendDeal_CheckStatus_WarningLightColor(Uartport); | ||
481 | +} |
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 | +int JZsdk_Uart_Send_CheckStatus_GimbalAngle(int Uartport ,int FrameSequence); | ||
47 | +int JZsdk_Uart_Send_SetGimbalRange(int Uartport,int FrameSequence, int value); | ||
48 | + | ||
49 | +int JZsdk_Uart_Send_SearchLight_SetFrequency(int Uartport,int Frequency); | ||
50 | +int JZsdk_Uart_Send_SearchLight_Control(int Uartport,int mode); | ||
51 | +int JZsdk_Uart_Send_SearchLight_SetLumen(int Uartport, int LeftLumen, int RightLumen); | ||
52 | + | ||
53 | +int JZsdk_Uart_Send_MessageSubcription_Control(int Uartport,int value); | ||
54 | + | ||
55 | +int JZsdk_Uart_Send_Set_WarningLight_Status(int Uartport,int status, int mode); | ||
56 | +int JZsdk_Uart_Send_Set_WarningLight_Color(int Uartport,int color1, int color2); | ||
57 | + | ||
58 | +int JZsdk_Uart_Send_SearchLight_CheckStatus_Frequency(int Uartport); | ||
59 | +int JZsdk_Uart_Send_SearchLight_CheckStatus_Lumen(int Uartport); | ||
60 | +int JZsdk_Uart_Send_SearchLight_CheckStatus_Mode(int Uartport); | ||
61 | +int JZsdk_Uart_Send_SearchLight_CheckStatus_LightAttribute(int Uartport); | ||
62 | +int JZsdk_Uart_Send_SearchLight_CheckStatus_SearchLightTemperture(int Uartport); | ||
63 | + | ||
64 | +int JZsdk_Uart_Send_SearchLight_Frequency(int Uartport,int value); | ||
65 | +int JZsdk_Uart_Send_SearchLight_Mode(int Uartport,int value); | ||
66 | +int JZsdk_Uart_Send_SearchLight_Lumen(int Uartport,int LeftLumen, int RightLumen); | ||
67 | +int JZsdk_Uart_Send_SearchLight_Temperature(int Uartport,int LeftTemperature, int RightTemperature); | ||
68 | + | ||
69 | + | ||
70 | +int JZsdk_Uart_Send_WarningLight_Status(int Uartport, int status, int mode); | ||
71 | +int JZsdk_Uart_Send_WarningLight_Color(int Uartport, int color1, int color2); | ||
72 | +int JZsdk_Uart_Send_CheckStatus_WarningLightStatus(int Uartport); | ||
73 | +int JZsdk_Uart_Send_CheckStatus_WarningLightColor(int Uartport); | ||
74 | + | ||
75 | + | ||
76 | +int JZsdk_Uart_Send_OutputPowerStatus(int Uartport, int FrameSequence, int status); | ||
77 | + | ||
78 | + | ||
79 | +#ifdef __cplusplus | ||
80 | +} | ||
81 | +#endif | ||
82 | + | ||
83 | +#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 | +#include "JZsdkLib.h" | ||
17 | + | ||
18 | +static int SecondaryDeviceName = 0x00; // 从设备名,用于多设备相连时通知控制端 从机设备名 | ||
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 | + * 1、TTS播放 | ||
43 | + * | ||
44 | + * *********/ | ||
45 | +T_JZsdkReturnCode JZsdk_Uart_TTS_Play(int DeviceName, char *data, int len) | ||
46 | +{ | ||
47 | + return UIcontrol_TTS_Play(DeviceName, data, len); | ||
48 | +} | ||
49 | + | ||
50 | +/********* | ||
51 | + * | ||
52 | + * 2、TTS设置音色 | ||
53 | + * | ||
54 | + * *********/ | ||
55 | +T_JZsdkReturnCode JZsdk_Uart_TTS_SetTone(int DeviceName, int tone) | ||
56 | +{ | ||
57 | + return UIcontrol_Set_TTS_tone(DeviceName, tone); | ||
58 | +} | ||
59 | + | ||
60 | +/********* | ||
61 | + * | ||
62 | + * 3、TTS设置语速 | ||
63 | + * | ||
64 | + * *********/ | ||
65 | +T_JZsdkReturnCode JZsdk_Uart_TTS_SetSpeed(int DeviceName, int speed) | ||
66 | +{ | ||
67 | + return UIcontrol_Set_TTS_speed(DeviceName, speed); | ||
68 | +} | ||
69 | + | ||
70 | +/********* | ||
71 | + * | ||
72 | + * 刷新歌曲列表 | ||
73 | + * | ||
74 | + * | ||
75 | + **********/ | ||
76 | +int JZsdk_Uart_Flush_MusicList() | ||
77 | +{ | ||
78 | + Megaphone_Flush_MusicList(); | ||
79 | +} | ||
80 | +/********* | ||
81 | + * | ||
82 | + * 获取音乐总数 | ||
83 | + * | ||
84 | + * | ||
85 | + **********/ | ||
86 | +int JZsdk_Uart_get_music_list_sum() | ||
87 | +{ | ||
88 | + return Megaphone_get_music_list_sum(); | ||
89 | +} | ||
90 | +/********* | ||
91 | + * | ||
92 | + * 获取音乐名 | ||
93 | + * | ||
94 | + * | ||
95 | + **********/ | ||
96 | +int JZsdk_Uart_get_music_list_name(int num, char *music_name, int *music_name_length) | ||
97 | +{ | ||
98 | + return Megaphone_get_music_list_name(num, music_name, music_name_length); | ||
99 | +} | ||
100 | + | ||
101 | +/********* | ||
102 | + * | ||
103 | + * 查询音量 | ||
104 | + * | ||
105 | + * | ||
106 | + **********/ | ||
107 | +int JZsdk_Uart_CheckStatus_volume() | ||
108 | +{ | ||
109 | + return Megaphone_get_music_volume(); | ||
110 | +} | ||
111 | +/********* | ||
112 | + * | ||
113 | + * 查询播放状态 | ||
114 | + * | ||
115 | + * | ||
116 | + **********/ | ||
117 | +int JZsdk_Uart_CheckStatus_play() | ||
118 | +{ | ||
119 | + return Megaphone_get_play_status(); | ||
120 | +} | ||
121 | +/********* | ||
122 | + * | ||
123 | + * 查询云台角度 | ||
124 | + * | ||
125 | + * | ||
126 | + **********/ | ||
127 | +int JZsdk_Uart_CheckStatus_gimbal(int *PitchAngle, int *YawAngle) | ||
128 | +{ | ||
129 | + UIcontrol_CheckStatus_GimbalAngle(PitchAngle, YawAngle); | ||
130 | +} | ||
131 | +/********* | ||
132 | + * | ||
133 | + * 查询云台微调值 | ||
134 | + * | ||
135 | + * | ||
136 | + **********/ | ||
137 | +T_JZsdkReturnCode JZsdk_Uart_CheckStatus_GimbalFineTuning(int DeviceName, int FrameSequence) | ||
138 | +{ | ||
139 | + // 查询云台微调 | ||
140 | + printf("查询云台微调值\n"); | ||
141 | + | ||
142 | + // 1、查询本地云台微调 | ||
143 | + int FineTunigPitch, FineTunigYaw; | ||
144 | + int ret = UIcontrol_CheckStatus_GimbalPitchFineTuning(&FineTunigPitch, &FineTunigYaw); | ||
145 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
146 | + { | ||
147 | + // 回复操作失败 | ||
148 | + JZsdk_Uart_SendDeal_Reply_Failure(DeviceName, FrameSequence); | ||
149 | + return ret; | ||
150 | + } | ||
151 | + | ||
152 | + // 2、发送本地云台微调 | ||
153 | + JZsdk_Uart_SendDeal_Reply_GimbalFineTuningPitch(DeviceName, FrameSequence, FineTunigPitch); | ||
154 | +} | ||
155 | + | ||
156 | +/********* | ||
157 | + * | ||
158 | + * 查询播放文件名 | ||
159 | + * | ||
160 | + * | ||
161 | + **********/ | ||
162 | +int JZsdk_Uart_CheckStatus_PlayFileName(char *music_name, int *music_name_len) | ||
163 | +{ | ||
164 | + Megaphone_get_play_FileName(music_name, music_name_len); | ||
165 | +} | ||
166 | +/********* | ||
167 | + * | ||
168 | + * 查询软件版本号 | ||
169 | + * | ||
170 | + * | ||
171 | + **********/ | ||
172 | +int JZsdk_Uart_CheckStatus_SoftwareVersion(char *majorVersion, char *minorVersion, char *modifyVersion, char *debugVersion) | ||
173 | +{ | ||
174 | + *majorVersion = MAJOR_VERSION; | ||
175 | + *minorVersion = MINOR_VERSION; | ||
176 | + *modifyVersion = MODIFY_VERSION; | ||
177 | + *debugVersion = DEBUG_VERSION; | ||
178 | +} | ||
179 | +/********* | ||
180 | + * | ||
181 | + * 查询是否打开循环 | ||
182 | + * | ||
183 | + * | ||
184 | + **********/ | ||
185 | +int JZsdk_Uart_CheckStatus_LoopPlay() | ||
186 | +{ | ||
187 | + | ||
188 | + return Megaphone_Get_LoopPlay(); | ||
189 | +} | ||
190 | +/********* | ||
191 | + * | ||
192 | + * 查询音色 | ||
193 | + * | ||
194 | + * | ||
195 | + **********/ | ||
196 | +int JZsdk_Uart_CheckStatus_TTS_tone() | ||
197 | +{ | ||
198 | + | ||
199 | + return Megaphone_Get_TTS_tone(); | ||
200 | +} | ||
201 | +/********* | ||
202 | + * | ||
203 | + * 查询语速 | ||
204 | + * | ||
205 | + * | ||
206 | + **********/ | ||
207 | +int JZsdk_Uart_CheckStatus_TTS_speed() | ||
208 | +{ | ||
209 | + | ||
210 | + return Megaphone_Get_TTS_speed(); | ||
211 | +} | ||
212 | + | ||
213 | +/*** | ||
214 | + * | ||
215 | + * | ||
216 | + * 播放歌曲 | ||
217 | + * | ||
218 | + * ***/ | ||
219 | +T_JZsdkReturnCode JZsdk_Uart_PlayMusic(int DeviceName, char *music_name, int datasize) | ||
220 | +{ | ||
221 | + return UIcontrol_PlayAudioFile(DeviceName, music_name, datasize); | ||
222 | +} | ||
223 | + | ||
224 | +/********* | ||
225 | + * | ||
226 | + * 音频继续播放 | ||
227 | + * | ||
228 | + * | ||
229 | + **********/ | ||
230 | +T_JZsdkReturnCode JZsdk_Uart_audio_PlayContinue(int DeviceName) | ||
231 | +{ | ||
232 | + return UIcontrol_ContinuePlayAudio(DeviceName); | ||
233 | +} | ||
234 | +/********* | ||
235 | + * | ||
236 | + * 音频暂停播放 | ||
237 | + * | ||
238 | + * | ||
239 | + **********/ | ||
240 | +T_JZsdkReturnCode JZsdk_Uart_audio_PlayPause(int DeviceName) | ||
241 | +{ | ||
242 | + return UIcontrol_PausePlayAudio(DeviceName); | ||
243 | +} | ||
244 | +/********* | ||
245 | + * | ||
246 | + * 音频停止播放 | ||
247 | + * | ||
248 | + * | ||
249 | + **********/ | ||
250 | +T_JZsdkReturnCode JZsdk_Uart_audio_PlayStop(int DeviceName) | ||
251 | +{ | ||
252 | + return UIcontrol_StopPlayAudio(DeviceName); | ||
253 | +} | ||
254 | + | ||
255 | +/********* | ||
256 | + * | ||
257 | + * 音频上一曲 | ||
258 | + * | ||
259 | + * | ||
260 | + **********/ | ||
261 | +T_JZsdkReturnCode JZsdk_Uart_audio_LastSong(int DeviceName) | ||
262 | +{ | ||
263 | + return UIcontrol_LastSong(DeviceName); | ||
264 | +} | ||
265 | + | ||
266 | +/********* | ||
267 | + * | ||
268 | + * 音频下一曲 | ||
269 | + * | ||
270 | + * | ||
271 | + **********/ | ||
272 | +T_JZsdkReturnCode JZsdk_Uart_audio_NextSong(int DeviceName) | ||
273 | +{ | ||
274 | + return UIcontrol_NextSong(DeviceName); | ||
275 | +} | ||
276 | + | ||
277 | +/********* | ||
278 | + * | ||
279 | + * 12、循环播放 | ||
280 | + * | ||
281 | + * | ||
282 | + **********/ | ||
283 | +T_JZsdkReturnCode JZsdk_Uart_audio_PlayLoop(int DeviceName, int mode) | ||
284 | +{ | ||
285 | + return UIcontrol_Set_AudioPlayLoop(DeviceName, mode); | ||
286 | +} | ||
287 | + | ||
288 | +/**************************************************************************************************************************************************** | ||
289 | + * | ||
290 | + * 录音opus 接口部分 | ||
291 | + * | ||
292 | + ****************************************************************************************************************************************************/ | ||
293 | + | ||
294 | +/********* | ||
295 | + * | ||
296 | + * 播放固定位置的opus音频 | ||
297 | + * | ||
298 | + * | ||
299 | + **********/ | ||
300 | +T_JZsdkReturnCode JZsdk_Uart_Opus_PlayFixedFile(int DeviceName) | ||
301 | +{ | ||
302 | + return UIcontrol_Opus_PlayFixedFile(DeviceName); | ||
303 | +} | ||
304 | + | ||
305 | +/* | ||
306 | + * | ||
307 | + * 存储opus文件开始 | ||
308 | + * | ||
309 | + */ | ||
310 | +int JZsdk_Uart_SaveOpusStart(int decode_rate) | ||
311 | +{ | ||
312 | + Megaphone_SaveOpusStart(decode_rate); | ||
313 | +} | ||
314 | + | ||
315 | +/* | ||
316 | + * | ||
317 | + * 存储opus文件中 | ||
318 | + * | ||
319 | + */ | ||
320 | +int JZsdk_Uart_SaveOpusTrans(char *SaveData, int size) | ||
321 | +{ | ||
322 | + Megaphone_SaveOpusTrans(SaveData, size); | ||
323 | +} | ||
324 | + | ||
325 | +/* | ||
326 | + * | ||
327 | + * 存储opus文件结束 | ||
328 | + * | ||
329 | + */ | ||
330 | +int JZsdk_Uart_SaveOpusStop() | ||
331 | +{ | ||
332 | + Megaphone_SaveOpusStop(); | ||
333 | +} | ||
334 | + | ||
335 | +/**************************************************************************************************************************************************** | ||
336 | + * | ||
337 | + * 实时喊话opus 接口部分 | ||
338 | + * | ||
339 | + ****************************************************************************************************************************************************/ | ||
340 | +int JZsdk_Uart_RealTimeVoiceStart(int decode_rate) | ||
341 | +{ | ||
342 | + Megaphone_RealTimeVoice_Start(decode_rate); | ||
343 | +} | ||
344 | + | ||
345 | +int JZsdk_Uart_RealTimeVoiceTrans(char *data, int length) | ||
346 | +{ | ||
347 | + Megaphone_RealTimeVoice_Trans(data, length); | ||
348 | +} | ||
349 | + | ||
350 | +int JZsdk_Uart_RealTimeVoiceClose() | ||
351 | +{ | ||
352 | + Megaphone_RealTimeVoice_Close(); | ||
353 | +} | ||
354 | + | ||
355 | +/**************************************************************************************************************************************************** | ||
356 | + * | ||
357 | + * 实时MP2 接口部分 | ||
358 | + * | ||
359 | + ****************************************************************************************************************************************************/ | ||
360 | +T_JZsdkReturnCode JZsdk_Uart_RealTimeMP2_start(int decode_rate) | ||
361 | +{ | ||
362 | + return Megaphone_RealTimeMP2_start(); | ||
363 | +} | ||
364 | + | ||
365 | +T_JZsdkReturnCode JZsdk_Uart_RealTimeMP2_Trans(unsigned char *data, int length) | ||
366 | +{ | ||
367 | + return Megaphone_RealTimeMP2_trans(data, length); | ||
368 | +} | ||
369 | + | ||
370 | +T_JZsdkReturnCode JZsdk_Uart_RealTimeMP2_Close() | ||
371 | +{ | ||
372 | + Megaphone_RealTimeMP2_stop(); | ||
373 | +} | ||
374 | + | ||
375 | +/**************************************************************************************************************************************************** | ||
376 | + * | ||
377 | + * 云台部分 | ||
378 | + * | ||
379 | + ****************************************************************************************************************************************************/ | ||
380 | + | ||
381 | +/********* | ||
382 | + * | ||
383 | + * 云台俯仰控制 | ||
384 | + * | ||
385 | + * | ||
386 | + **********/ | ||
387 | +T_JZsdkReturnCode JZsdk_Uart_Gimbal_PitchControl(int DeviceName, int Gimbal_angle) | ||
388 | +{ | ||
389 | + return UIcontrol_Set_GimbalPitchAngle(DeviceName, Gimbal_angle); | ||
390 | +} | ||
391 | + | ||
392 | +/********* | ||
393 | + * | ||
394 | + * 云台俯仰微调角度 | ||
395 | + * | ||
396 | + * | ||
397 | + **********/ | ||
398 | +T_JZsdkReturnCode JZsdk_Uart_Gimbal_PitchFineTuningControl(int DeviceName, int FrameSequence, int Gimbal_angle) | ||
399 | +{ | ||
400 | + T_JZsdkReturnCode ret = UIcontrol_Set_GimbalPitchFineTuning(DeviceName, Gimbal_angle); | ||
401 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
402 | + { | ||
403 | + // 回复操作成功 | ||
404 | + JZsdk_Uart_SendDeal_Reply_Sucesss(DeviceName, FrameSequence); | ||
405 | + } | ||
406 | + else | ||
407 | + { | ||
408 | + // 回复操作失败 | ||
409 | + JZsdk_Uart_SendDeal_Reply_Failure(DeviceName, FrameSequence); | ||
410 | + } | ||
411 | +} | ||
412 | + | ||
413 | +/**************************************************************************************************************************************************** | ||
414 | + * | ||
415 | + * 探照灯部分 | ||
416 | + * | ||
417 | + ****************************************************************************************************************************************************/ | ||
418 | +/********* | ||
419 | + * | ||
420 | + * 探照灯爆闪频率控制 | ||
421 | + * | ||
422 | + * | ||
423 | + **********/ | ||
424 | +T_JZsdkReturnCode JZsdk_Uart_Lighting_SetSearchLightFrequency(int DeviceName, int Frequency) | ||
425 | +{ | ||
426 | + return UIcontrol_Set_SearchLightFrequency(DeviceName, Frequency); | ||
427 | +} | ||
428 | + | ||
429 | +/********* | ||
430 | + * | ||
431 | + * 灯光模式控制 | ||
432 | + * | ||
433 | + **********/ | ||
434 | +T_JZsdkReturnCode JZsdk_Uart_SearchLight_Control(int DeviceName, int mode) | ||
435 | +{ | ||
436 | + return UIcontrol_SearchLightControl(DeviceName, mode); | ||
437 | +} | ||
438 | + | ||
439 | +/********* | ||
440 | + * | ||
441 | + * 灯光亮度 | ||
442 | + * | ||
443 | + **********/ | ||
444 | +T_JZsdkReturnCode JZsdk_Uart_SearchLight_Lumen(int DeviceName, int LeftLumen, int RightLumen) | ||
445 | +{ | ||
446 | + return UIcontrol_Set_SearchLightLumen(DeviceName, LeftLumen, RightLumen); | ||
447 | +} | ||
448 | + | ||
449 | +/********* | ||
450 | + * | ||
451 | + * 灯光属性查询 | ||
452 | + * | ||
453 | + **********/ | ||
454 | +T_JZsdkReturnCode JZsdk_Uart_CheckStatus_SearchLightLightAttribute(int DeviceName, int FrameSequence) | ||
455 | +{ | ||
456 | + // 1、查询灯光属性 | ||
457 | + int Light_Frequency; | ||
458 | + int Light_Mode; | ||
459 | + int Light_LeftLumen; | ||
460 | + int Light_RightLumen; | ||
461 | + T_JZsdkReturnCode ret = UIcontrol_CheckStatus_SearchLightLightAttribute(&Light_Frequency, &Light_Mode, &Light_LeftLumen, &Light_RightLumen); | ||
462 | + | ||
463 | + // 2、回复灯光属性 | ||
464 | + JZsdk_Uart_SendDeal_SearchLight_Frequency(DeviceName, Light_Frequency); | ||
465 | + JZsdk_Uart_SendDeal_SearchLight_Mode(DeviceName, Light_Mode); | ||
466 | + JZsdk_Uart_SendDeal_SearchLight_Lumen(DeviceName, Light_LeftLumen, Light_RightLumen); | ||
467 | +} | ||
468 | + | ||
469 | +/********* | ||
470 | + * | ||
471 | + * 灯光温度查询 | ||
472 | + * | ||
473 | + **********/ | ||
474 | +T_JZsdkReturnCode JZsdk_Uart_CheckStatus_SearchLightTemperture(int DeviceName, int FrameSequence) | ||
475 | +{ | ||
476 | + // 1、查询灯光温度 | ||
477 | + int Light_LeftTemperature; | ||
478 | + int Light_RightTemperature; | ||
479 | + T_JZsdkReturnCode ret = UIcontrol_CheckStatus_SearchLightTemperture(&Light_LeftTemperature, &Light_RightTemperature); | ||
480 | + | ||
481 | + // 2、回复灯光温度 | ||
482 | + JZsdk_Uart_SendDeal_SearchLight_Temperature(DeviceName, Light_LeftTemperature, Light_RightTemperature); | ||
483 | +} | ||
484 | + | ||
485 | +/********* | ||
486 | + * | ||
487 | + * 灯光消息订阅控制 | ||
488 | + * | ||
489 | + **********/ | ||
490 | +T_JZsdkReturnCode JZsdk_Uart_SearchLight_SubscriptionControl(int DeviceName, int value) | ||
491 | +{ | ||
492 | + if (DeviceName == UART_DEV_2) | ||
493 | + { | ||
494 | + JZsdk_Uart_SendDeal_MessageSubcription_Control(UART_DEV_1, value); | ||
495 | + } | ||
496 | + else if (DeviceName == UART_DEV_1) | ||
497 | + { | ||
498 | + JZsdk_Uart_SendDeal_MessageSubcription_Control(UART_DEV_2, value); | ||
499 | + } | ||
500 | + | ||
501 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
502 | +} | ||
503 | + | ||
504 | +/********* | ||
505 | + * | ||
506 | + * 警灯模式控制 | ||
507 | + * | ||
508 | + **********/ | ||
509 | +T_JZsdkReturnCode JZsdk_Uart_WarningLight_ModeControl(int DeviceName, int status, int mode) | ||
510 | +{ | ||
511 | + return UIcontrol_Set_WarningLight_ModeControl(DeviceName, status, mode); | ||
512 | +} | ||
513 | + | ||
514 | +/********* | ||
515 | + * | ||
516 | + * 警灯颜色控制 | ||
517 | + * | ||
518 | + **********/ | ||
519 | +T_JZsdkReturnCode JZsdk_Uart_WarningLight_SetColor(int DeviceName, int color1, int color2) | ||
520 | +{ | ||
521 | + return UIcontrol_Set_WarningLight_Color(DeviceName, color1, color2); | ||
522 | +} | ||
523 | + | ||
524 | +/********* | ||
525 | + * | ||
526 | + * 警灯状态查询 | ||
527 | + * | ||
528 | + **********/ | ||
529 | +T_JZsdkReturnCode JZsdk_Uart_CheckStatus_WarningLightStatus(int DeviceName, int FrameSequence) | ||
530 | +{ | ||
531 | + // 1、查询警灯状态查询 | ||
532 | + int status; | ||
533 | + int Mode; | ||
534 | + T_JZsdkReturnCode ret = UIcontrol_CheckStatus_WarningLightStatus(&status, &Mode); | ||
535 | + | ||
536 | + // 2、回复警灯状态查询 | ||
537 | + JZsdk_Uart_SendDeal_WarningLight_Status(DeviceName, status, Mode); | ||
538 | +} | ||
539 | + | ||
540 | +/********* | ||
541 | + * | ||
542 | + * 警灯颜色查询 | ||
543 | + * | ||
544 | + **********/ | ||
545 | +T_JZsdkReturnCode JZsdk_Uart_CheckStatus_WarningLightColor(int DeviceName, int FrameSequence) | ||
546 | +{ | ||
547 | + // 1、查询灯光温度 | ||
548 | + int color1; | ||
549 | + int color2; | ||
550 | + | ||
551 | + T_JZsdkReturnCode ret = UIcontrol_CheckStatus_WarningLightColor(&color1, &color2); | ||
552 | + | ||
553 | + // 2、回复警灯颜色 | ||
554 | + JZsdk_Uart_SendDeal_WarningLight_Color(DeviceName, color1, color2); | ||
555 | +} | ||
556 | + | ||
557 | +/* | ||
558 | + * | ||
559 | + * 获取本地主设备名 | ||
560 | + * | ||
561 | + */ | ||
562 | +int JZsdk_Uart_GetVersionReplay() | ||
563 | +{ | ||
564 | + switch (DEVICE_VERSION) | ||
565 | + { | ||
566 | + case JZ_H1E: | ||
567 | + return 0x11; | ||
568 | + break; | ||
569 | + | ||
570 | + case JZ_H150S: | ||
571 | + return 0x13; | ||
572 | + break; | ||
573 | + | ||
574 | + case JZ_H150T: | ||
575 | + return 0x15; | ||
576 | + break; | ||
577 | + | ||
578 | + case JZ_H10: | ||
579 | + return 0x12; | ||
580 | + break; | ||
581 | + case JZ_H10T: | ||
582 | + return 0x14; | ||
583 | + break; | ||
584 | + | ||
585 | + case JZ_H1T: | ||
586 | + return 0x16; | ||
587 | + break; | ||
588 | + | ||
589 | + case JZ_U3: | ||
590 | + return 0x17; | ||
591 | + break; | ||
592 | + | ||
593 | + default: | ||
594 | + return 0x00; | ||
595 | + break; | ||
596 | + }; | ||
597 | +} | ||
598 | + | ||
599 | +/* | ||
600 | + * | ||
601 | + * 设置工作模式 | ||
602 | + * | ||
603 | + */ | ||
604 | +int JZsdk_Uart_SetMainWorkMode(int mode) | ||
605 | +{ | ||
606 | + Main_WorkModeSet(mode); | ||
607 | +} | ||
608 | + | ||
609 | +/* | ||
610 | + * | ||
611 | + * 查询序列号 | ||
612 | + * | ||
613 | + */ | ||
614 | +T_JZsdkReturnCode JZsdk_Uart_CheckStatus_SerialNumber(int UartPort, int FrameSequence) | ||
615 | +{ | ||
616 | + // 1、获取序列号 | ||
617 | + char SerialNum[14]; | ||
618 | + T_JZsdkReturnCode ret = GetSerialNumber(SerialNum); | ||
619 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
620 | + { | ||
621 | + JZSDK_LOG_ERROR("获取序列号失败"); | ||
622 | + | ||
623 | + JZsdk_Uart_SendDeal_Reply_Failure(UartPort, FrameSequence); | ||
624 | + | ||
625 | + return ret; | ||
626 | + } | ||
627 | + | ||
628 | + // 2、发送序列号 | ||
629 | + JZsdk_Uart_SendDeal_SerialNumber(UartPort, FrameSequence, SerialNum); | ||
630 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
631 | +} | ||
632 | + | ||
633 | +/**************************************************************************************************************************************************** | ||
634 | + * | ||
635 | + * AudioFile 接口部分 | ||
636 | + * | ||
637 | + ****************************************************************************************************************************************************/ | ||
638 | +/* | ||
639 | +1、开始传输的音频文件保存 | ||
640 | +2、存储音频文件中 | ||
641 | +3、存储音频文件结束 | ||
642 | +*/ | ||
643 | +/********* | ||
644 | + * | ||
645 | + * 1、开始传输的音频文件保存 | ||
646 | + * | ||
647 | + * | ||
648 | + **********/ | ||
649 | +T_JZsdkReturnCode JZsdk_Uart_SaveAudioFileStart(char *FileName) | ||
650 | +{ | ||
651 | + return Megaphone_SaveAudioFileStart(FileName); | ||
652 | +} | ||
653 | + | ||
654 | +/* | ||
655 | + * | ||
656 | + * 2、存储音频文件中 | ||
657 | + * | ||
658 | + */ | ||
659 | +int JZsdk_Uart_SaveAudioFileTrans(char *SaveData, int size) | ||
660 | +{ | ||
661 | + Megaphone_SaveAudioFileTrans(SaveData, size); | ||
662 | +} | ||
663 | + | ||
664 | +/* | ||
665 | + * | ||
666 | + * 3、存储音频文件结束 | ||
667 | + * | ||
668 | + */ | ||
669 | +int JZsdk_Uart_SaveAudioFileStop() | ||
670 | +{ | ||
671 | + Megaphone_SaveAudioFileStop(); | ||
672 | +} | ||
673 | + | ||
674 | +/**************************************************************************************************************************************************** | ||
675 | + * | ||
676 | + * 对外供电部分 | ||
677 | + * | ||
678 | + ****************************************************************************************************************************************************/ | ||
679 | +/********* | ||
680 | + * | ||
681 | + * 对外供电开关 | ||
682 | + * | ||
683 | + **********/ | ||
684 | +T_JZsdkReturnCode JZsdk_Uart_OutPutPower_Control(int DeviceName, int FrameSequence, int Value) | ||
685 | +{ | ||
686 | + //1、设置本地的值 | ||
687 | + T_JZsdkReturnCode ret = UIcontrol_Set_OutPutPower_Control(DeviceName, Value); | ||
688 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
689 | + { | ||
690 | + JZsdk_Uart_SendDeal_Reply_Failure(DeviceName, FrameSequence); | ||
691 | + } | ||
692 | + | ||
693 | + //2、回复操作成功 | ||
694 | + JZsdk_Uart_SendDeal_Reply_Sucesss(DeviceName, FrameSequence); | ||
695 | +} | ||
696 | + | ||
697 | +/********* | ||
698 | + * | ||
699 | + * 对外电源查询 | ||
700 | + * | ||
701 | + **********/ | ||
702 | +T_JZsdkReturnCode JZsdk_Uart_Checkstatus_OutPutPower(int DeviceName, int FrameSequence) | ||
703 | +{ | ||
704 | + int OutPutPowerValue = JZ_FLAGCODE_OFF; | ||
705 | + | ||
706 | + //1、获取电源值 | ||
707 | + T_JZsdkReturnCode ret = UIcontrol_CheckStatus_OutPutPowerValue(&OutPutPowerValue); | ||
708 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
709 | + { | ||
710 | + JZsdk_Uart_SendDeal_Reply_Failure(DeviceName, FrameSequence); | ||
711 | + } | ||
712 | + | ||
713 | + //2、发送电源值 | ||
714 | + JZsdk_Uart_SendDeal_OutputPowerStatus(DeviceName, FrameSequence, OutPutPowerValue); | ||
715 | +} | ||
716 | + | ||
717 | + | ||
718 | +/******************************************************************************************************** | ||
719 | +********* ********| | ||
720 | +********* ********| | ||
721 | +********* ********| | ||
722 | +********* ********| | ||
723 | +********* ********| | ||
724 | +********* 5B类部分 ********| | ||
725 | +********* ********| | ||
726 | +********* ********| | ||
727 | +********* ********| | ||
728 | +********* ********| | ||
729 | +********* ********| | ||
730 | +*********************************************************************************************************/ | ||
731 | + | ||
732 | +/******************************************************************************************************************************* | ||
733 | + * | ||
734 | + * 灯光部分 | ||
735 | + * | ||
736 | + * *****************************************************************************************************************************/ | ||
737 | +/********* | ||
738 | + * | ||
739 | + * 收到灯光频率 | ||
740 | + * | ||
741 | + **********/ | ||
742 | +T_JZsdkReturnCode JZsdl_Uart_ObtainSearchLight_Frequency(int DeviceName, int Frequency) | ||
743 | +{ | ||
744 | + UIcontrol_ObtainSearchLight_Frequency(DeviceName, Frequency); | ||
745 | +} | ||
746 | + | ||
747 | +/********* | ||
748 | + * | ||
749 | + * 收到灯光模式 | ||
750 | + * | ||
751 | + **********/ | ||
752 | +T_JZsdkReturnCode JZsdl_Uart_ObtainSearchLight_Mode(int DeviceName, int mode) | ||
753 | +{ | ||
754 | + UIcontrol_ObtainSearchLight_Mode(DeviceName, mode); | ||
755 | +} | ||
756 | + | ||
757 | +/********* | ||
758 | + * | ||
759 | + * 收到灯光亮度 | ||
760 | + * | ||
761 | + **********/ | ||
762 | +T_JZsdkReturnCode JZsdl_Uart_ObtainSearchLight_Lumen(int DeviceName, int LeftLumen, int RightLumen) | ||
763 | +{ | ||
764 | + UIcontrol_ObtainSearchLight_Lumen(DeviceName, LeftLumen, RightLumen); | ||
765 | +} | ||
766 | + | ||
767 | +/********* | ||
768 | + * | ||
769 | + * 收到探照灯温度 | ||
770 | + * | ||
771 | + **********/ | ||
772 | +T_JZsdkReturnCode JZsdl_Uart_ObtainSearchLight_Temperature(int DeviceName, int LeftTemperature, int RightTemperature) | ||
773 | +{ | ||
774 | + UIcontrol_ObtainSearchLight_Temperature(DeviceName, LeftTemperature, RightTemperature); | ||
775 | +} | ||
776 | + | ||
777 | +/******************************************************************************************************************************* | ||
778 | + * | ||
779 | + * 云台部分 | ||
780 | + * | ||
781 | + * *****************************************************************************************************************************/ | ||
782 | +/********* | ||
783 | + * | ||
784 | + * 收到云台俯仰 | ||
785 | + * | ||
786 | + **********/ | ||
787 | +T_JZsdkReturnCode JZsdl_Uart_RecvDeal_ObtainGimbal_Pitch(int DeviceName, int pitch) | ||
788 | +{ | ||
789 | + UIcontrol_ObtainGimbal_Pitch(DeviceName, pitch); | ||
790 | +} | ||
791 | + | ||
792 | +/********* | ||
793 | + * | ||
794 | + * 收到云台航向 | ||
795 | + * | ||
796 | + **********/ | ||
797 | +T_JZsdkReturnCode JZsdl_Uart_RecvDeal_ObtainGimbal_Yaw(int DeviceName, int yaw) | ||
798 | +{ | ||
799 | +} | ||
800 | + | ||
801 | +/********* | ||
802 | + * | ||
803 | + * 收到云台俯仰微调值 | ||
804 | + * | ||
805 | + **********/ | ||
806 | +T_JZsdkReturnCode JZsdl_Uart_ObtainGimbalPitchFineTuning(int DeviceName, int FrameSequence, int pitch) | ||
807 | +{ | ||
808 | + printf("收到云台俯仰微调值\n"); | ||
809 | + | ||
810 | + // 2、发送到本地处理 | ||
811 | + UIcontrol_Obtain_GimbalPitchFineTuninng(DeviceName, pitch); | ||
812 | + | ||
813 | + // 3、回复操作成功 | ||
814 | + JZsdk_Uart_SendDeal_Reply_Sucesss(DeviceName, FrameSequence); | ||
815 | +} | ||
816 | + | ||
817 | +/******************************************************************************************************************************* | ||
818 | + * | ||
819 | + * 警灯部分 | ||
820 | + * | ||
821 | + * *****************************************************************************************************************************/ | ||
822 | +/********* | ||
823 | + * | ||
824 | + * 收到警灯状态 | ||
825 | + * | ||
826 | + **********/ | ||
827 | +T_JZsdkReturnCode JZsdl_Uart_RecvDeal_ObtainWaringlight_Status(int DeviceName, int status, int mode) | ||
828 | +{ | ||
829 | + UIcontrol_ObtainWarningLight_Status(DeviceName, status, mode); | ||
830 | +} | ||
831 | + | ||
832 | +/********* | ||
833 | + * | ||
834 | + * 收到警灯颜色 | ||
835 | + * | ||
836 | + **********/ | ||
837 | +T_JZsdkReturnCode JZsdl_Uart_RecvDeal_ObtainWaringlight_Color(int DeviceName, int color1, int color2) | ||
838 | +{ | ||
839 | + UIcontrol_ObtainWarningLight_Color(DeviceName, color1, color2); | ||
840 | +} | ||
841 | + | ||
842 | +/********* | ||
843 | + * | ||
844 | + * 收到产品序列号 | ||
845 | + * | ||
846 | + **********/ | ||
847 | +T_JZsdkReturnCode JZsdl_Uart_RecvDeal_ObtainSerialNumber(int DeviceName, int SerialNumber) | ||
848 | +{ | ||
849 | +} | ||
850 | + | ||
851 | +/******************************************************************************************************** | ||
852 | +********* ********| | ||
853 | +********* ********| | ||
854 | +********* ********| | ||
855 | +********* ********| | ||
856 | +********* ********| | ||
857 | +********* 6A类部分 ********| | ||
858 | +********* ********| | ||
859 | +********* ********| | ||
860 | +********* ********| | ||
861 | +********* ********| | ||
862 | +********* ********| | ||
863 | +*********************************************************************************************************/ | ||
864 | + | ||
865 | +/********* | ||
866 | + * | ||
867 | + * 设置云台最大值最小值 | ||
868 | + * | ||
869 | + **********/ | ||
870 | +T_JZsdkReturnCode JZsdk_Uart_SetGimbalRange(int DeviceName, int value) | ||
871 | +{ | ||
872 | + return UIcontrol_SetGimbalRange(DeviceName, value); | ||
873 | +} | ||
874 | + | ||
875 | +/********* | ||
876 | + * | ||
877 | + * 设置云台联动 | ||
878 | + * | ||
879 | + **********/ | ||
880 | +T_JZsdkReturnCode JZsdk_Uart_GimbalLinkageControl(int DeviceName, int FrameSequence, int value) | ||
881 | +{ | ||
882 | + // 1、设置本地的云台联动 | ||
883 | + int ret = UIcontrol_Set_GimbalLinkageControl(DeviceName, value); | ||
884 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
885 | + { | ||
886 | + // 回复操作成功 | ||
887 | + JZsdk_Uart_SendDeal_Reply_Sucesss(DeviceName, FrameSequence); | ||
888 | + } | ||
889 | + else | ||
890 | + { | ||
891 | + // 回复操作失败 | ||
892 | + JZsdk_Uart_SendDeal_Reply_Failure(DeviceName, FrameSequence); | ||
893 | + } | ||
894 | +} | ||
895 | + | ||
896 | +/********* | ||
897 | + * | ||
898 | + * 查询云台联动 | ||
899 | + * | ||
900 | + **********/ | ||
901 | +T_JZsdkReturnCode JZsdk_Uart_Checkstatus_GimbalLinkage(int DeviceName, int FrameSequence) | ||
902 | +{ | ||
903 | + int LinkageValue; | ||
904 | + | ||
905 | + T_JZsdkReturnCode ret = UIcontrol_CheckStatus_GimbalLinkage(&LinkageValue); | ||
906 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
907 | + { | ||
908 | + // 回复操作失败 | ||
909 | + JZsdk_Uart_SendDeal_Reply_Failure(DeviceName, FrameSequence); | ||
910 | + } | ||
911 | + | ||
912 | + // 成功则发送云台联动值 | ||
913 | + JZsdk_Uart_SendDeal_GimbalLinkageControl(DeviceName, FrameSequence, LinkageValue); | ||
914 | +} | ||
915 | + | ||
916 | +/* | ||
917 | + * | ||
918 | + * 设置本地从设备名 | ||
919 | + * | ||
920 | + */ | ||
921 | +T_JZsdkReturnCode JZsdk_Uart_SetSecondaryDeviceName(int DeviceName) | ||
922 | +{ | ||
923 | + printf("设置本地从设备名%x\n", DeviceName); | ||
924 | + | ||
925 | + SecondaryDeviceName = DeviceName; | ||
926 | + | ||
927 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
928 | +} | ||
929 | + | ||
930 | +/* | ||
931 | + * | ||
932 | + * 获取本地从设备名 | ||
933 | + * | ||
934 | + */ | ||
935 | +int JZsdk_Uart_GetSecondaryDeviceName() | ||
936 | +{ | ||
937 | + return SecondaryDeviceName; | ||
938 | +} | ||
939 | + | ||
940 | +/******************************************************************************************************** | ||
941 | +********* ********| | ||
942 | +********* ********| | ||
943 | +********* ********| | ||
944 | +********* ********| | ||
945 | +********* ********| | ||
946 | +********* 6B类部分 ********| | ||
947 | +********* ********| | ||
948 | +********* ********| | ||
949 | +********* ********| | ||
950 | +********* ********| | ||
951 | +********* ********| | ||
952 | +*********************************************************************************************************/ | ||
953 | + | ||
954 | +/** | ||
955 | + * | ||
956 | + * 查询从设备名 | ||
957 | + * | ||
958 | + */ | ||
959 | +int JZsdk_Uart_QuerySecondaryDeviceName(int FrameSequence) | ||
960 | +{ | ||
961 | + // 1、发送查询一遍从设备名, 通常位于 串口1 | ||
962 | + JZsdk_Uart_SendDeal_QuerySecondaryDeviceName(UART_DEV_1, FrameSequence); | ||
963 | +} | ||
964 | + | ||
965 | +/********* | ||
966 | + * | ||
967 | + * 收到云台联动值 | ||
968 | + * | ||
969 | + **********/ | ||
970 | +T_JZsdkReturnCode JZsdk_Uart_ObtainGimbalLinkage(int DeviceName, int FrameSequence, int value) | ||
971 | +{ | ||
972 | + T_JZsdkReturnCode ret = UIcontrol_Obtain_GimbalLinkage(DeviceName, value); | ||
973 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
974 | + { | ||
975 | + // 回复操作成功 | ||
976 | + JZsdk_Uart_SendDeal_Reply_Sucesss(UART_DEV_1, FrameSequence); | ||
977 | + } | ||
978 | + else | ||
979 | + { | ||
980 | + // 回复操作失败 | ||
981 | + JZsdk_Uart_SendDeal_Reply_Failure(UART_DEV_1, FrameSequence); | ||
982 | + } | ||
983 | +} |
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(int *PitchAngle, int *YawAngle); | ||
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 | +T_JZsdkReturnCode JZsdk_Uart_CheckStatus_SerialNumber(int UartPort, int FrameSequence); | ||
66 | + | ||
67 | + | ||
68 | + | ||
69 | +int JZsdk_Uart_SaveOpusStart(int decode_rate); | ||
70 | +int JZsdk_Uart_SaveOpusTrans(char *SaveData, int size); | ||
71 | +int JZsdk_Uart_SaveOpusStop(); | ||
72 | + | ||
73 | +int JZsdk_Uart_GetVersionReplay(); | ||
74 | + | ||
75 | +int JZsdk_Uart_SetMainWorkMode(int mode); | ||
76 | + | ||
77 | + | ||
78 | +//1、开始传输的音频文件保存 | ||
79 | +T_JZsdkReturnCode JZsdk_Uart_SaveAudioFileStart(char *FileName); | ||
80 | +//2、存储opus文件中 | ||
81 | +int JZsdk_Uart_SaveAudioFileTrans(char *SaveData, int size); | ||
82 | +//3、存储opus文件结束 | ||
83 | +int JZsdk_Uart_SaveAudioFileStop(); | ||
84 | + | ||
85 | +int JZsdk_Uart_RealTimeVoiceStart(int decode_rate); | ||
86 | +int JZsdk_Uart_RealTimeVoiceTrans(char *data, int length); | ||
87 | +int JZsdk_Uart_RealTimeVoiceClose(); | ||
88 | + | ||
89 | +//实时MP2语音实时喊话 | ||
90 | +int JZsdk_Uart_RealTimeMP2_start(int decode_rate); | ||
91 | +int JZsdk_Uart_RealTimeMP2_Trans(unsigned char *data, int length); | ||
92 | +int JZsdk_Uart_RealTimeMP2_Close(); | ||
93 | + | ||
94 | +//云台部分 | ||
95 | +T_JZsdkReturnCode JZsdk_Uart_Gimbal_PitchControl(int DeviceName, int Gimbal_angle); | ||
96 | +T_JZsdkReturnCode JZsdk_Uart_SetGimbalRange(int DeviceName, int value); | ||
97 | +T_JZsdkReturnCode JZsdk_Uart_CheckStatus_GimbalFineTuning(int DeviceName, int FrameSequence); | ||
98 | +T_JZsdkReturnCode JZsdk_Uart_Gimbal_PitchFineTuningControl(int DeviceName, int FrameSequence,int Gimbal_angle); | ||
99 | +T_JZsdkReturnCode JZsdl_Uart_ObtainGimbalPitchFineTuning(int DeviceName, int FrameSequence,int pitch); | ||
100 | +T_JZsdkReturnCode JZsdk_Uart_GimbalLinkageControl(int DeviceName, int FrameSequence, int value); | ||
101 | +T_JZsdkReturnCode JZsdk_Uart_Checkstatus_GimbalLinkage(int DeviceName, int FrameSequence); | ||
102 | +T_JZsdkReturnCode JZsdk_Uart_ObtainGimbalLinkage(int DeviceName,int FrameSequence, int value); | ||
103 | + | ||
104 | +//探照灯部分 | ||
105 | +T_JZsdkReturnCode JZsdk_Uart_Lighting_SetSearchLightFrequency(int DeviceName, int Frequency); | ||
106 | +T_JZsdkReturnCode JZsdk_Uart_SearchLight_Control(int DeviceName, int mode); | ||
107 | +T_JZsdkReturnCode JZsdk_Uart_SearchLight_Lumen(int DeviceName, int LeftLumen, int RightLumen); | ||
108 | +T_JZsdkReturnCode JZsdk_Uart_SearchLight_SubscriptionControl(int DeviceName, int value); | ||
109 | +T_JZsdkReturnCode JZsdk_Uart_CheckStatus_SearchLightLightAttribute(int DeviceName, int FrameSequence); | ||
110 | +T_JZsdkReturnCode JZsdk_Uart_CheckStatus_SearchLightTemperture(int DeviceName, int FrameSequence); | ||
111 | + | ||
112 | +//警灯部分 | ||
113 | +T_JZsdkReturnCode JZsdk_Uart_WarningLight_ModeControl(int DeviceName, int status, int mode); | ||
114 | +T_JZsdkReturnCode JZsdk_Uart_WarningLight_SetColor(int DeviceName, int color1, int color2); | ||
115 | +T_JZsdkReturnCode JZsdk_Uart_CheckStatus_WarningLightStatus(int DeviceName, int FrameSequence); | ||
116 | +T_JZsdkReturnCode JZsdk_Uart_CheckStatus_WarningLightColor(int DeviceName, int FrameSequence); | ||
117 | + | ||
118 | + | ||
119 | +//5B部分 | ||
120 | +T_JZsdkReturnCode JZsdl_Uart_ObtainSearchLight_Frequency(int DeviceName, int Frequency); | ||
121 | +T_JZsdkReturnCode JZsdl_Uart_ObtainSearchLight_Mode(int DeviceName, int mode); | ||
122 | +T_JZsdkReturnCode JZsdl_Uart_ObtainSearchLight_Lumen(int DeviceName, int LeftLumen, int RightLumen); | ||
123 | +T_JZsdkReturnCode JZsdl_Uart_ObtainSearchLight_Temperature(int DeviceName, int LeftTemperature, int RightTemperature); | ||
124 | +T_JZsdkReturnCode JZsdl_Uart_RecvDeal_ObtainGimbal_Pitch(int DeviceName, int pitch); | ||
125 | +T_JZsdkReturnCode JZsdl_Uart_RecvDeal_ObtainGimbal_Yaw(int DeviceName, int yaw); | ||
126 | +T_JZsdkReturnCode JZsdl_Uart_RecvDeal_ObtainWaringlight_Status(int DeviceName, int status, int mode); | ||
127 | +T_JZsdkReturnCode JZsdl_Uart_RecvDeal_ObtainWaringlight_Color(int DeviceName, int color1, int color2); | ||
128 | +T_JZsdkReturnCode JZsdl_Uart_RecvDeal_ObtainSerialNumber(int DeviceName, int SerialNumber); | ||
129 | + | ||
130 | +//获取本地从设备名 | ||
131 | +int JZsdk_Uart_GetSecondaryDeviceName(); | ||
132 | +//设置本地从设备名 | ||
133 | +T_JZsdkReturnCode JZsdk_Uart_SetSecondaryDeviceName(int DeviceName); | ||
134 | +int JZsdk_Uart_QuerySecondaryDeviceName(int FrameSequence); | ||
135 | + | ||
136 | + | ||
137 | +T_JZsdkReturnCode JZsdk_Uart_OutPutPower_Control(int DeviceName, int FrameSequence, int Value); | ||
138 | +T_JZsdkReturnCode JZsdk_Uart_Checkstatus_OutPutPower(int DeviceName, int FrameSequence); | ||
139 | + | ||
140 | +#ifdef __cplusplus | ||
141 | +} | ||
142 | +#endif | ||
143 | + | ||
144 | +#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 |
-
请 注册 或 登录 后发表评论