Taxonomy

What's currently implemented

Those are all userspace directories for controlling the LEDs. echo 0 > brightness will turn the LED off. echo 1 > brightness will turn it on.
trigger currently does nothing.

Buttons

AUX = Button on the left side of the device, upper area

POWER = Button on the right side of the device, center area (right below the USB socket)

Leds

EVENT

red

behind AUX button

HEARTBEAT

orange

behind POWER button

WIRELESS / BLUETOOTH

blue

behind POWER button

MIXING TWO LEDS

purple

behind POWER button if turning on the blue and the orang buttons together

Modes

OFF = Device has no power or has been shutdown

ON = Device is fully powered

ON+CHARGING = Device is fully powered and has been connected to a USB host or Openmoko charger.

LOCK = Device is fully powered, but has screen lock displayed

SUSPEND = Device has been suspended to low-power mode

Basic Button Usage

This is grouped by mode:

Mode: OFF

To switch the device on: Press and hold POWER until the boot logo appears.

To enter the "normal" (NAND) boot menu: Press and hold POWER, one second later press and hold AUX.

To enter the "rescue" (NOR) boot menu: Press and hold AUX, then press and hold POWER.

Mode: ON

To suspend the device: Press POWER.

To shut down the device: Press and hold POWER for 4 seconds. If the device hangs, press and hold POWER for 8 seconds. If it still hangs, remove the battery and disconnect from USB.

To go to the home screen: Press AUX.

To display the profile screen: Press and hold AUX until it appears.

Mode: SUSPEND

To wakeup the device: Press POWER.

Basic LED Usage

LEDs are very useful in broadcasting valuable basic status information to the user in a way that the user does not have to unlock the device, enable the screen or turning the screen saver off and subsequently search the screen for basic status information.

This is grouped by mode:

Mode: OFF

All LEDs will be turned off.

Mode: ON

HEARTBEAT will emit a short blink every 4 seconds.

If Bluetooth is powered on, WIRELESS will emit a short blink every 2 seconds.

If Wifi is powered on, WIRELESS will emit a long blink every 2 seconds.

If Bluetooth and Wifi are powered on, WIRELESS will be lit continuosly.

Mode: ON+CHARGING

Same as ON, with the exception of

HEARTBEAT will increase blinking as the charge level of the battery increases.

HEARTBEAT will be continuosly lit, if the battery has been fully charged.

Mode: SUSPEND

All LEDs will be turned off.

Advanced Button/LED Usage

In ON-Mode, EVENT will blink every 2 seconds if there's an event that needs your attention.

The more events, the faster EVENT will blink.

Pressing AUX will acknowledge the event with the topmost priority and display it to you.

A first rules implementation

Implementations of other LED behaviors

Blink LEDs to a user-definable rhythm

A Python Script For Blinking Leds By Beats. This script reads beats from a file and blinks FreeRunners LEDs accordingly.

File format is human readable text, consisting of a simple sequence of integer quartet (4 numbers). The first number representing status of blue power-led, second means status of orange power-led and third means status of red aux-led. 0=OFF, 1=ON. (If blue=1 and orange=1 then power=lila. This has nothing to do with this python script or this file format.) The last number represents the duration in milliseconds to hold that situation of leds. Any non digit characters in the file count as a separators between numbers, but are otherwise ignored.

Charge State and Wi-Fi transfer

Seba has written a script called ledd which indicates charging state and transferring data over
wifi on the LEDs. It is available here.

Power Status

This Perl Script
uses the blue and orange LEDs under the power button to show battery power status.

Install perl using "opkg install perl" to use this script. The script will indicate high battery with blue, medium battery by purple (blue + orange), and low battery by orange. Adjust values for your needs.

You can have it autostart by saving the script as /etc/init.d/lights.pl
then creating a shell script /etc/init.d/startlights.sh with just one line:

Taxonomy

What's currently implemented

Those are all userspace directories for controlling the LEDs. echo 0 > brightness will turn the LED off. echo 1 > brightness will turn it on.
trigger currently does nothing.

Buttons

AUX = Button on the left side of the device, upper area

POWER = Button on the right side of the device, center area (right below the USB socket)

Leds

EVENT

red

behind AUX button

HEARTBEAT

orange

behind POWER button

WIRELESS / BLUETOOTH

blue

behind POWER button

MIXING TWO LEDS

purple

behind POWER button if turning on the blue and the orang buttons together

Modes

OFF = Device has no power or has been shutdown

ON = Device is fully powered

ON+CHARGING = Device is fully powered and has been connected to a USB host or Openmoko charger.

LOCK = Device is fully powered, but has screen lock displayed

SUSPEND = Device has been suspended to low-power mode

Basic Button Usage

This is grouped by mode:

Mode: OFF

To switch the device on: Press and hold POWER until the boot logo appears.

To enter the "normal" (NAND) boot menu: Press and hold POWER, one second later press and hold AUX.

To enter the "rescue" (NOR) boot menu: Press and hold AUX, then press and hold POWER.

Mode: ON

To suspend the device: Press POWER.

To shut down the device: Press and hold POWER for 4 seconds. If the device hangs, press and hold POWER for 8 seconds. If it still hangs, remove the battery and disconnect from USB.

To go to the home screen: Press AUX.

To display the profile screen: Press and hold AUX until it appears.

Mode: SUSPEND

To wakeup the device: Press POWER.

Basic LED Usage

LEDs are very useful in broadcasting valuable basic status information to the user in a way that the user does not have to unlock the device, enable the screen or turning the screen saver off and subsequently search the screen for basic status information.

This is grouped by mode:

Mode: OFF

All LEDs will be turned off.

Mode: ON

HEARTBEAT will emit a short blink every 4 seconds.

If Bluetooth is powered on, WIRELESS will emit a short blink every 2 seconds.

If Wifi is powered on, WIRELESS will emit a long blink every 2 seconds.

If Bluetooth and Wifi are powered on, WIRELESS will be lit continuosly.

Mode: ON+CHARGING

Same as ON, with the exception of

HEARTBEAT will increase blinking as the charge level of the battery increases.

HEARTBEAT will be continuosly lit, if the battery has been fully charged.

Mode: SUSPEND

All LEDs will be turned off.

Advanced Button/LED Usage

In ON-Mode, EVENT will blink every 2 seconds if there's an event that needs your attention.

The more events, the faster EVENT will blink.

Pressing AUX will acknowledge the event with the topmost priority and display it to you.

A first rules implementation

Implementations of other LED behaviors

Blink LEDs by user-definable beat

A Python Script For Blinking Leds By Beats. This script reads beats from a file and blinks FreeRunners LEDs accordingly.

File format is human readable text, consisting of a simple sequence of integer quartet (4 numbers). The first number representing status of blue power-led, second means status of orange power-led and third means status of red aux-led. 0=OFF, 1=ON. (If blue=1 and orange=1 then power=lila. This has nothing to do with this python script or this file format.) The last number represents the duration in milliseconds to hold that situation of leds. Any non digit characters in the file count as a separators between numbers, but are otherwise ignored.

Charge State and Wi-Fi transfer

Seba has written a script called ledd which indicates charging state and transferring data over
wifi on the LEDs. It is available here.

Power Status

This Perl Script
uses the blue and orange LEDs under the power button to show battery power status.

Install perl using "opkg install perl" to use this script. The script will indicate high battery with blue, medium battery by purple (blue + orange), and low battery by orange. Adjust values for your needs.

You can have it autostart by saving the script as /etc/init.d/lights.pl
then creating a shell script /etc/init.d/startlights.sh with just one line: