diff src/g23m-gsm/alr2/alr_csf.c @ 3:b4c81ea2d291

src/g23m-gsm/alr2: initial import from Magnetite
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 15 Jul 2018 04:43:28 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/g23m-gsm/alr2/alr_csf.c	Sun Jul 15 04:43:28 2018 +0000
@@ -0,0 +1,209 @@
+/*
++-----------------------------------------------------------------------------
+|  Project :  GSM-PS
+|  Modul   :  alr_CSF
++-----------------------------------------------------------------------------
+|  Copyright 2002 Texas Instruments Berlin, AG
+|                 All rights reserved.
+|
+|                 This file is confidential and a trade secret of Texas
+|                 Instruments Berlin, AG
+|                 The receipt of or possession of this file does not convey
+|                 any rights to reproduce or disclose its contents or to
+|                 manufacture, use, or sell anything it may describe, in
+|                 whole, or in part, without the specific written consent of
+|                 Texas Instruments Berlin, AG.
++-----------------------------------------------------------------------------
+|  Purpose :  This Modul defines the customer specific functions.
++-----------------------------------------------------------------------------
+*/
+
+#ifndef ALR_CSF_C
+#define ALR_CSF_C
+
+#define ENTITY_PL
+
+/*==== INCLUDES ===================================================*/
+#include <string.h>
+#include <stdlib.h>
+#include <ctype.h>
+#include "typedefs.h"
+#include "pconst.cdg"
+#include "mconst.cdg"
+#include "message.h"
+#include "ccdapi.h"
+#include "vsi.h"
+#include "custom.h"
+#include "gsm.h"
+#include "prim.h"
+#include "cnf_alr.h"
+#include "mon_alr.h"
+#include "pei.h"
+#include "tok.h"
+
+#include "pcm.h"
+#ifdef GPRS
+#include "alr_gprs.h"
+#endif
+
+#ifdef _TMS470
+#include "inth/iq.h"
+#include "armio/armio.h"
+#endif  /* _TMS470 */
+
+#include "alr.h"
+
+
+/*==== IMPORT =====================================================*/
+
+/*==== EXPORT =====================================================*/
+
+/*==== PRIVAT =====================================================*/
+
+/*==== VARIABLES ==================================================*/
+
+/*==== FUNCTIONS ==================================================*/
+
+/*
++--------------------------------------------------------------------+
+| PROJECT : GSM-PS (8403)       MODULE  : alr_CSF                    |
+| STATE   : code                ROUTINE : csf_show_version           |
++--------------------------------------------------------------------+
+
+  PURPOSE : Trace Layer 1 DSP version numbers
+
+*/
+
+GLOBAL const void csf_show_version (T_TST_TEST_HW_CON  *ver)
+{
+#if defined (_TMS470)
+  USHORT build, hw, jtag, rev;
+
+  /*
+   * Retrieve hardware info and build from library
+   */
+  hw = 0;
+
+  build = IQ_GetBuild();
+  jtag  = IQ_GetJtagId();
+  rev   = IQ_GetRevision();
+
+  TRACE_EVENT_P4 ("Build=%04d HW ver=%04X, jtag=%04X, rev=%04X", build, hw, jtag, rev);
+
+  if (ver)
+  {
+    /*
+     * Retrieve Layer 1 info from primitive
+     */
+    TRACE_EVENT_P3 ("DSP version/patch=%04X, %04x, chksum=%04X",
+                    ver->dsp_code_version,
+                    ver->dsp_patch_version,
+                    ver->dsp_checksum);
+    TRACE_EVENT_P3 ("MCU version ALR=%04X, GPRS=%04X, TM=%04X",
+                    ver->mcu_alr_version,
+                    ver->mcu_gprs_version,
+                    ver->mcu_tm_version);
+    PFREE (ver);
+  }
+#else  /* _TMS470  */
+  if (ver)
+  {
+    PFREE (ver);
+  }
+#endif  /* _TMS470 */
+}
+
+#if !defined NTRACE
+/*
+ * The following monitor capabilities are used by the Condat RT system.
+ * They are only included in the trace version of protocol stack.
+/*
++--------------------------------------------------------------------+
+| PROJECT : GSM-PS (6147)       MODULE  : alr_CSF                    |
+| STATE   : code                ROUTINE : trc_mon_counter_idle       |
++--------------------------------------------------------------------+
+
+  PURPOSE : traces the downlink counter values in idle mode if a change
+            occur.
+
+*/
+
+UBYTE v_mon_counter_idle = 0;
+
+GLOBAL void trc_mon_counter_idle (UBYTE act_dlt, UBYTE max_dlt)
+{
+  if (v_mon_counter_idle)
+  {
+    /*
+     * only if monitoring is enabled
+     */
+    PALLOC (mon_counter_idle, MON_COUNTER_IDLE_IND);
+
+    mon_counter_idle->act_dlt = act_dlt;
+    mon_counter_idle->max_dlt = max_dlt;
+
+    PSENDX(RR, mon_counter_idle);
+  }
+}
+
+/*
++--------------------------------------------------------------------+
+| PROJECT : GSM-PS (6147)       MODULE  : alr_CSF                    |
+| STATE   : code                ROUTINE : trc_mon_counter_dedi       |
++--------------------------------------------------------------------+
+
+  PURPOSE : traces the radiolink counter values in dedicated mode
+            if a change occur.
+
+*/
+
+UBYTE v_mon_counter_dedi = 0;
+
+GLOBAL void trc_mon_counter_dedi (UBYTE act_rlt, UBYTE max_rlt)
+{
+  if (v_mon_counter_dedi)
+  {
+    /*
+     * only if monitoring is enabled
+     */
+    PALLOC (mon_counter_dedi, MON_COUNTER_DEDI_IND);
+
+    mon_counter_dedi->act_rlt = act_rlt;
+    mon_counter_dedi->max_rlt = max_rlt;
+
+    PSENDX(RR, mon_counter_dedi);
+  }
+}
+
+#endif /* !NTRACE */
+
+/*
+ * Function added in FreeCalypso to support Openmoko's AT@BAND command
+ * without making ACI include ALR header files.
+ */
+
+GLOBAL void alr_get_band_of_serving_cell (char *strbuf)
+{
+    switch(alr_data->sc_band)
+    {
+    case BAND_GSM_900:
+      strcpy(strbuf, "GSM 900");
+      break;
+    case BAND_DCS_1800:
+      strcpy(strbuf, "DCS 1800");
+      break;
+    case BAND_PCS_1900:
+      strcpy(strbuf, "PCS 1900");
+      break;
+    case BAND_E_GSM:
+      strcpy(strbuf, "EGSM");
+      break;
+    case BAND_GSM_850:
+      strcpy(strbuf, "GSM 850");
+      break;
+    default:
+      strcpy(strbuf, "Unknown");
+    }
+}
+
+#endif