FreeCalypso > hg > fc-tourmaline
view src/cs/drivers/drv_app/fchg/fchg_convert_mA.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 | 09ea37852fd6 |
children |
line wrap: on
line source
/* * This module implements the fchg_convert_ichg_to_mA() function, * converting charging current (Ichg) measurements from ADC units * to human-friendly mA numbers. In the phone hardware this current * measurement is made with the aid of a current measurement resistor * placed in the charging current path (the Iota chip's MADC actually * measures the voltage across this resistor, between VCCS and VBATS * terminals), and it just so happens that different phone designers * have chosen different values for this current measurement resistor: * Pirelli DP-L10 uses 0.20R, following TI's canon, whereas Mot C1xx * phones use 0.15R. Because of these different resistor values, * the formula for converting ADC units to mA becomes target-dependent. */ #include "fchg/fchg_api.h" #include "fc-target.h" UINT16 fchg_convert_ichg_to_mA(UINT16 ichg) { #ifdef CONFIG_TARGET_COMPAL /* formula for 0.15R */ return (ichg * 875 / 768); #else /* formula for 0.20R */ return (ichg * 875 / 1024); #endif }