diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2013-12-21 05:44:41 -0800 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2013-12-21 05:44:41 -0800 |
commit | 0869e24e6e02ce64b818eae6b6ac88760694b710 (patch) | |
tree | 239e4a550e24b823dbe1fe619085f0a54f38bcd5 | |
parent | f174ca3ce5dfe338b79f52de46f127abf1c3aca1 (diff) | |
parent | 3e037d40de2a68b99aa4600f060eab3555f75832 (diff) | |
download | px4-firmware-0869e24e6e02ce64b818eae6b6ac88760694b710.tar.gz px4-firmware-0869e24e6e02ce64b818eae6b6ac88760694b710.tar.bz2 px4-firmware-0869e24e6e02ce64b818eae6b6ac88760694b710.zip |
Merge pull request #557 from PX4/custom_io_scale
Custom io scale
-rw-r--r-- | src/drivers/px4io/px4io.cpp | 16 | ||||
-rw-r--r-- | src/modules/sensors/sensor_params.c | 1 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/drivers/px4io/px4io.cpp b/src/drivers/px4io/px4io.cpp index 9e84bf929..a7f7fce45 100644 --- a/src/drivers/px4io/px4io.cpp +++ b/src/drivers/px4io/px4io.cpp @@ -896,7 +896,23 @@ 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; + + /* set battery voltage scaling */ + param_get(voltage_scaling_param = param_find("BAT_V_SCALE_IO"), &voltage_scaling_val); + + /* send scaling voltage 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); diff --git a/src/modules/sensors/sensor_params.c b/src/modules/sensors/sensor_params.c index 2aa15420a..78d4b410a 100644 --- a/src/modules/sensors/sensor_params.c +++ b/src/modules/sensors/sensor_params.c @@ -195,6 +195,7 @@ PARAM_DEFINE_INT32(RC_RL1_DSM_VCC, 0); /* Relay 1 controls DSM VCC */ #endif PARAM_DEFINE_INT32(RC_DSM_BIND, -1); /* -1 = Idle, 0 = Start DSM2 bind, 1 = Start DSMX bind */ +PARAM_DEFINE_INT32(BAT_V_SCALE_IO, 10000); #ifdef CONFIG_ARCH_BOARD_PX4FMU_V2 PARAM_DEFINE_FLOAT(BAT_V_SCALING, 0.0082f); #else |