FreeCalypso > hg > freecalypso-docs
comparison FC-handset-spec @ 54:138021ca5eae
FC-handset-spec: starting firmware scope description
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 12 Jun 2021 05:32:38 +0000 |
parents | 016f8cf2418c |
children | df6c61d0e817 |
comparison
equal
deleted
inserted
replaced
53:016f8cf2418c | 54:138021ca5eae |
---|---|
121 operation and readability interacts with the backlight: | 121 operation and readability interacts with the backlight: |
122 | 122 |
123 1) older phones with black&white LCDs: on all phones of this type which I've | 123 1) older phones with black&white LCDs: on all phones of this type which I've |
124 ever used, the display is perfectly readable without the backlight given | 124 ever used, the display is perfectly readable without the backlight given |
125 ordinary ambient lighting, be it natural daylight or room lighting. Such | 125 ordinary ambient lighting, be it natural daylight or room lighting. Such |
126 LCDs are called reflective. With these B&W displays, you only need to turn | 126 LCDs are called transflective: primarily reflective, but can also operate in |
127 on the backlight if you need to operate the phone in darkness, such as | 127 transmissive mode when the optional backlight is turned on. With these B&W |
128 outdoors at night or inside with all lights off. The firmware in such phones | 128 displays, you only need to turn on the backlight if you need to operate the |
129 is typically designed to leave the actual display functional and updated at | 129 phone in darkness, such as outdoors at night or inside with all lights off. |
130 all times, with only the backlight subject to on/off control. | 130 The firmware in such phones is typically designed to leave the actual display |
131 functional and updated at all times, with only the backlight subject to | |
132 on/off control. | |
131 | 133 |
132 2) most newer phones with color displays, of which Pirelli DP-L10 is a | 134 2) most newer phones with color displays, of which Pirelli DP-L10 is a |
133 representative case, have transmissive LCDs that are not designed to be | 135 representative case, have transmissive LCDs that are not designed to be |
134 readable without the backlight at all - backlight required for readability | 136 readable without the backlight at all - backlight required for readability |
135 (BLRR) is another way to describe such LCDs. Because the display is not | 137 (BLRR) is another way to describe such LCDs. Because the display is not |
976 hence we are changing the wiring so that -Prts will trigger RPWON rather than | 978 hence we are changing the wiring so that -Prts will trigger RPWON rather than |
977 PWON. The same boot effect can still be achieved with -Pdtr triggering | 979 PWON. The same boot effect can still be achieved with -Pdtr triggering |
978 nTESTRESET, but it is a bigger hammer (reset of RTC can be unwanted), hence | 980 nTESTRESET, but it is a bigger hammer (reset of RTC can be unwanted), hence |
979 -Prts will be recommended as the gentler option, leaving -Pdtr for times when | 981 -Prts will be recommended as the gentler option, leaving -Pdtr for times when |
980 recovery from runaway code is needed. | 982 recovery from runaway code is needed. |
983 | |
984 2. FC handset firmware functional scope specification | |
985 | |
986 FreeCalypso handset firmware will always run (perhaps with subset functionality) | |
987 on more hardware targets than just our main-goal FC Libre Dumbphone handset. It | |
988 already does: our firmware currently runs on our Luna development platform, and | |
989 prior to FC it ran on TI's original D-Sample platform. A very restricted | |
990 functional subset also runs on Motorola C139 hardware. | |
991 | |
992 If we consider only the main goal of FC Libre Dumbphone handset, then our | |
993 firmware evolution can be seen as strictly linear: we start with what we got | |
994 from TI, and we morph it toward what will be needed to operate our handset, | |
995 adding functionality and peripheral support which we need for our FC handset, | |
996 but which is not present in the starting point code from TI. However, we also | |
997 have side-branch functionality: at times when the code from TI supports | |
998 something which we don't need for our own FC handset, but which may be useful | |
999 for alien hardware targets, a moral imperative can be made for keeping and at | |
1000 least minimally maintaining that functionality as a kind of side-branch feature, | |
1001 a permitted configuration that is not needed for our own FC handset but needed | |
1002 for others. Similarly, when we add support for entirely new peripherals that | |
1003 are planned for our FC handset (such as the loudspeaker), we should make the | |
1004 firmware change in such a way that targets without the extra feature can still | |
1005 be supported. Finally, when we are changing the firmware in ways that | |
1006 significantly depart from TI's original, it may sometimes be prudent to preserve | |
1007 TI's original way as a lorekeeping option. | |
1008 | |
1009 The following sections will spell out what we support and what we don't support | |
1010 in FreeCalypso handset firmware, and how these scoping decisions relate to our | |
1011 starting point from TI, to our main goal of FC Libre Dumbphone handset, and to | |
1012 secondary objectives of alien target support and lorekeeping. | |
1013 | |
1014 2.1. Display support | |
1015 | |
1016 2.1.1. Support for different display sizes | |
1017 | |
1018 By the very nature of the problem, any phone handset UI design will always be | |
1019 quite specific to a particular display size in pixels, and also to the display | |
1020 type as in color or black&white. The starting point code we got from TI | |
1021 supports 3 different UI configurations in terms of size and coloration: | |
1022 | |
1023 * 176x220 pixel, 16-bit color; | |
1024 * 176x220 pixel B&W; | |
1025 * 84x48 pixel B&W. | |
1026 | |
1027 In FreeCalypso we have made two changes to this set of possible UI | |
1028 configurations: | |
1029 | |
1030 1) The large (176x220 pixel) B&W option has been removed. In TI's delivery this | |
1031 option was nothing more than a quick&dirty hack to extend their small (84x48 | |
1032 pixel) B&W UI to the large D-Sample screen, and this configuration offers | |
1033 nothing useful - any real display of such large size will always be color. | |
1034 | |
1035 2) The small B&W configuration has been extended from 84x48 to 96x64 pixels. | |
1036 Why 96x64? Because it is the size in pixels of Motorola C139 LCD, and it is | |
1037 the smallest LCD size found among those alien Calypso phones whose existence | |
1038 is known to us and for which we have at least minimal support. Extending | |
1039 this UI configuration from 84x48 to 96x64 pixels was an easy change because | |
1040 it is an increase in screen real estate (not a decrease), and it is a fairly | |
1041 small increment, such that UI design choices which were sensible for an 84x48 | |
1042 pixel display are still sensible for 96x64. | |
1043 | |
1044 The main principal difference between our approach in FreeCalypso and what a | |
1045 conventional commercial phone manufacturer would have done is that we are | |
1046 retaining TI's smallbw configuration and keeping it supported, as opposed to | |
1047 disregarding it and working only on the bigcolor UI config for our own planned | |
1048 hardware product. We keep this smallbw UI configuration around, in the extended | |
1049 96x64 pixel size, for two reasons: | |
1050 | |
1051 1) Lorekeeping: unlike TI's 176x220 pixel B&W config that was totally | |
1052 uninteresting, TI's old smallbw UI (from the days of C-Sample) is | |
1053 sufficiently interesting and unique (and naturally quite different from the | |
1054 bigcolor version) to be worth preserving. | |
1055 | |
1056 2) By keeping this configuration around (not discarding it and not allowing it | |
1057 to bitrot beyond repair), we keep the door open for the possibility of a | |
1058 minimally usable FreeCalypso Lite aftermarket firmware for Motorola C139. | |
1059 | |
1060 Both UI configurations can be built for our current Luna platform, and both of | |
1061 them display on our Luna LCD. The virtual framebuffer of 96x64 pix B&W in the | |
1062 smallbw config is displayed in the center of our physical 176x220 pixel color | |
1063 LCD, surrounded by a pale magenta border. The same ability to run both configs | |
1064 will continue on our next development board (Venus). | |
1065 | |
1066 2.1.2. Backlight readability paradigm | |
1067 | |
1068 (See theoretical background in section 1.4.3.) | |
1069 | |
1070 Our actively maintained FC handset firmware has been paradigmatically redesigned | |
1071 to assume a display which is NOT readable without the backlight. Our logical | |
1072 primitives with respect to display control are display on/off, rather than | |
1073 backlight on/off, and we swallow the initial keypress that turns on the display. | |
1074 | |
1075 This change is a significant departure from TI's original. The LCD on TI's | |
1076 D-Sample is transflective, and when the backlight is off, the display remains | |
1077 readable in ambient light. It is certainly better in this regard than Motorola | |
1078 C139 LCD. And if we go back further in TI's history to C-Sample and earlier, | |
1079 those 84x48 pixel B&W LCDs were the traditional mostly-reflective type, | |
1080 perfectly readable without the backlight. | |
1081 | |
1082 This area is one where we are NOT retaining TI's original way as an option in | |
1083 our actively maintained firmware. The difference between the two principal | |
1084 paradigms is too great, and we don't have any active-demand prospective targets | |
1085 with B&W displays of the old traditional kind. |