APM:Libraries
WheelEncoder_Backend.h
Go to the documentation of this file.
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_Common/AP_Common.h>
18 #include <AP_HAL/AP_HAL.h>
19 #include "AP_WheelEncoder.h"
20 
22 {
23 public:
24  // constructor. This incorporates initialisation as well.
26 
27  // we declare a virtual destructor so that WheelEncoder drivers can
28  // override with a custom destructor if need be
29  virtual ~AP_WheelEncoder_Backend(void) {}
30 
31  // update the state structure. All backends must implement this.
32  virtual void update() = 0;
33 
34 protected:
35 
36  // return pin number. returns -1 if pin is not defined for this instance
37  int8_t get_pin_a() const;
38  int8_t get_pin_b() const;
39 
42 };
virtual void update()=0
static int state
Definition: Util.cpp:20
virtual ~AP_WheelEncoder_Backend(void)
Common definitions and utility routines for the ArduPilot libraries.
AP_WheelEncoder_Backend(AP_WheelEncoder &frontend, uint8_t instance, AP_WheelEncoder::WheelEncoder_State &state)
AP_WheelEncoder::WheelEncoder_State & _state