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. | 
