view src/cs/drivers/drv_app/ffs/board/tdata.c @ 273:5caa86ee2cfa

enable L1_NEW_AEC in l1_confg.h (bold change) The AEC function implemented in DSP ROM 3606 on the Calypso silicon we work with is the one that corresponds to L1_NEW_AEC; the same holds for DSP 34 and even for DSP 33 with more recent patch versions. However, TI shipped their TCS211 reference fw with L1_NEW_AEC set to 0, thus driving AEC the old way if anyone tried to enable it, either via AT%Nxxxx or via the audio mode facility. As a result, the fw would try to control features which no longer exist in the DSP (long vs short echo and the old echo suppression level bits), while providing no way to tune the 8 new parameter words added to the DSP's NDB page. The only sensible solution is to bite the bullet and enable L1_NEW_AEC in L1 config, with fallout propagating into RiViera Audio Service T_AUDIO_AEC_CFG structure and into /aud/*.cfg binary file format. The latter fallout will be addressed in further code changes.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 29 Jul 2021 18:32:40 +0000
parents 4e78acac3d88
children
line wrap: on
line source

/******************************************************************************
 * Flash File System (ffs)
 * Idea, design and coding by Mads Meisner-Jensen, mmj@ti.com
 *
 * ffs test data
 *
 * $Id: tdata.c 1.9 Tue, 14 Oct 2003 12:50:00 +0200 tsj $
 *
 ******************************************************************************/

#ifndef TARGET
#include "ffs.cfg"
#endif

#if (TARGET == 1)
#include "chipset.cfg"
#endif

#include "ffs/ffs.h"
#include "ffs/board/drv.h"
#include "ffs/board/tdata.h"

#if (TARGET == 0)
#ifdef WIN32
#include "windows.h"
#else //WIN32
#include "sys/mman.h"
#include "unistd.h"
#endif //WIN32

#include <string.h>
#include <stdlib.h>
#include "stdio.h"
#include "sys/types.h"
#include "sys/stat.h"
#include "fcntl.h"
#endif //TARGET == 0

/******************************************************************************
 * Globals
 ******************************************************************************/

// Buffer for tdata 'HUGE'. In target it point to the flash device, on the
// PC a buffer is allocated and filled with data from a c code file.
char *tdata_buf;

int sdata[TEST_DATA_NUM];

// Initialize test data. 
int test_tdata_init(void)
{
    int i, error, tdatasize, fsize = 60 * 1024;  // Check the file size or?

#ifdef WIN32
    DWORD nbytesread;
	OFSTRUCT lpReOpenBuff;
    HANDLE fd;
    char *fname = "../core.c"; // file to use as test data
#else
    char *fname = "core.c";
    int fd;
#endif
    // Set the size to the maximum image size
    tdatasize = 8 * 1024 * 1024;

    // Open file NOTEME change to readonly
#if (TARGET == 0)    
#ifdef WIN32
    fd = OpenFile(fname, &lpReOpenBuff, OF_READ);
#else 
    fd = open(fname, O_RDONLY, S_IRWXU|S_IRWXG|S_IRWXO);
#endif //WIN32
    if (fd == -1) {
        perror("Failed to open flash image"); exit(1);
    }

    if ((tdata_buf = (char*) malloc(tdatasize)) == 0)
        return EFFS_MEMORY;

#ifdef WIN32
    error = ReadFile(fd, tdata_buf, fsize, &nbytesread, 0);
#else
    error = read(fd, tdata_buf, fsize);
#endif
    if (error < 0) {
        perror("Failed to read file"); exit(1);
    }

#ifdef WIN32
    error = CloseHandle(fd);
#else
    error = close(fd);
#endif
    if (error < 0) {
        perror("Failed to close file"); exit(1);
    }

    // Fill the rest of tdata_buf
    for (i = 1; i < tdatasize/fsize; i++)
        memcpy(&tdata_buf[i], &tdata_buf[0], fsize);
#endif

#if (TARGET == 0)
    // Init tdata
    tdata[TDATA_HUGE] = tdata_buf;
#else
#if (CHIPSET == 12) // Calypso+. Do not read from the secure rom
    tdata[TDATA_HUGE] = (char *) 0x4000000;
#else
    tdata[TDATA_HUGE] = (char *) 0x1;
#endif
#endif //TARGET == 0

    for (i = 0; i < TEST_DATA_NUM; i++) 
        sdata[i] = strlen(tdata[i]);
    
    return EFFS_OK;
}

char *tdata[TEST_DATA_NUM] =
{
    // 0
    "yo",

    // 1
    "NineBytes",

    // 2
    "EighteenCharacters",

    // 3
    "The quick brown fox jumped over the little lazy rabbit then it turned "
    "around and ate the little stupid bunny."
    "The brown fox ate too much and became sick.",

    // 4
    "Foo bar fum fi fo, look high, look low, where it is, i don't know",

    // 5
    "55555",

    // 6
    "Two Canadian guys, Mike and Rob were on the roof, laying tile,"
    "when a sudden gust of wind came and knocked down their ladder." 
    "'I have an idea,' said Mike. 'We'll throw you down, and then"
    "you can pick up the ladder.'" 
    "What, do you think I'm stupid? I have an idea. I'll shine my"
    "flashlight, and you can climb down on the beam of light." 
    "What, do you think I'm stupid? You'll just turn off the"
    "flashlight when I'm halfway there.''",

    // 7
    "7777777",

    // 8
    "88888888",

    // 9
    "999999999",

    // 10
    "dummy"
};