view src/g23m-aci/aci/ati_omcompat.c @ 547:c3f2f79dc5b8

l1_rf12.c compiled-in default RF band tables: a round of cleanup * Uncalibrated default g_magic values changed from old Clara RF numbers (yes, Clara, not even Leonardo) to the approximately correct value for our current hw; * Uncalibrated default Rx and Tx channel calibration tables providing neutral correction values: fixed bogus ARFCNs from blind copy-n-paste between different bands; * Restored #if (ORDER2_TX_TEMP_CAL==1) in the Tx temperature compensation tables; * Fully rewrote the big comment before these rf_XXX structures to reflect the current situation. This change is part of the larger transition in FreeCalypso from reverse to forward engineering, from reconstruction of lost original bits to ongoing forward development and maintenance.
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 17 Nov 2018 19:57:34 +0000
parents 5e39123540e6
children
line wrap: on
line source

/*
 * 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"

EXTERN void alr_get_band_of_serving_cell (char *strbuf);

/*
 * 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);
}

/*
 * PURPOSE : @BAND command (Get RF band)
 */

GLOBAL T_ATI_RSLT atAtBAND (char *cl, UBYTE srcId)
{
	TRACE_FUNCTION("atAtBAND");			
	alr_get_band_of_serving_cell(g_sa);
	io_sendMessage(srcId, g_sa, ATI_NORMAL_OUTPUT);

	return (ATI_CMPL);
}

#endif /* ATI_OMCOMPAT_C */