FreeCalypso > hg > fc-magnetite
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 | |