APM:Libraries
AP_GPS_MAV.h
Go to the documentation of this file.
1 /*
2  This program is free software: you can redistribute it and/or modify
3  it under the terms of the GNU General Public License as published by
4  the Free Software Foundation, either version 3 of the License, or
5  (at your option) any later version.
6 
7  This program is distributed in the hope that it will be useful,
8  but WITHOUT ANY WARRANTY; without even the implied warranty of
9  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  GNU General Public License for more details.
11 
12  You should have received a copy of the GNU General Public License
13  along with this program. If not, see <http://www.gnu.org/licenses/>.
14  */
15 
16 //
17 // Mavlink GPS driver which accepts gps position data from an external
18 // companion computer
19 //
20 #pragma once
21 
22 #include <AP_Common/AP_Common.h>
23 #include <AP_HAL/AP_HAL.h>
24 
25 #include "AP_GPS.h"
26 #include "GPS_Backend.h"
27 
28 class AP_GPS_MAV : public AP_GPS_Backend {
29 public:
30  AP_GPS_MAV(AP_GPS &_gps, AP_GPS::GPS_State &_state, AP_HAL::UARTDriver *_port);
31 
32  bool read();
33 
34  static bool _detect(struct MAV_detect_state &state, uint8_t data);
35 
36  void handle_msg(const mavlink_message_t *msg);
37 
38  const char *name() const override { return "MAV"; }
39 
40 private:
41  bool _new_data;
42 };
Definition: AP_GPS.h:48
void handle_msg(const mavlink_message_t *msg)
Definition: AP_GPS_MAV.cpp:42
bool _new_data
Definition: AP_GPS_MAV.h:41
AP_GPS_MAV(AP_GPS &_gps, AP_GPS::GPS_State &_state, AP_HAL::UARTDriver *_port)
Definition: AP_GPS_MAV.cpp:22
bool read()
Definition: AP_GPS_MAV.cpp:30
const char * name() const override
Definition: AP_GPS_MAV.h:38
AP_GPS::GPS_State & state
public state for this instance
Definition: GPS_Backend.h:71
Common definitions and utility routines for the ArduPilot libraries.
static bool _detect(struct MAV_detect_state &state, uint8_t data)