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 : Simulator for the DTS6012M serial rangefinder 17 : 18 : ./Tools/autotest/sim_vehicle.py --gdb --debug -v ArduCopter -A --serial5=sim:dts6012m --speedup=1 19 : 20 : param set SERIAL5_PROTOCOL 9 21 : param set RNGFND1_TYPE 47 22 : graph RANGEFINDER.distance 23 : graph GLOBAL_POSITION_INT.relative_alt/1000-RANGEFINDER.distance 24 : reboot 25 : 26 : arm throttle 27 : rc 3 1600 28 : 29 : */ 30 : 31 : #pragma once 32 : 33 : #include "SIM_config.h" 34 : 35 : #if AP_SIM_RF_DTS6012M_ENABLED 36 : 37 : #include "SIM_SerialRangeFinder.h" 38 : 39 : 40 : namespace SITL { 41 : 42 : class RF_DTS6012M : public SerialRangeFinder { 43 : public: 44 : 45 1 : static SerialRangeFinder *create() { return NEW_NOTHROW RF_DTS6012M(); } 46 : 47 : uint32_t packet_for_alt(float alt_m, uint8_t *buffer, uint8_t buflen) override; 48 : 49 85876 : uint16_t reading_interval_ms() const override { return 100; } // (Downsampled to 100 for 10Hz, sensor capable of 10 for 100Hz) 50 : 51 : }; 52 : 53 : } 54 : 55 : #endif // AP_SIM_RF_DTS6012M_ENABLED