Compare commits
2 Commits
610a384301
...
66c3d0709e
Author | SHA1 | Date | |
---|---|---|---|
66c3d0709e | |||
f370231979 |
@ -196,11 +196,11 @@ static void *UserDataSubscription_Task(void *arg)
|
|||||||
PsdkLogger_UserLogDebug("gps TIME: %d.", gpsTime);
|
PsdkLogger_UserLogDebug("gps TIME: %d.", gpsTime);
|
||||||
}//PsdkLogger_UserLogInfo
|
}//PsdkLogger_UserLogInfo
|
||||||
|
|
||||||
|
|
||||||
printf("开始设置时间\n");
|
|
||||||
system('date');
|
|
||||||
if(counter>1 &&counter<10 && isGetGpsDate_time)//避免dji的bug:第一次获取的gpsDate和gpsTime都为0
|
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 *gpsDate_str = (char *)malloc(sizeof(char)*50);
|
||||||
char *gpsTime_str = (char *)malloc(sizeof(char)*20);
|
char *gpsTime_str = (char *)malloc(sizeof(char)*20);
|
||||||
|
|
||||||
|
@ -77,6 +77,10 @@ static int s_stateOfXimea=100;
|
|||||||
static int s_stateOfSbg=0;
|
static int s_stateOfSbg=0;
|
||||||
static int s_stateOfFile=0;
|
static int s_stateOfFile=0;
|
||||||
|
|
||||||
|
//0:ximeaAirborneSystem系统未就绪,不可启动;1:ximeaAirborneSystem系统就绪,可以启动;
|
||||||
|
//2:ximeaAirborneSystem系统正在启动;3:ximeaAirborneSystem系统启动成功;4:系统已经关闭,并且不能再次启动;
|
||||||
|
int systemON_Control = 0;
|
||||||
|
|
||||||
char s_strUIMessage[100]=" ";
|
char s_strUIMessage[100]=" ";
|
||||||
static char * s_strStateOfSbg="None";
|
static char * s_strStateOfSbg="None";
|
||||||
static char * s_strSbgSatelliteCounter="None";
|
static char * s_strSbgSatelliteCounter="None";
|
||||||
@ -84,6 +88,7 @@ static char * s_strSbgAccuracy="None";
|
|||||||
char XimeaFramerate[100]=" ";
|
char XimeaFramerate[100]=" ";
|
||||||
char XimeaExposeTime[100]=" ";
|
char XimeaExposeTime[100]=" ";
|
||||||
char XimeaExposeMaxValue[100]=" ";
|
char XimeaExposeMaxValue[100]=" ";
|
||||||
|
char spectralBin[100]="None";
|
||||||
static char * s_strSbgSolutionMode="None";
|
static char * s_strSbgSolutionMode="None";
|
||||||
static char * s_strStateOfXimea="None";
|
static char * s_strStateOfXimea="None";
|
||||||
|
|
||||||
@ -111,6 +116,7 @@ static const T_PsdkWidgetHandlerListItem s_widgetHandlerList[] = {
|
|||||||
{8, PSDK_WIDGET_TYPE_INT_INPUT_BOX, PsdkTestWidget_SetWidgetValue_StartRecord, PsdkTestWidget_GetWidgetValue, NULL},
|
{8, PSDK_WIDGET_TYPE_INT_INPUT_BOX, PsdkTestWidget_SetWidgetValue_StartRecord, PsdkTestWidget_GetWidgetValue, NULL},
|
||||||
{9, PSDK_WIDGET_TYPE_SWITCH, PsdkTestWidget_SetWidgetValue_StartRecord, PsdkTestWidget_GetWidgetValue, NULL},
|
{9, PSDK_WIDGET_TYPE_SWITCH, PsdkTestWidget_SetWidgetValue_StartRecord, PsdkTestWidget_GetWidgetValue, NULL},
|
||||||
{10, PSDK_WIDGET_TYPE_LIST, PsdkTestWidget_SetWidgetValue_StartRecord, PsdkTestWidget_GetWidgetValue, NULL},//PsdkTestWidget_SetWidgetValue
|
{10, PSDK_WIDGET_TYPE_LIST, PsdkTestWidget_SetWidgetValue_StartRecord, PsdkTestWidget_GetWidgetValue, NULL},//PsdkTestWidget_SetWidgetValue
|
||||||
|
{11, PSDK_WIDGET_TYPE_LIST, PsdkTestWidget_SetWidgetValue_StartRecord, PsdkTestWidget_GetWidgetValue, NULL},
|
||||||
};
|
};
|
||||||
|
|
||||||
static char *s_widgetTypeNameArray[] = {
|
static char *s_widgetTypeNameArray[] = {
|
||||||
@ -285,8 +291,8 @@ static void *PsdkTest_WidgetTask(void *arg)
|
|||||||
|
|
||||||
//snprintf(message, PSDK_WIDGET_FLOATING_WINDOW_MSG_MAX_LEN, "System time: %u ms;\nMAG: %d;\nIMAGER: %d;\nIMU: %d;\nFile: %d;\n", sysTimeMs, s_sbgMagState, s_stateOfXimea, s_stateOfSbg, s_stateOfFile);
|
//snprintf(message, PSDK_WIDGET_FLOATING_WINDOW_MSG_MAX_LEN, "System time: %u ms;\nMAG: %d;\nIMAGER: %d;\nIMU: %d;\nFile: %d;\n", sysTimeMs, s_sbgMagState, s_stateOfXimea, s_stateOfSbg, s_stateOfFile);
|
||||||
|
|
||||||
snprintf(message, PSDK_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",
|
snprintf(message, PSDK_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);
|
s_strUIMessage, s_strStateOfXimea, s_strStateOfSbg, s_strSbgSatelliteCounter, s_strSbgAccuracy, XimeaFramerate, XimeaExposeTime, XimeaExposeMaxValue, s_strPitch, s_strRoll, s_strYaw, spectralBin);
|
||||||
|
|
||||||
psdkStat = PsdkWidgetFloatingWindow_ShowMessage(message);
|
psdkStat = PsdkWidgetFloatingWindow_ShowMessage(message);
|
||||||
if (psdkStat != PSDK_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
if (psdkStat != PSDK_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||||
@ -393,6 +399,23 @@ static void *PsdkTest_IrisRecordSystemChanged(void *arg)//
|
|||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
s_strStateOfSbg="未打开";
|
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;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
s_strStateOfSbg="波特率设置失败";
|
s_strStateOfSbg="波特率设置失败";
|
||||||
@ -402,6 +425,7 @@ static void *PsdkTest_IrisRecordSystemChanged(void *arg)//
|
|||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
s_strStateOfSbg="采集中";
|
s_strStateOfSbg="采集中";
|
||||||
|
systemON_Control = 3;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@ -466,20 +490,41 @@ static void *PsdkTest_IrisRecordSystemChanged(void *arg)//
|
|||||||
|
|
||||||
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";
|
||||||
|
|
||||||
|
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:
|
case 57:
|
||||||
s_strStateOfXimea="相机被占用";
|
s_strStateOfXimea="57";
|
||||||
|
|
||||||
|
strcpy(s_strUIMessage,"相机被占用!");
|
||||||
|
messageTimeCounter = 0;
|
||||||
|
messageTimespan = 200;
|
||||||
break;
|
break;
|
||||||
case 99:
|
case 99:
|
||||||
s_strStateOfXimea="未处理错误,错误码见日志";
|
s_strStateOfXimea="99";
|
||||||
break;
|
|
||||||
|
|
||||||
|
strcpy(s_strUIMessage,"相机异常,错误码见日志!");
|
||||||
|
messageTimeCounter = 0;
|
||||||
|
messageTimespan = 200;
|
||||||
|
break;
|
||||||
case 100:
|
case 100:
|
||||||
s_strStateOfXimea="未打开";
|
s_strStateOfXimea="未打开";
|
||||||
break;
|
break;
|
||||||
case 101:
|
case 101:
|
||||||
s_strStateOfXimea="打开成功";
|
s_strStateOfXimea="打开成功";
|
||||||
|
|
||||||
strcpy(s_strUIMessage,"系统打开成功!");
|
strcpy(s_strUIMessage,"系统启动成功!");
|
||||||
messageTimeCounter = 0;
|
messageTimeCounter = 0;
|
||||||
messageTimespan = 20;
|
messageTimespan = 20;
|
||||||
|
|
||||||
@ -517,6 +562,11 @@ static void *PsdkTest_IrisRecordSystemChanged(void *arg)//
|
|||||||
messageTimeCounter = 0;
|
messageTimeCounter = 0;
|
||||||
messageTimespan = 10;
|
messageTimespan = 10;
|
||||||
}
|
}
|
||||||
|
else if (strcmp(result[0],"bin") == 0)
|
||||||
|
{
|
||||||
|
int spectralBin_tm = atoi(result[2]);
|
||||||
|
sprintf(spectralBin,"%d",spectralBin_tm);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -549,7 +599,6 @@ static T_PsdkReturnCode PsdkTestWidget_GetWidgetValue(E_PsdkWidgetType widgetTyp
|
|||||||
}
|
}
|
||||||
|
|
||||||
int frameRateGlobel = 0;
|
int frameRateGlobel = 0;
|
||||||
int systemON_Control = 0;
|
|
||||||
static T_PsdkReturnCode PsdkTestWidget_SetWidgetValue_StartRecord(E_PsdkWidgetType widgetType, uint32_t index, int32_t value,
|
static T_PsdkReturnCode PsdkTestWidget_SetWidgetValue_StartRecord(E_PsdkWidgetType widgetType, uint32_t index, int32_t value,
|
||||||
void *userData)
|
void *userData)
|
||||||
{
|
{
|
||||||
@ -564,27 +613,54 @@ static T_PsdkReturnCode PsdkTestWidget_SetWidgetValue_StartRecord(E_PsdkWidgetTy
|
|||||||
case 5://系统启动关闭
|
case 5://系统启动关闭
|
||||||
if (value==0)//系统关闭
|
if (value==0)//系统关闭
|
||||||
{
|
{
|
||||||
char* command = "2";
|
if (systemON_Control == 3)
|
||||||
sendto(s_sockfd, command,strlen(command),0,(struct sockaddr *)&s_server,sizeof(s_server));
|
{
|
||||||
|
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)//系统启动
|
else if (value==1)//系统启动
|
||||||
{
|
{
|
||||||
systemON_Control++;
|
if (systemON_Control == 0)
|
||||||
|
|
||||||
if (systemON_Control>=2)
|
|
||||||
{
|
{
|
||||||
strcpy(s_strUIMessage,"请重启300TC!");
|
strcpy(s_strUIMessage,"请等待系统初始化!");
|
||||||
messageTimeCounter = 0;
|
messageTimeCounter = 0;
|
||||||
messageTimespan = 1000;
|
messageTimespan = 1000;
|
||||||
}
|
}
|
||||||
else
|
else if (systemON_Control == 1)
|
||||||
{
|
{
|
||||||
strcpy(s_strUIMessage,"系统启动中,超过60s未成功,请重新启动系统!");
|
strcpy(s_strUIMessage,"系统启动中,请等待!");
|
||||||
messageTimeCounter = 0;
|
messageTimeCounter = 0;
|
||||||
messageTimespan = 1000;
|
messageTimespan = 1000;
|
||||||
|
|
||||||
char* command = "1";
|
char* command = "1";
|
||||||
sendto(s_sockfd, command,strlen(command),0,(struct sockaddr *)&s_server,sizeof(s_server));
|
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;
|
break;
|
||||||
@ -790,6 +866,24 @@ static T_PsdkReturnCode PsdkTestWidget_SetWidgetValue_StartRecord(E_PsdkWidgetTy
|
|||||||
|
|
||||||
system("/home/pi/tc_ShellScripts/update0.sh &> /media/nvme/300TC/update/log");
|
system("/home/pi/tc_ShellScripts/update0.sh &> /media/nvme/300TC/update/log");
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
case 11:
|
||||||
|
if (value==0)//等待指令
|
||||||
|
{
|
||||||
|
}
|
||||||
|
if (value==1)
|
||||||
|
{
|
||||||
|
system("sudo sed -i 's/spectralBin =.*/spectralBin = 1;/g' /media/nvme/300TC/config/ximea.cfg");
|
||||||
|
}
|
||||||
|
else if (value==2)
|
||||||
|
{
|
||||||
|
system("sudo sed -i 's/spectralBin =.*/spectralBin = 2;/g' /media/nvme/300TC/config/ximea.cfg");
|
||||||
|
}
|
||||||
|
|
||||||
|
strcpy(s_strUIMessage,"请重新上电!");
|
||||||
|
messageTimeCounter = 0;
|
||||||
|
messageTimespan = 10000;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -125,6 +125,22 @@
|
|||||||
"item_name": "更新"
|
"item_name": "更新"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"widget_index": 11,
|
||||||
|
"widget_type": "list",
|
||||||
|
"widget_name": "bin",
|
||||||
|
"list_item": [
|
||||||
|
{
|
||||||
|
"item_name": "等待指令"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"item_name": "光谱1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"item_name": "光谱2"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -125,6 +125,22 @@
|
|||||||
"item_name": "更新"
|
"item_name": "更新"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"widget_index": 11,
|
||||||
|
"widget_type": "list",
|
||||||
|
"widget_name": "bin",
|
||||||
|
"list_item": [
|
||||||
|
{
|
||||||
|
"item_name": "等待指令"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"item_name": "光谱1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"item_name": "光谱2"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -398,7 +398,7 @@ int main(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//设置负载设备的别称
|
//设置负载设备的别称
|
||||||
if (PsdkProductInfo_SetAlias("300TC") != PSDK_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
if (PsdkProductInfo_SetAlias("300TC_2.31.35.21") != PSDK_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||||
PsdkLogger_UserLogError("set product alias error.");
|
PsdkLogger_UserLogError("set product alias error.");
|
||||||
return PSDK_ERROR_SYSTEM_MODULE_CODE_UNKNOWN;
|
return PSDK_ERROR_SYSTEM_MODULE_CODE_UNKNOWN;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user