Allowed custom battery scaling on IO

This commit is contained in:
Lorenz Meier 2013-12-21 12:45:04 +01:00
parent f174ca3ce5
commit 0f0dc5ba06
2 changed files with 16 additions and 2 deletions

View File

@ -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);
}

View File

@ -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