diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2012-10-03 10:27:45 +0200 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2012-10-03 10:27:45 +0200 |
commit | 992a415ffc45ed9d7b728deb288ca78a3b1807d5 (patch) | |
tree | 23586f3e89a47679d6fc75370ac712b11f010a67 /apps | |
parent | a95aa1bbbae9b6d2a0b01d36e092fcc11a8f9bb8 (diff) | |
parent | b5d2ec3d92bc3d3e423225a394b6820a33d52651 (diff) | |
download | px4-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.c | 3 | ||||
-rw-r--r-- | apps/sensors/sensors.cpp | 2 | ||||
-rw-r--r-- | apps/uORB/topics/rc_channels.h | 5 |
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]; |