Capacitive sense driver. More...
#include "em_device.h"
#include "caplesense.h"
#include <stdint.h>
#include <stdbool.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) |
Prototypes. | |
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. | |
void | CAPLESENSE_setupCallbacks (void(*scanCb)(void), void(*chCb)(void)) |
LESENSE callback setup. | |
void | LESENSE_IRQHandler (void) |
LESENSE interrupt handler. | |
uint8_t | CAPLESENSE_getSegmentChannel (uint8_t capSegment) |
Get the channelValue for a sensor segment. | |
uint32_t | CAPLESENSE_getVal (uint8_t channel) |
Get the current channelValue for a channel. | |
uint32_t | CAPLESENSE_getNormalizedVal (uint8_t channel) |
Get the current normalized channelValue for a channel. | |
int32_t | CAPLESENSE_getSliderPosition (void) |
Get the position of the slider. | |
void | CAPLESENSE_Sleep (void) |
Send the capacative sense system to sleep mode. | |
void | CAPLESENSE_Init (bool sleep) |
Initializes the capacative sense system without LESENSE. | |
Variables | |
static volatile uint32_t | channelValues [LESENSE_CHANNELS] |
This vector stores the latest read values from LESENSE. | |
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 void(* | lesenseScanCb )(void) |
Local variables. | |
static void(* | lesenseChCb )(void) |
Callback function for LESENSE interrupts. | |
static volatile uint8_t | currentChannel |
The current channel we are sensing. |
Capacitive sense driver.
(C) Copyright 2014 Silicon Labs, http://www.silabs.com
This file is licensensed 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.
void CAPLESENSE_setupACMP | ( | void | ) |
Setup the ACMP.
Definition at line 141 of file caplesense.c.
Referenced by CAPLESENSE_Init().
void CAPLESENSE_setupCMU | ( | void | ) |
Prototypes.
Setup the CMU.
Definition at line 91 of file caplesense.c.
Referenced by CAPLESENSE_Init().
void CAPLESENSE_setupGPIO | ( | void | ) |
Setup the GPIO.
Definition at line 124 of file caplesense.c.
Referenced by CAPLESENSE_Init().
void LESENSE_IRQHandler | ( | void | ) |
LESENSE interrupt handler.
Definition at line 352 of file caplesense.c.
References channelMaxValues, channelsInUse, channelValues, currentChannel, lesenseChCb, and lesenseScanCb.
volatile uint32_t channelMaxValues[LESENSE_CHANNELS] [static] |
{ 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.
LESENSE_CHANNELS | Vector 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] |
A bit vector which represents the channels to iterate through.
LESENSE_CHANNELS | Vector of channels. |
Definition at line 65 of file caplesense.c.
Referenced by CAPSENSE_Sense(), and LESENSE_IRQHandler().
volatile uint32_t channelValues[LESENSE_CHANNELS] [static] |
{ 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.
LESENSE_CHANNELS | Vector 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 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().
void(* lesenseChCb)(void) [static] |
Callback function for LESENSE interrupts.
Definition at line 81 of file caplesense.c.
Referenced by CAPLESENSE_setupCallbacks(), and LESENSE_IRQHandler().
void(* lesenseScanCb)(void) [static] |
Local variables.
Callback function for LESENSE interrupts.
Definition at line 79 of file caplesense.c.
Referenced by CAPLESENSE_setupCallbacks(), and LESENSE_IRQHandler().