Skip to content
Snippets Groups Projects
Commit 0ae76aff authored by Larry Wang's avatar Larry Wang Committed by ChristophTobler
Browse files

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
parent 8f1355c3
No related branches found
No related tags found
No related merge requests found
......@@ -70,12 +70,12 @@ set(config_module_list
#
drivers/gps
drivers/pwm_out_rc_in
drivers/spektrum_rc
drivers/qshell/qurt
#
# FC_ADDON drivers
#
platforms/qurt/fc_addon/rc_receiver
platforms/qurt/fc_addon/uart_esc
#
......@@ -91,6 +91,7 @@ set(config_module_list
lib/terrain_estimation
lib/runway_takeoff
lib/tailsitter_recovery
lib/rc
lib/version
lib/DriverFramework/framework
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_I 0.0
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 SENS_BOARD_ROT 0
param set RC_RECEIVER_TYPE 1
......@@ -65,7 +35,7 @@ land_detector start multicopter
mc_pos_control start
mc_att_control start
uart_esc start -D /dev/tty-2
rc_receiver start -D /dev/tty-1
spektrum_rc start -d /dev/tty-1
sleep 1
list_devices
list_files
......
......@@ -14,36 +14,6 @@ param set MC_ROLL_P 7.0
param set MC_ROLLRATE_P 0.08
param set MC_ROLLRATE_I 0.0
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 SENS_BOARD_ROT 0
param set RC_RECEIVER_TYPE 1
......@@ -65,7 +35,7 @@ land_detector start multicopter
mc_pos_control start
mc_att_control start
uart_esc start -D /dev/tty-2
rc_receiver start -D /dev/tty-1
spektrum_rc start -d /dev/tty-1
sleep 1
list_devices
list_files
......
......@@ -84,7 +84,7 @@ land_detector start multicopter
mc_pos_control start
mc_att_control start
uart_esc start -D /dev/tty-1
rc_receiver start -D /dev/tty-101
spektrum_rc start -d /dev/tty-101
sleep 1
list_devices
list_files
......
......@@ -41,6 +41,7 @@
#include <px4_tasks.h>
#include <px4_posix.h>
#include <px4_getopt.h>
#include <lib/rc/dsm.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[])
{
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) {
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;
}
int start()
int start(int argc, char *argv[])
{
if (_is_running) {
PX4_WARN("already running");
......@@ -206,7 +223,7 @@ int start()
SCHED_PRIORITY_DEFAULT,
2000,
(px4_main_t)&task_main,
nullptr);
(char *const *)argv);
if (_task_handle < 0) {
PX4_ERR("task start failed");
......@@ -263,7 +280,7 @@ int spektrum_rc_main(int argc, char *argv[])
if (!strcmp(verb, "start")) {
return spektrum_rc::start();
return spektrum_rc::start(argc - 1, argv + 1);
}
else if (!strcmp(verb, "stop")) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment