PX4 Firmware
PX4 Autopilot Software http://px4.io
|
Classes | |
class | BBBlueRcPWMOut |
class BBBlueRcPWMOut PWM output class for BeagleBone Blue with Robotics Cape Library More... | |
class | NavioSysfsPWMOut |
class NavioSysfsPWMOut PWM output class for Navio Sysfs More... | |
class | OcpocMmapPWMOut |
class OcpocMmapPWMOut PWM output class for Aerotenna OcPoC via mmap More... | |
class | PCA9685 |
Main class that exports features for PCA9685 chip. More... | |
class | PWMOutBase |
class PWMOutBase common abstract PWM output base class More... | |
Functions | |
static void | usage () |
static void | start () |
static void | stop () |
static void | task_main_trampoline (int argc, char *argv[]) |
static void | subscribe () |
static void | task_main (int argc, char *argv[]) |
static void | update_params (Mixer::Airmode &airmode) |
int | initialize_mixer (const char *mixer_filename) |
int | mixer_control_callback (uintptr_t handle, uint8_t control_group, uint8_t control_index, float &input) |
Variables | |
static px4_task_t | _task_handle = -1 |
volatile bool | _task_should_exit = false |
static bool | _is_running = false |
static char | _device [64] = "/sys/class/pwm/pwmchip0" |
static char | _protocol [64] = "navio" |
static int | _max_num_outputs = 8 |
maximum number of outputs the driver should use More... | |
static char | _mixer_filename [64] = "ROMFS/px4fmu_common/mixers/quad_x.main.mix" |
int | _controls_subs [actuator_controls_s::NUM_ACTUATOR_CONTROL_GROUPS] |
int | _armed_sub = -1 |
orb_advert_t | _outputs_pub = nullptr |
orb_advert_t | _rc_pub = nullptr |
perf_counter_t | _perf_control_latency = nullptr |
actuator_controls_s | _controls [actuator_controls_s::NUM_ACTUATOR_CONTROL_GROUPS] |
orb_id_t | _controls_topics [actuator_controls_s::NUM_ACTUATOR_CONTROL_GROUPS] |
actuator_outputs_s | _outputs |
actuator_armed_s | _armed |
uint8_t | _poll_fds_num = 0 |
px4_pollfd_struct_t | _poll_fds [actuator_controls_s::NUM_ACTUATOR_CONTROL_GROUPS] |
uint32_t | _groups_required = 0 |
uint32_t | _groups_subscribed = 0 |
output_limit_t | _pwm_limit |
int32_t | _pwm_disarmed |
int32_t | _pwm_min |
int32_t | _pwm_max |
MixerGroup * | _mixer_group = nullptr |
int linux_pwm_out::initialize_mixer | ( | const char * | mixer_filename | ) |
Definition at line 152 of file linux_pwm_out.cpp.
References MixerGroup::count(), MixerGroup::load_from_buf(), load_mixer_file(), and mixer_control_callback().
Referenced by task_main().
int linux_pwm_out::mixer_control_callback | ( | uintptr_t | handle, |
uint8_t | control_group, | ||
uint8_t | control_index, | ||
float & | input | ||
) |
Definition at line 129 of file linux_pwm_out.cpp.
References actuator_controls_s::control.
Referenced by initialize_mixer().
|
static |
Definition at line 460 of file linux_pwm_out.cpp.
References task_main_trampoline().
Referenced by linux_pwm_out_main().
|
static |
Definition at line 479 of file linux_pwm_out.cpp.
Referenced by linux_pwm_out_main().
|
static |
Definition at line 184 of file linux_pwm_out.cpp.
References _poll_fds_num, ORB_ID, and orb_subscribe().
Referenced by TAP_ESC::cycle(), TAP_ESC::init(), and task_main().
|
static |
Definition at line 216 of file linux_pwm_out.cpp.
References _pwm_disarmed, _pwm_max, _pwm_min, actuator_armed_s::armed, rc_channels_s::channels, actuator_controls_s::control, Mixer::disabled, f(), rc_channels_s::function, MixerGroup::groups_required(), hrt_absolute_time(), hrt_abstime, actuator_armed_s::in_esc_calibration_mode, linux_pwm_out::PWMOutBase::init(), initialize_mixer(), actuator_armed_s::lockdown, actuator_armed_s::manual_lockdown, MixerGroup::mix(), actuator_outputs_s::noutputs, orb_advertise(), orb_check(), orb_copy(), ORB_ID, orb_publish(), orb_subscribe(), orb_unsubscribe(), actuator_outputs_s::output, output_limit_calc(), output_limit_init(), OUTPUT_LIMIT_STATE_ON, PC_ELAPSED, perf_alloc, perf_free(), perf_set_elapsed(), actuator_armed_s::prearmed, px4_poll(), rc_channels, linux_pwm_out::PWMOutBase::send_output_pwm(), MixerGroup::set_airmode(), output_limit_t::state, subscribe(), actuator_outputs_s::timestamp, actuator_controls_s::timestamp_sample, and update_params().
Referenced by task_main_trampoline().
|
static |
Definition at line 455 of file linux_pwm_out.cpp.
References task_main().
Referenced by start().
|
static |
Definition at line 141 of file linux_pwm_out.cpp.
References param_find(), param_get(), and PARAM_INVALID.
Referenced by task_main().
|
static |
Definition at line 491 of file linux_pwm_out.cpp.
References linux_pwm_out_main().
Referenced by linux_pwm_out_main().
actuator_armed_s linux_pwm_out::_armed |
Definition at line 91 of file linux_pwm_out.cpp.
int linux_pwm_out::_armed_sub = -1 |
Definition at line 79 of file linux_pwm_out.cpp.
actuator_controls_s linux_pwm_out::_controls[actuator_controls_s::NUM_ACTUATOR_CONTROL_GROUPS] |
Definition at line 88 of file linux_pwm_out.cpp.
int linux_pwm_out::_controls_subs[actuator_controls_s::NUM_ACTUATOR_CONTROL_GROUPS] |
Definition at line 78 of file linux_pwm_out.cpp.
orb_id_t linux_pwm_out::_controls_topics[actuator_controls_s::NUM_ACTUATOR_CONTROL_GROUPS] |
Definition at line 89 of file linux_pwm_out.cpp.
|
static |
Definition at line 72 of file linux_pwm_out.cpp.
Referenced by linux_pwm_out_main().
uint32_t linux_pwm_out::_groups_required = 0 |
Definition at line 98 of file linux_pwm_out.cpp.
uint32_t linux_pwm_out::_groups_subscribed = 0 |
Definition at line 99 of file linux_pwm_out.cpp.
|
static |
Definition at line 70 of file linux_pwm_out.cpp.
Referenced by linux_pwm_out_main().
|
static |
maximum number of outputs the driver should use
Definition at line 74 of file linux_pwm_out.cpp.
Referenced by linux_pwm_out_main().
|
static |
Definition at line 75 of file linux_pwm_out.cpp.
Referenced by linux_pwm_out_main().
MixerGroup* linux_pwm_out::_mixer_group = nullptr |
Definition at line 108 of file linux_pwm_out.cpp.
actuator_outputs_s linux_pwm_out::_outputs |
Definition at line 90 of file linux_pwm_out.cpp.
orb_advert_t linux_pwm_out::_outputs_pub = nullptr |
Definition at line 82 of file linux_pwm_out.cpp.
perf_counter_t linux_pwm_out::_perf_control_latency = nullptr |
Definition at line 85 of file linux_pwm_out.cpp.
px4_pollfd_struct_t linux_pwm_out::_poll_fds[actuator_controls_s::NUM_ACTUATOR_CONTROL_GROUPS] |
Definition at line 95 of file linux_pwm_out.cpp.
uint8_t linux_pwm_out::_poll_fds_num = 0 |
Definition at line 94 of file linux_pwm_out.cpp.
Referenced by subscribe().
|
static |
Definition at line 73 of file linux_pwm_out.cpp.
Referenced by Mavlink::get_protocol(), linux_pwm_out_main(), and Mavlink::set_protocol().
int32_t linux_pwm_out::_pwm_disarmed |
Definition at line 104 of file linux_pwm_out.cpp.
Referenced by linux_pwm_out_main(), and task_main().
output_limit_t linux_pwm_out::_pwm_limit |
Definition at line 101 of file linux_pwm_out.cpp.
int32_t linux_pwm_out::_pwm_max |
Definition at line 106 of file linux_pwm_out.cpp.
Referenced by linux_pwm_out_main(), and task_main().
int32_t linux_pwm_out::_pwm_min |
Definition at line 105 of file linux_pwm_out.cpp.
Referenced by linux_pwm_out_main(), and task_main().
orb_advert_t linux_pwm_out::_rc_pub = nullptr |
Definition at line 83 of file linux_pwm_out.cpp.
|
static |
Definition at line 68 of file linux_pwm_out.cpp.
volatile bool linux_pwm_out::_task_should_exit = false |
Definition at line 69 of file linux_pwm_out.cpp.