FreeCalypso > hg > fc-magnetite
annotate doc/Handset-goal @ 534:6c96725718c3
armio.c: C11x GPIO setup properly separated from C139
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 05 Nov 2018 17:10:06 +0000 |
parents | 712c5cc0b2a9 |
children |
rev | line source |
---|---|
463
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
1 FreeCalypso end user libre phone goals |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
2 ====================================== |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
3 |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
4 The Mother's primary goal in FreeCalypso is to create (design and build) our |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
5 own FreeCalypso libre phone handset (a Libre Dumbphone) that can replace the |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
6 proprietary Pirelli DP-L10, retaining the following essential qualities of the |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
7 latter: |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
8 |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
9 * a "dumbphone" in the most classic "candybar" form factor with traditional |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
10 dial buttons, NOT a smartphone; |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
11 * a color LCD of a decent size (Pirelli's is 128x128 pixels, ours will be |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
12 176x220 pixels); |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
13 * a loudspeaker that works for both hands-free calls and polyphonic ringtone |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
14 melodies; |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
15 * a USB port that combines charging with a built-in serial interface for |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
16 computer interfacing. |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
17 |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
18 A secondary goal is to put together a firmware version that can be flashed into |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
19 a surplus Motorola C139 or C140 phone (obscenely cheap hardware) and turn those |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
20 originally-proprietary phones into a sort of Libre Dumbphone Lite - functionally |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
21 inferior to our own FreeCalypso Libre Dumbphone because Mot C139/140 hardware |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
22 is significantly inferior to what I seek to build (no loudspeaker, no USB, much |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
23 smaller LCD), but may be attractive to those cheap souls who are unwilling to |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
24 pay for higher-quality hardware. (Doing a similar feat with Pirelli DP-L10 |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
25 hardware - turning it into a Libre Dumbphone by way of aftermarket firmware - |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
26 is not practically feasible: the effort to reverse-eng Pirelli's undocumented |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
27 hardware to the extent necessary for such a feat would cost at least as much |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
28 time and money as designing and building our own Libre Dumbphone hardware, |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
29 hence the latter is clearly preferable.) |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
30 |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
31 The primary goal of entirely new FreeCalypso Libre Phone hardware and the |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
32 secondary goal of FC on the C139 are not mutually exclusive: because we are a |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
33 FLOSS project rather than proprietary sw, we do not artificially restrict what |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
34 hardware our fw can run on and what functionality it can provide: while the |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
35 primary target for our Libre Dumbphone firmware will always be our own hw, |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
36 whatever functionality can work on the more limited Mot C139 hw will work there, |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
37 subject to the limitations of the crippled hw platform. |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
38 |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
39 However, in terms of timeline sequentiality, the critical point is that I, |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
40 Mychaela Falconia, the Mother of FreeCalypso, am not willing to do any more |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
41 work on the UI firmware (for any target) ahead of designing and building the |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
42 first prototype of the just-outlined FC Libre Dumbphone hardware: when it comes |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
43 to the work that *I* am doing, it has to be hardware first, then UI firmware. |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
44 |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
45 But the FreeCalypso codebase is free for everyone, it is free software which |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
46 anyone in the world is free to fork in whatever ways they like, hence for those |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
47 who feel (contrary to my own personal stance) that aftermarket Libre Dumbphone |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
48 firmware for pre-existing hw platforms like Mot C139 is more important than new |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
49 FreeCalypso Libre Dumbphone hardware, the correct solution for those people is |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
50 to get over their fear of programming, roll up their sleeves and do some |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
51 firmware coding of their own. |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
52 |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
53 What we got from TI in terms of firmware |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
54 ======================================== |
219
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 |
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 Phone handset firmware, i.e., fw that makes a phone device work as an untethered |
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 phone and not just a serial-cable-controlled pseudo-modem, requires a few |
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 additional layers of functionality beyond AT-command-controlled modem fw: |
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 |
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 * The hardware-specific LCD driver, called R2D in TI's TCS211 program; |
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 * The actual phone UI implementation, which the cellular industry calls by the |
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 sexist term "MMI" - TI's implementation consists of two components called BMI |
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 and MFW; |
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 * Battery management (monitoring and charging); |
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 * Fairly complex on/off logic to handle all possible combinations of turn-on, |
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 turn-off, charging while "on", charging while "off", charging completed or |
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 failed but charging power source not unplugged yet. |
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 |
463
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
69 The bulk of the UI code resides in the BMI and MFW layers, which sit on top of |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
70 ACI (Application Control Interface), which is the topmost layer of the |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
71 underlying GSM modem firmware stack. We got two different versions of this |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
72 MFW+BMI code from TI: |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
73 |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
74 * The version under src/aci2, used together with the original TCS211 versions |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
75 of G23M PS and ACI components in the legacy 2092 config, has a very unclear |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
76 origin: it came from the internal SVN of an obscure company that made |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
77 AT-command-controlled Calypso modems (*not* complete phones with Calypso UI), |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
78 those people did not use this code themselves at all (their environment was |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
79 not even set up to be able to compile it), and it is totally unclear how they |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
80 came to have that code which they did not use. It *might* correspond to the |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
81 rest of TCS211 fw which we got from the same source, or it might not. |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
82 |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
83 * The version under src/ui3, used in our hybrid configs going forward, has a |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
84 much clearer origin: we took it from TCS3.2_N5.24_M18_V1.11_M23BTH_PSL1_src |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
85 reference firmware for TI's later LoCosto chipset, which was published free |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
86 to the world by Peek Inc. as that company was closing shop. |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
87 |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
88 We are now able to build UI-enabled firmware configs using both versions of TI's |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
89 MFW+BMI code, and there are no significant differences in the quality of the |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
90 phone UI implementation: in both cases it is only a proof of concept, and is |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
91 absolutely not ready for driving a real end user phone: the UI code contains |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
92 crashing and other killer bugs, the battery management driver officially |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
93 endorsed by TI for TCS211 and later programs (LCC for "low cost" unregulated |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
94 chargers) is not appropriate for phones that use simple charging circuits and |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
95 regulated +5 VDC charging power sources (USB or Motorola's C1xx charging |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
96 adapters), and TI's older PWR battery management driver (TI totally removed it |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
97 from TCS211, but we pulled it from the older MV100 source fragments) is |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
98 bitrotten and just generally broken. |
374
3f2dce15278c
doc: new Handset-goal write-up replaces old Handset-configs
Mychaela Falconia <falcon@freecalypso.org>
parents:
313
diff
changeset
|
99 |
3f2dce15278c
doc: new Handset-goal write-up replaces old Handset-configs
Mychaela Falconia <falcon@freecalypso.org>
parents:
313
diff
changeset
|
100 In FreeCalypso we have developed our own battery charging and discharge |
3f2dce15278c
doc: new Handset-goal write-up replaces old Handset-configs
Mychaela Falconia <falcon@freecalypso.org>
parents:
313
diff
changeset
|
101 monitoring driver (FCHG) that works on Mot C1xx and Pirelli DP-L10 phones in |
376
3f1a587b3a84
doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
374
diff
changeset
|
102 the "voice pseudo-modem" configuration (see the Voice-pseudo-modem article), |
3f1a587b3a84
doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
374
diff
changeset
|
103 but we still have the problem of the UI, namely, the lack of one that is |
463
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
104 practically usable. Because TI were in the business of making and selling |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
105 chipsets rather than complete phones, proper phone UI development was something |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
106 they left to their customers, and they provided only a very rough proof of |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
107 concept implementation. |
374
3f2dce15278c
doc: new Handset-goal write-up replaces old Handset-configs
Mychaela Falconia <falcon@freecalypso.org>
parents:
313
diff
changeset
|
108 |
463
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
109 What we have currently |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
110 ====================== |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
111 |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
112 If you wish to play with our current work in progress based on TI's PoC UI code, |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
113 you have 3 configurations (in the ./configure.sh sense) to choose from: |
374
3f2dce15278c
doc: new Handset-goal write-up replaces old Handset-configs
Mychaela Falconia <falcon@freecalypso.org>
parents:
313
diff
changeset
|
114 |
463
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
115 2092 This is our first UI-enabled configuration; it got its name |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
116 because it is a mostly unchanged replica of TI's pdt_2092 |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
117 configuration in the original TCS211 program. This config uses |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
118 the original TCS211 versions of G23M PS (blobs), ACI (source) |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
119 and MFW+BMI (source) components. Data services (FAX_AND_DATA |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
120 and GPRS) are enabled and cannot be disabled because of G23M PS |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
121 blobs. |
374
3f2dce15278c
doc: new Handset-goal write-up replaces old Handset-configs
Mychaela Falconia <falcon@freecalypso.org>
parents:
313
diff
changeset
|
122 |
463
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
123 hybrid-ui This config is the TCS2/TCS3 hybrid counterpart to the above, |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
124 using the new full source versions of G23M PS, ACI and MFW+BMI |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
125 from the TCS3.2/LoCosto source. FAX_AND_DATA and GPRS are |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
126 still enabled. |
374
3f2dce15278c
doc: new Handset-goal write-up replaces old Handset-configs
Mychaela Falconia <falcon@freecalypso.org>
parents:
313
diff
changeset
|
127 |
463
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
128 hybrid-ui-vo Same as hybrid-ui, but with FAX_AND_DATA and GPRS disabled, |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
129 resulting in a lighter build. |
374
3f2dce15278c
doc: new Handset-goal write-up replaces old Handset-configs
Mychaela Falconia <falcon@freecalypso.org>
parents:
313
diff
changeset
|
130 |
463
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
131 All 3 of the above configs can be usefully built for 3 hardware targets: |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
132 dsample, fcdev3b and c139. The resulting firmware will work as follows: |
374
3f2dce15278c
doc: new Handset-goal write-up replaces old Handset-configs
Mychaela Falconia <falcon@freecalypso.org>
parents:
313
diff
changeset
|
133 |
463
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
134 * If you have a real TI-made D-Sample board with the attached test handset (the |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
135 platform that TI's own software engineers used when working on this UI code, |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
136 at least before LoCosto), TI's 176x220 pixel color UI will be displayed on |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
137 the LCD in the handset part of the kit, just the way TI meant it. However, |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
138 because we are missing a piece of code for Clara RF, GSM radio won't work, |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
139 and the UI can only be exercised as it would work in the absence of coverage: |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
140 one can step through the menus and read SIM phonebook entries and saved |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
141 messages, but no calls. See the D-Sample article for the details. |
374
3f2dce15278c
doc: new Handset-goal write-up replaces old Handset-configs
Mychaela Falconia <falcon@freecalypso.org>
parents:
313
diff
changeset
|
142 |
463
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
143 * You can run a UI-enabled firmware build on our FCDEV3B modem board that has |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
144 no physical LCD or keypad hardware, and display TI's 176x220 pixel color UI |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
145 on a connected external host, sending simulated keypresses from the same - |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
146 look in the freecalypso-ui-dev repository for the necessary tools. |
374
3f2dce15278c
doc: new Handset-goal write-up replaces old Handset-configs
Mychaela Falconia <falcon@freecalypso.org>
parents:
313
diff
changeset
|
147 |
463
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
148 * When a UI-enabled firmware config is built for the C139 target, the UI config |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
149 (Bourne shell variable UI_CONFIG in our configuration and Makefile generation |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
150 system) is switched from TI's D-Sample UI (176x220 pix color, |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
151 UI_CONFIG=bigcolor) to their older C-Sample UI: 84x48 pix black & white, |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
152 UI_CONFIG=84x48. This 84x48 pix B&W C-Sample UI is then displayed on the |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
153 96x64 pixel physical LCD on the C139 phone. |
374
3f2dce15278c
doc: new Handset-goal write-up replaces old Handset-configs
Mychaela Falconia <falcon@freecalypso.org>
parents:
313
diff
changeset
|
154 |
463
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
155 If you are interested in the Mot C139 hardware target and you are interested in |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
156 turning our current state of affairs into something that would allow you to use |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
157 your C139 as a practically usable libre phone with FreeCalypso, the Mother |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
158 strongly recommends that you use the hybrid-ui-vo configuration as your starting |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
159 point; working on the old src/aci2 UI code that is slated for retirement because |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
160 it is coupled to a G23M PS version that exists only as binary blobs would be a |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
161 total waste. If you try to use our current hybrid-ui-vo firmware on the C139 |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
162 as a practical phone, the following problems will be the ones that hit you most |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
163 immediately, and therefore would need to be fixed first: |
219
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164 |
463
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
165 * The FCHG driver included in the fw build does monitor the battery state of |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
166 charge as it discharges, and you can query it with the standard AT+CBC command |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
167 using the AT-over-RVTMUX channel on the headset jack serial port, but it is |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
168 not connected to the UI, hence the battery icon on the screen shows no useful |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
169 info. Thus with an end user hat on, you would have no way of knowing if your |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
170 battery is full or almost empty and about to die any second or anywhere in |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
171 between. |
219
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 |
463
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
173 * The firmware similarly supports battery charging, but once again there is |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
174 absolutely no indication in the UI as to the state of the charging process as |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
175 in progress, completion or errors. Instead you can only observe this |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
176 charging process by watching the debug trace output emitted on the headset |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
177 jack serial port. |
219
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178 |
463
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
179 * Every standard commercial end user phone implements a special mode of |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
180 operation that is activated if the user plugs in the charging power source |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
181 while the phone is off: the phone firmware boots just enough to manage the |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
182 battery charging process (the LCD shows nothing but this charging process), |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
183 but does not boot all the way to "full on" operation (SIM bring-up and |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
184 network search) until and unless some designated button is pressed to request |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
185 such full boot. The proof-of-concept code we got from TI does not implement |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
186 this special "charging boot" mode; instead if you connect the charging power |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
187 source to a fully-off phone, the result will be a full boot just as if you |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
188 pressed the red power-on button. This lack of the expected "charging boot" |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
189 mode is bad, as one really needs a "charge while off" mode in order to |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
190 properly recover from a fully discharged battery. |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
191 |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
192 * Every standard commercial end user phone implements some timer logic for the |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
193 power-on button, such that if the phone is fully off, the power button needs |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
194 to be pressed not just momentarily, but held down for some time in order to |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
195 make the phone turn on and boot. This logic provides necessary protection |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
196 from accidental turn-ons: if you are in some place where your phone needs to |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
197 be off and you have turned it off, you don't want it booting back up on its |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
198 own because the button got pressed momentarily from the phone being in your |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
199 pocket or purse. This logic is currently missing. |
219
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
200 |
463
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
201 * The LCD on Mot C139 phones is already small, only 96x64 pixels, but with the |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
202 current firmware using the UI which TI originally created for their C-Sample |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
203 and earlier development boards, the usable area is reduced even further to |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
204 only 84x48 pixels. Likewise the physical LCD is color, but the UI is only |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
205 black&white because the UI code "thinks" it's running on a C-Sample board |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
206 which only had a black&white LCD. Massively reworking the UI code to make |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
207 use of the full 96x64 pixel LCD real estate, along with some colors, ought to |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
208 be essential before this UI can really become fit for end user operation. |
219
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
209 |
463
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
210 Some of these just-listed killer bugs are specific to the C139 target, while |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
211 others will still be there when we have our own HSMBP with a 176x220 pix color |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
212 LCD like on the D-Sample. Those bugs which are not C139-specific will be fixed |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
213 in the process of making our own FreeCalypso Libre Dumbphone based on our own |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
214 hardware, and by virtue of the common code the fixes will benefit the C139 |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
215 target as well. In the case of C139-specific bugs, i.e., those specific to the |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
216 tiny screen size or to the weird (not TI-canonical) way in which the power |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
217 button is wired on C1xx phones, it is not currently known whether or not I |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
218 (Mychaela aka The Mother) will ever be willing to invest significant work into |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
219 these C139-specific issues. Thus the message is loud and clear: those who |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
220 desire FreeCalypso as aftermarket libre phone fw for Mot C139 or other non-FC |
712c5cc0b2a9
doc/Handset-goal: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents:
376
diff
changeset
|
221 hardware need to roll up their sleeves and start learning the code. |