annotate doc/Modem-operation @ 244:96784b8974eb

Switch_ON(): detect charging mode by CHGPRES bit Consider the following scenario: the phone is on, the user plugs in the charger, and then executes the power-off operation. In the Iota VRPC this sequence translates to a switch-off immediately followed by another switch-on - but the CHGSTS bit doesn't get set on the second switch-on cycle! Disassembly of Pirelli's fw shows that they check the CHGPRES bit, and furthermore, if both CHGPRES and ONBSTS are set, the code they pass to their modified Power_ON_Button() function is the one for charging - so let's adopt the same CHGPRES check and the same priority order for switch-on causes.
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 03 May 2021 06:51:29 +0000
parents a62e5bf88434
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
50
a62e5bf88434 first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 FC Tourmaline stdmodem functional configuration is equivalent to Magnetite
a62e5bf88434 first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 hybrid. The only intentional diff from Magnetite to Tourmaline in the modem
a62e5bf88434 first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 configuration is the change of Nucleus: Magnetite uses the blob version of
a62e5bf88434 first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 Nucleus which came with TCS211-20070608, whereas Tourmaline uses the source
a62e5bf88434 first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 version of Nucleus by Comrade XVilka. It is essentially a change from an
a62e5bf88434 first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 unknown version of Nucleus to a known one, thus it should generally be
a62e5bf88434 first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 considered an improvement - but as always with such changes, extensive
a62e5bf88434 first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 verification and testing needs to be done in order to ensure that nothing got
a62e5bf88434 first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 broken.
a62e5bf88434 first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10
a62e5bf88434 first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 Aside from the one intentional change of Nucleus version, FC Tourmaline is an
a62e5bf88434 first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 entirely new firmware source tree, thus it is always possible that something
a62e5bf88434 first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 could have got broken unintentionally, particularly in rarely-tested areas of
a62e5bf88434 first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 the firmware. Therefore, extensive testing will need to be done before we can
a62e5bf88434 first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 declare Tourmaline stdmodem as officially replacing Magnetite hybrid for stable
a62e5bf88434 first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 modem products.