fix: AD5941 soft-reset between measurement modes to prevent pH->EIS lockup
This commit is contained in:
parent
3f91159596
commit
cc0685a333
|
|
@ -93,6 +93,9 @@ static uint16_t mv_to_vbias_code(float v_cell_mv)
|
||||||
|
|
||||||
static void echem_init_lp(uint32_t rtia_reg)
|
static void echem_init_lp(uint32_t rtia_reg)
|
||||||
{
|
{
|
||||||
|
AD5940_SoftRst();
|
||||||
|
AD5940_Initialize();
|
||||||
|
|
||||||
CLKCfg_Type clk;
|
CLKCfg_Type clk;
|
||||||
memset(&clk, 0, sizeof(clk));
|
memset(&clk, 0, sizeof(clk));
|
||||||
clk.HFOSCEn = bTRUE;
|
clk.HFOSCEn = bTRUE;
|
||||||
|
|
@ -207,6 +210,9 @@ static float read_current_ua(float rtia_ohms)
|
||||||
|
|
||||||
static void echem_init_adc(void)
|
static void echem_init_adc(void)
|
||||||
{
|
{
|
||||||
|
AD5940_SoftRst();
|
||||||
|
AD5940_Initialize();
|
||||||
|
|
||||||
CLKCfg_Type clk;
|
CLKCfg_Type clk;
|
||||||
memset(&clk, 0, sizeof(clk));
|
memset(&clk, 0, sizeof(clk));
|
||||||
clk.HFOSCEn = bTRUE;
|
clk.HFOSCEn = bTRUE;
|
||||||
|
|
|
||||||
|
|
@ -159,6 +159,10 @@ void eis_init(const EISConfig *cfg)
|
||||||
ctx.sys_clk = 16000000.0f;
|
ctx.sys_clk = 16000000.0f;
|
||||||
resolve_config();
|
resolve_config();
|
||||||
|
|
||||||
|
/* reset to clear stale AFE state from prior measurement mode */
|
||||||
|
AD5940_SoftRst();
|
||||||
|
AD5940_Initialize();
|
||||||
|
|
||||||
CLKCfg_Type clk;
|
CLKCfg_Type clk;
|
||||||
memset(&clk, 0, sizeof(clk));
|
memset(&clk, 0, sizeof(clk));
|
||||||
clk.HFOSCEn = bTRUE;
|
clk.HFOSCEn = bTRUE;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue