2024-07-03 23:12:55 +08:00
|
|
|
/*******************************************************************************
|
2024-07-04 20:15:18 +08:00
|
|
|
Touch Library v3.16.0 Release
|
2024-07-03 23:12:55 +08:00
|
|
|
|
|
|
|
Company:
|
|
|
|
Microchip Technology Inc.
|
|
|
|
|
|
|
|
File Name:
|
|
|
|
touch.h
|
|
|
|
|
|
|
|
Summary:
|
|
|
|
QTouch Modular Library
|
|
|
|
|
|
|
|
Description:
|
|
|
|
Configuration macros for touch library
|
|
|
|
|
|
|
|
*******************************************************************************/
|
|
|
|
|
|
|
|
/*******************************************************************************
|
2024-07-04 20:15:18 +08:00
|
|
|
Copyright (c) 2024 released Microchip Technology Inc. All rights reserved.
|
2024-07-03 23:12:55 +08:00
|
|
|
|
|
|
|
Microchip licenses to you the right to use, modify, copy and distribute
|
|
|
|
Software only when embedded on a Microchip microcontroller or digital signal
|
|
|
|
controller that is integrated into your product or third party product
|
|
|
|
(pursuant to the sublicense terms in the accompanying license agreement).
|
|
|
|
|
|
|
|
You should refer to the license agreement accompanying this Software for
|
|
|
|
additional information regarding your rights and obligations.
|
|
|
|
|
|
|
|
SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND,
|
|
|
|
EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
|
|
|
|
MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER
|
|
|
|
CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR
|
|
|
|
OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
|
|
|
|
INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
|
|
|
|
CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
|
|
|
|
SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
|
|
|
|
(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
|
|
|
|
*******************************************************************************/
|
|
|
|
#ifndef TOUCH_H
|
|
|
|
#define TOUCH_H
|
|
|
|
#include "device.h"
|
|
|
|
|
|
|
|
|
|
|
|
// DOM-IGNORE-BEGIN
|
|
|
|
#ifdef __cplusplus // Provide C++ Compatibility
|
|
|
|
|
|
|
|
extern "C" {
|
|
|
|
|
|
|
|
#endif
|
|
|
|
// DOM-IGNORE-END
|
|
|
|
//SAME51
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------
|
|
|
|
* include files
|
|
|
|
*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
#include "touch_api_ptc.h"
|
|
|
|
|
|
|
|
/**********************************************************/
|
|
|
|
/******************* Acquisition controls *****************/
|
|
|
|
/**********************************************************/
|
|
|
|
/* Defines the Measurement Time in milli seconds.
|
|
|
|
* Range: 1 to 255.
|
|
|
|
* Default value: 20.
|
|
|
|
*/
|
2024-07-04 20:15:18 +08:00
|
|
|
#define DEF_TOUCH_MEASUREMENT_PERIOD_MS 4u
|
2024-07-03 23:12:55 +08:00
|
|
|
|
|
|
|
/* Defines the Type of sensor
|
|
|
|
* Default value: NODE_MUTUAL.
|
|
|
|
*/
|
|
|
|
#define DEF_SENSOR_TYPE NODE_SELFCAP
|
|
|
|
|
|
|
|
/* Set sensor calibration mode for charge share delay ,Prescaler or series resistor.
|
|
|
|
* Range: CAL_AUTO_TUNE_NONE / CAL_AUTO_TUNE_RSEL / CAL_AUTO_TUNE_PRSC / CAL_AUTO_TUNE_CSD
|
|
|
|
* Default value: CAL_AUTO_TUNE_NONE.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#define DEF_PTC_CAL_OPTION CAL_AUTO_TUNE_NONE
|
|
|
|
|
|
|
|
/* Calibration option to ensure full charge transfer */
|
|
|
|
/* Bits 7:0 = XX | TT SELECT_TAU | X | CAL_OPTION */
|
|
|
|
#define DEF_PTC_TAU_TARGET CAL_CHRG_5TAU
|
|
|
|
#define DEF_PTC_CAL_AUTO_TUNE (uint8_t)((DEF_PTC_TAU_TARGET << CAL_CHRG_TIME_POS) | DEF_PTC_CAL_OPTION)
|
|
|
|
|
2024-07-04 20:15:18 +08:00
|
|
|
/* Defines the interrupt priority for the PTC. Set low priority to PTC interrupt for applications having interrupt time
|
|
|
|
* constraints.
|
|
|
|
*/
|
|
|
|
#define DEF_PTC_INTERRUPT_PRIORITY 7u
|
|
|
|
|
2024-07-03 23:12:55 +08:00
|
|
|
/* Set default bootup acquisition frequency.
|
|
|
|
* Range: FREQ_SEL_0 - FREQ_SEL_15 , FREQ_SEL_SPREAD
|
|
|
|
* Default value: FREQ_SEL_0.
|
|
|
|
*/
|
|
|
|
#define DEF_SEL_FREQ_INIT FREQ_SEL_0
|
|
|
|
|
2024-07-04 20:15:18 +08:00
|
|
|
|
2024-07-03 23:12:55 +08:00
|
|
|
/*----------------------------------------------------------------------------
|
|
|
|
* defines
|
|
|
|
*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
/**********************************************************/
|
|
|
|
/***************** Node Params ******************/
|
|
|
|
/**********************************************************/
|
|
|
|
/* Acquisition Set 1 */
|
|
|
|
/* Defines the number of sensor nodes in the acquisition set
|
|
|
|
* Range: 1 to 65535.
|
|
|
|
* Default value: 1
|
|
|
|
*/
|
2024-07-04 20:15:18 +08:00
|
|
|
#define DEF_NUM_CHANNELS (16u)
|
2024-07-03 23:12:55 +08:00
|
|
|
|
|
|
|
|
|
|
|
/* Defines node parameter setting
|
2024-07-04 20:15:18 +08:00
|
|
|
* {X-line, Y-line, Charge Share Delay (CSD), NODE_RSEL_PRSC(series resistor, prescaler), NODE_G(Analog Gain , Digital Gain),
|
2024-07-03 23:12:55 +08:00
|
|
|
* filter level}
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
#define NODE_0_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
X_NONE, Y(31), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
#define NODE_1_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
X_NONE, Y(15), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
#define NODE_2_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
X_NONE, Y(17), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
#define NODE_3_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
X_NONE, Y(24), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
#define NODE_4_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
X_NONE, Y(25), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
#define NODE_5_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
X_NONE, Y(1), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
#define NODE_6_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
X_NONE, Y(2), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
#define NODE_7_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
X_NONE, Y(3), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
#define NODE_8_PARAMS \
|
|
|
|
{ \
|
2024-07-26 14:38:26 +08:00
|
|
|
X_NONE, Y(10), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
#define NODE_9_PARAMS \
|
|
|
|
{ \
|
2024-07-26 14:38:26 +08:00
|
|
|
X_NONE, Y(11), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
#define NODE_10_PARAMS \
|
|
|
|
{ \
|
2024-07-26 14:38:26 +08:00
|
|
|
X_NONE, Y(12), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
#define NODE_11_PARAMS \
|
|
|
|
{ \
|
2024-07-26 14:38:26 +08:00
|
|
|
X_NONE, Y(13), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
#define NODE_12_PARAMS \
|
|
|
|
{ \
|
2024-07-26 14:38:26 +08:00
|
|
|
X_NONE, Y(14), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
#define NODE_13_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
X_NONE, Y(30), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
#define NODE_14_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
X_NONE, Y(21), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
#define NODE_15_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
X_NONE, Y(16), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
/**********************************************************/
|
|
|
|
/***************** Key Params ******************/
|
|
|
|
/**********************************************************/
|
|
|
|
/* Defines the number of key sensors
|
|
|
|
* Range: 1 to 65535.
|
|
|
|
* Default value: 1
|
|
|
|
*/
|
2024-07-04 20:15:18 +08:00
|
|
|
#define DEF_NUM_SENSORS (16u)
|
2024-07-03 23:12:55 +08:00
|
|
|
|
|
|
|
/* Defines Key Sensor setting
|
|
|
|
* {Sensor Threshold, Sensor Hysterisis, Sensor AKS}
|
|
|
|
*/
|
|
|
|
|
|
|
|
#define KEY_0_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
40u, (uint8_t)HYST_12_5, (uint8_t)NO_AKS_GROUP \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#define KEY_1_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
40u, (uint8_t)HYST_12_5, (uint8_t)NO_AKS_GROUP \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#define KEY_2_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
40u, (uint8_t)HYST_12_5, (uint8_t)NO_AKS_GROUP \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#define KEY_3_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
40u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#define KEY_4_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
40u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#define KEY_5_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
40u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#define KEY_6_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
40u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#define KEY_7_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
40u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#define KEY_8_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
40u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#define KEY_9_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
40u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#define KEY_10_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
40u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#define KEY_11_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
40u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#define KEY_12_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
40u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#define KEY_13_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
40u, (uint8_t)HYST_12_5, (uint8_t)NO_AKS_GROUP \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#define KEY_14_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
40u, (uint8_t)HYST_12_5, (uint8_t)NO_AKS_GROUP \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#define KEY_15_PARAMS \
|
|
|
|
{ \
|
2024-08-20 10:14:12 +08:00
|
|
|
40u, (uint8_t)HYST_12_5, (uint8_t)NO_AKS_GROUP \
|
2024-07-03 23:12:55 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* De-bounce counter for additional measurements to confirm touch detection
|
|
|
|
* Range: 0 to 255.
|
|
|
|
* Default value: 4.
|
|
|
|
*/
|
2024-08-20 10:14:12 +08:00
|
|
|
#define DEF_TOUCH_DET_INT 4u
|
2024-07-03 23:12:55 +08:00
|
|
|
|
|
|
|
/* De-bounce counter for additional measurements to confirm away from touch signal
|
|
|
|
* to initiate Away from touch re-calibration.
|
|
|
|
* Range: 0 to 255.
|
|
|
|
* Default value: 5.
|
|
|
|
*/
|
2024-08-20 10:14:12 +08:00
|
|
|
#define DEF_ANTI_TCH_DET_INT 5u
|
2024-07-03 23:12:55 +08:00
|
|
|
|
|
|
|
/* Threshold beyond with automatic sensor recalibration is initiated.
|
|
|
|
* Range: RECAL_100/ RECAL_50 / RECAL_25 / RECAL_12_5 / RECAL_6_25 / MAX_RECAL
|
|
|
|
* Default value: RECAL_100.
|
|
|
|
*/
|
2024-07-04 20:15:18 +08:00
|
|
|
#define DEF_ANTI_TCH_RECAL_THRSHLD (uint8_t)RECAL_50
|
2024-07-03 23:12:55 +08:00
|
|
|
|
|
|
|
/* Rate at which sensor reference value is adjusted towards sensor signal value
|
|
|
|
* when signal value is greater than reference.
|
|
|
|
* Units: 200ms
|
|
|
|
* Range: 0-255
|
|
|
|
* Default value: 20u = 4 seconds.
|
|
|
|
*/
|
2024-07-04 20:15:18 +08:00
|
|
|
#define DEF_TCH_DRIFT_RATE 20u
|
2024-07-03 23:12:55 +08:00
|
|
|
|
|
|
|
/* Rate at which sensor reference value is adjusted towards sensor signal value
|
|
|
|
* when signal value is less than reference.
|
|
|
|
* Units: 200ms
|
|
|
|
* Range: 0-255
|
|
|
|
* Default value: 5u = 1 second.
|
|
|
|
*/
|
2024-07-04 20:15:18 +08:00
|
|
|
#define DEF_ANTI_TCH_DRIFT_RATE 5u
|
2024-07-03 23:12:55 +08:00
|
|
|
|
|
|
|
/* Time to restrict drift on all sensor when one or more sensors are activated.
|
|
|
|
* Units: 200ms
|
|
|
|
* Range: 0-255
|
|
|
|
* Default value: 20u = 4 seconds.
|
|
|
|
*/
|
2024-07-04 20:15:18 +08:00
|
|
|
#define DEF_DRIFT_HOLD_TIME 20u
|
2024-07-03 23:12:55 +08:00
|
|
|
|
|
|
|
/* Set mode for additional sensor measurements based on touch activity.
|
|
|
|
* Range: REBURST_NONE / REBURST_UNRESOLVED / REBURST_ALL
|
|
|
|
* Default value: REBURST_UNRESOLVED
|
|
|
|
*/
|
2024-07-04 20:15:18 +08:00
|
|
|
#define DEF_REBURST_MODE (uint8_t)REBURST_UNRESOLVED
|
2024-07-03 23:12:55 +08:00
|
|
|
|
|
|
|
/* Sensor maximum ON duration upon touch.
|
|
|
|
* Range: 0-255
|
|
|
|
* Default value: 0
|
|
|
|
*/
|
2024-08-20 10:14:12 +08:00
|
|
|
#define DEF_MAX_ON_DURATION 0u
|
2024-07-03 23:12:55 +08:00
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************/
|
|
|
|
/***************** Surface Parameters ****************/
|
|
|
|
/**********************************************************/
|
|
|
|
|
|
|
|
/* Horizontal Start Key <0-65534>
|
|
|
|
* Start key of horizontal axis
|
|
|
|
* Range: 0 to 65534
|
|
|
|
*/
|
2024-07-04 20:15:18 +08:00
|
|
|
#define SURFACE_CS_START_KEY_H 8u
|
2024-07-03 23:12:55 +08:00
|
|
|
/* Horizontal Number of Channel <0-255>
|
|
|
|
* Number of Channels forming horizontal axis
|
|
|
|
* Range: 0 to 255
|
|
|
|
*/
|
2024-07-04 20:15:18 +08:00
|
|
|
#define SURFACE_CS_NUM_KEYS_H 5u
|
2024-07-03 23:12:55 +08:00
|
|
|
/* Vertical Start Key <0-65534>
|
|
|
|
* Start key of vertical axis
|
|
|
|
* Range: 0 to 65534
|
|
|
|
*/
|
2024-07-04 20:15:18 +08:00
|
|
|
#define SURFACE_CS_START_KEY_V 3u
|
2024-07-03 23:12:55 +08:00
|
|
|
/* Vertical Number of Channel <0-255>
|
|
|
|
* Number of Channels forming vertical axis
|
|
|
|
* Range: 0 to 255
|
|
|
|
*/
|
2024-07-04 20:15:18 +08:00
|
|
|
#define SURFACE_CS_NUM_KEYS_V 5u
|
2024-07-03 23:12:55 +08:00
|
|
|
/* Position Resolution and Deadband Percentage
|
|
|
|
* Full scale position resolution reported for the axis and the deadband Percentage
|
|
|
|
* RESOL_2_BIT - RESOL_12_BIT
|
|
|
|
* DB_NONE - DB_15_PERCENT
|
|
|
|
*/
|
2024-07-04 20:15:18 +08:00
|
|
|
#define SURFACE_CS_RESOL_DB SCR_RESOL_DEADBAND((uint8_t)RESOL_8_BIT, (uint8_t)DB_1_PERCENT)
|
2024-07-03 23:12:55 +08:00
|
|
|
/* Median filter enable and IIR filter Config
|
|
|
|
* Median Filter <0-1>
|
|
|
|
* Enable or Disable Median Filter
|
|
|
|
* enable - 1
|
|
|
|
* disable - 0
|
|
|
|
* IIR filter <0-3>
|
|
|
|
* Configure IIR filter
|
|
|
|
* 0 - None
|
|
|
|
* 1 - 25%
|
|
|
|
* 2 - 50%
|
|
|
|
* 3 - 75%
|
|
|
|
*/
|
2024-07-04 20:15:18 +08:00
|
|
|
#define SURFACE_CS_FILT_CFG SCR_MEDIAN_IIR(1u, 3u)
|
2024-07-03 23:12:55 +08:00
|
|
|
/* Position Hystersis <0-255>
|
|
|
|
* The minimum travel distance to be reported after contact or direction change
|
|
|
|
* Applicable to Horizontal and Vertical directions
|
|
|
|
*/
|
2024-07-04 20:15:18 +08:00
|
|
|
#define SURFACE_CS_POS_HYST 3u
|
2024-07-03 23:12:55 +08:00
|
|
|
/* Minimum Contact <0-65534>
|
|
|
|
* The minimum contact size measurement for persistent contact tracking.
|
|
|
|
* Contact size is the sum of neighbouring keys' touch deltas forming the touch contact.
|
|
|
|
*/
|
2024-08-20 10:14:12 +08:00
|
|
|
#define SURFACE_CS_MIN_CONTACT 120u
|
2024-07-03 23:12:55 +08:00
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************/
|
|
|
|
/********* Frequency Hop Module ****************/
|
|
|
|
/**********************************************************/
|
|
|
|
|
|
|
|
/* sets the frequency steps for hop.
|
|
|
|
* Range: 3 to 7.
|
|
|
|
* Default value: 3
|
|
|
|
*/
|
2024-07-04 20:15:18 +08:00
|
|
|
#define NUM_FREQ_STEPS 3u
|
2024-07-03 23:12:55 +08:00
|
|
|
|
|
|
|
/* PTC Sampling Delay Selection - 0 to 15 PTC CLK cycles */
|
|
|
|
|
2024-07-04 20:15:18 +08:00
|
|
|
#define DEF_MEDIAN_FILTER_FREQUENCIES (uint8_t)FREQ_SEL_0,(uint8_t)FREQ_SEL_1,(uint8_t)FREQ_SEL_2
|
2024-07-03 23:12:55 +08:00
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************/
|
|
|
|
/***************** Communication - Data Streamer ******************/
|
|
|
|
/**********************************************************/
|
|
|
|
#define DEF_TOUCH_DATA_STREAMER_ENABLE 0u
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-07-04 20:15:18 +08:00
|
|
|
/* Acquisition variables */
|
|
|
|
extern qtm_acq_node_data_t ptc_qtlib_node_stat1[DEF_NUM_CHANNELS];
|
|
|
|
extern qtm_acq_same51_node_config_t ptc_seq_node_cfg1[DEF_NUM_CHANNELS];
|
|
|
|
|
|
|
|
|
|
|
|
/* Keys variables */
|
|
|
|
extern qtm_touch_key_group_config_t qtlib_key_grp_config_set1;
|
|
|
|
extern qtm_touch_key_data_t qtlib_key_data_set1[DEF_NUM_SENSORS];
|
|
|
|
extern qtm_touch_key_config_t qtlib_key_configs_set1[DEF_NUM_SENSORS];
|
|
|
|
extern qtm_freq_hop_config_t qtm_freq_hop_config1;
|
|
|
|
/* Surface variables */
|
|
|
|
extern qtm_surface_cs_config_t qtm_surface_cs_config1;
|
|
|
|
extern qtm_surface_contact_data_t qtm_surface_cs_data1;
|
|
|
|
extern uint8_t module_error_code;
|
|
|
|
|
|
|
|
|
|
|
|
extern volatile uint8_t measurement_done_touch;
|
|
|
|
|
2024-07-03 23:12:55 +08:00
|
|
|
// DOM-IGNORE-BEGIN
|
|
|
|
#ifdef __cplusplus // Provide C++ Compatibility
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|
|
|
|
// DOM-IGNORE-END
|
|
|
|
#endif // TOUCH_H
|