Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,730,807 Members 43,494 Now Online
XDA Developers Android and Mobile Development Forum

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

Tip us?
 
zevele
Old
(Last edited by zevele; 22nd December 2011 at 09:16 PM.) Reason: Version 1.9
#1  
zevele's Avatar
Recognized Developer - OP
Thanks Meter 84
Posts: 274
Join Date: Mar 2010

 
DONATE TO ME
Default [App] Zevele's Blinker v1.9 [22/12/2011]


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, 1162 views)
File Type: cab Blinker.1.1.CAB - [Click for QR Code] (128.5 KB, 499 views)
File Type: cab Blinker.1.2.CAB - [Click for QR Code] (135.3 KB, 507 views)
File Type: cab Blinker.1.3.CAB - [Click for QR Code] (140.9 KB, 1134 views)
File Type: cab Blinker.1.4.CAB - [Click for QR Code] (101.4 KB, 1899 views)
The Following 11 Users Say Thank You to zevele For This Useful Post: [ Click to Expand ]
 
zevele
Old
(Last edited by zevele; 7th December 2011 at 06:42 PM.) Reason: new blinker version (v1.8)
#2  
zevele's Avatar
Recognized Developer - OP
Thanks Meter 84
Posts: 274
Join Date: Mar 2010

 
DONATE TO ME
Default 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.
 
phoneXx
Old
#3  
phoneXx's Avatar
Senior Member
Thanks Meter 5
Posts: 104
Join Date: May 2008
fantastic^^
Best regards
phon3Xx


Fav. ROMs: Dutty V12 COM3,kwbr FINAL COM3, cmE 1.6
Radio: 2.15.50

----
Austrian XDA-Developers Social Group
Helft's uns doch bitte gegenseitig ...und vergesst nicht die Gruppen-Subscription unter "Thread Tools"
 
namwollem
Old
(Last edited by namwollem; 6th November 2010 at 02:12 PM.) Reason: Updated version!
#4  
namwollem's Avatar
Senior Member
Thanks Meter 2
Posts: 237
Join Date: Apr 2007
Location: Sussex
Default 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!!


from SPVM500 to TOUCH to TOUCH HD to HD2....
_____________________________________________
HTC Touch HD2
ORANGE UK

32GB microSD

OS - WM6.5 - CE OS 5.2.21869 (Build 21869.5.0.82)
ROM Vers. - 1.66.405.2 (76641) WWE
Radio Vers. - 2.10.50.28_2
HSPL - 1.42.000

Android Vers. - MDJ MDeeJay FroYo HD [Android 2.2.1]
Android Kernel - "mDeeJay -VirtualBox #10"
_____________________________________________

 
kajos
Old
#5  
Senior Member
Thanks Meter 171
Posts: 454
Join Date: 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
 
hgalanos
Old
#6  
Senior Member
Thanks Meter 1
Posts: 231
Join Date: Jun 2010
Location: 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?
 
kajos
Old
#7  
Senior Member
Thanks Meter 171
Posts: 454
Join Date: Dec 2009
Net Compact Framework 3.5 installed?

I have the 1.72 Vodafone, too...
 
hgalanos
Old
#8  
Senior Member
Thanks Meter 1
Posts: 231
Join Date: Jun 2010
Location: 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
Old
#9  
zevele's Avatar
Recognized Developer - OP
Thanks Meter 84
Posts: 274
Join Date: Mar 2010

 
DONATE TO ME
Quote:
Originally Posted by namwollem View Post
...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 View Post
...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 View Post
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
Old
#10  
namwollem's Avatar
Senior Member
Thanks Meter 2
Posts: 237
Join Date: Apr 2007
Location: Sussex
Default Oops!

Quote:
Originally Posted by namwollem View Post

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!


from SPVM500 to TOUCH to TOUCH HD to HD2....
_____________________________________________
HTC Touch HD2
ORANGE UK

32GB microSD

OS - WM6.5 - CE OS 5.2.21869 (Build 21869.5.0.82)
ROM Vers. - 1.66.405.2 (76641) WWE
Radio Vers. - 2.10.50.28_2
HSPL - 1.42.000

Android Vers. - MDJ MDeeJay FroYo HD [Android 2.2.1]
Android Kernel - "mDeeJay -VirtualBox #10"
_____________________________________________


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

Advanced Search
Display Modes