FreeCalypso > hg > fc-magnetite
view src/cs/layer1/gtt_include/ctm/tonemod.h @ 635:baa0a02bc676
niq32.c DTR handling restored for targets that have it
TI's original TCS211 fw treated GPIO 3 as the DTR input (wired so on C-Sample
and D-Sample boards, also compatible with Leonardo and FCDEV3B which have a
fixed pull-down resistor on this GPIO line), and the code in niq32.c called
UAF_DTRInterruptHandler() (implemented in uartfax.c) from the
IQ_KeypadGPIOHandler() function. But on Openmoko's GTA02 with their official
fw this GPIO is a floating input, all of the DTR handling code in uartfax.c
including the interrupt logic is still there, but the hobbled TCS211-20070608
semi-src delivery which OM got from TI contained a change in niq32.c (which
had been kept in FC until now) that removed the call to
UAF_DTRInterruptHandler() as part of those not-quite-understood "CC test"
hacks.
The present change fixes this bug at a long last: if we are building fw for a
target that has TI's "classic" DTR & DCD GPIO arrangement (dsample, fcmodem and
gtm900), we bring back all of TI's original code in both uartfax.c and niq32.c,
whereas if we are building fw for a target that does not use this classic GPIO
arrangement, the code in niq32.c goes back to what we got from OM and all
DTR & DCD code in uartfax.c is conditioned out. This change also removes the
very last remaining bit of "CC test" bogosity from our FreeCalypso code base.
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Sun, 19 Jan 2020 01:41:35 +0000 |
| parents | 945cf7f506b2 |
| children |
line wrap: on
line source
/* ******************************************************************************* * * COPYRIGHT (C) 2000 BY ERICSSON EUROLAB DEUTSCHLAND GmbH * 90411 NUERNBERG, GERMANY, Tel Int + 49 911 5217 100 * * The program(s) may be used and/or copied only with the * written permission from Ericsson or in accordance * with the terms and conditions stipulated in the agreement or * contract under which the program(s) have been supplied. * * Changes since October 13, 2000: * - The type mod_state_t includes a new member txbits_fifo_state now. * ******************************************************************************* * * File : tonemod.h * Purpose : header file for tonemod.c * ******************************************************************************* */ #ifndef tonemod_h #define tonemod_h "$Id: $" /* ******************************************************************************* * INCLUDE FILES ******************************************************************************* */ #include <fifo.h> /* ******************************************************************************* * DECLARATION OF PROTOTYPES ******************************************************************************* */ /* Define a type for the state variable of the function tonemod() */ typedef struct { WORD16 cntModulatedSamples; WORD16 actualBits[2]; fifo_state_t txbits_fifo_state; } mod_state_t; /* ---------------------------------------------------------------------- */ /* Function init_tonemod() */ /* *********************** */ /* This function has to be executed before tonemod() can be used. */ /* ---------------------------------------------------------------------- */ void init_tonemod(mod_state_t *mod_state); /* ---------------------------------------------------------------------- */ /* Function tonemod() */ /* ****************** */ /* Modulator of the Cellular Text Telephone Modem. */ /* The input vector bits_in must contain the bits that have to be */ /* transmitted. The length of bits_in must be even because always two */ /* bits are coded in parallel. */ /* Bits are either unipolar (i.e. {0, 1}) or bipolar (i.e. {-1, +1)}. */ /* The length of the output vector tones_out must be 20 times longer than */ /* the length of bits_in, since each pair of two bits is coded within a */ /* frame of 40 audio samples. */ /* ---------------------------------------------------------------------- */ void tonemod(WORD16 *tones_out, WORD16 *bits_in, WORD16 num_samples_tones_out, WORD16 num_bits_in, mod_state_t *mod_state); #endif
