Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

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

OP zevele

6th November 2010, 12:33 AM   |  #1  
zevele's Avatar
OP Recognized Developer
Thanks Meter: 87
 
275 posts
Join Date:Joined: Mar 2010
Donate to Me

Quote:

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
Quote:

current version

Blinker V1.9

Previous versions:
Blinker V1.8
Blinker V1.7
Blinker V1.6
Blinker V1.5
Blinker V1.4
Blinker V1.3
Blinker V1.2
Blinker V1.1
Blinker V1.0
namwollem configuration tool (mortscript is required for this tool), more info can be found here

Acknowledgements
Any suggestions or remarks are welcome

Z.
Attached Images
 
Attached Files
File Type: cab Blinker.CAB - [Click for QR Code] (37.8 KB, 1189 views)
File Type: cab Blinker.1.1.CAB - [Click for QR Code] (128.5 KB, 504 views)
File Type: cab Blinker.1.2.CAB - [Click for QR Code] (135.3 KB, 508 views)
File Type: cab Blinker.1.3.CAB - [Click for QR Code] (140.9 KB, 1137 views)
File Type: cab Blinker.1.4.CAB - [Click for QR Code] (101.4 KB, 1911 views)
Last edited by zevele; 22nd December 2011 at 10:16 PM. Reason: Version 1.9
The Following 11 Users Say Thank You to zevele For This Useful Post: [ View ]
6th November 2010, 12:34 AM   |  #2  
zevele's Avatar
OP Recognized Developer
Thanks Meter: 87
 
275 posts
Join Date:Joined: Mar 2010
Donate to Me
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:
Quote:

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:
Quote:

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 by zevele; 7th December 2011 at 07:42 PM. Reason: new blinker version (v1.8)
6th November 2010, 12:38 AM   |  #3  
phoneXx's Avatar
Senior Member
Thanks Meter: 5
 
106 posts
Join Date:Joined: May 2008
More
fantastic^^
6th November 2010, 02:10 AM   |  #4  
namwollem's Avatar
Senior Member
Flag Sussex
Thanks Meter: 2
 
237 posts
Join Date:Joined: Apr 2007
More
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.

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 by namwollem; 6th November 2010 at 03:12 PM. Reason: Updated version!
6th November 2010, 02:14 AM   |  #5  
Senior Member
Thanks Meter: 171
 
454 posts
Join Date:Joined: Dec 2009
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
6th November 2010, 02:26 AM   |  #6  
Senior Member
Flag Sydney
Thanks Meter: 1
 
231 posts
Join Date:Joined: Jun 2010
More
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?
6th November 2010, 02:51 AM   |  #7  
Senior Member
Thanks Meter: 171
 
454 posts
Join Date:Joined: Dec 2009
Net Compact Framework 3.5 installed?

I have the 1.72 Vodafone, too...
6th November 2010, 02:53 AM   |  #8  
Senior Member
Flag Sydney
Thanks Meter: 1
 
231 posts
Join Date:Joined: Jun 2010
More
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.
6th November 2010, 10:41 AM   |  #9  
zevele's Avatar
OP Recognized Developer
Thanks Meter: 87
 
275 posts
Join Date:Joined: Mar 2010
Donate to Me
Quote:
Originally Posted by namwollem

...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.

Quote:
Originally Posted by kajos

...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.

Quote:
Originally Posted by hgalanos

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.
6th November 2010, 12:32 PM   |  #10  
namwollem's Avatar
Senior Member
Flag Sussex
Thanks Meter: 2
 
237 posts
Join Date:Joined: Apr 2007
More
Oops!
Quote:
Originally Posted by namwollem


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!

Post Reply Subscribe to Thread

Tags
blink, charging, led, power, signal
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes