- Timestamp:
- Mar 4, 2009, 5:21:39 PM (16 years ago)
- Location:
- trunk/BNC
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/bncgetthread.cpp
r1709 r1710 120 120 _nextSleep = 0; 121 121 _rawOutFile = 0; 122 _serialOutFile = 0;123 122 _staID_orig = _staID; 124 123 … … 126 125 127 126 _miscMount = settings.value("miscMount").toString(); 128 129 if ( settings.value("serialMountPoint").toString() == _staID &&130 settings.value("serialAutoNMEA").toString() != "Auto" ) {131 _height = settings.value("serialHeightNMEA").toString().toAscii();132 } else {133 _height = "100";134 }135 127 136 128 // Check name conflict … … 172 164 // Serial Port 173 165 // ----------- 166 _serialNMEA = NO_NMEA; 167 _serialOutFile = 0; 168 _serialPort = 0; 169 174 170 if (settings.value("serialMountPoint").toString() == _staID) { 175 _serialPort = new QextSerialPort( 176 settings.value("serialPortName").toString() ); 171 _serialPort = new QextSerialPort(settings.value("serialPortName").toString() ); 172 _serialPort->setTimeout(0,100); 173 174 // Baud Rate 175 // --------- 177 176 QString hlp = settings.value("serialBaudRate").toString(); 178 177 if (hlp == "110") { … … 209 208 _serialPort->setBaudRate(BAUD115200); 210 209 } 210 211 // Parity 212 // ------ 211 213 hlp = settings.value("serialParity").toString(); 212 214 if (hlp == "NONE") { … … 222 224 _serialPort->setParity(PAR_SPACE); 223 225 } 226 227 // Data Bits 228 // --------- 224 229 hlp = settings.value("serialDataBits").toString(); 225 230 if (hlp == "5") { … … 242 247 _serialPort->setStopBits(STOP_2); 243 248 } 249 250 // Flow Control 251 // ------------ 252 hlp = settings.value("serialFlowControl").toString(); 253 if (hlp == "OFF") { 254 _serialPort->setFlowControl(FLOW_OFF); 255 } 256 else if (hlp == "XONXOFF") { 257 _serialPort->setFlowControl(FLOW_XONXOFF); 258 } 259 else if (hlp == "HARDWARE") { 260 _serialPort->setFlowControl(FLOW_HARDWARE); 261 } 262 263 // Open Serial Port 264 // ---------------- 244 265 _serialPort->open(QIODevice::ReadWrite|QIODevice::Unbuffered); 245 266 if (!_serialPort->isOpen()) { … … 248 269 emit(newMessage((_staID + ": Cannot open serial port\n"), true)); 249 270 } 250 251 271 connect(_serialPort, SIGNAL(readyRead()), 252 272 this, SLOT(slotSerialReadyRead())); 253 273 254 // Serial File Output 255 // ------------------ 256 QString serialFileNMEA = settings.value("serialFileNMEA").toString(); 257 QString serialAutoNMEA = settings.value("serialAutoNMEA").toString(); 258 if (!serialFileNMEA.isEmpty() && serialAutoNMEA == "Auto" ) { 259 _serialOutFile = new QFile(serialFileNMEA); 260 if ( Qt::CheckState(settings.value("rnxAppend").toInt()) == Qt::Checked) { 261 _serialOutFile->open(QIODevice::WriteOnly | QIODevice::Append); 262 } 263 else { 264 _serialOutFile->open(QIODevice::WriteOnly); 265 } 266 } 267 _serialPort->setTimeout(0,100); 268 hlp = settings.value("serialFlowControl").toString(); 269 if (hlp == "OFF") { 270 _serialPort->setFlowControl(FLOW_OFF); 271 } 272 else if (hlp == "XONXOFF") { 273 _serialPort->setFlowControl(FLOW_XONXOFF); 274 } 275 else if (hlp == "HARDWARE") { 276 _serialPort->setFlowControl(FLOW_HARDWARE); 277 } 278 } 279 else { 280 _serialPort = 0; 274 // Automatic NMEA 275 // -------------- 276 if (settings.value("serialAutoNMEA").toString() == "Auto") { 277 _serialNMEA = AUTO_NMEA; 278 279 QString fName = settings.value("serialFileNMEA").toString(); 280 if (!fName.isEmpty()) { 281 _serialOutFile = new QFile(fName); 282 if ( Qt::CheckState(settings.value("rnxAppend").toInt()) == Qt::Checked) { 283 _serialOutFile->open(QIODevice::WriteOnly | QIODevice::Append); 284 } 285 else { 286 _serialOutFile->open(QIODevice::WriteOnly); 287 } 288 } 289 } 290 291 // Manual NMEA 292 // ----------- 293 else { 294 _serialNMEA = MANUAL_NMEA; 295 } 281 296 } 282 297 … … 486 501 t_irc bncGetThread::tryReconnect() { 487 502 488 bncSettings settings;489 bool manual = true;490 if ( _staID == settings.value("serialMountPoint").toString() &&491 settings.value("serialAutoNMEA").toString() == "Auto" ) {492 manual = false;493 }494 495 503 // Easy Return 496 504 // ----------- … … 531 539 _query = new bncNetQueryV1(); 532 540 } 533 if (_nmea == "yes" && manual) {534 QByteArray gga = ggaString(_latitude, _longitude, _height);541 if (_nmea == "yes" && _serialNMEA != AUTO_NMEA) { 542 QByteArray gga = ggaString(_latitude, _longitude, "100.0"); 535 543 _query->startRequest(_mountPoint, gga); 536 544 } -
trunk/BNC/bncgetthread.h
r1607 r1710 78 78 79 79 private: 80 enum t_serialNMEA {NO_NMEA, MANUAL_NMEA, AUTO_NMEA}; 81 80 82 void initialize(); 81 83 t_irc tryReconnect(); … … 104 106 QString _miscMount; 105 107 QFile* _serialOutFile; 108 t_serialNMEA _serialNMEA; 106 109 }; 107 110
Note:
See TracChangeset
for help on using the changeset viewer.