Yellowcog has an off-the-shelf version of the Pilot-CAN board that has a single, very large, RGB LED mounted on one side. Providing feedback in active situations can be tricky in many circumstances since small displays, or worse, having to check on a smart phone, can be unreliable ways to alert users. The large, bright LED can be seen from 100 metres and react to any parameter or variable available to the Pilot system (e.g. received from the CAN bus or a wireless device). Some examples for the use of the LED are to show: the proximity of a user; the status of a data up-link; physiological stress warnings, remote data values; or warning lights for any available parameter. The LED can pulse or flash in reaction to any parameter so the options are endless. The boards have been used in everything from security access control to art installations.
Some yellowcog products can control external LEDs but we also have a Pilot with a RGB LED and help on RGB LED Module.
RGB LED Properties
The RGB properties group allows a lot of different modes to be configured, from static colours to stream-dependent colours. The lowest 24bits (either in the stream value or entered manually (depending on operating mode) carries the colour required.
- Operating Mode - set to one of:
- Stream Colour - the LED colour is directly set by the 32-bit stream value.
- Solid Colour - the LED is fixed as Colour1.
- Fade Colour - the LED fades between Colour1 and Colour2.
- Stream Index - a stream value of zero shows as black/off, Stream=1 then LED=Colour1 ... Stream=3 then LED=Colour3.
- Burner - reserved.
- Fade Time - when fading this is the time to go from one colour to the other (not "there and back").
- LED Bank - to use the first three feature pins, set this to '1'. For the Pilot RGB, set this to '3' for the on-board LED.
- Luminosity - this percentage is applied after the LED colour is calculated. i.e. it will dim the calculated colour.
- Color n - these are only used for operating modes that use indexed colours (rather than colours explicitly carried as the stream value)
- Off Time - see strobes.
- On Time - see strobes.
- Hex Colour - this allows entering of a RGB hex value for the colour part of the value.
- Swatch - shows the colour of the entered hex (click on the colour swatch to select a colour using the colour picker)
Colour Strobe Values
The upper 8bits of the 32bit value is used to specify the "strobe". The strobe allows the colour to flash at a selection of rates. The strobe value only alters the LED when it is non-zero.
Off times are represented by a 4bit value (and are stored in the top 4bits - 0xF0000000 - of the 32bit value). The bit values represent:
- 0 - Always off
- 1 - 100ms.
- 2 - 250ms.
- 3 - 1s.
- 4 - 5s.
- 5 - 10s.
- 6 - 30 seconds.
- 7 - reserved.
On times are represented by a 4bit value (stored in the 0x0F000000 position). The bit values represent:
- 0 - 10ms
- 1 - 100ms
- 2 - 200ms
- 3 - 400ms
- 4 - 1s
- 5, 6, 7 - reserved.
Periodic Task Properties
For items that do not share properties with the more numerous serial, ANT or Bluetooth types, this gives the single option of:
- Update @ - perform a calculation or some other task at
- the rate in Hertz (e.g. 4Hz is four operations per second)
- the period in milliSeconds between each operation (e.g. 250mSecs is four operations per second)
Note some modules will carry out some of their operations faster than this underlying rate. For example, a module may perform idle tasks at the rate specified here but may still react within microseconds to certain events and store these for processing at the periodic rate.
N.B. It is tempting to up the period frequency to “get the most” out of the system. Caution should be used since the Pilot has finite resources and making this value too high may negatively impact other modules. Best results are achieved by setting this to the absolute minimum required to achieve the given task.
Basic Properties
All modules have this panel. Options are:
- Type – is determined when first adding the module and governs which module properties can be configured.
- Name – used to identify the module in the module list but may also play a part on the embedded device, for example it may be required for it to appear in the outputted data.
- Enable on Pilot – if this is set then this config item will be included and enabled when transferred to the Pilot. If not, then it will still be editable on the PC but will not be used by the Pilot.
- Default Filter – see Streams, Advanced Concepts.
- User Number – This can be used to identify this module elsewhere in the system. For example, by outputting this number whenever the device is connected. In general, it can be left as zero.