void MainWindow::createTable()
{
tableWidget_wmhData->setRowCount(2);
tableWidget_wmhData->setColumnCount(11);
tableWidget_wmhData
->setHorizontalHeaderLabels
(QStringList() << tr
(" Vehicle ID ") << tr
(" UTC Time ") << tr
(" Latitude ") << tr
(" Longitude ") << tr
(" VehSpd ") << tr
(" Heading ") << tr
("X-Accel") << tr
("YawRate") << tr
("BrkSts") << tr
("Sequence#") << tr
("Event"));
tableWidget_wmhData->resizeColumnsToContents();
}
void MainWindow::firstRowUpdate()
{
char hostVehID[6], hostUTCTimeStr[20];
memset(&wmhHVData, 0, sizeof(wmhHVData));
if(!get_wmh_hv_data( &shmPtr->wmh_data, &wmhHVData, NULL))
{
printf("EGUI-WMH: Host Vehicle Data Error\n");
return;
}
else
{
sprintf(hostVehID, "%02x:%02x:%02x:%02x:%02x:%02x", wmhHVData.ota.basicMsg.tempId[0],
wmhHVData.ota.basicMsg.tempId[1], wmhHVData.ota.basicMsg.tempId[2], wmhHVData.ota.basicMsg.tempId[3], wmhHVData.ota.basicMsg.tempId[4], wmhHVData.ota.basicMsg.tempId[5]);
HostVehIDRow->setText("1");
printf("HostVehID: %s \n", hostVehID);
Q_hostVehID = (const char *)hostVehID;
wmhVehID->setText(Q_hostVehID);
tableWidget_wmhData->setItem(0, 0, wmhVehID);
epo_ms_to_time_str(hostUTCTimeStr, sizeof(hostUTCTimeStr), v_gettime(NULL));
Q_wmhUTCTime = (const char *)hostUTCTimeStr;
wmhUTCTime->setText(Q_wmhUTCTime);
tableWidget_wmhData->setItem(0, 1, wmhUTCTime);
wmhLatitude->setText(Q_wmhLatitude.setNum(wmhHVData.ota.basicMsg.latitude, 'f', 6));
tableWidget_wmhData->setItem(0, 2, wmhLatitude);
wmhLongitude->setText(Q_wmhLongitude.setNum(wmhHVData.ota.basicMsg.longitude, 'f', 6));
tableWidget_wmhData->setItem(0, 3, wmhLongitude);
wmhVehSpd->setText(Q_wmhVehSpd.setNum(wmhHVData.ota.basicMsg.canData.vehSpeed, 'f', 6));
tableWidget_wmhData->setItem(0, 4, wmhVehSpd);
wmhHeading->setText(Q_wmhHeading.setNum(wmhHVData.ota.basicMsg.heading, 'f', 6));
tableWidget_wmhData->setItem(0, 5, wmhHeading);
wmhXAccel->setText(Q_wmhXAccel.setNum(wmhHVData.ota.basicMsg.canData.latAccel));
tableWidget_wmhData->setItem(0, 6, wmhXAccel);
wmhYawRate->setText(Q_wmhYawRate.setNum(wmhHVData.ota.basicMsg.canData.yawRate));
tableWidget_wmhData->setItem(0, 7, wmhYawRate);
wmhBrkSts->setText(Q_wmhBrkSts.setNum(wmhHVData.ota.basicMsg.canData.brakeActive));
tableWidget_wmhData->setItem(0, 8, wmhBrkSts);
wmhSeqNum->setText(Q_wmhSeqNum.setNum(wmhHVData.ota.msgSequenceNum));
tableWidget_wmhData->setItem(0, 9, wmhSeqNum);
wmhEvent->setText(Q_wmhEvent.setNum(wmhHVData.ota.vehicleEvent));
tableWidget_wmhData->setItem(0, 10, wmhEvent);
}
}
void MainWindow::secondRowUpdate()
{
char remoteVehID[6], remoteUTCTimeStr[20];
bool remoteVeh;
for ( remoteVeh = get_first_wmh_rv_data( &shmPtr->wmh_data, shmPtr->wmh_rv_data, &wmhRVData );
(remoteVeh);
remoteVeh = get_next_wmh_rv_data( &shmPtr->wmh_data, shmPtr->wmh_rv_data, &wmhRVData, &wmhRVData ))
{
sprintf(remoteVehID, "%02x:%02x:%02x:%02x:%02x:%02x", wmhRVData.ota.basicMsg.tempId[0],
wmhRVData.ota.basicMsg.tempId[1], wmhRVData.ota.basicMsg.tempId[2],
wmhRVData.ota.basicMsg.tempId[3], wmhRVData.ota.basicMsg.tempId[4],
wmhRVData.ota.basicMsg.tempId[5]);
printf("remoteVeh Boolean Value: %d, RemoteVehID: %s\n", remoteVeh, remoteVehID);
Q_remoteVehID = (const char *)remoteVehID;
qDebug() << "Qt Has RemoteID as: " << Q_remoteVehID << endl;
wmhVehID->setText(Q_remoteVehID);
tableWidget_wmhData->setItem(1, 0 , wmhVehID);
epo_ms_to_time_str(remoteUTCTimeStr, sizeof(remoteUTCTimeStr), v_gettime(NULL));
Q_wmhUTCTime = (const char *)remoteUTCTimeStr;
wmhUTCTime->setText(Q_wmhUTCTime);
tableWidget_wmhData->setItem(1, 1, wmhUTCTime);
wmhLatitude->setText(Q_wmhLatitude.setNum(wmhRVData.ota.basicMsg.latitude, 'f', 6));
tableWidget_wmhData->setItem(1, 2, wmhLatitude);
wmhLongitude->setText(Q_wmhLongitude.setNum(wmhRVData.ota.basicMsg.longitude, 'f', 6));
tableWidget_wmhData->setItem(1, 3, wmhLongitude);
wmhVehSpd->setText(Q_wmhVehSpd.setNum(wmhRVData.ota.basicMsg.canData.vehSpeed, 'f', 6));
tableWidget_wmhData->setItem(1, 4, wmhVehSpd);
wmhHeading->setText(Q_wmhHeading.setNum(wmhRVData.ota.basicMsg.heading, 'f', 6));
tableWidget_wmhData->setItem(1, 5, wmhHeading);
wmhXAccel->setText(Q_wmhXAccel.setNum(wmhRVData.ota.basicMsg.canData.latAccel));
tableWidget_wmhData->setItem(1, 6, wmhXAccel);
wmhYawRate->setText(Q_wmhYawRate.setNum(wmhRVData.ota.basicMsg.canData.yawRate));
tableWidget_wmhData->setItem(1, 7, wmhYawRate);
wmhBrkSts->setText(Q_wmhBrkSts.setNum(wmhRVData.ota.basicMsg.canData.brakeActive));
tableWidget_wmhData->setItem(1, 8, wmhBrkSts);
wmhSeqNum->setText(Q_wmhSeqNum.setNum(wmhRVData.ota.msgSequenceNum));
tableWidget_wmhData->setItem(1, 9, wmhSeqNum);
wmhEvent->setText(Q_wmhEvent.setNum(wmhRVData.ota.vehicleEvent));
tableWidget_wmhData->setItem(1, 10, wmhEvent);
}
}
/* Starts Timer twice a second*/
void MainWindow::startEGUIDataTimer()
{
eguiDisplayTimer
= new QTimer();
connect(eguiDisplayTimer, SIGNAL(timeout()), this, SLOT(printData()));
eguiDisplayTimer->start(500);
}
void MainWindow::printData()
{
fisrtRowUpdate();
memset(&wmhRVData, 0, sizeof(wmhRVData));
remoteVehCount = get_wmh_rv_num(&shmPtr->wmh_data); //Collecting Remote Vehicles Count
printf("Remote Veh Count: %d\n", remoteVehCount);
if(remoteVehCount > 0)
{
secondRowUpdate();
}
}
void MainWindow::createTable()
{
tableWidget_wmhData->setRowCount(2);
tableWidget_wmhData->setColumnCount(11);
tableWidget_wmhData->setHorizontalHeaderLabels(QStringList() << tr(" Vehicle ID ") << tr(" UTC Time ") << tr(" Latitude ") << tr(" Longitude ") << tr(" VehSpd ") << tr(" Heading ") << tr("X-Accel") << tr("YawRate") << tr("BrkSts") << tr("Sequence#") << tr("Event"));
tableWidget_wmhData->resizeColumnsToContents();
}
void MainWindow::firstRowUpdate()
{
char hostVehID[6], hostUTCTimeStr[20];
memset(&wmhHVData, 0, sizeof(wmhHVData));
if(!get_wmh_hv_data( &shmPtr->wmh_data, &wmhHVData, NULL))
{
printf("EGUI-WMH: Host Vehicle Data Error\n");
return;
}
else
{
sprintf(hostVehID, "%02x:%02x:%02x:%02x:%02x:%02x", wmhHVData.ota.basicMsg.tempId[0],
wmhHVData.ota.basicMsg.tempId[1], wmhHVData.ota.basicMsg.tempId[2], wmhHVData.ota.basicMsg.tempId[3], wmhHVData.ota.basicMsg.tempId[4], wmhHVData.ota.basicMsg.tempId[5]);
HostVehIDRow->setText("1");
printf("HostVehID: %s \n", hostVehID);
Q_hostVehID = (const char *)hostVehID;
wmhVehID->setText(Q_hostVehID);
tableWidget_wmhData->setItem(0, 0, wmhVehID);
epo_ms_to_time_str(hostUTCTimeStr, sizeof(hostUTCTimeStr), v_gettime(NULL));
Q_wmhUTCTime = (const char *)hostUTCTimeStr;
wmhUTCTime->setText(Q_wmhUTCTime);
tableWidget_wmhData->setItem(0, 1, wmhUTCTime);
wmhLatitude->setText(Q_wmhLatitude.setNum(wmhHVData.ota.basicMsg.latitude, 'f', 6));
tableWidget_wmhData->setItem(0, 2, wmhLatitude);
wmhLongitude->setText(Q_wmhLongitude.setNum(wmhHVData.ota.basicMsg.longitude, 'f', 6));
tableWidget_wmhData->setItem(0, 3, wmhLongitude);
wmhVehSpd->setText(Q_wmhVehSpd.setNum(wmhHVData.ota.basicMsg.canData.vehSpeed, 'f', 6));
tableWidget_wmhData->setItem(0, 4, wmhVehSpd);
wmhHeading->setText(Q_wmhHeading.setNum(wmhHVData.ota.basicMsg.heading, 'f', 6));
tableWidget_wmhData->setItem(0, 5, wmhHeading);
wmhXAccel->setText(Q_wmhXAccel.setNum(wmhHVData.ota.basicMsg.canData.latAccel));
tableWidget_wmhData->setItem(0, 6, wmhXAccel);
wmhYawRate->setText(Q_wmhYawRate.setNum(wmhHVData.ota.basicMsg.canData.yawRate));
tableWidget_wmhData->setItem(0, 7, wmhYawRate);
wmhBrkSts->setText(Q_wmhBrkSts.setNum(wmhHVData.ota.basicMsg.canData.brakeActive));
tableWidget_wmhData->setItem(0, 8, wmhBrkSts);
wmhSeqNum->setText(Q_wmhSeqNum.setNum(wmhHVData.ota.msgSequenceNum));
tableWidget_wmhData->setItem(0, 9, wmhSeqNum);
wmhEvent->setText(Q_wmhEvent.setNum(wmhHVData.ota.vehicleEvent));
tableWidget_wmhData->setItem(0, 10, wmhEvent);
}
}
void MainWindow::secondRowUpdate()
{
char remoteVehID[6], remoteUTCTimeStr[20];
bool remoteVeh;
for ( remoteVeh = get_first_wmh_rv_data( &shmPtr->wmh_data, shmPtr->wmh_rv_data, &wmhRVData );
(remoteVeh);
remoteVeh = get_next_wmh_rv_data( &shmPtr->wmh_data, shmPtr->wmh_rv_data, &wmhRVData, &wmhRVData ))
{
sprintf(remoteVehID, "%02x:%02x:%02x:%02x:%02x:%02x", wmhRVData.ota.basicMsg.tempId[0],
wmhRVData.ota.basicMsg.tempId[1], wmhRVData.ota.basicMsg.tempId[2],
wmhRVData.ota.basicMsg.tempId[3], wmhRVData.ota.basicMsg.tempId[4],
wmhRVData.ota.basicMsg.tempId[5]);
printf("remoteVeh Boolean Value: %d, RemoteVehID: %s\n", remoteVeh, remoteVehID);
Q_remoteVehID = (const char *)remoteVehID;
qDebug() << "Qt Has RemoteID as: " << Q_remoteVehID << endl;
wmhVehID->setText(Q_remoteVehID);
tableWidget_wmhData->setItem(1, 0 , wmhVehID);
epo_ms_to_time_str(remoteUTCTimeStr, sizeof(remoteUTCTimeStr), v_gettime(NULL));
Q_wmhUTCTime = (const char *)remoteUTCTimeStr;
wmhUTCTime->setText(Q_wmhUTCTime);
tableWidget_wmhData->setItem(1, 1, wmhUTCTime);
wmhLatitude->setText(Q_wmhLatitude.setNum(wmhRVData.ota.basicMsg.latitude, 'f', 6));
tableWidget_wmhData->setItem(1, 2, wmhLatitude);
wmhLongitude->setText(Q_wmhLongitude.setNum(wmhRVData.ota.basicMsg.longitude, 'f', 6));
tableWidget_wmhData->setItem(1, 3, wmhLongitude);
wmhVehSpd->setText(Q_wmhVehSpd.setNum(wmhRVData.ota.basicMsg.canData.vehSpeed, 'f', 6));
tableWidget_wmhData->setItem(1, 4, wmhVehSpd);
wmhHeading->setText(Q_wmhHeading.setNum(wmhRVData.ota.basicMsg.heading, 'f', 6));
tableWidget_wmhData->setItem(1, 5, wmhHeading);
wmhXAccel->setText(Q_wmhXAccel.setNum(wmhRVData.ota.basicMsg.canData.latAccel));
tableWidget_wmhData->setItem(1, 6, wmhXAccel);
wmhYawRate->setText(Q_wmhYawRate.setNum(wmhRVData.ota.basicMsg.canData.yawRate));
tableWidget_wmhData->setItem(1, 7, wmhYawRate);
wmhBrkSts->setText(Q_wmhBrkSts.setNum(wmhRVData.ota.basicMsg.canData.brakeActive));
tableWidget_wmhData->setItem(1, 8, wmhBrkSts);
wmhSeqNum->setText(Q_wmhSeqNum.setNum(wmhRVData.ota.msgSequenceNum));
tableWidget_wmhData->setItem(1, 9, wmhSeqNum);
wmhEvent->setText(Q_wmhEvent.setNum(wmhRVData.ota.vehicleEvent));
tableWidget_wmhData->setItem(1, 10, wmhEvent);
}
}
/* Starts Timer twice a second*/
void MainWindow::startEGUIDataTimer()
{
eguiDisplayTimer = new QTimer();
connect(eguiDisplayTimer, SIGNAL(timeout()), this, SLOT(printData()));
eguiDisplayTimer->start(500);
}
void MainWindow::printData()
{
fisrtRowUpdate();
memset(&wmhRVData, 0, sizeof(wmhRVData));
remoteVehCount = get_wmh_rv_num(&shmPtr->wmh_data); //Collecting Remote Vehicles Count
printf("Remote Veh Count: %d\n", remoteVehCount);
if(remoteVehCount > 0)
{
secondRowUpdate();
}
}
To copy to clipboard, switch view to plain text mode
This is what I am doing, what i am doing wrong, when i use secondRowUpdate() it displays same in both rows, if I use only firstRowUpdate() it works fine.
Bookmarks