The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
Anna Bridge
Date:
Wed May 10 11:31:27 2017 +0100
Revision:
142:4eea097334d6
Child:
159:7130f322cb7e
Release 142 of the mbed library

Ports for Upcoming Targets


Fixes and Changes

4059: [Silicon Labs] Rename targets https://github.com/ARMmbed/mbed-os/pull/4059
4187: [NCS36510] Reduce default heap size allocated by IAR to 1/4 of RAM https://github.com/ARMmbed/mbed-os/pull/4187
4225: fixed missing device_name for xDot and removed progen https://github.com/ARMmbed/mbed-os/pull/4225
4251: Fix C++11 build error w/ u-blox EVK-ODIN-W2 https://github.com/ARMmbed/mbed-os/pull/4251
4236: STM32 Fixed warning related to __packed redefinition https://github.com/ARMmbed/mbed-os/pull/4236
4190: LPC4088: Enable LWIP feature https://github.com/ARMmbed/mbed-os/pull/4190
4260: Inherit Xadow M0 target from LPC11U35_501 https://github.com/ARMmbed/mbed-os/pull/4260
4249: Add consistent button names across targets https://github.com/ARMmbed/mbed-os/pull/4249

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Anna Bridge 142:4eea097334d6 1 /***************************************************************************//**
Anna Bridge 142:4eea097334d6 2 * @file em_csen.h
Anna Bridge 142:4eea097334d6 3 * @brief Capacitive Sense Module (CSEN) peripheral API
Anna Bridge 142:4eea097334d6 4 * @version 5.1.2
Anna Bridge 142:4eea097334d6 5 *******************************************************************************
Anna Bridge 142:4eea097334d6 6 * @section License
Anna Bridge 142:4eea097334d6 7 * <b>Copyright 2016 Silicon Laboratories, Inc. http://www.silabs.com</b>
Anna Bridge 142:4eea097334d6 8 *******************************************************************************
Anna Bridge 142:4eea097334d6 9 *
Anna Bridge 142:4eea097334d6 10 * Permission is granted to anyone to use this software for any purpose,
Anna Bridge 142:4eea097334d6 11 * including commercial applications, and to alter it and redistribute it
Anna Bridge 142:4eea097334d6 12 * freely, subject to the following restrictions:
Anna Bridge 142:4eea097334d6 13 *
Anna Bridge 142:4eea097334d6 14 * 1. The origin of this software must not be misrepresented; you must not
Anna Bridge 142:4eea097334d6 15 * claim that you wrote the original software.
Anna Bridge 142:4eea097334d6 16 * 2. Altered source versions must be plainly marked as such, and must not be
Anna Bridge 142:4eea097334d6 17 * misrepresented as being the original software.
Anna Bridge 142:4eea097334d6 18 * 3. This notice may not be removed or altered from any source distribution.
Anna Bridge 142:4eea097334d6 19 *
Anna Bridge 142:4eea097334d6 20 * DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Silicon Labs has no
Anna Bridge 142:4eea097334d6 21 * obligation to support this Software. Silicon Labs is providing the
Anna Bridge 142:4eea097334d6 22 * Software "AS IS", with no express or implied warranties of any kind,
Anna Bridge 142:4eea097334d6 23 * including, but not limited to, any implied warranties of merchantability
Anna Bridge 142:4eea097334d6 24 * or fitness for any particular purpose or warranties against infringement
Anna Bridge 142:4eea097334d6 25 * of any proprietary rights of a third party.
Anna Bridge 142:4eea097334d6 26 *
Anna Bridge 142:4eea097334d6 27 * Silicon Labs will not be liable for any consequential, incidental, or
Anna Bridge 142:4eea097334d6 28 * special damages, or any other relief, or for any claim by any third party,
Anna Bridge 142:4eea097334d6 29 * arising from your use of this Software.
Anna Bridge 142:4eea097334d6 30 *
Anna Bridge 142:4eea097334d6 31 ******************************************************************************/
Anna Bridge 142:4eea097334d6 32
Anna Bridge 142:4eea097334d6 33 #ifndef EM_CSEN_H
Anna Bridge 142:4eea097334d6 34 #define EM_CSEN_H
Anna Bridge 142:4eea097334d6 35
Anna Bridge 142:4eea097334d6 36 #include "em_device.h"
Anna Bridge 142:4eea097334d6 37 #if defined( CSEN_COUNT ) && ( CSEN_COUNT > 0 )
Anna Bridge 142:4eea097334d6 38
Anna Bridge 142:4eea097334d6 39 #include <stdbool.h>
Anna Bridge 142:4eea097334d6 40 #include "em_bus.h"
Anna Bridge 142:4eea097334d6 41
Anna Bridge 142:4eea097334d6 42 #ifdef __cplusplus
Anna Bridge 142:4eea097334d6 43 extern "C" {
Anna Bridge 142:4eea097334d6 44 #endif
Anna Bridge 142:4eea097334d6 45
Anna Bridge 142:4eea097334d6 46 /***************************************************************************//**
Anna Bridge 142:4eea097334d6 47 * @addtogroup emlib
Anna Bridge 142:4eea097334d6 48 * @{
Anna Bridge 142:4eea097334d6 49 ******************************************************************************/
Anna Bridge 142:4eea097334d6 50
Anna Bridge 142:4eea097334d6 51 /***************************************************************************//**
Anna Bridge 142:4eea097334d6 52 * @addtogroup CSEN
Anna Bridge 142:4eea097334d6 53 * @brief Capacitive Sense (CSEN) Peripheral API
Anna Bridge 142:4eea097334d6 54 *
Anna Bridge 142:4eea097334d6 55 * @details
Anna Bridge 142:4eea097334d6 56 * This module provides functions for controlling the capacitive sense
Anna Bridge 142:4eea097334d6 57 * peripheral of Silicon Labs 32-bit MCUs and SoCs. The CSEN includes a
Anna Bridge 142:4eea097334d6 58 * capacitance-to-digital circuit that measures capacitance on selected
Anna Bridge 142:4eea097334d6 59 * inputs. Measurements are performed using either a successive approximation
Anna Bridge 142:4eea097334d6 60 * register (SAR) or a delta modulator (DM) analog to digital converter.
Anna Bridge 142:4eea097334d6 61 *
Anna Bridge 142:4eea097334d6 62 * The CSEN can be configured to measure capacitance on a single port pin
Anna Bridge 142:4eea097334d6 63 * or to automatically measure multiple port pins in succession using scan
Anna Bridge 142:4eea097334d6 64 * mode. Also several port pins can be shorted together to measure the
Anna Bridge 142:4eea097334d6 65 * combined capacitance.
Anna Bridge 142:4eea097334d6 66 *
Anna Bridge 142:4eea097334d6 67 * The CSEN includes an accumulator which can be configured to average
Anna Bridge 142:4eea097334d6 68 * multiple conversions on the selected input. Additionally, an exponential
Anna Bridge 142:4eea097334d6 69 * moving average (EMA) calculator is included to provide data smoothing.
Anna Bridge 142:4eea097334d6 70 * A comparator is also included and can be used to terminate a continuous
Anna Bridge 142:4eea097334d6 71 * conversion when the configured threshold condition is met.
Anna Bridge 142:4eea097334d6 72 *
Anna Bridge 142:4eea097334d6 73 * The following example shows how to intialize and start a single
Anna Bridge 142:4eea097334d6 74 * conversion on one input:
Anna Bridge 142:4eea097334d6 75 *
Anna Bridge 142:4eea097334d6 76 * @include em_csen_single.c
Anna Bridge 142:4eea097334d6 77 *
Anna Bridge 142:4eea097334d6 78 * @{
Anna Bridge 142:4eea097334d6 79 ******************************************************************************/
Anna Bridge 142:4eea097334d6 80
Anna Bridge 142:4eea097334d6 81 /*******************************************************************************
Anna Bridge 142:4eea097334d6 82 ******************************** ENUMS ************************************
Anna Bridge 142:4eea097334d6 83 ******************************************************************************/
Anna Bridge 142:4eea097334d6 84
Anna Bridge 142:4eea097334d6 85 /** Comparator Mode. Selects the operation of the digital comparator. */
Anna Bridge 142:4eea097334d6 86 typedef enum
Anna Bridge 142:4eea097334d6 87 {
Anna Bridge 142:4eea097334d6 88 /** Comparator is disabled. */
Anna Bridge 142:4eea097334d6 89 csenCmpModeDisabled = 0,
Anna Bridge 142:4eea097334d6 90
Anna Bridge 142:4eea097334d6 91 /** Comparator trips when the result is greater than the threshold. */
Anna Bridge 142:4eea097334d6 92 csenCmpModeGreater = CSEN_CTRL_CMPEN | CSEN_CTRL_CMPPOL_GT,
Anna Bridge 142:4eea097334d6 93
Anna Bridge 142:4eea097334d6 94 /** Comparator trips when the result is less or equal to the threshold. */
Anna Bridge 142:4eea097334d6 95 csenCmpModeLessOrEqual = CSEN_CTRL_CMPEN | CSEN_CTRL_CMPPOL_LTE,
Anna Bridge 142:4eea097334d6 96
Anna Bridge 142:4eea097334d6 97 /** Comparator trips when the EMA is within the threshold window. */
Anna Bridge 142:4eea097334d6 98 csenCmpModeEMAWindow = CSEN_CTRL_EMACMPEN,
Anna Bridge 142:4eea097334d6 99 } CSEN_CmpMode_TypeDef;
Anna Bridge 142:4eea097334d6 100
Anna Bridge 142:4eea097334d6 101
Anna Bridge 142:4eea097334d6 102 /** Converter Select. Determines the converter operational mode. */
Anna Bridge 142:4eea097334d6 103 typedef enum
Anna Bridge 142:4eea097334d6 104 {
Anna Bridge 142:4eea097334d6 105 /** Successive Approximation (SAR) converter. */
Anna Bridge 142:4eea097334d6 106 csenConvSelSAR = CSEN_CTRL_CONVSEL_SAR,
Anna Bridge 142:4eea097334d6 107
Anna Bridge 142:4eea097334d6 108 /** Successive Approximation (SAR) converter with low freq attenuation. */
Anna Bridge 142:4eea097334d6 109 csenConvSelSARChop = CSEN_CTRL_CONVSEL_SAR | CSEN_CTRL_CHOPEN_ENABLE,
Anna Bridge 142:4eea097334d6 110
Anna Bridge 142:4eea097334d6 111 /** Delta Modulation (DM) converter. */
Anna Bridge 142:4eea097334d6 112 csenConvSelDM = CSEN_CTRL_CONVSEL_DM,
Anna Bridge 142:4eea097334d6 113
Anna Bridge 142:4eea097334d6 114 /** Delta Modulation (DM) converter with low frequency attenuation. */
Anna Bridge 142:4eea097334d6 115 csenConvSelDMChop = CSEN_CTRL_CONVSEL_DM | CSEN_CTRL_CHOPEN_ENABLE,
Anna Bridge 142:4eea097334d6 116 } CSEN_ConvSel_TypeDef;
Anna Bridge 142:4eea097334d6 117
Anna Bridge 142:4eea097334d6 118
Anna Bridge 142:4eea097334d6 119 /** Sample Mode. Determines how inputs are sampled for a conversion. */
Anna Bridge 142:4eea097334d6 120 typedef enum
Anna Bridge 142:4eea097334d6 121 {
Anna Bridge 142:4eea097334d6 122 /** Convert multiple inputs shorted together and stop. */
Anna Bridge 142:4eea097334d6 123 csenSampleModeBonded = CSEN_CTRL_CM_SGL | CSEN_CTRL_MCEN_ENABLE,
Anna Bridge 142:4eea097334d6 124
Anna Bridge 142:4eea097334d6 125 /** Convert one input and stop. */
Anna Bridge 142:4eea097334d6 126 csenSampleModeSingle = CSEN_CTRL_CM_SGL,
Anna Bridge 142:4eea097334d6 127
Anna Bridge 142:4eea097334d6 128 /** Convert multiple inputs one at a time and stop. */
Anna Bridge 142:4eea097334d6 129 csenSampleModeScan = CSEN_CTRL_CM_SCAN,
Anna Bridge 142:4eea097334d6 130
Anna Bridge 142:4eea097334d6 131 /** Continuously convert multiple inputs shorted together. */
Anna Bridge 142:4eea097334d6 132 csenSampleModeContBonded = CSEN_CTRL_CM_CONTSGL | CSEN_CTRL_MCEN_ENABLE,
Anna Bridge 142:4eea097334d6 133
Anna Bridge 142:4eea097334d6 134 /** Continuously convert one input. */
Anna Bridge 142:4eea097334d6 135 csenSampleModeContSingle = CSEN_CTRL_CM_CONTSGL,
Anna Bridge 142:4eea097334d6 136
Anna Bridge 142:4eea097334d6 137 /** Continuously convert multiple inputs one at a time. */
Anna Bridge 142:4eea097334d6 138 csenSampleModeContScan = CSEN_CTRL_CM_CONTSCAN,
Anna Bridge 142:4eea097334d6 139 } CSEN_SampleMode_TypeDef;
Anna Bridge 142:4eea097334d6 140
Anna Bridge 142:4eea097334d6 141
Anna Bridge 142:4eea097334d6 142 /** Start Trigger Select. */
Anna Bridge 142:4eea097334d6 143 typedef enum
Anna Bridge 142:4eea097334d6 144 {
Anna Bridge 142:4eea097334d6 145 csenTrigSelPRS = _CSEN_CTRL_STM_PRS, /**< PRS system. */
Anna Bridge 142:4eea097334d6 146 csenTrigSelTimer = _CSEN_CTRL_STM_TIMER, /**< CSEN PC timer. */
Anna Bridge 142:4eea097334d6 147 csenTrigSelStart = _CSEN_CTRL_STM_START, /**< Start bit. */
Anna Bridge 142:4eea097334d6 148 } CSEN_TrigSel_TypeDef;
Anna Bridge 142:4eea097334d6 149
Anna Bridge 142:4eea097334d6 150
Anna Bridge 142:4eea097334d6 151 /** Accumulator Mode Select. */
Anna Bridge 142:4eea097334d6 152 typedef enum
Anna Bridge 142:4eea097334d6 153 {
Anna Bridge 142:4eea097334d6 154 csenAccMode1 = _CSEN_CTRL_ACU_ACC1, /**< Accumulate 1 sample. */
Anna Bridge 142:4eea097334d6 155 csenAccMode2 = _CSEN_CTRL_ACU_ACC2, /**< Accumulate 2 samples. */
Anna Bridge 142:4eea097334d6 156 csenAccMode4 = _CSEN_CTRL_ACU_ACC4, /**< Accumulate 4 samples. */
Anna Bridge 142:4eea097334d6 157 csenAccMode8 = _CSEN_CTRL_ACU_ACC8, /**< Accumulate 8 samples. */
Anna Bridge 142:4eea097334d6 158 csenAccMode16 = _CSEN_CTRL_ACU_ACC16, /**< Accumulate 16 samples. */
Anna Bridge 142:4eea097334d6 159 csenAccMode32 = _CSEN_CTRL_ACU_ACC32, /**< Accumulate 32 samples. */
Anna Bridge 142:4eea097334d6 160 csenAccMode64 = _CSEN_CTRL_ACU_ACC64, /**< Accumulate 64 samples. */
Anna Bridge 142:4eea097334d6 161 } CSEN_AccMode_TypeDef;
Anna Bridge 142:4eea097334d6 162
Anna Bridge 142:4eea097334d6 163
Anna Bridge 142:4eea097334d6 164 /** Successive Approximation (SAR) Conversion Resolution. */
Anna Bridge 142:4eea097334d6 165 typedef enum
Anna Bridge 142:4eea097334d6 166 {
Anna Bridge 142:4eea097334d6 167 csenSARRes10 = _CSEN_CTRL_SARCR_CLK10, /**< 10-bit resolution. */
Anna Bridge 142:4eea097334d6 168 csenSARRes12 = _CSEN_CTRL_SARCR_CLK12, /**< 12-bit resolution. */
Anna Bridge 142:4eea097334d6 169 csenSARRes14 = _CSEN_CTRL_SARCR_CLK14, /**< 14-bit resolution. */
Anna Bridge 142:4eea097334d6 170 csenSARRes16 = _CSEN_CTRL_SARCR_CLK16, /**< 16-bit resolution. */
Anna Bridge 142:4eea097334d6 171 } CSEN_SARRes_TypeDef;
Anna Bridge 142:4eea097334d6 172
Anna Bridge 142:4eea097334d6 173
Anna Bridge 142:4eea097334d6 174 /** Delta Modulator (DM) Conversion Resolution. */
Anna Bridge 142:4eea097334d6 175 typedef enum
Anna Bridge 142:4eea097334d6 176 {
Anna Bridge 142:4eea097334d6 177 csenDMRes10 = _CSEN_DMCFG_CRMODE_DM10, /**< 10-bit resolution. */
Anna Bridge 142:4eea097334d6 178 csenDMRes12 = _CSEN_DMCFG_CRMODE_DM12, /**< 12-bit resolution. */
Anna Bridge 142:4eea097334d6 179 csenDMRes14 = _CSEN_DMCFG_CRMODE_DM14, /**< 14-bit resolution. */
Anna Bridge 142:4eea097334d6 180 csenDMRes16 = _CSEN_DMCFG_CRMODE_DM16, /**< 16-bit resolution. */
Anna Bridge 142:4eea097334d6 181 } CSEN_DMRes_TypeDef;
Anna Bridge 142:4eea097334d6 182
Anna Bridge 142:4eea097334d6 183
Anna Bridge 142:4eea097334d6 184 /** Period counter clock pre-scaler. See the reference manual for source clock
Anna Bridge 142:4eea097334d6 185 * information. */
Anna Bridge 142:4eea097334d6 186 typedef enum
Anna Bridge 142:4eea097334d6 187 {
Anna Bridge 142:4eea097334d6 188 csenPCPrescaleDiv1 = _CSEN_TIMCTRL_PCPRESC_DIV1, /**< Divide by 1. */
Anna Bridge 142:4eea097334d6 189 csenPCPrescaleDiv2 = _CSEN_TIMCTRL_PCPRESC_DIV2, /**< Divide by 2. */
Anna Bridge 142:4eea097334d6 190 csenPCPrescaleDiv4 = _CSEN_TIMCTRL_PCPRESC_DIV4, /**< Divide by 4. */
Anna Bridge 142:4eea097334d6 191 csenPCPrescaleDiv8 = _CSEN_TIMCTRL_PCPRESC_DIV8, /**< Divide by 8. */
Anna Bridge 142:4eea097334d6 192 csenPCPrescaleDiv16 = _CSEN_TIMCTRL_PCPRESC_DIV16, /**< Divide by 16. */
Anna Bridge 142:4eea097334d6 193 csenPCPrescaleDiv32 = _CSEN_TIMCTRL_PCPRESC_DIV32, /**< Divide by 32. */
Anna Bridge 142:4eea097334d6 194 csenPCPrescaleDiv64 = _CSEN_TIMCTRL_PCPRESC_DIV64, /**< Divide by 64. */
Anna Bridge 142:4eea097334d6 195 csenPCPrescaleDiv128 = _CSEN_TIMCTRL_PCPRESC_DIV128, /**< Divide by 128. */
Anna Bridge 142:4eea097334d6 196 } CSEN_PCPrescale_TypeDef;
Anna Bridge 142:4eea097334d6 197
Anna Bridge 142:4eea097334d6 198
Anna Bridge 142:4eea097334d6 199 /** Exponential Moving Average sample weight. */
Anna Bridge 142:4eea097334d6 200 typedef enum
Anna Bridge 142:4eea097334d6 201 {
Anna Bridge 142:4eea097334d6 202 csenEMASampleW1 = _CSEN_EMACTRL_EMASAMPLE_W1, /**< Weight 1. */
Anna Bridge 142:4eea097334d6 203 csenEMASampleW2 = _CSEN_EMACTRL_EMASAMPLE_W2, /**< Weight 2. */
Anna Bridge 142:4eea097334d6 204 csenEMASampleW4 = _CSEN_EMACTRL_EMASAMPLE_W4, /**< Weight 4. */
Anna Bridge 142:4eea097334d6 205 csenEMASampleW8 = _CSEN_EMACTRL_EMASAMPLE_W8, /**< Weight 8. */
Anna Bridge 142:4eea097334d6 206 csenEMASampleW16 = _CSEN_EMACTRL_EMASAMPLE_W16, /**< Weight 16. */
Anna Bridge 142:4eea097334d6 207 csenEMASampleW32 = _CSEN_EMACTRL_EMASAMPLE_W32, /**< Weight 32. */
Anna Bridge 142:4eea097334d6 208 csenEMASampleW64 = _CSEN_EMACTRL_EMASAMPLE_W64, /**< Weight 64. */
Anna Bridge 142:4eea097334d6 209 } CSEN_EMASample_TypeDef;
Anna Bridge 142:4eea097334d6 210
Anna Bridge 142:4eea097334d6 211
Anna Bridge 142:4eea097334d6 212 /** Reset Phase Timing Select (units are microseconds). */
Anna Bridge 142:4eea097334d6 213 typedef enum
Anna Bridge 142:4eea097334d6 214 {
Anna Bridge 142:4eea097334d6 215 csenResetPhaseSel0 = 0, /**< Reset phase time = 0.75 usec. */
Anna Bridge 142:4eea097334d6 216 csenResetPhaseSel1 = 1, /**< Reset phase time = 1.00 usec. */
Anna Bridge 142:4eea097334d6 217 csenResetPhaseSel2 = 2, /**< Reset phase time = 1.20 usec. */
Anna Bridge 142:4eea097334d6 218 csenResetPhaseSel3 = 3, /**< Reset phase time = 1.50 usec. */
Anna Bridge 142:4eea097334d6 219 csenResetPhaseSel4 = 4, /**< Reset phase time = 2.00 usec. */
Anna Bridge 142:4eea097334d6 220 csenResetPhaseSel5 = 5, /**< Reset phase time = 3.00 usec. */
Anna Bridge 142:4eea097334d6 221 csenResetPhaseSel6 = 6, /**< Reset phase time = 6.00 usec. */
Anna Bridge 142:4eea097334d6 222 csenResetPhaseSel7 = 7, /**< Reset phase time = 12.0 usec. */
Anna Bridge 142:4eea097334d6 223 } CSEN_ResetPhaseSel_TypeDef;
Anna Bridge 142:4eea097334d6 224
Anna Bridge 142:4eea097334d6 225
Anna Bridge 142:4eea097334d6 226 /** Drive Strength Select. Scales the output current. */
Anna Bridge 142:4eea097334d6 227 typedef enum
Anna Bridge 142:4eea097334d6 228 {
Anna Bridge 142:4eea097334d6 229 csenDriveSelFull = 0, /**< Drive strength = fully on. */
Anna Bridge 142:4eea097334d6 230 csenDriveSel1 = 1, /**< Drive strength = 1/8 full scale. */
Anna Bridge 142:4eea097334d6 231 csenDriveSel2 = 2, /**< Drive strength = 1/4 full scale. */
Anna Bridge 142:4eea097334d6 232 csenDriveSel3 = 3, /**< Drive strength = 3/8 full scale. */
Anna Bridge 142:4eea097334d6 233 csenDriveSel4 = 4, /**< Drive strength = 1/2 full scale. */
Anna Bridge 142:4eea097334d6 234 csenDriveSel5 = 5, /**< Drive strength = 5/8 full scale. */
Anna Bridge 142:4eea097334d6 235 csenDriveSel6 = 6, /**< Drive strength = 3/4 full scale. */
Anna Bridge 142:4eea097334d6 236 csenDriveSel7 = 7, /**< Drive strength = 7/8 full scale. */
Anna Bridge 142:4eea097334d6 237 } CSEN_DriveSel_TypeDef;
Anna Bridge 142:4eea097334d6 238
Anna Bridge 142:4eea097334d6 239
Anna Bridge 142:4eea097334d6 240 /** Gain Select. See reference manual for information on each setting. */
Anna Bridge 142:4eea097334d6 241 typedef enum
Anna Bridge 142:4eea097334d6 242 {
Anna Bridge 142:4eea097334d6 243 csenGainSel1X = 0, /**< Gain = 1x. */
Anna Bridge 142:4eea097334d6 244 csenGainSel2X = 1, /**< Gain = 2x. */
Anna Bridge 142:4eea097334d6 245 csenGainSel3X = 2, /**< Gain = 3x. */
Anna Bridge 142:4eea097334d6 246 csenGainSel4X = 3, /**< Gain = 4x. */
Anna Bridge 142:4eea097334d6 247 csenGainSel5X = 4, /**< Gain = 5x. */
Anna Bridge 142:4eea097334d6 248 csenGainSel6X = 5, /**< Gain = 6x. */
Anna Bridge 142:4eea097334d6 249 csenGainSel7X = 6, /**< Gain = 7x. */
Anna Bridge 142:4eea097334d6 250 csenGainSel8X = 7, /**< Gain = 8x. */
Anna Bridge 142:4eea097334d6 251 } CSEN_GainSel_TypeDef;
Anna Bridge 142:4eea097334d6 252
Anna Bridge 142:4eea097334d6 253
Anna Bridge 142:4eea097334d6 254 /** Peripheral Reflex System signal used to trigger conversion. */
Anna Bridge 142:4eea097334d6 255 typedef enum
Anna Bridge 142:4eea097334d6 256 {
Anna Bridge 142:4eea097334d6 257 csenPRSSELCh0 = _CSEN_PRSSEL_PRSSEL_PRSCH0, /**< PRS channel 0. */
Anna Bridge 142:4eea097334d6 258 csenPRSSELCh1 = _CSEN_PRSSEL_PRSSEL_PRSCH1, /**< PRS channel 1. */
Anna Bridge 142:4eea097334d6 259 csenPRSSELCh2 = _CSEN_PRSSEL_PRSSEL_PRSCH2, /**< PRS channel 2. */
Anna Bridge 142:4eea097334d6 260 csenPRSSELCh3 = _CSEN_PRSSEL_PRSSEL_PRSCH3, /**< PRS channel 3. */
Anna Bridge 142:4eea097334d6 261 csenPRSSELCh4 = _CSEN_PRSSEL_PRSSEL_PRSCH4, /**< PRS channel 4. */
Anna Bridge 142:4eea097334d6 262 csenPRSSELCh5 = _CSEN_PRSSEL_PRSSEL_PRSCH5, /**< PRS channel 5. */
Anna Bridge 142:4eea097334d6 263 csenPRSSELCh6 = _CSEN_PRSSEL_PRSSEL_PRSCH6, /**< PRS channel 6. */
Anna Bridge 142:4eea097334d6 264 csenPRSSELCh7 = _CSEN_PRSSEL_PRSSEL_PRSCH7, /**< PRS channel 7. */
Anna Bridge 142:4eea097334d6 265 csenPRSSELCh8 = _CSEN_PRSSEL_PRSSEL_PRSCH8, /**< PRS channel 8. */
Anna Bridge 142:4eea097334d6 266 csenPRSSELCh9 = _CSEN_PRSSEL_PRSSEL_PRSCH9, /**< PRS channel 9. */
Anna Bridge 142:4eea097334d6 267 csenPRSSELCh10 = _CSEN_PRSSEL_PRSSEL_PRSCH10, /**< PRS channel 10. */
Anna Bridge 142:4eea097334d6 268 csenPRSSELCh11 = _CSEN_PRSSEL_PRSSEL_PRSCH11, /**< PRS channel 11. */
Anna Bridge 142:4eea097334d6 269 } CSEN_PRSSel_TypeDef;
Anna Bridge 142:4eea097334d6 270
Anna Bridge 142:4eea097334d6 271
Anna Bridge 142:4eea097334d6 272 /** APORT channel to CSEN input selection. */
Anna Bridge 142:4eea097334d6 273 typedef enum
Anna Bridge 142:4eea097334d6 274 {
Anna Bridge 142:4eea097334d6 275 csenInputSelDefault = _CSEN_SCANINPUTSEL0_INPUT0TO7SEL_DEFAULT,
Anna Bridge 142:4eea097334d6 276 csenInputSelAPORT1CH0TO7 = _CSEN_SCANINPUTSEL0_INPUT0TO7SEL_APORT1CH0TO7,
Anna Bridge 142:4eea097334d6 277 csenInputSelAPORT1CH8TO15 = _CSEN_SCANINPUTSEL0_INPUT0TO7SEL_APORT1CH8TO15,
Anna Bridge 142:4eea097334d6 278 csenInputSelAPORT1CH16TO23 = _CSEN_SCANINPUTSEL0_INPUT0TO7SEL_APORT1CH16TO23,
Anna Bridge 142:4eea097334d6 279 csenInputSelAPORT1CH24TO31 = _CSEN_SCANINPUTSEL0_INPUT0TO7SEL_APORT1CH24TO31,
Anna Bridge 142:4eea097334d6 280 csenInputSelAPORT3CH0TO7 = _CSEN_SCANINPUTSEL0_INPUT0TO7SEL_APORT3CH0TO7,
Anna Bridge 142:4eea097334d6 281 csenInputSelAPORT3CH8TO15 = _CSEN_SCANINPUTSEL0_INPUT0TO7SEL_APORT3CH8TO15,
Anna Bridge 142:4eea097334d6 282 csenInputSelAPORT3CH16TO23 = _CSEN_SCANINPUTSEL0_INPUT0TO7SEL_APORT3CH16TO23,
Anna Bridge 142:4eea097334d6 283 csenInputSelAPORT3CH24TO31 = _CSEN_SCANINPUTSEL0_INPUT0TO7SEL_APORT3CH24TO31,
Anna Bridge 142:4eea097334d6 284 } CSEN_InputSel_TypeDef;
Anna Bridge 142:4eea097334d6 285
Anna Bridge 142:4eea097334d6 286
Anna Bridge 142:4eea097334d6 287 /** APORT channel to CSEN single input selection. */
Anna Bridge 142:4eea097334d6 288 typedef enum
Anna Bridge 142:4eea097334d6 289 {
Anna Bridge 142:4eea097334d6 290 csenSingleSelDefault = _CSEN_SINGLECTRL_SINGLESEL_DEFAULT,
Anna Bridge 142:4eea097334d6 291 csenSingleSelAPORT1XCH0 = _CSEN_SINGLECTRL_SINGLESEL_APORT1XCH0,
Anna Bridge 142:4eea097334d6 292 csenSingleSelAPORT1YCH1 = _CSEN_SINGLECTRL_SINGLESEL_APORT1YCH1,
Anna Bridge 142:4eea097334d6 293 csenSingleSelAPORT1XCH2 = _CSEN_SINGLECTRL_SINGLESEL_APORT1XCH2,
Anna Bridge 142:4eea097334d6 294 csenSingleSelAPORT1YCH3 = _CSEN_SINGLECTRL_SINGLESEL_APORT1YCH3,
Anna Bridge 142:4eea097334d6 295 csenSingleSelAPORT1XCH4 = _CSEN_SINGLECTRL_SINGLESEL_APORT1XCH4,
Anna Bridge 142:4eea097334d6 296 csenSingleSelAPORT1YCH5 = _CSEN_SINGLECTRL_SINGLESEL_APORT1YCH5,
Anna Bridge 142:4eea097334d6 297 csenSingleSelAPORT1XCH6 = _CSEN_SINGLECTRL_SINGLESEL_APORT1XCH6,
Anna Bridge 142:4eea097334d6 298 csenSingleSelAPORT1YCH7 = _CSEN_SINGLECTRL_SINGLESEL_APORT1YCH7,
Anna Bridge 142:4eea097334d6 299 csenSingleSelAPORT1XCH8 = _CSEN_SINGLECTRL_SINGLESEL_APORT1XCH8,
Anna Bridge 142:4eea097334d6 300 csenSingleSelAPORT1YCH9 = _CSEN_SINGLECTRL_SINGLESEL_APORT1YCH9,
Anna Bridge 142:4eea097334d6 301 csenSingleSelAPORT1XCH10 = _CSEN_SINGLECTRL_SINGLESEL_APORT1XCH10,
Anna Bridge 142:4eea097334d6 302 csenSingleSelAPORT1YCH11 = _CSEN_SINGLECTRL_SINGLESEL_APORT1YCH11,
Anna Bridge 142:4eea097334d6 303 csenSingleSelAPORT1XCH12 = _CSEN_SINGLECTRL_SINGLESEL_APORT1XCH12,
Anna Bridge 142:4eea097334d6 304 csenSingleSelAPORT1YCH13 = _CSEN_SINGLECTRL_SINGLESEL_APORT1YCH13,
Anna Bridge 142:4eea097334d6 305 csenSingleSelAPORT1XCH14 = _CSEN_SINGLECTRL_SINGLESEL_APORT1XCH14,
Anna Bridge 142:4eea097334d6 306 csenSingleSelAPORT1YCH15 = _CSEN_SINGLECTRL_SINGLESEL_APORT1YCH15,
Anna Bridge 142:4eea097334d6 307 csenSingleSelAPORT1XCH16 = _CSEN_SINGLECTRL_SINGLESEL_APORT1XCH16,
Anna Bridge 142:4eea097334d6 308 csenSingleSelAPORT1YCH17 = _CSEN_SINGLECTRL_SINGLESEL_APORT1YCH17,
Anna Bridge 142:4eea097334d6 309 csenSingleSelAPORT1XCH18 = _CSEN_SINGLECTRL_SINGLESEL_APORT1XCH18,
Anna Bridge 142:4eea097334d6 310 csenSingleSelAPORT1YCH19 = _CSEN_SINGLECTRL_SINGLESEL_APORT1YCH19,
Anna Bridge 142:4eea097334d6 311 csenSingleSelAPORT1XCH20 = _CSEN_SINGLECTRL_SINGLESEL_APORT1XCH20,
Anna Bridge 142:4eea097334d6 312 csenSingleSelAPORT1YCH21 = _CSEN_SINGLECTRL_SINGLESEL_APORT1YCH21,
Anna Bridge 142:4eea097334d6 313 csenSingleSelAPORT1XCH22 = _CSEN_SINGLECTRL_SINGLESEL_APORT1XCH22,
Anna Bridge 142:4eea097334d6 314 csenSingleSelAPORT1YCH23 = _CSEN_SINGLECTRL_SINGLESEL_APORT1YCH23,
Anna Bridge 142:4eea097334d6 315 csenSingleSelAPORT1XCH24 = _CSEN_SINGLECTRL_SINGLESEL_APORT1XCH24,
Anna Bridge 142:4eea097334d6 316 csenSingleSelAPORT1YCH25 = _CSEN_SINGLECTRL_SINGLESEL_APORT1YCH25,
Anna Bridge 142:4eea097334d6 317 csenSingleSelAPORT1XCH26 = _CSEN_SINGLECTRL_SINGLESEL_APORT1XCH26,
Anna Bridge 142:4eea097334d6 318 csenSingleSelAPORT1YCH27 = _CSEN_SINGLECTRL_SINGLESEL_APORT1YCH27,
Anna Bridge 142:4eea097334d6 319 csenSingleSelAPORT1XCH28 = _CSEN_SINGLECTRL_SINGLESEL_APORT1XCH28,
Anna Bridge 142:4eea097334d6 320 csenSingleSelAPORT1YCH29 = _CSEN_SINGLECTRL_SINGLESEL_APORT1YCH29,
Anna Bridge 142:4eea097334d6 321 csenSingleSelAPORT1XCH30 = _CSEN_SINGLECTRL_SINGLESEL_APORT1XCH30,
Anna Bridge 142:4eea097334d6 322 csenSingleSelAPORT1YCH31 = _CSEN_SINGLECTRL_SINGLESEL_APORT1YCH31,
Anna Bridge 142:4eea097334d6 323 csenSingleSelAPORT3XCH0 = _CSEN_SINGLECTRL_SINGLESEL_APORT3XCH0,
Anna Bridge 142:4eea097334d6 324 csenSingleSelAPORT3YCH1 = _CSEN_SINGLECTRL_SINGLESEL_APORT3YCH1,
Anna Bridge 142:4eea097334d6 325 csenSingleSelAPORT3XCH2 = _CSEN_SINGLECTRL_SINGLESEL_APORT3XCH2,
Anna Bridge 142:4eea097334d6 326 csenSingleSelAPORT3YCH3 = _CSEN_SINGLECTRL_SINGLESEL_APORT3YCH3,
Anna Bridge 142:4eea097334d6 327 csenSingleSelAPORT3XCH4 = _CSEN_SINGLECTRL_SINGLESEL_APORT3XCH4,
Anna Bridge 142:4eea097334d6 328 csenSingleSelAPORT3YCH5 = _CSEN_SINGLECTRL_SINGLESEL_APORT3YCH5,
Anna Bridge 142:4eea097334d6 329 csenSingleSelAPORT3XCH6 = _CSEN_SINGLECTRL_SINGLESEL_APORT3XCH6,
Anna Bridge 142:4eea097334d6 330 csenSingleSelAPORT3YCH7 = _CSEN_SINGLECTRL_SINGLESEL_APORT3YCH7,
Anna Bridge 142:4eea097334d6 331 csenSingleSelAPORT3XCH8 = _CSEN_SINGLECTRL_SINGLESEL_APORT3XCH8,
Anna Bridge 142:4eea097334d6 332 csenSingleSelAPORT3YCH9 = _CSEN_SINGLECTRL_SINGLESEL_APORT3YCH9,
Anna Bridge 142:4eea097334d6 333 csenSingleSelAPORT3XCH10 = _CSEN_SINGLECTRL_SINGLESEL_APORT3XCH10,
Anna Bridge 142:4eea097334d6 334 csenSingleSelAPORT3YCH11 = _CSEN_SINGLECTRL_SINGLESEL_APORT3YCH11,
Anna Bridge 142:4eea097334d6 335 csenSingleSelAPORT3XCH12 = _CSEN_SINGLECTRL_SINGLESEL_APORT3XCH12,
Anna Bridge 142:4eea097334d6 336 csenSingleSelAPORT3YCH13 = _CSEN_SINGLECTRL_SINGLESEL_APORT3YCH13,
Anna Bridge 142:4eea097334d6 337 csenSingleSelAPORT3XCH14 = _CSEN_SINGLECTRL_SINGLESEL_APORT3XCH14,
Anna Bridge 142:4eea097334d6 338 csenSingleSelAPORT3YCH15 = _CSEN_SINGLECTRL_SINGLESEL_APORT3YCH15,
Anna Bridge 142:4eea097334d6 339 csenSingleSelAPORT3XCH16 = _CSEN_SINGLECTRL_SINGLESEL_APORT3XCH16,
Anna Bridge 142:4eea097334d6 340 csenSingleSelAPORT3YCH17 = _CSEN_SINGLECTRL_SINGLESEL_APORT3YCH17,
Anna Bridge 142:4eea097334d6 341 csenSingleSelAPORT3XCH18 = _CSEN_SINGLECTRL_SINGLESEL_APORT3XCH18,
Anna Bridge 142:4eea097334d6 342 csenSingleSelAPORT3YCH19 = _CSEN_SINGLECTRL_SINGLESEL_APORT3YCH19,
Anna Bridge 142:4eea097334d6 343 csenSingleSelAPORT3XCH20 = _CSEN_SINGLECTRL_SINGLESEL_APORT3XCH20,
Anna Bridge 142:4eea097334d6 344 csenSingleSelAPORT3YCH21 = _CSEN_SINGLECTRL_SINGLESEL_APORT3YCH21,
Anna Bridge 142:4eea097334d6 345 csenSingleSelAPORT3XCH22 = _CSEN_SINGLECTRL_SINGLESEL_APORT3XCH22,
Anna Bridge 142:4eea097334d6 346 csenSingleSelAPORT3YCH23 = _CSEN_SINGLECTRL_SINGLESEL_APORT3YCH23,
Anna Bridge 142:4eea097334d6 347 csenSingleSelAPORT3XCH24 = _CSEN_SINGLECTRL_SINGLESEL_APORT3XCH24,
Anna Bridge 142:4eea097334d6 348 csenSingleSelAPORT3YCH25 = _CSEN_SINGLECTRL_SINGLESEL_APORT3YCH25,
Anna Bridge 142:4eea097334d6 349 csenSingleSelAPORT3XCH26 = _CSEN_SINGLECTRL_SINGLESEL_APORT3XCH26,
Anna Bridge 142:4eea097334d6 350 csenSingleSelAPORT3YCH27 = _CSEN_SINGLECTRL_SINGLESEL_APORT3YCH27,
Anna Bridge 142:4eea097334d6 351 csenSingleSelAPORT3XCH28 = _CSEN_SINGLECTRL_SINGLESEL_APORT3XCH28,
Anna Bridge 142:4eea097334d6 352 csenSingleSelAPORT3YCH29 = _CSEN_SINGLECTRL_SINGLESEL_APORT3YCH29,
Anna Bridge 142:4eea097334d6 353 csenSingleSelAPORT3XCH30 = _CSEN_SINGLECTRL_SINGLESEL_APORT3XCH30,
Anna Bridge 142:4eea097334d6 354 csenSingleSelAPORT3YCH31 = _CSEN_SINGLECTRL_SINGLESEL_APORT3YCH31,
Anna Bridge 142:4eea097334d6 355 } CSEN_SingleSel_TypeDef;
Anna Bridge 142:4eea097334d6 356
Anna Bridge 142:4eea097334d6 357
Anna Bridge 142:4eea097334d6 358 /*******************************************************************************
Anna Bridge 142:4eea097334d6 359 ******************************* STRUCTS ***********************************
Anna Bridge 142:4eea097334d6 360 ******************************************************************************/
Anna Bridge 142:4eea097334d6 361
Anna Bridge 142:4eea097334d6 362 /** CSEN init structure, common for all measurement modes. */
Anna Bridge 142:4eea097334d6 363 typedef struct
Anna Bridge 142:4eea097334d6 364 {
Anna Bridge 142:4eea097334d6 365 /** Requests system charge pump high accuracy mode. */
Anna Bridge 142:4eea097334d6 366 bool cpAccuracyHi;
Anna Bridge 142:4eea097334d6 367
Anna Bridge 142:4eea097334d6 368 /** Disables external kelvin connection and senses capacitor locally. */
Anna Bridge 142:4eea097334d6 369 bool localSense;
Anna Bridge 142:4eea097334d6 370
Anna Bridge 142:4eea097334d6 371 /** Keeps the converter warm allowing continuous conversions. */
Anna Bridge 142:4eea097334d6 372 bool keepWarm;
Anna Bridge 142:4eea097334d6 373
Anna Bridge 142:4eea097334d6 374 /** Converter warmup time is warmUpCount + 3 converter clock cycles. */
Anna Bridge 142:4eea097334d6 375 uint8_t warmUpCount;
Anna Bridge 142:4eea097334d6 376
Anna Bridge 142:4eea097334d6 377 /** Period counter reload value. */
Anna Bridge 142:4eea097334d6 378 uint8_t pcReload;
Anna Bridge 142:4eea097334d6 379
Anna Bridge 142:4eea097334d6 380 /** Period counter pre-scaler. */
Anna Bridge 142:4eea097334d6 381 CSEN_PCPrescale_TypeDef pcPrescale;
Anna Bridge 142:4eea097334d6 382
Anna Bridge 142:4eea097334d6 383 /** Peripheral reflex system trigger selection. */
Anna Bridge 142:4eea097334d6 384 CSEN_PRSSel_TypeDef prsSel;
Anna Bridge 142:4eea097334d6 385
Anna Bridge 142:4eea097334d6 386 /** CSEN input to APORT channel mapping. */
Anna Bridge 142:4eea097334d6 387 CSEN_InputSel_TypeDef input0To7;
Anna Bridge 142:4eea097334d6 388 CSEN_InputSel_TypeDef input8To15;
Anna Bridge 142:4eea097334d6 389 CSEN_InputSel_TypeDef input16To23;
Anna Bridge 142:4eea097334d6 390 CSEN_InputSel_TypeDef input24To31;
Anna Bridge 142:4eea097334d6 391 CSEN_InputSel_TypeDef input32To39;
Anna Bridge 142:4eea097334d6 392 CSEN_InputSel_TypeDef input40To47;
Anna Bridge 142:4eea097334d6 393 CSEN_InputSel_TypeDef input48To55;
Anna Bridge 142:4eea097334d6 394 CSEN_InputSel_TypeDef input56To63;
Anna Bridge 142:4eea097334d6 395 } CSEN_Init_TypeDef;
Anna Bridge 142:4eea097334d6 396
Anna Bridge 142:4eea097334d6 397 #define CSEN_INIT_DEFAULT \
Anna Bridge 142:4eea097334d6 398 { \
Anna Bridge 142:4eea097334d6 399 false, /* Charge pump low accuracy mode. */ \
Anna Bridge 142:4eea097334d6 400 false, /* Use external kelvin connection. */ \
Anna Bridge 142:4eea097334d6 401 false, /* Disable keep warm. */ \
Anna Bridge 142:4eea097334d6 402 0, /* 0+3 cycle warmup time. */ \
Anna Bridge 142:4eea097334d6 403 0, /* Period counter reload. */ \
Anna Bridge 142:4eea097334d6 404 csenPCPrescaleDiv1, /* Period counter prescale. */ \
Anna Bridge 142:4eea097334d6 405 csenPRSSELCh0, /* PRS channel 0. */ \
Anna Bridge 142:4eea097334d6 406 csenInputSelAPORT1CH0TO7, /* input0To7 -> aport1ch0to7 */ \
Anna Bridge 142:4eea097334d6 407 csenInputSelAPORT1CH8TO15, /* input8To15 -> aport1ch8to15 */ \
Anna Bridge 142:4eea097334d6 408 csenInputSelAPORT1CH16TO23, /* input16To23 -> aport1ch16to23 */ \
Anna Bridge 142:4eea097334d6 409 csenInputSelAPORT1CH24TO31, /* input24To31 -> aport1ch24to31 */ \
Anna Bridge 142:4eea097334d6 410 csenInputSelAPORT3CH0TO7, /* input32To39 -> aport3ch0to7 */ \
Anna Bridge 142:4eea097334d6 411 csenInputSelAPORT3CH8TO15, /* input40To47 -> aport3ch8to15 */ \
Anna Bridge 142:4eea097334d6 412 csenInputSelAPORT3CH16TO23, /* input48To55 -> aport3ch16to23 */ \
Anna Bridge 142:4eea097334d6 413 csenInputSelAPORT3CH24TO31, /* input56To63 -> aport3ch24to31 */ \
Anna Bridge 142:4eea097334d6 414 }
Anna Bridge 142:4eea097334d6 415
Anna Bridge 142:4eea097334d6 416
Anna Bridge 142:4eea097334d6 417 /** Measurement mode init structure. */
Anna Bridge 142:4eea097334d6 418 typedef struct
Anna Bridge 142:4eea097334d6 419 {
Anna Bridge 142:4eea097334d6 420 /** Selects the conversion sample mode. */
Anna Bridge 142:4eea097334d6 421 CSEN_SampleMode_TypeDef sampleMode;
Anna Bridge 142:4eea097334d6 422
Anna Bridge 142:4eea097334d6 423 /** Selects the conversion trigger source. */
Anna Bridge 142:4eea097334d6 424 CSEN_TrigSel_TypeDef trigSel;
Anna Bridge 142:4eea097334d6 425
Anna Bridge 142:4eea097334d6 426 /** Enables DMA operation. */
Anna Bridge 142:4eea097334d6 427 bool enableDma;
Anna Bridge 142:4eea097334d6 428
Anna Bridge 142:4eea097334d6 429 /** Disables dividing the accumulated result. */
Anna Bridge 142:4eea097334d6 430 bool sumOnly;
Anna Bridge 142:4eea097334d6 431
Anna Bridge 142:4eea097334d6 432 /** Selects the number of samples to accumulate per conversion. */
Anna Bridge 142:4eea097334d6 433 CSEN_AccMode_TypeDef accMode;
Anna Bridge 142:4eea097334d6 434
Anna Bridge 142:4eea097334d6 435 /** Selects the Exponential Moving Average sample weighting. */
Anna Bridge 142:4eea097334d6 436 CSEN_EMASample_TypeDef emaSample;
Anna Bridge 142:4eea097334d6 437
Anna Bridge 142:4eea097334d6 438 /** Enables the comparator and selects the comparison type. */
Anna Bridge 142:4eea097334d6 439 CSEN_CmpMode_TypeDef cmpMode;
Anna Bridge 142:4eea097334d6 440
Anna Bridge 142:4eea097334d6 441 /** Comparator threshold value. Meaning depends on @p cmpMode. */
Anna Bridge 142:4eea097334d6 442 uint16_t cmpThr;
Anna Bridge 142:4eea097334d6 443
Anna Bridge 142:4eea097334d6 444 /** Selects an APORT channel for a single conversion. */
Anna Bridge 142:4eea097334d6 445 CSEN_SingleSel_TypeDef singleSel;
Anna Bridge 142:4eea097334d6 446
Anna Bridge 142:4eea097334d6 447 /**
Anna Bridge 142:4eea097334d6 448 * Mask selects inputs 0 to 31. Effect depends on @p sampleMode. If sample
Anna Bridge 142:4eea097334d6 449 * mode is bonded, then mask selects inputs to short together. If sample
Anna Bridge 142:4eea097334d6 450 * mode is scan, then mask selects which inputs will be scanned. If sample
Anna Bridge 142:4eea097334d6 451 * mode is single and auto-ground is on (@p autoGnd is true), mask selects
Anna Bridge 142:4eea097334d6 452 * which pins are grounded.
Anna Bridge 142:4eea097334d6 453 */
Anna Bridge 142:4eea097334d6 454 uint32_t inputMask0;
Anna Bridge 142:4eea097334d6 455
Anna Bridge 142:4eea097334d6 456 /** Mask selects inputs 32 to 63. See @p inputMask0 for more information. */
Anna Bridge 142:4eea097334d6 457 uint32_t inputMask1;
Anna Bridge 142:4eea097334d6 458
Anna Bridge 142:4eea097334d6 459 /** Ground inactive inputs during a conversion. */
Anna Bridge 142:4eea097334d6 460 bool autoGnd;
Anna Bridge 142:4eea097334d6 461
Anna Bridge 142:4eea097334d6 462 /** Selects the converter type. */
Anna Bridge 142:4eea097334d6 463 CSEN_ConvSel_TypeDef convSel;
Anna Bridge 142:4eea097334d6 464
Anna Bridge 142:4eea097334d6 465 /** Selects the Successive Approximation (SAR) converter resolution. */
Anna Bridge 142:4eea097334d6 466 CSEN_SARRes_TypeDef sarRes;
Anna Bridge 142:4eea097334d6 467
Anna Bridge 142:4eea097334d6 468 /** Selects the Delta Modulation (DM) converter resolution. */
Anna Bridge 142:4eea097334d6 469 CSEN_DMRes_TypeDef dmRes;
Anna Bridge 142:4eea097334d6 470
Anna Bridge 142:4eea097334d6 471 /** Sets the number of DM iterations (comparisons) per cycle. Only applies
Anna Bridge 142:4eea097334d6 472 * to the Delta Modulation converter. */
Anna Bridge 142:4eea097334d6 473 uint8_t dmIterPerCycle;
Anna Bridge 142:4eea097334d6 474
Anna Bridge 142:4eea097334d6 475 /** Sets number of DM converter cycles. Only applies to the
Anna Bridge 142:4eea097334d6 476 * Delta Modulation converter. */
Anna Bridge 142:4eea097334d6 477 uint8_t dmCycles;
Anna Bridge 142:4eea097334d6 478
Anna Bridge 142:4eea097334d6 479 /** Sets the DM converter initial delta value. Only applies to the
Anna Bridge 142:4eea097334d6 480 * Delta Modulation converter. */
Anna Bridge 142:4eea097334d6 481 uint8_t dmDelta;
Anna Bridge 142:4eea097334d6 482
Anna Bridge 142:4eea097334d6 483 /** Disable DM automatic delta size reduction per cycle. Only applies to the
Anna Bridge 142:4eea097334d6 484 * Delta Modulation converter. */
Anna Bridge 142:4eea097334d6 485 bool dmFixedDelta;
Anna Bridge 142:4eea097334d6 486
Anna Bridge 142:4eea097334d6 487 /** Selects the reset phase timing. Most measurements should use the default
Anna Bridge 142:4eea097334d6 488 * value. See reference manual for details on when to adjust. */
Anna Bridge 142:4eea097334d6 489 CSEN_ResetPhaseSel_TypeDef resetPhase;
Anna Bridge 142:4eea097334d6 490
Anna Bridge 142:4eea097334d6 491 /** Selects the output drive strength. Most measurements should use the
Anna Bridge 142:4eea097334d6 492 * default value. See reference manual for details on when to adjust. */
Anna Bridge 142:4eea097334d6 493 CSEN_DriveSel_TypeDef driveSel;
Anna Bridge 142:4eea097334d6 494
Anna Bridge 142:4eea097334d6 495 /** Selects the converter gain. */
Anna Bridge 142:4eea097334d6 496 CSEN_GainSel_TypeDef gainSel;
Anna Bridge 142:4eea097334d6 497 } CSEN_InitMode_TypeDef;
Anna Bridge 142:4eea097334d6 498
Anna Bridge 142:4eea097334d6 499 #define CSEN_INITMODE_DEFAULT \
Anna Bridge 142:4eea097334d6 500 { \
Anna Bridge 142:4eea097334d6 501 csenSampleModeSingle, /* Sample one input and stop. */ \
Anna Bridge 142:4eea097334d6 502 csenTrigSelStart, /* Use start bit to trigger. */ \
Anna Bridge 142:4eea097334d6 503 false, /* Disable DMA. */ \
Anna Bridge 142:4eea097334d6 504 false, /* Average the accumulated result. */ \
Anna Bridge 142:4eea097334d6 505 csenAccMode1, /* Accumulate 1 sample. */ \
Anna Bridge 142:4eea097334d6 506 csenEMASampleW1, /* Disable the EMA. */ \
Anna Bridge 142:4eea097334d6 507 csenCmpModeDisabled, /* Disable the comparator. */ \
Anna Bridge 142:4eea097334d6 508 0, /* Comparator threshold not used. */ \
Anna Bridge 142:4eea097334d6 509 csenSingleSelDefault, /* Disconnect the single input. */ \
Anna Bridge 142:4eea097334d6 510 0, /* Disable inputs 0 to 31. */ \
Anna Bridge 142:4eea097334d6 511 0, /* Disable inputs 32 to 63. */ \
Anna Bridge 142:4eea097334d6 512 false, /* Do not ground inactive inputs. */ \
Anna Bridge 142:4eea097334d6 513 csenConvSelSAR, /* Use the SAR converter. */ \
Anna Bridge 142:4eea097334d6 514 csenSARRes10, /* Set SAR resolution to 10 bits. */ \
Anna Bridge 142:4eea097334d6 515 csenDMRes10, /* Set DM resolution to 10 bits. */ \
Anna Bridge 142:4eea097334d6 516 0, /* Set DM conv/cycle to default. */ \
Anna Bridge 142:4eea097334d6 517 0, /* Set DM cycles to default. */ \
Anna Bridge 142:4eea097334d6 518 0, /* Set DM initial delta to default. */ \
Anna Bridge 142:4eea097334d6 519 false, /* Use DM auto delta reduction. */ \
Anna Bridge 142:4eea097334d6 520 csenResetPhaseSel0, /* Use shortest reset phase time. */ \
Anna Bridge 142:4eea097334d6 521 csenDriveSelFull, /* Use full output current. */ \
Anna Bridge 142:4eea097334d6 522 csenGainSel8X, /* Use highest converter gain. */ \
Anna Bridge 142:4eea097334d6 523 }
Anna Bridge 142:4eea097334d6 524
Anna Bridge 142:4eea097334d6 525
Anna Bridge 142:4eea097334d6 526 /*******************************************************************************
Anna Bridge 142:4eea097334d6 527 ***************************** PROTOTYPES **********************************
Anna Bridge 142:4eea097334d6 528 ******************************************************************************/
Anna Bridge 142:4eea097334d6 529
Anna Bridge 142:4eea097334d6 530 /***************************************************************************//**
Anna Bridge 142:4eea097334d6 531 * @brief
Anna Bridge 142:4eea097334d6 532 * Get last conversion result.
Anna Bridge 142:4eea097334d6 533 *
Anna Bridge 142:4eea097334d6 534 * @note
Anna Bridge 142:4eea097334d6 535 * Check conversion busy flag before calling this function. In addition,
Anna Bridge 142:4eea097334d6 536 * the result width and format depend on the parameters passed to the
Anna Bridge 142:4eea097334d6 537 * @ref CSEN_InitMode() function.
Anna Bridge 142:4eea097334d6 538 *
Anna Bridge 142:4eea097334d6 539 * @param[in] csen
Anna Bridge 142:4eea097334d6 540 * Pointer to CSEN peripheral register block.
Anna Bridge 142:4eea097334d6 541 *
Anna Bridge 142:4eea097334d6 542 * @return
Anna Bridge 142:4eea097334d6 543 * Result data from last conversion.
Anna Bridge 142:4eea097334d6 544 ******************************************************************************/
Anna Bridge 142:4eea097334d6 545 __STATIC_INLINE uint32_t CSEN_DataGet(CSEN_TypeDef *csen)
Anna Bridge 142:4eea097334d6 546 {
Anna Bridge 142:4eea097334d6 547 return csen->DATA;
Anna Bridge 142:4eea097334d6 548 }
Anna Bridge 142:4eea097334d6 549
Anna Bridge 142:4eea097334d6 550 /***************************************************************************//**
Anna Bridge 142:4eea097334d6 551 * @brief
Anna Bridge 142:4eea097334d6 552 * Get last exponential moving average.
Anna Bridge 142:4eea097334d6 553 *
Anna Bridge 142:4eea097334d6 554 * @note
Anna Bridge 142:4eea097334d6 555 * Confirm CSEN is idle before calling this function.
Anna Bridge 142:4eea097334d6 556 *
Anna Bridge 142:4eea097334d6 557 * @param[in] csen
Anna Bridge 142:4eea097334d6 558 * Pointer to CSEN peripheral register block.
Anna Bridge 142:4eea097334d6 559 *
Anna Bridge 142:4eea097334d6 560 * @return
Anna Bridge 142:4eea097334d6 561 * Exponential moving average from last conversion.
Anna Bridge 142:4eea097334d6 562 ******************************************************************************/
Anna Bridge 142:4eea097334d6 563 __STATIC_INLINE uint32_t CSEN_EMAGet(CSEN_TypeDef *csen)
Anna Bridge 142:4eea097334d6 564 {
Anna Bridge 142:4eea097334d6 565 return (csen->EMA & _CSEN_EMA_EMA_MASK);
Anna Bridge 142:4eea097334d6 566 }
Anna Bridge 142:4eea097334d6 567
Anna Bridge 142:4eea097334d6 568 /***************************************************************************//**
Anna Bridge 142:4eea097334d6 569 * @brief
Anna Bridge 142:4eea097334d6 570 * Set exponential moving average initial value.
Anna Bridge 142:4eea097334d6 571 *
Anna Bridge 142:4eea097334d6 572 * @note
Anna Bridge 142:4eea097334d6 573 * Call this function before starting a conversion.
Anna Bridge 142:4eea097334d6 574 *
Anna Bridge 142:4eea097334d6 575 * @param[in] csen
Anna Bridge 142:4eea097334d6 576 * Pointer to CSEN peripheral register block.
Anna Bridge 142:4eea097334d6 577 *
Anna Bridge 142:4eea097334d6 578 * @param[in] ema
Anna Bridge 142:4eea097334d6 579 * Initial value for the exponential moving average.
Anna Bridge 142:4eea097334d6 580 ******************************************************************************/
Anna Bridge 142:4eea097334d6 581 __STATIC_INLINE void CSEN_EMASet(CSEN_TypeDef *csen, uint32_t ema)
Anna Bridge 142:4eea097334d6 582 {
Anna Bridge 142:4eea097334d6 583 csen->EMA = ema & _CSEN_EMA_EMA_MASK;
Anna Bridge 142:4eea097334d6 584 }
Anna Bridge 142:4eea097334d6 585
Anna Bridge 142:4eea097334d6 586 /***************************************************************************//**
Anna Bridge 142:4eea097334d6 587 * @brief
Anna Bridge 142:4eea097334d6 588 * Disables the CSEN.
Anna Bridge 142:4eea097334d6 589 *
Anna Bridge 142:4eea097334d6 590 * @param[in] csen
Anna Bridge 142:4eea097334d6 591 * Pointer to CSEN peripheral register block.
Anna Bridge 142:4eea097334d6 592 ******************************************************************************/
Anna Bridge 142:4eea097334d6 593 __STATIC_INLINE void CSEN_Disable(CSEN_TypeDef *csen)
Anna Bridge 142:4eea097334d6 594 {
Anna Bridge 142:4eea097334d6 595 BUS_RegBitWrite(&csen->CTRL, _CSEN_CTRL_EN_SHIFT, 0);
Anna Bridge 142:4eea097334d6 596 }
Anna Bridge 142:4eea097334d6 597
Anna Bridge 142:4eea097334d6 598 /***************************************************************************//**
Anna Bridge 142:4eea097334d6 599 * @brief
Anna Bridge 142:4eea097334d6 600 * Enables the CSEN.
Anna Bridge 142:4eea097334d6 601 *
Anna Bridge 142:4eea097334d6 602 * @param[in] csen
Anna Bridge 142:4eea097334d6 603 * Pointer to CSEN peripheral register block.
Anna Bridge 142:4eea097334d6 604 ******************************************************************************/
Anna Bridge 142:4eea097334d6 605 __STATIC_INLINE void CSEN_Enable(CSEN_TypeDef *csen)
Anna Bridge 142:4eea097334d6 606 {
Anna Bridge 142:4eea097334d6 607 BUS_RegBitWrite(&csen->CTRL, _CSEN_CTRL_EN_SHIFT, 1);
Anna Bridge 142:4eea097334d6 608 }
Anna Bridge 142:4eea097334d6 609
Anna Bridge 142:4eea097334d6 610 void CSEN_DMBaselineSet(CSEN_TypeDef *csen, uint32_t up, uint32_t down);
Anna Bridge 142:4eea097334d6 611 void CSEN_Init(CSEN_TypeDef *csen, const CSEN_Init_TypeDef *init);
Anna Bridge 142:4eea097334d6 612 void CSEN_InitMode(CSEN_TypeDef *csen, const CSEN_InitMode_TypeDef *init);
Anna Bridge 142:4eea097334d6 613 void CSEN_Reset(CSEN_TypeDef *csen);
Anna Bridge 142:4eea097334d6 614
Anna Bridge 142:4eea097334d6 615
Anna Bridge 142:4eea097334d6 616 /***************************************************************************//**
Anna Bridge 142:4eea097334d6 617 * @brief
Anna Bridge 142:4eea097334d6 618 * Clear one or more pending CSEN interrupts.
Anna Bridge 142:4eea097334d6 619 *
Anna Bridge 142:4eea097334d6 620 * @param[in] csen
Anna Bridge 142:4eea097334d6 621 * Pointer to CSEN peripheral register block.
Anna Bridge 142:4eea097334d6 622 *
Anna Bridge 142:4eea097334d6 623 * @param[in] flags
Anna Bridge 142:4eea097334d6 624 * Pending CSEN interrupt source to clear. Use a bitwise logic OR combination
Anna Bridge 142:4eea097334d6 625 * of valid interrupt flags for the CSEN module (CSEN_IF_nnn).
Anna Bridge 142:4eea097334d6 626 ******************************************************************************/
Anna Bridge 142:4eea097334d6 627 __STATIC_INLINE void CSEN_IntClear(CSEN_TypeDef *csen, uint32_t flags)
Anna Bridge 142:4eea097334d6 628 {
Anna Bridge 142:4eea097334d6 629 csen->IFC = flags;
Anna Bridge 142:4eea097334d6 630 }
Anna Bridge 142:4eea097334d6 631
Anna Bridge 142:4eea097334d6 632
Anna Bridge 142:4eea097334d6 633 /***************************************************************************//**
Anna Bridge 142:4eea097334d6 634 * @brief
Anna Bridge 142:4eea097334d6 635 * Disable one or more CSEN interrupts.
Anna Bridge 142:4eea097334d6 636 *
Anna Bridge 142:4eea097334d6 637 * @param[in] csen
Anna Bridge 142:4eea097334d6 638 * Pointer to CSEN peripheral register block.
Anna Bridge 142:4eea097334d6 639 *
Anna Bridge 142:4eea097334d6 640 * @param[in] flags
Anna Bridge 142:4eea097334d6 641 * CSEN interrupt sources to disable. Use a bitwise logic OR combination of
Anna Bridge 142:4eea097334d6 642 * valid interrupt flags for the CSEN module (CSEN_IF_nnn).
Anna Bridge 142:4eea097334d6 643 ******************************************************************************/
Anna Bridge 142:4eea097334d6 644 __STATIC_INLINE void CSEN_IntDisable(CSEN_TypeDef *csen, uint32_t flags)
Anna Bridge 142:4eea097334d6 645 {
Anna Bridge 142:4eea097334d6 646 csen->IEN &= ~flags;
Anna Bridge 142:4eea097334d6 647 }
Anna Bridge 142:4eea097334d6 648
Anna Bridge 142:4eea097334d6 649
Anna Bridge 142:4eea097334d6 650 /***************************************************************************//**
Anna Bridge 142:4eea097334d6 651 * @brief
Anna Bridge 142:4eea097334d6 652 * Enable one or more CSEN interrupts.
Anna Bridge 142:4eea097334d6 653 *
Anna Bridge 142:4eea097334d6 654 * @note
Anna Bridge 142:4eea097334d6 655 * Depending on the use, a pending interrupt may already be set prior to
Anna Bridge 142:4eea097334d6 656 * enabling the interrupt. Consider using CSEN_IntClear() prior to enabling
Anna Bridge 142:4eea097334d6 657 * if such a pending interrupt should be ignored.
Anna Bridge 142:4eea097334d6 658 *
Anna Bridge 142:4eea097334d6 659 * @param[in] csen
Anna Bridge 142:4eea097334d6 660 * Pointer to CSEN peripheral register block.
Anna Bridge 142:4eea097334d6 661 *
Anna Bridge 142:4eea097334d6 662 * @param[in] flags
Anna Bridge 142:4eea097334d6 663 * CSEN interrupt sources to enable. Use a bitwise logic OR combination of
Anna Bridge 142:4eea097334d6 664 * valid interrupt flags for the CSEN module (CSEN_IF_nnn).
Anna Bridge 142:4eea097334d6 665 ******************************************************************************/
Anna Bridge 142:4eea097334d6 666 __STATIC_INLINE void CSEN_IntEnable(CSEN_TypeDef *csen, uint32_t flags)
Anna Bridge 142:4eea097334d6 667 {
Anna Bridge 142:4eea097334d6 668 csen->IEN |= flags;
Anna Bridge 142:4eea097334d6 669 }
Anna Bridge 142:4eea097334d6 670
Anna Bridge 142:4eea097334d6 671
Anna Bridge 142:4eea097334d6 672 /***************************************************************************//**
Anna Bridge 142:4eea097334d6 673 * @brief
Anna Bridge 142:4eea097334d6 674 * Get pending CSEN interrupt flags.
Anna Bridge 142:4eea097334d6 675 *
Anna Bridge 142:4eea097334d6 676 * @note
Anna Bridge 142:4eea097334d6 677 * The event bits are not cleared by the use of this function.
Anna Bridge 142:4eea097334d6 678 *
Anna Bridge 142:4eea097334d6 679 * @param[in] csen
Anna Bridge 142:4eea097334d6 680 * Pointer to CSEN peripheral register block.
Anna Bridge 142:4eea097334d6 681 *
Anna Bridge 142:4eea097334d6 682 * @return
Anna Bridge 142:4eea097334d6 683 * CSEN interrupt sources pending. A bitwise logic OR combination of valid
Anna Bridge 142:4eea097334d6 684 * interrupt flags for the CSEN module (CSEN_IF_nnn).
Anna Bridge 142:4eea097334d6 685 ******************************************************************************/
Anna Bridge 142:4eea097334d6 686 __STATIC_INLINE uint32_t CSEN_IntGet(CSEN_TypeDef *csen)
Anna Bridge 142:4eea097334d6 687 {
Anna Bridge 142:4eea097334d6 688 return csen->IF;
Anna Bridge 142:4eea097334d6 689 }
Anna Bridge 142:4eea097334d6 690
Anna Bridge 142:4eea097334d6 691
Anna Bridge 142:4eea097334d6 692 /***************************************************************************//**
Anna Bridge 142:4eea097334d6 693 * @brief
Anna Bridge 142:4eea097334d6 694 * Get enabled and pending CSEN interrupt flags.
Anna Bridge 142:4eea097334d6 695 * Useful for handling more interrupt sources in the same interrupt handler.
Anna Bridge 142:4eea097334d6 696 *
Anna Bridge 142:4eea097334d6 697 * @param[in] csen
Anna Bridge 142:4eea097334d6 698 * Pointer to CSEN peripheral register block.
Anna Bridge 142:4eea097334d6 699 *
Anna Bridge 142:4eea097334d6 700 * @note
Anna Bridge 142:4eea097334d6 701 * Interrupt flags are not cleared by the use of this function.
Anna Bridge 142:4eea097334d6 702 *
Anna Bridge 142:4eea097334d6 703 * @return
Anna Bridge 142:4eea097334d6 704 * Pending and enabled CSEN interrupt sources.
Anna Bridge 142:4eea097334d6 705 * The return value is the bitwise AND combination of
Anna Bridge 142:4eea097334d6 706 * - the OR combination of enabled interrupt sources in CSENx_IEN_nnn
Anna Bridge 142:4eea097334d6 707 * register (CSENx_IEN_nnn) and
Anna Bridge 142:4eea097334d6 708 * - the OR combination of valid interrupt flags of the CSEN module
Anna Bridge 142:4eea097334d6 709 * (CSENx_IF_nnn).
Anna Bridge 142:4eea097334d6 710 ******************************************************************************/
Anna Bridge 142:4eea097334d6 711 __STATIC_INLINE uint32_t CSEN_IntGetEnabled(CSEN_TypeDef *csen)
Anna Bridge 142:4eea097334d6 712 {
Anna Bridge 142:4eea097334d6 713 uint32_t ien;
Anna Bridge 142:4eea097334d6 714
Anna Bridge 142:4eea097334d6 715 /* Store CSENx->IEN in temporary variable in order to define explicit order
Anna Bridge 142:4eea097334d6 716 * of volatile accesses. */
Anna Bridge 142:4eea097334d6 717 ien = csen->IEN;
Anna Bridge 142:4eea097334d6 718
Anna Bridge 142:4eea097334d6 719 /* Bitwise AND of pending and enabled interrupts */
Anna Bridge 142:4eea097334d6 720 return csen->IF & ien;
Anna Bridge 142:4eea097334d6 721 }
Anna Bridge 142:4eea097334d6 722
Anna Bridge 142:4eea097334d6 723
Anna Bridge 142:4eea097334d6 724 /***************************************************************************//**
Anna Bridge 142:4eea097334d6 725 * @brief
Anna Bridge 142:4eea097334d6 726 * Set one or more pending CSEN interrupts from SW.
Anna Bridge 142:4eea097334d6 727 *
Anna Bridge 142:4eea097334d6 728 * @param[in] csen
Anna Bridge 142:4eea097334d6 729 * Pointer to CSEN peripheral register block.
Anna Bridge 142:4eea097334d6 730 *
Anna Bridge 142:4eea097334d6 731 * @param[in] flags
Anna Bridge 142:4eea097334d6 732 * CSEN interrupt sources to set to pending. Use a bitwise logic OR combination
Anna Bridge 142:4eea097334d6 733 * of valid interrupt flags for the CSEN module (CSEN_IF_nnn).
Anna Bridge 142:4eea097334d6 734 ******************************************************************************/
Anna Bridge 142:4eea097334d6 735 __STATIC_INLINE void CSEN_IntSet(CSEN_TypeDef *csen, uint32_t flags)
Anna Bridge 142:4eea097334d6 736 {
Anna Bridge 142:4eea097334d6 737 csen->IFS = flags;
Anna Bridge 142:4eea097334d6 738 }
Anna Bridge 142:4eea097334d6 739
Anna Bridge 142:4eea097334d6 740
Anna Bridge 142:4eea097334d6 741 /***************************************************************************//**
Anna Bridge 142:4eea097334d6 742 * @brief
Anna Bridge 142:4eea097334d6 743 * Return CSEN conversion busy status.
Anna Bridge 142:4eea097334d6 744 *
Anna Bridge 142:4eea097334d6 745 * @param[in] csen
Anna Bridge 142:4eea097334d6 746 * Pointer to CSEN peripheral register block.
Anna Bridge 142:4eea097334d6 747 *
Anna Bridge 142:4eea097334d6 748 * @return
Anna Bridge 142:4eea097334d6 749 * True if CSEN conversion is in progress.
Anna Bridge 142:4eea097334d6 750 ******************************************************************************/
Anna Bridge 142:4eea097334d6 751 __STATIC_INLINE bool CSEN_IsBusy(CSEN_TypeDef *csen)
Anna Bridge 142:4eea097334d6 752 {
Anna Bridge 142:4eea097334d6 753 return (bool)(csen->STATUS & _CSEN_STATUS_CSENBUSY_MASK);
Anna Bridge 142:4eea097334d6 754 }
Anna Bridge 142:4eea097334d6 755
Anna Bridge 142:4eea097334d6 756
Anna Bridge 142:4eea097334d6 757 /***************************************************************************//**
Anna Bridge 142:4eea097334d6 758 * @brief
Anna Bridge 142:4eea097334d6 759 * Start scan sequence and/or single conversion.
Anna Bridge 142:4eea097334d6 760 *
Anna Bridge 142:4eea097334d6 761 * @param[in] csen
Anna Bridge 142:4eea097334d6 762 * Pointer to CSEN peripheral register block.
Anna Bridge 142:4eea097334d6 763 ******************************************************************************/
Anna Bridge 142:4eea097334d6 764 __STATIC_INLINE void CSEN_Start(CSEN_TypeDef *csen)
Anna Bridge 142:4eea097334d6 765 {
Anna Bridge 142:4eea097334d6 766 csen->CMD = CSEN_CMD_START;
Anna Bridge 142:4eea097334d6 767 }
Anna Bridge 142:4eea097334d6 768
Anna Bridge 142:4eea097334d6 769
Anna Bridge 142:4eea097334d6 770 /** @} (end addtogroup CSEN) */
Anna Bridge 142:4eea097334d6 771 /** @} (end addtogroup emlib) */
Anna Bridge 142:4eea097334d6 772
Anna Bridge 142:4eea097334d6 773 #ifdef __cplusplus
Anna Bridge 142:4eea097334d6 774 }
Anna Bridge 142:4eea097334d6 775 #endif
Anna Bridge 142:4eea097334d6 776
Anna Bridge 142:4eea097334d6 777 #endif /* defined(CSEN_COUNT) && (CSEN_COUNT > 0) */
Anna Bridge 142:4eea097334d6 778 #endif /* EM_CSEN_H */