FreeCalypso update: progress with DSP patches and voice calls
Mychaela Falconia
falcon at ivan.Harhan.ORG
Sat Apr 9 16:32:38 CET 2016
Hi DS,
> After more testing, it seems (apart from the AMR bug and the deep sleep
> bug) that leo2moko sets up a kind of filtering for the audio itself -
> when using it, the audio is quite clear, however when using gsm-fw I get
> this background noise that seems to come from nearby interference, such
> as GSM bursts or the serial output. It's entirely possible that once the
> AMR bug is fixed, this audio filtering issue will go away as well.
As I understand it, the Calypso DSP does have some audio filtering
features (FIR and AEC come to mind), but they are controlled (enabled
or disabled, and possibly configured in more complex ways) by a piece
of ARM code in L1 called AUDIO_TASK. TI's firmwares have this "audio
task" enabled in all production configurations (the config with this
feature disabled appears to be bitrotten and doesn't compile), but the
code in question has not been integrated yet in our gcc-built gsm-fw.
As for fixing the higher voice codec bug (appears to affect both AMR
and EFR) and the deep sleep bug, my plan is as follows:
1. Finish deblobbing L1 in the TCS211 environment. If you look in the
tcs211-l1-reconst Hg repository on Bitbucket, you'll see that I've
been making steady progress: l1_ext.lib and l1_int.lib (originally
shipped as blobs) are now rebuilt from the constituent object
modules, and while for some of these modules we still have to use
the original sans-source blobs, many of the L1 objects going into
the build are now recompiled from the sources I've reconstructed -
and in each case the new compilation of the reconstructed C module
produces an object that perfectly matches the corresponding
original blob, often bit for bit!
My goal is to carry this TCS211 L1 reconstruction to the point
where *every* L1 object with the exception of l1p_* (GPRS) and
l1tm_* (calibration and test modes) will be compiled from
reconstructed source, before proceeding to the next step.
(L1TM and GPRS are to be revisited and finished off later in this
order.)
2. Once we have (a sans-GPRS, sans-TM subset of) TCS211 L1 in
recompilable source form in the tcs211-l1-reconst tree, make a
wholesale replacement of L1 in our gcc-built gsm-fw: replace the
current L1 we are using (LoCosto L1 headers and minimally-ported
LoCosto L1 C modules) with the fully reconstructed TCS211 one.
We may likely be able to enable AUDIO_TASK in the same step.
> About developing environments, I've finally settled on Visual Studio.
> Although I don't generally like using proprietary tools, in this case
> I could not find a suitable open-source alternative. Of course this is
> just for browsing the source, building and flashing is still done on
> Linux.
I personally never needed anything more than vi and grep to go from
zero to my current understanding of various TI-based firmwares, and
for all of the development, editing and version reconciliation I've
been doing, but to each their own.
Hasta la Victoria, Siempre,
Mychaela
More information about the Community
mailing list