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.

/media/uploads/stevew817/screenshot_2015-03-17_13.40.06.png

Committer:
Steven Cooreman
Date:
Mon May 04 09:37:34 2015 -0700
Revision:
3:8d096e5bc045
Parent:
0:459a1af84a64
Merge

Who changed what in which revision?

UserRevisionLine numberNew 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_ */