aboutsummaryrefslogtreecommitdiff
path: root/apps/drivers
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2013-01-06 14:43:37 +0100
committerLorenz Meier <lm@inf.ethz.ch>2013-01-06 14:43:37 +0100
commit0945a2cc2fe2d4214a5796cdd85f19a3b017d13c (patch)
tree6a1b789a97ae25c0f1a1c94a499a93b2b5b21169 /apps/drivers
parentef2efabbd46ec7d29dc4ff5363feea779b7b1c30 (diff)
downloadpx4-firmware-0945a2cc2fe2d4214a5796cdd85f19a3b017d13c.tar.gz
px4-firmware-0945a2cc2fe2d4214a5796cdd85f19a3b017d13c.tar.bz2
px4-firmware-0945a2cc2fe2d4214a5796cdd85f19a3b017d13c.zip
Fixed RC mapping transmission, tested. Fixed RC scaling in manual mode
Diffstat (limited to 'apps/drivers')
-rw-r--r--apps/drivers/px4io/px4io.cpp39
1 files changed, 20 insertions, 19 deletions
diff --git a/apps/drivers/px4io/px4io.cpp b/apps/drivers/px4io/px4io.cpp
index 332d4f882..70b289fd6 100644
--- a/apps/drivers/px4io/px4io.cpp
+++ b/apps/drivers/px4io/px4io.cpp
@@ -652,40 +652,41 @@ PX4IO::config_send()
/* maintaing the standard order of Roll, Pitch, Yaw, Throttle */
param_get(param_find("RC_MAP_ROLL"), &val);
- cfg.rc_map[0] = (uint8_t)val;
+ cfg.rc_map[0] = val;
param_get(param_find("RC_MAP_PITCH"), &val);
- cfg.rc_map[1] = (uint8_t)val;
+ cfg.rc_map[1] = val;
param_get(param_find("RC_MAP_YAW"), &val);
- cfg.rc_map[2] = (uint8_t)val;
+ cfg.rc_map[2] = val;
param_get(param_find("RC_MAP_THROTTLE"), &val);
- cfg.rc_map[3] = (uint8_t)val;
+ cfg.rc_map[3] = val;
/* set the individual channel properties */
char nbuf[16];
+ float float_val;
for (unsigned i = 0; i < 4; i++) {
- sprintf(nbuf, "RC%d_MIN", i);
- param_get(param_find(nbuf), &val);
- cfg.rc_min[i] = (uint16_t)val;
+ sprintf(nbuf, "RC%d_MIN", i + 1);
+ param_get(param_find(nbuf), &float_val);
+ cfg.rc_min[i] = float_val;
}
for (unsigned i = 0; i < 4; i++) {
- sprintf(nbuf, "RC%d_TRIM", i);
- param_get(param_find(nbuf), &val);
- cfg.rc_trim[i] = (uint16_t)val;
+ sprintf(nbuf, "RC%d_TRIM", i + 1);
+ param_get(param_find(nbuf), &float_val);
+ cfg.rc_trim[i] = float_val;
}
for (unsigned i = 0; i < 4; i++) {
- sprintf(nbuf, "RC%d_MAX", i);
- param_get(param_find(nbuf), &val);
- cfg.rc_max[i] = (uint16_t)val;
+ sprintf(nbuf, "RC%d_MAX", i + 1);
+ param_get(param_find(nbuf), &float_val);
+ cfg.rc_max[i] = float_val;
}
for (unsigned i = 0; i < 4; i++) {
- sprintf(nbuf, "RC%d_REV", i);
- param_get(param_find(nbuf), &val);
- cfg.rc_rev[i] = (uint16_t)val;
+ sprintf(nbuf, "RC%d_REV", i + 1);
+ param_get(param_find(nbuf), &float_val);
+ cfg.rc_rev[i] = float_val;
}
for (unsigned i = 0; i < 4; i++) {
- sprintf(nbuf, "RC%d_DZ", i);
- param_get(param_find(nbuf), &val);
- cfg.rc_dz[i] = (uint16_t)val;
+ sprintf(nbuf, "RC%d_DZ", i + 1);
+ param_get(param_find(nbuf), &float_val);
+ cfg.rc_dz[i] = float_val;
}
ret = hx_stream_send(_io_stream, &cfg, sizeof(cfg));