FreeCalypso > hg > fc-magnetite
diff src/aci2/aci/ati_fchg.c @ 347:78d1df0b8487
aci2: AT%CBC and AT@CHARGE implemented
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 16 Dec 2017 00:37:43 +0000 |
parents | |
children | d719315db04a |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/aci2/aci/ati_fchg.c Sat Dec 16 00:37:43 2017 +0000 @@ -0,0 +1,96 @@ +/* + * The non-standard FreeCalypso-added AT commands implemented in this module + * expose the API of FreeCalypso battery charging driver FCHG. + */ + +#ifndef ATI_FCHG_C +#define ATI_FCHG_C + +#include "aci_all.h" + +#include <ctype.h> +#include <string.h> + +#include "aci_cmh.h" +#include "ati_cmd.h" +#include "aci_cmd.h" +#include "aci_io.h" +#include "aci_cmd.h" +#include "l4_tim.h" +#include "line_edit.h" +#include "aci_lst.h" + +#include "pcm.h" +#include "audio.h" +#include "aci.h" +#include "rx.h" +#include "pwr.h" +#include "l4_tim.h" + +#ifdef GPRS +#ifdef DTI +#include "dti.h" +#include "dti_conn_mng.h" +#include "dti_cntrl_mng.h" +#endif /* DTI */ +#include "gaci.h" +#include "gaci_cmh.h" +#include "gaci_cmd.h" +#endif /* GPRS */ + +#include "aci_mem.h" +#include "aci_prs.h" + +#include "ati_int.h" + +#ifndef _SIMULATION_ +#include "ffs/ffs.h" +#endif + +#ifdef FF_ATI_BAT + +#include "typedefs.h" +#include "gdd.h" +#include "bat.h" + +#include "ati_bat.h" + +#endif /*FF_ATI_BAT*/ + +#include "rv/rv_defined_swe.h" // for RVM_FCHG_SWE + +#ifdef RVM_FCHG_SWE +#include "fchg/fchg_api.h" + +/* AT%CBC - customized alternative to standard AT+CBC */ +GLOBAL T_ATI_RSLT atPercentCBC ( char *cl, UBYTE srcId ) +{ + struct fchg_user_state fchg; + + TRACE_FUNCTION("atPercentCBC()"); + if (fchg_get_current_state(&fchg) != RV_OK) + return ATI_FAIL; + sprintf(g_sa, "%CBC: %d,%d,%d", fchg.chg_state, fchg.batt_mv, + fchg.batt_percent); + io_sendMessage(srcId, g_sa, ATI_NORMAL_OUTPUT); + return ATI_CMPL; +} + +/* AT@CHARGE - manual control of battery charging */ +GLOBAL T_ATI_RSLT atAtCHARGE ( char *cl, UBYTE srcId ) +{ + enum fchg_user_charge_ctrl ctrl; + + TRACE_FUNCTION("atAtCHARGE()"); + cl = parse(cl, "D", &ctrl); + if (!cl) + return ATI_FAIL; + if (fchg_user_charge_control(ctrl) == RV_OK) + return ATI_CMPL; + else + return ATI_FAIL; +} + +#endif /* RVM_FCHG_SWE */ + +#endif /* ATI_FCHG_C */