Line data Source code
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 0 : virtual ~AP_ADSB_Backend(void) {} 29 : 30 : // static detection function 31 : static bool detect(); 32 : 33 : virtual void update() = 0; 34 : 35 8 : 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