[App] Zevele's Blinker v1.9 [22/12/2011]

Search This thread

zevele

Inactive Recognized Developer
Mar 8, 2010
279
89

Hi, Following the requests here, I've wrote this application. Basically the application blinks the device LED every few seconds. The idea is to have some notification that the device is still alive. The application blinks differently depending on the status of the device.

Main features:
  • Including sequences for normal, low battery, no-signal, new message (Voice/SMS/MMS/EMail), Missed calls, appointments, wireless status (bluetooth and wifi), GPS status and charging level.
  • Almost all sequences can be configured via the settings application.
  • Sequences may include blinking the green and orange LEDs (in HD2 - may be configured in other devices), the keypad LED, vibration and playing a wav file.
  • If the radio is turned off or there is no signal, another orange blink occurs (in addition to the regular one).
  • When the phone is charging the orange LED lights constantly, every few seconds a sequence of green blinks according to the batter level occurs (20-40% - 1 blink, 40-60% - 2 blinks, 60-80% - 3 blinks and 80-100% - 4 blinks). If the battery is fully charged - the green led lights constantly.
  • Blink interval and length can be set via the registry. Different blink interval for idle mode and when notification exists (new message/missed call).
  • Running the link once starts the application, on blink sequence occurs. Running the link again runs the settings application from which the service can be closed.
