作者 ookk303

2.21日志填补

... ... @@ -26,7 +26,7 @@ project_build/GDU_普宙PSDK
# !project_build/DJI_大疆PSDK/samples/sample_c/platform/linux/all/hal
# !project_build/DJI_大疆PSDK/samples/sample_c/platform/linux/all/CMakeLists.txt
project_build/Payload-SDK-release-v3.11.0/*
project_build/Payload-SDK-release-v3.12.0/*
project_build/特殊固件
project_build/DJI_Test
... ...
# 编译链的配置
#1、编译链与设备类型的选择
set(DEVICE_NAME JZ_H1T)
set(DEVICE_NAME JZ_U3S)
#上一行为禁止修改行
message("**************************JZSDK构建编译开始***************************\n")
... ...
... ... @@ -109,6 +109,63 @@ void JZsdk_UserLogOutput(E_JZsdkConsoleLogLevel level, const char *fmt, ...)
void JZsdk_User_OutputHex(E_JZsdkConsoleLogLevel level, const char *fmt, ...)
{
// 将日志级别转换为相应的字符串
const char *JZSDK_LOGGER_CONSOLE_LOG_LEVEL = "";
switch (level) {
case JZSDK_LOGGER_CONSOLE_LOG_LEVEL_DEBUG:
JZSDK_LOGGER_CONSOLE_LOG_LEVEL = "DEBUG";
break;
case JZSDK_LOGGER_CONSOLE_LOG_LEVEL_INFO:
JZSDK_LOGGER_CONSOLE_LOG_LEVEL = "INFO";
break;
case JZSDK_LOGGER_CONSOLE_LOG_LEVEL_WARN:
JZSDK_LOGGER_CONSOLE_LOG_LEVEL = "WARNING";
break;
case JZSDK_LOGGER_CONSOLE_LOG_LEVEL_ERROR:
JZSDK_LOGGER_CONSOLE_LOG_LEVEL = "ERROR";
break;
default:
break;
}
// 使用可变参数处理传入的格式化字符串和可变参数
va_list args;
va_start(args, fmt);
//格式化日志消息
char logMessage[10];
memset(logMessage, 0, sizeof(logMessage));
vsnprintf(logMessage, sizeof(logMessage), fmt, args);
va_end(args);
// 执行具体的日志输出操作
char finalLogMessage[512];
memset(finalLogMessage, 0, sizeof(finalLogMessage));
snprintf(finalLogMessage, 612, "%s", logMessage);
printf("%x ",finalLogMessage[0]);
//写入日志
if (UserLogRecordConsole != NULL)
{
if(level <= UserLogRecordConsole->consoleLevel && UserLogRecordConsole->hexFunc != NULL)
{
UserLogRecordConsole->hexFunc(finalLogMessage, 1);
}
}
return;
}
... ...
... ... @@ -48,11 +48,13 @@ typedef enum {
*/
typedef T_JZsdkReturnCode (*JZsdk_ConsoleFunc)(const JZ_U8 *data, JZ_U16 dataLen);
/**
* @brief Logger console content.
*/
typedef struct {
JZsdk_ConsoleFunc func;
JZsdk_ConsoleFunc hexFunc;
JZ_U8 consoleLevel;
bool isSupportColor;
} T_JZsdkLoggerConsole;
... ...
... ... @@ -74,6 +74,19 @@ static T_JZsdkReturnCode JzUser_LocalWrite(const JZ_U8 *data, JZ_U16 dataLen)
}
}
static T_JZsdkReturnCode JzUser_LocalWriteHex(const JZ_U8 *data, JZ_U16 dataLen)
{
if (logFile == NULL)
{
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
}
fprintf(logFile, "%x ", data[0]); // 写入新的数据
fflush(logFile);
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
static T_JZsdkReturnCode JzUser_LocalWriteFsInit(const JZ_U8 *path)
{
JZ_U8 filePath[JZSDK_FILE_PATH_SIZE_MAX];
... ... @@ -195,11 +208,13 @@ T_JZsdkReturnCode JZsdk_LoggerInit()
T_JZsdkLoggerConsole printfConsole = {
.func = JzUser_PrintConsole,
.consoleLevel = JZSDK_LOGGER_CONSOLE_LOG_LEVEL_DEBUG,
.hexFunc = NULL,
.isSupportColor = true,
};
T_JZsdkLoggerConsole localRecordConsole = {
.func = JzUser_LocalWrite,
.hexFunc = JzUser_LocalWriteHex,
.consoleLevel = JZSDK_LOGGER_CONSOLE_LOG_LEVEL_INFO,
.isSupportColor = true,
};
... ...
... ... @@ -7,23 +7,23 @@
#define VERSION_CHOOSE_H
#include "JZsdk_Base/JZsdk_Code/JZsdk_DeviceCode.h"
//1~10行 除了D可以修改版本选择 禁止动任何东西
#define DEVICE_VERSION JZ_H1T
#define DEVICE_VERSION JZ_U3S
//禁止修改行 选择是串口程序 还是 psdk程序
#define APP_VERSION APP_PSDK
#define APP_VERSION APP_UART
//禁止修改行 板子型号
#define PLATFORM_VERSION PLATFORM_V3S
//禁止修改行 串口连接程序的软件版本号
#define MAJOR_VERSION_TEN_POSITION 0
#define MAJOR_VERSION_ONE_POSITION 1
#define MAJOR_VERSION_ONE_POSITION 0
#define MINOR_VERSION_TEN_POSITION 0
#define MINOR_VERSION_ONE_POSITION 3
#define MODIFY_VERSION_TEN_POSITION 1
#define MODIFY_VERSION_ONE_POSITION 1
#define DEBUG_VERSION_TEN_POSITION 0
#define DEBUG_VERSION_ONE_POSITION 4
#define MINOR_VERSION_ONE_POSITION 0
#define MODIFY_VERSION_TEN_POSITION 0
#define MODIFY_VERSION_ONE_POSITION 2
#define DEBUG_VERSION_TEN_POSITION 2
#define DEBUG_VERSION_ONE_POSITION 0
... ...
... ... @@ -223,12 +223,18 @@ static void *UartDeal_rece(void *arg)
// data_len2+=args->MessageLength;
// printf("当前接收长度%d bytesRead%d bmessage%d reslen%d\n",data_len,bytesRead,data_len2,args->ResLen);
// JZSDK_LOG_INFO("从串口读取到,长度%d",(args->MessageLength-args->ResLen));
#if 1
if (args->UartDevName == UART_DEV_1)
{
JZSDK_LOG_INFO("从串口读取到,长度%d",(args->MessageLength-args->ResLen));
// for (int i = 0; i < (args->MessageLength-args->ResLen); i++)
// {
// JZSDK_LOG_OUTPUTHEX("%s",&args->Message[i+args->ResLen]);
// }
for (int i = 0; i < (args->MessageLength-args->ResLen); i++)
{
JZSDK_LOG_OUTPUTHEX("%s",&args->Message[i+args->ResLen]);
}
}
#endif
// 更新剩余长度
args->ResLen = 0;
... ...