PwrTest Connected Standby Scenario

The PwrTest Connected Standby Scenario (/cs) facilitates automated testing of connected standby transitions.

PwrTest logs the progress through the PDC phases and attempts to log platform idle transition counts if they are supported by the system. This is useful for diagnosing if a system is entering deep platform idle states, and if any software components are blocking the transition.

This scenario requires the test system to support the Always on Always connected (AoAc) power capability (most SoC and Arm systems support this). This scenario also requires the power button driver that is part of Windows Driver Testing Framework (WDTF). WDTF (and the included power button driver) is automatically installed when you provision a system for testing using Visual Studio and the WDK. For more information, seeProvision a computer for driver deployment and testing (WDK 8.1), or Provision a computer for driver deployment and testing (WDK 8). For information about WDTF, see Windows Device Testing Framework (WDTF) (Windows Drivers).

Syntax

pwrtest /cs [/c:n] [/d:n] [/p:n][/?] 

/c:n
Specifies the number of cycles (1 is default) to run.

/d:n
Specifies the delay time (in seconds) between connected standby transitions (60 seconds is the default).

/p:n
Specifies the connected standby exit time (in seconds; 60 seconds is the default).

Examples

pwrtest /cs /c:4 
pwrtest /cs /c:4 /p:120 /d:150

XML log file output

<PwrTestLog>
  <SystemInformation>
  </SystemInformation>
  <CSTransitions>
    <EnteringCS Timestamp="XX/XX/XXXX:XX:XX:XX.XXX"/>
    <InputDisabled Timestamp="XX/XX/XXXX:XX:XX:XX.XXX"/>
    <PhaseEnter name="name" Timestamp="XX/XX/XXXX:XX:XX:XX.XXX"/>
    <PhaseExit name="name" Timestamp="XX/XX/XXXX:XX:XX:XX.XXX"/>
    <ExitingCS Timestamp="XX/XX/XXXX:XX:XX:XX.XXX"/> || 
        <AbortingCS Timestamp="XX/XX/XXXX:XX:XX:XX.XXX"/>
    <InputEnabled Timestamp="XX/XX/XXXX:XX:XX:XX.XXX"/>
    <ExitedCS Timestamp="XX/XX/XXXX:XX:XX:XX.XXX"/> || 
        <AbortedCS Timestamp="XX/XX/XXXX:XX:XX:XX.XXX"/>
    <ExecutionRequiredSet Caller="c:\folder\process.exe" 
        Timestamp="XX/XX/XXXX:XX:XX:XX.XXX"/> ||
        <ExecutionRequiredCleared Caller="c:\folder\process.exe" 
            Timestamp="XX/XX/XXXX:XX:XX:XX.XXX"/>
    <PlatformIdleStats StateCount="X" Timestamp="XX/XX/XXXX:XX:XX:XX.XXX">
        <State Index="X" SuccessCount="X" FailureCount="X" CancelCount="X"/>
    </PlatformIdleStats>
  </CSTransitions>
</PwrTestLog> 

The following table describes the XML elements that appear in the log file.

Element Description
<CSTransitions>

Contains all the different connected standby events. There can be only one <CSTransitions> element in the PwrTest log file.

<Timestamp>

Time stamp of any given event.

<TemperatureScale>

Temperature scale (Kelvin/Celcius/Fahrenheit> of any given event.

<ThermalZoneDeviceInstance>

Device instance name of thermal zone of any given event.

<_TMP>

Current temperature of the system in any given event.

<_PSV>, <_TCx>, <_TSP>, <_ACx>, <_HOT>, <_CRT>, etc.

System temperature thresholds sent with a given event.

<PassiveCooling>

Event indicates system is now in a passive cooling zone.

<ActiveCooling>

Event indicates system is now in an active cooling zone.

<Hot>

Event indicates system has hit a hot trip point.

<Critical>

Event indicates system has hit a critical trip point.

<ActiveCoolingDevicePower>

Event indicates an active cooling device has turned on.

<FanDeviceInstance>

Device instance name of the fan.

<PowerState>

The On (1) or Off (0) power state.

<ActiveCoolingLevel>

Numeric level of active cooling.

<ActiveCoolingDeviceIndex>

Numeric index of cooling device.

PwrTest Syntax