aboutsummaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2013-12-21 12:45:04 +0100
committerLorenz Meier <lm@inf.ethz.ch>2013-12-21 12:45:04 +0100
commit0f0dc5ba068d24fb8b339acc8ef850f5f6ea9e47 (patch)
tree131e94ced6f0419de146736b7369c91ab393c139 /src/drivers
parentf174ca3ce5dfe338b79f52de46f127abf1c3aca1 (diff)
downloadpx4-firmware-0f0dc5ba068d24fb8b339acc8ef850f5f6ea9e47.tar.gz
px4-firmware-0f0dc5ba068d24fb8b339acc8ef850f5f6ea9e47.tar.bz2
px4-firmware-0f0dc5ba068d24fb8b339acc8ef850f5f6ea9e47.zip
Allowed custom battery scaling on IO
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/px4io/px4io.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/drivers/px4io/px4io.cpp b/src/drivers/px4io/px4io.cpp
index 9e84bf929..df96fa0bb 100644
--- a/src/drivers/px4io/px4io.cpp
+++ b/src/drivers/px4io/px4io.cpp
@@ -896,8 +896,21 @@ PX4IO::task_main()
/* re-upload RC input config as it may have changed */
io_set_rc_config();
- }
- }
+
+ /* re-set the battery scaling */
+ int32_t voltage_scaling_val;
+ param_t voltage_scaling_param;
+
+ /* see if bind parameter has been set, and reset it to -1 */
+ param_get(voltage_scaling_param = param_find("BAT_V_SCALE_IO"), &voltage_scaling_val);
+
+ /* send channel config to IO */
+ uint16_t scaling = voltage_scaling_val;
+ int pret = io_reg_set(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_VBATT_SCALE, &scaling, 1);
+
+ if (pret != OK) {
+ log("voltage scaling upload failed");
+ }
perf_end(_perf_update);
}