作者 潘浩彬

合并分支 'dev' 到 'master'

Dev



查看合并请求 !14
正在显示 57 个修改的文件 包含 2271 行增加972 行删除

要显示太多修改。

为保证性能只显示 57 of 57+ 个文件。

... ... @@ -72,7 +72,41 @@
"rk_rga.h": "c",
"rgautils.h": "c",
"im2d_type.h": "c",
"im2d.h": "c"
"im2d.h": "c",
"halrecv_tpye1.h": "c",
"jzsdk_uart_recvdeal.h": "c",
"jzsdk_framecomparsion.h": "c",
"jzsdk_definingcode.h": "c",
"test_data_transmission.h": "c",
"halrecv_type1.h": "c",
"halrecv_type1_recvdeal.h": "c",
"halrecv.h": "c",
"halsend_type1.h": "c",
"halsend.h": "c",
"warninglight_v3s_tfa1.h": "c",
"gimbal.h": "c",
"jzsdk_uart_uartdeal.h": "c",
"powermanager_inandout.h": "c",
"jzsdk_definecode.h": "c",
"jzsdk_devicecode.h": "c",
"opus.h": "c",
"jzsdk_hal.h": "c",
"commonmod.h": "c",
"gimbal_specialuart.h": "c",
"megaphone_opus.h": "c",
"megaphone_audiofile.h": "c",
"dji_typedef.h": "c",
"jzsdk_flagcode.h": "c",
"jzsdk_typedef.h": "c",
"jzsdk_errorcode.h": "c",
"jzsdk_portcode.h": "c",
"jzsdk_osal.h": "c",
"jzsdk_time.h": "c",
"jzsdk_task.h": "c",
"jzsdk_semaphore.h": "c",
"jzsdk_filesystm.h": "c",
"jzsdk_memoryadapter.h": "c",
"jzsdk_errorcodedef.h": "c"
},
"Codegeex.GenerationPreference": "automatic",
"C_Cpp.dimInactiveRegions": false
... ...
# 编译链的配置
#1、编译链与设备类型的选择
set(DEVICE_NAME JZ_H10T)
set(DEVICE_NAME JZ_H10)
#上一行为禁止修改行
message("**************************JZSDK构建编译开始***************************\n")
... ...
... ... @@ -27,10 +27,6 @@ file(GLOB_RECURSE JZSDK_HAL_SRC ${ROOT_DIRS}JZsdk_hal/*.c)
list(APPEND ALL_SRC_FILES ${JZSDK_HAL_SRC})
list(APPEND ALL_INC_FILES ${ROOT_DIRS}JZsdk_hal)
file(GLOB_RECURSE JZSDK_OSAL_SRC ${ROOT_DIRS}JZsdk_osal/*.c)
list(APPEND ALL_SRC_FILES ${JZSDK_OSAL_SRC})
list(APPEND ALL_INC_FILES ${ROOT_DIRS}JZsdk_osal)
message("\nJZSDK基础代码加载完毕\n")
#如果要加载设备信息模块,需要加载以下附属内容
... ... @@ -104,6 +100,7 @@ if(${MEDIA_PROC_MODULE} STREQUAL "VERSION_SWITCH_ON")
set(LIB_USB VERSION_SWITCH_ON)
if(${IRC_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("加载昆腾红外相机模块")
set(LIB_KT_IRC VERSION_SWITCH_ON)
endif()
... ... @@ -139,12 +136,12 @@ if(${MEGAPHONE_MODULE} STREQUAL "VERSION_SWITCH_ON")
set(OPUS_MODULE VERSION_SWITCH_ON)
endif()
#如果要加载电源管理模块,需要加载以下附属内容
if(${POWER_MANAGER_MODULE} STREQUAL "VERSION_SWITCH_ON")
#如果要加载通用模块,需要加载以下附属内容
if(${COMMON_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("\n电源模块加载中")
file(GLOB_RECURSE POWERMANAGER_SRC ${ROOT_DIRS}Module/PowerManager/*.c)
list(APPEND ALL_SRC_FILES ${POWERMANAGER_SRC})
message("\n通用模块加载中")
file(GLOB_RECURSE COMMON_MODULE_SRC ${ROOT_DIRS}Module/CommonMod/*.c)
list(APPEND ALL_SRC_FILES ${COMMON_MODULE_SRC})
endif()
... ... @@ -200,7 +197,7 @@ list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/Gimbal)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/Lighting)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/UI_control)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/Camera)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/PowerManager)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/COMMONManager)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/TestAPP)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/ImageProcessing)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/SerialManagement)
... ...
... ... @@ -26,7 +26,7 @@ set(LIGHTING_MODULE VERSION_SWITCH_OFF)
set(MEGAPHONE_MODULE VERSION_SWITCH_OFF)
# 电源管理模块
set(POWER_MANAGER_MODULE VERSION_SWITCH_OFF)
set(COMMON_MODULE VERSION_SWITCH_OFF)
# UI管理模块
set(UI_CONTROL_MODULE VERSION_SWITCH_OFF)
... ... @@ -66,8 +66,8 @@ set(DEVICE_CONFIG_MODULE VERSION_SWITCH_ON)
# 添加UI管理模块
set(UI_CONTROL_MODULE VERSION_SWITCH_ON)
# 添加电源管理模块
set(POWER_MANAGER_MODULE VERSION_SWITCH_ON)
# 添加通用模块
set(COMMON_MODULE VERSION_SWITCH_ON)
message("通用库加载完成")
... ...
... ... @@ -177,13 +177,16 @@ endif()
#kt_IRC库
if(${LIB_KT_IRC} STREQUAL "VERSION_SWITCH_ON")
add_definitions(-DMACRO_KTIRC_MODULE)
message("ktIRC库已加载\n")
include_directories(${ROOT_DIRS}/ThirdParty/KT_IRC/include)
target_link_libraries(
${PROJECT_NAME}
${ROOT_DIRS}/ThirdParty/KT_IRC/aarch64-none-linux-gnu/lib/libktlib.so
${ROOT_DIRS}/ThirdParty/KT_IRC/aarch64-none-linux-gnu/lib/libm330aarchx64.so
)
add_definitions(-DMACRO_KTIRC_MODULE)
endif()
message("**************************动态库加载完毕***************************\n")
\ No newline at end of file
... ...
#include <stdio.h>
#include "JZsdkLib.h"
#include "./JZsdk_TaskManagement/TaskManagement.h"
static T_JZsdkReturnCode JZsdk_PrepareSystemEnvironment()
{
T_JZsdkReturnCode ret;
ret = JZsdk_OsalInit();
if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
{
}
else
{
JZSDK_LOG_INFO("JZSDK_OSAL_INIT_SUCCESS");
}
return ret;
}
//初始化sdk
T_JZsdkReturnCode JZsdk_LibInit()
{
//环境初始化
JZsdk_PrepareSystemEnvironment();
//1、初始化log
JZsdk_LoggerInit();
//2、任务管理系统初始化
TaskManagement_Init();
JZSDK_LOG_INFO("Lib加载已完成");
JZSDK_LOG_INFO("JZSDK_LIB_INIT_SUCCESS");
}
\ No newline at end of file
... ...
... ... @@ -19,11 +19,8 @@ extern "C" {
/* Exported constants --------------------------------------------------------*/
/* 常亮定义*/
#include "JZsdk_Logger/JZsdk_Logger.h"
#include "JZsdk_Osal/JZsdk_FileSystm.h"
#include "JZsdk_Delay/JZsdk_Delay.h"
#include "JZsdk_Code/JZsdk_FLagCode.h"
#include "JZsdk_Osal/JZsdk_MemoryAdapter.h"
#include "JZsdk_Osal/JZsdk_CheckSum/JZsdk_CheckSum.h"
#include "JZsdk_Osal/JZsdk_Osal.h"
/* Exported types ------------------------------------------------------------*/
... ...
... ... @@ -19,11 +19,15 @@ extern "C" {
/* Exported constants --------------------------------------------------------*/
/* 常亮定义*/
#include "./JZsdk_typedef/JZsdk_typedef.h"
#include "./JZsdk_ReturnCode/JZsdk_ReturnCode.h"
#include "./JZsdk_InsCode.h"
#include "./JZsdk_FLagCode.h"
#include "./JZsdk_ReturnCode.h"
#include "./JZsdk_FileType.h"
#include "./JZsdk_WidgetCode.h"
#include "./JZsdk_DeviceCode.h"
#include "./JZsdk_DefineCode.h"
/* Exported types ------------------------------------------------------------*/
... ...
#include <stdio.h>
#include "./JZsdk_DefineCode.h"
unsigned char * JZsdk_DefineCode_GetPortName(int Port)
{
switch (Port)
{
case UART_4G:
return "设备4G";
break;
case UART_DEV_1:
return "设备UART1";
break;
case UART_DEV_2:
return "设备UART2";
break;
case HAL_DATA_TRANSMISSION:
return "HAL数据";
break;
case NO_SPECIFIED:
return "无指定设备";
break;
default:
return "无指定设备";
break;
}
}
\ No newline at end of file
... ...
/**
********************************************************************
* @file JZsdk_DefiningCode.h
* 用于记录各种定义类型的表
*
*********************************************************************
*/
/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
#ifndef JZSDK_DEFININGCODE_H
#define JZSDK_DEFININGCODE_H
/* Includes ------------------------------------------------------------------*/
#ifdef __cplusplus
extern "C"
{
#endif
/* Exported constants --------------------------------------------------------*/
/* 常亮定义*/
/* Exported types ------------------------------------------------------------*/
typedef enum JZ_DEVICE_PORT_TYPE
{
DEVICE_PSDK = 0x1000, // psdk功能
UART_4G = 0x1001, // 4G功能
UART_DEV_1 = 0x1002, // 1号设备功能
UART_DEV_2 = 0x1003, // 2号设备功能
UART_DEV_3 = 0x1004, // 3号设备功能
UART_DEV_4 = 0x1005, // 4号设备功能
UART_DEV_5 = 0x1006, // 5号设备功能
UART_USB_1 = 0x1100, // usb设备
UART_USB_2 = 0x1101, // usb设备
UART_USB_3 = 0x1102, // usb设备
UART_USB_4 = 0x1103, // usb设备
UART_USB_5 = 0x1104, // usb设备
HAL_DATA_TRANSMISSION = 0x1200, // hal定制的特殊数据传播
COMBINE_DEVICE = 0x1998, // 组合设备
NO_SPECIFIED = 0x1999, // 无制定设备
} JZ_DEVICE_PORT_TYPE;
typedef enum JZ_MODULE_CONTROL_WAY
{
JZ_MODULE_CONTROL_WAY_INDEPENDENT = 0x1000, // 独立控制
JZ_MODULE_CONTROL_WAY_TRANSPARENT = 0x1001, //透传控制
}JZ_MODULE_CONTROL_WAY; // 模块控制方式
typedef enum JZ_DATA_TRANS_TYPE
{
JZ_DATA_TRANS_TYPE_REAL_TIME_MP2 = 0x1000, // 实时mp2数据传输中
JZ_DATA_TRANS_TYPE_AUDIO_FILE = 0x1001, // 音频文件传输中
JZ_DATA_TRANS_TYPE_OPUS_FILE = 0x1002, // opus文件传输中
JZ_DATA_TRANS_TYPE_REAL_TIME_OPUS = 0x1003, // 实时opus传输中
JZ_DATA_TRANS_TYPE_TTS = 0x1004, //TTS传输模式
}JZ_DATA_TRANS_TYPE;
/* Exported functions --------------------------------------------------------*/
unsigned char * JZsdk_DefineCode_GetPortName(int Port);
#ifdef __cplusplus
}
#endif
#endif
... ...
#include <stdio.h>
#include "./JZsdk_DeviceCode.h"
/*************************
*
* 获取设备名称
*
*
* ************************/
unsigned char *JZsdk_GetDeviceName()
{
}
... ...
... ... @@ -3,35 +3,29 @@
* 用来规范version_choose的参数
*
***********************************************/
#ifndef CONFIG_PARAMS_H
#define CONFIG_PARAMS_H
#ifndef JZSDK_DEVICE_CODE_H
#define JZSDK_DEVICE_CODE_H
//特殊版本号
#define SPECIAL_NORMAL 0x01
#define SPECIAL_DAOTONG 0x02
#define SPECIAL_NORMAL 0x01 //普通版本
#define SPECIAL_DAOTONG 0x02 //道通版本
//软件模式
#define APP_PSDK 0x01 //psdk设备
#define APP_UART 0x02 //串口设备
#define APP_TEST 0x03 //测试设备
#define APP_PSDK 0x01
#define APP_UART 0x02
#define APP_TEST 0x03
//平台选择
#define PLATFORM_H3 0x01
#define PLATFORM_V3S 0x02
#define PLATFORM_H3 0x01
#define PLATFORM_V3S 0x02
//固件属地
#define OVERSEAS_VERSION 0x01 //海外版
#define DOMESTIC_VERSION 0x02 //国内版
//音频滤波的方式
//目前只有和h10使用带阻滤波
#define DIRECTED_STOPBAND_FILTERING 0x10001 //带阻滤波
#define HIGH_PASS_FILTERING 0x10002 //高通滤波
#define INTERGRATED_FILTERING_1 0x10003 //综合滤波1代
#define OVERSEAS_VERSION 0x01
#define DOMESTIC_VERSION 0x02
//加载开关
#define VERSION_SWITCH_ON 0x0001
#define VERSION_SWITCH_OFF 0x0000
#define VERSION_SWITCH_ON 0x0001 //加载
#define VERSION_SWITCH_OFF 0x0000 //不加载
//设备选择
#define JZ_H1E 0x0011
... ... @@ -52,4 +46,18 @@
#define TF_A1 0x1010
#define JZ_C1 0x1011
/***********************************
*
* 已退出历史舞台
*
* *********************************/
// //音频滤波的方式
// //目前只有和h10使用带阻滤波
// #define DIRECTED_STOPBAND_FILTERING 0x10001 //带阻滤波
// #define HIGH_PASS_FILTERING 0x10002 //高通滤波
// #define INTERGRATED_FILTERING_1 0x10003 //综合滤波1代
#endif
... ...
/**
********************************************************************
* @file JZsdk_Uart_RecvDeal.h
* JZsdk_Uart_RecvDeal的头文件
* @file JZsdk_typedef.h
* 用于记录各类码的表
*
*********************************************************************
*/
/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
#ifndef JZSDK_UART_RECVDEAL_H
#define JZSDK_UART_RECVDEAL_H
#ifndef JZSDK_TYPEDEF_H
#define JZSDK_TYPEDEF_H
/* Includes ------------------------------------------------------------------*/
#include "../JZsdk_typedef/JZsdk_typedef.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Exported constants --------------------------------------------------------*/
/* 常亮定义*/
/* Exported macro ------------------------------------------------------------*/
/* Exported types ------------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
int JZsdk_Uart_RecvDeal_CharmDeal(int Port, unsigned char *getbuf, int len);
#ifdef __cplusplus
}
#endif
#endif
... ...
#include <stdint.h>
#include <stdbool.h>
#include <stddef.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "./JZsdk_Code.h"
#include "./JZsdk_ReturnCode.h"
//获取返回码的信息
const char* JZsdk_GetReturnCodeMessage(T_JZsdkReturnCode ReturnCode)
... ...
/**
********************************************************************
* @file UartDeal_Base.h
* UartDeal_Base的头文件
* @file JZsdk_ReturnCode.h
* 用于记录各类码的表
*
*********************************************************************
*/
/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
#ifndef UARTDEAL_BASE_H
#define UARTDEAL_BASE_H
#ifndef JZSDK_RETURNCODE_H
#define JZSDK_RETURNCODE_H
/* Includes ------------------------------------------------------------------*/
#include "../JZsdk_typedef/JZsdk_typedef.h"
#ifdef __cplusplus
extern "C" {
... ... @@ -19,11 +22,17 @@ extern "C" {
/* Exported constants --------------------------------------------------------*/
/* 常亮定义*/
/* Exported types ------------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
int UartConnection_UartEnabled(char *UartDev, int BitRate);
/* Exported functions --------------------------------------------------------*/
const char* JZsdk_GetReturnCodeMessage(T_JZsdkReturnCode ReturnCode);
#ifdef __cplusplus
}
... ...
... ... @@ -24,7 +24,9 @@ extern "C" {
typedef enum {
JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS = 0x0000,
JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE = 0x0001,
JZ_ERROR_SYSTEM_MODULE_CODE_HARDLY_FAILURE = 0x0003, //严重错误
JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER = 0x0002, //文件指针错误
JZ_ERROR_SYSTEM_MODULE_CODE_MEMORY_ALLOC_FAILED = 0x0004, //内存分配失败
} JZ_SYSTEM_Code;
typedef enum {
... ... @@ -63,6 +65,10 @@ typedef enum {
} JZ_CheckCode; //检查校验码
typedef enum {
JZ_ERROR_SYSTEM_MODULE_CODE_NO_UPGRADE_FILE = 0x6000, //没有升级文件
}JZ_Ugrade_ErrorCode;
/* Exported functions --------------------------------------------------------*/
#ifdef __cplusplus
... ...
/**
********************************************************************
* @file JZsdk_ReturnCode.h
* @file JZsdk_typedef.h
* 用于记录各类码的表
*
*********************************************************************
*/
/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
#ifndef JZSDK_RETURNCODE_H
#define JZSDK_RETURNCODE_H
#ifndef JZSDK_TYPEDEF_H
#define JZSDK_TYPEDEF_H
/* Includes ------------------------------------------------------------------*/
#include <stdint.h>
#include "JZsdk_ErrorCode.h"
#include <stdbool.h>
#include <stddef.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#ifdef __cplusplus
extern "C" {
#endif
#include "./JZsdk_ErrorCodeDef.h"
#include "./JZsdk_FileTypeDef.h"
/* Exported constants --------------------------------------------------------*/
/* 常亮定义*/
/* Exported types ------------------------------------------------------------*/
/* Exported macro ------------------------------------------------------------*/
//重定义一个返回码
typedef uint64_t T_JZsdkReturnCode;
typedef uint8_t U8_t;
... ... @@ -46,11 +47,23 @@ typedef uint64_t U64_t;
typedef double F64_t;
typedef float F32_t;
//线程权柄
typedef void *T_JZTaskHandle;
//互斥锁权柄
typedef void *T_JZsdkMutexHandle;
//信号量权柄
typedef void *T_JZsdkSemaHandle;
/* Exported types ------------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
const char* JZsdk_GetReturnCodeMessage(T_JZsdkReturnCode ReturnCode);
#ifdef __cplusplus
}
#endif
#endif
... ...
#include <stdio.h>
#include "JZsdk_Delay.h"
#include <unistd.h>
/*
* 用于延时(粗略)
* 需要优化
*/
int delayUs(unsigned long msec)
{
usleep(msec);
}
/*
* 用于延时(粗略)
* 需要优化
*/
int delayMs(unsigned long msec)
{
usleep(msec * 1000);
}
/*
* 用于延时(粗略)
* 需要优化
*/
int delayS(unsigned long sec)
{
delayMs(sec * 1000);
}
\ No newline at end of file
... ... @@ -24,28 +24,28 @@ int JZsdk_FrameComparsion(char *getdata, int len)
//1、判断是否是5A帧
if (getdata[0] == 0x5A && getdata[1] == 0x5A && getdata[2] == 0x77)
{
printf("JZsdk_FrameComparsion:5A帧\n");
//printf("JZsdk_FrameComparsion:5A帧\n");
return JZsdk_5AFrameComparsion(getdata, len);
}
//2、判断是否是5B帧
if (getdata[0] == 0x5b && getdata[1] == 0x5b && getdata[2] == 0x77)
{
printf("JZsdk_FrameComparsion:5B帧\n");
//printf("JZsdk_FrameComparsion:5B帧\n");
return JZsdk_5BFrameComparsion(getdata, len);
}
//3、判断是否是6A帧
if (getdata[0] == 0x6A && getdata[1] == 0x6A && getdata[2] == 0x77)
{
printf("JZsdk_FrameComparsion:6A帧\n");
//printf("JZsdk_FrameComparsion:6A帧\n");
return JZsdk_6AFrameComparsion(getdata, len);
}
//4、判断是否是6B帧
if (getdata[0] == 0x6b && getdata[1] == 0x6b && getdata[2] == 0x77)
{
printf("JZsdk_FrameComparsion:6B帧\n");
//printf("JZsdk_FrameComparsion:6B帧\n");
return JZsdk_6BFrameComparsion(getdata, len);
}
... ...
... ... @@ -13,7 +13,7 @@
#define CHECK_SUM_H
/* Includes ------------------------------------------------------------------*/
#include "../../JZsdk_Code/JZsdk_Code.h"
#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
#ifdef __cplusplus
extern "C" {
... ...
... ... @@ -13,7 +13,7 @@
#define JZSDK_CHECK_SUM_H
/* Includes ------------------------------------------------------------------*/
#include "../../JZsdk_Code/JZsdk_Code.h"
#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
#ifdef __cplusplus
extern "C" {
... ...
#include <stdio.h>
#include "JZsdk_FileSystm.h"
#include "./JZsdk_FileSystm.h"
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
... ... @@ -446,3 +446,16 @@ T_JZsdkReturnCode JZsdk_Fs_ReadFileSize(const unsigned char* FilePath, int *File
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
/**************
*
* 进行一次系统的保存
*
*
* *****************/
T_JZsdkReturnCode JZsdk_Sync()
{
sync();
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
\ No newline at end of file
... ...
... ... @@ -11,7 +11,7 @@
#define JZSDK_FILESYSTEM_H
/* Includes ------------------------------------------------------------------*/
#include "../JZsdk_Code/JZsdk_Code.h"
#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
#include "./JZsdk_FS_Standards.h"
#ifdef __cplusplus
... ... @@ -39,6 +39,7 @@ T_JZsdkReturnCode JZsdk_Fs_ReadFileSize(const unsigned char* FilePath, int *File
T_JZsdkReturnCode JZsdk_copy_file_byC(const char* source_path, const char* dest_path);
T_JZsdkReturnCode JZsdk_RunSystemCmd_ReturnResult(char *systemCmd, unsigned int *result);
T_JZsdkReturnCode JZsdk_RunSystemCmd_ReturnResult_Str(char *systemCmd, unsigned char *str);
T_JZsdkReturnCode JZsdk_Sync();
#ifdef __cplusplus
}
... ...
... ... @@ -3,9 +3,7 @@
#include <stdbool.h>
#include <string.h>
#include "JZsdkLib.h"
#include "./JZsdk_MemoryAdapter.h"
/**********************************
*
... ... @@ -54,4 +52,18 @@ T_JZsdkReturnCode JZsdk_Free(void *ptr)
ptr = NULL;
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
\ No newline at end of file
}
void *JZsdk_Osal_Malloc(U32_t size)
{
return malloc(size);
}
void JZsdk_Osal_Free(void *ptr)
{
free(ptr);
}
... ...
... ... @@ -11,7 +11,7 @@
#define JZSDK_MEMORY_ADAPTER_H
/* Includes ------------------------------------------------------------------*/
#include "../JZsdk_Code/JZsdk_Code.h"
#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
#ifdef __cplusplus
extern "C" {
... ... @@ -26,6 +26,8 @@ extern "C" {
/* Exported functions --------------------------------------------------------*/
T_JZsdkReturnCode JZsdk_Malloc(void **ptr, unsigned int size);
T_JZsdkReturnCode JZsdk_Free(void *ptr);
void *JZsdk_Osal_Malloc(U32_t size);
void JZsdk_Osal_Free(void *ptr);
#ifdef __cplusplus
}
... ...
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include "./JZsdk_Mutex.h"
/**
* @brief Declare the mutex container, initialize the mutex, and
* create mutex ID.
* @param mutex: pointer to the created mutex ID.
* @return an enum that represents a status of PSDK
*/
T_JZsdkReturnCode JZsdk_Osal_MutexCreate(T_JZsdkMutexHandle *mutex)
{
int result;
if (!mutex)
{
return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER;
}
*mutex = malloc(sizeof(pthread_mutex_t));
if (*mutex == NULL)
{
return JZ_ERROR_SYSTEM_MODULE_CODE_MEMORY_ALLOC_FAILED;
}
result = pthread_mutex_init(*mutex, NULL);
if (result != 0)
{
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
/**
* @brief Delete the created mutex.
* @param mutex: pointer to the created mutex ID.
* @return an enum that represents a status of PSDK
*/
T_JZsdkReturnCode JZsdk_Osal_MutexDestroy(T_JZsdkMutexHandle mutex)
{
int result = 0;
if (!mutex)
{
return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER;
}
result = pthread_mutex_destroy(mutex);
if (result != 0)
{
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
}
free(mutex);
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
/**
* @brief Acquire and lock the mutex when peripheral access is required
* @param mutex: pointer to the created mutex ID.
* @return an enum that represents a status of PSDK
*/
T_JZsdkReturnCode JZsdk_Osal_MutexLock(T_JZsdkMutexHandle mutex)
{
int result = 0;
if (!mutex)
{
return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER;
}
result = pthread_mutex_lock(mutex);
if (result != 0)
{
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
/**
* @brief Unlock and release the mutex, when done with the peripheral access.
* @param mutex: pointer to the created mutex ID.
* @return an enum that represents a status of PSDK
*/
T_JZsdkReturnCode JZsdk_Osal_MutexUnlock(T_JZsdkMutexHandle mutex)
{
int result = 0;
if (!mutex)
{
return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER;
}
result = pthread_mutex_unlock(mutex);
if (result != 0)
{
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
\ No newline at end of file
... ...
/**
********************************************************************
* @file JZsdk_FileSystem.h
* 用于文件系统操作
* @file JZsdk_Mutex.h
* JZsdk_Mutex.c 的头文件
*
*********************************************************************
*/
/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
#ifndef JZSDK_DELAY_H
#define JZSDK_DELAY_H
#ifndef JZSDK_MUTEX_H
#define JZSDK_MUTEX_H
/* Includes ------------------------------------------------------------------*/
#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
#ifdef __cplusplus
extern "C" {
... ... @@ -19,14 +20,17 @@ extern "C" {
/* Exported constants --------------------------------------------------------*/
/* 常亮定义*/
/* Exported macro ------------------------------------------------------------*/
/* Exported types ------------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
int delayMs(unsigned long msec);
int delayS(unsigned long sec);
int delayUs(unsigned long msec);
T_JZsdkReturnCode JZsdk_Osal_MutexCreate(T_JZsdkMutexHandle *mutex);
T_JZsdkReturnCode JZsdk_Osal_MutexDestroy(T_JZsdkMutexHandle mutex);
T_JZsdkReturnCode JZsdk_Osal_MutexLock(T_JZsdkMutexHandle mutex);
T_JZsdkReturnCode JZsdk_Osal_MutexUnlock(T_JZsdkMutexHandle mutex);
#ifdef __cplusplus
}
... ...
#include "../JZsdk_Code/JZsdk_Code.h"
#include "./JZsdk_Osal.h"
static T_JZsdkOsalHandler* g_osalHandler = NULL;
static T_JZsdkReturnCode JZsdk_Platform_RegOsalHandler(const T_JZsdkOsalHandler *osalHandler)
{
g_osalHandler = (T_JZsdkOsalHandler*)osalHandler; // 存储传入的 OSAL 处理器
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
T_JZsdkOsalHandler *JZsdk_Platform_GetOsalHandler(void)
{
return g_osalHandler; // 返回已注册的 OSAL 处理器
}
T_JZsdkReturnCode JZsdk_OsalInit()
{
T_JZsdkOsalHandler osalHandler = {
.TaskCreate = JZsdk_Osal_TaskCreate,
.TaskDestroy = JZsdk_Osal_TaskDestroy,
.TaskSleepMs = delayMs,
.MutexCreate= JZsdk_Osal_MutexCreate,
.MutexDestroy = JZsdk_Osal_MutexDestroy,
.MutexLock = JZsdk_Osal_MutexLock,
.MutexUnlock = JZsdk_Osal_MutexUnlock,
.SemaphoreCreate = JZsdk_Osal_SemaphoreCreate,
.SemaphoreDestroy = JZsdk_Osal_SemaphoreDestroy,
.SemaphoreWait = JZsdk_Osal_SemaphoreWait,
.SemaphoreTimedWait = JZsdk_Osal_SemaphoreTimedWait,
.SemaphorePost = JZsdk_Osal_SemaphorePost,
.Malloc = JZsdk_Osal_Malloc,
.Free = JZsdk_Osal_Free,
.GetTimeMs = JZsdk_Osal_GetTimeMs,
.GetTimeUs = JZsdk_Osal_GetTimeUs,
.GetRandomNum = JZsdk_Osal_GetRandomNum,
};
JZsdk_Platform_RegOsalHandler(&osalHandler);
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
... ...
/**
********************************************************************
* @file JZsdk_Osal.h
* JZsdk_Osal.c 的头文件
*
*********************************************************************
*/
/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
#ifndef JZSDK_OSAL_H
#define JZSDK_OSAL_H
/* Includes ------------------------------------------------------------------*/
#include "../JZsdk_Code/JZsdk_Code.h"
#include "./JZsdk_CheckSum/JZsdk_CheckSum.h"
#include "./JZsdk_FileSystm/JZsdk_FileSystm.h"
#include "./JZsdk_MemoryAdapter/JZsdk_MemoryAdapter.h"
#include "./JZsdk_Mutex/JZsdk_Mutex.h"
#include "./JZsdk_Semaphore/JZsdk_Semaphore.h"
#include "./JZsdk_Task/JZsdk_Task.h"
#include "./JZsdk_Timer/JZsdk_Timer.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Exported constants --------------------------------------------------------*/
/* 常亮定义*/
/****************
*
* osal权柄
*
*
* ******************/
typedef struct {
T_JZsdkReturnCode (*TaskCreate)(const char *name, void *(*taskFunc)(void *),
unsigned int stackSize, void *arg, T_JZTaskHandle *task);
T_JZsdkReturnCode (*TaskDestroy)(T_JZTaskHandle task);
T_JZsdkReturnCode (*TaskSleepMs)(U32_t timeMs);
T_JZsdkReturnCode (*MutexCreate)(T_JZsdkMutexHandle *mutex);
T_JZsdkReturnCode (*MutexDestroy)(T_JZsdkMutexHandle mutex);
T_JZsdkReturnCode (*MutexLock)(T_JZsdkMutexHandle mutex);
T_JZsdkReturnCode (*MutexUnlock)(T_JZsdkMutexHandle mutex);
T_JZsdkReturnCode (*SemaphoreCreate)(U32_t initValue, T_JZsdkSemaHandle *semaphore);
T_JZsdkReturnCode (*SemaphoreDestroy)(T_JZsdkSemaHandle semaphore);
T_JZsdkReturnCode (*SemaphoreWait)(T_JZsdkSemaHandle semaphore);
T_JZsdkReturnCode (*SemaphoreTimedWait)(T_JZsdkSemaHandle semaphore, U32_t waitTimeMs);
T_JZsdkReturnCode (*SemaphorePost)(T_JZsdkSemaHandle semaphore);
T_JZsdkReturnCode (*GetTimeMs)(U32_t *ms);
T_JZsdkReturnCode (*GetTimeUs)(U64_t *us);
T_JZsdkReturnCode (*GetRandomNum)(U16_t *randomNum);
void *(*Malloc)(U32_t size);
void (*Free)(void *ptr);
} T_JZsdkOsalHandler;
/* Exported macro ------------------------------------------------------------*/
/* Exported types ------------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
T_JZsdkReturnCode JZsdk_OsalInit();
T_JZsdkOsalHandler *JZsdk_Platform_GetOsalHandler(void);
#ifdef __cplusplus
}
#endif
#endif
/************************ (C) COPYRIGHT DJI Innovations *******END OF FILE******/
... ...
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <semaphore.h>
#include <sys/time.h>
#include "./JZsdk_Semaphore.h"
/**
* @brief Declare the semaphore container, initialize the semaphore, and
* create semaphore ID.
* @param semaphore: pointer to the created semaphore ID.
* @param initValue: initial value of semaphore.
* @return an enum that represents a status of PSDK
*/
T_JZsdkReturnCode JZsdk_Osal_SemaphoreCreate(U32_t initValue, T_JZsdkSemaHandle *semaphore)
{
int result;
*semaphore = malloc(sizeof(sem_t));
if (*semaphore == NULL)
{
return JZ_ERROR_SYSTEM_MODULE_CODE_MEMORY_ALLOC_FAILED;
}
result = sem_init(*semaphore, 0, (unsigned int) initValue);
if (result != 0)
{
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
/**
* @brief Delete the created semaphore.
* @param semaphore: pointer to the created semaphore ID.
* @return an enum that represents a status of PSDK
*/
T_JZsdkReturnCode JZsdk_Osal_SemaphoreDestroy(T_JZsdkSemaHandle semaphore)
{
int result;
result = sem_destroy((sem_t *) semaphore);
if (result != 0)
{
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
}
free(semaphore);
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
/**
* @brief Wait the semaphore until token becomes available.
* @param semaphore: pointer to the created semaphore ID.
* @return an enum that represents a status of PSDK
*/
T_JZsdkReturnCode JZsdk_Osal_SemaphoreWait(T_JZsdkSemaHandle semaphore)
{
int result;
result = sem_wait(semaphore);
if (result != 0)
{
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
/**
* @brief Wait the semaphore until token becomes available.
* @param semaphore: pointer to the created semaphore ID.
* @param waitTime: timeout value of waiting semaphore, unit: millisecond.
* @return an enum that represents a status of PSDK
*/
T_JZsdkReturnCode JZsdk_Osal_SemaphoreTimedWait(T_JZsdkSemaHandle semaphore, U32_t waitTime)
{
int result;
struct timespec semaphoreWaitTime;
struct timeval systemTime;
gettimeofday(&systemTime, NULL);
systemTime.tv_usec += waitTime * 1000;
if (systemTime.tv_usec >= 1000000)
{
systemTime.tv_sec += systemTime.tv_usec / 1000000;
systemTime.tv_usec %= 1000000;
}
semaphoreWaitTime.tv_sec = systemTime.tv_sec;
semaphoreWaitTime.tv_nsec = systemTime.tv_usec * 1000;
result = sem_timedwait(semaphore, &semaphoreWaitTime);
if (result != 0)
{
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
/**
* @brief Release the semaphore token.
* @param semaphore: pointer to the created semaphore ID.
* @return an enum that represents a status of PSDK
*/
T_JZsdkReturnCode JZsdk_Osal_SemaphorePost(T_JZsdkSemaHandle semaphore)
{
int result;
result = sem_post(semaphore);
if (result != 0)
{
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
... ...
/**
********************************************************************
* @file JZsdk_Semaphore.h
* JZsdk_Semaphore.c 的头文件
*
*********************************************************************
*/
/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
#ifndef JZSDK_SEMAPHORE_H
#define JZSDK_SEMAPHORE_H
/* Includes ------------------------------------------------------------------*/
#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Exported constants --------------------------------------------------------*/
/* 常亮定义*/
/* Exported macro ------------------------------------------------------------*/
/* Exported types ------------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
T_JZsdkReturnCode JZsdk_Osal_SemaphoreCreate(U32_t initValue, T_JZsdkSemaHandle *semaphore);
T_JZsdkReturnCode JZsdk_Osal_SemaphoreDestroy(T_JZsdkSemaHandle semaphore);
T_JZsdkReturnCode JZsdk_Osal_SemaphoreWait(T_JZsdkSemaHandle semaphore);
T_JZsdkReturnCode JZsdk_Osal_SemaphoreTimedWait(T_JZsdkSemaHandle semaphore, U32_t waitTime);
T_JZsdkReturnCode JZsdk_Osal_SemaphorePost(T_JZsdkSemaHandle semaphore);
#ifdef __cplusplus
}
#endif
#endif
/************************ (C) COPYRIGHT DJI Innovations *******END OF FILE******/
... ...
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include "./JZsdk_Task.h"
T_JZsdkReturnCode JZsdk_Osal_TaskCreate(const char *name, void *(*taskFunc)(void *), unsigned int stackSize, void *arg,
T_JZTaskHandle *task)
{
int result;
char nameDealed[16] = {0};
//为任务句柄分配内存空间,大小为sizeof(pthread_t)。如果内存分配失败,则返回一个错误代码
*task = malloc(sizeof(pthread_t));
if (*task == NULL) {
return JZ_ERROR_SYSTEM_MODULE_CODE_MEMORY_ALLOC_FAILED;
}
//使用pthread_create函数创建一个新的线程,传递给它任务函数指针taskFunc和参数arg。如果创建线程失败,则返回一个错误代码
result = pthread_create(*task, NULL, taskFunc, arg);
if (result != 0) {
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
}
//如果任务名称name不为空,则将其拷贝到nameDealed字符数组中(最多拷贝sizeof(nameDealed) - 1个字符)。
if (name != NULL)
strncpy(nameDealed, name, sizeof(nameDealed) - 1);
//使用pthread_setname_np函数将任务线程的名称设置为nameDealed。如果设置线程名称失败,则返回一个错误代码
result = pthread_setname_np(*(pthread_t *) *task, nameDealed);
if (result != 0) {
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
}
/*int pthread_setcanceltype(int type, int *oldtype);
```
- `type`参数指定了取消类型,可以是以下两个值之一:
- `PTHREAD_CANCEL_DEFERRED`:线程将在下一个取消点取消。取消点是指线程可以响应取消请求的一些特定操作点,例如函数调用、线程等待等。线程将继续运行,直到到达取消点后才会被取消。
- `PTHREAD_CANCEL_ASYNCHRONOUS`:线程立即取消,不论是否在取消点。线程将立即终止执行,不会进行清理操作。这种取消类型可能导致资源泄漏和数据不一致,因此需要谨慎使用。
- `oldtype`参数是一个可选的输出参数,用于获取之前的取消类型。
*/
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
/*
- `state`参数指定了取消状态,可以是以下两个值之一:
- `PTHREAD_CANCEL_ENABLE`:线程可以接收取消请求。
- `PTHREAD_CANCEL_DISABLE`:线程忽略取消请求。
- `oldstate`参数是一个可选的输出参数,用于获取之前的取消状态。
通过调用`pthread_setcancelstate`函数,您可以选择线程的取消状态。默认情况下,线程的取消状态是`PTHREAD_CANCEL_ENABLE`。*/
pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
T_JZsdkReturnCode JZsdk_Osal_TaskDestroy(T_JZTaskHandle task)
{
pthread_cancel(*(pthread_t *) task);
free(task);
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
\ No newline at end of file
... ...
/**
********************************************************************
* @file JZsdk_Task.h
* JZsdk_Task.c 的头文件
*
*********************************************************************
*/
/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
#ifndef JZSDK_TASK_H
#define JZSDK_TASK_H
/* Includes ------------------------------------------------------------------*/
#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Exported constants --------------------------------------------------------*/
/* 常亮定义*/
/* Exported macro ------------------------------------------------------------*/
/* Exported types ------------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
T_JZsdkReturnCode JZsdk_Osal_TaskCreate(const char *name, void *(*taskFunc)(void *), unsigned int stackSize, void *arg,
T_JZTaskHandle *task);
T_JZsdkReturnCode JZsdk_Osal_TaskDestroy(T_JZTaskHandle task);
#ifdef __cplusplus
}
#endif
#endif
/************************ (C) COPYRIGHT DJI Innovations *******END OF FILE******/
... ...
#include <sys/time.h> // 为了使用 gettimeofday 函数
#include <time.h> // 为了使用 time 函数
#include "./JZsdk_TimeR.h"
static U32_t s_localTimeMsOffset = 0;
static U64_t s_localTimeUsOffset = 0;
/**
* @brief Get the system time for ms.
* @return an uint32 that the time of system, uint:ms
*/
T_JZsdkReturnCode JZsdk_Osal_GetTimeMs(U32_t *ms)
{
struct timeval time;
gettimeofday(&time, NULL);
*ms = (time.tv_sec * 1000 + time.tv_usec / 1000);
if (s_localTimeMsOffset == 0)
{
s_localTimeMsOffset = *ms;
} else {
*ms = *ms - s_localTimeMsOffset;
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
T_JZsdkReturnCode JZsdk_Osal_GetTimeUs(U64_t *us)
{
struct timeval time;
gettimeofday(&time, NULL);
*us = (time.tv_sec * 1000000 + time.tv_usec);
if (s_localTimeUsOffset == 0) {
s_localTimeUsOffset = *us;
} else {
*us = *us - s_localTimeMsOffset;
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
T_JZsdkReturnCode JZsdk_Osal_GetRandomNum(U16_t *randomNum)
{
srand(time(NULL));
*randomNum = random() % 65535;
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
/*
* 用于延时(粗略)
* 需要优化
*/
T_JZsdkReturnCode delayUs(U32_t msec)
{
usleep(msec);
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
/*
* 用于延时(粗略)
* 需要优化
*/
T_JZsdkReturnCode delayMs(U32_t msec)
{
usleep(msec * 1000);
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
/*
* 用于延时(粗略)
* 需要优化
*/
T_JZsdkReturnCode delayS(U32_t sec)
{
delayMs(sec * 1000);
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
\ No newline at end of file
... ...
/**
********************************************************************
* @file JZsdk_Timer.h
* JZsdk_Timer.c 的头文件
*
*********************************************************************
*/
/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
#ifndef JZSDK_TIMER_H
#define JZSDK_TIMER_H
/* Includes ------------------------------------------------------------------*/
#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Exported constants --------------------------------------------------------*/
/* 常亮定义*/
/* Exported macro ------------------------------------------------------------*/
/* Exported types ------------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
T_JZsdkReturnCode JZsdk_Osal_GetTimeMs(U32_t *ms);
T_JZsdkReturnCode JZsdk_Osal_GetTimeUs(U64_t *us);
T_JZsdkReturnCode JZsdk_Osal_GetRandomNum(U16_t *randomNum);
T_JZsdkReturnCode delayUs(U32_t msec);
T_JZsdkReturnCode delayMs(U32_t msec);
T_JZsdkReturnCode delayS(U32_t sec);
#ifdef __cplusplus
}
#endif
#endif
/************************ (C) COPYRIGHT DJI Innovations *******END OF FILE******/
... ...
... ... @@ -22,7 +22,7 @@ typedef struct {
pthread_cond_t condition; // 条件变量
} t_ThreadPool;
t_ThreadPool TaskPool[THREAD_POOL_SIZE]; //任务池子
static t_ThreadPool TaskPool[THREAD_POOL_SIZE]; //任务池子
static void* TaskManagement_ThreadFunction(void* arg);
... ...
... ... @@ -5,33 +5,37 @@
#include "JZsdkLib.h"
#include "version_choose.h"
#include "Hal_Send/HalSend.h"
#include "BaseConfig.h"
#include "ircut.h"
#include "Megaphone/Megaphone.h"
#include "Gimbal/Gimbal.h"
#include "JZsdk_uart/JZsdk_Uart_Input.h"
#include "BaseConfig.h"
#include "Psdk_UI_io.h"
#include "Lighting_InAndOut.h"
#include "JZsdk_network/JZsdk_network.h"
#include "JZsdk_TaskManagement/TaskManagement.h"
#include "JZsdk_haldata_deal/JZsdk_data_transmisson.h"
#include "MediaProc/MediaProc.h"
#include "UI_control/WidegMgmt/JZsdk_Widget.h"
#include "DeviceConfig/DeviceConfig.h"
#include "JZsdk_Hal.h"
#if APP_VERSION == APP_PSDK
#include "fc_subscription/test_fc_subscription.h"
#endif
#include "DeviceInfo/DeviceInfo.h"
#if MEGAPHONE_CONFIG_STATUS == VERSION_SWITCH_ON
#ifdef MEGAPHONE_CONFIG_STATUS_ON
#include "AudioDeal/AudioDeal.h"
#include "Megaphone/Megaphone.h"
extern int MegaphoneStatusFlag;
#endif
#ifdef SIDE_LASER_STATUS_ON
... ... @@ -42,7 +46,7 @@ static int Main_WorkMode();
static void *Main_WorkModeTask(void *arg);
static int WorkMode = JZ_FLAGCODE_OFF;
extern int MegaphoneStatusFlag;
static int g_All_filter_Mode = JZ_FLAGCODE_OFF; //用于m30的滤波开关
static int StartupPriorityNum = JZ_FLAGCODE_OFF; //优先启动项值
... ... @@ -58,7 +62,7 @@ T_JZsdkReturnCode Main_M30_all_filter_mode(int *mode)
{
//喊话器功能被打开时
#if MEGAPHONE_CONFIG_STATUS == VERSION_SWITCH_ON
#ifdef MEGAPHONE_CONFIG_STATUS_ON
if (*mode == JZ_FLAGCODE_GET)
{
*mode = g_All_filter_Mode;
... ... @@ -149,7 +153,7 @@ T_JZsdkReturnCode Main_APP_Psdk()
JZsdk_data_transmisson_Receive_Init();
//喊话器功能被打开时
#if MEGAPHONE_CONFIG_STATUS == VERSION_SWITCH_ON
#ifdef MEGAPHONE_CONFIG_STATUS_ON
//音频库初始化
AudioDeal_Init();
... ... @@ -159,16 +163,16 @@ T_JZsdkReturnCode Main_APP_Psdk()
if (DEVICE_VERSION == TF_A1)
{
//串口设备1初始化
//JZsdk_Uart_Init(UART_DEV_1);
//JZsdk_HalPort_Init_WithDefault(UART_DEV_1);
//串口设备2初始化
JZsdk_Uart_Init(UART_DEV_2);
JZsdk_HalPort_Init_WithDefault(UART_DEV_2);
//喊话器初始化
Megaphone_Init();
//云台初始化
Gimbal_Init();
Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT);
//灯类初始化
Lighting_Init();
... ... @@ -176,49 +180,49 @@ T_JZsdkReturnCode Main_APP_Psdk()
delayMs(1000);
//消息订阅初始化
JZsdk_Uart_Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON);
HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON);
}
else if (DEVICE_VERSION == JZ_H1E)
{
//串口设备1初始化
//JZsdk_Uart_Init(UART_DEV_1);
//JZsdk_HalPort_Init_WithDefault(UART_DEV_1);
//喊话器初始化
Megaphone_Init();
Megaphone_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT);
}
else if (DEVICE_VERSION == JZ_H1T)
{
//串口设备1初始化
//JZsdk_Uart_Init(UART_DEV_1);
//JZsdk_HalPort_Init_WithDefault(UART_DEV_1);
//4g设备初始化
JZsdk_Uart_Init(UART_4G);
JZsdk_HalPort_Init_WithDefault(UART_4G);
//喊话器初始化
Megaphone_Init();
//云台初始化
Gimbal_Init();
Gimbal_Init(JZ_MODULE_CONTROL_WAY_TRANSPARENT);
}
else if (DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T)
{
//串口设备1初始化
// JZsdk_Uart_Init(UART_DEV_1);
// JZsdk_HalPort_Init_WithDefault(UART_DEV_1);
if (DEVICE_VERSION == JZ_H150T)
{
//4g设备初始化
JZsdk_Uart_Init(UART_4G);
JZsdk_HalPort_Init_WithDefault(UART_4G);
}
//喊话器初始化
Megaphone_Init();
//云台初始化
Gimbal_Init();
Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT);
//相机初始化
MediaProc_Init();
... ... @@ -227,43 +231,43 @@ T_JZsdkReturnCode Main_APP_Psdk()
else if (DEVICE_VERSION == JZ_H10)
{
//串口设备1初始化
// JZsdk_Uart_Init(UART_DEV_1);
// JZsdk_HalPort_Init_WithDefault(UART_DEV_1);
//喊话器初始化
Megaphone_Init();
//云台初始化
Gimbal_Init();
Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT);
}
else if (DEVICE_VERSION == JZ_H10T)
{
//串口设备1初始化
//JZsdk_Uart_Init(UART_DEV_1);
//JZsdk_HalPort_Init_WithDefault(UART_DEV_1);
//4g设备初始化
JZsdk_Uart_Init(UART_4G);
JZsdk_HalPort_Init_WithDefault(UART_4G);
//喊话器初始化
Megaphone_Init();
//云台初始化
Gimbal_Init();
Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT);
}
else if (DEVICE_VERSION == JZ_U3)
{
//串口设备1初始化
//JZsdk_Uart_Init(UART_DEV_1);
//JZsdk_HalPort_Init_WithDefault(UART_DEV_1);
//串口设备2初始化
JZsdk_Uart_Init(UART_DEV_2);
JZsdk_HalPort_Init_WithDefault(UART_DEV_2);
//喊话器初始化
Megaphone_Init();
//云台初始化
Gimbal_Init();
Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT);
//灯类初始化
Lighting_Init();
... ... @@ -271,22 +275,22 @@ T_JZsdkReturnCode Main_APP_Psdk()
delayMs(1000);
//消息订阅初始化
JZsdk_Uart_Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON);
HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON);
}
else if (DEVICE_VERSION == JZ_U3S)
{
//串口设备1初始化
//JZsdk_Uart_Init(UART_DEV_1);
//JZsdk_HalPort_Init_WithDefault(UART_DEV_1);
//串口设备2初始化
JZsdk_Uart_Init(UART_DEV_2);
JZsdk_HalPort_Init_WithDefault(UART_DEV_2);
//喊话器初始化
Megaphone_Init();
//云台初始化
Gimbal_Init();
Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT);
//灯类初始化
Lighting_Init();
... ... @@ -297,22 +301,22 @@ T_JZsdkReturnCode Main_APP_Psdk()
delayMs(1000);
//消息订阅初始化
JZsdk_Uart_Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON);
HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON);
}
else if (DEVICE_VERSION == JZ_U3D)
{
//串口设备1初始化
//JZsdk_Uart_Init(UART_DEV_1);
//JZsdk_HalPort_Init_WithDefault(UART_DEV_1);
//串口设备2初始化
JZsdk_Uart_Init(UART_DEV_2);
JZsdk_HalPort_Init_WithDefault(UART_DEV_2);
//喊话器初始化
Megaphone_Init();
//云台初始化
Gimbal_Init();
Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT);
//灯类初始化
Lighting_Init();
... ... @@ -320,22 +324,22 @@ T_JZsdkReturnCode Main_APP_Psdk()
delayMs(1000);
//消息订阅初始化
JZsdk_Uart_Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON);
HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON);
}
else if (DEVICE_VERSION == JZ_U30)
{
//串口设备1初始化
//JZsdk_Uart_Init(UART_DEV_1);
//JZsdk_HalPort_Init_WithDefault(UART_DEV_1);
//串口设备2初始化
JZsdk_Uart_Init(UART_DEV_2);
JZsdk_HalPort_Init_WithDefault(UART_DEV_2);
//喊话器初始化
Megaphone_Init();
//云台初始化
Gimbal_Init();
Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT);
//灯类初始化
Lighting_Init();
... ... @@ -343,7 +347,7 @@ T_JZsdkReturnCode Main_APP_Psdk()
delayMs(1000);
//消息订阅初始化
JZsdk_Uart_Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON);
HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON);
}
else if (DEVICE_VERSION == JZ_C1)
... ... @@ -382,7 +386,7 @@ int Main_APP_Uart()
Main_WorkMode();
//喊话器功能被打开时
#if MEGAPHONE_CONFIG_STATUS == VERSION_SWITCH_ON
#ifdef MEGAPHONE_CONFIG_STATUS_ON
//音频库初始化
AudioDeal_Init();
#endif
... ... @@ -390,7 +394,7 @@ int Main_APP_Uart()
if (DEVICE_VERSION == JZ_H1E)
{
//串口设备1初始化
JZsdk_Uart_Init(UART_DEV_1);
JZsdk_HalPort_Init_WithDefault(UART_DEV_1);
//喊话器初始化
Megaphone_Init();
... ... @@ -399,16 +403,16 @@ int Main_APP_Uart()
if (DEVICE_VERSION == JZ_H1T)
{
//串口设备1初始化
JZsdk_Uart_Init(UART_DEV_1);
JZsdk_HalPort_Init_WithDefault(UART_DEV_1);
//4g设备初始化
JZsdk_Uart_Init(UART_4G);
JZsdk_HalPort_Init_WithDefault(UART_4G);
//喊话器初始化
Megaphone_Init();
//云台初始化
Gimbal_Init();
Gimbal_Init(JZ_MODULE_CONTROL_WAY_TRANSPARENT);
// //测试增加选项
// //开启循环
... ... @@ -421,7 +425,7 @@ int Main_APP_Uart()
if (DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T)
{
//串口设备1初始化
JZsdk_Uart_Init(UART_DEV_1);
JZsdk_HalPort_Init_WithDefault(UART_DEV_1);
//网口初始化
JZsdk_NetWork_Init();
... ... @@ -429,11 +433,11 @@ int Main_APP_Uart()
if (DEVICE_VERSION == JZ_H150T)
{
//4g设备初始化
JZsdk_Uart_Init(UART_4G);
JZsdk_HalPort_Init_WithDefault(UART_4G);
}
//云台初始化
Gimbal_Init();
Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT);
//相机初始化
MediaProc_Init();
... ... @@ -445,7 +449,7 @@ int Main_APP_Uart()
if (DEVICE_VERSION == JZ_H10)
{
//串口设备1初始化
JZsdk_Uart_Init(UART_DEV_1);
JZsdk_HalPort_Init_WithDefault(UART_DEV_1);
//H10和10t固定打开滤波
int filter_mode = JZ_FLAGCODE_ON;
... ... @@ -455,16 +459,16 @@ int Main_APP_Uart()
Megaphone_Init();
//云台初始化
Gimbal_Init();
Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT);
}
if (DEVICE_VERSION == JZ_H10T)
{
//串口设备1初始化
JZsdk_Uart_Init(UART_DEV_1);
JZsdk_HalPort_Init_WithDefault(UART_DEV_1);
//4g设备初始化
JZsdk_Uart_Init(UART_4G);
JZsdk_HalPort_Init_WithDefault(UART_4G);
//H10和10t固定打开滤波
int filter_mode = JZ_FLAGCODE_ON;
... ... @@ -474,22 +478,22 @@ int Main_APP_Uart()
Megaphone_Init();
//云台初始化
Gimbal_Init();
Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT);
}
if (DEVICE_VERSION == JZ_U3)
{
//串口设备1初始化
JZsdk_Uart_Init(UART_DEV_1);
JZsdk_HalPort_Init_WithDefault(UART_DEV_1);
//串口设备2初始化
JZsdk_Uart_Init(UART_DEV_2);
JZsdk_HalPort_Init_WithDefault(UART_DEV_2);
//喊话器初始化
Megaphone_Init();
//云台初始化
Gimbal_Init();
Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT);
//灯类初始化
Lighting_Init();
... ... @@ -497,7 +501,7 @@ int Main_APP_Uart()
delayMs(1000);
//消息订阅初始化
JZsdk_Uart_Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON);
HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON);
// //测试需要开启亮度
// JZsdk_Uart_SearchLight_Control(UART_DEV_1, 1);
... ... @@ -508,16 +512,16 @@ int Main_APP_Uart()
else if (DEVICE_VERSION == JZ_U3S)
{
//串口设备1初始化
JZsdk_Uart_Init(UART_DEV_1);
JZsdk_HalPort_Init_WithDefault(UART_DEV_1);
//串口设备2初始化
JZsdk_Uart_Init(UART_DEV_2);
JZsdk_HalPort_Init_WithDefault(UART_DEV_2);
//喊话器初始化
Megaphone_Init();
//云台初始化
Gimbal_Init();
Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT);
//灯类初始化
Lighting_Init();
... ... @@ -528,22 +532,22 @@ int Main_APP_Uart()
delayMs(1000);
//消息订阅初始化
JZsdk_Uart_Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON);
HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON);
}
else if (DEVICE_VERSION == JZ_U3D)
{
//串口设备1初始化
JZsdk_Uart_Init(UART_DEV_1);
JZsdk_HalPort_Init_WithDefault(UART_DEV_1);
//串口设备2初始化
JZsdk_Uart_Init(UART_DEV_2);
JZsdk_HalPort_Init_WithDefault(UART_DEV_2);
//喊话器初始化
Megaphone_Init();
//云台初始化
Gimbal_Init();
Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT);
//灯类初始化
Lighting_Init();
... ... @@ -551,7 +555,7 @@ int Main_APP_Uart()
delayMs(1000);
//消息订阅初始化
JZsdk_Uart_Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON);
HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON);
// delayS(3);
... ... @@ -566,16 +570,16 @@ int Main_APP_Uart()
else if (DEVICE_VERSION == JZ_U30)
{
//串口设备1初始化
JZsdk_Uart_Init(UART_DEV_1);
JZsdk_HalPort_Init_WithDefault(UART_DEV_1);
//串口设备2初始化
JZsdk_Uart_Init(UART_DEV_2);
JZsdk_HalPort_Init_WithDefault(UART_DEV_2);
//喊话器初始化
Megaphone_Init();
//云台初始化
Gimbal_Init();
Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT);
//灯类初始化
Lighting_Init();
... ... @@ -583,25 +587,25 @@ int Main_APP_Uart()
delayMs(1000);
//消息订阅初始化
JZsdk_Uart_Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON);
HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON);
}
if (DEVICE_VERSION == TF_A1)
{
//串口设备1初始化
JZsdk_Uart_Init(UART_DEV_1);
JZsdk_HalPort_Init_WithDefault(UART_DEV_1);
//串口设备2初始化
JZsdk_Uart_Init(UART_DEV_2);
JZsdk_HalPort_Init_WithDefault(UART_DEV_2);
//喊话器初始化
Megaphone_Init();
//云台初始化
Gimbal_Init();
Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT);
//消息订阅初始化
JZsdk_Uart_Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON);
HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON);
}
}
... ... @@ -609,7 +613,7 @@ int Main_APP_Uart()
int Main_TestAPP()
{
//串口设备1初始化
JZsdk_Uart_Init(UART_DEV_1);
JZsdk_HalPort_Init_WithDefault(UART_DEV_1);
}
//JZ_FLAGCODE_GET为返回工作值,其他值为设置
... ... @@ -728,12 +732,13 @@ static void *Main_WorkModeTask(void *arg)
delayMs(1000);//延迟一秒钟
printf("计数%d\n",i);
#ifdef MEGAPHONE_CONFIG_STATUS_ON
if (start_voice_flag == JZ_FLAGCODE_OFF && MegaphoneStatusFlag == JZ_FLAGCODE_ON)
{
start_voice_flag = JZ_FLAGCODE_ON;
Start_voice();
}
#endif
if (WorkMode == JZ_FLAGCODE_ON)
{
printf("串口连接成功,进入串口模式\n");
... ... @@ -752,7 +757,7 @@ static void *Main_WorkModeTask(void *arg)
JZSDK_LOG_INFO("选择开始psdk播报");
#endif
#if MEGAPHONE_CONFIG_STATUS == VERSION_SWITCH_ON
#ifdef MEGAPHONE_CONFIG_STATUS_ON
while (1)
{
if (start_voice_flag == JZ_FLAGCODE_OFF && MegaphoneStatusFlag == JZ_FLAGCODE_ON)
... ...
... ... @@ -14,6 +14,7 @@
#include "version_choose.h"
#include "JZsdkLib.h"
#include "./ParamterParsing.h"
#include "JZsdk_Base/JZsdk_Code/JZsdk_DeviceCode.h"
#ifdef __cplusplus
extern "C" {
... ... @@ -21,25 +22,6 @@ extern "C" {
/* Exported constants --------------------------------------------------------*/
/* 常亮定义*/
#define DEVICE_PSDK 0x1000 //psdk功能
#define UART_4G 0x1001 //4G功能
#define UART_DEV_1 0x1002 //1号设备功能
#define UART_DEV_2 0x1003 //2号设备功能
#define UART_DEV_3 0x1004 //3号设备功能
#define UART_DEV_4 0x1005 //4号设备功能
#define UART_DEV_5 0x1006 //5号设备功能
#define UART_USB_1 0x1100 //usb设备
#define UART_USB_2 0x1101 //usb设备
#define UART_USB_3 0x1102 //usb设备
#define UART_USB_4 0x1103 //usb设备
#define UART_USB_5 0x1104 //usb设备
#define HAL_DATA_TRANSMISSION 0x1200 //hal定制的特殊数据传播
#define COMBINE_DEVICE 0x1998 //组合设备
#define NO_SPECIFIED 0x1999 //无制定设备
//展架通讯串口
#if DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T
... ...
... ... @@ -5,21 +5,21 @@
***********************************************/
#ifndef VERSION_CHOOSE_H
#define VERSION_CHOOSE_H
#include "./ConfigParams.h"
#include "JZsdk_Base/JZsdk_Code/JZsdk_DeviceCode.h"
//1~10行 除了D可以修改版本选择 禁止动任何东西
#define DEVICE_VERSION JZ_H10T
#define DEVICE_VERSION JZ_H10
//禁止修改行 选择是串口程序 还是 psdk程序
#define APP_VERSION APP_PSDK
#define APP_VERSION APP_UART
//禁止修改行 板子型号
#define PLATFORM_VERSION PLATFORM_V3S
//禁止修改行 串口连接程序的软件版本号
#define MAJOR_VERSION 0x01
#define MINOR_VERSION 0x03
#define MODIFY_VERSION 0x09
#define DEBUG_VERSION 0x03
#define MAJOR_VERSION 0x00
#define MINOR_VERSION 0x00
#define MODIFY_VERSION 0x02
#define DEBUG_VERSION 0x12
//禁止修改行 滤波方式
#define FILTERING_TYPE HIGH_PASS_FILTERING
... ... @@ -40,37 +40,27 @@
#ifdef COMPILE_MODE_MODULE
//是否开启喊话器功能
#ifdef MACRO_MEGAPHONE_MODULE
#define MEGAPHONE_CONFIG_STATUS VERSION_SWITCH_ON
#else
#define MEGAPHONE_CONFIG_STATUS VERSION_SWITCH_OFF
#define MEGAPHONE_CONFIG_STATUS_ON
#endif
//是否开启媒体功能
#ifdef MACRO_MEDIA_PROC_MODULE
#define MEDIA_PROC_CONFIG_STATUS VERSION_SWITCH_ON
#define MEDIA_PROC_CONFIG_STATUS_ON
#else
#define MEDIA_PROC_CONFIG_STATUS VERSION_SWITCH_OFF
#endif
//是否开启红外相机功能
#ifdef MACRO_IRC_MODULE
#define IRC_CONFIG_STATUS VERSION_SWITCH_ON
#define IRC_CONFIG_STATUS_ON
#else
#define IRC_CONFIG_STATUS VERSION_SWITCH_OFF
#endif
//是否加载ktirclib
#ifdef DMACRO_KTIRC_MODULE
#ifdef MACRO_KTIRC_MODULE
#define KTIRC_LIB_STATUS_ON
#endif
//是否加载usb模块
#ifdef MACRO_USB_MODULE
#define USB_CONFIG_STATUS VERSION_SWITCH_ON
#else
#define USB_CONFIG_STATUS VERSION_SWITCH_OFF
#define USB_CONFIG_STATUS_ON
#endif
//是否加载RTK_MPP模块
... ... @@ -100,17 +90,16 @@
#else //这里用于方便调试使用,不是实际加载的模组
//是否开启喊话器功能
#define MEGAPHONE_CONFIG_STATUS VERSION_SWITCH_ON
#define MEGAPHONE_CONFIG_STATUS_ON
//是否开启媒体管理功能
#define MEDIA_PROC_CONFIG_STATUS VERSION_SWITCH_ON
#define MEDIA_PROC_CONFIG_STATUS_ON
//是否开启红外相机功能
#define IRC_CONFIG_STATUS VERSION_SWITCH_ON
#define IRC_CONFIG_STATUS_ON
//是否加载usb模块
#define USB_CONFIG_STATUS VERSION_SWITCH_ON
#define USB_CONFIG_STATUS_ON
//是否加载RTK_MPP模块
#define RTK_MPP_STATUS_ON
... ...
/**
********************************************************************
* @file Uart_Config.h
* Uart_Config的头文件
* 用于管理串口的基本信息
* @file HalRecv.h
* HalRecv.c的头文件
*
*********************************************************************
*/
/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
#ifndef UART_CONFIG_H
#define UART_CONFIG_H
#ifndef HALRECV_H
#define HALRECV_H
/* Includes ------------------------------------------------------------------*/
#include "BaseConfig.h"
#ifdef __cplusplus
extern "C" {
... ... @@ -19,11 +18,15 @@ extern "C" {
/* Exported constants --------------------------------------------------------*/
/* 常亮定义*/
#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
#include "Hal_Recv/HalRecv_type1/HalRecv_type1.h"
/* Exported types ------------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
#ifdef __cplusplus
}
#endif
... ...
/*********************************
*
* 极至接收数据处理
* 数据类型1
* 用于串口协议,大疆多通道接收协议
*
* ****************************************/
#include <stdio.h>
#include "JZsdkLib.h"
#include "BaseConfig.h"
#include "Hal_Recv/HalRecv_type1/HalRecv_type1.h"
#include "Hal_Recv/HalRecv_type1/HalRecv_type1_RecvDeal.h"
/***************
*
*
* 极至串口协议的数据初步筛选
* 用于清空无效数据
* 以及将有效数据提取出来,放置到后续处理函数中
* 输入要 处理的原始数据data 以及 数据长度DataLen 还有输入的接口
* 返回值:未处理的长度数据
*
* 该协议的帧排序为
*
* 帧头三位 0x5A 0x5A 0x77 | 组成了实际的帧头
* 帧长度两位 0x00 0x00 |
*
* 应答位一位 0x00 | 组成了识别顺序的部分
* 帧序列一位 0x00 |
*
* 一级功能码一位 0x00 | 组成了数据功能识别的部分
* 二级功能码一位 0x00 |
*
* 数据位 不定 | 用于描述该帧的实际内容
*
* 帧尾两位 0x00 0x23 | 祖册了实际的帧尾
*
* ********************/
int HalRecv_type1_PreliminaryScreeningOfData(unsigned char *Data, unsigned int DataLen, int Port)
{
int ResidualLength = 0; // 剩余数据长度
//串口打印
switch (Port)
{
case UART_DEV_1:
//JZSDK_LOG_INFO("串口-设备1号,接受到数据+未处理数据的长度len: %d", DataLen);
break;
case UART_DEV_2:
//JZSDK_LOG_INFO("串口-设备2号,接受到数据+未处理数据的长度len: %d", DataLen);
break;
case UART_4G:
//JZSDK_LOG_INFO("串口-4G模块,接受到数据+未处理数据的长度len: %d", DataLen);
break;
case HAL_DATA_TRANSMISSION:
//JZSDK_LOG_INFO("hal-数据传输,接受到数据+未处理数据的长度len: %d", DataLen);
break;
/********** 未报备的接口 ************/
default:
ResidualLength = 0;
return ResidualLength;
break;
}
//确保有数据传输进来
if (DataLen <= 0)
{
ResidualLength = 0;
return ResidualLength;
}
int HaveReadLen = 0; // 已读长度
int HaveDealLen = 0; // 已处理长度
int FrameFlag = 0x00; // 帧标志
int FrameLen = 0;
//将数据提取出来
//为什么是减3呢,因为帧头为3位
for (HaveReadLen = 0; HaveReadLen <= (DataLen - 3); )
{
//查找是否存在帧头
switch (Data[HaveReadLen])
{
case 0x5A:
{
if (Data[HaveReadLen + 1] == 0x5A && Data[HaveReadLen + 2] == 0x77)
{
FrameFlag = 0x5A;
}
else
{
FrameFlag = 0x00;
}
break;
}
case 0x5B:
{
if (Data[HaveReadLen + 1] == 0x5B && Data[HaveReadLen + 2] == 0x77)
{
FrameFlag = 0x5B;
}
else
{
FrameFlag = 0x00;
}
break;
}
case 0x6A:
{
if (Data[HaveReadLen + 1] == 0x6A && Data[HaveReadLen + 2] == 0x77)
{
FrameFlag = 0x6A;
}
else
{
FrameFlag = 0x00;
}
break;
}
case 0x6B:
{
if (Data[HaveReadLen + 1] == 0x6B && Data[HaveReadLen + 2] == 0x77)
{
FrameFlag = 0x6B;
}
else
{
FrameFlag = 0x00;
}
}
default:
FrameFlag = 0x00;
break;
}
//没有检测到帧头,向后继续查找
if (FrameFlag == 0x00)
{
HaveReadLen++;
continue;
}
//如果有帧头
//判断前面有没有多余的数据残留,并将其移除
if (HaveReadLen > HaveDealLen)
{
//JZSDK_LOG_INFO("残余处理%d",(HaveReadLen - HaveDealLen));
HaveDealLen = HaveReadLen;
}
//检查此时的剩余长度是否足够容纳帧长度位
if ((DataLen - HaveReadLen) < 5)
{
//如果已经容纳不下长度位了,则返回内容
ResidualLength = (DataLen - HaveReadLen);
return ResidualLength;
}
//此时有足够的长度位置,可以计算长度,检查帧长度是否超出数据剩余的内容
FrameLen = (((int)Data[HaveReadLen+3]) << 8) + (int)Data[HaveReadLen+4];
if (FrameLen > (DataLen - HaveReadLen))
{
//JZSDK_LOG_DEBUG("当前帧长度位长度%d 超出剩余帧长度%d ",FrameLen,(DataLen - HaveReadLen));
// 直接跳出for循环
break;
}
//检查帧长度是否为0,避免卡死接收串口
if (FrameLen == 0)
{
JZSDK_LOG_ERROR("严重错误,接收到的帧出现长度为空");
//直接清空接收的数组
return 0;
}
//以上检查都没问题,则正常输出帧
//JZSDK_LOG_INFO("正常输出帧%d",FrameLen);
HalRecv_type1_FrameDeal(Port, &Data[HaveReadLen], FrameLen);
HaveReadLen = HaveReadLen + FrameLen;
HaveDealLen = HaveReadLen;
//JZSDK_LOG_INFO("Prot:%x f_len%d h_r%d [h_r]:%x get%d",Port,FrameLen ,HaveReadLen, Data[HaveReadLen-1], DataLen);
FrameLen = 0;
FrameFlag = 0;
}
// 如果没有数据残留了,可以直接退出了
if (HaveDealLen >= DataLen)
{
//printf("HaveReadLen:%d HaveDealLen%d DataLen:%d\n",HaveReadLen,HaveDealLen,DataLen);
ResidualLength = 0;
return ResidualLength;
}
// 到达这里时
// 完整的帧 已处理
// 有帧头且长度为4的帧则已返回
// 没有剩余数据则已返回
// 剩下的是
// 1、剩余长度为所有0~3的帧
// 2、切帧的帧(即带帧头 长度大于4 小于帧长度的帧)
// 3、以及无实际意义数据
// 如果有帧头与长度位判定, 说明是切帧的帧,判断长度是否合理,如果合理返回帧长度给接收线程
if (FrameFlag != 0) //bu
{
// 1、判断帧的长度会不会不合理,帧的长度最大为文件名帧,其长度为9+2+1024
if (FrameLen > (9 + 2 + 1024))
{
JZSDK_LOG_ERROR("串口严重错误,接收到的帧长度位长度%d 超出最大长度%d ",FrameLen,(9 + 2 + 1024));
// 将其移除数据
HaveDealLen = HaveReadLen;
ResidualLength = 0;
return ResidualLength;
}
//printf("切帧返回%d\n",(DataLen - HaveDealLen));
// 2、如果合理,则返回剩余长度
ResidualLength = (DataLen - HaveDealLen);
return ResidualLength;
}
//接下来判断1类型
//检查最后3位
for (; HaveReadLen < DataLen - 2; HaveReadLen++)
{
if ((Data[HaveReadLen] == 0x5A && Data[HaveReadLen + 1] == 0x5A && Data[HaveReadLen + 2] == 0x77) ||
(Data[HaveReadLen] == 0x5B && Data[HaveReadLen + 1] == 0x5B && Data[HaveReadLen + 2] == 0x77) ||
(Data[HaveReadLen] == 0x6A && Data[HaveReadLen + 1] == 0x6A && Data[HaveReadLen + 2] == 0x77) ||
(Data[HaveReadLen] == 0x6B && Data[HaveReadLen + 1] == 0x6B && Data[HaveReadLen + 2] == 0x77))
{
//如果最后三位前还有数据,将其清空
if ((HaveReadLen - HaveDealLen) > 0)
{
HaveDealLen = HaveReadLen;
}
printf("检查最后3 4位%d\n",(DataLen - HaveDealLen));
ResidualLength = (DataLen - HaveDealLen);
return ResidualLength;
}
}
//检查最后两位
for (; HaveReadLen < DataLen - 1; HaveReadLen++)
{
if ((Data[HaveReadLen] == 0x5A && Data[HaveReadLen + 1] == 0x5A) ||
(Data[HaveReadLen] == 0x5B && Data[HaveReadLen + 1] == 0x5B) ||
(Data[HaveReadLen] == 0x6A && Data[HaveReadLen + 1] == 0x6A) ||
(Data[HaveReadLen] == 0x6B && Data[HaveReadLen + 1] == 0x6B))
{
if ((HaveReadLen - HaveDealLen) > 0)
{
HaveDealLen = HaveReadLen;
}
printf("检查最后两位%d\n",(DataLen - HaveDealLen));
ResidualLength = (DataLen - HaveDealLen);
return ResidualLength;
}
}
//检查最后一位
for (; HaveReadLen < DataLen - 0; HaveReadLen++)
{
if (Data[HaveReadLen] == 0x5A ||
Data[HaveReadLen] == 0x5B ||
Data[HaveReadLen] == 0x6A ||
Data[HaveReadLen] == 0x6B)
{
if ((HaveReadLen - HaveDealLen) > 0)
{
HaveDealLen = HaveReadLen;
}
printf("检查最后一位%d\n",(DataLen - HaveDealLen));
ResidualLength = (DataLen - HaveDealLen);
return ResidualLength;
}
}
//都检查完了,还是没有帧头在里面,清空所有数据
ResidualLength = 0;
return ResidualLength;
}
... ...
/**
********************************************************************
* @file HalRecv_tpye1.h
* HalRecv_tpye1.h的头文件
*
*********************************************************************
*/
/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
#ifndef HALRECV_TPYE1_H
#define HALRECV_TPYE1_H
/* Includes ------------------------------------------------------------------*/
#ifdef __cplusplus
extern "C" {
#endif
/* Exported constants --------------------------------------------------------*/
/* 常亮定义*/
/* Exported types ------------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
int HalRecv_type1_PreliminaryScreeningOfData(unsigned char *Data, unsigned int DataLen, int Port);
#ifdef __cplusplus
}
#endif
#endif
... ...
/**
********************************************************************
* @file HalRecv_type1_RecvDeal.h
* HalRecv_type1_RecvDeal
*
*********************************************************************
*/
/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
#ifndef HALRECV_TYPE1_RECVDEAL_H
#define HALRECV_TYPE1_RECVDEAL_H
/* Includes ------------------------------------------------------------------*/
#ifdef __cplusplus
extern "C" {
#endif
/* Exported constants --------------------------------------------------------*/
/* 常亮定义*/
#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
/* Exported types ------------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
T_JZsdkReturnCode HalRecv_type1_FrameDeal(int Port, unsigned char *getbuf, int len);
#ifdef __cplusplus
}
#endif
#endif
... ...
#include <stdio.h>
#include "JZsdkLib.h"
#include "JZsdk_uart/JZsdk_Uart_UartDeal.h"
#define SINGLE_THREAD_SEND 0
#define MULTI_THREAD_SEND 1
/*****************************
*
* hal层发送接口
*
* Port:发送的端口名
* Data:发送的数据
* DataLen:发送的数据长度
* SendType:发送类型
* 0:单线程发送
* 1:多线程发送
*
* 成功返回 jz sdk 成功码
* *************************/
T_JZsdkReturnCode HalSend_SendData(unsigned int Port, unsigned char *Data, unsigned int DataLen, unsigned int SendType)
{
T_JZsdkReturnCode ret = JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
//判断端口
switch (Port)
{
case UART_4G:
case UART_DEV_1:
case UART_DEV_2:
case UART_DEV_3:
case UART_DEV_4:
case UART_DEV_5:
if (SendType == SINGLE_THREAD_SEND)
{
JZsdk_Uart_UartSend(Port, Data, DataLen);
}
else if (SendType == MULTI_THREAD_SEND)
{
JZsdk_Uart_UartSend_NotTask(Port, Data, DataLen);
}
break;
case HAL_DATA_TRANSMISSION:
JZSDK_LOG_DEBUG("暂无该通道");
break;
default:
break;
}
return ret;
}
... ...
/**
********************************************************************
* @file HalRecv.h
* HalRecv.c的头文件
*
*********************************************************************
*/
/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
#ifndef HALRECV_H
#define HALRECV_H
/* Includes ------------------------------------------------------------------*/
#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
#include "Hal_Send/HalSend_type1/HalSend_type1.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Exported constants --------------------------------------------------------*/
/* 常亮定义*/
/* Exported types ------------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
T_JZsdkReturnCode HalSend_SendData(unsigned int Port, unsigned char *Data, unsigned int DataLen, unsigned int SendType);
#ifdef __cplusplus
}
#endif
#endif
... ...
... ... @@ -2,16 +2,16 @@
#include <string.h>
#include <stdlib.h>
#include "../JZsdk_Uart_UartDeal.h"
#include "../Uart_Config.h"
#include "./JZsdk_Uart_Send.h"
#include "JZsdk_TaskManagement/TaskManagement.h"
#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
#include "JZsdk_Base/JZsdk_FrameComparsion/JZsdk_FrameComparsion.h"
#include "JZsdkLib.h"
#include "JZsdk_TaskManagement/TaskManagement.h"
#include "Hal_Send/HalSend.h"
//发送主动连接帧
int JZsdk_Uart_SendDeal_ConnectFrame(int PortNum)
T_JZsdkReturnCode HalSend_type1Send_ConnectFrame(int PortNum)
{
unsigned char sendbuf[256];
int send_buf_len;
... ... @@ -20,11 +20,13 @@ int JZsdk_Uart_SendDeal_ConnectFrame(int PortNum)
JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_ASKFORCONNECT , sendbuf, &send_buf_len);
//2、发送帧
JZsdk_Uart_UartSend(PortNum ,sendbuf, send_buf_len);
HalSend_SendData(PortNum ,sendbuf, send_buf_len, 1);
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
//回复连接帧
int JZsdk_Uart_SendDeal_Send_Connect(int Uartport , int FrameSequence,int Version_flag)
T_JZsdkReturnCode HalSend_type1Send_Send_Connect(int Uartport , int FrameSequence,int Version_flag)
{
unsigned char sendbuf[256];
int send_buf_len;
... ... @@ -39,11 +41,13 @@ int JZsdk_Uart_SendDeal_Send_Connect(int Uartport , int FrameSequence,int Versio
sendbuf[6] = FrameSequence; //帧序列
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
//回复心跳帧
int JZsdk_Uart_SendDeal_Send_HeartBeatStatus(int Uartport , int FrameSequence,int HeartBeatStatus)
T_JZsdkReturnCode HalSend_type1Send_Send_HeartBeatStatus(int Uartport , int FrameSequence,int HeartBeatStatus)
{
unsigned char sendbuf[256];
int send_buf_len;
... ... @@ -58,11 +62,13 @@ int JZsdk_Uart_SendDeal_Send_HeartBeatStatus(int Uartport , int FrameSequence,in
sendbuf[6] = FrameSequence; //帧序列
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
//设置电源状态
T_JZsdkReturnCode JZsdk_Uart_SendDeal_PowerStatus(int Uartport, int FrameSequence, int status)
T_JZsdkReturnCode HalSend_type1Send_Set_PowerStatus(int Uartport, int FrameSequence, int status)
{
printf("发送电源状态\n");
... ... @@ -76,11 +82,13 @@ T_JZsdkReturnCode JZsdk_Uart_SendDeal_PowerStatus(int Uartport, int FrameSequenc
sendbuf[6] = FrameSequence; //帧序列
//2、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
//发送心跳帧
T_JZsdkReturnCode JZsdk_Uart_SendDeal_Ask_HeartBeatStatus(int Uartport , int FrameSequence,int HeartBeatStatus)
//请求心跳帧
T_JZsdkReturnCode HalSend_type1Send_Ask_HeartBeatStatus(int Uartport , int FrameSequence,int HeartBeatStatus)
{
printf("发送请求心跳帧\n");
... ... @@ -94,11 +102,13 @@ T_JZsdkReturnCode JZsdk_Uart_SendDeal_Ask_HeartBeatStatus(int Uartport , int Fra
sendbuf[6] = FrameSequence; //帧序列
//2、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
//发送请求时间戳帧
T_JZsdkReturnCode JZsdk_Uart_SendDeal_Ask_TimeStamp(int Uartport , int FrameSequence)
T_JZsdkReturnCode HalSend_type1Send_Ask_TimeStamp(int Uartport , int FrameSequence)
{
printf("发送请求时间戳帧\n");
... ... @@ -111,11 +121,13 @@ T_JZsdkReturnCode JZsdk_Uart_SendDeal_Ask_TimeStamp(int Uartport , int FrameSequ
sendbuf[6] = FrameSequence; //帧序列
//2、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
//发送版本号
T_JZsdkReturnCode JZsdk_Uart_SendDeal_SendAllVersion(int Uartport, int FrameSequence, int DeviceID, int MajorVersion, int MinorVersion, int ModifyVersion, int DebugVersion)
T_JZsdkReturnCode HalSend_type1Send_SendAllVersion(int Uartport, int FrameSequence, int DeviceID, int MajorVersion, int MinorVersion, int ModifyVersion, int DebugVersion)
{
printf("发送所有版本号\n");
... ... @@ -133,11 +145,13 @@ T_JZsdkReturnCode JZsdk_Uart_SendDeal_SendAllVersion(int Uartport, int FrameSequ
sendbuf[13] = DebugVersion;
//2、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
//发送序列号
T_JZsdkReturnCode JZsdk_Uart_SendDeal_SendAllSerialNumber(int Uartport, int FrameSequence, int DeviceID, unsigned char *SerialNumber, int SerialNumberLen)
T_JZsdkReturnCode HalSend_type1Send_SendAllSerialNumber(int Uartport, int FrameSequence, int DeviceID, unsigned char *SerialNumber, int SerialNumberLen)
{
printf("发送所有序列号\n");
... ... @@ -158,11 +172,13 @@ T_JZsdkReturnCode JZsdk_Uart_SendDeal_SendAllSerialNumber(int Uartport, int Fram
sendbuf[4] = (send_buf_len & 0xff);
//2、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
//发送成功帧
int JZsdk_Uart_SendDeal_Reply_Sucesss(int Uartport ,int FrameSequence)
T_JZsdkReturnCode HalSend_type1Send_Reply_Success(int Uartport ,int FrameSequence)
{
unsigned char sendbuf[256];
int send_buf_len;
... ... @@ -174,11 +190,13 @@ int JZsdk_Uart_SendDeal_Reply_Sucesss(int Uartport ,int FrameSequence)
sendbuf[6] = FrameSequence; //帧序列
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
//发送失败帧
int JZsdk_Uart_SendDeal_Reply_Failure(int Uartport ,int FrameSequence)
T_JZsdkReturnCode HalSend_type1Send_Reply_Failure(int Uartport ,int FrameSequence)
{
unsigned char sendbuf[256];
int send_buf_len;
... ... @@ -190,11 +208,11 @@ int JZsdk_Uart_SendDeal_Reply_Failure(int Uartport ,int FrameSequence)
sendbuf[6] = FrameSequence; //帧序列
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//发送校验失败帧
T_JZsdkReturnCode JZsdk_Uart_SendDeal_Reply_CheckError(int Uartport ,int FrameSequence)
T_JZsdkReturnCode HalSend_type1Send_Reply_CheckError(int Uartport ,int FrameSequence)
{
unsigned char sendbuf[256];
int send_buf_len;
... ... @@ -206,11 +224,11 @@ T_JZsdkReturnCode JZsdk_Uart_SendDeal_Reply_CheckError(int Uartport ,int FrameSe
sendbuf[6] = FrameSequence; //帧序列
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//发送解码失败帧
T_JZsdkReturnCode JZsdk_Uart_SendDeal_Reply_DecodeError(int Uartport ,int FrameSequence)
T_JZsdkReturnCode HalSend_type1Send_Reply_DecodeError(int Uartport ,int FrameSequence)
{
unsigned char sendbuf[256];
int send_buf_len;
... ... @@ -222,11 +240,11 @@ T_JZsdkReturnCode JZsdk_Uart_SendDeal_Reply_DecodeError(int Uartport ,int FrameS
sendbuf[6] = FrameSequence; //帧序列
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//发送当前从设备名
int JZsdk_Uart_SendDeal_Reply_SecondaryDeviceName(int Uartport , int device_name, int FrameSequence)
T_JZsdkReturnCode HalSend_type1Send_Reply_SecondaryDeviceName(int Uartport , int device_name, int FrameSequence)
{
unsigned char sendbuf[256];
int send_buf_len;
... ... @@ -239,12 +257,12 @@ int JZsdk_Uart_SendDeal_Reply_SecondaryDeviceName(int Uartport , int device_name
sendbuf[10] = device_name;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//查询当前从设备名
int JZsdk_Uart_SendDeal_QuerySecondaryDeviceName(int Uartport ,int FrameSequence)
T_JZsdkReturnCode HalSend_type1Send_QuerySecondaryDeviceName(int Uartport ,int FrameSequence)
{
unsigned char sendbuf[256];
int send_buf_len;
... ... @@ -256,11 +274,11 @@ int JZsdk_Uart_SendDeal_QuerySecondaryDeviceName(int Uartport ,int FrameSequence
sendbuf[6] = FrameSequence; //帧序列
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//发送当前设备序列号
int JZsdk_Uart_SendDeal_SerialNumber(int UartPort, int FrameSequence, char *SerialNumber, int SerialNumberLenth)
T_JZsdkReturnCode HalSend_type1Send_SerialNumber(int UartPort, int FrameSequence, char *SerialNumber, int SerialNumberLenth)
{
unsigned char sendbuf[256];
int send_buf_len;
... ... @@ -283,7 +301,7 @@ int JZsdk_Uart_SendDeal_SerialNumber(int UartPort, int FrameSequence, char *Seri
sendbuf[4] = send_buf_len;
//3、发送帧
JZsdk_Uart_UartSend(UartPort ,sendbuf, send_buf_len);
HalSend_SendData(UartPort ,sendbuf, send_buf_len, 1);
}
/*********
... ... @@ -292,7 +310,7 @@ int JZsdk_Uart_SendDeal_SerialNumber(int UartPort, int FrameSequence, char *Seri
*
*
* *******/
T_JZsdkReturnCode JZsdk_Uart_SendDeal_DeviceMessage(int UartPort, int FrameSequence, unsigned char *message, unsigned int messageLen)
T_JZsdkReturnCode HalSend_type1Send_DeviceMessage(int UartPort, int FrameSequence, unsigned char *message, unsigned int messageLen)
{
unsigned char sendbuf[300];
memset(sendbuf,0,sizeof(sendbuf));
... ... @@ -308,7 +326,7 @@ T_JZsdkReturnCode JZsdk_Uart_SendDeal_DeviceMessage(int UartPort, int FrameSeque
sendbuf[9+messageLen + 1] = 0x23;
//3、发送帧
JZsdk_Uart_UartSend(UartPort ,sendbuf, send_buf_len);
HalSend_SendData(UartPort ,sendbuf, send_buf_len, 1);
}
... ... @@ -317,7 +335,7 @@ struct JZsdk_MusicListSentStruct
int UartPort;
int FrameSequence;
int music_sum;
char **MusicName;
unsigned char **MusicName;
int *MusicNameLength;
};
... ... @@ -326,7 +344,7 @@ struct JZsdk_MusicListSentStruct
* 歌曲列表发送任务函数
*
* ***********/
static void JZsdk_Uart_SentDeal_Reply_Musiclist_Task(void *data)
static void HalSend_type1Send_Reply_Musiclist_Task(void *data)
{
struct JZsdk_MusicListSentStruct *taskData = (struct JZsdk_MusicListSentStruct *)data;
unsigned char sendbuf[256];
... ... @@ -340,7 +358,7 @@ static void JZsdk_Uart_SentDeal_Reply_Musiclist_Task(void *data)
sendbuf[6] = taskData->FrameSequence; //帧序列
//发送帧
printf("发送操作成功帧\n");
JZsdk_Uart_UartSend_NotTask(taskData->UartPort ,sendbuf, send_buf_len);
HalSend_SendData(taskData->UartPort ,sendbuf, send_buf_len, 0);
//2、发送开始帧
//获取帧样板
... ... @@ -351,7 +369,7 @@ static void JZsdk_Uart_SentDeal_Reply_Musiclist_Task(void *data)
sendbuf[9] = taskData->music_sum;
//发送帧
printf("发送歌曲开始列表帧\n");
JZsdk_Uart_UartSend_NotTask(taskData->UartPort ,sendbuf, send_buf_len);
HalSend_SendData(taskData->UartPort ,sendbuf, send_buf_len, 0);
//3、逐一调用发送函数将歌曲名发出
for (int i = 0; i < (taskData->music_sum) ; i++)
... ... @@ -368,7 +386,7 @@ static void JZsdk_Uart_SentDeal_Reply_Musiclist_Task(void *data)
sendbuf[3] = (send_buf_len >> 8);
sendbuf[4] = (send_buf_len & 0xff);
sendbuf[6] = taskData->FrameSequence; //帧序列
JZsdk_Uart_UartSend_NotTask(taskData->UartPort ,sendbuf, send_buf_len);
HalSend_SendData(taskData->UartPort ,sendbuf, send_buf_len, 0);
}
//4、发送结束帧
... ... @@ -380,7 +398,7 @@ static void JZsdk_Uart_SentDeal_Reply_Musiclist_Task(void *data)
sendbuf[9] = 0x00;
//发送帧
printf("发送歌曲结束列表");
JZsdk_Uart_UartSend_NotTask(taskData->UartPort ,sendbuf, send_buf_len);
HalSend_SendData(taskData->UartPort ,sendbuf, send_buf_len, 0);
//5、释放内存
for (int i = 0; i < taskData->music_sum; i++)
... ... @@ -398,7 +416,7 @@ static void JZsdk_Uart_SentDeal_Reply_Musiclist_Task(void *data)
}
//发送歌曲列表Ⅰ型
T_JZsdkReturnCode JZsdk_Uart_SentDeal_Reply_Musiclist(int UartPort ,int FrameSequence, int music_sum ,char **MusicName ,int *MusicNameLength)
T_JZsdkReturnCode HalSend_type1Send_Reply_Musiclist(int UartPort ,int FrameSequence, int music_sum ,unsigned char **MusicName ,int *MusicNameLength)
{
struct JZsdk_MusicListSentStruct *musicList = (struct JZsdk_MusicListSentStruct *)malloc(sizeof(struct JZsdk_MusicListSentStruct));
if (musicList == NULL)
... ... @@ -412,7 +430,7 @@ T_JZsdkReturnCode JZsdk_Uart_SentDeal_Reply_Musiclist(int UartPort ,int FrameSeq
musicList->MusicName = MusicName;
musicList->MusicNameLength = MusicNameLength;
T_JZsdkReturnCode ret = TaskManagement_SubmitTask(JZsdk_Uart_SentDeal_Reply_Musiclist_Task, (void *)musicList);
T_JZsdkReturnCode ret = TaskManagement_SubmitTask(HalSend_type1Send_Reply_Musiclist_Task, (void *)musicList);
if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE)
{
free(musicList);
... ... @@ -424,7 +442,7 @@ T_JZsdkReturnCode JZsdk_Uart_SentDeal_Reply_Musiclist(int UartPort ,int FrameSeq
}
//发送歌曲列表开始帧
T_JZsdkReturnCode JZsdk_Uart_SendDeal_Send_AudioList_Start(int Uartport, int FrameSequence, int music_sum)
T_JZsdkReturnCode HalSend_type1Send_Send_AudioList_Start(int Uartport, int FrameSequence, int music_sum)
{
printf("发送歌曲开始列表帧\n");
... ... @@ -439,13 +457,13 @@ T_JZsdkReturnCode JZsdk_Uart_SendDeal_Send_AudioList_Start(int Uartport, int Fra
sendbuf[9] = music_sum;
//发送帧
JZsdk_Uart_UartSend_NotTask(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 0);
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
//发送歌曲列表结束帧
T_JZsdkReturnCode JZsdk_Uart_SendDeal_Send_AudioList_Stop(int Uartport, int FrameSequence)
T_JZsdkReturnCode HalSend_type1Send_Send_AudioList_Stop(int Uartport, int FrameSequence)
{
printf("发送歌曲结束列表帧\n");
... ... @@ -458,11 +476,11 @@ T_JZsdkReturnCode JZsdk_Uart_SendDeal_Send_AudioList_Stop(int Uartport, int Fram
//写入数据
sendbuf[6] = FrameSequence; //帧序列
JZsdk_Uart_UartSend_NotTask(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 0);
}
//发送歌曲列表Ⅱ型
T_JZsdkReturnCode JZsdk_Uart_SendDeal_Send_AudioList_2(int Uartport, int FrameSequence, unsigned char *name, unsigned int namelen, unsigned int Filesize, unsigned int Time)
T_JZsdkReturnCode HalSend_type1Send_Send_AudioList_2(int Uartport, int FrameSequence, unsigned char *name, unsigned int namelen, unsigned int Filesize, unsigned int Time)
{
printf("发送歌曲列表Ⅱ型 %s %d %d %d\n",name, namelen, Filesize, Time);
unsigned char sendbuf[400];
... ... @@ -496,14 +514,14 @@ T_JZsdkReturnCode JZsdk_Uart_SendDeal_Send_AudioList_2(int Uartport, int FrameSe
sendbuf[send_buf_len-1] = 0x23;
//3、发送帧
JZsdk_Uart_UartSend_NotTask(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 0);
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
//发送音频详细信息帧
T_JZsdkReturnCode JZsdk_Uart_SendDeal_Send_AudioDetailMessage(int Uartport, int FrameSequence, unsigned char type ,unsigned char *data, unsigned int datalen)
T_JZsdkReturnCode HalSend_type1Send_Send_AudioDetailMessage(int Uartport, int FrameSequence, unsigned char type ,unsigned char *data, unsigned int datalen)
{
printf("发送音频详细信息帧\n");
unsigned char sendbuf[256];
... ... @@ -524,13 +542,13 @@ T_JZsdkReturnCode JZsdk_Uart_SendDeal_Send_AudioDetailMessage(int Uartport, int
sendbuf[send_buf_len-1] = 0x23;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
//发送播放状态结束帧
int JZsdk_Uart_SendDeal_Send_PlayStatus_end(int Uartport)
T_JZsdkReturnCode HalSend_type1Send_Send_PlayStatus_end(int Uartport)
{
printf("发送播放状态结束帧\n");
unsigned char sendbuf[256];
... ... @@ -542,11 +560,11 @@ int JZsdk_Uart_SendDeal_Send_PlayStatus_end(int Uartport)
//2、写入数据
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//发送播放状态帧
int JZsdk_Uart_SendDeal_Send_PlayStatus(int Uartport ,int num)
T_JZsdkReturnCode HalSend_type1Send_Send_PlayStatus(int Uartport ,int num)
{
printf("向");
switch (Uartport)
... ... @@ -575,11 +593,11 @@ int JZsdk_Uart_SendDeal_Send_PlayStatus(int Uartport ,int num)
sendbuf[9] = (char)num;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//回复当前播放的歌曲名字
int JZsdk_Uart_SendDeal_Reply_MusicName(int Uartport ,char *music_name, int music_name_len)
T_JZsdkReturnCode HalSend_type1Send_Reply_MusicName(int Uartport ,char *music_name, int music_name_len)
{
printf("发送当前歌曲名字帧");
unsigned char sendbuf[256];
... ... @@ -599,13 +617,13 @@ int JZsdk_Uart_SendDeal_Reply_MusicName(int Uartport ,char *music_name, int musi
sendbuf[4] = len & 0xff;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, len);
HalSend_SendData(Uartport ,sendbuf, len, 1);
}
//回复当前音量
int JZsdk_Uart_SendDeal_Reply_Volume(int Uartport ,int num)
T_JZsdkReturnCode HalSend_type1Send_Reply_Volume(int Uartport ,int num)
{
printf("发送播放状态\n");
printf("发送当前音量\n");
unsigned char sendbuf[256];
int send_buf_len;
... ... @@ -616,14 +634,14 @@ int JZsdk_Uart_SendDeal_Reply_Volume(int Uartport ,int num)
sendbuf[9] = (char)num;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//回复软件版本号
int JZsdk_Uart_SendDeal_Reply_SoftVersion(int Uartport ,char majorVersion, char minorVersion, char modifyVersion, char debugVersion)
T_JZsdkReturnCode HalSend_type1Send_Reply_SoftVersion(int Uartport ,char majorVersion, char minorVersion, char modifyVersion, char debugVersion)
{
printf("发送软件版本号帧\n");
unsigned char sendbuf[256];
... ... @@ -639,11 +657,11 @@ int JZsdk_Uart_SendDeal_Reply_SoftVersion(int Uartport ,char majorVersion, char
sendbuf[12] = debugVersion;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//发送循环状态
int JZsdk_Uart_SendDeal_Reply_LoopPlayStatus(int Uartport ,int status)
T_JZsdkReturnCode HalSend_type1Send_Reply_LoopPlayStatus(int Uartport ,int status)
{
printf("发送循环状态帧\n");
... ... @@ -657,12 +675,12 @@ int JZsdk_Uart_SendDeal_Reply_LoopPlayStatus(int Uartport ,int status)
sendbuf[9] = status;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//发送音色
int JZsdk_Uart_SendDeal_Reply_TTS_tone(int Uartport ,int tone)
T_JZsdkReturnCode HalSend_type1Send_Reply_TTS_tone(int Uartport ,int tone)
{
printf("发送音色帧\n");
... ... @@ -676,11 +694,11 @@ int JZsdk_Uart_SendDeal_Reply_TTS_tone(int Uartport ,int tone)
sendbuf[9] = tone;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//发送语速
int JZsdk_Uart_SendDeal_Reply_TTS_speed(int Uartport ,int speed)
T_JZsdkReturnCode HalSend_type1Send_Reply_TTS_speed(int Uartport ,int speed)
{
printf("发送音色帧\n");
... ... @@ -694,7 +712,7 @@ int JZsdk_Uart_SendDeal_Reply_TTS_speed(int Uartport ,int speed)
sendbuf[9] = speed;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
/*************
... ... @@ -702,7 +720,7 @@ int JZsdk_Uart_SendDeal_Reply_TTS_speed(int Uartport ,int speed)
* 发送opus解码状态
*
* **************/
int JZsdk_Uart_SendDeal_OpusDecodeStatus(int Uartport,int value)
T_JZsdkReturnCode HalSend_type1Send_OpusDecodeStatus(int Uartport,int value)
{
printf("发送opus解码状态帧\n");
... ... @@ -716,7 +734,7 @@ int JZsdk_Uart_SendDeal_OpusDecodeStatus(int Uartport,int value)
sendbuf[9] = value;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
/****************************************************************************************************************************************************
... ... @@ -725,10 +743,10 @@ int JZsdk_Uart_SendDeal_OpusDecodeStatus(int Uartport,int value)
*
****************************************************************************************************************************************************/
//回复当前云台角度
int JZsdk_Uart_SendDeal_Reply_GimbalPitchAngle(int Uartport ,int angle)
//回复当前俯仰云台角度
T_JZsdkReturnCode HalSend_type1Send_Reply_GimbalPitchAngle(int Uartport ,int angle)
{
printf("发送当前云台角度帧\n");
printf("发送当前俯仰云台角度帧\n");
unsigned char sendbuf[256];
int send_buf_len;
... ... @@ -748,11 +766,11 @@ int JZsdk_Uart_SendDeal_Reply_GimbalPitchAngle(int Uartport ,int angle)
sendbuf[11] = (char)(angle & 255);
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//设置当前云台角度
int JZsdk_Uart_SendDeal_Set_GimbalPitchAngle(int Uartport ,int angle)
T_JZsdkReturnCode HalSend_type1Send_Set_GimbalPitchAngle(int Uartport ,int angle)
{
//printf("发送设置云台角度帧 %d\n",angle); //该打印可能会造成卡顿
unsigned char sendbuf[256];
... ... @@ -776,11 +794,11 @@ int JZsdk_Uart_SendDeal_Set_GimbalPitchAngle(int Uartport ,int angle)
sendbuf[11] = (angle & 0xff);
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//查询云台角度
int JZsdk_Uart_SendDeal_CheckStatus_GimbalAngle(int Uartport ,int FrameSequence)
T_JZsdkReturnCode HalSend_type1Send_CheckStatus_GimbalAngle(int Uartport ,int FrameSequence)
{
printf("发送查询云台角度帧\n");
unsigned char sendbuf[256];
... ... @@ -793,11 +811,11 @@ int JZsdk_Uart_SendDeal_CheckStatus_GimbalAngle(int Uartport ,int FrameSequence)
sendbuf[6] = FrameSequence;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//微调云台pitch
int JZsdk_Uart_SendDeal_Set_GimbalFineTuningPitch(int Uartport, int PitchFineTuning)
T_JZsdkReturnCode HalSend_type1Send_Set_GimbalFineTuningPitch(int Uartport, int PitchFineTuning)
{
printf("发送微调云台pitch帧\n");
unsigned char sendbuf[256];
... ... @@ -821,11 +839,11 @@ int JZsdk_Uart_SendDeal_Set_GimbalFineTuningPitch(int Uartport, int PitchFineTun
sendbuf[11] = (PitchFineTuning & 0xff);
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//查询云台角度微调值
int JZsdk_Uart_SendDeal_CheckStatus_GimbalFineTuningPitch(int Uartport, int FrameSequence)
T_JZsdkReturnCode HalSend_type1Send_CheckStatus_GimbalFineTuningPitch(int Uartport, int FrameSequence)
{
printf("发送查询云台角度微调值帧\n");
unsigned char sendbuf[256];
... ... @@ -838,11 +856,11 @@ int JZsdk_Uart_SendDeal_CheckStatus_GimbalFineTuningPitch(int Uartport, int Fram
sendbuf[6] = FrameSequence; //帧序列
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//回复云台pitch微调值
int JZsdk_Uart_SendDeal_Reply_GimbalFineTuningPitch(int Uartport, int FrameSequence, int FineTunigPitch)
T_JZsdkReturnCode HalSend_type1Send_Reply_GimbalFineTuningPitch(int Uartport, int FrameSequence, int FineTunigPitch)
{
printf("发送云台pitch微调值\n");
unsigned char sendbuf[256];
... ... @@ -866,11 +884,11 @@ int JZsdk_Uart_SendDeal_Reply_GimbalFineTuningPitch(int Uartport, int FrameSeque
sendbuf[11] = (FineTunigPitch & 0xff);
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//设置云台联动
int JZsdk_Uart_SendDeal_Set_GimbalLinkageControl(int Uartport,int FrameSequence, int value)
T_JZsdkReturnCode HalSend_type1Send_Set_GimbalLinkageControl(int Uartport,int FrameSequence, int value)
{
printf("发送设置云台联动帧\n");
unsigned char sendbuf[256];
... ... @@ -884,11 +902,11 @@ int JZsdk_Uart_SendDeal_Set_GimbalLinkageControl(int Uartport,int FrameSequence,
sendbuf[10] = value;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//查询云台联动值
int JZsdk_Uart_SendDeal_CheckStatus_GimbalLinkage(int Uartport,int FrameSequence)
T_JZsdkReturnCode HalSend_type1Send_CheckStatus_GimbalLinkage(int Uartport,int FrameSequence)
{
printf("发送查询云台联动值帧\n");
unsigned char sendbuf[256];
... ... @@ -901,11 +919,11 @@ int JZsdk_Uart_SendDeal_CheckStatus_GimbalLinkage(int Uartport,int FrameSequence
sendbuf[6] = FrameSequence; //帧序列
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//发送云台联动值
int JZsdk_Uart_SendDeal_GimbalLinkageControl(int Uartport,int FrameSequence,int value)
T_JZsdkReturnCode HalSend_type1Send_GimbalLinkageControl(int Uartport,int FrameSequence,int value)
{
printf("发送云台联动值帧\n");
unsigned char sendbuf[256];
... ... @@ -919,11 +937,11 @@ int JZsdk_Uart_SendDeal_GimbalLinkageControl(int Uartport,int FrameSequence,int
sendbuf[10] = value;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//发送云台最大最小值帧
int JZsdk_Uart_SendDeal_SetGimbalRange(int Uartport,int FrameSequence,int value)
T_JZsdkReturnCode HalSend_type1Send_SetGimbalRange(int Uartport,int FrameSequence,int value)
{
printf("发送云台最大最小值帧\n");
unsigned char sendbuf[256];
... ... @@ -937,7 +955,7 @@ int JZsdk_Uart_SendDeal_SetGimbalRange(int Uartport,int FrameSequence,int value)
sendbuf[10] = value;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
/****************************************************************************************************************************************************
... ... @@ -947,7 +965,7 @@ int JZsdk_Uart_SendDeal_SetGimbalRange(int Uartport,int FrameSequence,int value)
****************************************************************************************************************************************************/
//发送设置探照灯爆闪频率
int JZsdk_Uart_SendDeal_Set_SearchLightFrequency(int Uartport ,int Frequency)
T_JZsdkReturnCode HalSend_type1Send_Set_SearchLightFrequency(int Uartport ,int Frequency)
{
printf("发送设置爆闪频率帧\n");
... ... @@ -961,11 +979,11 @@ int JZsdk_Uart_SendDeal_Set_SearchLightFrequency(int Uartport ,int Frequency)
sendbuf[10] = Frequency;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//设置探照灯控制
int JZsdk_Uart_SendDeal_SearchLight_Control(int Uartport,int mode)
T_JZsdkReturnCode HalSend_type1Send_SearchLight_Control(int Uartport,int mode)
{
printf("发送探照灯控制\n");
... ... @@ -979,11 +997,11 @@ int JZsdk_Uart_SendDeal_SearchLight_Control(int Uartport,int mode)
sendbuf[10] = mode;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//设置探照灯亮度
int JZsdk_Uart_SendDeal_SearchLight_SetLumen(int Uartport, int LeftLumen, int RightLumen)
T_JZsdkReturnCode HalSend_type1Send_SearchLight_SetLumen(int Uartport, int LeftLumen, int RightLumen)
{
printf("发送设置探照灯亮度\n");
... ... @@ -998,13 +1016,13 @@ int JZsdk_Uart_SendDeal_SearchLight_SetLumen(int Uartport, int LeftLumen, int
sendbuf[10] = RightLumen;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//发送
//查询探照灯频率
int JZsdk_Uart_SendDeal_Set_SearchLight_CheckStatus_Frequency(int Uartport)
T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Frequency(int Uartport)
{
printf("发送查询探照灯频率帧\n");
... ... @@ -1015,11 +1033,11 @@ int JZsdk_Uart_SendDeal_Set_SearchLight_CheckStatus_Frequency(int Uartport)
JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_FREQUENCY, sendbuf, &send_buf_len);
//2、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//查询探照灯亮度
int JZsdk_Uart_SendDeal_Set_SearchLight_CheckStatus_Lumen(int Uartport)
T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Lumen(int Uartport)
{
printf("发送查询探照灯亮度帧\n");
... ... @@ -1030,11 +1048,11 @@ int JZsdk_Uart_SendDeal_Set_SearchLight_CheckStatus_Lumen(int Uartport)
JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_LUMEN, sendbuf, &send_buf_len);
//2、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//查询探照灯模式
int JZsdk_Uart_SendDeal_Set_SearchLight_CheckStatus_Mode(int Uartport)
T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Mode(int Uartport)
{
printf("发送查询探照灯模式帧\n");
... ... @@ -1045,11 +1063,11 @@ int JZsdk_Uart_SendDeal_Set_SearchLight_CheckStatus_Mode(int Uartport)
JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_MODE, sendbuf, &send_buf_len);
//2、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//查询探照灯属性
int JZsdk_Uart_SendDeal_CheckStatus_LightAttribute(int Uartport)
T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Attribute(int Uartport)
{
printf("发送查询探照灯属性帧\n");
... ... @@ -1060,11 +1078,11 @@ int JZsdk_Uart_SendDeal_CheckStatus_LightAttribute(int Uartport)
JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_LIGHTATTRIBUTE, sendbuf, &send_buf_len);
//2、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//查询探照灯温度
int JZsdk_Uart_SendDeal_CheckStatus_SearchLightTemperture(int Uartport)
T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Temperture(int Uartport)
{
printf("发送查询探照灯温度\n");
... ... @@ -1075,11 +1093,11 @@ int JZsdk_Uart_SendDeal_CheckStatus_SearchLightTemperture(int Uartport)
JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_TEMPERATURE, sendbuf, &send_buf_len);
//2、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//开启消息订阅
int JZsdk_Uart_SendDeal_MessageSubcription_Control(int Uartport, int value)
T_JZsdkReturnCode HalSend_type1Send_MessageSubcription_Control(int Uartport, int value)
{
printf("发送开启消息订阅%d\n",value);
... ... @@ -1093,7 +1111,7 @@ int JZsdk_Uart_SendDeal_MessageSubcription_Control(int Uartport, int value)
sendbuf[10] = value;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
/****************************************************************************************************************************************************
... ... @@ -1106,7 +1124,7 @@ int JZsdk_Uart_SendDeal_MessageSubcription_Control(int Uartport, int value)
* 设置警灯状态
*
* **************/
int JZsdk_Uart_SendDeal_Set_WarningLight_Status(int Uartport,int status, int mode)
T_JZsdkReturnCode HalSend_type1Send_Set_WarningLight_Status(int Uartport,int status, int mode)
{
printf("发送设置警灯状态\n");
... ... @@ -1121,7 +1139,7 @@ int JZsdk_Uart_SendDeal_Set_WarningLight_Status(int Uartport,int status, int mod
sendbuf[10] = mode;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
/*************
... ... @@ -1129,7 +1147,7 @@ int JZsdk_Uart_SendDeal_Set_WarningLight_Status(int Uartport,int status, int mod
* 设置警灯颜色
*
* **************/
int JZsdk_Uart_SendDeal_Set_WarningLight_Color(int Uartport,int color1, int color2)
T_JZsdkReturnCode HalSend_type1Send_Set_WarningLight_Color(int Uartport,int color1, int color2)
{
printf("发送设置警灯颜色\n");
... ... @@ -1144,11 +1162,11 @@ int JZsdk_Uart_SendDeal_Set_WarningLight_Color(int Uartport,int color1, int colo
sendbuf[10] = color2;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//查询警灯状态
int JZsdk_Uart_SendDeal_CheckStatus_WarningLightStatus(int Uartport)
T_JZsdkReturnCode HalSend_type1Send_CheckStatus_WarningLightStatus(int Uartport)
{
printf("发送查询警灯状态\n");
... ... @@ -1159,11 +1177,11 @@ int JZsdk_Uart_SendDeal_CheckStatus_WarningLightStatus(int Uartport)
JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_CHECKSTATUS_WARNINGLIGHT_STATUS, sendbuf, &send_buf_len);
//2、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
//查询警灯颜色
int JZsdk_Uart_SendDeal_CheckStatus_WarningLightColor(int Uartport)
T_JZsdkReturnCode HalSend_type1Send_CheckStatus_WarningLightColor(int Uartport)
{
printf("发送查询警灯颜色\n");
... ... @@ -1174,7 +1192,7 @@ int JZsdk_Uart_SendDeal_CheckStatus_WarningLightColor(int Uartport)
JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_CHECKSTATUS_WARNINGLIGHT_COLOR, sendbuf, &send_buf_len);
//2、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
/****************************************************************************************************************************************************
... ... @@ -1188,7 +1206,7 @@ int JZsdk_Uart_SendDeal_CheckStatus_WarningLightColor(int Uartport)
* 发送探照灯爆闪频率
*
* **************/
int JZsdk_Uart_SendDeal_SearchLight_Frequency(int Uartport, int Frequency)
T_JZsdkReturnCode HalSend_type1Send_SearchLight_Frequency(int Uartport, int Frequency)
{
printf("发送灯光频率帧\n");
... ... @@ -1202,7 +1220,7 @@ int JZsdk_Uart_SendDeal_SearchLight_Frequency(int Uartport, int Frequency)
sendbuf[10] = Frequency;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
/*************
... ... @@ -1210,7 +1228,7 @@ int JZsdk_Uart_SendDeal_SearchLight_Frequency(int Uartport, int Frequency)
* 发送探照灯模式
*
* **************/
int JZsdk_Uart_SendDeal_SearchLight_Mode(int Uartport, int mode)
T_JZsdkReturnCode HalSend_type1Send_SearchLight_Mode(int Uartport, int mode)
{
printf("发送探照灯模式帧\n");
... ... @@ -1224,7 +1242,7 @@ int JZsdk_Uart_SendDeal_SearchLight_Mode(int Uartport, int mode)
sendbuf[10] = mode;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
/*************
... ... @@ -1232,7 +1250,7 @@ int JZsdk_Uart_SendDeal_SearchLight_Mode(int Uartport, int mode)
* 发送探照灯亮度
*
* **************/
int JZsdk_Uart_SendDeal_SearchLight_Lumen(int Uartport,int LeftLumen, int RightLumen)
T_JZsdkReturnCode HalSend_type1Send_SearchLight_Lumen(int Uartport,int LeftLumen, int RightLumen)
{
printf("发送探照灯亮度帧\n");
... ... @@ -1247,7 +1265,7 @@ int JZsdk_Uart_SendDeal_SearchLight_Lumen(int Uartport,int LeftLumen, int RightL
sendbuf[10] = RightLumen;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
/*************
... ... @@ -1255,7 +1273,7 @@ int JZsdk_Uart_SendDeal_SearchLight_Lumen(int Uartport,int LeftLumen, int RightL
* 发送探照灯温度
*
* **************/
int JZsdk_Uart_SendDeal_SearchLight_Temperature(int Uartport, int LeftTemperature, int RightTemperature)
T_JZsdkReturnCode HalSend_type1Send_SearchLight_Temperature(int Uartport, int LeftTemperature, int RightTemperature)
{
printf("发送探照灯温度帧\n");
... ... @@ -1270,7 +1288,7 @@ int JZsdk_Uart_SendDeal_SearchLight_Temperature(int Uartport, int LeftTemperatur
sendbuf[10] = RightTemperature;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
... ... @@ -1279,7 +1297,7 @@ int JZsdk_Uart_SendDeal_SearchLight_Temperature(int Uartport, int LeftTemperatur
* 发送警灯状态
*
* **************/
int JZsdk_Uart_SendDeal_WarningLight_Status(int Uartport, int status, int mode)
T_JZsdkReturnCode HalSend_type1Send_WarningLight_Status(int Uartport, int status, int mode)
{
printf("发送警灯状态帧\n");
... ... @@ -1294,14 +1312,14 @@ int JZsdk_Uart_SendDeal_WarningLight_Status(int Uartport, int status, int mode)
sendbuf[10] = mode;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len); }
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);}
/*************
*
* 发送警灯颜色
*
* **************/
int JZsdk_Uart_SendDeal_WarningLight_Color(int Uartport, int color1, int color2)
T_JZsdkReturnCode HalSend_type1Send_WarningLight_Color(int Uartport, int color1, int color2)
{
printf("发送警灯颜色帧\n");
... ... @@ -1316,7 +1334,7 @@ int JZsdk_Uart_SendDeal_WarningLight_Color(int Uartport, int color1, int color2)
sendbuf[10] = color2;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
/*************
... ... @@ -1324,7 +1342,7 @@ int JZsdk_Uart_SendDeal_WarningLight_Color(int Uartport, int color1, int color2)
* 发送对外电源状态
*
* **************/
int JZsdk_Uart_SendDeal_OutputPowerStatus(int Uartport, int FrameSequence, int status)
T_JZsdkReturnCode HalSend_type1Send_OutputPowerStatus(int Uartport, int FrameSequence, int status)
{
printf("发送对外电源状态帧\n");
... ... @@ -1338,7 +1356,7 @@ int JZsdk_Uart_SendDeal_OutputPowerStatus(int Uartport, int FrameSequence, int s
sendbuf[9] = status;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
/****************************************************************************************************************************************************
... ... @@ -1347,7 +1365,7 @@ int JZsdk_Uart_SendDeal_OutputPowerStatus(int Uartport, int FrameSequence, int s
*
****************************************************************************************************************************************************/
//发送特殊参数
int JZsdk_Uart_Reply_CheckSpecialParameters(int Uartport,int FrameSequence,int type, int value)
T_JZsdkReturnCode HalSend_type1Send_Reply_CheckSpecialParameters(int Uartport,int FrameSequence,int type, int value)
{
printf("发送特殊参数帧\n");
unsigned char sendbuf[256];
... ... @@ -1362,5 +1380,5 @@ int JZsdk_Uart_Reply_CheckSpecialParameters(int Uartport,int FrameSequence,int t
sendbuf[10] = value;
//3、发送帧
JZsdk_Uart_UartSend(Uartport ,sendbuf, send_buf_len);
HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);
}
\ No newline at end of file
... ...
/**
********************************************************************
* @file JZsdk_Uart_SendDeal.h
*
*
*********************************************************************
*/
/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
#ifndef JZSDK_IART_SENDDEAL_H
#define JZSDK_IART_SENDDEAL_H
/* Includes ------------------------------------------------------------------*/
#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Exported constants --------------------------------------------------------*/
/* 常亮定义*/
/* Exported types ------------------------------------------------------------*/
T_JZsdkReturnCode HalSend_type1Send_Reply_Success(int Uartport ,int FrameSequence);
T_JZsdkReturnCode HalSend_type1Send_Send_Connect(int Uartport , int FrameSequence,int Version_flag);
T_JZsdkReturnCode HalSend_type1Send_ConnectFrame(int PortNum);
T_JZsdkReturnCode HalSend_type1Send_Send_HeartBeatStatus(int Uartport , int FrameSequence,int HeartBeatStatus);
T_JZsdkReturnCode HalSend_type1Send_Set_PowerStatus(int Uartport, int FrameSequence, int status);
T_JZsdkReturnCode HalSend_type1Send_Ask_HeartBeatStatus(int Uartport , int FrameSequence,int HeartBeatStatus);
T_JZsdkReturnCode HalSend_type1Send_Ask_TimeStamp(int Uartport , int FrameSequence);
T_JZsdkReturnCode HalSend_type1Send_SendAllVersion(int Uartport, int FrameSequence, int DeviceID, int MajorVersion, int MinorVersion, int ModifyVersion, int DebugVersion);
T_JZsdkReturnCode HalSend_type1Send_SendAllSerialNumber(int Uartport, int FrameSequence, int DeviceID, unsigned char *SerialNumber, int SerialNumberLen);
T_JZsdkReturnCode HalSend_type1Send_DeviceMessage(int UartPort, int FrameSequence, unsigned char *message, unsigned int messageLen);
T_JZsdkReturnCode HalSend_type1Send_Reply_SecondaryDeviceName(int Uartport , int device_name, int FrameSequence);
T_JZsdkReturnCode HalSend_type1Send_QuerySecondaryDeviceName(int Uartport ,int FrameSequence);
T_JZsdkReturnCode HalSend_type1Send_Reply_Sucesss(int Uartport ,int FrameSequence);
T_JZsdkReturnCode HalSend_type1Send_Reply_CheckError(int Uartport ,int FrameSequence);
T_JZsdkReturnCode HalSend_type1Send_Reply_DecodeError(int Uartport ,int FrameSequence);
T_JZsdkReturnCode HalSend_type1Send_Reply_Failure(int Uartport ,int FrameSequence);
T_JZsdkReturnCode HalSend_type1Send_Reply_Musiclist(int UartPort ,int FrameSequence, int music_sum ,unsigned char **MusicName ,int *MusicNameLength);
T_JZsdkReturnCode HalSend_type1Send_Send_AudioList_2(int Uartport, int FrameSequence, unsigned char *name, unsigned int namelen, unsigned int Filesize, unsigned int Time);
T_JZsdkReturnCode HalSend_type1Send_Send_AudioDetailMessage(int Uartport,int FrameSequence, unsigned char type ,unsigned char *data, unsigned int datalen);
T_JZsdkReturnCode HalSend_type1Send_Send_AudioList_Start(int Uartport, int FrameSequence, int music_sum);
T_JZsdkReturnCode HalSend_type1Send_Send_AudioList_Stop(int Uartport, int FrameSequence);
T_JZsdkReturnCode HalSend_type1Send_Send_PlayStatus_end(int Uartport);
T_JZsdkReturnCode HalSend_type1Send_Send_PlayStatus(int Uartport ,int num);
T_JZsdkReturnCode HalSend_type1Send_Reply_MusicName(int Uartport ,char *music_name, int music_name_len);
T_JZsdkReturnCode HalSend_type1Send_Reply_Volume(int Uartport ,int num);
T_JZsdkReturnCode HalSend_type1Send_OpusDecodeStatus(int Uartport,int value);
T_JZsdkReturnCode HalSend_type1Send_Reply_GimbalPitchAngle(int Uartport ,int angle);
T_JZsdkReturnCode HalSend_type1Send_Set_GimbalPitchAngle(int Uartport ,int angle);
T_JZsdkReturnCode HalSend_type1Send_Reply_GimbalFineTuningPitch(int Uartport, int FrameSequence, int FineTunigPitch);
T_JZsdkReturnCode HalSend_type1Send_Set_GimbalFineTuningPitch(int Uartport, int PitchFineTuning);
T_JZsdkReturnCode HalSend_type1Send_CheckStatus_GimbalFineTuningPitch(int Uartport, int FrameSequence);
T_JZsdkReturnCode HalSend_type1Send_Set_GimbalLinkageControl(int Uartport,int FrameSequence, int value);
T_JZsdkReturnCode HalSend_type1Send_CheckStatus_GimbalLinkage(int Uartport,int FrameSequence);
T_JZsdkReturnCode HalSend_type1Send_GimbalLinkageControl(int Uartport,int FrameSequence,int value);
T_JZsdkReturnCode HalSend_type1Send_CheckStatus_GimbalAngle(int Uartport ,int FrameSequence);
T_JZsdkReturnCode HalSend_type1Send_SetGimbalRange(int Uartport,int FrameSequence,int value);
T_JZsdkReturnCode HalSend_type1Send_Reply_SoftVersion(int Uartport ,char majorVersion, char minorVersion, char modifyVersion, char debugVersion);
T_JZsdkReturnCode HalSend_type1Send_Reply_LoopPlayStatus(int Uartport ,int status);
T_JZsdkReturnCode HalSend_type1Send_Reply_TTS_tone(int Uartport ,int tone);
T_JZsdkReturnCode HalSend_type1Send_Reply_TTS_speed(int Uartport ,int speed);
T_JZsdkReturnCode HalSend_type1Send_Set_SearchLightFrequency(int Uartport ,int Frequency);
T_JZsdkReturnCode HalSend_type1Send_SearchLight_Control(int Uartport,int mode);
T_JZsdkReturnCode HalSend_type1Send_SearchLight_SetLumen(int Uartport, int LeftLumen, int RightLumen);
T_JZsdkReturnCode HalSend_type1Send_MessageSubcription_Control(int Uartport, int value);
T_JZsdkReturnCode HalSend_type1Send_Set_WarningLight_Status(int Uartport,int status, int mode);
T_JZsdkReturnCode HalSend_type1Send_Set_WarningLight_Color(int Uartport,int color1, int color2);
T_JZsdkReturnCode HalSend_type1Send_SerialNumber(int UartPort, int FrameSequence, char *SerialNumber, int SerialNumberLenth);
T_JZsdkReturnCode HalSend_type1Send_Reply_CheckSpecialParameters(int Uartport,int FrameSequence,int type, int value);
T_JZsdkReturnCode HalSend_type1Send_SearchLight_Frequency(int Uartport, int Frequency);
T_JZsdkReturnCode HalSend_type1Send_SearchLight_Mode(int Uartport, int mode);
T_JZsdkReturnCode HalSend_type1Send_SearchLight_Lumen(int Uartport,int LeftLumen, int RightLumen);
T_JZsdkReturnCode HalSend_type1Send_SearchLight_Temperature(int Uartport, int LeftTemperature, int RightTemperature);
//查询探照灯频率
T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Frequency(int Uartport);
T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Lumen(int Uartport);
T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Mode(int Uartport);
T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Attribute(int Uartport);
T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Temperture(int Uartport);
T_JZsdkReturnCode HalSend_type1Send_WarningLight_Status(int Uartport, int status, int mode);
T_JZsdkReturnCode HalSend_type1Send_WarningLight_Color(int Uartport, int color1, int color2);
T_JZsdkReturnCode HalSend_type1Send_CheckStatus_WarningLightStatus(int Uartport);
T_JZsdkReturnCode HalSend_type1Send_CheckStatus_WarningLightColor(int Uartport);
T_JZsdkReturnCode HalSend_type1Send_OutputPowerStatus(int Uartport, int FrameSequence, int status);
/* Exported functions --------------------------------------------------------*/
#ifdef __cplusplus
}
#endif
#endif
\ No newline at end of file
... ...
#include <stdio.h>
#include "JZsdkLib.h"
#include "Hal_Recv/HalRecv.h"
#include "Hal_Send/HalSend.h"
#include "JZsdk_Hal.h"
#include "BaseConfig.h"
#include "JZsdk_uart/JZsdk_Uart.h"
/******************
*
* 用来记录端口使用情况的结构体
* JZ_FLAGCODE_OFF 关闭
* JZ_FLAGCODE_ON 开启
* ********************/
typedef struct s_JZsdk_Hal_PortUseFlag
{
int UartDev_DEV1 ;
int UartDev_DEV2 ;
int UartDev_DEV3 ;
int UartDev_DEV4 ;
int UartDev_4G ;
int Data_Dransmisson;
}s_JZsdk_Hal_PortUseFlag;
static s_JZsdk_Hal_PortUseFlag g_PortUseFlag = {JZ_FLAGCODE_OFF};
/**************
*
* jzsdk hal的端口使用标志位
*
*
* *********************/
int JZsdk_HalPort_UseFlag(int PortName)
{
if (PortName == UART_DEV_1)
{
return g_PortUseFlag.UartDev_DEV1;
}
else if (PortName == UART_DEV_2)
{
return g_PortUseFlag.UartDev_DEV2;
}
else if (PortName == UART_DEV_3)
{
return g_PortUseFlag.UartDev_DEV3;
}
else if (PortName == UART_DEV_4)
{
return g_PortUseFlag.UartDev_DEV4;
}
else if (PortName == UART_4G)
{
return g_PortUseFlag.UartDev_4G;
}
else if (PortName == HAL_DATA_TRANSMISSION)
{
return g_PortUseFlag.Data_Dransmisson;
}
}
T_JZsdkReturnCode JZsdk_HalPort_SetUseFlag(int PortName,int UseFlag)
{
if (PortName == UART_DEV_1)
{
g_PortUseFlag.UartDev_DEV1 = UseFlag;
}
else if (PortName == UART_DEV_2)
{
g_PortUseFlag.UartDev_DEV2 = UseFlag;
}
else if (PortName == UART_DEV_3)
{
g_PortUseFlag.UartDev_DEV3 = UseFlag;
}
else if (PortName == UART_DEV_4)
{
g_PortUseFlag.UartDev_DEV4 = UseFlag;
}
else if (PortName == UART_4G)
{
g_PortUseFlag.UartDev_4G = UseFlag;
}
else if (PortName == HAL_DATA_TRANSMISSION)
{
g_PortUseFlag.Data_Dransmisson = UseFlag;
}
else
{
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
/**********************
*
* hal端口 重初始化函数
*
*
* ******************/
T_JZsdkReturnCode JZsdk_HalPort_ReInit(int PortName, int Value[])
{
switch (PortName)
{
case UART_DEV_1:
JZsdk_Uart_ReInit(PortName, Value[0]);
break;
case UART_DEV_2:
JZsdk_Uart_ReInit(PortName, Value[0]);
break;
case UART_DEV_3:
JZsdk_Uart_ReInit(PortName, Value[0]);
break;
case UART_DEV_4:
JZsdk_Uart_ReInit(PortName, Value[0]);
break;
case UART_4G:
JZsdk_Uart_ReInit(PortName, Value[0]);
break;
default:
break;
}
}
/**********************
*
* hal端口 使用默认参数初始化函数
*
* ******************/
T_JZsdkReturnCode JZsdk_HalPort_Init_WithDefault(int PortName)
{
int value[5] = {0, 0, 0, 0, 0};
if (PortName == UART_DEV_1)
{
value[0] = UART_DEV1_BITRATE;
}
else if (PortName == UART_DEV_2)
{
value[0] = UART_DEV2_BITRATE;
}
else if (PortName == UART_4G)
{
value[0] = COMM_4G_UART_BITRATE;
}
return JZsdk_HalPort_ReInit(PortName, value);
}
\ No newline at end of file
... ...
/**
********************************************************************
* @file JZsdk_Hal.h
* JZsdk_Hal.c 的头文件
* @version V0.1.0
* @date
* @brief This is the JZsdk_Hal.h file
*
* @attention
*
*
*********************************************************************
/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
#ifndef JZSDK_HAL_H
#define JZSDK_HAL_H
/* Includes ------------------------------------------------------------------*/
#ifdef __cplusplus
extern "C" {
#endif
/* Exported constants --------------------------------------------------------*/
/* 常亮定义*/
/* Exported types ------------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
int JZsdk_HalPort_UseFlag(int PortName);
T_JZsdkReturnCode JZsdk_HalPort_SetUseFlag(int PortName,int UseFlag);
T_JZsdkReturnCode JZsdk_HalPort_ReInit(int PortName, int Value[]);
T_JZsdkReturnCode JZsdk_HalPort_Init_WithDefault(int PortName);
#ifdef __cplusplus
}
#endif
#endif
... ...
... ... @@ -8,6 +8,7 @@
#include "JZsdk_Base/JZsdk_FrameComparsion/JZsdk_FrameComparsion.h"
#include "JZsdk_uart/JZsdk_Uart_UartDeal.h"
#include "BaseConfig.h"
#include "Hal_Recv/HalRecv.h"
typedef struct
{
... ... @@ -365,7 +366,7 @@ static void *JZsdk_hal_data_deal(void *arg)
}
// 处理数据
ResidualLength = UartDeal_Recv_interface(1,HAL_DATA_TRANSMISSION, args->Message, args->MessageLength);
ResidualLength = HalRecv_type1_PreliminaryScreeningOfData(args->Message, args->MessageLength, HAL_DATA_TRANSMISSION);
//如果还有剩余的长度
if (ResidualLength != 0)
{
... ...
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
#include <termios.h>
#include <sys/time.h>
#include "BaseConfig.h"
#include "JZsdk_uart/JZsdk_Uart_UartDeal.h"
#include "JZsdk_Hal.h"
/********************
*
*
* 串口使能
使能一个串口 返回设备号
变量1 串口设备名
变量2 比特率
返回 int 设备号
例子: UartDeal_Base_CreateReceive("/dev/ttyS2", 115200)
*
*
* **************************/
T_JZsdkReturnCode JZsdk_Uart_UartEnabled(unsigned char *UartDev, unsigned int BitRate, int *UartFd)
{
if (UartFd == NULL)
{
JZSDK_LOG_ERROR("UartFd 为空");
return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER;
}
//1、串口初始化
//(*UartFd) = open(UartDev, O_RDWR);
(*UartFd) = open(UartDev, O_RDWR | O_NOCTTY | O_NDELAY);
if ((*UartFd) < 0)
{
JZSDK_LOG_ERROR("打开串口 %s 失败", UartDev);
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
}
else
{
JZSDK_LOG_INFO("打开串口 %s 成功", UartDev);
}
//2、获取终端信息
struct termios options;
if(tcgetattr((*UartFd),&options)!= 0) //获取终端信息
{
JZSDK_LOG_ERROR("获取终端信息失败!\n");
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
}
//3、设置比特率
switch (BitRate)
{
case 115200:
cfsetispeed(&options, B115200);
cfsetospeed(&options, B115200);
break;
case 230400:
cfsetispeed(&options, B230400);
cfsetospeed(&options, B230400);
break;
case 460800:
cfsetispeed(&options, B460800);
cfsetospeed(&options, B460800);
break;
case 921600:
cfsetispeed(&options, B921600);
cfsetospeed(&options, B921600);
break;
case 1000000:
cfsetispeed(&options, B1000000);
cfsetospeed(&options, B1000000);
break;
default:
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
break;
}
options.c_cflag |= (unsigned) CLOCAL;
options.c_cflag |= (unsigned) CREAD;
options.c_cflag &= ~(unsigned) CRTSCTS;
options.c_cflag &= ~(unsigned) CSIZE;
options.c_cflag |= (unsigned) CS8;
options.c_cflag &= ~(unsigned) PARENB;
options.c_iflag &= ~(unsigned) INPCK;
options.c_cflag &= ~(unsigned) CSTOPB;
options.c_oflag &= ~(unsigned) OPOST;
options.c_lflag &= ~((unsigned) ICANON | (unsigned) ECHO | (unsigned) ECHOE | (unsigned) ISIG);
options.c_iflag &= ~((unsigned) BRKINT | (unsigned) ICRNL | (unsigned) INPCK | (unsigned) ISTRIP | (unsigned) IXON);
options.c_cc[VTIME] = 0;
options.c_cc[VMIN] = 0;
tcflush((*UartFd),TCIOFLUSH); //刷清输入、输出队列
tcsetattr((*UartFd),TCSAFLUSH,&options); //串口设置使能
JZSDK_LOG_INFO("使能串口 波特率%d成功",BitRate);
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
/****************
*
*
*
* 串口重初始化
*
*
*
*
* ************************/
T_JZsdkReturnCode JZsdk_Uart_ReInit(int UART_DEV_NAME, int BitRate)
{
T_JZsdkReturnCode ret = JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
int UartFd = 0;
JZSDK_LOG_INFO("初始化串口 0x%x", UART_DEV_NAME);
//初始化的是一号设备
if (UART_DEV_NAME == UART_DEV_1)
{
//1、检查串口是否已经初始化
if(JZsdk_HalPort_UseFlag(UART_DEV_1) == JZ_FLAGCODE_ON)
{
//先注释掉原来的串口
JZsdk_HalPort_SetUseFlag(UART_DEV_1, JZ_FLAGCODE_OFF);
//然后关闭串口 注:该函数有延时
JZsdk_Uart_CloseUartThead(UART_DEV_1);
}
//2、串口初始化
ret = JZsdk_Uart_UartEnabled(UART_DEV1_NUM, BitRate, &UartFd);
if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
{
return ret;
}
//3、串口接收初始化
JZsdk_Uart_UartDeal_Receive(UartFd, UART_DEV_1);
//4、将串口的标志位打开
JZsdk_HalPort_SetUseFlag(UART_DEV_1, JZ_FLAGCODE_ON);
}
//初始化的是二号设备
if (UART_DEV_NAME == UART_DEV_2)
{
//1、检查串口是否已经初始化
if(JZsdk_HalPort_UseFlag(UART_DEV_2) == JZ_FLAGCODE_ON)
{
//先注释掉原来的串口
JZsdk_HalPort_SetUseFlag(UART_DEV_2, JZ_FLAGCODE_OFF);
//然后关闭串口 注:该函数有延时
JZsdk_Uart_CloseUartThead(UART_DEV_2);
}
//2、串口初始化
ret = JZsdk_Uart_UartEnabled(UART_DEV2_NUM, BitRate, &UartFd);
if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
{
return ret;
}
//3、串口接收初始化
JZsdk_Uart_UartDeal_Receive(UartFd, UART_DEV_2);
//4、将串口的标志位打开
JZsdk_HalPort_SetUseFlag(UART_DEV_2, JZ_FLAGCODE_ON);
}
//初始化的是4g设备
if (UART_DEV_NAME == UART_4G)
{
//1、检查串口是否已经初始化
if(JZsdk_HalPort_UseFlag(UART_4G) == JZ_FLAGCODE_ON)
{
//先注释掉原来的串口
JZsdk_HalPort_SetUseFlag(UART_4G, JZ_FLAGCODE_OFF);
//然后关闭串口 注:该函数有延时
JZsdk_Uart_CloseUartThead(UART_4G);
}
//2、串口初始化
ret = JZsdk_Uart_UartEnabled(COMM_4G_UART_NUM, BitRate, &UartFd);
if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
{
return ret;
}
//3、串口接收初始化
JZsdk_Uart_UartDeal_Receive(UartFd, UART_4G);
//4、将串口的标志位打开
JZsdk_HalPort_SetUseFlag(UART_4G, JZ_FLAGCODE_ON);
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
\ No newline at end of file
... ...
/**
********************************************************************
* @file JZsdk_Uart.h
* JZsdk_Uart.c 的头文件
*
*********************************************************************
*/
/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
#ifndef JZSDK_UART_H
#define JZSDK_UART_H
/* Includes ------------------------------------------------------------------*/
#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Exported constants --------------------------------------------------------*/
/* 常亮定义*/
/* Exported types ------------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
T_JZsdkReturnCode JZsdk_Uart_ReInit(int UART_DEV_NAME, int BitRate);
T_JZsdkReturnCode JZsdk_Uart_UartEnabled(unsigned char *UartDev, unsigned int BitRate, int *UartFd);
#ifdef __cplusplus
}
#endif
#endif
... ...
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "JZsdk_uart/UartConnection/UartConnection.h"
#include "Megaphone/Megaphone.h"
#include "BaseConfig.h"
#include "version_choose.h"
#include "JZsdk_uart/JZsdk_Uart_Input.h"
#include "JZsdk_uart/JZsdk_Uart_UartDeal.h"
#include "JZsdk_uart/Uart_Config.h"
#include "JZsdk_uart/JZsdk_Uart_Send/JZsdk_Uart_Send.h"
#include "Gimbal/Gimbal.h"
// 记录串口是否有被使用,方便ui_contrl进行信息反馈
struct UartDev_UseFlag
{
int UartDev_DEV1 ;
int UartDev_DEV2 ;
int UartDev_4G ;
};
static struct UartDev_UseFlag UartDevUseFlag = {JZ_FLAGCODE_OFF, JZ_FLAGCODE_OFF, JZ_FLAGCODE_OFF};
/****************
*
* 回复串口是否有被调用
*
* *************/
int JZsdk_Get_UartDev_UseFlag(int UART_DEV_NAME)
{
if (UART_DEV_NAME == UART_DEV_1)
{
return UartDevUseFlag.UartDev_DEV1;
}
else if (UART_DEV_NAME == UART_DEV_2)
{
return UartDevUseFlag.UartDev_DEV2;
}
else if (UART_DEV_NAME == UART_4G)
{
return UartDevUseFlag.UartDev_4G;
}
}
/**************
*
* 串口部分初始化
*
* *********/
int JZsdk_Uart_Init(int UART_DEV_NAME)
{
//初始化的是一号设备
if (UART_DEV_NAME == UART_DEV_1)
{
JZsdk_Uart_SecondInit(UART_DEV_1,UART_DEV1_BITRATE);
}
//初始化的是二号设备
else if (UART_DEV_NAME == UART_DEV_2)
{
JZsdk_Uart_SecondInit(UART_DEV_2, UART_DEV2_BITRATE);
}
else if (UART_DEV_NAME == UART_4G)
{
JZsdk_Uart_SecondInit(UART_4G, COMM_4G_UART_BITRATE);
}
printf("%x串口初始化完成\n", UART_DEV_NAME);
}
/**************
*
* 串口部分修改波特率
*
* *********/
int JZsdk_Uart_BitRateChange(int UART_DEV_NAME, int BitRate)
{
//1、释放掉原串口
if (UART_DEV_NAME == UART_DEV_1)
{
//将使用标识关闭
UartDevUseFlag.UartDev_DEV1 = JZ_FLAGCODE_OFF;
//等候关闭接收线程
JZsdk_Uart_CloseUartThead(UART_DEV_NAME, BitRate);
}
//1、释放掉原串口
else if (UART_DEV_NAME == UART_DEV_2)
{
//将使用标识关闭
UartDevUseFlag.UartDev_DEV2 = JZ_FLAGCODE_OFF;
//等候关闭接收线程
JZsdk_Uart_CloseUartThead(UART_DEV_NAME, BitRate);
}
//1、释放掉原串口
else if (UART_DEV_NAME == UART_4G)
{
//将使用标识关闭
UartDevUseFlag.UartDev_4G = JZ_FLAGCODE_OFF;
//等候关闭接收线程
JZsdk_Uart_CloseUartThead(UART_DEV_NAME, BitRate);
}
}
/**************
*
* 串口部分串口再注册
*
* *********/
int JZsdk_Uart_SecondInit(int UART_DEV_NAME, int BitRate)
{
int Uart_fd = 0;
printf("初始化串口%x\n",UART_DEV_NAME);
//初始化的是一号设备
if (UART_DEV_NAME == UART_DEV_1)
{
//1、串口初始化
Uart_fd = UartConnection_UartEnabled(UART_DEV1_NUM, BitRate);
//2、串口接收初始化
JZsdk_Uart_UartDeal_Receive(Uart_fd, UART_DEV_1);
//3、将使用标识打开
UartDevUseFlag.UartDev_DEV1 = JZ_FLAGCODE_ON;
}
else if (UART_DEV_NAME == UART_DEV_2)
{
//1、串口初始化
Uart_fd = UartConnection_UartEnabled(UART_DEV2_NUM, BitRate);
//2、串口接收初始化
JZsdk_Uart_UartDeal_Receive(Uart_fd, UART_DEV_2);
//3、将使用标识打开
UartDevUseFlag.UartDev_DEV2 = JZ_FLAGCODE_ON;
}
else if (UART_DEV_NAME == UART_4G)
{
//1、串口初始化
Uart_fd = UartConnection_UartEnabled(COMM_4G_UART_NUM, BitRate);
//2、串口接收初始化
JZsdk_Uart_UartDeal_Receive(Uart_fd, UART_4G);
//3、将使用标识打开
UartDevUseFlag.UartDev_4G = JZ_FLAGCODE_ON;
}
}
/*******************************
*
* 自由帧发送
*
* ******************/
int JZsdk_Uart_Send_CustomOrder(int UartPort, char *frame, int frame_len)
{
JZsdk_Uart_UartSend(UartPort, frame, frame_len);
}
/*****************
*
* 发送主动连接帧
*
* ******************/
int JZsdk_Uart_Send_ConnectFrame(int PortNum)
{
JZsdk_Uart_SendDeal_ConnectFrame(PortNum);
}
/*
*
* 发送播放结束状态帧
*
*/
int JZsdk_Uart_Reply_PlayStatus_end(int PortNum)
{
//发送播放状态结束帧
JZsdk_Uart_SendDeal_Send_PlayStatus_end(PortNum);
}
/**************
*
* 发送发送播放状态帧
*
* ***********/
int JZsdk_Uart_Send_PlayStatus(int Uartport ,int num)
{
JZsdk_Uart_SendDeal_Send_PlayStatus(Uartport, num);
}
/**************
*
* 发送音量
*
* ***********/
int JZsdk_Uart_Reply_Volume(int Uartport,int volume)
{
JZsdk_Uart_SendDeal_Reply_Volume(Uartport, volume);
}
/**************
*
* 发送音色
*
* ***********/
int JZsdk_Uart_Reply_TTS_tone(int Uartport,int tone)
{
JZsdk_Uart_SendDeal_Reply_TTS_tone(Uartport, tone);
}
/**************
*
* 发送语速
*
* ***********/
int JZsdk_Uart_Reply_TTS_speed(int Uartport,int speed)
{
JZsdk_Uart_SendDeal_Reply_TTS_speed(Uartport, speed);
}
/**************
*
* 发送循环状态
*
* ***********/
int JZsdk_Uart_Reply_AudioPlayLoopStatus(int Uartport,int speed)
{
JZsdk_Uart_SendDeal_Reply_LoopPlayStatus(Uartport, speed);
}
/**************
*
* 发送云台俯仰角度查询值
*
* ***********/
int JZsdk_Uart_Reply_GimbalPitchAngle(int Uartport,int angle)
{
JZsdk_Uart_SendDeal_Reply_GimbalPitchAngle(Uartport, angle);
}
/*************
*
* 设置云台俯仰角度
*
* **************/
int JZsdk_Uart_Send_SetGimbalPitch(int Uartport,int angle)
{
JZsdk_Uart_SendDeal_Set_GimbalPitchAngle(Uartport, angle);
}
/*************
*
* 查询云台角度
*
* **************/
int JZsdk_Uart_Send_CheckStatus_GimbalAngle(int Uartport ,int FrameSequence)
{
JZsdk_Uart_SendDeal_CheckStatus_GimbalAngle(Uartport, FrameSequence);
}
/*************
*
* 设置云台俯仰角度微调
*
* **************/
int JZsdk_Uart_Send_SetGimbalFineTuningPitch(int Uartport,int angle)
{
JZsdk_Uart_SendDeal_Set_GimbalFineTuningPitch(Uartport, angle);
}
/*************
*
* 查询云台微调角度
*
* **************/
int JZsdk_Uart_Send_CheckStatus_GimbalFineTuningPitch(int Uartport,int FrameSequence)
{
JZsdk_Uart_SendDeal_CheckStatus_GimbalFineTuningPitch(Uartport,FrameSequence);
}
/*************
*
* 发送云台俯仰微调值
*
* **************/
int JZsdk_Uart_Send_GimbalFineTuningPitch(int Uartport,int FrameSequence, int Pitch)
{
JZsdk_Uart_SendDeal_Reply_GimbalFineTuningPitch(Uartport,FrameSequence, Pitch);
}
/*************
*
* 设置云台联动
*
* **************/
int JZsdk_Uart_Send_Set_GimbalLinkageControl(int Uartport,int FrameSequence, int value)
{
JZsdk_Uart_SendDeal_Set_GimbalLinkageControl(Uartport,FrameSequence, value);
}
/*************
*
* 查询云台联动值
*
* **************/
int JZsdk_Uart_Send_CheckStatus_GimbalLinkage(int Uartport,int FrameSequence)
{
JZsdk_Uart_SendDeal_CheckStatus_GimbalLinkage(Uartport,FrameSequence);
}
/*************
*
* 发送云台联动值
*
* **************/
int JZsdk_Uart_Send_GimbalLinkageControl(int Uartport,int FrameSequence, int value)
{
JZsdk_Uart_SendDeal_GimbalLinkageControl(Uartport,FrameSequence,value);
}
/*************
*
* 设置云台最大最小值
*
* **************/
int JZsdk_Uart_Send_SetGimbalRange(int Uartport,int FrameSequence, int value)
{
JZsdk_Uart_SendDeal_SetGimbalRange(Uartport,FrameSequence,value);
}
/*******************************************************************************************************************************
*
* 探照灯部分
*
* *******************************************************************************************************************************/
/*************
*
* 设置探照灯爆闪频率
*
* **************/
int JZsdk_Uart_Send_SearchLight_SetFrequency(int Uartport,int Frequency)
{
JZsdk_Uart_SendDeal_Set_SearchLightFrequency(Uartport ,Frequency);
}
/*************
*
* 探照灯控制
*
* **************/
int JZsdk_Uart_Send_SearchLight_Control(int Uartport,int mode)
{
JZsdk_Uart_SendDeal_SearchLight_Control(Uartport, mode);
}
/*************
*
* 探照灯亮度
*
* **************/
int JZsdk_Uart_Send_SearchLight_SetLumen(int Uartport, int LeftLumen, int RightLumen)
{
JZsdk_Uart_SendDeal_SearchLight_SetLumen(Uartport, LeftLumen, RightLumen);
}
/*************
*
* 查询爆闪频率
*
* **************/
int JZsdk_Uart_Send_SearchLight_CheckStatus_Frequency(int Uartport)
{
JZsdk_Uart_SendDeal_Set_SearchLight_CheckStatus_Frequency(Uartport);
}
/*************
*
* 查询探照灯亮度
*
* **************/
int JZsdk_Uart_Send_SearchLight_CheckStatus_Lumen(int Uartport)
{
JZsdk_Uart_SendDeal_Set_SearchLight_CheckStatus_Lumen(Uartport);
}
/*************
*
* 查询探照灯模式
*
* **************/
int JZsdk_Uart_Send_SearchLight_CheckStatus_Mode(int Uartport)
{
JZsdk_Uart_SendDeal_Set_SearchLight_CheckStatus_Mode(Uartport);
}
/*************
*
* 查询探照灯属性
*
* **************/
int JZsdk_Uart_Send_SearchLight_CheckStatus_LightAttribute(int Uartport)
{
JZsdk_Uart_SendDeal_CheckStatus_LightAttribute(Uartport);
}
/*************
*
* 查询探照灯温度
*
* **************/
int JZsdk_Uart_Send_SearchLight_CheckStatus_SearchLightTemperture(int Uartport)
{
JZsdk_Uart_SendDeal_CheckStatus_SearchLightTemperture(Uartport);
}
/*************
*
* 探照灯消息订阅
*
* **************/
int JZsdk_Uart_Send_MessageSubcription_Control(int Uartport,int value)
{
JZsdk_Uart_SendDeal_MessageSubcription_Control(Uartport, value);
}
/*******************************************************************************************************************************
*
* 警灯部分
*
* *******************************************************************************************************************************/
/*************
*
* 设置警灯状态
*
* **************/
int JZsdk_Uart_Send_Set_WarningLight_Status(int Uartport,int status, int mode)
{
JZsdk_Uart_SendDeal_Set_WarningLight_Status(Uartport, status, mode);
}
/*************
*
* 设置警灯颜色
*
* **************/
int JZsdk_Uart_Send_Set_WarningLight_Color(int Uartport,int color1, int color2)
{
JZsdk_Uart_SendDeal_Set_WarningLight_Color(Uartport, color1, color2);
}
/*******************************************************************************************************************************
*
* 5B类部分
*
* *******************************************************************************************************************************/
/*************
*
* 发送opus解码状态
*
* **************/
int JZsdk_Uart_Send_OpusDecodeStatus(int Uartport,int value)
{
JZsdk_Uart_SendDeal_OpusDecodeStatus(Uartport, value);
}
/*************
*
* 发送探照灯爆闪频率
*
* **************/
int JZsdk_Uart_Send_SearchLight_Frequency(int Uartport,int value)
{
JZsdk_Uart_SendDeal_SearchLight_Frequency(Uartport, value);
}
/*************
*
* 发送探照灯模式
*
* **************/
int JZsdk_Uart_Send_SearchLight_Mode(int Uartport,int value)
{
JZsdk_Uart_SendDeal_SearchLight_Mode(Uartport, value);
}
/*************
*
* 发送探照灯亮度
*
* **************/
int JZsdk_Uart_Send_SearchLight_Lumen(int Uartport,int LeftLumen, int RightLumen)
{
JZsdk_Uart_SendDeal_SearchLight_Lumen(Uartport, LeftLumen, RightLumen);
}
/*************
*
* 发送探照灯温度
*
* **************/
int JZsdk_Uart_Send_SearchLight_Temperature(int Uartport,int LeftTemperature, int RightTemperature)
{
JZsdk_Uart_SendDeal_SearchLight_Temperature(Uartport, LeftTemperature, RightTemperature);
}
/*************
*
* 发送对外供电电源的状态
*
* **************/
int JZsdk_Uart_Send_OutputPowerStatus(int Uartport, int FrameSequence, int status)
{
JZsdk_Uart_SendDeal_OutputPowerStatus(Uartport, FrameSequence, status);
}
/*******************************************************************************************************************************
*
* 警灯部分
*
* *******************************************************************************************************************************/
/*************
*
* 发送警灯状态
*
* **************/
int JZsdk_Uart_Send_WarningLight_Status(int Uartport, int status, int mode)
{
JZsdk_Uart_SendDeal_WarningLight_Status(Uartport, status, mode);
}
/*************
*
* 发送警灯颜色
*
* **************/
int JZsdk_Uart_Send_WarningLight_Color(int Uartport, int color1, int color2)
{
JZsdk_Uart_SendDeal_WarningLight_Color(Uartport, color1, color2);
}
/*************
*
* 查询警灯状态
*
* **************/
int JZsdk_Uart_Send_CheckStatus_WarningLightStatus(int Uartport)
{
JZsdk_Uart_SendDeal_CheckStatus_WarningLightStatus(Uartport);
}
/*************
*
* 查询警灯颜色
*
* **************/
int JZsdk_Uart_Send_CheckStatus_WarningLightColor(int Uartport)
{
JZsdk_Uart_SendDeal_CheckStatus_WarningLightColor(Uartport);
}