From 4ad22144b0447e047bfe0c2377f51055f77bcabc Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Mon, 1 May 2017 11:29:51 -0700 Subject: [PATCH] atmel-samd: Rename metro M0 Express and add NEOPIXEL pin. --- .../conf_access.h | 0 .../conf_board.h | 0 .../conf_clocks.h | 0 .../conf_usb.h | 0 .../init.c | 0 .../mpconfigboard.h | 16 +- .../mpconfigboard.mk | 0 .../pins.c | 1 + atmel-samd/boards/metro_m0_flash/touch.h | 613 ------------------ tools/build_adafruit_bins.sh | 2 +- 10 files changed, 3 insertions(+), 629 deletions(-) rename atmel-samd/boards/{metro_m0_flash => metro_m0_express}/conf_access.h (100%) rename atmel-samd/boards/{metro_m0_flash => metro_m0_express}/conf_board.h (100%) rename atmel-samd/boards/{metro_m0_flash => metro_m0_express}/conf_clocks.h (100%) rename atmel-samd/boards/{metro_m0_flash => metro_m0_express}/conf_usb.h (100%) rename atmel-samd/boards/{metro_m0_flash => metro_m0_express}/init.c (100%) rename atmel-samd/boards/{metro_m0_flash => metro_m0_express}/mpconfigboard.h (55%) rename atmel-samd/boards/{metro_m0_flash => metro_m0_express}/mpconfigboard.mk (100%) rename atmel-samd/boards/{metro_m0_flash => metro_m0_express}/pins.c (96%) delete mode 100644 atmel-samd/boards/metro_m0_flash/touch.h diff --git a/atmel-samd/boards/metro_m0_flash/conf_access.h b/atmel-samd/boards/metro_m0_express/conf_access.h similarity index 100% rename from atmel-samd/boards/metro_m0_flash/conf_access.h rename to atmel-samd/boards/metro_m0_express/conf_access.h diff --git a/atmel-samd/boards/metro_m0_flash/conf_board.h b/atmel-samd/boards/metro_m0_express/conf_board.h similarity index 100% rename from atmel-samd/boards/metro_m0_flash/conf_board.h rename to atmel-samd/boards/metro_m0_express/conf_board.h diff --git a/atmel-samd/boards/metro_m0_flash/conf_clocks.h b/atmel-samd/boards/metro_m0_express/conf_clocks.h similarity index 100% rename from atmel-samd/boards/metro_m0_flash/conf_clocks.h rename to atmel-samd/boards/metro_m0_express/conf_clocks.h diff --git a/atmel-samd/boards/metro_m0_flash/conf_usb.h b/atmel-samd/boards/metro_m0_express/conf_usb.h similarity index 100% rename from atmel-samd/boards/metro_m0_flash/conf_usb.h rename to atmel-samd/boards/metro_m0_express/conf_usb.h diff --git a/atmel-samd/boards/metro_m0_flash/init.c b/atmel-samd/boards/metro_m0_express/init.c similarity index 100% rename from atmel-samd/boards/metro_m0_flash/init.c rename to atmel-samd/boards/metro_m0_express/init.c diff --git a/atmel-samd/boards/metro_m0_flash/mpconfigboard.h b/atmel-samd/boards/metro_m0_express/mpconfigboard.h similarity index 55% rename from atmel-samd/boards/metro_m0_flash/mpconfigboard.h rename to atmel-samd/boards/metro_m0_express/mpconfigboard.h index b25596d1d7..c7a53bcdb8 100644 --- a/atmel-samd/boards/metro_m0_flash/mpconfigboard.h +++ b/atmel-samd/boards/metro_m0_express/mpconfigboard.h @@ -1,6 +1,6 @@ #define USB_REPL -#define MICROPY_HW_BOARD_NAME "Adafruit Metro M0 with Flash (Experimental)" +#define MICROPY_HW_BOARD_NAME "Adafruit Metro M0 Express" #define MICROPY_HW_MCU_NAME "samd21g18" #define MICROPY_HW_LED_TX PIN_PA27 @@ -10,20 +10,6 @@ #define SPI_FLASH_BAUDRATE (1000000) -// Rev E -// #define SPI_FLASH_MUX_SETTING SPI_SIGNAL_MUX_SETTING_E -// #define SPI_FLASH_PAD0_PINMUX PINMUX_PA12D_SERCOM4_PAD0 // MISO -// // Use default pinmux for the chip select since we manage it ourselves. -// #define SPI_FLASH_PAD1_PINMUX PINMUX_DEFAULT // CS -// #define SPI_FLASH_PAD2_PINMUX PINMUX_PB10D_SERCOM4_PAD2 // MOSI -// #define SPI_FLASH_PAD3_PINMUX PINMUX_PB11D_SERCOM4_PAD3 // SCK -// #define SPI_FLASH_CS PIN_PA13 -// #define SPI_FLASH_SERCOM SERCOM4 -// -// #define MICROPY_PORT_A (PORT_PA12 | PORT_PA13 |PORT_PA24 | PORT_PA25 | PORT_PA27 | PORT_PA30) -// #define MICROPY_PORT_B (PORT_PB03 | PORT_PB10 | PORT_PB11) - -// Rev F #define SPI_FLASH_MUX_SETTING SPI_SIGNAL_MUX_SETTING_F #define SPI_FLASH_PAD0_PINMUX PINMUX_DEFAULT // CS // Use default pinmux for the chip select since we manage it ourselves. diff --git a/atmel-samd/boards/metro_m0_flash/mpconfigboard.mk b/atmel-samd/boards/metro_m0_express/mpconfigboard.mk similarity index 100% rename from atmel-samd/boards/metro_m0_flash/mpconfigboard.mk rename to atmel-samd/boards/metro_m0_express/mpconfigboard.mk diff --git a/atmel-samd/boards/metro_m0_flash/pins.c b/atmel-samd/boards/metro_m0_express/pins.c similarity index 96% rename from atmel-samd/boards/metro_m0_flash/pins.c rename to atmel-samd/boards/metro_m0_express/pins.c index baef1f8536..4635ca8f15 100644 --- a/atmel-samd/boards/metro_m0_flash/pins.c +++ b/atmel-samd/boards/metro_m0_express/pins.c @@ -25,6 +25,7 @@ STATIC const mp_map_elem_t board_global_dict_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR_D13), (mp_obj_t)&pin_PA17 }, { MP_OBJ_NEW_QSTR(MP_QSTR_SDA), (mp_obj_t)&pin_PA22 }, { MP_OBJ_NEW_QSTR(MP_QSTR_SCL), (mp_obj_t)&pin_PA23 }, + { MP_OBJ_NEW_QSTR(MP_QSTR_NEOPIXEL), (mp_obj_t)&pin_PA30 }, { MP_OBJ_NEW_QSTR(MP_QSTR_FLASH_SCK), (mp_obj_t)&pin_PB11 }, { MP_OBJ_NEW_QSTR(MP_QSTR_FLASH_MOSI), (mp_obj_t)&pin_PB10 }, { MP_OBJ_NEW_QSTR(MP_QSTR_FLASH_MISO), (mp_obj_t)&pin_PA12 }, diff --git a/atmel-samd/boards/metro_m0_flash/touch.h b/atmel-samd/boards/metro_m0_flash/touch.h deleted file mode 100644 index 5d194ea66b..0000000000 --- a/atmel-samd/boards/metro_m0_flash/touch.h +++ /dev/null @@ -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(4),Y(5),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 (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 */ diff --git a/tools/build_adafruit_bins.sh b/tools/build_adafruit_bins.sh index fb831935bb..82eb45f011 100755 --- a/tools/build_adafruit_bins.sh +++ b/tools/build_adafruit_bins.sh @@ -1,7 +1,7 @@ rm -rf atmel-samd/build* rm -rf esp8266/build* -ATMEL_BOARDS="arduino_zero circuitplayground_express feather_m0_basic feather_m0_adalogger feather_m0_express metro_m0_flash trinket_m0 gemma_m0" +ATMEL_BOARDS="arduino_zero circuitplayground_express feather_m0_basic feather_m0_adalogger feather_m0_express metro_m0_express trinket_m0 gemma_m0" for board in $ATMEL_BOARDS; do make -C atmel-samd BOARD=$board