We have moved to a new Sailfish OS Forum. Please start new discussions there.
27

[Jolla C] Message led only one colour?

asked 2016-07-20 08:14:58 +0300

ehakkarainen gravatar image

updated 2016-08-08 14:29:24 +0300

jiit gravatar image

Does the Jolla C message led have only one colour (white)? Or is it the software? - I'm missing blue sms "blink" that allowed me to "passively" monitor sms alarms

If only one colour, how can I change the settings so that it would only display white if there is a sms message "waiting"? (maybe also WhatsApp?)

Edit: maybe a different blink patterns would serve the purpose of informing the user what message types are waiting?

edit retag flag offensive close delete

Comments

6

+1 could be a nice feature!

louisbob ( 2016-07-20 15:01:55 +0300 )edit
2

Blink frequency adjust is must. Must be different blink rate for unanswered phone call and messages. This was so nice with jolla 1 with different coluors

jpjolla ( 2016-08-08 22:53:15 +0300 )edit
1

I edited this here in the led.ini.

But only for IM Messages worked it. SMS still the LED only is on and not blinking.

PatternCommunication=30;6;0;500;1500;ffffff PatternCommunicationCall=30;6;0;500;1500;ffffff PatternCommunicationIM=30;6;0;500;1500;ffffff PatternCommunicationSMS=30;6;0;500;1500;ffffff PatternCommunicationEmail=30;6;0;500;1500;ffffff PatternCommonNotification=30;1;0;500;1500;ffffff PatternCommunicationAndBatteryFull=29;1;0;0;0;ffffff

EDIT: It works i deleted the test .ini with 90-hybris-led-l500d.ini and make a backup of the original 60-hybris-led-l500d.ini

GREAT !

monkeyisland ( 2016-08-11 21:25:36 +0300 )edit

2 Answers

Sort by » oldest newest most voted
26

answered 2016-07-20 20:39:09 +0300

updated 2016-08-08 13:55:38 +0300

nadir gravatar image

I don't think that the led colour can be changed. A cat /etc/hw-release give me this:

[root@Sailfish ~]# cat /etc/hw-release
# This file is copied as hw-release (analogous to os-release)
NAME="Intex Aqua Fish"
ID=l500d
MER_HA_DEVICE=l500d
MER_HA_VENDOR=qualcomm
VERSION="0.0.1.24 (armv7hl)"
VERSION_ID=0.0.1.24
PRETTY_NAME=" 0.0.1.24 (armv7hl)"
SAILFISH_BUILD=24
SAILFISH_FLAVOUR=release
HOME_URL="https://sailfishos.org/"

The device ID is L500D and if you check the /etc/mce/60-hybris-led-l500d.ini, you can find:

[root@Sailfish ~]# cat /etc/mce/60-hybris-led-l500d.ini
....
# Notes:
# * L500D led hw has only binary on/off control and fixed intensity.
# * The colour is ignored, but still needs to have nonzero value.
# * Blinking is implemented via the same user space logic that does
#   sw-breathing on devices where led intensity can be controlled and
#   requires keeping the device away from suspend.

It seems that the Jolla C as only a fixed intensity led and only white colour. Regarding blinking, it sounds like it could be possible, but I'm currently not sure how (I'm very new to SailfishOS).

EDIT>

Ok, so after a little test, it seems that the led can blink (should I've seen it after a full charge but I didn't paid attention):

dbus-send --system --print-reply --dest=com.nokia.mce /com/nokia/mce/request com.nokia.mce.request.req_led_pattern_activate string:PatternBatteryFull

makes the led blink following this pattern: 1500ms: on/500ms off. This pattern disable itself when the screen is on or using:

dbus-send --system --print-reply --dest=com.nokia.mce /com/nokia/mce/request com.nokia.mce.request.req_led_pattern_deactivate string:PatternBatteryFull

