From 47153346cdbc44fdc218230a33143a4ce1f5d5f1 Mon Sep 17 00:00:00 2001 From: tangchao0503 <735056338@qq.com> Date: Wed, 23 Aug 2023 11:39:28 +0800 Subject: [PATCH] =?UTF-8?q?fix=201.=20=E6=97=A0=E6=B3=95=E7=AC=AC=E4=BA=8C?= =?UTF-8?q?=E6=AC=A1=E5=90=AF=E5=8A=A8=EF=BC=8C=E6=8E=88=E6=97=B6=E7=AD=89?= =?UTF-8?q?=E5=BE=85=E6=97=B6=E9=97=B4=E4=BC=98=E5=8C=96=EF=BC=9B=202.=20?= =?UTF-8?q?=E9=81=A5=E6=8E=A7=E5=99=A8=E7=95=8C=E9=9D=A2=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=EF=BC=9A=E7=A1=AC=E7=9B=98=E5=8F=AF=E7=94=A8=E7=A9=BA=E9=97=B4?= =?UTF-8?q?=EF=BC=8C=E5=BD=93=E5=89=8D=E5=B8=A7=E7=8E=87=E5=89=A9=E4=BD=99?= =?UTF-8?q?=E9=A3=9E=E8=A1=8C=E6=97=B6=E9=97=B4=EF=BC=9B=203.=20=E5=B8=A7?= =?UTF-8?q?=E7=8E=87=E6=9B=9D=E5=85=89=E6=97=B6=E9=97=B4=E5=92=8C=E9=81=A5?= =?UTF-8?q?=E6=8E=A7=E5=99=A8=E5=8F=B3=E4=BE=A7=E8=BE=B9=E6=A0=8F=E6=95=B0?= =?UTF-8?q?=E5=AD=97=E8=81=94=E5=8A=A8=EF=BC=9B=204.=20bin2=E5=90=8E?= =?UTF-8?q?=E9=9D=A2=E5=8A=A0=E9=80=9A=E9=81=93=E6=95=B0=EF=BC=8C=E4=BE=A7?= =?UTF-8?q?=E8=BE=B9=E6=A0=8F=E6=98=BE=E7=A4=BAbin=E5=92=8C=E9=80=9A?= =?UTF-8?q?=E9=81=93=E6=95=B0=EF=BC=9B=205.=20=E9=81=A5=E6=8E=A7=E5=99=A8?= =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=83=AF=E5=AF=BC=E5=AE=9A=E4=BD=8D=E7=B2=BE?= =?UTF-8?q?=E5=BA=A6=EF=BC=8C=E6=94=B9=E4=B8=BA=E6=98=BE=E7=A4=BAfull=20na?= =?UTF-8?q?v=EF=BC=9B=206.=20=E5=85=B6=E4=BB=96=E7=95=8C=E9=9D=A2=E6=94=B9?= =?UTF-8?q?=E5=8A=A8=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fc_subscription/test_fc_subscription.c | 5 +- .../module_sample/widget/test_widget.c | 277 ++++++++++++++---- .../cn_big_screen/widget_config.json | 12 +- .../en_big_screen/widget_config.json | 12 +- .../platform/linux/manifold2/CMakeLists.txt | 2 +- .../linux/manifold2/application/main.c | 2 +- 6 files changed, 233 insertions(+), 77 deletions(-) diff --git a/samples/sample_c/module_sample/fc_subscription/test_fc_subscription.c b/samples/sample_c/module_sample/fc_subscription/test_fc_subscription.c index 7cddb82..710e5ac 100644 --- a/samples/sample_c/module_sample/fc_subscription/test_fc_subscription.c +++ b/samples/sample_c/module_sample/fc_subscription/test_fc_subscription.c @@ -349,10 +349,10 @@ static void *UserFcSubscription_Task(void *arg) USER_LOG_DEBUG("gps TIME: %d.", gpsTime); }//PsdkLogger_UserLogInfo - if(counter>1 &&counter<10 && isGetGpsDate_time)//避免dji的bug:第一次获取的gpsDate和gpsTime都为0 + if(counter>1 &&counter<3 && isGetGpsDate_time)//避免dji的bug:第一次获取的gpsDate和gpsTime都为0 { printf("开始设置时间\n"); - system('date'); + system("date"); char *gpsDate_str = (char *)malloc(sizeof(char)*50); char *gpsTime_str = (char *)malloc(sizeof(char)*20); @@ -423,6 +423,7 @@ static void *UserFcSubscription_Task(void *arg) // printf("command---:%s\n",command); system(command); + system("echo \"1\" > /media/nvme/300TC/config/timesyncfromdji"); } counter++; diff --git a/samples/sample_c/module_sample/widget/test_widget.c b/samples/sample_c/module_sample/widget/test_widget.c index cce43cd..a52dd58 100644 --- a/samples/sample_c/module_sample/widget/test_widget.c +++ b/samples/sample_c/module_sample/widget/test_widget.c @@ -53,6 +53,7 @@ static T_DjiReturnCode PsdkTestWidget_SetWidgetValue_StartRecord(E_DjiWidgetType void *userData); static void *PsdkTest_IrisRecordSystemChanged(void *arg); +static void extractSpectralBinAndBandnumber(bool isModifyBin); /* Private values ------------------------------------------------------------*/ static T_DjiTaskHandle s_widgetTestThread; @@ -73,23 +74,33 @@ static int s_stateOfSbg=0; static int s_stateOfFile=0; //0:ximeaAirborneSystem系统未就绪,不可启动;1:ximeaAirborneSystem系统就绪,可以启动; -//2:ximeaAirborneSystem系统正在启动;3:ximeaAirborneSystem系统启动成功;4:系统已经关闭,并且不能再次启动; +//2:ximeaAirborneSystem系统正在启动;3:ximeaAirborneSystem系统启动成功;4:系统已经关闭; int systemON_Control = 0; char s_strUIMessage[100]=" "; -static char * s_strStateOfSbg="None"; -static char * s_strSbgSatelliteCounter="None"; -static char * s_strSbgAccuracy="None"; +static char * s_strStateOfSbg=" "; +static char * s_strSbgSatelliteCounter=" "; +static char * s_strSbgAccuracy=" "; char XimeaFramerate[100]=" "; +int framerate = 0; char XimeaExposeTime[100]=" "; char XimeaExposeMaxValue[100]=" "; -char spectralBin[100]="None"; -static char * s_strSbgSolutionMode="None"; -static char * s_strStateOfXimea="None"; +char s_spectralBin[100]=" "; +int spectralBinInt = 0; +static char * s_strSbgSolutionMode=" "; +static char * s_strStateOfXimea=" "; -char * s_strPitch="None"; -char * s_strRoll="None"; -char * s_strYaw="None"; +char * s_strPitch=" "; +char * s_strRoll=" "; +char * s_strYaw=" "; + +char * s_remainingTime=" "; +char * remainingTimeTmp[10]; +char * s_remainingSpace=" "; +char * remainingSpaceTmp[10]; + +char jsonPathCn[WIDGET_DIR_PATH_LEN_MAX]; +char jsonPathEn[WIDGET_DIR_PATH_LEN_MAX]; static int s_sockfd; static struct sockaddr_in s_server; @@ -152,6 +163,7 @@ T_DjiReturnCode DjiTest_WidgetStartService(void) snprintf(tempPath, WIDGET_DIR_PATH_LEN_MAX, "%swidget_file/en_big_screen", s_widgetFileDirPath); } else { snprintf(tempPath, WIDGET_DIR_PATH_LEN_MAX, "%swidget_file/en_big_screen", curFileDirPath); + snprintf(jsonPathEn, WIDGET_DIR_PATH_LEN_MAX, "%swidget_file/en_big_screen/widget_config.json", curFileDirPath); } //set default ui config path @@ -176,6 +188,7 @@ T_DjiReturnCode DjiTest_WidgetStartService(void) snprintf(tempPath, WIDGET_DIR_PATH_LEN_MAX, "%swidget_file/cn_big_screen", s_widgetFileDirPath); } else { snprintf(tempPath, WIDGET_DIR_PATH_LEN_MAX, "%swidget_file/cn_big_screen", curFileDirPath); + snprintf(jsonPathCn, WIDGET_DIR_PATH_LEN_MAX, "%swidget_file/cn_big_screen/widget_config.json", curFileDirPath); } djiStat = DjiWidget_RegUiConfigByDirPath(DJI_MOBILE_APP_LANGUAGE_CHINESE, @@ -213,10 +226,9 @@ T_DjiReturnCode DjiTest_WidgetStartService(void) return DJI_ERROR_SYSTEM_MODULE_CODE_UNKNOWN; } - //Step 5 : Run ximea task if (osalHandler->TaskCreate("ximea", PsdkTest_IrisRecordSystemChanged, WIDGET_TASK_STACK_SIZE, NULL, - &s_widgetXimeaThread) != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) { + &s_widgetXimeaThread) != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) { USER_LOG_ERROR("Psdk widget test task(ximea) create error."); return DJI_ERROR_SYSTEM_MODULE_CODE_UNKNOWN; } @@ -273,6 +285,8 @@ static void *DjiTest_WidgetTask(void *arg) T_DjiReturnCode djiStat; T_DjiOsalHandler *osalHandler = DjiPlatform_GetOsalHandler(); + extractSpectralBinAndBandnumber(false); + USER_UTIL_UNUSED(arg); while (1) { @@ -282,8 +296,8 @@ static void *DjiTest_WidgetTask(void *arg) } #ifndef USER_FIRMWARE_MAJOR_VERSION - snprintf(message, DJI_WIDGET_FLOATING_WINDOW_MSG_MAX_LEN, "%s\n相机: %s; 惯导: %s;\n卫星: %s; 精度: %s;\n帧率: %s;曝光: %s;max: %s;\nP: %s; R: %s; Y: %s;\n光谱bin: %s;\n", - s_strUIMessage, s_strStateOfXimea, s_strStateOfSbg, s_strSbgSatelliteCounter, s_strSbgAccuracy, XimeaFramerate, XimeaExposeTime, XimeaExposeMaxValue, s_strPitch, s_strRoll, s_strYaw, spectralBin); + snprintf(message, DJI_WIDGET_FLOATING_WINDOW_MSG_MAX_LEN, "%s\n高光谱: %s; 惯导: %s;\n卫星: %s; 惯导状态: %s;\n帧率: %s;曝光: %s;max: %s;\nP: %s; R: %s; Y: %s;\n光谱bin: %s;\n时间: %s min; 空间: %s G;\n", + s_strUIMessage, s_strStateOfXimea, s_strStateOfSbg, s_strSbgSatelliteCounter, s_strSbgSolutionMode, XimeaFramerate, XimeaExposeTime, XimeaExposeMaxValue, s_strPitch, s_strRoll, s_strYaw, s_spectralBin, s_remainingTime, s_remainingSpace); #else snprintf(message, DJI_WIDGET_FLOATING_WINDOW_MSG_MAX_LEN, "System time : %u ms\r\nVersion: v%02d.%02d.%02d.%02d\r\nBuild time: %s %s", sysTimeMs, @@ -306,6 +320,54 @@ static void *DjiTest_WidgetTask(void *arg) strcpy(s_strUIMessage," "); } + char buffer[128]; + FILE *fp; + + // 获取剩余硬盘空间和剩余采集时间 + fp = popen("df --output=avail --block-size=1 /media/nvme | tail -n 1", "r"); + if (fp == NULL) { + perror("popen"); + } + + // 读取输出并处理 + if (fgets(buffer, sizeof(buffer), fp) != NULL) + { +// printf("当前字符串-----: %s \n", buffer); + // 将输出转换为数值 + unsigned long long availableBytes = strtoull(buffer, NULL, 10); + + // 转换为MB + double availableMB = availableBytes / (1024.0 * 1024.0); + sprintf(remainingSpaceTmp, "%.0f", availableMB/1024); + s_remainingSpace = remainingSpaceTmp; + + if (spectralBinInt!=0 && framerate!=0) + { + double frameSize; + if (spectralBinInt==1) + { + frameSize = 0.783; + } + else + { + frameSize = 0.783/2; + } + + double minTemp = availableMB / (frameSize * framerate * 60); + + sprintf(remainingTimeTmp, "%.0f", minTemp); + s_remainingTime = remainingTimeTmp; + + // 打印结果 +// printf("Available space: %.2f MB;\n", availableMB); +// printf("remainint time of record:%.2f;\n", temp); + } + } + + // 关闭文件指针 + pclose(fp); + + //判断ximeaAirborneSystem系统是否存活 // if(ximeaAirborneSystemSurvivalTime > 10) // { @@ -381,14 +443,18 @@ static void *PsdkTest_IrisRecordSystemChanged(void *arg)// //printf("You got a message (%s%) from client.\nIt's ip is%s, port is %d.\n",buf,inet_ntoa(client.sin_addr),htons(client.sin_port)); - char * result[3]; + char * result[5]; result[0] = strtok( buf, "," ); result[1] = strtok( NULL, "," ); result[2] = strtok( NULL, "," ); + result[3] = strtok( NULL, "," ); + result[4] = strtok( NULL, "," ); -// printf("result[0]: %s\n", result[0]); -// printf("result[1]: %s\n\n", result[1]); -// printf("result[2]: %s\n\n", result[2]); + printf("result[0]: %s\n", result[0]); + printf("result[1]: %s\n\n", result[1]); + printf("result[2]: %s\n\n", result[2]); + printf("result[3]: %s\n\n", result[3]); + printf("result[4]: %s\n\n", result[4]); if (strcmp(result[0],"sbg") == 0) @@ -401,7 +467,7 @@ static void *PsdkTest_IrisRecordSystemChanged(void *arg)// case 0: s_strStateOfSbg="未打开"; - if (systemON_Control == 0) + if (systemON_Control == 0 || systemON_Control == 4) { strcpy(s_strUIMessage,"系统已就绪!"); messageTimeCounter = 0; @@ -460,36 +526,36 @@ static void *PsdkTest_IrisRecordSystemChanged(void *arg)// } else if (strcmp(result[0],"SolutionMode") == 0) { -// s_sbgMagState = atoi(result[1]); -// -// switch (s_sbgMagState) -// { -// case 0: -// s_strSbgSolutionMode="UNINITIALIZED"; -// break; -// case 1: -// s_strSbgSolutionMode="VERTICAL_GYRO"; -// break; -// case 2: -// s_strSbgSolutionMode="AHRS"; -// break; -// case 3: -// s_strSbgSolutionMode="NAV_VELOCITY"; -// break; -// case 4: -// s_strSbgSolutionMode="NAV_POSITION"; -// break; -// -// default: -// break; -// } + s_sbgMagState = atoi(result[1]); + + switch (s_sbgMagState) + { + case 0: + s_strSbgSolutionMode="UNINITI";//UNINITIALIZED + break; + case 1: + s_strSbgSolutionMode="GYRO";//VERTICAL_GYRO + break; + case 2: + s_strSbgSolutionMode="AHRS"; + break; + case 3: + s_strSbgSolutionMode="VELOCITY";//NAV_VELOCITY + break; + case 4: + s_strSbgSolutionMode="FULL";//NAV_POSITION + break; + + default: + break; + } } else if (strcmp(result[0],"ximea") == 0) { s_stateOfXimea = atoi(result[1]); printf("ximea的状态为: %d\n\n", atoi(result[1])); - switch (s_stateOfXimea)//0-61:ximea官方错误代码;99:发生的ximea官方错误代码,没有处理;100:未打开;101:打开;102:设置帧率;103:自动曝光;104:正在采集; + switch (s_stateOfXimea)//0-61:ximea官方错误代码;99:发生的ximea官方错误代码,没有处理;100:未打开;101:打开;102:设置帧率;103:自动曝光;104:采集中; { case 10: s_strStateOfXimea="10"; @@ -531,13 +597,13 @@ static void *PsdkTest_IrisRecordSystemChanged(void *arg)// break; case 102: - s_strStateOfXimea="帧率已设置"; + s_strStateOfXimea="帧率完成"; break; case 103: s_strStateOfXimea="曝光完成"; break; case 104: - s_strStateOfXimea="正在采集"; + s_strStateOfXimea="采集中"; break; default: @@ -547,7 +613,10 @@ static void *PsdkTest_IrisRecordSystemChanged(void *arg)// else if (strcmp(result[0],"XimeaAutoExpose") == 0) { strcpy(XimeaExposeMaxValue, result[1]); - strcpy(XimeaExposeTime, result[2]); + + int exposeTimeTmp = atoi(result[2]); + sprintf(XimeaExposeTime,"%d",exposeTimeTmp); + s_widgetValueList[8] = exposeTimeTmp; strcpy(s_strUIMessage,"曝光时间设置成功!"); messageTimeCounter = 0; @@ -555,8 +624,9 @@ static void *PsdkTest_IrisRecordSystemChanged(void *arg)// } else if (strcmp(result[0],"XimeaFrameRate") == 0) { - int tmp = atoi(result[1]); - sprintf(XimeaFramerate,"%d",tmp); + framerate = atoi(result[1]); + s_widgetValueList[6] = framerate; + sprintf(XimeaFramerate,"%d",framerate); // strcpy(XimeaFramerate,result[1]); strcpy(s_strUIMessage,"帧率设置成功!"); @@ -565,8 +635,7 @@ static void *PsdkTest_IrisRecordSystemChanged(void *arg)// } else if (strcmp(result[0],"bin") == 0) { - int spectralBin_tm = atoi(result[2]); - sprintf(spectralBin,"%d",spectralBin_tm); + spectralBinInt = atoi(result[2]); } } } @@ -613,7 +682,8 @@ static T_DjiReturnCode PsdkTestWidget_SetWidgetValue_StartRecord(E_DjiWidgetType case 5://系统启动关闭 if (value==0)//系统关闭 { - if (systemON_Control == 3) + printf("systemON_Control的值为:%d\n", systemON_Control); + if (0 <= systemON_Control && systemON_Control <= 4) { strcpy(s_strUIMessage,"系统已经关闭!"); messageTimeCounter = 0; @@ -623,17 +693,44 @@ static T_DjiReturnCode PsdkTestWidget_SetWidgetValue_StartRecord(E_DjiWidgetType sendto(s_sockfd, command,strlen(command),0,(struct sockaddr *)&s_server,sizeof(s_server)); systemON_Control = 4; + +// sleep(1);//此线程不能睡眠,否则会报很多错误 +// char *commandtmp = (char *)malloc(sizeof(char)*100); +// strcat(commandtmp, "kill $(ps aux | grep ximeaAirborneSystem | grep -v grep | awk \'{print $2}\')"); +// printf("命令行指令为:%s\n",commandtmp); +// system(commandtmp); + + FILE *fp; + fp = popen("kill $(ps aux | grep ximeaAirborneSystem | grep -v grep | awk \'{print $2}\')", "r"); + if (fp == NULL) + { + perror("popen"); + } + + s_strStateOfXimea=" "; + s_strStateOfSbg=" "; + s_strSbgSatelliteCounter=" "; + s_strSbgSolutionMode=" "; + sprintf(XimeaFramerate,"%s"," "); + sprintf(XimeaExposeTime,"%s"," "); + sprintf(XimeaExposeMaxValue,"%s"," "); + sprintf(s_spectralBin,"%s"," "); + s_remainingTime=" "; + + s_widgetValueList[6] = 0; + s_widgetValueList[8] = 0; } } else if (value==1)//系统启动 { - if (systemON_Control == 0) + printf("systemON_Control的值为:%d\n", systemON_Control); + if (systemON_Control == 4) { strcpy(s_strUIMessage,"请等待系统初始化!"); messageTimeCounter = 0; messageTimespan = 1000; } - else if (systemON_Control == 1) + else if (systemON_Control == 0 || systemON_Control == 1) { strcpy(s_strUIMessage,"系统启动中,请等待!"); messageTimeCounter = 0; @@ -656,12 +753,6 @@ static T_DjiReturnCode PsdkTestWidget_SetWidgetValue_StartRecord(E_DjiWidgetType messageTimeCounter = 0; messageTimespan = 1000; } - else if (systemON_Control == 4) - { - strcpy(s_strUIMessage,"相机占用,请重新上电!"); - messageTimeCounter = 0; - messageTimespan = 1000; - } } break; case 6://设置帧率 @@ -685,9 +776,9 @@ static T_DjiReturnCode PsdkTestWidget_SetWidgetValue_StartRecord(E_DjiWidgetType // 控制帧率范围 - if(value > 150) + if(value > 250) { - strcpy(s_strUIMessage,"帧率不可超过150!"); + strcpy(s_strUIMessage,"帧率不可超过250!"); messageTimeCounter = 0; messageTimespan = 10; @@ -880,6 +971,8 @@ static T_DjiReturnCode PsdkTestWidget_SetWidgetValue_StartRecord(E_DjiWidgetType system("sudo sed -i 's/spectralBin =.*/spectralBin = 2;/g' /media/nvme/300TC/config/ximea.cfg"); } + extractSpectralBinAndBandnumber(true); + strcpy(s_strUIMessage,"请重新上电!"); messageTimeCounter = 0; messageTimespan = 10000; @@ -892,4 +985,66 @@ static T_DjiReturnCode PsdkTestWidget_SetWidgetValue_StartRecord(E_DjiWidgetType return DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS; } +static void extractSpectralBinAndBandnumber(bool isModifyBin) +{ + unsigned long long spectralBin, height; + char buffer[128]; + FILE *fp; + + fp = popen("grep \"spectralBin = \" /media/nvme/300TC/config/ximea.cfg | awk '{print $3}' | tr -d ';'", "r"); + if (fp == NULL) { + perror("popen"); + } + if (fgets(buffer, sizeof(buffer), fp) != NULL) + { +// printf("当前字符串-----: %s \n", buffer); + spectralBin = strtoull(buffer, NULL, 10); + } + pclose(fp); + + if (spectralBin == 1) + { + fp = popen("grep \"height\" /media/nvme/300TC/config/ximea.cfg | head -n 1 | awk '{print $3}' | tr -d ';'", "r"); + if (fp == NULL) { + perror("popen"); + } + if (fgets(buffer, sizeof(buffer), fp) != NULL) + { +// printf("当前字符串-----: %s \n", buffer); + height = strtoull(buffer, NULL, 10); + } + pclose(fp); + } + else if(spectralBin == 2) + { + fp = popen("grep \"height\" /media/nvme/300TC/config/ximea.cfg | head -n 2 | tail -n 1 | awk '{print $3}' | tr -d ';'", "r"); + if (fp == NULL) { + perror("popen"); + } + if (fgets(buffer, sizeof(buffer), fp) != NULL) + { +// printf("当前字符串-----: %s \n", buffer); + height = strtoull(buffer, NULL, 10); + } + pclose(fp); + } + + char command[256]; + memset(command, 0, sizeof(command)); + + sprintf(command,"sudo sed -i 's/.*bin.*/ \"widget_name\": \"bin%d_%d\",/g' %s", spectralBin, height, jsonPathCn); +// printf("command: %s", command); + system(command); + + memset(command, 0, sizeof(command)); + sprintf(command,"sudo sed -i 's/.*bin.*/ \"widget_name\": \"bin%d_%d\",/g' %s", spectralBin, height, jsonPathEn); +// printf("command: %s", command); + system(command); + + if (!isModifyBin) + { + sprintf(s_spectralBin,"%d_%d", spectralBin, height); + } +} + /****************** (C) COPYRIGHT DJI Innovations *****END OF FILE****/ diff --git a/samples/sample_c/module_sample/widget/widget_file/cn_big_screen/widget_config.json b/samples/sample_c/module_sample/widget/widget_file/cn_big_screen/widget_config.json index 9f8b579..3fac21a 100644 --- a/samples/sample_c/module_sample/widget/widget_file/cn_big_screen/widget_config.json +++ b/samples/sample_c/module_sample/widget/widget_file/cn_big_screen/widget_config.json @@ -108,7 +108,7 @@ "widget_index": 6, "widget_type": "int_input_box", "widget_name": "帧率", - "int_input_box_hint": "unit:hz" + "int_input_box_hint": "单位:hz" }, { "widget_index": 7, @@ -119,12 +119,12 @@ "widget_index": 8, "widget_type": "int_input_box", "widget_name": "曝光时间", - "int_input_box_hint": "unit:ms" + "int_input_box_hint": "单位:毫秒" }, { "widget_index": 9, "widget_type": "switch", - "widget_name": "开始采集" + "widget_name": "高光谱采集" }, { "widget_index": 10, @@ -132,10 +132,10 @@ "widget_name": "系统指令", "list_item": [ { - "item_name": "等待指令" + "item_name": "其他" }, { - "item_name": "重启电脑" + "item_name": "重启" }, { "item_name": "关机" @@ -157,7 +157,7 @@ "widget_name": "bin", "list_item": [ { - "item_name": "等待指令" + "item_name": "其他" }, { "item_name": "光谱1" diff --git a/samples/sample_c/module_sample/widget/widget_file/en_big_screen/widget_config.json b/samples/sample_c/module_sample/widget/widget_file/en_big_screen/widget_config.json index 68d8545..2e1640d 100644 --- a/samples/sample_c/module_sample/widget/widget_file/en_big_screen/widget_config.json +++ b/samples/sample_c/module_sample/widget/widget_file/en_big_screen/widget_config.json @@ -108,7 +108,7 @@ "widget_index": 6, "widget_type": "int_input_box", "widget_name": "帧率", - "int_input_box_hint": "unit:hz" + "int_input_box_hint": "单位:hz" }, { "widget_index": 7, @@ -119,12 +119,12 @@ "widget_index": 8, "widget_type": "int_input_box", "widget_name": "曝光时间", - "int_input_box_hint": "unit:ms" + "int_input_box_hint": "单位:毫秒" }, { "widget_index": 9, "widget_type": "switch", - "widget_name": "开始采集" + "widget_name": "高光谱采集" }, { "widget_index": 10, @@ -132,10 +132,10 @@ "widget_name": "系统指令", "list_item": [ { - "item_name": "等待指令" + "item_name": "其他" }, { - "item_name": "重启电脑" + "item_name": "重启" }, { "item_name": "关机" @@ -157,7 +157,7 @@ "widget_name": "bin", "list_item": [ { - "item_name": "等待指令" + "item_name": "其他" }, { "item_name": "光谱1" diff --git a/samples/sample_c/platform/linux/manifold2/CMakeLists.txt b/samples/sample_c/platform/linux/manifold2/CMakeLists.txt index 126df7a..c12a6e9 100644 --- a/samples/sample_c/platform/linux/manifold2/CMakeLists.txt +++ b/samples/sample_c/platform/linux/manifold2/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.5) -project(dji_sdk_demo_linux C) +project(dji_300tc C) set(CMAKE_C_FLAGS "-pthread -std=gnu99") set(CMAKE_EXE_LINKER_FLAGS "-pthread") diff --git a/samples/sample_c/platform/linux/manifold2/application/main.c b/samples/sample_c/platform/linux/manifold2/application/main.c index c647fbc..678e945 100644 --- a/samples/sample_c/platform/linux/manifold2/application/main.c +++ b/samples/sample_c/platform/linux/manifold2/application/main.c @@ -137,7 +137,7 @@ int main(int argc, char **argv) return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR; } - returnCode = DjiCore_SetAlias("PSDK_APPALIAS"); + returnCode = DjiCore_SetAlias("300TC_3.32.37.21"); if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) { USER_LOG_ERROR("set alias error"); return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;