Hello FC community, This is a periodic update to remind everyone what I am currently doing in the FreeCalypso family of projects and what other people may be able to take on.
For the next couple of years, my personal goal is to produce the following two hardware gadgets in this order: 1) The first gadget I need to produce is the FreeCalypso UART+JTAG Adapter, or FC-UJA for short - an FT2232D-based USB adapter board presenting 2.8 V UART and JTAG interfaces meant to be connected to Calypso devices. This FC-UJA is quite uninteresting in itself, but I need to build it first because it is a prerequisite for the next gadget (HSMBP): when we do build the HSMBP, FC-UJA will be required on day 1 for HSMBP bring-up, hence FC-UJA needs to be built first. 2) The next gadget to be built after FC-UJA is the really interesting one: my long-desired Handset Motherboard Prototype (HSMBP). This HSMBP will serve initially as a UI development board (UIDB), making a proper replacement for TI's own D-Sample platform and finally allowing me to have the same development environment which TI's own software engineers had in their offices or cubicles Back In The Day. And because any board of this complexity will necessarily be expensive no matter what the specific design details happen to be, I am going to design this board in such a way that it kills two birds with one stone: it will serve not only as the UIDB, but also as a close-to-final prototype for my personally desired FreeCalypso Libre Dumbphone, my dream phone. The latter design aspect of the HSMBP (designing it in such a way that it can serve not only as the UIDB, but also as a close-to-final prototype for my desired practically usable phone) is the reason why FC-UJA has to be built first, prior to HSMBP itself. On my ultimate dream phone I wish to have the same USB arrangement as on the Pirelli DP-L10, with the mini-USB port on the bottom of the phone serving both as the charging port and a computer connection interface. The latter function will be achieved by incorporating a built-in USB-serial chip just like on the Pirelli DP-L10, connecting the "charging" USB port to one of Calypso's UARTs - except that I am going to connect it to the MODEM UART that carries the standard ASCII AT command interface in our version, and not to the IrDA UART like Pirelli did. But this built-in USB-serial interface will only be for end users, and not for deep development or initial bring-up - for the latter functions the IrDA UART (the one carrying RVTMUX, corresponding to the headset jack on Openmoko devices or ttyUSB1 in typical FCDEV3B setups) will be wired to an FFC (flat flexible cable, often erroneously referred to as FPC) connector for connecting an FC-UJA. Hence we will need to have FC-UJA available and working on day 1 of HSMBP bring-up, and thus the need to design and build this FC-UJA first. (For those familiar with Openmoko devices and their debug board which connects to the main device motherboard via a custom FFC, what I am designing for FreeCalypso is exactly the same arrangement: my FC-UJA will correspond to OM's debug board, and it will be required for the initial bring-up of the main motherboard just like OM's debug board would be required for initial bring-up if you produced your own GTA02 motherboard clone with both NAND and NOR boot locations completely blank on the freshly-produced board.) The pro and con of the approach I am pursuing (designing and building first FC-UJA, then HSMBP) are as follows: Pro: once I have my desired HSMBP, I will be able to *properly* clean up the phone UI code we got from TI and bring it into shape, and here is the big one: once we have the development platform I need for this UI work, the new FreeCalypso UI will run not only on the HSMBP, but also on all of our supported Mot C1xx, Pirelli DP-L10 and SE J100 targets, producing a practically usable FreeCalypso end user phone at least on the C139. Con: the journey to get there is very long. Given the need to design and build not just one but two board projects, we are looking at anywhere from 2 to 5 y from now, depending on whether or not I can get other people to help me with the astronomical cost of my big surgery. If someone helps me with the 26 kUSD surgery cost, I will be able to direct all of my energy into FreeCalypso and the HSMBP will very likely be done in 2 y, otherwise it will probably be more like 5 y from now. Now here is the current state of support in FreeCalypso for the Mot C139 and similar pre-existing phone targets. Right now only the UI is missing, whereas all of the lower layers work flawlessly on all 5 "alien" (non-TI, non-Openmoko, non-FreeCalypso) hw targets: * Mot C11x/12x * Mot C139/140 * Mot C155/156 * Pirelli DP-L10 * Sony Ericsson J100 On _all_ of the above phones, we can now run FreeCalypso firmware (run via fc-xram on the Pirelli, needs to be flashed on all others) in our so-called "voice pseudo-modem" configuration (no UI on the LCD, control from a connected computer required), and on all of these targets our FC fw absolutely correctly registers to the GSM network, makes and receives calls (voice via the phone's native earpiece and mic, dialing via AT commands from the connected computer), sends and receives SMS - and as verified with my CMU200 RF instrument, it puts out 100% correct, 100% spec-compliant radio transmissions as it does so. Only the UI is missing, everything else is already there and fully working. Most of these phones including the C139 (the most interesting one from the practical standpoint) have 96x64 pixel color LCDs, hence if someone can produce practically usable UI code for this screen size, we will immediately be able to run it on all of the listed phones. Mot C11x/12x may be the lone exception that may never be able to run FreeCalypso with untethered phone functionality (fitting our UI-enabled fw config into the tiny RAM and flash on this model would require some major contortions), but all others can easily be made to run the same UI code as the C139. The C139 will still be the most practically usable one (on the others we don't know how to make the phone ring, can only vibrate), but at least for demo purposes the UI code can run just the same on all targets. Thus there are two ways how practically usable FreeCalypso end user fw for Mot C139 and its siblings can become a reality: The sure but slow way: if someone makes a significant donation toward the cost of my surgery and thereby speeds up my FreeCalypso work, when I build my desired HSMBP, a practically usable UI for the C139 & co will appear as a side product. Alternate way: if anyone else in our community can be convinced to overcome their fear of programming and delve into the code, they may be able to produce a practically usable UI for the C139 more directly, without waiting for my development hardware. I am not willing myself to jump directly to the 96x64 pixel UI for the C139 & co because doing so would require forever giving up my dream of restoring TI's original 176x220 pixel color UI in its full glory (not willing to do that), but someone else who is more practically minded, someone who does not have the same attachment to TI's history and code as I do and who just wants a practically usable UI on the C139 may be able to produce the latter much more directly. So there are your two options for how to get a practically usable FreeCalypso phone in a foreseeable timeframe: either help me with my surgery cost, or put on the hat of a firmware developer and implement the missing UI yourself. Hasta la Victoria, Siempre, Mychaela aka The Mother _______________________________________________ Community mailing list Community@freecalypso.org https://www.freecalypso.org/mailman/listinfo/community