Notification LED Driver Registry Settings (Compact 2013)
3/26/2014
Registry settings for the notification LED (NLED) driver include registry keys for the NLED driver and registry keys for the NLED service.
To create NLED registry settings specific to a hardware platform, create registry entries in the Platform.reg file at %_WINCEROOT%\Platform\%_TGTPLAT%\Files.
The following table shows NLED driver registry settings. The NLED driver registry settings are under HKEY_LOCAL_MACHINE\Drivers\BuiltIn\NLED\Config. For each notification component, replace Led0 with a different subkey. The term LED refers to all notification components.
Value : type |
Condition |
Description |
---|---|---|
Led0\MddPowerManaged : DWORD |
Optional |
Specifies whether power management is done by the model device driver (MDD). The following table shows possible values.
ValueDescription
0Not power managed by the MDD.
1Power managed by the MDD.
|
Led0\LedNum : DWORD |
Required |
UINT index number that corresponds to the notification component. |
Led0\LedGroup : DWORD |
Optional |
Nonzero UINT number that identifies if a notification component is in a group. In a group, activation of components is mutually exclusive. In a group, one notification component is on at a given time and prioritization determines which component is active. The system ignores this setting if the value is not specified and ignores this setting if the value is zero. |
Led0\LedType : DWORD |
Required |
Type of notification component. The following table shows possible values.
ValueDescription
0Unknown
1Led
2Vibrator
|
Led0\CycleAdjust : DWORD |
Optional. Ignored if SWBlinkCtrl and Blinkable are set to 0. |
Granularity of cycle time adjustments, in microseconds. NLED_SUPPORTS_INFO uses this value as lCycleAdjust. By default, the driver does it's best to fulfill blink parameter requests and rounds parameters to supported settings. |
Led0\Blinkable : DWORD |
Required |
Support for blinking in hardware. The following table shows possible values.
ValueDescription
0Notification component cannot blink.
1Notification component can blink.
|
Led0\SWBlinkCtrl : DWORD |
Optional. Ignored if Blinkable is set to 1 |
Software blinking support. Software blinking sends ON and OFF messages to the hardware. The lCycleAdjust for SWBlinkCtrl is 1000 microseconds. For more information about lCycleAdjust, see the NLED_SUPPORTS_INFO topic.
Note:
Setting Blinkable to 1 automatically disables software blinking.
The following table shows possible values:
ValueDescription
0Software does not control blinking. This value is the default value.
1Software controls blinking, if the value of Blinkable is not 1.
|
Led0\AdjustType : DWORD |
Optional. Ignored if Blinkable is set to 0 |
Supported adjustments to blinking. This value indicates if TotalCycleTime, OnTime, and OffTime are adjustable. For more information, see NLED_SETTINGS_INFO. The following table shows possible values.
ValueDescription
0Not adjustable. This value is the default value.
1Only TotalCycleTime can be adjusted.
2Only OnTime and OffTime can be adjusted.
|
Led0\MetaCycle : DWORD |
Optional. Ignored if Blinkable is set to 0 |
Specifies if MetaCycleOn and MetaCycleOff can be adjusted. For more information, see NLED_SETTINGS_INFO. The following table shows possible values.
ValueDescription
0Not adjustable. This value is the default value.
1Adjustable.
|
Led0\D4State : DWORD |
Optional. Ignored if MddPowerManaged is set to 0 |
Indicates the LED state during the D4 power state. The following table shows possible values.
ValueDescription
0Off.
1On.
All other values.Unchanged. This value is the default value.
|
The following table shows registry keys that apply if you use the NLED service. Within the NLED service, an event, for example activation of Bluetooth, triggers when a registry value matches a specified value. For Bluetooth, an example registry value is HKEY_LOCAL_MACHINE\States\Main\BluetoothStatus. For each event, a new subkey must replace Event0 in the following table. The first three entries in the table correspond to the location of the event-value that the NLED service monitors.
Value : type |
Condition |
Description |
---|---|---|
Led0\Event0\Root : DWORD |
Required if you use the NLED service. |
Root of the registry key used by the service. The following values are possible values:
|
Led0\Event0\Path : String |
Required if you use the NLED service. |
Path, excluding the root, to the key that holds the value. |
Led0\Event0\ValueName : String |
Required if you use the NLED service. |
Name of the value stored at Root\Path. |
Led0\Event0\Mask : DWORD |
Required if you use the NLED service. |
Mask with which the current value undergoes a bitwise AND operation. The current value is at the location of the event-value in the registry. The result of the operation is the masked value. |
Led0\Event0\TriggerValue : DWORD |
Required if you use the NLED service. |
Trigger value that is compared to the masked value. |
Led0\Event0\Operator : DWORD |
Optional. |
Operator for the comparison between the trigger value and the masked value. The following table shows possible values.
ValueDescription
0Masked registry value == TriggerValue. This value is the default value.
1Masked registry value > TriggerValue
2Masked registry value >= TriggerValue
3Masked registry value < TriggerValue
4Masked registry value <= TriggerValue
This comparison determines the condition of the event. The event is active if the statement evaluates to TRUE. |
Led0\Event0\Prio : DWORD |
Required if you use the NLED service. |
Priority of the event. Lower numbers have higher priority, with zero (0) being the highest priority. Events on the same LED or LED group must have different priority values. |
Led0\Event0\State : DWORD |
Required if you use the NLED service. |
LED action if the event fires. The following values are possible values.
ValueDescription
0Off. This value is the default value.
1On.
2Blink.
NLED_SETTINGS_INFO uses this value as OffOnBlink. |
Led0\Event0\TotalCycleTime : DWORD |
Required if the blink state and capabilities apply. |
Total time, in microseconds, for a blink cycle. NLED_SETTINGS_INFO uses this value as TotalCycleTime. |
Led0\Event0\OnTime : DWORD |
Required if the blink state and capabilities apply. |
Time, in microseconds, that the LED is on during one blink cycle. NLED_SETTINGS_INFO uses this value as OnTime. |
Led0\Event0\OffTime : DWORD |
Required if the blink state and capabilities apply. |
Time, in microseconds, that the LED is off during one blink cycle. NLED_SETTINGS_INFO uses this value as OffTime. |
Led0\Event0\MetaCycleOn : DWORD |
Required if the blink state and capabilities apply. |
NLED_SETTINGS_INFO uses this value as MetaCycleOn. |
Led0\Event0\MetaCycleOff : DWORD |
Required if the blink state and capabilities apply. |
NLED_SETTINGS_INFO uses this value as MetaCycleOn. |
Note
The maximum size of a key name is 255 characters.
NLED Driver Registry Example
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\NLed\Config\YellowLed]
"LedNum" = dword:0
"LedGroup" = dword:0
"LedType" = dword:1
;LedType = 1 - Led
;------------------------------------------------------------------------------
;Blink-related hardware capabilities
"CycleAdjust" = dword:1E848
;CycleAdjust = 125000 microseconds
"SWBlinkCtrl"= dword:0
;SWBlinkCtrl = disabled
"Blinkable" = dword:1
;blinkable = 1 - yes
"AdjustType" = dword:0
;AdjustType = 0 - CycleTimes not adjustable
"MetaCycle" = dword:0
;MetaCycleAdjust = 0 - Metacycles not adjustable.
;------------------------------------------------------------------------------
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\NLed\Config\YellowLed]
"LedNum" = dword:0
"LedGroup" = dword:0
"LedType" = dword:1
;LedType = 1 - Led
;------------------------------------------------------------------------------
;Blink-related hardware capabilities
"CycleAdjust" = dword:1E848
;CycleAdjust = 125000 microseconds
"SWBlinkCtrl"= dword:0
;SWBlinkCtrl = disabled
"Blinkable" = dword:1
;blinkable = 1 - yes
"AdjustType" = dword:0
;AdjustType = 0 - CycleTimes not adjustable
"MetaCycle" = dword:0
;MetaCycleAdjust = 0 - Metacycles not adjustable.
;------------------------------------------------------------------------------
;NLED Service configuration for YellowLed
;------------------------------------------------------------------------------
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\NLed\Config\YellowLed\Event1]
"Root"=dword:80000002
"Path"="Test\\States"
"ValueName"="Main"
;specify to monitor the registry value "HKLM\Test\States\Main".
;mask the value with 0x01. If the result is 0x01, turn YellowLed On
"Mask"=dword:00000001
"TriggerValue"=dword:00000001
"Prio"=dword:1
"State"=dword:1
;==============================================================================
;NLED configuration for BlueLed
;==============================================================================
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\NLed\Config\BlueLed]
"LedNum" = dword:1
"LedType" = dword:1
;LedType = 1 - Led
;------------------------------------------------------------------------------
;Blink-related hardware capabilities
"CycleAdjust" = dword:7A120
;CycleAdjust = 500000 microseconds
"Blinkable" = dword:0
;0 - not blinkable
;1 - blinkable
"SWBlinkCtrl"= dword:1
;SWBlinkCtrl = enabled
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\NLed\Config\BlueLed\Event2]
"Root"=dword: 80000002
"Path"="SampleEvent\\Sample"
"ValueName"="anEvent"
;specify to monitor the registry value "HKLM\SampleEvent\Sample\anEvent".
;mask the value with 0x01. If the result is 0x01, blink the LED: on 1 second,
;off 1 second.
"Mask"=dword:00000001
"TriggerValue"=dword:00000001
"Prio"=dword:1
"State"=dword:2
"TotalCycleTime"=dword:0 ;not used for this LED
"OnTime"=dword:F4240 ;1 second
"OffTime"=dword:F4240