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 : /* 16 : simple buzzer simulation class 17 : */ 18 : 19 : #pragma once 20 : 21 : #include <AP_Param/AP_Param.h> 22 : #include "SITL_Input.h" 23 : 24 : #include "stdint.h" 25 : 26 : namespace SITL { 27 : 28 : class Buzzer { 29 : public: 30 : Buzzer(); 31 : 32 : // update buzzer state 33 : void update(const struct sitl_input &input); 34 : 35 : static const struct AP_Param::GroupInfo var_info[]; 36 : 37 178759942 : bool is_enabled() const {return static_cast<bool>(_enable);} 38 : 39 : private: 40 : 41 : AP_Int8 _enable; // enable buzzer sim 42 : AP_Int8 _pin; 43 : #ifdef WITH_SITL_TONEALARM 44 : bool was_on; 45 : 46 : uint32_t on_time; 47 : 48 : bool prep_done; 49 : #endif 50 : }; 51 : 52 : }