Files
airborne_ch4/source/ZZ_PSDK_391/Widget/Widget_Nikira.cpp
DESKTOP-4HD0KC3\ZhangZhuo e7d6f4c57b first commit
2024-10-30 15:04:53 +08:00

236 lines
6.4 KiB
C++

#include "Widget_Nikira.h"
int32_t ZZ_Widget_Nikira::m_siDjiWidgetValueBtn = 0;
int32_t ZZ_Widget_Nikira::m_siDjiWidgetValueList_CaptureMode = 1;
int32_t ZZ_Widget_Nikira::m_siDjiWidgetValueList_DecisionHeight = 1;
int32_t ZZ_Widget_Nikira::m_siDjiWidgetValueList_SamplingRate = 0;
ZZ_Widget_Nikira::ZZ_Widget_Nikira(QObject* parent /*= nullptr*/)
{
m_iFlagIsVehicleCapturing = 0;
connect(this,&ZZ_Widget_Nikira::Signal_UpdatePSDKFloatMessage,this,&ZZ_Widget_Nikira::Slot_UpdatePSDKFloatMessage);
}
ZZ_Widget_Nikira::~ZZ_Widget_Nikira()
{
}
int ZZ_Widget_Nikira::InitParam()
{
return 0;
}
int ZZ_Widget_Nikira::SetUIFilePath(char* pcUIFilePath, uint16_t uiLength)
{
if (uiLength>=256)
{
qDebug() << "ZZ_Widget_Nikira: Func SetUIFilePath. File path is too long";
return 1;
}
QByteArray qbaTemp(pcUIFilePath);
m_qstrFilePath = qbaTemp;
return 0;
}
int ZZ_Widget_Nikira::UpdateCaptureStatus(int iStatus)
{
m_iFlagIsVehicleCapturing = iStatus;
}
//int ZZ_Widget_Nikira::GetSettings(UIConfig &struUIConfig)
//{
// struUIConfig.sDecisionHeight = m_siDjiWidgetValueList_DecisionHeight;
// struUIConfig.sCaptureMode = m_siDjiWidgetValueList_CaptureMode;
// struUIConfig.sSamplingRate = m_siDjiWidgetValueList_SamplingRate;
// return 0;
//}
//int ZZ_Widget_Nikira::SetSettings(UIConfig struUIConfig)
//{
// m_struUIConfig = struUIConfig;
// m_siDjiWidgetValueList_CaptureMode = struUIConfig.sCaptureMode;
// m_siDjiWidgetValueList_DecisionHeight = struUIConfig.sDecisionHeight;
// m_siDjiWidgetValueList_SamplingRate = struUIConfig.sSamplingRate;
// return 0;
//}
int ZZ_Widget_Nikira::PreparteEnvironment()
{
T_DjiReturnCode djiStat;
static const T_DjiWidgetHandlerListItem s_DjiWidgetHandlerList[] =
{
{0, DJI_WIDGET_TYPE_SWITCH, ZZ_Widget_Nikira::OnUpdateWidgetValue, ZZ_Widget_Nikira::OnLoadWidgetValue, this},
//{1, DJI_WIDGET_TYPE_LIST, ZZ_Widget_Nikira::OnUpdateWidgetValue, ZZ_Widget_Nikira::OnLoadWidgetValue, this},
//{2, DJI_WIDGET_TYPE_LIST, ZZ_Widget_Nikira::OnUpdateWidgetValue, ZZ_Widget_Nikira::OnLoadWidgetValue, this},
//{3, DJI_WIDGET_TYPE_LIST, ZZ_Widget_Nikira::OnUpdateWidgetValue, ZZ_Widget_Nikira::OnLoadWidgetValue, this}
};
djiStat = DjiWidget_Init();
if (djiStat != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
{
qDebug() << "ZZ_Widget_Nikira: Func DjiWidget_Init. Dji widget init error"<< djiStat;
//return djiStat;
}
djiStat = DjiWidget_RegDefaultUiConfigByDirPath(m_qstrFilePath.toLatin1());
if (djiStat != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
{
qDebug() << m_qstrFilePath.toLatin1();
qDebug() << "ZZ_Widget_Nikira: Func DjiWidget_RegDefaultUiConfigByDirPath.Add default widget ui config error";
return djiStat;
}
djiStat = DjiWidget_RegHandlerList(s_DjiWidgetHandlerList, sizeof(s_DjiWidgetHandlerList) / sizeof(T_DjiWidgetHandlerListItem));
if (djiStat != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
{
qDebug() <<"ZZ_Widget_Nikira: Func DjiWidget_RegHandlerList.Set widget handler list error";
return djiStat;
}
return 0;
}
int ZZ_Widget_Nikira::UploadResources()
{
return 0;
}
int ZZ_Widget_Nikira::test_UpdatePSDKFloatMessage(QString qstrMessage)
{
T_DjiReturnCode djiStat;
djiStat = DjiWidgetFloatingWindow_ShowMessage(qstrMessage.toLatin1());
if (djiStat != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
{
qDebug() << "ZZ_Widget_Nikira: Func test_UpdatePSDKFloatMessage.Floating window show message error";
}
return 0;
}
T_DjiReturnCode ZZ_Widget_Nikira::OnUpdateWidgetValue(E_DjiWidgetType widgetType, uint32_t index, int32_t value, void* userData)
{
ZZ_Widget_Nikira* pCaller = (ZZ_Widget_Nikira*)userData;
if (pCaller->m_iFlagIsVehicleCapturing)
{
return DJI_ERROR_SYSTEM_MODULE_CODE_UNKNOWN;
}
if (widgetType == DJI_WIDGET_TYPE_SWITCH )
{
/*if (ZZ_Widget_Nikira::m_siDjiWidgetValueList_CaptureMode==0)
{
pCaller->emit Signal_UpdatePSDKFloatMessage("Automatic capture mode.Please don't use this function");
return DJI_ERROR_SYSTEM_MODULE_CODE_UNKNOWN;
}*/
//else
//{
//}
if (value == 1)
{
pCaller->emit Signal_UpdatePSDKFloatMessage("start capture");
pCaller->emit Signal_StartCapture();
}
else
{
pCaller->emit Signal_UpdatePSDKFloatMessage("capture stopped");
pCaller->emit Signal_StopCapture();
}
ZZ_Widget_Nikira::m_siDjiWidgetValueBtn = value;
///for test
QString qstrTest;
qDebug() << "OnUpdateWidgetValue " << "widgetType " << widgetType << "index " << index << "value " << value;
qstrTest = QString("index:%1,value:%2").arg(index, value);
//pCaller->test_UpdatePSDKFloatMessage(qstrTest);
//qstrTest = "12345";
//pCaller->emit Signal_UpdatePSDKFloatMessage(qstrTest);
}
// if (widgetType == DJI_WIDGET_TYPE_LIST )
// {
// if (index==1)
// {
// pCaller->emit Signal_UpdateCaptureMode((char)value);
// ZZ_Widget_Nikira::m_siDjiWidgetValueList_CaptureMode = value;
// }
// else if (index == 2)
// {
// ZZ_Widget_Nikira::m_siDjiWidgetValueList_DecisionHeight = value;
// }
// else if (index == 3)
// {
// ZZ_Widget_Nikira::m_siDjiWidgetValueList_SamplingRate = value;
// }
//
//
//#ifdef ZZ_FLAG_TEST
// qDebug() << "OnUpdateWidgetValue " << "widgetType " << widgetType << "index " << index << "value " << value;
//#endif
// }
return DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
T_DjiReturnCode ZZ_Widget_Nikira::OnLoadWidgetValue(E_DjiWidgetType widgetType, uint32_t index, int32_t* value, void* userData)
{
if (widgetType == DJI_WIDGET_TYPE_SWITCH)
{
//qDebug() << "OnLoadWidgetValue " << "widgetType " << widgetType << "index " << index << "value " << value;
*value= ZZ_Widget_Nikira::m_siDjiWidgetValueBtn;
}
//if (widgetType == DJI_WIDGET_TYPE_LIST)
//{
// //qDebug() << "OnLoadWidgetValue " << "widgetType " << widgetType << "index " << index << "value " << value;
// if (index == 1)
// {
// *value = ZZ_Widget_Nikira::m_siDjiWidgetValueList_CaptureMode;
// }
// else if (index == 2)
// {
// *value = ZZ_Widget_Nikira::m_siDjiWidgetValueList_DecisionHeight;
// }
// else if (index == 3)
// {
// *value = ZZ_Widget_Nikira::m_siDjiWidgetValueList_SamplingRate;
// }
//
//}
return DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
int ZZ_Widget_Nikira::Slot_UpdatePSDKFloatMessage(QString qstrMessage)
{
T_DjiReturnCode djiStat;
djiStat = DjiWidgetFloatingWindow_ShowMessage(qstrMessage.toLatin1());
if (djiStat != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
{
qDebug() << "ZZ_Widget_Nikira: Func test_UpdatePSDKFloatMessage.Floating window show message error";
}
return 0;
}