📄 backlighttest.cpp
字号:
//-----------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
//-----------------------------------------------------------------------------
//
// Copyright (C) 2005, Motorola Inc. All Rights Reserved
//
//-----------------------------------------------------------------------------
//------------------------------------------------------------------------------
//
// Copyright (C) 2006, 2007, Freescale Semiconductor, Inc. All Rights Reserved.
// THIS SOURCE CODE, AND ITS USE AND DISTRIBUTION, IS SUBJECT TO THE TERMS
// AND CONDITIONS OF THE APPLICABLE LICENSE AGREEMENT
//
//------------------------------------------------------------------------------
//
// File: BacklightTest.cpp
//
// This file contains test code for the Backlight driver
//
//-----------------------------------------------------------------------------
#pragma warning(push)
#pragma warning(disable: 4115)
#pragma warning(disable: 4201)
#pragma warning(disable: 4204)
#pragma warning(disable: 4214)
#include <windows.h>
#pragma warning(pop)
#include <winbase.h>
#include <Devload.h>
#include <ceddk.h>
#include "main.h"
#include "globals.h"
#include "pmic_bklight.h"
#include "pmic_bklight.h"
//#include "bspbacklight.h"
//-----------------------------------------------------------------------------
// External Functions
//-----------------------------------------------------------------------------
// External Variables
//-----------------------------------------------------------------------------
// Defines
#define BKL_ZONE_ERROR TRUE
#define NUM_TEST_PERIODS 0x4
#define NUM_TEST_CURRENTLEVELS 0x8
#define NUM_TEST_DUTYCYCLES 0x10
//-----------------------------------------------------------------------------
// Local Functions
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// Local Variables
static UINT8 CurrentLevel[NUM_TEST_CURRENTLEVELS] = {0x0, 0x1, 0x2, 0x3,
0x4, 0x5, 0x6, 0x7};
static UINT8 DutyCycle[NUM_TEST_DUTYCYCLES] = {0x0, 0x1, 0x2, 0x3, 0x4, 0x5,
0x6, 0x7, 0x8, 0x9, 0xa, 0xb,
0xc, 0xd, 0xe, 0xf};
static UINT8 Period[NUM_TEST_PERIODS] = {0, 0x1, 0x2, 0x3};
//------------------------------------------------------------------------------
//
// Function: BacklightOnTest
//
// This function tests the Backlight ON
//
// Parameters:
// uiMsg
// [in] to determine if the shell wants to execute the test.
// tpParam
// [in] Ignored.
// lpFTE
// [in] Ignored.
//
// Returns:
// Specifies if the test passed (TPR_PASS), failed (TPR_FAIL)
//
//------------------------------------------------------------------------------
TESTPROCAPI BacklightOnTest(UINT uMsg, TPPARAM tpParam, LPFUNCTION_TABLE_ENTRY lpFTE)
{
int RetVal = IDNO;
UNREFERENCED_PARAMETER(tpParam);
UNREFERENCED_PARAMETER(lpFTE);
// The shell doesn't necessarily want us to execute the test. Make sure first.
if(uMsg != TPM_EXECUTE)
{
return TPR_NOT_HANDLED;
}
g_pKato->Log(LOG_COMMENT, TEXT("BacklightTest.cpp:BacklightOnTest() +\r\n"));
// make sure we are in current mode
if(PmicBacklightSetMode(BACKLIGHT_MAIN_DISPLAY, BACKLIGHT_CURRENT_CTRL_MODE))
{
g_pKato->Log(BKL_ZONE_ERROR, TEXT("BacklightTest.cppcpp:BacklightOnTest(): PmicBacklightSetMode() failed!\r\n"));
return TPR_FAIL;
}
// go to mid level
if(PmicBacklightSetCurrentLevel(BACKLIGHT_MAIN_DISPLAY, CurrentLevel[NUM_TEST_CURRENTLEVELS/2]))
{
g_pKato->Log(BKL_ZONE_ERROR, TEXT("BacklightTest.cpp:BacklightOnTest(): PmicBacklightSetCurrentLevel() failed!\r\n"));
return TPR_FAIL;
}
// Test the edge slow enable
g_pKato->Log(LOG_COMMENT, TEXT("BacklightTest.cpp:BacklightOnTest(): Setting edge slow enable!\r\n"));
if(PmicBacklightEnableEdgeSlow())
{
g_pKato->Log(BKL_ZONE_ERROR, TEXT("BacklightTest.cpp:BacklightOnTest(): PmicBacklightEnableEdgeSlow() failed!\r\n"));
return TPR_FAIL;
}
if (PmicBacklightSetDutyCycle(BACKLIGHT_MAIN_DISPLAY, DutyCycle[NUM_TEST_DUTYCYCLES/2]))
{
g_pKato->Log(BKL_ZONE_ERROR, TEXT("BacklightTest.cpp:BacklightOnTest(): PmicBacklightSetDutyCycle() failed!\r\n"));
return TPR_FAIL;
}
// enable the backlight module
if(PmicBacklightMasterEnable())
{
g_pKato->Log(BKL_ZONE_ERROR, TEXT("BacklightTest.cpp:BacklightOnTest(): PmicBacklightMasterEnable() failed!\r\n"));
return TPR_FAIL;
}
RetVal = MessageBox(NULL, TEXT("Press 'Yes' button if Backlight turned 'On'. If not, Press 'No' button"),
TEXT( "Backlight 'On' Test"), MB_ICONQUESTION|MB_YESNO|MB_SETFOREGROUND);
if(RetVal == IDNO)
{
g_pKato->Log(BKL_ZONE_ERROR, TEXT("BacklightTest.cpp: BacklightOnTest() - Backlight not turned 'On'\r\n"));
return TPR_FAIL;
}
g_pKato->Log(LOG_COMMENT, TEXT("BacklightTest.cpp:BacklightOnTest() -\r\n"));
return TPR_PASS;
}
//------------------------------------------------------------------------------
//
// Function: BacklightCurrentControlModeTest
//
// This function tests the Backlight current control mode
//
// Parameters:
// uiMsg
// [in] to determine if the shell wants to execute the test.
// tpParam
// [in] Ignored.
// lpFTE
// [in] Ignored.
//
// Returns:
// Specifies if the test passed (TPR_PASS), failed (TPR_FAIL)
//
//------------------------------------------------------------------------------
TESTPROCAPI BacklightCurrentControlModeTest(UINT uMsg, TPPARAM tpParam, LPFUNCTION_TABLE_ENTRY lpFTE)
{
UINT8 i, ret;
UNREFERENCED_PARAMETER(tpParam);
UNREFERENCED_PARAMETER(lpFTE);
// The shell doesn't necessarily want us to execute the test. Make sure first.
if(uMsg != TPM_EXECUTE)
{
return TPR_NOT_HANDLED;
}
g_pKato->Log(LOG_COMMENT, TEXT("BacklightTest.cpp:BacklightCurrentControlModeTest() +\r\n"));
// set the backlight to current control mode
g_pKato->Log(LOG_COMMENT, TEXT("BacklightTest.cpp:BacklightCurrentControlModeTest(): Set the backlight to current control mode!\r\n"));
if(PmicBacklightSetMode(BACKLIGHT_MAIN_DISPLAY, BACKLIGHT_CURRENT_CTRL_MODE))
{
g_pKato->Log(BKL_ZONE_ERROR, TEXT("BacklightTest.cpp:BacklightCurrentControlModeTest(): PmicBacklightSetMode() failed!\r\n"));
return TPR_FAIL;
}
////////////////////////////////////////////////////////////////////////////////////////////////////
// test the current levels setting
g_pKato->Log(LOG_COMMENT, TEXT("BacklightTest.cpp:BacklightCurrentControlModeTest(): Test the current levels setting!\r\n"));
for (i = 0; i< NUM_TEST_CURRENTLEVELS; i++)
{
if(PmicBacklightSetCurrentLevel(BACKLIGHT_MAIN_DISPLAY, CurrentLevel[i]))
{
g_pKato->Log(BKL_ZONE_ERROR, TEXT("BacklightTest.cpp:BacklightCurrentControlModeTest(): PmicBacklightSetCurrentLevel() failed!\r\n"));
return TPR_FAIL;
}
if(PmicBacklightGetCurrentLevel(BACKLIGHT_MAIN_DISPLAY, &ret))
{
g_pKato->Log(BKL_ZONE_ERROR, TEXT("BacklightTest.cpp:BacklightCurrentControlModeTest(): PmicBacklightGetCurrentLevel() failed!\r\n"));
return TPR_FAIL;
}
if (ret != CurrentLevel[i])
{
g_pKato->Log(BKL_ZONE_ERROR, TEXT("BacklightTest.cpp:BacklightCurrentControlModeTest(): Returned Current Level setting differs with Passed-in! \r\n"));
return TPR_FAIL;
}
Sleep (1000);
}
// go back to mid level
if(PmicBacklightSetCurrentLevel(BACKLIGHT_MAIN_DISPLAY, CurrentLevel[NUM_TEST_CURRENTLEVELS/2]))
{
g_pKato->Log(BKL_ZONE_ERROR, TEXT("BacklightTest.cpp:BacklightCurrentControlModeTest(): PmicBacklightSetCurrentLevel() failed!\r\n"));
return TPR_FAIL;
}
//////////////////////////////////////////////////////////////////////////////////////////////////
// test the duty cycles setting
g_pKato->Log(LOG_COMMENT, TEXT("BacklightTest.cpp:BacklightCurrentControlModeTest(): Test the duty cycles setting!\r\n"));
for (i = 0; i< NUM_TEST_DUTYCYCLES; i++)
{
if(PmicBacklightSetDutyCycle(BACKLIGHT_MAIN_DISPLAY, DutyCycle[i]))
{
g_pKato->Log(BKL_ZONE_ERROR, TEXT("BacklightTest.cpp:BacklightCurrentControlModeTest(): PmicBacklightSetDutyCycle() failed!\r\n"));
return TPR_FAIL;
}
if(PmicBacklightGetDutyCycle(BACKLIGHT_MAIN_DISPLAY, &ret))
{
g_pKato->Log(BKL_ZONE_ERROR, TEXT("BacklightTest.cpp:BacklightCurrentControlModeTest(): PmicBacklightGetDutyCycle() failed!\r\n"));
return TPR_FAIL;
}
if (ret != DutyCycle[i])
{
g_pKato->Log(BKL_ZONE_ERROR, TEXT("BacklightTest.cpp:BacklightCurrentControlModeTest(): Returned Duty Cycle setting differs with Passed-in! \r\n"));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -