From 046def571d21856f24f6afc805450c003858afea Mon Sep 17 00:00:00 2001 From: Anton Babushkin Date: Tue, 4 Mar 2014 23:11:24 +0400 Subject: sensors: publish manual controls on actuator_controls_1 topic instead of actuator_controls_3 --- src/modules/sensors/sensors.cpp | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/modules/sensors/sensors.cpp b/src/modules/sensors/sensors.cpp index b176d7417..068fb3d0b 100644 --- a/src/modules/sensors/sensors.cpp +++ b/src/modules/sensors/sensors.cpp @@ -195,7 +195,7 @@ private: orb_advert_t _sensor_pub; /**< combined sensor data topic */ orb_advert_t _manual_control_pub; /**< manual control signal topic */ - orb_advert_t _actuator_group_3_pub; /**< manual control as actuator topic */ + orb_advert_t _actuator_group_1_pub; /**< manual control as actuator topic */ orb_advert_t _rc_pub; /**< raw r/c control topic */ orb_advert_t _battery_pub; /**< battery status */ orb_advert_t _airspeed_pub; /**< airspeed */ @@ -459,7 +459,7 @@ Sensors::Sensors() : /* publications */ _sensor_pub(-1), _manual_control_pub(-1), - _actuator_group_3_pub(-1), + _actuator_group_1_pub(-1), _rc_pub(-1), _battery_pub(-1), _airspeed_pub(-1), @@ -1279,7 +1279,7 @@ Sensors::rc_poll() return; struct manual_control_setpoint_s manual_control; - struct actuator_controls_s actuator_group_3; + struct actuator_controls_s actuator_group_1; /* initialize to default values */ manual_control.roll = NAN; @@ -1460,14 +1460,14 @@ Sensors::rc_poll() } /* copy from mapped manual control to control group 3 */ - actuator_group_3.control[0] = manual_control.roll; - actuator_group_3.control[1] = manual_control.pitch; - actuator_group_3.control[2] = manual_control.yaw; - actuator_group_3.control[3] = manual_control.throttle; - actuator_group_3.control[4] = manual_control.flaps; - actuator_group_3.control[5] = manual_control.aux1; - actuator_group_3.control[6] = manual_control.aux2; - actuator_group_3.control[7] = manual_control.aux3; + actuator_group_1.control[0] = manual_control.roll; + actuator_group_1.control[1] = manual_control.pitch; + actuator_group_1.control[2] = manual_control.yaw; + actuator_group_1.control[3] = manual_control.throttle; + actuator_group_1.control[4] = manual_control.flaps; + actuator_group_1.control[5] = manual_control.aux1; + actuator_group_1.control[6] = manual_control.aux2; + actuator_group_1.control[7] = manual_control.aux3; /* check if ready for publishing */ if (_rc_pub > 0) { @@ -1487,11 +1487,11 @@ Sensors::rc_poll() } /* check if ready for publishing */ - if (_actuator_group_3_pub > 0) { - orb_publish(ORB_ID(actuator_controls_3), _actuator_group_3_pub, &actuator_group_3); + if (_actuator_group_1_pub > 0) { + orb_publish(ORB_ID(actuator_controls_1), _actuator_group_1_pub, &actuator_group_1); } else { - _actuator_group_3_pub = orb_advertise(ORB_ID(actuator_controls_3), &actuator_group_3); + _actuator_group_1_pub = orb_advertise(ORB_ID(actuator_controls_1), &actuator_group_1); } } -- cgit v1.2.3 From a50957c3cec92167594b7bd82561f72100ccebdd Mon Sep 17 00:00:00 2001 From: Anton Babushkin Date: Tue, 4 Mar 2014 23:13:20 +0400 Subject: px4io: print all control groups in "px4io status" --- src/drivers/px4io/px4io.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/drivers/px4io/px4io.cpp b/src/drivers/px4io/px4io.cpp index 7c7b3dcb7..4c48194d4 100644 --- a/src/drivers/px4io/px4io.cpp +++ b/src/drivers/px4io/px4io.cpp @@ -1921,12 +1921,14 @@ PX4IO::print_status() io_reg_get(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_PWM_ALTRATE)); #endif printf("debuglevel %u\n", io_reg_get(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_SET_DEBUG)); - printf("controls"); + for (unsigned group = 0; group < PX4IO_CONTROL_GROUPS; group++) { + printf("controls %u:", group); - for (unsigned i = 0; i < _max_controls; i++) - printf(" %u", io_reg_get(PX4IO_PAGE_CONTROLS, i)); + for (unsigned i = 0; i < _max_controls; i++) + printf(" %u", io_reg_get(PX4IO_PAGE_CONTROLS, group * PX4IO_PROTOCOL_MAX_CONTROL_COUNT + i)); - printf("\n"); + printf("\n"); + } for (unsigned i = 0; i < _max_rc_input; i++) { unsigned base = PX4IO_P_RC_CONFIG_STRIDE * i; -- cgit v1.2.3 From 529013ae1c9298c44e808a8fa97336b242623ad8 Mon Sep 17 00:00:00 2001 From: Anton Babushkin Date: Wed, 5 Mar 2014 00:00:17 +0400 Subject: Reverse: sensors: publish manual controls on actuator_controls_1 topic instead of actuator_controls_3 --- src/modules/sensors/sensors.cpp | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/modules/sensors/sensors.cpp b/src/modules/sensors/sensors.cpp index 068fb3d0b..b176d7417 100644 --- a/src/modules/sensors/sensors.cpp +++ b/src/modules/sensors/sensors.cpp @@ -195,7 +195,7 @@ private: orb_advert_t _sensor_pub; /**< combined sensor data topic */ orb_advert_t _manual_control_pub; /**< manual control signal topic */ - orb_advert_t _actuator_group_1_pub; /**< manual control as actuator topic */ + orb_advert_t _actuator_group_3_pub; /**< manual control as actuator topic */ orb_advert_t _rc_pub; /**< raw r/c control topic */ orb_advert_t _battery_pub; /**< battery status */ orb_advert_t _airspeed_pub; /**< airspeed */ @@ -459,7 +459,7 @@ Sensors::Sensors() : /* publications */ _sensor_pub(-1), _manual_control_pub(-1), - _actuator_group_1_pub(-1), + _actuator_group_3_pub(-1), _rc_pub(-1), _battery_pub(-1), _airspeed_pub(-1), @@ -1279,7 +1279,7 @@ Sensors::rc_poll() return; struct manual_control_setpoint_s manual_control; - struct actuator_controls_s actuator_group_1; + struct actuator_controls_s actuator_group_3; /* initialize to default values */ manual_control.roll = NAN; @@ -1460,14 +1460,14 @@ Sensors::rc_poll() } /* copy from mapped manual control to control group 3 */ - actuator_group_1.control[0] = manual_control.roll; - actuator_group_1.control[1] = manual_control.pitch; - actuator_group_1.control[2] = manual_control.yaw; - actuator_group_1.control[3] = manual_control.throttle; - actuator_group_1.control[4] = manual_control.flaps; - actuator_group_1.control[5] = manual_control.aux1; - actuator_group_1.control[6] = manual_control.aux2; - actuator_group_1.control[7] = manual_control.aux3; + actuator_group_3.control[0] = manual_control.roll; + actuator_group_3.control[1] = manual_control.pitch; + actuator_group_3.control[2] = manual_control.yaw; + actuator_group_3.control[3] = manual_control.throttle; + actuator_group_3.control[4] = manual_control.flaps; + actuator_group_3.control[5] = manual_control.aux1; + actuator_group_3.control[6] = manual_control.aux2; + actuator_group_3.control[7] = manual_control.aux3; /* check if ready for publishing */ if (_rc_pub > 0) { @@ -1487,11 +1487,11 @@ Sensors::rc_poll() } /* check if ready for publishing */ - if (_actuator_group_1_pub > 0) { - orb_publish(ORB_ID(actuator_controls_1), _actuator_group_1_pub, &actuator_group_1); + if (_actuator_group_3_pub > 0) { + orb_publish(ORB_ID(actuator_controls_3), _actuator_group_3_pub, &actuator_group_3); } else { - _actuator_group_1_pub = orb_advertise(ORB_ID(actuator_controls_1), &actuator_group_1); + _actuator_group_3_pub = orb_advertise(ORB_ID(actuator_controls_3), &actuator_group_3); } } -- cgit v1.2.3 From af548db7cc0a53b1c07a74342ec528e6247b0fcb Mon Sep 17 00:00:00 2001 From: Anton Babushkin Date: Wed, 5 Mar 2014 00:01:27 +0400 Subject: px4iofirmware: define 4 actuator control groups --- src/modules/px4iofirmware/mixer.cpp | 2 +- src/modules/px4iofirmware/px4io.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/px4iofirmware/mixer.cpp b/src/modules/px4iofirmware/mixer.cpp index 6a4429461..9558198f3 100644 --- a/src/modules/px4iofirmware/mixer.cpp +++ b/src/modules/px4iofirmware/mixer.cpp @@ -267,7 +267,7 @@ mixer_callback(uintptr_t handle, uint8_t control_index, float &control) { - if (control_group > 3) + if (control_group >= PX4IO_CONTROL_GROUPS) return -1; switch (source) { diff --git a/src/modules/px4iofirmware/px4io.h b/src/modules/px4iofirmware/px4io.h index bb224f388..54c5663a5 100644 --- a/src/modules/px4iofirmware/px4io.h +++ b/src/modules/px4iofirmware/px4io.h @@ -53,7 +53,7 @@ */ #define PX4IO_SERVO_COUNT 8 #define PX4IO_CONTROL_CHANNELS 8 -#define PX4IO_CONTROL_GROUPS 2 +#define PX4IO_CONTROL_GROUPS 4 #define PX4IO_RC_INPUT_CHANNELS 18 #define PX4IO_RC_MAPPED_CONTROL_CHANNELS 8 /**< This is the maximum number of channels mapped/used */ -- cgit v1.2.3 From 149bf4582c67296097106566ec98a85229be9509 Mon Sep 17 00:00:00 2001 From: Anton Babushkin Date: Wed, 5 Mar 2014 00:05:17 +0400 Subject: px4io: hardcode number of control groups in "px4io status" --- src/drivers/px4io/px4io.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/drivers/px4io/px4io.cpp b/src/drivers/px4io/px4io.cpp index 4c48194d4..136a6e29e 100644 --- a/src/drivers/px4io/px4io.cpp +++ b/src/drivers/px4io/px4io.cpp @@ -1921,7 +1921,7 @@ PX4IO::print_status() io_reg_get(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_PWM_ALTRATE)); #endif printf("debuglevel %u\n", io_reg_get(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_SET_DEBUG)); - for (unsigned group = 0; group < PX4IO_CONTROL_GROUPS; group++) { + for (unsigned group = 0; group < 4; group++) { printf("controls %u:", group); for (unsigned i = 0; i < _max_controls; i++) -- cgit v1.2.3 From a8ff126dfe214245d1f5860f2bc9c17b6cdac34b Mon Sep 17 00:00:00 2001 From: Anton Babushkin Date: Wed, 5 Mar 2014 20:00:13 +0400 Subject: px4io: print actuator control registers as int16 instead of uint16 --- src/drivers/px4io/px4io.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/drivers/px4io/px4io.cpp b/src/drivers/px4io/px4io.cpp index 136a6e29e..8e990aa6f 100644 --- a/src/drivers/px4io/px4io.cpp +++ b/src/drivers/px4io/px4io.cpp @@ -1925,7 +1925,7 @@ PX4IO::print_status() printf("controls %u:", group); for (unsigned i = 0; i < _max_controls; i++) - printf(" %u", io_reg_get(PX4IO_PAGE_CONTROLS, group * PX4IO_PROTOCOL_MAX_CONTROL_COUNT + i)); + printf(" %d", (int16_t) io_reg_get(PX4IO_PAGE_CONTROLS, group * PX4IO_PROTOCOL_MAX_CONTROL_COUNT + i)); printf("\n"); } -- cgit v1.2.3