Commit 9bd9513f authored by Matej Frančeškin's avatar Matej Frančeškin

Add support for Septentrio base station

parent 2e82d534
......@@ -405,7 +405,8 @@ HEADERS += \
src/api/QGCOptions.h \
src/api/QGCSettings.h \
src/api/QmlComponentInfo.h \
src/comm/MavlinkMessagesTimer.h
src/comm/MavlinkMessagesTimer.h \
src/GPS/Drivers/src/base_station.h
SOURCES += \
src/api/QGCCorePlugin.cc \
......@@ -664,6 +665,7 @@ HEADERS += \
src/GPS/Drivers/src/rtcm.h \
src/GPS/Drivers/src/ashtech.h \
src/GPS/Drivers/src/ubx.h \
src/GPS/Drivers/src/sbf.h \
src/GPS/GPSManager.h \
src/GPS/GPSPositionMessage.h \
src/GPS/GPSProvider.h \
......@@ -851,6 +853,7 @@ SOURCES += \
src/GPS/Drivers/src/rtcm.cpp \
src/GPS/Drivers/src/ashtech.cpp \
src/GPS/Drivers/src/ubx.cpp \
src/GPS/Drivers/src/sbf.cpp \
src/GPS/GPSManager.cc \
src/GPS/GPSProvider.cc \
src/GPS/RTCM/RTCMMavlink.cc \
......
......@@ -34,6 +34,9 @@ void GPSManager::connectGPS(const QString& device, const QString& gps_type)
if (gps_type.contains("trimble", Qt::CaseInsensitive)) {
type = GPSProvider::GPSType::trimble;
qCDebug(RTKGPSLog) << "Connecting Trimble device";
} else if (gps_type.contains("septentrio", Qt::CaseInsensitive)) {
type = GPSProvider::GPSType::septentrio;
qCDebug(RTKGPSLog) << "Connecting Septentrio device";
} else {
type = GPSProvider::GPSType::u_blox;
qCDebug(RTKGPSLog) << "Connecting U-blox device";
......
......@@ -18,6 +18,7 @@
#include <QDebug>
#include "Drivers/src/ubx.h"
#include "Drivers/src/sbf.h"
#include "Drivers/src/ashtech.h"
#include "Drivers/src/base_station.h"
#include "definitions.h"
......@@ -81,6 +82,9 @@ void GPSProvider::run()
if (_type == GPSType::trimble) {
gpsDriver = new GPSDriverAshtech(&callbackEntry, this, &_reportGpsPos, _pReportSatInfo);
baudrate = 115200;
} else if (_type == GPSType::septentrio) {
gpsDriver = new GPSDriverSBF(&callbackEntry, this, &_reportGpsPos, _pReportSatInfo, 5);
baudrate = 0; // auto-configure
} else {
gpsDriver = new GPSDriverUBX(GPSDriverUBX::Interface::UART, &callbackEntry, this, &_reportGpsPos, _pReportSatInfo);
baudrate = 0; // auto-configure
......
......@@ -32,7 +32,8 @@ public:
enum class GPSType {
u_blox,
trimble
trimble,
septentrio
};
GPSProvider(const QString& device,
......
......@@ -50,6 +50,8 @@
#include "vehicle_gps_position.h"
#include "satellite_info.h"
#define M_DEG_TO_RAD M_PI / 180.0
#define M_RAD_TO_DEG 180.0 / M_PI
#define M_DEG_TO_RAD_F 0.01745329251994f
#define M_RAD_TO_DEG_F 57.2957795130823f
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment