FreeCalypso C139 & Pirelli update

Mychaela Falconia mychaela.falconia at gmail.com
Mon Dec 18 18:09:00 UTC 2017


Hi DS!

> Battery support for the C139 is very cool! It's a great step towards
> a fully usable C139 with a free firmware.

Well, it still doesn't work quite right: I still need to understand
why the battery voltage as measured by the ADC keeps climbing past the
4.2V mark in the CV charging mode, causing the charging process to end
by the overvoltage condition very shortly after the beginning of the
CV phase, while the charging current is still high.

Unfortunately Mot's official fw for the C139 does not emit any debug
traces whatsoever related to the charging process, so it is very
difficult to see what it does.  They removed TI's ETM, but kept the
old non-enhanced Test Mode component in L1, presumably because they
needed this L1TM to do RF calibration on their production line - so I
thought about using the old L1TM ABB register read command to read the
charging-related Iota registers while Mot's fw does its charging
process.  But the numbers it returns are garbage that cannot possibly
be the Iota register values (it returns garbage for all ABB register
read attempts, not just the charging-related registers), so they must
have broken something in that L1TM ABB register read path.

I did capture one set of charging control register values by breaking
into the running fw with tfc139 while it was charging, and then reading
the ABB registers in fc-loadtool - but this method can only capture a
single snapshot at a not-particularly-controlled point, not the full
charging process.

Pirelli's fw is much better in this regard: their charging code is
closely based on TI's old PWR driver, all of that old driver's debug
traces are still there, and we can read the ABB registers while the fw
is running through either ETM or L1TM commands.  My current plan is to
write an rvinterf-based program that will interrogate the running fw
for all of the relevant ABB registers after each "IQ EXT: ADC End"
trace while logging everything, and thus capture a complete picture of
the entire battery charging process as performed by Pirelli's fw.  The
charging hw is sufficiently similar between Mot C1xx and the Pirelli
(or at least it is my understanding) that I hope to be able to port
these observations over to the C139.

I also remember you saying that you have several C11x phones with
4 MiB flash that can run that one special fw version we found with a
linker map with symbols - would you perchance be able to send me one
of those phones?  I never found any C139 fw with symbols, only that
one version for C11x with 4 MiB flash, but we have good reason to
assume that the charging hw and the fw's charging control algorithms
are most likely the same between C11x and C139, thus it seems
promising to reverse-eng the charging process on the C11x and then
port it over to the C139.

Right now FC Magnetite cannot run on C11x phones, not even the 4 MiB
flash version, because it needs 512 KiB of XRAM - but all current FC
Magnetite configs still have CSD, fax and GPRS enabled, sitting as
non-exercisable dead weight in the C139 and Pirelli builds.  One of my
near-term plans is to build hybrid configs with GPRS and FAX_AND_DATA
disabled, and see if the XRAM usage goes down sufficiently to allow a
port to the C11x target.

> I was wondering: how do you measure energy consumption? Do you need
> external equipment such as a scope or multimeter?

My current setup is very crude: I powered the phones under test from a
basic low-end bench power supply (the kind on which you control the
output voltage by turning a knob until the voltage display reads the
desired number) with alligator clips on the battery contacts (a *very*
hacky and poor connection) and simply read the numbers on this bench
supply's built-in ammeter display.  I do not expect particularly high
accuracy from this crude setup, but it was sufficient to confirm my
suspicion about the Pirelli and to reassure me that the same problem
does not occur on the C139.

M~


More information about the Community mailing list