view doc/Luna-notes @ 268:f2e52cab0a73

abb_inth.c: check all interrupt causes, not just one The original code used if - else if - else if etc constructs, thus the first detected interrupt was the only one handled. However, Iota ITSTATREG is a clear-on-read register, thus if we only handle the first detected interrupt and skip checking the others, then the other interrupts will be lost, if more than one interrupt happened to occur in one ABB interrupt handling cycle - a form of rare race condition. Change the code to check all interrupts that were read in this cycle.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 13 Jun 2021 18:17:53 +0000
parents a62e5bf88434
children
line wrap: on
line source

FreeCalypso Luna phone handset UI development platform consists of these 3
components:

* A Caramel-type Calypso motherboard, either iWOW DSK or FC Caramel2
* An LCD carrier board, currently using HaoRan HT020K1QC36S LCD module
* A 5x5 keyswitch matrix board for the keypad function

This Luna is our primary official platform for FreeCalypso phone handset UI
development.  The UI code we got from TI comes in two interesting versions:

* Big color version: 176x220 pixels, 16-bit color
* Small B&W version: originally 84x48 pixels, we are extending it to 96x64 pix

(Originally there was also a third version, large 176x220 pix B&W, but we find
 it uninteresting and we've removed it from our supported set.  It was really
 nothing more than a hack to display a minimal-effort derivative of the original
 small B&W UI on the large D-Sample LCD, so we are not removing anything of any
 real substance here.)

FC Luna hardware is required for anyone who wishes to work on the phone handset
UI project in FC Tourmaline: it is the only target platform that can display
both versions of our work-in-progress UI firmware.  Mot C1xx and other similar
phones have small LCDs that can only display the small B&W version of our
TI-based UI, and in the Mother's opinion working solely on the smallbw version
to the exclusion of the bigcolor version is not acceptable.