EFM32 Wonder Gecko Software Documentation  efm32wg-doc-4.2.1
caplesense.c File Reference

Capacitive sense driver. More...

#include "em_device.h"
#include "caplesense.h"
#include "em_emu.h"
#include "em_acmp.h"
#include "em_assert.h"
#include "em_cmu.h"
#include "em_gpio.h"
#include "em_int.h"
#include "em_lesense.h"
#include "caplesenseconfig.h"

Go to the source code of this file.

Functions

void CAPLESENSE_setupCMU (void)
 Setup the CMU. More...
 
void CAPLESENSE_setupGPIO (void)
 Setup the GPIO.
 
void CAPLESENSE_setupACMP (void)
 Setup the ACMP.
 
void CAPLESENSE_setupLESENSE (bool sleep)
 Setup the LESENSE for capavitive sensing. More...
 
void CAPLESENSE_setupCallbacks (void(*scanCb)(void), void(*chCb)(void))
 LESENSE callback setup. More...
 
void LESENSE_IRQHandler (void)
 LESENSE interrupt handler.
 
uint8_t CAPLESENSE_getSegmentChannel (uint8_t capSegment)
 Get the channelValue for a sensor segment. More...
 
uint32_t CAPLESENSE_getVal (uint8_t channel)
 Get the current channelValue for a channel. More...
 
uint32_t CAPLESENSE_getNormalizedVal (uint8_t channel)
 Get the current normalized channelValue for a channel. More...
 
int32_t CAPLESENSE_getSliderPosition (void)
 Get the position of the slider. More...
 
void CAPLESENSE_Sleep (void)
 Send the capacative sense system to sleep mode.
 
void CAPLESENSE_Init (bool sleep)
 Initializes the capacative sense system without LESENSE. More...
 

Variables

static volatile uint32_t channelValues [LESENSE_CHANNELS]
 This vector stores the latest read values from LESENSE. More...
 
static volatile uint32_t channelMaxValues [LESENSE_CHANNELS]
 This stores the maximum values seen by a channel. More...
 
static const bool channelsInUse [LESENSE_CHANNELS] = LESENSE_CAPSENSE_CH_IN_USE
 A bit vector which represents the channels to iterate through. More...
 
static void(* lesenseScanCb )(void)
 
static void(* lesenseChCb )(void)
 
static volatile uint8_t currentChannel
 

Detailed Description

Version
4.2.1

License

(C) Copyright 2014 Silicon Labs, http://www.silabs.com

This file is licensed under the Silabs License Agreement. See the file "Silabs_License_Agreement.txt" for details. Before using this software for any purpose, you must agree to the terms of that agreement.

Definition in file caplesense.c.

Function Documentation

Variable Documentation

volatile uint32_t channelValues[LESENSE_CHANNELS]
static
Initial value:
=
{
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0
}
Parameters
LESENSE_CHANNELSVector of channels.

Definition at line 40 of file caplesense.c.

Referenced by CAPLESENSE_getNormalizedVal(), CAPLESENSE_getSliderPosition(), CAPLESENSE_getVal(), CAPSENSE_getNormalizedVal(), CAPSENSE_getPressed(), CAPSENSE_getSliderPosition(), CAPSENSE_getVal(), LESENSE_IRQHandler(), and TIMER0_IRQHandler().

volatile uint32_t channelMaxValues[LESENSE_CHANNELS]
static
Initial value:
=
{
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1
}
Parameters
LESENSE_CHANNELSVector of channels.

Definition at line 53 of file caplesense.c.

Referenced by CAPLESENSE_getNormalizedVal(), CAPLESENSE_getSliderPosition(), CAPSENSE_getNormalizedVal(), CAPSENSE_getPressed(), CAPSENSE_getSliderPosition(), LESENSE_IRQHandler(), and TIMER0_IRQHandler().

const bool channelsInUse[LESENSE_CHANNELS] = LESENSE_CAPSENSE_CH_IN_USE
static
Parameters
LESENSE_CHANNELSVector of channels.

Definition at line 65 of file caplesense.c.

Referenced by CAPSENSE_Sense(), and LESENSE_IRQHandler().

void(* lesenseScanCb) (void)
static

Local variablesCallback function for LESENSE interrupts.

Definition at line 79 of file caplesense.c.

Referenced by CAPLESENSE_setupCallbacks(), and LESENSE_IRQHandler().

void(* lesenseChCb) (void)
static

Callback function for LESENSE interrupts.

Definition at line 81 of file caplesense.c.

Referenced by CAPLESENSE_setupCallbacks(), and LESENSE_IRQHandler().

volatile uint8_t currentChannel
static

The current channel we are sensing

Definition at line 84 of file caplesense.c.

Referenced by CAPSENSE_Sense(), LESENSE_IRQHandler(), and TIMER0_IRQHandler().