view gsm-fw/ccd/ccddata_ccdent.c @ 884:353daaa6014d

gsm-fw/gpf/conf/gsmcomp.c: increased max partition in the voice-only config The code we got from TCS211 had the maximum prim pool partition size set to 900 bytes in the voice-only config (no FAX_AND_DATA, no GPRS) and to 1600 bytes in every other config. As it turns out, this "minimized" config breaks when the AT command interface is used with %CPI enabled, as the responsible code in ATI does an ACI_MALLOC of 1012 bytes. TI may have considered this case to be unsupported usage (perhaps they didn't care about the combination of a voice-only PS with AT command control), but we do want this use case to work without crashing. Solution: I made the largest prim pool the same as it is with FAX_AND_DATA: 3 partitions of 1600 bytes.
author Space Falcon <falcon@ivan.Harhan.ORG>
date Sat, 27 Jun 2015 07:31:30 +0000
parents 970d6199f2c5
children
line wrap: on
line source

/* 
+----------------------------------------------------------------------------- 
|  Project :  
|  Modul   : ccddata_ccdent.c
+----------------------------------------------------------------------------- 
|  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 :  Ccddata abstraction for use in lib/dll. The table ccdent.cdg
|             genereraed by ccdgen is included. 
|             The exported function ccddata_get_ccdent delivers a mapping
|             from an entitiy name (like e.g. "RR") to the generated
|             entity number (CCDENT_RR).
+----------------------------------------------------------------------------- 
*/ 

#define CCDDATA_CCDENT_C
#include <string.h>
#include "typedefs.h"
#include "mconst.cdg"
#include "ccdtable.h"
#include "ccddata.h"

static struct
{
  char* entname;
  int    ccdent;
} ccdenttbl [] =
{
#ifndef CCDDATA_NO_CCDENT
#include "ccdent.cdg"
#endif /* CCDDATA_NO_CCDENT */
{ (char *) NULL , 65535 }
};

short ccddata_get_ccdent (char* entname)
{
  int i = 0;

  for (;;)
  {
    if (!ccdenttbl[i].entname)
      return CCDDATA_CCDENT_INVALID;
    if (!strcmp (ccdenttbl[i].entname, entname))
      return ccdenttbl[i].ccdent;
    ++i;
  }
}

const char * ccddata_get_entname (short ccdent)
{
  int i = 0;

  for (;;)
  {
    if (!ccdenttbl[i].entname)
    {
      return NULL;
    }
    if (ccdenttbl[i].ccdent==ccdent)
    {
      return ccdenttbl[i].entname;
    }
    ++i;
  }
}