mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-06-01 19:07:45 +08:00
Merged public master
This commit is contained in:
+10
-7
@@ -23,10 +23,13 @@ Firmware.sublime-workspace
|
|||||||
Images/*.bin
|
Images/*.bin
|
||||||
Images/*.px4
|
Images/*.px4
|
||||||
mavlink/include/mavlink/v0.9/
|
mavlink/include/mavlink/v0.9/
|
||||||
NuttX
|
/nuttx-configs/px4io-v2/src/.depend
|
||||||
nuttx-configs/px4io-v2/src/.depend
|
/nuttx-configs/px4io-v2/src/Make.dep
|
||||||
nuttx-configs/px4io-v2/src/Make.dep
|
/nuttx-configs/px4io-v2/src/libboard.a
|
||||||
nuttx-configs/px4io-v2/src/libboard.a
|
/nuttx-configs/px4io-v1/src/.depend
|
||||||
nuttx-configs/px4io-v1/src/.depend
|
/nuttx-configs/px4io-v1/src/Make.dep
|
||||||
nuttx-configs/px4io-v1/src/Make.dep
|
/nuttx-configs/px4io-v1/src/libboard.a
|
||||||
nuttx-configs/px4io-v1/src/libboard.a
|
/NuttX
|
||||||
|
/Documentation/doxy.log
|
||||||
|
/Documentation/html/
|
||||||
|
/Documentation/doxygen*objdb*tmp
|
||||||
|
|||||||
@@ -429,19 +429,19 @@ SORT_BY_SCOPE_NAME = NO
|
|||||||
# disable (NO) the todo list. This list is created by putting \todo
|
# disable (NO) the todo list. This list is created by putting \todo
|
||||||
# commands in the documentation.
|
# commands in the documentation.
|
||||||
|
|
||||||
GENERATE_TODOLIST = YES
|
GENERATE_TODOLIST = NO
|
||||||
|
|
||||||
# The GENERATE_TESTLIST tag can be used to enable (YES) or
|
# The GENERATE_TESTLIST tag can be used to enable (YES) or
|
||||||
# disable (NO) the test list. This list is created by putting \test
|
# disable (NO) the test list. This list is created by putting \test
|
||||||
# commands in the documentation.
|
# commands in the documentation.
|
||||||
|
|
||||||
GENERATE_TESTLIST = YES
|
GENERATE_TESTLIST = NO
|
||||||
|
|
||||||
# The GENERATE_BUGLIST tag can be used to enable (YES) or
|
# The GENERATE_BUGLIST tag can be used to enable (YES) or
|
||||||
# disable (NO) the bug list. This list is created by putting \bug
|
# disable (NO) the bug list. This list is created by putting \bug
|
||||||
# commands in the documentation.
|
# commands in the documentation.
|
||||||
|
|
||||||
GENERATE_BUGLIST = YES
|
GENERATE_BUGLIST = NO
|
||||||
|
|
||||||
# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
|
# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
|
||||||
# disable (NO) the deprecated list. This list is created by putting
|
# disable (NO) the deprecated list. This list is created by putting
|
||||||
@@ -569,7 +569,7 @@ WARN_LOGFILE = doxy.log
|
|||||||
# directories like "/usr/src/myproject". Separate the files or directories
|
# directories like "/usr/src/myproject". Separate the files or directories
|
||||||
# with spaces.
|
# with spaces.
|
||||||
|
|
||||||
INPUT = ../apps
|
INPUT = ../src
|
||||||
|
|
||||||
# This tag can be used to specify the character encoding of the source files
|
# This tag can be used to specify the character encoding of the source files
|
||||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
|
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
|
||||||
@@ -599,9 +599,8 @@ RECURSIVE = YES
|
|||||||
# excluded from the INPUT source files. This way you can easily exclude a
|
# excluded from the INPUT source files. This way you can easily exclude a
|
||||||
# subdirectory from a directory tree whose root is specified with the INPUT tag.
|
# subdirectory from a directory tree whose root is specified with the INPUT tag.
|
||||||
|
|
||||||
EXCLUDE = ../dist/ \
|
EXCLUDE = ../src/modules/mathlib/CMSIS \
|
||||||
../docs/html/ \
|
../src/modules/attitude_estimator_ekf/codegen
|
||||||
html
|
|
||||||
|
|
||||||
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
|
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
|
||||||
# directories that are symbolic links (a Unix filesystem feature) are excluded
|
# directories that are symbolic links (a Unix filesystem feature) are excluded
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -118,11 +118,8 @@ ORB_DECLARE(output_pwm);
|
|||||||
/** start DSM bind */
|
/** start DSM bind */
|
||||||
#define DSM_BIND_START _IOC(_PWM_SERVO_BASE, 7)
|
#define DSM_BIND_START _IOC(_PWM_SERVO_BASE, 7)
|
||||||
|
|
||||||
/** stop DSM bind */
|
|
||||||
#define DSM_BIND_STOP _IOC(_PWM_SERVO_BASE, 8)
|
|
||||||
|
|
||||||
/** Power up DSM receiver */
|
/** Power up DSM receiver */
|
||||||
#define DSM_BIND_POWER_UP _IOC(_PWM_SERVO_BASE, 9)
|
#define DSM_BIND_POWER_UP _IOC(_PWM_SERVO_BASE, 8)
|
||||||
|
|
||||||
/** set a single servo to a specific value */
|
/** set a single servo to a specific value */
|
||||||
#define PWM_SERVO_SET(_servo) _IOC(_PWM_SERVO_BASE, 0x20 + _servo)
|
#define PWM_SERVO_SET(_servo) _IOC(_PWM_SERVO_BASE, 0x20 + _servo)
|
||||||
|
|||||||
+34
-27
@@ -194,6 +194,12 @@ private:
|
|||||||
|
|
||||||
bool _dsm_vcc_ctl;
|
bool _dsm_vcc_ctl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* System armed
|
||||||
|
*/
|
||||||
|
|
||||||
|
bool _system_armed;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Trampoline to the worker task
|
* Trampoline to the worker task
|
||||||
*/
|
*/
|
||||||
@@ -363,7 +369,8 @@ PX4IO::PX4IO(device::Device *interface) :
|
|||||||
_battery_amp_bias(0),
|
_battery_amp_bias(0),
|
||||||
_battery_mamphour_total(0),
|
_battery_mamphour_total(0),
|
||||||
_battery_last_timestamp(0),
|
_battery_last_timestamp(0),
|
||||||
_dsm_vcc_ctl(false)
|
_dsm_vcc_ctl(false),
|
||||||
|
_system_armed(false)
|
||||||
{
|
{
|
||||||
/* we need this potentially before it could be set in task_main */
|
/* we need this potentially before it could be set in task_main */
|
||||||
g_dev = this;
|
g_dev = this;
|
||||||
@@ -580,9 +587,11 @@ void
|
|||||||
PX4IO::task_main()
|
PX4IO::task_main()
|
||||||
{
|
{
|
||||||
hrt_abstime last_poll_time = 0;
|
hrt_abstime last_poll_time = 0;
|
||||||
|
int mavlink_fd = ::open(MAVLINK_LOG_DEVICE, 0);
|
||||||
|
|
||||||
log("starting");
|
log("starting");
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Subscribe to the appropriate PWM output topic based on whether we are the
|
* Subscribe to the appropriate PWM output topic based on whether we are the
|
||||||
* primary PWM output or not.
|
* primary PWM output or not.
|
||||||
@@ -690,6 +699,25 @@ PX4IO::task_main()
|
|||||||
*/
|
*/
|
||||||
if (fds[3].revents & POLLIN) {
|
if (fds[3].revents & POLLIN) {
|
||||||
parameter_update_s pupdate;
|
parameter_update_s pupdate;
|
||||||
|
int32_t dsm_bind_val;
|
||||||
|
param_t dsm_bind_param;
|
||||||
|
|
||||||
|
// See if bind parameter has been set, and reset it to 0
|
||||||
|
param_get(dsm_bind_param = param_find("RC_DSM_BIND"), &dsm_bind_val);
|
||||||
|
if (dsm_bind_val) {
|
||||||
|
if (!_system_armed) {
|
||||||
|
if ((dsm_bind_val == 1) || (dsm_bind_val == 2)) {
|
||||||
|
mavlink_log_info(mavlink_fd, "[IO] binding dsm%c rx", dsm_bind_val == 1 ? '2' : 'x');
|
||||||
|
ioctl(nullptr, DSM_BIND_START, dsm_bind_val == 1 ? 3 : 7);
|
||||||
|
} else {
|
||||||
|
mavlink_log_info(mavlink_fd, "[IO] invalid bind type, bind request rejected");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
mavlink_log_info(mavlink_fd, "[IO] system armed, bind request rejected");
|
||||||
|
}
|
||||||
|
dsm_bind_val = 0;
|
||||||
|
param_set(dsm_bind_param, &dsm_bind_val);
|
||||||
|
}
|
||||||
|
|
||||||
/* copy to reset the notification */
|
/* copy to reset the notification */
|
||||||
orb_copy(ORB_ID(parameter_update), _t_param, &pupdate);
|
orb_copy(ORB_ID(parameter_update), _t_param, &pupdate);
|
||||||
@@ -756,6 +784,8 @@ PX4IO::io_set_arming_state()
|
|||||||
uint16_t set = 0;
|
uint16_t set = 0;
|
||||||
uint16_t clear = 0;
|
uint16_t clear = 0;
|
||||||
|
|
||||||
|
_system_armed = vstatus.flag_system_armed;
|
||||||
|
|
||||||
if (armed.armed && !armed.lockdown) {
|
if (armed.armed && !armed.lockdown) {
|
||||||
set |= PX4IO_P_SETUP_ARMING_FMU_ARMED;
|
set |= PX4IO_P_SETUP_ARMING_FMU_ARMED;
|
||||||
} else {
|
} else {
|
||||||
@@ -1452,16 +1482,11 @@ PX4IO::ioctl(file * /*filep*/, int cmd, unsigned long arg)
|
|||||||
io_reg_set(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_DSM, dsm_bind_power_down);
|
io_reg_set(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_DSM, dsm_bind_power_down);
|
||||||
usleep(500000);
|
usleep(500000);
|
||||||
io_reg_set(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_DSM, dsm_bind_set_rx_out);
|
io_reg_set(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_DSM, dsm_bind_set_rx_out);
|
||||||
usleep(1000);
|
|
||||||
io_reg_set(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_DSM, dsm_bind_power_up);
|
io_reg_set(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_DSM, dsm_bind_power_up);
|
||||||
usleep(100000);
|
usleep(50000);
|
||||||
io_reg_set(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_DSM, dsm_bind_send_pulses | (arg << 4));
|
io_reg_set(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_DSM, dsm_bind_send_pulses | (arg << 4));
|
||||||
break;
|
usleep(50000);
|
||||||
|
|
||||||
case DSM_BIND_STOP:
|
|
||||||
io_reg_set(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_DSM, dsm_bind_power_down);
|
|
||||||
io_reg_set(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_DSM, dsm_bind_reinit_uart);
|
io_reg_set(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_DSM, dsm_bind_reinit_uart);
|
||||||
usleep(500000);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DSM_BIND_POWER_UP:
|
case DSM_BIND_POWER_UP:
|
||||||
@@ -1736,30 +1761,12 @@ bind(int argc, char *argv[])
|
|||||||
else
|
else
|
||||||
errx(1, "unknown parameter %s, use dsm2 or dsmx", argv[2]);
|
errx(1, "unknown parameter %s, use dsm2 or dsmx", argv[2]);
|
||||||
|
|
||||||
/* Open console directly to grab CTRL-C signal */
|
|
||||||
int console = open("/dev/console", O_NONBLOCK | O_RDONLY | O_NOCTTY);
|
|
||||||
if (!console)
|
|
||||||
errx(1, "failed opening console");
|
|
||||||
|
|
||||||
warnx("This command will only bind DSM if satellite VCC (red wire) is controlled by relay 1.");
|
warnx("This command will only bind DSM if satellite VCC (red wire) is controlled by relay 1.");
|
||||||
warnx("Press CTRL-C or 'c' when done.");
|
|
||||||
|
|
||||||
g_dev->ioctl(nullptr, DSM_BIND_START, pulses);
|
g_dev->ioctl(nullptr, DSM_BIND_START, pulses);
|
||||||
|
|
||||||
for (;;) {
|
|
||||||
usleep(500000L);
|
|
||||||
/* Check if user wants to quit */
|
|
||||||
char c;
|
|
||||||
if (read(console, &c, 1) == 1) {
|
|
||||||
if (c == 0x03 || c == 0x63) {
|
|
||||||
warnx("Done\n");
|
|
||||||
g_dev->ioctl(nullptr, DSM_BIND_STOP, 0);
|
|
||||||
g_dev->ioctl(nullptr, DSM_BIND_POWER_UP, 0);
|
|
||||||
close(console);
|
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
@@ -300,6 +300,8 @@ controls_tick() {
|
|||||||
} else {
|
} else {
|
||||||
r_status_flags &= ~PX4IO_P_STATUS_FLAGS_OVERRIDE;
|
r_status_flags &= ~PX4IO_P_STATUS_FLAGS_OVERRIDE;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
r_status_flags &= ~PX4IO_P_STATUS_FLAGS_OVERRIDE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -129,9 +129,9 @@ dsm_bind(uint16_t cmd, int pulses)
|
|||||||
case dsm_bind_send_pulses:
|
case dsm_bind_send_pulses:
|
||||||
for (int i = 0; i < pulses; i++) {
|
for (int i = 0; i < pulses; i++) {
|
||||||
stm32_gpiowrite(usart1RxAsOutp, false);
|
stm32_gpiowrite(usart1RxAsOutp, false);
|
||||||
up_udelay(50);
|
up_udelay(25);
|
||||||
stm32_gpiowrite(usart1RxAsOutp, true);
|
stm32_gpiowrite(usart1RxAsOutp, true);
|
||||||
up_udelay(50);
|
up_udelay(25);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case dsm_bind_reinit_uart:
|
case dsm_bind_reinit_uart:
|
||||||
|
|||||||
@@ -156,6 +156,7 @@ PARAM_DEFINE_FLOAT(RC14_DZ, 0.0f);
|
|||||||
|
|
||||||
PARAM_DEFINE_INT32(RC_TYPE, 1); /** 1 = FUTABA, 2 = Spektrum, 3 = Graupner HoTT, 4 = Turnigy 9x */
|
PARAM_DEFINE_INT32(RC_TYPE, 1); /** 1 = FUTABA, 2 = Spektrum, 3 = Graupner HoTT, 4 = Turnigy 9x */
|
||||||
PARAM_DEFINE_INT32(RC_RL1_DSM_VCC, 0); /* Relay 1 controls DSM VCC */
|
PARAM_DEFINE_INT32(RC_RL1_DSM_VCC, 0); /* Relay 1 controls DSM VCC */
|
||||||
|
PARAM_DEFINE_INT32(RC_DSM_BIND, 0); /* 0 = Idle, 1 = Start DSM2 bind, 2 = Start DSMX bind */
|
||||||
|
|
||||||
#ifdef CONFIG_ARCH_BOARD_PX4FMU_V2
|
#ifdef CONFIG_ARCH_BOARD_PX4FMU_V2
|
||||||
PARAM_DEFINE_FLOAT(BAT_V_SCALING, 0.0082f);
|
PARAM_DEFINE_FLOAT(BAT_V_SCALING, 0.0082f);
|
||||||
|
|||||||
@@ -257,8 +257,6 @@ private:
|
|||||||
|
|
||||||
float battery_voltage_scaling;
|
float battery_voltage_scaling;
|
||||||
|
|
||||||
int rc_rl1_DSM_VCC_control;
|
|
||||||
|
|
||||||
} _parameters; /**< local copies of interesting parameters */
|
} _parameters; /**< local copies of interesting parameters */
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
@@ -308,8 +306,6 @@ private:
|
|||||||
|
|
||||||
param_t battery_voltage_scaling;
|
param_t battery_voltage_scaling;
|
||||||
|
|
||||||
param_t rc_rl1_DSM_VCC_control;
|
|
||||||
|
|
||||||
} _parameter_handles; /**< handles for interesting parameters */
|
} _parameter_handles; /**< handles for interesting parameters */
|
||||||
|
|
||||||
|
|
||||||
@@ -544,9 +540,6 @@ Sensors::Sensors() :
|
|||||||
|
|
||||||
_parameter_handles.battery_voltage_scaling = param_find("BAT_V_SCALING");
|
_parameter_handles.battery_voltage_scaling = param_find("BAT_V_SCALING");
|
||||||
|
|
||||||
/* DSM VCC relay control */
|
|
||||||
_parameter_handles.rc_rl1_DSM_VCC_control = param_find("RC_RL1_DSM_VCC");
|
|
||||||
|
|
||||||
/* fetch initial parameter values */
|
/* fetch initial parameter values */
|
||||||
parameters_update();
|
parameters_update();
|
||||||
}
|
}
|
||||||
@@ -738,11 +731,6 @@ Sensors::parameters_update()
|
|||||||
warnx("Failed updating voltage scaling param");
|
warnx("Failed updating voltage scaling param");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* relay 1 DSM VCC control */
|
|
||||||
if (param_get(_parameter_handles.rc_rl1_DSM_VCC_control, &(_parameters.rc_rl1_DSM_VCC_control)) != OK) {
|
|
||||||
warnx("Failed updating relay 1 DSM VCC control");
|
|
||||||
}
|
|
||||||
|
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -37,6 +37,10 @@
|
|||||||
* Common object definitions without a better home.
|
* Common object definitions without a better home.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @defgroup topics List of all uORB topics.
|
||||||
|
*/
|
||||||
|
|
||||||
#include <nuttx/config.h>
|
#include <nuttx/config.h>
|
||||||
|
|
||||||
#include <drivers/drv_orb_dev.h>
|
#include <drivers/drv_orb_dev.h>
|
||||||
|
|||||||
@@ -52,11 +52,20 @@
|
|||||||
#define NUM_ACTUATOR_CONTROLS 8
|
#define NUM_ACTUATOR_CONTROLS 8
|
||||||
#define NUM_ACTUATOR_CONTROL_GROUPS 4 /**< for sanity checking */
|
#define NUM_ACTUATOR_CONTROL_GROUPS 4 /**< for sanity checking */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @addtogroup topics
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
struct actuator_controls_s {
|
struct actuator_controls_s {
|
||||||
uint64_t timestamp;
|
uint64_t timestamp;
|
||||||
float control[NUM_ACTUATOR_CONTROLS];
|
float control[NUM_ACTUATOR_CONTROLS];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
/* actuator control sets; this list can be expanded as more controllers emerge */
|
/* actuator control sets; this list can be expanded as more controllers emerge */
|
||||||
ORB_DECLARE(actuator_controls_0);
|
ORB_DECLARE(actuator_controls_0);
|
||||||
ORB_DECLARE(actuator_controls_1);
|
ORB_DECLARE(actuator_controls_1);
|
||||||
|
|||||||
@@ -53,11 +53,20 @@
|
|||||||
#define NUM_ACTUATOR_CONTROLS_EFFECTIVE NUM_ACTUATOR_CONTROLS
|
#define NUM_ACTUATOR_CONTROLS_EFFECTIVE NUM_ACTUATOR_CONTROLS
|
||||||
#define NUM_ACTUATOR_CONTROL_GROUPS_EFFECTIVE NUM_ACTUATOR_CONTROL_GROUPS /**< for sanity checking */
|
#define NUM_ACTUATOR_CONTROL_GROUPS_EFFECTIVE NUM_ACTUATOR_CONTROL_GROUPS /**< for sanity checking */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @addtogroup topics
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
struct actuator_controls_effective_s {
|
struct actuator_controls_effective_s {
|
||||||
uint64_t timestamp;
|
uint64_t timestamp;
|
||||||
float control_effective[NUM_ACTUATOR_CONTROLS_EFFECTIVE];
|
float control_effective[NUM_ACTUATOR_CONTROLS_EFFECTIVE];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
/* actuator control sets; this list can be expanded as more controllers emerge */
|
/* actuator control sets; this list can be expanded as more controllers emerge */
|
||||||
ORB_DECLARE(actuator_controls_effective_0);
|
ORB_DECLARE(actuator_controls_effective_0);
|
||||||
ORB_DECLARE(actuator_controls_effective_1);
|
ORB_DECLARE(actuator_controls_effective_1);
|
||||||
|
|||||||
@@ -52,12 +52,21 @@
|
|||||||
#define NUM_ACTUATOR_OUTPUTS 16
|
#define NUM_ACTUATOR_OUTPUTS 16
|
||||||
#define NUM_ACTUATOR_OUTPUT_GROUPS 4 /**< for sanity checking */
|
#define NUM_ACTUATOR_OUTPUT_GROUPS 4 /**< for sanity checking */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @addtogroup topics
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
struct actuator_outputs_s {
|
struct actuator_outputs_s {
|
||||||
uint64_t timestamp; /**< output timestamp in us since system boot */
|
uint64_t timestamp; /**< output timestamp in us since system boot */
|
||||||
float output[NUM_ACTUATOR_OUTPUTS]; /**< output data, in natural output units */
|
float output[NUM_ACTUATOR_OUTPUTS]; /**< output data, in natural output units */
|
||||||
int noutputs; /**< valid outputs */
|
int noutputs; /**< valid outputs */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
/* actuator output sets; this list can be expanded as more drivers emerge */
|
/* actuator output sets; this list can be expanded as more drivers emerge */
|
||||||
ORB_DECLARE(actuator_outputs_0);
|
ORB_DECLARE(actuator_outputs_0);
|
||||||
ORB_DECLARE(actuator_outputs_1);
|
ORB_DECLARE(actuator_outputs_1);
|
||||||
|
|||||||
@@ -47,6 +47,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @addtogroup topics
|
* @addtogroup topics
|
||||||
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -51,10 +51,6 @@
|
|||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include "../uORB.h"
|
#include "../uORB.h"
|
||||||
|
|
||||||
/**
|
|
||||||
* @addtogroup topics @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The number of ESCs supported.
|
* The number of ESCs supported.
|
||||||
* Current (Q2/2013) we support 8 ESCs,
|
* Current (Q2/2013) we support 8 ESCs,
|
||||||
@@ -76,7 +72,12 @@ enum ESC_CONNECTION_TYPE {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* @addtogroup topics
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Electronic speed controller status.
|
||||||
*/
|
*/
|
||||||
struct esc_status_s
|
struct esc_status_s
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -46,11 +46,6 @@
|
|||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include "../uORB.h"
|
#include "../uORB.h"
|
||||||
|
|
||||||
/**
|
|
||||||
* @addtogroup topics
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
enum NAV_CMD {
|
enum NAV_CMD {
|
||||||
NAV_CMD_WAYPOINT = 0,
|
NAV_CMD_WAYPOINT = 0,
|
||||||
NAV_CMD_LOITER_TURN_COUNT,
|
NAV_CMD_LOITER_TURN_COUNT,
|
||||||
@@ -61,6 +56,11 @@ enum NAV_CMD {
|
|||||||
NAV_CMD_TAKEOFF
|
NAV_CMD_TAKEOFF
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @addtogroup topics
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Global position setpoint in WGS84 coordinates.
|
* Global position setpoint in WGS84 coordinates.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -43,11 +43,6 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include "../uORB.h"
|
#include "../uORB.h"
|
||||||
|
|
||||||
/**
|
|
||||||
* @addtogroup topics
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Off-board control inputs.
|
* Off-board control inputs.
|
||||||
*
|
*
|
||||||
@@ -66,6 +61,11 @@ enum OFFBOARD_CONTROL_MODE
|
|||||||
OFFBOARD_CONTROL_MODE_MULTIROTOR_SIMPLE = 7, /**< roll / pitch rotated aligned to the takeoff orientation, throttle stabilized, yaw pos */
|
OFFBOARD_CONTROL_MODE_MULTIROTOR_SIMPLE = 7, /**< roll / pitch rotated aligned to the takeoff orientation, throttle stabilized, yaw pos */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @addtogroup topics
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
struct offboard_control_setpoint_s {
|
struct offboard_control_setpoint_s {
|
||||||
uint64_t timestamp;
|
uint64_t timestamp;
|
||||||
|
|
||||||
|
|||||||
@@ -46,6 +46,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @addtogroup topics
|
* @addtogroup topics
|
||||||
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -42,11 +42,20 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include "../uORB.h"
|
#include "../uORB.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @addtogroup topics
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
struct parameter_update_s {
|
struct parameter_update_s {
|
||||||
/** time at which the latest parameter was updated */
|
/** time at which the latest parameter was updated */
|
||||||
uint64_t timestamp;
|
uint64_t timestamp;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
ORB_DECLARE(parameter_update);
|
ORB_DECLARE(parameter_update);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@@ -45,11 +45,6 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include "../uORB.h"
|
#include "../uORB.h"
|
||||||
|
|
||||||
/**
|
|
||||||
* @addtogroup topics
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The number of RC channel inputs supported.
|
* The number of RC channel inputs supported.
|
||||||
* Current (Q1/2013) radios support up to 18 channels,
|
* Current (Q1/2013) radios support up to 18 channels,
|
||||||
@@ -83,6 +78,11 @@ enum RC_CHANNELS_FUNCTION
|
|||||||
RC_CHANNELS_FUNCTION_MAX /**< indicates the number of functions. There can be more functions than RC channels. */
|
RC_CHANNELS_FUNCTION_MAX /**< indicates the number of functions. There can be more functions than RC channels. */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @addtogroup topics
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
struct rc_channels_s {
|
struct rc_channels_s {
|
||||||
|
|
||||||
uint64_t timestamp; /**< In microseconds since boot time. */
|
uint64_t timestamp; /**< In microseconds since boot time. */
|
||||||
|
|||||||
@@ -46,17 +46,17 @@
|
|||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include "../uORB.h"
|
#include "../uORB.h"
|
||||||
|
|
||||||
/**
|
|
||||||
* @addtogroup topics
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
enum MAGNETOMETER_MODE {
|
enum MAGNETOMETER_MODE {
|
||||||
MAGNETOMETER_MODE_NORMAL = 0,
|
MAGNETOMETER_MODE_NORMAL = 0,
|
||||||
MAGNETOMETER_MODE_POSITIVE_BIAS,
|
MAGNETOMETER_MODE_POSITIVE_BIAS,
|
||||||
MAGNETOMETER_MODE_NEGATIVE_BIAS
|
MAGNETOMETER_MODE_NEGATIVE_BIAS
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @addtogroup topics
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sensor readings in raw and SI-unit form.
|
* Sensor readings in raw and SI-unit form.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -50,10 +50,6 @@
|
|||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include "../uORB.h"
|
#include "../uORB.h"
|
||||||
|
|
||||||
/**
|
|
||||||
* @addtogroup topics
|
|
||||||
*/
|
|
||||||
|
|
||||||
enum SUBSYSTEM_TYPE
|
enum SUBSYSTEM_TYPE
|
||||||
{
|
{
|
||||||
SUBSYSTEM_TYPE_GYRO = 1,
|
SUBSYSTEM_TYPE_GYRO = 1,
|
||||||
@@ -75,6 +71,10 @@ enum SUBSYSTEM_TYPE
|
|||||||
SUBSYSTEM_TYPE_RANGEFINDER = 131072
|
SUBSYSTEM_TYPE_RANGEFINDER = 131072
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @addtogroup topics
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* State of individual sub systems
|
* State of individual sub systems
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -50,6 +50,11 @@ enum TELEMETRY_STATUS_RADIO_TYPE {
|
|||||||
TELEMETRY_STATUS_RADIO_TYPE_WIRE
|
TELEMETRY_STATUS_RADIO_TYPE_WIRE
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @addtogroup topics
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
struct telemetry_status_s {
|
struct telemetry_status_s {
|
||||||
uint64_t timestamp;
|
uint64_t timestamp;
|
||||||
enum TELEMETRY_STATUS_RADIO_TYPE type; /**< type of the radio hardware */
|
enum TELEMETRY_STATUS_RADIO_TYPE type; /**< type of the radio hardware */
|
||||||
@@ -62,6 +67,10 @@ struct telemetry_status_s {
|
|||||||
uint8_t txbuf; /**< how full the tx buffer is as a percentage */
|
uint8_t txbuf; /**< how full the tx buffer is as a percentage */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
ORB_DECLARE(telemetry_status);
|
ORB_DECLARE(telemetry_status);
|
||||||
|
|
||||||
#endif /* TOPIC_TELEMETRY_STATUS_H */
|
#endif /* TOPIC_TELEMETRY_STATUS_H */
|
||||||
@@ -48,6 +48,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @addtogroup topics
|
* @addtogroup topics
|
||||||
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -45,11 +45,6 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include "../uORB.h"
|
#include "../uORB.h"
|
||||||
|
|
||||||
/**
|
|
||||||
* @addtogroup topics
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Commands for commander app.
|
* Commands for commander app.
|
||||||
*
|
*
|
||||||
@@ -110,6 +105,10 @@ enum VEHICLE_CMD_RESULT
|
|||||||
VEHICLE_CMD_RESULT_ENUM_END=5, /* | */
|
VEHICLE_CMD_RESULT_ENUM_END=5, /* | */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @addtogroup topics
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
struct vehicle_command_s
|
struct vehicle_command_s
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -60,8 +60,8 @@
|
|||||||
*/
|
*/
|
||||||
struct vehicle_global_position_set_triplet_s
|
struct vehicle_global_position_set_triplet_s
|
||||||
{
|
{
|
||||||
bool previous_valid;
|
bool previous_valid; /**< flag indicating previous position is valid */
|
||||||
bool next_valid;
|
bool next_valid; /**< flag indicating next position is valid */
|
||||||
|
|
||||||
struct vehicle_global_position_setpoint_s previous;
|
struct vehicle_global_position_setpoint_s previous;
|
||||||
struct vehicle_global_position_setpoint_s current;
|
struct vehicle_global_position_setpoint_s current;
|
||||||
|
|||||||
@@ -54,10 +54,6 @@
|
|||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include "../uORB.h"
|
#include "../uORB.h"
|
||||||
|
|
||||||
/**
|
|
||||||
* @addtogroup topics @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* State Machine */
|
/* State Machine */
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
@@ -137,6 +133,10 @@ enum VEHICLE_BATTERY_WARNING {
|
|||||||
VEHICLE_BATTERY_WARNING_ALERT /**< aleting of low voltage 2. stage */
|
VEHICLE_BATTERY_WARNING_ALERT /**< aleting of low voltage 2. stage */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @addtogroup topics
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* state machine / state of vehicle.
|
* state machine / state of vehicle.
|
||||||
|
|||||||
Reference in New Issue
Block a user