FreeCalypso > hg > fc-tourmaline
view src/cs/drivers/drv_app/fchg/fchg_ffs_init.c @ 266:160a5b3a076c
new ABB_SLEEP_RESTRICTION definition in fc-target.h
When we first introduced the mechanism to suppress ABB superdeep sleep
on targets with LCDs powered from Iota VRIO, we made it conditional on
CONFIG_TARGET_LUNA. This conditional is now being generalized: the
feature in question is now conditionalized on the new ABB_SLEEP_RESTRICTION
preprocessor symbol, to be defined in targets/*.h for those targets
that need it. The new ABB_SLEEP_RESTRICTION definition is being added
to targets/luna[12].h to keep the actual logic unchanged.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 02 Jun 2021 02:12:14 +0000 |
parents | 769cf6273fe4 |
children |
line wrap: on
line source
/* * 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/batterytab2", &pwr_ctrl->batt, sizeof(struct battery_config)); if (rc >= (int)(sizeof(T_PWR_THRESHOLDS) * MIN_PERCENT_THRESH + 4)) { pwr_ctrl->nb_percent_thresh = (rc - 4) / 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); } } void pwr_check_ffs_bsim(void) { int rc; rc = ffs_file_read("/etc/batterysim", &pwr_ctrl->bsim, sizeof(struct bsim_config)); if (rc == sizeof(struct bsim_config)) { pwr_ctrl->bsim_mode = TRUE; rvf_send_trace( "FCHG: operating in battery simulation mode per FFS config!", 58, NULL_PARAM, RV_TRACE_LEVEL_DEBUG_HIGH, FCHG_USE_ID); } else { pwr_ctrl->bsim_mode = FALSE; } }