📄 csa_1.h
字号:
//*****************************************************************************
//*****************************************************************************
// FILENAME: CSA_1.h
// @Versions@
// Generated by PSoC Designer ver 4.3 b1884 : 23 June, 2006
//
// DESCRIPTION: CSA User Module C Language interface file
// for the 20x34 PSoC family of devices
//-----------------------------------------------------------------------------
// Copyright (c) Cypress Semiconductor 2000-2006. All Rights Reserved.
//*****************************************************************************
//*****************************************************************************
#include <m8c.h>
#define CSA_1_BUTTONS_EXIST 0x7
#define CSA_1_SLIDERS_EXIST 0x1
// Low Level scan API
#pragma fastcall16 CSA_1_Start
#pragma fastcall16 CSA_1_Stop
#pragma fastcall16 CSA_1_ClearSensors
#pragma fastcall16 CSA_1_wReadSensor
#pragma fastcall16 CSA_1_wGetPortPin
#pragma fastcall16 CSA_1_EnableSensor
#pragma fastcall16 CSA_1_DisableSensor
#pragma fastcall16 CSA_1_ScanSensor
#pragma fastcall16 CSA_1_ScanAllSensors
// Legacy function name labels below, do not use for new designs
#pragma fastcall16 CSA_1_iGetPortPin
// High Level API
#pragma fastcall16 CSA_1_UpdateSensorBaseline
#pragma fastcall16 CSA_1_bIsSensorActive
#pragma fastcall16 CSA_1_bIsAnySensorActive
#pragma fastcall16 CSA_1_SetDefaultFingerThresholds
#pragma fastcall16 CSA_1_InitializeBaselines
#pragma fastcall16 CSA_1_UpdateAllBaselines
#pragma fastcall16 CSA_1_wGetCentroidPos
//-------------------------------------------------
// C prototypes of the CSA_1 API.
//-------------------------------------------------
extern void CSA_1_Start(void);
extern void CSA_1_Stop(void);
extern void CSA_1_ClearSensors(void);
extern WORD CSA_1_wReadSensor(BYTE bSensor);
extern WORD CSA_1_wGetPortPin(BYTE bSensor);
extern void CSA_1_EnableSensor(BYTE bMask, BYTE bPort);
extern void CSA_1_DisableSensor(BYTE bMask, BYTE bPort);
extern void CSA_1_ScanSensor(BYTE bSensor);
extern void CSA_1_ScanAllSensors(void);
// Legacy function name labels below, do not use for new designs
extern WORD CSA_1_iGetPortPin(BYTE bSensor);
//-------------------------------------------------
// High level functions
//-------------------------------------------------
extern void CSA_1_UpdateSensorBaseline(BYTE bSensorNum);
extern BYTE CSA_1_bIsSensorActive(BYTE bSensorNum);
extern BYTE CSA_1_bIsAnySensorActive(void);
extern void CSA_1_SetDefaultFingerThresholds(void);
extern void CSA_1_InitializeBaselines(void);
extern void CSA_1_UpdateAllBaselines(void);
#if CSA_1_SLIDERS_EXIST
extern WORD CSA_1_wGetCentroidPos(BYTE bSnsGroup);
#endif
//--------------------------------------------------
// Variables for CSA_1.
//--------------------------------------------------
extern BYTE CSA_1_baSnsOnMask[];
extern WORD CSA_1_waSnsResult[];
extern WORD CSA_1_waSnsBaseline[];
extern WORD CSA_1_waSnsDiff[];
extern BYTE CSA_1_baDACCodeBaseline[];
extern BYTE CSA_1_bfStatus;
#if CSA_1_BUTTONS_EXIST
extern BYTE CSA_1_baBtnFThreshold[];
#endif
#if CSA_1_SLIDERS_EXIST
extern WORD CSA_1_wCtrdPos;
extern BYTE CSA_1_baCtrdPkPos[];
extern WORD CSA_1_waCtrdPkValue[];
#endif
//--------------------------------------------------
// Constants for CSA_1 API's.
//--------------------------------------------------
#define CSA_1_CONTROL_REG_START_BIT ( 0x01 )
//--------------------------------------------------
// Constants for CSA_1 user defined values
//--------------------------------------------------
// Scan Modes
#define CSA_1_SCAN_CONTINUOUS 0x01
#define CSA_1_SCAN_ONCE 0x00
// Scan Status
#define CSA_1_SCAN_ACTIVE 0x10
#define CSA_1_SCAN_SET_COMPLETE 0x20
// Sizes
#define CSA_1_ButtonCount 0x7
#define CSA_1_SliderCount 0x1
#define CSA_1_TotalSensorCount 0xf
//-------------------------------------------------
// Register Addresses for CSA_1
//-------------------------------------------------
#pragma ioport CSA_1_CapSense_CR0_REG: 0x0a0 // Analog block control Register 1
BYTE CSA_1_CapSense_CR0_REG;
#pragma ioport CSA_1_CapSense_CR1_REG: 0x0a1 // Analog block control Register 2
BYTE CSA_1_CapSense_CR1_REG;
#pragma ioport CSA_1_CapSense_CR2_REG: 0x0a2 // Analog block control Register 2
BYTE CSA_1_CapSense_CR2_REG;
#pragma ioport CSA_1_CapSense_CR3_REG: 0x0a3 // Analog block control Register 2
BYTE CSA_1_CapSense_CR3_REG;
#pragma ioport CSA_1_CapSense_STAT_REG: 0x0a6 // Analog block control Register 2
BYTE CSA_1_CapSense_STAT_REG;
#pragma ioport CSA_1_CapSense_CNTH_REG: 0x0a5 // Analog block control Register 2
BYTE CSA_1_CapSense_CNTH_REG;
#pragma ioport CSA_1_CapSense_CNTL_REG: 0x0a4 // Analog block control Register 2
BYTE CSA_1_CapSense_CNTL_REG;
#pragma ioport CSA_1_CapSense_TIMER_REG: 0x0a7 // Analog block control Register 2
BYTE CSA_1_CapSense_TIMER_REG;
#pragma ioport CSA_1_CapSense_SLEW_REG: 0x0a8 // Analog block control Register 2
BYTE CSA_1_CapSense_SLEW_REG;
#pragma ioport CSA_1_CMP_CR0_REG: 0x07a // Analog block control Register 2
BYTE CSA_1_CMP_CR0_REG;
#pragma ioport CSA_1_CMP_CR1_REG: 0x07b // Analog block control Register 2
BYTE CSA_1_CMP_CR1_REG;
#pragma ioport CSA_1_CMP_MUX_REG: 0x079 // Analog block control Register 2
BYTE CSA_1_CMP_MUX_REG;
#pragma ioport CSA_1_P0_MUX_REG: 0x1d8 // Analog block control Register 2
BYTE CSA_1_P0_MUX_REG;
#pragma ioport CSA_1_P1_MUX_REG: 0x1d9 // Analog block control Register 2
BYTE CSA_1_P1_MUX_REG;
#pragma ioport CSA_1_P2_MUX_REG: 0x1da // Analog block control Register 2
BYTE CSA_1_P2_MUX_REG;
#pragma ioport CSA_1_P3_MUX_REG: 0x1db // Analog block control Register 2
BYTE CSA_1_P3_MUX_REG;
//-------------------------------------------------
// CSA_1 Macro 'Functions'
//-------------------------------------------------
#define CSA_1_EnableInt_M \
M8C_EnableIntMask( CSA_1_INT_REG, CSA_1_INT_MASK )
#define CSA_1_DisableInt_M \
M8C_DisableIntMask( CSA_1_INT_REG, CSA_1_INT_MASK )
// end of file CSA_1.h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -