diff src/cs/drivers/drv_app/fchg/bsim_start.c @ 254:4533ef63fdb0

FCHG BSIM: init_percent logic implemented
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 12 May 2021 23:01:28 +0000
parents
children aec644728174
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cs/drivers/drv_app/fchg/bsim_start.c	Wed May 12 23:01:28 2021 +0000
@@ -0,0 +1,27 @@
+/*
+ * This module implements a boot-time function for BSIM mode:
+ * figuring out the initial battery percentage to be reported.
+ */
+
+#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"
+
+void bsim_init_percent(void)
+{
+	UINT16 i;
+
+	for (i = 0; i < pwr_ctrl->nb_percent_thresh; i++) {
+		if (pwr_ctrl->batt.percent_thresh[i].remain_capa ==
+		    pwr_ctrl->bsim.init_percent) {
+			pwr_ctrl->curr_disch_thresh = i;
+			return;
+		}
+	}
+	rvf_send_trace("BSIM boot: invalid init_percent setting", 39,
+			pwr_ctrl->bsim.init_percent, RV_TRACE_LEVEL_ERROR,
+			FCHG_USE_ID);
+	pwr_ctrl->curr_disch_thresh = 0;
+}