This task involves creating a new class(es) that will allow the system to playback pattern sequences using the Neo Freerunner hardware. The first thing to note is that the vibrator is treated similarly to how the phone views LEDs, meaning that the intensity of the vibration is determined by a number from 0 to 255 (brightness). Hardware on the Neo Freerunner can be read or written to by accessing special system files. The 'files' to access this hardware can be found in (these are easy-access symlinks):
In this directory you will find several special files that can manipulate its physical functionality (Linux: Device Files). An example of how to "Pulse" the Neo vibrator can be found inside the function SetVibrateNow within open source file:
The sample pattern files provided use the format of specifying the strength (0-255) and duration (milliseconds) of a single 'note' on each line of the file. For example, a file with:
This means that the hardware should activate at a strength of 150 for 1sec, followed by nothing for 0.5secs. In the case of the LEDs, as there are three LEDs - the pattern file will be formatted as follows:
1,1,1,0,1000 or 0,0,0,x,1000 (x can be anything)
This means that, blue and red leds activate for 1sec, blue remains on for 0.5sec, no activity for 1sec, followed by purple (blue/orange) led for 1 second.
This module should only exist in PhoneBookDialog and can only be accessed by other classes using signal and slot connections made in PhoneBookDialog.