PX4 Firmware
PX4 Autopilot Software http://px4.io
|
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
#include <sys/types.h>
#include <fcntl.h>
#include <unistd.h>
#include <systemlib/err.h>
#include <lib/parameters/param.h>
#include <px4_platform_common/defines.h>
#include <px4_platform_common/tasks.h>
#include "input_mavlink.h"
#include "input_rc.h"
#include "input_test.h"
#include "output_rc.h"
#include "output_mavlink.h"
#include <uORB/Subscription.hpp>
#include <uORB/topics/parameter_update.h>
#include <px4_platform_common/px4_config.h>
#include <px4_platform_common/module.h>
Go to the source code of this file.
Classes | |
struct | ThreadData |
struct | Parameters |
struct | ParameterHandles |
Functions | |
static void | usage () |
static void | update_params (ParameterHandles ¶m_handles, Parameters ¶ms, bool &got_changes) |
static bool | get_params (ParameterHandles ¶m_handles, Parameters ¶ms) |
static int | vmount_thread_main (int argc, char *argv[]) |
__EXPORT int | vmount_main (int argc, char *argv[]) |
The main command function. More... | |
Variables | |
static volatile bool | thread_should_exit = false |
static volatile bool | thread_running = false |
static constexpr int | input_objs_len_max = 3 |
static volatile ThreadData * | g_thread_data = nullptr |
Driver for to control mounts such as gimbals or servos. Inputs for the mounts can RC and/or mavlink commands. Outputs to the mounts can be RC (PWM) output or mavlink.
Definition in file vmount.cpp.
|
static |
Definition at line 548 of file vmount.cpp.
References ParameterHandles::mnt_do_stab, ParameterHandles::mnt_man_pitch, ParameterHandles::mnt_man_roll, ParameterHandles::mnt_man_yaw, ParameterHandles::mnt_mav_compid, ParameterHandles::mnt_mav_sysid, ParameterHandles::mnt_mode_in, ParameterHandles::mnt_mode_out, ParameterHandles::mnt_ob_lock_mode, ParameterHandles::mnt_ob_norm_mode, ParameterHandles::mnt_off_pitch, ParameterHandles::mnt_off_roll, ParameterHandles::mnt_off_yaw, ParameterHandles::mnt_range_pitch, ParameterHandles::mnt_range_roll, ParameterHandles::mnt_range_yaw, param_find(), PARAM_INVALID, and update_params().
Referenced by vmount_thread_main().
|
static |
Definition at line 525 of file vmount.cpp.
References Parameters::mnt_do_stab, ParameterHandles::mnt_do_stab, Parameters::mnt_man_pitch, ParameterHandles::mnt_man_pitch, Parameters::mnt_man_roll, ParameterHandles::mnt_man_roll, Parameters::mnt_man_yaw, ParameterHandles::mnt_man_yaw, Parameters::mnt_mav_compid, ParameterHandles::mnt_mav_compid, Parameters::mnt_mav_sysid, ParameterHandles::mnt_mav_sysid, Parameters::mnt_mode_in, ParameterHandles::mnt_mode_in, Parameters::mnt_mode_out, ParameterHandles::mnt_mode_out, Parameters::mnt_ob_lock_mode, ParameterHandles::mnt_ob_lock_mode, Parameters::mnt_ob_norm_mode, ParameterHandles::mnt_ob_norm_mode, Parameters::mnt_off_pitch, ParameterHandles::mnt_off_pitch, Parameters::mnt_off_roll, ParameterHandles::mnt_off_roll, Parameters::mnt_off_yaw, ParameterHandles::mnt_off_yaw, Parameters::mnt_range_pitch, ParameterHandles::mnt_range_pitch, Parameters::mnt_range_roll, ParameterHandles::mnt_range_roll, Parameters::mnt_range_yaw, ParameterHandles::mnt_range_yaw, and param_get().
Referenced by UavcanNode::attachITxQueueInjector(), get_params(), and vmount_thread_main().
|
static |
Definition at line 591 of file vmount.cpp.
Referenced by vmount_main(), and vmount_thread_main().
int vmount_main | ( | int | argc, |
char * | argv[] | ||
) |
The main command function.
Processes command line arguments and starts the daemon.
Definition at line 427 of file vmount.cpp.
References counter, ThreadData::input_objs, ThreadData::input_objs_len, ThreadData::output_obj, vmount::InputBase::print_status(), vmount::OutputBase::print_status(), thread_running, thread_should_exit, usage(), and vmount_thread_main().
|
static |
Definition at line 157 of file vmount.cpp.
References vmount::InputTest::finished(), get_params(), vmount::OutputConfig::gimbal_normal_mode_value, vmount::OutputConfig::gimbal_retracted_mode_value, vmount::OutputBase::initialize(), ThreadData::input_objs, ThreadData::input_objs_len, input_objs_len_max, vmount::OutputConfig::mavlink_comp_id, vmount::OutputConfig::mavlink_sys_id, ORB_ID, ThreadData::output_obj, vmount::OutputConfig::pitch_offset, vmount::OutputConfig::pitch_scale, vmount::OutputBase::publish(), vmount::OutputConfig::roll_offset, vmount::OutputConfig::roll_scale, thread_running, thread_should_exit, vmount::InputBase::update(), vmount::OutputBase::update(), update_params(), usage(), vmount::OutputConfig::yaw_offset, and vmount::OutputConfig::yaw_scale.
Referenced by vmount_main().
|
static |
Definition at line 84 of file vmount.cpp.
|
static |
Definition at line 77 of file vmount.cpp.
Referenced by vmount_thread_main().
|
static |
Definition at line 75 of file vmount.cpp.
Referenced by vmount_main(), and vmount_thread_main().
|
static |
Definition at line 74 of file vmount.cpp.
Referenced by vmount_main(), and vmount_thread_main().