[GSoC]: Progress Report 2

Sudharshan S sudharsh at gmail.com
Thu Jun 5 20:59:26 CEST 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi all,

I will be working on the Open Device Daemon for Openmoko as part of this
years SOC. Like every good boy should, here are the updates.

I had already sent a progress report earlier to the
smarthphones-standards list a few days back. In case anyone is
interested, here is the thread,
http://projects.linuxtogo.org/pipermail/smartphones-standards/2008-May/000078.html

After a chat with my mentor (mickeyl), there has been a few changes over
the last few days.

Of the most important,

1.) No DBus Interface to the core service. Exposing load() and unload()
  through this service was prolly a bad idea. Even if it is required we
can have some sort of an API instead?

2.) Per Plugin Configuration. This means plugins need not touch the
    global configuration file at /etc/odeviced.conf. Instead each plugin
ideally have their own configuration file (which is not a requirement).
This keeps things a bit saner.
As an example, here are the contents of the backlight plugin,
- ----------------------------------------------------------
[backlight]
dbus_object_path=/org/freesmartphone/Device/Plugins/Backlight

# No, This isn't from freerunner. Its from my laptop
[FreeRunner]
max_brightness_node=/sys/class/backlight/acpi_video0/max_brightness
set_brightness_node=/sys/class/backlight/acpi_video0/brightness
curr_brightness_node=/sys/class/backlight/acpi_video0/actual_brightness

[AnotherUberCoolPhone]
...
...
- ---------------------------------------------------------------
One of the changes has been the ability for plugin configurations to
employ groups for multiple devices. The device name can be set in the
global configuration file. This implies that the same configuration file
may have multiple entries for different devices.


3.) Added a backlight plugin for support for get_current_brightness,
set_brigthness, get_maximum_brightness exposed at
org.freesmartphone.Device.Plugins.Backlight interface. Of course the
sysfs nodes for the FreeRunner may change accordingly.

4.) A set of helper functions (Only two at the moment). Helper functions
will handle setting the DBus Object paths, getting the device name..etc
which _may_ be used by the plugins. These are just convenience routines.

5.) Discontinued unloading. Earlier, plugins could be loaded and
unloaded at will. I am not sure if this is really required. So now it
has been changed as follows. Check the global configuration for "enable"
and load the plugins in that field. If it is absent load _all_ the
plugins under '/usr/libs/odeviced/plugins/'. Of course depending on the
device this directory may be changed as well.


Thanks for keeping up :D. Once I get hold of a FreeRunner I can
concentrate on other fun tasks like suspend, wakeup etc. I am especially
looking forward to a gps plugin that would interface with libgypsy. What
do you think, is this ok or am I reinventing the wheel?

As always I would love to have comments and suggestions over the project. :D

The all important (..and sometimes funny) code is available here,
http://git.freesmartphone.org/?p=openmoko-gsoc2008.git;a=summary

I also blog about the progress as I am constantly learning new things.
http://sudharsh.wordpress.com/category/odeviced/


Thanks and Regards
Sudharshan S
Blog : http://www.sudharsh.wordpress.com
IRC  : Sup3rkiddo @ freenode, gimpnet

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkhIN40ACgkQSsRjJNRMc4loMgCglKp1khGrCIPbal6xM0C2ubkY
X6wAoKwvJhF5u5lhAPhQ3RPknjL2XBnO
=ylHX
-----END PGP SIGNATURE-----



More information about the openmoko-devel mailing list