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.