APM:Libraries
Public Types | Public Member Functions | List of all members
AP_HAL::RCOutput Class Referenceabstract

#include <RCOutput.h>

Inheritance diagram for AP_HAL::RCOutput:
[legend]

Public Types

enum  output_mode {
  MODE_PWM_NONE, MODE_PWM_NORMAL, MODE_PWM_ONESHOT, MODE_PWM_ONESHOT125,
  MODE_PWM_BRUSHED, MODE_PWM_DSHOT150, MODE_PWM_DSHOT300, MODE_PWM_DSHOT600,
  MODE_PWM_DSHOT1200
}
 

Public Member Functions

virtual void init ()=0
 
virtual void set_freq (uint32_t chmask, uint16_t freq_hz)=0
 
virtual uint16_t get_freq (uint8_t ch)=0
 
virtual void enable_ch (uint8_t ch)=0
 
virtual void disable_ch (uint8_t ch)=0
 
virtual void write (uint8_t ch, uint16_t period_us)=0
 
virtual void cork ()=0
 
virtual void push ()=0
 
virtual uint16_t read (uint8_t ch)=0
 
virtual void read (uint16_t *period_us, uint8_t len)=0
 
virtual uint16_t read_last_sent (uint8_t ch)
 
virtual void read_last_sent (uint16_t *period_us, uint8_t len)
 
virtual void set_safety_pwm (uint32_t chmask, uint16_t period_us)
 
virtual void set_failsafe_pwm (uint32_t chmask, uint16_t period_us)
 
virtual bool force_safety_on (void)
 
virtual void force_safety_off (void)
 
virtual void force_safety_no_wait (void)
 
virtual void set_esc_scaling (uint16_t min_pwm, uint16_t max_pwm)
 
virtual bool get_esc_scaling (uint16_t &min_pwm, uint16_t &max_pwm)
 
virtual float scale_esc_to_unity (uint16_t pwm)
 
virtual bool enable_px4io_sbus_out (uint16_t rate_hz)
 
virtual void timer_tick (void)
 
virtual bool serial_setup_output (uint8_t chan, uint32_t baudrate)
 
virtual bool serial_write_bytes (const uint8_t *bytes, uint16_t len)
 
virtual uint16_t serial_read_bytes (uint8_t *buf, uint16_t len)
 
virtual void serial_end (void)
 
virtual void set_output_mode (uint16_t mask, enum output_mode mode)
 
virtual void set_default_rate (uint16_t rate_hz)
 
virtual void set_telem_request_mask (uint16_t mask)
 

Detailed Description

Definition at line 34 of file RCOutput.h.

Member Enumeration Documentation

◆ output_mode

Enumerator
MODE_PWM_NONE 
MODE_PWM_NORMAL 
MODE_PWM_ONESHOT 
MODE_PWM_ONESHOT125 
MODE_PWM_BRUSHED 
MODE_PWM_DSHOT150 
MODE_PWM_DSHOT300 
MODE_PWM_DSHOT600 
MODE_PWM_DSHOT1200 

Definition at line 169 of file RCOutput.h.

Member Function Documentation

◆ cork()

virtual void AP_HAL::RCOutput::cork ( )
pure virtual

Implemented in ap::RCOutput_Tap, Linux::RCOutput_Bebop, Linux::RCOutput_AeroIO, F4Light::RCOutput, ChibiOS::RCOutput, PX4::PX4RCOutput, Linux::RCOutput_AioPRU, VRBRAIN::VRBRAINRCOutput, Linux::RCOutput_Disco, Linux::RCOutput_PCA9685, Linux::RCOutput_PRU, Linux::RCOutput_Sysfs, Linux::RCOutput_ZYNQ, HALSITL::RCOutput, and Empty::RCOutput.

Referenced by SRV_Channels::cork().

Here is the caller graph for this function:

◆ disable_ch()

virtual void AP_HAL::RCOutput::disable_ch ( uint8_t  ch)
pure virtual

◆ enable_ch()

virtual void AP_HAL::RCOutput::enable_ch ( uint8_t  ch)
pure virtual

◆ enable_px4io_sbus_out()

virtual bool AP_HAL::RCOutput::enable_px4io_sbus_out ( uint16_t  rate_hz)
inlinevirtual

Reimplemented in ChibiOS::RCOutput, PX4::PX4RCOutput, and VRBRAIN::VRBRAINRCOutput.

Definition at line 126 of file RCOutput.h.

Referenced by AP_BoardConfig::board_setup_sbus().

Here is the caller graph for this function:

◆ force_safety_no_wait()

virtual void AP_HAL::RCOutput::force_safety_no_wait ( void  )
inlinevirtual

Reimplemented in PX4::PX4RCOutput, and VRBRAIN::VRBRAINRCOutput.

Definition at line 103 of file RCOutput.h.

Referenced by AP_BoardConfig::board_init_safety(), GCS_MAVLINK::handle_preflight_reboot(), VRBRAIN::VRBRAINScheduler::reboot(), PX4::PX4Scheduler::reboot(), and ChibiOS::Scheduler::reboot().

Here is the caller graph for this function:

◆ force_safety_off()

virtual void AP_HAL::RCOutput::force_safety_off ( void  )
inlinevirtual

Reimplemented in ChibiOS::RCOutput, PX4::PX4RCOutput, and VRBRAIN::VRBRAINRCOutput.

Definition at line 98 of file RCOutput.h.

Referenced by GCS_MAVLINK::_set_mode_common(), AP_BoardConfig::board_init_safety(), and RC_UART::loop().

Here is the caller graph for this function:

◆ force_safety_on()

virtual bool AP_HAL::RCOutput::force_safety_on ( void  )
inlinevirtual

Reimplemented in ChibiOS::RCOutput, PX4::PX4RCOutput, and VRBRAIN::VRBRAINRCOutput.

Definition at line 93 of file RCOutput.h.

Referenced by GCS_MAVLINK::_set_mode_common(), GCS_MAVLINK::handle_preflight_reboot(), PX4::PX4Scheduler::reboot(), VRBRAIN::VRBRAINScheduler::reboot(), and ChibiOS::Scheduler::reboot().

Here is the caller graph for this function:

◆ get_esc_scaling()

virtual bool AP_HAL::RCOutput::get_esc_scaling ( uint16_t &  min_pwm,
uint16_t &  max_pwm 
)
inlinevirtual

Reimplemented in ChibiOS::RCOutput, and PX4::PX4RCOutput.

Definition at line 116 of file RCOutput.h.

◆ get_freq()

virtual uint16_t AP_HAL::RCOutput::get_freq ( uint8_t  ch)
pure virtual

◆ init()

virtual void AP_HAL::RCOutput::init ( )
pure virtual

◆ push()

virtual void AP_HAL::RCOutput::push ( )
pure virtual

Implemented in ap::RCOutput_Tap, Linux::RCOutput_Bebop, Linux::RCOutput_AeroIO, F4Light::RCOutput, ChibiOS::RCOutput, PX4::PX4RCOutput, Linux::RCOutput_AioPRU, VRBRAIN::VRBRAINRCOutput, Linux::RCOutput_Disco, Linux::RCOutput_PCA9685, Linux::RCOutput_PRU, Linux::RCOutput_Sysfs, Linux::RCOutput_ZYNQ, HALSITL::RCOutput, and Empty::RCOutput.

Referenced by SRV_Channels::push().

Here is the caller graph for this function:

◆ read() [1/2]

virtual uint16_t AP_HAL::RCOutput::read ( uint8_t  ch)
pure virtual

◆ read() [2/2]

virtual void AP_HAL::RCOutput::read ( uint16_t *  period_us,
uint8_t  len 
)
pure virtual

◆ read_last_sent() [1/2]

virtual uint16_t AP_HAL::RCOutput::read_last_sent ( uint8_t  ch)
inlinevirtual

Reimplemented in ChibiOS::RCOutput, PX4::PX4RCOutput, and VRBRAIN::VRBRAINRCOutput.

Definition at line 74 of file RCOutput.h.

Referenced by SRV_Channels::limit_slew_rate(), and Compass_PerMotor::scaled_output().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ read_last_sent() [2/2]

virtual void AP_HAL::RCOutput::read_last_sent ( uint16_t *  period_us,
uint8_t  len 
)
inlinevirtual

Reimplemented in ChibiOS::RCOutput, PX4::PX4RCOutput, and VRBRAIN::VRBRAINRCOutput.

Definition at line 75 of file RCOutput.h.

Here is the call graph for this function:

◆ scale_esc_to_unity()

virtual float AP_HAL::RCOutput::scale_esc_to_unity ( uint16_t  pwm)
inlinevirtual

Reimplemented in ChibiOS::RCOutput, PX4::PX4RCOutput, and VRBRAIN::VRBRAINRCOutput.

Definition at line 121 of file RCOutput.h.

Referenced by Compass_PerMotor::scaled_output().

Here is the caller graph for this function:

◆ serial_end()

virtual void AP_HAL::RCOutput::serial_end ( void  )
inlinevirtual

Reimplemented in ChibiOS::RCOutput.

