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_HAL/AP_HAL.h> 18 : 19 : #ifndef HAL_HOTT_TELEM_ENABLED 20 : #define HAL_HOTT_TELEM_ENABLED HAL_PROGRAM_SIZE_LIMIT_KB > 2048 21 : #endif 22 : 23 : #if HAL_HOTT_TELEM_ENABLED 24 : class AP_Hott_Telem { 25 : public: 26 : AP_Hott_Telem(); 27 : 28 : /* Do not allow copies */ 29 : CLASS_NO_COPY(AP_Hott_Telem); 30 : 31 0 : static AP_Hott_Telem *get_singleton(void) { 32 0 : return singleton; 33 : } 34 : 35 : // initialise 36 : void init(void); 37 : 38 : private: 39 : static AP_Hott_Telem *singleton; 40 : 41 : AP_HAL::UARTDriver *uart; 42 : 43 : void loop(void); 44 : void send_EAM(); 45 : void send_GPS(); 46 : void send_Vario(); 47 : void send_packet(const uint8_t *b, uint8_t len); 48 : void GPS_to_DDM(float decimal, uint8_t &sign, uint16_t &dm, uint16_t &sec) const; 49 : 50 : float min_alt, max_alt; 51 : }; 52 : 53 : namespace AP { 54 : AP_Hott_Telem *hott_telem(); 55 : }; 56 : #endif // HAL_HOTT_TELEM_ENABLED