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 Ainstein LR-D1 serial rangefinder 17 : 18 : ./Tools/autotest/sim_vehicle.py --gdb --debug -v ArduCopter -A --serial5=sim:ainsteinlrd1_v19 --speedup=1 19 : 20 : param set SERIAL5_PROTOCOL 9 21 : param set RNGFND1_TYPE 42 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 : # to pass canned data through the simulator: 30 : /Tools/autotest/sim_vehicle.py --gdb --debug -v ArduCopter -A --serial5=file:libraries/AP_RangeFinder/examples/captures/ainstein_lr-d1.bin --speedup=1 31 : 32 : param set SERIAL5_PROTOCOL 9 33 : param set RNGFND1_TYPE 42 34 : reboot 35 : 36 : */ 37 : 38 : #pragma once 39 : 40 : #include "SIM_SerialRangeFinder.h" 41 : 42 : namespace SITL { 43 : 44 : class RF_Ainstein_LR_D1_v19 : public SerialRangeFinder { 45 : public: 46 : 47 1 : static SerialRangeFinder *create() { return NEW_NOTHROW RF_Ainstein_LR_D1_v19(); } 48 : 49 : uint32_t packet_for_alt(float alt_m, uint8_t *buffer, uint8_t buflen) override; 50 : 51 175312 : uint16_t reading_interval_ms() const override { return 100; } 52 : 53 : private: 54 : 55 : }; 56 : 57 : }