caplesense.c File Reference
Capacitive sense driver.
License
Copyright 2018 Silicon Laboratories Inc. www.silabs.com
The licensor of this software is Silicon Laboratories Inc. Your use of this software is governed by the terms of Silicon Labs Master Software License Agreement (MSLA) available at www.silabs.com/about-us/legal/master-software-license-agreement. This software is distributed to you in Source Code format and is governed by the sections of the MSLA applicable to Source Code.
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
void CAPLESENSE_setupCMU | ( | void |
|
) |
Setup the CMU.
Prototypes
Definition at line
86
of file
caplesense.c
.
References CMU_ClockDivSet() , CMU_ClockEnable() , CMU_ClockSelectSet() , cmuClkDiv_1 , cmuClock_ACMP0 , cmuClock_ACMP1 , cmuClock_GPIO , cmuClock_HF , cmuClock_HFPER , cmuClock_LESENSE , cmuClock_LFA , cmuClock_LFB , cmuSelect_Disabled , cmuSelect_HFRCO , cmuSelect_LFRCO , and SystemCoreClockUpdate() .
Referenced by CAPLESENSE_Init() .
Variable Documentation
|
static |
This stores the maximum values seen by a channel.
- Parameters
-
LESENSE_CHANNELS
Vector of channels.
Definition at line
51
of file
caplesense.c
.
Referenced by CAPLESENSE_getNormalizedVal() , CAPLESENSE_getSliderPosition() , CAPSENSE_getNormalizedVal() , CAPSENSE_getPressed() , CAPSENSE_getSliderPosition() , LESENSE_IRQHandler() , and TIMER0_IRQHandler() .
|
static |
A bit vector which represents the channels to iterate through.
- Parameters
-
LESENSE_CHANNELS
Vector of channels.
Definition at line
63
of file
caplesense.c
.
Referenced by CAPLESENSE_setupLESENSE() , CAPSENSE_Sense() , and LESENSE_IRQHandler() .
|
static |
This vector stores the latest read values from LESENSE.
- Parameters
-
LESENSE_CHANNELS
Vector of channels.
Definition at line
39
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() .
|
static |
The current channel we are sensing
Definition at line
81
of file
caplesense.c
.
Referenced by CAPSENSE_Sense() , LESENSE_IRQHandler() , and TIMER0_IRQHandler() .
|
static |
Callback function for LESENSE interrupts.
Definition at line
78
of file
caplesense.c
.
Referenced by CAPLESENSE_setupCallbacks() , and LESENSE_IRQHandler() .
|
static |
Local variablesCallback function for LESENSE interrupts.
Definition at line
76
of file
caplesense.c
.
Referenced by CAPLESENSE_setupCallbacks() , and LESENSE_IRQHandler() .