Changeset 356 in ntrip for trunk/BNC/bncgetthread.cpp
- Timestamp:
- Dec 21, 2006, 3:38:51 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/bncgetthread.cpp
r354 r356 45 45 #include <QTextStream> 46 46 #include <QtNetwork> 47 #include <QTime> 47 48 48 49 #include "bncgetthread.h" … … 92 93 _staID = _staID.left(_staID.length()-1) + QString("%1").arg(num).toAscii(); 93 94 } 94 // Start Ergaenzung Perlt95 95 msleep(100); //sleep 0.1 sec 96 //Ende Ergaenzung Perlt97 96 } 98 97 … … 154 153 userAndPwd.toBase64() + "\r\n\r\n"; 155 154 } 155 156 ////////////////////////////////////////////////////////////////// 157 // Additional NMEA String in request to handle VRS data streams // 158 // will be ignored from standard casters // 159 ////////////////////////////////////////////////////////////////// 160 161 double lat, lon; 162 lat = settings.value("approxLat", 0).toDouble(); 163 lon = settings.value("approxLon", 0).toDouble(); 164 if ((lat != 0.0) && (lon != 0.0)) { 165 const char* flagN="N"; 166 const char* flagE="E"; 167 if (lon >180.) {lon=(lon-360.)*(-1.); flagE="W";} 168 if ((lon < 0.) && (lon >= -180.)) {lon=lon*(-1.); flagE="W";} 169 if (lon < -180.) {lon=(lon+360.); flagE="E";} 170 if (lat < 0.) {lat=lat*(-1.); flagN="S";} 171 QTime ttime(QTime::currentTime()); 172 int lat_deg = (int)lat; 173 double lat_min=(lat-lat_deg)*60.; 174 int lon_deg = (int)lon; 175 double lon_min=(lon-lon_deg)*60.; 176 int hh = 0 , mm = 0; 177 double ss = 0.0; 178 hh=ttime.hour(); 179 mm=ttime.minute(); 180 ss=(double)ttime.second()+0.001*ttime.msec(); 181 QString gga; 182 gga += "GPGGA,"; 183 gga += QString("%1%2%3,").arg((int)hh, 2, 10, QLatin1Char('0')).arg((int)mm, 2, 10, QLatin1Char('0')).arg((int)ss, 2, 10, QLatin1Char('0')); 184 gga += QString("%1%2,").arg((int)lat_deg,2, 10, QLatin1Char('0')).arg(lat_min, 7, 'f', 4, QLatin1Char('0')); 185 gga += flagN; 186 gga += QString(",%1%2,").arg((int)lon_deg,3, 10, QLatin1Char('0')).arg(lon_min, 7, 'f', 4, QLatin1Char('0')); 187 gga += flagE + QString(",1,05,1.00,+00100,M,10.000,M,,"); 188 int xori; 189 char XOR = 0; 190 char *Buff =gga.toAscii().data(); 191 int iLen = strlen(Buff); 192 for (xori = 0; xori < iLen; xori++) { 193 XOR ^= (char)Buff[xori]; 194 } 195 gga += QString("*%1").arg(XOR, 2, 16, QLatin1Char('0')); 196 reqStr += "$"; 197 reqStr += gga; 198 reqStr += "\r\n"; 199 } 200 //////////////////////////////////////////////////////////////// 156 201 157 202 msg += reqStr;
Note:
See TracChangeset
for help on using the changeset viewer.