#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; }