|
|
|
#include "Psdk_ui_value_menu.h"
|
|
|
|
#include "JZsdkLib.h"
|
|
|
|
#include "DeviceInfo/DeviceInfo.h"
|
|
|
|
|
|
|
|
#include "version_choose.h"
|
|
|
|
#include "JZsdkLib.h"
|
|
|
|
#include "ExtensionAPI/JZsdk_ExpansionApi.h"
|
|
|
|
|
|
|
|
//当x < min时,返回min;当x > max时,返回max;否则返回x
|
|
|
|
#define CLAMP(x, min, max) ((x) < (min) ? (min) : ((x) > (max) ? (max) : (x)))
|
|
|
|
|
|
|
|
//不在范围时,取0
|
|
|
|
#define IN_RANGE_OR_ZERO(x, min, max) \
|
|
|
|
(((x) >= (min) && (x) <= (max)) ? (x) : 0)
|
|
|
|
|
|
|
|
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
|
|
|
|
|
|
|
|
/*************************************************************************************************/
|
|
|
|
//下面的内容有空的话,从数组优化成配置表形式
|
|
|
|
|
|
|
|
//tts速度数组
|
|
|
|
static const char TtsSpeedValue[] = { 25, 50, 75, 100 };
|
|
|
|
|
|
|
|
#ifdef IFLAY_TTS_1_CONFIG_STATUS_ON
|
|
|
|
static const char TTStone_Chinese[] = {0x01, 0x02, 0x11, 0x12, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36};
|
|
|
|
static const char TTStone_English[] = {0x11, 0x12, 0x01, 0x02, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48};
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef IFLAY_TTS_2_CONFIG_STATUS_ON
|
|
|
|
static const char Ify2_TTS_Value[] = {0x01, 0x02, 0x11, 0x12, 0x31, 0x32, 0x33, 0x34, 0x36, 0x37};
|
|
|
|
#endif
|
|
|
|
|
|
|
|
static const char WarnColor_Default[] = {0x01, 0x02, 0x03, 0x04, 0x05};
|
|
|
|
static const char WarnColor_RedBule[] = {0x01, 0x03};
|
|
|
|
|
|
|
|
static const char WarnMode_OnlySynchronous[] = {0x00, 0x04, 0x05};
|
|
|
|
|
|
|
|
/*************************************************************************************************/
|
|
|
|
|
|
|
|
/****************
|
|
|
|
*
|
|
|
|
* 控件设置
|
|
|
|
*
|
|
|
|
* *************/
|
|
|
|
static T_JZsdkReturnCode UI_control_WidgetArraySet(int index, int value)
|
|
|
|
{
|
|
|
|
//JZSDK_LOG_DEBUG("UI_control_WidgetArraySet index = %d, value = %d");
|
|
|
|
|
|
|
|
T_JZsdkToPsdkHandler *handle = ExpansionApi_JZsdkToPsdk_GetHandler();
|
|
|
|
if (handle != NULL && handle->Set_UI_Widget_Value != NULL)
|
|
|
|
{
|
|
|
|
//将控件值设置到psdk的ui控件
|
|
|
|
handle->Set_UI_Widget_Value(index, value);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************
|
|
|
|
*
|
|
|
|
* 获取二级控件的index值
|
|
|
|
*
|
|
|
|
*****************/
|
|
|
|
int UI_control_value_to_SecondaryWidgetValue(int type, int value)
|
|
|
|
{
|
|
|
|
int temp;
|
|
|
|
switch (type)
|
|
|
|
{
|
|
|
|
case JZSDK_WIDGET_WARNLIGHT_MODE:
|
|
|
|
{
|
|
|
|
temp = 0;
|
|
|
|
#if DEVICE_VERSION == JZ_T40 || DEVICE_VERSION == JZ_T40S
|
|
|
|
for (int i = 0; i < ARRAY_SIZE(WarnMode_OnlySynchronous); i++)
|
|
|
|
{
|
|
|
|
if (WarnMode_OnlySynchronous[i] == value)
|
|
|
|
{
|
|
|
|
temp = i;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
//JZSDK_LOG_DEBUG("temp:%d, value:%d", temp, value);
|
|
|
|
#else
|
|
|
|
temp = value;
|
|
|
|
#endif
|
|
|
|
return temp;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_WARNLIGHT_COLOR_1:
|
|
|
|
case JZSDK_WIDGET_WARNLIGHT_COLOR_2:
|
|
|
|
{
|
|
|
|
temp = 0;
|
|
|
|
#if DEVICE_VERSION == JZ_T40 || DEVICE_VERSION == JZ_T40S
|
|
|
|
|
|
|
|
int type = JZsdk_GetDeviceType();
|
|
|
|
if (type == 0 || type == 1)
|
|
|
|
{
|
|
|
|
for (int i = 0; i < (ARRAY_SIZE(WarnColor_RedBule)); i++)
|
|
|
|
{
|
|
|
|
if (WarnColor_RedBule[i] == value)
|
|
|
|
{
|
|
|
|
temp = i;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
for (int i = 0; i < (ARRAY_SIZE(WarnColor_Default)); i++)
|
|
|
|
{
|
|
|
|
if (WarnColor_Default[i] == value)
|
|
|
|
{
|
|
|
|
temp = i;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#else
|
|
|
|
for (int i = 0; i < (ARRAY_SIZE(WarnColor_Default)); i++)
|
|
|
|
{
|
|
|
|
if (WarnColor_Default[i] == value)
|
|
|
|
{
|
|
|
|
temp = i;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
return temp;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/****************
|
|
|
|
*
|
|
|
|
* 二级控件设置
|
|
|
|
*
|
|
|
|
c * *************/
|
|
|
|
static T_JZsdkReturnCode UI_control_SecondaryWidgetArraySet(int type, int value)
|
|
|
|
{
|
|
|
|
T_JZsdkToPsdkHandler *handle = ExpansionApi_JZsdkToPsdk_GetHandler();
|
|
|
|
if (handle == NULL)
|
|
|
|
{
|
|
|
|
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
|
|
|
|
}
|
|
|
|
|
|
|
|
switch (type)
|
|
|
|
{
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_PLAYANDSTOP:
|
|
|
|
if (handle->Set_UI_SpeakerWidget_PlayState != NULL)
|
|
|
|
{
|
|
|
|
return handle->Set_UI_SpeakerWidget_PlayState(value);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_LOOP_PLAY:
|
|
|
|
if (handle->Set_UI_SpeakerWidget_LoopMode != NULL)
|
|
|
|
{
|
|
|
|
return handle->Set_UI_SpeakerWidget_LoopMode(value);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_VOLUME://音量
|
|
|
|
if (handle->Set_UI_SpeakerWidget_Volume != NULL)
|
|
|
|
{
|
|
|
|
return handle->Set_UI_SpeakerWidget_Volume(value);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static T_JZsdkReturnCode JZsdk_UI_DJIpsdk_Widget_set(JZsdk_Widget_Control index, int value)
|
|
|
|
{
|
|
|
|
int temp; //临时变量
|
|
|
|
switch (index)
|
|
|
|
{
|
|
|
|
case JZSDK_WIDGET_PLAYANDSTOP:
|
|
|
|
{
|
|
|
|
//如果是要播放
|
|
|
|
if (value == JZ_FLAGCODE_ON)
|
|
|
|
{
|
|
|
|
// 将控件界面的播放开关打开
|
|
|
|
UI_control_WidgetArraySet(JZSDK_WIDGET_PLAYANDSTOP, 0);
|
|
|
|
|
|
|
|
// 将ttsSpeaker的开关关闭
|
|
|
|
UI_control_SecondaryWidgetArraySet(JZSDK_WIDGET_PLAYANDSTOP, JZ_FLAGCODE_OFF);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
// 将控件界面的播放开关关闭
|
|
|
|
UI_control_WidgetArraySet(JZSDK_WIDGET_PLAYANDSTOP, 1);
|
|
|
|
|
|
|
|
// 将ttsSpeaker的开关关闭
|
|
|
|
UI_control_SecondaryWidgetArraySet(JZSDK_WIDGET_PLAYANDSTOP, JZ_FLAGCODE_OFF);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_VOLUME:
|
|
|
|
{
|
|
|
|
//1、大疆音量控件需要去设置喊话器控件内的音量
|
|
|
|
UI_control_WidgetArraySet(3, value);
|
|
|
|
UI_control_WidgetArraySet(4, value);
|
|
|
|
|
|
|
|
//2、大疆音量控件需要去设置悬浮窗的音量
|
|
|
|
UI_control_SecondaryWidgetArraySet(JZSDK_WIDGET_VOLUME, value);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_TTS_SPEED:
|
|
|
|
{
|
|
|
|
//将音量转换为控件值
|
|
|
|
temp = 0;
|
|
|
|
if (value >=0 && value <=25 )
|
|
|
|
{
|
|
|
|
temp = 0;
|
|
|
|
}
|
|
|
|
else if (value > 25 && value <= 50)
|
|
|
|
{
|
|
|
|
temp = 1;
|
|
|
|
}
|
|
|
|
else if (value > 50 && value <= 75)
|
|
|
|
{
|
|
|
|
temp = 2;
|
|
|
|
}
|
|
|
|
else if (value > 75 && value <= 100)
|
|
|
|
{
|
|
|
|
temp = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
UI_control_WidgetArraySet(5, temp);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_TTS_TONE:
|
|
|
|
{
|
|
|
|
//将音色转换为控件值
|
|
|
|
temp = 0;
|
|
|
|
|
|
|
|
#ifdef IFLAY_TTS_1_CONFIG_STATUS_ON //讯飞一代音色转换
|
|
|
|
T_JZsdkReturnCode ret;
|
|
|
|
E_LanguageInfo LanguageInfo = LanguageInfo_Get_LanguageInfo();
|
|
|
|
|
|
|
|
if (LanguageInfo == LANGUAGE_INFO_CHINESE)
|
|
|
|
{
|
|
|
|
for (int i = 0; i < (ARRAY_SIZE(TTStone_Chinese)); i++)
|
|
|
|
{
|
|
|
|
if (TTStone_Chinese[i] == value)
|
|
|
|
{
|
|
|
|
temp = i;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
for (int i = 0; i < (ARRAY_SIZE(TTStone_English)); i++)
|
|
|
|
{
|
|
|
|
if (TTStone_English[i] == value)
|
|
|
|
{
|
|
|
|
temp = i;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // IFLAY_TTS_1_CONFIG_STATUS_ON
|
|
|
|
|
|
|
|
#ifdef IFLAY_TTS_2_CONFIG_STATUS_ON //讯飞二代音色转换
|
|
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < (ARRAY_SIZE(Ify2_TTS_Value)); i++)
|
|
|
|
{
|
|
|
|
if (Ify2_TTS_Value[i] == value)
|
|
|
|
{
|
|
|
|
temp = i;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // IFLAY_TTS_2_CONFIG_STATUS_ON
|
|
|
|
|
|
|
|
UI_control_WidgetArraySet(6 , temp);
|
|
|
|
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_SIDE_LASER_MODE:
|
|
|
|
{
|
|
|
|
temp = value;
|
|
|
|
UI_control_WidgetArraySet(15, temp);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_WARNLIGHT_MODE:
|
|
|
|
{
|
|
|
|
temp = UI_control_value_to_SecondaryWidgetValue(JZSDK_WIDGET_WARNLIGHT_MODE, value);
|
|
|
|
UI_control_WidgetArraySet(16, temp);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_WARNLIGHT_COLOR_1:
|
|
|
|
{
|
|
|
|
temp = UI_control_value_to_SecondaryWidgetValue(JZSDK_WIDGET_WARNLIGHT_COLOR_1, value);
|
|
|
|
UI_control_WidgetArraySet(17, temp);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_WARNLIGHT_COLOR_2:
|
|
|
|
{
|
|
|
|
temp = UI_control_value_to_SecondaryWidgetValue(JZSDK_WIDGET_WARNLIGHT_COLOR_1, value);
|
|
|
|
UI_control_WidgetArraySet(18, index);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_SIDE_LASER_LUMEN:
|
|
|
|
{
|
|
|
|
temp = value;
|
|
|
|
UI_control_WidgetArraySet(30, temp);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_SIDE_LASER_COLOR:
|
|
|
|
{
|
|
|
|
temp = value;
|
|
|
|
UI_control_WidgetArraySet(31, temp);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
//设置控件值
|
|
|
|
T_JZsdkReturnCode JZsdk_PsdkUi_value_set(JZsdk_Widget_Control index, int value)
|
|
|
|
{
|
|
|
|
JZsdk_UI_DJIpsdk_Widget_set(index, value);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//控件值转换为变量, 专门用在test wideget
|
|
|
|
T_JZsdkReturnCode JZsdk_PsdkUi_value_get(JZsdk_Widget_Control index, int *value)
|
|
|
|
{
|
|
|
|
int temp = *value;
|
|
|
|
|
|
|
|
switch (index)
|
|
|
|
{
|
|
|
|
case JZSDK_WIDGET_TTS_SPEED:
|
|
|
|
{
|
|
|
|
//处理为合法值
|
|
|
|
temp = CLAMP(temp, 0, (ARRAY_SIZE(TtsSpeedValue) - 1));
|
|
|
|
*value = TtsSpeedValue[temp];
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_TTS_TONE:
|
|
|
|
{
|
|
|
|
#ifdef IFLAY_TTS_1_CONFIG_STATUS_ON //讯飞一代音色转换
|
|
|
|
E_LanguageInfo LanguageInfo = LanguageInfo_Get_LanguageInfo();
|
|
|
|
if (LanguageInfo == LANGUAGE_INFO_CHINESE)
|
|
|
|
{
|
|
|
|
//处理为合法值
|
|
|
|
temp = IN_RANGE_OR_ZERO(temp, 0, (ARRAY_SIZE(TTStone_Chinese) - 1));
|
|
|
|
*value = TTStone_Chinese[temp];
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
temp = IN_RANGE_OR_ZERO(temp, 0, (ARRAY_SIZE(TTStone_English) - 1));
|
|
|
|
*value = TTStone_English[temp];
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif //讯飞一代音色转换
|
|
|
|
|
|
|
|
#ifdef IFLAY_TTS_2_CONFIG_STATUS_ON //讯飞二代音色转换
|
|
|
|
temp = IN_RANGE_OR_ZERO(temp, 0, (ARRAY_SIZE(Ify2_TTS_Value) - 1));
|
|
|
|
*value = Ify2_TTS_Value[temp];
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_WARNLIGHT_COLOR_1:
|
|
|
|
case JZSDK_WIDGET_WARNLIGHT_COLOR_2:
|
|
|
|
{
|
|
|
|
#if DEVICE_VERSION == JZ_T40 || DEVICE_VERSION == JZ_T40S
|
|
|
|
|
|
|
|
int type = JZsdk_GetDeviceType();
|
|
|
|
if (type == 0 || type == 1)
|
|
|
|
{
|
|
|
|
temp = IN_RANGE_OR_ZERO(temp, 0, (ARRAY_SIZE(WarnColor_RedBule) - 1));
|
|
|
|
*value = WarnColor_RedBule[temp];
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
temp = IN_RANGE_OR_ZERO(temp, 0, (ARRAY_SIZE(WarnColor_Default) - 1));
|
|
|
|
*value = WarnColor_Default[temp];
|
|
|
|
}
|
|
|
|
|
|
|
|
#else
|
|
|
|
//处理为合法值
|
|
|
|
temp = IN_RANGE_OR_ZERO(temp, 0, (ARRAY_SIZE(WarnColor_Default) - 1));
|
|
|
|
*value = WarnColor_Default[temp];
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_SIDE_LASER_MODE:
|
|
|
|
{
|
|
|
|
int index = *value;
|
|
|
|
*value = index;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_WARNLIGHT_MODE:
|
|
|
|
{
|
|
|
|
int index = *value;
|
|
|
|
#if DEVICE_VERSION == JZ_T40 || DEVICE_VERSION == JZ_T40S
|
|
|
|
|
|
|
|
temp = IN_RANGE_OR_ZERO(temp, 0, (ARRAY_SIZE(WarnMode_OnlySynchronous) - 1));
|
|
|
|
*value = WarnMode_OnlySynchronous[temp];
|
|
|
|
|
|
|
|
#else
|
|
|
|
*value = index;
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
|
|
|
#include "UI_control/Psdk_UI_io.h"
|
|
|
|
#include "JZsdkLib.h"
|
|
|
|
#include "DeviceInfo/DeviceInfo.h"
|
|
|
|
|
|
|
|
#include "version_choose.h"
|
|
|
|
#include "ExtensionAPI/JZsdk_ExpansionApi.h"
|
|
|
|
|
|
|
|
//当x < min时,返回min;当x > max时,返回max;否则返回x
|
|
|
|
#define CLAMP(x, min, max) ((x) < (min) ? (min) : ((x) > (max) ? (max) : (x)))
|
|
|
|
|
|
|
|
//不在范围时,取0
|
|
|
|
#define IN_RANGE_OR_ZERO(x, min, max) \
|
|
|
|
(((x) >= (min) && (x) <= (max)) ? (x) : 0)
|
|
|
|
|
|
|
|
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
|
|
|
|
|
|
|
|
/*************************************************************************************************/
|
|
|
|
//下面的内容有空的话,从数组优化成配置表形式
|
|
|
|
|
|
|
|
//tts速度数组
|
|
|
|
static const char TtsSpeedValue[] = { 25, 50, 75, 100 };
|
|
|
|
|
|
|
|
#ifdef IFLAY_TTS_1_CONFIG_STATUS_ON
|
|
|
|
static const char TTStone_Chinese[] = {0x01, 0x02, 0x11, 0x12, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36};
|
|
|
|
static const char TTStone_English[] = {0x11, 0x12, 0x01, 0x02, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48};
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef IFLAY_TTS_2_CONFIG_STATUS_ON
|
|
|
|
static const char Ify2_TTS_Value[] = {0x01, 0x02, 0x11, 0x12, 0x31, 0x32, 0x33, 0x34, 0x36, 0x37};
|
|
|
|
#endif
|
|
|
|
|
|
|
|
static const char WarnColor_Default[] = {0x01, 0x02, 0x03, 0x04, 0x05};
|
|
|
|
static const char WarnColor_RedBule[] = {0x01, 0x03};
|
|
|
|
|
|
|
|
static const char WarnMode_OnlySynchronous[] = {0x00, 0x04, 0x05};
|
|
|
|
|
|
|
|
/*************************************************************************************************/
|
|
|
|
|
|
|
|
/****************
|
|
|
|
*
|
|
|
|
* 控件设置
|
|
|
|
*
|
|
|
|
* *************/
|
|
|
|
static T_JZsdkReturnCode UI_control_WidgetArraySet(int index, int value)
|
|
|
|
{
|
|
|
|
//JZSDK_LOG_DEBUG("UI_control_WidgetArraySet index = %d, value = %d");
|
|
|
|
|
|
|
|
T_JZsdkToPsdkHandler *handle = ExpansionApi_JZsdkToPsdk_GetHandler();
|
|
|
|
if (handle != NULL && handle->Set_UI_Widget_Value != NULL)
|
|
|
|
{
|
|
|
|
//将控件值设置到psdk的ui控件
|
|
|
|
handle->Set_UI_Widget_Value(index, value);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************
|
|
|
|
*
|
|
|
|
* 获取二级控件的index值
|
|
|
|
*
|
|
|
|
*****************/
|
|
|
|
int UI_control_value_to_SecondaryWidgetValue(int type, int value)
|
|
|
|
{
|
|
|
|
int temp;
|
|
|
|
switch (type)
|
|
|
|
{
|
|
|
|
case JZSDK_WIDGET_WARNLIGHT_MODE:
|
|
|
|
{
|
|
|
|
temp = 0;
|
|
|
|
#if DEVICE_VERSION == JZ_T40 || DEVICE_VERSION == JZ_T40S
|
|
|
|
for (int i = 0; i < ARRAY_SIZE(WarnMode_OnlySynchronous); i++)
|
|
|
|
{
|
|
|
|
if (WarnMode_OnlySynchronous[i] == value)
|
|
|
|
{
|
|
|
|
temp = i;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
//JZSDK_LOG_DEBUG("temp:%d, value:%d", temp, value);
|
|
|
|
#else
|
|
|
|
temp = value;
|
|
|
|
#endif
|
|
|
|
return temp;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_WARNLIGHT_COLOR_1:
|
|
|
|
case JZSDK_WIDGET_WARNLIGHT_COLOR_2:
|
|
|
|
{
|
|
|
|
temp = 0;
|
|
|
|
#if DEVICE_VERSION == JZ_T40 || DEVICE_VERSION == JZ_T40S
|
|
|
|
|
|
|
|
int type = JZsdk_GetDeviceType();
|
|
|
|
if (type == 0 || type == 1)
|
|
|
|
{
|
|
|
|
for (int i = 0; i < (ARRAY_SIZE(WarnColor_RedBule)); i++)
|
|
|
|
{
|
|
|
|
if (WarnColor_RedBule[i] == value)
|
|
|
|
{
|
|
|
|
temp = i;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
for (int i = 0; i < (ARRAY_SIZE(WarnColor_Default)); i++)
|
|
|
|
{
|
|
|
|
if (WarnColor_Default[i] == value)
|
|
|
|
{
|
|
|
|
temp = i;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#else
|
|
|
|
for (int i = 0; i < (ARRAY_SIZE(WarnColor_Default)); i++)
|
|
|
|
{
|
|
|
|
if (WarnColor_Default[i] == value)
|
|
|
|
{
|
|
|
|
temp = i;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
return temp;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/****************
|
|
|
|
*
|
|
|
|
* 二级控件设置
|
|
|
|
*
|
|
|
|
c * *************/
|
|
|
|
static T_JZsdkReturnCode UI_control_SecondaryWidgetArraySet(int type, int value)
|
|
|
|
{
|
|
|
|
T_JZsdkToPsdkHandler *handle = ExpansionApi_JZsdkToPsdk_GetHandler();
|
|
|
|
if (handle == NULL)
|
|
|
|
{
|
|
|
|
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
|
|
|
|
}
|
|
|
|
|
|
|
|
switch (type)
|
|
|
|
{
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_PLAYANDSTOP:
|
|
|
|
if (handle->Set_UI_SpeakerWidget_PlayState != NULL)
|
|
|
|
{
|
|
|
|
return handle->Set_UI_SpeakerWidget_PlayState(value);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_LOOP_PLAY:
|
|
|
|
if (handle->Set_UI_SpeakerWidget_LoopMode != NULL)
|
|
|
|
{
|
|
|
|
return handle->Set_UI_SpeakerWidget_LoopMode(value);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_VOLUME://音量
|
|
|
|
if (handle->Set_UI_SpeakerWidget_Volume != NULL)
|
|
|
|
{
|
|
|
|
return handle->Set_UI_SpeakerWidget_Volume(value);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static T_JZsdkReturnCode JZsdk_UI_DJIpsdk_Widget_set(JZsdk_Widget_Control index, int value)
|
|
|
|
{
|
|
|
|
int temp; //临时变量
|
|
|
|
switch (index)
|
|
|
|
{
|
|
|
|
case JZSDK_WIDGET_PLAYANDSTOP:
|
|
|
|
{
|
|
|
|
//如果是要播放
|
|
|
|
if (value == JZ_FLAGCODE_ON)
|
|
|
|
{
|
|
|
|
// 将控件界面的播放开关打开
|
|
|
|
UI_control_WidgetArraySet(JZSDK_WIDGET_PLAYANDSTOP, 0);
|
|
|
|
|
|
|
|
// 将ttsSpeaker的开关关闭
|
|
|
|
UI_control_SecondaryWidgetArraySet(JZSDK_WIDGET_PLAYANDSTOP, JZ_FLAGCODE_OFF);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
// 将控件界面的播放开关关闭
|
|
|
|
UI_control_WidgetArraySet(JZSDK_WIDGET_PLAYANDSTOP, 1);
|
|
|
|
|
|
|
|
// 将ttsSpeaker的开关关闭
|
|
|
|
UI_control_SecondaryWidgetArraySet(JZSDK_WIDGET_PLAYANDSTOP, JZ_FLAGCODE_OFF);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_VOLUME:
|
|
|
|
{
|
|
|
|
//1、大疆音量控件需要去设置喊话器控件内的音量
|
|
|
|
UI_control_WidgetArraySet(3, value);
|
|
|
|
UI_control_WidgetArraySet(4, value);
|
|
|
|
|
|
|
|
//2、大疆音量控件需要去设置悬浮窗的音量
|
|
|
|
UI_control_SecondaryWidgetArraySet(JZSDK_WIDGET_VOLUME, value);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_TTS_SPEED:
|
|
|
|
{
|
|
|
|
//将音量转换为控件值
|
|
|
|
temp = 0;
|
|
|
|
if (value >=0 && value <=25 )
|
|
|
|
{
|
|
|
|
temp = 0;
|
|
|
|
}
|
|
|
|
else if (value > 25 && value <= 50)
|
|
|
|
{
|
|
|
|
temp = 1;
|
|
|
|
}
|
|
|
|
else if (value > 50 && value <= 75)
|
|
|
|
{
|
|
|
|
temp = 2;
|
|
|
|
}
|
|
|
|
else if (value > 75 && value <= 100)
|
|
|
|
{
|
|
|
|
temp = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
UI_control_WidgetArraySet(5, temp);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_TTS_TONE:
|
|
|
|
{
|
|
|
|
//将音色转换为控件值
|
|
|
|
temp = 0;
|
|
|
|
|
|
|
|
#ifdef IFLAY_TTS_1_CONFIG_STATUS_ON //讯飞一代音色转换
|
|
|
|
T_JZsdkReturnCode ret;
|
|
|
|
E_LanguageInfo LanguageInfo = LanguageInfo_Get_LanguageInfo();
|
|
|
|
|
|
|
|
if (LanguageInfo == LANGUAGE_INFO_CHINESE)
|
|
|
|
{
|
|
|
|
for (int i = 0; i < (ARRAY_SIZE(TTStone_Chinese)); i++)
|
|
|
|
{
|
|
|
|
if (TTStone_Chinese[i] == value)
|
|
|
|
{
|
|
|
|
temp = i;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
for (int i = 0; i < (ARRAY_SIZE(TTStone_English)); i++)
|
|
|
|
{
|
|
|
|
if (TTStone_English[i] == value)
|
|
|
|
{
|
|
|
|
temp = i;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // IFLAY_TTS_1_CONFIG_STATUS_ON
|
|
|
|
|
|
|
|
#ifdef IFLAY_TTS_2_CONFIG_STATUS_ON //讯飞二代音色转换
|
|
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < (ARRAY_SIZE(Ify2_TTS_Value)); i++)
|
|
|
|
{
|
|
|
|
if (Ify2_TTS_Value[i] == value)
|
|
|
|
{
|
|
|
|
temp = i;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // IFLAY_TTS_2_CONFIG_STATUS_ON
|
|
|
|
|
|
|
|
UI_control_WidgetArraySet(6 , temp);
|
|
|
|
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_SIDE_LASER_MODE:
|
|
|
|
{
|
|
|
|
temp = value;
|
|
|
|
UI_control_WidgetArraySet(15, temp);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_WARNLIGHT_MODE:
|
|
|
|
{
|
|
|
|
temp = UI_control_value_to_SecondaryWidgetValue(JZSDK_WIDGET_WARNLIGHT_MODE, value);
|
|
|
|
UI_control_WidgetArraySet(16, temp);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_WARNLIGHT_COLOR_1:
|
|
|
|
{
|
|
|
|
temp = UI_control_value_to_SecondaryWidgetValue(JZSDK_WIDGET_WARNLIGHT_COLOR_1, value);
|
|
|
|
UI_control_WidgetArraySet(17, temp);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_WARNLIGHT_COLOR_2:
|
|
|
|
{
|
|
|
|
temp = UI_control_value_to_SecondaryWidgetValue(JZSDK_WIDGET_WARNLIGHT_COLOR_2, value);
|
|
|
|
UI_control_WidgetArraySet(18, index);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_SIDE_LASER_LUMEN:
|
|
|
|
{
|
|
|
|
temp = value;
|
|
|
|
UI_control_WidgetArraySet(30, temp);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_SIDE_LASER_COLOR:
|
|
|
|
{
|
|
|
|
temp = value;
|
|
|
|
UI_control_WidgetArraySet(31, temp);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
//设置控件值
|
|
|
|
T_JZsdkReturnCode JZsdk_PsdkUi_value_set(JZsdk_Widget_Control index, int value)
|
|
|
|
{
|
|
|
|
JZsdk_UI_DJIpsdk_Widget_set(index, value);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//控件值转换为变量, 专门用在test wideget
|
|
|
|
T_JZsdkReturnCode JZsdk_PsdkUi_value_get(JZsdk_Widget_Control index, int *value)
|
|
|
|
{
|
|
|
|
int temp = *value;
|
|
|
|
|
|
|
|
switch (index)
|
|
|
|
{
|
|
|
|
case JZSDK_WIDGET_TTS_SPEED:
|
|
|
|
{
|
|
|
|
//处理为合法值
|
|
|
|
temp = CLAMP(temp, 0, (ARRAY_SIZE(TtsSpeedValue) - 1));
|
|
|
|
*value = TtsSpeedValue[temp];
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_TTS_TONE:
|
|
|
|
{
|
|
|
|
#ifdef IFLAY_TTS_1_CONFIG_STATUS_ON //讯飞一代音色转换
|
|
|
|
E_LanguageInfo LanguageInfo = LanguageInfo_Get_LanguageInfo();
|
|
|
|
if (LanguageInfo == LANGUAGE_INFO_CHINESE)
|
|
|
|
{
|
|
|
|
//处理为合法值
|
|
|
|
temp = IN_RANGE_OR_ZERO(temp, 0, (ARRAY_SIZE(TTStone_Chinese) - 1));
|
|
|
|
*value = TTStone_Chinese[temp];
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
temp = IN_RANGE_OR_ZERO(temp, 0, (ARRAY_SIZE(TTStone_English) - 1));
|
|
|
|
*value = TTStone_English[temp];
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif //讯飞一代音色转换
|
|
|
|
|
|
|
|
#ifdef IFLAY_TTS_2_CONFIG_STATUS_ON //讯飞二代音色转换
|
|
|
|
temp = IN_RANGE_OR_ZERO(temp, 0, (ARRAY_SIZE(Ify2_TTS_Value) - 1));
|
|
|
|
*value = Ify2_TTS_Value[temp];
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_WARNLIGHT_COLOR_1:
|
|
|
|
case JZSDK_WIDGET_WARNLIGHT_COLOR_2:
|
|
|
|
{
|
|
|
|
#if DEVICE_VERSION == JZ_T40 || DEVICE_VERSION == JZ_T40S
|
|
|
|
|
|
|
|
int type = JZsdk_GetDeviceType();
|
|
|
|
|
|
|
|
if (type == 0 || type == 1)
|
|
|
|
{
|
|
|
|
temp = IN_RANGE_OR_ZERO(temp, 0, (ARRAY_SIZE(WarnColor_RedBule) - 1));
|
|
|
|
*value = WarnColor_RedBule[temp];
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
temp = IN_RANGE_OR_ZERO(temp, 0, (ARRAY_SIZE(WarnColor_Default) - 1));
|
|
|
|
*value = WarnColor_Default[temp];
|
|
|
|
}
|
|
|
|
|
|
|
|
#else
|
|
|
|
//处理为合法值
|
|
|
|
temp = IN_RANGE_OR_ZERO(temp, 0, (ARRAY_SIZE(WarnColor_Default) - 1));
|
|
|
|
*value = WarnColor_Default[temp];
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_SIDE_LASER_MODE:
|
|
|
|
{
|
|
|
|
int index = *value;
|
|
|
|
*value = index;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case JZSDK_WIDGET_WARNLIGHT_MODE:
|
|
|
|
{
|
|
|
|
int index = *value;
|
|
|
|
#if DEVICE_VERSION == JZ_T40 || DEVICE_VERSION == JZ_T40S
|
|
|
|
|
|
|
|
temp = IN_RANGE_OR_ZERO(temp, 0, (ARRAY_SIZE(WarnMode_OnlySynchronous) - 1));
|
|
|
|
*value = WarnMode_OnlySynchronous[temp];
|
|
|
|
|
|
|
|
#else
|
|
|
|
*value = index;
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
|
|
|
} |
|
|
\ No newline at end of file |
...
|
...
|
|