[APP][v2009.04.09.2] Illumineria - Xperia Illumination Pattern Modifier

brins0

Senior Member
May 1, 2006
438
8
0
Ashton-Under-Lyne
brins0.net
New Version: v2009.04.09.1

New version released

Changes:
» Updated the LED mapping information so it's correct
» Worked out what the unknown is, so added that in and updated the GUI accordingly

Sorry for the rapid re-release folks, but I wanted to get it out so badly, that I overlooked the above...
 

gundamboy

Senior Member
Feb 20, 2009
595
38
0
Vancouver
IT's great brins0, now I can see all the choices xD.
However it's better if you post the updates within your first post,
that way everyone doesn't have to go to the last page to find out what's new!
 

dancemacabre

Senior Member
Mar 12, 2009
109
0
0
Malacca
I'm using a 6.5 rom from the kitchen, and it works fine you'll be glad to know... :)
That's very good !! Have been quite bothered with the rom because some programs are not working well with wm6.5

Im looking forward for it !!! :D

IT's great brins0, now I can see all the choices xD.
However it's better if you post the updates within your first post,
that way everyone doesn't have to go to the last page to find out what's new!
Yeap I agree with him. Heheheheh
 

on8a

Senior Member
Nov 2, 2008
93
2
0
Stockholm
Hi,

I just noticed this thread. I was looking at this in the X-mas holliday, but really never got to the programming point. This looks very nice. :D

I haven't really digged into all the posts in the thread to see exactly whats discovered, but here is what I found out when I was investigating the patterns, hope it can help (copied from an older message):

The start of the pattern is made up of a something like a timing value for the LEDs and the brightness value.
If you look at the original Incoming call settings:

"COMM_VOICE_INCOMINGCALL"=hex:\
00,00,03,00,0a,00,0f,00,16,00,22,00,36,00,49,00,4a ,00,4b,00,00,00,03,78,0a,\
00,0f,78,16,00,22,a8,36,00,49,00,4a,00,4b,00,00,00 ,03,00,0a,00,0f,00,16,00,\
22,00,36,00,49,00,4a,00,4b,00,0a,0f,0f,0f,0f,0f,0f ,0f,0f,0f,00,00,0c,00,19,\
00,25,00,32,00,4b,00,54,00,55,00,56,00,96,00,fc,04

The first 20 values are for the RED led:
00,00,03,00,0a,00,0f,00,16,00,22,00,36,00,49,00,4a ,00,4b,00
the next 20 is for the GREEN led:
00,00,03,78,0a,00,0f,78,16,00,22,a8,36,00,49,00,4a ,00,4b,00
and the next 20 for the BLUE led:
00,00,03,00,0a,00,0f,00,16,00,22,00,36,00,49,00,4a ,00,4b,00

As you can see, every second value is the same on the three LEDs. This is the timing value for the LED to light up (or fade out if it is 00). Think 1C is about 1 second. They are paired with the brightness value of the LED.
The timing values for the LEDs can be changed, but they must be the same for all three. If you have a lit value and the next is 00, it will fade out, that's why the values on 0a and 16 in the GREEN led are 00.
The last timing values are 49, 4a and 4b. The last value will give you the cycle time. The only important here is that the values has to increase over the whole scale, thats why they are not the same.

The values following the BLUE led is which LED that should be lit in appropriate time slot:
0a,0f,0f,0f,0f,0f,0f,0f,0f,0f
I havn't figured out what 0a does (it could be connected to the start timing value (00,00) on every LED), it's the same for all registry settings, but the next 9 (0f) is connected to the timing values and the appropriate LED.
01=upper right
02=upper left
04=lower right
08=lower left
So 0f will light up all LEDs (01+02+04+08=0f).

So, making a light that would "walk" round the phone should be something like:

00,00,1c,30,38,00,54,00,70,00,8c,00,a8,00,c4,30,e0 ,00,e1,00,00,00,1c,00,38,\
00,54,30,70,00,8c,00,a8,00,c4,00,e0,00,e1,00,00,00 ,1c,00,38,00,54,00,70,00,\
8c,30,a8,00,c4,30,e0,00,e1,00,0a,01,01,04,04,08,08 ,02,02,00,00,00,0c,00,19,\
00,25,00,32,00,4b,00,54,00,55,00,56,00,96,00,fc,04