(more information here https://together.jolla.com/question/117545/network-state-mce/)

So, I tried to override the patterns definitions creating a /etc/mce/90-hybris-led-l500d.ini as root and changing patterns for email and stuffs (I don't want to directly modify the 60-hybris-led-l500d.ini file), I restarted the mce service (systemctl restart mce.service) and check with the d-bus call, and... no luck, it didn't work for me this way. Perhaps I missed something? I will try again later.

EDIT2>

it works but...

Ok, I figure it out and blinking works :) , but I'm not sure about some things (details below).

So, first thing, I installed mcetool (easier to activate/deactivate a pattern than the d-bus call). Then, I tried to create new patterns in a new file 90-private-patterns.ini and after a restart of the mce systemd service, I was able to use the freshly defined pattern (named PatternTest in my case). However, even if I copied the exact same pattern as the PatternBatteryFull one, I was unable to make it work. I search into the led module from mcesource code: https://git.merproject.org/mer-core/mce/blob/master/modules/led.c#L1033 and I found that this pattern always "breath" even if the "breathing" option is set to false. So I enable it (mcetool --set-sw-breathing=enabled), but... no blinking, so I tried to change the breathing-limit (mcetool --set-sw-breathing-limit=50) and it worked! (default limit seems to be 100).

Here is a recap of what I've done in order to be able to make the "blinking" work.

[root@Sailfish ~]# mcetool --set-sw-breathing=enabled
[root@Sailfish ~]# mcetool --set-sw-breathing-limit=50     (a 0 value also worked)

Here are my questions:

  1. Even if the "sw-breathing" is enabled, the led does not blink while the "sw-breating-limit" is not properly set. But the fact that the blinking pattern of the JollaC does not wok (besides for the PatternBatteryFull) is due to a "sw-breathing" set to "disabled" and a "sw-breathing-limit" set to 100 or only a "sw-breathing-limit" set to 100?
  2. If I restart my phone, does the "sw-breathing" option "reset" to a default value?
  3. Why does these options are kinda "disabled" by default? (can damage the led?)

In the same time, I was able to override the default sms/email/call patterns by copying the /etc/mce/60-hybris-led-l500d.ini to /etc/mce/90-hybris-led-l500d.ini and by changing the patterns. Then a restart of the systemd service and everything was working fine (by the way, I changed the led colour just to be sure and nop... no other colour).

[root@Sailfish ~]# cp /etc/mce/60-hybris-led-l500d.ini /etc/mce/90-hybris-led-l500d.ini
[root@Sailfish ~]# vi /etc/mce/90-hybris-led-l500d.ini
... change the blinking values
[root@Sailfish ~]# systemctl restart mce
... to test the PatternCommunicationCall pattern (or any pattern you want to test)
[root@Sailfish ~]# mcetool --activate-led-pattern=PatternCommunicationCall
... and in order to disable it
[root@Sailfish ~]# mcetool --deactivate-led-pattern=PatternCommunicationCall

That's all for now guys. I will seek throught the mce source in order to see what happend when an option is changed (saved or not). If anyone has any lead about my questions, comments are welcome :)

_small edit>_

Before changing or modifying mce led conf in your phone, it could be better to find out why the "sw-breathing" option is disabled by default and check if it does not damage the led or anything else.

edit flag offensive delete publish link more

Comments

5

damn it, another step back from jolla1 and n9. but thanks for investigating that issue.

edit : that would be too cool, so we'd at least get some info out of that thing without waking up the display :D

dmnk ( 2016-07-21 09:13:50 +0300 )edit
4

The real "step back": price of Intex Aqua Fish 4G LTE (~Jolla C) is 75 EUR. Jolla 1 was 399 EUR and Nokia N9 599 EUR (when I bought my second Jolla 1 and first N9).

kt ( 2016-07-22 11:58:38 +0300 )edit
5

NO LED COLORS? :(

hoschi ( 2016-07-22 12:21:02 +0300 )edit

I'm almost sure it doesn't, but perhaps I missed something.

vinc_e ( 2016-07-22 12:31:23 +0300 )edit
2

One more reason to appreciate the old and recently unappreciated Jolla 1. Well the great price different can make such discoveries only logical, if not so why the extra cost if not for the features implemented or dropped as the case may be?

DameCENO ( 2016-07-22 14:46:23 +0300 )edit
16

answered 2016-08-08 13:21:45 +0300

spiiroin gravatar image

updated 2016-08-08 13:56:24 +0300

nadir gravatar image

@ehakkarainen

The led in Jolla C is single colour (white) without intensity control (on/off only).

To have only SMS messages light up the led, you need to disable other notification patterns:

mcetool --disable-led-pattern=PatternCommunicationCall
mcetool --disable-led-pattern=PatternCommunicationEmail
mcetool --disable-led-pattern=PatternCommunicationIM

About the "maybe a different blink patterns would serve the purpose of informing the user what message types are waiting?" part. It is possible, but it either consumes a lot of power, or requires the led behavior depend on whether a charger is connected or not.

@vinc_e

3 Why does these options are kinda "disabled" by default? (can damage the led?)

No, it does not damage the led, but the "sw breathing" effectively blocks the device from suspending -> significantly increases power consumption at idle time -> defaults are: enabled=true, limit=101% -> breathing is enabled, but only when a charger is connected.

2 If I restart my phone, does the "sw-breathing" option "reset" to a default value?

No, the settings persist over device / mce restarts.

1 Even if the "sw-breathing" is enabled, the led does not blink while the "sw-breating-limit" is not properly set. But the fact that the blinking pattern of the JollaC does not wok (besides for the PatternBatteryFull) is due to a "sw-breathing" set to "disabled" and a "sw-breathing-limit" set to 100 or only a "sw-breathing-limit" set to 100?

The "breathing" is applicable when: enabled == true AND (charger == connected OR battery level >= limit). Additionally the PatternBatteryFull is handled as an exception and is always considered breathable (to avoid full intensity white blinking on Jolla1 devices).

So in case of Jolla C charging pattern... Breathing is "enabled" by default and charging can occur only when charger is connected (=the "limit" setting plays no role) -> for limited time blinking when charging starts, running "mcetool --enable-led-pattern=PatternBatteryCharging" from command line should be enough. For unlimited blinking while charging, the pattern timeout also needs to be cleared via custom/edited ini-file and mce service restarted.

To make missed call/email/sms etc notifications blink, you need to provide custom pattern configuration. And if you want them to blink also when charger is not connected, the battery level limit needs to be adjusted via "mcetool --set-sw-breathing-limit=N", where N=0 means always, N=50 when battery is at least half full, etc.

edit flag offensive delete publish link more

Comments

2

Thanks again for all the details, it makes all of this crystal clear!

vinc_e ( 2016-08-08 15:10:57 +0300 )edit

is there a way to disable the LED blinking only for "battery fully charged" but keep it enabled for the other patterns when connected to a charger? I find the blinking rather distracting at night :-/ (but it would be ok for missed calls, sms...)

tad ( 2016-09-04 16:08:55 +0300 )edit

What do I have to do, if I want a blinking led, when for example a message via Threema arrives? The Workaround, what you can do with Jolla 1 via the androidnotifications file, does not work with Jolla C or Aqua Fish.

naalaa ( 2016-09-04 23:06:39 +0300 )edit
1

@tad: To disable battery full led altogether:

mcetool --disable-led-pattern=PatternBatteryFull

Or, to leave it enable but not blinking, do (as root):

cp /etc/mce/60-hybris-led-l500d.ini /etc/mce/90-custom-led-l500d.ini

Edit /etc/mce/90-custom-led-l500d.ini, so that:

-PatternBatteryFull=40;4;0;1500;500;ffffff
+PatternBatteryFull=40;4;0;0;0;ffffff

And then restart mce service (or reboot the device):

systemctl restart mce

@naalaa: To have blinking led for notifications, you need to edit / do similar overrides for relevant led pattern configurations. And to enable blinking also when charger is not connected, you need to also tune the "sw breating" settings as described earlier in the chain.

spiiroin ( 2016-09-05 10:35:14 +0300 )edit
Login/Signup to Answer

Question tools

Follow
13 followers

Stats

Asked: 2016-07-20 08:14:58 +0300

Seen: 2,099 times

Last updated: Aug 08 '16