The Suspend call is resource-aware and gives all resources a chance to prepare for a suspend and to recover after a suspend.

org.freesmartphone.Objects.ListObjectsByInterface is using DBus-introspection now.

The Events subsystem has gained an experimental DBus interface to add and remove rules and to test triggers.

Implementations

Freesmartphone.org Framework Image -- (Milestone V)

This is the fifth milestone release of the framework and the framework testing application 'Zhone'. With the forthcoming release of other FSO API consumers, Zhone is going to be faded out. Further framework milestone releases will ship in two forms:

fso-illume-image: An FSO-compliant image featuring the X-Window system with the Enlightenment-based Illume window manager.

Thanks

Thanks to all our contributors, especially the testers and the people who build stuff on top of the freesmartphone.org APIs -- notably the SHR team who found literally thousands of bugs in the framework that we had to fix for this milestone release. Thanks, guys!

Purpose

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

What's new since Milestone IV

Note: These are only the highlights. See the gitweb commit logs for the gory details...

ogsmd

Implement org.freesmartphone.GSM.Network.GetCountryCode() -> ss

Revamped callhandling. Refactored the state-based call handler from TI Calypso (and Freescale Neptune) into a generic class that will be used from all modem abstractions. Ported singleline to use the new call handler. More tests needed for TI Calypso and Freescale Neptune.

Implemented org.freesmartphone.GSM.Phone.[Start|Stop]AutoRegister() and its signal org.freesmartphone.GSM.Phone.ServiceStatus() This is a convenient way to ensure that ogsmd always tries to unlock the SIM and register with a provider, if necessary. (Corresponding functionality for Gprs is under discussion).

Create qualcomm_msm modem abstraction based on singleline with minimal changes.

Implemented org.freesmartphone.GSM.Phone.StartAutoOnline(apn, user, password) This works the same way as StartAutoRegister(pin), trying to keep the connection online.

ogpsd

odeviced

Added kernel26 option called 'fb_blank' (default=1). If you suffer from the Om bug WSOD (white screen of death), try setting this option to 0.

Added two new resources: 'CPU' and 'Display': Requesting the CPU resource will prevent the idle notifier from falling into the 'suspend' state, requesting the Display resource will prevent the idle notifier from falling into the 'idle_dim' (and following) state(s). With these two resource, it now takes only one additional rule to prevent the system from suspending while on a call or a musicplayer is playing.

Implemented org.freesmartphone.Device.LED.SetNetworking(s,s) -> ()

Substituted own kobject notification with generic KobjectDispatcher.

powercontrol_neo: Use bind/unbind way of controlling ar6k power to get the maximum power saving. This obsoletes wireless.pyx. At this point of time we no longer require Cython.

oeventsd

Serialize dbus requests with a Queue. This (and removing a race in the RingToneAction) should fix the problems with neverending vibration and audio ringtone on short calls

ouseaged

org.freesmartphone.Usage.Suspend() now returns a value instead of timing out (call did not return before the actual suspend was triggered). As an inherent result, the suspend now occurs asynchronous.

Added org.freesmartphone.Usage.[Shutdown|Reboot]() -> ()

Send signal org.freesmartphone.Usage.SystemAction() before suspending, after resuming, before shutting down, before rebooting.

Disabled resource on shutdown.

Check resume reason and launch emergency shutdown, if we woke up due to low battery. NOTE: This is only supported on Openmoko devices now. As there is no standard infrastructure for that in the kernel, we have to deal with device-specific solutions in lowlevel.py

Add config option 'sync_resources_with_lifecycle' for specifying whether all Resources should be disabled on "startup", "shutdown", "always" (default), or "never".

opimd

Fixed dbus objects not appearing since they were registered on the initial dbus connection, the subsystems use individual connections though.

onetworkd

Simple connection sharing now works

otimed

Add simple timesync to NTP and GPS

Add config options for time and zone sources. Set to "NONE" to disable this feature.

misc

We now register one dbus connection per subsystem to prevent objects appearing on all bus names. If you previously only used the bus name 'org.freesmartphone.frameworkd', you have to adjust your code.

zhone

Add gettext support

Add russian translation

Send and receive USSD messages

Show error/warning when SIM is full

Simple GSM cell monitor

Revamped GPS monitor

Display current timezone

Try unlocking the screen on incoming calls

Show the name from the phonebook during call

Installation

Grab a uImage and a .jffs2 for your device from freesmartphone.org's download section.

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 for the first time

Read the FSO UI Tutorial and have fun. Note though that this has not been updated yet for milestone 4 (which looks a bit differently and has more features).

What you can expect from this release

Telephony

Phonebook

SMS

Messagebook

GPS

frameworkd implementing the following dbus APIs:

org.freesmartphone.GSM.*

org.freesmartphone.Device.*

org.freesmartphone.Usage

org.freesmartphone.Resource

org.freesmartphone.Events

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:

