view src/cs/drivers/drv_app/fchg/fchg_default_batt.c @ 283:d9e3f3e293ac

etm_audio.c: fix off-by-one error in auw of FIR coefficients The implementation of auw operation for UL or DL FIR upload had this bug: the number of 16-bit shortwords copied into the RVF-allocated temporary buffer was one too many, causing memory corruption errors. The present change fixes this bug.
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 08 Nov 2021 02:54:04 +0000
parents 75067af48bfd
children
line wrap: on
line source

/*
 * 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},	/* 4 bars */
	{3882, 65},
	{3847, 60},
	{3805, 55},
	{3786, 50},	/* 3 bars */
	{3771, 45},
	{3759, 40},
	{3750, 35},
	{3745, 30},
	{3737, 25},	/* 2 bars */
	{3719, 20},
	{3688, 15},
	{3663, 10},
	{3539, 5},	/* 1 bar */
	{3370, 0}
};

static const UINT8 default_batt_bars_table[NB_BARS_THRESH] = {6, 10, 15, 19};

void pwr_set_default_batt_table(void)
{
	memcpy(pwr_ctrl->batt.percent_thresh, default_batt_table,
		sizeof default_batt_table);
	pwr_ctrl->nb_percent_thresh = sizeof(default_batt_table) /
				      sizeof(T_PWR_THRESHOLDS);
	memcpy(pwr_ctrl->batt.bars_thresh, default_batt_bars_table,
		sizeof default_batt_bars_table);
}