@@ -172,7 +172,9 @@ MainWindow::MainWindow(QWidget *parent)
172
172
{ " " , 0 , NULL , " " }
173
173
};
174
174
175
- rtksvrinit (&rtksvr);
175
+ rtksvr = (rtksvr_t *)malloc (sizeof (rtksvr_t ));
176
+ if (rtksvr == NULL ) std::exit (1 );
177
+ rtksvrinit (rtksvr);
176
178
strinit (&monistr);
177
179
178
180
setWindowTitle (tr (" %1 ver. %2 %3" ).arg (PRGNAME).arg (VER_RTKLIB, PATCH_LEVEL));
@@ -187,7 +189,7 @@ MainWindow::MainWindow(QWidget *parent)
187
189
inputStrDialog = new InputStrDialog (this );
188
190
outputStrDialog = new OutputStrDialog (this );
189
191
logStrDialog = new LogStrDialog (this );
190
- monitor = new MonitorDialog (this , & rtksvr, &monistr);
192
+ monitor = new MonitorDialog (this , rtksvr, &monistr);
191
193
markDialog = new MarkDialog (this );
192
194
systemTray = new QSystemTrayIcon (this );
193
195
@@ -276,7 +278,8 @@ MainWindow::~MainWindow()
276
278
delete [] ages;
277
279
delete [] ratioAR;
278
280
279
- rtksvrfree (&rtksvr);
281
+ rtksvrfree (rtksvr);
282
+ free (rtksvr);
280
283
}
281
284
282
285
// callback on form create --------------------------------------------------
@@ -326,7 +329,7 @@ void MainWindow::showEvent(QShowEvent *event)
326
329
}
327
330
328
331
loadOptions ();
329
- loadNavigation (&rtksvr. nav );
332
+ loadNavigation (&rtksvr-> nav );
330
333
openMonitorPort (optDialog->monitorPort );
331
334
332
335
updatePanels ();
@@ -359,7 +362,7 @@ void MainWindow::closeEvent(QCloseEvent *)
359
362
strclose (&monistr);
360
363
}
361
364
saveOptions ();
362
- saveNavigation (&rtksvr. nav );
365
+ saveNavigation (&rtksvr-> nav );
363
366
}
364
367
// update panel -------------------------------------------------------------
365
368
void MainWindow::updatePanels ()
@@ -782,7 +785,7 @@ void MainWindow::showOutputStreamDialog()
782
785
for (i = 3 ; i < 5 ; i++) {
783
786
if (!update[i - 3 ]) continue ;
784
787
785
- rtksvrclosestr (& rtksvr, i);
788
+ rtksvrclosestr (rtksvr, i);
786
789
787
790
if (!streamEnabled[i]) continue ;
788
791
@@ -796,7 +799,7 @@ void MainWindow::showOutputStreamDialog()
796
799
continue ;
797
800
}
798
801
optDialog->solutionOptions .posf = inputFormat[i];
799
- rtksvropenstr (& rtksvr, i, str, qPrintable (path), &optDialog->solutionOptions );
802
+ rtksvropenstr (rtksvr, i, str, qPrintable (path), &optDialog->solutionOptions );
800
803
}
801
804
}
802
805
// callback on button-log-streams -------------------------------------------
@@ -851,7 +854,7 @@ void MainWindow::showLogStreamDialog()
851
854
for (i = 5 ; i < 8 ; i++) {
852
855
if (!update[i - 5 ]) continue ;
853
856
854
- rtksvrclosestr (& rtksvr, i);
857
+ rtksvrclosestr (rtksvr, i);
855
858
856
859
if (!streamEnabled[i]) continue ;
857
860
@@ -864,7 +867,7 @@ void MainWindow::showLogStreamDialog()
864
867
streamEnabled[i] = 0 ;
865
868
continue ;
866
869
}
867
- rtksvropenstr (& rtksvr, i, str, qPrintable (path), &optDialog->solutionOptions );
870
+ rtksvropenstr (rtksvr, i, str, qPrintable (path), &optDialog->solutionOptions );
868
871
}
869
872
}
870
873
// callback on button-solution-show -----------------------------------------
@@ -1135,7 +1138,7 @@ void MainWindow::serverStart()
1135
1138
}
1136
1139
for (i = 0 ; i < MAXSAT; i++) {
1137
1140
if (!(pcv = searchpcv (i + 1 , " " , time, &pcvs))) continue ;
1138
- rtksvr. nav .pcvs [i] = *pcv;
1141
+ rtksvr-> nav .pcvs [i] = *pcv;
1139
1142
}
1140
1143
free (pcvs.pcv );
1141
1144
}
@@ -1199,7 +1202,7 @@ void MainWindow::serverStart()
1199
1202
if (optDialog->solutionOptions .geoid > 0 && strlen (optDialog->fileOptions .geoid ) > 0 )
1200
1203
opengeoid (optDialog->solutionOptions .geoid , qPrintable (optDialog->fileOptions .geoid ));
1201
1204
if (strlen (optDialog->fileOptions .dcb ) > 0 )
1202
- readdcb (optDialog->fileOptions .dcb , &rtksvr. nav , NULL );
1205
+ readdcb (optDialog->fileOptions .dcb , &rtksvr-> nav , NULL );
1203
1206
1204
1207
for (i = 0 ; i < 2 ; i++) {
1205
1208
solopt[i] = optDialog->solutionOptions ;
@@ -1211,11 +1214,11 @@ void MainWindow::serverStart()
1211
1214
stropt[3 ] = optDialog->serverBufferSize ;
1212
1215
stropt[4 ] = optDialog->fileSwapMargin ;
1213
1216
strsetopt (stropt);
1214
- strncpy (rtksvr. cmd_reset , qPrintable (resetCommand), 4095 );
1215
- rtksvr. bl_reset = maxBaseLine;
1217
+ strncpy (rtksvr-> cmd_reset , qPrintable (resetCommand), 4095 );
1218
+ rtksvr-> bl_reset = maxBaseLine;
1216
1219
1217
1220
// start rtk server
1218
- if (!rtksvrstart (& rtksvr, optDialog->serverCycle , optDialog->serverBufferSize , streamTypes, (const char **)serverPaths, inputFormat, optDialog->navSelect ,
1221
+ if (!rtksvrstart (rtksvr, optDialog->serverCycle , optDialog->serverBufferSize , streamTypes, (const char **)serverPaths, inputFormat, optDialog->navSelect ,
1219
1222
(const char **)cmds, (const char **)cmds_periodic, (const char **)rcvopts, optDialog->nmeaCycle , nmeaRequestType, nmeapos,
1220
1223
&optDialog->processingOptions , solopt, &monistr, errmsg)) {
1221
1224
@@ -1273,7 +1276,7 @@ void MainWindow::serverStop()
1273
1276
1274
1277
for (i = 0 ; i < 3 ; i++) {
1275
1278
cmds[i] = NULL ;
1276
- streamTypes = rtksvr. stream [i].type ;
1279
+ streamTypes = rtksvr-> stream [i].type ;
1277
1280
1278
1281
if (streamTypes == STR_SERIAL) {
1279
1282
cmds[i] = new char [1024 ];
@@ -1285,7 +1288,7 @@ void MainWindow::serverStop()
1285
1288
if (commandEnableTcp[i][1 ]) strncpy (cmds[i], qPrintable (commandsTcp[i][1 ]), 1023 );
1286
1289
}
1287
1290
}
1288
- rtksvrstop (& rtksvr, (const char **)cmds);
1291
+ rtksvrstop (rtksvr, (const char **)cmds);
1289
1292
1290
1293
for (i = 0 ; i < 3 ; i++) delete[] cmds[i];
1291
1294
@@ -1328,17 +1331,17 @@ void MainWindow::updateServer()
1328
1331
1329
1332
timerCycle++;
1330
1333
1331
- rtksvrlock (& rtksvr);
1334
+ rtksvrlock (rtksvr);
1332
1335
1333
- for (i = 0 ; i < rtksvr. nsol ; i++) {
1334
- sol = rtksvr. solbuf + i;
1335
- updateLog (sol->stat , sol->time , sol->rr , sol->qr , rtksvr. rtk .rb , sol->ns , sol->age , sol->ratio );
1336
+ for (i = 0 ; i < rtksvr-> nsol ; i++) {
1337
+ sol = rtksvr-> solbuf + i;
1338
+ updateLog (sol->stat , sol->time , sol->rr , sol->qr , rtksvr-> rtk .rb , sol->ns , sol->age , sol->ratio );
1336
1339
update = 1 ;
1337
1340
}
1338
- rtksvr. nsol = 0 ;
1339
- solutionCurrentStatus = rtksvr. state ? rtksvr. rtk .sol .stat : 0 ;
1341
+ rtksvr-> nsol = 0 ;
1342
+ solutionCurrentStatus = rtksvr-> state ? rtksvr-> rtk .sol .stat : 0 ;
1340
1343
1341
- rtksvrunlock (& rtksvr);
1344
+ rtksvrunlock (rtksvr);
1342
1345
1343
1346
if (update) {
1344
1347
updateTime ();
@@ -1354,7 +1357,7 @@ void MainWindow::updateServer()
1354
1357
} else {
1355
1358
setWidgetBackgroundColor (ui->lblIndicatorSolution , QColor (Qt::white));
1356
1359
setWidgetTextColor (ui->lblSolution , QColor (Qt::darkGray));
1357
- setWidgetBackgroundColor (ui->lblServer , rtksvr. state ? QColor (Qt::darkGreen) : QColor (Qt::darkGray));
1360
+ setWidgetBackgroundColor (ui->lblServer , rtksvr-> state ? QColor (Qt::darkGreen) : QColor (Qt::darkGray));
1358
1361
}
1359
1362
1360
1363
if (!(++timerCycle % 5 )) updatePlot ();
@@ -1495,15 +1498,15 @@ void MainWindow::updatePosition()
1495
1498
1496
1499
trace (4 , " updatePosition\n " );
1497
1500
1498
- if (rtksvr. rtk .opt .mode == PMODE_STATIC || rtksvr. rtk .opt .mode == PMODE_PPP_STATIC)
1501
+ if (rtksvr-> rtk .opt .mode == PMODE_STATIC || rtksvr-> rtk .opt .mode == PMODE_PPP_STATIC)
1499
1502
ext = " (S)" ;
1500
- else if (rtksvr. rtk .opt .mode == PMODE_FIXED || rtksvr. rtk .opt .mode == PMODE_PPP_FIXED)
1503
+ else if (rtksvr-> rtk .opt .mode == PMODE_FIXED || rtksvr-> rtk .opt .mode == PMODE_PPP_FIXED)
1501
1504
ext = " (F)" ;
1502
1505
ui->lblSolutionText ->setText (tr (" Solution%1:" ).arg (ext));
1503
1506
1504
1507
ui->lblSolution ->setText (sol[stat]);
1505
- setWidgetTextColor (ui->lblSolution , rtksvr. state ? color[stat] : QColor (Qt::darkGray));
1506
- setWidgetBackgroundColor (ui->lblIndicatorSolution , rtksvr. state ? color[stat] : QColor (Qt::white));
1508
+ setWidgetTextColor (ui->lblSolution , rtksvr-> state ? color[stat] : QColor (Qt::darkGray));
1509
+ setWidgetBackgroundColor (ui->lblIndicatorSolution , rtksvr-> state ? color[stat] : QColor (Qt::white));
1507
1510
ui->lblIndicatorSolution ->setToolTip (sol[stat]);
1508
1511
1509
1512
if (norm (rrover, 3 ) > 0.0 && norm (rbase, 3 ) > 0.0 )
@@ -1607,7 +1610,7 @@ void MainWindow::updateStream()
1607
1610
1608
1611
trace (4 , " updateStream\n " );
1609
1612
1610
- rtksvrsstat (& rtksvr, sstat, msg);
1613
+ rtksvrsstat (rtksvr, sstat, msg);
1611
1614
for (i = 0 ; i < MAXSTRRTK; i++) {
1612
1615
setWidgetBackgroundColor (ind[i], color[sstat[i]+1 ]);
1613
1616
if (sstat[i]) {
@@ -1655,13 +1658,13 @@ void MainWindow::drawSolutionPlot(QLabel *plot, int type, int freq)
1655
1658
snr0[i] = snr[0 ][i];
1656
1659
snr1[i] = snr[1 ][i];
1657
1660
}
1658
- ns[0 ] = rtksvrostat (& rtksvr, 0 , &time, sat[0 ], az[0 ], el[0 ], snr0, vsat[0 ]);
1659
- ns[1 ] = rtksvrostat (& rtksvr, 1 , &time, sat[1 ], az[1 ], el[1 ], snr1, vsat[1 ]);
1661
+ ns[0 ] = rtksvrostat (rtksvr, 0 , &time, sat[0 ], az[0 ], el[0 ], snr0, vsat[0 ]);
1662
+ ns[1 ] = rtksvrostat (rtksvr, 1 , &time, sat[1 ], az[1 ], el[1 ], snr1, vsat[1 ]);
1660
1663
1661
- rtksvrlock (& rtksvr);
1662
- matcpy (rr, rtksvr. rtk .sol .rr , 3 , 1 );
1664
+ rtksvrlock (rtksvr);
1665
+ matcpy (rr, rtksvr-> rtk .sol .rr , 3 , 1 );
1663
1666
ecef2pos (rr, pos);
1664
- rtksvrunlock (& rtksvr);
1667
+ rtksvrunlock (rtksvr);
1665
1668
1666
1669
for (i = 0 ; i < 2 ; i++) {
1667
1670
if (ns[i] > 0 ) {
@@ -1934,7 +1937,7 @@ void MainWindow::drawBaseline(QPainter &c, int id, int w, int h)
1934
1937
trace (4 , " drawBaseline: w=%d h=%d\n " , w, h);
1935
1938
1936
1939
if (PMODE_DGPS <= optDialog->processingOptions .mode && optDialog->processingOptions .mode <= PMODE_FIXED) {
1937
- col = (rtksvr. state && solutionStatus[solutionsCurrent] && solutionCurrentStatus) ? colors[solutionStatus[solutionsCurrent]] : Qt::white;
1940
+ col = (rtksvr-> state && solutionStatus[solutionsCurrent] && solutionCurrentStatus) ? colors[solutionStatus[solutionsCurrent]] : Qt::white;
1938
1941
1939
1942
if (norm (rrover, 3 ) > 0.0 && norm (rbase, 3 ) > 0.0 )
1940
1943
for (i = 0 ; i < 3 ; i++)
@@ -2082,10 +2085,10 @@ void MainWindow::drawTrack(QPainter &c, int id, QPaintDevice *plot)
2082
2085
if (numPoints > 0 ) {
2083
2086
graph->toPoint (x[currentPointNo], y[currentPointNo], p1);
2084
2087
graph->drawMark (c, p1, Graph::MarkerTypes::Dot, Qt::white, 18 , 0 );
2085
- graph->drawMark (c, p1, Graph::MarkerTypes::Circle, rtksvr. state ? Qt::black : Qt::darkGray, 16 , 0 );
2086
- graph->drawMark (c, p1, Graph::MarkerTypes::Plus, rtksvr. state ? Qt::black : Qt::darkGray, 20 , 0 );
2087
- graph->drawMark (c, p1, Graph::MarkerTypes::Dot, rtksvr. state ? Qt::black : Qt::darkGray, 12 , 0 );
2088
- graph->drawMark (c, p1, Graph::MarkerTypes::Dot, rtksvr. state ? color[currentPointNo] : Qt::white, 10 , 0 );
2088
+ graph->drawMark (c, p1, Graph::MarkerTypes::Circle, rtksvr-> state ? Qt::black : Qt::darkGray, 16 , 0 );
2089
+ graph->drawMark (c, p1, Graph::MarkerTypes::Plus, rtksvr-> state ? Qt::black : Qt::darkGray, 20 , 0 );
2090
+ graph->drawMark (c, p1, Graph::MarkerTypes::Dot, rtksvr-> state ? Qt::black : Qt::darkGray, 12 , 0 );
2091
+ graph->drawMark (c, p1, Graph::MarkerTypes::Dot, rtksvr-> state ? color[currentPointNo] : Qt::white, 10 , 0 );
2089
2092
}
2090
2093
2091
2094
// draw scale
@@ -2646,19 +2649,19 @@ void MainWindow::saveOptions()
2646
2649
// ---------------------------------------------------------------------------
2647
2650
void MainWindow::btnMarkClicked ()
2648
2651
{
2649
- markDialog->setPositionMode (rtksvr. rtk .opt .mode );
2652
+ markDialog->setPositionMode (rtksvr-> rtk .opt .mode );
2650
2653
markDialog->setName (markerName);
2651
2654
markDialog->setComment (markerComment);
2652
2655
markDialog->setStationPositionFile (optDialog->fileOptions .stapos );
2653
2656
2654
2657
if (markDialog->exec () != QDialog::Accepted) return ;
2655
2658
2656
- rtksvr. rtk .opt .mode = markDialog->getPositionMode ();
2659
+ rtksvr-> rtk .opt .mode = markDialog->getPositionMode ();
2657
2660
markerName = markDialog->getName ();
2658
2661
markerComment = markDialog->getComment ();
2659
2662
2660
2663
if (!markerName.isEmpty ())
2661
- rtksvrmark (& rtksvr, qPrintable (markerName), qPrintable (markerComment));
2664
+ rtksvrmark (rtksvr, qPrintable (markerName), qPrintable (markerComment));
2662
2665
2663
2666
updatePosition ();
2664
2667
}
0 commit comments