修改串口读取时间延长等问题

N938
jxjajs 6 months ago
parent dfcb3623a9
commit 915259ba2f

@ -568,7 +568,7 @@ void Gm_CloseSensorsPower()
// 打开传感器电源
void Gm_OpenSensorsPower()
{
//char iIoNo;
//char iIoNo;
/* int igpio;
char szbuf[128];
@ -711,7 +711,7 @@ void Gm_CloseSerialPort()
{
int i;
for (i = 0; i < MAX_SERIAL_PORT_NUM; i++)
for (i = 1; i < MAX_SERIAL_PORT_NUM; i++)
{
if (serialport[i].fd > 0)
{
@ -1262,6 +1262,8 @@ void GM_StartSerialComm()
#endif
for (i = 0; i < MAX_SERIAL_DEV_NUM; i++)
{
memset(srdt.ms_dev[i].aiValue, 0, sizeof(AI_DEF)*MAX_DEV_VALUE_NUM);
memset(weatherpntmsg, 0, sizeof(AI_DEF)*WEATHER_DATA_NUM);
if (0 == devparam[i].IsNoInsta)
{
srdt.ms_dev[i].IsNeedSerial = 0;
@ -1276,7 +1278,10 @@ void GM_StartSerialComm()
srdt.ms_dev[i].FirstCmdTimeCnt = get_msec();
srdt.ms_dev[i].recvdatacnt = 0;
for (j = 0; j < WEATHER_DATA_NUM; j++)
{
srdt.ms_dev[i].aiValue[j].AiState = SER_STARTSAMPLE;
weatherpntmsg[j].AiState = SER_STARTSAMPLE;
}
break;
case RALLY_PROTOCOL: /* 拉力*/
sprintf(szbuf, "%s", "拉力");
@ -1305,6 +1310,7 @@ void GM_StartSerialComm()
case PELCO_P_PROTOCOL: /* 摄像机协议*/
case SERIALCAMERA_PROTOCOL: /* 串口摄像机协议*/
sprintf(szbuf, "%s", "摄像机");
srdt.ms_dev[i].IsNeedSerial = 0;
break;
default:
srdt.ms_dev[i].IsNeedSerial = 0;
@ -1567,9 +1573,9 @@ int GM_CloseTimer()
else // 关闭所有串口及电源
{
Gm_CloseSerialPort();
for (j = 0; j < MAX_SERIAL_DEV_NUM; j++)
Gm_CloseSensorsPower();
for (j = 0; j < MAX_SERIAL_PORT_NUM; j++)
//for (j = 0; j < MAX_SERIAL_DEV_NUM; j++)
//Gm_CloseSensorsPower();
for (j = 1; j < MAX_SERIAL_PORT_NUM; j++)
ClearCmdFormPollCmdBuf(j);
sprintf(buf, "%s", "关闭串口定时器!");
DebugLog(8, buf, 'I');
@ -2097,9 +2103,9 @@ void SendCmdFormPollCmdBuf(int port)
serialport[devparam[srdt.curdevidx[port]].commid].m_iRevStatus = 0;
if (serialport[port].fd < 0)
return;
//ret = Gm_SetSerialPortParam(port);
//if (ret < 0)
// return;
ret = Gm_SetSerialPortParam(port);
if (ret < 0)
return;
len = GM_SerialComSend(&pPortParam->PollCmd[2], pPortParam->cmdlen - 2, port);
if (len < 1)
{
@ -3359,6 +3365,7 @@ void Collect_sensor_data()
struct tm t0;
const char *path = "/sdcard/log"; // 指定目录路径
int days = 15; // 删除15天前的log文件
sprintf(logbuf, "进入程序时间:%lld, ideletefile=%d", get_msec(), ideletefile);
DebugLog(8, logbuf, 'I');
@ -3593,6 +3600,7 @@ void GM_CameraSerialComRecv(SIO_PARAM_SERIAL_DEF *pPortParam)
int64_t t0, t1;
t0 = get_msec();
memset(recvbuf, 0, sizeof(recvbuf));
if (pPortParam->fd <= 0)
return;
@ -3769,7 +3777,7 @@ int GetWeatherData(Data_DEF *data, int datano)
sprintf(szbuf, "未知");
break;
}
sprintf(logbuf, "data_state=%d, 拉力value=%0.3f", data->AiState, data->EuValue);
sprintf(logbuf, "data_state=%d, %svalue=%0.3f", data->AiState, szbuf,data->EuValue);
DebugLog(8, logbuf, 'I');
if ((SER_SAMPLEFAIL == data->AiState) || (SAMPLINGSUCCESS == data->AiState))
{

Loading…
Cancel
Save