From 92106a944ff9646e2cb8990dd9b89a975a974c36 Mon Sep 17 00:00:00 2001 From: Michael Oborne Date: Thu, 17 Mar 2016 07:43:21 +0800 Subject: [PATCH] AP_GPS_UBLOX: add data injection support --- libraries/AP_GPS/AP_GPS_UBLOX.cpp | 10 ++++++++++ libraries/AP_GPS/AP_GPS_UBLOX.h | 2 ++ 2 files changed, 12 insertions(+) diff --git a/libraries/AP_GPS/AP_GPS_UBLOX.cpp b/libraries/AP_GPS/AP_GPS_UBLOX.cpp index 17419f515a..f3d9137aaa 100644 --- a/libraries/AP_GPS/AP_GPS_UBLOX.cpp +++ b/libraries/AP_GPS/AP_GPS_UBLOX.cpp @@ -1177,3 +1177,13 @@ AP_GPS_UBLOX::_configure_rate(void) msg.timeref = 0; // UTC time _send_message(CLASS_CFG, MSG_CFG_RATE, &msg, sizeof(msg)); } + +void +AP_GPS_UBLOX::inject_data(uint8_t *data, uint8_t len) +{ + if (port->txspace() > len) { + port->write(data, len); + } else { + Debug("UBX: Not enough TXSPACE"); + } +} diff --git a/libraries/AP_GPS/AP_GPS_UBLOX.h b/libraries/AP_GPS/AP_GPS_UBLOX.h index 5ebd5685ec..cd4a1ed19b 100644 --- a/libraries/AP_GPS/AP_GPS_UBLOX.h +++ b/libraries/AP_GPS/AP_GPS_UBLOX.h @@ -98,6 +98,8 @@ public: static bool _detect(struct UBLOX_detect_state &state, uint8_t data); + void inject_data(uint8_t *data, uint8_t len); + bool is_configured(void) { if (!gps._auto_config) { return true;