|
|
#include <stdio.h>
|
|
|
#include <stdlib.h>
|
|
|
#include <string.h>
|
|
|
|
|
|
#include "JZsdkLib.h"
|
|
|
#include "./DeviceMessage.h"
|
|
|
#include "version_choose.h"
|
|
|
#include "BaseConfig.h"
|
|
|
#include "../SerialNumberProc/SerialProc.h"
|
|
|
#include "Gimbal/Gimbal_InAndOut.h"
|
|
|
#include "UI_control/Psdk_UI_io.h"
|
|
|
|
|
|
#if MEGAPHONE_CONFIG_STATUS == VERSION_SWITCH_ON
|
|
|
#include "Megaphone/Megaphone.h"
|
|
|
#include "Megaphone/MegTempControl/MegTempControl.h"
|
|
|
#endif
|
|
|
|
|
|
#include "Lighting/Lighting_InAndOut.h"
|
|
|
|
|
|
#define MESSAGE_MAX_LEN 1024
|
|
|
|
|
|
static DeviceMessageMode g_DeviceMessageMode = DEVICE_MESSAGE_DEFAULT;
|
|
|
static unsigned char DeviceMessage[MESSAGE_MAX_LEN] = "默认打印信息\n"; //设备信息最多显示512长度
|
|
|
static DeviceMessageLanguage g_MessageLanguage = DEVICE_MESSAGE_CHINESE;
|
|
|
|
|
|
int Widget_RealTimeOpusFlag = JZ_FLAGCODE_OFF; //用于标志ui里的实时语音开关
|
|
|
|
|
|
#if IRC_CONFIG_STATUS == VERSION_SWITCH_ON
|
|
|
extern int g_temp_GasValueMax;
|
|
|
extern int g_temp_GasValueMin;
|
|
|
#endif
|
|
|
|
|
|
|
|
|
/***************************************************
|
|
|
*
|
|
|
* 设备信息初始化
|
|
|
* 暂时无用
|
|
|
*
|
|
|
* *************************************************/
|
|
|
T_JZsdkReturnCode DeviceMessage_Init()
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
/***************************************************
|
|
|
*
|
|
|
* 是否可用信息录入
|
|
|
* 如果设备不可用,直接返回错误,从而不录入其他信息
|
|
|
*
|
|
|
* *************************************************/
|
|
|
static T_JZsdkReturnCode DeviceMessage_Enter_UsegePermissions(unsigned char *message)
|
|
|
{
|
|
|
unsigned char old_message[MESSAGE_MAX_LEN];
|
|
|
unsigned char new_message[MESSAGE_MAX_LEN];
|
|
|
memset(message ,0, MESSAGE_MAX_LEN);
|
|
|
memset(old_message, 0, MESSAGE_MAX_LEN);
|
|
|
memset(new_message, 0, MESSAGE_MAX_LEN);
|
|
|
|
|
|
unsigned char Jz_SerialNumber[256];
|
|
|
int Jz_SerialNumberLenth;
|
|
|
SerialMAT_Get_SerialNumber(Jz_SerialNumber, &Jz_SerialNumberLenth);
|
|
|
|
|
|
//判断是否能用
|
|
|
int UseFlag = Main_Device_Wheather_Use();
|
|
|
if(UseFlag== 1)
|
|
|
{
|
|
|
//判断为未激活
|
|
|
//显示未激活
|
|
|
memset(new_message,0,sizeof(new_message));
|
|
|
memset(old_message,0,sizeof(old_message));
|
|
|
memset(message,0,sizeof(message));
|
|
|
|
|
|
if (g_MessageLanguage == DEVICE_MESSAGE_CHINESE)
|
|
|
{
|
|
|
snprintf(new_message,MESSAGE_MAX_LEN,"提示:未激活,功能不可用。\n请进入微信小程序“极至服务”\n输入设备SN码:%s\n获取激活码激活设备。\n",Jz_SerialNumber);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
snprintf(new_message,MESSAGE_MAX_LEN,"Reminder: Not activated, function not available.\nPlease enter https://jzdrones.com/\nInput device SN code: %s\nObtain an activation code to activate the device.\n",Jz_SerialNumber);
|
|
|
}
|
|
|
snprintf(old_message,MESSAGE_MAX_LEN,"%s",message);
|
|
|
snprintf(message,MESSAGE_MAX_LEN,"%s%s",old_message,new_message);
|
|
|
|
|
|
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
|
|
|
}
|
|
|
|
|
|
else if (UseFlag == 2)
|
|
|
{
|
|
|
//判断为海外版
|
|
|
//显示为海外版不可用
|
|
|
memset(new_message,0,sizeof(new_message));
|
|
|
memset(old_message,0,sizeof(old_message));
|
|
|
memset(message,0,sizeof(message));
|
|
|
|
|
|
if (g_MessageLanguage == DEVICE_MESSAGE_CHINESE)
|
|
|
{
|
|
|
snprintf(new_message,MESSAGE_MAX_LEN,"海外版无法在中国境内使用\n");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
snprintf(new_message,MESSAGE_MAX_LEN,"The international version cannot be used in China\n");
|
|
|
}
|
|
|
snprintf(old_message,MESSAGE_MAX_LEN,"%s",message);
|
|
|
snprintf(message,MESSAGE_MAX_LEN,"%s%s",old_message,new_message);
|
|
|
|
|
|
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
|
|
|
}
|
|
|
|
|
|
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
|
|
}
|
|
|
|
|
|
/***************************************************
|
|
|
*
|
|
|
* 设备信息录入
|
|
|
*
|
|
|
*
|
|
|
* *************************************************/
|
|
|
static T_JZsdkReturnCode DeviceMessage_Enter_Default(unsigned char *message)
|
|
|
{
|
|
|
unsigned char old_message[MESSAGE_MAX_LEN];
|
|
|
unsigned char new_message[MESSAGE_MAX_LEN];
|
|
|
memset(message ,0, MESSAGE_MAX_LEN);
|
|
|
memset(old_message, 0, MESSAGE_MAX_LEN);
|
|
|
memset(new_message, 0, MESSAGE_MAX_LEN);
|
|
|
|
|
|
#if MEGAPHONE_CONFIG_STATUS == VERSION_SWITCH_ON
|
|
|
//如果实时语音按键打开了
|
|
|
if (Widget_RealTimeOpusFlag == JZ_FLAGCODE_ON)
|
|
|
{
|
|
|
memset(message ,0, MESSAGE_MAX_LEN);
|
|
|
memset(old_message, 0, MESSAGE_MAX_LEN);
|
|
|
memset(new_message, 0, MESSAGE_MAX_LEN);
|
|
|
|
|
|
if (g_MessageLanguage == DEVICE_MESSAGE_CHINESE)
|
|
|
{
|
|
|
snprintf(new_message,MESSAGE_MAX_LEN,"已开启实时语音\n禁止其他音频操作\n");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
snprintf(new_message,MESSAGE_MAX_LEN,"Real-time Intercom has been enabled.\nOther audio operations are prohibited\n");
|
|
|
}
|
|
|
|
|
|
snprintf(old_message,MESSAGE_MAX_LEN,"%s",message);
|
|
|
snprintf(message,MESSAGE_MAX_LEN,"%s%s",old_message,new_message);
|
|
|
|
|
|
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
|
|
}
|
|
|
//正常获取歌曲列表
|
|
|
else
|
|
|
{
|
|
|
//获取音频信息 用于显示歌曲列表
|
|
|
memset(old_message, 0, MESSAGE_MAX_LEN);
|
|
|
memset(new_message, 0, MESSAGE_MAX_LEN);
|
|
|
if(Megaphone_GetMusicListMessage(new_message) != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
|
|
|
{
|
|
|
memset(message, 0, sizeof(message));
|
|
|
if (g_MessageLanguage == DEVICE_MESSAGE_CHINESE)
|
|
|
{
|
|
|
snprintf(new_message,MESSAGE_MAX_LEN,"无歌曲\n",sizeof("无歌曲\n"));
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
snprintf(new_message,MESSAGE_MAX_LEN,"No Songs\n", sizeof("No Songs"));
|
|
|
}
|
|
|
}
|
|
|
snprintf(old_message,MESSAGE_MAX_LEN,"%s",message);
|
|
|
snprintf(message,MESSAGE_MAX_LEN,"%s%s",old_message,new_message);
|
|
|
//JZSDK_LOG_INFO("获取的信息%s",message);
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
#if IRC_CONFIG_STATUS == VERSION_SWITCH_ON
|
|
|
if (g_MessageLanguage == DEVICE_MESSAGE_CHINESE)
|
|
|
{
|
|
|
memset(new_message,0,sizeof(new_message));
|
|
|
memset(old_message,0,sizeof(old_message));
|
|
|
snprintf(new_message,MESSAGE_MAX_LEN,"气体阈值\n上限:%d\n下限:%d\n",g_temp_GasValueMax , g_temp_GasValueMin);
|
|
|
snprintf(old_message,MESSAGE_MAX_LEN,"%s",message);
|
|
|
snprintf(message,MESSAGE_MAX_LEN,"%s%s",old_message,new_message);
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
memset(new_message,0,sizeof(new_message));
|
|
|
memset(old_message,0,sizeof(old_message));
|
|
|
snprintf(new_message,MESSAGE_MAX_LEN,"Gas Threshold\nUpper Limit: %d\nLower Limit: %d\n",g_temp_GasValueMax , g_temp_GasValueMin);
|
|
|
snprintf(old_message,MESSAGE_MAX_LEN,"%s",message);
|
|
|
snprintf(message,MESSAGE_MAX_LEN,"%s%s",old_message,new_message);
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
//如果为组合版
|
|
|
#if (DEVICE_VERSION == TF_A1 || DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S ||DEVICE_VERSION == JZ_U3D)
|
|
|
|
|
|
// //组合板写入
|
|
|
// snprintf(new_message,128,"光斑y值%d\n",Widget_GetCenter_ValueY());
|
|
|
// snprintf(old_message,MESSAGE_MAX_LEN,"%s",message);
|
|
|
// snprintf(message,MESSAGE_MAX_LEN,"%s%s",old_message,new_message);
|
|
|
|
|
|
static int SearchLight_LeftTemperature = 0;
|
|
|
static int SearchLight_RightTemperature = 0;
|
|
|
|
|
|
//获取温度
|
|
|
Lighting_Get_SearchLightTemperature(&SearchLight_LeftTemperature, &SearchLight_RightTemperature);
|
|
|
|
|
|
memset(new_message,0,sizeof(new_message));
|
|
|
memset(old_message,0,sizeof(old_message));
|
|
|
if (g_MessageLanguage == DEVICE_MESSAGE_CHINESE)
|
|
|
{
|
|
|
snprintf(new_message,MESSAGE_MAX_LEN,"左灯温度:%d\n",SearchLight_LeftTemperature);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
snprintf(new_message,MESSAGE_MAX_LEN,"SearchLight-LeftTemp:%d\n",SearchLight_LeftTemperature);
|
|
|
}
|
|
|
snprintf(old_message,MESSAGE_MAX_LEN,"%s",message);
|
|
|
snprintf(message,MESSAGE_MAX_LEN,"%s%s",old_message,new_message);
|
|
|
|
|
|
memset(new_message,0,sizeof(new_message));
|
|
|
memset(old_message,0,sizeof(old_message));
|
|
|
if (g_MessageLanguage == DEVICE_MESSAGE_CHINESE)
|
|
|
{
|
|
|
snprintf(new_message,MESSAGE_MAX_LEN,"右灯温度:%d\n",SearchLight_RightTemperature);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
snprintf(new_message,MESSAGE_MAX_LEN,"SearchLight-RightTemp:%d\n",SearchLight_RightTemperature);
|
|
|
}
|
|
|
snprintf(old_message,MESSAGE_MAX_LEN,"%s",message);
|
|
|
snprintf(message,MESSAGE_MAX_LEN,"%s%s",old_message,new_message);
|
|
|
|
|
|
#endif
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
/***************************************************
|
|
|
*
|
|
|
* 设备信息录入
|
|
|
*
|
|
|
*
|
|
|
* *************************************************/
|
|
|
static T_JZsdkReturnCode DeviceMessage_Enter_Debug(unsigned char *message)
|
|
|
{
|
|
|
unsigned char old_message[MESSAGE_MAX_LEN];
|
|
|
unsigned char new_message[MESSAGE_MAX_LEN];
|
|
|
memset(message ,0, MESSAGE_MAX_LEN);
|
|
|
memset(old_message, 0, MESSAGE_MAX_LEN);
|
|
|
memset(new_message, 0, MESSAGE_MAX_LEN);
|
|
|
|
|
|
snprintf(new_message,MESSAGE_MAX_LEN,"调试界面\n");
|
|
|
snprintf(old_message,MESSAGE_MAX_LEN,"%s",message);
|
|
|
snprintf(message,MESSAGE_MAX_LEN,"%s%s",old_message,new_message);
|
|
|
|
|
|
//如果拥有云台,将会显示云台微调值
|
|
|
if (Get_JZsdk_GimbalStatusFlag() == 1)
|
|
|
{
|
|
|
memset(new_message,0,sizeof(new_message));
|
|
|
memset(old_message,0,sizeof(old_message));
|
|
|
snprintf(new_message,MESSAGE_MAX_LEN,"云台值%d\n云台微调值%d\n实际云台值%d\n",
|
|
|
JZsdk_Psdk_UI_io_Get_PitchAngle(),
|
|
|
JZsdk_Psdk_UI_io_Get_PitchFineTuninge(),
|
|
|
JZsdk_Psdk_UI_io_Get_PitchRealPitchAngle());
|
|
|
snprintf(old_message,MESSAGE_MAX_LEN,"%s",message);
|
|
|
snprintf(message,MESSAGE_MAX_LEN,"%s%s",old_message,new_message);
|
|
|
}
|
|
|
|
|
|
|
|
|
#if MEGAPHONE_CONFIG_STATUS == VERSION_SWITCH_ON
|
|
|
memset(new_message,0,sizeof(new_message));
|
|
|
memset(old_message,0,sizeof(old_message));
|
|
|
snprintf(new_message,MESSAGE_MAX_LEN,"rtv:%d rsv:%d",Megaphone_get_RealTargetVolume(), Megaphone_get_RealSetVolume());
|
|
|
snprintf(old_message,MESSAGE_MAX_LEN,"%s",message);
|
|
|
snprintf(message,MESSAGE_MAX_LEN,"%s%s",old_message,new_message);
|
|
|
|
|
|
//如果温控值不为0
|
|
|
double Megtemp = MegTempControl_GetTemp();
|
|
|
if (Megtemp != 0)
|
|
|
{
|
|
|
memset(new_message,0,sizeof(new_message));
|
|
|
memset(old_message,0,sizeof(old_message));
|
|
|
snprintf(new_message,MESSAGE_MAX_LEN,"喊话器温度%f\n",Megtemp);
|
|
|
snprintf(old_message,MESSAGE_MAX_LEN,"%s",message);
|
|
|
snprintf(message,MESSAGE_MAX_LEN,"%s%s",old_message,new_message);
|
|
|
}
|
|
|
#endif
|
|
|
}
|
|
|
|
|
|
|
|
|
/***************************************************
|
|
|
*
|
|
|
* 用于获取设备信息的函数入口
|
|
|
*
|
|
|
*
|
|
|
* *************************************************/
|
|
|
T_JZsdkReturnCode DeviceMessage_GetMessage(unsigned char *str, int MaxReadLen)
|
|
|
{
|
|
|
T_JZsdkReturnCode ret;
|
|
|
memset(DeviceMessage,0,sizeof(DeviceMessage));
|
|
|
|
|
|
if (MaxReadLen >= sizeof(DeviceMessage))
|
|
|
{
|
|
|
MaxReadLen = sizeof(DeviceMessage);
|
|
|
}
|
|
|
|
|
|
//接下来信息很重要,首先获取消息吧!
|
|
|
if (g_DeviceMessageMode == DEVICE_MESSAGE_ALL)
|
|
|
{
|
|
|
JZSDK_LOG_INFO("查获所有信息");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
ret = DeviceMessage_Enter_UsegePermissions(DeviceMessage);
|
|
|
if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
|
|
|
{
|
|
|
memcpy(str, DeviceMessage, MaxReadLen);
|
|
|
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
|
|
}
|
|
|
|
|
|
if (g_DeviceMessageMode == DEVICE_MESSAGE_DEFAULT)
|
|
|
{
|
|
|
DeviceMessage_Enter_Default(DeviceMessage);
|
|
|
memcpy(str, DeviceMessage, MaxReadLen);
|
|
|
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
|
|
}
|
|
|
else if (g_DeviceMessageMode == DEVICE_MESSAGE_DEBUG)
|
|
|
{
|
|
|
DeviceMessage_Enter_Debug(DeviceMessage);
|
|
|
memcpy(str, DeviceMessage, MaxReadLen);
|
|
|
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
printf("获取设备信息失败\n");
|
|
|
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
|
|
}
|
|
|
|
|
|
/*****************************
|
|
|
*
|
|
|
* 设置信息模式
|
|
|
*
|
|
|
*
|
|
|
* **************************/
|
|
|
T_JZsdkReturnCode DeviceMessage_Mode(DeviceMessageMode mode)
|
|
|
{
|
|
|
if (mode < 0 || mode > 2)
|
|
|
{
|
|
|
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
|
|
|
}
|
|
|
|
|
|
if (mode == g_DeviceMessageMode)
|
|
|
{
|
|
|
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
|
|
}
|
|
|
|
|
|
g_DeviceMessageMode = mode;
|
|
|
|
|
|
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
|
|
}
|
|
|
|
|
|
/*****************************
|
|
|
*
|
|
|
* 设置设备信息的语言
|
|
|
*
|
|
|
*
|
|
|
* **************************/
|
|
|
T_JZsdkReturnCode DeviceMessage_SetMessageLanguage(DeviceMessageLanguage value)
|
|
|
{
|
|
|
if (value < 0 || value > 1)
|
|
|
{
|
|
|
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
|
|
|
}
|
|
|
|
|
|
if (value == g_MessageLanguage)
|
|
|
{
|
|
|
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
|
|
}
|
|
|
|
|
|
g_MessageLanguage = value;
|
|
|
|
|
|
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
|
|
} |
|
|
\ No newline at end of file |
...
|
...
|
|