caplesense.c File Reference

Capacitive sense driver.

Version
5.4.0

License

Copyright 2015 Silicon Labs, Inc. 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.

#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_core.h"
#include "em_lesense.h"
#include "caplesenseconfig.h"

Functions

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

Variables

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

Function Documentation

Variable Documentation

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
}

This stores the maximum values seen by a channel.

Parameters
LESENSE_CHANNELSVector of channels.

Definition at line 49 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

A bit vector which represents the channels to iterate through.

Parameters
LESENSE_CHANNELSVector of channels.

Definition at line 61 of file caplesense.c.

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

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
}

This vector stores the latest read values from LESENSE.

Parameters
LESENSE_CHANNELSVector of channels.

Definition at line 37 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 uint8_t currentChannel
static

The current channel we are sensing

Definition at line 79 of file caplesense.c.

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

void(* lesenseChCb) (void)
static

Callback function for LESENSE interrupts.

Definition at line 76 of file caplesense.c.

Referenced by CAPLESENSE_setupCallbacks(), and LESENSE_IRQHandler().

void(* lesenseScanCb) (void)
static

Local variablesCallback function for LESENSE interrupts.

Definition at line 74 of file caplesense.c.

Referenced by CAPLESENSE_setupCallbacks(), and LESENSE_IRQHandler().