3972bc19c7
Currently only works on a single channel and is only enabled for boards with SPI flash. Only really designed for hardware testing at this point.
614 lines
22 KiB
C
614 lines
22 KiB
C
/* This source file is part of the ATMEL QTouch Library 5.0.8 */
|
|
|
|
/*****************************************************************************
|
|
*
|
|
* \file
|
|
*
|
|
* \brief This file contains the SAMD QTouch Library pin, register and
|
|
* sensors configuration options for Capacitive Touch acquisition using
|
|
* the PTC module.
|
|
*
|
|
*
|
|
* - Userguide: QTouch Library Peripheral Touch Controller User Guide.
|
|
* - Support email: www.atmel.com/design-support/
|
|
*
|
|
*
|
|
* Copyright (c) 2013-2015 Atmel Corporation. All rights reserved.
|
|
*
|
|
* \asf_license_start
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions are met:
|
|
*
|
|
* 1. Redistributions of source code must retain the above copyright notice,
|
|
* this list of conditions and the following disclaimer.
|
|
*
|
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
* this list of conditions and the following disclaimer in the documentation
|
|
* and/or other materials provided with the distribution.
|
|
*
|
|
* 3. The name of Atmel may not be used to endorse or promote products derived
|
|
* from this software without specific prior written permission.
|
|
*
|
|
* 4. This software may only be redistributed and used in connection with an
|
|
* Atmel microcontroller product.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
|
|
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
|
* EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
|
|
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
|
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
* POSSIBILITY OF SUCH DAMAGE.
|
|
*
|
|
* \asf_license_stop
|
|
*
|
|
******************************************************************************/
|
|
|
|
#ifndef TOUCH_CONFIG_SAMD_H
|
|
#define TOUCH_CONFIG_SAMD_H
|
|
|
|
/*----------------------------------------------------------------------------
|
|
* Self Cap method enable/disable.
|
|
*
|
|
*
|
|
*----------------------------------------------------------------------------*/
|
|
|
|
/**
|
|
* Enable/Disable Self/Mutual Capacitance method.
|
|
*/
|
|
#define DEF_TOUCH_SELFCAP (1)
|
|
#define DEF_TOUCH_MUTLCAP (0)
|
|
|
|
/*----------------------------------------------------------------------------
|
|
* PTC module clock and interrupt level configuration.
|
|
*
|
|
*
|
|
*----------------------------------------------------------------------------*/
|
|
|
|
/**
|
|
* PTC Module clock configuration.
|
|
* Before using the QTouch library API, the PTC module clock generator source
|
|
* should be configured appropriately. The PTC module clock can be generated
|
|
* using any of the eight generic clock generators (GCLK0-GCLK7). The
|
|
*associated
|
|
* generic clock multiplexer should be configured such that the PTC module clock
|
|
* is set to 4MHz. Refer touch_configure_ptc_clock API in touch.c for more
|
|
* information.
|
|
*/
|
|
|
|
/**
|
|
* PTC Module interrupt level.
|
|
* The Nested Vectored Interrupt Controller (NVIC) in the SAMD supports
|
|
* four different priority levels. The priority level of the PTC end of
|
|
* conversion ISR, used within QTouch library can be chosen based on application
|
|
* requirements in order to accommodate time critical operations.
|
|
* Range: 0u (Highest priority) to 3u (Lowest prioirity)
|
|
* For more details refer to the Cortex-M0 Technical Reference Manual.
|
|
*/
|
|
#define DEF_TOUCH_PTC_ISR_LVL (2u)
|
|
|
|
/*----------------------------------------------------------------------------
|
|
* Self Cap method pin configuration.
|
|
*
|
|
*
|
|
*----------------------------------------------------------------------------*/
|
|
|
|
/**
|
|
* Self Cap touch channel selected.
|
|
* The capacitance measurement is done sequentially in the order in which
|
|
* the touch channel (nodes) are specified below. Touch channel numbering
|
|
* follows the order in which Y lines are specified. Capacitance measurement
|
|
* is done sequentially in the order in which touch channel nodes are specified.
|
|
*/
|
|
#define DEF_SELFCAP_LINES Y(2),Y(3),Y(4),Y(5),Y(8),Y(9),Y(14),Y(15)
|
|
|
|
/*----------------------------------------------------------------------------
|
|
* Self Cap method channel and sensor configuration.
|
|
*
|
|
*
|
|
*----------------------------------------------------------------------------*/
|
|
|
|
/**
|
|
* Self Cap number of channels.
|
|
* Specify the number of Self Cap touch channels to be used by the Touch
|
|
*Library.
|
|
* A key is formed used one touch channel. A rotor or slider can be formed
|
|
* using 3 touch channels.
|
|
* Range: 1u to 16u.
|
|
*/
|
|
#define DEF_SELFCAP_NUM_CHANNELS (8) //Total number of channels
|
|
|
|
/**
|
|
* Self Cap number of Sensors.
|
|
* Specify the number of Self Cap touch sensors to be used by the Touch Library.
|
|
* A sensor is either a key, rotor or slider.
|
|
* Example configuration: If the configuration has 6 keys (a key is formed
|
|
* using one Sensor Pin), one rotor (a Self Cap rotor is formed using 3 Sensor
|
|
* Pins) and one slider (a Self Cap slider is formed using 3 Sensor Pins), then
|
|
* the number of sensors is 6 key + 1 rotor + 1 slider = 8 sensors.
|
|
* Range: 1u to 16u.
|
|
*/
|
|
#define DEF_SELFCAP_NUM_SENSORS (8) //Total number of sensors
|
|
|
|
/**
|
|
* Self Cap number of Rotors and Sliders.
|
|
* Specify the total number of Self Cap Rotors and Sliders to be used by
|
|
* the Touch Library. The number of Rotors and Sliders mentioned here is part
|
|
* of
|
|
* the Total number of sensors specified in the QT_NUM_SENSORS macro. When
|
|
* no rotors or slider are required, specify a value of 0u.
|
|
* Range: 0u to 8u.
|
|
*/
|
|
#define DEF_SELFCAP_NUM_ROTORS_SLIDERS (0) //Number of rotor sliders
|
|
|
|
/*----------------------------------------------------------------------------
|
|
* Self Cap method aquisition parameters.
|
|
*
|
|
*
|
|
*----------------------------------------------------------------------------*/
|
|
|
|
/**
|
|
* Self Cap filter level setting.
|
|
* The filter level setting controls the number of samples taken
|
|
* to resolve each acquisition. A higher filter level setting provides
|
|
* improved signal to noise ratio under noisy conditions, while
|
|
* increasing the total time for measurement resulting in increased
|
|
* power consumption and response time. Refer filter_level_t in
|
|
*touch_api_ptc.h
|
|
* Range: FILTER_LEVEL_1 (one sample) to FILTER_LEVEL_64 ( 64 samples).
|
|
*/
|
|
#define DEF_SELFCAP_FILTER_LEVEL_PER_NODE FILTER_LEVEL_16,FILTER_LEVEL_16,FILTER_LEVEL_16,FILTER_LEVEL_16,FILTER_LEVEL_16,FILTER_LEVEL_16,FILTER_LEVEL_16,FILTER_LEVEL_16
|
|
|
|
/*
|
|
* SelfCap Auto OS function can be enabled/disabled
|
|
* 1u = Self cap Auto OS functionality is enabled
|
|
* 0u = Self Auto OS functionality is disabled
|
|
*/
|
|
#define DEF_SELFCAP_AUTO_OS_ENABLE 0u
|
|
|
|
/**
|
|
* Self Cap auto oversample setting.
|
|
* Auto oversample controls the automatic oversampling of sensor channels when
|
|
* unstable signals are detected with the default setting of ?Filter level?.
|
|
* Enabling Auto oversample results in 'Filter level' x 'Auto Oversample' number
|
|
* of samples taken on the corresponding sensor channel when an unstable signal
|
|
* is observed. In a case where ?Filter level? is set to FILTER_LEVEL_4 and
|
|
* ?Auto Oversample? is set to AUTO_OS_4, 4 oversamples are taken with stable
|
|
* signal values and 16 oversamples are taken when unstable signal is detected.
|
|
* Refer auto_os_t in touch_api_ptc.h
|
|
* Range: 0 to 7
|
|
0 --> AUTO_OS_DISABLE, 1 --> AUTO_OS_2,
|
|
2 --> AUTO_OS_4, 3 --> AUTO_OS_8,
|
|
4 --> AUTO_OS_16, 5 --> AUTO_OS_32,
|
|
6 --> AUTO_OS_64, 7 --> AUTO_OS_128
|
|
*/
|
|
#define DEF_SELFCAP_AUTO_OS_PER_NODE AUTO_OS_DISABLE,AUTO_OS_DISABLE,AUTO_OS_DISABLE,AUTO_OS_DISABLE,AUTO_OS_DISABLE,AUTO_OS_DISABLE,AUTO_OS_DISABLE,AUTO_OS_DISABLE
|
|
|
|
/**
|
|
* Stability limit is the variance in sensor signal value under noisy environment.
|
|
* The signal stability limit level is set to auto trigger oversamples on noise presence.
|
|
* It is recommended to keep this setting close to the lowest sensor detect threshold of
|
|
* the system and tune it further based on the noise.
|
|
* Range: 1 to 1000
|
|
*/
|
|
#define DEF_SELFCAP_AUTO_OS_SIGNAL_STABILITY_LIMIT 20
|
|
/**
|
|
* Self Cap gain per touch channel.
|
|
* Gain is applied on a per-channel basis to allow a scaling-up of the touch
|
|
* sensitivity on contact.
|
|
* Note: delta on touch contact, not the resting signal which is measured on
|
|
* each sensor.
|
|
* Refer gain_t in touch_api_ptc.h
|
|
* Range:GAIN_1 (no scaling) to GAIN_32 (scale-up by 32)
|
|
*/
|
|
#define DEF_SELFCAP_GAIN_PER_NODE GAIN_1,GAIN_1,GAIN_1,GAIN_1,GAIN_1,GAIN_1,GAIN_1,GAIN_1
|
|
|
|
/*----------------------------------------------------------------------------
|
|
* Tuning for Noise performance, touch response time and Power consumption.
|
|
*
|
|
*
|
|
*----------------------------------------------------------------------------*/
|
|
|
|
/**
|
|
* Refer QTouch Library Peripheral Touch Controller User Guide for detailed
|
|
* information on tuning for Noise performance, touch response time and Power
|
|
* consumption
|
|
*/
|
|
|
|
/**
|
|
* For best noise performance, set -
|
|
* - DEF_SELFCAP_FREQ_MODE to FREQ_MODE_HOP
|
|
* - DEF_SELFCAP_SENSE_RESISTOR to RSEL_VAL_100
|
|
* - use AUTO_TUNE_PRSC input to touch_xxcap_sensors_calibrate() API in touch.c
|
|
* Based on the type of noise, FREQ_MODE_SPREAD or FREQ_MODE_SPREAD_MEDIAN can
|
|
* also be used.
|
|
*
|
|
* For best power consumption, set -
|
|
* - DEF_SELFCAP_FREQ_MODE to FREQ_MODE_NONE
|
|
* - DEF_SELFCAP_CLK_PRESCALE to PRSC_DIV_SEL_1
|
|
* - use AUTO_TUNE_RSEL input to touch_xxcap_sensors_calibrate() API in touch.c
|
|
*
|
|
*/
|
|
|
|
/**
|
|
* Self Cap acquisition frequency mode.
|
|
*
|
|
* FREQ_MODE_HOP:
|
|
* When frequency mode hopping option is selected, the PTC runs a
|
|
* frequency hopping cycle with subsequent measurements done using
|
|
* the three PTC acquisition frequency delay settings as specified in
|
|
* DEF_SELFCAP_HOP_FREQS.
|
|
*
|
|
* FREQ_MODE_SPREAD:
|
|
* When frequency mode spread spectrum option is selected, the PTC
|
|
* runs with spread spectrum enabled for jittered delay based
|
|
* acquisition.
|
|
*
|
|
* FREQ_MODE_SPREAD_MEDIAN:
|
|
* When frequency mode spread spectrum median option is selected,
|
|
* the PTC runs with spread spectrum enabled. In this case, an
|
|
* additional software median filter is applied to the measured
|
|
* signal values.
|
|
*
|
|
* FREQ_MODE_NONE:
|
|
* When frequency mode none option is selected, the PTC runs at
|
|
* constant speed. This mode is suited for best power consumption.
|
|
*/
|
|
#define DEF_SELFCAP_FREQ_MODE FREQ_MODE_NONE
|
|
|
|
/**
|
|
* PTC acquisition frequency delay setting.
|
|
*
|
|
* Specify three frequency hop delay settings.
|
|
*
|
|
* The PTC acquisition frequency is dependent on the Generic clock
|
|
* input to PTC and PTC clock pre-scaler setting. This delay setting
|
|
* inserts "n" PTC clock cycles between consecutive measurements on
|
|
* a given sensor, thereby changing the PTC acquisition frequency.
|
|
* FREQ_HOP_SEL_1 setting inserts 0 PTC clock cycle between consecutive
|
|
* measurements. FREQ_HOP_SEL_16 setting inserts 15 PTC clock cycles.
|
|
* Hence, higher delay setting will increase the total time taken for
|
|
* capacitance measurement on a given sensor as compared to a lower
|
|
* delay setting.
|
|
*
|
|
* A desired setting can be used to avoid noise around the same frequency
|
|
* as the acquisition frequency.
|
|
* Range: FREQ_HOP_SEL_1 to FREQ_HOP_SEL_16
|
|
*/
|
|
#define DEF_SELFCAP_HOP_FREQS FREQ_HOP_SEL_1,FREQ_HOP_SEL_2,FREQ_HOP_SEL_3
|
|
|
|
/**
|
|
* Self cap PTC clock pre-scalar.
|
|
* PTC clock prescale setting. Refer touch_configure_ptc_clock() API in
|
|
*touch.c
|
|
* Example: if Generic clock input to PTC = 4MHz, then:
|
|
* PRSC_DIV_SEL_1 sets PTC Clock to 4MHz
|
|
* PRSC_DIV_SEL_2 sets PTC Clock to 2MHz
|
|
* PRSC_DIV_SEL_4 sets PTC Clock to 1MHz
|
|
* PRSC_DIV_SEL_8 sets PTC Clock to 500KHz
|
|
*/
|
|
#define DEF_SELFCAP_CLK_PRESCALE_PER_NODE PRSC_DIV_SEL_1,PRSC_DIV_SEL_1,PRSC_DIV_SEL_1,PRSC_DIV_SEL_1,PRSC_DIV_SEL_1,PRSC_DIV_SEL_1,PRSC_DIV_SEL_1,PRSC_DIV_SEL_1
|
|
|
|
/**
|
|
* PTC series resistor setting. For Mutual cap mode, this series
|
|
* resistor is switched internally on the Y-pin. For Self cap mode,
|
|
* the series resistor is switched internally on the Sensor pin.
|
|
*
|
|
* Example:
|
|
* RSEL_VAL_0 sets internal series resistor to 0ohms.
|
|
* RSEL_VAL_20 sets internal series resistor to 20Kohms.
|
|
* RSEL_VAL_50 sets internal series resistor to 50Kohms.
|
|
* RSEL_VAL_100 sets internal series resistor to 100Kohms.
|
|
*/
|
|
#define DEF_SELFCAP_SENSE_RESISTOR_PER_NODE
|
|
|
|
/**
|
|
This is the default auto tune mode selection.
|
|
This is used in the AUTO calibration routine,
|
|
The allowed values are 0 to 2
|
|
0 --> DEF_AUTO_TUNE_NONE if Auto tune is not required
|
|
1 --> DEF_AUTO_TUNE_PRSC if the Pre-scaler needs to be tuned
|
|
2 --> DEF_AUTO_TUNE_RSEL if the Series resistor needs to be tuned
|
|
3 --> DEF_AUTO_TUNE_CSD this is available only in C2x devices,
|
|
DEF_AUTO_TUNE_CSD tunes internal Charge sharing delay for proper charge transfer
|
|
*/
|
|
#define DEF_SELF_AUTO_TUNE_VALUE 2
|
|
/*----------------------------------------------------------------------------
|
|
* Self Cap method sensor global parameters.
|
|
*
|
|
*
|
|
*----------------------------------------------------------------------------*/
|
|
|
|
/*! \name Self Cap Global acquisition parameters.
|
|
* Refer the Touch Library User guide for more information on these parameters.
|
|
*/
|
|
/* ! @{ */
|
|
|
|
/**
|
|
* Self Cap Sensor measurement interval.
|
|
* Speicify period in milliseconds. Example, DEF_TOUCH_MEASUREMENT_PERIOD_MS
|
|
*50u
|
|
* will perform measurement on touch sensors every 50msec.
|
|
*/
|
|
#define DEF_TOUCH_MEASUREMENT_PERIOD_MS 20u
|
|
|
|
|
|
/**
|
|
* Self Cap Sensor detect integration (DI) limit.
|
|
* Range: 0u to 255u.
|
|
*/
|
|
#define DEF_SELFCAP_DI 4u
|
|
|
|
|
|
/**
|
|
* Self Cap Sensor towards touch drift rate.
|
|
* Units: 200ms
|
|
* Default value: 20 = 4 seconds.
|
|
* Range: 1u to 127u.
|
|
*/
|
|
#define DEF_SELFCAP_TCH_DRIFT_RATE 20u
|
|
|
|
|
|
/**
|
|
* Self Cap Sensor away from touch drift rate.
|
|
* Units: 200ms
|
|
* Default value: 5u = 1 second.
|
|
* Range: 1u to 127u.
|
|
*/
|
|
#define DEF_SELFCAP_ATCH_DRIFT_RATE 5u
|
|
|
|
|
|
/**
|
|
* Self Cap Sensor maximum ON time duration.
|
|
* Units: 200ms (Example: a value 5u indicated Max ON duration of 1 second.)
|
|
* Default value: 0 (No maximum ON time limit).
|
|
* Range: 0u to 255u.
|
|
*/
|
|
#define DEF_SELFCAP_MAX_ON_DURATION 0u
|
|
|
|
|
|
/**
|
|
* Self Cap Sensor drift hold time.
|
|
* Units: 200ms
|
|
* Default value: 20 (hold off drifting for 4 seconds after leaving detect).
|
|
* Range: 1u to 255u.
|
|
*/
|
|
#define DEF_SELFCAP_DRIFT_HOLD_TIME 20u
|
|
|
|
|
|
/**
|
|
* Self Cap Sensor away from touch recalibration delay.
|
|
* Default value: 10.
|
|
* Range: 0u to 255u.
|
|
*/
|
|
#define DEF_SELFCAP_ATCH_RECAL_DELAY 10u
|
|
|
|
|
|
/** Self Cap Sensor away from touch recalibration threshold.
|
|
* Default: RECAL_50 (recalibration threshold = 50% of detection threshold).
|
|
* Range: refer recal_threshold_t enum in touch_api_ptc.h.
|
|
*/
|
|
#define DEF_SELFCAP_ATCH_RECAL_THRESHOLD 0u
|
|
|
|
|
|
/** Self Cap Sensor post-processing mode.
|
|
* Default: TOUCH_LIBRARY_DRIVEN.
|
|
* Range: TOUCH_LIBRARY_DRIVEN or TOUCH_APPLN_DRIVEN refer in touch_api_ptc.h.
|
|
*/
|
|
#define DEF_SELFCAP_TOUCH_POSTPROCESS_MODE TOUCH_APPLN_DRIVEN
|
|
|
|
/* ! @} */
|
|
|
|
/*----------------------------------------------------------------------------
|
|
* Self Cap method moisture detection feature parameters.
|
|
*
|
|
*
|
|
*----------------------------------------------------------------------------*/
|
|
/*! \name Mutual Cap method moisture feature parameters.
|
|
* Refer the Touch Library User guide for more information on these parameters.
|
|
*/
|
|
/* ! @{ */
|
|
|
|
/**
|
|
* Enable or disable moisture detection feature.
|
|
*/
|
|
#define DEF_SELFCAP_MOIS_TOLERANCE_ENABLE (0u)
|
|
|
|
/**
|
|
* Enable or disable quick re-burst feature within a given moisture group.
|
|
* When enabled, if within a given moisture group, when any sensor is touched,
|
|
* repeated measurements are done only that sensor to resolve detect integration or de-bounce.
|
|
* When disabled, if within a given moisture group, when any sensor is touched, repeated measurements are done
|
|
* on all sensors within the moisture group to resolve detect integration or de-bounce.
|
|
* It is recommended to enable this feature for best touch response time.
|
|
*/
|
|
#define DEF_SELFCAP_MOIS_QUICK_REBURST_ENABLE (1u)
|
|
|
|
/**
|
|
* Self cap number of moisture groups
|
|
*/
|
|
#define DEF_SELFCAP_NUM_MOIS_GROUPS (0u)
|
|
|
|
|
|
/**State of the Self Cap PTC pins.
|
|
* Default: GND_WHEN_NOT_MEASURED (PTC pins are pulled to GND when they are not bursted).
|
|
* Range: ptc_gpio_state_t enum in touch_api_ptc.h.
|
|
*/
|
|
#define DEF_SELFCAP_PTC_GPIO_STATE (PULLHIGH_WHEN_NOT_MEASURED)
|
|
|
|
/* ! @} */
|
|
|
|
/*
|
|
* AKS grouping function can be enabled/disabled
|
|
* 1u = AKS grouping functionality is enabled
|
|
* 0u = AKS grouping functionality is disabled
|
|
*/
|
|
#define DEF_SELFCAP_AKS_ENABLE (0u)
|
|
|
|
/*
|
|
* Charge share delay indicates the number of additional charge cycles that are inserted within a capacitance measurement cycle
|
|
* to ensure full charging of the touch sensor.
|
|
* The CSD value is dependent on the sensor capacitance along with the series resistor on the Y line.
|
|
* When manual tuning is done, the CSD value for the sensor with largest combination of capacitance along with series resistance
|
|
* should be considered.
|
|
* allowed Range 0-255
|
|
*/
|
|
#define DEF_SELF_CAP_CSD_VALUE 0
|
|
|
|
/*----------------------------------------------------------------------------
|
|
* Self Cap method noise measurement & lockout.
|
|
*
|
|
*
|
|
*----------------------------------------------------------------------------*/
|
|
|
|
/*! \name Self Cap Global acquisition parameters.
|
|
* Refer the Touch Library User guide for more information on these parameters.
|
|
*/
|
|
/* ! @{ */
|
|
|
|
/**
|
|
* Noise measurement enable/disable
|
|
* If configured as 1, noise measurement will be enabled
|
|
* If configured as 0, noise measurement will be disabled
|
|
*/
|
|
#define DEF_SELFCAP_NOISE_MEAS_ENABLE (0u)
|
|
|
|
/**
|
|
* Stability limit is the variance in sensor signal value under noisy environment.
|
|
* Any noise level over and above the noise signal stability limit contributes to the Noise limit.
|
|
* It is recommended to keep this setting close to the lowest sensor detect threshold of
|
|
* the system and tune it further based on the noise.
|
|
* Range: 1 to 1000
|
|
*/
|
|
#define DEF_SELFCAP_NOISE_MEAS_SIGNAL_STABILITY_LIMIT 10u
|
|
|
|
/**
|
|
* The noise limit specifies the limit to the total noise accumulated over the noise buffer count.
|
|
* If the accumulated noise exceeds the noise limit, then lockout is triggered.
|
|
* Range: 1 to 255
|
|
*/
|
|
#define DEF_SELFCAP_NOISE_LIMIT 12u
|
|
|
|
/**
|
|
* Noise buffer count
|
|
* Selection of buffer count for noise calculation.
|
|
* Defines the buffer limit for internal noise measurement
|
|
* Range: 3 to 10 (select value N + 1, here N nmber of samples)
|
|
* if N = 4 then set DEF_NM_BUFFER_CNT 5u ->> (N + 1).
|
|
* Default : 5u
|
|
*/
|
|
#define DEF_SELFCAP_NOISE_MEAS_BUFFER_CNT (5u)
|
|
|
|
/**
|
|
* Mutual cap method : noisy Sensor lockout settings.
|
|
* 0u: single sensor lockout.
|
|
* 1u: Global sensor lockout.
|
|
* 2u : No lockout
|
|
* Range : 0 to 2
|
|
*/
|
|
#define DEF_SELFCAP_LOCKOUT_SEL 0
|
|
|
|
/**
|
|
* Mutual cap Lockout count down
|
|
* If the sensor signal is moves from noisy to a good condition and stays there
|
|
* for a count value higher than the max count defined by user, sensor is
|
|
*declared as stable
|
|
* Range: 1 to 255
|
|
*/
|
|
#define DEF_SELFCAP_LOCKOUT_CNTDOWN 10
|
|
|
|
/* ! @} */
|
|
|
|
/*----------------------------------------------------------------------------
|
|
* Self Cap method Frequency auto tune.
|
|
*
|
|
*
|
|
*----------------------------------------------------------------------------*/
|
|
|
|
/*! \name Self Cap Global acquisition parameters.
|
|
* Refer the Touch Library User guide for more information on these parameters.
|
|
*/
|
|
/* ! @{ */
|
|
|
|
/**
|
|
* Freq auto tune enable/disable ( applicable only to freq_hop mode)
|
|
* If configured as 1, Freq auto tune will be enabled
|
|
* If configured as 0, Freq auto tune will be disabled
|
|
*/
|
|
#define DEF_SELFCAP_FREQ_AUTO_TUNE_ENABLE (0u)
|
|
|
|
/**
|
|
* Stability limit is the variance in sensor signal value under noisy environment.
|
|
* A signal stability limit level is set to auto tune acquisition frequency on noise presence.
|
|
* It is recommended to keep this setting close to the lowest sensor detect threshold of the system
|
|
* and tune it further based on the noise.
|
|
* Range: 1 to 1000
|
|
*/
|
|
#define DEF_SELFCAP_FREQ_AUTO_TUNE_SIGNAL_STABILITY_LIMIT 10u
|
|
|
|
/**
|
|
* Frequency Auto tune-in count
|
|
* If the channel signal is noisy for a count value higher than the max count
|
|
*defined by user,
|
|
* system will trigger auto tune
|
|
* Range: 1 to 255
|
|
* Note : this appies only for FREQ_MODE_HOP
|
|
*/
|
|
#define DEF_SELFCAP_FREQ_AUTO_TUNE_IN_CNT 12
|
|
|
|
/* ! @} */
|
|
|
|
/*----------------------------------------------------------------------------
|
|
* Self Cap Callback functions.
|
|
*
|
|
*
|
|
*----------------------------------------------------------------------------*/
|
|
|
|
/*! \name Self Cap Callback functions.
|
|
*/
|
|
/* ! @{ */
|
|
|
|
/**
|
|
* Self Cap Filter callback function.
|
|
* A filter callback (when not NULL) is called by the Touch Library each time
|
|
* a new set of Signal values are available.
|
|
* An Example filter callback function prototype.
|
|
* void touch_filter_callback( touch_filter_data_t *p_filter_data );
|
|
*/
|
|
#define DEF_SELFCAP_FILTER_CALLBACK (NULL)
|
|
|
|
/**
|
|
* Touch Application Error Handler Enable or Disable; while(1) is used to trap errors when it is enabled
|
|
* If configured as 1, Touch Application Error Handler will be enabled
|
|
* If configured as 0, Touch Application Error Handler will be disabled
|
|
* Default: Touch Application Error Handler will be disabled
|
|
*/
|
|
#define DEF_TOUCH_APP_ERR_HANDLER 0
|
|
|
|
|
|
/* ! @} */
|
|
|
|
/*----------------------------------------------------------------------------
|
|
* QDebug debug communication parameters.
|
|
*
|
|
*
|
|
*----------------------------------------------------------------------------*/
|
|
|
|
/*! \name QDebug debug communication parameters.
|
|
*/
|
|
/* ! @{ */
|
|
|
|
#define DEF_TOUCH_QDEBUG_ENABLE_SELFCAP
|
|
|
|
#define DEF_TOUCH_QDEBUG_ENABLE 0u
|
|
|
|
|
|
/* ! @} */
|
|
|
|
#endif /* TOUCH_CONFIG_SAMD_H */
|