Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Ardupilot
GitHub Repository: Ardupilot/ardupilot
Path: blob/master/libraries/AP_ADSB/AP_ADSB_Backend.h
9667 views
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
#pragma once
16
17
#include "AP_ADSB.h"
18
19
#if HAL_ADSB_ENABLED
20
class AP_ADSB_Backend
21
{
22
public:
23
// constructor.
24
AP_ADSB_Backend(AP_ADSB &frontend, uint8_t instance);
25
26
// we declare a virtual destructor so that ADSB drivers can
27
// override with a custom destructor if need be
28
virtual ~AP_ADSB_Backend(void) {}
29
30
// static detection function
31
static bool detect();
32
33
virtual void update() = 0;
34
35
virtual bool init() { return true; }
36
37
protected:
38
39
uint8_t _instance;
40
41
AP_HAL::UARTDriver *_port;
42
43
// references
44
AP_ADSB &_frontend;
45
};
46
#endif // HAL_ADSB_ENABLED
47
48