Driver for the capacitive sense slider available on the EFM32 Giant, Wonder and Leopard starter kits.
Dependents: EFM32 RDA5807M RDS Radio EMF32-Segment-Touch-Demo EFM32_Bugs MFALHIMOHAMMED ... more
Information
All examples in this repo are considered EXPERIMENTAL QUALITY, meaning this code has been created as one-off proof-of-concept and is suitable as a demonstration for experimental purposes only. This code will not be regularly maintained by Silicon Labs and there is no guarantee that these projects will work across all environments, SDK versions and hardware.
caplesense.h@0:459a1af84a64, 2015-03-17 (annotated)
- Committer:
- Steven Cooreman
- Date:
- Tue Mar 17 12:44:15 2015 -0500
- Revision:
- 0:459a1af84a64
Initial commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Steven Cooreman |
0:459a1af84a64 | 1 | /**************************************************************************//** |
Steven Cooreman |
0:459a1af84a64 | 2 | * @file |
Steven Cooreman |
0:459a1af84a64 | 3 | * @brief Capacitive sense driver |
Steven Cooreman |
0:459a1af84a64 | 4 | * @version 3.20.9 |
Steven Cooreman |
0:459a1af84a64 | 5 | ****************************************************************************** |
Steven Cooreman |
0:459a1af84a64 | 6 | * @section License |
Steven Cooreman |
0:459a1af84a64 | 7 | * <b>(C) Copyright 2014 Silicon Labs, http://www.silabs.com</b> |
Steven Cooreman |
0:459a1af84a64 | 8 | ******************************************************************************* |
Steven Cooreman |
0:459a1af84a64 | 9 | * |
Steven Cooreman |
0:459a1af84a64 | 10 | * This file is licensensed under the Silabs License Agreement. See the file |
Steven Cooreman |
0:459a1af84a64 | 11 | * "Silabs_License_Agreement.txt" for details. Before using this software for |
Steven Cooreman |
0:459a1af84a64 | 12 | * any purpose, you must agree to the terms of that agreement. |
Steven Cooreman |
0:459a1af84a64 | 13 | * |
Steven Cooreman |
0:459a1af84a64 | 14 | ******************************************************************************/ |
Steven Cooreman |
0:459a1af84a64 | 15 | |
Steven Cooreman |
0:459a1af84a64 | 16 | |
Steven Cooreman |
0:459a1af84a64 | 17 | |
Steven Cooreman |
0:459a1af84a64 | 18 | #ifndef __CAPLESENSE_H_ |
Steven Cooreman |
0:459a1af84a64 | 19 | #define __CAPLESENSE_H_ |
Steven Cooreman |
0:459a1af84a64 | 20 | |
Steven Cooreman |
0:459a1af84a64 | 21 | #include <stdint.h> |
Steven Cooreman |
0:459a1af84a64 | 22 | #include <stdbool.h> |
Steven Cooreman |
0:459a1af84a64 | 23 | |
Steven Cooreman |
0:459a1af84a64 | 24 | #if defined(TARGET_EFM32GG_STK3700) |
Steven Cooreman |
0:459a1af84a64 | 25 | #include "capsenseconfig_gg_stk.h" |
Steven Cooreman |
0:459a1af84a64 | 26 | #elif defined(TARGET_EFM32TG_STK3300) |
Steven Cooreman |
0:459a1af84a64 | 27 | #include "capsenseconfig_tg_stk.h" |
Steven Cooreman |
0:459a1af84a64 | 28 | #elif defined(TARGET_EFM32LG_STK3600) |
Steven Cooreman |
0:459a1af84a64 | 29 | #include "capsenseconfig_lg_stk.h" |
Steven Cooreman |
0:459a1af84a64 | 30 | #elif defined(TARGET_EFM32WG_STK3800) |
Steven Cooreman |
0:459a1af84a64 | 31 | #include "capsenseconfig_wg_stk.h" |
Steven Cooreman |
0:459a1af84a64 | 32 | #else |
Steven Cooreman |
0:459a1af84a64 | 33 | #error "Unknown target for EFM32 CapSenseSlider driver." |
Steven Cooreman |
0:459a1af84a64 | 34 | #endif |
Steven Cooreman |
0:459a1af84a64 | 35 | |
Steven Cooreman |
0:459a1af84a64 | 36 | /***************************************************************************//** |
Steven Cooreman |
0:459a1af84a64 | 37 | * @addtogroup Drivers |
Steven Cooreman |
0:459a1af84a64 | 38 | * @{ |
Steven Cooreman |
0:459a1af84a64 | 39 | ******************************************************************************/ |
Steven Cooreman |
0:459a1af84a64 | 40 | |
Steven Cooreman |
0:459a1af84a64 | 41 | /***************************************************************************//** |
Steven Cooreman |
0:459a1af84a64 | 42 | * @addtogroup CapSense |
Steven Cooreman |
0:459a1af84a64 | 43 | * @{ |
Steven Cooreman |
0:459a1af84a64 | 44 | ******************************************************************************/ |
Steven Cooreman |
0:459a1af84a64 | 45 | |
Steven Cooreman |
0:459a1af84a64 | 46 | #ifdef __cplusplus |
Steven Cooreman |
0:459a1af84a64 | 47 | extern "C" { |
Steven Cooreman |
0:459a1af84a64 | 48 | #endif |
Steven Cooreman |
0:459a1af84a64 | 49 | |
Steven Cooreman |
0:459a1af84a64 | 50 | uint8_t CAPLESENSE_getSegmentChannel(uint8_t capSegment); |
Steven Cooreman |
0:459a1af84a64 | 51 | uint32_t CAPLESENSE_getVal(uint8_t channel); |
Steven Cooreman |
0:459a1af84a64 | 52 | uint32_t CAPLESENSE_getNormalizedVal(uint8_t channel); |
Steven Cooreman |
0:459a1af84a64 | 53 | int32_t CAPLESENSE_getSliderPosition(void); |
Steven Cooreman |
0:459a1af84a64 | 54 | void CAPLESENSE_Init(bool sleep); |
Steven Cooreman |
0:459a1af84a64 | 55 | void CAPLESENSE_setupLESENSE(bool sleep); |
Steven Cooreman |
0:459a1af84a64 | 56 | void CAPLESENSE_setupCallbacks(void (*scanCb)(void), void (*chCb)(void)); |
Steven Cooreman |
0:459a1af84a64 | 57 | void CAPLESENSE_Sleep(void); |
Steven Cooreman |
0:459a1af84a64 | 58 | |
Steven Cooreman |
0:459a1af84a64 | 59 | #ifdef __cplusplus |
Steven Cooreman |
0:459a1af84a64 | 60 | } |
Steven Cooreman |
0:459a1af84a64 | 61 | #endif |
Steven Cooreman |
0:459a1af84a64 | 62 | |
Steven Cooreman |
0:459a1af84a64 | 63 | /** @} (end group CapSense) */ |
Steven Cooreman |
0:459a1af84a64 | 64 | /** @} (end group Drivers) */ |
Steven Cooreman |
0:459a1af84a64 | 65 | |
Steven Cooreman |
0:459a1af84a64 | 66 | #endif /* __CAPSENSE_H_ */ |