The Suspend call is resource-aware and gives all resources a chance to prepare for a suspend and to recover after a suspend.

org.freesmartphone.Objects.ListObjectsByInterface is using DBus-introspection now.

The Events subsystem has gained an experimental DBus interface to add and remove rules and to test triggers.

Implementations

Freesmartphone.org Framework Image -- (Milestone V)

This is the fifth milestone release of the framework and the framework testing application 'Zhone'. With the forthcoming release of other FSO API consumers, Zhone is going to be faded out. Further framework milestone releases will ship in two forms:

fso-illume-image: An FSO-compliant image featuring the X-Window system with the Enlightenment-based Illume window manager.

Thanks

Thanks to all our contributors, especially the testers and the people who build stuff on top of the freesmartphone.org APIs -- notably the SHR team who found literally thousands of bugs in the framework that we had to fix for this milestone release. Thanks, guys!

Purpose

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

What's new since Milestone IV

Note: These are only the highlights. See the gitweb commit logs for the gory details...

ogsmd

Implement org.freesmartphone.GSM.Network.GetCountryCode() -> ss

Revamped callhandling. Refactored the state-based call handler from TI Calypso (and Freescale Neptune) into a generic class that will be used from all modem abstractions. Ported singleline to use the new call handler. More tests needed for TI Calypso and Freescale Neptune.

Implemented org.freesmartphone.GSM.Phone.[Start|Stop]AutoRegister() and its signal org.freesmartphone.GSM.Phone.ServiceStatus() This is a convenient way to ensure that ogsmd always tries to unlock the SIM and register with a provider, if necessary. (Corresponding functionality for Gprs is under discussion).

Create qualcomm_msm modem abstraction based on singleline with minimal changes.

Implemented org.freesmartphone.GSM.Phone.StartAutoOnline(apn, user, password) This works the same way as StartAutoRegister(pin), trying to keep the connection online.

ogpsd

odeviced

Added kernel26 option called 'fb_blank' (default=1). If you suffer from the Om bug WSOD (white screen of death), try setting this option to 0.

Added two new resources: 'CPU' and 'Display': Requesting the CPU resource will prevent the idle notifier from falling into the 'suspend' state, requesting the Display resource will prevent the idle notifier from falling into the 'idle_dim' (and following) state(s). With these two resource, it now takes only one additional rule to prevent the system from suspending while on a call or a musicplayer is playing.

Implemented org.freesmartphone.Device.LED.SetNetworking(s,s) -> ()

Substituted own kobject notification with generic KobjectDispatcher.

powercontrol_neo: Use bind/unbind way of controlling ar6k power to get the maximum power saving. This obsoletes wireless.pyx. At this point of time we no longer require Cython.

oeventsd

Serialize dbus requests with a Queue. This (and removing a race in the RingToneAction) should fix the problems with neverending vibration and audio ringtone on short calls

ouseaged

org.freesmartphone.Usage.Suspend() now returns a value instead of timing out (call did not return before the actual suspend was triggered). As an inherent result, the suspend now occurs asynchronous.

Added org.freesmartphone.Usage.[Shutdown|Reboot]() -> ()

Send signal org.freesmartphone.Usage.SystemAction() before suspending, after resuming, before shutting down, before rebooting.

Disabled resource on shutdown.

Check resume reason and launch emergency shutdown, if we woke up due to low battery. NOTE: This is only supported on Openmoko devices now. As there is no standard infrastructure for that in the kernel, we have to deal with device-specific solutions in lowlevel.py

Add config option 'sync_resources_with_lifecycle' for specifying whether all Resources should be disabled on "startup", "shutdown", "always" (default), or "never".

opimd

Fixed dbus objects not appearing since they were registered on the initial dbus connection, the subsystems use individual connections though.

onetworkd

Simple connection sharing now works

otimed

Add simple timesync to NTP and GPS

Add config options for time and zone sources. Set to "NONE" to disable this feature.

misc

We now register one dbus connection per subsystem to prevent objects appearing on all bus names. If you previously only used the bus name 'org.freesmartphone.frameworkd', you have to adjust your code.

zhone

Add gettext support

Add russian translation

Send and receive USSD messages

Show error/warning when SIM is full

Simple GSM cell monitor

Revamped GPS monitor

Display current timezone

Try unlocking the screen on incoming calls

Show the name from the phonebook during call

Installation

Grab a uImage and a .jffs2 for your device from freesmartphone.org's download section.

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 for the first time

Read the FSO UI Tutorial and have fun. Note though that this has not been updated yet for milestone 4 (which looks a bit differently and has more features).

What you can expect from this release

Telephony

Phonebook

SMS

Messagebook

GPS

frameworkd implementing the following dbus APIs:

org.freesmartphone.GSM.*

org.freesmartphone.Device.*

org.freesmartphone.Usage

org.freesmartphone.Resource

org.freesmartphone.Events

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: