aboutsummaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2012-10-03 10:27:45 +0200
committerLorenz Meier <lm@inf.ethz.ch>2012-10-03 10:27:45 +0200
commit992a415ffc45ed9d7b728deb288ca78a3b1807d5 (patch)
tree23586f3e89a47679d6fc75370ac712b11f010a67 /apps
parenta95aa1bbbae9b6d2a0b01d36e092fcc11a8f9bb8 (diff)
parentb5d2ec3d92bc3d3e423225a394b6820a33d52651 (diff)
downloadpx4-firmware-992a415ffc45ed9d7b728deb288ca78a3b1807d5.tar.gz
px4-firmware-992a415ffc45ed9d7b728deb288ca78a3b1807d5.tar.bz2
px4-firmware-992a415ffc45ed9d7b728deb288ca78a3b1807d5.zip
Merge branch 'master' of github.com:PX4/Firmware
Diffstat (limited to 'apps')
-rw-r--r--apps/mavlink/mavlink.c3
-rw-r--r--apps/sensors/sensors.cpp2
-rw-r--r--apps/uORB/topics/rc_channels.h5
3 files changed, 5 insertions, 5 deletions
diff --git a/apps/mavlink/mavlink.c b/apps/mavlink/mavlink.c
index 3b1d2d073..b0cf01fd4 100644
--- a/apps/mavlink/mavlink.c
+++ b/apps/mavlink/mavlink.c
@@ -1418,6 +1418,8 @@ void handleMessage(mavlink_message_t *msg)
memset(&rc_hil, 0, sizeof(rc_hil));
static orb_advert_t rc_pub = 0;
+ rc_hil.timestamp = hrt_absolute_time();
+ rc_hil.chan_count = 4;
rc_hil.chan[0].raw = 1500 + man.x / 2;
rc_hil.chan[1].raw = 1500 + man.y / 2;
rc_hil.chan[2].raw = 1500 + man.r / 2;
@@ -1431,6 +1433,7 @@ void handleMessage(mavlink_message_t *msg)
struct manual_control_setpoint_s mc;
static orb_advert_t mc_pub = 0;
+ mc.timestamp = rc_hil.timestamp;
mc.roll = man.x / 1000.0f;
mc.pitch = man.y / 1000.0f;
mc.yaw = man.r / 1000.0f;
diff --git a/apps/sensors/sensors.cpp b/apps/sensors/sensors.cpp
index 8c943cca2..b9de42f76 100644
--- a/apps/sensors/sensors.cpp
+++ b/apps/sensors/sensors.cpp
@@ -960,8 +960,6 @@ Sensors::ppm_poll()
/* Read out values from HRT */
for (unsigned int i = 0; i < channel_limit; i++) {
_rc.chan[i].raw = ppm_buffer[i];
- /* Set the range to +-, then scale up */
- _rc.chan[i].scale = (ppm_buffer[i] - _rc.chan[i].mid) * _rc.chan[i].scaling_factor * 10000;
/* scale around the mid point differently for lower and upper range */
if (ppm_buffer[i] > (_parameters.trim[i] + _parameters.dz[i])) {
diff --git a/apps/uORB/topics/rc_channels.h b/apps/uORB/topics/rc_channels.h
index e34376e82..2c487cf3b 100644
--- a/apps/uORB/topics/rc_channels.h
+++ b/apps/uORB/topics/rc_channels.h
@@ -86,10 +86,9 @@ struct rc_channels_s {
uint64_t timestamp_last_valid; /**< timestamp of last valid RC signal. */
struct {
uint16_t mid; /**< midpoint (0). */
- float scaling_factor; /**< scaling factor from raw counts to 0..1 */
+ float scaling_factor; /**< scaling factor from raw counts to -1..+1 */
uint16_t raw; /**< current raw value */
- int16_t scale;
- float scaled; /**< Scaled */
+ float scaled; /**< Scaled to -1..1 (throttle: 0..1) */
uint16_t override;
enum RC_CHANNELS_STATUS status; /**< status of the channel */
} chan[RC_CHANNELS_FUNCTION_MAX];