mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-28 02:36:37 +08:00
updated to use rc driver from PX4, instead of from FC addons (#7798)
* updated to use rc driver from PX4, instead of from FC addons * fixed format * update per comments * fix format * fix format * remove duplicated __PX4_QURT
This commit is contained in:
committed by
ChristophTobler
parent
8f1355c325
commit
0ae76aff32
@@ -70,12 +70,12 @@ set(config_module_list
|
|||||||
#
|
#
|
||||||
drivers/gps
|
drivers/gps
|
||||||
drivers/pwm_out_rc_in
|
drivers/pwm_out_rc_in
|
||||||
|
drivers/spektrum_rc
|
||||||
drivers/qshell/qurt
|
drivers/qshell/qurt
|
||||||
|
|
||||||
#
|
#
|
||||||
# FC_ADDON drivers
|
# FC_ADDON drivers
|
||||||
#
|
#
|
||||||
platforms/qurt/fc_addon/rc_receiver
|
|
||||||
platforms/qurt/fc_addon/uart_esc
|
platforms/qurt/fc_addon/uart_esc
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -91,6 +91,7 @@ set(config_module_list
|
|||||||
lib/terrain_estimation
|
lib/terrain_estimation
|
||||||
lib/runway_takeoff
|
lib/runway_takeoff
|
||||||
lib/tailsitter_recovery
|
lib/tailsitter_recovery
|
||||||
|
lib/rc
|
||||||
lib/version
|
lib/version
|
||||||
lib/DriverFramework/framework
|
lib/DriverFramework/framework
|
||||||
lib/micro-CDR
|
lib/micro-CDR
|
||||||
|
|||||||
@@ -14,36 +14,6 @@ param set MC_ROLL_P 7.0
|
|||||||
param set MC_ROLLRATE_P 0.08
|
param set MC_ROLLRATE_P 0.08
|
||||||
param set MC_ROLLRATE_I 0.0
|
param set MC_ROLLRATE_I 0.0
|
||||||
param set MC_ROLLRATE_D 0.001
|
param set MC_ROLLRATE_D 0.001
|
||||||
param set RC_MAP_THROTTLE 1
|
|
||||||
param set RC_MAP_ROLL 2
|
|
||||||
param set RC_MAP_PITCH 3
|
|
||||||
param set RC_MAP_YAW 4
|
|
||||||
param set RC_MAP_MODE_SW 5
|
|
||||||
param set RC_MAP_POSCTL_SW 6
|
|
||||||
param set RC1_MAX 1900
|
|
||||||
param set RC1_MIN 1099
|
|
||||||
param set RC1_TRIM 1099
|
|
||||||
param set RC1_REV 1
|
|
||||||
param set RC2_MAX 1900
|
|
||||||
param set RC2_MIN 1099
|
|
||||||
param set RC2_TRIM 1500
|
|
||||||
param set RC2_REV -1
|
|
||||||
param set RC3_MAX 1900
|
|
||||||
param set RC3_MIN 1099
|
|
||||||
param set RC3_TRIM 1500
|
|
||||||
param set RC3_REV 1
|
|
||||||
param set RC4_MAX 1900
|
|
||||||
param set RC4_MIN 1099
|
|
||||||
param set RC4_TRIM 1500
|
|
||||||
param set RC4_REV -1
|
|
||||||
param set RC5_MAX 1900
|
|
||||||
param set RC5_MIN 1099
|
|
||||||
param set RC5_TRIM 1500
|
|
||||||
param set RC5_REV 1
|
|
||||||
param set RC6_MAX 1900
|
|
||||||
param set RC6_MIN 1099
|
|
||||||
param set RC6_TRIM 1099
|
|
||||||
param set RC6_REV 1
|
|
||||||
param set ATT_W_MAG 0.00
|
param set ATT_W_MAG 0.00
|
||||||
param set SENS_BOARD_ROT 0
|
param set SENS_BOARD_ROT 0
|
||||||
param set RC_RECEIVER_TYPE 1
|
param set RC_RECEIVER_TYPE 1
|
||||||
@@ -65,7 +35,7 @@ land_detector start multicopter
|
|||||||
mc_pos_control start
|
mc_pos_control start
|
||||||
mc_att_control start
|
mc_att_control start
|
||||||
uart_esc start -D /dev/tty-2
|
uart_esc start -D /dev/tty-2
|
||||||
rc_receiver start -D /dev/tty-1
|
spektrum_rc start -d /dev/tty-1
|
||||||
sleep 1
|
sleep 1
|
||||||
list_devices
|
list_devices
|
||||||
list_files
|
list_files
|
||||||
|
|||||||
@@ -14,36 +14,6 @@ param set MC_ROLL_P 7.0
|
|||||||
param set MC_ROLLRATE_P 0.08
|
param set MC_ROLLRATE_P 0.08
|
||||||
param set MC_ROLLRATE_I 0.0
|
param set MC_ROLLRATE_I 0.0
|
||||||
param set MC_ROLLRATE_D 0.001
|
param set MC_ROLLRATE_D 0.001
|
||||||
param set RC_MAP_THROTTLE 1
|
|
||||||
param set RC_MAP_ROLL 2
|
|
||||||
param set RC_MAP_PITCH 3
|
|
||||||
param set RC_MAP_YAW 4
|
|
||||||
param set RC_MAP_MODE_SW 5
|
|
||||||
param set RC_MAP_POSCTL_SW 6
|
|
||||||
param set RC1_MAX 1900
|
|
||||||
param set RC1_MIN 1099
|
|
||||||
param set RC1_TRIM 1099
|
|
||||||
param set RC1_REV 1
|
|
||||||
param set RC2_MAX 1900
|
|
||||||
param set RC2_MIN 1099
|
|
||||||
param set RC2_TRIM 1500
|
|
||||||
param set RC2_REV -1
|
|
||||||
param set RC3_MAX 1900
|
|
||||||
param set RC3_MIN 1099
|
|
||||||
param set RC3_TRIM 1500
|
|
||||||
param set RC3_REV 1
|
|
||||||
param set RC4_MAX 1900
|
|
||||||
param set RC4_MIN 1099
|
|
||||||
param set RC4_TRIM 1500
|
|
||||||
param set RC4_REV -1
|
|
||||||
param set RC5_MAX 1900
|
|
||||||
param set RC5_MIN 1099
|
|
||||||
param set RC5_TRIM 1500
|
|
||||||
param set RC5_REV 1
|
|
||||||
param set RC6_MAX 1900
|
|
||||||
param set RC6_MIN 1099
|
|
||||||
param set RC6_TRIM 1099
|
|
||||||
param set RC6_REV 1
|
|
||||||
param set ATT_W_MAG 0.00
|
param set ATT_W_MAG 0.00
|
||||||
param set SENS_BOARD_ROT 0
|
param set SENS_BOARD_ROT 0
|
||||||
param set RC_RECEIVER_TYPE 1
|
param set RC_RECEIVER_TYPE 1
|
||||||
@@ -65,7 +35,7 @@ land_detector start multicopter
|
|||||||
mc_pos_control start
|
mc_pos_control start
|
||||||
mc_att_control start
|
mc_att_control start
|
||||||
uart_esc start -D /dev/tty-2
|
uart_esc start -D /dev/tty-2
|
||||||
rc_receiver start -D /dev/tty-1
|
spektrum_rc start -d /dev/tty-1
|
||||||
sleep 1
|
sleep 1
|
||||||
list_devices
|
list_devices
|
||||||
list_files
|
list_files
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ land_detector start multicopter
|
|||||||
mc_pos_control start
|
mc_pos_control start
|
||||||
mc_att_control start
|
mc_att_control start
|
||||||
uart_esc start -D /dev/tty-1
|
uart_esc start -D /dev/tty-1
|
||||||
rc_receiver start -D /dev/tty-101
|
spektrum_rc start -d /dev/tty-101
|
||||||
sleep 1
|
sleep 1
|
||||||
list_devices
|
list_devices
|
||||||
list_files
|
list_files
|
||||||
|
|||||||
@@ -41,6 +41,7 @@
|
|||||||
|
|
||||||
#include <px4_tasks.h>
|
#include <px4_tasks.h>
|
||||||
#include <px4_posix.h>
|
#include <px4_posix.h>
|
||||||
|
#include <px4_getopt.h>
|
||||||
|
|
||||||
#include <lib/rc/dsm.h>
|
#include <lib/rc/dsm.h>
|
||||||
#include <drivers/drv_rc_input.h>
|
#include <drivers/drv_rc_input.h>
|
||||||
@@ -76,7 +77,23 @@ void fill_input_rc(uint16_t raw_rc_count, uint16_t raw_rc_values[input_rc_s::RC_
|
|||||||
|
|
||||||
void task_main(int argc, char *argv[])
|
void task_main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
int uart_fd = dsm_init(SPEKTRUM_UART_DEVICE_PATH);
|
const char *device_path = SPEKTRUM_UART_DEVICE_PATH;
|
||||||
|
int ch;
|
||||||
|
int myoptind = 1;
|
||||||
|
const char *myoptarg = NULL;
|
||||||
|
|
||||||
|
while ((ch = px4_getopt(argc, argv, "d:", &myoptind, &myoptarg)) != EOF) {
|
||||||
|
switch (ch) {
|
||||||
|
case 'd':
|
||||||
|
device_path = myoptarg;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int uart_fd = dsm_init(device_path);
|
||||||
|
|
||||||
if (uart_fd < 1) {
|
if (uart_fd < 1) {
|
||||||
PX4_ERR("dsm init failed");
|
PX4_ERR("dsm init failed");
|
||||||
@@ -190,7 +207,7 @@ void fill_input_rc(uint16_t raw_rc_count, uint16_t raw_rc_values[input_rc_s::RC_
|
|||||||
input_rc.rc_total_frame_count = 0;
|
input_rc.rc_total_frame_count = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int start()
|
int start(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
if (_is_running) {
|
if (_is_running) {
|
||||||
PX4_WARN("already running");
|
PX4_WARN("already running");
|
||||||
@@ -206,7 +223,7 @@ int start()
|
|||||||
SCHED_PRIORITY_DEFAULT,
|
SCHED_PRIORITY_DEFAULT,
|
||||||
2000,
|
2000,
|
||||||
(px4_main_t)&task_main,
|
(px4_main_t)&task_main,
|
||||||
nullptr);
|
(char *const *)argv);
|
||||||
|
|
||||||
if (_task_handle < 0) {
|
if (_task_handle < 0) {
|
||||||
PX4_ERR("task start failed");
|
PX4_ERR("task start failed");
|
||||||
@@ -263,7 +280,7 @@ int spektrum_rc_main(int argc, char *argv[])
|
|||||||
|
|
||||||
|
|
||||||
if (!strcmp(verb, "start")) {
|
if (!strcmp(verb, "start")) {
|
||||||
return spektrum_rc::start();
|
return spektrum_rc::start(argc - 1, argv + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (!strcmp(verb, "stop")) {
|
else if (!strcmp(verb, "stop")) {
|
||||||
|
|||||||
Reference in New Issue
Block a user