diff src/cs/drivers/drv_app/fchg/fchg_default_batt.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_default_batt.c	Fri May 15 01:28:16 2020 +0000
@@ -0,0 +1,43 @@
+/*
+ * This module provides the default table of battery State-of-Charge
+ * thresholds in the absence of a customized table in FFS.
+ *
+ * The present default table has been taken from Pirelli's firmware.
+ */
+
+#include "fchg/fchg_env.h"
+#include "fchg/fchg_func_i.h"
+#include "rv/rv_general.h"
+#include <string.h>
+
+static const T_PWR_THRESHOLDS default_batt_table[] = {
+	{4170, 100},
+	{4120, 95},
+	{4070, 90},
+	{4030, 85},
+	{3964, 80},
+	{3930, 75},
+	{3900, 70},
+	{3882, 65},
+	{3847, 60},
+	{3805, 55},
+	{3786, 50},
+	{3771, 45},
+	{3759, 40},
+	{3750, 35},
+	{3745, 30},
+	{3737, 25},
+	{3719, 20},
+	{3688, 15},
+	{3663, 10},
+	{3539, 5},
+	{3370, 0}
+};
+
+void pwr_set_default_batt_table(void)
+{
+	memcpy(pwr_ctrl->batt_thresholds, default_batt_table,
+		sizeof default_batt_table);
+	pwr_ctrl->nb_thresholds = sizeof(default_batt_table) /
+				  sizeof(T_PWR_THRESHOLDS);
+}