Known issues
  • Custom LED id's are not saved to the registry in ver. 1.5.
  • It seems that there are some issues running "Dusk taskbar" or "SDKCERTS" along with Blinker.
  • Sometimes when the device is locked, the application stops working (until the device wakes up). After a soft-reset the application returns to behave as expected. I really don't know what instigates the problem or how to solve it... If anyone has a clue please leave me a message. Not solved, but might be better in ver. 1.1.
    Update(16/4/2011): setting [HKCU\Software\Blinker\AllowUnattendedMode] to 0. Solved this issue for some. Also enabling "Don't suspend power" in S2U2 (under the advanced category) seems to help.
    Update(14/5/2011): In ver. 1.4 a possibility to periodically wake the device, it seems that this solution might work around the issue.
    gpobernardo may have found a solution to the problem.
    [*]Non at the moment (I'm sure some will pop soon... ;))

System Requirements
  • .Net Compact Framework 3.5
  • Tested successfully on: HTC HD2 (Leo), HTC TD2 (Topaz), HTC Touch HD (Blackstone), HTC Touch2 (Mega).
    But might work on other devices (please let me know if it works on other devices as well...)

ChangeLog
  • 07/12/11 (v1.9) - from post #198
    • Fixed issue where service could not be started from the settings application.
  • 07/12/11 (v1.8) - from post #196
    • Added GPS status support.
  • 04/09/11 (v1.7) - from post #180
    • Fixed issue where Blinker halts at midnight (thanks gpobernardo).
  • 20/08/11 (v1.6) - from post #177
    • Fixed issue where custom LED id's where not saved.
  • 13/08/11 (v1.5) - from post #173
    • Added a notifications check when power state changes.
    • Added 3 more custom LEDs.
    • Shortcut link now point to the settings application instead of the service itself.
  • 14/05/11 (v1.4) - from post #151
    • Rewrote the service project in c++ (Now the service requires significantly less memory when running).
    • Added ability to vibrate (see second post for further information).
    • Added ability to play a wav file in the sequence (see second post for further information).
    • Added sequences for "Appointment" and "New MMS".
    • Blinker now uses only the WM notification method.
    • Removed the "Use WM Notification" as it is no longer required.
    • Removed the "SMS Store" setting as it is no longer required.
    • Fixed issue where in lower resolution devices a scroll bar did not appear in the settings application.
    • Added "Advanced" tab in the settings application.
    • Added a "Wakeup notification" - this option will force the device to wake every couple of seconds. This should solve the "unattended issue" - but might affect the battery drain. This feature can be turned on under the "advanced" tab in the settings application.
    • Hibernates when no blinking is required.
    • Changed "AllowUnattendedMode" to "ForceUnattendedMode" and added a checkbox to control this value under the "advanced" tab.
  • 06/04/11 (v1.3) - from post #101
    • Blinker can now use the notification system instead of directly check the Stores (thanks peterpan911 for the tip). This can be configured in the setting, under "Use WM Notifications".
    • Blinker can be configured to load on startup from the settings window.
    • Improved performance (thanks p50kombi)
    • Some minor interface improvement to the settings dialog.
  • 10/02/11 (v1.2) - from post #77
    • Added possibility to set the green/orange LED id.
    • Added possibility to set the SMS store name.
    • Improved error handling in case SMS store is not found.
  • 03/12/10 (v1.1) - from post #62
    • Added notifications for new message (SMS/EMail/Voice), missed calls and wireless status.
    • Added possibility to blink the keypad light as-well.
    • Added separate delay interval on new message or missed call.
    • Tweaked the unattended mode. The halting problem still exists, but it seems better now.
    • Added a configuration utility. To run it press the Blinker shortcut again (after blinker is already running).
  • 06/11/10 (v1.0) - Initial release

Downloads
Acknowledgements

Any suggestions or remarks are welcome

Z.
 

Attachments

  • Blinker.png
    Blinker.png
    2.5 KB · Views: 41,017
  • Blinker.CAB
    37.8 KB · Views: 1,244
  • Blinker.1.1.CAB
    128.5 KB · Views: 522
  • Blinker.1.2.CAB
    135.3 KB · Views: 520
  • Blinker.1.3.CAB
    140.9 KB · Views: 1,156
  • Blinker.1.4.CAB
    101.4 KB · Views: 1,969
Last edited:

zevele

Inactive Recognized Developer
Mar 8, 2010
279
89
Configuration

Configuration

Blink Sequences
The blink sequences for the different situations can be customized. The blink sequences can be edited in the settings application under the "sequences" tab or by directly editing the correspnding registry key. A blink sequence is composed of blocks separated by comas (white space is not allowed). The following commands are allowed:
G<#> Blink the green led for a duration of # msec.
O<#> Blink the orange led for a duration of # msec.
P<#> Blink the pad light for a duration of # msec.
C<x><#> Blink a custom LED (x=a,b or c) for a duration of # msec.
Pl<WAV file> Play the specified WAV file.
V<#> Vibrate for a duration of # msec.
S<#> Sleep for a duration of # msec.
L<#> Loop over the following sequence (until the "E" block or to the end of the sequence) # times.
E Mark the end of the sequence to loop over.


example:
G100,O100,L10,G25,O25,E,S100,O100,Pl\Storage Card\My Documents\SomeFile.wav

This sequence will do the following:
Blink the green LED for 100msec, blink orange one for 100msec, then it will repeatedly (10 times) blink the green LED (25msec) and the orange LED (25msec). then it will pause for 100msec and finally turn the orange LED for 100msec. At the end it will play the file "\Storage Card\My Documents\SomeFile.wav".


Configuration
All the configuration can be performed via the settings application. All settings are saved to the registry, under "HKCU\Software\Blinker". The following keys are available:
ForceUnattendedMode (DWORD), (0 = Don't change anything, any non-zero value = force unattended mode), (default = 1)
Allows unattended mode (another try to solve the unattended issue).

GreenLed (DWORD), (default = 1)
The LED id to use for the green LED.

OrangeLed (DWORD), (default = 2)
The LED id to use for the orange LED.

VibrationLed (DWORD) (default = 1)
Sets the ID of the vibration LED.

CustomLed# (DWORD) (default = 0)
Allows to define 3 more LED IDs accessed as Ca, Cb and Cc from the sequences.

WakeupNotification (DWORD), (0 = off , any non-zero value = on), (default = 1)
Periodically wakeup the device (another try to solve the unattended issue).

ACNotifications (DWORD), (0 = disabled, any non-zero value = enabled), (default = 1)
Controls weather Blinker shows notifications when the device is plugged to power source.

BatteryThreshold (DWORD), (default = 50)
Sets the threshold (in percent) for the "low battery" status. When the battery level falls below this value Blinker will use the "LowBatterySequence" (see below). When the battery level is above the threshold the "NormalSequence" (see below) is used.

BlinkByNotification (DWORD), (1 = enabled, any other value = disabled) (default = 0)
Controls weather Blinker should blink according WM notifications, or should check the state of the different stores. When enabled Blinker checks the WM notifications state.

BlinkDelay (DWORD), (default = 10000)
The period between blinks (in msec).

NotificationBlinkDelay (DWORD), (default = 3000)
The period between blinks (in msec) when there's a new notification (unread message/missed call).

AppointmentSequence (STRING), (default = "P500,L4,S100,P100,E,S200")
The blink sequence (see below) to use when there is an active appointment notification.

BluetoothSequence (STRING), (default = "S100,G25")
The blink sequence (see below) to use when the bluetooth is turned on.

FullPowerSequence (STRING), (default = "O25")
The blink sequence (see below) to use when on AC power and battery is full.

GPSSequence (STRING), (default = "S100,O25,G25,O25")
The blink sequence (see below) to use when GPS receiver is turned on.

LowBatterySequence (STRING), (default = "O25")
The blink sequence (see below) to use when the battery is below the BatteryThreshold (see above).

MissedCallsSequence (STRING), (default = "P500,S200")
The blink sequence (see below) to use when after a missed call.

NewMailSequence (STRING), (default = "P500,L1,S100,P100,E,S200")
The blink sequence (see below) to use when there is an unread email message.

NewMMSSequence (STRING), (default = "P500,L2,S100,P100,E,S200")
The blink sequence (see below) to use when there is an unread MMS message.

NewSMSSequence (STRING), (default = "P500,L2,S100,P100,E,S200")
The blink sequence (see below) to use when there is an unread SMS message.

NewVoiceMessageSequence (STRING), (default = "P500,L3,S100,P100,E,S200")
The blink sequence (see below) to use when there is a new voice mail message.

NormalSequence (STRING), (default = "G25")
The blink sequence (see below) to use when the battery is above the BatteryThreshold (see above).

NoSignalSequence (STRING), (default = "S100,O25")
The blink sequence (see below) to use when there is no signal. This sequence is played after the NormalSequence/LowBatterySequence.

OffSequence (STRING), (default = "L5,O25,G25,S25,E,O500")
The blink sequence (see below) to use when the application shuts down.

OnSequence (STRING), (default = "L5,O25,G25,S25,E,G500")
The blink sequence (see below) to use when the application starts.

WifiSequence (STRING), (default = "S100,O25")
The blink sequence (see below) to use when the WIFI is turned on.

Z.
 
Last edited:

namwollem

Senior Member
Apr 11, 2007
241
2
Sussex
Nice work!

Nice work chap!

I have installed it on my HD2, and so far seems to be running fine!

---------------------------------------------------

If the original author doesn't mind, I have made a small addition for those of us with Mortscript!

PLEASE NOTE: The first version I posted of this script had a small error, which wrote the registry entries as a STRING rather than a DWORD. This caused "Blinker" not to launch - due to an invalid data entry. I APOLOGISE for this - the joys of writing scripts after a long day at work. This is NOW FIXED, and tested on two different HD2s, and working fine.

View attachment Blinker.zip

This .ZIP file contains two files.....

blinker.ini -- a simple settings file that explains where (and how) to adjust the various settings for...

Notifications when connected to AC
LED colour change when battery level falls below a certain threshold %age
Time delay between "blinks"
Length of time of each "blink"

It also allows you to set the various "blink patterns" for...

Low Battery Blink Pattern
Normal Blink Pattern
No Service Pattern
Off Pattern (When "blink" is shut down)
On Pattern (When "blink" is turned on)

blinker_v1.mscr -- a script file that reads data from the .ini file, displays the settings, and writes them to the registry. It then restarts Blinker with your new settings activated!

At present I have assumed that you have installed the app into Device Memory, so you'll have to copy the two files into DEVICE/Program Files/Blinker

Have a play and see what you think!


A very big thank you to Zevele - and I hope you don't mind me making this little MOD for it already!!
 
Last edited:

kajos

Senior Member
Dec 5, 2009
553
186
Niedersachsen
Very nice program:)

If I turned flight-Mudus on / telephone off, another orange blink occurs (in addition to the regular one) as described

But, if there is suddenly no signal, it don't will be shown in anyway:(
(I simulated it with the death-grip->iPhone4:)
->....or there is no signal, another orange blink occurs
 

hgalanos

Senior Member
Jun 10, 2010
231
1
Sydney
I have HTD HD2 with Official 1.72 WWE ROM.

I installed this cab and when I tried to launch, it crashed:
Blinker.exe
KeyNotFoundException
at
System.ThrowHelper.ThrowKeyNotFoundException()
at
System.Collections.Generic.Dictionary'1.
get_item(SequenceTypeKey)
at Blinker.CBliner..ctor()
ar Blinker.Program.Main(String args)

Any ideas?
 

hgalanos

Senior Member
Jun 10, 2010
231
1
Sydney
Yep .net3.5 is installed.

I have checked, and I also have a large number of apps/mods that require .net3.5 to be installed, they all work.
 

zevele

Inactive Recognized Developer
Mar 8, 2010
279
89
...and I hope you don't mind me making this little MOD for it already!!
Not at all, I'm glad that people show interest. I might add a configuration utility later, similar to the one you made.

Thanks for the mod.

...But, if there is suddenly no signal, it don't will be shown in anyway:(
(I simulated it with the death-grip->iPhone4:)

I didn't know the HD2 had a "death grip", how do you do it? I could use it to debug this feature.

I installed this cab and when I tried to launch, it crashed...

Is this the full log? If not, can you please post the full one. At the moment I have no idea why this error occurs, I'll need more clues to solve it...

thanks

Z.
 

namwollem

Senior Member
Apr 11, 2007
241
2
Sussex
Oops!

PLEASE NOTE: The last version I posted of this script had a small error, which wrote the registry entries as a STRING rather than a DWORD. This caused "Blinker" not to launch - due to an invalid data entry. I APOLOGISE for this - the joys of writing scripts after a long day at work. This is NOW FIXED, and tested on two different HD2s, and working fine.

Mortscript fixed now! Please RE-DOWNLOAD from my original post.

Sorry for anyone who did used and suffered with problems!
 

hgalanos

Senior Member
Jun 10, 2010
231
1
Sydney
Got it working.

I uninstalled, rebooted, reinstall, nothing. Still crashed with the erroe log I posted before.

Anyways, I decided to change my taskbar, so I uninstalled the Dusk taskbar, and SDKSert2015 (this was required for dust taskbar to work).

I rebooted.

I then reinstall 'blinker', launched, perfect. It works.

Very odd, but I don't care.

A job VERY well done, good work which is very handy and as you will see, more and more people will download and use it.

Great job, thank you.
 

hgalanos

Senior Member
Jun 10, 2010
231
1
Sydney
Just though I would share the following:

I change the blink duration to '100', an the blink intervals to '5000'.

I might even change the duration to be '60'.

I found this better as you can't mistake it for an SMS, Email or missed call notification. The longer duration makes it clear that it is simply the phone being alive.

This is not criticism, simple personal taste. Without our your app, none of this would be possible.

Well done V.
 

zevele

Inactive Recognized Developer
Mar 8, 2010
279
89
Anyways, I decided to change my taskbar, so I uninstalled the Dusk taskbar, and SDKSert2015 (this was required for dust taskbar to work).
Dusk taskbar looks very nice, why did you ditch it? what are you using now?

I rebooted.

I then reinstall 'blinker', launched, perfect. It works.

I'm glad to hear that it works now...

Thanks,

Z.
 
Last edited:

hgalanos

Senior Member
Jun 10, 2010
231
1
Sydney
Yes it is very nice, but luckily just by chance, it fixed this app.

I reverted back to what I had before dusk. Brians Black & White. The text is more legible than dusk.
 

zevele

Inactive Recognized Developer
Mar 8, 2010
279
89
I change the blink duration to '100'...

I might even change the duration to be '60'...

The blink duration was left by mistake... It does't affect anything... if you want to change the duration of the blink you need to edit it's sequence, if you want a blink of 60ms, change "NormalSequence" to "G60" and "LowBatterySequence" to "O60".

for detailed explanation on the configuration you can check the second post.

BTW, you can use a more complicated sequences other than just orange and green, this would make it even easier to differentiate from the normal (sms/email/missed calls) notifications...

Thanks,

Z.
 

hgalanos

Senior Member
Jun 10, 2010
231
1
Sydney
The blink duration was left by mistake... It does't affect anything... if you want to change the duration of the blink you need to edit it's sequence, if you want a blink of 60ms, change "NormalSequence" to "G60" and "LowBatterySequence" to "O60".

for detailed explanation on the configuration you can check the second post.

BTW, you can use a more complicated sequences other than just orange and green, this would make it even easier to differentiate from the normal (sms/email/missed calls) notifications...

Thanks,

Z.

You are correct (of course) it did nothing when I changed it. I made changes as per post 2. Thank you.
 

namwollem

Senior Member
Apr 11, 2007
241
2
Sussex
New Version!

I have updated my mortscript so that ALL of the settings can now be changed from the .INI file!

You can now set custom "blink" patterns without having to use the registry! (I appreciate that its not a problem for most of us, but some ppl do not like to trawl thru the registry, so this makes life easier for those folks!)

Please see POST # 4 which has now been updated with a new .INI file, and a new v1.0 of the MORTSCRIPT file!

Enjoy!

And thanks again to Zevele for making this possible!
 
  • Like
Reactions: vektorq

namwollem

Senior Member
Apr 11, 2007
241
2
Sussex
Shortcut

Fantastic addition to my phone,many thanx for this.

One question though,is there a way to have this Auto start rather than having to
go to Start menu and activating it ?

If you use File Explorer and COPY the executable (blinker.exe) from "PROGRAM FILES/BLINKER" and then PASTE SHORTCUT in "WINDOWS/STARTUP/" this will "autorun" the app each restart!
 

Top Liked Posts

  • There are no posts matching your filters.
  • 11

    Hi, Following the requests here, I've wrote this application. Basically the application blinks the device LED every few seconds. The idea is to have some notification that the device is still alive. The application blinks differently depending on the status of the device.

    Main features:
    • Including sequences for normal, low battery, no-signal, new message (Voice/SMS/MMS/EMail), Missed calls, appointments, wireless status (bluetooth and wifi), GPS status and charging level.
    • Almost all sequences can be configured via the settings application.
    • Sequences may include blinking the green and orange LEDs (in HD2 - may be configured in other devices), the keypad LED, vibration and playing a wav file.
    • If the radio is turned off or there is no signal, another orange blink occurs (in addition to the regular one).
    • When the phone is charging the orange LED lights constantly, every few seconds a sequence of green blinks according to the batter level occurs (20-40% - 1 blink, 40-60% - 2 blinks, 60-80% - 3 blinks and 80-100% - 4 blinks). If the battery is fully charged - the green led lights constantly.
    • Blink interval and length can be set via the registry. Different blink interval for idle mode and when notification exists (new message/missed call).
    • Running the link once starts the application, on blink sequence occurs. Running the link again runs the settings application from which the service can be closed.
    Known issues
    • Custom LED id's are not saved to the registry in ver. 1.5.
    • It seems that there are some issues running "Dusk taskbar" or "SDKCERTS" along with Blinker.
    • Sometimes when the device is locked, the application stops working (until the device wakes up). After a soft-reset the application returns to behave as expected. I really don't know what instigates the problem or how to solve it... If anyone has a clue please leave me a message. Not solved, but might be better in ver. 1.1.
      Update(16/4/2011): setting [HKCU\Software\Blinker\AllowUnattendedMode] to 0. Solved this issue for some. Also enabling "Don't suspend power" in S2U2 (under the advanced category) seems to help.
      Update(14/5/2011): In ver. 1.4 a possibility to periodically wake the device, it seems that this solution might work around the issue.
      gpobernardo may have found a solution to the problem.
      [*]Non at the moment (I'm sure some will pop soon... ;))

    System Requirements
    • .Net Compact Framework 3.5
    • Tested successfully on: HTC HD2 (Leo), HTC TD2 (Topaz), HTC Touch HD (Blackstone), HTC Touch2 (Mega).
      But might work on other devices (please let me know if it works on other devices as well...)

    ChangeLog
    • 07/12/11 (v1.9) - from post #198
      • Fixed issue where service could not be started from the settings application.
    • 07/12/11 (v1.8) - from post #196
      • Added GPS status support.
    • 04/09/11 (v1.7) - from post #180
      • Fixed issue where Blinker halts at midnight (thanks gpobernardo).
    • 20/08/11 (v1.6) - from post #177
      • Fixed issue where custom LED id's where not saved.
    • 13/08/11 (v1.5) - from post #173
      • Added a notifications check when power state changes.
      • Added 3 more custom LEDs.
      • Shortcut link now point to the settings application instead of the service itself.
    • 14/05/11 (v1.4) - from post #151
      • Rewrote the service project in c++ (Now the service requires significantly less memory when running).
      • Added ability to vibrate (see second post for further information).
      • Added ability to play a wav file in the sequence (see second post for further information).
      • Added sequences for "Appointment" and "New MMS".
      • Blinker now uses only the WM notification method.
      • Removed the "Use WM Notification" as it is no longer required.
      • Removed the "SMS Store" setting as it is no longer required.
      • Fixed issue where in lower resolution devices a scroll bar did not appear in the settings application.
      • Added "Advanced" tab in the settings application.
      • Added a "Wakeup notification" - this option will force the device to wake every couple of seconds. This should solve the "unattended issue" - but might affect the battery drain. This feature can be turned on under the "advanced" tab in the settings application.
      • Hibernates when no blinking is required.
      • Changed "AllowUnattendedMode" to "ForceUnattendedMode" and added a checkbox to control this value under the "advanced" tab.
    • 06/04/11 (v1.3) - from post #101
      • Blinker can now use the notification system instead of directly check the Stores (thanks peterpan911 for the tip). This can be configured in the setting, under "Use WM Notifications".
      • Blinker can be configured to load on startup from the settings window.
      • Improved performance (thanks p50kombi)
      • Some minor interface improvement to the settings dialog.
    • 10/02/11 (v1.2) - from post #77
      • Added possibility to set the green/orange LED id.
      • Added possibility to set the SMS store name.
      • Improved error handling in case SMS store is not found.
    • 03/12/10 (v1.1) - from post #62
      • Added notifications for new message (SMS/EMail/Voice), missed calls and wireless status.
      • Added possibility to blink the keypad light as-well.
      • Added separate delay interval on new message or missed call.
      • Tweaked the unattended mode. The halting problem still exists, but it seems better now.
      • Added a configuration utility. To run it press the Blinker shortcut again (after blinker is already running).
    • 06/11/10 (v1.0) - Initial release

    Downloads
    Acknowledgements

    Any suggestions or remarks are welcome

    Z.
    3
    ....I noticed that the blinking (at least on my HTC T3333) stops everytime the date changes...

    Indeed there was an issue regarding midnight in the wakeup loop. I've modified the code and it should be fixed now... Please let me know if it solves the problem (cab attached). If it's good I'll update the first post.

    Thanks,

    Z.
    2
    ...Is there a way, that it shows only the "no-signal status", for instance by additional settings and all other notifications will be the normal of the HD2 ?

    You can set all sequences to empty strings, and disable "ACNotification", this should get you what you want...

    Z.
    2
    gpobernardo, first - thanks for testing the fix. I'll post a the link on the first post.

    ...Right after installing version 1.7, the blinking stopped after around 2 minutes...

    The fix was very minor and shouldn't affect anything else (afaik...). Let me know if this issue returns.

    Z.
    2
    ...Can you fit this software for Touch pro too?

    I thought I had it fixed - I'll check it and hopefully it'll be good in the next release...

    Z.