Indicator LEDs


Binky

Death's Steed
Staff member
Joined
May 28, 2003
Messages
6,997
Location
16A (TO)
According to ED, the pyra will have three RGB indicator LEDs:

  • Two near the nubs
  • One behind the logo in the lid
How should they be controlled to maximise the information that they can convey?

We might want to display the following:

  • SD1 activity
  • SD2 activity
  • Wifi power status
  • wifi activity
  • BT power status
  • BT activity
  • 3G power status
  • 3G activity
  • Battery full/charging/discharging/critical
  • CPU working/on/suspended
  • Notifications through dbus and user-facing applications
Its also worth noting that users tend to adjust screen brightness to match ambient lighting, so we could use screen set to dim as a trigger for turning on the keyboard backlight

I suggest the following default behaviour:

When the lid is closed, the logo LED should behave as follows:

  • Green = charging
  • Red = discharging (the most common state, also the brand colour, also the least power hungry LED)
  • Green flashing = battery full
  • Red flashing = battery empty
  • Blue = suspended
  • White flashes = activity of type(s) specified in config file (the brightest, so most likely to be noticed)

When lid is open:

  • Red when screen is dim (also keyboard backlight on)
  • Black otherwise

As for the LEDs near the nubs:

LED0:

  • Red = recent 3G activity (maybe in the last 30 seconds?)
  • Green = recent wifi activity
  • Blue = recent bluetooth activity
  • Yellow = 3G + wifi
  • Magenta = 3G + bluetooth (Whoops - edited)
  • etc
LED1:

  • Red = recent SD1 activity
  • Blue = recent SD2 activity
  • Green = recent activity on the internal disk
  • etc


There may be a fourth RGB LED under the power button - which I suggest should behave in the same way as the logo in its lid-closed state
 
Last edited by a moderator:
Only three, one of which is on the lid? Sadness. :(

I was really hoping for a full 8.
 
I'm confused. Why is the leds not in the same place as Pandora's or is it?
 
Last edited by a moderator:
I would have been happy with 8 regular LEDs as there are on the Pandora, they don't need to be RGB. The power/charging LED can easily be replaced with an RGB, but I can forsee problems trying to distinguish between red, blue, and purple as it rapidly flashes around reading and writing to the SD cards. On the other hand, that's not really pertinent information, I guess.

With 3 RGB LEDs all the information can be presented, it just feels squashed together, ya know?
 
You may also want to distinguish write/upload activity from read/download activity.

I probably wouldn't use leds at all to display activity information -- a graph with some history is much more convenient and accurate.

The behavior of the logo led that Binky describes sounds good to me; here's a variation on it:

  • Blue flickering flame = charging
  • Red/Orange/Yellow flickering flame = discharging
  • Blue flashing = battery full
  • Red flashing = battery empty
  • Orange = suspended
  • White flashes = activity of type(s) specified in config file (the brightest, so most likely to be noticed)
The flickering flame could be implemented as a random sequence of colors according to a formula like "r = rand()%(156+batt); return rgb_color(r, rand()%((r+1)*batt/100), (charging ? 155+batt : 0));" (with batt the battery percentage), where the time between transitions is e.g. 150-batt milliseconds, so as the battery runs out, the flickering slows down while the flame becomes redder and less bright. Or while charging, it starts with a dark blue flame, which gradually becomes brighter. [Warning: I have not tested that formula, so I don't really know if it looks good like that. But you get the idea.]
 
I'm with WizardStan on this, I would much prefer that there were several individual indicators. (RGB not necessary) I'd also want them positioned such that they are visible whether the unit is open or closed.

I learned to hate Status LED multiplexing with a passion when trying to troubleshoot  "one light" routers over the phone.  Especially when I discovered that many people couldn't tell if the light was red or yellow/orange. With lots of activity of various kinds happening they are a lot harder to decipher at a glance.

That having been said:

  • Green = charging
  • Green flashing = battery full
It would make more sense for Green flashing to be Charging and Green steady to be battery full.

  • Red = recent 3G activity (maybe in the last 30 seconds?)
  • Green = recent wifi activity
  • Blue = recent bluetooth activity
  • Yellow = 3G + wifi
  • Purple = wifi + bluetooth
  • etc
If Red is 3G, and Blue is bluetooth, then by definition purple is 3G+bluetooth

(Wifi+bluetooth would be cyan)

I don't just want activity indicators though, I want to be able to tell if those radios are on (and using power) or off, even if there isn't any activity.

- Neelix
 
Last edited by a moderator:
Last edited by a moderator:
I can't see that being in any way practical. Some applications (if not most, if the pandora is anything to go by) are going to be full screen. I also prefer my indicators to be big enough to make out without a magnifying lens. Also how do you propose to make those pixels visible when the unit is closed?

- Neelix
 
Green flashing

can this be fade in to green, fade out to black? Like a sin(x) wave?

Also how do you propose to make those pixels visible when the unit is closed?
Uhm... flip the display like a tablet? :rolleyes:

Chill dude, brainstorming means many stupid ideas, some are good, most are not...

Red/Orange/Yellow flickering flame = discharging
Like those philips livingcolors lights? Like, but when charging... (as for discharge, maybe something that can be turned off in userspace, as I do not look at it too much... others might, so yeah... geek magnet)

Algorithm may be using HLS colorspace and changing the hue? (or would that be too heavy on the CPU?)
 
Last edited by a moderator:
Only three, one of which is on the lid? Sadness. :(

I was really hoping for a full 8.
LEDs are controlled via I2C, and an RGB LED is basically three single LEDs.

So 8 RGB LEDs would need enough controllers for 24 single LEDS!
 
What I really want to know is, are we able to do an LED Wiz type effect when the Pyra boots up, so it does some funky sequence, a bit like this sort of thing:

http://www.youtube.com/watch?v=SXQ6bV0b00Q

I know ED mentioned the LED are controlled in user space, which I understand to mean that we can have them how we want them pretty much, in terms of indicating things like charging, low battery, etc.

Would that also allow for that type of thing, boot up sequence patterns?

And, if so, I guess that'd be written to a config file of sorts, which we could share?

...So when one of you clever chaps makes an awesome sequence, you can give me the file so I can have the awesomeness too. That's what I want :)
 
LEDs are controlled via I2C, and an RGB LED is basically three single LEDs.
They aren't though. If wifi is red and 3G is green, then wifi and 3G will make a yellow that some may have difficulty distinguishing from just red. And I'm not even talking colourblind, I mean in real world, especially if they're used to indicate activity as well, with it flickering through red/yellow/green rapidly.Note that I'm not advocating for change, 3 (actually 4, counting the lid, I had missed the one on the power switch) LEDs are technically enough for all the necessary information, I'm just saying it isn't the same, that the data is more compressed. Pros and cons to each.

So 8 RGB LEDs would need enough controllers for 24 single LEDS!
I'd honestly be happier with 8 single colour LEDs than 3 RGB leds, but compromises can be made.The overlay that was never really used on the Pandora can easily be used for missing indicators, if we really want, sticking a ghost of an icon in the corner of the screen, just little graphs for data activity or something.
 
Exactly, 8 single colour LEDs.. It might not have the same 'cool' factor as the RGB stuff but it would be much more practical in terms of the function they perform, and to be honest I'm much more concerned about functional indicators than cool lighting effects.

- Neelix
 
Lets not forget the important feature of having a menu to let the user select how these behave - including the ability to turn them off by function?

I.e. I'd just as soon not have any LEDs on during normal discharge - but may want one to start slowly flashing orange when the battery crosses 20% remaining charge.

Maybe some dependencies too - like:

Disable the lid LED anytime the lid is opened.

Turn the lid LED on 'maximum white light' if all 4 shoulder buttons are pressed at once with the lid closed (flashlight mode).

Thresholds to set the 'max brightness' by LED by time - so I don't have to turn it upside down to sleep at night...

Someone is going to have great fun/possibilities in creating the application to control the LEDs.   They already have my thanks.
 
I always thought the LEDs on the hinge surrounds works really well on the Pandora, and since that part doesn't seem to be changing on the Pyra I'd hoped they'd stay there. It means you only need one LED for power whether it's open or closed, and you can see if you've left bluetooth or wifi on when you set the unit aside or just glance over at it, and can see if it's doing SD stuff which can be useful if you set something long-running going on it.


I guess it's because the shoulder buttons will now be topside of the board that they can't go there any more.


If we can't have that, I'm happy with Binky's suggestion except that flashing should be charging.
 
Last edited by a moderator:
Back
Top