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 | |
