📄 csdslider.c
字号:
//*****************************************************************************
//*****************************************************************************
// FILENAME: `@LIB_NAME`_CSDSLIDER.c
// Version: 1.1.0.3, Updated on 2007/06/14 at 10:32:12
// Application: PSoC Express 2.0
//
// DESCRIPTION: This Driver provides accomodation for capsense slider.
//
//
//-----------------------------------------------------------------------------
// Copyright (c) Cypress MicroSystems 2006. All Rights Reserved.
//*****************************************************************************
//*****************************************************************************
#include "m8c.h"
#include "`@LIB_NAME`_CSDSLIDER.h"
#include "cmx.h"
//-----------------------------------------------------------------------------
// FUNCTION NAME: CSDSLIDER_Instantiate(const `@LIB_NAME`_CSDSLIDER_ParameterBlock * pPBlock)
//
// DESCRIPTION: CSDSLIDER Initialization.
//
//-----------------------------------------------------------------------------
//
// ARGUMENTS: parameter block
//
// RETURNS:
//
// SIDE EFFECTS:
//
// THEORY of OPERATION or PROCEDURE: Empty and placed here for further
// compatibility
//
////////////////////////////////////////////////////////////////////////////////
void `@LIB_NAME`_CSDSLIDER_Instantiate(const `@LIB_NAME`_CSDSLIDER_ParameterBlock * pPBlock)
{
CSD_SetScanMode(pPBlock->pCSDSliderSettings->ScanSpeed, pPBlock->pCSDSliderSettings->Resolution); // Set Scan Mode
CSD_SetRefValue(pPBlock->pCSDSliderSettings->RefValue); // Set Reference Value
CSD_InitializeGroupBaselines(pPBlock->bInstanceID);
}
//-----------------------------------------------------------------------------
// FUNCTION NAME: CSDSLIDER_GetValue(const `@LIB_NAME`_CSDSLIDER_ParameterBlock * pPBlock)
//
// DESCRIPTION:
// Get current button status from the base driver.
//
//-----------------------------------------------------------------------------
//
// ARGUMENTS: parameter block
//
// RETURNS: BYTE
//
// THEORY of OPERATION or PROCEDURE: Sets the appropriate Scan Mode and
// the Ref Value and scans every sensor in the group. Then updates
// baseline for the current slider group and gets the finger position.
//
///////////////////////////////////////////////////////////////////////////////
BYTE `@LIB_NAME`_CSDSLIDER_GetValue(const `@LIB_NAME`_CSDSLIDER_ParameterBlock * pPBlock)
{
BYTE bInstanceID;
BYTE bPos;
bInstanceID = pPBlock->bInstanceID;
CSD_SetScanMode(pPBlock->pCSDSliderSettings->ScanSpeed, pPBlock->pCSDSliderSettings->Resolution); // Set Scan Mode
CSD_SetRefValue(pPBlock->pCSDSliderSettings->RefValue); // Set Reference Value
CSD_ScanSensorGroup(bInstanceID); // Scan Slider's Sensors
CSD_UpdateGroupBaselines(bInstanceID); // Update Slider's Baseline
bPos = (BYTE)CSD_wGetCentroidPos(bInstanceID); // Get the finger position
if (bPos == 0xFF) bPos = 0;
return bPos;
}
//-----------------------------------------------------------------------------
// FUNCTION NAME: CSDSLIDER_GetDifference(const `@LIB_NAME`_CSDSLIDEBASE_ParameterBlock * pPBlock)
//
// DESCRIPTION:
// Get current difference from the base driver.
//
//-----------------------------------------------------------------------------
//
// ARGUMENTS: parameter block
//
// RETURNS: BYTE
//
// THEORY of OPERATION or PROCEDURE: Scans every sensor in the slider group.
// Then updates baseline for the current slider group and gets the finger
// position.
//
///////////////////////////////////////////////////////////////////////////////
WORD `@LIB_NAME`_CSDSLIDER_GetDifference(const `@LIB_NAME`_CSDSLIDEBASE_ParameterBlock * pPBlock)
{
BYTE bIndex, bSnsGroup;
bIndex = pPBlock->bIndex;
bSnsGroup = pPBlock->bSnsGroup;
bIndex += CSD_GetGroupSensorIndex(bSnsGroup);
return CSD_waSnsDiff[bIndex];
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -