APM:Libraries
AP_RCProtocol_SBUS.h
Go to the documentation of this file.
1 /*
2  * This file is free software: you can redistribute it and/or modify it
3  * under the terms of the GNU General Public License as published by the
4  * Free Software Foundation, either version 3 of the License, or
5  * (at your option) any later version.
6  *
7  * This file is distributed in the hope that it will be useful, but
8  * WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10  * See the GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License along
13  * with this program. If not, see <http://www.gnu.org/licenses/>.
14  *
15  * Code by Andrew Tridgell and Siddharth Bharat Purohit
16  */
17 
18 #pragma once
19 
20 #include "AP_RCProtocol.h"
21 
23 public:
25  void process_pulse(uint32_t width_s0, uint32_t width_s1) override;
26 private:
27  bool sbus_decode(const uint8_t frame[25], uint16_t *values, uint16_t *num_values,
28  bool *sbus_failsafe, bool *sbus_frame_drop, uint16_t max_values);
29  struct {
30  uint16_t bytes[25]; // including start bit, parity and stop bits
31  uint16_t bit_ofs;
32  } sbus_state;
33 };
struct AP_RCProtocol_SBUS::@181 sbus_state
bool sbus_decode(const uint8_t frame[25], uint16_t *values, uint16_t *num_values, bool *sbus_failsafe, bool *sbus_frame_drop, uint16_t max_values)
void process_pulse(uint32_t width_s0, uint32_t width_s1) override
AP_RCProtocol_SBUS(AP_RCProtocol &_frontend)