# HG changeset patch # User Mychaela Falconia # Date 1514830991 0 # Node ID 0da72ce64c86ecb59cb6dc5d85b13f362cd434b5 # Parent 65d53dede3b27ada5032a9689f5c00e0f4b01cf6 aci3: AT+CBC reimplemented in terms of FCHG API diff -r 65d53dede3b2 -r 0da72ce64c86 src/g23m-aci/aci/ati_bas.c --- a/src/g23m-aci/aci/ati_bas.c Mon Jan 01 18:11:24 2018 +0000 +++ b/src/g23m-aci/aci/ati_bas.c Mon Jan 01 18:23:11 2018 +0000 @@ -78,6 +78,8 @@ #include "cmh_ss.h" #include "fc-target.cfg" +#include "rv/rv_defined_swe.h" // for RVM_FCHG_SWE +#include "fchg/fchg_api.h" LOCAL T_ATI_RSLT aciPrcsPlusCG (UBYTE srcId, CHAR* cl, CHAR* ef); LOCAL T_ATI_RSLT setaciPrcsVolLevel ( CHAR* cl, UBYTE device ); @@ -1775,36 +1777,38 @@ GLOBAL T_ATI_RSLT atPlusCBC ( char *cl, UBYTE srcId ) { - pwr_Status_Type powerStat; + struct fchg_user_state fchg; UBYTE bcs; TRACE_FUNCTION("atPlusCBC()"); - if ( pwr_GetStatus ( &powerStat ) NEQ DRV_OK ) - { - cmdCmeError ( CME_ERR_Unknown ); - return ATI_FAIL; - } - else +#ifdef RVM_FCHG_SWE + if (fchg_get_current_state(&fchg) == RV_OK) { - switch ( powerStat.Status ) + switch (fchg.chg_state) { - case ( PWR_EXTPOWER_ON ): - bcs = ACI_BCS_NoBatt; - break; - - case ( PWR_CHARGER_ON ): + case FCHG_STATE_CI_CHARGING: + case FCHG_STATE_CV_CHARGING: bcs = ACI_BCS_BattCnctd; break; default: bcs = ACI_BCS_BattPower; - break; } - sprintf(g_sa, "+CBC: %d,%d", bcs, powerStat.ChargeLevel ); - io_sendMessage(srcId, g_sa, ATI_NORMAL_OUTPUT); - return ATI_CMPL; + } + else + { + bcs = ACI_BCS_PowerFault; + fchg.batt_percent = 0; } +#else + bcs = ACI_BCS_NoBatt; + fchg.batt_percent = 0; +#endif + + sprintf(g_sa, "+CBC: %d,%d", bcs, fchg.batt_percent ); + io_sendMessage(srcId, g_sa, ATI_NORMAL_OUTPUT); + return ATI_CMPL; } /*