LED Pattern Editor

A control panel applet to edit notification light blinking patterns. The N900 has two configurable pattern engines that interpret small programs (consisting of up to 16 commands) and can be assigned to drive any of the three (red, green, blue) LEDs in the notification light with configurable brightness patterns via PWM. Details can be found on the LED patterns page.

Opening
To open the LED Pattern Editor, select Settings and LED Patterns.

Viewing patterns
The LED Patterns dialog shows the list of defined patterns with a graphical representation of the LED brightness over time. Each vertical line corresponds to one second.

Editing patterns
Clicking on a pattern button opens the LED pattern editor dialog. Below the graphical pattern view, there is a list of commands that will be interpreted by the currently selected engine. Engine 1 or 2 can be selected by the toggle button to the right, below the color chooser buttons which assign the LEDs to drive to each of the engines. To add a new command, tap the New command button at the end of the list.
 * To edit a command in the currently selected engine's program, tap the command button in the list. Change the command's parameters in the command edit dialog and observe the changes in the graphical pattern view. Select Done when finished or close the dialog to revert the changes.
 * Select Delete to remove the command from the list.

Pattern engine commands
Each of the two engines controls a single PWM output that can be used to drive any of the three LEDs in the notification light.
 * The Set PWM command sets the PWM output to the specified level (0-255).
 * The Ramp command increases or decreases the PWM output by the specified number of steps with a specified wait time after each step. The total duration of the ramp is the wait time multiplied by the number of steps plus one, (wait_time * (steps + 1)).
 * The Wait command is the same as a Ramp with zero steps. The duration is equal to the wait time.
 * A Trigger command is used to wait for a trigger from the other engine or to set a trigger to the other engine to release it from a waiting state. This command can be used to synchronize the two independently running engines.
 * The Go To Start command is used to repeat the pattern from the first step. All patterns must end in a Go To Start or End command.
 * The End command stops the engine, ending the program. It can be configured to either Hold the PWM level at the current value indefinitely or to Reset the PWM level to 0, turning off the connected LEDs.

Copy & paste
Patterns can be copied to and pasted from the clipboard in the format described here. See Community-Made Patterns for some examples.
 * The Copy button (or the keyboard shortcut Ctrl+c) copy the current pattern to the clipboard.
 * To paste a pattern from the clipboard, use the keyboard shortcut Ctrl+v.

Testing patterns
The Test button will start to replay the current pattern if it is well-formed. Unfortunately, the mce process will stop the playback occasionally and uncontrollably.

Saving changes
Selecting Done in the LED pattern editor dialog will save the changes to the pattern in the LED Patterns list. At this point, the changes are not yet applied. Just closing the LED Patterns dialog will revert any changes. Selecting Save will store the changes to the mce configuration file after a warning and restart the mce process.

Restoring original patterns
During the first installation, the LED Pattern Editor package stores a backup copy of the mce configuration file. Selecting Restore original patterns will restore the LED patterns from that file, overwriting all user-created patterns.