Definition at line 164 of file RCOutput.h.

◆ serial_read_bytes()

virtual uint16_t AP_HAL::RCOutput::serial_read_bytes ( uint8_t *  buf,
uint16_t  len 
)
inlinevirtual

Reimplemented in ChibiOS::RCOutput.

Definition at line 157 of file RCOutput.h.

◆ serial_setup_output()

virtual bool AP_HAL::RCOutput::serial_setup_output ( uint8_t  chan,
uint32_t  baudrate 
)
inlinevirtual

Reimplemented in ChibiOS::RCOutput.

Definition at line 145 of file RCOutput.h.

◆ serial_write_bytes()

virtual bool AP_HAL::RCOutput::serial_write_bytes ( const uint8_t *  bytes,
uint16_t  len 
)
inlinevirtual

Reimplemented in ChibiOS::RCOutput.

Definition at line 151 of file RCOutput.h.

◆ set_default_rate()

virtual void AP_HAL::RCOutput::set_default_rate ( uint16_t  rate_hz)
inlinevirtual

Reimplemented in ChibiOS::RCOutput, PX4::PX4RCOutput, and VRBRAIN::VRBRAINRCOutput.

Definition at line 185 of file RCOutput.h.

Referenced by SRV_Channels::enable_aux_servos().

Here is the caller graph for this function:

◆ set_esc_scaling()

virtual void AP_HAL::RCOutput::set_esc_scaling ( uint16_t  min_pwm,
uint16_t  max_pwm 
)
inlinevirtual

Reimplemented in Linux::RCOutput_Bebop, ap::RCOutput_Tap, ChibiOS::RCOutput, Linux::RCOutput_Disco, PX4::PX4RCOutput, and VRBRAIN::VRBRAINRCOutput.

Definition at line 111 of file RCOutput.h.

Referenced by Linux::RCOutput_Disco::set_esc_scaling(), SRV_Channels::set_esc_scaling_for(), and AP_MotorsMulticopter::set_throttle_range().

Here is the caller graph for this function:

◆ set_failsafe_pwm()

virtual void AP_HAL::RCOutput::set_failsafe_pwm ( uint32_t  chmask,
uint16_t  period_us 
)
inlinevirtual

Reimplemented in PX4::PX4RCOutput, and VRBRAIN::VRBRAINRCOutput.

Definition at line 86 of file RCOutput.h.

Referenced by SRV_Channels::set_failsafe_limit(), SRV_Channels::set_failsafe_pwm(), and SRV_Channels::setup_failsafe_trim_all().

Here is the caller graph for this function:

◆ set_freq()

virtual void AP_HAL::RCOutput::set_freq ( uint32_t  chmask,
uint16_t  freq_hz 
)
pure virtual

◆ set_output_mode()

virtual void AP_HAL::RCOutput::set_output_mode ( uint16_t  mask,
enum output_mode  mode 
)
inlinevirtual

Reimplemented in F4Light::RCOutput, ChibiOS::RCOutput, PX4::PX4RCOutput, and VRBRAIN::VRBRAINRCOutput.

Definition at line 180 of file RCOutput.h.

Referenced by AP_Motors::rc_set_freq().

Here is the caller graph for this function:

◆ set_safety_pwm()

virtual void AP_HAL::RCOutput::set_safety_pwm ( uint32_t  chmask,
uint16_t  period_us 
)
inlinevirtual

Reimplemented in ChibiOS::RCOutput, PX4::PX4RCOutput, and VRBRAIN::VRBRAINRCOutput.

Definition at line 81 of file RCOutput.h.

Referenced by SRV_Channels::set_safety_limit().

Here is the caller graph for this function:

◆ set_telem_request_mask()

virtual void AP_HAL::RCOutput::set_telem_request_mask ( uint16_t  mask)
inlinevirtual

Reimplemented in ChibiOS::RCOutput.

Definition at line 191 of file RCOutput.h.

◆ timer_tick()

virtual void AP_HAL::RCOutput::timer_tick ( void  )
inlinevirtual

Reimplemented in ChibiOS::RCOutput, PX4::PX4RCOutput, and VRBRAIN::VRBRAINRCOutput.

Definition at line 132 of file RCOutput.h.

Referenced by VRBRAIN::VRBRAINScheduler::_timer_thread(), PX4::PX4Scheduler::_timer_thread(), and ChibiOS::Scheduler::_timer_thread().

Here is the caller graph for this function:

◆ write()

virtual void AP_HAL::RCOutput::write ( uint8_t  ch,
uint16_t  period_us 
)
pure virtual

The documentation for this class was generated from the following file: