FreeCalypso > hg > ffs-editor
diff src/cs/drivers/drv_app/fchg/fchg_ffs_init.c @ 0:92470e5d0b9e
src: partial import from FC Selenite
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 15 May 2020 01:28:16 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cs/drivers/drv_app/fchg/fchg_ffs_init.c Fri May 15 01:28:16 2020 +0000 @@ -0,0 +1,51 @@ +/* + * In this module we implement the loading of the charging config + * and the battery table from FFS. + */ + +#include "fchg/fchg_env.h" +#include "fchg/fchg_func_i.h" +#include "rv/rv_general.h" +#include "rvf/rvf_api.h" +#include "rvm/rvm_use_id_list.h" +#include "ffs/ffs_api.h" + +void pwr_load_ffs_charging_config(void) +{ + int rc; + + rc = ffs_file_read("/etc/charging", &pwr_ctrl->config, + sizeof(struct charging_config)); + if (rc == sizeof(struct charging_config)) { + pwr_ctrl->config_present = TRUE; + rvf_send_trace( + "FCHG: read charging config from FFS, charging enabled", 53, + NULL_PARAM, RV_TRACE_LEVEL_DEBUG_HIGH, + FCHG_USE_ID); + } else { + pwr_ctrl->config_present = FALSE; + rvf_send_trace( + "FCHG: no charging config in FFS, will not charge", 48, + NULL_PARAM, RV_TRACE_LEVEL_WARNING, + FCHG_USE_ID); + } +} + +void pwr_load_ffs_batt_table(void) +{ + int rc; + + rc = ffs_file_read("/etc/batterytab", pwr_ctrl->batt_thresholds, + sizeof(pwr_ctrl->batt_thresholds)); + if (rc >= (int)sizeof(T_PWR_THRESHOLDS)) { + pwr_ctrl->nb_thresholds = rc / sizeof(T_PWR_THRESHOLDS); + rvf_send_trace("FCHG: battery table loaded from FFS", 35, + NULL_PARAM, RV_TRACE_LEVEL_DEBUG_HIGH, + FCHG_USE_ID); + } else { + pwr_set_default_batt_table(); + rvf_send_trace("FCHG: using compiled-in default battery table", + 45, NULL_PARAM, RV_TRACE_LEVEL_DEBUG_HIGH, + FCHG_USE_ID); + } +}