PX4 Firmware
PX4 Autopilot Software http://px4.io
output_rc.h
Go to the documentation of this file.
1 /****************************************************************************
2 *
3 * Copyright (c) 2016 PX4 Development Team. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in
13 * the documentation and/or other materials provided with the
14 * distribution.
15 * 3. Neither the name PX4 nor the names of its contributors may be
16 * used to endorse or promote products derived from this software
17 * without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
22 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
23 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
24 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
25 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
26 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
27 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
29 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30 * POSSIBILITY OF SUCH DAMAGE.
31 *
32 ****************************************************************************/
33 
34 /**
35  * @file output_rc.h
36  * @author Beat Küng <beat-kueng@gmx.net>
37  *
38  */
39 
40 #pragma once
41 
42 #include "output.h"
43 
44 #include <uORB/uORB.h>
45 
46 
47 namespace vmount
48 {
49 
50 
51 /**
52  ** class OutputRC
53  * Output via actuator_controls_2 topic
54  */
55 class OutputRC : public OutputBase
56 {
57 public:
58  OutputRC(const OutputConfig &output_config);
59  virtual ~OutputRC();
60 
61  virtual int update(const ControlData *control_data);
62 
63  virtual void print_status();
64 
65 private:
67  bool _retract_gimbal = true;
68 };
69 
70 
71 } /* namespace vmount */
orb_advert_t _actuator_controls_pub
Definition: output_rc.h:66
API for the uORB lightweight object broker.
class OutputRC Output via actuator_controls_2 topic
Definition: output_rc.h:55
Definition: common.h:45
OutputRC(const OutputConfig &output_config)
Definition: output_rc.cpp:50
virtual int update(const ControlData *control_data)
Update the output.
Definition: output_rc.cpp:61
virtual ~OutputRC()
Definition: output_rc.cpp:54
This defines the common API between an input and an output of the vmount driver.
Definition: common.h:55
__BEGIN_DECLS typedef void * orb_advert_t
ORB topic advertiser handle.
Definition: uORB.h:134
bool _retract_gimbal
Definition: output_rc.h:67
virtual void print_status()
report status to stdout
Definition: output_rc.cpp:91
class OutputBase Base class for all driver output classes
Definition: output.h:76