OpenmokoFramework/Status Update 4
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.
- Stefan Schmidt <email@example.com> was reactivated and joined the framework team part-time -- welcome back, Stefan!
- 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.
- 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).
- Completely revamped documentation generation
- Set up a new site for API docs: [docs.freesmartphone.org]
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 gitweb commit logs for the gory details...
- Added dbus interface to configure debug logging level and destination at runtime
- Refactored lots of code to improve clarity and maintainability
- 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
- For PDU mode, currently, only the 7-bit reference GSM charset is supported, UCS-2 will come soon.
- 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:
- Regarding granularity and verbosity we're not 100% sure yet what we want to provide as rules -- feedback appreciated.
- 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')
- Delivers configuration depending on the current profile
- Stability fixes all over the place
- Improve warmstart by making ephemeris and almanac persistent
- 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.
- Flash it to your Neo1973 (om-gta01) or NeoFreeRunner (om-gta02) with dfu-util.
- Boot and wait until the Zhone main window appears.
- If the Zhone main window does not appear on first boot, please reboot. The base system still has some problems with dbus starting for the first time
- Read the FSO UI Tutorial and have fun.
What you can expect from this release
- Messagebook (SMS)
- frameworkd implementing the following dbus APIs:
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 these two tools, which are already installed:
- If you want to interact with the GSM modem, while the frameworkd is running, you can use mickeyterm -- a MUXer-aware minimal terminal emulator.
- Google Summer of Code project integration
- Accellerometer Gestures
- Bluetooth Remote
- Alarm support
Mickey, Jan, Daniel, Guillaume, John, Stefan.