comparison src/g23m-aci/aci/ati_bas.c @ 370:0da72ce64c86

aci3: AT+CBC reimplemented in terms of FCHG API
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 01 Jan 2018 18:23:11 +0000
parents a33da2d26a31
children f5a1a37cbece
comparison
equal deleted inserted replaced
369:65d53dede3b2 370:0da72ce64c86
76 #include "cl_imei.h" 76 #include "cl_imei.h"
77 #include "ksd.h" 77 #include "ksd.h"
78 #include "cmh_ss.h" 78 #include "cmh_ss.h"
79 79
80 #include "fc-target.cfg" 80 #include "fc-target.cfg"
81 #include "rv/rv_defined_swe.h" // for RVM_FCHG_SWE
82 #include "fchg/fchg_api.h"
81 83
82 LOCAL T_ATI_RSLT aciPrcsPlusCG (UBYTE srcId, CHAR* cl, CHAR* ef); 84 LOCAL T_ATI_RSLT aciPrcsPlusCG (UBYTE srcId, CHAR* cl, CHAR* ef);
83 LOCAL T_ATI_RSLT setaciPrcsVolLevel ( CHAR* cl, UBYTE device ); 85 LOCAL T_ATI_RSLT setaciPrcsVolLevel ( CHAR* cl, UBYTE device );
84 LOCAL T_ATI_RSLT tesaciPrcsVolLevel ( UBYTE srcId, CHAR* cl, UBYTE device ); 86 LOCAL T_ATI_RSLT tesaciPrcsVolLevel ( UBYTE srcId, CHAR* cl, UBYTE device );
85 LOCAL T_ATI_RSLT queaciPrcsVolLevel ( UBYTE srcId, CHAR* cl, UBYTE device ); 87 LOCAL T_ATI_RSLT queaciPrcsVolLevel ( UBYTE srcId, CHAR* cl, UBYTE device );
1773 #define ACI_BCS_NoBatt 2 1775 #define ACI_BCS_NoBatt 2
1774 #define ACI_BCS_PowerFault 3 1776 #define ACI_BCS_PowerFault 3
1775 1777
1776 GLOBAL T_ATI_RSLT atPlusCBC ( char *cl, UBYTE srcId ) 1778 GLOBAL T_ATI_RSLT atPlusCBC ( char *cl, UBYTE srcId )
1777 { 1779 {
1778 pwr_Status_Type powerStat; 1780 struct fchg_user_state fchg;
1779 UBYTE bcs; 1781 UBYTE bcs;
1780 1782
1781 TRACE_FUNCTION("atPlusCBC()"); 1783 TRACE_FUNCTION("atPlusCBC()");
1782 1784
1783 if ( pwr_GetStatus ( &powerStat ) NEQ DRV_OK ) 1785 #ifdef RVM_FCHG_SWE
1784 { 1786 if (fchg_get_current_state(&fchg) == RV_OK)
1785 cmdCmeError ( CME_ERR_Unknown ); 1787 {
1786 return ATI_FAIL; 1788 switch (fchg.chg_state)
1787 }
1788 else
1789 {
1790 switch ( powerStat.Status )
1791 { 1789 {
1792 case ( PWR_EXTPOWER_ON ): 1790 case FCHG_STATE_CI_CHARGING:
1793 bcs = ACI_BCS_NoBatt; 1791 case FCHG_STATE_CV_CHARGING:
1794 break;
1795
1796 case ( PWR_CHARGER_ON ):
1797 bcs = ACI_BCS_BattCnctd; 1792 bcs = ACI_BCS_BattCnctd;
1798 break; 1793 break;
1799 1794
1800 default: 1795 default:
1801 bcs = ACI_BCS_BattPower; 1796 bcs = ACI_BCS_BattPower;
1802 break;
1803 } 1797 }
1804 sprintf(g_sa, "+CBC: %d,%d", bcs, powerStat.ChargeLevel ); 1798 }
1805 io_sendMessage(srcId, g_sa, ATI_NORMAL_OUTPUT); 1799 else
1806 return ATI_CMPL; 1800 {
1807 } 1801 bcs = ACI_BCS_PowerFault;
1802 fchg.batt_percent = 0;
1803 }
1804 #else
1805 bcs = ACI_BCS_NoBatt;
1806 fchg.batt_percent = 0;
1807 #endif
1808
1809 sprintf(g_sa, "+CBC: %d,%d", bcs, fchg.batt_percent );
1810 io_sendMessage(srcId, g_sa, ATI_NORMAL_OUTPUT);
1811 return ATI_CMPL;
1808 } 1812 }
1809 1813
1810 /* 1814 /*
1811 +--------------------------------------------------------------------+ 1815 +--------------------------------------------------------------------+
1812 | PROJECT : GSM-F&D (8411) MODULE : ACI_CMD | 1816 | PROJECT : GSM-F&D (8411) MODULE : ACI_CMD |