This should give a light wth RED upper right, GREEN lower right, BLUE lower left and PURPLE (red+blue) upper left. All in all 8 seconds (1 second dim up, 1 second dim down per LED).

The last value (fc) is the repeat time for the sequence. So fc will make it repeat 252 times before turning it off.
 

on8a

Senior Member
Nov 2, 2008
93
2
0
Stockholm
The LEDs used aren't very powerful ones, thus shouldn't use too much power. Theoretically it's possible to "call" the LED patterns, if we can find the LED controller. I guess that's what we're looking for at the moment.
I think the N5LedMgr.dll is responsible for the LED handling. Maybe by doing a DLL forwarding it´s possible to catch the events for controlling the LEDs. Here's the functions for the dll:

Microsoft (R) COFF/PE Dumper Version 8.00.50727.762
Copyright (C) Microsoft Corporation. All rights reserved.


Dump of file N5LedMgr.dll

File Type: DLL

Section contains the following exports for LEDMgr.dll

00000000 characteristics
E7AE08C2 time date stamp Tue Mar 03 19:13:22 2093
0.00 version
1 ordinal base
12 number of functions
12 number of names

ordinal hint RVA name

1 0 00002768 LED_Close
2 1 00002644 LED_Deinit
3 2 00002890 LED_IOControl
4 3 000025AC LED_Init
5 4 0000271C LED_Open
6 5 00002F14 LED_PowerDown
7 6 00002ED0 LED_PowerUp
8 7 0000268C LED_PreClose
9 8 000026D4 LED_PreDeinit
10 9 000027B0 LED_Read
11 A 00002840 LED_Seek
12 B 000027F8 LED_Write

Summary

1000 .CRT
2000 .data
1000 .pdata
1000 .reloc
6000 .text
Though it's the low level functions and has nothing to do with the registry entries. But the dll has references to these entries as well, so I guess it is this file that's the mother of the LEDs flashing. :p
 

Angelusz

Senior Member
Nov 16, 2008
1,306
10
0
Nijmegen
I think the N5LedMgr.dll is responsible for the LED handling. Maybe by doing a DLL forwarding it´s possible to catch the events for controlling the LEDs. Here's the functions for the dll:



Though it's the low level functions and has nothing to do with the registry entries. But the dll has references to these entries as well, so I guess it is this file that's the mother of the LEDs flashing. :p
That, is a good find. Perhaps Brins0 can work with it.
 

brins0

Senior Member
May 1, 2006
438
8
0
Ashton-Under-Lyne
brins0.net
Great application! Been waiting for something like this for a long time. But could we have some instructions on the settings in the edit pattern screen?
great appz but I don't understand how to edit my patterns... what are all these numbers/indicators in edit pattern screen?
I'll be taking some screenhsots later on when I find out which program I used for Gyrator, so i'll label them and write a quick guide.

IT's great brins0, now I can see all the choices xD.
However it's better if you post the updates within your first post,
that way everyone doesn't have to go to the last page to find out what's new!
If you want to see what's new, you could always check the history on the Illumineria website:

http://illumineria.brins0.net/?page=history

I think the N5LedMgr.dll is responsible for the LED handling. Maybe by doing a DLL forwarding it´s possible to catch the events for controlling the LEDs. Here's the functions for the dll:
...
Though it's the low level functions and has nothing to do with the registry entries. But the dll has references to these entries as well, so I guess it is this file that's the mother of the LEDs flashing. :p
That's a little bit beyond my understanding really, lol. I'm still only really upto p/invoke as far as messing with dll's go, but i'm learning. Although I might not know how to work it out, someone else may find your information invaluable, so thanks!
 
Last edited:

brins0

Senior Member
May 1, 2006
438
8
0
Ashton-Under-Lyne
brins0.net
As promised, I've taken some screenshots of Illumineria and annotated them to make it easier for people to work out how to use the editor. They can be found below:

