OFT Status Update 2008.9.1

Michael 'Mickey' Lauer mickey at openmoko.org
Thu Sep 11 19:42:44 CEST 2008

Openmoko Framework Team Status Report 2008.9.1

Hi guys! This is the fourth Openmoko Framework Team Status update,
featuring our third milestone release and more.

For the general motivation, the goals, and the way we are doing our
work, please see http://wiki.openmoko.org/wiki/OpenmokoFramework.

=== People ===

* Stefan Schmidt <stefan at openmoko.org> was reactivated and joined the
framework team part-time -- welcome back, Stefan!

=== Patches ===

* We have been getting a nice bunch of patches from the community now
that the project is more visible. Thanks a lot, folks -- especially to
the pkg-fso people from the Debian project.

=== DBus APIs ===

* [http://docs.freesmartphone.org/org.freesmartphone.GSM.Network.html
org.freesmartphone.GSM.Network]: Added calls for USSD (requesting your
pre-paid balance etc.)
* org.freesmartphone.Objects.ListObjectsByInterface : implemented what
dbus is missing.
[http://docs.freesmartphone.org/org.freesmartphone.Device.PowerSupply.html org.freesmartphone.Device.PowerSupply]: added support for status signals -- clients should no longer poll now.
* [http://docs.freesmartphone.org/org.freesmartphone.Device.Audio.html
org.freesmartphone.Device.Audio]: added scenario support.
* [http://docs.freesmartphone.org/org.freesmartphone.Preferences.html
org.freesmartphone.Preferences]: added.
* org.freedesktop.Time: added (experimental).

* Completely revamped documentation generation
* Set up a new site for API docs: [http://docs.freesmartphone.org

=== Implementations ===

'''Openmoko Framework Image -- 'On the Road Again' (Milestone III)'''

This is the third milestone release of the framework and the framework
testing application 'Zhone'.


A lightweight image that turns an Openmoko phone into a featurephone and
that can serve as the basis for further application development using
the freesmartphone.org dbus APIs.

==== What's new since Milestone II ====

'''Note: These are only the highlights. See the
[http://git.freesmartphone.org gitweb] commit logs for the gory

* General
** Added dbus interface to configure debug logging level and destination
at runtime
** Refactored lots of code to improve clarity and maintainability

* odevice
** Implements org.freesmartphone.Device.PowerSupply (almost polling free
[only for CC battries though])
** Implements org.freesmartphone.Device.PowerControl for Freerunner USB

* ogsmd (''renamed from ophoned'')
** Lots of bug and stability fixes based on feedback (and debug logs)
from people
** Switched SMS handling to PDU mode -- the foundation for great
language support
** For PDU mode, currently, only the 7-bit reference GSM charset is
supported, UCS-2 will come soon
** [TI Calypso] Improved GSM audio quality (thanks to anonymous)
** [Freescale Neptune] Improved support for network status

* oeventsd (''revamped oeventd'')
** Notify on incoming SMS
** Implement Charging LED spec
** Change audio scenarios according to system state
** We now have a full-fledged user-tweakable rules engine using
yaml-syntax to configure system-wide behaviour.
** Regarding granularity and verbosity we're not 100% sure yet what we
want to provide as rules -- feedback appreciated.
** See the rules file that we ship with milestone3 as an example:

    trigger: IncomingMessage()
    actions: MessageTone(play)
    trigger: CallStatus()
    filters: HasAttr(status, "incoming")
    actions: RingTone(play)
    trigger: CallStatus()
    filters: Not(HasAttr(status, "incoming"))
    actions: RingTone(stop)
    trigger: CallStatus()
    filters: HasAttr(status, "active")
    actions: SetScenario(gsmhandset)
    trigger: CallStatus()
    filters: HasAttr(status, "release")
    actions: SetScenario(stereoout)
    trigger: PowerStatus()
    filters: HasAttr(status, "Charging")
            - SetLed("gta02_power_blue", "dark")
            - SetLed("gta02_power_orange", "light")
    trigger: PowerStatus()
    filters: HasAttr(status, "Discharging")
            - SetLed("gta02_power_blue", "dark")
            - SetLed("gta02_power_orange", "dark")
    trigger: PowerStatus()
    filters: HasAttr(status, "Full")
             - SetLed("gta02_power_blue", "light")
             - SetLed("gta02_power_orange", "dark")
    trigger: PowerStatus()
    filters: HasAttr(status, "Critical")
             - SetLed("gta02_power_blue","dark")
             - SetLed("gta02_power_orange","blink")
    trigger: InputEvent()
             - HasAttr(switch, "HEADSET")
             - HasAttr(event, "pressed")
    actions: Command('amixer -d sset "Amp Spk" mute')
    trigger: InputEvent()
             - HasAttr(switch, "HEADSET")
             - HasAttr(event, "released")
    actions: Command('amixer -d sset "Amp Spk" unmute')

* opreferencesd
** Delivers configuration depending on the current profile

* opgsd
** Stability fixes all over the place
** GTA01 support (GL Hammerhead)
** Improve warmstart by making ephemeris and almanac persistent

* zhone
** Move some functionality into illume and improve integration
** Move some functionality into oeventsd rules
** Add profile switcher
** Add aux menu
** Add DTMF tab

====Download / Installation====

# Grab a uImage and a .jffs2 for your device from
http://downloads.openmoko.org/framework/milestone3/ when it's ready.
# [[Flashing| Flash]] it to your Neo1973 (om-gta01) or NeoFreeRunner
(om-gta02) with [[Dfu-util| dfu-util]].
# Boot and wait until the Zhone main window appears.
# ''If the [[Zhone]] main window does not appear on first boot or stays
with "connecting to dbus..." longer than 1 minute, then please reboot.
The base system still has some problems with dbus starting correctly for
the first time''
# Read the [[FSO UI Tutorial]] and have fun. Note though that this has
not been updated yet for milestone 3 (which looks a bit differently and
has more features).

====What you can expect from this release====

* Telephony
* Phonebook
* Messagebook (SMS)
* frameworkd implementing the following dbus APIs:
** org.freesmartphone.Device.{Audio|Input|IdleNotifier|PowerSupply|
** org.freesmartphone.Usage
** org.freesmartphone.GSM.{Device|SIM|Network|PDP|CB|HZ}
** org.freedesktop.Gypsy

====What we expect from you====

* Feedback and comments for the dbus APIs. This is your chance to take
an active role into shaping the application programming interface for
all your forthcoming cool applications.

* Focus on using the services. Zhone is just our testing-UI and bears
little functionality. It's the services that matter.

* The best way to interact with the framework is by exploring the dbus
APIs. For that you can use these two tools, which are already installed:
** [[OpenmokoFramework/mdbus|mdbus]] -- a dbus introspection and
interaction utility,
** [[OpenmokoFramework/cli|cli-framework]] -- a python dbus command line

* Before reporting bugs against the framework, please try with
cli-framework to see whether it's really a problem of the framework or
rather the UI (which gets much less attention from us).

* If you want to interact with the GSM modem, while the frameworkd is
running, you can use [[OpenmokoFramework/mickeyterm|mickeyterm]] -- a
MUXer-aware minimal terminal emulator.

====Best way to hand us debug logs====
# log in via ssh
# killall python
# edit /etc/frameworkd.conf and add 'log_level = DEBUG' into the
frameworkd section.
# run frameworkd and pipe the log somewhere or keep it in your terminal
buffer (warning, it's HUGE :))
# log in via ssh (yes, again)
# export DISPLAY=:0.0
# run zhone

Attach the logs to the tickets, please.

===What's next===

* Google Summer of Code project integration
** Accellerometer Gestures
** Bluetooth Remote
** PIM
* Time(zone) handling
* Alarm support

===The Team===

Mickey, Jan, Daniel, Guillaume, John, Stefan. 

More information about the devel mailing list