APM:Libraries
|
#include <RCOutput_Bebop.h>
Public Member Functions | |
RCOutput_Bebop (AP_HAL::OwnPtr< AP_HAL::I2CDevice > dev) | |
void | init () override |
void | set_freq (uint32_t chmask, uint16_t freq_hz) override |
uint16_t | get_freq (uint8_t ch) override |
void | enable_ch (uint8_t ch) override |
void | disable_ch (uint8_t ch) override |
void | write (uint8_t ch, uint16_t period_us) override |
void | cork () override |
void | push () override |
uint16_t | read (uint8_t ch) override |
void | read (uint16_t *period_us, uint8_t len) override |
void | set_esc_scaling (uint16_t min_pwm, uint16_t max_pwm) override |
int | read_obs_data (BebopBLDC_ObsData &data) |
void | play_note (uint8_t pwm, uint16_t period_us, uint16_t duration_ms) |
![]() | |
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 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) |
Static Public Member Functions | |
static RCOutput_Bebop * | from (AP_HAL::RCOutput *rcout) |
Private Member Functions | |
uint8_t | _checksum (uint8_t *data, unsigned int len) |
void | _start_prop () |
void | _toggle_gpio (uint8_t mask) |
void | _set_ref_speed (uint16_t rpm[BEBOP_BLDC_MOTORS_NUM]) |
bool | _get_info (struct bldc_info *info) |
void | _stop_prop () |
void | _clear_error () |
void | _play_sound (uint8_t sound) |
uint16_t | _period_us_to_rpm (uint16_t period_us) |
void | _run_rcout () |
Static Private Member Functions | |
static void * | _control_thread (void *arg) |
Private Attributes | |
AP_HAL::OwnPtr< AP_HAL::I2CDevice > | _dev |
uint16_t | _request_period_us [BEBOP_BLDC_MOTORS_NUM] |
uint16_t | _period_us [BEBOP_BLDC_MOTORS_NUM] |
uint16_t | _rpm [BEBOP_BLDC_MOTORS_NUM] |
uint16_t | _frequency |
uint16_t | _min_pwm |
uint16_t | _max_pwm |
uint8_t | _n_motors =4 |
uint8_t | _state |
bool | _corking = false |
uint16_t | _max_rpm |
pthread_t | _thread |
pthread_mutex_t | _mutex |
pthread_cond_t | _cond |
Additional Inherited Members | |
![]() | |
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 } |
Definition at line 56 of file RCOutput_Bebop.h.
RCOutput_Bebop::RCOutput_Bebop | ( | AP_HAL::OwnPtr< AP_HAL::I2CDevice > | dev | ) |
Definition at line 86 of file RCOutput_Bebop.cpp.
|
private |
Definition at line 97 of file RCOutput_Bebop.cpp.
Referenced by _set_ref_speed(), and read_obs_data().
|
private |
Definition at line 264 of file RCOutput_Bebop.cpp.
Referenced by _run_rcout(), and init().
|
staticprivate |
Definition at line 455 of file RCOutput_Bebop.cpp.
Referenced by init().
|
private |
Definition at line 150 of file RCOutput_Bebop.cpp.
Referenced by _run_rcout().
|
private |
Definition at line 320 of file RCOutput_Bebop.cpp.
Referenced by _run_rcout(), and read_obs_data().
|
private |
|
private |
Definition at line 462 of file RCOutput_Bebop.cpp.
Referenced by _control_thread().
|
private |
Definition at line 122 of file RCOutput_Bebop.cpp.
Referenced by _run_rcout().
|
private |
Definition at line 108 of file RCOutput_Bebop.cpp.
Referenced by _run_rcout().
|
private |
Definition at line 252 of file RCOutput_Bebop.cpp.
Referenced by _run_rcout(), and disable_ch().
|
private |
Definition at line 242 of file RCOutput_Bebop.cpp.
Referenced by init().
|
overridevirtual |
Implements AP_HAL::RCOutput.
Definition at line 414 of file RCOutput_Bebop.cpp.
Referenced by Linux::RCOutput_Disco::cork().
|
overridevirtual |
Implements AP_HAL::RCOutput.
Definition at line 396 of file RCOutput_Bebop.cpp.
|
overridevirtual |
Implements AP_HAL::RCOutput.
Definition at line 392 of file RCOutput_Bebop.cpp.
|
inlinestatic |
Definition at line 60 of file RCOutput_Bebop.h.
Referenced by AP_BattMonitor_Bebop::read().
|
overridevirtual |
Implements AP_HAL::RCOutput.
Definition at line 387 of file RCOutput_Bebop.cpp.
|
overridevirtual |
Implements AP_HAL::RCOutput.
Definition at line 330 of file RCOutput_Bebop.cpp.
Referenced by Linux::RCOutput_Disco::init().
void RCOutput_Bebop::play_note | ( | uint8_t | pwm, |
uint16_t | period_us, | ||
uint16_t | duration_ms | ||
) |
Definition at line 292 of file RCOutput_Bebop.cpp.
Referenced by Linux::ToneAlarm_Disco::play(), and Linux::ToneAlarm_Disco::stop().
|
overridevirtual |
Implements AP_HAL::RCOutput.
Definition at line 419 of file RCOutput_Bebop.cpp.
Referenced by Linux::RCOutput_Disco::push(), and write().
|
overridevirtual |
Implements AP_HAL::RCOutput.
Definition at line 432 of file RCOutput_Bebop.cpp.
Referenced by read().
|
overridevirtual |
Implements AP_HAL::RCOutput.
Definition at line 441 of file RCOutput_Bebop.cpp.
int RCOutput_Bebop::read_obs_data | ( | BebopBLDC_ObsData & | data | ) |
|
overridevirtual |
Reimplemented from AP_HAL::RCOutput.
Definition at line 448 of file RCOutput_Bebop.cpp.
Referenced by Linux::RCOutput_Disco::set_esc_scaling().
|
overridevirtual |
Implements AP_HAL::RCOutput.
Definition at line 382 of file RCOutput_Bebop.cpp.
|
overridevirtual |
Implements AP_HAL::RCOutput.
Definition at line 401 of file RCOutput_Bebop.cpp.
|
private |
Definition at line 104 of file RCOutput_Bebop.h.
Referenced by _run_rcout(), init(), and push().
|
private |
Definition at line 88 of file RCOutput_Bebop.h.
|
private |
Definition at line 79 of file RCOutput_Bebop.h.
Referenced by _clear_error(), _get_info(), _play_sound(), _set_ref_speed(), _start_prop(), _stop_prop(), _toggle_gpio(), play_note(), and read_obs_data().
|
private |
Definition at line 83 of file RCOutput_Bebop.h.
Referenced by get_freq(), init(), and set_freq().
|
private |
Definition at line 85 of file RCOutput_Bebop.h.
Referenced by _period_us_to_rpm(), and set_esc_scaling().
|
private |
Definition at line 89 of file RCOutput_Bebop.h.
Referenced by _period_us_to_rpm(), and _run_rcout().
|
private |
Definition at line 84 of file RCOutput_Bebop.h.
Referenced by _period_us_to_rpm(), _run_rcout(), and set_esc_scaling().
|
private |
Definition at line 103 of file RCOutput_Bebop.h.
Referenced by _run_rcout(), init(), and push().
|
private |
Definition at line 86 of file RCOutput_Bebop.h.
Referenced by _run_rcout(), and read_obs_data().
|
private |
Definition at line 81 of file RCOutput_Bebop.h.
Referenced by _run_rcout(), push(), RCOutput_Bebop(), read(), and read_obs_data().
|
private |
Definition at line 80 of file RCOutput_Bebop.h.
Referenced by push(), RCOutput_Bebop(), and write().
|
private |
Definition at line 82 of file RCOutput_Bebop.h.
Referenced by _run_rcout(), RCOutput_Bebop(), and read_obs_data().
|
private |
Definition at line 87 of file RCOutput_Bebop.h.
Referenced by _run_rcout(), _start_prop(), and read_obs_data().
|
private |
Definition at line 102 of file RCOutput_Bebop.h.
Referenced by init().