Browse Source

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
sbg
Larry Wang 8 years ago committed by ChristophTobler
parent
commit
0ae76aff32
  1. 3
      cmake/configs/qurt_sdflight_legacy.cmake
  2. 32
      posix-configs/eagle/200qx/px4.config
  3. 32
      posix-configs/eagle/210qc/px4.config
  4. 2
      posix-configs/excelsior/px4.config
  5. 25
      src/drivers/spektrum_rc/spektrum_rc.cpp

3
cmake/configs/qurt_sdflight_legacy.cmake

@ -70,12 +70,12 @@ set(config_module_list @@ -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 @@ -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

32
posix-configs/eagle/200qx/px4.config

@ -14,36 +14,6 @@ param set MC_ROLL_P 7.0 @@ -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 @@ -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

32
posix-configs/eagle/210qc/px4.config

@ -14,36 +14,6 @@ param set MC_ROLL_P 7.0 @@ -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 @@ -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

2
posix-configs/excelsior/px4.config

@ -84,7 +84,7 @@ land_detector start multicopter @@ -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

25
src/drivers/spektrum_rc/spektrum_rc.cpp

@ -41,6 +41,7 @@ @@ -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_ @@ -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_ @@ -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() @@ -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[]) @@ -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")) {

Loading…
Cancel
Save