diff --git a/sample/api_sample/data_subscription/test_data_subscription.c b/sample/api_sample/data_subscription/test_data_subscription.c index b93b205..c70ee14 100644 --- a/sample/api_sample/data_subscription/test_data_subscription.c +++ b/sample/api_sample/data_subscription/test_data_subscription.c @@ -196,11 +196,11 @@ static void *UserDataSubscription_Task(void *arg) PsdkLogger_UserLogDebug("gps TIME: %d.", gpsTime); }//PsdkLogger_UserLogInfo - - printf("开始设置时间\n"); - system('date'); if(counter>1 &&counter<10 && isGetGpsDate_time)//避免dji的bug:第一次获取的gpsDate和gpsTime都为0 { + printf("开始设置时间\n"); + system('date'); + char *gpsDate_str = (char *)malloc(sizeof(char)*50); char *gpsTime_str = (char *)malloc(sizeof(char)*20); diff --git a/sample/api_sample/widget/test_widget.c b/sample/api_sample/widget/test_widget.c index 8676549..e73cf9a 100644 --- a/sample/api_sample/widget/test_widget.c +++ b/sample/api_sample/widget/test_widget.c @@ -77,6 +77,10 @@ static int s_stateOfXimea=100; static int s_stateOfSbg=0; static int s_stateOfFile=0; +//0:ximeaAirborneSystem系统未就绪,不可启动;1:ximeaAirborneSystem系统就绪,可以启动; +//2:ximeaAirborneSystem系统正在启动;3:ximeaAirborneSystem系统启动成功;4:系统已经关闭,并且不能再次启动; +int systemON_Control = 0; + char s_strUIMessage[100]=" "; static char * s_strStateOfSbg="None"; static char * s_strSbgSatelliteCounter="None"; @@ -393,6 +397,23 @@ static void *PsdkTest_IrisRecordSystemChanged(void *arg)// { case 0: s_strStateOfSbg="未打开"; + + if (systemON_Control == 0) + { + strcpy(s_strUIMessage,"系统已就绪!"); + messageTimeCounter = 0; + messageTimespan = 1000; + + systemON_Control = 1;//ximeaAirborneSystem系统一启动就会发送此信息 → 代表采集系统就绪; + } + + if (systemON_Control == 3) + { + strcpy(s_strUIMessage,"采集系统崩溃,请重启并联系技术工程师!"); + messageTimeCounter = 0; + messageTimespan = 1000; + } + break; case 1: s_strStateOfSbg="波特率设置失败"; @@ -402,6 +423,7 @@ static void *PsdkTest_IrisRecordSystemChanged(void *arg)// break; case 3: s_strStateOfSbg="采集中"; + systemON_Control = 3; break; default: @@ -466,20 +488,41 @@ static void *PsdkTest_IrisRecordSystemChanged(void *arg)// switch (s_stateOfXimea)//0-61:ximea官方错误代码;99:发生的ximea官方错误代码,没有处理;100:未打开;101:打开;102:设置帧率;103:自动曝光;104:正在采集; { + case 10: + s_strStateOfXimea="10"; + + strcpy(s_strUIMessage,"相机timeout,请重启!"); + messageTimeCounter = 0; + messageTimespan = 200; + break; + case 11: + s_strStateOfXimea="11"; + + strcpy(s_strUIMessage,"相机:Invalid arguments supplied!"); + messageTimeCounter = 0; + messageTimespan = 200; + break; case 57: - s_strStateOfXimea="相机被占用"; + s_strStateOfXimea="57"; + + strcpy(s_strUIMessage,"相机被占用!"); + messageTimeCounter = 0; + messageTimespan = 200; break; case 99: - s_strStateOfXimea="未处理错误,错误码见日志"; - break; + s_strStateOfXimea="99"; + strcpy(s_strUIMessage,"相机异常,错误码见日志!"); + messageTimeCounter = 0; + messageTimespan = 200; + break; case 100: s_strStateOfXimea="未打开"; break; case 101: s_strStateOfXimea="打开成功"; - strcpy(s_strUIMessage,"系统打开成功!"); + strcpy(s_strUIMessage,"系统启动成功!"); messageTimeCounter = 0; messageTimespan = 20; @@ -549,7 +592,6 @@ static T_PsdkReturnCode PsdkTestWidget_GetWidgetValue(E_PsdkWidgetType widgetTyp } int frameRateGlobel = 0; -int systemON_Control = 0; static T_PsdkReturnCode PsdkTestWidget_SetWidgetValue_StartRecord(E_PsdkWidgetType widgetType, uint32_t index, int32_t value, void *userData) { @@ -564,27 +606,54 @@ static T_PsdkReturnCode PsdkTestWidget_SetWidgetValue_StartRecord(E_PsdkWidgetTy case 5://系统启动关闭 if (value==0)//系统关闭 { - char* command = "2"; - sendto(s_sockfd, command,strlen(command),0,(struct sockaddr *)&s_server,sizeof(s_server)); + if (systemON_Control == 3) + { + strcpy(s_strUIMessage,"系统已经关闭!"); + messageTimeCounter = 0; + messageTimespan = 1000; + + char* command = "2"; + sendto(s_sockfd, command,strlen(command),0,(struct sockaddr *)&s_server,sizeof(s_server)); + + systemON_Control = 4; + } } else if (value==1)//系统启动 { - systemON_Control++; - - if (systemON_Control>=2) + if (systemON_Control == 0) { - strcpy(s_strUIMessage,"请重启300TC!"); + strcpy(s_strUIMessage,"请等待系统初始化!"); messageTimeCounter = 0; messageTimespan = 1000; } - else + else if (systemON_Control == 1) { - strcpy(s_strUIMessage,"系统启动中,超过60s未成功,请重新启动系统!"); + strcpy(s_strUIMessage,"系统启动中,请等待!"); messageTimeCounter = 0; messageTimespan = 1000; char* command = "1"; sendto(s_sockfd, command,strlen(command),0,(struct sockaddr *)&s_server,sizeof(s_server)); + + systemON_Control = 2; + } + else if (systemON_Control == 2) + { + strcpy(s_strUIMessage,"系统启动中,请等待!"); + messageTimeCounter = 0; + messageTimespan = 1000; + } + else if (systemON_Control == 3) + { + strcpy(s_strUIMessage,"系统已经启动!"); + messageTimeCounter = 0; + messageTimespan = 1000; + } + else if (systemON_Control == 4) + { + strcpy(s_strUIMessage,"相机占用,请重新上电!"); + messageTimeCounter = 0; + messageTimespan = 1000; } } break; diff --git a/sample/platform/linux/manifold2/application/main.c b/sample/platform/linux/manifold2/application/main.c index 18f58cb..b44f324 100644 --- a/sample/platform/linux/manifold2/application/main.c +++ b/sample/platform/linux/manifold2/application/main.c @@ -398,7 +398,7 @@ int main(void) } //设置负载设备的别称 - if (PsdkProductInfo_SetAlias("300TC") != PSDK_ERROR_SYSTEM_MODULE_CODE_SUCCESS) { + if (PsdkProductInfo_SetAlias("300TC_2.30.34.20") != PSDK_ERROR_SYSTEM_MODULE_CODE_SUCCESS) { PsdkLogger_UserLogError("set product alias error."); return PSDK_ERROR_SYSTEM_MODULE_CODE_UNKNOWN; }