FreeCalypso > hg > fc-magnetite
diff src/g23m-aci/aci/ati_omcompat.c @ 293:5b2ebc94cae4
aci3: integrated all Openmoko AT commands except AT@BAND
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 02 Sep 2017 17:37:06 +0000 |
parents | |
children | 5e39123540e6 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/g23m-aci/aci/ati_omcompat.c Sat Sep 02 17:37:06 2017 +0000 @@ -0,0 +1,141 @@ +/* + * This module implements those AT commands that were originally invented + * by Openmoko and have been retained in FreeCalypso. + */ + +#ifndef ATI_OMCOMPAT_C +#define ATI_OMCOMPAT_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 "audio/audio_api.h" +#include "abb.h" +#include "dar/dar_api.h" + +/* + * PURPOSE : @ST command (Configure the sidetone level) + */ +GLOBAL T_ATI_RSLT atAtST (char *cl, UBYTE srcId) +{ + char tmp[8]={0}; + INT8 gain = -26; + TRACE_FUNCTION("atAtST()"); + + /* + * input functionality + */ + cl = parse(cl,"s", (LONG)8, tmp); + + gain = atoi(tmp); + + if ( cl ) + { + if ( gain == -23 || gain == -20 || gain == -17 || gain == -14 || gain == -11 || gain == -8 || gain == -5 || gain == -2 || gain == 1 || gain == -26 ) + { + Side_Tone_Write(gain); + return (ATI_CMPL); + } + else + { + cmdCmsError(CMS_ERR_OpNotAllowed); + return (ATI_FAIL); + } + } +} + +GLOBAL T_ATI_RSLT queatAtST (char *cl, UBYTE srcId) +{ + char *me="+ST: "; + INT8 ST1; + + TRACE_FUNCTION("queatAtST()"); + + ST1 = Side_Tone_Read(); + + sprintf(g_sa,"%s%d",me,ST1); + + io_sendMessage(srcId, g_sa, ATI_NORMAL_OUTPUT); + + return (ATI_CMPL); +} + +/* + * PURPOSE : @POFF command (Power Off GSM Modem) + */ + +GLOBAL T_ATI_RSLT atAtPOFF (char *cl, UBYTE srcId) +{ + TRACE_FUNCTION("atAtPOFF"); + + sprintf(g_sa,"%s","OK"); + io_sendMessage(srcId, g_sa, ATI_NORMAL_OUTPUT); + + ABB_Power_Off(); + + return (ATI_CMPL); +} + +/* + * PURPOSE : @RST command (Reset GSM Modem) + */ + +GLOBAL T_ATI_RSLT atAtRST (char *cl, UBYTE srcId) +{ + TRACE_FUNCTION("atAtRST"); + + dar_reset_system(); + + return (ATI_CMPL); +} + +#endif /* ATI_OMCOMPAT_C */ +