Pattern Editor
Event Editor

Apologies for the nasty looking scroll bars. The ones in WM6.5 arn't too pretty. I will most likely be making some new ones for my device, that mimic the old WM6.1 ones, as they look cleaner.
 

kmunz

Member
Apr 5, 2008
10
0
0
Hi to all bro,
I got one question. I am trying to make a custom LED blink. How do i make it if I wan it to keep on repeating the blink?
like when charging the phone
 

brins0

Senior Member
May 1, 2006
438
8
0
Ashton-Under-Lyne
brins0.net
Hi to all bro,
I got one question. I am trying to make a custom LED blink. How do i make it if I wan it to keep on repeating the blink?
like when charging the phone
http://illumineria.brins0.net/?page=pattern_editor - Item 10

In the options menu there is an option which sets the loop tag to the highest value, but I don't think it will loop indefinitely. So far it seems to loop endlessly, so it may be "infinite" for a certain value. The value it is set to is the same as the charging LED animation one...
 

kmunz

Member
Apr 5, 2008
10
0
0
http://illumineria.brins0.net/?page=pattern_editor - Item 10

In the options menu there is an option which sets the loop tag to the highest value, but I don't think it will loop indefinitely. So far it seems to loop endlessly, so it may be "infinite" for a certain value. The value it is set to is the same as the charging LED animation one...
hmmm.. thats weird, I have checked on the loop option but it doesn't seem to repeating.
Eg : LED when charging. I try to custom one, but it won't repeat. but if i select on one of ur prefix, it will repeat. Any idea?
 

madxtreme

Senior Member
Nov 13, 2008
141
0
0
hmmm....i like it to make some other illumination...but testing sucks^^ everytime making a soft reset^^

if you go to the settings you can test the SE illumination...without a soft reset^^ can you find out how they do it?^^
it would be great to test while creating a illumination :D
for example: i did a illumination with all 8 patterns...but it doesnt do all the 8 and it doesnt loops :S
 

kmunz

Member
Apr 5, 2008
10
0
0
hmmm....i like it to make some other illumination...but testing sucks^^ everytime making a soft reset^^

if you go to the settings you can test the SE illumination...without a soft reset^^ can you find out how they do it?^^
it would be great to test while creating a illumination :D
for example: i did a illumination with all 8 patterns...but it doesnt do all the 8 and it doesnt loops :S
yup.. thats a good idea. I notice that there is a preview button now but unfortunately is it not activated.

I think u have the same situation that I am facing now (doesn't loop)
 

madxtreme

Senior Member
Nov 13, 2008
141
0
0
yup.. thats a good idea. I notice that there is a preview button now but unfortunately is it not activated.

I think u have the same situation that I am facing now (doesn't loop)
oh xD you say it xD there is a deactivated preview button^^ so he is on the way to find out how to make a preview^^
 

anothadave

Senior Member
Mar 6, 2009
301
2
0
would be handy if when you clicked on an event it showed the pattern already associated with it rather than going straight to replacing it. i think the early versions did this doesnt seem to do it anymore
 
Last edited:

madxtreme

Senior Member
Nov 13, 2008
141
0
0
would be handy if when you clicked on an event it showed the pattern already associated with it rather than going straight to replacing it. i think the early versions did this doesnt seem to do it anymore
yes in the older version it was so, that the illumination was focused which was associated with :)
 

brins0

Senior Member
May 1, 2006
438
8
0
Ashton-Under-Lyne
brins0.net
yes in the older version it was so, that the illumination was focused which was associated with :)
Because of how earlier versions worked, it was quite simple to work out which pattern was currently assigned to the event. Because the patterns are now stored as individual files, it would require opening each and every .pat file to see if the pattern matched the event. It's possible to do this, but it would take a long time to process, and would ahve to be done each and every time you open an event for change.

I wanted to keep the program quite simple and quick so it made it as fast as possible to make changes, as there's nothing I hate more than a slow application...

Rest assured however, I will look into it when I get back home next week...
 
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone