mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-20 10:54:14 +01:00
Merge remote-tracking branch 'origin/rel-13.06.04'
This commit is contained in:
commit
59b99e26b7
@ -3,7 +3,9 @@ Signature = "$Windows NT$"
|
||||
Class = Ports
|
||||
ClassGuid = {4D36E978-E325-11CE-BFC1-08002BE10318}
|
||||
Provider = %ProviderName%
|
||||
DriverVer = 10/15/2009,1.0.0.0
|
||||
DriverVer=02/22/2013,2.0.0.0
|
||||
CatalogFile.NTx86 = OpenPilot-CDC_x86.cat
|
||||
CatalogFile.NTamd64 = OpenPilot-CDC_amd64.cat
|
||||
|
||||
[MANUFACTURER]
|
||||
%ProviderName% = DeviceList, NTx86, NTamd64
|
||||
|
BIN
flight/Project/Windows USB/openpilot-cdc_amd64.cat
Normal file
BIN
flight/Project/Windows USB/openpilot-cdc_amd64.cat
Normal file
Binary file not shown.
BIN
flight/Project/Windows USB/openpilot-cdc_x86.cat
Normal file
BIN
flight/Project/Windows USB/openpilot-cdc_x86.cat
Normal file
Binary file not shown.
@ -46,7 +46,7 @@ equals(copydata, 1) {
|
||||
for(dll, QT_IMAGEFORMAT_DLLS) {
|
||||
data_copy.commands += $(COPY_FILE) $$targetPath(\"$$[QT_INSTALL_PLUGINS]/imageformats/$$dll\") $$targetPath(\"$$GCS_APP_PATH/imageformats/$$dll\") $$addNewline()
|
||||
}
|
||||
|
||||
|
||||
# copy phonon_backend
|
||||
QT_PHONON_BACKEND_DLLS = phonon_ds94.dll
|
||||
data_copy.commands += -@$(MKDIR) $$targetPath(\"$$GCS_APP_PATH/phonon_backend\") $$addNewline()
|
||||
@ -74,9 +74,11 @@ equals(copydata, 1) {
|
||||
# xcopy /s /e <SDL>\bin\SDL.dll C:\QtSDK\Desktop\Qt\4.7.3\mingw\bin\SDL.dll
|
||||
# xcopy /s /e <SDL>\include\SDL\* C:\QtSDK\Desktop\Qt\4.7.3\mingw\include\SDL
|
||||
# xcopy /s /e <SDL>\lib\* C:\QtSDK\Desktop\Qt\4.7.3\mingw\lib
|
||||
SDL_DLL = SDL.dll
|
||||
data_copy.commands += $(COPY_FILE) $$targetPath(\"$$(QTMINGW)/$$SDL_DLL\") $$targetPath(\"$$GCS_APP_PATH/$$SDL_DLL\") $$addNewline()
|
||||
|
||||
3PARTYDLL_DLLS = SDL.dll ssleay32.dll libeay32.dll
|
||||
for(dll, 3PARTYDLL_DLLS) {
|
||||
data_copy.commands += $(COPY_FILE) $$targetPath(\"$$(QTMINGW)/$$dll\") $$targetPath(\"$$GCS_APP_PATH/$$dll\") $$addNewline()
|
||||
}
|
||||
|
||||
data_copy.target = FORCE
|
||||
QMAKE_EXTRA_TARGETS += data_copy
|
||||
}
|
||||
|
@ -27,6 +27,7 @@
|
||||
#include "urlfactory.h"
|
||||
#include <QRegExp>
|
||||
|
||||
|
||||
namespace core {
|
||||
const double UrlFactory::EarthRadiusKm = 6378.137; // WGS-84
|
||||
|
||||
@ -85,8 +86,14 @@ bool UrlFactory::IsCorrectGoogleVersions()
|
||||
|
||||
void UrlFactory::TryCorrectGoogleVersions()
|
||||
{
|
||||
static bool versionRetrieved = false;
|
||||
|
||||
if (versionRetrieved) {
|
||||
return;
|
||||
}
|
||||
QMutexLocker locker(&mutex);
|
||||
|
||||
|
||||
if (CorrectGoogleVersions && !IsCorrectGoogleVersions()) {
|
||||
QNetworkReply *reply;
|
||||
QNetworkRequest qheader;
|
||||
@ -101,8 +108,8 @@ void UrlFactory::TryCorrectGoogleVersions()
|
||||
#ifdef DEBUG_URLFACTORY
|
||||
qDebug() << "Correct GoogleVersion";
|
||||
#endif // DEBUG_URLFACTORY
|
||||
setIsCorrectGoogleVersions(true);
|
||||
QString url = "http://maps.google.com";
|
||||
// setIsCorrectGoogleVersions(true);
|
||||
QString url = "https://maps.google.com";
|
||||
|
||||
qheader.setUrl(QUrl(url));
|
||||
qheader.setRawHeader("User-Agent", UserAgent);
|
||||
@ -120,26 +127,28 @@ void UrlFactory::TryCorrectGoogleVersions()
|
||||
return;
|
||||
}
|
||||
QString html = QString(reply->readAll());
|
||||
QRegExp reg("\"*http://mt0.google.com/vt/lyrs=m@(\\d*)", Qt::CaseInsensitive);
|
||||
QRegExp reg("\"*https://mts0.google.com/vt/lyrs=m@(\\d*)", Qt::CaseInsensitive);
|
||||
if (reg.indexIn(html) != -1) {
|
||||
QStringList gc = reg.capturedTexts();
|
||||
VersionGoogleMap = QString("m@%1").arg(gc[1]);
|
||||
VersionGoogleMapChina = VersionGoogleMap;
|
||||
VersionGoogleMapKorea = VersionGoogleMap;
|
||||
#ifdef DEBUG_URLFACTORY
|
||||
qDebug() << "TryCorrectGoogleVersions, VersionGoogleMap: " << VersionGoogleMap;
|
||||
#endif // DEBUG_URLFACTORY
|
||||
}
|
||||
|
||||
reg = QRegExp("\"*http://mt0.google.com/vt/lyrs=h@(\\d*)", Qt::CaseInsensitive);
|
||||
reg = QRegExp("\"*https://mts0.google.com/vt/lyrs=h@(\\d*)", Qt::CaseInsensitive);
|
||||
if (reg.indexIn(html) != -1) {
|
||||
QStringList gc = reg.capturedTexts();
|
||||
VersionGoogleLabels = QString("h@%1").arg(gc[1]);
|
||||
VersionGoogleLabelsChina = VersionGoogleLabels;
|
||||
VersionGoogleLabelsKorea = VersionGoogleLabels;
|
||||
#ifdef DEBUG_URLFACTORY
|
||||
qDebug() << "TryCorrectGoogleVersions, VersionGoogleLabels: " << VersionGoogleLabels;
|
||||
#endif // DEBUG_URLFACTORY
|
||||
}
|
||||
reg = QRegExp("\"*http://khm0.google.com/kh/v=(\\d*)", Qt::CaseInsensitive);
|
||||
reg = QRegExp("\"*https://khms0.google.com/kh/v=(\\d*)", Qt::CaseInsensitive);
|
||||
if (reg.indexIn(html) != -1) {
|
||||
QStringList gc = reg.capturedTexts();
|
||||
VersionGoogleSatellite = gc[1];
|
||||
@ -148,16 +157,18 @@ void UrlFactory::TryCorrectGoogleVersions()
|
||||
|
||||
qDebug() << "TryCorrectGoogleVersions, VersionGoogleSatellite: " << VersionGoogleSatellite;
|
||||
}
|
||||
reg = QRegExp("\"*http://mt0.google.com/vt/lyrs=t@(\\d*),r@(\\d*)", Qt::CaseInsensitive);
|
||||
reg = QRegExp("\"*https://mts0.google.com/vt/lyrs=t@(\\d*),r@(\\d*)", Qt::CaseInsensitive);
|
||||
if (reg.indexIn(html) != -1) {
|
||||
QStringList gc = reg.capturedTexts();
|
||||
VersionGoogleTerrain = QString("t@%1,r@%2").arg(gc[1]).arg(gc[2]);
|
||||
VersionGoogleTerrainChina = VersionGoogleTerrain;
|
||||
VersionGoogleTerrainChina = VersionGoogleTerrain;
|
||||
#ifdef DEBUG_URLFACTORY
|
||||
qDebug() << "TryCorrectGoogleVersions, VersionGoogleTerrain: " << VersionGoogleTerrain;
|
||||
#endif // DEBUG_URLFACTORY
|
||||
}
|
||||
reply->deleteLater();
|
||||
versionRetrieved = true;
|
||||
}
|
||||
}
|
||||
|
||||
@ -169,48 +180,48 @@ QString UrlFactory::MakeImageUrl(const MapType::Types &type, const Point &pos, c
|
||||
switch (type) {
|
||||
case MapType::GoogleMap:
|
||||
{
|
||||
QString server = "mt";
|
||||
QString server = "mts";
|
||||
QString request = "vt";
|
||||
QString sec1 = ""; // after &x=...
|
||||
QString sec2 = ""; // after &zoom=...
|
||||
GetSecGoogleWords(pos, sec1, sec2);
|
||||
TryCorrectGoogleVersions();
|
||||
|
||||
return QString("http://%1%2.google.com/%3/lyrs=%4&hl=%5&x=%6%7&y=%8&z=%9&s=%10").arg(server).arg(GetServerNum(pos, 4)).arg(request).arg(VersionGoogleMap).arg(language).arg(pos.X()).arg(sec1).arg(pos.Y()).arg(zoom).arg(sec2);
|
||||
return QString("https://%1%2.google.com/%3/lyrs=%4&hl=%5&x=%6%7&y=%8&z=%9&s=%10").arg(server).arg(GetServerNum(pos, 4)).arg(request).arg(VersionGoogleMap).arg(language).arg(pos.X()).arg(sec1).arg(pos.Y()).arg(zoom).arg(sec2);
|
||||
}
|
||||
break;
|
||||
case MapType::GoogleSatellite:
|
||||
{
|
||||
QString server = "khm";
|
||||
QString server = "khms";
|
||||
QString request = "kh";
|
||||
QString sec1 = ""; // after &x=...
|
||||
QString sec2 = ""; // after &zoom=...
|
||||
GetSecGoogleWords(pos, sec1, sec2);
|
||||
TryCorrectGoogleVersions();
|
||||
return QString("http://%1%2.google.com/%3/v=%4&hl=%5&x=%6%7&y=%8&z=%9&s=%10").arg(server).arg(GetServerNum(pos, 4)).arg(request).arg(VersionGoogleSatellite).arg(language).arg(pos.X()).arg(sec1).arg(pos.Y()).arg(zoom).arg(sec2);
|
||||
QString VersionGoogleSatellite = "132";
|
||||
return QString("https://%1%2.google.com/%3/v=%4&hl=%5&x=%6%7&y=%8&z=%9&s=%10").arg(server).arg(GetServerNum(pos, 4)).arg(request).arg(VersionGoogleSatellite).arg(language).arg(pos.X()).arg(sec1).arg(pos.Y()).arg(zoom).arg(sec2);
|
||||
}
|
||||
break;
|
||||
case MapType::GoogleLabels:
|
||||
{
|
||||
QString server = "mt";
|
||||
QString server = "mts";
|
||||
QString request = "vt";
|
||||
QString sec1 = ""; // after &x=...
|
||||
QString sec2 = ""; // after &zoom=...
|
||||
GetSecGoogleWords(pos, sec1, sec2);
|
||||
TryCorrectGoogleVersions();
|
||||
|
||||
return QString("http://%1%2.google.com/%3/lyrs=%4&hl=%5&x=%6%7&y=%8&z=%9&s=%10").arg(server).arg(GetServerNum(pos, 4)).arg(request).arg(VersionGoogleLabels).arg(language).arg(pos.X()).arg(sec1).arg(pos.Y()).arg(zoom).arg(sec2);
|
||||
return QString("https://%1%2.google.com/%3/lyrs=%4&hl=%5&x=%6%7&y=%8&z=%9&s=%10").arg(server).arg(GetServerNum(pos, 4)).arg(request).arg(VersionGoogleLabels).arg(language).arg(pos.X()).arg(sec1).arg(pos.Y()).arg(zoom).arg(sec2);
|
||||
}
|
||||
break;
|
||||
case MapType::GoogleTerrain:
|
||||
{
|
||||
QString server = "mt";
|
||||
QString server = "mts";
|
||||
QString request = "vt";
|
||||
QString sec1 = ""; // after &x=...
|
||||
QString sec2 = ""; // after &zoom=...
|
||||
GetSecGoogleWords(pos, sec1, sec2);
|
||||
TryCorrectGoogleVersions();
|
||||
return QString("http://%1%2.google.com/%3/v=%4&hl=%5&x=%6%7&y=%8&z=%9&s=%10").arg(server).arg(GetServerNum(pos, 4)).arg(request).arg(VersionGoogleTerrain).arg(language).arg(pos.X()).arg(sec1).arg(pos.Y()).arg(zoom).arg(sec2);
|
||||
return QString("https://%1%2.google.com/%3/v=%4&hl=%5&x=%6%7&y=%8&z=%9&s=%10").arg(server).arg(GetServerNum(pos, 4)).arg(request).arg(VersionGoogleTerrain).arg(language).arg(pos.X()).arg(sec1).arg(pos.Y()).arg(zoom).arg(sec2);
|
||||
}
|
||||
break;
|
||||
case MapType::GoogleMapChina:
|
||||
@ -233,7 +244,7 @@ QString UrlFactory::MakeImageUrl(const MapType::Types &type, const Point &pos, c
|
||||
QString sec1 = ""; // after &x=...
|
||||
QString sec2 = ""; // after &zoom=...
|
||||
GetSecGoogleWords(pos, sec1, sec2);
|
||||
// TryCorrectGoogleVersions();
|
||||
TryCorrectGoogleVersions();
|
||||
// http://khm0.google.cn/kh/v=46&x=12&y=6&z=4&s=Ga
|
||||
|
||||
return QString("http://%1%2.google.cn/%3/lyrs=%4&gl=cn&x=%5%6&y=%7&z=%8&s=%9").arg(server).arg(GetServerNum(pos, 4)).arg(request).arg(VersionGoogleSatelliteChina).arg(pos.X()).arg(sec1).arg(pos.Y()).arg(zoom).arg(sec2);
|
||||
@ -267,42 +278,45 @@ QString UrlFactory::MakeImageUrl(const MapType::Types &type, const Point &pos, c
|
||||
break;
|
||||
case MapType::GoogleMapKorea:
|
||||
{
|
||||
QString server = "mt";
|
||||
QString request = "mt";
|
||||
QString server = "mts";
|
||||
QString request = "vt";
|
||||
QString sec1 = ""; // after &x=...
|
||||
QString sec2 = ""; // after &zoom=...
|
||||
GetSecGoogleWords(pos, sec1, sec2);
|
||||
TryCorrectGoogleVersions();
|
||||
// https://mts0.google.com/vt/lyrs=m@224000000&hl=ko&gl=KR&src=app&x=107&y=50&z=7&s=Gal
|
||||
// https://mts0.google.com/mt/v=kr1.11&hl=ko&x=109&y=49&z=7&s=
|
||||
|
||||
// http://mt3.gmaptiles.co.kr/mt/v=kr1.11&hl=lt&x=109&y=49&z=7&s=
|
||||
qDebug() << QString("https://%1%2.google.com/%3/lyrs=%4&hl=%5&x=%6%7&y=%8&z=%9&s=%10").arg(server).arg(GetServerNum(pos, 4)).arg(request).arg(VersionGoogleMapKorea).arg(language).arg(pos.X()).arg(sec1).arg(pos.Y()).arg(zoom).arg(sec2);
|
||||
|
||||
QString ret = QString("http://%1%2.gmaptiles.co.kr/%3/v=%4&hl=%5&x=%6%7&y=%8&z=%9&s=%10").arg(server).arg(GetServerNum(pos, 4)).arg(request).arg(VersionGoogleMapKorea).arg(language).arg(pos.X()).arg(sec1).arg(pos.Y()).arg(zoom).arg(sec2);
|
||||
QString ret = QString("https://%1%2.google.com/%3/lyrs=%4&hl=%5&x=%6%7&y=%8&z=%9&s=%10").arg(server).arg(GetServerNum(pos, 4)).arg(request).arg(VersionGoogleMapKorea).arg(language).arg(pos.X()).arg(sec1).arg(pos.Y()).arg(zoom).arg(sec2);
|
||||
return ret;
|
||||
}
|
||||
break;
|
||||
case MapType::GoogleSatelliteKorea:
|
||||
{
|
||||
QString server = "khm";
|
||||
QString server = "khms";
|
||||
QString request = "kh";
|
||||
QString sec1 = ""; // after &x=...
|
||||
QString sec2 = ""; // after &zoom=...
|
||||
GetSecGoogleWords(pos, sec1, sec2);
|
||||
|
||||
TryCorrectGoogleVersions();
|
||||
// http://khm1.google.co.kr/kh/v=54&x=109&y=49&z=7&s=
|
||||
|
||||
return QString("http://%1%2.google.co.kr/%3/v=%4&x=%5%6&y=%7&z=%8&s=%9").arg(server).arg(GetServerNum(pos, 4)).arg(request).arg(VersionGoogleSatelliteKorea).arg(pos.X()).arg(sec1).arg(pos.Y()).arg(zoom).arg(sec2);
|
||||
return QString("https://%1%2.google.co.kr/%3/v=%4&x=%5%6&y=%7&z=%8&s=%9").arg(server).arg(GetServerNum(pos, 4)).arg(request).arg(VersionGoogleSatelliteKorea).arg(pos.X()).arg(sec1).arg(pos.Y()).arg(zoom).arg(sec2);
|
||||
}
|
||||
break;
|
||||
case MapType::GoogleLabelsKorea:
|
||||
{
|
||||
QString server = "mt";
|
||||
QString server = "mts";
|
||||
QString request = "mt";
|
||||
QString sec1 = ""; // after &x=...
|
||||
QString sec2 = ""; // after &zoom=...
|
||||
GetSecGoogleWords(pos, sec1, sec2);
|
||||
TryCorrectGoogleVersions();
|
||||
// https://mts1.gmaptiles.co.kr/mt/v=kr1t.11&hl=lt&x=109&y=50&z=7&s=G
|
||||
|
||||
// http://mt1.gmaptiles.co.kr/mt/v=kr1t.11&hl=lt&x=109&y=50&z=7&s=G
|
||||
|
||||
return QString("http://%1%2.gmaptiles.co.kr/%3/v=%4&hl=%5&x=%6%7&y=%8&z=%9&s=%10").arg(server).arg(GetServerNum(pos, 4)).arg(request).arg(VersionGoogleLabelsKorea).arg(language).arg(pos.X()).arg(sec1).arg(pos.Y()).arg(zoom).arg(sec2);
|
||||
return QString("https://%1%2.gmaptiles.co.kr/%3/v=%4&hl=%5&x=%6%7&y=%8&z=%9&s=%10").arg(server).arg(GetServerNum(pos, 4)).arg(request).arg(VersionGoogleLabelsKorea).arg(language).arg(pos.X()).arg(sec1).arg(pos.Y()).arg(zoom).arg(sec2);
|
||||
}
|
||||
break;
|
||||
case MapType::YahooMap:
|
||||
|
@ -27,7 +27,7 @@ OpenPilot.
|
||||
------------------
|
||||
Fortunately, it requires only few small text files since all others components
|
||||
should already be installed on your system as parts of msysGit, QtSDK and
|
||||
CodeSourcery G++ packages required to build the OpenPilot.
|
||||
Arm compiler packages required to build the OpenPilot.
|
||||
|
||||
It is expected that you have the following tools installed into the listed
|
||||
locations (but any other locations are fine as well):
|
||||
@ -39,8 +39,8 @@ locations (but any other locations are fine as well):
|
||||
- Unicode NSIS in %ProgramFiles%\NSIS\Unicode
|
||||
- OpenOCD in C:\OpenOCD\0.4.0\bin (optional)
|
||||
|
||||
The SDL library and headers should be installed into Qt directories to build
|
||||
the GCS. Check the wiki or ground/openpilotgcs/copydata.pro for details.
|
||||
The SDL and SSL libraries and headers should be installed into Qt directories to
|
||||
build the GCS. Check the wiki or ground/openpilotgcs/copydata.pro for details.
|
||||
|
||||
Also it is assumed that you have the C:\Program Files\Git\cmd\ directory in
|
||||
the PATH. Usually this is the case for msysGit installation if you have chosen
|
||||
|
@ -238,7 +238,7 @@ SectionEnd
|
||||
; Copy driver files
|
||||
Section "-Drivers" InSecDrivers
|
||||
SetOutPath "$INSTDIR\drivers"
|
||||
File "${PROJECT_ROOT}\flight\Project\Windows USB\OpenPilot-CDC.inf"
|
||||
File /r "${PROJECT_ROOT}\flight\Project\Windows USB\*"
|
||||
SectionEnd
|
||||
|
||||
; Preinstall OpenPilot CDC driver
|
||||
|
@ -11,8 +11,8 @@
|
||||
<field name="AngleOfAttack" units="deg" type="float" elements="1"/>
|
||||
<field name="AngleOfSlip" units="deg" type="float" elements="1"/>
|
||||
<access gcs="readwrite" flight="readonly"/>
|
||||
<telemetrygcs acked="false" updatemode="periodic" period="1000"/>
|
||||
<telemetryflight acked="false" updatemode="manual" period="50000"/>
|
||||
<telemetrygcs acked="false" updatemode="manual" period="0"/>
|
||||
<telemetryflight acked="false" updatemode="manual" period="0"/>
|
||||
<logging updatemode="manual" period="0"/>
|
||||
</object>
|
||||
</xml>
|
||||
|
Loading…
x
Reference in New Issue
Block a user