atmel-samd: Clean up leftovers from QTouch.
This commit is contained in:
parent
4ad22144b0
commit
30b8091df0
|
@ -1,613 +0,0 @@
|
|||
/* 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 */
|
|
@ -1,613 +0,0 @@
|
|||
/* 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(0),Y(2),Y(3),Y(8),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 (6) //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 (6) //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
|
||||
|
||||
/*
|
||||
* 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
|
||||
|
||||
/**
|
||||
* 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
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
* 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
|
||||
|
||||
/**
|
||||
* 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 RSEL_VAL_0,RSEL_VAL_0,RSEL_VAL_0,RSEL_VAL_0,RSEL_VAL_0,RSEL_VAL_0
|
||||
|
||||
/**
|
||||
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 */
|
Loading…
Reference in New Issue