OpenmokoFramework/Status Update 4

From Openmoko

Revision as of 17:45, 9 September 2008 by Mickey (Talk | contribs)

Jump to: navigation, search

Contents

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.

What happened since the last report

People

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

Patches

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

DBus APIs

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

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

Purpose

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 gitweb commit logs for the gory details...

  • 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 Host
  • 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
  • oeventsd (revamped oeventd)
    • We now have a full-fledged user-tweakable rules engine using yaml-syntax to configure system-wide behaviour.
    • 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")
    actions:
            - SetLed("gta02_power_blue", "dark")
            - SetLed("gta02_power_orange", "light")
-
    trigger: PowerStatus()
    filters: HasAttr(status, "Discharging")
    actions:
            - SetLed("gta02_power_blue", "dark")
            - SetLed("gta02_power_orange", "dark")
-
    trigger: PowerStatus()
    filters: HasAttr(status, "Full")
    actions:
             - SetLed("gta02_power_blue", "light")
             - SetLed("gta02_power_orange", "dark")
-
    trigger: PowerStatus()
    filters: HasAttr(status, "Critical")
    actions:
             - SetLed("gta02_power_blue","dark")
             - SetLed("gta02_power_orange","blink")
-
    trigger: InputEvent()
    filters:
             - HasAttr(switch, "HEADSET")
             - HasAttr(event, "pressed")
    actions: Command('amixer -d sset "Amp Spk" mute')
-
    trigger: InputEvent()
    filters:
             - HasAttr(switch, "HEADSET")
             - HasAttr(event, "released")
    actions: Command('amixer -d sset "Amp Spk" unmute')
    • Regarding granularity and verbosity we're not 100% sure yet what we want to provide as rules -- feedback appreciated.
  • opreferencesd
    • Delivers configuration depending on the current profile
  • opgsd
    • Stability fixes all over the place
    • 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

  1. Grab a uImage and a .jffs2 for your device from http://downloads.openmoko.org/framework/milestone3/.
  2. Flash it to your Neo1973 (om-gta01) or NeoFreeRunner (om-gta02) with dfu-util.
  3. Boot and wait until the Zhone main window appears.
  4. Have fun.

What you can expect from this release

  • Telephony
  • Phonebook
  • Messagebook (SMS)
  • GPS
  • frameworkd implementing the following dbus APIs:
    • org.freesmartphone.Device.{Audio|Input|IdleNotifier|PowerSupply|Display|LED|PowerControl}
    • 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 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 the two tools, which are already installed:
    • mdbus -- a dbus introspection and interaction utility,
    • cli-framework -- a python dbus command line interface.
  • If you want to interact with the GSM modem, while the frameworkd is running, you can use mickeyterm -- a MUXer-aware minimal terminal emulator.

What's next

  • Google Summer of Code project integration
    • Accellerometer Gestures
    • Bluetooth Remote
    • PIM
  • Alarm support

The Team

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

Personal tools

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.

What happened since the last report

People

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

Patches

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

DBus APIs

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

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

Purpose

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 gitweb commit logs for the gory details...

  • 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 Host
  • 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
  • oeventsd (revamped oeventd)
    • We now have a full-fledged user-tweakable rules engine using yaml-syntax to configure system-wide behaviour.
    • 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")
    actions:
            - SetLed("gta02_power_blue", "dark")
            - SetLed("gta02_power_orange", "light")
-
    trigger: PowerStatus()
    filters: HasAttr(status, "Discharging")
    actions:
            - SetLed("gta02_power_blue", "dark")
            - SetLed("gta02_power_orange", "dark")
-
    trigger: PowerStatus()
    filters: HasAttr(status, "Full")
    actions:
             - SetLed("gta02_power_blue", "light")
             - SetLed("gta02_power_orange", "dark")
-
    trigger: PowerStatus()
    filters: HasAttr(status, "Critical")
    actions:
             - SetLed("gta02_power_blue","dark")
             - SetLed("gta02_power_orange","blink")
-
    trigger: InputEvent()
    filters:
             - HasAttr(switch, "HEADSET")
             - HasAttr(event, "pressed")
    actions: Command('amixer -d sset "Amp Spk" mute')
-
    trigger: InputEvent()
    filters:
             - HasAttr(switch, "HEADSET")
             - HasAttr(event, "released")
    actions: Command('amixer -d sset "Amp Spk" unmute')
    • Regarding granularity and verbosity we're not 100% sure yet what we want to provide as rules -- feedback appreciated.
  • opreferencesd
    • Delivers configuration depending on the current profile
  • opgsd
    • Stability fixes all over the place
    • 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

  1. Grab a uImage and a .jffs2 for your device from http://downloads.openmoko.org/framework/milestone3/.
  2. Flash it to your Neo1973 (om-gta01) or NeoFreeRunner (om-gta02) with dfu-util.
  3. Boot and wait until the Zhone main window appears.
  4. Have fun.

What you can expect from this release

  • Telephony
  • Phonebook
  • Messagebook (SMS)
  • GPS
  • frameworkd implementing the following dbus APIs:
    • org.freesmartphone.Device.{Audio|Input|IdleNotifier|PowerSupply|Display|LED|PowerControl}
    • 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 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 the two tools, which are already installed:
    • mdbus -- a dbus introspection and interaction utility,
    • cli-framework -- a python dbus command line interface.
  • If you want to interact with the GSM modem, while the frameworkd is running, you can use mickeyterm -- a MUXer-aware minimal terminal emulator.

What's next

  • Google Summer of Code project integration
    • Accellerometer Gestures
    • Bluetooth Remote
    • PIM
  • Alarm support

The Team

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