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_CHANNELS Vector 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_CHANNELS Vector 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_CHANNELS Vector 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() .