CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
Ardupilot

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.

GitHub Repository: Ardupilot/ardupilot
Path: blob/master/libraries/AP_GPS/AP_GPS_MAV.h
Views: 1798
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_GPS_config.h"
23
24
#if AP_GPS_MAV_ENABLED
25
26
#include <AP_HAL/AP_HAL_Boards.h>
27
28
#include "AP_GPS.h"
29
#include "GPS_Backend.h"
30
31
class AP_GPS_MAV : public AP_GPS_Backend {
32
public:
33
34
using AP_GPS_Backend::AP_GPS_Backend;
35
36
bool read() override;
37
38
static bool _detect(struct MAV_detect_state &state, uint8_t data);
39
40
void handle_msg(const mavlink_message_t &msg) override;
41
42
const char *name() const override { return "MAV"; }
43
44
private:
45
bool _new_data;
46
uint32_t first_week;
47
JitterCorrection jitter{2000};
48
};
49
50
#endif // AP_GPS_MAV_ENABLED
51
52