mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-26 15:54:15 +01:00
LP-452 Support the Galileo GNSS on U-blox NEO M8N receiver.
The receiver needs to run firmware 3.01 for Galileo to be supported. Firmware 3.01 supports up to 3 simultaneous constellations. By default only GPS and Glonass are enabled. This commit updates the GCS to display the Galileo constellation in a separate color.
This commit is contained in:
parent
33188bd78e
commit
58e15feb08
@ -118,7 +118,7 @@ void GpsConstellationWidget::updateSat(int index, int prn, int elevation, int az
|
||||
}
|
||||
|
||||
// TODO: add range checking
|
||||
satellites[index][0] = prn;
|
||||
satellites[index][0] = prn; // UBX SVID
|
||||
satellites[index][1] = elevation;
|
||||
satellites[index][2] = azimuth;
|
||||
satellites[index][3] = snr;
|
||||
@ -129,7 +129,13 @@ void GpsConstellationWidget::updateSat(int index, int prn, int elevation, int az
|
||||
-satIcons[index]->boundingRect().center().y());
|
||||
satIcons[index]->setTransform(QTransform::fromTranslate(opd.x(), opd.y()), false);
|
||||
|
||||
// Show normal GPS, SBAS/QZSS (120-158,193-197 range), BeiDou (33-64, 159-163) or GLONASS (65-96, 255 if unidentified)
|
||||
// Show satellite constellations in a separate color
|
||||
// The UBX SVID numbers are defined in appendix A of u-blox8-M8_ReceiverDescrProtSpec_(UBX-13003221)_Public.pdf
|
||||
// GPS = default
|
||||
// SBAS 120-158, QZSS 193-197
|
||||
// BeiDou 33-64, 159-163
|
||||
// GLONASS 65-96, 255 if unidentified
|
||||
// Galileo 211-246
|
||||
if ((prn > 119 && prn < 159) || (prn > 192 && prn < 198)) {
|
||||
if (snr) {
|
||||
satIcons[index]->setElementId("satellite-sbas");
|
||||
@ -148,6 +154,12 @@ void GpsConstellationWidget::updateSat(int index, int prn, int elevation, int az
|
||||
} else {
|
||||
satIcons[index]->setElementId("sat-beidou-notSeen");
|
||||
}
|
||||
} else if (prn > 210 && prn < 247) {
|
||||
if (snr) {
|
||||
satIcons[index]->setElementId("satellite-galileo");
|
||||
} else {
|
||||
satIcons[index]->setElementId("sat-galileo-notSeen");
|
||||
}
|
||||
} else {
|
||||
if (snr) {
|
||||
satIcons[index]->setElementId("satellite");
|
||||
|
@ -127,7 +127,7 @@
|
||||
</palette>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Displays the SNR for each detected sat. GPS satellites are shown in green, GLONASS in cyan, BeiDou in red and SBAS/QZSS in orange. Satellite number (PRN) is displayed inside the bar. Sat SNR is displayed above (in dBHz)</p></body></html></string>
|
||||
<string><html><head/><body><p>Displays the SNR for each detected sat. GPS satellites are shown in green, GLONASS in cyan, BeiDou in red, Galileo in magenta and SBAS/QZSS in orange. Satellite number (PRN) is displayed inside the bar. Sat SNR is displayed above (in dBHz)</p></body></html></string>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>false</bool>
|
||||
|
@ -104,14 +104,21 @@ void GpsSnrWidget::drawSat(int index)
|
||||
|
||||
QRectF boxRect = boxes[index]->boundingRect();
|
||||
|
||||
// Change color for SBAS & QZSS 120-158, 193-197 range
|
||||
// GLONASS range 65-96 or 255, BeiDou 33-64 or 159-163
|
||||
// Show satellite constellations in a separate color
|
||||
// The UBX SVID numbers are defined in appendix A of u-blox8-M8_ReceiverDescrProtSpec_(UBX-13003221)_Public.pdf
|
||||
// GPS = default
|
||||
// SBAS 120-158, QZSS 193-197
|
||||
// BeiDou 33-64, 159-163
|
||||
// GLONASS 65-96, 255 if unidentified
|
||||
// Galileo 211-246
|
||||
if ((prn > 119 && prn < 159) || (prn > 192 && prn < 198)) {
|
||||
boxes[index]->setBrush(QColor("#fd700b"));
|
||||
} else if ((prn > 64 && prn < 97) || 255 == prn) {
|
||||
boxes[index]->setBrush(QColor("Cyan"));
|
||||
} else if ((prn > 32 && prn < 65) || (prn > 158 && prn < 164)) {
|
||||
boxes[index]->setBrush(QColor("Red"));
|
||||
} else if (prn > 210 && prn < 247) {
|
||||
boxes[index]->setBrush(QColor("#e162f3"));
|
||||
} else {
|
||||
boxes[index]->setBrush(QColor("Green"));
|
||||
}
|
||||
|
@ -14,10 +14,21 @@
|
||||
height="691.54303"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.4 r9939"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="gpsEarth.svg">
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
id="linearGradient4512">
|
||||
<stop
|
||||
id="stop4514"
|
||||
offset="0"
|
||||
style="stop-color:#ce00e0;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop4516"
|
||||
offset="1"
|
||||
style="stop-color:#fff954;stop-opacity:0;" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient4431">
|
||||
@ -1003,6 +1014,46 @@
|
||||
fx="559.92383"
|
||||
fy="182.67093"
|
||||
r="21.496641" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3825"
|
||||
id="radialGradient3907-5-5"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-0.11243486,0.51064271,-0.68854473,-0.15160586,748.65596,-75.556107)"
|
||||
cx="559.92383"
|
||||
cy="182.67093"
|
||||
fx="559.92383"
|
||||
fy="182.67093"
|
||||
r="21.496641" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4512"
|
||||
id="linearGradient3859-7-2"
|
||||
x1="572.75409"
|
||||
y1="197.75398"
|
||||
x2="599.88422"
|
||||
y2="231.04071"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<radialGradient
|
||||
r="21.496641"
|
||||
fy="182.67093"
|
||||
fx="559.92383"
|
||||
cy="182.67093"
|
||||
cx="559.92383"
|
||||
gradientTransform="matrix(-0.11243486,0.51064271,-0.68854473,-0.15160586,748.65596,-75.556107)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient4859-3"
|
||||
xlink:href="#linearGradient3825"
|
||||
inkscape:collect="always" />
|
||||
<filter
|
||||
style="color-interpolation-filters:sRGB"
|
||||
inkscape:collect="always"
|
||||
id="filter3997-7-6">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="0.62142855"
|
||||
id="feGaussianBlur3999-1-6" />
|
||||
</filter>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
@ -1533,6 +1584,46 @@
|
||||
d="m 589.99999,195.93361 c 0,11.44018 -9.2741,20.71428 -20.71428,20.71428 -11.44019,0 -20.71429,-9.2741 -20.71429,-20.71428 0,-11.44018 9.2741,-20.71429 20.71429,-20.71429 11.44018,0 20.71428,9.27411 20.71428,20.71429 z"
|
||||
transform="translate(0.08444218,-2.2540576e-8)" />
|
||||
</g>
|
||||
<g
|
||||
style="display:inline"
|
||||
id="satellite-galileo"
|
||||
transform="matrix(0.93879118,0,0,0.93879118,55.180064,91.285495)"
|
||||
inkscape:label="#g3722">
|
||||
<circle
|
||||
r="20.714285"
|
||||
cy="195.93361"
|
||||
cx="569.28571"
|
||||
transform="translate(0.08444214,2.2540576e-8)"
|
||||
id="path3712-3"
|
||||
style="fill:url(#linearGradient3859-7-2);fill-opacity:1;stroke:#8d029a;stroke-width:1.56471384;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<circle
|
||||
r="20.714285"
|
||||
cy="195.93361"
|
||||
cx="569.28571"
|
||||
style="fill:url(#radialGradient4859-3);fill-opacity:1;stroke:none;filter:url(#filter3997-7-6)"
|
||||
id="path3833-3"
|
||||
transform="translate(0.08444218,2.2540576e-8)" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:label="#g3722"
|
||||
transform="matrix(0.93879118,0,0,0.93879118,123.18007,91.285495)"
|
||||
id="sat-galileo-notSeen"
|
||||
style="display:inline;opacity:0.4">
|
||||
<circle
|
||||
r="20.714285"
|
||||
cy="195.93361"
|
||||
cx="569.28571"
|
||||
style="fill:#ce00e0;fill-opacity:1;stroke:#8d029a;stroke-width:1.56471384;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path3891-0"
|
||||
transform="translate(0.08444214,2.2540576e-8)" />
|
||||
<circle
|
||||
r="20.714285"
|
||||
cy="195.93361"
|
||||
cx="569.28571"
|
||||
transform="translate(0.08444218,2.2540576e-8)"
|
||||
id="path3897-8"
|
||||
style="fill:url(#radialGradient3907-5-5);fill-opacity:1;stroke:none" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 88 KiB |
Loading…
x
Reference in New Issue
Block a user