FreeCalypso > hg > fc-magnetite
comparison src/aci2/aci/ati_bas.c @ 346:550cfa9e1ca7
aci2: AT+CBC reimplemented in terms of FCHG API
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 15 Dec 2017 22:45:37 +0000 |
parents | d2cbdbffc528 |
children | 92dbfa906f66 |
comparison
equal
deleted
inserted
replaced
345:3a7810ca74e2 | 346:550cfa9e1ca7 |
---|---|
58 #include "aci_prs.h" | 58 #include "aci_prs.h" |
59 | 59 |
60 #include "ati_int.h" | 60 #include "ati_int.h" |
61 | 61 |
62 #ifndef _SIMULATION_ | 62 #ifndef _SIMULATION_ |
63 #include "ffs\ffs.h" | 63 #include "ffs/ffs.h" |
64 #endif | 64 #endif |
65 | 65 |
66 #ifdef FF_ATI_BAT | 66 #ifdef FF_ATI_BAT |
67 | 67 |
68 #include "typedefs.h" | 68 #include "typedefs.h" |
75 | 75 |
76 #include "cl_imei.h" | 76 #include "cl_imei.h" |
77 #include "cmh_ss.h" | 77 #include "cmh_ss.h" |
78 | 78 |
79 #include "fc-target.cfg" | 79 #include "fc-target.cfg" |
80 #include "rv/rv_defined_swe.h" // for RVM_FCHG_SWE | |
81 #include "fchg/fchg_api.h" | |
80 | 82 |
81 LOCAL T_ATI_RSLT aciPrcsPlusCG (UBYTE srcId, CHAR* cl, CHAR* ef); | 83 LOCAL T_ATI_RSLT aciPrcsPlusCG (UBYTE srcId, CHAR* cl, CHAR* ef); |
82 LOCAL T_ATI_RSLT setaciPrcsVolLevel ( CHAR* cl, UBYTE device ); | 84 LOCAL T_ATI_RSLT setaciPrcsVolLevel ( CHAR* cl, UBYTE device ); |
83 LOCAL T_ATI_RSLT tesaciPrcsVolLevel ( UBYTE srcId, CHAR* cl, UBYTE device ); | 85 LOCAL T_ATI_RSLT tesaciPrcsVolLevel ( UBYTE srcId, CHAR* cl, UBYTE device ); |
84 LOCAL T_ATI_RSLT queaciPrcsVolLevel ( UBYTE srcId, CHAR* cl, UBYTE device ); | 86 LOCAL T_ATI_RSLT queaciPrcsVolLevel ( UBYTE srcId, CHAR* cl, UBYTE device ); |
1743 #define ACI_BCS_NoBatt 2 | 1745 #define ACI_BCS_NoBatt 2 |
1744 #define ACI_BCS_PowerFault 3 | 1746 #define ACI_BCS_PowerFault 3 |
1745 | 1747 |
1746 GLOBAL T_ATI_RSLT atPlusCBC ( char *cl, UBYTE srcId ) | 1748 GLOBAL T_ATI_RSLT atPlusCBC ( char *cl, UBYTE srcId ) |
1747 { | 1749 { |
1748 pwr_Status_Type powerStat; | 1750 struct fchg_user_state fchg; |
1749 UBYTE bcs; | 1751 UBYTE bcs; |
1750 | 1752 |
1751 TRACE_FUNCTION("atPlusCBC()"); | 1753 TRACE_FUNCTION("atPlusCBC()"); |
1752 | 1754 |
1753 if ( pwr_GetStatus ( &powerStat ) NEQ DRV_OK ) | 1755 #ifdef RVM_FCHG_SWE |
1754 { | 1756 if (fchg_get_current_state(&fchg) == RV_OK) |
1755 cmdCmeError ( CME_ERR_Unknown ); | 1757 { |
1756 return ATI_FAIL; | 1758 switch (fchg.chg_state) |
1757 } | |
1758 else | |
1759 { | |
1760 switch ( powerStat.Status ) | |
1761 { | 1759 { |
1762 case ( PWR_EXTPOWER_ON ): | 1760 case FCHG_STATE_CI_CHARGING: |
1763 bcs = ACI_BCS_NoBatt; | 1761 case FCHG_STATE_CV_CHARGING: |
1764 break; | |
1765 | |
1766 case ( PWR_CHARGER_ON ): | |
1767 bcs = ACI_BCS_BattCnctd; | 1762 bcs = ACI_BCS_BattCnctd; |
1768 break; | 1763 break; |
1769 | 1764 |
1770 default: | 1765 default: |
1771 bcs = ACI_BCS_BattPower; | 1766 bcs = ACI_BCS_BattPower; |
1772 break; | |
1773 } | 1767 } |
1774 sprintf(g_sa, "+CBC: %d,%d", bcs, powerStat.ChargeLevel ); | 1768 } |
1775 io_sendMessage(srcId, g_sa, ATI_NORMAL_OUTPUT); | 1769 else |
1776 return ATI_CMPL; | 1770 { |
1777 } | 1771 bcs = ACI_BCS_PowerFault; |
1772 fchg.batt_percent = 0; | |
1773 } | |
1774 #else | |
1775 bcs = ACI_BCS_NoBatt; | |
1776 fchg.batt_percent = 0; | |
1777 #endif | |
1778 | |
1779 sprintf(g_sa, "+CBC: %d,%d", bcs, fchg.batt_percent ); | |
1780 io_sendMessage(srcId, g_sa, ATI_NORMAL_OUTPUT); | |
1781 return ATI_CMPL; | |
1778 } | 1782 } |
1779 | 1783 |
1780 /* | 1784 /* |
1781 +--------------------------------------------------------------------+ | 1785 +--------------------------------------------------------------------+ |
1782 | PROJECT : GSM-F&D (8411) MODULE : ACI_CMD | | 1786 | PROJECT : GSM-F&D (8411) MODULE : ACI_CMD | |